diff options
author | crupest <crupest@outlook.com> | 2020-01-30 20:26:52 +0800 |
---|---|---|
committer | crupest <crupest@outlook.com> | 2020-01-30 20:26:52 +0800 |
commit | 79ab2b304d93b1029515bd3f954db4e5a73f4168 (patch) | |
tree | 538ceea06640f501d2a950cac813c10561036e4d /Timeline.Tests/IntegratedTests/UserDetailTest.cs | |
parent | dd0097af5c4ccbe25a1faca2286d729c93fd4116 (diff) | |
download | timeline-79ab2b304d93b1029515bd3f954db4e5a73f4168.tar.gz timeline-79ab2b304d93b1029515bd3f954db4e5a73f4168.tar.bz2 timeline-79ab2b304d93b1029515bd3f954db4e5a73f4168.zip |
...
Diffstat (limited to 'Timeline.Tests/IntegratedTests/UserDetailTest.cs')
-rw-r--r-- | Timeline.Tests/IntegratedTests/UserDetailTest.cs | 154 |
1 files changed, 0 insertions, 154 deletions
diff --git a/Timeline.Tests/IntegratedTests/UserDetailTest.cs b/Timeline.Tests/IntegratedTests/UserDetailTest.cs deleted file mode 100644 index 3781a816..00000000 --- a/Timeline.Tests/IntegratedTests/UserDetailTest.cs +++ /dev/null @@ -1,154 +0,0 @@ -using FluentAssertions;
-using Microsoft.AspNetCore.Mvc.Testing;
-using System.Net;
-using System.Net.Http.Headers;
-using System.Net.Mime;
-using System.Threading.Tasks;
-using Timeline.Models.Http;
-using Timeline.Tests.Helpers;
-using Xunit;
-
-namespace Timeline.Tests.IntegratedTests
-{
- public class UserDetailTest : IntegratedTestBase
- {
- public UserDetailTest(WebApplicationFactory<Startup> factory)
- : base(factory)
- {
-
- }
-
- [Fact]
- public async Task PermissionTest()
- {
- { // unauthorize
- using var client = await CreateClientWithNoAuth();
- { // GET
- var res = await client.GetAsync($"users/{MockUser.User.Username}/nickname");
- res.Should().HaveStatusCode(HttpStatusCode.OK);
- }
- { // PUT
- var res = await client.PutStringAsync($"users/{MockUser.User.Username}/nickname", "aaa");
- res.Should().HaveStatusCode(HttpStatusCode.Unauthorized);
- }
- { // DELETE
- var res = await client.DeleteAsync($"users/{MockUser.User.Username}/nickname");
- res.Should().HaveStatusCode(HttpStatusCode.Unauthorized);
- }
- }
- { // user
- using var client = await CreateClientAsUser();
- { // GET
- var res = await client.GetAsync($"users/{MockUser.User.Username}/nickname");
- res.Should().HaveStatusCode(HttpStatusCode.OK);
- }
- { // PUT self
- var res = await client.PutStringAsync($"users/{MockUser.User.Username}/nickname", "aaa");
- res.Should().HaveStatusCode(HttpStatusCode.OK);
- }
- { // PUT other
- var res = await client.PutStringAsync($"users/{MockUser.Admin.Username}/nickname", "aaa");
- res.Should().HaveStatusCode(HttpStatusCode.Forbidden);
- }
- { // DELETE self
- var res = await client.DeleteAsync($"users/{MockUser.User.Username}/nickname");
- res.Should().HaveStatusCode(HttpStatusCode.OK);
- }
- { // DELETE other
- var res = await client.DeleteAsync($"users/{MockUser.Admin.Username}/nickname");
- res.Should().HaveStatusCode(HttpStatusCode.Forbidden);
- }
- }
- { // user
- using var client = await CreateClientAsAdmin();
- { // PUT other
- var res = await client.PutStringAsync($"users/{MockUser.User.Username}/nickname", "aaa");
- res.Should().HaveStatusCode(HttpStatusCode.OK);
- }
- { // DELETE other
- var res = await client.DeleteAsync($"users/{MockUser.User.Username}/nickname");
- res.Should().HaveStatusCode(HttpStatusCode.OK);
- }
- }
- }
-
- [Fact]
- public async Task FunctionTest()
- {
- var url = $"users/{MockUser.User.Username}/nickname";
- var userNotExistUrl = "users/usernotexist/nickname";
- {
- using var client = await CreateClientAsUser();
- {
- var res = await client.GetAsync(userNotExistUrl);
- res.Should().HaveStatusCode(HttpStatusCode.NotFound)
- .And.HaveCommonBody()
- .Which.Code.Should().Be(ErrorCodes.UserCommon.NotExist);
-
- }
- {
- var res = await client.GetAsync(url);
- res.Should().HaveStatusCode(HttpStatusCode.OK);
- res.Content.Headers.ContentType.Should().Be(new MediaTypeHeaderValue(MediaTypeNames.Text.Plain) { CharSet = "utf-8" });
- var body = await res.Content.ReadAsStringAsync();
- body.Should().Be(MockUser.User.Username);
- }
- {
- var res = await client.PutStringAsync(url, "");
- res.Should().BeInvalidModel();
- }
- {
- var res = await client.PutStringAsync(url, new string('a', 11));
- res.Should().BeInvalidModel();
- }
- var nickname1 = "nnn";
- var nickname2 = "nn2";
- {
- var res = await client.PutStringAsync(url, nickname1);
- res.Should().HaveStatusCode(HttpStatusCode.OK);
- (await client.GetStringAsync(url)).Should().Be(nickname1);
- }
- {
- var res = await client.PutStringAsync(url, nickname2);
- res.Should().HaveStatusCode(HttpStatusCode.OK);
- (await client.GetStringAsync(url)).Should().Be(nickname2);
- }
- {
- var res = await client.DeleteAsync(url);
- res.Should().HaveStatusCode(HttpStatusCode.OK);
- (await client.GetStringAsync(url)).Should().Be(MockUser.User.Username);
- }
- {
- var res = await client.DeleteAsync(url);
- res.Should().HaveStatusCode(HttpStatusCode.OK);
- }
- }
- {
- using var client = await CreateClientAsAdmin();
- {
- var res = await client.PutStringAsync(userNotExistUrl, "aaa");
- res.Should().HaveStatusCode(HttpStatusCode.BadRequest)
- .And.HaveCommonBody()
- .Which.Code.Should().Be(ErrorCodes.UserCommon.NotExist);
- }
- {
- var res = await client.DeleteAsync(userNotExistUrl);
- res.Should().HaveStatusCode(HttpStatusCode.BadRequest)
- .And.HaveCommonBody()
- .Which.Code.Should().Be(ErrorCodes.UserCommon.NotExist);
- }
- var nickname = "nnn";
- {
- var res = await client.PutStringAsync(url, nickname);
- res.Should().HaveStatusCode(HttpStatusCode.OK);
- (await client.GetStringAsync(url)).Should().Be(nickname);
- }
- {
- var res = await client.DeleteAsync(url);
- res.Should().HaveStatusCode(HttpStatusCode.OK);
- (await client.GetStringAsync(url)).Should().Be(MockUser.User.Username);
- }
- }
- }
- }
-}
|