add cli test and update api test for member expire api

This commit is contained in:
Rio Liu 2021-11-21 09:42:33 -05:00
parent db82e4cabb
commit 87e13e129e
3 changed files with 32 additions and 4 deletions

View File

@ -200,5 +200,5 @@ def expire(dry_run):
click.echo("The following members will be marked as expired:")
else:
click.echo("The following members has been marked as expired:")
for usernmae in result:
click.echo(f" * {username}")
for username in result:
click.echo(username)

View File

@ -3,6 +3,7 @@ import re
import shutil
from click.testing import CliRunner
from freezegun import freeze_time
from ceo.cli import cli
from ceo_common.model import Term
@ -142,3 +143,22 @@ def test_members_pwreset(cli_setup, ldap_user, krb_user):
), re.MULTILINE)
assert result.exit_code == 0
assert expected_pat.match(result.output) is not None
def test_members_expire(cli_setup, ldap_user):
runner = CliRunner()
with freeze_time('4000-04-01'): # use a time that we know for sure will expire
result = runner.invoke(cli, ['members', 'expire', '--dry-run'])
assert result.exit_code == 0
assert result.output == f"The following members will be marked as expired:\n{ldap_user.uid}\n"
result = runner.invoke(cli, ['members', 'expire'])
assert result.exit_code == 0
assert result.output == f"The following members has been marked as expired:\n{ldap_user.uid}\n"
runner.invoke(cli, ['members', 'renew', ldap_user.uid, '--terms', '1'])
assert result.exit_code == 0
result = runner.invoke(cli, ['members', 'expire', '--dry-run'])
assert result.exit_code == 0
assert result.output == ''

View File

@ -252,8 +252,16 @@ def test_expire(client, create_user_result, term_attr, test_date, should_expire)
with freeze_time(test_date):
assert not user['shadowExpire']
status, _ = client.post('/api/members/expire')
status, data = client.post('/api/members/expire?dry_run=yes')
assert status == 200
assert (data == [uid]) == should_expire
_, user = client.get(f'/api/members/{uid}')
assert not user['shadowExpire']
status, data = client.post('/api/members/expire')
assert status == 200
assert (data == [uid]) == should_expire
_, user = client.get(f'/api/members/{uid}')
assert user['shadowExpire'] == should_expire
@ -261,5 +269,5 @@ def test_expire(client, create_user_result, term_attr, test_date, should_expire)
status, _ = client.post(f'/api/members/{uid}/renew', json={term_attr: [term]})
assert status == 200
_, user = client.get(f'/api/members/{user["uid"]}')
_, user = client.get(f'/api/members/{uid}')
assert not user['shadowExpire']