diff options
Diffstat (limited to 'BackEnd')
-rw-r--r-- | BackEnd/Timeline.Tests/IntegratedTests2/TimelinePostTest1.cs | 11 | ||||
-rw-r--r-- | BackEnd/Timeline.Tests/IntegratedTests2/TimelinePostTest2.cs | 124 |
2 files changed, 135 insertions, 0 deletions
diff --git a/BackEnd/Timeline.Tests/IntegratedTests2/TimelinePostTest1.cs b/BackEnd/Timeline.Tests/IntegratedTests2/TimelinePostTest1.cs index 412f0476..4ecb805c 100644 --- a/BackEnd/Timeline.Tests/IntegratedTests2/TimelinePostTest1.cs +++ b/BackEnd/Timeline.Tests/IntegratedTests2/TimelinePostTest1.cs @@ -99,6 +99,17 @@ namespace Timeline.Tests.IntegratedTests2 await client.TestJsonSendAsync(HttpMethod.Get, "v2/timelines/user/hello/posts", expectedStatusCode: HttpStatusCode.Forbidden); await client.TestJsonSendAsync(HttpMethod.Get, "v2/timelines/user/hello/posts/1", expectedStatusCode: HttpStatusCode.Forbidden); } + + [Fact] + public async Task ListAndGetNotFound() + { + var client = CreateClientAsUser(); + await client.TestJsonSendAsync(HttpMethod.Get, "v2/timelines/user/notexist/posts", expectedStatusCode: HttpStatusCode.NotFound); + await client.TestJsonSendAsync(HttpMethod.Get, "v2/timelines/user/notexist/posts/1", expectedStatusCode: HttpStatusCode.NotFound); + await client.TestJsonSendAsync(HttpMethod.Get, "v2/timelines/notexist/notexist/posts", expectedStatusCode: HttpStatusCode.NotFound); + await client.TestJsonSendAsync(HttpMethod.Get, "v2/timelines/notexist/notexist/posts/1", expectedStatusCode: HttpStatusCode.NotFound); + await client.TestJsonSendAsync(HttpMethod.Get, "v2/timelines/user/hello/posts/4", expectedStatusCode: HttpStatusCode.NotFound); + } } } diff --git a/BackEnd/Timeline.Tests/IntegratedTests2/TimelinePostTest2.cs b/BackEnd/Timeline.Tests/IntegratedTests2/TimelinePostTest2.cs new file mode 100644 index 00000000..bd3f16fe --- /dev/null +++ b/BackEnd/Timeline.Tests/IntegratedTests2/TimelinePostTest2.cs @@ -0,0 +1,124 @@ +using System; +using System.Collections.Generic; +using System.Net; +using System.Net.Http; +using System.Text; +using System.Threading.Tasks; +using FluentAssertions; +using Timeline.Models; +using Timeline.Models.Http; +using Xunit; +using Xunit.Abstractions; + +namespace Timeline.Tests.IntegratedTests2 +{ + public class TimelinePostTest2 : IntegratedTestBase + { + public TimelinePostTest2(ITestOutputHelper testOutput) : base(testOutput) + { + } + + protected override async Task OnInitializeAsync() + { + using var client = CreateClientAsUser(); + await client.TestJsonSendAsync(HttpMethod.Post, "v2/timelines", new HttpTimelineCreateRequest + { + Name = "hello" + }, expectedStatusCode: HttpStatusCode.Created); + + await client.TestJsonSendAsync(HttpMethod.Patch, "v2/timelines/user/hello", new HttpTimelinePatchRequest + { + Visibility = TimelineVisibility.Private + }); + + await client.TestJsonSendAsync(HttpMethod.Post, "v2/timelines/user/hello/posts", new HttpTimelinePostCreateRequest + { + DataList = new List<HttpTimelinePostCreateRequestData> + { + new HttpTimelinePostCreateRequestData + { + ContentType = MimeTypes.TextPlain, + Data = Convert.ToBase64String(Encoding.UTF8.GetBytes("hello1")) + } + } + }, expectedStatusCode: HttpStatusCode.Created); + + await client.TestJsonSendAsync(HttpMethod.Post, "v2/timelines/user/hello/posts", new HttpTimelinePostCreateRequest + { + DataList = new List<HttpTimelinePostCreateRequestData> + { + new HttpTimelinePostCreateRequestData + { + ContentType = MimeTypes.TextPlain, + Data = Convert.ToBase64String(Encoding.UTF8.GetBytes("hello2")) + } + } + }, expectedStatusCode: HttpStatusCode.Created); + + await client.TestJsonSendAsync(HttpMethod.Post, "v2/timelines/user/hello/posts", new HttpTimelinePostCreateRequest + { + DataList = new List<HttpTimelinePostCreateRequestData> + { + new HttpTimelinePostCreateRequestData + { + ContentType = MimeTypes.TextPlain, + Data = Convert.ToBase64String(Encoding.UTF8.GetBytes("hello3")) + } + } + }, expectedStatusCode: HttpStatusCode.Created); + } + + [Fact] + public async Task PostNotLogin() + { + using var client = CreateDefaultClient(); + await client.TestJsonSendAsync(HttpMethod.Post, "v2/timelines/user/hello/posts", new HttpTimelinePostCreateRequest + { + DataList = new List<HttpTimelinePostCreateRequestData> + { + new HttpTimelinePostCreateRequestData + { + ContentType = MimeTypes.TextPlain, + Data = Convert.ToBase64String(Encoding.UTF8.GetBytes("hello3")) + } + } + }, expectedStatusCode: HttpStatusCode.Unauthorized); + } + + [Fact] + public async Task PostForbid() + { + await CreateUserAsync("user2", "user2pw"); + var client = CreateClientWithToken(await CreateTokenWithCredentialAsync("user2", "user2pw")); + await client.TestJsonSendAsync(HttpMethod.Post, "v2/timelines/user/hello/posts", new HttpTimelinePostCreateRequest + { + DataList = new List<HttpTimelinePostCreateRequestData> + { + new HttpTimelinePostCreateRequestData + { + ContentType = MimeTypes.TextPlain, + Data = Convert.ToBase64String(Encoding.UTF8.GetBytes("hello3")) + } + } + }, expectedStatusCode: HttpStatusCode.Forbidden); + } + + [Fact] + public async Task PostNotExist() + { + using var client = CreateClientAsUser(); + await client.TestJsonSendAsync(HttpMethod.Post, "v2/timelines/user/notexist/posts", new HttpTimelinePostCreateRequest + { + DataList = new List<HttpTimelinePostCreateRequestData> + { + new HttpTimelinePostCreateRequestData + { + ContentType = MimeTypes.TextPlain, + Data = Convert.ToBase64String(Encoding.UTF8.GetBytes("hello3")) + } + } + }, expectedStatusCode: HttpStatusCode.NotFound); + } + } +} + |