aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author杨宇千 <crupest@outlook.com>2019-09-01 23:21:59 +0800
committer杨宇千 <crupest@outlook.com>2019-09-01 23:21:59 +0800
commit3e4405f016ec6cf56bc86577a4662f2fb8f03cc4 (patch)
treea20e7f1b6d8d11c8173a2a558f25749529acd08e
parentee73f13b903e953f9bbb730514bf1faa1204e1d0 (diff)
downloadtimeline-3e4405f016ec6cf56bc86577a4662f2fb8f03cc4.tar.gz
timeline-3e4405f016ec6cf56bc86577a4662f2fb8f03cc4.tar.bz2
timeline-3e4405f016ec6cf56bc86577a4662f2fb8f03cc4.zip
Add more tests on avatar.
-rw-r--r--Timeline.Tests/Helpers/ImageHelper.cs13
-rw-r--r--Timeline.Tests/IntegratedTests/UserAvatarTests.cs19
2 files changed, 31 insertions, 1 deletions
diff --git a/Timeline.Tests/Helpers/ImageHelper.cs b/Timeline.Tests/Helpers/ImageHelper.cs
index c5a9cf17..2a2f3870 100644
--- a/Timeline.Tests/Helpers/ImageHelper.cs
+++ b/Timeline.Tests/Helpers/ImageHelper.cs
@@ -1,4 +1,5 @@
using SixLabors.ImageSharp;
+using SixLabors.ImageSharp.Formats;
using SixLabors.ImageSharp.PixelFormats;
using System.IO;
@@ -17,5 +18,17 @@ namespace Timeline.Tests.Helpers
}
}
}
+
+ public static byte[] CreateImageWithSize(int width, int height, IImageFormat format)
+ {
+ using (var image = new Image<Rgba32>(width, height))
+ {
+ using (var stream = new MemoryStream())
+ {
+ image.Save(stream, format);
+ return stream.ToArray();
+ }
+ }
+ }
}
}
diff --git a/Timeline.Tests/IntegratedTests/UserAvatarTests.cs b/Timeline.Tests/IntegratedTests/UserAvatarTests.cs
index 246125d0..fd0c2ef4 100644
--- a/Timeline.Tests/IntegratedTests/UserAvatarTests.cs
+++ b/Timeline.Tests/IntegratedTests/UserAvatarTests.cs
@@ -2,8 +2,12 @@
using Microsoft.AspNetCore.Hosting;
using Microsoft.AspNetCore.Mvc.Testing;
using Microsoft.Extensions.DependencyInjection;
+using SixLabors.ImageSharp.Formats;
+using SixLabors.ImageSharp.Formats.Jpeg;
using SixLabors.ImageSharp.Formats.Png;
+using SixLabors.ImageSharp.Formats.Gif;
using System;
+using System.Collections.Generic;
using System.IO;
using System.Net;
using System.Net.Http;
@@ -108,7 +112,7 @@ namespace Timeline.Tests.IntegratedTests
RequestUri = new Uri(client.BaseAddress, "users/user/avatar"),
Method = HttpMethod.Get,
};
- request.Headers.Add ("If-None-Match", eTag.ToString());
+ request.Headers.Add("If-None-Match", eTag.ToString());
var res = await client.SendAsync(request);
res.Should().HaveStatusCode(HttpStatusCode.NotModified);
}
@@ -199,6 +203,19 @@ namespace Timeline.Tests.IntegratedTests
body.Should().Equal(mockAvatar.Data);
}
+ IEnumerable<(string, IImageFormat)> formats = new (string, IImageFormat)[]
+ {
+ ("image/jpeg", JpegFormat.Instance),
+ ("image/gif", GifFormat.Instance),
+ ("image/png", PngFormat.Instance),
+ };
+
+ foreach ((var mimeType, var format) in formats)
+ {
+ var res = await client.PutByteArrayAsync("users/user/avatar", ImageHelper.CreateImageWithSize(100, 100, format), mimeType);
+ res.Should().HaveStatusCode(HttpStatusCode.OK);
+ }
+
{
var res = await client.PutByteArrayAsync("users/admin/avatar", new[] { (byte)0x00 }, "image/png");
res.Should().HaveStatusCode(HttpStatusCode.Forbidden)