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 FindAsync_ByMultiverseId_Success() { // arrange const string CARD_NAME = "cardname1"; _mockRateLimit.Setup(x => x.IsTurnedOn).Returns(false); _mockHeaderManager.Setup(x => x.Update(It.IsAny <IReadOnlyNameValueList <string> >())); _mockHeaderManager.Setup(x => x.Get <int>(ResponseHeader.TotalCount)).Returns(2000); _mockHeaderManager.Setup(x => x.Get <int>(ResponseHeader.PageSize)).Returns(1000); var cardDto = new CardDto() { Name = CARD_NAME }; var rootCardList = new RootCardDto() { Card = cardDto, }; _mockModelMapper.Setup(x => x.MapCard(It.IsAny <CardDto>())).Returns(new Card() { Name = CARD_NAME }); using var httpTest = new HttpTest(); httpTest.RespondWithJson(rootCardList); var service = new CardService( _mockHeaderManager.Object, _mockModelMapper.Object, ApiVersion.V1, _mockRateLimit.Object); // act var result = await service.FindAsync(12345); // assert Assert.True(result.IsSuccess); _mockRepository.VerifyAll(); }
public async Task FindAsync_Exception_ReturnsFailure() { // arrange const string CARD_NAME = "cardname1"; _mockRateLimit.Setup(x => x.IsTurnedOn).Returns(false); _mockHeaderManager.Setup(x => x.Update(It.IsAny <IReadOnlyNameValueList <string> >())); var cardDto = new CardDto() { Name = CARD_NAME }; var rootCardList = new RootCardDto() { Card = cardDto, }; _mockModelMapper.Setup(x => x.MapCard(It.IsAny <CardDto>())).Throws(new Exception()); using var httpTest = new HttpTest(); httpTest.RespondWithJson(rootCardList); var service = new CardService( _mockHeaderManager.Object, _mockModelMapper.Object, ApiVersion.V1, _mockRateLimit.Object); // act var result = await service.FindAsync("12345"); // assert Assert.False(result.IsSuccess); _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(); }