예제 #1
0
    def test_builds_search_from_dataset_name(self):
        search = ImagerySearch.add_dataset_name({}, "L8")
        assert json.dumps(search) == '{"datasetName": "L8"}'

        search = ImagerySearch.add_dataset_name({'datasetName': 'L7'}, "L8")
        assert json.dumps(search) == '{"datasetName": "L8"}'

        search = ImagerySearch.add_dataset_name({'foo': 'bar'}, "L8")
        assert json.dumps(search) == '{"foo": "bar", "datasetName": "L8"}'
예제 #2
0
 def test_search_build_overview(self):
     imageryRequest = ImageryRequest(dataset_name='ds9',
                                     wgs_row=23,
                                     wgs_path=47,
                                     max_cloud_cover=65)
     search_obj = ImagerySearch.build_search(imageryRequest)
     print("SEARCH OBJ")
     print(search_obj)
     assert search_obj == {
         'datasetName': 'ds9',
         'sceneFilter': {
             'metadataFilter': {
                 'filterType':
                 'and',
                 'childFilters': [{
                     'filterType': 'value',
                     'filterId': '5e83d0b81d20cee8',
                     'value': '47'
                 }, {
                     'filterType': 'value',
                     'filterId': '5e83d0b849ed5ee7',
                     'value': '23'
                 }, {
                     'filterType': 'value',
                     'filterId': '5e83d0b83a03f8ee',
                     'value': 'DAY'
                 }]
             },
             'cloudCoverFilter': {
                 'max': 65,
                 'min': 0
             }
         }
     }
예제 #3
0
 def test_builds_value_filter(self):
     filter = ImagerySearch.value_filter('WRS Path', 5)
     assert filter == {
         'filterType': 'value',
         'filterId': '5e83d0b81d20cee8',
         'value': '5'
     }
예제 #4
0
    def test_builds_search_from_row_and_path(self):
        search = ImagerySearch.add_wgs_row_and_path({}, 1, 10)
        assert json.dumps(
            search
        ) == '{"sceneFilter": {"metadataFilter": {"filterType": "and", "childFilters": [{"filterType": "value", "filterId": "5e83d0b81d20cee8", "value": "10"}, {"filterType": "value", "filterId": "5e83d0b849ed5ee7", "value": "1"}]}}}'  # noqa: E501

        search = ImagerySearch.add_wgs_row_and_path(
            {'sceneFilter': {
                'metadataFilter': {}
            }}, 1, 10)
        assert json.dumps(
            search
        ) == '{"sceneFilter": {"metadataFilter": {"filterType": "and", "childFilters": [{"filterType": "value", "filterId": "5e83d0b81d20cee8", "value": "10"}, {"filterType": "value", "filterId": "5e83d0b849ed5ee7", "value": "1"}]}}}'  # noqa: E501

        search = ImagerySearch.add_wgs_row_and_path(
            {
                'sceneFilter': {
                    'metadataFilter': {
                        'filterType': 'and',
                        'childFilters': []
                    }
                }
            }, 1, 10)  # noqa: E501
        assert json.dumps(
            search
        ) == '{"sceneFilter": {"metadataFilter": {"filterType": "and", "childFilters": [{"filterType": "value", "filterId": "5e83d0b81d20cee8", "value": "10"}, {"filterType": "value", "filterId": "5e83d0b849ed5ee7", "value": "1"}]}}}'  # noqa: E501

        search = ImagerySearch.add_wgs_row_and_path(
            {
                'sceneFilter': {
                    'metadataFilter': {
                        'filterType': 'and',
                        'childFilters': ['blah']
                    }
                }
            }, 1, 10)  # noqa: E501
        assert json.dumps(
            search
        ) == '{"sceneFilter": {"metadataFilter": {"filterType": "and", "childFilters": ["blah", {"filterType": "value", "filterId": "5e83d0b81d20cee8", "value": "10"}, {"filterType": "value", "filterId": "5e83d0b849ed5ee7", "value": "1"}]}}}'  # noqa: E501
