From 636cf3839d92e884987e4e3aec7f23953d02fe37 Mon Sep 17 00:00:00 2001 From: crupest Date: Fri, 13 Mar 2020 17:58:32 +0800 Subject: Add cache for timeline post data. --- Timeline.Tests/IntegratedTests/TimelineTest.cs | 4 +++ Timeline.Tests/IntegratedTests/UserAvatarTest.cs | 45 ++---------------------- 2 files changed, 7 insertions(+), 42 deletions(-) (limited to 'Timeline.Tests/IntegratedTests') diff --git a/Timeline.Tests/IntegratedTests/TimelineTest.cs b/Timeline.Tests/IntegratedTests/TimelineTest.cs index 682cfd7c..845208e8 100644 --- a/Timeline.Tests/IntegratedTests/TimelineTest.cs +++ b/Timeline.Tests/IntegratedTests/TimelineTest.cs @@ -1090,6 +1090,10 @@ namespace Timeline.Tests.IntegratedTests format.Name.Should().Be(PngFormat.Instance.Name); } + { + await CacheTestHelper.TestCache(client, generator(1, $"posts/{postId}/data")); + } + { var res = await client.DeleteAsync(generator(1, $"posts/{postId}")); res.Should().BeDelete(true); diff --git a/Timeline.Tests/IntegratedTests/UserAvatarTest.cs b/Timeline.Tests/IntegratedTests/UserAvatarTest.cs index fa0120f1..fbf34490 100644 --- a/Timeline.Tests/IntegratedTests/UserAvatarTest.cs +++ b/Timeline.Tests/IntegratedTests/UserAvatarTest.cs @@ -6,7 +6,6 @@ using SixLabors.ImageSharp.Formats; using SixLabors.ImageSharp.Formats.Gif; using SixLabors.ImageSharp.Formats.Jpeg; using SixLabors.ImageSharp.Formats.Png; -using System; using System.Collections.Generic; using System.IO; using System.Net; @@ -58,55 +57,17 @@ namespace Timeline.Tests.IntegratedTests body.Should().Equal(defaultAvatarData); } - EntityTagHeaderValue eTag; { - var res = await client.GetAsync($"users/user1/avatar"); + var res = await client.GetAsync("users/user1/avatar"); res.Should().HaveStatusCode(200); res.Content.Headers.ContentType.MediaType.Should().Be("image/png"); var body = await res.Content.ReadAsByteArrayAsync(); body.Should().Equal(defaultAvatarData); - var cacheControl = res.Headers.CacheControl; - cacheControl.NoCache.Should().BeTrue(); - cacheControl.NoStore.Should().BeFalse(); - cacheControl.MaxAge.Should().NotBeNull().And.Be(TimeSpan.Zero); - eTag = res.Headers.ETag; } - await GetReturnDefault("admin"); - - { - using var request = new HttpRequestMessage() - { - RequestUri = new Uri(client.BaseAddress, "users/user1/avatar"), - Method = HttpMethod.Get, - }; - request.Headers.TryAddWithoutValidation("If-None-Match", "\"dsdfd"); - var res = await client.SendAsync(request); - res.Should().HaveStatusCode(HttpStatusCode.BadRequest) - .And.HaveCommonBody().Which.Code.Should().Be(ErrorCodes.Common.Header.IfNonMatch_BadFormat); - } - - { - using var request = new HttpRequestMessage() - { - RequestUri = new Uri(client.BaseAddress, "users/user1/avatar"), - Method = HttpMethod.Get, - }; - request.Headers.TryAddWithoutValidation("If-None-Match", "\"aaa\""); - var res = await client.SendAsync(request); - res.Should().HaveStatusCode(HttpStatusCode.OK); - } + await CacheTestHelper.TestCache(client, "users/user1/avatar"); - { - using var request = new HttpRequestMessage() - { - RequestUri = new Uri(client.BaseAddress, "users/user1/avatar"), - Method = HttpMethod.Get, - }; - request.Headers.Add("If-None-Match", eTag.ToString()); - var res = await client.SendAsync(request); - res.Should().HaveStatusCode(HttpStatusCode.NotModified); - } + await GetReturnDefault("admin"); { using var content = new ByteArrayContent(new[] { (byte)0x00 }); -- cgit v1.2.3