diff --git a/test/test_reference_data_handler/test_abstract_reference_data_handler.py b/test/test_reference_data_handler/test_abstract_reference_data_handler.py index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..98267fc913df299647c0fe8a1d95074e5d22bf04 100644 --- a/test/test_reference_data_handler/test_abstract_reference_data_handler.py +++ b/test/test_reference_data_handler/test_abstract_reference_data_handler.py @@ -0,0 +1,54 @@ +import pytest +import mock + +from mlair.reference_data_handler.abstract_reference_data_handler import AbstractReferenceModel +from mlair.reference_data_handler.abstract_reference_data_handler import AbstractReferenceb2share + + +class TestAbstractReferenceDataHandler: + + def test_init(self): + assert isinstance(AbstractReferenceModel(), AbstractReferenceModel) + + def test_make_reference_available_locally(self): + arm = AbstractReferenceModel() + with pytest.raises(NotImplementedError): + arm.make_reference_available_locally() + + @mock.patch("os.listdir", side_effect=[True, False, FileNotFoundError, ValueError]) + def test_is_reference_available_locally(self, mock_file): + arm = AbstractReferenceModel() + assert arm.is_reference_available_locally("TestFile/") == True + assert arm.is_reference_available_locally("TestFile/") == False + assert arm.is_reference_available_locally("TestFile/") == False + with pytest.raises(ValueError): + arm.is_reference_available_locally("TestFile/") + + +class TestAbstractReferenceb2share: + + @pytest.fixture + def ar(self): + b2share_hosturl = "b2share.url" + b2share_bucket = "1111-2222-3333" + b2share_key = "b2share_key.tar.gz" + return AbstractReferenceb2share(b2share_hosturl, b2share_bucket, b2share_key) + + def test_inheritance(self): + assert issubclass(AbstractReferenceb2share, AbstractReferenceModel) + + def test_init(self, ar): + assert isinstance(ar, AbstractReferenceb2share) + assert ar.b2share_hosturl == "b2share.url" + assert ar.b2share_bucket == "1111-2222-3333" + assert ar.b2share_key == "b2share_key.tar.gz" + + def test_b2share_url(self, ar): + assert isinstance(ar.b2share_url, str) + assert ar.b2share_url == 'b2share.url/api/files/1111-2222-3333' + + def test_bar_custom(self): + pass + + def test_download_from_b2share(self): + pass \ No newline at end of file diff --git a/test/test_reference_data_handler/test_intellio3_v1_reference.py b/test/test_reference_data_handler/test_intellio3_v1_reference.py index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..3608f8dd4304c3245d112771aba29cf196e68ad5 100644 --- a/test/test_reference_data_handler/test_intellio3_v1_reference.py +++ b/test/test_reference_data_handler/test_intellio3_v1_reference.py @@ -0,0 +1,45 @@ +import pytest + + +from mlair.reference_data_handler.intellio3_v1_reference import IntelliO3Reference +from mlair.reference_data_handler.abstract_reference_data_handler import AbstractReferenceb2share + + +class TestIntelliO3Reference: + + @pytest.fixture + def io3(self): + return IntelliO3Reference("IntelliO3-test") + + def test_init_none_path(self): + io3 = IntelliO3Reference("IntelliO3-test") + assert isinstance(io3, IntelliO3Reference) + assert io3.ref_name == "IntelliO3-test" + assert io3.ref_store_path == "IntelliO3-test/" + assert io3.tmp_extract_path == "tmp_downloads/" + assert io3.orig_forecast_path == "IntelliO3-ts/IntelliO3-ts_network/forecasts/" + assert io3.file_pattern == "forecasts_DE?????_test.nc" + assert io3.b2share_key == "IntelliO3-ts.tar.gz" + assert io3.b2share_bucket == "0cae9db2-f388-4136-8d28-9d9c5665d641" + assert io3.b2share_hosturl == "https://b2share.eudat.eu" + + def test_init_extra_path(self): + io3 = IntelliO3Reference("IntelliO3-test", "DummyExtraPath/") + assert isinstance(io3, IntelliO3Reference) + assert io3.ref_store_path == "DummyExtraPath/" + + def test_inheritance(self): + assert issubclass(IntelliO3Reference, AbstractReferenceb2share) + + def test_untar_forecasts(self, io3): + pass + + def test_file_list(self): + pass + + def test_read_and_drop(self): + pass + + def test_make_reference_available_locally(self): + pass + diff --git a/test/test_reference_data_handler/tmp_downloads/IntelliO3-ts.tar.gz b/test/test_reference_data_handler/tmp_downloads/IntelliO3-ts.tar.gz new file mode 100644 index 0000000000000000000000000000000000000000..5d98fd1b0c7758489aafeb9da4901fd1c4c7736d Binary files /dev/null and b/test/test_reference_data_handler/tmp_downloads/IntelliO3-ts.tar.gz differ