2525import redis
2626import json
2727import base64
28- from snowplow_tracker import tracker , _version , consumer , subject
28+ from snowplow_tracker import tracker , _version , emitters , subject
2929from httmock import all_requests , HTTMock
3030
3131try :
3636
3737querystrings = ["" ]
3838
39- default_consumer = consumer . Consumer ("localhost" , protocol = "http" , port = 80 )
39+ default_emitter = emitters . Emitter ("localhost" , protocol = "http" , port = 80 )
4040
4141default_subject = subject .Subject ()
4242
@@ -65,23 +65,23 @@ def fail_response_content(url, request):
6565class IntegrationTest (unittest .TestCase ):
6666
6767 def test_integration_page_view (self ):
68- t = tracker .Tracker (default_consumer , default_subject )
68+ t = tracker .Tracker (default_emitter , default_subject )
6969 with HTTMock (pass_response_content ):
7070 t .track_page_view ("http://savethearctic.org" , "Save The Arctic" , "http://referrer.com" )
7171 expected_fields = {"e" : "pv" , "page" : "Save+The+Arctic" , "url" : "http%3A%2F%2Fsavethearctic.org" , "refr" : "http%3A%2F%2Freferrer.com" }
7272 for key in expected_fields :
7373 self .assertEquals (from_querystring (key , querystrings [- 1 ]), expected_fields [key ])
7474
7575 def test_integration_ecommerce_transaction_item (self ):
76- t = tracker .Tracker (default_consumer , default_subject )
76+ t = tracker .Tracker (default_emitter , default_subject )
7777 with HTTMock (pass_response_content ):
7878 t .track_ecommerce_transaction_item ("12345" , "pbz0025" , 7.99 , 2 , "black-tarot" , "tarot" , currency = "GBP" )
7979 expected_fields = {"ti_ca" : "tarot" , "ti_id" : "12345" , "ti_qu" : "2" , "ti_sk" : "pbz0025" , "e" : "ti" , "ti_nm" : "black-tarot" , "ti_pr" : "7.99" , "ti_cu" : "GBP" }
8080 for key in expected_fields :
8181 self .assertEquals (from_querystring (key , querystrings [- 1 ]), expected_fields [key ])
8282
8383 def test_integration_ecommerce_transaction (self ):
84- t = tracker .Tracker (default_consumer , default_subject )
84+ t = tracker .Tracker (default_emitter , default_subject )
8585 with HTTMock (pass_response_content ):
8686 t .track_ecommerce_transaction ("6a8078be" , 35 , city = "London" , currency = "GBP" , items =
8787 [{
@@ -110,23 +110,23 @@ def test_integration_ecommerce_transaction(self):
110110 self .assertEquals (from_querystring ("dtm" , querystrings [- 3 ]), from_querystring ("dtm" , querystrings [- 2 ]))
111111
112112 def test_integration_screen_view (self ):
113- t = tracker .Tracker (default_consumer , default_subject )
113+ t = tracker .Tracker (default_emitter , default_subject )
114114 with HTTMock (pass_response_content ):
115115 t .track_screen_view ("Game HUD 2" , "Hello!" )
116116 expected_fields = {"e" : "ue" }
117117 for key in expected_fields :
118118 self .assertEquals (from_querystring (key , querystrings [- 1 ]), expected_fields [key ])
119119
120120 def test_integration_struct_event (self ):
121- t = tracker .Tracker (default_consumer , default_subject )
121+ t = tracker .Tracker (default_emitter , default_subject )
122122 with HTTMock (pass_response_content ):
123123 t .track_struct_event ("Ecomm" , "add-to-basket" , "dog-skateboarding-video" , "hd" , 13.99 )
124124 expected_fields = {"se_ca" : "Ecomm" , "se_pr" : "hd" , "se_la" : "dog-skateboarding-video" , "se_va" : "13.99" , "se_ac" : "add-to-basket" , "e" : "se" }
125125 for key in expected_fields :
126126 self .assertEquals (from_querystring (key , querystrings [- 1 ]), expected_fields [key ])
127127
128128 def test_integration_unstruct_event_non_base64 (self ):
129- t = tracker .Tracker (default_consumer , default_subject , encode_base64 = False )
129+ t = tracker .Tracker (default_emitter , default_subject , encode_base64 = False )
130130 with HTTMock (pass_response_content ):
131131 t .track_unstruct_event ({"schema" : "com.acme/viewed_product/json/2-0-2" , "data" : {"product_id" : "ASO01043" , "price$flt" : 49.95 , "walrus$tms" : 1000 }})
132132 expected_fields = {"e" : "ue" }
@@ -140,21 +140,21 @@ def test_integration_unstruct_event_non_base64(self):
140140 })
141141
142142 def test_integration_unstruct_event_base64 (self ):
143- t = tracker .Tracker (default_consumer , default_subject , encode_base64 = True )
143+ t = tracker .Tracker (default_emitter , default_subject , encode_base64 = True )
144144 with HTTMock (pass_response_content ):
145145 t .track_unstruct_event ({"schema" : "com.acme/viewed_product/json/2-0-2" , "data" : {"product_id" : "ASO01043" , "price$flt" : 49.95 , "walrus$tms" : 1000 }})
146146 expected_fields = {"e" : "ue" }
147147 for key in expected_fields :
148148 self .assertEquals (from_querystring (key , querystrings [- 1 ]), expected_fields [key ])
149149 envelope_string = from_querystring ("ue_px" , querystrings [- 1 ])
150- envelope = json .loads ((base64 .urlsafe_b64decode (bytearray (envelope_string , ' utf-8' ))).decode ("utf-8" ))
150+ envelope = json .loads ((base64 .urlsafe_b64decode (bytearray (envelope_string , " utf-8" ))).decode ("utf-8" ))
151151 self .assertEquals (envelope , {
152152 "schema" : "com.snowplowanalytics/unstruct_event/json/1-0-0" ,
153153 "data" : {"schema" : "com.acme/viewed_product/json/2-0-2" , "data" : {"product_id" : "ASO01043" , "price$flt" : 49.95 , "walrus$tms" : 1000 }}
154154 })
155155
156156 def test_integration_context_non_base64 (self ):
157- t = tracker .Tracker (default_consumer , default_subject , encode_base64 = False )
157+ t = tracker .Tracker (default_emitter , default_subject , encode_base64 = False )
158158 with HTTMock (pass_response_content ):
159159 t .track_page_view ("localhost" , "local host" , None , [{"schema" : "com.example/user/json/2-0-3" , "data" : {"user_type" : "tester" }}])
160160 envelope_string = from_querystring ("co" , querystrings [- 1 ])
@@ -165,11 +165,11 @@ def test_integration_context_non_base64(self):
165165 })
166166
167167 def test_integration_context_base64 (self ):
168- t = tracker .Tracker (default_consumer , default_subject , encode_base64 = True )
168+ t = tracker .Tracker (default_emitter , default_subject , encode_base64 = True )
169169 with HTTMock (pass_response_content ):
170170 t .track_page_view ("localhost" , "local host" , None , [{"schema" : "com.example/user/json/2-0-3" , "data" : {"user_type" : "tester" }}])
171171 envelope_string = from_querystring ("cx" , querystrings [- 1 ])
172- envelope = json .loads ((base64 .urlsafe_b64decode (bytearray (envelope_string , ' utf-8' ))).decode ("utf-8" ))
172+ envelope = json .loads ((base64 .urlsafe_b64decode (bytearray (envelope_string , " utf-8" ))).decode ("utf-8" ))
173173 self .assertEquals (envelope , {
174174 "schema" : "com.snowplowanalytics/contexts/json/1-0-0" ,
175175 "data" :[{"schema" : "com.example/user/json/2-0-3" , "data" : {"user_type" : "tester" }}]
@@ -184,7 +184,7 @@ def test_integration_standard_nv_pairs(self):
184184 s .set_timezone ("Europe London" )
185185 s .set_lang ("en" )
186186
187- t = tracker .Tracker (consumer . Consumer ("localhost" ), s , "cf" , app_id = "angry-birds-android" )
187+ t = tracker .Tracker (emitters . Emitter ("localhost" ), s , "cf" , app_id = "angry-birds-android" )
188188 with HTTMock (pass_response_content ):
189189 t .track_page_view ("localhost" , "local host" )
190190 expected_fields = {"tna" : "cf" , "res" : "100x200" ,
@@ -195,15 +195,15 @@ def test_integration_standard_nv_pairs(self):
195195
196196 def test_integration_redis_default (self ):
197197 r = redis .StrictRedis ()
198- t = tracker .Tracker (consumer . RedisConsumer (), default_subject )
198+ t = tracker .Tracker (emitters . RedisEmitter (), default_subject )
199199 t .track_page_view ("http://www.example.com" )
200200 event_string = r .rpop ("snowplow" )
201201 event_dict = json .loads (event_string .decode ("utf-8" ))
202202 self .assertEquals (event_dict ["e" ], "pv" )
203203
204204 def test_integration_redis_custom (self ):
205205 r = redis .StrictRedis (db = 1 )
206- t = tracker .Tracker (consumer . RedisConsumer (rdb = r , key = "custom_key" ), default_subject )
206+ t = tracker .Tracker (emitters . RedisEmitter (rdb = r , key = "custom_key" ), default_subject )
207207 t .track_page_view ("http://www.example.com" )
208208 event_string = r .rpop ("custom_key" )
209209 event_dict = json .loads (event_string .decode ("utf-8" ))
@@ -212,9 +212,9 @@ def test_integration_redis_custom(self):
212212 def test_integration_success_callback (self ):
213213 callback_success_queue = []
214214 callback_failure_queue = []
215- callback_consumer = consumer . Consumer ("localhost" , on_success = lambda x : callback_success_queue .append (x ),
215+ callback_emitter = emitters . Emitter ("localhost" , on_success = lambda x : callback_success_queue .append (x ),
216216 on_failure = lambda x , y :callback_failure_queue .append (x ))
217- t = tracker .Tracker (callback_consumer , default_subject )
217+ t = tracker .Tracker (callback_emitter , default_subject )
218218 with HTTMock (pass_response_content ):
219219 t .track_page_view ("http://www.example.com" )
220220 self .assertEquals (callback_success_queue [0 ], 1 )
@@ -223,9 +223,9 @@ def test_integration_success_callback(self):
223223 def test_integration_failure_callback (self ):
224224 callback_success_queue = []
225225 callback_failure_queue = []
226- callback_consumer = consumer . Consumer ("localhost" , on_success = lambda x : callback_success_queue .append (x ),
226+ callback_emitter = emitters . Emitter ("localhost" , on_success = lambda x : callback_success_queue .append (x ),
227227 on_failure = lambda x , y :callback_failure_queue .append (x ))
228- t = tracker .Tracker (callback_consumer , default_subject )
228+ t = tracker .Tracker (callback_emitter , default_subject )
229229 with HTTMock (fail_response_content ):
230230 t .track_page_view ("http://www.example.com" )
231231 self .assertEquals (callback_success_queue , [])
0 commit comments