public async void GetSinglePriceHttpError()
        {
            var mockRepository = new MockRepository(MockBehavior.Strict);

            var messageHandler = mockRepository.CreateHttpStatusMessageHandler(HttpStatusCode.NotFound);

            var httpClient  = new HttpClient(messageHandler.Object);
            var dataService = new AsxDataService(httpClient);

            var result = await dataService.GetSinglePrice("IBM", CancellationToken.None);

            result.Should().BeNull();
        }
        public async void GetHistoricalPriceDataHttpError()
        {
            var mockRepository = new MockRepository(MockBehavior.Strict);

            var messageHandler = mockRepository.CreateHttpStatusMessageHandler(HttpStatusCode.NotFound);

            var httpClient  = new HttpClient(messageHandler.Object);
            var dataService = new AsxDataService(httpClient);

            var result = await dataService.GetHistoricalPriceData("IBM", new DateRange(new Date(2020, 05, 14), new Date(2020, 05, 15)), CancellationToken.None);

            result.Should().BeEmpty();
        }
示例#3
0
        public void NotFound()
        {
            var mockRepository = new MockRepository(MockBehavior.Strict);

            var httpHandler = mockRepository.CreateHttpStatusMessageHandler(HttpStatusCode.NotFound);
            var serializer  = mockRepository.Create <IRestClientSerializer>();

            var messageHandler = new RestClientMessageHandler("http://test.com.au/api/", new HttpClient(httpHandler.Object), serializer.Object);

            messageHandler.JwtToken = "DummyToken";

            Func <Task> action = async() => await messageHandler.GetAsync <SingleValueTestData>("authtest");

            action.Should().ThrowExactly <RestException>().Which.StatusCode.Should().Be(HttpStatusCode.NotFound);
        }
示例#4
0
        public async Task WithoutAuthentication()
        {
            var mockRepository = new MockRepository(MockBehavior.Strict);

            HttpRequestMessage requestMessage = null;
            var httpHandler = mockRepository.CreateHttpStatusMessageHandler(HttpStatusCode.OK, x => requestMessage = x);
            var serializer  = mockRepository.Create <IRestClientSerializer>();

            serializer.Setup(x => x.Deserialize <Time>(It.IsAny <StreamReader>())).Returns(new Time());

            var messageHandler = new RestClientMessageHandler("http://test.com.au/api/", new HttpClient(httpHandler.Object), serializer.Object);

            var result = await messageHandler.GetAsync <Time>("authtest");


            requestMessage.Should().BeEquivalentTo(new { Method = HttpMethod.Get, RequestUri = new Uri("http://test.com.au/api/authtest") });
            requestMessage.Headers.Should().NotContain("Authorisation");
        }
        public void NotFound()
        {
            var mockRepository = new MockRepository(MockBehavior.Strict);

            var httpHandler = mockRepository.CreateHttpStatusMessageHandler(HttpStatusCode.NotFound);
            var serializer  = mockRepository.Create <IRestClientSerializer>();

            serializer.Setup(x => x.Serialize <SingleValueTestData>(It.IsAny <StreamWriter>(), It.IsAny <SingleValueTestData>()));

            var messageHandler = new RestClientMessageHandler("http://test.com.au/api/", new HttpClient(httpHandler.Object), serializer.Object);

            messageHandler.JwtToken = "DummyToken";

            var data = new SingleValueTestData()
            {
                Field = "test"
            };
            Func <Task> action = async() => await messageHandler.PostAsync <SingleValueTestData>("authtest", data);

            action.Should().ThrowExactly <RestException>().And.StatusCode.Equals(HttpStatusCode.NotFound);
        }
        public async Task WithoutAuthentication()
        {
            var mockRepository = new MockRepository(MockBehavior.Strict);

            HttpRequestMessage requestMessage = null;
            var httpHandler = mockRepository.CreateHttpStatusMessageHandler(HttpStatusCode.OK, x => requestMessage = x);

            var serializer = mockRepository.Create <IRestClientSerializer>();

            serializer.Setup(x => x.Serialize <SingleValueTestData>(It.IsAny <StreamWriter>(), It.IsAny <SingleValueTestData>()));

            var messageHandler = new RestClientMessageHandler("http://test.com.au/api/", new HttpClient(httpHandler.Object), serializer.Object);

            var data = new SingleValueTestData()
            {
                Field = "test"
            };
            await messageHandler.PostAsync <SingleValueTestData>("authtest", data);

            requestMessage.Should().BeEquivalentTo(new { Method = HttpMethod.Post, RequestUri = new Uri("http://test.com.au/api/authtest") });
            requestMessage.Headers.Should().NotContain("Authorisation");
        }