def test_track_page_ping(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) ctx = SelfDescribingJson("test.context.schema", {"user": "******"}) evTstamp = 1399021242030 t.track_page_ping("example.com", "Example", "docs.snowplowanalytics.com", 0, 1, 2, 3, context=[ctx], tstamp=evTstamp) 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] actualContextArg = completeArgsList[1] actualTstampArg = completeArgsList[2] actualPairs = actualPayloadArg.nv_pairs expectedPairs = { "e": "pp", "url": "example.com", "page": "Example", "refr": "docs.snowplowanalytics.com", "pp_mix": 0, "pp_max": 1, "pp_miy": 2, "pp_may": 3 } self.assertDictEqual(actualPairs, expectedPairs) self.assertIs(actualContextArg[0], ctx) self.assertEqual(actualTstampArg, evTstamp)