def test_complete_payload_event_subject(self, mok_uuid, mok_track): mokEmitter = self.create_patch('snowplow_tracker.Emitter') e = mokEmitter() with ContractsDisabled(): mok_uuid.side_effect = mocked_uuid mok_track.side_effect = mocked_track t = Tracker(e) p = Payload() evSubject = Subject().set_lang('EN').set_user_id("tester") t.complete_payload(p, None, None, evSubject) self.assertEqual(mok_track.call_count, 1) trackArgsTuple = mok_track.call_args_list[0][0] self.assertEqual(len(trackArgsTuple), 1) passed_nv_pairs = trackArgsTuple[0].nv_pairs expected = { "eid": _TEST_UUID, "dtm": 1618790401000, "tv": TRACKER_VERSION, "p": "pc", "lang": "EN", "uid": "tester" } self.assertDictEqual(passed_nv_pairs, expected)
def test_complete_payload_co(self, mok_uuid, mok_track): mokEmitter = self.create_patch('snowplow_tracker.Emitter') e = mokEmitter() with ContractsDisabled(): mok_uuid.side_effect = mocked_uuid mok_track.side_effect = mocked_track t = Tracker(e, encode_base64=False) p = Payload() geo_ctx = SelfDescribingJson(geoSchema, geoData) mov_ctx = SelfDescribingJson(movSchema, movData) ctx_array = [geo_ctx, mov_ctx] t.complete_payload(p, ctx_array, None, None) self.assertEqual(mok_track.call_count, 1) trackArgsTuple = mok_track.call_args_list[0][0] self.assertEqual(len(trackArgsTuple), 1) passed_nv_pairs = trackArgsTuple[0].nv_pairs expected_co = { "schema": CONTEXT_SCHEMA, "data": [{ "schema": geoSchema, "data": geoData }, { "schema": movSchema, "data": movData }] } self.assertIn("co", passed_nv_pairs) self.assertDictEqual(json.loads(passed_nv_pairs["co"]), expected_co)
def test_complete_payload_tstamp_ttm(self, mok_uuid, mok_track): mokEmitter = self.create_patch('snowplow_tracker.Emitter') e = mokEmitter() with ContractsDisabled(): mok_uuid.side_effect = mocked_uuid mok_track.side_effect = mocked_track t = Tracker(e) p = Payload() time_in_millis = 100010001000 t.complete_payload(p, None, time_in_millis, None) self.assertEqual(mok_track.call_count, 1) trackArgsTuple = mok_track.call_args_list[0][0] self.assertEqual(len(trackArgsTuple), 1) passed_nv_pairs = trackArgsTuple[0].nv_pairs expected = { "eid": _TEST_UUID, "dtm": 1618790401000, "ttm": time_in_millis, "tv": TRACKER_VERSION, "p": "pc" } self.assertDictEqual(passed_nv_pairs, expected)
def test_complete_payload_cx(self, mok_uuid, mok_track): mokEmitter = self.create_patch('snowplow_tracker.Emitter') e = mokEmitter() with ContractsDisabled(): mok_uuid.side_effect = mocked_uuid mok_track.side_effect = mocked_track t = Tracker(e, encode_base64=True) p = Payload() geo_ctx = SelfDescribingJson(geoSchema, geoData) mov_ctx = SelfDescribingJson(movSchema, movData) ctx_array = [geo_ctx, mov_ctx] t.complete_payload(p, ctx_array, None, None) self.assertEqual(mok_track.call_count, 1) trackArgsTuple = mok_track.call_args_list[0][0] self.assertEqual(len(trackArgsTuple), 1) passed_nv_pairs = trackArgsTuple[0].nv_pairs self.assertIn("cx", passed_nv_pairs)