コード例 #1
0
        public async Task GetCovid19Status_GivenPositiveResponse_ReturnsPositiveResult()
        {
            // ARRANGE
            var handlerMock = new Mock <HttpMessageHandler>()
                              .SetupRequest(HttpMethod.Get, "/v1/Msis/covid19status?ident=01019098765", new HttpResponseMessage
            {
                StatusCode = HttpStatusCode.OK,
                Content    = new StringContent(@"{
                        ""harPositivCovid19Prove"": true,
                        ""provedato"": ""2020-11-19T17:08:59.902Z""
                    }", Encoding.UTF8, "application/json"),
            });
            var httpClient = new HttpClient(handlerMock.Object)
            {
                BaseAddress = new Uri("http://test.com/v1/Msis/"),
            };

            var target = new MsisClient(httpClient);

            // ACT
            var result = await target.GetCovid19Status("01019098765");

            // ASSERT
            using (new AssertionScope())
            {
                result.HarPositivCovid19Prove.Should().BeTrue();
                result.Provedato.Should().BeCloseTo(DateTime.Parse("2020-11-19T17:08:59.902Z").ToUniversalTime());
            }
            handlerMock.Verify();
        }
コード例 #2
0
        public async Task GetCovid19Status_GivenNonPositiveResponse_ReturnsNonPositiveResult()
        {
            // ARRANGE
            var handlerMock = new Mock <HttpMessageHandler>()
                              .SetupRequest(HttpMethod.Get, "/v1/Msis/covid19status?ident=01019098765", new HttpResponseMessage
            {
                StatusCode = HttpStatusCode.OK,
                Content    = new StringContent(@"{
                        ""harPositivCovid19Prove"": false,
                        ""provedato"": null
                    }", Encoding.UTF8, "application/json"),
            });
            var httpClient = new HttpClient(handlerMock.Object)
            {
                BaseAddress = new Uri("http://test.com/v1/Msis/"),
            };

            var target = new MsisClient(httpClient);

            // ACT
            var result = await target.GetCovid19Status("01019098765");

            // ASSERT
            using (new AssertionScope())
            {
                result.HarPositivCovid19Prove.Should().BeFalse();
                result.Provedato.Should().BeNull();
            }
            handlerMock.Verify();
        }
コード例 #3
0
        public async Task GetMsisOnlineStatus_ReturnsResultAccordingToResponse(string responseBody, bool expectedResult)
        {
            // ARRANGE
            var handlerMock = new Mock <HttpMessageHandler>()
                              .SetupRequest(HttpMethod.Get, "/v1/Msis/erMsisOnline", new HttpResponseMessage
            {
                StatusCode = HttpStatusCode.OK,
                Content    = new StringContent(responseBody, Encoding.UTF8, "application/json"),
            });
            var httpClient = new HttpClient(handlerMock.Object)
            {
                BaseAddress = new Uri("http://test.com/v1/Msis/"),
            };

            var target = new MsisClient(httpClient);

            // ACT
            var result = await target.GetMsisOnlineStatus();

            // ASSERT
            result.Should().Be(expectedResult);
            handlerMock.Verify();
        }