Skip to content

Commit 6dba225

Browse files
NolanNolan
authored andcommitted
Fixed timestamp testing
1 parent 20e88bd commit 6dba225

File tree

1 file changed

+15
-6
lines changed

1 file changed

+15
-6
lines changed

test/remote_lrs_test.py

Lines changed: 15 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,8 @@
22
import uuid
33
from datetime import datetime
44
from datetime import timedelta
5+
from calendar import timegm
6+
from pytz import utc, timezone
57

68
if __name__ == '__main__':
79
from main import setup_tincan_path
@@ -248,7 +250,7 @@ def test_retrieve_statement(self):
248250
result=self.result,
249251
id=id_str,
250252
version=Version.latest,
251-
timestamp=datetime.utcnow()
253+
timestamp=utc.localize(datetime.utcnow())
252254
)
253255
save_resp = self.lrs.save_statement(statement)
254256

@@ -258,15 +260,15 @@ def test_retrieve_statement(self):
258260
self.assertTrue(response.success)
259261
self._vars_verifier(response.content, statement, ['_authority', '_stored'])
260262

261-
262-
def test_query_statements(self):
263+
def test_query_statements_UTC(self):
264+
tstamp = utc.localize(datetime.utcnow())
263265
s1 = Statement(
264266
actor=self.agent,
265267
verb=self.verb,
266268
object=self.parent,
267269
result=self.result,
268270
id=str(uuid.uuid4()),
269-
timestamp=datetime.utcnow()
271+
timestamp=tstamp
270272
)
271273
self.lrs.save_statement(s1)
272274

@@ -276,7 +278,7 @@ def test_query_statements(self):
276278
object=self.parent,
277279
result=self.result,
278280
id=str(uuid.uuid4()),
279-
timestamp=datetime.utcnow()
281+
timestamp=tstamp
280282
)
281283
self.lrs.save_statement(s2)
282284

@@ -286,7 +288,7 @@ def test_query_statements(self):
286288
object=self.parent,
287289
result=self.result,
288290
id=str(uuid.uuid4()),
289-
timestamp=datetime.utcnow()
291+
timestamp=tstamp
290292
)
291293
self.lrs.save_statement(s3)
292294

@@ -479,6 +481,13 @@ def _vars_verifier(self, obj1, obj2, _ignored_attrs=['_authority', '_stored', '_
479481
for k, v in vars(obj1).iteritems():
480482
if k in _ignored_attrs:
481483
continue
484+
elif isinstance(v, datetime):
485+
dt1 = getattr(obj1, k)
486+
dt2 = getattr(obj2, k)
487+
ts1 = timegm(dt1.timetuple())
488+
ts2 = timegm(dt2.timetuple())
489+
self.assertEqual(ts1, ts2)
490+
self.assertEqual(round(dt1.microsecond, 3), round(dt2.microsecond, 3))
482491
elif isinstance(v, Base):
483492
self._vars_verifier(getattr(obj1, k), getattr(obj2, k))
484493
else:

0 commit comments

Comments
 (0)