From ff3b1d6da3a986cb1f6fb09f2985422984cb48f2 Mon Sep 17 00:00:00 2001 From: crupest Date: Sun, 15 Nov 2020 02:34:31 +0800 Subject: ... --- .../Timeline.Tests/IntegratedTests/TokenTest.cs | 57 ++++++++-------------- 1 file changed, 21 insertions(+), 36 deletions(-) (limited to 'BackEnd/Timeline.Tests/IntegratedTests/TokenTest.cs') diff --git a/BackEnd/Timeline.Tests/IntegratedTests/TokenTest.cs b/BackEnd/Timeline.Tests/IntegratedTests/TokenTest.cs index 9aac8188..3c4a595d 100644 --- a/BackEnd/Timeline.Tests/IntegratedTests/TokenTest.cs +++ b/BackEnd/Timeline.Tests/IntegratedTests/TokenTest.cs @@ -17,12 +17,10 @@ namespace Timeline.Tests.IntegratedTests private static async Task CreateUserTokenAsync(HttpClient client, string username, string password, int? expireOffset = null) { - var response = await client.PostAsJsonAsync(CreateTokenUrl, new CreateTokenRequest { Username = username, Password = password, Expire = expireOffset }); - return response.Should().HaveStatusCode(200) - .And.HaveJsonBody().Which; + return await client.TestPostAsync(CreateTokenUrl, new CreateTokenRequest { Username = username, Password = password, Expire = expireOffset }); } - public static IEnumerable CreateToken_InvalidModel_Data() + public static IEnumerable CreateToken_InvalidModel_Data() { yield return new[] { null, "p", null }; yield return new[] { "u", null, null }; @@ -35,12 +33,12 @@ namespace Timeline.Tests.IntegratedTests public async Task CreateToken_InvalidModel(string username, string password, int expire) { using var client = await CreateDefaultClient(); - (await client.PostAsJsonAsync(CreateTokenUrl, new CreateTokenRequest + await client.TestPostAssertInvalidModelAsync(CreateTokenUrl, new CreateTokenRequest { Username = username, Password = password, Expire = expire - })).Should().BeInvalidModel(); + }); } public static IEnumerable CreateToken_UserCredential_Data() @@ -54,42 +52,35 @@ namespace Timeline.Tests.IntegratedTests public async void CreateToken_UserCredential(string username, string password) { using var client = await CreateDefaultClient(); - var response = await client.PostAsJsonAsync(CreateTokenUrl, - new CreateTokenRequest { Username = username, Password = password }); - response.Should().HaveStatusCode(400) - .And.HaveCommonBody() - .Which.Code.Should().Be(ErrorCodes.TokenController.Create_BadCredential); + await client.TestPostAssertErrorAsync(CreateTokenUrl, + new CreateTokenRequest { Username = username, Password = password }, + errorCode: ErrorCodes.TokenController.Create_BadCredential); } [Fact] public async Task CreateToken_Success() { using var client = await CreateDefaultClient(); - var response = await client.PostAsJsonAsync(CreateTokenUrl, + var body = await client.TestPostAsync(CreateTokenUrl, new CreateTokenRequest { Username = "user1", Password = "user1pw" }); - var body = response.Should().HaveStatusCode(200) - .And.HaveJsonBody().Which; body.Token.Should().NotBeNullOrWhiteSpace(); - body.User.Should().BeEquivalentTo(UserInfos[1]); + body.User.Should().BeEquivalentTo(await client.GetUserAsync("user1")); } [Fact] public async Task VerifyToken_InvalidModel() { using var client = await CreateDefaultClient(); - (await client.PostAsJsonAsync(VerifyTokenUrl, - new VerifyTokenRequest { Token = null })).Should().BeInvalidModel(); + await client.TestPostAssertInvalidModelAsync(VerifyTokenUrl, new VerifyTokenRequest { Token = null! }); } [Fact] public async Task VerifyToken_BadFormat() { using var client = await CreateDefaultClient(); - var response = await client.PostAsJsonAsync(VerifyTokenUrl, - new VerifyTokenRequest { Token = "bad token hahaha" }); - response.Should().HaveStatusCode(400) - .And.HaveCommonBody() - .Which.Code.Should().Be(ErrorCodes.TokenController.Verify_BadFormat); + await client.TestPostAssertErrorAsync(VerifyTokenUrl, + new VerifyTokenRequest { Token = "bad token hahaha" }, + errorCode: ErrorCodes.TokenController.Verify_BadFormat); } [Fact] @@ -106,11 +97,9 @@ namespace Timeline.Tests.IntegratedTests await userService.ModifyUser(id, new ModifyUserParams { Password = "user1pw" }); } - (await client.PostAsJsonAsync(VerifyTokenUrl, - new VerifyTokenRequest { Token = token })) - .Should().HaveStatusCode(400) - .And.HaveCommonBody() - .Which.Code.Should().Be(ErrorCodes.TokenController.Verify_OldVersion); + await client.TestPostAssertErrorAsync(VerifyTokenUrl, + new VerifyTokenRequest { Token = token }, + errorCode: ErrorCodes.TokenController.Verify_OldVersion); } [Fact] @@ -125,11 +114,9 @@ namespace Timeline.Tests.IntegratedTests await userService.DeleteUser("user1"); } - (await client.PostAsJsonAsync(VerifyTokenUrl, - new VerifyTokenRequest { Token = token })) - .Should().HaveStatusCode(400) - .And.HaveCommonBody() - .Which.Code.Should().Be(ErrorCodes.TokenController.Verify_UserNotExist); + await client.TestPostAssertErrorAsync(VerifyTokenUrl, + new VerifyTokenRequest { Token = token }, + errorCode: ErrorCodes.TokenController.Verify_UserNotExist); } //[Fact] @@ -155,11 +142,9 @@ namespace Timeline.Tests.IntegratedTests { using var client = await CreateDefaultClient(); var createTokenResult = await CreateUserTokenAsync(client, "user1", "user1pw"); - var response = await client.PostAsJsonAsync(VerifyTokenUrl, + var body = await client.TestPostAsync(VerifyTokenUrl, new VerifyTokenRequest { Token = createTokenResult.Token }); - response.Should().HaveStatusCode(200) - .And.HaveJsonBody() - .Which.User.Should().BeEquivalentTo(UserInfos[1]); + body.Should().BeEquivalentTo(await client.GetUserAsync("user1")); } } } -- cgit v1.2.3