canaille-globuzma/tests/commands/test_clean.py

50 lines
1.6 KiB
Python
Raw Normal View History

import datetime
2021-10-13 07:38:44 +00:00
from canaille.commands import cli
from canaille.models import AuthorizationCode, Token
from werkzeug.security import gen_salt
def test_clean_command(testclient, slapd_connection, client, user):
2021-12-08 14:01:35 +00:00
AuthorizationCode.ldap_object_classes(slapd_connection)
code = AuthorizationCode(
oauthCode="my-code",
oauthClient=client.dn,
oauthSubject=user.dn,
oauthRedirectURI="https://foo.bar/callback",
oauthResponseType="code",
oauthScope="openid profile",
oauthNonce="nonce",
oauthAuthorizationDate=(
datetime.datetime.now() - datetime.timedelta(days=1)
2021-12-08 14:53:20 +00:00
),
oauthAuthorizationLifetime="3600",
oauthCodeChallenge="challenge",
oauthCodeChallengeMethod="method",
oauthRevokation="",
)
code.save(slapd_connection)
2021-12-08 14:01:35 +00:00
Token.ldap_object_classes(slapd_connection)
token = Token(
oauthAccessToken="my-token",
oauthClient=client.dn,
oauthSubject=user.dn,
oauthTokenType=None,
oauthRefreshToken=gen_salt(48),
oauthScope="openid profile",
2021-12-08 14:53:20 +00:00
oauthIssueDate=(datetime.datetime.now() - datetime.timedelta(days=1)),
oauthTokenLifetime=str(3600),
)
token.save(slapd_connection)
assert AuthorizationCode.get("my-code", conn=slapd_connection)
assert Token.get("my-token", conn=slapd_connection)
assert code.is_expired()
assert token.is_expired()
runner = testclient.app.test_cli_runner()
2021-10-13 07:38:44 +00:00
runner.invoke(cli, ["clean"])
assert not AuthorizationCode.get("my-code", conn=slapd_connection)
assert not Token.get("my-token", conn=slapd_connection)