99
1010from posthog .client import Client
1111from posthog .request import APIError
12- from posthog .test .utils import TEST_API_KEY
12+ from posthog .test .test_utils import TEST_API_KEY
1313from posthog .version import VERSION
1414
1515
@@ -105,6 +105,64 @@ def test_advanced_identify(self):
105105 self .assertEqual (msg ["messageId" ], "messageId" )
106106 self .assertEqual (msg ["distinct_id" ], "distinct_id" )
107107
108+ def test_basic_set (self ):
109+ client = self .client
110+ success , msg = client .set ("distinct_id" , {"trait" : "value" })
111+ client .flush ()
112+ self .assertTrue (success )
113+ self .assertFalse (self .failed )
114+
115+ self .assertEqual (msg ["$set" ]["trait" ], "value" )
116+ self .assertTrue (isinstance (msg ["timestamp" ], str ))
117+ self .assertTrue (isinstance (msg ["messageId" ], str ))
118+ self .assertEqual (msg ["distinct_id" ], "distinct_id" )
119+
120+ def test_advanced_set (self ):
121+ client = self .client
122+ success , msg = client .set (
123+ "distinct_id" , {"trait" : "value" }, {"ip" : "192.168.0.1" }, datetime (2014 , 9 , 3 ), "messageId"
124+ )
125+
126+ self .assertTrue (success )
127+
128+ self .assertEqual (msg ["timestamp" ], "2014-09-03T00:00:00+00:00" )
129+ self .assertEqual (msg ["context" ]["ip" ], "192.168.0.1" )
130+ self .assertEqual (msg ["$set" ]["trait" ], "value" )
131+ self .assertEqual (msg ["properties" ]["$lib" ], "posthog-python" )
132+ self .assertEqual (msg ["properties" ]["$lib_version" ], VERSION )
133+ self .assertTrue (isinstance (msg ["timestamp" ], str ))
134+ self .assertEqual (msg ["messageId" ], "messageId" )
135+ self .assertEqual (msg ["distinct_id" ], "distinct_id" )
136+
137+ def test_basic_set_once (self ):
138+ client = self .client
139+ success , msg = client .set_once ("distinct_id" , {"trait" : "value" })
140+ client .flush ()
141+ self .assertTrue (success )
142+ self .assertFalse (self .failed )
143+
144+ self .assertEqual (msg ["$set_once" ]["trait" ], "value" )
145+ self .assertTrue (isinstance (msg ["timestamp" ], str ))
146+ self .assertTrue (isinstance (msg ["messageId" ], str ))
147+ self .assertEqual (msg ["distinct_id" ], "distinct_id" )
148+
149+ def test_advanced_set_once (self ):
150+ client = self .client
151+ success , msg = client .set_once (
152+ "distinct_id" , {"trait" : "value" }, {"ip" : "192.168.0.1" }, datetime (2014 , 9 , 3 ), "messageId"
153+ )
154+
155+ self .assertTrue (success )
156+
157+ self .assertEqual (msg ["timestamp" ], "2014-09-03T00:00:00+00:00" )
158+ self .assertEqual (msg ["context" ]["ip" ], "192.168.0.1" )
159+ self .assertEqual (msg ["$set_once" ]["trait" ], "value" )
160+ self .assertEqual (msg ["properties" ]["$lib" ], "posthog-python" )
161+ self .assertEqual (msg ["properties" ]["$lib_version" ], VERSION )
162+ self .assertTrue (isinstance (msg ["timestamp" ], str ))
163+ self .assertEqual (msg ["messageId" ], "messageId" )
164+ self .assertEqual (msg ["distinct_id" ], "distinct_id" )
165+
108166 def test_basic_alias (self ):
109167 client = self .client
110168 success , msg = client .alias ("previousId" , "distinct_id" )
@@ -125,7 +183,7 @@ def test_basic_page(self):
125183
126184 def test_basic_page_distinct_uuid (self ):
127185 client = self .client
128- distinct_id = uuid4 ()
186+ distinct_id = str ( uuid4 () )
129187 success , msg = client .page (distinct_id , url = "https://posthog.com/contact" )
130188 self .assertFalse (self .failed )
131189 client .flush ()
0 commit comments