Exemple #1
0
 def test_construct_url_collection(self):
     real_collection = self.concept_ids["collection"]["real"]
     downloader = Downloader(real_collection, "echo10")
     assert (
         downloader._construct_url() ==
         f"https://cmr.earthdata.nasa.gov/search/concepts/{real_collection}.echo10"
     )
Exemple #2
0
    def test_construct_url_granule(self):
        real_granule = self.concept_ids["granule"]["real"]
        downloader = Downloader(real_granule, "echo10")

        assert (
            downloader._construct_url() ==
            f"https://cmr.earthdata.nasa.gov/search/concepts/{real_granule}.echo10"
        )
Exemple #3
0
    def test_download_real_granule_no_errors(self):
        real_collection = self.concept_ids["granule"]["real"]
        downloader = Downloader(real_collection, "echo10")

        downloader.download()

        # is the concept id valid and is the request going through?
        assert downloader.errors == []
Exemple #4
0
    def test_download_invalid_concept_id(self):
        invalid_concept_id = self.concept_ids["invalid"]
        downloader = Downloader(invalid_concept_id, "echo10")

        downloader.download()

        assert len(downloader.errors) == 1
        assert downloader.errors == [{
            "type": "invalid_concept_id",
            "details": {
                "concept_id": self.concept_ids["invalid"]
            },
        }]
Exemple #5
0
    def test_download_dummy_granule_no_errors(self):
        dummy_granule = self.concept_ids["granule"]["dummy"]
        downloader = Downloader(dummy_granule, "echo10")

        downloader.download()

        assert len(downloader.errors) == 1
        assert downloader.errors == [{
            "type": "request_failed",
            "details": {
                "concept_id": dummy_granule,
                "url":
                f"https://cmr.earthdata.nasa.gov/search/concepts/{dummy_granule}.echo10",
                "status_code": 404,
            },
        }]
Exemple #6
0
    def test_log_error(self):
        # create a dummy granule downloader
        dummy_granule = self.concept_ids["granule"]["dummy"]
        downloader = Downloader(dummy_granule, "echo10")

        downloader.log_error("invalid_concept_id",
                             {"concept_id": dummy_granule})

        downloader.log_error(
            "request_failed",
            {
                "concept_id": dummy_granule,
                "url": "https://dummy.url",
                "status_code": 404,
            },
        )

        assert downloader.errors == [
            {
                "type": "invalid_concept_id",
                "details": {
                    "concept_id": dummy_granule
                }
            },
            {
                "type": "request_failed",
                "details": {
                    "concept_id": dummy_granule,
                    "url": "https://dummy.url",
                    "status_code": 404,
                },
            },
        ]
Exemple #7
0
 def test_concept_id_type_invalid(self):
     assert (Downloader._concept_id_type(
         self.concept_ids["invalid"]) == Downloader.INVALID)
Exemple #8
0
 def test_concept_id_type_granule(self):
     assert (Downloader._concept_id_type(
         self.concept_ids["granule"]["dummy"]) == Downloader.GRANULE)
Exemple #9
0
 def test_concept_id_type_collection(self):
     assert (Downloader._concept_id_type(
         self.concept_ids["collection"]["dummy"]) == Downloader.COLLECTION)