Browse Source

integration test for download and read

Daniel Busch 4 months ago
parent
commit
f3d6e19e8f

+ 3 - 3
extracted_data/v2024-11-14/FAOSTAT_Agrifood_system_emissions_v2024-11-14.yaml

@@ -13,10 +13,10 @@ time_format: '%Y'
 dimensions:
   '*':
   - time
-  - area (ISO3)
-  - scenario (FAO)
-  - source
   - category (FAOSTAT)
+  - source
+  - scenario (FAO)
+  - area (ISO3)
   - entity
   - unit
 data_file: FAOSTAT_Agrifood_system_emissions_v2024-11-14.csv

+ 2 - 2
src/faostat_data_primap/read.py

@@ -169,8 +169,8 @@ def read_latest_data(
     # save raw data
     output_filename = f"FAOSTAT_Agrifood_system_emissions_{release_name}"
 
-    if not extracted_data_path.exists():
-        extracted_data_path.mkdir()
+    if not save_path.exists():
+        save_path.mkdir()
 
     output_folder = save_path / release_name
     if not output_folder.exists():

+ 1 - 1
tests/integration/test_download_script.py → tests/integration/test_download_and_read.py

@@ -4,7 +4,7 @@ from src.faostat_data_primap.download import download_all_domains
 from src.faostat_data_primap.read import read_latest_data
 
 
-# test the whole download script run
+# test the complete download and read process
 def test_download_all_domains(tmp_path):
     downloaded_data_path = tmp_path / "downloaded_data"
     download_all_domains(downloaded_data_path=downloaded_data_path)

+ 0 - 30
tests/integration/test_read_script.py

@@ -1,30 +0,0 @@
-import os
-
-from src.faostat_data_primap.helper.paths import root_path
-from src.faostat_data_primap.read import read_latest_data
-
-example_csv_content = ()
-
-
-def test_read_latest_data(tmp_path):
-    # get the downloaded data from here
-    downloaded_data_path = root_path / "downloaded_data"
-
-    # read and save latest data
-    read_latest_data(downloaded_data_path=downloaded_data_path, save_path=tmp_path)
-
-    release_folder = os.listdir(tmp_path)
-
-    # there should be one directory created
-    assert len(release_folder) == 1
-    # and it starts with "v" (the date changes with each release)
-    assert release_folder[0].startswith("v")
-
-    output_files = os.listdir(tmp_path / release_folder[0])
-    # in the folder there should be three files
-    assert len(output_files) == 3
-
-    # a .yaml, .csv, and .nc file
-    required_extensions = {"nc", "csv", "yaml"}
-    file_extensions = {file.split(".")[-1] for file in output_files}
-    assert required_extensions == file_extensions