Example #1
0
    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)