Skip to content
This repository was archived by the owner on Sep 3, 2024. It is now read-only.

Commit c1d3e7c

Browse files
fixed case when stream is not found
1 parent 2769936 commit c1d3e7c

2 files changed

Lines changed: 14 additions & 7 deletions

File tree

src/SqlStreamStore.HAL.Tests/StreamNavigationTests.cs

Lines changed: 12 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -22,18 +22,18 @@ public StreamNavigationTests()
2222

2323
public void Dispose() => _fixture.Dispose();
2424

25-
public static IEnumerable<object[]> GetPagingCases()
25+
public static IEnumerable<object[]> GetNoMessagesPagingCases()
2626
{
27-
yield return new object[] { "stream", "/" };
28-
yield return new object[] { "a-stream", "/streams/" };
27+
yield return new object[] { "stream", "/", HttpStatusCode.OK };
28+
yield return new object[] { "a-stream", "/streams/", HttpStatusCode.NotFound };
2929
}
3030

31-
[Theory, MemberData(nameof(GetPagingCases))]
32-
public async Task read_head_link_no_messages(string stream, string baseAddress)
31+
[Theory, MemberData(nameof(GetNoMessagesPagingCases))]
32+
public async Task read_head_link_no_messages(string stream, string baseAddress, HttpStatusCode statusCode)
3333
{
3434
using(var response = await _fixture.HttpClient.GetAsync($"{baseAddress}{stream}"))
3535
{
36-
response.StatusCode.ShouldBe(HttpStatusCode.OK);
36+
response.StatusCode.ShouldBe(statusCode);
3737

3838
var resource = await response.AsHal();
3939

@@ -49,6 +49,12 @@ public async Task read_head_link_no_messages(string stream, string baseAddress)
4949
}
5050
}
5151

52+
public static IEnumerable<object[]> GetPagingCases()
53+
{
54+
yield return new object[] { "stream", "/" };
55+
yield return new object[] { "a-stream", "/streams/" };
56+
}
57+
5258
[Theory, MemberData(nameof(GetPagingCases))]
5359
public async Task read_head_link_when_multiple_pages(string stream, string baseAddress)
5460
{

src/SqlStreamStore.HAL/StreamResource.cs

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -108,7 +108,8 @@ public async Task<Response> GetPage(ReadStreamOptions options, CancellationToken
108108
message.StreamVersion,
109109
message.Type,
110110
payload
111-
}).AddLinks(StreamMessageLinks.Self(message)))));
111+
}).AddLinks(StreamMessageLinks.Self(message)))),
112+
page.Status == PageReadStatus.StreamNotFound ? 404 : 200);
112113
}
113114

114115
public async Task<Response> Delete(DeleteStreamOptions options, CancellationToken cancellationToken)

0 commit comments

Comments
 (0)