@@ -2160,15 +2160,19 @@ public async Task SendAsync_Uses_Exponential_Backoff_When_No_Retry_Headers()
21602160 . ReturnsAsync ( CreateHttpResponseFactory ( content : "SUCCESS_RESPONSE" ) ( ) ) ;
21612161
21622162 using var httpClient = new HttpClient ( handlerMock . Object ) ;
2163- var githubClient = new GithubClient ( _mockOctoLogger . Object , httpClient , null , _retryPolicy , _dateTimeProvider . Object , PERSONAL_ACCESS_TOKEN ) ;
2163+ var githubClient = new GithubClient ( _mockOctoLogger . Object , httpClient , null , _retryPolicy , _dateTimeProvider . Object , PERSONAL_ACCESS_TOKEN )
2164+ {
2165+ // Set short default delay to speed up the test. This is reflected in the logs below.
2166+ _secondaryRateLimitDefaultDelay = 0
2167+ } ;
21642168
21652169 // Act
21662170 var result = await githubClient . PatchAsync ( "http://example.com" , _rawRequestBody ) ;
21672171
21682172 // Assert
21692173 result . Should ( ) . Be ( "SUCCESS_RESPONSE" ) ;
2170- _mockOctoLogger . Verify ( m => m . LogWarning ( "Secondary rate limit detected (attempt 1/3). Waiting 60 seconds before retrying..." ) , Times . Once ) ;
2171- _mockOctoLogger . Verify ( m => m . LogWarning ( "Secondary rate limit detected (attempt 2/3). Waiting 120 seconds before retrying..." ) , Times . Once ) ;
2174+ _mockOctoLogger . Verify ( m => m . LogWarning ( "Secondary rate limit detected (attempt 1/3). Waiting 0 seconds before retrying..." ) , Times . Once ) ;
2175+ _mockOctoLogger . Verify ( m => m . LogWarning ( "Secondary rate limit detected (attempt 2/3). Waiting 0 seconds before retrying..." ) , Times . Once ) ;
21722176 }
21732177
21742178 [ Fact ]
@@ -2187,7 +2191,11 @@ public async Task SendAsync_Throws_Exception_After_Max_Secondary_Rate_Limit_Retr
21872191 content : "Too many requests" ) ( ) ) ;
21882192
21892193 using var httpClient = new HttpClient ( handlerMock . Object ) ;
2190- var githubClient = new GithubClient ( _mockOctoLogger . Object , httpClient , null , _retryPolicy , _dateTimeProvider . Object , PERSONAL_ACCESS_TOKEN ) ;
2194+ var githubClient = new GithubClient ( _mockOctoLogger . Object , httpClient , null , _retryPolicy , _dateTimeProvider . Object , PERSONAL_ACCESS_TOKEN )
2195+ {
2196+ // Set short default delay to speed up the test. This is reflected in the logs below.
2197+ _secondaryRateLimitDefaultDelay = 0
2198+ } ;
21912199
21922200 // Act & Assert
21932201 await FluentActions
@@ -2197,9 +2205,9 @@ await FluentActions
21972205 . WithMessage ( "Secondary rate limit exceeded. Maximum retries (3) reached. Please wait before retrying your request." ) ;
21982206
21992207 // Verify all retry attempts were logged
2200- _mockOctoLogger . Verify ( m => m . LogWarning ( "Secondary rate limit detected (attempt 1/3). Waiting 60 seconds before retrying..." ) , Times . Once ) ;
2201- _mockOctoLogger . Verify ( m => m . LogWarning ( "Secondary rate limit detected (attempt 2/3). Waiting 120 seconds before retrying..." ) , Times . Once ) ;
2202- _mockOctoLogger . Verify ( m => m . LogWarning ( "Secondary rate limit detected (attempt 3/3). Waiting 240 seconds before retrying..." ) , Times . Once ) ;
2208+ _mockOctoLogger . Verify ( m => m . LogWarning ( "Secondary rate limit detected (attempt 1/3). Waiting 0 seconds before retrying..." ) , Times . Once ) ;
2209+ _mockOctoLogger . Verify ( m => m . LogWarning ( "Secondary rate limit detected (attempt 2/3). Waiting 0 seconds before retrying..." ) , Times . Once ) ;
2210+ _mockOctoLogger . Verify ( m => m . LogWarning ( "Secondary rate limit detected (attempt 3/3). Waiting 0 seconds before retrying..." ) , Times . Once ) ;
22032211 }
22042212
22052213 private object CreateRepositoryMigration ( string migrationId = null , string state = RepositoryMigrationStatus . Succeeded ) => new
0 commit comments