diff options
Diffstat (limited to 'macaroonbakery/tests/test_time.py')
-rw-r--r-- | macaroonbakery/tests/test_time.py | 19 |
1 files changed, 13 insertions, 6 deletions
diff --git a/macaroonbakery/tests/test_time.py b/macaroonbakery/tests/test_time.py index 38826e1..2685e56 100644 --- a/macaroonbakery/tests/test_time.py +++ b/macaroonbakery/tests/test_time.py @@ -1,16 +1,15 @@ # Copyright 2017 Canonical Ltd. # Licensed under the LGPLv3, see LICENCE file for details. +from collections import namedtuple from datetime import timedelta from unittest import TestCase -from collections import namedtuple -import pyrfc3339 +import macaroonbakery.checkers as checkers import pymacaroons +import pyrfc3339 from pymacaroons import Macaroon -import macaroonbakery.checkers as checkers - -t1 = pyrfc3339.parse('2017-10-26T16:19:47.441402074Z') +t1 = pyrfc3339.parse('2017-10-26T16:19:47.441402074Z', produce_naive=True) t2 = t1 + timedelta(hours=1) t3 = t2 + timedelta(hours=1) @@ -118,9 +117,17 @@ class TestExpireTime(TestCase): ] for test in tests: print('test ', test.about) - t = checkers.macaroons_expiry_time(checkers.Namespace(), test.macaroons) + t = checkers.macaroons_expiry_time(checkers.Namespace(), + test.macaroons) self.assertEqual(t, test.expectTime) + def test_macaroons_expire_time_skips_third_party(self): + m1 = newMacaroon([checkers.time_before_caveat(t1).condition]) + m2 = newMacaroon() + m2.add_third_party_caveat('https://example.com', 'a-key', '123') + t = checkers.macaroons_expiry_time(checkers.Namespace(), [m1, m2]) + self.assertEqual(t1, t) + def newMacaroon(conds=[]): m = Macaroon(key='key', version=2) |