# # Copyright 2018-2022 Elyra Authors # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. # from pathlib import Path from elyra.pipeline.catalog_connector import UrlComponentCatalogConnector def test_url_connector_valid_get_entry_data(): """ Validate that UrlComponentCatalogConnector.get_entry_data(...) returns the expected results """ # Test valid "file://" inputs test_conn = UrlComponentCatalogConnector([".yaml"]) resource_location = Path(__file__).parent / "resources" / "components" / "download_data.yaml" resource_url = resource_location.as_uri() ed = test_conn.get_entry_data({"url": resource_url}, {"display_name": "file://is-valid-test"}) assert ed is not None with open(resource_location, "r") as source: assert ed.definition == source.read() def test_url_connector_invalid_get_entry_data(): """ Validate that UrlComponentCatalogConnector.get_entry_data(...) returns the expected results for invalid inputs """ # Test invalid "file://" inputs ... # ... input refers to a directory test_conn = UrlComponentCatalogConnector([".yaml"]) resource_location = Path(__file__).parent / "resources" / "components" resource_url = resource_location.as_uri() ed = test_conn.get_entry_data({"url": resource_url}, {"display_name": "file://is-a-dir-test"}) assert ed is None, resource_url # ... input refers to a non-existing file test_conn = UrlComponentCatalogConnector([".yaml"]) resource_location = Path(__file__).parent / "resources" / "components" / "no-such-file.yaml" resource_url = resource_location.as_uri() ed = test_conn.get_entry_data({"url": resource_url}, {"display_name": "file://no-such-file-test"}) assert ed is None, resource_url