|
22 | 22 | import unittest |
23 | 23 | import time |
24 | 24 | import re |
| 25 | +import redis |
| 26 | +import json |
25 | 27 | from snowplow_tracker import tracker, _version, consumer, subject |
26 | 28 | from httmock import all_requests, HTTMock |
27 | 29 |
|
@@ -147,7 +149,26 @@ def test_integration_standard_nv_pairs(self): |
147 | 149 | for key in expected_fields: |
148 | 150 | self.assertEquals(from_querystring(key, querystrings[-1]), expected_fields[key]) |
149 | 151 |
|
150 | | - def test_integration_request_failure(self): |
151 | | - t = tracker.Tracker(consumer.Consumer("drnv83ldfo4ed.cloudfront.net"), default_subject) |
| 152 | + def test_integration_redis(self): |
| 153 | + t = tracker.Tracker(consumer.RedisConsumer(), default_subject) |
| 154 | + t.track_page_view("http://www.example.com") |
| 155 | + r = redis.StrictRedis() |
| 156 | + event_string = r.rpop("snowplow") |
| 157 | + event_dict = json.loads(event_string.decode("utf-8")) |
| 158 | + self.assertEquals(event_dict["e"], "pv") |
| 159 | + |
| 160 | + def test_integration_success_callback(self): |
| 161 | + callback_queue = [] |
| 162 | + callback_consumer = consumer.Consumer("localhost", on_success=lambda x: callback_queue.append(x)) |
| 163 | + t = tracker.Tracker(callback_consumer, default_subject) |
| 164 | + with HTTMock(pass_response_content): |
| 165 | + t.track_page_view("http://www.example.com") |
| 166 | + self.assertEquals(callback_queue[0], 1) |
| 167 | + |
| 168 | + def test_integration_failure_callback(self): |
| 169 | + callback_queue = [] |
| 170 | + callback_consumer = consumer.Consumer("localhost", on_failure=lambda x, y: callback_queue.append(x)) |
| 171 | + t = tracker.Tracker(callback_consumer, default_subject) |
152 | 172 | with HTTMock(fail_response_content): |
153 | | - tracking_return_value = t.track_page_view("Title page") |
| 173 | + t.track_page_view("http://www.example.com") |
| 174 | + self.assertEquals(callback_queue[0], 0) |
0 commit comments