public async Task CallWebServiceGet_RateLimitOff_Success() { // arrange var URL = new Uri("http://fake/url"); _mockRateLimit.Setup(x => x.IsTurnedOn).Returns(false); var card = new CardDto() { Id = "12345" }; var rootCard = new RootCardDto() { Card = card, }; using var httpTest = new HttpTest(); httpTest.RespondWithJson(rootCard); _mockHeaderManager.Setup(x => x.Update(It.IsAny <IReadOnlyNameValueList <string> >())); var service = new ServiceBaseTestObject( _mockHeaderManager.Object, _mockModelMapper.Object, _mockRateLimit.Object); // act var result = await service.CallWebServiceGetTestMethod(URL); // assert Assert.Equal(card.Id, result.Card.Id); }
public async Task CallWebServiceGet_ExceptionStatusCodeUnknown_ThrowsBadRequest() { // arrange const string ERROR_MESSAGE = "something bad happened"; var URL = new Uri("http://fake/url"); _mockRateLimit.Setup(x => x.IsTurnedOn).Returns(false); using var httpTest = new HttpTest(); httpTest.RespondWith(ERROR_MESSAGE, 410); var service = new ServiceBaseTestObject( _mockHeaderManager.Object, _mockModelMapper.Object, _mockRateLimit.Object); // act // assert var result = await Assert.ThrowsAsync <MtgApiException>( () => service.CallWebServiceGetTestMethod(URL)); Assert.EndsWith(ERROR_MESSAGE, result.Message); _mockRepository.VerifyAll(); }
public void Constructor_Calls_ResetCurrentUrl() { // arrange // act var service = new ServiceBaseTestObject( _mockHeaderManager.Object, _mockModelMapper.Object, _mockRateLimit.Object); // assert Assert.NotNull(service.CurrentQueryUrlTestProp); }
public void ResetCurrentUrl_ResetsUrl_Success() { // arrange var service = new ServiceBaseTestObject( _mockHeaderManager.Object, _mockModelMapper.Object, _mockRateLimit.Object); service.CurrentQueryUrlTestProp.AppendPathSegments("this", "is", "a", "test"); // act service.ResetCurrentUrlTestMethod(); // assert Assert.Equal(2, service.CurrentQueryUrlTestProp.PathSegments.Count); }
public void GetPagingInfo_Sucess() { // arrange _mockHeaderManager.Setup(x => x.Get <int>(ResponseHeader.TotalCount)).Returns(100); _mockHeaderManager.Setup(x => x.Get <int>(ResponseHeader.PageSize)).Returns(10); var service = new ServiceBaseTestObject( _mockHeaderManager.Object, _mockModelMapper.Object, _mockRateLimit.Object); // act var result = service.GetPagingInfoTestMethod(); // assert Assert.NotNull(result); }
public void GetPagingInfo_CountsCorrect() { // arrange const int TOTAL_COUNT = 100; const int PAGE_SIZE = 10; _mockHeaderManager.Setup(x => x.Get <int>(ResponseHeader.TotalCount)).Returns(TOTAL_COUNT); _mockHeaderManager.Setup(x => x.Get <int>(ResponseHeader.PageSize)).Returns(PAGE_SIZE); var service = new ServiceBaseTestObject( _mockHeaderManager.Object, _mockModelMapper.Object, _mockRateLimit.Object); // act var result = service.GetPagingInfoTestMethod(); // assert Assert.Equal(TOTAL_COUNT, result.TotalCount); Assert.Equal(PAGE_SIZE, result.PageSize); }
public async Task CallWebServiceGet_ReturnsException_Throws(int id, string description) { // arrange var URL = new Uri("http://fake/url"); _mockRateLimit.Setup(x => x.IsTurnedOn).Returns(false); using var httpTest = new HttpTest(); httpTest.RespondWith("error", id); var service = new ServiceBaseTestObject( _mockHeaderManager.Object, _mockModelMapper.Object, _mockRateLimit.Object); // act // assert var result = await Assert.ThrowsAsync <MtgApiException>( () => service.CallWebServiceGetTestMethod(URL)); Assert.EndsWith(description, result.Message); _mockRepository.VerifyAll(); }
public async Task CallWebServiceGet_RateLimitOn_Success() { // arrange var URL = new Uri("http://fake/url"); _mockRateLimit.Setup(x => x.IsTurnedOn).Returns(true); _mockRateLimit.Setup(x => x.Delay(2000, default)).ReturnsAsync(1); _mockRateLimit.Setup(x => x.AddApiCall()); var card = new CardDto() { Id = "12345" }; var rootCard = new RootCardDto() { Card = card, }; using var httpTest = new HttpTest(); httpTest.RespondWithJson(rootCard); _mockHeaderManager.Setup(x => x.Update(It.IsAny <IReadOnlyNameValueList <string> >())); _mockHeaderManager.Setup(x => x.Get <int>(ResponseHeader.RatelimitLimit)).Returns(2000); var service = new ServiceBaseTestObject( _mockHeaderManager.Object, _mockModelMapper.Object, _mockRateLimit.Object); // act var result = await service.CallWebServiceGetTestMethod(URL); // assert Assert.Equal(card.Id, result.Card.Id); _mockRepository.VerifyAll(); }