summaryrefslogtreecommitdiff
path: root/macaroonbakery/tests/test_time.py
diff options
context:
space:
mode:
Diffstat (limited to 'macaroonbakery/tests/test_time.py')
-rw-r--r--macaroonbakery/tests/test_time.py19
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)