From c0292eeb2eb1d531cede4b3fdfead86a86730056 Mon Sep 17 00:00:00 2001 From: 杨宇千 Date: Sun, 1 Sep 2019 23:21:59 +0800 Subject: Add more tests on avatar. --- Timeline.Tests/IntegratedTests/UserAvatarTests.cs | 19 ++++++++++++++++++- 1 file changed, 18 insertions(+), 1 deletion(-) (limited to 'Timeline.Tests/IntegratedTests/UserAvatarTests.cs') 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) -- cgit v1.2.3