Skip to content

Commit 2970ed0

Browse files
committed
test
1 parent e4af942 commit 2970ed0

File tree

1 file changed

+8
-12
lines changed

1 file changed

+8
-12
lines changed

tests/integration/test_query.py

+8-12
Original file line numberDiff line numberDiff line change
@@ -155,51 +155,47 @@ def get_project_config():
155155
mini_sentry.clear_test_failures()
156156

157157

158-
def test_query_retry_maxed_out(mini_sentry, relay_with_processing, events_consumer):
158+
def test_query_retry_maxed_out(mini_sentry, relay):
159159
"""
160160
Assert that a query is not retried an infinite amount of times.
161-
162-
This is not specific to processing or store, but here we have the outcomes
163-
consumer which we can use to assert that an event has been dropped.
164161
"""
165162
request_count = 0
166163

167-
events_consumer = events_consumer()
168-
169164
original_get_project_config = mini_sentry.app.view_functions["get_project_config"]
170165

171166
@mini_sentry.app.endpoint("get_project_config")
172167
def get_project_config():
173168
if flask_request.json.get("global") is True:
174169
return original_get_project_config()
175-
176170
nonlocal request_count
177171
request_count += 1
178172
print("RETRY", request_count)
179173
return "no", 500
180174

181175
RETRIES = 1
182176
query_timeout = 0.5 # Initial grace period
183-
184177
# Relay's exponential backoff: INITIAL_INTERVAL = 1s; DEFAULT_MULTIPLIER = 1.5;
185178
for retry in range(RETRIES): # 1 retry
186179
query_timeout += 1 * 1.5 ** (retry + 1)
187180

188-
relay = relay_with_processing(
189-
{"limits": {"query_timeout": math.ceil(query_timeout)}}
190-
)
181+
relay = relay(mini_sentry, {"limits": {"query_timeout": math.ceil(query_timeout)}})
191182

192183
# No error messages yet
193184
assert mini_sentry.test_failures.empty()
194185

195186
try:
196187
relay.send_event(42)
197188
time.sleep(query_timeout)
198-
199189
assert request_count == 1 + RETRIES
200190
assert {str(e) for _, e in mini_sentry.current_test_failures()} == {
201191
"Relay sent us event: error fetching project states: upstream request returned error 500 Internal Server Error: no error details",
202192
}
193+
194+
time.sleep(1) # Wait for project to be cached
195+
196+
# Relay still accepts events for this project
197+
next_response = relay.send_event(42)
198+
assert "id" in next_response
203199
finally:
204200
mini_sentry.clear_test_failures()
205201

0 commit comments

Comments
 (0)