diff options
author | crupest <crupest@outlook.com> | 2019-04-11 20:11:23 +0800 |
---|---|---|
committer | crupest <crupest@outlook.com> | 2019-04-11 20:11:23 +0800 |
commit | 63573d7c988e0bc1b7e82eeea53ecc3678b0a2f5 (patch) | |
tree | 34118752ae3015a26c0f6f3a02b3043806ce895a /Timeline.Tests/JwtTokenUnitTest.cs | |
parent | 5b5ca3acb1b9decb5ad13798dc79ba2d58f2ce95 (diff) | |
download | timeline-63573d7c988e0bc1b7e82eeea53ecc3678b0a2f5.tar.gz timeline-63573d7c988e0bc1b7e82eeea53ecc3678b0a2f5.tar.bz2 timeline-63573d7c988e0bc1b7e82eeea53ecc3678b0a2f5.zip |
Change create token api.
Diffstat (limited to 'Timeline.Tests/JwtTokenUnitTest.cs')
-rw-r--r-- | Timeline.Tests/JwtTokenUnitTest.cs | 57 |
1 files changed, 29 insertions, 28 deletions
diff --git a/Timeline.Tests/JwtTokenUnitTest.cs b/Timeline.Tests/JwtTokenUnitTest.cs index e55bc82c..7e881895 100644 --- a/Timeline.Tests/JwtTokenUnitTest.cs +++ b/Timeline.Tests/JwtTokenUnitTest.cs @@ -1,14 +1,8 @@ using Microsoft.AspNetCore.Mvc.Testing; using Newtonsoft.Json; -using System; -using System.Collections.Generic; -using System.Linq; using System.Net; using System.Net.Http; -using System.Text; -using System.Threading.Tasks; -using Timeline.Controllers; -using Timeline.Services; +using Timeline.Entities; using Timeline.Tests.Helpers; using Timeline.Tests.Helpers.Authentication; using Xunit; @@ -18,6 +12,7 @@ namespace Timeline.Tests { public class JwtTokenUnitTest : IClassFixture<WebApplicationFactory<Startup>> { + private const string CreateTokenUrl = "/api/User/CreateToken"; private const string ValidateTokenUrl = "/api/User/ValidateToken"; private readonly WebApplicationFactory<Startup> _factory; @@ -28,53 +23,59 @@ namespace Timeline.Tests } [Fact] - public async void ValidateToken_BadTokenTest() + public async void CreateTokenTest_BadCredential() { using (var client = _factory.CreateDefaultClient()) { - var response = await client.PostAsync(ValidateTokenUrl, new StringContent("bad token hahaha", Encoding.UTF8, "text/plain")); - + var response = await client.PostAsJsonAsync(CreateTokenUrl, new CreateTokenRequest { Username = "???", Password = "???" }); Assert.Equal(HttpStatusCode.OK, response.StatusCode); - - var validationInfo = JsonConvert.DeserializeObject<TokenValidationResult>(await response.Content.ReadAsStringAsync()); - - Assert.False(validationInfo.IsValid); - Assert.Null(validationInfo.UserInfo); + var result = JsonConvert.DeserializeObject<CreateTokenResponse>(await response.Content.ReadAsStringAsync()); + Assert.False(result.Success); + Assert.Null(result.Token); + Assert.Null(result.UserInfo); } } [Fact] - public async void ValidateToken_PlainTextGoodTokenTest() + public async void CreateTokenTest_GoodCredential() { using (var client = _factory.CreateDefaultClient()) { - var createTokenResult = await client.CreateUserTokenAsync("admin", "admin"); + var response = await client.PostAsJsonAsync(CreateTokenUrl, new CreateTokenRequest { Username = "user", Password = "user" }); + Assert.Equal(HttpStatusCode.OK, response.StatusCode); + var result = JsonConvert.DeserializeObject<CreateTokenResponse>(await response.Content.ReadAsStringAsync()); + Assert.True(result.Success); + Assert.NotNull(result.Token); + Assert.NotNull(result.UserInfo); + } + } - var response = await client.PostAsync(ValidateTokenUrl, new StringContent(createTokenResult.Token, Encoding.UTF8, "text/plain")); + [Fact] + public async void ValidateTokenTest_BadToken() + { + using (var client = _factory.CreateDefaultClient()) + { + var response = await client.PostAsJsonAsync(ValidateTokenUrl, new TokenValidationRequest { Token = "bad token hahaha" }); Assert.Equal(HttpStatusCode.OK, response.StatusCode); - var result = JsonConvert.DeserializeObject<TokenValidationResult>(await response.Content.ReadAsStringAsync()); + var validationInfo = JsonConvert.DeserializeObject<TokenValidationResponse>(await response.Content.ReadAsStringAsync()); - Assert.True(result.IsValid); - Assert.NotNull(result.UserInfo); - Assert.Equal(createTokenResult.UserInfo.Username, result.UserInfo.Username); - Assert.Equal(createTokenResult.UserInfo.Roles, result.UserInfo.Roles); + Assert.False(validationInfo.IsValid); + Assert.Null(validationInfo.UserInfo); } } [Fact] - public async void ValidateToken_JsonGoodTokenTest() + public async void ValidateTokenTest_GoodToken() { using (var client = _factory.CreateDefaultClient()) { var createTokenResult = await client.CreateUserTokenAsync("admin", "admin"); - var response = await client.PostAsJsonAsync(ValidateTokenUrl, new UserController.TokenValidationRequest { Token = createTokenResult.Token }); - + var response = await client.PostAsJsonAsync(ValidateTokenUrl, new TokenValidationRequest { Token = createTokenResult.Token }); Assert.Equal(HttpStatusCode.OK, response.StatusCode); - - var result = JsonConvert.DeserializeObject<TokenValidationResult>(await response.Content.ReadAsStringAsync()); + var result = JsonConvert.DeserializeObject<TokenValidationResponse>(await response.Content.ReadAsStringAsync()); Assert.True(result.IsValid); Assert.NotNull(result.UserInfo); |