2
2
3
3
from datetime import timedelta
4
4
from unittest import mock
5
- from unittest .mock import call
6
5
7
6
from django .utils import timezone
8
7
from snuba_sdk import BooleanOp
9
8
9
+ from sentry .analytics .events .eventuser_snuba_for_projects import EventUserSnubaForProjects
10
+ from sentry .analytics .events .eventuser_snuba_query import EventUserSnubaQuery
10
11
from sentry .testutils .cases import APITestCase , SnubaTestCase
12
+ from sentry .testutils .helpers .analytics import assert_analytics_events_recorded
11
13
from sentry .testutils .helpers .datetime import before_now , freeze_time
12
14
from sentry .utils .eventuser import EventUser
13
15
@@ -70,10 +72,10 @@ def test_for_projects_query_filter_id(self, mock_record):
70
72
assert euser [0 ].user_ident == self .event_2 .data .get ("user" ).get ("id" )
71
73
assert euser [0 ].email == self .event_2 .data .get ("user" ).get ("email" )
72
74
73
- mock_record .assert_has_calls (
75
+ assert_analytics_events_recorded (
76
+ mock_record ,
74
77
[
75
- call (
76
- "eventuser_snuba.query" ,
78
+ EventUserSnubaQuery (
77
79
project_ids = [self .project .id ],
78
80
query = f"MATCH (events)\n SELECT project_id, ip_address_v6, ip_address_v4, user_id, user_name, "
79
81
f"user_email, max(timestamp) AS `latest_timestamp`\n BY project_id, ip_address_v6, "
@@ -88,8 +90,7 @@ def test_for_projects_query_filter_id(self, mock_record):
88
90
count_rows_filtered = 0 ,
89
91
query_time_ms = 0 ,
90
92
),
91
- call (
92
- "eventuser_snuba.for_projects" ,
93
+ EventUserSnubaForProjects (
93
94
project_ids = [self .project .id ],
94
95
total_tries = 1 ,
95
96
total_rows_returned = 1 ,
@@ -281,10 +282,10 @@ def test_for_projects_query_with_multiple_eventuser_entries_different_ips_query_
281
282
assert eusers [1 ].email == self .event_3 .data .get ("user" ).get ("email" )
282
283
assert eusers [1 ].ip_address == self .event_3 .data .get ("user" ).get ("ip_address" )
283
284
284
- mock_record .assert_has_calls (
285
+ assert_analytics_events_recorded (
286
+ mock_record ,
285
287
[
286
- call (
287
- "eventuser_snuba.query" ,
288
+ EventUserSnubaQuery (
288
289
project_ids = [self .project .id ],
289
290
query = f"MATCH (events)\n SELECT project_id, ip_address_v6, ip_address_v4, user_id, user_name, "
290
291
f"user_email, max(timestamp) AS `latest_timestamp`\n BY project_id, ip_address_v6, "
@@ -298,8 +299,7 @@ def test_for_projects_query_with_multiple_eventuser_entries_different_ips_query_
298
299
count_rows_filtered = 19 ,
299
300
query_time_ms = 0 ,
300
301
),
301
- call (
302
- "eventuser_snuba.for_projects" ,
302
+ EventUserSnubaForProjects (
303
303
project_ids = [self .project .id ],
304
304
total_tries = 1 ,
305
305
total_rows_returned = 2 ,
@@ -361,10 +361,10 @@ def test_for_projects_multiple_query(self, mock_record):
361
361
assert eusers [1 ].email == email_2
362
362
assert eusers [1 ].ip_address == "2001:db8:0:85a3::ac1f:8005"
363
363
364
- mock_record .assert_has_calls (
364
+ assert_analytics_events_recorded (
365
+ mock_record ,
365
366
[
366
- call (
367
- "eventuser_snuba.query" ,
367
+ EventUserSnubaQuery (
368
368
project_ids = [self .project .id ],
369
369
query = f"MATCH (events)\n SELECT project_id, ip_address_v6, ip_address_v4, user_id, user_name, "
370
370
f"user_email, max(timestamp) AS `latest_timestamp`\n BY project_id, ip_address_v6, "
@@ -379,8 +379,7 @@ def test_for_projects_multiple_query(self, mock_record):
379
379
count_rows_filtered = 4 ,
380
380
query_time_ms = 0 ,
381
381
),
382
- call (
383
- "eventuser_snuba.query" ,
382
+ EventUserSnubaQuery (
384
383
project_ids = [self .project .id ],
385
384
query = f"MATCH (events)\n SELECT project_id, ip_address_v6, ip_address_v4, user_id, user_name, "
386
385
f"user_email, max(timestamp) AS `latest_timestamp`\n BY project_id, ip_address_v6, "
@@ -395,8 +394,7 @@ def test_for_projects_multiple_query(self, mock_record):
395
394
count_rows_filtered = 3 ,
396
395
query_time_ms = 0 ,
397
396
),
398
- call (
399
- "eventuser_snuba.for_projects" ,
397
+ EventUserSnubaForProjects (
400
398
project_ids = [self .project .id ],
401
399
total_tries = 2 ,
402
400
total_rows_returned = 2 ,
0 commit comments