Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion codecarbon/core/emissions.py
Original file line number Diff line number Diff line change
Expand Up @@ -146,7 +146,7 @@ def get_cloud_geo_region(self, cloud: CloudMetadata) -> str:
)

state = selected["state"].item()
if state is not None:
if isinstance(state, str):
return state
city = selected["city"].item()
return city
Expand Down
18 changes: 18 additions & 0 deletions tests/test_emissions.py
Original file line number Diff line number Diff line change
Expand Up @@ -47,6 +47,24 @@ def test_emissions_CLOUD_GCP(self):
assert isinstance(emissions, float)
self.assertAlmostEqual(emissions, 0.0010, places=2)

def test_get_cloud_geo_region_returns_state(self):
# WHEN
region = self._emissions.get_cloud_geo_region(
CloudMetadata(provider="gcp", region="us-central1")
)

# THEN
self.assertEqual(region, "Iowa")

def test_get_cloud_geo_region_falls_back_to_city_without_state(self):
# WHEN
region = self._emissions.get_cloud_geo_region(
CloudMetadata(provider="gcp", region="asia-east1")
)

# THEN
self.assertEqual(region, "Changhua County")

def test_get_carbon_intensity_per_source_data(self):
# pytest tests/test_emissions.py::TestEmissions::test_get_carbon_intensity_per_source_data
carbon_intensity = DataSource().get_carbon_intensity_per_source_data()
Expand Down
Loading