Esempio n. 1
0
        public async Task read_head_link_when_multiple_pages(string stream, string baseAddress)
        {
            await _fixture.WriteNMessages("a-stream", 30);

            using (var response = await _fixture.HttpClient.GetAsync($"{baseAddress}{stream}"))
            {
                response.StatusCode.ShouldBe(HttpStatusCode.OK);

                var resource = await response.AsHal();

                resource.Links.Keys.ShouldBe(new[] { "self", "first", "previous", "last", "streamStore:feed" });

                resource.ShouldLink("self", $"{stream}?{LastLinkQuery}");

                resource.ShouldLink("last", $"{stream}?{LastLinkQuery}");

                resource.ShouldLink("previous", $"{stream}?d=b&m=20&p=9");

                resource.ShouldLink("first", $"{stream}?{FirstLinkQuery}");

                resource.ShouldLink("streamStore:feed", $"{stream}?{LastLinkQuery}");
            }
        }
        public async Task read_single_message_all_stream()
        {
            // position of event in all stream would be helpful here
            var writeResult = await _fixture.WriteNMessages("a-stream", 1);

            using (var response = await _fixture.HttpClient.GetAsync("/stream/0"))
            {
                response.StatusCode.ShouldBe(HttpStatusCode.OK);

                var resource = await response.AsHal();

                resource.Links.Keys.ShouldBe(new[] { "self", "streamStore:feed" });

                resource.ShouldLink("self", "/stream/0");
                resource.ShouldLink("streamStore:feed", HeadOfAll);
            }
        }