@@ -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