@@ -135,26 +135,29 @@ def test_telemetry_send_batch_disabled():
135135 assert rest_call .call_count == 0
136136
137137
138- def test_generate_telemetry_with_driver_info ():
139- assert snowflake .connector .telemetry .generate_telemetry_data () == {
138+ def test_generate_telemetry_data_dict_with_basic_info ():
139+ assert snowflake .connector .telemetry .generate_telemetry_data_dict () == {
140140 snowflake .connector .telemetry .TelemetryField .KEY_DRIVER_TYPE .value : CLIENT_NAME ,
141141 snowflake .connector .telemetry .TelemetryField .KEY_DRIVER_VERSION .value : SNOWFLAKE_CONNECTOR_VERSION ,
142+ snowflake .connector .telemetry .TelemetryField .KEY_SOURCE .value : CLIENT_NAME ,
142143 }
143144
144- assert snowflake .connector .telemetry .generate_telemetry_data (from_dict = {}) == {
145+ assert snowflake .connector .telemetry .generate_telemetry_data_dict (from_dict = {}) == {
145146 snowflake .connector .telemetry .TelemetryField .KEY_DRIVER_TYPE .value : CLIENT_NAME ,
146147 snowflake .connector .telemetry .TelemetryField .KEY_DRIVER_VERSION .value : SNOWFLAKE_CONNECTOR_VERSION ,
148+ snowflake .connector .telemetry .TelemetryField .KEY_SOURCE .value : CLIENT_NAME ,
147149 }
148150
149- assert snowflake .connector .telemetry .generate_telemetry_data (
151+ assert snowflake .connector .telemetry .generate_telemetry_data_dict (
150152 from_dict = {"key" : "value" }
151153 ) == {
152154 snowflake .connector .telemetry .TelemetryField .KEY_DRIVER_TYPE .value : CLIENT_NAME ,
153155 snowflake .connector .telemetry .TelemetryField .KEY_DRIVER_VERSION .value : SNOWFLAKE_CONNECTOR_VERSION ,
156+ snowflake .connector .telemetry .TelemetryField .KEY_SOURCE .value : CLIENT_NAME ,
154157 "key" : "value" ,
155158 }
156159
157- assert snowflake .connector .telemetry .generate_telemetry_data (
160+ assert snowflake .connector .telemetry .generate_telemetry_data_dict (
158161 from_dict = {
159162 snowflake .connector .telemetry .TelemetryField .KEY_DRIVER_TYPE .value : "CUSTOM_CLIENT_NAME" ,
160163 snowflake .connector .telemetry .TelemetryField .KEY_DRIVER_VERSION .value : "1.2.3" ,
@@ -163,5 +166,76 @@ def test_generate_telemetry_with_driver_info():
163166 ) == {
164167 snowflake .connector .telemetry .TelemetryField .KEY_DRIVER_TYPE .value : "CUSTOM_CLIENT_NAME" ,
165168 snowflake .connector .telemetry .TelemetryField .KEY_DRIVER_VERSION .value : "1.2.3" ,
169+ snowflake .connector .telemetry .TelemetryField .KEY_SOURCE .value : CLIENT_NAME ,
166170 "key" : "value" ,
167171 }
172+
173+ mock_connection = Mock ()
174+ mock_connection .application = "test_application"
175+ assert snowflake .connector .telemetry .generate_telemetry_data_dict (
176+ from_dict = {
177+ snowflake .connector .telemetry .TelemetryField .KEY_DRIVER_TYPE .value : "CUSTOM_CLIENT_NAME" ,
178+ snowflake .connector .telemetry .TelemetryField .KEY_DRIVER_VERSION .value : "1.2.3" ,
179+ "key" : "value" ,
180+ },
181+ connection = mock_connection ,
182+ ) == {
183+ snowflake .connector .telemetry .TelemetryField .KEY_DRIVER_TYPE .value : "CUSTOM_CLIENT_NAME" ,
184+ snowflake .connector .telemetry .TelemetryField .KEY_DRIVER_VERSION .value : "1.2.3" ,
185+ snowflake .connector .telemetry .TelemetryField .KEY_SOURCE .value : mock_connection .application ,
186+ "key" : "value" ,
187+ }
188+
189+
190+ def test_generate_telemetry_data ():
191+ telemetry_data = (
192+ snowflake .connector .telemetry .TelemetryData .from_telemetry_data_dict (
193+ from_dict = {}, timestamp = 123
194+ )
195+ )
196+ assert (
197+ telemetry_data .message
198+ == {
199+ snowflake .connector .telemetry .TelemetryField .KEY_DRIVER_TYPE .value : CLIENT_NAME ,
200+ snowflake .connector .telemetry .TelemetryField .KEY_DRIVER_VERSION .value : SNOWFLAKE_CONNECTOR_VERSION ,
201+ snowflake .connector .telemetry .TelemetryField .KEY_SOURCE .value : CLIENT_NAME ,
202+ }
203+ and telemetry_data .timestamp == 123
204+ )
205+
206+ mock_connection = Mock ()
207+ mock_connection .application = "test_application"
208+ telemetry_data = (
209+ snowflake .connector .telemetry .TelemetryData .from_telemetry_data_dict (
210+ from_dict = {},
211+ timestamp = 123 ,
212+ connection = mock_connection ,
213+ )
214+ )
215+ assert (
216+ telemetry_data .message
217+ == {
218+ snowflake .connector .telemetry .TelemetryField .KEY_DRIVER_TYPE .value : CLIENT_NAME ,
219+ snowflake .connector .telemetry .TelemetryField .KEY_DRIVER_VERSION .value : SNOWFLAKE_CONNECTOR_VERSION ,
220+ snowflake .connector .telemetry .TelemetryField .KEY_SOURCE .value : mock_connection .application ,
221+ }
222+ and telemetry_data .timestamp == 123
223+ )
224+
225+ telemetry_data = (
226+ snowflake .connector .telemetry .TelemetryData .from_telemetry_data_dict (
227+ from_dict = {"key" : "value" },
228+ timestamp = 123 ,
229+ connection = mock_connection ,
230+ )
231+ )
232+ assert (
233+ telemetry_data .message
234+ == {
235+ snowflake .connector .telemetry .TelemetryField .KEY_DRIVER_TYPE .value : CLIENT_NAME ,
236+ snowflake .connector .telemetry .TelemetryField .KEY_DRIVER_VERSION .value : SNOWFLAKE_CONNECTOR_VERSION ,
237+ snowflake .connector .telemetry .TelemetryField .KEY_SOURCE .value : mock_connection .application ,
238+ "key" : "value" ,
239+ }
240+ and telemetry_data .timestamp == 123
241+ )
0 commit comments