From 79ab2b304d93b1029515bd3f954db4e5a73f4168 Mon Sep 17 00:00:00 2001 From: crupest Date: Thu, 30 Jan 2020 20:26:52 +0800 Subject: ... --- Timeline.Tests/IntegratedTests/UserDetailTest.cs | 154 ----------------------- 1 file changed, 154 deletions(-) delete mode 100644 Timeline.Tests/IntegratedTests/UserDetailTest.cs (limited to 'Timeline.Tests/IntegratedTests/UserDetailTest.cs') 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 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); - } - } - } - } -} -- cgit v1.2.3