diff options
author | crupest <crupest@outlook.com> | 2021-02-12 16:42:56 +0800 |
---|---|---|
committer | crupest <crupest@outlook.com> | 2021-02-12 16:42:56 +0800 |
commit | 3b60ec8b8fe13710f954338c27ed98b46e1ed1fd (patch) | |
tree | 3570e9b0bb536e1997e0d8606b656d2d20abfb26 /BackEnd/Timeline.Tests/IntegratedTests/TimelinePostTest.cs | |
parent | d30c011d70453029a7a5c27b00f7f33357c3a9c2 (diff) | |
download | timeline-3b60ec8b8fe13710f954338c27ed98b46e1ed1fd.tar.gz timeline-3b60ec8b8fe13710f954338c27ed98b46e1ed1fd.tar.bz2 timeline-3b60ec8b8fe13710f954338c27ed98b46e1ed1fd.zip |
...
Diffstat (limited to 'BackEnd/Timeline.Tests/IntegratedTests/TimelinePostTest.cs')
-rw-r--r-- | BackEnd/Timeline.Tests/IntegratedTests/TimelinePostTest.cs | 171 |
1 files changed, 55 insertions, 116 deletions
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<object?[]> 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<HttpTimelinePostCreateRequestData>() }
- );
- await client.TestPostAssertInvalidModelAsync(
- $"timelines/{generator(1)}/posts",
- new HttpTimelinePostCreateRequest
- {
- DataList = Enumerable.Repeat(new HttpTimelinePostCreateRequestData
+ var testDataList = new List<List<HttpTimelinePostCreateRequestData>?>()
+ {
+ null,
+ new List<HttpTimelinePostCreateRequestData>(),
+ Enumerable.Repeat<HttpTimelinePostCreateRequestData>(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<HttpTimelinePostCreateRequestData?>()
+ {
+ null,
+ new HttpTimelinePostCreateRequestData
{
- DataList = new List<HttpTimelinePostCreateRequestData>()
- {
- 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<HttpTimelinePostCreateRequestData>()
- {
- 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<HttpTimelinePostCreateRequestData>()
- {
- 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<HttpTimelinePostCreateRequestData>()
- {
- 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<HttpTimelinePostCreateRequestData>()
- {
- new HttpTimelinePostCreateRequestData
- {
- ContentType = "text/plain",
- Data = Convert.ToBase64String(new byte[] {0xE4, 0x1, 0xA0})
- }
- }
- }
- );
+ testDataList.AddRange(testData.Select(d => new List<HttpTimelinePostCreateRequestData>() { 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<HttpTimelinePostCreateRequestData> dataList)
{
using var client = await CreateClientAsUser();
@@ -460,28 +420,7 @@ namespace Timeline.Tests.IntegratedTests $"timelines/{generator(1)}/posts",
new HttpTimelinePostCreateRequest
{
- DataList = new List<HttpTimelinePostCreateRequestData>()
- {
- new HttpTimelinePostCreateRequestData
- {
- ContentType = "image/jpeg",
- Data = Convert.ToBase64String(ImageHelper.CreatePngWithSize(100, 100))
- }
- }
- }
- );
- await client.TestPostAssertInvalidModelAsync(
- $"timelines/{generator(1)}/posts",
- new HttpTimelinePostCreateRequest
- {
- DataList = new List<HttpTimelinePostCreateRequestData>()
- {
- new HttpTimelinePostCreateRequestData
- {
- ContentType = "image/jpeg",
- Data = Convert.ToBase64String(new byte[] { 100, 200 })
- }
- }
+ DataList = dataList
}
);
}
|