|
9 | 9 | from sentry.testutils.silo import region_silo_test |
10 | 10 | from sentry.utils.samples import load_data |
11 | 11 |
|
12 | | -FEATURES = ["organizations:performance-duration-regression-visible"] |
13 | | - |
14 | 12 | pytestmark = [pytest.mark.sentry_metrics] |
15 | 13 |
|
16 | 14 |
|
@@ -66,88 +64,78 @@ def create_transaction( |
66 | 64 | data["contexts"]["trace"]["parent_span_id"] = parent_span_id |
67 | 65 | return self.store_event(data, project_id=project_id) |
68 | 66 |
|
69 | | - def test_404s_without_feature_flag(self): |
70 | | - response = self.client.get(self.url, format="json") |
71 | | - assert response.status_code == 404, response.content |
72 | | - |
73 | 67 | def test_transaction_name_required(self): |
74 | | - with self.feature(FEATURES): |
75 | | - response = self.client.get( |
76 | | - self.url, |
77 | | - format="json", |
78 | | - data={ |
79 | | - "project": self.project.id, |
80 | | - "breakpoint": (self.now - timedelta(days=1)).isoformat(), |
81 | | - }, |
82 | | - ) |
| 68 | + response = self.client.get( |
| 69 | + self.url, |
| 70 | + format="json", |
| 71 | + data={ |
| 72 | + "project": self.project.id, |
| 73 | + "breakpoint": (self.now - timedelta(days=1)).isoformat(), |
| 74 | + }, |
| 75 | + ) |
83 | 76 |
|
84 | 77 | assert response.status_code == 400, response.content |
85 | 78 |
|
86 | 79 | def test_project_id_required(self): |
87 | | - with self.feature(FEATURES): |
88 | | - response = self.client.get( |
89 | | - self.url, |
90 | | - format="json", |
91 | | - data={ |
92 | | - "transaction": "foo", |
93 | | - }, |
94 | | - ) |
| 80 | + response = self.client.get( |
| 81 | + self.url, |
| 82 | + format="json", |
| 83 | + data={ |
| 84 | + "transaction": "foo", |
| 85 | + }, |
| 86 | + ) |
95 | 87 |
|
96 | 88 | assert response.status_code == 400, response.content |
97 | 89 |
|
98 | 90 | def test_breakpoint_required(self): |
99 | | - with self.feature(FEATURES): |
100 | | - response = self.client.get( |
101 | | - self.url, |
102 | | - format="json", |
103 | | - data={"transaction": "foo", "project": self.project.id}, |
104 | | - ) |
| 91 | + response = self.client.get( |
| 92 | + self.url, |
| 93 | + format="json", |
| 94 | + data={"transaction": "foo", "project": self.project.id}, |
| 95 | + ) |
105 | 96 |
|
106 | 97 | assert response.status_code == 400, response.content |
107 | 98 |
|
108 | 99 | def test_transaction_must_exist(self): |
109 | | - with self.feature(FEATURES): |
110 | | - response = self.client.get( |
111 | | - self.url, |
112 | | - format="json", |
113 | | - data={ |
114 | | - "transaction": "foo", |
115 | | - "project": self.project.id, |
116 | | - "breakpoint": self.now - timedelta(days=1), |
117 | | - "start": self.now - timedelta(days=3), |
118 | | - "end": self.now, |
119 | | - }, |
120 | | - ) |
| 100 | + response = self.client.get( |
| 101 | + self.url, |
| 102 | + format="json", |
| 103 | + data={ |
| 104 | + "transaction": "foo", |
| 105 | + "project": self.project.id, |
| 106 | + "breakpoint": self.now - timedelta(days=1), |
| 107 | + "start": self.now - timedelta(days=3), |
| 108 | + "end": self.now, |
| 109 | + }, |
| 110 | + ) |
121 | 111 |
|
122 | 112 | assert response.status_code == 200, response.content |
123 | 113 |
|
124 | | - with self.feature(FEATURES): |
125 | | - response = self.client.get( |
126 | | - self.url, |
127 | | - format="json", |
128 | | - data={ |
129 | | - "transaction": "does not exist", |
130 | | - "project": self.project.id, |
131 | | - "breakpoint": self.now - timedelta(days=1), |
132 | | - "start": self.now - timedelta(days=3), |
133 | | - "end": self.now, |
134 | | - }, |
135 | | - ) |
| 114 | + response = self.client.get( |
| 115 | + self.url, |
| 116 | + format="json", |
| 117 | + data={ |
| 118 | + "transaction": "does not exist", |
| 119 | + "project": self.project.id, |
| 120 | + "breakpoint": self.now - timedelta(days=1), |
| 121 | + "start": self.now - timedelta(days=3), |
| 122 | + "end": self.now, |
| 123 | + }, |
| 124 | + ) |
136 | 125 |
|
137 | 126 | assert response.status_code == 400, response.content |
138 | 127 |
|
139 | 128 | # TODO: Enable this test when adding a serializer to handle validation |
140 | 129 | # def test_breakpoint_must_be_in_the_past(self): |
141 | | - # with self.feature(FEATURES): |
142 | | - # response = self.client.get( |
143 | | - # self.url, |
144 | | - # format="json", |
145 | | - # data={ |
146 | | - # "transaction": "foo", |
147 | | - # "project": self.project.id, |
148 | | - # "breakpoint": (self.now + timedelta(days=1)).isoformat(), |
149 | | - # }, |
150 | | - # ) |
| 130 | + # response = self.client.get( |
| 131 | + # self.url, |
| 132 | + # format="json", |
| 133 | + # data={ |
| 134 | + # "transaction": "foo", |
| 135 | + # "project": self.project.id, |
| 136 | + # "breakpoint": (self.now + timedelta(days=1)).isoformat(), |
| 137 | + # }, |
| 138 | + # ) |
151 | 139 |
|
152 | 140 | # assert response.status_code == 400, response.content |
153 | 141 |
|
@@ -229,18 +217,17 @@ def test_returns_change_data_for_regressed_spans(self): |
229 | 217 | duration=600, |
230 | 218 | ) |
231 | 219 |
|
232 | | - with self.feature(FEATURES): |
233 | | - response = self.client.get( |
234 | | - self.url, |
235 | | - format="json", |
236 | | - data={ |
237 | | - "transaction": "foo", |
238 | | - "project": self.project.id, |
239 | | - "breakpoint": self.now - timedelta(days=1), |
240 | | - "start": self.now - timedelta(days=3), |
241 | | - "end": self.now, |
242 | | - }, |
243 | | - ) |
| 220 | + response = self.client.get( |
| 221 | + self.url, |
| 222 | + format="json", |
| 223 | + data={ |
| 224 | + "transaction": "foo", |
| 225 | + "project": self.project.id, |
| 226 | + "breakpoint": self.now - timedelta(days=1), |
| 227 | + "start": self.now - timedelta(days=3), |
| 228 | + "end": self.now, |
| 229 | + }, |
| 230 | + ) |
244 | 231 |
|
245 | 232 | assert response.status_code == 200, response.content |
246 | 233 | assert response.data == [ |
@@ -320,19 +307,18 @@ def test_results_are_limited(self): |
320 | 307 | duration=10100, |
321 | 308 | ) |
322 | 309 |
|
323 | | - with self.feature(FEATURES): |
324 | | - response = self.client.get( |
325 | | - self.url, |
326 | | - format="json", |
327 | | - data={ |
328 | | - "transaction": "foo", |
329 | | - "project": self.project.id, |
330 | | - "breakpoint": self.now - timedelta(days=1), |
331 | | - "start": self.now - timedelta(days=3), |
332 | | - "end": self.now, |
333 | | - "per_page": 1, |
334 | | - }, |
335 | | - ) |
| 310 | + response = self.client.get( |
| 311 | + self.url, |
| 312 | + format="json", |
| 313 | + data={ |
| 314 | + "transaction": "foo", |
| 315 | + "project": self.project.id, |
| 316 | + "breakpoint": self.now - timedelta(days=1), |
| 317 | + "start": self.now - timedelta(days=3), |
| 318 | + "end": self.now, |
| 319 | + "per_page": 1, |
| 320 | + }, |
| 321 | + ) |
336 | 322 |
|
337 | 323 | assert response.status_code == 200, response.content |
338 | 324 | assert len(response.data) == 1 |
@@ -398,18 +384,17 @@ def test_analysis_leaves_a_buffer_around_breakpoint_to_ignore_mixed_transactions |
398 | 384 | duration=200, |
399 | 385 | ) |
400 | 386 |
|
401 | | - with self.feature(FEATURES): |
402 | | - response = self.client.get( |
403 | | - self.url, |
404 | | - format="json", |
405 | | - data={ |
406 | | - "transaction": "foo", |
407 | | - "project": self.project.id, |
408 | | - "breakpoint": breakpoint_timestamp, |
409 | | - "start": self.now - timedelta(days=3), |
410 | | - "end": self.now, |
411 | | - }, |
412 | | - ) |
| 387 | + response = self.client.get( |
| 388 | + self.url, |
| 389 | + format="json", |
| 390 | + data={ |
| 391 | + "transaction": "foo", |
| 392 | + "project": self.project.id, |
| 393 | + "breakpoint": breakpoint_timestamp, |
| 394 | + "start": self.now - timedelta(days=3), |
| 395 | + "end": self.now, |
| 396 | + }, |
| 397 | + ) |
413 | 398 |
|
414 | 399 | assert response.status_code == 200, response.content |
415 | 400 |
|
@@ -461,19 +446,18 @@ def test_geo_code(self): |
461 | 446 | hours_before_now=6, |
462 | 447 | ) |
463 | 448 |
|
464 | | - with self.feature(FEATURES): |
465 | | - response = self.client.get( |
466 | | - self.url, |
467 | | - format="json", |
468 | | - data={ |
469 | | - "transaction": "bar", |
470 | | - "project": self.project.id, |
471 | | - "breakpoint": breakpoint_timestamp, |
472 | | - "start": self.now - timedelta(days=3), |
473 | | - "end": self.now, |
474 | | - "type": "geo", |
475 | | - }, |
476 | | - ) |
| 449 | + response = self.client.get( |
| 450 | + self.url, |
| 451 | + format="json", |
| 452 | + data={ |
| 453 | + "transaction": "bar", |
| 454 | + "project": self.project.id, |
| 455 | + "breakpoint": breakpoint_timestamp, |
| 456 | + "start": self.now - timedelta(days=3), |
| 457 | + "end": self.now, |
| 458 | + "type": "geo", |
| 459 | + }, |
| 460 | + ) |
477 | 461 |
|
478 | 462 | assert response.status_code == 200, response.content |
479 | 463 | assert response.data == [ |
@@ -516,19 +500,18 @@ def test_geo_code_anaysis_ignores_empty_string_country_code(self): |
516 | 500 | hours_before_now=6, |
517 | 501 | ) |
518 | 502 |
|
519 | | - with self.feature(FEATURES): |
520 | | - response = self.client.get( |
521 | | - self.url, |
522 | | - format="json", |
523 | | - data={ |
524 | | - "transaction": "bar", |
525 | | - "project": self.project.id, |
526 | | - "breakpoint": breakpoint_timestamp, |
527 | | - "start": self.now - timedelta(days=3), |
528 | | - "end": self.now, |
529 | | - "type": "geo", |
530 | | - }, |
531 | | - ) |
| 503 | + response = self.client.get( |
| 504 | + self.url, |
| 505 | + format="json", |
| 506 | + data={ |
| 507 | + "transaction": "bar", |
| 508 | + "project": self.project.id, |
| 509 | + "breakpoint": breakpoint_timestamp, |
| 510 | + "start": self.now - timedelta(days=3), |
| 511 | + "end": self.now, |
| 512 | + "type": "geo", |
| 513 | + }, |
| 514 | + ) |
532 | 515 |
|
533 | 516 | assert response.status_code == 200, response.content |
534 | 517 | assert len(response.data) == 0 |
0 commit comments