Skip to content

Commit 49f2b23

Browse files
committed
In suggestion from Joseph Myers, put test code in a try: finally: block
to make sure that patching of date.Date is undone if there is an exception.
1 parent 92fff6b commit 49f2b23

File tree

1 file changed

+32
-32
lines changed

1 file changed

+32
-32
lines changed

test/rest_common.py

Lines changed: 32 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -640,39 +640,39 @@ def dummyClosure(adate=None, translator=None):
640640
return dummyClosure
641641

642642
date.Date = dummyDate()
643-
644-
newuser = self.db.user.create(
645-
username='john',
646-
password=password.Password('random1', scheme='plaintext'),
647-
address='[email protected]',
648-
realname='JohnRandom',
649-
roles='User,Admin'
650-
)
643+
try:
644+
newuser = self.db.user.create(
645+
username='john',
646+
password=password.Password('random1', scheme='plaintext'),
647+
address='[email protected]',
648+
realname='JohnRandom',
649+
roles='User,Admin'
650+
)
651651

652-
# verify etag matches what we calculated in the past
653-
node = self.db.user.getnode(newuser)
654-
etag = calculate_etag(node, self.db.config['WEB_SECRET_KEY'])
655-
items = node.items(protected=True) # include every item
656-
print(repr(sorted(items)))
657-
print(etag)
658-
self.assertEqual(etag, '"f2901b2653b813eeb277c0dc84c03ba3"')
659-
660-
# modify key and verify we have a different etag
661-
etag = calculate_etag(node, self.db.config['WEB_SECRET_KEY'] + "a")
662-
items = node.items(protected=True) # include every item
663-
print(repr(sorted(items)))
664-
print(etag)
665-
self.assertNotEqual(etag, '"f2901b2653b813eeb277c0dc84c03ba3"')
666-
667-
# change data and verify we have a different etag
668-
node.username="Paul"
669-
etag = calculate_etag(node, self.db.config['WEB_SECRET_KEY'])
670-
items = node.items(protected=True) # include every item
671-
print(repr(sorted(items)))
672-
print(etag)
673-
self.assertEqual(etag, '"98f8052193220afdb649c6caaaa80e40"')
674-
675-
date.Date = originalDate
652+
# verify etag matches what we calculated in the past
653+
node = self.db.user.getnode(newuser)
654+
etag = calculate_etag(node, self.db.config['WEB_SECRET_KEY'])
655+
items = node.items(protected=True) # include every item
656+
print(repr(sorted(items)))
657+
print(etag)
658+
self.assertEqual(etag, '"f2901b2653b813eeb277c0dc84c03ba3"')
659+
660+
# modify key and verify we have a different etag
661+
etag = calculate_etag(node, self.db.config['WEB_SECRET_KEY'] + "a")
662+
items = node.items(protected=True) # include every item
663+
print(repr(sorted(items)))
664+
print(etag)
665+
self.assertNotEqual(etag, '"f2901b2653b813eeb277c0dc84c03ba3"')
666+
667+
# change data and verify we have a different etag
668+
node.username="Paul"
669+
etag = calculate_etag(node, self.db.config['WEB_SECRET_KEY'])
670+
items = node.items(protected=True) # include every item
671+
print(repr(sorted(items)))
672+
print(etag)
673+
self.assertEqual(etag, '"98f8052193220afdb649c6caaaa80e40"')
674+
finally:
675+
date.Date = originalDate
676676

677677
def testEtagProcessing(self):
678678
'''

0 commit comments

Comments
 (0)