diff options
author | 杨宇千 <crupest@outlook.com> | 2019-08-20 23:41:36 +0800 |
---|---|---|
committer | 杨宇千 <crupest@outlook.com> | 2019-08-20 23:41:36 +0800 |
commit | 63eec85627bcd3c584865d47a237de44bcdb8b98 (patch) | |
tree | 4554d77dcf4e10cdfa9955e496c0ede22788448a /Timeline.Tests/IntegratedTests/UserAvatarTests.cs | |
parent | 4af6c82f34dd79d7a1ca348f167e01570951e3ad (diff) | |
download | timeline-63eec85627bcd3c584865d47a237de44bcdb8b98.tar.gz timeline-63eec85627bcd3c584865d47a237de44bcdb8b98.tar.bz2 timeline-63eec85627bcd3c584865d47a237de44bcdb8b98.zip |
Use etag for cache.
Diffstat (limited to 'Timeline.Tests/IntegratedTests/UserAvatarTests.cs')
-rw-r--r-- | Timeline.Tests/IntegratedTests/UserAvatarTests.cs | 25 |
1 files changed, 23 insertions, 2 deletions
diff --git a/Timeline.Tests/IntegratedTests/UserAvatarTests.cs b/Timeline.Tests/IntegratedTests/UserAvatarTests.cs index 0bed9598..1cb15edb 100644 --- a/Timeline.Tests/IntegratedTests/UserAvatarTests.cs +++ b/Timeline.Tests/IntegratedTests/UserAvatarTests.cs @@ -63,7 +63,16 @@ namespace Timeline.Tests.IntegratedTests body.Should().Equal(defaultAvatarData);
}
- await GetReturnDefault();
+ EntityTagHeaderValue eTag;
+ {
+ var res = await client.GetAsync($"users/user/avatar");
+ res.Should().HaveStatusCodeOk();
+ res.Content.Headers.ContentType.MediaType.Should().Be("image/png");
+ var body = await res.Content.ReadAsByteArrayAsync();
+ body.Should().Equal(defaultAvatarData);
+ eTag = res.Headers.ETag;
+ }
+
await GetReturnDefault("admin");
{
@@ -72,7 +81,19 @@ namespace Timeline.Tests.IntegratedTests RequestUri = new Uri(client.BaseAddress, "users/user/avatar"),
Method = HttpMethod.Get,
};
- request.Headers.Add("If-Modified-Since", DateTime.Now.ToString("r"));
+ request.Headers.TryAddWithoutValidation("If-None-Match", "\"dsdfd");
+ var res = await client.SendAsync(request);
+ res.Should().HaveStatusCode(HttpStatusCode.BadRequest)
+ .And.Should().HaveBodyAsCommonResponseWithCode(CommonResponse.ErrorCodes.Header_BadFormat_IfNonMatch);
+ }
+
+ {
+ var request = new HttpRequestMessage()
+ {
+ RequestUri = new Uri(client.BaseAddress, "users/user/avatar"),
+ Method = HttpMethod.Get,
+ };
+ request.Headers.Add ("If-None-Match", eTag.ToString());
var res = await client.SendAsync(request);
res.Should().HaveStatusCode(HttpStatusCode.NotModified);
}
|