summaryrefslogtreecommitdiff
path: root/keystone/tests/unit/test_v3_auth.py
diff options
context:
space:
mode:
Diffstat (limited to 'keystone/tests/unit/test_v3_auth.py')
-rw-r--r--keystone/tests/unit/test_v3_auth.py15
1 files changed, 15 insertions, 0 deletions
diff --git a/keystone/tests/unit/test_v3_auth.py b/keystone/tests/unit/test_v3_auth.py
index e710634d0..cf456518a 100644
--- a/keystone/tests/unit/test_v3_auth.py
+++ b/keystone/tests/unit/test_v3_auth.py
@@ -5577,6 +5577,21 @@ class ApplicationCredentialAuth(test_v3.RestfulTestCase):
self.v3_create_token(auth_data,
expected_status=http.client.UNAUTHORIZED)
+ def test_application_credential_expiration_limits_token_expiration(self):
+ expires_at = datetime.datetime.utcnow() + datetime.timedelta(minutes=1)
+ app_cred = self._make_app_cred(expires=expires_at)
+ app_cred_ref = self.app_cred_api.create_application_credential(
+ app_cred)
+ auth_data = self.build_authentication_request(
+ app_cred_id=app_cred_ref['id'], secret=app_cred_ref['secret'])
+ resp = self.v3_create_token(auth_data,
+ expected_status=http.client.CREATED)
+ token = resp.headers.get('X-Subject-Token')
+ future = datetime.datetime.utcnow() + datetime.timedelta(minutes=2)
+ with freezegun.freeze_time(future):
+ self._validate_token(token,
+ expected_status=http.client.UNAUTHORIZED)
+
def test_application_credential_fails_when_user_deleted(self):
app_cred = self._make_app_cred()
app_cred_ref = self.app_cred_api.create_application_credential(