From e407b645aa7c6738c6f37c69f616c91c99bf1af0 Mon Sep 17 00:00:00 2001 From: crupest Date: Fri, 12 Feb 2021 16:42:56 +0800 Subject: ... --- .../IntegratedTests/TimelinePostTest.cs | 171 +++++++-------------- 1 file changed, 55 insertions(+), 116 deletions(-) (limited to 'BackEnd/Timeline.Tests/IntegratedTests/TimelinePostTest.cs') diff --git a/BackEnd/Timeline.Tests/IntegratedTests/TimelinePostTest.cs b/BackEnd/Timeline.Tests/IntegratedTests/TimelinePostTest.cs index 08f88dfc..0f264774 100644 --- a/BackEnd/Timeline.Tests/IntegratedTests/TimelinePostTest.cs +++ b/BackEnd/Timeline.Tests/IntegratedTests/TimelinePostTest.cs @@ -345,114 +345,74 @@ namespace Timeline.Tests.IntegratedTests post3.Color.Should().Be("#aabbcc"); } - [Theory] - [MemberData(nameof(TimelineNameGeneratorTestData))] - public async Task CreatePost_InvalidModel(TimelineNameGenerator generator) + public static IEnumerable CreatePost_InvalidModelTest_TestData() { - using var client = await CreateClientAsUser(); - - await client.TestPostAssertInvalidModelAsync( - $"timelines/{generator(1)}/posts", - new HttpTimelinePostCreateRequest { DataList = null! } - ); - await client.TestPostAssertInvalidModelAsync( - $"timelines/{generator(1)}/posts", - new HttpTimelinePostCreateRequest { DataList = new List() } - ); - await client.TestPostAssertInvalidModelAsync( - $"timelines/{generator(1)}/posts", - new HttpTimelinePostCreateRequest - { - DataList = Enumerable.Repeat(new HttpTimelinePostCreateRequestData + var testDataList = new List?>() + { + null, + new List(), + Enumerable.Repeat(new HttpTimelinePostCreateRequestData { ContentType = "text/plain", Data = Convert.ToBase64String(Encoding.UTF8.GetBytes("a")) - }, 200).ToList() - } - ); - await client.TestPostAssertInvalidModelAsync( - $"timelines/{generator(1)}/posts", - new HttpTimelinePostCreateRequest + }, 200).ToList(), + }; + + var testData = new List() + { + null, + new HttpTimelinePostCreateRequestData { - DataList = new List() - { - new HttpTimelinePostCreateRequestData - { - ContentType = null!, - Data = Convert.ToBase64String(Encoding.UTF8.GetBytes("a")) - } - } - } - ); - await client.TestPostAssertInvalidModelAsync( - $"timelines/{generator(1)}/posts", - new HttpTimelinePostCreateRequest + ContentType = null!, + Data = Convert.ToBase64String(Encoding.UTF8.GetBytes("a")) + }, + new HttpTimelinePostCreateRequestData { - DataList = new List() - { - new HttpTimelinePostCreateRequestData - { - ContentType = "text/plain", - Data = null! - } - } - } - ); - await client.TestPostAssertInvalidModelAsync( - $"timelines/{generator(1)}/posts", - new HttpTimelinePostCreateRequest + ContentType = "text/plain", + Data = null! + }, + new HttpTimelinePostCreateRequestData { - DataList = new List() - { - new HttpTimelinePostCreateRequestData - { - ContentType = "text/xxxxxxx", - Data = Convert.ToBase64String(Encoding.UTF8.GetBytes("a")) - } - } - } - ); - await client.TestPostAssertInvalidModelAsync( - $"timelines/{generator(1)}/posts", - new HttpTimelinePostCreateRequest + ContentType = "text/xxxxxxx", + Data = Convert.ToBase64String(Encoding.UTF8.GetBytes("a")) + }, + new HttpTimelinePostCreateRequestData { - DataList = new List() - { - new HttpTimelinePostCreateRequestData - { - ContentType = "text/plain", - Data = "aaa" - } - } + ContentType = "text/plain", + Data = "aaa" + }, + new HttpTimelinePostCreateRequestData + { + ContentType = "text/plain", + Data = Convert.ToBase64String(new byte[] {0xE4, 0x1, 0xA0}) + }, + new HttpTimelinePostCreateRequestData + { + ContentType = "image/jpeg", + Data = Convert.ToBase64String(ImageHelper.CreatePngWithSize(100, 100)) + }, + new HttpTimelinePostCreateRequestData + { + ContentType = "image/jpeg", + Data = Convert.ToBase64String(new byte[] { 100, 200 }) } - ); - } - [Theory] - [MemberData(nameof(TimelineNameGeneratorTestData))] - public async Task CreatePost_InvalidModel_NonUtf8(TimelineNameGenerator generator) - { - using var client = await CreateClientAsUser(); + }; - await client.TestPostAssertInvalidModelAsync( - $"timelines/{generator(1)}/posts", - new HttpTimelinePostCreateRequest - { - DataList = new List() - { - new HttpTimelinePostCreateRequestData - { - ContentType = "text/plain", - Data = Convert.ToBase64String(new byte[] {0xE4, 0x1, 0xA0}) - } - } - } - ); + testDataList.AddRange(testData.Select(d => new List() { d! })); + + foreach (var generatorTestData in TimelineNameGeneratorTestData()) + { + var generator = generatorTestData[0]; + + foreach (var d in testDataList) + yield return new object?[] { generator, d }; + } } [Theory] - [MemberData(nameof(TimelineNameGeneratorTestData))] - public async Task CreatePost_InvalidModel_Image(TimelineNameGenerator generator) + [MemberData(nameof(CreatePost_InvalidModelTest_TestData))] + public async Task CreatePost_InvalidModel(TimelineNameGenerator generator, List dataList) { using var client = await CreateClientAsUser(); @@ -460,28 +420,7 @@ namespace Timeline.Tests.IntegratedTests $"timelines/{generator(1)}/posts", new HttpTimelinePostCreateRequest { - DataList = new List() - { - new HttpTimelinePostCreateRequestData - { - ContentType = "image/jpeg", - Data = Convert.ToBase64String(ImageHelper.CreatePngWithSize(100, 100)) - } - } - } - ); - await client.TestPostAssertInvalidModelAsync( - $"timelines/{generator(1)}/posts", - new HttpTimelinePostCreateRequest - { - DataList = new List() - { - new HttpTimelinePostCreateRequestData - { - ContentType = "image/jpeg", - Data = Convert.ToBase64String(new byte[] { 100, 200 }) - } - } + DataList = dataList } ); } -- cgit v1.2.3