コード例 #1
0
        public void ArticleTagClient_ArticleTagClient_Test()
        {
            Mock <Core.HttpClientFactory> httpClientFactory = new Mock <Core.HttpClientFactory>(new Mock <IDependencyResolver>().Object);

            httpClientFactory.Setup(p => p.Create()).Returns(() =>
            {
                return(new HttpClient());
            });

            Mock <IBaasicClientFactory> baasicClientFactory = new Mock <IBaasicClientFactory>();

            baasicClientFactory.Setup(f => f.Create(It.IsAny <IClientConfiguration>())).Returns((IClientConfiguration config) => new BaasicClient(config, httpClientFactory.Object, new JsonFormatter()));

            Mock <IClientConfiguration> clientConfiguration = new Mock <IClientConfiguration>();

            clientConfiguration.Setup(p => p.DefaultMediaType).Returns(ClientConfiguration.HalJsonMediaType);
            clientConfiguration.Setup(p => p.DefaultTimeout).Returns(TimeSpan.FromSeconds(1));
            clientConfiguration.Setup(p => p.ApplicationIdentifier).Returns("Test");
            clientConfiguration.Setup(p => p.SecureBaseAddress).Returns("https://api.baasic.com/v1");
            clientConfiguration.Setup(p => p.BaseAddress).Returns("http://api.baasic.com/v1");

            ArticleTagClient target = new ArticleTagClient(clientConfiguration.Object, baasicClientFactory.Object);

            target.Should().NotBeNull();
            target.Configuration.Should().NotBeNull();
        }
コード例 #2
0
        public void ArticleTagClient_GetAsync_Test()
        {
            #region Setup

            Guid tagId = Guid.NewGuid();

            var handler = new Mock <HttpMessageHandler>();
            handler.Protected().Setup <Task <HttpResponseMessage> >("SendAsync", ItExpr.IsAny <HttpRequestMessage>(), ItExpr.IsAny <CancellationToken>()).Returns((HttpRequestMessage request, CancellationToken cancellationToken) =>
            {
                HttpResponseMessage httpResponseMessage = new HttpResponseMessage(HttpStatusCode.InternalServerError);
                if (request.RequestUri.ToString().EndsWith("NA"))
                {
                    httpResponseMessage         = new HttpResponseMessage(HttpStatusCode.NotFound);
                    httpResponseMessage.Content = new StringContent("");
                }
                else if (request.RequestUri.ToString().EndsWith("Tag"))
                {
                    httpResponseMessage         = new HttpResponseMessage(HttpStatusCode.OK);
                    httpResponseMessage.Content = new StringContent(JsonConvert.SerializeObject(new ArticleTag()
                    {
                        Id = tagId, Slug = "Tag", Tag = "Tag"
                    }));
                }
                return(Task.FromResult(httpResponseMessage));
            });

            Mock <Core.HttpClientFactory> httpClientFactory = new Mock <Core.HttpClientFactory>(new Mock <IDependencyResolver>().Object);
            httpClientFactory.Setup(p => p.Create()).Returns(() =>
            {
                return(new HttpClient(handler.Object));
            });

            Mock <IBaasicClientFactory> baasicClientFactory = new Mock <IBaasicClientFactory>();
            baasicClientFactory.Setup(f => f.Create(It.IsAny <IClientConfiguration>())).Returns((IClientConfiguration config) => new BaasicClient(config, httpClientFactory.Object, new JsonFormatter()));

            Mock <IClientConfiguration> clientConfiguration = new Mock <IClientConfiguration>();
            clientConfiguration.Setup(p => p.DefaultMediaType).Returns(ClientConfiguration.HalJsonMediaType);
            clientConfiguration.Setup(p => p.DefaultTimeout).Returns(TimeSpan.FromSeconds(1));
            clientConfiguration.Setup(p => p.ApplicationIdentifier).Returns("Test");
            clientConfiguration.Setup(p => p.SecureBaseAddress).Returns("https://api.baasic.com/v1");
            clientConfiguration.Setup(p => p.BaseAddress).Returns("http://api.baasic.com/v1");

            ArticleTagClient target = new ArticleTagClient(clientConfiguration.Object, baasicClientFactory.Object);

            target.Should().NotBeNull();

            #endregion Setup

            target.GetAsync("NA", "").Result.Should().BeNull();
            var expected = target.GetAsync("Tag", "").Result;
            expected.Should().NotBeNull();
            expected.Tag.Should().Be("Tag");
        }