From 57151c879376374425adb04fb68dad2cf7930df8 Mon Sep 17 00:00:00 2001 From: 杨宇千 Date: Mon, 5 Aug 2019 18:58:56 +0800 Subject: 3 things. 1. Exchange Models and Entities namespace. 2. Fix the bug that input with missing field leads to 500. 3. Write unit tests. --- Timeline.Tests/TokenUnitTest.cs | 62 ++++++++++++++++++++++++++++++----------- 1 file changed, 45 insertions(+), 17 deletions(-) (limited to 'Timeline.Tests/TokenUnitTest.cs') diff --git a/Timeline.Tests/TokenUnitTest.cs b/Timeline.Tests/TokenUnitTest.cs index 7b83cd13..5c7496b5 100644 --- a/Timeline.Tests/TokenUnitTest.cs +++ b/Timeline.Tests/TokenUnitTest.cs @@ -6,7 +6,7 @@ using System.Linq; using System.Net; using System.Net.Http; using Timeline.Controllers; -using Timeline.Entities.Http; +using Timeline.Models.Http; using Timeline.Services; using Timeline.Tests.Helpers; using Timeline.Tests.Helpers.Authentication; @@ -28,43 +28,61 @@ namespace Timeline.Tests } [Fact] - public async void CreateTokenTest_UserNotExist() + public async void CreateToken_MissingUsername() { using (var client = _factory.CreateDefaultClient()) { - var response = await client.PostAsJsonAsync(CreateTokenUrl, new CreateTokenRequest { Username = "usernotexist", Password = "???" }); - Assert.Equal(HttpStatusCode.BadRequest, response.StatusCode); - var body = await response.ReadBodyAsJson(); - Assert.Equal(TokenController.ErrorCodes.Create_UserNotExist, body.Code); + await InvalidModelTestHelpers.TestPostInvalidModel(client, CreateTokenUrl, + new CreateTokenRequest { Username = null, Password = "user" }); } } [Fact] - public async void CreateTokenTest_BadPassword() + public async void CreateToken_InvalidModel_MissingPassword() { using (var client = _factory.CreateDefaultClient()) { - var response = await client.PostAsJsonAsync(CreateTokenUrl, new CreateTokenRequest { Username = "user", Password = "???" }); + await InvalidModelTestHelpers.TestPostInvalidModel(client, CreateTokenUrl, + new CreateTokenRequest { Username = "user", Password = null }); + } + } + + [Fact] + public async void CreateToken_InvalidModel_BadExpireOffset() + { + using (var client = _factory.CreateDefaultClient()) + { + await InvalidModelTestHelpers.TestPostInvalidModel(client, CreateTokenUrl, + new CreateTokenRequest { Username = "user", Password = "user", ExpireOffset = -1000 }); + } + } + + [Fact] + public async void CreateToken_UserNotExist() + { + using (var client = _factory.CreateDefaultClient()) + { + var response = await client.PostAsJsonAsync(CreateTokenUrl, new CreateTokenRequest { Username = "usernotexist", Password = "???" }); Assert.Equal(HttpStatusCode.BadRequest, response.StatusCode); var body = await response.ReadBodyAsJson(); - Assert.Equal(TokenController.ErrorCodes.Create_BadPassword, body.Code); + Assert.Equal(TokenController.ErrorCodes.Create_UserNotExist, body.Code); } } [Fact] - public async void CreateTokenTest_BadExpireOffset() + public async void CreateToken_BadPassword() { using (var client = _factory.CreateDefaultClient()) { - var response = await client.PostAsJsonAsync(CreateTokenUrl, new CreateTokenRequest { Username = "???", Password = "???", ExpireOffset = -1000 }); + var response = await client.PostAsJsonAsync(CreateTokenUrl, new CreateTokenRequest { Username = "user", Password = "???" }); Assert.Equal(HttpStatusCode.BadRequest, response.StatusCode); var body = await response.ReadBodyAsJson(); - Assert.Equal(TokenController.ErrorCodes.Create_BadExpireOffset, body.Code); + Assert.Equal(TokenController.ErrorCodes.Create_BadPassword, body.Code); } } [Fact] - public async void CreateTokenTest_Success() + public async void CreateToken_Success() { using (var client = _factory.CreateDefaultClient()) { @@ -77,7 +95,17 @@ namespace Timeline.Tests } [Fact] - public async void VerifyTokenTest_BadToken() + public async void VerifyToken_InvalidModel_MissingToken() + { + using (var client = _factory.CreateDefaultClient()) + { + await InvalidModelTestHelpers.TestPostInvalidModel(client, VerifyTokenUrl, + new VerifyTokenRequest { Token = null }); + } + } + + [Fact] + public async void VerifyToken_BadToken() { using (var client = _factory.CreateDefaultClient()) { @@ -89,7 +117,7 @@ namespace Timeline.Tests } [Fact] - public async void VerifyTokenTest_BadVersion_AND_UserNotExist() + public async void VerifyToken_BadVersion_AND_UserNotExist() { using (var client = _factory.CreateDefaultClient()) { @@ -131,7 +159,7 @@ namespace Timeline.Tests } [Fact] - public async void VerifyTokenTest_Expired() + public async void VerifyToken_Expired() { using (var client = _factory.CreateDefaultClient()) { @@ -148,7 +176,7 @@ namespace Timeline.Tests } [Fact] - public async void VerifyTokenTest_Success() + public async void VerifyToken_Success() { using (var client = _factory.CreateDefaultClient()) { -- cgit v1.2.3