Skip to content

Commit 2b26944

Browse files
Test 304 requests
1 parent aed866e commit 2b26944

File tree

2 files changed

+41
-0
lines changed

2 files changed

+41
-0
lines changed

tests/ImageSharp.Web.Tests/Processing/AzureBlobStorageCacheServerTests.cs

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33

44
using System;
55
using System.IO;
6+
using System.Net;
67
using System.Net.Http;
78
using System.Threading.Tasks;
89
using SixLabors.ImageSharp.Formats;
@@ -34,6 +35,8 @@ public async Task CanProcessAndResolveImage(string url)
3435

3536
Assert.NotNull(response);
3637
Assert.True(response.IsSuccessStatusCode);
38+
Assert.True(response.Content.Headers.ContentLength > 0);
39+
Assert.Equal(format.DefaultMimeType, response.Content.Headers.ContentType.MediaType);
3740

3841
(Image Image, IImageFormat Format) actual = await Image.LoadWithFormatAsync(await response.Content.ReadAsStreamAsync());
3942
using Image image = actual.Image;
@@ -46,12 +49,29 @@ public async Task CanProcessAndResolveImage(string url)
4649

4750
Assert.NotNull(response);
4851
Assert.True(response.IsSuccessStatusCode);
52+
Assert.True(response.Content.Headers.ContentLength > 0);
53+
Assert.Equal(format.DefaultMimeType, response.Content.Headers.ContentType.MediaType);
4954

5055
(Image Image, IImageFormat Format) cachedActual = await Image.LoadWithFormatAsync(await response.Content.ReadAsStreamAsync());
5156
using Image cached = cachedActual.Image;
5257

5358
Assert.Equal(Width, cached.Width);
5459
Assert.Equal(format, actual.Format);
60+
61+
// 304 response
62+
var request = new HttpRequestMessage
63+
{
64+
RequestUri = new Uri(url + Command),
65+
Method = HttpMethod.Get,
66+
};
67+
68+
request.Headers.IfModifiedSince = DateTimeOffset.UtcNow;
69+
70+
response = await this.HttpClient.SendAsync(request);
71+
72+
Assert.Equal(HttpStatusCode.NotModified, response.StatusCode);
73+
Assert.Equal(0, response.Content.Headers.ContentLength);
74+
Assert.Equal(format.DefaultMimeType, response.Content.Headers.ContentType.MediaType);
5575
}
5676
}
5777
}

tests/ImageSharp.Web.Tests/Processing/PhysicalFileSystemCacheServerTests.cs

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,8 +3,10 @@
33

44
using System;
55
using System.IO;
6+
using System.Net;
67
using System.Net.Http;
78
using System.Threading.Tasks;
9+
using Microsoft.AspNetCore.Http;
810
using SixLabors.ImageSharp.Formats;
911
using SixLabors.ImageSharp.Web.Tests.TestUtilities;
1012
using Xunit;
@@ -34,6 +36,8 @@ public async Task CanProcessAndResolveImage(string url)
3436

3537
Assert.NotNull(response);
3638
Assert.True(response.IsSuccessStatusCode);
39+
Assert.True(response.Content.Headers.ContentLength > 0);
40+
Assert.Equal(format.DefaultMimeType, response.Content.Headers.ContentType.MediaType);
3741

3842
(Image Image, IImageFormat Format) actual = await Image.LoadWithFormatAsync(await response.Content.ReadAsStreamAsync());
3943
using Image image = actual.Image;
@@ -46,12 +50,29 @@ public async Task CanProcessAndResolveImage(string url)
4650

4751
Assert.NotNull(response);
4852
Assert.True(response.IsSuccessStatusCode);
53+
Assert.True(response.Content.Headers.ContentLength > 0);
54+
Assert.Equal(format.DefaultMimeType, response.Content.Headers.ContentType.MediaType);
4955

5056
(Image Image, IImageFormat Format) cachedActual = await Image.LoadWithFormatAsync(await response.Content.ReadAsStreamAsync());
5157
using Image cached = cachedActual.Image;
5258

5359
Assert.Equal(Width, cached.Width);
5460
Assert.Equal(format, actual.Format);
61+
62+
// 304 response
63+
var request = new HttpRequestMessage
64+
{
65+
RequestUri = new Uri(url + Command),
66+
Method = HttpMethod.Get,
67+
};
68+
69+
request.Headers.IfModifiedSince = DateTimeOffset.UtcNow;
70+
71+
response = await this.HttpClient.SendAsync(request);
72+
73+
Assert.Equal(HttpStatusCode.NotModified, response.StatusCode);
74+
Assert.Equal(0, response.Content.Headers.ContentLength);
75+
Assert.Equal(format.DefaultMimeType, response.Content.Headers.ContentType.MediaType);
5576
}
5677
}
5778
}

0 commit comments

Comments
 (0)