aboutsummaryrefslogtreecommitdiff
path: root/BackEnd/Timeline.Tests/IntegratedTests/UserPermissionTest.cs
diff options
context:
space:
mode:
authorcrupest <crupest@outlook.com>2020-11-15 17:38:10 +0800
committerGitHub <noreply@github.com>2020-11-15 17:38:10 +0800
commit63ec1050dd24e4123f73e9ed757376dc8128803d (patch)
tree23ebc51a13e803450530b8469e7202121f05f822 /BackEnd/Timeline.Tests/IntegratedTests/UserPermissionTest.cs
parent2a132acab30042f068577096f6b97f6961951b0e (diff)
parent3c1f8bc55ad6755e961e8bae0844b9d859f6afd5 (diff)
downloadtimeline-63ec1050dd24e4123f73e9ed757376dc8128803d.tar.gz
timeline-63ec1050dd24e4123f73e9ed757376dc8128803d.tar.bz2
timeline-63ec1050dd24e4123f73e9ed757376dc8128803d.zip
Merge pull request #186 from crupest/unittest
Refactor unit tests.
Diffstat (limited to 'BackEnd/Timeline.Tests/IntegratedTests/UserPermissionTest.cs')
-rw-r--r--BackEnd/Timeline.Tests/IntegratedTests/UserPermissionTest.cs175
1 files changed, 36 insertions, 139 deletions
diff --git a/BackEnd/Timeline.Tests/IntegratedTests/UserPermissionTest.cs b/BackEnd/Timeline.Tests/IntegratedTests/UserPermissionTest.cs
index cf27a6c6..77cae590 100644
--- a/BackEnd/Timeline.Tests/IntegratedTests/UserPermissionTest.cs
+++ b/BackEnd/Timeline.Tests/IntegratedTests/UserPermissionTest.cs
@@ -2,8 +2,6 @@
using System;
using System.Collections.Generic;
using System.Linq;
-using System.Net;
-using System.Net.Http.Json;
using System.Threading.Tasks;
using Timeline.Models.Http;
using Timeline.Services;
@@ -19,9 +17,7 @@ namespace Timeline.Tests.IntegratedTests
public async Task RootUserShouldReturnAllPermissions()
{
using var client = await CreateDefaultClient();
- var res = await client.GetAsync("users/admin");
- res.StatusCode.Should().Be(HttpStatusCode.OK);
- var body = await res.Content.ReadFromJsonAsync<UserInfo>();
+ var body = await client.GetUserAsync("admin");
body.Permissions.Should().BeEquivalentTo(Enum.GetNames<UserPermission>());
}
@@ -29,9 +25,7 @@ namespace Timeline.Tests.IntegratedTests
public async Task NonRootUserShouldReturnNonPermissions()
{
using var client = await CreateDefaultClient();
- var res = await client.GetAsync("users/user1");
- res.StatusCode.Should().Be(HttpStatusCode.OK);
- var body = await res.Content.ReadFromJsonAsync<UserInfo>();
+ var body = await client.GetUserAsync("user1");
body.Permissions.Should().BeEmpty();
}
@@ -46,27 +40,17 @@ namespace Timeline.Tests.IntegratedTests
{
using var client = await CreateClientAsAdministrator();
- {
- var res = await client.DeleteAsync($"users/admin/permissions/{permission}");
- res.StatusCode.Should().Be(HttpStatusCode.OK);
- }
+ await client.TestDeleteAsync($"users/admin/permissions/{permission}");
{
- var res = await client.GetAsync("users/admin");
- res.StatusCode.Should().Be(HttpStatusCode.OK);
- var body = await res.Content.ReadFromJsonAsync<UserInfo>();
+ var body = await client.GetUserAsync("admin");
body.Permissions.Should().BeEquivalentTo(Enum.GetNames<UserPermission>());
}
- {
- var res = await client.PutAsync($"users/admin/permissions/{permission}", null);
- res.StatusCode.Should().Be(HttpStatusCode.OK);
- }
+ await client.TestPutAsync($"users/admin/permissions/{permission}");
{
- var res = await client.GetAsync("users/admin");
- res.StatusCode.Should().Be(HttpStatusCode.OK);
- var body = await res.Content.ReadFromJsonAsync<UserInfo>();
+ var body = await client.GetUserAsync("admin");
body.Permissions.Should().BeEquivalentTo(Enum.GetNames<UserPermission>());
}
}
@@ -77,27 +61,17 @@ namespace Timeline.Tests.IntegratedTests
{
using var client = await CreateClientAsAdministrator();
- {
- var res = await client.PutAsync($"users/user1/permissions/{permission}", null);
- res.StatusCode.Should().Be(HttpStatusCode.OK);
- }
+ await client.TestPutAsync($"users/user1/permissions/{permission}");
{
- var res = await client.GetAsync("users/user1");
- res.StatusCode.Should().Be(HttpStatusCode.OK);
- var body = await res.Content.ReadFromJsonAsync<UserInfo>();
+ var body = await client.GetUserAsync("user1");
body.Permissions.Should().BeEquivalentTo(permission.ToString());
}
- {
- var res = await client.DeleteAsync($"users/user1/permissions/{permission}");
- res.StatusCode.Should().Be(HttpStatusCode.OK);
- }
+ await client.TestDeleteAsync($"users/user1/permissions/{permission}");
{
- var res = await client.GetAsync("users/user1");
- res.StatusCode.Should().Be(HttpStatusCode.OK);
- var body = await res.Content.ReadFromJsonAsync<UserInfo>();
+ var body = await client.GetUserAsync("user1");
body.Permissions.Should().BeEmpty();
}
}
@@ -108,27 +82,17 @@ namespace Timeline.Tests.IntegratedTests
{
using var client = await CreateClientAsAdministrator();
- {
- var res = await client.PutAsync($"users/user1/permissions/{permission}", null);
- res.StatusCode.Should().Be(HttpStatusCode.OK);
- }
+ await client.TestPutAsync($"users/user1/permissions/{permission}");
{
- var res = await client.GetAsync("users/user1");
- res.StatusCode.Should().Be(HttpStatusCode.OK);
- var body = await res.Content.ReadFromJsonAsync<UserInfo>();
+ var body = await client.GetUserAsync("user1");
body.Permissions.Should().BeEquivalentTo(permission.ToString());
}
- {
- var res = await client.PutAsync($"users/user1/permissions/{permission}", null);
- res.StatusCode.Should().Be(HttpStatusCode.OK);
- }
+ await client.TestPutAsync($"users/user1/permissions/{permission}");
{
- var res = await client.GetAsync("users/user1");
- res.StatusCode.Should().Be(HttpStatusCode.OK);
- var body = await res.Content.ReadFromJsonAsync<UserInfo>();
+ var body = await client.GetUserAsync("user1");
body.Permissions.Should().BeEquivalentTo(permission.ToString());
}
}
@@ -139,15 +103,10 @@ namespace Timeline.Tests.IntegratedTests
{
using var client = await CreateClientAsAdministrator();
- {
- var res = await client.DeleteAsync($"users/user1/permissions/{permission}");
- res.StatusCode.Should().Be(HttpStatusCode.OK);
- }
+ await client.TestDeleteAsync($"users/user1/permissions/{permission}");
{
- var res = await client.GetAsync("users/user1");
- res.StatusCode.Should().Be(HttpStatusCode.OK);
- var body = await res.Content.ReadFromJsonAsync<UserInfo>();
+ var body = await client.GetUserAsync("user1");
body.Permissions.Should().BeEmpty();
}
}
@@ -157,106 +116,66 @@ namespace Timeline.Tests.IntegratedTests
{
using var client = await CreateClientAsAdministrator();
- {
- var res = await client.PutAsync($"users/user1/permissions/{UserPermission.AllTimelineManagement}", null);
- res.StatusCode.Should().Be(HttpStatusCode.OK);
- }
+ await client.TestPutAsync($"users/user1/permissions/{UserPermission.AllTimelineManagement}");
{
- var res = await client.GetAsync("users/user1");
- res.StatusCode.Should().Be(HttpStatusCode.OK);
- var body = await res.Content.ReadFromJsonAsync<UserInfo>();
+ var body = await client.GetUserAsync("user1");
body.Permissions.Should().BeEquivalentTo(UserPermission.AllTimelineManagement.ToString());
}
- {
- var res = await client.PutAsync($"users/user1/permissions/{UserPermission.HighlightTimelineManangement}", null);
- res.StatusCode.Should().Be(HttpStatusCode.OK);
- }
+ await client.TestPutAsync($"users/user1/permissions/{UserPermission.HighlightTimelineManangement}");
{
- var res = await client.GetAsync("users/user1");
- res.StatusCode.Should().Be(HttpStatusCode.OK);
- var body = await res.Content.ReadFromJsonAsync<UserInfo>();
+ var body = await client.GetUserAsync("user1");
body.Permissions.Should().BeEquivalentTo(UserPermission.AllTimelineManagement.ToString(),
UserPermission.HighlightTimelineManangement.ToString());
}
- {
- var res = await client.PutAsync($"users/user1/permissions/{UserPermission.UserManagement}", null);
- res.StatusCode.Should().Be(HttpStatusCode.OK);
- }
+ await client.TestPutAsync($"users/user1/permissions/{UserPermission.UserManagement}");
{
- var res = await client.GetAsync("users/user1");
- res.StatusCode.Should().Be(HttpStatusCode.OK);
- var body = await res.Content.ReadFromJsonAsync<UserInfo>();
+ var body = await client.GetUserAsync("user1");
body.Permissions.Should().BeEquivalentTo(
UserPermission.AllTimelineManagement.ToString(),
UserPermission.HighlightTimelineManangement.ToString(),
UserPermission.UserManagement.ToString());
}
- {
- var res = await client.DeleteAsync($"users/user1/permissions/{UserPermission.HighlightTimelineManangement}");
- res.StatusCode.Should().Be(HttpStatusCode.OK);
- }
+ await client.TestDeleteAsync($"users/user1/permissions/{UserPermission.HighlightTimelineManangement}");
{
- var res = await client.GetAsync("users/user1");
- res.StatusCode.Should().Be(HttpStatusCode.OK);
- var body = await res.Content.ReadFromJsonAsync<UserInfo>();
+ var body = await client.GetUserAsync("user1");
body.Permissions.Should().BeEquivalentTo(
UserPermission.AllTimelineManagement.ToString(),
UserPermission.UserManagement.ToString());
}
- {
- var res = await client.DeleteAsync($"users/user1/permissions/{UserPermission.AllTimelineManagement}");
- res.StatusCode.Should().Be(HttpStatusCode.OK);
- }
+ await client.TestDeleteAsync($"users/user1/permissions/{UserPermission.AllTimelineManagement}");
{
- var res = await client.GetAsync("users/user1");
- res.StatusCode.Should().Be(HttpStatusCode.OK);
- var body = await res.Content.ReadFromJsonAsync<UserInfo>();
+ var body = await client.GetUserAsync("user1");
body.Permissions.Should().BeEquivalentTo(UserPermission.UserManagement.ToString());
}
- {
- var res = await client.PutAsync($"users/user1/permissions/{UserPermission.HighlightTimelineManangement}", null);
- res.StatusCode.Should().Be(HttpStatusCode.OK);
- }
+ await client.TestPutAsync($"users/user1/permissions/{UserPermission.HighlightTimelineManangement}");
{
- var res = await client.GetAsync("users/user1");
- res.StatusCode.Should().Be(HttpStatusCode.OK);
- var body = await res.Content.ReadFromJsonAsync<UserInfo>();
+ var body = await client.GetUserAsync("user1");
body.Permissions.Should().BeEquivalentTo(
UserPermission.HighlightTimelineManangement.ToString(), UserPermission.UserManagement.ToString());
}
- {
- var res = await client.DeleteAsync($"users/user1/permissions/{UserPermission.HighlightTimelineManangement}");
- res.StatusCode.Should().Be(HttpStatusCode.OK);
- }
+ await client.TestDeleteAsync($"users/user1/permissions/{UserPermission.HighlightTimelineManangement}");
{
- var res = await client.GetAsync("users/user1");
- res.StatusCode.Should().Be(HttpStatusCode.OK);
- var body = await res.Content.ReadFromJsonAsync<UserInfo>();
+ var body = await client.GetUserAsync("user1");
body.Permissions.Should().BeEquivalentTo(UserPermission.UserManagement.ToString());
}
- {
- var res = await client.DeleteAsync($"users/user1/permissions/{UserPermission.UserManagement}");
- res.StatusCode.Should().Be(HttpStatusCode.OK);
- }
+ await client.TestDeleteAsync($"users/user1/permissions/{UserPermission.UserManagement}");
{
- var res = await client.GetAsync("users/user1");
- res.StatusCode.Should().Be(HttpStatusCode.OK);
- var body = await res.Content.ReadFromJsonAsync<UserInfo>();
+ var body = await client.GetUserAsync("user1");
body.Permissions.Should().BeEmpty();
}
}
@@ -268,19 +187,8 @@ namespace Timeline.Tests.IntegratedTests
{
using var client = await CreateClientAsAdministrator();
- {
- var res = await client.PutAsync(url, null);
- res.StatusCode.Should().Be(HttpStatusCode.BadRequest);
- var body = await res.Content.ReadFromJsonAsync<CommonResponse>();
- body.Code.Should().Be(ErrorCodes.Common.InvalidModel);
- }
-
- {
- var res = await client.DeleteAsync(url);
- res.StatusCode.Should().Be(HttpStatusCode.BadRequest);
- var body = await res.Content.ReadFromJsonAsync<CommonResponse>();
- body.Code.Should().Be(ErrorCodes.Common.InvalidModel);
- }
+ await client.TestPutAssertInvalidModelAsync(url);
+ await client.TestDeleteAssertInvalidModelAsync(url);
}
[Fact]
@@ -290,19 +198,8 @@ namespace Timeline.Tests.IntegratedTests
const string url = "users/user123/permissions/UserManagement";
- {
- var res = await client.PutAsync(url, null);
- res.StatusCode.Should().Be(HttpStatusCode.NotFound);
- var body = await res.Content.ReadFromJsonAsync<CommonResponse>();
- body.Code.Should().Be(ErrorCodes.UserCommon.NotExist);
- }
-
- {
- var res = await client.DeleteAsync(url);
- res.StatusCode.Should().Be(HttpStatusCode.NotFound);
- var body = await res.Content.ReadFromJsonAsync<CommonResponse>();
- body.Code.Should().Be(ErrorCodes.UserCommon.NotExist);
- }
+ await client.TestPutAssertNotFoundAsync(url, errorCode: ErrorCodes.UserCommon.NotExist);
+ await client.TestDeleteAssertNotFoundAsync(url, errorCode: ErrorCodes.UserCommon.NotExist);
}
}
}