Skip to content

Commit 20c7270

Browse files
author
Nolan
committed
skipped timestamped tests in remote_lrs_test and added similar tests for datetimes that don't contain microseconds
1 parent 3013ed2 commit 20c7270

File tree

1 file changed

+73
-0
lines changed

1 file changed

+73
-0
lines changed

test/remote_lrs_test.py

Lines changed: 73 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -254,6 +254,7 @@ def test_save_statements(self):
254254
self._vars_verifier(statement1, response.content[0], ['_authority', '_stored'])
255255
self._vars_verifier(statement2, response.content[1], ['_authority', '_stored'])
256256

257+
@unittest.skip("LRS truncates timestamps which makes returned statements evaluate not equal")
257258
def test_retrieve_statement(self):
258259
id_str = str(uuid.uuid4())
259260
statement = Statement(
@@ -274,6 +275,28 @@ def test_retrieve_statement(self):
274275
self.assertTrue(response.success)
275276
self._vars_verifier(response.content, statement, ['_authority', '_stored'])
276277

278+
def test_retrieve_statement_no_microsecond(self):
279+
id_str = str(uuid.uuid4())
280+
dt = utc.localize(datetime.min)
281+
statement = Statement(
282+
actor=self.agent,
283+
verb=self.verb,
284+
object=self.activity,
285+
context=self.context,
286+
result=self.result,
287+
id=id_str,
288+
version=Version.latest,
289+
timestamp=dt
290+
)
291+
save_resp = self.lrs.save_statement(statement)
292+
293+
self.assertTrue(save_resp.success)
294+
response = self.lrs.retrieve_statement(save_resp.content.id)
295+
self.assertIsInstance(response, LRSResponse)
296+
self.assertTrue(response.success)
297+
self._vars_verifier(response.content, statement, ['_authority', '_stored'])
298+
299+
@unittest.skip("LRS truncates timestamps which makes returned statements evaluate not equal")
277300
def test_query_statements(self):
278301
tstamp = utc.localize(datetime.utcnow())
279302
s1 = Statement(
@@ -324,6 +347,56 @@ def test_query_statements(self):
324347
self._vars_verifier(s1, response.content.statements[0])
325348
self._vars_verifier(s2, response.content.statements[1])
326349

350+
def test_query_statements_no_microsecond(self):
351+
tstamp = utc.localize(datetime.min)
352+
s1 = Statement(
353+
actor=self.agent,
354+
verb=self.verb,
355+
object=self.parent,
356+
result=self.result,
357+
id=str(uuid.uuid4()),
358+
timestamp=tstamp
359+
)
360+
self.lrs.save_statement(s1)
361+
362+
s2 = Statement(
363+
actor=self.agent,
364+
verb=self.verb,
365+
object=self.parent,
366+
result=self.result,
367+
id=str(uuid.uuid4()),
368+
timestamp=tstamp
369+
)
370+
self.lrs.save_statement(s2)
371+
372+
s3 = Statement(
373+
actor=self.agent,
374+
verb=self.verb,
375+
object=self.parent,
376+
result=self.result,
377+
id=str(uuid.uuid4()),
378+
timestamp=tstamp
379+
)
380+
self.lrs.save_statement(s3)
381+
382+
query = {
383+
"agent": self.agent,
384+
"verb": self.verb,
385+
"activity": self.parent,
386+
"related_activities": True,
387+
"related_agents": True,
388+
"limit": 2
389+
}
390+
response = self.lrs.query_statements(query)
391+
392+
self.assertIsInstance(response, LRSResponse)
393+
self.assertTrue(response.success)
394+
self.assertIsInstance(response.content, StatementsResult)
395+
self.assertTrue(hasattr(response.content, 'more'))
396+
self.assertIsNotNone(response.content.more)
397+
self._vars_verifier(s1, response.content.statements[0])
398+
self._vars_verifier(s2, response.content.statements[1])
399+
327400
def test_query_none(self):
328401
query = {
329402
"agent": self.agent,

0 commit comments

Comments
 (0)