diff options
author | crupest <crupest@outlook.com> | 2022-04-08 19:52:51 +0800 |
---|---|---|
committer | crupest <crupest@outlook.com> | 2022-04-08 19:52:51 +0800 |
commit | 6d67979528255292f0f3b3b838c174cfafc5508c (patch) | |
tree | a68a51d77d873e769fa9071645c8ae2fa59c36c7 /BackEnd | |
parent | 52ecf654e225bac15d2192d5e7c38dabd0ce0b6d (diff) | |
download | timeline-6d67979528255292f0f3b3b838c174cfafc5508c.tar.gz timeline-6d67979528255292f0f3b3b838c174cfafc5508c.tar.bz2 timeline-6d67979528255292f0f3b3b838c174cfafc5508c.zip |
...
Diffstat (limited to 'BackEnd')
-rw-r--r-- | BackEnd/Timeline.Tests/IntegratedTests2/TimelinePatchAndDeleteTest.cs | 109 | ||||
-rw-r--r-- | BackEnd/Timeline.Tests/IntegratedTests2/TimelineTest.cs | 25 |
2 files changed, 109 insertions, 25 deletions
diff --git a/BackEnd/Timeline.Tests/IntegratedTests2/TimelinePatchAndDeleteTest.cs b/BackEnd/Timeline.Tests/IntegratedTests2/TimelinePatchAndDeleteTest.cs new file mode 100644 index 00000000..85308490 --- /dev/null +++ b/BackEnd/Timeline.Tests/IntegratedTests2/TimelinePatchAndDeleteTest.cs @@ -0,0 +1,109 @@ +using System; +using System.Net; +using System.Net.Http; +using System.Threading.Tasks; +using FluentAssertions; +using Timeline.Models; +using Timeline.Models.Http; +using Xunit; +using Xunit.Abstractions; + +namespace Timeline.Tests.IntegratedTests2 +{ + public class TimelinePatchAndDeleteTest : IntegratedTestBase + { + + public TimelinePatchAndDeleteTest(ITestOutputHelper testOutput) : base(testOutput) + { + } + + protected override async Task OnInitializeAsync() + { + using var client = CreateClientAsUser(); + await client.TestJsonSendAsync<HttpTimeline>(HttpMethod.Post, "v2/timelines", new HttpTimelineCreateRequest + { + Name = "hello" + }, expectedStatusCode: HttpStatusCode.Created); + } + + [Fact] + public async Task PatchTest() + { + using var client = CreateClientAsUser(); + var b = await client.TestJsonSendAsync<HttpTimeline>(HttpMethod.Patch, "v2/timelines/user/hello", new HttpTimelinePatchRequest + { + Name = "hello2", + Title = "Hello", + Description = "A Description.", + Visibility = TimelineVisibility.Public, + Color = "#FFFFFF" + }); + + b.Name.Should().Be("hello2"); + b.Title.Should().Be("Hello"); + b.Description.Should().Be("A Description."); + b.Visibility.Should().Be(TimelineVisibility.Public); + b.Color.Should().Be("#FFFFFF"); + } + + [Fact] + public async Task PatchNotExist() + { + using var client = CreateClientAsUser(); + await client.TestJsonSendAsync(HttpMethod.Patch, "v2/timelines/user/notexist", new HttpTimelinePatchRequest(), + expectedStatusCode: HttpStatusCode.NotFound); + await client.TestJsonSendAsync(HttpMethod.Patch, "v2/timelines/notexist/notexist", new HttpTimelinePatchRequest(), + expectedStatusCode: HttpStatusCode.NotFound); + } + + [Fact] + public async Task PatchNotLogin() + { + using var client = CreateDefaultClient(); + await client.TestJsonSendAsync(HttpMethod.Patch, "v2/timelines/user/hello", new HttpTimelinePatchRequest(), + expectedStatusCode: HttpStatusCode.Unauthorized); + } + + [Fact] + public async Task PatchForbid() + { + await CreateUserAsync("user2", "user2pw"); + using var client = CreateClientWithToken(await CreateTokenWithCredentialAsync("user2", "user2pw")); + await client.TestJsonSendAsync(HttpMethod.Patch, "v2/timelines/user/hello", new HttpTimelinePatchRequest(), + expectedStatusCode: HttpStatusCode.Forbidden); + } + + [Fact] + public async Task DeleteTest() + { + using var client = CreateClientAsUser(); + await client.TestSendAsync(HttpMethod.Delete, "v2/timelines/user/hello", expectedStatusCode: HttpStatusCode.NoContent); + await client.TestSendAsync(HttpMethod.Get, "v2/timelines/user/hello", expectedStatusCode: HttpStatusCode.NotFound); + } + + [Fact] + public async Task DeleteNotExist() + { + using var client = CreateClientAsUser(); + await client.TestSendAsync(HttpMethod.Delete, "v2/timelines/user/notexist", expectedStatusCode: HttpStatusCode.NotFound); + await client.TestSendAsync(HttpMethod.Delete, "v2/timelines/notexist/notexist", expectedStatusCode: HttpStatusCode.NotFound); + } + + [Fact] + public async Task DeleteNotLogin() + { + using var client = CreateDefaultClient(); + await client.TestSendAsync(HttpMethod.Delete, "v2/timelines/user/hello", expectedStatusCode: HttpStatusCode.Unauthorized); + } + + [Fact] + public async Task DeleteForbid() + { + await CreateUserAsync("user2", "user2pw"); + using var client = CreateClientWithToken(await CreateTokenWithCredentialAsync("user2", "user2pw")); + await client.TestSendAsync(HttpMethod.Delete, "v2/timelines/user/hello", + expectedStatusCode: HttpStatusCode.Forbidden); + } + } +} + diff --git a/BackEnd/Timeline.Tests/IntegratedTests2/TimelineTest.cs b/BackEnd/Timeline.Tests/IntegratedTests2/TimelineTest.cs index caa94de9..59b2d225 100644 --- a/BackEnd/Timeline.Tests/IntegratedTests2/TimelineTest.cs +++ b/BackEnd/Timeline.Tests/IntegratedTests2/TimelineTest.cs @@ -89,30 +89,5 @@ namespace Timeline.Tests.IntegratedTests2 await client.TestJsonSendAsync<HttpTimeline>(HttpMethod.Get, "v2/timelines/notexist/notexist", expectedStatusCode: HttpStatusCode.NotFound); await client.TestJsonSendAsync<HttpTimeline>(HttpMethod.Get, "v2/timelines/user/notexist", expectedStatusCode: HttpStatusCode.NotFound); } - - [Fact] - public async Task PatchTest() - { - using var client = CreateClientAsUser(); - var a = await client.TestJsonSendAsync<HttpTimeline>(HttpMethod.Post, "v2/timelines", new HttpTimelineCreateRequest - { - Name = "hello" - }, expectedStatusCode: HttpStatusCode.Created); - - var b = await client.TestJsonSendAsync<HttpTimeline>(HttpMethod.Patch, "v2/timelines/user/hello", new HttpTimelinePatchRequest - { - Name = "hello2", - Title = "Hello", - Description = "A Description.", - Visibility = TimelineVisibility.Public, - Color = "#FFFFFF" - }); - - b.Name.Should().Be("hello2"); - b.Title.Should().Be("Hello"); - b.Description.Should().Be("A Description."); - b.Visibility.Should().Be(TimelineVisibility.Public); - b.Color.Should().Be("#FFFFFF"); - } } } |