diff options
author | crupest <crupest@outlook.com> | 2020-01-30 21:15:18 +0800 |
---|---|---|
committer | crupest <crupest@outlook.com> | 2020-01-30 21:15:18 +0800 |
commit | d988669de355df12d3be3c658e8617c275fe70dd (patch) | |
tree | aa4df76441a44448dad3ee5e7b0d26bf80383259 /Timeline.Tests | |
parent | 79ab2b304d93b1029515bd3f954db4e5a73f4168 (diff) | |
download | timeline-d988669de355df12d3be3c658e8617c275fe70dd.tar.gz timeline-d988669de355df12d3be3c658e8617c275fe70dd.tar.bz2 timeline-d988669de355df12d3be3c658e8617c275fe70dd.zip |
...
Diffstat (limited to 'Timeline.Tests')
-rw-r--r-- | Timeline.Tests/IntegratedTests/IntegratedTestBase.cs | 3 | ||||
-rw-r--r-- | Timeline.Tests/IntegratedTests/PersonalTimelineTest.cs | 262 | ||||
-rw-r--r-- | Timeline.Tests/IntegratedTests/TokenTest.cs | 36 | ||||
-rw-r--r-- | Timeline.Tests/UsernameValidatorUnitTest.cs | 1 |
4 files changed, 130 insertions, 172 deletions
diff --git a/Timeline.Tests/IntegratedTests/IntegratedTestBase.cs b/Timeline.Tests/IntegratedTests/IntegratedTestBase.cs index 721a25af..af3e0c2f 100644 --- a/Timeline.Tests/IntegratedTests/IntegratedTestBase.cs +++ b/Timeline.Tests/IntegratedTests/IntegratedTestBase.cs @@ -106,8 +106,7 @@ namespace Timeline.Tests.IntegratedTests public Task<HttpClient> CreateClientAs(int userNumber) { if (userNumber < 0) - throw new ArgumentOutOfRangeException(nameof(userNumber), "User number can't be negative."); - + return CreateDefaultClient(); if (userNumber == 0) return CreateClientWithCredential("admin", "adminpw"); else diff --git a/Timeline.Tests/IntegratedTests/PersonalTimelineTest.cs b/Timeline.Tests/IntegratedTests/PersonalTimelineTest.cs index 14600659..5c472e52 100644 --- a/Timeline.Tests/IntegratedTests/PersonalTimelineTest.cs +++ b/Timeline.Tests/IntegratedTests/PersonalTimelineTest.cs @@ -71,11 +71,10 @@ namespace Timeline.Tests.IntegratedTests [Fact] public async Task Member_Should_Work() { - const string getUrl = "users/user/timeline"; - const string changeUrl = "users/user/timeline/op/member"; + const string getUrl = "users/user1/timeline"; using var client = await CreateClientAsUser(); - async Task AssertMembers(IList<string> members) + async Task AssertMembers(IList<UserInfo> members) { var res = await client.GetAsync(getUrl); res.Should().HaveStatusCode(200) @@ -93,90 +92,85 @@ namespace Timeline.Tests.IntegratedTests await AssertEmptyMembers(); { - var res = await client.PostAsJsonAsync(changeUrl, - new TimelineMemberChangeRequest { Add = new List<string> { "admin", "usernotexist" } }); + var res = await client.PutAsync("/users/user1/timeline/members/usernotexist", null); res.Should().HaveStatusCode(400) - .And.HaveCommonBody() - .Which.Code.Should().Be(ErrorCodes.UserCommon.NotExist); - } - { - var res = await client.PostAsJsonAsync(changeUrl, - new TimelineMemberChangeRequest { Remove = new List<string> { "admin", "usernotexist" } }); - res.Should().HaveStatusCode(400) - .And.HaveCommonBody() - .Which.Code.Should().Be(ErrorCodes.UserCommon.NotExist); + .And.HaveCommonBody(ErrorCodes.TimelineController.MemberPut_NotExist); } + await AssertEmptyMembers(); { - var res = await client.PostAsJsonAsync(changeUrl, - new TimelineMemberChangeRequest { Add = new List<string> { "admin" }, Remove = new List<string> { "admin" } }); + var res = await client.PutAsync("/users/user1/timeline/members/user2", null); res.Should().HaveStatusCode(200); - await AssertEmptyMembers(); } + await AssertMembers(new List<UserInfo> { UserInfoList[2] }); { - var res = await client.PostAsJsonAsync(changeUrl, - new TimelineMemberChangeRequest { Add = new List<string> { "admin" } }); - res.Should().HaveStatusCode(200); - await AssertMembers(new List<string> { "admin" }); - } + var res = await client.DeleteAsync("/users/users1/timeline/members/users2"); + res.Should().BeDelete(true); + }
+ await AssertEmptyMembers(); { - var res = await client.PostAsJsonAsync(changeUrl, - new TimelineMemberChangeRequest { Remove = new List<string> { "admin" } }); - res.Should().HaveStatusCode(200); - await AssertEmptyMembers(); + var res = await client.DeleteAsync("/users/users1/timeline/members/users2"); + res.Should().BeDelete(false); } + await AssertEmptyMembers(); } [Theory] - [InlineData(AuthType.None, 200, 401, 401, 401, 401)] - [InlineData(AuthType.User, 200, 200, 403, 200, 403)] - [InlineData(AuthType.Admin, 200, 200, 200, 200, 200)] - public async Task Permission_Timeline(AuthType authType, int get, int opPropertyUser, int opPropertyAdmin, int opMemberUser, int opMemberAdmin) + [InlineData(-1, 200, 401, 401, 401, 401)] + [InlineData(1, 200, 200, 403, 200, 403)] + [InlineData(0, 200, 200, 200, 200, 200)] + public async Task Permission_Timeline(int userNumber, int get, int opPatchUser, int opPatchAdmin, int opMemberUser, int opMemberAdmin) { - using var client = await CreateClientAs(authType); + using var client = await CreateClientAs(userNumber); { - var res = await client.GetAsync("users/user/timeline"); + var res = await client.GetAsync("users/user1/timeline"); res.Should().HaveStatusCode(get); } { - var res = await client.PostAsJsonAsync("users/user/timeline/op/property", - new TimelinePatchRequest { Description = "hahaha" }); - res.Should().HaveStatusCode(opPropertyUser); + var res = await client.PatchAsJsonAsync("users/user1/timeline", new TimelinePatchRequest { Description = "hahaha" }); + res.Should().HaveStatusCode(opPatchUser); } { - var res = await client.PostAsJsonAsync("users/admin/timeline/op/property", - new TimelinePatchRequest { Description = "hahaha" }); - res.Should().HaveStatusCode(opPropertyAdmin); + var res = await client.PatchAsJsonAsync("users/admin/timeline", new TimelinePatchRequest { Description = "hahaha" }); + res.Should().HaveStatusCode(opPatchAdmin); } { - var res = await client.PostAsJsonAsync("users/user/timeline/op/member", - new TimelineMemberChangeRequest { Add = new List<string> { "admin" } }); + var res = await client.PutAsync("users/user1/timeline/member/user2", null); + res.Should().HaveStatusCode(opMemberUser); + }
+
+ { + var res = await client.DeleteAsync("users/user1/timeline/member/user2"); res.Should().HaveStatusCode(opMemberUser); } { - var res = await client.PostAsJsonAsync("users/admin/timeline/op/member", - new TimelineMemberChangeRequest { Add = new List<string> { "user" } }); + var res = await client.PutAsync("users/admin/timeline/member/user2", null); + res.Should().HaveStatusCode(opMemberAdmin); + }
+
+ { + var res = await client.DeleteAsync("users/admin/timeline/member/user2"); res.Should().HaveStatusCode(opMemberAdmin); } } [Fact] - public async Task Permission_GetPost() + public async Task Visibility_Test() { - const string userUrl = "users/user/timeline/posts"; + const string userUrl = "users/user1/timeline/posts"; const string adminUrl = "users/admin/timeline/posts"; { using var client = await CreateClientAsUser(); - var res = await client.PostAsync("users/user/timeline/op/property", + var res = await client.PatchAsync("users/user1/timeline", new StringContent(@"{""visibility"":""abcdefg""}", System.Text.Encoding.UTF8, System.Net.Mime.MediaTypeNames.Application.Json)); res.Should().BeInvalidModel(); } { // default visibility is registered { - using var client = await CreateClientWithNoAuth(); + using var client = await CreateDefaultClient(); var res = await client.GetAsync(userUrl); res.Should().HaveStatusCode(403); } @@ -191,12 +185,12 @@ namespace Timeline.Tests.IntegratedTests { // change visibility to public { using var client = await CreateClientAsUser(); - var res = await client.PostAsJsonAsync("users/user/timeline/op/property", + var res = await client.PatchAsJsonAsync("users/user1/timeline", new TimelinePatchRequest { Visibility = TimelineVisibility.Public }); res.Should().HaveStatusCode(200); } { - using var client = await CreateClientWithNoAuth(); + using var client = await CreateDefaultClient(); var res = await client.GetAsync(userUrl); res.Should().HaveStatusCode(200); } @@ -204,20 +198,20 @@ namespace Timeline.Tests.IntegratedTests { // change visibility to private { - using var client = await CreateClientAsAdmin(); + using var client = await CreateClientAsAdministrator(); { - var res = await client.PostAsJsonAsync("users/user/timeline/op/property", + var res = await client.PatchAsJsonAsync("users/user1/timeline", new TimelinePatchRequest { Visibility = TimelineVisibility.Private }); res.Should().HaveStatusCode(200); } { - var res = await client.PostAsJsonAsync("users/admin/timeline/op/property", + var res = await client.PatchAsJsonAsync("users/admin/timeline", new TimelinePatchRequest { Visibility = TimelineVisibility.Private }); res.Should().HaveStatusCode(200); } } { - using var client = await CreateClientWithNoAuth(); + using var client = await CreateDefaultClient(); var res = await client.GetAsync(userUrl); res.Should().HaveStatusCode(403); } @@ -227,14 +221,13 @@ namespace Timeline.Tests.IntegratedTests res.Should().HaveStatusCode(403); } { // admin can read user's - using var client = await CreateClientAsAdmin(); + using var client = await CreateClientAsAdministrator(); var res = await client.GetAsync(userUrl); res.Should().HaveStatusCode(200); } { // add member - using var client = await CreateClientAsAdmin(); - var res = await client.PostAsJsonAsync("users/admin/timeline/op/member", - new TimelineMemberChangeRequest { Add = new List<string> { "user" } }); + using var client = await CreateClientAsAdministrator(); + var res = await client.PutAsync("/users/admin/timeline/members/user1", null); res.Should().HaveStatusCode(200); } { // now user can read admin's @@ -249,19 +242,16 @@ namespace Timeline.Tests.IntegratedTests [Fact] public async Task Permission_Post_Create() { - CreateExtraMockUsers(1); - using (var client = await CreateClientAsUser()) { - var res = await client.PostAsJsonAsync("users/user/timeline/op/member", - new TimelineMemberChangeRequest { Add = new List<string> { "user0" } }); + var res = await client.PutAsync("users/user/timeline/members/user2", null); res.Should().HaveStatusCode(200); } - using (var client = await CreateClientWithNoAuth()) + using (var client = await CreateDefaultClient()) { { // no auth should get 401 - var res = await client.PostAsJsonAsync("users/user/timeline/postop/create", + var res = await client.PostAsJsonAsync("users/user1/timeline/posts", new TimelinePostCreateRequest { Content = "aaa" }); res.Should().HaveStatusCode(401); } @@ -270,30 +260,30 @@ namespace Timeline.Tests.IntegratedTests using (var client = await CreateClientAsUser()) { { // post self's - var res = await client.PostAsJsonAsync("users/user/timeline/postop/create", + var res = await client.PostAsJsonAsync("users/user1/timeline/posts", new TimelinePostCreateRequest { Content = "aaa" }); res.Should().HaveStatusCode(200); } { // post other not as a member should get 403 - var res = await client.PostAsJsonAsync("users/admin/timeline/postop/create", + var res = await client.PostAsJsonAsync("users/admin/timeline/posts", new TimelinePostCreateRequest { Content = "aaa" }); res.Should().HaveStatusCode(403); } } - using (var client = await CreateClientAsAdmin()) + using (var client = await CreateClientAsAdministrator()) { { // post as admin - var res = await client.PostAsJsonAsync("users/user/timeline/postop/create", + var res = await client.PostAsJsonAsync("users/user1/timeline/posts", new TimelinePostCreateRequest { Content = "aaa" }); res.Should().HaveStatusCode(200); } } - using (var client = await CreateClientAs(ExtraMockUsers[0])) + using (var client = await CreateClientAs(2)) { { // post as member - var res = await client.PostAsJsonAsync("users/user/timeline/postop/create", + var res = await client.PostAsJsonAsync("users/user1/timeline/postop/create", new TimelinePostCreateRequest { Content = "aaa" }); res.Should().HaveStatusCode(200); } @@ -303,69 +293,66 @@ namespace Timeline.Tests.IntegratedTests [Fact] public async Task Permission_Post_Delete() { - CreateExtraMockUsers(2); - - async Task<long> CreatePost(MockUser auth, string timeline) + async Task<long> CreatePost(int userNumber) { - using var client = await CreateClientAs(auth); - var res = await client.PostAsJsonAsync($"users/{timeline}/timeline/postop/create", + using var client = await CreateClientAs(userNumber); + var res = await client.PostAsJsonAsync($"users/user1/timeline/postop/create", new TimelinePostCreateRequest { Content = "aaa" }); return res.Should().HaveStatusCode(200) - .And.HaveJsonBody<TimelinePostCreateResponse>() + .And.HaveJsonBody<TimelinePostInfo>() .Which.Id; } using (var client = await CreateClientAsUser()) { - var res = await client.PostAsJsonAsync("users/user/timeline/op/member", - new TimelineMemberChangeRequest { Add = new List<string> { "user0", "user1" } }); - res.Should().HaveStatusCode(200); + {
+ var res = await client.PutAsync("users/user1/timeline/members/user2", null);
+ res.Should().HaveStatusCode(200); + }
+ {
+ var res = await client.PutAsync("users/user1/timeline/members/user3", null);
+ res.Should().HaveStatusCode(200); + } } { // no auth should get 401 - using var client = await CreateClientWithNoAuth(); - var res = await client.PostAsJsonAsync("users/user/timeline/postop/delete", - new TimelinePostDeleteRequest { Id = 12 }); + using var client = await CreateDefaultClient(); + var res = await client.DeleteAsync("users/user1/timeline/posts/12"); res.Should().HaveStatusCode(401); } { // self can delete self - var postId = await CreatePost(MockUser.Ordinary, "user"); + var postId = await CreatePost(1); using var client = await CreateClientAsUser(); - var res = await client.PostAsJsonAsync("users/user/timeline/postop/delete", - new TimelinePostDeleteRequest { Id = postId }); + var res = await client.DeleteAsync($"users/user1/timeline/posts/{postId}"); res.Should().HaveStatusCode(200); } { // admin can delete any - var postId = await CreatePost(MockUser.Ordinary, "user"); - using var client = await CreateClientAsAdmin(); - var res = await client.PostAsJsonAsync("users/user/timeline/postop/delete", - new TimelinePostDeleteRequest { Id = postId }); + var postId = await CreatePost(1); + using var client = await CreateClientAsAdministrator(); + var res = await client.DeleteAsync($"users/user1/timeline/posts/{postId}"); res.Should().HaveStatusCode(200); } { // owner can delete other - var postId = await CreatePost(ExtraMockUsers[0], "user"); + var postId = await CreatePost(2); using var client = await CreateClientAsUser(); - var res = await client.PostAsJsonAsync("users/user/timeline/postop/delete", - new TimelinePostDeleteRequest { Id = postId }); + var res = await client.DeleteAsync($"users/user1/timeline/posts/{postId}"); res.Should().HaveStatusCode(200); } { // author can delete self - var postId = await CreatePost(ExtraMockUsers[0], "user"); - using var client = await CreateClientAs(ExtraMockUsers[0]); - var res = await client.PostAsJsonAsync("users/user/timeline/postop/delete", - new TimelinePostDeleteRequest { Id = postId }); + var postId = await CreatePost(2); + using var client = await CreateClientAs(2); + var res = await client.DeleteAsync($"users/user1/timeline/posts/{postId}"); res.Should().HaveStatusCode(200); } { // otherwise is forbidden - var postId = await CreatePost(ExtraMockUsers[0], "user"); - using var client = await CreateClientAs(ExtraMockUsers[1]); - var res = await client.PostAsJsonAsync("users/user/timeline/postop/delete", - new TimelinePostDeleteRequest { Id = postId }); + var postId = await CreatePost(2); + using var client = await CreateClientAs(3); + var res = await client.DeleteAsync($"users/user1/timeline/posts/{postId}"); res.Should().HaveStatusCode(403); } } @@ -376,96 +363,69 @@ namespace Timeline.Tests.IntegratedTests { using var client = await CreateClientAsUser(); { - var res = await client.GetAsync("users/user/timeline/posts"); + var res = await client.GetAsync("users/user1/timeline/posts"); res.Should().HaveStatusCode(200) .And.HaveJsonBody<TimelinePostInfo[]>() .Which.Should().NotBeNull().And.BeEmpty(); } { - var res = await client.PostAsJsonAsync("users/user/timeline/postop/create", + var res = await client.PostAsJsonAsync("users/user1/timeline/posts", new TimelinePostCreateRequest { Content = null }); res.Should().BeInvalidModel(); } const string mockContent = "aaa"; - TimelinePostCreateResponse createRes; + TimelinePostInfo createRes; { - var res = await client.PostAsJsonAsync("users/user/timeline/postop/create", + var res = await client.PostAsJsonAsync("users/user1/timeline/posts", new TimelinePostCreateRequest { Content = mockContent }); var body = res.Should().HaveStatusCode(200) - .And.HaveJsonBody<TimelinePostCreateResponse>() + .And.HaveJsonBody<TimelinePostInfo>() .Which; body.Should().NotBeNull(); + body.Content.Should().Be(mockContent); + body.Author.Should().Be(UserInfoList[1]); createRes = body; } { - var res = await client.GetAsync("users/user/timeline/posts"); + var res = await client.GetAsync("users/user1/timeline/posts"); res.Should().HaveStatusCode(200) .And.HaveJsonBody<TimelinePostInfo[]>() - .Which.Should().NotBeNull().And.BeEquivalentTo( - new TimelinePostInfo - { - Id = createRes.Id, - Author = "user", - Content = mockContent, - Time = createRes.Time - }); + .Which.Should().NotBeNull().And.BeEquivalentTo(createRes); } const string mockContent2 = "bbb"; var mockTime2 = DateTime.Now.AddDays(-1); - TimelinePostCreateResponse createRes2; + TimelinePostInfo createRes2; { - var res = await client.PostAsJsonAsync("users/user/timeline/postop/create", + var res = await client.PostAsJsonAsync("users/user1/timeline/posts", new TimelinePostCreateRequest { Content = mockContent2, Time = mockTime2 }); var body = res.Should().HaveStatusCode(200) - .And.HaveJsonBody<TimelinePostCreateResponse>() + .And.HaveJsonBody<TimelinePostInfo>() .Which; - body.Should().NotBeNull(); + body.Should().NotBeNull();
+ body.Content.Should().Be(mockContent); + body.Author.Should().Be(UserInfoList[1]); + body.Time.Should().Be(mockTime2); createRes2 = body; } { - var res = await client.GetAsync("users/user/timeline/posts"); + var res = await client.GetAsync("users/user1/timeline/posts"); res.Should().HaveStatusCode(200) .And.HaveJsonBody<TimelinePostInfo[]>() - .Which.Should().NotBeNull().And.BeEquivalentTo( - new TimelinePostInfo - { - Id = createRes.Id, - Author = "user", - Content = mockContent, - Time = createRes.Time - }, - new TimelinePostInfo - { - Id = createRes2.Id, - Author = "user", - Content = mockContent2, - Time = createRes2.Time - }); + .Which.Should().NotBeNull().And.BeEquivalentTo(createRes, createRes2); } { - var res = await client.PostAsJsonAsync("users/user/timeline/postop/delete", - new TimelinePostDeleteRequest { Id = createRes.Id }); - res.Should().HaveStatusCode(200); + var res = await client.DeleteAsync($"users/user1/timeline/posts/{createRes.Id}"); + res.Should().BeDelete(true); } { - var res = await client.PostAsJsonAsync("users/user/timeline/postop/delete", - new TimelinePostDeleteRequest { Id = 30000 }); - res.Should().HaveStatusCode(400) - .And.HaveCommonBody() - .Which.Code.Should().Be(ErrorCodes.TimelineController.PostOperationDelete_NotExist); + var res = await client.DeleteAsync("users/user1/timeline/posts/30000"); + res.Should().BeDelete(false); } { - var res = await client.GetAsync("users/user/timeline/posts"); + var res = await client.GetAsync("users/user1/timeline/posts"); res.Should().HaveStatusCode(200) .And.HaveJsonBody<TimelinePostInfo[]>() - .Which.Should().NotBeNull().And.BeEquivalentTo( - new TimelinePostInfo - { - Id = createRes2.Id, - Author = "user", - Content = mockContent2, - Time = createRes2.Time - }); + .Which.Should().NotBeNull().And.BeEquivalentTo(createRes2); } } } @@ -477,10 +437,10 @@ namespace Timeline.Tests.IntegratedTests async Task<long> CreatePost(DateTime time) { - var res = await client.PostAsJsonAsync("users/user/timeline/postop/create", + var res = await client.PostAsJsonAsync("users/user1/timeline/posts", new TimelinePostCreateRequest { Content = "aaa", Time = time }); return res.Should().HaveStatusCode(200) - .And.HaveJsonBody<TimelinePostCreateResponse>() + .And.HaveJsonBody<TimelinePostInfo>() .Which.Id; } diff --git a/Timeline.Tests/IntegratedTests/TokenTest.cs b/Timeline.Tests/IntegratedTests/TokenTest.cs index 8ee19999..ec7514ff 100644 --- a/Timeline.Tests/IntegratedTests/TokenTest.cs +++ b/Timeline.Tests/IntegratedTests/TokenTest.cs @@ -41,7 +41,7 @@ namespace Timeline.Tests.IntegratedTests [MemberData(nameof(CreateToken_InvalidModel_Data))]
public async Task CreateToken_InvalidModel(string username, string password, int expire)
{
- using var client = await CreateClientWithNoAuth();
+ using var client = await CreateDefaultClient();
(await client.PostAsJsonAsync(CreateTokenUrl, new CreateTokenRequest
{
Username = username,
@@ -53,14 +53,14 @@ namespace Timeline.Tests.IntegratedTests public static IEnumerable<object[]> CreateToken_UserCredential_Data()
{
yield return new[] { "usernotexist", "p" };
- yield return new[] { MockUser.Ordinary.Username, "???" };
+ yield return new[] { "user1", "???" };
}
[Theory]
[MemberData(nameof(CreateToken_UserCredential_Data))]
public async void CreateToken_UserCredential(string username, string password)
{
- using var client = await CreateClientWithNoAuth();
+ using var client = await CreateDefaultClient();
var response = await client.PostAsJsonAsync(CreateTokenUrl,
new CreateTokenRequest { Username = username, Password = password });
response.Should().HaveStatusCode(400)
@@ -71,19 +71,19 @@ namespace Timeline.Tests.IntegratedTests [Fact]
public async Task CreateToken_Success()
{
- using var client = await CreateClientWithNoAuth();
+ using var client = await CreateDefaultClient();
var response = await client.PostAsJsonAsync(CreateTokenUrl,
- new CreateTokenRequest { Username = MockUser.Ordinary.Username, Password = MockUser.Ordinary.Password });
+ new CreateTokenRequest { Username = "user1", Password = "user1pw" });
var body = response.Should().HaveStatusCode(200)
.And.HaveJsonBody<CreateTokenResponse>().Which;
body.Token.Should().NotBeNullOrWhiteSpace();
- body.User.Should().BeEquivalentTo(MockUser.Ordinary.Info);
+ body.User.Should().BeEquivalentTo(UserInfoForAdminList[1]);
}
[Fact]
public async Task VerifyToken_InvalidModel()
{
- using var client = await CreateClientWithNoAuth();
+ using var client = await CreateDefaultClient();
(await client.PostAsJsonAsync(VerifyTokenUrl,
new VerifyTokenRequest { Token = null })).Should().BeInvalidModel();
}
@@ -91,7 +91,7 @@ namespace Timeline.Tests.IntegratedTests [Fact]
public async Task VerifyToken_BadFormat()
{
- using var client = await CreateClientWithNoAuth();
+ using var client = await CreateDefaultClient();
var response = await client.PostAsJsonAsync(VerifyTokenUrl,
new VerifyTokenRequest { Token = "bad token hahaha" });
response.Should().HaveStatusCode(400)
@@ -102,14 +102,14 @@ namespace Timeline.Tests.IntegratedTests [Fact]
public async Task VerifyToken_OldVersion()
{
- using var client = await CreateClientWithNoAuth();
- var token = (await CreateUserTokenAsync(client, MockUser.Ordinary.Username, MockUser.Ordinary.Password)).Token;
+ using var client = await CreateDefaultClient();
+ var token = (await CreateUserTokenAsync(client, "user1", "user1pw")).Token;
- using (var scope = Factory.Server.Host.Services.CreateScope()) // UserService is scoped.
+ using (var scope = Factory.Services.CreateScope()) // UserService is scoped.
{
// create a user for test
var userService = scope.ServiceProvider.GetRequiredService<IUserService>();
- await userService.PatchUser(MockUser.Ordinary.Username, null, null);
+ await userService.ModifyUser("user1", new User { Password = "user1pw" });
}
(await client.PostAsJsonAsync(VerifyTokenUrl,
@@ -122,13 +122,13 @@ namespace Timeline.Tests.IntegratedTests [Fact]
public async Task VerifyToken_UserNotExist()
{
- using var client = await CreateClientWithNoAuth();
- var token = (await CreateUserTokenAsync(client, MockUser.Ordinary.Username, MockUser.Ordinary.Password)).Token;
+ using var client = await CreateDefaultClient();
+ var token = (await CreateUserTokenAsync(client, "user1", "user1pw")).Token;
using (var scope = Factory.Server.Host.Services.CreateScope()) // UserService is scoped.
{
var userService = scope.ServiceProvider.GetRequiredService<IUserService>();
- await userService.DeleteUser(MockUser.Ordinary.Username);
+ await userService.DeleteUser("user1");
}
(await client.PostAsJsonAsync(VerifyTokenUrl,
@@ -159,13 +159,13 @@ namespace Timeline.Tests.IntegratedTests [Fact]
public async Task VerifyToken_Success()
{
- using var client = await CreateClientWithNoAuth();
- var createTokenResult = await CreateUserTokenAsync(client, MockUser.Ordinary.Username, MockUser.Ordinary.Password);
+ using var client = await CreateDefaultClient();
+ var createTokenResult = await CreateUserTokenAsync(client, "user1", "user1pw");
var response = await client.PostAsJsonAsync(VerifyTokenUrl,
new VerifyTokenRequest { Token = createTokenResult.Token });
response.Should().HaveStatusCode(200)
.And.HaveJsonBody<VerifyTokenResponse>()
- .Which.User.Should().BeEquivalentTo(MockUser.Ordinary.Info);
+ .Which.User.Should().BeEquivalentTo(UserInfoForAdminList[1]);
}
}
}
diff --git a/Timeline.Tests/UsernameValidatorUnitTest.cs b/Timeline.Tests/UsernameValidatorUnitTest.cs index e0f4633f..1a09d477 100644 --- a/Timeline.Tests/UsernameValidatorUnitTest.cs +++ b/Timeline.Tests/UsernameValidatorUnitTest.cs @@ -5,7 +5,6 @@ using Xunit; namespace Timeline.Tests
{
- [UseCulture("en")]
public class UsernameValidatorUnitTest : IClassFixture<UsernameValidator>
{
private readonly UsernameValidator _validator;
|