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"}'
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 } } }
def test_builds_value_filter(self): filter = ImagerySearch.value_filter('WRS Path', 5) assert filter == { 'filterType': 'value', 'filterId': '5e83d0b81d20cee8', 'value': '5' }
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
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
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"}]}}'
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"}]}}'
def test_builds_value_filter(self): filter = ImagerySearch.value_filter('WRS Path', 5) assert filter == {'filterType': 'value', 'fieldId': 20514, 'value': 5}
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 == {}
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"}]}}}'
def test_adds_dataset_name(self): imageryRequest = ImageryRequest(dataset_name='ds9') search_obj = ImagerySearch.build_search(imageryRequest) assert search_obj['datasetName'] == 'ds9'
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}}}'