예제 #1
0
        public void DisposingOfTheJSendClient_DisposesOfTheHttpClient(HttpClientSpy spy)
        {
            // Fixture setup
            var client = new JSendClient(null, spy);

            // Exercise system
            client.Dispose();
            // Verify outcome
            spy.Disposed.Should().BeTrue();
        }
예제 #2
0
        public async Task PutAsync_SetsContentTypeHeader(
            [FrozenAsHttpClient] HttpClientSpy httpClientSpy,
            Uri uri, object content, [Greedy] JSendClient client)
        {
            // Exercise system
            await client.PutAsync(uri, content);

            // Verify outcome
            var request = httpClientSpy.Request;

            request.Content.Headers.ContentType.MediaType.Should().Be("application/json");
        }
예제 #3
0
        public async Task PutAsync_SendsPutRequest(
            [FrozenAsHttpClient] HttpClientSpy httpClientSpy,
            Uri uri, object content, [Greedy] JSendClient client)
        {
            // Exercise system
            await client.PutAsync(uri, content);

            // Verify outcome
            var request = httpClientSpy.Request;

            request.Method.Should().Be(HttpMethod.Put);
        }
예제 #4
0
        public async Task DeleteAsync_SendsPostRequest(
            [FrozenAsHttpClient] HttpClientSpy httpClientSpy,
            Uri uri, [Greedy] JSendClient client)
        {
            // Exercise system
            await client.DeleteAsync(uri);

            // Verify outcome
            var request = httpClientSpy.Request;

            request.Method.Should().Be(HttpMethod.Delete);
        }
예제 #5
0
        public async Task GetAsync_SendsGetRequest(
            [FrozenAsHttpClient] HttpClientSpy httpClientSpy,
            Uri uri, [Greedy] JSendClient client)
        {
            // Exercise system
            await client.GetAsync <Model>(uri);

            // Verify outcome
            var request = httpClientSpy.Request;

            request.Method.Should().Be(HttpMethod.Get);
        }
예제 #6
0
        public async Task PutAsync_SetsCharSet(
            [FrozenAsHttpClient] HttpClientSpy httpClientSpy,
            Uri uri, object content, [Greedy] JSendClient client)
        {
            // Fixture setup
            var expectedCharSet = client.Encoding.WebName;
            // Exercise system
            await client.PutAsync(uri, content);

            // Verify outcome
            var request = httpClientSpy.Request;

            request.Content.Headers.ContentType.CharSet.Should().Be(expectedCharSet);
        }
예제 #7
0
        public async Task PutAsync_SerializesContent(
            [FrozenAsHttpClient] HttpClientSpy httpClientSpy,
            Uri uri, Model content, [Greedy] JSendClient client)
        {
            // Fixture setup
            var expectedContent = JsonConvert.SerializeObject(content);
            // Exercise system
            await client.PutAsync(uri, content);

            // Verify outcome
            var actualContent = httpClientSpy.Content;

            actualContent.Should().Be(expectedContent);
        }
예제 #8
0
        public async Task DeleteAsync_SetsUri(
            string uri,
            Uri expectedUri,
            [FrozenAsHttpClient] HttpClientSpy httpClientSpy,
            [Greedy] JSendClient client)
        {
            // Exercise system
            await client.DeleteAsync(uri);

            // Verify outcome
            var request = httpClientSpy.Request;

            request.RequestUri.Should().Be(expectedUri);
        }
예제 #9
0
        public async Task GenericPutAsync_SetsUri(
            string uri,
            Uri expectedUri,
            object content,
            [FrozenAsHttpClient] HttpClientSpy httpClientSpy,
            [Greedy] JSendClient client)
        {
            // Exercise system
            await client.PutAsync <object>(uri, content);

            // Verify outcome
            var request = httpClientSpy.Request;

            request.RequestUri.Should().Be(expectedUri);
        }
예제 #10
0
        public async Task Executes_OnSending_BeforeSendingRequest(
            HttpRequestMessage request,
            [Frozen] MessageInterceptor interceptor,
            [FrozenAsHttpClient] HttpClientSpy httpClient,
            [Greedy] JSendClient client)
        {
            // Fixture setup
            Mock.Get(interceptor)
            .Setup(i => i.OnSending(It.IsAny <HttpRequestMessage>()))
            .Callback(
                () => httpClient.HasRequestBeenSent.Should().BeFalse());
            // Exercise system
            await client.SendAsync <object>(request);

            // Verify outcome
            Mock.Get(interceptor)
            .Verify(i => i.OnSending(It.IsAny <HttpRequestMessage>()), Times.Once);
        }
예제 #11
0
 public void DisposingOfTheJSendClient_DisposesOfTheHttpClient(HttpClientSpy spy)
 {
     // Fixture setup
     var client = new JSendClient(null, spy);
     // Exercise system
     client.Dispose();
     // Verify outcome
     spy.Disposed.Should().BeTrue();
 }