Beispiel #1
0
 public async Task <InstrumentWithCandles> GetInstrumentCandles(
     [FromRoute] InstrumentName instrument,
     [FromRoute] Granularity granularity,
     [FromQuery] DateTime from,
     [FromQuery] DateTime to
     )
 {
     return(await _instrumentStorageService.GetInstrumentCandles(instrument, granularity, from.ToUniversalTime(), to.ToUniversalTime()));
 }
Beispiel #2
0
        public async void GetInstrumentCandles()
        {
            // Arrange
            var instrument     = InstrumentName.EUR_USD;
            var granularity    = Granularity.H1;
            var now            = DateTime.UtcNow;
            var from           = new DateTime(now.Year - 2, 1, 1, 0, 0, 0, DateTimeKind.Utc);
            var to             = new DateTime(now.Year - 2, 12, 31, 23, 59, 0, DateTimeKind.Utc);
            var blobClientMock = new Mock <BlobClient>();

            blobClientMock.Setup(bc => bc.DownloadToAsync(It.IsAny <Stream>())).Callback <Stream>(candleStream => WriteSerializedCandlesToStream(candleStream));
            var blobContainerClientMock = new Mock <BlobContainerClient>();

            blobContainerClientMock.Setup(bcc => bcc.GetBlobClient(It.IsAny <string>())).Returns(blobClientMock.Object);
            _storageClientMock.Setup(sc => sc.GetBlobContainerClient(It.IsAny <string>())).Returns(blobContainerClientMock.Object);

            // Act
            var candles = await _instrumentStorageService.GetInstrumentCandles(instrument, granularity, from, to);

            // Assert
            _storageClientMock.Verify(sc => sc.GetBlobContainerClient(It.IsAny <string>()), Times.Once());
            blobContainerClientMock.Verify(bcc => bcc.GetBlobClient(It.IsAny <string>()), Times.Exactly(12));
            blobClientMock.Verify(bc => bc.DownloadToAsync(It.IsAny <Stream>()), Times.Exactly(12));
        }