def test_track_unstruct_event_encode(self, mok_complete_payload): mokEmitter = self.create_patch('snowplow_tracker.Emitter') e = mokEmitter() with ContractsDisabled(): mok_complete_payload.side_effect = mocked_complete_payload t = Tracker(e, encode_base64=True) evJson = SelfDescribingJson("test.sde.schema", {"n": "v"}) t.track_unstruct_event(evJson) self.assertEqual(mok_complete_payload.call_count, 1) completeArgsList = mok_complete_payload.call_args_list[0][0] self.assertEqual(len(completeArgsList), 4) actualPayloadArg = completeArgsList[0] actualPairs = actualPayloadArg.nv_pairs self.assertTrue("ue_px" in actualPairs.keys())
def test_track_unstruct_event_all_args(self, mok_complete_payload): mokEmitter = self.create_patch('snowplow_tracker.Emitter') e = mokEmitter() with ContractsDisabled(): mok_complete_payload.side_effect = mocked_complete_payload t = Tracker(e, encode_base64=False) evJson = SelfDescribingJson("test.schema", {"n": "v"}) ctx = SelfDescribingJson("test.context.schema", {"user": "******"}) evContext = [ctx] evTstamp = 1399021242030 t.track_unstruct_event(evJson, evContext, evTstamp) self.assertEqual(mok_complete_payload.call_count, 1) completeArgsList = mok_complete_payload.call_args_list[0][0] self.assertEqual(len(completeArgsList), 4) # payload actualPayloadArg = completeArgsList[0] actualPairs = actualPayloadArg.nv_pairs actualUePr = json.loads(actualPairs["ue_pr"]) # context actualContextArg = completeArgsList[1] # tstamp actualTstampArg = completeArgsList[2] expectedUePr = { "data": { "data": { "n": "v" }, "schema": "test.schema" }, "schema": UNSTRUCT_SCHEMA } self.assertDictEqual(actualUePr, expectedUePr) self.assertEqual(actualPairs["e"], "ue") self.assertIs(actualContextArg[0], ctx) self.assertEqual(actualTstampArg, evTstamp)