示例#1
0
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
示例#2
0
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
示例#3
0
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)