def test_query_deimos(): inputs, eo_image_source_info = deimos_inputs() mime_types = { k: eo_image_source_info[k]["mime_types"] for k in eo_image_source_info } data = opensearch.query_eo_images_from_wps_inputs(inputs, eo_image_source_info, mime_types) assert len(data["image-deimos"]) == inputs["image-deimos"][0].max_occurs
def test_query_non_unique(): inputs_s2, eo_image_source_info_s2 = sentinel2_inputs(unique_aoi_toi=False) inputs_probav, eo_image_source_info_probav = probav_inputs(unique_aoi_toi=False) inputs = inputs_s2 inputs.update(inputs_probav) eo_image_source_info = eo_image_source_info_s2 eo_image_source_info.update(eo_image_source_info_probav) mime_types = {k: eo_image_source_info[k]["mime_types"] for k in eo_image_source_info} data = opensearch.query_eo_images_from_wps_inputs(inputs, eo_image_source_info, mime_types) assert len(data["image-sentinel2"]) == inputs["image-sentinel2"][0].max_occurs assert len(data["image-probav"]) == inputs["image-probav"][0].max_occurs
def test_transform_execute_parameters_wps(): def make_input(id_, value): input_ = LiteralInput(id_, "", data_type="string") input_.data = value return input_ def make_deque(id_, value): input_ = make_input(id_, value) return id_, deque([input_]) inputs = dict([ make_deque(OpenSearchField.START_DATE, "2018-01-30T00:00:00.000Z"), make_deque(OpenSearchField.END_DATE, "2018-01-31T23:59:59.999Z"), make_deque(OpenSearchField.AOI, "100.4,15.3,104.6,19.3"), make_deque("files", COLLECTION_IDS["sentinel2"]), make_deque("output_file_type", "GEOTIFF"), make_deque("output_name", "stack_result.tif"), ]) mocked_query = ["file:///something.SAFE"] files_inputs = [ make_input("files", "opensearch" + m) for m in mocked_query ] expected = dict([ make_deque("output_file_type", "GEOTIFF"), make_deque("output_name", "stack_result.tif"), ("files", deque(files_inputs)), ]) with mock.patch.object(opensearch.OpenSearchQuery, "query_datasets", return_value=mocked_query): eo_image_source_info = make_eo_image_source_info( "files", COLLECTION_IDS["sentinel2"]) mime_types = {"files": eo_image_source_info["files"]["mime_types"]} transformed = opensearch.query_eo_images_from_wps_inputs( inputs, eo_image_source_info, mime_types) def compare(items): return sorted([(k, [v.data for v in values]) for k, values in items.items()]) assert compare(transformed) == compare(expected)