예제 #5
0
    def test_builds_search_from_row_and_path(self):
        search = ImagerySearch.add_wgs_row_and_path({}, 1, 10)
        assert json.dumps(
            search
        ) == '{"additionalCriteria": {"filterType": "and", "childFilters": [{"filterType": "value", "fieldId": 20514, "value": 10}, {"filterType": "value", "fieldId": 20516, "value": 1}]}}'  # noqa: E501

        search = ImagerySearch.add_wgs_row_and_path({'foo': 'bar'}, 1, 10)
        assert json.dumps(
            search
        ) == '{"foo": "bar", "additionalCriteria": {"filterType": "and", "childFilters": [{"filterType": "value", "fieldId": 20514, "value": 10}, {"filterType": "value", "fieldId": 20516, "value": 1}]}}'  # noqa: E501

        search = ImagerySearch.add_wgs_row_and_path({'additionalCriteria': {}},
                                                    1, 10)
        assert json.dumps(
            search
        ) == '{"additionalCriteria": {"filterType": "and", "childFilters": [{"filterType": "value", "fieldId": 20514, "value": 10}, {"filterType": "value", "fieldId": 20516, "value": 1}]}}'  # noqa: E501

        search = ImagerySearch.add_wgs_row_and_path(
            {'additionalCriteria': {
                'filterType': 'and',
                'childFilters': []
            }}, 1, 10)  # noqa: E501
        assert json.dumps(
            search
        ) == '{"additionalCriteria": {"filterType": "and", "childFilters": [{"filterType": "value", "fieldId": 20514, "value": 10}, {"filterType": "value", "fieldId": 20516, "value": 1}]}}'  # noqa: E501

        search = ImagerySearch.add_wgs_row_and_path(
            {
                'additionalCriteria': {
                    'filterType': 'and',
                    'childFilters': ['blah']
                }
            }, 1, 10)  # noqa: E501
        assert json.dumps(
            search
        ) == '{"additionalCriteria": {"filterType": "and", "childFilters": ["blah", {"filterType": "value", "fieldId": 20514, "value": 10}, {"filterType": "value", "fieldId": 20516, "value": 1}]}}'  # noqa: E501
예제 #6
0
 def test_builds_search_from_scene_cloud_cover(self):
     search = ImagerySearch.add_scene_cloud_cover({}, 20)
     assert json.dumps(
         search
     ) == '{"additionalCriteria": {"filterType": "and", "childFilters": [{"filterType": "between", "fieldId": 20515, "firstValue": "0", "secondValue": "20"}]}}'
예제 #7
0
 def test_builds_search_from_day_or_night(self):
     search = ImagerySearch.add_day_or_night({}, 'DAY')
     assert json.dumps(
         search
     ) == '{"additionalCriteria": {"filterType": "and", "childFilters": [{"filterType": "value", "fieldId": 20513, "value": "DAY"}]}}'
예제 #8
0
 def test_builds_value_filter(self):
     filter = ImagerySearch.value_filter('WRS Path', 5)
     assert filter == {'filterType': 'value', 'fieldId': 20514, 'value': 5}
예제 #9
0
 def test_builds_path_row_search(self, mockAddPath, mockAddName, *args):
     ir = ImageryRequest(wgs_row=1, wgs_path=2, dataset_name='ds9')
     search_obj = ImagerySearch.build_search(ir)
     mockAddName.assert_called_once_with({}, 'ds9')
     mockAddPath.assert_called_once_with({}, 1, 2)
     assert search_obj == {}
예제 #10
0
 def test_builds_search_from_day_or_night(self):
     search = ImagerySearch.add_day_or_night({}, 'DAY')
     assert json.dumps(
         search
     ) == '{"sceneFilter": {"metadataFilter": {"filterType": "and", "childFilters": [{"filterType": "value", "filterId": "5e83d0b83a03f8ee", "value": "DAY"}]}}}'
예제 #11
0
 def test_adds_dataset_name(self):
     imageryRequest = ImageryRequest(dataset_name='ds9')
     search_obj = ImagerySearch.build_search(imageryRequest)
     assert search_obj['datasetName'] == 'ds9'
예제 #12
0
 def test_builds_search_from_scene_cloud_cover(self):
     search = ImagerySearch.add_scene_cloud_cover({}, 20)
     assert json.dumps(
         search
     ) == '{"sceneFilter": {"cloudCoverFilter": {"max": 20, "min": 0}}}'