@@ -163,7 +163,7 @@ end # @testitem
163163
164164 function test_status (method, response_status, headers= nothing )
165165 @assert method === :GET || method === :PUT
166- nretries = Ref (0 )
166+ nrequests = Ref (0 )
167167 response_body = " response body from the dummy server"
168168 account = " myaccount"
169169 container = " mycontainer"
@@ -175,7 +175,7 @@ end # @testitem
175175 # This is the exploratory ping from connect_and_test in lib.rs
176176 return HTTP. Response (404 , " Yup, still doesn't exist" )
177177 end
178- nretries [] += 1
178+ nrequests [] += 1
179179 response = isnothing (headers) ? HTTP. Response (response_status, response_body) : HTTP. Response (response_status, headers, response_body)
180180 return response
181181 end
@@ -195,97 +195,97 @@ end # @testitem
195195 close (http_server)
196196 end
197197 wait (http_server)
198- return nretries []
198+ return nrequests []
199199 end
200200
201201 # See https://learn.microsoft.com/en-us/rest/api/searchservice/http-status-codes
202202
203203 @testset " 400: Bad Request" begin
204204 # Returned when there's an error in the request URI, headers, or body. The response body
205205 # contains an error message explaining what the specific problem is.
206- nretries = test_status (:GET , 400 )
207- @test nretries == 1 broken = true
208- nretries = test_status (:PUT , 400 )
209- @test nretries == 1 broken = true
206+ nrequests = test_status (:GET , 400 )
207+ @test nrequests == 1
208+ nrequests = test_status (:PUT , 400 )
209+ @test nrequests == 1
210210 end
211211
212212 @testset " 403: Forbidden" begin
213213 # Returned when you pass an invalid api-key.
214- nretries = test_status (:GET , 403 )
215- @test nretries == 1 broken = true
216- nretries = test_status (:PUT , 403 )
217- @test nretries == 1 broken = true
214+ nrequests = test_status (:GET , 403 )
215+ @test nrequests == 1
216+ nrequests = test_status (:PUT , 403 )
217+ @test nrequests == 1
218218 end
219219
220220 @testset " 404: Not Found" begin
221- nretries = test_status (:GET , 404 )
222- @test nretries == 1
221+ nrequests = test_status (:GET , 404 )
222+ @test nrequests == 1
223223 end
224224
225225 @testset " 405: Method Not Supported" begin
226- nretries = test_status (:GET , 405 , [" Allow" => " PUT" ])
227- @test nretries == 1 broken = true
228- nretries = test_status (:PUT , 405 , [" Allow" => " GET" ])
229- @test nretries == 1 broken = true
226+ nrequests = test_status (:GET , 405 , [" Allow" => " PUT" ])
227+ @test nrequests == 1
228+ nrequests = test_status (:PUT , 405 , [" Allow" => " GET" ])
229+ @test nrequests == 1
230230 end
231231
232232 @testset " 409: Conflict" begin
233233 # Returned when write operations conflict.
234234 # NOTE: We currently don't retry but maybe we should? This is probably a case where the
235235 # retry logic should add more noise to the backoff so that multiple writers don't collide on retry.
236- nretries = test_status (:GET , 409 )
237- @test nretries == max_retries broken= true
238- nretries = test_status (:PUT , 409 )
239- @test nretries == max_retries broken= true
236+ nrequests = test_status (:GET , 409 )
237+ @test nrequests == 1 + max_retries broken= true
238+ nrequests = test_status (:PUT , 409 )
239+ @test nrequests == 1 + max_retries broken= true
240240 end
241241
242242 @testset " 412: Precondition Failed" begin
243243 # Returned when an If-Match or If-None-Match header's condition evaluates to false
244- nretries = test_status (:GET , 412 )
245- @test nretries == 1
246- nretries = test_status (:PUT , 412 )
247- @test nretries == 1
244+ nrequests = test_status (:GET , 412 )
245+ @test nrequests == 1
246+ nrequests = test_status (:PUT , 412 )
247+ @test nrequests == 1
248248 end
249249
250250 @testset " 413: Content Too Large" begin
251251 # https://learn.microsoft.com/en-us/rest/api/storageservices/put-blob?tabs=shared-access-signatures#remarks
252- nretries = test_status (:PUT , 413 )
253- @test nretries == 1 broken = true
252+ nrequests = test_status (:PUT , 413 )
253+ @test nrequests == 1
254254 end
255255
256256 @testset " 429: Too Many Requests" begin
257257 # TODO : We probably should respect the Retry-After header, but we currently don't
258258 # (and we don't know if Azure actually sets it)
259259 # NOTE: This can happen when Azure is throttling us, so it might be a good idea to retry with some
260260 # larger initial backoff (very eager retries probably only make the situation worse).
261- nretries = test_status (:GET , 429 , [" Retry-After" => 10 ])
262- @test nretries == max_retries broken= true
263- nretries = test_status (:PUT , 429 , [" Retry-After" => 10 ])
264- @test nretries == max_retries broken= true
261+ nrequests = test_status (:GET , 429 , [" Retry-After" => 10 ])
262+ @test nrequests == 1 + max_retries broken= true
263+ nrequests = test_status (:PUT , 429 , [" Retry-After" => 10 ])
264+ @test nrequests == 1 + max_retries broken= true
265265 end
266266
267267 @testset " 502: Bad Gateway" begin
268268 # This error occurs when you enter HTTP instead of HTTPS in the connection.
269- nretries = test_status (:GET , 502 )
270- @test nretries == 1 broken= true
271- nretries = test_status (:PUT , 502 )
272- @test nretries == 1 broken= true
269+ nrequests = test_status (:GET , 502 )
270+ @test nrequests == 1 broken= true
271+ nrequests = test_status (:PUT , 502 )
272+ @test nrequests == 1 broken= true
273273 end
274274
275275 @testset " 503: Service Unavailable" begin
276276 # NOTE: This seems similar to 429 and the Azure docs specifically say:
277277 # Important: In this case, we highly recommend that your client code back off and wait before retrying
278- nretries = test_status (:GET , 503 )
279- @test nretries == max_retries broken = true
280- nretries = test_status (:PUT , 503 )
281- @test nretries == max_retries broken = true
278+ nrequests = test_status (:GET , 503 )
279+ @test nrequests == 1 + max_retries
280+ nrequests = test_status (:PUT , 503 )
281+ @test nrequests == 1 + max_retries
282282 end
283283
284284 @testset " 504: Gateway Timeout" begin
285285 # Azure AI Search listens on HTTPS port 443. If your search service URL contains HTTP instead of HTTPS, a 504 status code is returned.
286- nretries = test_status (:GET , 504 )
287- @test nretries == 1 broken= true
288- nretries = test_status (:PUT , 504 )
289- @test nretries == 1 broken= true
286+ nrequests = test_status (:GET , 504 )
287+ @test nrequests == 1 broken= true
288+ nrequests = test_status (:PUT , 504 )
289+ @test nrequests == 1 broken= true
290290 end
291291end
0 commit comments