@@ -48,6 +48,15 @@ def get(self, key, callback):
4848 }
4949}
5050
51+ numeric_key_user = {}
52+
53+ sanitized_numeric_key_user = {
54+ u'key' : '33' ,
55+ u'custom' : {
56+ u'bizzle' : u'def'
57+ }
58+ }
59+
5160
5261class MockConsumer (object ):
5362
@@ -76,6 +85,13 @@ def noop_consumer():
7685
7786
7887def setup_function (function ):
88+ global numeric_key_user
89+ numeric_key_user = {
90+ u'key' : 33 ,
91+ u'custom' : {
92+ u'bizzle' : u'def'
93+ }
94+ }
7995 client .set_online ()
8096 client ._queue = queue .Queue (10 )
8197 client ._consumer = mock_consumer ()
@@ -119,6 +135,18 @@ def expected_event(e):
119135
120136 assert expected_event (client ._queue .get (False ))
121137
138+ def test_sanitize_user ():
139+ client ._sanitize_user (numeric_key_user )
140+ assert numeric_key_user == sanitized_numeric_key_user
141+
142+ def test_toggle_event_numeric_user_key ():
143+ client .toggle ('feature.key' , numeric_key_user , default = None )
144+
145+ def expected_event (e ):
146+ return e ['kind' ] == 'feature' and e ['key' ] == 'feature.key' and e ['user' ] == sanitized_numeric_key_user and e ['value' ] == True and e ['default' ] == None
147+
148+ assert expected_event (client ._queue .get (False ))
149+
122150
123151def test_toggle_event_offline ():
124152 client .set_offline ()
@@ -135,6 +163,15 @@ def expected_event(e):
135163 assert expected_event (client ._queue .get (False ))
136164
137165
166+ def test_identify_numeric_key_user ():
167+ client .identify (numeric_key_user )
168+
169+ def expected_event (e ):
170+ return e ['kind' ] == 'identify' and e ['key' ] == '33' and e ['user' ] == sanitized_numeric_key_user
171+
172+ assert expected_event (client ._queue .get (False ))
173+
174+
138175def test_identify_offline ():
139176 client .set_offline ()
140177 client .identify (user )
@@ -150,6 +187,15 @@ def expected_event(e):
150187 assert expected_event (client ._queue .get (False ))
151188
152189
190+ def test_track_numeric_key_user ():
191+ client .track ('my_event' , numeric_key_user , 42 )
192+
193+ def expected_event (e ):
194+ return e ['kind' ] == 'custom' and e ['key' ] == 'my_event' and e ['user' ] == sanitized_numeric_key_user and e ['data' ] == 42
195+
196+ assert expected_event (client ._queue .get (False ))
197+
198+
153199def test_track_offline ():
154200 client .set_offline ()
155201 client .track ('my_event' , user , 42 )
0 commit comments