From 10d7b5aab88701bfe76c33c0573bec596cca297a Mon Sep 17 00:00:00 2001 From: crupest Date: Sun, 15 Nov 2020 16:50:01 +0800 Subject: ... --- .../IntegratedTests/UserPermissionTest.cs | 175 +++++---------------- 1 file changed, 36 insertions(+), 139 deletions(-) (limited to 'BackEnd/Timeline.Tests/IntegratedTests/UserPermissionTest.cs') diff --git a/BackEnd/Timeline.Tests/IntegratedTests/UserPermissionTest.cs b/BackEnd/Timeline.Tests/IntegratedTests/UserPermissionTest.cs index 80f31be9..418dd0f9 100644 --- a/BackEnd/Timeline.Tests/IntegratedTests/UserPermissionTest.cs +++ b/BackEnd/Timeline.Tests/IntegratedTests/UserPermissionTest.cs @@ -2,11 +2,9 @@ using System; using System.Collections.Generic; using System.Linq; -using System.Net; using System.Threading.Tasks; using Timeline.Models.Http; using Timeline.Services; -using Timeline.Tests.Helpers; using Xunit; namespace Timeline.Tests.IntegratedTests @@ -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.Should().HaveAndGetJsonBodyAsync(); + var body = await client.GetUserAsync("admin"); body.Permissions.Should().BeEquivalentTo(Enum.GetNames()); } @@ -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.Should().HaveAndGetJsonBodyAsync(); + 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.Should().HaveAndGetJsonBodyAsync(); + var body = await client.GetUserAsync("admin"); body.Permissions.Should().BeEquivalentTo(Enum.GetNames()); } - { - var res = await client.PutAsync($"users/admin/permissions/{permission}"); - 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.Should().HaveAndGetJsonBodyAsync(); + var body = await client.GetUserAsync("users/admin"); body.Permissions.Should().BeEquivalentTo(Enum.GetNames()); } } @@ -77,27 +61,17 @@ namespace Timeline.Tests.IntegratedTests { using var client = await CreateClientAsAdministrator(); - { - var res = await client.PutAsync($"users/user1/permissions/{permission}"); - 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.Should().HaveAndGetJsonBodyAsync(); + 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.Should().HaveAndGetJsonBodyAsync(); + 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}"); - 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.Should().HaveAndGetJsonBodyAsync(); + var body = await client.GetUserAsync("user1"); body.Permissions.Should().BeEquivalentTo(permission.ToString()); } - { - var res = await client.PutAsync($"users/user1/permissions/{permission}"); - 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.Should().HaveAndGetJsonBodyAsync(); + 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.Should().HaveAndGetJsonBodyAsync(); + 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}"); - 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.Should().HaveAndGetJsonBodyAsync(); + var body = await client.GetUserAsync("user1"); body.Permissions.Should().BeEquivalentTo(UserPermission.AllTimelineManagement.ToString()); } - { - var res = await client.PutAsync($"users/user1/permissions/{UserPermission.HighlightTimelineManangement}"); - 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.Should().HaveAndGetJsonBodyAsync(); + 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}"); - 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.Should().HaveAndGetJsonBodyAsync(); + 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.Should().HaveAndGetJsonBodyAsync(); + 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.Should().HaveAndGetJsonBodyAsync(); + var body = await client.GetUserAsync("user1"); body.Permissions.Should().BeEquivalentTo(UserPermission.UserManagement.ToString()); } - { - var res = await client.PutAsync($"users/user1/permissions/{UserPermission.HighlightTimelineManangement}"); - 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.Should().HaveAndGetJsonBodyAsync(); + 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.Should().HaveAndGetJsonBodyAsync(); + 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.Should().HaveAndGetJsonBodyAsync(); + 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); - res.StatusCode.Should().Be(HttpStatusCode.BadRequest); - var body = await res.Should().HaveAndGetCommonBodyAsync(); - body.Code.Should().Be(ErrorCodes.Common.InvalidModel); - } - - { - var res = await client.DeleteAsync(url); - res.StatusCode.Should().Be(HttpStatusCode.BadRequest); - var body = await res.Should().HaveAndGetCommonBodyAsync(); - 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); - res.StatusCode.Should().Be(HttpStatusCode.NotFound); - var body = await res.Should().HaveAndGetCommonBodyAsync(); - body.Code.Should().Be(ErrorCodes.UserCommon.NotExist); - } - - { - var res = await client.DeleteAsync(url); - res.StatusCode.Should().Be(HttpStatusCode.NotFound); - var body = await res.Should().HaveAndGetCommonBodyAsync(); - body.Code.Should().Be(ErrorCodes.UserCommon.NotExist); - } + await client.TestPutAssertNotFoundAsync(url, errorCode: ErrorCodes.UserCommon.NotExist); + await client.TestDeleteAssertNotFoundAsync(url, errorCode: ErrorCodes.UserCommon.NotExist); } } } -- cgit v1.2.3