Skip to content

Commit 5f0958e

Browse files
committed
Fix tests for EMFree datasource
Signed-off-by: Yasumasa Suenaga <[email protected]>
1 parent 2456ee4 commit 5f0958e

File tree

4 files changed

+23
-16
lines changed

4 files changed

+23
-16
lines changed

src/CarbonAware.DataSources/CarbonAware.DataSources.ElectricityMapsFree/mock/CarbonAware.DataSources.ElectricityMapsFree.Mocks.csproj

+2-1
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,8 @@
1515
</ItemGroup>
1616

1717
<ItemGroup>
18-
<InternalsVisibleTo Include="CarbonAware.CLI.IntegrationTests" />
18+
<InternalsVisibleTo Include="CarbonAware.WebApi.IntegrationTests" />
19+
<InternalsVisibleTo Include="CarbonAware.CLI.IntegrationTests" />
1920
</ItemGroup>
2021

2122
</Project>

src/CarbonAware.WebApi/test/integrationTests/CarbonAware.WebApi.IntegrationTests.csproj

+7-12
Original file line numberDiff line numberDiff line change
@@ -22,22 +22,17 @@
2222
</ItemGroup>
2323

2424
<ItemGroup>
25-
<ProjectReference
26-
Include="..\..\..\CarbonAware.DataSources\CarbonAware.DataSources.Json\mock\CarbonAware.DataSources.Json.Mocks.csproj" />
27-
<ProjectReference
28-
Include="..\..\..\CarbonAware.DataSources\CarbonAware.DataSources.WattTime\mock\CarbonAware.DataSources.WattTime.Mocks.csproj" />
29-
<ProjectReference
30-
Include="..\..\..\CarbonAware.DataSources\CarbonAware.DataSources.ElectricityMaps\mock\CarbonAware.DataSources.ElectricityMaps.Mocks.csproj" />
25+
<ProjectReference Include="..\..\..\CarbonAware.DataSources\CarbonAware.DataSources.ElectricityMapsFree\mock\CarbonAware.DataSources.ElectricityMapsFree.Mocks.csproj" />
26+
<ProjectReference Include="..\..\..\CarbonAware.DataSources\CarbonAware.DataSources.Json\mock\CarbonAware.DataSources.Json.Mocks.csproj" />
27+
<ProjectReference Include="..\..\..\CarbonAware.DataSources\CarbonAware.DataSources.WattTime\mock\CarbonAware.DataSources.WattTime.Mocks.csproj" />
28+
<ProjectReference Include="..\..\..\CarbonAware.DataSources\CarbonAware.DataSources.ElectricityMaps\mock\CarbonAware.DataSources.ElectricityMaps.Mocks.csproj" />
3129
<ProjectReference Include="..\..\src\CarbonAware.WebApi.csproj" />
32-
<ProjectReference
33-
Include="..\..\..\CarbonAware.DataSources\CarbonAware.DataSources.Registration\CarbonAware.DataSources.Registration.csproj" />
30+
<ProjectReference Include="..\..\..\CarbonAware.DataSources\CarbonAware.DataSources.Registration\CarbonAware.DataSources.Registration.csproj" />
3431
</ItemGroup>
3532

3633
<Target Name="CopyDataFiles" AfterTargets="Build">
37-
<Copy SourceFiles="$(ProjectDir)..\..\..\data\data-sources\test-data-azure-emissions.json"
38-
DestinationFiles="$(TargetDir)\data-sources\json\demo.json" SkipUnchangedFiles="true" />
39-
<Copy SourceFiles="$(ProjectDir)..\..\..\data\location-sources\azure-regions.json"
40-
DestinationFiles="$(TargetDir)\location-sources\json\azure-regions.json" SkipUnchangedFiles="true" />
34+
<Copy SourceFiles="$(ProjectDir)..\..\..\data\data-sources\test-data-azure-emissions.json" DestinationFiles="$(TargetDir)\data-sources\json\demo.json" SkipUnchangedFiles="true" />
35+
<Copy SourceFiles="$(ProjectDir)..\..\..\data\location-sources\azure-regions.json" DestinationFiles="$(TargetDir)\location-sources\json\azure-regions.json" SkipUnchangedFiles="true" />
4136
</Target>
4237

