public async Task GetSeries_WithSeriesId_ReturnsSeriesInstanceAsync()
        {
            // Arrange
            var jsonString = await File.ReadAllTextAsync(Path.Join("TestFiles", "EIAResponse.json"));

            var eiaResponseObject = EIAResponse.FromJson(jsonString);

            var mockClient = new Mock <IEIARestClient>();

            mockClient.Setup(client => client.GetSeries(It.IsAny <string>(), null, null))
            .ReturnsAsync(eiaResponseObject);
            var controller = new EIASeriesController(mockClient.Object);

            // Act
            var result = await controller.GetSeries("EBA.TVA-ALL.D.H");

            // Assert
            Assert.Equal("EBA.TVA-ALL.D.H", result.SeriesId);
            Assert.True(!string.IsNullOrWhiteSpace(result.Name));
            Assert.True(!string.IsNullOrWhiteSpace(result.Description));
            Assert.Equal("megawatthours", result.Units);
            Assert.True(result.Start > DateTime.MinValue);
            Assert.True(result.End > DateTime.MinValue);
            Assert.True(result.Updated > DateTime.MinValue);
            Assert.Equal(19, result.Samples.Count);
            Assert.True(result.Samples[0].Time > DateTime.MinValue);
            Assert.True(result.Samples[0].Value > 0);
        }
Ejemplo n.º 2
0
        public void EIAResponse_FromJson_WithValidJsonString_Success()
        {
            var jsonString        = File.ReadAllText(Path.Join("TestFiles", "EIAResponse.json"));
            var eiaResponseObject = EIAResponse.FromJson(jsonString);

            Assert.Equal("EBA.TVA-ALL.D.H", eiaResponseObject.Request.SeriesId);
        }
Ejemplo n.º 3
0
        public async Task <EIAResponse> GetSeries(string seriesId, string start = null, string end = null)
        {
            var requestUrl = BuildRequestUrl($"/series/?series_id={seriesId}");

            if (start != null)
            {
                requestUrl += $"&start={start}";
            }
            if (end != null)
            {
                requestUrl += $"&end={end}";
            }

            var jsonString = await _httpClient.GetStringAsync(requestUrl);

            return(EIAResponse.FromJson(jsonString));
        }