Skip to content

Commit 25686bc

Browse files
Add HttpResponseHeadersExtensions
1 parent 97d1815 commit 25686bc

20 files changed

Lines changed: 177 additions & 41 deletions

Src/GitHubApiStatus.Extensions.UnitTests/GitHubApiStatus.Extensions.UnitTests.csproj

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@
99
</PropertyGroup>
1010

1111
<ItemGroup>
12-
<PackageReference Include="nunit" Version="3.12.0" />
12+
<PackageReference Include="nunit" Version="3.13.0" />
1313
<PackageReference Include="NUnit3TestAdapter" Version="3.17.0" />
1414
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="16.8.0" />
1515
<PackageReference Include="Microsoft.Extensions.DependencyInjection" Version="5.0.0" />

Src/GitHubApiStatus.Extensions.UnitTests/MockGitHubApiStatusService.cs

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -39,5 +39,11 @@ public void SetAuthenticationHeaderValue(AuthenticationHeaderValue authenticatio
3939
{
4040

4141
}
42+
43+
public bool IsAbuseRateLimit(in HttpResponseHeaders httpResponseHeaders, out TimeSpan? delta)
44+
{
45+
delta = null;
46+
return false;
47+
}
4248
}
4349
}

Src/GitHubApiStatus.Extensions/GitHubApiStatus.Extensions.csproj

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -29,9 +29,9 @@ Extentions for GitHub API Rate Limit Status
2929
<PackageReleaseNotes>
3030
New In This Release:
3131
- Add Support for Microsoft.Extensions.DependencyInjection
32-
- Add Support for - Implements Microsoft.Extensions.Http
32+
- Implements Microsoft.Extensions.Http
3333
</PackageReleaseNotes>
34-
<Version>2.0.0-pre9</Version>
34+
<Version>2.0.0-pre10</Version>
3535
<RepositoryUrl>https://github.com/brminnick/GitHubApiStatus</RepositoryUrl>
3636
<Product>$(AssemblyName) ($(TargetFramework))</Product>
3737
<AssemblyVersion>1.0.0.0</AssemblyVersion>

Src/GitHubApiStatus.UnitTests/GitHubApiStatus.UnitTests.csproj

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,18 +1,18 @@
11
<Project Sdk="Microsoft.NET.Sdk">
22

33
<PropertyGroup>
4-
<TargetFrameworks>netcoreapp1.1;netcoreapp2.1;netcoreapp3.1;net5.0</TargetFrameworks>
4+
<TargetFrameworks>netcoreapp2.1;netcoreapp3.1;net5.0</TargetFrameworks>
55
<Nullable>enable</Nullable>
66
<langversion>latest</langversion>
77
<ProduceReferenceAssembly>true</ProduceReferenceAssembly>
88
<IsPackable>false</IsPackable>
99
</PropertyGroup>
1010

1111
<ItemGroup>
12-
<PackageReference Include="nunit" Version="3.12.0" />
1312
<PackageReference Include="NUnit3TestAdapter" Version="3.17.0" />
1413
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="16.8.3" />
1514
<PackageReference Include="RichardSzalay.MockHttp" Version="6.0.0" />
15+
<PackageReference Include="NUnit" Version="3.13.0" />
1616
</ItemGroup>
1717

1818
<ItemGroup>

Src/GitHubApiStatus.UnitTests/Tests/GetApiRateLimitsTests_NoCancellationToken.cs

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
using System;
2+
using System.Net;
23
using System.Net.Http;
34
using System.Net.Http.Headers;
45
using System.Threading;
@@ -151,7 +152,11 @@ public void GetApiRateLimits_InvalidBearerToken()
151152

152153
//Assert
153154
var httpRequestException = Assert.ThrowsAsync<HttpRequestException>(() => gitHubApiStatusService.GetApiRateLimits());
154-
Assert.IsTrue(httpRequestException.Message.Contains("Unauthorized"));
155+
#if NET5_0
156+
Assert.AreEqual(HttpStatusCode.Unauthorized, httpRequestException?.StatusCode);
157+
#else
158+
Assert.IsTrue(httpRequestException?.Message.Contains("Unauthorized"));
159+
#endif
155160
}
156161
}
157162
}

Src/GitHubApiStatus.UnitTests/Tests/GetApiRateLimitsTests_WithCancellationToken.cs

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
using System;
2+
using System.Net;
23
using System.Net.Http;
34
using System.Net.Http.Headers;
45
using System.Threading;
@@ -164,7 +165,11 @@ public void GetApiRateLimits_InvalidBearerToken()
164165

165166
//Assert
166167
var httpRequestException = Assert.ThrowsAsync<HttpRequestException>(() => GitHubApiStatusService.GetApiRateLimits(cancellationTokenSource.Token));
167-
Assert.IsTrue(httpRequestException.Message.Contains("Unauthorized"));
168+
#if NET5_0
169+
Assert.AreEqual(HttpStatusCode.Unauthorized, httpRequestException?.StatusCode);
170+
#else
171+
Assert.IsTrue(httpRequestException?.Message.Contains("Unauthorized"));
172+
#endif
168173
}
169174
}
170175
}

Src/GitHubApiStatus.UnitTests/Tests/GetRateLimitRestDateTimeTests.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,7 @@ public void GetRateLimitResetDateTime_InvalidHttpResponseHeaders()
3838
//Act
3939

4040
//Assert
41-
Assert.Throws<InvalidOperationException>(() => GitHubApiStatusService.GetRateLimitResetDateTime(invalidHttpResponseMessage.Headers));
41+
Assert.Throws<GitHubApiStatusException>(() => GitHubApiStatusService.GetRateLimitResetDateTime(invalidHttpResponseMessage.Headers));
4242
}
4343

4444
[Test]

Src/GitHubApiStatus.UnitTests/Tests/GetRateLimitTests.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@ public void GetRateLimit_InvalidHttpResponseHeaders()
3232
//Act
3333

3434
//Assert
35-
Assert.Throws<InvalidOperationException>(() => GitHubApiStatusService.GetRateLimit(invalidHttpResponseMessage.Headers));
35+
Assert.Throws<GitHubApiStatusException>(() => GitHubApiStatusService.GetRateLimit(invalidHttpResponseMessage.Headers));
3636
}
3737

3838
[Test]

Src/GitHubApiStatus.UnitTests/Tests/GetRateLimitTimeRemainingTests.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,7 @@ public void GetRemainingRequestCount_InvalidHttpResponseHeaders()
3737
//Act
3838

3939
//Assert
40-
Assert.Throws<InvalidOperationException>(() => GitHubApiStatusService.GetRateLimitTimeRemaining(invalidHttpResponseMessage.Headers));
40+
Assert.Throws<GitHubApiStatusException>(() => GitHubApiStatusService.GetRateLimitTimeRemaining(invalidHttpResponseMessage.Headers));
4141
}
4242

4343
[Test]

Src/GitHubApiStatus.UnitTests/Tests/GetRemainingRequestCountTests.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,7 @@ public void GetRemainingRequestCount_InvalidHttpResponseHeaders()
3434
//Act
3535

3636
//Assert
37-
Assert.Throws<InvalidOperationException>(() => GitHubApiStatusService.GetRemainingRequestCount(invalidHttpResponseMessage.Headers));
37+
Assert.Throws<GitHubApiStatusException>(() => GitHubApiStatusService.GetRemainingRequestCount(invalidHttpResponseMessage.Headers));
3838
}
3939

4040
[Test]

0 commit comments

Comments
 (0)