def test_new_session(self): payload = self.payload.copy() session = VDM.new_session(payload) self.assertEqual(session['session_start'], payload['timestamp']) self.assertEqual(session['session_end'], payload['timestamp']) self.assertEqual(session['session_duration'], 0) self.assertEqual(session['request_address'], payload['request_address']) self.assertEqual(session['user_agent'], payload['user_agent']) self.assertEqual(session['screen_color'], payload['screen_color']) self.assertEqual(session['screen_width'], payload['screen_width']) self.assertEqual(session['screen_height'], payload['screen_height']) self.assertIsInstance(session['pageviews'], list) self.assertEqual(session['pageview_count'], 1)
def test_payload_is_part_of_session(self): payload_1 = self.payload.copy() payload_2 = self.payload.copy() payload_3 = self.payload.copy() payload_4 = self.payload.copy() timestamp = epoch() payload_1.update(request_address="Foo", user_agent="Foo", timestamp=timestamp) payload_2.update(request_address="Foo", user_agent="Bar", timestamp=timestamp) payload_3.update(request_address="Bar", user_agent="Foo", timestamp=timestamp) payload_4.update(request_address="Foo", user_agent="Foo", timestamp=timestamp+31*60) session = VDM.new_session(payload_1) self.assertTrue(VDM.payload_is_part_of_session(payload_1, session)) self.assertFalse(VDM.payload_is_part_of_session(payload_2, session)) self.assertFalse(VDM.payload_is_part_of_session(payload_3, session)) self.assertFalse(VDM.payload_is_part_of_session(payload_4, session))
def test_update_session(self): payload_1 = self.payload payload_2 = payload_1.copy() payload_2.update(timestamp=epoch()) session_1 = VDM.new_session(payload_1) session_2 = VDM.update_session(payload_2, session_1) # Values not updated self.assertEqual(session_1['session_start'], session_2['session_start']) self.assertEqual(session_1['request_address'], session_2['request_address']) self.assertEqual(session_1['user_agent'], session_2['user_agent']) self.assertEqual(session_1['screen_color'], session_2['screen_color']) self.assertEqual(session_1['screen_width'], session_2['screen_width']) self.assertEqual(session_1['screen_height'], session_2['screen_height']) # Values updated self.assertEqual(session_2['session_end'], payload_2['timestamp']) self.assertEqual(session_2['session_duration'], session_2['session_end'] - session_2['session_start']) self.assertEqual(len(session_2['pageviews']), len(session_1['pageviews'])+1) self.assertEqual(session_2['pageview_count'], len(session_2['pageviews']))