4338
</Project>

src/CarbonAware.WebApi/test/integrationTests/CarbonAwareControllerTests.cs

+3-3
Original file line numberDiff line numberDiff line change
@@ -213,7 +213,7 @@ public async Task EmissionsForecastsCurrent_SupportedDataSources_ReturnsOk()
213213
[Test]
214214
public async Task EmissionsForecastsCurrent_StartAndEndOutsideWindow_ReturnsBadRequest()
215215
{
216-
IgnoreTestForDataSource("data source does not implement '/emissions/forecasts/current'", DataSourceType.JSON);
216+
IgnoreTestForDataSource("data source does not implement '/emissions/forecasts/current'", DataSourceType.JSON, DataSourceType.ElectricityMapsFree);
217217

218218
_dataSourceMocker?.SetupForecastMock();
219219

@@ -236,7 +236,7 @@ public async Task EmissionsForecastsCurrent_StartAndEndOutsideWindow_ReturnsBadR
236236
public async Task EmissionsForecastsCurrent_InvalidLocationQueryString_ReturnsBadRequest(string queryString, string value)
237237
{
238238

239-
IgnoreTestForDataSource("data source does not implement '/emissions/forecasts/current'", DataSourceType.JSON);
239+
IgnoreTestForDataSource("data source does not implement '/emissions/forecasts/current'", DataSourceType.JSON, DataSourceType.ElectricityMapsFree);
240240

241241
_dataSourceMocker?.SetupForecastMock();
242242

@@ -256,7 +256,7 @@ public async Task EmissionsForecastsCurrent_InvalidLocationQueryString_ReturnsBa
256256
[TestCase("eastus", "2021-9-1T08:30:00Z", TestName = "EmissionsForecastsBatch returns BadRequest for wrong date format")]
257257
public async Task EmissionsForecastsBatch_MissingRequiredParams_ReturnsBadRequest(string location, string requestedAt)
258258
{
259-
IgnoreTestForDataSource("data source does not implement '/emissions/forecasts/batch'", DataSourceType.JSON);
259+
IgnoreTestForDataSource("data source does not implement '/emissions/forecasts/batch'", DataSourceType.JSON, DataSourceType.ElectricityMapsFree);
260260

261261
_dataSourceMocker?.SetupForecastMock();
262262
var forecastData = Enumerable.Range(0, 1).Select(x => new

src/CarbonAware.WebApi/test/integrationTests/IntegrationTestingBase.cs

+11
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22
using CarbonAware.Interfaces;
33
using CarbonAware.DataSources.Json.Mocks;
44
using CarbonAware.DataSources.ElectricityMaps.Mocks;
5+
using CarbonAware.DataSources.ElectricityMapsFree.Mocks;
56
using CarbonAware.DataSources.WattTime.Mocks;
67
using Microsoft.AspNetCore.Mvc.Testing;
78
using NUnit.Framework;
@@ -116,6 +117,16 @@ public void Setup()
116117
_dataSourceMocker = new ElectricityMapsDataSourceMocker();
117118
break;
118119
}
120+
case DataSourceType.ElectricityMapsFree:
121+
{
122+
Environment.SetEnvironmentVariable("DataSources__EmissionsDataSource", "ElectricityMapsFree");
123+
/* ElectricityMapsFree datasource does not support forecast data */
124+
Environment.SetEnvironmentVariable("DataSources__Configurations__ElectricityMapsFree__Type", "ElectricityMapsFree");
125+
Environment.SetEnvironmentVariable("DataSources__Configurations__ElectricityMapsFree__token", "test");
126+
127+
_dataSourceMocker = new ElectricityMapsFreeDataSourceMocker();
128+
break;
129+
}
119130
case DataSourceType.None:
120131
{
121132
Environment.SetEnvironmentVariable("DataSources__EmissionsDataSource", "");

0 commit comments

Comments
 (0)