public void Query_Calls_Cache() { var cacheStrategy = new EquityInterDayMarketCacheStrategy(this._cache); var dataRequest = MarketDataRequest.Null(); cacheStrategy.Query(dataRequest); A.CallTo(() => this._cache.Get(dataRequest)).MustHaveHappenedOnceExactly(); }
public void Query_Returns_Interday_Market_Data_Response() { var cacheStrategy = new EquityInterDayMarketCacheStrategy(this._cache); var dataRequest = MarketDataRequest.Null(); var response = cacheStrategy.Query(dataRequest); Assert.IsNotNull(response); Assert.IsInstanceOf <EquityInterDayMarketDataResponse>(response); }
public void Query_Request_Passed_To_Underlying_Cache() { var strategy = new EquityIntraDayMarketCacheStrategy(this._cache); var marketDataRequest = MarketDataRequest.Null(); var result = strategy.Query(marketDataRequest); Assert.IsNotNull(result); Assert.IsInstanceOf <EquityIntraDayMarketDataResponse>(result); A.CallTo(() => this._cache.GetForLatestDayOnly(marketDataRequest)).MustHaveHappenedOnceExactly(); }
public async Task Send_FactsetRequests_PassedToRepository() { var senderManager = this.BuildRequestsSenderManager(); var factsetRequests = new List <MarketDataRequest> { MarketDataRequest.Null() }; await senderManager.Send(factsetRequests); A.CallTo( () => this._dailyBarRepository.GetWithTransientFaultHandlingAsync( A <FactsetSecurityDailyRequest> .Ignored)) .MustHaveHappenedOnceExactly(); }
public async Task Send_BmllRequests_ProjectRequestToKeys_Null_Returns_Success() { var sender = this.BuildSenderManager(); var bmllRequests = new List <MarketDataRequest> { MarketDataRequest.Null() }; A.CallTo(() => this._marketDataRequestProjector.ProjectToRequestKeys(A <List <MarketDataRequest> > .Ignored)) .Returns(null); var result = await sender.Send(bmllRequests, true); Assert.IsNotNull(result); Assert.IsTrue(result.Success); Assert.IsEmpty(result.Value); }
public async Task Send_BmllRequests_OkProjectedKeys_Returns_Success() { var sender = this.BuildSenderManager(); var bmllRequests = new List <MarketDataRequest> { MarketDataRequest.Null() }; var bmllRequestDtos = new List <MinuteBarRequestKeyDto> { new MinuteBarRequestKeyDto("a-figi", "1min", new DateTime(2019, 01, 01)) }; A.CallTo(() => this._marketDataRequestProjector.ProjectToRequestKeys(A <List <MarketDataRequest> > .Ignored)) .Returns(bmllRequestDtos); A.CallTo(() => this._timeBarRepository.StatusMinuteBarsAsync(A <GetMinuteBarRequestStatusesRequest> .Ignored)) .Returns(BmllStatusMinuteBarResult.Completed); var result = await sender.Send(bmllRequests, true); Assert.IsNotNull(result); Assert.IsTrue(result.Success); Assert.IsEmpty(result.Value); }