diff options
3 files changed, 28 insertions, 16 deletions
diff --git a/BackEnd/Timeline.Tests/IntegratedTests2/IntegratedTestBase.cs b/BackEnd/Timeline.Tests/IntegratedTests2/IntegratedTestBase.cs index d30c807d..cf2e8a64 100644 --- a/BackEnd/Timeline.Tests/IntegratedTests2/IntegratedTestBase.cs +++ b/BackEnd/Timeline.Tests/IntegratedTests2/IntegratedTestBase.cs @@ -14,16 +14,16 @@ namespace Timeline.Tests.IntegratedTests2 {
public abstract class IntegratedTestBase : IAsyncLifetime
{
- protected TestApplication TestApp { get; }
+ public TestApplication TestApp { get; }
- protected int TestUserCount { get; }
+ public int TestUserCount { get; }
- protected string NormalUserToken { get; set; } = default!;
- protected string AdminUserToken { get; set; } = default!;
+ public string NormalUserToken { get; set; } = default!;
+ public string AdminUserToken { get; set; } = default!;
- protected HttpClient DefaultClient { get; set; } = default!;
- protected HttpClient UserClient { get; set; } = default!;
- protected HttpClient AdminClient { get; set; } = default!;
+ public HttpClient DefaultClient { get; set; } = default!;
+ public HttpClient UserClient { get; set; } = default!;
+ public HttpClient AdminClient { get; set; } = default!;
public IntegratedTestBase(ITestOutputHelper testOutputHelper) : this(1, testOutputHelper)
{
@@ -140,12 +140,6 @@ namespace Timeline.Tests.IntegratedTests2 return CreateClientWithToken(NormalUserToken); }
- public async Task TestOnlySelfAndAdminCanCall(HttpMethod httpMethod, string selfResourceUrl, string otherResourceUrl, object? body) - { - await DefaultClient.TestJsonSendAsync(httpMethod, selfResourceUrl, body, expectedStatusCode: HttpStatusCode.Unauthorized); - await UserClient.TestJsonSendAsync(httpMethod, selfResourceUrl, body); - await UserClient.TestJsonSendAsync(httpMethod, otherResourceUrl, body, expectedStatusCode: HttpStatusCode.Forbidden); - await AdminClient.TestJsonSendAsync(httpMethod, selfResourceUrl, body); - }
+
}
}
diff --git a/BackEnd/Timeline.Tests/IntegratedTests2/IntegratedTestPermissionTestExtensions.cs b/BackEnd/Timeline.Tests/IntegratedTests2/IntegratedTestPermissionTestExtensions.cs new file mode 100644 index 00000000..ad67293b --- /dev/null +++ b/BackEnd/Timeline.Tests/IntegratedTests2/IntegratedTestPermissionTestExtensions.cs @@ -0,0 +1,18 @@ +using System; +using System.Net; +using System.Net.Http; +using System.Threading.Tasks; + +namespace Timeline.Tests.IntegratedTests2 +{ + public static class IntegratedTestPermissionTestExtensions + { + public static async Task TestOnlySelfAndAdminCanCall(this IntegratedTestBase testBase, HttpMethod httpMethod, string selfResourceUrl, string otherResourceUrl, object? body) + { + await testBase.DefaultClient.TestJsonSendAsync(httpMethod, selfResourceUrl, body, expectedStatusCode: HttpStatusCode.Unauthorized); + await testBase.UserClient.TestJsonSendAsync(httpMethod, selfResourceUrl, body); + await testBase.UserClient.TestJsonSendAsync(httpMethod, otherResourceUrl, body, expectedStatusCode: HttpStatusCode.Forbidden); + await testBase.AdminClient.TestJsonSendAsync(httpMethod, selfResourceUrl, body); + } + } +} diff --git a/BackEnd/Timeline.Tests/IntegratedTests2/RegisterCodeTest.cs b/BackEnd/Timeline.Tests/IntegratedTests2/RegisterCodeTest.cs index b840183e..d11c3250 100644 --- a/BackEnd/Timeline.Tests/IntegratedTests2/RegisterCodeTest.cs +++ b/BackEnd/Timeline.Tests/IntegratedTests2/RegisterCodeTest.cs @@ -52,8 +52,8 @@ namespace Timeline.Tests.IntegratedTests2 [Fact] public async Task PermissionTest() { - await TestOnlySelfAndAdminCanCall(HttpMethod.Get, "v2/users/user/registercode", "v2/users/admin/registercode", null); - await TestOnlySelfAndAdminCanCall(HttpMethod.Post, "v2/users/user/renewregistercode", "v2/users/admin/renewregistercode", null); + await this.TestOnlySelfAndAdminCanCall(HttpMethod.Get, "v2/users/user/registercode", "v2/users/admin/registercode", null); + await this.TestOnlySelfAndAdminCanCall(HttpMethod.Post, "v2/users/user/renewregistercode", "v2/users/admin/renewregistercode", null); } } } |