From 84acf661dc3c8fd9877950d7f84974bd4d589350 Mon Sep 17 00:00:00 2001 From: Ricardo Silva Date: Wed, 25 May 2016 02:15:27 +0100 Subject: [PATCH 001/119] moving tests to pytest --- requirements-dev.txt | 2 + tests/conftest.py | 105 ++++++++++++++++++ tests/test_suites.py | 248 +++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 355 insertions(+) create mode 100644 tests/conftest.py create mode 100644 tests/test_suites.py diff --git a/requirements-dev.txt b/requirements-dev.txt index 6eeb2fb6e..e0a2f5264 100644 --- a/requirements-dev.txt +++ b/requirements-dev.txt @@ -1,2 +1,4 @@ Paver==1.2.2 +pytest==2.9.1 +requests==2.10.0 sphinx diff --git a/tests/conftest.py b/tests/conftest.py new file mode 100644 index 000000000..1db583ac9 --- /dev/null +++ b/tests/conftest.py @@ -0,0 +1,105 @@ +"""pytest configuration file""" + +import glob +import os +import subprocess +import random +import shlex +import time + +import pytest + +TESTS_ROOT = os.path.dirname(os.path.abspath(__file__)) + + +# This list holds the names of the suites that are available for functional +# testing +FUNCTIONAL_SUITES = [ + "apiso", + "apiso-inspire", + "atom", + "cite", + "csw30", + "default", + "dif", + "ebrim", + "fgdc", + "gm03", + "harvesting", + "oaipmh", + "repofilter", + "sru", + "utf-8", +] + + +def pytest_configure(config): + config.addinivalue_line( + "markers", + "functional: Run only functional tests" + ) + + +def pytest_addoption(parser): + parser.addoption( + "--suite", + action="append", + choices=FUNCTIONAL_SUITES, + default=[], + help="Suites to run functional tests against. Specify this parameter " + "multiple times in order to include several suites. If not " + "specified, all available suites are tested" + ) + + +def pytest_generate_tests(metafunc): + """Parametrize tests programatically. + + Check pytest's documentation for information on this function: + + http://pytest.org/latest/parametrize.html#basic-pytest-generate-tests-example + + """ + + expected_dir = os.path.join(TESTS_ROOT, "expected") + if metafunc.function.__name__ == "test_suites_post": + test_data, test_names = _configure_functional_post_tests(metafunc, + expected_dir) + metafunc.parametrize(["test_request", "expected_result", "config"], + test_data, ids=test_names) + + +def _configure_functional_post_tests(metafunc, expected_dir): + test_data = [] + test_names = [] + for suite in metafunc.config.getoption("suite") or FUNCTIONAL_SUITES: + suite_dir = os.path.join(TESTS_ROOT, "suites", suite) + configuration_path = os.path.join(suite_dir, "default.cfg") + post_requests_dir = os.path.join(suite_dir, "post") + for item in glob.iglob(os.path.join(post_requests_dir, "*")): + test_id = os.path.splitext(os.path.basename(item))[0] + expected = os.path.join( + expected_dir, "suites_{0}_post_{1}.xml".format(suite, test_id)) + if os.path.isfile(item) and os.path.isfile(expected): + test_data.append((item, expected, configuration_path)) + test_names.append("{0}_{1}".format(suite, test_id)) + return test_data, test_names + + +@pytest.fixture(scope="session") +def local_server(request): + """A local pycsw server using Python's wsgiref server""" + + port = random.randint(8000, 8050) + command = "python pycsw/wsgi.py {}".format(port) + working_dir = os.path.dirname(TESTS_ROOT) + pycsw_process = subprocess.Popen(shlex.split(command), cwd=working_dir) + time.sleep(2) # give the external process some time to start + + def finalizer(): + pycsw_process.terminate() + pycsw_process.wait() + + request.addfinalizer(finalizer) + return "http://localhost:{}".format(port) + diff --git a/tests/test_suites.py b/tests/test_suites.py new file mode 100644 index 000000000..6b7cd1f25 --- /dev/null +++ b/tests/test_suites.py @@ -0,0 +1,248 @@ +# ================================================================= +# +# Authors: Tom Kralidis +# Ricardo Garcia Silva +# +# Copyright (c) 2016 Tom Kralidis +# Copyright (c) 2016 Ricardo Garcia Silva +# +# Permission is hereby granted, free of charge, to any person +# obtaining a copy of this software and associated documentation +# files (the "Software"), to deal in the Software without +# restriction, including without limitation the rights to use, +# copy, modify, merge, publish, distribute, sublicense, and/or sell +# copies of the Software, and to permit persons to whom the +# Software is furnished to do so, subject to the following +# conditions: +# +# The above copyright notice and this permission notice shall be +# included in all copies or substantial portions of the Software. +# +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +# EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES +# OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +# NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT +# HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, +# WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR +# OTHER DEALINGS IN THE SOFTWARE. +# +# ================================================================= +"""Functional tests for pycsw. + +These tests are based on the execution of the requests defined in the suites +under the `suites` directory. + +""" + +import codecs +from io import BytesIO +import json +from lxml import etree +from lxml import objectify +import os +import pytest +import re +import requests + +ENCODING = "utf-8" + + +@pytest.mark.functional +class TestSuites(object): + + def test_suites_post(self, local_server, test_request, expected_result, + config): + print("locals: {0}".format(locals())) + with open(test_request, encoding=ENCODING) as request_fh: + request_data = request_fh.read() + with open(expected_result, encoding=ENCODING) as expected_fh: + expected = expected_fh.read() + response = requests.post(local_server, + params={"config": config}, + data=request_data) + response_data = response.text + assert _get_validity(expected, response_data) + #assert response.status_code == 200 + + +def _test_xml_result(result, expected): + """Compare the XML test results with an expected value. + + This function compares the test result with the expected values by + performing XML canonicalization (c14n)[1]_. + + Parameters + ---------- + result: str + The result of running the test. + expected: str + The expected outcome. + + Returns + ------- + bool + Whether the result matches the expectations or not. + + Raises + ------ + etree.XMLSyntaxError + If any of the input parameters is not a valid XMl. + etree.C14NError + If any of the input parameters cannot be canonicalized. This may + happen if there are relative namespace URIs in any of the XML + documents, as they are explicitly not allowed when doing XML c14n + + References + ---------- + .. [1] http://www.w3.org/TR/xml-c14n + + """ + + result_element = etree.fromstring(result.encode(ENCODING)) + expected_element = etree.fromstring(expected.encode(ENCODING)) + result_buffer = BytesIO() + result_tree = result_element.getroottree() + objectify.deannotate(result_tree, cleanup_namespaces=True) + result_tree.write_c14n(result_buffer) + expected_buffer = BytesIO() + expected_tree = expected_element.getroottree() + objectify.deannotate(expected_tree, cleanup_namespaces=True) + expected_tree.write_c14n(expected_buffer) + matches = result_buffer.getvalue() == expected_buffer.getvalue() + return matches + + +def _test_json_result(result, expected): + """Compare the JSON test results with an expected value. + + Parameters + ---------- + result: str + The result of running the test. + expected: str + The expected outcome. + + Returns + ------- + bool + Whether the result matches the expectations or not. + + """ + + result_dict = json.loads(result, encoding=ENCODING) + expected_dict = json.loads(expected, encoding=ENCODING) + return result_dict == expected_dict + + +def _get_validity(expected, result, force_id_mask=False): + """Test whether the test result matches the expected outcome. + + This function deals with both XML and JSON results. It first tries to + parse the result and the expected outcome as XML and evaluates them using + XML canonicalization (c14n). If the result cannot be parsed as XML, it then + tries to load it as JSON and does a sorted comparison. + + Parameters + ---------- + expected: str + The expected outcome of the test + result: str + The actual result that was generated by running the test code + force_id_mask: bool, optional + Whether to apply result normalization to id fields + + Returns + ------- + bool + Whether the result matches the expected values + + """ + + normalized_result = _normalize(result, force_id_mask=force_id_mask) + try: + matches_expected = _test_xml_result(normalized_result, expected) + except etree.XMLSyntaxError: + # the file is either not XML (perhaps JSON?) or malformed + matches_expected = _test_json_result(normalized_result, expected) + return matches_expected + + +def _normalize(sresult, force_id_mask=False): + """Replace time, updateSequence and version specific values with generic + values""" + + # XML responses + version = re.search(r'', sresult) + updatesequence = re.search(r'updateSequence="(\S+)"', sresult) + timestamp = re.search(r'timestamp="(.*)"', sresult) + timestamp2 = re.search(r'timeStamp="(.*)"', sresult) + timestamp3 = re.search(r'(.*)', sresult) + timestamp4 = re.search(r'(.*)', sresult) + zrhost = re.search(r'(.*)', sresult) + zrport = re.search(r'(.*)', sresult) + elapsed_time = re.search(r'elapsedTime="(.*)"', sresult) + expires = re.search(r'expires="(.*?)"', sresult) + atom_updated = re.findall(r'(.*)', sresult) + + if version: + sresult = sresult.replace(version.group(0), r'') + if updatesequence: + sresult = sresult.replace(updatesequence.group(0), + r'updateSequence="PYCSW_UPDATESEQUENCE"') + if timestamp: + sresult = sresult.replace(timestamp.group(0), + r'timestamp="PYCSW_TIMESTAMP"') + if timestamp2: + sresult = sresult.replace(timestamp2.group(0), + r'timeStamp="PYCSW_TIMESTAMP"') + if timestamp3: + sresult = sresult.replace(timestamp3.group(0), + r'PYCSW_TIMESTAMP') + if timestamp4: + sresult = sresult.replace(timestamp4.group(0), + r'PYCSW_TIMESTAMP') + if zrport: + sresult = sresult.replace(zrport.group(0), + r'PYCSW_PORT') + if zrhost: + sresult = sresult.replace(zrhost.group(0), + r'PYCSW_HOST') + if elapsed_time: + sresult = sresult.replace(elapsed_time.group(0), + r'elapsedTime="PYCSW_ELAPSED_TIME"') + if expires: + sresult = sresult.replace(expires.group(0), + r'expires="PYCSW_EXPIRES"') + for au in atom_updated: + sresult = sresult.replace(au, r'PYCSW_TIMESTAMP') + + # for csw:HarvestResponse documents, mask identifiers + # which are dynamically generated for OWS endpoints + if sresult.find(r'HarvestResponse') != -1: + identifier = re.findall(r'(\S+)', + sresult) + for i in identifier: + sresult = sresult.replace(i, r'PYCSW_IDENTIFIER') + + # JSON responses + timestamp = re.search(r'"@timestamp": "(.*?)"', sresult) + + if timestamp: + sresult = sresult.replace(timestamp.group(0), + r'"@timestamp": "PYCSW_TIMESTAMP"') + + # harvesting-based GetRecords/GetRecordById responses + if force_id_mask: + dcid = re.findall(r'(urn:uuid.*)', sresult) + isoid = re.findall(r'id="(urn:uuid.*)"', sresult) + isoid2 = re.findall(r'(urn:uuid.*) Date: Wed, 25 May 2016 18:42:12 +0100 Subject: [PATCH 002/119] working on POST tests --- tests/conftest.py | 180 ++++++++++++++++++++++++++++++++++++------- tests/test_suites.py | 115 +++++++++++++++++---------- 2 files changed, 226 insertions(+), 69 deletions(-) diff --git a/tests/conftest.py b/tests/conftest.py index 1db583ac9..f36f616d0 100644 --- a/tests/conftest.py +++ b/tests/conftest.py @@ -42,14 +42,19 @@ def pytest_configure(config): def pytest_addoption(parser): parser.addoption( - "--suite", - action="append", - choices=FUNCTIONAL_SUITES, - default=[], - help="Suites to run functional tests against. Specify this parameter " - "multiple times in order to include several suites. If not " - "specified, all available suites are tested" + "--database-backend", + choices=["sqlite", "postgres"], + default="sqlite", + help="Database backend to use when performing functional tests" ) + for suite_name in FUNCTIONAL_SUITES: + parser.addoption( + "--server-url-{0}-suite".format(suite_name), + help="URL to perform functional tests for the {0!r} suite. If not " + "specified, a local pycsw instance is spawned, configured " + "with the {0!r} suite settings and used " + "in tests.".format(suite_name) + ) def pytest_generate_tests(metafunc): @@ -62,38 +67,156 @@ def pytest_generate_tests(metafunc): """ expected_dir = os.path.join(TESTS_ROOT, "expected") - if metafunc.function.__name__ == "test_suites_post": - test_data, test_names = _configure_functional_post_tests(metafunc, - expected_dir) - metafunc.parametrize(["test_request", "expected_result", "config"], - test_data, ids=test_names) + for suite_name in FUNCTIONAL_SUITES: + safe_suite_name = suite_name.replace("-", "_") + option_name = "--server-url-{0}-suite".format(suite_name) + fixture_name = "server_{0}_suite".format(safe_suite_name) + test_name = "test_{0}_suite".format(safe_suite_name) + uses_fixture = fixture_name in metafunc.fixturenames + test_name_matches = metafunc.function.__name__ == test_name + if uses_fixture and test_name_matches: + test_data, test_names = _configure_functional_post_tests( + expected_dir, safe_suite_name) + metafunc.parametrize( + ["test_request", "expected_result"], + test_data, + ids=test_names, + scope="session" + ) + break -def _configure_functional_post_tests(metafunc, expected_dir): +@pytest.fixture(scope="session") +def suite_info(request): + suite_name = request.param test_data = [] test_names = [] - for suite in metafunc.config.getoption("suite") or FUNCTIONAL_SUITES: - suite_dir = os.path.join(TESTS_ROOT, "suites", suite) - configuration_path = os.path.join(suite_dir, "default.cfg") - post_requests_dir = os.path.join(suite_dir, "post") - for item in glob.iglob(os.path.join(post_requests_dir, "*")): - test_id = os.path.splitext(os.path.basename(item))[0] - expected = os.path.join( - expected_dir, "suites_{0}_post_{1}.xml".format(suite, test_id)) - if os.path.isfile(item) and os.path.isfile(expected): - test_data.append((item, expected, configuration_path)) - test_names.append("{0}_{1}".format(suite, test_id)) - return test_data, test_names + expected_dir = os.path.join(TESTS_ROOT, "expected") + suite_dir = os.path.join(TESTS_ROOT, "suites", suite_name) + configuration_path = os.path.join(suite_dir, "default.cfg") + post_requests_dir = os.path.join(suite_dir, "post") + for item in glob.iglob(os.path.join(post_requests_dir, "*")): + test_id = os.path.splitext(os.path.basename(item))[0] + expected = os.path.join( + expected_dir, + "suites_{0}_post_{1}.xml".format(suite_name, test_id) + ) + if os.path.isfile(item) and os.path.isfile(expected): + test_data.append((item, expected, configuration_path)) + test_names.append("{0}_{1}".format(suite_name, test_id)) + return configuration_path, test_data, test_names + + +@pytest.fixture(scope="session") +def server_apiso_suite(request): + return _get_server_with_config(request, "apiso") + + +@pytest.fixture(scope="session") +def server_apiso_inspire_suite(request): + return _get_server_with_config(request, "apiso-inspire") + + +@pytest.fixture(scope="session") +def server_atom_suite(request): + return _get_server_with_config(request, "atom") + + +@pytest.fixture(scope="session") +def server_cite_suite(request): + return _get_server_with_config(request, "cite") + + +@pytest.fixture(scope="session") +def server_csw30_suite(request): + return _get_server_with_config(request, "csw30") + + +@pytest.fixture(scope="session") +def server_default_suite(request): + return _get_server_with_config(request, "default") + + +@pytest.fixture(scope="session") +def server_dif_suite(request): + return _get_server_with_config(request, "dif") + + +@pytest.fixture(scope="session") +def server_ebrim_suite(request): + return _get_server_with_config(request, "ebrim") @pytest.fixture(scope="session") -def local_server(request): - """A local pycsw server using Python's wsgiref server""" +def server_fgdc_suite(request): + return _get_server_with_config(request, "fgdc") + +@pytest.fixture(scope="session") +def server_gm03_suite(request): + return _get_server_with_config(request, "gm03") + + +@pytest.fixture(scope="session") +def server_harvesting_suite(request): + return _get_server_with_config(request, "harvesting") + + +@pytest.fixture(scope="session") +def server_oaipmh_suite(request): + return _get_server_with_config(request, "oaipmh") + + +@pytest.fixture(scope="session") +def server_repofilter_suite(request): + return _get_server_with_config(request, "repofilter") + + +@pytest.fixture(scope="session") +def server_sru_suite(request): + return _get_server_with_config(request, "sru") + + +@pytest.fixture(scope="session") +def server_utf_8_suite(request): + return _get_server_with_config(request, "utf-8") + + +def _configure_functional_post_tests(expected_dir, suite_name): + test_data = [] + test_names = [] + suite_dir = os.path.join(TESTS_ROOT, "suites", suite_name) + post_requests_dir = os.path.join(suite_dir, "post") + for item in glob.iglob(os.path.join(post_requests_dir, "*")): + test_id = os.path.splitext(os.path.basename(item))[0] + expected = os.path.join( + expected_dir, + "suites_{0}_post_{1}.xml".format(suite_name, test_id) + ) + if os.path.isfile(item) and os.path.isfile(expected): + test_data.append((item, expected)) + test_names.append("{0}_{1}".format(suite_name, test_id)) + return test_data, test_names + + +def _get_server_with_config(request, suite_name): + url = request.config.getoption("--server-url-{0}-suite".format(suite_name)) + config = os.path.join(TESTS_ROOT, "suites", suite_name, "default.cfg") + if url is None: + url = _start_local_server(request, config) + else: # use the provided url and assume the config has been set + url = url + return url + + +def _start_local_server(request, config_path): port = random.randint(8000, 8050) command = "python pycsw/wsgi.py {}".format(port) working_dir = os.path.dirname(TESTS_ROOT) - pycsw_process = subprocess.Popen(shlex.split(command), cwd=working_dir) + env = os.environ.copy() + env["PYCSW_CONFIG"] = config_path + pycsw_process = subprocess.Popen(shlex.split(command), cwd=working_dir, + env=env) time.sleep(2) # give the external process some time to start def finalizer(): @@ -102,4 +225,3 @@ def finalizer(): request.addfinalizer(finalizer) return "http://localhost:{}".format(port) - diff --git a/tests/test_suites.py b/tests/test_suites.py index 6b7cd1f25..2ef12c82a 100644 --- a/tests/test_suites.py +++ b/tests/test_suites.py @@ -51,19 +51,87 @@ @pytest.mark.functional class TestSuites(object): - def test_suites_post(self, local_server, test_request, expected_result, - config): - print("locals: {0}".format(locals())) + def test_apiso_suite(self, server_apiso_suite, test_request, + expected_result): + self._test_request(server_apiso_suite, test_request, expected_result) + + def test_apiso_inspire_suite(self, server_apiso_inspire_suite, + test_request, expected_result): + self._test_request(server_apiso_inspire_suite, test_request, + expected_result) + + def test_atom_suite(self, server_atom_suite, test_request, + expected_result): + self._test_request(server_atom_suite, test_request, expected_result) + + def test_cite_suite(self, server_cite_suite, test_request, + expected_result): + self._test_request(server_cite_suite, test_request, expected_result) + + def test_csw30_suite(self, server_csw30_suite, test_request, + expected_result): + self._test_request(server_csw30_suite, test_request, expected_result) + + def test_default_suite(self, server_default_suite, test_request, + expected_result): + self._test_request(server_default_suite, test_request, expected_result) + + def test_dif_suite(self, server_dif_suite, test_request, + expected_result): + self._test_request(server_dif_suite, test_request, expected_result) + + def test_ebrim_suite(self, server_ebrim_suite, test_request, + expected_result): + self._test_request(server_ebrim_suite, test_request, expected_result) + + def test_fgdc_suite(self, server_fgdc_suite, test_request, + expected_result): + self._test_request(server_fgdc_suite, test_request, expected_result) + + def test_gm03_suite(self, server_gm03_suite, test_request, + expected_result): + self._test_request(server_gm03_suite, test_request, expected_result) + + def test_harvesting_suite(self, server_harvesting_suite, test_request, + expected_result): + self._test_request(server_harvesting_suite, test_request, + expected_result) + + def test_oaipmh_suite(self, server_oaipmh_suite, test_request, + expected_result): + self._test_request(server_oaipmh_suite, test_request, expected_result) + + def test_repofilter_suite(self, server_repofilter_suite, test_request, + expected_result): + self._test_request(server_repofilter_suite, test_request, + expected_result) + + def test_sru_suite(self, server_sru_suite, test_request, + expected_result): + self._test_request(server_sru_suite, test_request, expected_result) + + def test_utf_8_suite(self, server_utf_8_suite, test_request, + expected_result): + self._test_request(server_utf_8_suite, test_request, expected_result) + + def _test_request(self, pycsw_server_url, test_request, expected_result): with open(test_request, encoding=ENCODING) as request_fh: request_data = request_fh.read() with open(expected_result, encoding=ENCODING) as expected_fh: expected = expected_fh.read() - response = requests.post(local_server, - params={"config": config}, + response = requests.post(pycsw_server_url, data=request_data) response_data = response.text - assert _get_validity(expected, response_data) - #assert response.status_code == 200 + + normalized_result = _normalize(response_data, force_id_mask=False) + print("expected: {0}".format(expected)) + print("response: {0}".format(normalized_result)) + try: + matches_expected = _test_xml_result(normalized_result, expected) + except etree.XMLSyntaxError: + # the file is either not XML (perhaps JSON?) or malformed + matches_expected = _test_json_result(normalized_result, expected) + assert matches_expected def _test_xml_result(result, expected): @@ -135,39 +203,6 @@ def _test_json_result(result, expected): return result_dict == expected_dict -def _get_validity(expected, result, force_id_mask=False): - """Test whether the test result matches the expected outcome. - - This function deals with both XML and JSON results. It first tries to - parse the result and the expected outcome as XML and evaluates them using - XML canonicalization (c14n). If the result cannot be parsed as XML, it then - tries to load it as JSON and does a sorted comparison. - - Parameters - ---------- - expected: str - The expected outcome of the test - result: str - The actual result that was generated by running the test code - force_id_mask: bool, optional - Whether to apply result normalization to id fields - - Returns - ------- - bool - Whether the result matches the expected values - - """ - - normalized_result = _normalize(result, force_id_mask=force_id_mask) - try: - matches_expected = _test_xml_result(normalized_result, expected) - except etree.XMLSyntaxError: - # the file is either not XML (perhaps JSON?) or malformed - matches_expected = _test_json_result(normalized_result, expected) - return matches_expected - - def _normalize(sresult, force_id_mask=False): """Replace time, updateSequence and version specific values with generic values""" From 4aca3bd38c84efc03051d3da2a8b44a694614569 Mon Sep 17 00:00:00 2001 From: Ricardo Silva Date: Sun, 29 May 2016 11:32:39 +0100 Subject: [PATCH 003/119] adding ports for each suite --- tests/conftest.py | 141 +++++++++++++++++++++++++++++++++------------- 1 file changed, 101 insertions(+), 40 deletions(-) diff --git a/tests/conftest.py b/tests/conftest.py index f36f616d0..82ac736bf 100644 --- a/tests/conftest.py +++ b/tests/conftest.py @@ -1,9 +1,9 @@ """pytest configuration file""" +from configparser import ConfigParser import glob import os import subprocess -import random import shlex import time @@ -47,6 +47,18 @@ def pytest_addoption(parser): default="sqlite", help="Database backend to use when performing functional tests" ) + parser.addoption( + "--database-user-postgres", + default="postgres", + help="Username to use for creating and accessing local postgres " + "databases used for functional tests." + ) + parser.addoption( + "--database-password-postgres", + default="", + help="Password to use for creating and accessing local postgres " + "databases used for functional tests." + ) for suite_name in FUNCTIONAL_SUITES: parser.addoption( "--server-url-{0}-suite".format(suite_name), @@ -68,7 +80,7 @@ def pytest_generate_tests(metafunc): expected_dir = os.path.join(TESTS_ROOT, "expected") for suite_name in FUNCTIONAL_SUITES: - safe_suite_name = suite_name.replace("-", "_") + safe_suite_name = _get_suite_safe_name(suite_name) option_name = "--server-url-{0}-suite".format(suite_name) fixture_name = "server_{0}_suite".format(safe_suite_name) test_name = "test_{0}_suite".format(safe_suite_name) @@ -108,78 +120,93 @@ def suite_info(request): @pytest.fixture(scope="session") -def server_apiso_suite(request): - return _get_server_with_config(request, "apiso") +def server_apiso_suite(request, tmpdir_factory): + return _get_server_with_config(request, "apiso", + tmpdir_factory, 8010) @pytest.fixture(scope="session") -def server_apiso_inspire_suite(request): - return _get_server_with_config(request, "apiso-inspire") +def server_apiso_inspire_suite(request, tmpdir_factory): + return _get_server_with_config(request, "apiso-inspire", + tmpdir_factory, 8011) @pytest.fixture(scope="session") -def server_atom_suite(request): - return _get_server_with_config(request, "atom") +def server_atom_suite(request, tmpdir_factory): + return _get_server_with_config(request, "atom", + tmpdir_factory, 8012) @pytest.fixture(scope="session") -def server_cite_suite(request): - return _get_server_with_config(request, "cite") +def server_cite_suite(request, tmpdir_factory): + return _get_server_with_config(request, "cite", + tmpdir_factory, 8013) @pytest.fixture(scope="session") -def server_csw30_suite(request): - return _get_server_with_config(request, "csw30") +def server_csw30_suite(request, tmpdir_factory): + return _get_server_with_config(request, "csw30", + tmpdir_factory, 8014) @pytest.fixture(scope="session") -def server_default_suite(request): - return _get_server_with_config(request, "default") +def server_default_suite(request, tmpdir_factory): + return _get_server_with_config(request, "default", + tmpdir_factory, 8015) @pytest.fixture(scope="session") -def server_dif_suite(request): - return _get_server_with_config(request, "dif") +def server_dif_suite(request, tmpdir_factory): + return _get_server_with_config(request, "dif", + tmpdir_factory, 8016) @pytest.fixture(scope="session") -def server_ebrim_suite(request): - return _get_server_with_config(request, "ebrim") +def server_ebrim_suite(request, tmpdir_factory): + return _get_server_with_config(request, "ebrim", + tmpdir_factory, 8017) @pytest.fixture(scope="session") -def server_fgdc_suite(request): - return _get_server_with_config(request, "fgdc") +def server_fgdc_suite(request, tmpdir_factory): + return _get_server_with_config(request, "fgdc", + tmpdir_factory, 8018) @pytest.fixture(scope="session") -def server_gm03_suite(request): - return _get_server_with_config(request, "gm03") +def server_gm03_suite(request, tmpdir_factory): + return _get_server_with_config(request, "gm03", + tmpdir_factory, 8019) @pytest.fixture(scope="session") -def server_harvesting_suite(request): - return _get_server_with_config(request, "harvesting") +def server_harvesting_suite(request, tmpdir_factory): + return _get_server_with_config(request, "harvesting", + tmpdir_factory, 8020) @pytest.fixture(scope="session") -def server_oaipmh_suite(request): - return _get_server_with_config(request, "oaipmh") +def server_oaipmh_suite(request, tmpdir_factory): + return _get_server_with_config(request, "oaipmh", + tmpdir_factory, 8021) @pytest.fixture(scope="session") -def server_repofilter_suite(request): - return _get_server_with_config(request, "repofilter") +def server_repofilter_suite(request, tmpdir_factory): + return _get_server_with_config(request, "repofilter", + tmpdir_factory, 8022) @pytest.fixture(scope="session") -def server_sru_suite(request): - return _get_server_with_config(request, "sru") +def server_sru_suite(request, tmpdir_factory): + return _get_server_with_config(request, "sru", + tmpdir_factory, 8023) @pytest.fixture(scope="session") -def server_utf_8_suite(request): - return _get_server_with_config(request, "utf-8") +def server_utf_8_suite(request, tmpdir_factory): + return _get_server_with_config(request, "utf-8", + tmpdir_factory, 8024) def _configure_functional_post_tests(expected_dir, suite_name): @@ -199,29 +226,63 @@ def _configure_functional_post_tests(expected_dir, suite_name): return test_data, test_names -def _get_server_with_config(request, suite_name): +def _get_suite_safe_name(suite_name): + return suite_name.replace("-", "_") + + +def _get_server_with_config(request, suite_name, tmpdir_factory, port_number): url = request.config.getoption("--server-url-{0}-suite".format(suite_name)) - config = os.path.join(TESTS_ROOT, "suites", suite_name, "default.cfg") if url is None: - url = _start_local_server(request, config) + print("Initializing server for {0} suite...".format(suite_name)) + original_config_path = os.path.join(TESTS_ROOT, "suites", + suite_name, "default.cfg") + safe_suite_name = _get_suite_safe_name(suite_name) + config = ConfigParser() + config.read(original_config_path) + test_temp_directory = tmpdir_factory.mktemp(safe_suite_name, + numbered=True) + db_url = _get_database_url(request, safe_suite_name, + test_temp_directory) + # now we can change the config as needed + config.set("repository", "database", db_url) + new_config = test_temp_directory.join("default.cfg") + fh = new_config.open("w") + config.write(fh) + fh.close() + # create the database, if needed + # load records, if any + url = _start_local_server(request, str(new_config), port_number) else: # use the provided url and assume the config has been set url = url return url -def _start_local_server(request, config_path): - port = random.randint(8000, 8050) - command = "python pycsw/wsgi.py {}".format(port) +def _get_database_url(request, suite_name, test_dir): + db_type = request.config.getoption("--database-backend") + if db_type == "sqlite": + db_url = "sqlite:///{0}/records.db".format(test_dir) + elif db_type == "postgres": + user = request.config.getoption("--database-user-postgres") + password = request.config.getoption("--database-password-postgres") + db_url = "postgres://{0}:{1}@localhost/pycsw_test_{2}".format( + user, password, suite_name) + else: + raise NotImplementedError + return db_url + + +def _start_local_server(request, config_path, port_number): + command = "python pycsw/wsgi.py {}".format(port_number) working_dir = os.path.dirname(TESTS_ROOT) env = os.environ.copy() env["PYCSW_CONFIG"] = config_path pycsw_process = subprocess.Popen(shlex.split(command), cwd=working_dir, env=env) - time.sleep(2) # give the external process some time to start + time.sleep(3) # give the external process some time to start def finalizer(): pycsw_process.terminate() pycsw_process.wait() request.addfinalizer(finalizer) - return "http://localhost:{}".format(port) + return "http://localhost:{}".format(port_number) From 07d644a5f753397860d6a2cd11423db9279d4bb8 Mon Sep 17 00:00:00 2001 From: Ricardo Garcia Silva Date: Sun, 29 May 2016 13:31:07 +0100 Subject: [PATCH 004/119] refactoring tests to use py.test --- tests/conftest.py | 147 +++++++++++++++++++++++--- tests/test_suites.py | 239 ++++++++++++++++++++++++++++++------------- 2 files changed, 302 insertions(+), 84 deletions(-) diff --git a/tests/conftest.py b/tests/conftest.py index 82ac736bf..52730e275 100644 --- a/tests/conftest.py +++ b/tests/conftest.py @@ -9,6 +9,9 @@ import pytest +from pycsw.core import admin +from pycsw.core.config import StaticContext + TESTS_ROOT = os.path.dirname(os.path.abspath(__file__)) @@ -81,12 +84,13 @@ def pytest_generate_tests(metafunc): expected_dir = os.path.join(TESTS_ROOT, "expected") for suite_name in FUNCTIONAL_SUITES: safe_suite_name = _get_suite_safe_name(suite_name) - option_name = "--server-url-{0}-suite".format(suite_name) fixture_name = "server_{0}_suite".format(safe_suite_name) - test_name = "test_{0}_suite".format(safe_suite_name) uses_fixture = fixture_name in metafunc.fixturenames - test_name_matches = metafunc.function.__name__ == test_name - if uses_fixture and test_name_matches: + test_name_post = "test_post_requests" + test_name_get = "test_get_requests" + test_name_get_matches = metafunc.function.__name__ == test_name_get + test_name_post_matches = metafunc.function.__name__ == test_name_post + if uses_fixture and test_name_post_matches: test_data, test_names = _configure_functional_post_tests( expected_dir, safe_suite_name) metafunc.parametrize( @@ -96,6 +100,16 @@ def pytest_generate_tests(metafunc): scope="session" ) break + elif uses_fixture and test_name_get_matches: + test_data, test_names = _configure_functional_get_tests( + expected_dir, suite_name) + metafunc.parametrize( + ["test_request_parameters", "expected_result"], + test_data, + ids=test_names, + scope="session" + ) + break @pytest.fixture(scope="session") @@ -226,38 +240,114 @@ def _configure_functional_post_tests(expected_dir, suite_name): return test_data, test_names +def _configure_functional_get_tests(expected_dir, suite_name): + test_data = [] + test_names = [] + request_file_path = os.path.join(TESTS_ROOT, "suites", suite_name, + "get", "requests.txt") + try: + with open(request_file_path, encoding="utf-8") as fh: + for line in fh: + test_name, sep, test_params = line.partition(",") + expected = os.path.join( + expected_dir, + "suites_{0}_get_{1}.xml".format(suite_name, test_name) + ) + if os.path.isfile(expected): + test_data.append((test_params, expected)) + test_names.append("{0}_{1}".format(suite_name, test_name)) + except IOError: + pass # this suite does not have GET tests + return test_data, test_names + + def _get_suite_safe_name(suite_name): return suite_name.replace("-", "_") def _get_server_with_config(request, suite_name, tmpdir_factory, port_number): + """Provide a pycsw server to execute tests for the input suite name + + This function introspects the test context. If tests are to be run against + a user-provided url, it does nothing. If there is no user-provided url, + a new pycsw instance is created locally and its URL is returned. + + Parameters + ---------- + request: FixtureRequest + Pytest's FixtureRequest object, holding information about the test + context + suite_name: str + The safe name of the current suite + tmpdir_factory: TempDirFactory + Pytest's TempDirFactory fixture object, that is used to create + temporary directories for tests + port_number: int + Port where a local server shall be started for the input suite_name + + Returns + ------- + str + The pycsw URL that can be used in tests for the input suite_name + + """ + url = request.config.getoption("--server-url-{0}-suite".format(suite_name)) if url is None: - print("Initializing server for {0} suite...".format(suite_name)) + print("Initializing server for {0!r} suite...".format(suite_name)) original_config_path = os.path.join(TESTS_ROOT, "suites", suite_name, "default.cfg") - safe_suite_name = _get_suite_safe_name(suite_name) config = ConfigParser() config.read(original_config_path) + safe_suite_name = _get_suite_safe_name(suite_name) test_temp_directory = tmpdir_factory.mktemp(safe_suite_name, numbered=True) - db_url = _get_database_url(request, safe_suite_name, - test_temp_directory) + db_url = _initialize_database( + request, safe_suite_name, test_temp_directory, + config.get("repository", "table"), + os.path.join(TESTS_ROOT, "suites", suite_name, "data") + ) # now we can change the config as needed config.set("repository", "database", db_url) new_config = test_temp_directory.join("default.cfg") fh = new_config.open("w") config.write(fh) fh.close() - # create the database, if needed - # load records, if any - url = _start_local_server(request, str(new_config), port_number) + server_url = _start_local_server(request, str(new_config), port_number) else: # use the provided url and assume the config has been set - url = url - return url + server_url = url + return server_url + + +def _initialize_database(request, suite_name, test_dir, table_name, data_path): + """Initialize local database for functional tests. + + This function will: + + * Configure the correct database url + * Create the database + * Load any test data that the suite may require + + Parameters + ---------- + request: FixtureRequest + Pytest's FixtureRequest object, holding information about the test + context + suite_name: str + The safe name of the current suite + test_dir: str + Full path to the temporary directory being used in the suite's tests + data_path: str + Full path to a directory that has test data to be loaded up into + the suite's database + + Returns + ------- + str + The SQLAlchemy engine URL for the database. + """ -def _get_database_url(request, suite_name, test_dir): db_type = request.config.getoption("--database-backend") if db_type == "sqlite": db_url = "sqlite:///{0}/records.db".format(test_dir) @@ -268,10 +358,39 @@ def _get_database_url(request, suite_name, test_dir): user, password, suite_name) else: raise NotImplementedError + print("Setting up {0!r} database for suite {1!r}...".format(db_type, + suite_name)) + admin.setup_db(db_url, table_name, test_dir) + print("Loading database data...") + admin.load_records(StaticContext(), db_url, table_name, data_path) return db_url def _start_local_server(request, config_path, port_number): + """Start a local pycsw instance + + This function starts a new pycsw instance and also + registers a pytest finalizer function that takes care of stopping the + server when the tests are finished. + + Parameters + ---------- + + request: FixtureRequest + Pytest's FixtureRequest object, holding information about the test + context + config_path: str + Full path to pycsw's configuration file + port_number: int + Port where the server will be listening + + Returns + ------- + str + The URL of the newly started pycsw instance + + """ + command = "python pycsw/wsgi.py {}".format(port_number) working_dir = os.path.dirname(TESTS_ROOT) env = os.environ.copy() diff --git a/tests/test_suites.py b/tests/test_suites.py index 2ef12c82a..48a374059 100644 --- a/tests/test_suites.py +++ b/tests/test_suites.py @@ -47,91 +47,190 @@ ENCODING = "utf-8" +pytestmark = pytest.mark.functional -@pytest.mark.functional -class TestSuites(object): - def test_apiso_suite(self, server_apiso_suite, test_request, - expected_result): - self._test_request(server_apiso_suite, test_request, expected_result) +class TestApisoSuite(object): + + def test_post_requests(self, server_apiso_suite, test_request, + expected_result): + pass + + def test_get_requests(self, server_apiso_suite, test_request_parameters, + expected_result): + pass + + +class TestApisoInspireSuite(object): + + def test_post_requests(self, server_apiso_inspire_suite, test_request, + expected_result): + pass + + def test_get_requests(self, server_apiso_inspire_suite, + test_request_parameters, expected_result): + pass + + +class TestAtomSuite(object): + + def test_post_requests(self, server_atom_suite, test_request, + expected_result): + pass + + def test_get_requests(self, server_atom_suite, + test_request_parameters, expected_result): + pass + + +class TestCiteSuite(object): + + def test_post_requests(self, server_cite_suite, test_request, + expected_result): + pass + + def test_get_requests(self, server_cite_suite, + test_request_parameters, expected_result): + pass + + +class TestCsw30Suite(object): + + def test_post_requests(self, server_csw30_suite, test_request, + expected_result): + pass + + def test_get_requests(self, server_csw30_suite, + test_request_parameters, expected_result): + pass - def test_apiso_inspire_suite(self, server_apiso_inspire_suite, - test_request, expected_result): - self._test_request(server_apiso_inspire_suite, test_request, - expected_result) - def test_atom_suite(self, server_atom_suite, test_request, - expected_result): - self._test_request(server_atom_suite, test_request, expected_result) +class TestDefaultSuite(object): + + def test_post_requests(self, server_default_suite, test_request, + expected_result): + pass + + def test_get_requests(self, server_default_suite, test_request_parameters, + expected_result): + pass - def test_cite_suite(self, server_cite_suite, test_request, - expected_result): - self._test_request(server_cite_suite, test_request, expected_result) - def test_csw30_suite(self, server_csw30_suite, test_request, - expected_result): - self._test_request(server_csw30_suite, test_request, expected_result) +class TestDifSuite(object): - def test_default_suite(self, server_default_suite, test_request, + def test_post_requests(self, server_dif_suite, test_request, expected_result): - self._test_request(server_default_suite, test_request, expected_result) + pass + + def test_get_requests(self, server_dif_suite, test_request_parameters, + expected_result): + pass - def test_dif_suite(self, server_dif_suite, test_request, - expected_result): - self._test_request(server_dif_suite, test_request, expected_result) - def test_ebrim_suite(self, server_ebrim_suite, test_request, - expected_result): - self._test_request(server_ebrim_suite, test_request, expected_result) +class TestEbrimSuite(object): - def test_fgdc_suite(self, server_fgdc_suite, test_request, - expected_result): - self._test_request(server_fgdc_suite, test_request, expected_result) + def test_post_requests(self, server_ebrim_suite, test_request, + expected_result): + pass - def test_gm03_suite(self, server_gm03_suite, test_request, - expected_result): - self._test_request(server_gm03_suite, test_request, expected_result) + def test_get_requests(self, server_ebrim_suite, test_request_parameters, + expected_result): + pass - def test_harvesting_suite(self, server_harvesting_suite, test_request, - expected_result): - self._test_request(server_harvesting_suite, test_request, - expected_result) - def test_oaipmh_suite(self, server_oaipmh_suite, test_request, +class TestFgdcSuite(object): + + def test_post_requests(self, server_fgdc_suite, test_request, + expected_result): + pass + + def test_get_requests(self, server_fgdc_suite, test_request_parameters, + expected_result): + pass + +class TestGm03Suite(object): + + def test_post_requests(self, server_gm03_suite, test_request, + expected_result): + pass + + def test_get_requests(self, server_gm03_suite, test_request_parameters, + expected_result): + pass + +class TestHarvestingSuite(object): + + def test_post_requests(self, server_harvesting_suite, test_request, + expected_result): + pass + + def test_get_requests(self, server_harvesting_suite, + test_request_parameters, expected_result): + pass + +class TestOaipmhSuite(object): + + def test_post_requests(self, server_oaipmh_suite, test_request, + expected_result): + pass + + def test_get_requests(self, server_oaipmh_suite, test_request_parameters, + expected_result): + pass + +class TestRepofilterSuite(object): + + def test_post_requests(self, server_repofilter_suite, test_request, + expected_result): + pass + + def test_get_requests(self, server_repofilter_suite, + test_request_parameters, expected_result): + pass + +class TestSruSuite(object): + + def test_post_requests(self, server_sru_suite, test_request, + expected_result): + pass + + def test_get_requests(self, server_sru_suite, test_request_parameters, + expected_result): + pass + +class TestUtf8Suite(object): + + def test_post_requests(self, server_utf_8_suite, test_request, + expected_result): + pass + + def test_get_requests(self, server_utf_8_suite, test_request_parameters, expected_result): - self._test_request(server_oaipmh_suite, test_request, expected_result) - - def test_repofilter_suite(self, server_repofilter_suite, test_request, - expected_result): - self._test_request(server_repofilter_suite, test_request, - expected_result) - - def test_sru_suite(self, server_sru_suite, test_request, - expected_result): - self._test_request(server_sru_suite, test_request, expected_result) - - def test_utf_8_suite(self, server_utf_8_suite, test_request, - expected_result): - self._test_request(server_utf_8_suite, test_request, expected_result) - - def _test_request(self, pycsw_server_url, test_request, expected_result): - with open(test_request, encoding=ENCODING) as request_fh: - request_data = request_fh.read() - with open(expected_result, encoding=ENCODING) as expected_fh: - expected = expected_fh.read() - response = requests.post(pycsw_server_url, - data=request_data) - response_data = response.text - - normalized_result = _normalize(response_data, force_id_mask=False) - print("expected: {0}".format(expected)) - print("response: {0}".format(normalized_result)) - try: - matches_expected = _test_xml_result(normalized_result, expected) - except etree.XMLSyntaxError: - # the file is either not XML (perhaps JSON?) or malformed - matches_expected = _test_json_result(normalized_result, expected) - assert matches_expected + pass + + +def _test_post_request(pycsw_server_url, test_request, expected_result): + with open(test_request, encoding=ENCODING) as request_fh: + request_data = request_fh.read() + with open(expected_result, encoding=ENCODING) as expected_fh: + expected = expected_fh.read() + response = requests.post(pycsw_server_url, + data=request_data) + response_data = response.text + + normalized_result = _normalize(response_data, force_id_mask=False) + print("expected: {0}".format(expected)) + print("response: {0}".format(normalized_result)) + try: + matches_expected = _test_xml_result(normalized_result, expected) + except etree.XMLSyntaxError: + # the file is either not XML (perhaps JSON?) or malformed + matches_expected = _test_json_result(normalized_result, expected) + assert matches_expected + + +def _test_get_request(pycsw_server_url, parameters, expected_result): + pass def _test_xml_result(result, expected): From 0ecc653bf426c4008fd378322c35408e86db26ee Mon Sep 17 00:00:00 2001 From: Ricardo Silva Date: Tue, 31 May 2016 01:09:34 +0100 Subject: [PATCH 005/119] Removed pycsw placeholder text and unnecessary config KVP param These are not needed anymore on GET requests --- tests/suites/apiso-inspire/get/requests.txt | 4 +- tests/suites/atom/get/requests.txt | 24 +-- tests/suites/cite/get/requests.txt | 44 +++--- tests/suites/csw30/get/requests.txt | 160 ++++++++++---------- tests/suites/default/get/requests.txt | 18 +-- tests/suites/harvesting/get/requests.txt | 10 +- tests/suites/oaipmh/get/requests.txt | 40 ++--- tests/suites/sru/get/requests.txt | 10 +- 8 files changed, 155 insertions(+), 155 deletions(-) diff --git a/tests/suites/apiso-inspire/get/requests.txt b/tests/suites/apiso-inspire/get/requests.txt index 862e409d5..09816a219 100644 --- a/tests/suites/apiso-inspire/get/requests.txt +++ b/tests/suites/apiso-inspire/get/requests.txt @@ -1,2 +1,2 @@ -GetCapabilities,PYCSW_SERVER?config=tests/suites/apiso-inspire/default.cfg&service=CSW&version=2.0.2&request=GetCapabilities -GetCapabilities-lang,PYCSW_SERVER?config=tests/suites/apiso-inspire/default.cfg&service=CSW&version=2.0.2&request=GetCapabilities&lang=gre +GetCapabilities,service=CSW&version=2.0.2&request=GetCapabilities +GetCapabilities-lang,service=CSW&version=2.0.2&request=GetCapabilities&lang=gre diff --git a/tests/suites/atom/get/requests.txt b/tests/suites/atom/get/requests.txt index ba73cf845..6734cd5a7 100644 --- a/tests/suites/atom/get/requests.txt +++ b/tests/suites/atom/get/requests.txt @@ -1,12 +1,12 @@ -opensearch,PYCSW_SERVER?config=tests/suites/atom/default.cfg&mode=opensearch&service=CSW&version=2.0.2&request=GetRecords&typenames=csw:Record&resulttype=results&elementsetname=brief -opensearch-description,PYCSW_SERVER?config=tests/suites/atom/default.cfg&mode=opensearch&service=CSW&version=2.0.2&request=GetCapabilities -opensearch-ogc-q,PYCSW_SERVER?config=tests/suites/atom/default.cfg&mode=opensearch&service=CSW&version=2.0.2&request=GetRecords&elementsetname=full&resulttype=results&typenames=csw:Record&q=greece -opensearch-ogc-bbox,"PYCSW_SERVER?config=tests/suites/atom/default.cfg&mode=opensearch&service=CSW&version=2.0.2&request=GetRecords&elementsetname=full&resulttype=results&typenames=csw:Record&bbox=-180,-90,180,90" -opensearch-ogc-time,PYCSW_SERVER?config=tests/suites/atom/default.cfg&mode=opensearch&service=CSW&version=2.0.2&request=GetRecords&elementsetname=full&resulttype=results&typenames=csw:Record&time=2001/2004 -opensearch-ogc-timestart,PYCSW_SERVER?config=tests/suites/atom/default.cfg&mode=opensearch&service=CSW&version=2.0.2&request=GetRecords&elementsetname=full&resulttype=results&typenames=csw:Record&time=2004/ -opensearch-ogc-timeend,PYCSW_SERVER?config=tests/suites/atom/default.cfg&mode=opensearch&service=CSW&version=2.0.2&request=GetRecords&elementsetname=full&resulttype=results&typenames=csw:Record&time=/2004 -opensearch-ogc-q-and-time,PYCSW_SERVER?config=tests/suites/atom/default.cfg&mode=opensearch&service=CSW&version=2.0.2&request=GetRecords&elementsetname=full&resulttype=results&typenames=csw:Record&time=2001/2007&q=vitae -opensearch-ogc-bbox-and-time,"PYCSW_SERVER?config=tests/suites/atom/default.cfg&mode=opensearch&service=CSW&version=2.0.2&request=GetRecords&elementsetname=full&resulttype=results&typenames=csw:Record&time=2001/2007&bbox=-180,-90,180,90" -opensearch-ogc-q-and-bbox,"PYCSW_SERVER?config=tests/suites/atom/default.cfg&mode=opensearch&service=CSW&version=2.0.2&request=GetRecords&elementsetname=full&resulttype=results&typenames=csw:Record&q=vegetation&bbox=-180,-90,180,90" -opensearch-ogc-count-and-page1,"PYCSW_SERVER?config=tests/suites/atom/default.cfg&mode=opensearch&service=CSW&version=2.0.2&request=GetRecords&elementsetname=full&resulttype=results&typenames=csw:Record&q=vegetation&startposition=1" -opensearch-ogc-count-and-page2,"PYCSW_SERVER?config=tests/suites/atom/default.cfg&mode=opensearch&service=CSW&version=2.0.2&request=GetRecords&elementsetname=full&resulttype=results&typenames=csw:Record&q=vegetation&startposition=1&maxrecords=1" +opensearch,mode=opensearch&service=CSW&version=2.0.2&request=GetRecords&typenames=csw:Record&resulttype=results&elementsetname=brief +opensearch-description,mode=opensearch&service=CSW&version=2.0.2&request=GetCapabilities +opensearch-ogc-q,mode=opensearch&service=CSW&version=2.0.2&request=GetRecords&elementsetname=full&resulttype=results&typenames=csw:Record&q=greece +opensearch-ogc-bbox,mode=opensearch&service=CSW&version=2.0.2&request=GetRecords&elementsetname=full&resulttype=results&typenames=csw:Record&bbox=-180,-90,180,90 +opensearch-ogc-time,mode=opensearch&service=CSW&version=2.0.2&request=GetRecords&elementsetname=full&resulttype=results&typenames=csw:Record&time=2001/2004 +opensearch-ogc-timestart,mode=opensearch&service=CSW&version=2.0.2&request=GetRecords&elementsetname=full&resulttype=results&typenames=csw:Record&time=2004/ +opensearch-ogc-timeend,mode=opensearch&service=CSW&version=2.0.2&request=GetRecords&elementsetname=full&resulttype=results&typenames=csw:Record&time=/2004 +opensearch-ogc-q-and-time,mode=opensearch&service=CSW&version=2.0.2&request=GetRecords&elementsetname=full&resulttype=results&typenames=csw:Record&time=2001/2007&q=vitae +opensearch-ogc-bbox-and-time,mode=opensearch&service=CSW&version=2.0.2&request=GetRecords&elementsetname=full&resulttype=results&typenames=csw:Record&time=2001/2007&bbox=-180,-90,180,90 +opensearch-ogc-q-and-bbox,mode=opensearch&service=CSW&version=2.0.2&request=GetRecords&elementsetname=full&resulttype=results&typenames=csw:Record&q=vegetation&bbox=-180,-90,180,90 +opensearch-ogc-count-and-page1,mode=opensearch&service=CSW&version=2.0.2&request=GetRecords&elementsetname=full&resulttype=results&typenames=csw:Record&q=vegetation&startposition=1 +opensearch-ogc-count-and-page2,mode=opensearch&service=CSW&version=2.0.2&request=GetRecords&elementsetname=full&resulttype=results&typenames=csw:Record&q=vegetation&startposition=1&maxrecords=1 diff --git a/tests/suites/cite/get/requests.txt b/tests/suites/cite/get/requests.txt index 9eb5bc23f..271982886 100644 --- a/tests/suites/cite/get/requests.txt +++ b/tests/suites/cite/get/requests.txt @@ -1,22 +1,22 @@ -27e17158-c57a-4493-92ac-dba8934cf462,PYCSW_SERVER?config=tests/suites/cite/default.cfg&service=CSW&version=2.0.2&request=GetCapabilities -27f69b66-5f05-4311-a89c-73ca55c2686b,PYCSW_SERVER?config=tests/suites/cite/default.cfg&Service=CSW&Version=2.0.2&Request=GetRecordById&ElementSetName=brief&ID=urn%3Auuid%3A19887a8a-f6b0-4a63-ae56-7fba0e17801f -2ab7d1fa-885b-459f-80e4-b6282eab4f8c,PYCSW_SERVER?config=tests/suites/cite/default.cfg&service=CSW&request=GetCapabilities&acceptversions=2.0.2&date=2006-10-20 -37aa90e2-6ff0-420c-af15-8b9463099a73,PYCSW_SERVER?config=tests/suites/cite/default.cfg&service=CSW&version=2.0.2&request=GetRecordById&id=urn%3Auuid%3A9a669547-b69b-469f-a11f-2d875366bbdc -3a8a3c47-455f-4f49-9078-03119f3e70b3,PYCSW_SERVER?config=tests/suites/cite/default.cfg&service=CSW&request=GetCapabilities&acceptformats=message/example -4515831f-834a-4699-95f6-ab0c2cbfcfd0,PYCSW_SERVER?config=tests/suites/cite/default.cfg&service=CSW&version=2.0.2&request=GetRecordById -477b23a3-baa9-47c8-9541-5fe27735ed49,PYCSW_SERVER?config=tests/suites/cite/default.cfg&service=CSW&request=GetCapabilities§ions= -48f26761-3a9d-48db-bee1-da089f5fb857,PYCSW_SERVER?config=tests/suites/cite/default.cfg&sErViCe=CSW&REQUEST=GetCapabilities&version=2.0.2 -4e38092f-1586-44b8-988e-0acfa5855916,PYCSW_SERVER?config=tests/suites/cite/default.cfg&Service=CSW&Version=2.0.2&Request=GetRecordById&OutputFormat=application/bogus_xml&id=urn:uuid:a06af396-3105-442d-8b40-22b57a90d2f2,urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f,urn:uuid:ab42a8c4-95e8-4630-bf79-33e59241605a -55c38f00-2553-42c1-99ab-33edbb561ad7,PYCSW_SERVER?config=tests/suites/cite/default.cfg&service=CSW&request=GetCapabilities§ions=OperationsMetadata,ServiceIdentification -5ab5db18-c87a-4fbf-a8d8-b7289b09ac81,PYCSW_SERVER?config=tests/suites/cite/default.cfg&service=FOO&request=GetCapabilities -6a4f57ca-a1bd-4802-89c2-44860dbdb0f0,PYCSW_SERVER?config=tests/suites/cite/default.cfg&service=CSW&version=2.0.2&request=GetRecordById&id=urn:uuid:ce8627a0-685c-11db-bd13-0800200c9a66,urn:uuid:6a3de50b-fa66-4b58-a0e6-ca146fdd18d4 -6c375703-9c00-4aef-bec7-d2e964f849eb,PYCSW_SERVER?config=tests/suites/cite/default.cfg&Service=CSW&Version=2.0.2&Request=GetRecordById&OutputSchema=http://www.w3.org/2005/Atom&Id=urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f -80f31def-4185-48b9-983a-960566918eae,PYCSW_SERVER?config=tests/suites/cite/default.cfg&service=CSW&request=GetCapabilities -8e2232ed-05d9-44ae-8b04-0911cbe6a507,PYCSW_SERVER?config=tests/suites/cite/default.cfg&SERVICE=CSW&REQUEST=GetCapabilities&ACCEPTVERSIONS=2006.10.29 -9697f0aa-3b6a-4125-83a5-61e8826127c4,PYCSW_SERVER?config=tests/suites/cite/default.cfg&service=CSW&request=GetCapabilities -9bfd17fa-15dc-4a10-8fa7-b3cff7013dd7,PYCSW_SERVER?config=tests/suites/cite/default.cfg&Service=CSW&Version=2.0.2&Request=GetRecordById&ElementSetName=full&ID=urn%3Auuid%3Ae9330592-0932-474b-be34-c3a3bb67c7db -b81c3595-06d6-4693-82ea-1ff8650755ac,PYCSW_SERVER?config=tests/suites/cite/default.cfg&service=CSW&version=2.0.2&request=GetRecordById&id=urn:uuid:ce8627a0-685c-11db-bd13-0800200c9a66 -ba5fc729-3b71-47a0-b7d0-42ec565cd185,PYCSW_SERVER?config=tests/suites/cite/default.cfg&SERVICE=CSW&REQUEST=GetCapabilities&ACCEPTVERSIONS=2.0.2,2.0.0 -c4ea754f-c158-4d8d-8253-dc8f86021b52,PYCSW_SERVER?config=tests/suites/cite/default.cfg&request=GetCapabilities -f4692ec5-9547-4a05-88ab-e6154af2640a,PYCSW_SERVER?config=tests/suites/cite/default.cfg&service=CSW&version=2.0.2&request=GetCapabilities -f997f25e-c865-4d53-a362-0ed1846337f2,PYCSW_SERVER?config=tests/suites/cite/default.cfg&service=CSW&version=2.0.2&request=GetRecordById&id=urn:uuid:94bc9c83-97f6-4b40-9eb8-a8e8787a5c63 +27e17158-c57a-4493-92ac-dba8934cf462,service=CSW&version=2.0.2&request=GetCapabilities +27f69b66-5f05-4311-a89c-73ca55c2686b,Service=CSW&Version=2.0.2&Request=GetRecordById&ElementSetName=brief&ID=urn%3Auuid%3A19887a8a-f6b0-4a63-ae56-7fba0e17801f +2ab7d1fa-885b-459f-80e4-b6282eab4f8c,service=CSW&request=GetCapabilities&acceptversions=2.0.2&date=2006-10-20 +37aa90e2-6ff0-420c-af15-8b9463099a73,service=CSW&version=2.0.2&request=GetRecordById&id=urn%3Auuid%3A9a669547-b69b-469f-a11f-2d875366bbdc +3a8a3c47-455f-4f49-9078-03119f3e70b3,service=CSW&request=GetCapabilities&acceptformats=message/example +4515831f-834a-4699-95f6-ab0c2cbfcfd0,service=CSW&version=2.0.2&request=GetRecordById +477b23a3-baa9-47c8-9541-5fe27735ed49,service=CSW&request=GetCapabilities§ions= +48f26761-3a9d-48db-bee1-da089f5fb857,sErViCe=CSW&REQUEST=GetCapabilities&version=2.0.2 +4e38092f-1586-44b8-988e-0acfa5855916,Service=CSW&Version=2.0.2&Request=GetRecordById&OutputFormat=application/bogus_xml&id=urn:uuid:a06af396-3105-442d-8b40-22b57a90d2f2,urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f,urn:uuid:ab42a8c4-95e8-4630-bf79-33e59241605a +55c38f00-2553-42c1-99ab-33edbb561ad7,service=CSW&request=GetCapabilities§ions=OperationsMetadata,ServiceIdentification +5ab5db18-c87a-4fbf-a8d8-b7289b09ac81,service=FOO&request=GetCapabilities +6a4f57ca-a1bd-4802-89c2-44860dbdb0f0,service=CSW&version=2.0.2&request=GetRecordById&id=urn:uuid:ce8627a0-685c-11db-bd13-0800200c9a66,urn:uuid:6a3de50b-fa66-4b58-a0e6-ca146fdd18d4 +6c375703-9c00-4aef-bec7-d2e964f849eb,Service=CSW&Version=2.0.2&Request=GetRecordById&OutputSchema=http://www.w3.org/2005/Atom&Id=urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f +80f31def-4185-48b9-983a-960566918eae,service=CSW&request=GetCapabilities +8e2232ed-05d9-44ae-8b04-0911cbe6a507,SERVICE=CSW&REQUEST=GetCapabilities&ACCEPTVERSIONS=2006.10.29 +9697f0aa-3b6a-4125-83a5-61e8826127c4,service=CSW&request=GetCapabilities +9bfd17fa-15dc-4a10-8fa7-b3cff7013dd7,Service=CSW&Version=2.0.2&Request=GetRecordById&ElementSetName=full&ID=urn%3Auuid%3Ae9330592-0932-474b-be34-c3a3bb67c7db +b81c3595-06d6-4693-82ea-1ff8650755ac,service=CSW&version=2.0.2&request=GetRecordById&id=urn:uuid:ce8627a0-685c-11db-bd13-0800200c9a66 +ba5fc729-3b71-47a0-b7d0-42ec565cd185,SERVICE=CSW&REQUEST=GetCapabilities&ACCEPTVERSIONS=2.0.2,2.0.0 +c4ea754f-c158-4d8d-8253-dc8f86021b52,request=GetCapabilities +f4692ec5-9547-4a05-88ab-e6154af2640a,service=CSW&version=2.0.2&request=GetCapabilities +f997f25e-c865-4d53-a362-0ed1846337f2,service=CSW&version=2.0.2&request=GetRecordById&id=urn:uuid:94bc9c83-97f6-4b40-9eb8-a8e8787a5c63 diff --git a/tests/suites/csw30/get/requests.txt b/tests/suites/csw30/get/requests.txt index faae510ca..7e896112f 100644 --- a/tests/suites/csw30/get/requests.txt +++ b/tests/suites/csw30/get/requests.txt @@ -1,80 +1,80 @@ -GetCapabilities-base-url,PYCSW_SERVER?config=tests/suites/csw30/default.cfg -GetCapabilities-no-version,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&service=CSW&request=GetCapabilities -GetCapabilities,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&service=CSW&version=3.0.0&request=GetCapabilities -Exception-invalid-request,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&service=CSW&version=3.0.0&request=GetCapabilities-foo -Exception-GetDomain,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&service=CSW&version=3.0.0&request=GetDomain -GetDomain-parameter,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&service=CSW&version=3.0.0&request=GetDomain¶metername=GetRecords.ElementSetName -GetDomain-value-reference,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&service=CSW&version=3.0.0&request=GetDomain&valuereference=dc:title -Exception-GetDomain-value-reference,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&service=CSW&version=3.0.0&request=GetDomain&valuereference=dc:title2 -Exception-GetRecordById-dc.xml,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&service=CSW&version=3.0.0&request=GetRecordById&id=urn:uuid:829babb0-b2f1-49e1-8cd5-7b489fe71a1e -Exception-GetRecordById-404,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&service=CSW&version=3.0.0&request=GetRecordById&id=does_not_exist2 -OpenSearch-description,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&mode=opensearch&service=CSW&version=3.0.0&request=GetCapabilities -002258f0-627f-457f-b2ad-025777c77ac8,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&mode=opensearch&service=CSW&version=3.0.0&request=GetCapabilities -045c600d-973d-41eb-9f60-eba1b717b720,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&mode=opensearch&service=CSW&version=3.0.0&request=GetRecords&elementsetname=full&typenames=csw:Record&resulttype=results&q=Fusc%C3%A9%20Land&bbox=&time=/&outputformat=application/atom+xml&startposition=1&maxrecords=&recordids= -0bbcf862-5211-4351-9988-63f8bec49c98,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&elementSetName=summary&outputFormat=application/atom%2Bxml&request=GetRecords&service=CSW&typeNames=Record&version=3.0.0 -0bdf8457-971e-4ed1-be4a-5feca4dcd8fa,PYCSW_SERVER?config=tests/suites/csw30/default.cfg -0d8bbdec-0846-42ca-8dc8-b7f4cba41d67,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&elementName=tns:title&request=GetRecords&service=CSW&typeNames=Record&namespace=xmlns(tns%3Dhttp://purl.org/dc/elements/1.1/)&version=3.0.0 -0e1dca37-477a-4060-99fe-7799b52d656c,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&mode=opensearch&service=CSW&version=3.0.0&request=GetRecords&elementsetname=full&typenames=csw:Record&resulttype=results&q=lpppclq&bbox=&time=/&outputformat=application/atom+xml&startposition=1&maxrecords=&recordids= -13c87956-51a4-4780-a8e9-6e0b5c0bb473,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&elementSetName=full&maxRecords=20&request=GetRecords&service=CSW&typeNames=Record&version=3.0.0 -151d982f-ebd3-4cb2-b507-a667713a1e92,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&acceptFormats=model/x3d%2Bxml&acceptVersions=3.0.0&request=GetCapabilities&service=CSW -1869e495-1a61-4713-8285-76d1336ee1a6,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&acceptVersions=3.0.0&request=GetCapabilities -1bcb42a9-538c-4f0a-9d4c-d6f10b720aa6,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&request=GetRecordById&service=CSW&version=3.0.0 -22f44168-2ccf-4801-ad96-204212566d56,PYCSW_SERVER?config=tests/suites/csw30/default.cfg -2499a9c9-8d33-449c-bc92-d494adfcc84d,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&acceptVersions=3.0.0§ions=All&request=GetCapabilities&service=CSW -27f4f39c-d92a-4e3c-b961-c6aa8c24e513,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&acceptFormats=application/xml&acceptVersions=3.0.0&request=GetCapabilities&service=CSW -28e569df-8596-4128-8d9a-29ad03138915,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&id=urn:uuid:a06af396-3105-442d-8b40-22b57a90d2f2&request=GetRecordById&service=CSW&version=3.0.0 -2b06a5c8-0df2-4af1-8d2e-a425de11c845,PYCSW_SERVER?config=tests/suites/csw30/default.cfg -2ba1418a-444d-4cce-9cfe-4c94efcf8b55,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&maxRecords=2&elementSetName=summary&outputFormat=application/atom%2Bxml&request=GetRecords&service=CSW&typeNames=csw3:Record&startPosition=3&namespace=xmlns(csw3%3Dhttp://www.opengis.net/cat/csw/3.0)&version=3.0.0 -397fe17a-d5b4-4f96-8cc4-4ce467ed4d0a,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&service=CSW&version=3.0.0&request=GetRecords&elementsetname=full&typenames=csw:Record&resulttype=results&q=ipsum&bbox=&time=/&outputformat=application/xml&outputschema=http://www.opengis.net/cat/csw/3.0&startposition=1&maxrecords=&recordids= -3dcd1b15-73d2-4b7d-a3e3-ff15bf14aae4,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&elementSetName=brief&request=GetRecords&service=CSW&typeNames=tns:Record&namespace=xmlns(tns%3Dhttp://www.opengis.net/cat/csw/3.0)&version=3.0.0 -405e1ff1-5c75-4846-a28b-cfaff2a6921a,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&elementSetName=summary&recordIds=urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f,urn:uuid:e9330592-0932-474b-be34-c3a3bb67c7db&request=GetRecords&service=CSW&typeNames=Record&version=3.0.0 -43cd6471-6ac7-45bd-8ff9-148cb2de9a52,PYCSW_SERVER?config=tests/suites/csw30/default.cfg -4566d2ec-1283-4a02-baed-a74fc5b47e37,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&acceptVersions=3.0.0§ions=ServiceIdentification&request=GetCapabilities&service=CSW -461bd4c5-6623-490d-9036-d91a2201e87b,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&acceptVersions=3.0.0§ions=Filter_Capabilities&request=GetCapabilities&service=CSW -5496894a-3877-4f62-a20b-5d7126f94925,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&service=CSW&version=3.0.0&request=GetRecords&elementsetname=full&typenames=csw:Record&resulttype=results&q=&bbox=514432,5429689,529130,5451619&time=/&outputformat=application/xml&outputschema=http://www.opengis.net/cat/csw/3.0&startposition=1&maxrecords=&recordids= -5a015f6a-bf14-4977-b1e3-6577eb0223c8,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&service=CSW&version=3.0.0&request=GetRecords&elementsetname=full&typenames=csw:Record&resulttype=results&q=&bbox=-6.17,44.79,17.92,68.41&time=/&outputformat=application/xml&outputschema=http://www.opengis.net/cat/csw/3.0&startposition=1&maxrecords=&recordids= -5c3a2390-1fb9-43f0-b96c-f48c7a69c990,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&id=urn:uuid:88247b56-4cbc-4df9-9860-db3f8042e357&outputFormat=model/vnd.collada%2Bxml&request=GetRecordById&service=CSW&version=3.0.0 -5e9e67dc-18d6-4645-8111-c6263c88a61f,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&acceptVersions=3.0.0§ions=OperationsMetadata&request=GetCapabilities&service=CSW -604d9379-741c-42e5-b4cf-92e56c87fa64,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&elementSetName=full&q=amet&request=GetRecords&service=CSW&typeNames=Record&version=3.0.0 -60e6af95-d5fc-465a-82e2-fd2e6d85e4af,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&request=GetRecords&service=CSW&typeNames=UnknownType&version=3.0.0 -62ad94c2-b558-4265-a427-23d6677975d6,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&mode=opensearch&service=CSW&version=3.0.0&request=GetRecords&elementsetname=full&typenames=csw:Record&resulttype=results&q=&bbox=&time=/&outputformat=application/atom+xml&startposition=1&maxrecords=&recordids=uid-bc5017e6-5cc8-4b03-aee7-d88f88caba0a -6a5e247b-0961-4b8a-a0d6-35a491d9cfe7,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&elementSetName=undefined-view&request=GetRecords&service=CSW&typeNames=Record&version=3.0.0 -6a9d0558-9d87-495b-b999-b49a3ef1cf99,PYCSW_SERVER?config=tests/suites/csw30/default.cfg -6bd790c9-6019-4652-9c91-330a894d6700,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&service=CSW&version=3.0.0&request=GetRecords&elementsetname=full&typenames=csw:Record&resulttype=results&q=Fusc%C3%A9%20Land&bbox=&time=/&outputformat=application/xml&outputschema=http://www.opengis.net/cat/csw/3.0&startposition=1&maxrecords=&recordids= -6e9cba43-5e27-415d-adbd-a92851c2c173,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&acceptVersions=3.0.0&request=GetCapabilities&service=CSW -7630d230-e142-4a09-accf-f091000b90cd,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&id=urn:uuid:66ae76b7-54ba-489b-a582-0f0633d96493&request=GetRecordById&service=CSW&version=3.0.0 -7e82446a-b5dc-43fe-9a73-4cc1f2f2f0bf,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&acceptFormats=text/xml&acceptVersions=3.0.0&request=GetCapabilities&service=CSW -8025978e-1a35-4d70-80c2-e8329e0c7864,PYCSW_SERVER?config=tests/suites/csw30/default.cfg -8184ae4f-536d-4978-8b28-ad703be96967,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&elementSetName=brief&bbox=44.79,-6.17,68.41,17.92,urn:ogc:def:crs:EPSG::4326&request=GetRecords&service=CSW&typeNames=Record&version=3.0.0 -88f63a89-664f-4315-b4f8-04a0b33803a7,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&maxRecords=15&elementSetName=summary&q=Mauris&bbox=-6.17,44.79,17.92,68.41&request=GetRecords&service=CSW&typeNames=Record&version=3.0.0 -8987f8f0-4d93-4481-968c-a2ccbd6b8be2,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&id=urn:example:1461546298217&request=GetRecordById&service=CSW&version=3.0.0 -8e5fa0f6-3f29-4d1f-abe2-d9866f3def98,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&mode=opensearch&service=CSW&version=3.0.0&request=GetRecords&elementsetname=full&typenames=csw:Record&resulttype=results&q=&bbox=-180,-90,180,90&time=/&outputformat=application/atom+xml&startposition=1&maxrecords=&recordids= -9000ec29-5649-474e-b2d6-55c00f8a52c0,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&acceptVersions=9999.12.31&request=GetCapabilities&service=CSW -91914d35-7bbf-45e6-9b37-5ef484869a4e,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&elementSetName=summary&bbox=-6.17,44.79,17.92,68.41&request=GetRecords&service=CSW&typeNames=Record&version=3.0.0 -92d4844d-57d5-4cf3-8f47-ba50e369dc04,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&elementSetName=full&q=atkovxqmf&request=GetRecords&service=CSW&typeNames=Record&version=3.0.0 -9c0e2a4b-b4e6-41c0-b630-c8c99fc89ff3,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&elementSetName=brief&outputSchema=urn:uuid:6a29d2a8-9651-47a6-9b14-f05d2b5644f0&request=GetRecords&service=CSW&typeNames=Record&version=3.0.0 -9d7ffac8-9798-428d-8e27-3cd12497ee6b,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&id=urn:uuid:1ef30a8b-876d-4828-9246-c37ab4510bbd&outputSchema=http://www.example.org/ns/alpha&request=GetRecordById&service=CSW&version=3.0.0 -a2f18643-e24e-4fa5-b780-6de4a2dbc814,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&id=urn:uuid:829babb0-b2f1-49e1-8cd5-7b489fe71a1e&outputFormat=application/atom%2Bxml&request=GetRecordById&service=CSW&version=3.0.0 -abc90c8c-5868-4405-a73e-64c849be3b2a,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&mode=opensearch&service=CSW&version=3.0.0&request=GetRecords&elementsetname=full&typenames=csw:Record&resulttype=results&q=&bbox=514432,5429689,529130,5451619&time=/&outputformat=application/atom+xml&startposition=1&maxrecords=&recordids= -ad0c0571-09ed-436a-9a4f-a5de744c88fe,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&maxRecords=2&elementSetName=summary&request=GetRecords&service=CSW&typeNames=csw3:Record&startPosition=3&namespace=xmlns(csw3%3Dhttp://www.opengis.net/cat/csw/3.0)&version=3.0.0 -af502903-f4ee-47ee-b76e-af878d238bcc,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&service=CSW&version=3.0.0&request=GetRecords&elementsetname=full&typenames=csw:Record&resulttype=results&q=&bbox=-180,-90,180,90&time=/&outputformat=application/xml&outputschema=http://www.opengis.net/cat/csw/3.0&startposition=1&maxrecords=&recordids= -b2aafc3f-4f35-47bc-affd-08590972deae,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&mode=opensearch&service=CSW&version=3.0.0&request=GetRecords&elementsetname=full&typenames=csw:Record&resulttype=results&q=&bbox=-6.17,44.79,17.92,68.41&time=/&outputformat=application/atom+xml&startposition=1&maxrecords=&recordids= -b6069623-f7d8-4021-8582-98f0aea0f763,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&mode=opensearch&service=CSW&version=3.0.0&request=GetRecords&elementsetname=full&typenames=csw:Record&resulttype=results&q=&bbox=&time=/&outputformat=application/atom+xml&startposition=3&maxrecords=4&recordids= -b9a07a54-75a8-45bd-b341-2823600211e3,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&elementSetName=brief&bbox=472944,5363287,492722,5455253,urn:ogc:def:crs:EPSG::0000&request=GetRecords&service=CSW&typeNames=Record&version=3.0.0 -baa4a7d0-0c01-42b6-adc3-0d03e9949fa3,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&acceptVersions=3.0.0&request=getCapabilities&service=CSW -bfbe6409-f64a-4c89-acb3-50f260a5c743,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&elementSetName=summary&q=Fusc%C3%A9%20Land&request=GetRecords&service=CSW&typeNames=Record&version=3.0.0 -bfe20134-d1da-42ef-9c0f-8e1307bbf92b,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&service=CSW&version=3.0.0&request=GetRecords&elementsetname=full&typenames=csw:Record&resulttype=results&q=&bbox=&time=/&outputformat=application/xml&outputschema=http://www.opengis.net/cat/csw/3.0&startposition=3&maxrecords=4&recordids= -c03d173a-3f42-4956-89c8-1fe02c3a0873,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&SERVICE=CSW&Request=GetCapabilities&acceptversions=3.0.0 -cb43d8c3-e14c-4a9f-9231-4384b7dd21f3,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&elementName=undefined&request=GetRecords&service=CSW&typeNames=Record&version=3.0.0 -d03c6fd3-e821-4a26-b62f-d20a474e25af,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&acceptVersions=3.0.0§ions=ServiceProvider&request=GetCapabilities&service=CSW -d4ccbf96-a529-480e-a53d-5b88dc1dea7f,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&service=CSW&version=3.0.0&request=GetRecords&elementsetname=full&typenames=csw:Record&resulttype=results&q=&bbox=&time=/&outputformat=application/xml&outputschema=http://www.opengis.net/cat/csw/3.0&startposition=1&maxrecords=&recordids=uid-bc5017e6-5cc8-4b03-aee7-d88f88caba0a -d94c801a-1207-4897-b84a-53f3a192515b,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&service=CSW&version=3.0.0&request=GetRecords&elementsetname=full&typenames=csw:Record&resulttype=results&q=lpppclq&bbox=&time=/&outputformat=application/xml&outputschema=http://www.opengis.net/cat/csw/3.0&startposition=1&maxrecords=&recordids= -da859e34-91fc-495a-8c09-285a40c0900b,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&id=urn:uuid:94bc9c83-97f6-4b40-9eb8-a8e8787a5c63&elementSetName=full&request=GetRecordById&service=CSW&version=3.0.0 -dc246fb8-5af5-4fda-82bb-c18b3ecd439c,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&mode=opensearch&service=CSW&version=3.0.0&request=GetRecords&elementsetname=full&typenames=csw:Record&resulttype=results&q=ipsum&bbox=&time=/&outputformat=application/atom+xml&startposition=1&maxrecords=&recordids= -de016645-6d5c-4855-943c-2db07ae9f49a,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&mode=opensearch&service=CSW&version=3.0.0&request=GetRecords&elementsetname=full&typenames=csw:Record&resulttype=results&q=&bbox=&time=/&outputformat=application/atom+xml&startposition=1&maxrecords=&recordids=urn%3Auuid%3A94bc9c83-97f6-4b40-9eb8-a8e8787a5c63 -dff3ec6b-bb2d-4887-bd17-8fcf15def042,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&elementSetName=summary&request=GetRecords&service=CSW&typeNames=Record&version=3.0.0 -e38e6bfb-8ac4-4ae4-8b87-0aafbc8d3c6b,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&id=urn:uuid:1ef30a8b-876d-4828-9246-c37ab4510bbd&elementSetName=brief&request=GetRecordById&service=CSW&version=3.0.0 -e67ca935-d65d-4d8c-8302-1405333dded0,PYCSW_SERVER?config=tests/suites/csw30/default.cfg -e7704509-3441-458f-8ef0-e333c6b6043f,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&elementName=ns1:subject&elementSetName=brief&request=GetRecords&service=CSW&typeNames=Record&namespace=xmlns(ns1%3Dhttp://purl.org/dc/elements/1.1/)&version=3.0.0 -f1223a49-6d08-44ff-97fe-4c32cbbfad82,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&elementSetName=summary&maxRecords=0&q=titles&request=GetRecords&service=CSW&typeNames=Record&version=3.0.0 -f89dd4e1-3a81-4433-afd2-a3fa1bdb1e18,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&elementSetName=full&outputFormat=text/example&request=GetRecords&service=CSW&typeNames=Record&version=3.0.0 +GetCapabilities-base-url, +GetCapabilities-no-version,service=CSW&request=GetCapabilities +GetCapabilities,service=CSW&version=3.0.0&request=GetCapabilities +Exception-invalid-request,service=CSW&version=3.0.0&request=GetCapabilities-foo +Exception-GetDomain,service=CSW&version=3.0.0&request=GetDomain +GetDomain-parameter,service=CSW&version=3.0.0&request=GetDomain¶metername=GetRecords.ElementSetName +GetDomain-value-reference,service=CSW&version=3.0.0&request=GetDomain&valuereference=dc:title +Exception-GetDomain-value-reference,service=CSW&version=3.0.0&request=GetDomain&valuereference=dc:title2 +Exception-GetRecordById-dc.xml,service=CSW&version=3.0.0&request=GetRecordById&id=urn:uuid:829babb0-b2f1-49e1-8cd5-7b489fe71a1e +Exception-GetRecordById-404,service=CSW&version=3.0.0&request=GetRecordById&id=does_not_exist2 +OpenSearch-description,mode=opensearch&service=CSW&version=3.0.0&request=GetCapabilities +002258f0-627f-457f-b2ad-025777c77ac8,mode=opensearch&service=CSW&version=3.0.0&request=GetCapabilities +045c600d-973d-41eb-9f60-eba1b717b720,mode=opensearch&service=CSW&version=3.0.0&request=GetRecords&elementsetname=full&typenames=csw:Record&resulttype=results&q=Fusc%C3%A9%20Land&bbox=&time=/&outputformat=application/atom+xml&startposition=1&maxrecords=&recordids= +0bbcf862-5211-4351-9988-63f8bec49c98,elementSetName=summary&outputFormat=application/atom%2Bxml&request=GetRecords&service=CSW&typeNames=Record&version=3.0.0 +0bdf8457-971e-4ed1-be4a-5feca4dcd8fa, +0d8bbdec-0846-42ca-8dc8-b7f4cba41d67,elementName=tns:title&request=GetRecords&service=CSW&typeNames=Record&namespace=xmlns(tns%3Dhttp://purl.org/dc/elements/1.1/)&version=3.0.0 +0e1dca37-477a-4060-99fe-7799b52d656c,mode=opensearch&service=CSW&version=3.0.0&request=GetRecords&elementsetname=full&typenames=csw:Record&resulttype=results&q=lpppclq&bbox=&time=/&outputformat=application/atom+xml&startposition=1&maxrecords=&recordids= +13c87956-51a4-4780-a8e9-6e0b5c0bb473,elementSetName=full&maxRecords=20&request=GetRecords&service=CSW&typeNames=Record&version=3.0.0 +151d982f-ebd3-4cb2-b507-a667713a1e92,acceptFormats=model/x3d%2Bxml&acceptVersions=3.0.0&request=GetCapabilities&service=CSW +1869e495-1a61-4713-8285-76d1336ee1a6,acceptVersions=3.0.0&request=GetCapabilities +1bcb42a9-538c-4f0a-9d4c-d6f10b720aa6,request=GetRecordById&service=CSW&version=3.0.0 +22f44168-2ccf-4801-ad96-204212566d56, +2499a9c9-8d33-449c-bc92-d494adfcc84d,acceptVersions=3.0.0§ions=All&request=GetCapabilities&service=CSW +27f4f39c-d92a-4e3c-b961-c6aa8c24e513,acceptFormats=application/xml&acceptVersions=3.0.0&request=GetCapabilities&service=CSW +28e569df-8596-4128-8d9a-29ad03138915,id=urn:uuid:a06af396-3105-442d-8b40-22b57a90d2f2&request=GetRecordById&service=CSW&version=3.0.0 +2b06a5c8-0df2-4af1-8d2e-a425de11c845, +2ba1418a-444d-4cce-9cfe-4c94efcf8b55,maxRecords=2&elementSetName=summary&outputFormat=application/atom%2Bxml&request=GetRecords&service=CSW&typeNames=csw3:Record&startPosition=3&namespace=xmlns(csw3%3Dhttp://www.opengis.net/cat/csw/3.0)&version=3.0.0 +397fe17a-d5b4-4f96-8cc4-4ce467ed4d0a,service=CSW&version=3.0.0&request=GetRecords&elementsetname=full&typenames=csw:Record&resulttype=results&q=ipsum&bbox=&time=/&outputformat=application/xml&outputschema=http://www.opengis.net/cat/csw/3.0&startposition=1&maxrecords=&recordids= +3dcd1b15-73d2-4b7d-a3e3-ff15bf14aae4,elementSetName=brief&request=GetRecords&service=CSW&typeNames=tns:Record&namespace=xmlns(tns%3Dhttp://www.opengis.net/cat/csw/3.0)&version=3.0.0 +405e1ff1-5c75-4846-a28b-cfaff2a6921a,elementSetName=summary&recordIds=urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f,urn:uuid:e9330592-0932-474b-be34-c3a3bb67c7db&request=GetRecords&service=CSW&typeNames=Record&version=3.0.0 +43cd6471-6ac7-45bd-8ff9-148cb2de9a52, +4566d2ec-1283-4a02-baed-a74fc5b47e37,acceptVersions=3.0.0§ions=ServiceIdentification&request=GetCapabilities&service=CSW +461bd4c5-6623-490d-9036-d91a2201e87b,acceptVersions=3.0.0§ions=Filter_Capabilities&request=GetCapabilities&service=CSW +5496894a-3877-4f62-a20b-5d7126f94925,service=CSW&version=3.0.0&request=GetRecords&elementsetname=full&typenames=csw:Record&resulttype=results&q=&bbox=514432,5429689,529130,5451619&time=/&outputformat=application/xml&outputschema=http://www.opengis.net/cat/csw/3.0&startposition=1&maxrecords=&recordids= +5a015f6a-bf14-4977-b1e3-6577eb0223c8,service=CSW&version=3.0.0&request=GetRecords&elementsetname=full&typenames=csw:Record&resulttype=results&q=&bbox=-6.17,44.79,17.92,68.41&time=/&outputformat=application/xml&outputschema=http://www.opengis.net/cat/csw/3.0&startposition=1&maxrecords=&recordids= +5c3a2390-1fb9-43f0-b96c-f48c7a69c990,id=urn:uuid:88247b56-4cbc-4df9-9860-db3f8042e357&outputFormat=model/vnd.collada%2Bxml&request=GetRecordById&service=CSW&version=3.0.0 +5e9e67dc-18d6-4645-8111-c6263c88a61f,acceptVersions=3.0.0§ions=OperationsMetadata&request=GetCapabilities&service=CSW +604d9379-741c-42e5-b4cf-92e56c87fa64,elementSetName=full&q=amet&request=GetRecords&service=CSW&typeNames=Record&version=3.0.0 +60e6af95-d5fc-465a-82e2-fd2e6d85e4af,request=GetRecords&service=CSW&typeNames=UnknownType&version=3.0.0 +62ad94c2-b558-4265-a427-23d6677975d6,mode=opensearch&service=CSW&version=3.0.0&request=GetRecords&elementsetname=full&typenames=csw:Record&resulttype=results&q=&bbox=&time=/&outputformat=application/atom+xml&startposition=1&maxrecords=&recordids=uid-bc5017e6-5cc8-4b03-aee7-d88f88caba0a +6a5e247b-0961-4b8a-a0d6-35a491d9cfe7,elementSetName=undefined-view&request=GetRecords&service=CSW&typeNames=Record&version=3.0.0 +6a9d0558-9d87-495b-b999-b49a3ef1cf99, +6bd790c9-6019-4652-9c91-330a894d6700,service=CSW&version=3.0.0&request=GetRecords&elementsetname=full&typenames=csw:Record&resulttype=results&q=Fusc%C3%A9%20Land&bbox=&time=/&outputformat=application/xml&outputschema=http://www.opengis.net/cat/csw/3.0&startposition=1&maxrecords=&recordids= +6e9cba43-5e27-415d-adbd-a92851c2c173,acceptVersions=3.0.0&request=GetCapabilities&service=CSW +7630d230-e142-4a09-accf-f091000b90cd,id=urn:uuid:66ae76b7-54ba-489b-a582-0f0633d96493&request=GetRecordById&service=CSW&version=3.0.0 +7e82446a-b5dc-43fe-9a73-4cc1f2f2f0bf,acceptFormats=text/xml&acceptVersions=3.0.0&request=GetCapabilities&service=CSW +8025978e-1a35-4d70-80c2-e8329e0c7864, +8184ae4f-536d-4978-8b28-ad703be96967,elementSetName=brief&bbox=44.79,-6.17,68.41,17.92,urn:ogc:def:crs:EPSG::4326&request=GetRecords&service=CSW&typeNames=Record&version=3.0.0 +88f63a89-664f-4315-b4f8-04a0b33803a7,maxRecords=15&elementSetName=summary&q=Mauris&bbox=-6.17,44.79,17.92,68.41&request=GetRecords&service=CSW&typeNames=Record&version=3.0.0 +8987f8f0-4d93-4481-968c-a2ccbd6b8be2,id=urn:example:1461546298217&request=GetRecordById&service=CSW&version=3.0.0 +8e5fa0f6-3f29-4d1f-abe2-d9866f3def98,mode=opensearch&service=CSW&version=3.0.0&request=GetRecords&elementsetname=full&typenames=csw:Record&resulttype=results&q=&bbox=-180,-90,180,90&time=/&outputformat=application/atom+xml&startposition=1&maxrecords=&recordids= +9000ec29-5649-474e-b2d6-55c00f8a52c0,acceptVersions=9999.12.31&request=GetCapabilities&service=CSW +91914d35-7bbf-45e6-9b37-5ef484869a4e,elementSetName=summary&bbox=-6.17,44.79,17.92,68.41&request=GetRecords&service=CSW&typeNames=Record&version=3.0.0 +92d4844d-57d5-4cf3-8f47-ba50e369dc04,elementSetName=full&q=atkovxqmf&request=GetRecords&service=CSW&typeNames=Record&version=3.0.0 +9c0e2a4b-b4e6-41c0-b630-c8c99fc89ff3,elementSetName=brief&outputSchema=urn:uuid:6a29d2a8-9651-47a6-9b14-f05d2b5644f0&request=GetRecords&service=CSW&typeNames=Record&version=3.0.0 +9d7ffac8-9798-428d-8e27-3cd12497ee6b,id=urn:uuid:1ef30a8b-876d-4828-9246-c37ab4510bbd&outputSchema=http://www.example.org/ns/alpha&request=GetRecordById&service=CSW&version=3.0.0 +a2f18643-e24e-4fa5-b780-6de4a2dbc814,id=urn:uuid:829babb0-b2f1-49e1-8cd5-7b489fe71a1e&outputFormat=application/atom%2Bxml&request=GetRecordById&service=CSW&version=3.0.0 +abc90c8c-5868-4405-a73e-64c849be3b2a,mode=opensearch&service=CSW&version=3.0.0&request=GetRecords&elementsetname=full&typenames=csw:Record&resulttype=results&q=&bbox=514432,5429689,529130,5451619&time=/&outputformat=application/atom+xml&startposition=1&maxrecords=&recordids= +ad0c0571-09ed-436a-9a4f-a5de744c88fe,maxRecords=2&elementSetName=summary&request=GetRecords&service=CSW&typeNames=csw3:Record&startPosition=3&namespace=xmlns(csw3%3Dhttp://www.opengis.net/cat/csw/3.0)&version=3.0.0 +af502903-f4ee-47ee-b76e-af878d238bcc,service=CSW&version=3.0.0&request=GetRecords&elementsetname=full&typenames=csw:Record&resulttype=results&q=&bbox=-180,-90,180,90&time=/&outputformat=application/xml&outputschema=http://www.opengis.net/cat/csw/3.0&startposition=1&maxrecords=&recordids= +b2aafc3f-4f35-47bc-affd-08590972deae,mode=opensearch&service=CSW&version=3.0.0&request=GetRecords&elementsetname=full&typenames=csw:Record&resulttype=results&q=&bbox=-6.17,44.79,17.92,68.41&time=/&outputformat=application/atom+xml&startposition=1&maxrecords=&recordids= +b6069623-f7d8-4021-8582-98f0aea0f763,mode=opensearch&service=CSW&version=3.0.0&request=GetRecords&elementsetname=full&typenames=csw:Record&resulttype=results&q=&bbox=&time=/&outputformat=application/atom+xml&startposition=3&maxrecords=4&recordids= +b9a07a54-75a8-45bd-b341-2823600211e3,elementSetName=brief&bbox=472944,5363287,492722,5455253,urn:ogc:def:crs:EPSG::0000&request=GetRecords&service=CSW&typeNames=Record&version=3.0.0 +baa4a7d0-0c01-42b6-adc3-0d03e9949fa3,acceptVersions=3.0.0&request=getCapabilities&service=CSW +bfbe6409-f64a-4c89-acb3-50f260a5c743,elementSetName=summary&q=Fusc%C3%A9%20Land&request=GetRecords&service=CSW&typeNames=Record&version=3.0.0 +bfe20134-d1da-42ef-9c0f-8e1307bbf92b,service=CSW&version=3.0.0&request=GetRecords&elementsetname=full&typenames=csw:Record&resulttype=results&q=&bbox=&time=/&outputformat=application/xml&outputschema=http://www.opengis.net/cat/csw/3.0&startposition=3&maxrecords=4&recordids= +c03d173a-3f42-4956-89c8-1fe02c3a0873,SERVICE=CSW&Request=GetCapabilities&acceptversions=3.0.0 +cb43d8c3-e14c-4a9f-9231-4384b7dd21f3,elementName=undefined&request=GetRecords&service=CSW&typeNames=Record&version=3.0.0 +d03c6fd3-e821-4a26-b62f-d20a474e25af,acceptVersions=3.0.0§ions=ServiceProvider&request=GetCapabilities&service=CSW +d4ccbf96-a529-480e-a53d-5b88dc1dea7f,service=CSW&version=3.0.0&request=GetRecords&elementsetname=full&typenames=csw:Record&resulttype=results&q=&bbox=&time=/&outputformat=application/xml&outputschema=http://www.opengis.net/cat/csw/3.0&startposition=1&maxrecords=&recordids=uid-bc5017e6-5cc8-4b03-aee7-d88f88caba0a +d94c801a-1207-4897-b84a-53f3a192515b,service=CSW&version=3.0.0&request=GetRecords&elementsetname=full&typenames=csw:Record&resulttype=results&q=lpppclq&bbox=&time=/&outputformat=application/xml&outputschema=http://www.opengis.net/cat/csw/3.0&startposition=1&maxrecords=&recordids= +da859e34-91fc-495a-8c09-285a40c0900b,id=urn:uuid:94bc9c83-97f6-4b40-9eb8-a8e8787a5c63&elementSetName=full&request=GetRecordById&service=CSW&version=3.0.0 +dc246fb8-5af5-4fda-82bb-c18b3ecd439c,mode=opensearch&service=CSW&version=3.0.0&request=GetRecords&elementsetname=full&typenames=csw:Record&resulttype=results&q=ipsum&bbox=&time=/&outputformat=application/atom+xml&startposition=1&maxrecords=&recordids= +de016645-6d5c-4855-943c-2db07ae9f49a,mode=opensearch&service=CSW&version=3.0.0&request=GetRecords&elementsetname=full&typenames=csw:Record&resulttype=results&q=&bbox=&time=/&outputformat=application/atom+xml&startposition=1&maxrecords=&recordids=urn%3Auuid%3A94bc9c83-97f6-4b40-9eb8-a8e8787a5c63 +dff3ec6b-bb2d-4887-bd17-8fcf15def042,elementSetName=summary&request=GetRecords&service=CSW&typeNames=Record&version=3.0.0 +e38e6bfb-8ac4-4ae4-8b87-0aafbc8d3c6b,id=urn:uuid:1ef30a8b-876d-4828-9246-c37ab4510bbd&elementSetName=brief&request=GetRecordById&service=CSW&version=3.0.0 +e67ca935-d65d-4d8c-8302-1405333dded0, +e7704509-3441-458f-8ef0-e333c6b6043f,elementName=ns1:subject&elementSetName=brief&request=GetRecords&service=CSW&typeNames=Record&namespace=xmlns(ns1%3Dhttp://purl.org/dc/elements/1.1/)&version=3.0.0 +f1223a49-6d08-44ff-97fe-4c32cbbfad82,elementSetName=summary&maxRecords=0&q=titles&request=GetRecords&service=CSW&typeNames=Record&version=3.0.0 +f89dd4e1-3a81-4433-afd2-a3fa1bdb1e18,elementSetName=full&outputFormat=text/example&request=GetRecords&service=CSW&typeNames=Record&version=3.0.0 diff --git a/tests/suites/default/get/requests.txt b/tests/suites/default/get/requests.txt index b4d6db81f..6a9ea00a9 100644 --- a/tests/suites/default/get/requests.txt +++ b/tests/suites/default/get/requests.txt @@ -1,9 +1,9 @@ -GetCapabilities,PYCSW_SERVER?config=tests/suites/default/default.cfg&service=CSW&version=2.0.2&request=GetCapabilities -GetCapabilities-invalid-request,PYCSW_SERVER?config=tests/suites/default/default.cfg&service=CSW&version=2.0.2&request=GetCapabilitiese -GetRecords-all,PYCSW_SERVER?config=tests/suites/default/default.cfg&service=CSW&version=2.0.2&request=GetRecords&typenames=csw:Record&elementsetname=full -GetRecords-sortby-asc,PYCSW_SERVER?config=tests/suites/default/default.cfg&service=CSW&version=2.0.2&request=GetRecords&typenames=csw:Record&elementsetname=full&resulttype=results&sortby=dc:title:A -GetRecords-sortby-desc,PYCSW_SERVER?config=tests/suites/default/default.cfg&service=CSW&version=2.0.2&request=GetRecords&typenames=csw:Record&elementsetname=full&resulttype=results&sortby=dc:title:D -GetRecords-sortby-invalid-propertyname,PYCSW_SERVER?config=tests/suites/default/default.cfg&service=CSW&version=2.0.2&request=GetRecords&typenames=csw:Record&elementsetname=full&resulttype=results&sortby=dc:titlei:A -GetRecords-sortby-invalid-order,PYCSW_SERVER?config=tests/suites/default/default.cfg&service=CSW&version=2.0.2&request=GetRecords&typenames=csw:Record&elementsetname=full&resulttype=results&sortby=dc:title:FOO -GetRecords-filter,PYCSW_SERVER?config=tests/suites/default/default.cfg&service=CSW&version=2.0.2&request=GetRecords&typenames=csw:Record&elementsetname=full&resulttype=results&constraintlanguage=FILTER&constraint=%3Cogc%3AFilter%20xmlns%3Aogc%3D%22http%3A%2F%2Fwww.opengis.net%2Fogc%22%3E%3Cogc%3APropertyIsEqualTo%3E%3Cogc%3APropertyName%3Edc%3Atitle%3C%2Fogc%3APropertyName%3E%3Cogc%3ALiteral%3ELorem%20ipsum%3C%2Fogc%3ALiteral%3E%3C%2Fogc%3APropertyIsEqualTo%3E%3C%2Fogc%3AFilter%3E -GetRecords-empty-maxrecords,PYCSW_SERVER?config=tests/suites/default/default.cfg&service=CSW&version=2.0.2&request=GetRecords&typenames=csw:Record&elementsetname=full&maxrecords= +GetCapabilities,service=CSW&version=2.0.2&request=GetCapabilities +GetCapabilities-invalid-request,service=CSW&version=2.0.2&request=GetCapabilitiese +GetRecords-all,service=CSW&version=2.0.2&request=GetRecords&typenames=csw:Record&elementsetname=full +GetRecords-sortby-asc,service=CSW&version=2.0.2&request=GetRecords&typenames=csw:Record&elementsetname=full&resulttype=results&sortby=dc:title:A +GetRecords-sortby-desc,service=CSW&version=2.0.2&request=GetRecords&typenames=csw:Record&elementsetname=full&resulttype=results&sortby=dc:title:D +GetRecords-sortby-invalid-propertyname,service=CSW&version=2.0.2&request=GetRecords&typenames=csw:Record&elementsetname=full&resulttype=results&sortby=dc:titlei:A +GetRecords-sortby-invalid-order,service=CSW&version=2.0.2&request=GetRecords&typenames=csw:Record&elementsetname=full&resulttype=results&sortby=dc:title:FOO +GetRecords-filter,service=CSW&version=2.0.2&request=GetRecords&typenames=csw:Record&elementsetname=full&resulttype=results&constraintlanguage=FILTER&constraint=%3Cogc%3AFilter%20xmlns%3Aogc%3D%22http%3A%2F%2Fwww.opengis.net%2Fogc%22%3E%3Cogc%3APropertyIsEqualTo%3E%3Cogc%3APropertyName%3Edc%3Atitle%3C%2Fogc%3APropertyName%3E%3Cogc%3ALiteral%3ELorem%20ipsum%3C%2Fogc%3ALiteral%3E%3C%2Fogc%3APropertyIsEqualTo%3E%3C%2Fogc%3AFilter%3E +GetRecords-empty-maxrecords,service=CSW&version=2.0.2&request=GetRecords&typenames=csw:Record&elementsetname=full&maxrecords= diff --git a/tests/suites/harvesting/get/requests.txt b/tests/suites/harvesting/get/requests.txt index 9033d798f..3b13c3b11 100644 --- a/tests/suites/harvesting/get/requests.txt +++ b/tests/suites/harvesting/get/requests.txt @@ -1,5 +1,5 @@ -Exception-Harvest-missing-resourcetype,PYCSW_SERVER?config=tests/suites/manager/default.cfg&service=CSW&version=2.0.2&request=Harvest -Exception-Harvest-missing-source,PYCSW_SERVER?config=tests/suites/manager/default.cfg&service=CSW&version=2.0.2&request=Harvest&resourcetype=http://www.opengis.net/wms -Exception-Harvest-invalid-resourcetype,PYCSW_SERVER?config=tests/suites/manager/default.cfg&service=CSW&version=2.0.2&request=Harvest&resourcetype=http://www.opengis.net/wms1234&source=http://demo.pycsw.org/cite/csw -Exception-Harvest-waf-no-records-found,PYCSW_SERVER?config=tests/suites/manager/default.cfg&service=CSW&version=2.0.2&request=Harvest&resourcetype=urn:geoss:waf&source=http://demo.pycsw.org -Exception-Harvest-waf-bad-value,PYCSW_SERVER?config=tests/suites/manager/default.cfg&service=CSW&version=2.0.2&request=Harvest&resourcetype=urn:geoss:waf&source=badvalue +Exception-Harvest-missing-resourcetype,service=CSW&version=2.0.2&request=Harvest +Exception-Harvest-missing-source,service=CSW&version=2.0.2&request=Harvest&resourcetype=http://www.opengis.net/wms +Exception-Harvest-invalid-resourcetype,service=CSW&version=2.0.2&request=Harvest&resourcetype=http://www.opengis.net/wms1234&source=http://demo.pycsw.org/cite/csw +Exception-Harvest-waf-no-records-found,service=CSW&version=2.0.2&request=Harvest&resourcetype=urn:geoss:waf&source=http://demo.pycsw.org +Exception-Harvest-waf-bad-value,service=CSW&version=2.0.2&request=Harvest&resourcetype=urn:geoss:waf&source=badvalue diff --git a/tests/suites/oaipmh/get/requests.txt b/tests/suites/oaipmh/get/requests.txt index e9f859c16..bf6955232 100644 --- a/tests/suites/oaipmh/get/requests.txt +++ b/tests/suites/oaipmh/get/requests.txt @@ -1,20 +1,20 @@ -empty,PYCSW_SERVER?config=tests/suites/oaipmh/default.cfg&mode=oaipmh -empty_with_amp,PYCSW_SERVER?config=tests/suites/oaipmh/default.cfg&mode=oaipmh& -bad_verb,PYCSW_SERVER?config=tests/suites/oaipmh/default.cfg&mode=oaipmh&verb=foo -illegal_verb,PYCSW_SERVER?config=tests/suites/oaipmh/default.cfg&mode=oaipmh&verb=foo&foo=bar -Identify,PYCSW_SERVER?config=tests/suites/oaipmh/default.cfg&mode=oaipmh&verb=Identify -ListSets,PYCSW_SERVER?config=tests/suites/oaipmh/default.cfg&mode=oaipmh&verb=ListSets -ListMetadataFormats,PYCSW_SERVER?config=tests/suites/oaipmh/default.cfg&mode=oaipmh&verb=ListMetadataFormats -GetRecord_dc,PYCSW_SERVER?config=tests/suites/oaipmh/default.cfg&mode=oaipmh&verb=GetRecord&identifier=urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f&metadataPrefix=csw-record -GetRecord_bad_metadata_prefix,PYCSW_SERVER?config=tests/suites/oaipmh/default.cfg&mode=oaipmh&verb=GetRecord&identifier=urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f&metadataPrefix=csw-recordd -GetRecord_oai_dc,PYCSW_SERVER?config=tests/suites/oaipmh/default.cfg&mode=oaipmh&verb=GetRecord&identifier=urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f&metadataPrefix=oai_dc -GetRecord_iso,PYCSW_SERVER?config=tests/suites/oaipmh/default.cfg&mode=oaipmh&verb=GetRecord&identifier=urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f&metadataPrefix=iso19139 -ListIdentifiers_missing_metadata_prefix,PYCSW_SERVER?config=tests/suites/oaipmh/default.cfg&mode=oaipmh&verb=ListIdentifiers -ListIdentifiers_dc,PYCSW_SERVER?config=tests/suites/oaipmh/default.cfg&mode=oaipmh&verb=ListIdentifiers&metadataPrefix=csw-record -ListIdentifiers_iso,PYCSW_SERVER?config=tests/suites/oaipmh/default.cfg&mode=oaipmh&verb=ListIdentifiers&metadataPrefix=iso19139 -ListIdentifiers_oai_dc,PYCSW_SERVER?config=tests/suites/oaipmh/default.cfg&mode=oaipmh&verb=ListIdentifiers&metadataPrefix=oai_dc -ListIdentifiers_bad_metadata_prefix,PYCSW_SERVER?config=tests/suites/oaipmh/default.cfg&mode=oaipmh&verb=ListIdentifiers&metadataPrefix=foo -ListRecords_dc,PYCSW_SERVER?config=tests/suites/oaipmh/default.cfg&mode=oaipmh&verb=ListRecords&metadataPrefix=csw-record -ListRecords_dc_bad_metadata_prefix,PYCSW_SERVER?config=tests/suites/oaipmh/default.cfg&mode=oaipmh&verb=ListRecords&metadataPrefix=csw-recording -ListRecords_oai_dc,PYCSW_SERVER?config=tests/suites/oaipmh/default.cfg&mode=oaipmh&verb=ListRecords&metadataPrefix=oai_dc -ListRecords_iso19139,PYCSW_SERVER?config=tests/suites/oaipmh/default.cfg&mode=oaipmh&verb=ListRecords&metadataPrefix=iso19139 +empty,mode=oaipmh +empty_with_amp,mode=oaipmh& +bad_verb,mode=oaipmh&verb=foo +illegal_verb,mode=oaipmh&verb=foo&foo=bar +Identify,mode=oaipmh&verb=Identify +ListSets,mode=oaipmh&verb=ListSets +ListMetadataFormats,mode=oaipmh&verb=ListMetadataFormats +GetRecord_dc,mode=oaipmh&verb=GetRecord&identifier=urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f&metadataPrefix=csw-record +GetRecord_bad_metadata_prefix,mode=oaipmh&verb=GetRecord&identifier=urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f&metadataPrefix=csw-recordd +GetRecord_oai_dc,mode=oaipmh&verb=GetRecord&identifier=urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f&metadataPrefix=oai_dc +GetRecord_iso,mode=oaipmh&verb=GetRecord&identifier=urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f&metadataPrefix=iso19139 +ListIdentifiers_missing_metadata_prefix,mode=oaipmh&verb=ListIdentifiers +ListIdentifiers_dc,mode=oaipmh&verb=ListIdentifiers&metadataPrefix=csw-record +ListIdentifiers_iso,mode=oaipmh&verb=ListIdentifiers&metadataPrefix=iso19139 +ListIdentifiers_oai_dc,mode=oaipmh&verb=ListIdentifiers&metadataPrefix=oai_dc +ListIdentifiers_bad_metadata_prefix,mode=oaipmh&verb=ListIdentifiers&metadataPrefix=foo +ListRecords_dc,mode=oaipmh&verb=ListRecords&metadataPrefix=csw-record +ListRecords_dc_bad_metadata_prefix,mode=oaipmh&verb=ListRecords&metadataPrefix=csw-recording +ListRecords_oai_dc,mode=oaipmh&verb=ListRecords&metadataPrefix=oai_dc +ListRecords_iso19139,mode=oaipmh&verb=ListRecords&metadataPrefix=iso19139 diff --git a/tests/suites/sru/get/requests.txt b/tests/suites/sru/get/requests.txt index 24170ae2d..3db4b8cd0 100644 --- a/tests/suites/sru/get/requests.txt +++ b/tests/suites/sru/get/requests.txt @@ -1,5 +1,5 @@ -explain,PYCSW_SERVER?config=tests/suites/sru/default.cfg&mode=sru -search,PYCSW_SERVER?config=tests/suites/sru/default.cfg&mode=sru&version=1.1&operation=searchRetrieve&query=lor -search_maxrecords,PYCSW_SERVER?config=tests/suites/sru/default.cfg&mode=sru&operation=searchRetrieve&query=lor&maximumRecords=2 -search_startrecord_maxrecords,PYCSW_SERVER?config=tests/suites/sru/default.cfg&mode=sru&operation=searchRetrieve&query=lor&maximumRecords=2&startRecord=1 -search_cql,PYCSW_SERVER?config=tests/suites/sru/default.cfg&mode=sru&operation=searchRetrieve&query=dc:title%20like%20'%lor%'&maximumRecords=5 +explain,mode=sru +search,mode=sru&version=1.1&operation=searchRetrieve&query=lor +search_maxrecords,mode=sru&operation=searchRetrieve&query=lor&maximumRecords=2 +search_startrecord_maxrecords,mode=sru&operation=searchRetrieve&query=lor&maximumRecords=2&startRecord=1 +search_cql,mode=sru&operation=searchRetrieve&query=dc:title%20like%20'%lor%'&maximumRecords=5 From 5f5c272ff5fcb97565b99972dc9268ef85d2e795 Mon Sep 17 00:00:00 2001 From: Ricardo Silva Date: Tue, 31 May 2016 01:11:19 +0100 Subject: [PATCH 006/119] Adding back test logic --- tests/conftest.py | 39 +++++--------- tests/test_suites.py | 118 ++++++++++++++++++++----------------------- 2 files changed, 66 insertions(+), 91 deletions(-) diff --git a/tests/conftest.py b/tests/conftest.py index 52730e275..895e5939f 100644 --- a/tests/conftest.py +++ b/tests/conftest.py @@ -112,27 +112,6 @@ def pytest_generate_tests(metafunc): break -@pytest.fixture(scope="session") -def suite_info(request): - suite_name = request.param - test_data = [] - test_names = [] - expected_dir = os.path.join(TESTS_ROOT, "expected") - suite_dir = os.path.join(TESTS_ROOT, "suites", suite_name) - configuration_path = os.path.join(suite_dir, "default.cfg") - post_requests_dir = os.path.join(suite_dir, "post") - for item in glob.iglob(os.path.join(post_requests_dir, "*")): - test_id = os.path.splitext(os.path.basename(item))[0] - expected = os.path.join( - expected_dir, - "suites_{0}_post_{1}.xml".format(suite_name, test_id) - ) - if os.path.isfile(item) and os.path.isfile(expected): - test_data.append((item, expected, configuration_path)) - test_names.append("{0}_{1}".format(suite_name, test_id)) - return configuration_path, test_data, test_names - - @pytest.fixture(scope="session") def server_apiso_suite(request, tmpdir_factory): return _get_server_with_config(request, "apiso", @@ -199,28 +178,34 @@ def server_harvesting_suite(request, tmpdir_factory): tmpdir_factory, 8020) +@pytest.fixture(scope="session") +def server_manager_suite(request, tmpdir_factory): + return _get_server_with_config(request, "manager", + tmpdir_factory, 8021) + + @pytest.fixture(scope="session") def server_oaipmh_suite(request, tmpdir_factory): return _get_server_with_config(request, "oaipmh", - tmpdir_factory, 8021) + tmpdir_factory, 8022) @pytest.fixture(scope="session") def server_repofilter_suite(request, tmpdir_factory): return _get_server_with_config(request, "repofilter", - tmpdir_factory, 8022) + tmpdir_factory, 8023) @pytest.fixture(scope="session") def server_sru_suite(request, tmpdir_factory): return _get_server_with_config(request, "sru", - tmpdir_factory, 8023) + tmpdir_factory, 8024) @pytest.fixture(scope="session") def server_utf_8_suite(request, tmpdir_factory): return _get_server_with_config(request, "utf-8", - tmpdir_factory, 8024) + tmpdir_factory, 8025) def _configure_functional_post_tests(expected_dir, suite_name): @@ -254,9 +239,9 @@ def _configure_functional_get_tests(expected_dir, suite_name): "suites_{0}_get_{1}.xml".format(suite_name, test_name) ) if os.path.isfile(expected): - test_data.append((test_params, expected)) + test_data.append((test_params.strip(), expected)) test_names.append("{0}_{1}".format(suite_name, test_name)) - except IOError: + except FileNotFoundError: pass # this suite does not have GET tests return test_data, test_names diff --git a/tests/test_suites.py b/tests/test_suites.py index 48a374059..536993d75 100644 --- a/tests/test_suites.py +++ b/tests/test_suites.py @@ -35,14 +35,14 @@ """ -import codecs from io import BytesIO import json from lxml import etree from lxml import objectify -import os -import pytest import re +from urllib.parse import parse_qs + +import pytest import requests ENCODING = "utf-8" @@ -54,159 +54,141 @@ class TestApisoSuite(object): def test_post_requests(self, server_apiso_suite, test_request, expected_result): - pass - - def test_get_requests(self, server_apiso_suite, test_request_parameters, - expected_result): - pass + _test_post_request(server_apiso_suite, test_request, expected_result) class TestApisoInspireSuite(object): - def test_post_requests(self, server_apiso_inspire_suite, test_request, - expected_result): - pass - def test_get_requests(self, server_apiso_inspire_suite, test_request_parameters, expected_result): - pass + print("test_request_parameters: {}".format(test_request_parameters)) + _test_get_request(server_apiso_inspire_suite, test_request_parameters, + expected_result) class TestAtomSuite(object): def test_post_requests(self, server_atom_suite, test_request, expected_result): - pass + _test_post_request(server_atom_suite, test_request, expected_result) def test_get_requests(self, server_atom_suite, test_request_parameters, expected_result): - pass + _test_get_request(server_atom_suite, test_request_parameters, + expected_result) class TestCiteSuite(object): def test_post_requests(self, server_cite_suite, test_request, expected_result): - pass + _test_post_request(server_cite_suite, test_request, expected_result) def test_get_requests(self, server_cite_suite, test_request_parameters, expected_result): - pass + _test_get_request(server_cite_suite, test_request_parameters, + expected_result) class TestCsw30Suite(object): def test_post_requests(self, server_csw30_suite, test_request, expected_result): - pass + _test_post_request(server_csw30_suite, test_request, expected_result) def test_get_requests(self, server_csw30_suite, test_request_parameters, expected_result): - pass + _test_get_request(server_csw30_suite, test_request_parameters, + expected_result) class TestDefaultSuite(object): def test_post_requests(self, server_default_suite, test_request, expected_result): - pass + _test_post_request(server_default_suite, test_request, expected_result) def test_get_requests(self, server_default_suite, test_request_parameters, expected_result): - pass + _test_get_request(server_default_suite, test_request_parameters, + expected_result) class TestDifSuite(object): def test_post_requests(self, server_dif_suite, test_request, expected_result): - pass - - def test_get_requests(self, server_dif_suite, test_request_parameters, - expected_result): - pass + _test_post_request(server_dif_suite, test_request, expected_result) class TestEbrimSuite(object): def test_post_requests(self, server_ebrim_suite, test_request, expected_result): - pass - - def test_get_requests(self, server_ebrim_suite, test_request_parameters, - expected_result): - pass + _test_post_request(server_ebrim_suite, test_request, expected_result) class TestFgdcSuite(object): def test_post_requests(self, server_fgdc_suite, test_request, expected_result): - pass + _test_post_request(server_fgdc_suite, test_request, expected_result) - def test_get_requests(self, server_fgdc_suite, test_request_parameters, - expected_result): - pass class TestGm03Suite(object): def test_post_requests(self, server_gm03_suite, test_request, expected_result): - pass + _test_post_request(server_gm03_suite, test_request, expected_result) - def test_get_requests(self, server_gm03_suite, test_request_parameters, - expected_result): - pass class TestHarvestingSuite(object): def test_post_requests(self, server_harvesting_suite, test_request, expected_result): - pass + _test_post_request(server_harvesting_suite, test_request, + expected_result) def test_get_requests(self, server_harvesting_suite, test_request_parameters, expected_result): - pass + _test_get_request(server_harvesting_suite, test_request_parameters, + expected_result) -class TestOaipmhSuite(object): - def test_post_requests(self, server_oaipmh_suite, test_request, +class TestManagerSuite(object): + + def test_post_requests(self, server_manager_suite, test_request, expected_result): - pass + _test_post_request(server_manager_suite, test_request, expected_result) + + +class TestOaipmhSuite(object): def test_get_requests(self, server_oaipmh_suite, test_request_parameters, expected_result): - pass + _test_get_request(server_oaipmh_suite, test_request_parameters, + expected_result) class TestRepofilterSuite(object): def test_post_requests(self, server_repofilter_suite, test_request, expected_result): - pass + _test_post_request(server_repofilter_suite, test_request, + expected_result) - def test_get_requests(self, server_repofilter_suite, - test_request_parameters, expected_result): - pass class TestSruSuite(object): - def test_post_requests(self, server_sru_suite, test_request, - expected_result): - pass - def test_get_requests(self, server_sru_suite, test_request_parameters, expected_result): - pass + _test_get_request(server_sru_suite, test_request_parameters, + expected_result) class TestUtf8Suite(object): def test_post_requests(self, server_utf_8_suite, test_request, expected_result): - pass - - def test_get_requests(self, server_utf_8_suite, test_request_parameters, - expected_result): - pass + _test_post_request(server_utf_8_suite, test_request, expected_result) def _test_post_request(pycsw_server_url, test_request, expected_result): @@ -216,8 +198,20 @@ def _test_post_request(pycsw_server_url, test_request, expected_result): expected = expected_fh.read() response = requests.post(pycsw_server_url, data=request_data) - response_data = response.text + _compare_response(response, expected) + +def _test_get_request(pycsw_server_url, parameters, expected_result): + with open(expected_result, encoding=ENCODING) as expected_fh: + expected = expected_fh.read() + payload = parse_qs(parameters) + print("payload: {}".format(payload)) + response = requests.get(pycsw_server_url, params=payload) + _compare_response(response, expected) + + +def _compare_response(response, expected): + response_data = response.text normalized_result = _normalize(response_data, force_id_mask=False) print("expected: {0}".format(expected)) print("response: {0}".format(normalized_result)) @@ -229,10 +223,6 @@ def _test_post_request(pycsw_server_url, test_request, expected_result): assert matches_expected -def _test_get_request(pycsw_server_url, parameters, expected_result): - pass - - def _test_xml_result(result, expected): """Compare the XML test results with an expected value. From 6d78dbbbe1f7d56a75fda3bf81970f00e96c14b3 Mon Sep 17 00:00:00 2001 From: Ricardo Silva Date: Fri, 10 Jun 2016 16:20:56 +0100 Subject: [PATCH 007/119] adding database stuff to test configuration --- tests/conftest.py | 62 ++++++++++++++++++++++++++++------------------- 1 file changed, 37 insertions(+), 25 deletions(-) diff --git a/tests/conftest.py b/tests/conftest.py index 895e5939f..795fe981a 100644 --- a/tests/conftest.py +++ b/tests/conftest.py @@ -15,25 +15,32 @@ TESTS_ROOT = os.path.dirname(os.path.abspath(__file__)) -# This list holds the names of the suites that are available for functional -# testing -FUNCTIONAL_SUITES = [ - "apiso", - "apiso-inspire", - "atom", - "cite", - "csw30", - "default", - "dif", - "ebrim", - "fgdc", - "gm03", - "harvesting", - "oaipmh", - "repofilter", - "sru", - "utf-8", -] +# This dict holds the names of the suites that are available for functional +# testing and also if they use a custom database or not. If a suite has a +# custom database, then a new db is created and possibly loaded with the suite's +# test data (if there is any test data). If a suite does not use a custom db, +# then it means that its tests it will have a database loaded with records +# from the CITE suite +# If you omit the "has_own_db" key from a suite's dict, it is assumed that +# the value is False +FUNCTIONAL_SUITES = { + "apiso": {"has_own_db": True}, + "apiso-inspire": {}, + "atom": {}, + "cite": {"has_own_db": True}, + "csw30": {}, + "default": {}, + "dif": {}, + "ebrim": {}, + "fgdc": {}, + "gm03": {}, + "harvesting": {"has_own_db": True}, + "manager": {"has_own_db": True}, + "oaipmh": {}, + "repofilter": {}, + "sru": {}, + "utf-8": {}, +} def pytest_configure(config): @@ -62,7 +69,7 @@ def pytest_addoption(parser): help="Password to use for creating and accessing local postgres " "databases used for functional tests." ) - for suite_name in FUNCTIONAL_SUITES: + for suite_name in FUNCTIONAL_SUITES.keys(): parser.addoption( "--server-url-{0}-suite".format(suite_name), help="URL to perform functional tests for the {0!r} suite. If not " @@ -82,7 +89,7 @@ def pytest_generate_tests(metafunc): """ expected_dir = os.path.join(TESTS_ROOT, "expected") - for suite_name in FUNCTIONAL_SUITES: + for suite_name in FUNCTIONAL_SUITES.keys(): safe_suite_name = _get_suite_safe_name(suite_name) fixture_name = "server_{0}_suite".format(safe_suite_name) uses_fixture = fixture_name in metafunc.fixturenames @@ -284,11 +291,11 @@ def _get_server_with_config(request, suite_name, tmpdir_factory, port_number): suite_name, "default.cfg") config = ConfigParser() config.read(original_config_path) - safe_suite_name = _get_suite_safe_name(suite_name) - test_temp_directory = tmpdir_factory.mktemp(safe_suite_name, + #safe_suite_name = _get_suite_safe_name(suite_name) + test_temp_directory = tmpdir_factory.mktemp(suite_name, numbered=True) db_url = _initialize_database( - request, safe_suite_name, test_temp_directory, + request, suite_name, test_temp_directory, config.get("repository", "table"), os.path.join(TESTS_ROOT, "suites", suite_name, "data") ) @@ -319,7 +326,7 @@ def _initialize_database(request, suite_name, test_dir, table_name, data_path): Pytest's FixtureRequest object, holding information about the test context suite_name: str - The safe name of the current suite + The name of the current suite test_dir: str Full path to the temporary directory being used in the suite's tests data_path: str @@ -347,6 +354,10 @@ def _initialize_database(request, suite_name, test_dir, table_name, data_path): suite_name)) admin.setup_db(db_url, table_name, test_dir) print("Loading database data...") + if not FUNCTIONAL_SUITES[suite_name].get("has_own_db", False): + print("Loading CITE data into database...") + cite_data_dir = os.path.join(TESTS_ROOT, "suites", "cite", "data") + data_path = cite_data_dir admin.load_records(StaticContext(), db_url, table_name, data_path) return db_url @@ -381,6 +392,7 @@ def _start_local_server(request, config_path, port_number): env = os.environ.copy() env["PYCSW_CONFIG"] = config_path pycsw_process = subprocess.Popen(shlex.split(command), cwd=working_dir, + stdout=subprocess.PIPE, env=env) time.sleep(3) # give the external process some time to start From 820d390d698c8f711139616630375b7a62364d81 Mon Sep 17 00:00:00 2001 From: Ricardo Garcia Silva Date: Thu, 18 Aug 2016 15:06:25 +0100 Subject: [PATCH 008/119] refactoring tests to use py.test --- docs/testing.rst | 166 ++++++++++++++++++++++++------ tests/conftest.py | 64 +++++++----- tests/test_suites.py | 240 +++++++++++++++++++++++++++++-------------- 3 files changed, 333 insertions(+), 137 deletions(-) diff --git a/docs/testing.rst b/docs/testing.rst index 8729e8aba..40dcdfa49 100644 --- a/docs/testing.rst +++ b/docs/testing.rst @@ -1,63 +1,160 @@ -.. _testing: +.. _tests: Testing ======= +Pycsw uses `pytest`_ for managing its automated tests. There are a number of +test suites that perform mostly functional testing. These tests ensure that +pycsw is compliant with the various supported standards. + +The tests can be run locally as part of the development cycle. They are also +run on pycsw's `Travis`_ continuous integration server against all pushes and +pull requests to the code repository. + .. _ogc-cite: + OGC CITE -------- -Compliance benchmarking is done via the OGC `Compliance & Interoperability Testing & Evaluation Initiative`_. The pycsw `wiki `_ documents testing procedures and status. +In addition to pycsw's own tests, all public releases are also tested via the +OGC `Compliance & Interoperability Testing & Evaluation Initiative`_ (CITE). +The pycsw `wiki`_ documents CITE testing procedures and status. -.. _tests: +.. _pytest: http://pytest.org/latest/ +.. _Travis: http://travis-ci.org/geopython/pycsw +.. _Compliance & Interoperability Testing & Evaluation Initiative: + http://cite.opengeospatial.org/ +.. _wiki: https://github.com/geopython/pycsw/wiki/OGC-CITE-Compliance + + +Test suites +----------- + +Currently most of pycsw's tests are `functional tests`_. This means that +each test case is based on the requirements mandated by the specifications of +the various standards that pycsw implements. These tests focus on making sure +that pycsw works as expected. + +Each test follows the same workflow: + +* Setup a local pycsw instance with a custom configuration and data repository + for each suite of tests; + +* Perform a series of GET and POST requests to the running pycsw instance; + +* Compare the results of each request against a previously prepared expected + result. If the test result matches the expected outcome the test passes, + otherwise it fails. + + +A number of different test suites exist under ``tests/suites``. Each suite +specifies the following structure: + +* A mandatory ``default.cfg`` file with the pycsw configuration that must be + used by the test suite + +* A mandatory ``expected/`` directory containing the expected results for each + request + +* An optional ``data/`` directory that contains ``.xml`` files with testing + data that is to be loaded into the suite's database before running the tests + +* An optional ``get/requests.txt`` file that holds request parameters used for + making HTTP GET requests. + + Each line in the file must be formatted with the following scheme: + + test_id,request_query_string + + For example: + + GetCapabilities,service=CSW&version=2.0.2&request=GetCapabilities + + When tests are run, the *test_id* is used for naming each test and for + finding the expected result. + +* An optional ``post/`` directory that holds ``.xml`` files used for making + HTTP POST requests + + +.. _functional tests: https://en.wikipedia.org/wiki/Functional_testing + + +Running tests locally +--------------------- + +Tests Tester ------ -The pycsw tests framework (in ``tests``) is a collection of testsuites to perform automated regession testing of the codebase. Test are run against all pushes to the GitHub repository via `Travis CI`_. +The pycsw tests framework (in ``tests``) is a collection of testsuites to +perform automated regression testing of the codebase. Test are run against +all pushes to the GitHub repository via Travis CI. Running Locally ^^^^^^^^^^^^^^^ -The tests framework can be run from ``tests`` using `Paver`_ (see ``pavement.py``) tasks for convenience: +The tests framework can be run from ``tests`` using `Paver`_ +(see ``pavement.py``) tasks for convenience: .. code-block:: bash - $ cd /path/to/pycsw - # run all tests (starts up http://localhost:8000) - $ paver test - # run tests only against specific testsuites - $ paver test -s apiso,fgdc - # run all tests, including harvesting (this is turned off by default given the volatility of remote services/data testing) - $ paver test -r - # run all tests with 1000ms time benchmark - $ paver test -t 1000 - -The tests perform HTTP GET and POST requests against ``http://localhost:8000``. The expected output for each test can be found in ``expected``. Results are categorized as ``passed``, ``failed``, or ``initialized``. A summary of results is output at the end of the run. + cd /path/to/pycsw + # run all tests (starts up http://localhost:8000) + paver test + # run tests only against specific testsuites + paver test -s apiso,fgdc + # run all tests, including harvesting (this is turned off by default given + # the volatility of remote services/data testing) + paver test -r + # run all tests with 1000ms time benchmark + paver test -t 1000 + +The tests perform HTTP GET and POST requests against +``http://localhost:8000``. The expected output for each test can be found +in ``expected``. Results are categorized as ``passed``, ``failed``, +or ``initialized``. A summary of results is output at the end of the run. Failed Tests ^^^^^^^^^^^^ -If a given test has failed, the output is saved in ``results``. The resulting failure can be analyzed by running ``diff tests/expected/name_of_test.xml tests/results/name_of_test.xml`` to find variances. The Paver task returns a status code which indicates the number of tests which have failed (i.e. ``echo $?``). +If a given test has failed, the output is saved in ``results``. The +resulting failure can be analyzed by running +``diff tests/expected/name_of_test.xml tests/results/name_of_test.xml`` to +find variances. The Paver task returns a status code which indicates the +number of tests which have failed (i.e. ``echo $?``). Test Suites ^^^^^^^^^^^ -The tests framework is run against a series of 'suites' (in ``tests/suites``), each of which specifies a given configuration to test various functionality of the codebase. Each suite is structured as follows: +The tests framework is run against a series of 'suites' (in ``tests/suites``), +each of which specifies a given configuration to test various functionality +of the codebase. Each suite is structured as follows: * ``tests/suites/suite/default.cfg``: the configuration for the suite -* ``tests/suites/suite/post``: directory of XML documents for HTTP POST requests -* ``tests/suites/suite/get/requests.txt``: directory and text file of KVP for HTTP GET requests -* ``tests/suites/suite/data``: directory of sample XML data required for the test suite. Database and test data are setup/loaded automatically as part of testing +* ``tests/suites/suite/post``: directory of XML documents for HTTP POST + requests +* ``tests/suites/suite/get/requests.txt``: directory and text file of KVP + for HTTP GET requests +* ``tests/suites/suite/data``: directory of sample XML data required for the + test suite. Database and test data are setup/loaded automatically as part + of testing When the tests are invoked, the following operations are run: * pycsw configuration is set to ``tests/suites/suite/default.cfg`` * HTTP POST requests are run against ``tests/suites/suite/post/*.xml`` -* HTTP GET requests are run against each request in ``tests/suites/suite/get/requests.txt`` +* HTTP GET requests are run against each request in + ``tests/suites/suite/get/requests.txt`` -The CSV format of ``tests/suites/suite/get/requests.txt`` is ``testname,request``, with one line for each test. The ``testname`` value is a unique test name (this value sets the name of the output file in the test results). The ``request`` value is the HTTP GET request. The ``PYCSW_SERVER`` token is replaced at runtime with the URL to the pycsw install. +The CSV format of ``tests/suites/suite/get/requests.txt`` is +``testname,request``, with one line for each test. The ``testname`` value +is a unique test name (this value sets the name of the output file in the +test results). The ``request`` value is the HTTP GET request. The +``PYCSW_SERVER`` token is replaced at runtime with the URL to the pycsw +install. Adding New Tests ^^^^^^^^^^^^^^^^ @@ -65,7 +162,8 @@ Adding New Tests To add tests to an existing suite: * for HTTP POST tests, add XML documents to ``tests/suites/suite/post`` -* for HTTP GET tests, add tests (one per line) to ``tests/suites/suite/get/requests.txt`` +* for HTTP GET tests, add tests (one per line) to + ``tests/suites/suite/get/requests.txt`` * run ``paver test`` To add a new test suite: @@ -74,19 +172,27 @@ To add a new test suite: * create a new configuration in ``tests/suites/foo/default.cfg`` * Ensure that all file paths are relative to ``path/to/pycsw`` - * Ensure that ``repository.database`` points to an SQLite3 database called ``tests/suites/foo/data/records.db``. The database *must* be called ``records.db`` and the directory ``tests/suites/foo/data`` *must* exist + * Ensure that ``repository.database`` points to an SQLite3 database + called ``tests/suites/foo/data/records.db``. The database *must* be + called ``records.db`` and the directory ``tests/suites/foo/data`` + *must* exist * populate HTTP POST requests in ``tests/suites/foo/post`` * populate HTTP GET requests in ``tests/suites/foo/get/requests.txt`` -* if the testsuite requires test data, create ``tests/suites/foo/data`` are store XML file there -* run ``paver test`` (or ``paver test -s foo`` to test only the new test suite) +* if the testsuite requires test data, create ``tests/suites/foo/data`` are + store XML file there +* run ``paver test`` (or ``paver test -s foo`` to test only the new test + suite) -The new test suite database will be created automatically and used as part of tests. +The new test suite database will be created automatically and used as part of +tests. Web Testing ^^^^^^^^^^^ -You can also use the pycsw tests via your web browser to perform sample requests against your pycsw install. The tests are is located in ``tests/``. To generate the HTML page: +You can also use the pycsw tests via your web browser to perform sample +requests against your pycsw install. The tests are is located in +``tests/``. To generate the HTML page: .. code-block:: bash @@ -94,6 +200,4 @@ You can also use the pycsw tests via your web browser to perform sample requests Then navigate to ``http://host/path/to/pycsw/tests/index.html``. -.. _`Compliance & Interoperability Testing & Evaluation Initiative`: http://cite.opengeospatial.org/ -.. _`Travis CI`: http://travis-ci.org/geopython/pycsw .. _`Paver`: http://paver.github.io/paver/ diff --git a/tests/conftest.py b/tests/conftest.py index 795fe981a..d3c238f55 100644 --- a/tests/conftest.py +++ b/tests/conftest.py @@ -88,30 +88,33 @@ def pytest_generate_tests(metafunc): """ - expected_dir = os.path.join(TESTS_ROOT, "expected") + test_name_get_matches = ( + metafunc.function.__name__ == "test_get_requests") + test_name_post_matches = ( + metafunc.function.__name__ == "test_post_requests") for suite_name in FUNCTIONAL_SUITES.keys(): safe_suite_name = _get_suite_safe_name(suite_name) fixture_name = "server_{0}_suite".format(safe_suite_name) - uses_fixture = fixture_name in metafunc.fixturenames - test_name_post = "test_post_requests" - test_name_get = "test_get_requests" - test_name_get_matches = metafunc.function.__name__ == test_name_get - test_name_post_matches = metafunc.function.__name__ == test_name_post - if uses_fixture and test_name_post_matches: - test_data, test_names = _configure_functional_post_tests( - expected_dir, safe_suite_name) + if fixture_name in metafunc.fixturenames and test_name_get_matches: + test_data, test_names = _configure_functional_get_tests(suite_name) metafunc.parametrize( - ["test_request", "expected_result"], + [ + "{0}_test_request_parameters".format(safe_suite_name), + "{0}_expected_get_result".format(safe_suite_name) + ], test_data, ids=test_names, scope="session" ) break - elif uses_fixture and test_name_get_matches: - test_data, test_names = _configure_functional_get_tests( - expected_dir, suite_name) + elif fixture_name in metafunc.fixturenames and test_name_post_matches: + test_data, test_names = _configure_functional_post_tests( + suite_name) metafunc.parametrize( - ["test_request_parameters", "expected_result"], + [ + "{0}_test_request".format(safe_suite_name), + "{0}_expected_post_result".format(safe_suite_name) + ], test_data, ids=test_names, scope="session" @@ -215,36 +218,33 @@ def server_utf_8_suite(request, tmpdir_factory): tmpdir_factory, 8025) -def _configure_functional_post_tests(expected_dir, suite_name): +def _configure_functional_post_tests(suite_name): test_data = [] test_names = [] suite_dir = os.path.join(TESTS_ROOT, "suites", suite_name) post_requests_dir = os.path.join(suite_dir, "post") + expected_dir = os.path.join(suite_dir, "expected") for item in glob.iglob(os.path.join(post_requests_dir, "*")): test_id = os.path.splitext(os.path.basename(item))[0] - expected = os.path.join( - expected_dir, - "suites_{0}_post_{1}.xml".format(suite_name, test_id) - ) + expected = os.path.join(expected_dir,"post_{0}.xml".format(test_id)) if os.path.isfile(item) and os.path.isfile(expected): test_data.append((item, expected)) test_names.append("{0}_{1}".format(suite_name, test_id)) return test_data, test_names -def _configure_functional_get_tests(expected_dir, suite_name): +def _configure_functional_get_tests(suite_name): test_data = [] test_names = [] request_file_path = os.path.join(TESTS_ROOT, "suites", suite_name, "get", "requests.txt") + expected_dir = os.path.join(TESTS_ROOT, "suites", suite_name, "expected") try: with open(request_file_path, encoding="utf-8") as fh: for line in fh: test_name, sep, test_params = line.partition(",") - expected = os.path.join( - expected_dir, - "suites_{0}_get_{1}.xml".format(suite_name, test_name) - ) + expected = os.path.join(expected_dir, + "get_{0}.xml".format(test_name)) if os.path.isfile(expected): test_data.append((test_params.strip(), expected)) test_names.append("{0}_{1}".format(suite_name, test_name)) @@ -286,7 +286,8 @@ def _get_server_with_config(request, suite_name, tmpdir_factory, port_number): url = request.config.getoption("--server-url-{0}-suite".format(suite_name)) if url is None: - print("Initializing server for {0!r} suite...".format(suite_name)) + print("Initializing server for {0!r} suite at port " + "{1!r}...".format(suite_name, port_number)) original_config_path = os.path.join(TESTS_ROOT, "suites", suite_name, "default.cfg") config = ConfigParser() @@ -300,6 +301,11 @@ def _get_server_with_config(request, suite_name, tmpdir_factory, port_number): os.path.join(TESTS_ROOT, "suites", suite_name, "data") ) # now we can change the config as needed + #server_url = "http://localhost:{0}".format(port_number) + #config.set("server", "url", server_url) + config.set("server", "loglevel", "DEBUG") + config.set("server", "logfile", os.path.join(test_temp_directory, + "pycsw.log")) config.set("repository", "database", db_url) new_config = test_temp_directory.join("default.cfg") fh = new_config.open("w") @@ -387,18 +393,20 @@ def _start_local_server(request, config_path, port_number): """ - command = "python pycsw/wsgi.py {}".format(port_number) + url = "http://localhost:{0}".format(port_number) + print("Starting a local server at {0}...".format(url)) + command = "python pycsw/wsgi.py {0}".format(port_number) working_dir = os.path.dirname(TESTS_ROOT) env = os.environ.copy() env["PYCSW_CONFIG"] = config_path pycsw_process = subprocess.Popen(shlex.split(command), cwd=working_dir, stdout=subprocess.PIPE, env=env) - time.sleep(3) # give the external process some time to start + time.sleep(2) # give the external process some time to start def finalizer(): pycsw_process.terminate() pycsw_process.wait() request.addfinalizer(finalizer) - return "http://localhost:{}".format(port_number) + return url diff --git a/tests/test_suites.py b/tests/test_suites.py index 536993d75..2b439f33d 100644 --- a/tests/test_suites.py +++ b/tests/test_suites.py @@ -41,6 +41,7 @@ from lxml import objectify import re from urllib.parse import parse_qs +from urllib.parse import unquote import pytest import requests @@ -52,174 +53,257 @@ class TestApisoSuite(object): - def test_post_requests(self, server_apiso_suite, test_request, - expected_result): - _test_post_request(server_apiso_suite, test_request, expected_result) + def test_post_requests(self, + server_apiso_suite, + apiso_test_request, + apiso_expected_post_result): + _test_post_request(server_apiso_suite, + apiso_test_request, + apiso_expected_post_result) class TestApisoInspireSuite(object): - def test_get_requests(self, server_apiso_inspire_suite, - test_request_parameters, expected_result): - print("test_request_parameters: {}".format(test_request_parameters)) - _test_get_request(server_apiso_inspire_suite, test_request_parameters, - expected_result) + def test_get_requests(self, + server_apiso_inspire_suite, + apiso_inspire_test_request_parameters, + apiso_inspire_expected_get_result): + _test_get_request(server_apiso_inspire_suite, + apiso_inspire_test_request_parameters, + apiso_inspire_expected_get_result) class TestAtomSuite(object): - def test_post_requests(self, server_atom_suite, test_request, - expected_result): - _test_post_request(server_atom_suite, test_request, expected_result) + def test_post_requests(self, + server_atom_suite, + atom_test_request, + atom_expected_post_result): + _test_post_request(server_atom_suite, + atom_test_request, + atom_expected_post_result) def test_get_requests(self, server_atom_suite, - test_request_parameters, expected_result): - _test_get_request(server_atom_suite, test_request_parameters, - expected_result) + atom_test_request_parameters, + atom_expected_get_result): + _test_get_request(server_atom_suite, + atom_test_request_parameters, + atom_expected_get_result) class TestCiteSuite(object): - def test_post_requests(self, server_cite_suite, test_request, - expected_result): - _test_post_request(server_cite_suite, test_request, expected_result) + def test_post_requests(self, server_cite_suite, cite_test_request, + cite_expected_post_result): + _test_post_request(server_cite_suite, cite_test_request, + cite_expected_post_result) def test_get_requests(self, server_cite_suite, - test_request_parameters, expected_result): - _test_get_request(server_cite_suite, test_request_parameters, - expected_result) + cite_test_request_parameters, + cite_expected_get_result): + print("locals: {0}".format(locals())) + _test_get_request(server_cite_suite, cite_test_request_parameters, + cite_expected_get_result) class TestCsw30Suite(object): - def test_post_requests(self, server_csw30_suite, test_request, - expected_result): - _test_post_request(server_csw30_suite, test_request, expected_result) + def test_post_requests(self, + server_csw30_suite, + csw30_test_request, + csw30_expected_post_result): + _test_post_request(server_csw30_suite, + csw30_test_request, + csw30_expected_post_result) def test_get_requests(self, server_csw30_suite, - test_request_parameters, expected_result): - _test_get_request(server_csw30_suite, test_request_parameters, - expected_result) + csw30_test_request_parameters, + csw30_expected_get_result): + _test_get_request(server_csw30_suite, + csw30_test_request_parameters, + csw30_expected_get_result) class TestDefaultSuite(object): - def test_post_requests(self, server_default_suite, test_request, - expected_result): - _test_post_request(server_default_suite, test_request, expected_result) + def test_post_requests(self, + server_default_suite, + default_test_request, + default_expected_post_result): + _test_post_request(server_default_suite, + default_test_request, + default_expected_post_result) - def test_get_requests(self, server_default_suite, test_request_parameters, - expected_result): - _test_get_request(server_default_suite, test_request_parameters, - expected_result) + def test_get_requests(self, + server_default_suite, + default_test_request_parameters, + default_expected_get_result): + _test_get_request(server_default_suite, + default_test_request_parameters, + default_expected_get_result) class TestDifSuite(object): - def test_post_requests(self, server_dif_suite, test_request, - expected_result): - _test_post_request(server_dif_suite, test_request, expected_result) + def test_post_requests(self, + server_dif_suite, + dif_test_request, + dif_expected_post_result): + _test_post_request(server_dif_suite, + dif_test_request, + dif_expected_post_result) class TestEbrimSuite(object): - def test_post_requests(self, server_ebrim_suite, test_request, - expected_result): - _test_post_request(server_ebrim_suite, test_request, expected_result) + def test_post_requests(self, server_ebrim_suite, + ebrim_test_request, + ebrim_expected_post_result): + _test_post_request(server_ebrim_suite, + ebrim_test_request, + ebrim_expected_post_result) class TestFgdcSuite(object): - def test_post_requests(self, server_fgdc_suite, test_request, - expected_result): - _test_post_request(server_fgdc_suite, test_request, expected_result) + def test_post_requests(self, + server_fgdc_suite, + fgdc_test_request, + fgdc_expected_post_result): + _test_post_request(server_fgdc_suite, + fgdc_test_request, + fgdc_expected_post_result) class TestGm03Suite(object): - def test_post_requests(self, server_gm03_suite, test_request, - expected_result): - _test_post_request(server_gm03_suite, test_request, expected_result) + def test_post_requests(self, + server_gm03_suite, + gm03_test_request, + gm03_expected_post_result): + _test_post_request(server_gm03_suite, + gm03_test_request, + gm03_expected_post_result) class TestHarvestingSuite(object): - def test_post_requests(self, server_harvesting_suite, test_request, - expected_result): - _test_post_request(server_harvesting_suite, test_request, - expected_result) + def test_post_requests(self, + server_harvesting_suite, + harvesting_test_request, + harvesting_expected_post_result): + _test_post_request(server_harvesting_suite, + harvesting_test_request, + harvesting_expected_post_result) - def test_get_requests(self, server_harvesting_suite, - test_request_parameters, expected_result): - _test_get_request(server_harvesting_suite, test_request_parameters, - expected_result) + def test_get_requests(self, + server_harvesting_suite, + harvesting_test_request_parameters, + harvesting_expected_get_result): + _test_get_request(server_harvesting_suite, + harvesting_test_request_parameters, + harvesting_expected_get_result) class TestManagerSuite(object): - def test_post_requests(self, server_manager_suite, test_request, - expected_result): - _test_post_request(server_manager_suite, test_request, expected_result) + def test_post_requests(self, + server_manager_suite, + manager_test_request, + manager_expected_post_result): + _test_post_request(server_manager_suite, + manager_test_request, + manager_expected_post_result) class TestOaipmhSuite(object): - def test_get_requests(self, server_oaipmh_suite, test_request_parameters, - expected_result): - _test_get_request(server_oaipmh_suite, test_request_parameters, - expected_result) + def test_get_requests(self, server_oaipmh_suite, + oaipmh_test_request_parameters, + oaipmh_expected_get_result): + _test_get_request(server_oaipmh_suite, + oaipmh_test_request_parameters, + oaipmh_expected_get_result) + class TestRepofilterSuite(object): - def test_post_requests(self, server_repofilter_suite, test_request, - expected_result): - _test_post_request(server_repofilter_suite, test_request, - expected_result) + def test_post_requests(self, + server_repofilter_suite, + repofilter_test_request, + repofilter_expected_post_result): + _test_post_request(server_repofilter_suite, + repofilter_test_request, + repofilter_expected_post_result) class TestSruSuite(object): - def test_get_requests(self, server_sru_suite, test_request_parameters, - expected_result): - _test_get_request(server_sru_suite, test_request_parameters, - expected_result) + def test_get_requests(self, + server_sru_suite, + sru_test_request_parameters, + sru_expected_get_result): + _test_get_request(server_sru_suite, + sru_test_request_parameters, + sru_expected_get_result) class TestUtf8Suite(object): - def test_post_requests(self, server_utf_8_suite, test_request, - expected_result): - _test_post_request(server_utf_8_suite, test_request, expected_result) + def test_post_requests(self, + server_utf_8_suite, + utf_8_test_request, + utf_8_expected_post_result): + _test_post_request(server_utf_8_suite, + utf_8_test_request, + utf_8_expected_post_result) def _test_post_request(pycsw_server_url, test_request, expected_result): with open(test_request, encoding=ENCODING) as request_fh: request_data = request_fh.read() + response = requests.post(pycsw_server_url, + data=bytes(request_data, ENCODING)) with open(expected_result, encoding=ENCODING) as expected_fh: expected = expected_fh.read() - response = requests.post(pycsw_server_url, - data=request_data) _compare_response(response, expected) def _test_get_request(pycsw_server_url, parameters, expected_result): + print("**********************") + print("EXPECTED_RESULT: {0}".format(expected_result)) + print("PARAMETERS: {0}".format(parameters)) + print("**********************") with open(expected_result, encoding=ENCODING) as expected_fh: expected = expected_fh.read() - payload = parse_qs(parameters) - print("payload: {}".format(payload)) - response = requests.get(pycsw_server_url, params=payload) + #payload = parse_qs(bytes(parameters, ENCODING)) + #payload = parse_qs(parameters) + payload = {} + for kvp in parameters.split("&"): + print("kvp: {}".format(kvp)) + parts = kvp.split("=") + payload[parts[0].lower()] = unquote(parts[1]) if len(parts) > 1 else "" + #payload[parts[0].lower()] = parts[1] if len(parts) > 1 else "" + print("payload: {0}".format(payload)) + request_headers = {} + if "outputformat" in payload.keys(): + request_headers.setdefault("Accept", payload["outputformat"]) + response = requests.get(pycsw_server_url, params=payload, + headers=request_headers) _compare_response(response, expected) def _compare_response(response, expected): + response.encoding = ENCODING response_data = response.text normalized_result = _normalize(response_data, force_id_mask=False) - print("expected: {0}".format(expected)) - print("response: {0}".format(normalized_result)) try: matches_expected = _test_xml_result(normalized_result, expected) except etree.XMLSyntaxError: # the file is either not XML (perhaps JSON?) or malformed matches_expected = _test_json_result(normalized_result, expected) + if not matches_expected: + print("expected: {0}".format(expected)) + print("response: {0}".format(normalized_result)) assert matches_expected From 28b8127c41f1266c71124b46f288cb297412db81 Mon Sep 17 00:00:00 2001 From: Ricardo Garcia Silva Date: Sat, 5 Nov 2016 15:18:41 +0000 Subject: [PATCH 009/119] added pycharm's project files to gitignore --- .gitignore | 3 +++ 1 file changed, 3 insertions(+) diff --git a/.gitignore b/.gitignore index a30ade7c4..a443b4db4 100644 --- a/.gitignore +++ b/.gitignore @@ -15,3 +15,6 @@ tests/results # test repositories data + +# pycharm ide +.idea From e481836802967f0591ec3d5178334a7f7b190e38 Mon Sep 17 00:00:00 2001 From: Ricardo Garcia Silva Date: Wed, 16 Nov 2016 17:45:06 +0000 Subject: [PATCH 010/119] refactored the implementation Removed a lot of boiler plate code, simplifying things --- .gitignore | 5 +- docs/testing.rst | 144 +++++- requirements-dev.txt | 2 + tests/conftest.py | 416 ++-------------- tests/functionaltests/conftest.py | 277 +++++++++++ .../functionaltests/test_suites_functional.py | 267 ++++++++++ tests/test_suites.py | 456 ------------------ 7 files changed, 726 insertions(+), 841 deletions(-) create mode 100644 tests/functionaltests/conftest.py create mode 100644 tests/functionaltests/test_suites_functional.py delete mode 100644 tests/test_suites.py diff --git a/.gitignore b/.gitignore index a443b4db4..ac267ca17 100644 --- a/.gitignore +++ b/.gitignore @@ -9,12 +9,11 @@ MANIFEST # testing artifacts tests/index.html tests/results +**.cache +.coverage # test configurations /default.cfg -# test repositories -data - # pycharm ide .idea diff --git a/docs/testing.rst b/docs/testing.rst index 40dcdfa49..b17a3b4f3 100644 --- a/docs/testing.rst +++ b/docs/testing.rst @@ -38,7 +38,7 @@ that pycsw works as expected. Each test follows the same workflow: -* Setup a local pycsw instance with a custom configuration and data repository +* Instantiate a pycsw instance with a custom configuration and data repository for each suite of tests; * Perform a series of GET and POST requests to the running pycsw instance; @@ -48,17 +48,28 @@ Each test follows the same workflow: otherwise it fails. -A number of different test suites exist under ``tests/suites``. Each suite -specifies the following structure: +A number of different test suites exist under ``tests/functionaltests/suites``. +Each suite specifies the following structure: * A mandatory ``default.cfg`` file with the pycsw configuration that must be - used by the test suite + used by the test suite; * A mandatory ``expected/`` directory containing the expected results for each request * An optional ``data/`` directory that contains ``.xml`` files with testing - data that is to be loaded into the suite's database before running the tests + data that is to be loaded into the suite's database before running the tests. + The presence of this directory and its contents have the following meaning + for tests: + + * If ``data/`` directory is present and contains files, they will be loaded + into a new database for running the tests of the suite; + + * If ``data/`` directory is present and does not contain any data files, a + new empty database is used in the tests; + + * If ``data/`` directory is absent, the suite will use a database populated + with test data from the CITE suite. * An optional ``get/requests.txt`` file that holds request parameters used for making HTTP GET requests. @@ -77,10 +88,133 @@ specifies the following structure: * An optional ``post/`` directory that holds ``.xml`` files used for making HTTP POST requests +Test identifiers +^^^^^^^^^^^^^^^^ + +Each test has an identifier that is built using the following rule: + + [__] + +For example: + + test_suites[default_post_GetRecords-end] .. _functional tests: https://en.wikipedia.org/wiki/Functional_testing +Running tests +------------- + +Since pycsw uses `pytest`_, tests are run with the ``py.test`` runner. A basic +test run can be made with: + +.. code:: bash + + py.test + +This command will run all tests and report on the number of successes, failures +and also the time it took to run them. The `py.test` command accepts several +additional parameters that can be used in order to customize the execution of +tests. Look into `pytest's invocation documentation`_ for a more complete +description. You can also get a description of the available parameters by +running: + +.. code:: bash + + py.test --help + +.. _pytest's invocation documentation: http://docs.pytest.org/en/latest/usage.html + + +Running specific suites and test cases +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +Use the `-k name expression` flag to select which tests to run. Since each +test's name includes the suite name, http method and an identifier for the +test, it is easy to run only certain tests. + +.. code:: bash + + py.test -k "apiso and GetRecords" # run only tests from the `apiso` suite that have `GetRecords` in their name + py.test -k "post and GetRecords" # run only tests that use HTTP POST and `GetRecords` in their name + py.test -k "not harvesting" # run all tests except those from the `harvesting` suite + + + +Exiting fast +^^^^^^^^^^^^ + +The `--exitfirst` (or `-x`) flag can be used to stop the test runner +immediately if some test case fails. + +.. code:: bash + + py.test --exitfirst + + +Seeing more output +^^^^^^^^^^^^^^^^^^ + +There are three main ways to get more output from running tests: + +* The `--verbose` (or `-v`) flag + +* The `--capture=no` flag - Messages sent to stdout by a test are not + suppressed; + +* The `--pycsw-loglevel` flag - Sets the log level of the pycsw instance under + test. Set this value to `debug` in order to see all debug messages sent by + pycsw while processing a request + + +.. code:: bash + + py.test --verbose + py.test --pycsw-loglevel=debug + py.test --capture=no --pycsw-loglevel=debug + + +Test coverage +^^^^^^^^^^^^^ + +Use the `--cov pycsw` flag in order to see information on code coverage. It is +possible to get output in a variety of formats. + +.. code:: bash + + py.test --cov pycsw + + +Specifying a timeout for tests +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +The `--timeout ` option can be used to specify that if a test takes +more than `` to run it is considered to have failed. Seconds can be +a float, so it is possibe to specify sub-second timeouts + +.. code:: bash + + py.test --timeout=1.5 + + +Linting with flake8 +^^^^^^^^^^^^^^^^^^^ + +Use the `--flake8` flag to also check if the code complies with Python's style +guide + +.. code:: bash + + py.test --flake8 + + +Running tests against a remote server +------------------------------------- + +TBD + + + Running tests locally --------------------- diff --git a/requirements-dev.txt b/requirements-dev.txt index 6a9fc46a7..9ca8ca353 100644 --- a/requirements-dev.txt +++ b/requirements-dev.txt @@ -1,4 +1,6 @@ Paver==1.2.4 pytest==2.9.1 +pytest-cov==2.4.0 +pytest-timeout==1.2.0 requests==2.10.0 sphinx diff --git a/tests/conftest.py b/tests/conftest.py index d3c238f55..4295d53f1 100644 --- a/tests/conftest.py +++ b/tests/conftest.py @@ -1,53 +1,45 @@ +# ================================================================= +# +# Authors: Ricardo Garcia Silva +# +# Copyright (c) 2016 Ricardo Garcia Silva +# +# Permission is hereby granted, free of charge, to any person +# obtaining a copy of this software and associated documentation +# files (the "Software"), to deal in the Software without +# restriction, including without limitation the rights to use, +# copy, modify, merge, publish, distribute, sublicense, and/or sell +# copies of the Software, and to permit persons to whom the +# Software is furnished to do so, subject to the following +# conditions: +# +# The above copyright notice and this permission notice shall be +# included in all copies or substantial portions of the Software. +# +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +# EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES +# OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +# NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT +# HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, +# WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR +# OTHER DEALINGS IN THE SOFTWARE. +# +# ================================================================= """pytest configuration file""" -from configparser import ConfigParser -import glob -import os -import subprocess -import shlex -import time - import pytest -from pycsw.core import admin -from pycsw.core.config import StaticContext - -TESTS_ROOT = os.path.dirname(os.path.abspath(__file__)) - - -# This dict holds the names of the suites that are available for functional -# testing and also if they use a custom database or not. If a suite has a -# custom database, then a new db is created and possibly loaded with the suite's -# test data (if there is any test data). If a suite does not use a custom db, -# then it means that its tests it will have a database loaded with records -# from the CITE suite -# If you omit the "has_own_db" key from a suite's dict, it is assumed that -# the value is False -FUNCTIONAL_SUITES = { - "apiso": {"has_own_db": True}, - "apiso-inspire": {}, - "atom": {}, - "cite": {"has_own_db": True}, - "csw30": {}, - "default": {}, - "dif": {}, - "ebrim": {}, - "fgdc": {}, - "gm03": {}, - "harvesting": {"has_own_db": True}, - "manager": {"has_own_db": True}, - "oaipmh": {}, - "repofilter": {}, - "sru": {}, - "utf-8": {}, -} - def pytest_configure(config): config.addinivalue_line( "markers", "functional: Run only functional tests" ) + config.addinivalue_line( + "markers", + "unit: Run only unit tests" + ) def pytest_addoption(parser): @@ -69,344 +61,14 @@ def pytest_addoption(parser): help="Password to use for creating and accessing local postgres " "databases used for functional tests." ) - for suite_name in FUNCTIONAL_SUITES.keys(): - parser.addoption( - "--server-url-{0}-suite".format(suite_name), - help="URL to perform functional tests for the {0!r} suite. If not " - "specified, a local pycsw instance is spawned, configured " - "with the {0!r} suite settings and used " - "in tests.".format(suite_name) - ) - - -def pytest_generate_tests(metafunc): - """Parametrize tests programatically. - - Check pytest's documentation for information on this function: - - http://pytest.org/latest/parametrize.html#basic-pytest-generate-tests-example - - """ - - test_name_get_matches = ( - metafunc.function.__name__ == "test_get_requests") - test_name_post_matches = ( - metafunc.function.__name__ == "test_post_requests") - for suite_name in FUNCTIONAL_SUITES.keys(): - safe_suite_name = _get_suite_safe_name(suite_name) - fixture_name = "server_{0}_suite".format(safe_suite_name) - if fixture_name in metafunc.fixturenames and test_name_get_matches: - test_data, test_names = _configure_functional_get_tests(suite_name) - metafunc.parametrize( - [ - "{0}_test_request_parameters".format(safe_suite_name), - "{0}_expected_get_result".format(safe_suite_name) - ], - test_data, - ids=test_names, - scope="session" - ) - break - elif fixture_name in metafunc.fixturenames and test_name_post_matches: - test_data, test_names = _configure_functional_post_tests( - suite_name) - metafunc.parametrize( - [ - "{0}_test_request".format(safe_suite_name), - "{0}_expected_post_result".format(safe_suite_name) - ], - test_data, - ids=test_names, - scope="session" - ) - break - - -@pytest.fixture(scope="session") -def server_apiso_suite(request, tmpdir_factory): - return _get_server_with_config(request, "apiso", - tmpdir_factory, 8010) - - -@pytest.fixture(scope="session") -def server_apiso_inspire_suite(request, tmpdir_factory): - return _get_server_with_config(request, "apiso-inspire", - tmpdir_factory, 8011) - - -@pytest.fixture(scope="session") -def server_atom_suite(request, tmpdir_factory): - return _get_server_with_config(request, "atom", - tmpdir_factory, 8012) - - -@pytest.fixture(scope="session") -def server_cite_suite(request, tmpdir_factory): - return _get_server_with_config(request, "cite", - tmpdir_factory, 8013) - - -@pytest.fixture(scope="session") -def server_csw30_suite(request, tmpdir_factory): - return _get_server_with_config(request, "csw30", - tmpdir_factory, 8014) - - -@pytest.fixture(scope="session") -def server_default_suite(request, tmpdir_factory): - return _get_server_with_config(request, "default", - tmpdir_factory, 8015) - - -@pytest.fixture(scope="session") -def server_dif_suite(request, tmpdir_factory): - return _get_server_with_config(request, "dif", - tmpdir_factory, 8016) - - -@pytest.fixture(scope="session") -def server_ebrim_suite(request, tmpdir_factory): - return _get_server_with_config(request, "ebrim", - tmpdir_factory, 8017) - - -@pytest.fixture(scope="session") -def server_fgdc_suite(request, tmpdir_factory): - return _get_server_with_config(request, "fgdc", - tmpdir_factory, 8018) - - -@pytest.fixture(scope="session") -def server_gm03_suite(request, tmpdir_factory): - return _get_server_with_config(request, "gm03", - tmpdir_factory, 8019) - - -@pytest.fixture(scope="session") -def server_harvesting_suite(request, tmpdir_factory): - return _get_server_with_config(request, "harvesting", - tmpdir_factory, 8020) - - -@pytest.fixture(scope="session") -def server_manager_suite(request, tmpdir_factory): - return _get_server_with_config(request, "manager", - tmpdir_factory, 8021) - - -@pytest.fixture(scope="session") -def server_oaipmh_suite(request, tmpdir_factory): - return _get_server_with_config(request, "oaipmh", - tmpdir_factory, 8022) - - -@pytest.fixture(scope="session") -def server_repofilter_suite(request, tmpdir_factory): - return _get_server_with_config(request, "repofilter", - tmpdir_factory, 8023) - - -@pytest.fixture(scope="session") -def server_sru_suite(request, tmpdir_factory): - return _get_server_with_config(request, "sru", - tmpdir_factory, 8024) + parser.addoption( + "--pycsw-loglevel", + default="warning", + help="Log level for the pycsw server." + ) @pytest.fixture(scope="session") -def server_utf_8_suite(request, tmpdir_factory): - return _get_server_with_config(request, "utf-8", - tmpdir_factory, 8025) - - -def _configure_functional_post_tests(suite_name): - test_data = [] - test_names = [] - suite_dir = os.path.join(TESTS_ROOT, "suites", suite_name) - post_requests_dir = os.path.join(suite_dir, "post") - expected_dir = os.path.join(suite_dir, "expected") - for item in glob.iglob(os.path.join(post_requests_dir, "*")): - test_id = os.path.splitext(os.path.basename(item))[0] - expected = os.path.join(expected_dir,"post_{0}.xml".format(test_id)) - if os.path.isfile(item) and os.path.isfile(expected): - test_data.append((item, expected)) - test_names.append("{0}_{1}".format(suite_name, test_id)) - return test_data, test_names - - -def _configure_functional_get_tests(suite_name): - test_data = [] - test_names = [] - request_file_path = os.path.join(TESTS_ROOT, "suites", suite_name, - "get", "requests.txt") - expected_dir = os.path.join(TESTS_ROOT, "suites", suite_name, "expected") - try: - with open(request_file_path, encoding="utf-8") as fh: - for line in fh: - test_name, sep, test_params = line.partition(",") - expected = os.path.join(expected_dir, - "get_{0}.xml".format(test_name)) - if os.path.isfile(expected): - test_data.append((test_params.strip(), expected)) - test_names.append("{0}_{1}".format(suite_name, test_name)) - except FileNotFoundError: - pass # this suite does not have GET tests - return test_data, test_names - - -def _get_suite_safe_name(suite_name): - return suite_name.replace("-", "_") - - -def _get_server_with_config(request, suite_name, tmpdir_factory, port_number): - """Provide a pycsw server to execute tests for the input suite name - - This function introspects the test context. If tests are to be run against - a user-provided url, it does nothing. If there is no user-provided url, - a new pycsw instance is created locally and its URL is returned. - - Parameters - ---------- - request: FixtureRequest - Pytest's FixtureRequest object, holding information about the test - context - suite_name: str - The safe name of the current suite - tmpdir_factory: TempDirFactory - Pytest's TempDirFactory fixture object, that is used to create - temporary directories for tests - port_number: int - Port where a local server shall be started for the input suite_name - - Returns - ------- - str - The pycsw URL that can be used in tests for the input suite_name - - """ - - url = request.config.getoption("--server-url-{0}-suite".format(suite_name)) - if url is None: - print("Initializing server for {0!r} suite at port " - "{1!r}...".format(suite_name, port_number)) - original_config_path = os.path.join(TESTS_ROOT, "suites", - suite_name, "default.cfg") - config = ConfigParser() - config.read(original_config_path) - #safe_suite_name = _get_suite_safe_name(suite_name) - test_temp_directory = tmpdir_factory.mktemp(suite_name, - numbered=True) - db_url = _initialize_database( - request, suite_name, test_temp_directory, - config.get("repository", "table"), - os.path.join(TESTS_ROOT, "suites", suite_name, "data") - ) - # now we can change the config as needed - #server_url = "http://localhost:{0}".format(port_number) - #config.set("server", "url", server_url) - config.set("server", "loglevel", "DEBUG") - config.set("server", "logfile", os.path.join(test_temp_directory, - "pycsw.log")) - config.set("repository", "database", db_url) - new_config = test_temp_directory.join("default.cfg") - fh = new_config.open("w") - config.write(fh) - fh.close() - server_url = _start_local_server(request, str(new_config), port_number) - else: # use the provided url and assume the config has been set - server_url = url - return server_url - - -def _initialize_database(request, suite_name, test_dir, table_name, data_path): - """Initialize local database for functional tests. - - This function will: - - * Configure the correct database url - * Create the database - * Load any test data that the suite may require - - Parameters - ---------- - request: FixtureRequest - Pytest's FixtureRequest object, holding information about the test - context - suite_name: str - The name of the current suite - test_dir: str - Full path to the temporary directory being used in the suite's tests - data_path: str - Full path to a directory that has test data to be loaded up into - the suite's database - - Returns - ------- - str - The SQLAlchemy engine URL for the database. - - """ - - db_type = request.config.getoption("--database-backend") - if db_type == "sqlite": - db_url = "sqlite:///{0}/records.db".format(test_dir) - elif db_type == "postgres": - user = request.config.getoption("--database-user-postgres") - password = request.config.getoption("--database-password-postgres") - db_url = "postgres://{0}:{1}@localhost/pycsw_test_{2}".format( - user, password, suite_name) - else: - raise NotImplementedError - print("Setting up {0!r} database for suite {1!r}...".format(db_type, - suite_name)) - admin.setup_db(db_url, table_name, test_dir) - print("Loading database data...") - if not FUNCTIONAL_SUITES[suite_name].get("has_own_db", False): - print("Loading CITE data into database...") - cite_data_dir = os.path.join(TESTS_ROOT, "suites", "cite", "data") - data_path = cite_data_dir - admin.load_records(StaticContext(), db_url, table_name, data_path) - return db_url - - -def _start_local_server(request, config_path, port_number): - """Start a local pycsw instance - - This function starts a new pycsw instance and also - registers a pytest finalizer function that takes care of stopping the - server when the tests are finished. - - Parameters - ---------- - - request: FixtureRequest - Pytest's FixtureRequest object, holding information about the test - context - config_path: str - Full path to pycsw's configuration file - port_number: int - Port where the server will be listening - - Returns - ------- - str - The URL of the newly started pycsw instance - - """ - - url = "http://localhost:{0}".format(port_number) - print("Starting a local server at {0}...".format(url)) - command = "python pycsw/wsgi.py {0}".format(port_number) - working_dir = os.path.dirname(TESTS_ROOT) - env = os.environ.copy() - env["PYCSW_CONFIG"] = config_path - pycsw_process = subprocess.Popen(shlex.split(command), cwd=working_dir, - stdout=subprocess.PIPE, - env=env) - time.sleep(2) # give the external process some time to start - - def finalizer(): - pycsw_process.terminate() - pycsw_process.wait() +def log_level(request): + return request.config.getoption("pycsw_loglevel").upper() - request.addfinalizer(finalizer) - return url diff --git a/tests/functionaltests/conftest.py b/tests/functionaltests/conftest.py new file mode 100644 index 000000000..addc7e035 --- /dev/null +++ b/tests/functionaltests/conftest.py @@ -0,0 +1,277 @@ +# ================================================================= +# +# Authors: Ricardo Garcia Silva +# +# Copyright (c) 2016 Ricardo Garcia Silva +# +# Permission is hereby granted, free of charge, to any person +# obtaining a copy of this software and associated documentation +# files (the "Software"), to deal in the Software without +# restriction, including without limitation the rights to use, +# copy, modify, merge, publish, distribute, sublicense, and/or sell +# copies of the Software, and to permit persons to whom the +# Software is furnished to do so, subject to the following +# conditions: +# +# The above copyright notice and this permission notice shall be +# included in all copies or substantial portions of the Software. +# +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +# EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES +# OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +# NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT +# HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, +# WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR +# OTHER DEALINGS IN THE SOFTWARE. +# +# ================================================================= +"""pytest configuration file for functional tests""" + +import codecs +from collections import namedtuple +import os +from six.moves import configparser + +import pytest + +from pycsw.core import admin +from pycsw.core.config import StaticContext + +TESTS_ROOT = os.path.dirname(os.path.dirname(os.path.abspath(__file__))) + + +SuiteDirs = namedtuple("SuiteDirs", [ + "get_tests_dir", + "post_tests_dir", + "data_tests_dir", + "expected_results_dir", +]) + + + +def pytest_generate_tests(metafunc): + """Parametrize tests programatically. + + Check pytest's documentation for information on this function: + + http://pytest.org/latest/parametrize.html#basic-pytest-generate-tests-example + + """ + + global TESTS_ROOT + if metafunc.function.__name__ == "test_suites": + suites_root_dir = os.path.join(TESTS_ROOT, "functionaltests", "suites") + suite_names = os.listdir(suites_root_dir) + arg_values = [] + test_ids = [] + for suite in suite_names: + normalize_ids = True if suite in ("harvesting", + "manager") else False + suite_dir = os.path.join(suites_root_dir, suite) + config_path = os.path.join(suite_dir, "default.cfg") + if not os.path.isfile(config_path): + print("Directory {0!r} does not have a suite " + "configuration file".format(suite_dir)) + continue + else: + print("Generating tests for suite {0!r}".format(suite)) + suite_dirs = _get_suite_dirs(suite) + if suite_dirs.post_tests_dir is not None: + post_argvalues, post_ids = _get_post_parameters( + post_tests_dir=suite_dirs.post_tests_dir, + expected_tests_dir=suite_dirs.expected_results_dir, + config_path=config_path, + suite_name=suite, + normalize_ids=normalize_ids + ) + arg_values.extend(post_argvalues) + test_ids.extend(post_ids) + if suite_dirs.get_tests_dir is not None: + get_argvalues, get_ids = _get_get_parameters( + get_tests_dir=suite_dirs.get_tests_dir, + expected_tests_dir=suite_dirs.expected_results_dir, + config_path=config_path, + suite_name=suite, + normalize_ids=normalize_ids + ) + arg_values.extend(get_argvalues) + test_ids.extend(get_ids) + metafunc.parametrize( + argnames=["configuration", "request_method", "request_data", + "expected_result", "normalize_identifier_fields"], + argvalues=arg_values, + indirect=["configuration"], + ids=test_ids, + ) + + +def _get_get_parameters(get_tests_dir, expected_tests_dir, config_path, + suite_name, normalize_ids): + method = "GET" + test_argvalues = [] + test_ids = [] + requests_file_path = os.path.join(get_tests_dir, "requests.txt") + with open(requests_file_path) as fh: + for line in fh: + test_name, test_params = [i.strip() for i in + line.partition(",")[::2]] + expected_result_path = os.path.join( + expected_tests_dir, + "{method}_{name}.xml".format(method=method.lower(), + name=test_name) + ) + test_argvalues.append( + (config_path, method, test_params, expected_result_path, + normalize_ids) + ) + test_ids.append( + "{suite}_{http_method}_{name}".format(suite=suite_name, + http_method=method.lower(), name=test_name) + ) + return test_argvalues, test_ids + + +def _get_post_parameters(post_tests_dir, expected_tests_dir, config_path, + suite_name, normalize_ids): + method = "POST" + test_argvalues = [] + test_ids = [] + # we are sorting the directory contents because the + # `harvesting` suite requires tests to be executed in alphabetical order + directory_contents = sorted(os.listdir(post_tests_dir)) + for request_file_name in directory_contents: + request_path = os.path.join(post_tests_dir, + request_file_name) + expected_result_path = os.path.join( + expected_tests_dir, + "{method}_{filename}".format( + method=method.lower(), + filename=request_file_name + ) + ) + # TODO - make sure the expected result path exists + test_argvalues.append( + (config_path, method, request_path, + expected_result_path, normalize_ids) + ) + test_ids.append( + "{suite}_{http_method}_{file_name}".format( + suite=suite_name, + http_method=method.lower(), + file_name=os.path.splitext( + request_file_name)[0]) + ) + return test_argvalues, test_ids + + +@pytest.fixture() +def configuration(request, tests_directory, log_level): + """Return a SafeConfigParser with the configuration for use in tests. + + The config_parser is read from the ordiginal location and then adjusted + to match the test's temporary directory. The repository will also be + created and populated if it is not already present in the tests_directory. + + """ + + config_path = request.param + config = configparser.SafeConfigParser() + with codecs.open(config_path, encoding="utf-8") as fh: + config.readfp(fh) + suite_name = config_path.split(os.path.sep)[-2] + suite_dirs = _get_suite_dirs(suite_name) + data_dir = suite_dirs.data_tests_dir + if data_dir is not None: # suite has its own database + repository_url = _get_repository_url(request, suite_name, + tests_directory) + else: # suite uses the CITE database + data_dir = _get_cite_suite_data_dir() + repository_url = _get_repository_url(request, "cite", tests_directory) + if not _repository_exists(repository_url): + _initialize_database(repository_url=repository_url, + table_name=config.get("repository", "table"), + data_dir=data_dir, + test_dir=tests_directory) + config.set("server", "loglevel", log_level) + config.set("server", "logfile", "") + config.set("repository", "database", repository_url) + return config + + +@pytest.fixture(scope="session", name="tests_directory") +def fixture_tests_directory(tmpdir_factory): + tests_dir = tmpdir_factory.mktemp("functional_tests") + return tests_dir + + +def _get_suite_dirs(suite_name): + """Return a tuple with suite dirs: get, post, data, expected""" + global TESTS_ROOT + suites_root_dir = os.path.join(TESTS_ROOT, "functionaltests", "suites") + suite_dir = os.path.join(suites_root_dir, suite_name) + data_tests_dir = os.path.join(suite_dir, "data") + post_tests_dir = os.path.join(suite_dir, "post") + get_tests_dir = os.path.join(suite_dir, "get") + expected_results_dir = os.path.join(suite_dir, "expected") + data_dir = data_tests_dir if os.path.isdir(data_tests_dir) else None + posts_dir = post_tests_dir if os.path.isdir(post_tests_dir) else None + gets_dir = get_tests_dir if os.path.isdir(get_tests_dir) else None + expected_dir = (expected_results_dir if os.path.isdir( + expected_results_dir) else None) + return SuiteDirs(get_tests_dir=gets_dir, + post_tests_dir=posts_dir, + data_tests_dir=data_dir, + expected_results_dir=expected_dir) + + +def _get_cite_suite_data_dir(): + global TESTS_ROOT + suites_root_dir = os.path.join(TESTS_ROOT, "functionaltests", "suites") + suite_dir = os.path.join(suites_root_dir, "cite") + data_tests_dir = os.path.join(suite_dir, "data") + data_dir = data_tests_dir if os.path.isdir(data_tests_dir) else None + return data_dir + + +def _repository_exists(repository_url): + """Test if the database already exists""" + if repository_url.startswith("sqlite"): + repository_path = repository_url.replace("sqlite:///", "") + result = os.path.isfile(repository_path) + else: + raise NotImplementedError + return result + + +def _get_repository_url(request, suite_name, test_dir): + db_type = request.config.getoption("--database-backend") + if db_type == "sqlite": + repository_url = "sqlite:///{test_dir}/{suite}.db".format( + test_dir=test_dir, suite=suite_name) + elif db_type == "postgres": + user = request.config.getoption("--database-user-postgres") + password = request.config.getoption("--database-password-postgres") + repository_url = ("postgres://{user}:{password}@localhost/" + "pycsw_test_{suite}".format(user=user, + password=password, + suite=suite_name)) + else: + raise NotImplementedError + return repository_url + + +def _initialize_database(repository_url, table_name, data_dir, test_dir): + """Initialize local database for tests. + + This function will create the database and load any test data that + the suite may require. + + """ + + print("Setting up {0!r} repository...".format(repository_url)) + admin.setup_db(repository_url, table_name, test_dir) + if len(os.listdir(data_dir)) > 0: + print("Loading database data...") + admin.load_records(StaticContext(), repository_url, table_name, + data_dir) diff --git a/tests/functionaltests/test_suites_functional.py b/tests/functionaltests/test_suites_functional.py new file mode 100644 index 000000000..3d93b20c6 --- /dev/null +++ b/tests/functionaltests/test_suites_functional.py @@ -0,0 +1,267 @@ +# ================================================================= +# +# Authors: Tom Kralidis +# Ricardo Garcia Silva +# +# Copyright (c) 2016 Tom Kralidis +# Copyright (c) 2016 Ricardo Garcia Silva +# +# Permission is hereby granted, free of charge, to any person +# obtaining a copy of this software and associated documentation +# files (the "Software"), to deal in the Software without +# restriction, including without limitation the rights to use, +# copy, modify, merge, publish, distribute, sublicense, and/or sell +# copies of the Software, and to permit persons to whom the +# Software is furnished to do so, subject to the following +# conditions: +# +# The above copyright notice and this permission notice shall be +# included in all copies or substantial portions of the Software. +# +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +# EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES +# OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +# NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT +# HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, +# WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR +# OTHER DEALINGS IN THE SOFTWARE. +# +# ================================================================= +"""Functional tests for several test suites""" + +import codecs +from difflib import SequenceMatcher +from io import BytesIO +import json +import re +import wsgiref.util + +from lxml import etree +from lxml import objectify +import pytest + +from pycsw import server + +pytestmark = pytest.mark.functional + + +def test_suites(configuration, request_method, request_data, expected_result, + normalize_identifier_fields): + """ + Test suites. + + Parameters + ---------- + configuration: SafeConfigParser + The configuration to use with the pycsw server instance under test + request_method: str + The HTTP method of the request. Either GET or POST. + request_data: str + Either the path to the request file, for POST requests or the request + parameters for GET requests + expected_result: str + Path to the file that holds the expected result + normalize_identifier_fields: bool + Whether to normalize the identifier fields in responses. This + parameter is used only in the 'harvesting' and 'manager' suites + + """ + + request_environment = { + "REQUEST_METHOD": request_method.upper(), + "QUERY_STRING": "", + "REMOTE_ADDR": "127.0.0.1" + } + if request_method == "POST": + print("request_path: {0}".format(request_data)) + request_buffer = BytesIO() + with open(request_data) as fh: + contents = fh.read() + print("Request contents: {}".format(contents)) + request_buffer.write(contents) + request_environment["CONTENT_LENGTH"] = request_buffer.tell() + request_buffer.seek(0) + request_environment["wsgi.input"] = request_buffer + else: + print("Request contents: {0}".format(request_data)) + request_environment["QUERY_STRING"] = request_data + wsgiref.util.setup_testing_defaults(request_environment) + pycsw_server = server.Csw(rtconfig=configuration, env=request_environment) + status, contents = pycsw_server.dispatch_wsgi() + with codecs.open(expected_result, encoding="utf-8") as fh: + expected = fh.read() + _compare_response(contents, expected, + normalize_id_fields=normalize_identifier_fields) + + +def _compare_response(response, expected, normalize_id_fields): + normalized_result = _normalize(response, force_id_mask=normalize_id_fields) + try: + matches_expected = _test_xml_result(normalized_result, expected) + except etree.XMLSyntaxError: + # the file is either not XML (perhaps JSON?) or malformed + matches_expected = _test_json_result(normalized_result, expected) + except etree.C14NError: + print("XML canonicalization has failed. Trying to compare result " + "with expected using difflib") + matches_expected = _test_xml_diff(normalized_result, expected) + if not matches_expected: + print("expected: {0}".format(expected)) + print("response: {0}".format(normalized_result)) + assert matches_expected + + +def _test_xml_result(result, expected, encoding="utf-8"): + """Compare the XML test results with an expected value. + + This function compares the test result with the expected values by + performing XML canonicalization (c14n)[1]_. + + Parameters + ---------- + result: str + The result of running the test. + expected: str + The expected outcome. + + Returns + ------- + bool + Whether the result matches the expectations or not. + + Raises + ------ + etree.XMLSyntaxError + If any of the input parameters is not a valid XMl. + etree.C14NError + If any of the input parameters cannot be canonicalized. This may + happen if there are relative namespace URIs in any of the XML + documents, as they are explicitly not allowed when doing XML c14n + + References + ---------- + .. [1] http://www.w3.org/TR/xml-c14n + + """ + + result_element = etree.fromstring(result) + expected_element = etree.fromstring(expected.encode(encoding)) + result_buffer = BytesIO() + result_tree = result_element.getroottree() + objectify.deannotate(result_tree, cleanup_namespaces=True) + result_tree.write_c14n(result_buffer) + expected_buffer = BytesIO() + expected_tree = expected_element.getroottree() + objectify.deannotate(expected_tree, cleanup_namespaces=True) + expected_tree.write_c14n(expected_buffer) + matches = result_buffer.getvalue() == expected_buffer.getvalue() + return matches + + +def _test_json_result(result, expected, encoding="utf-8"): + """Compare the JSON test results with an expected value. + + Parameters + ---------- + result: str + The result of running the test. + expected: str + The expected outcome. + + Returns + ------- + bool + Whether the result matches the expectations or not. + + """ + + result_dict = json.loads(result, encoding=encoding) + expected_dict = json.loads(expected, encoding=encoding) + return result_dict == expected_dict + + +def _test_xml_diff(result, expected): + sequence_matcher = SequenceMatcher(None, result, expected) + ratio = sequence_matcher.ratio() + return ratio == pytest.approx(1.0) + + +def _normalize(sresult, force_id_mask=False): + """Replace time, updateSequence and version specific values with generic + values""" + + # XML responses + version = re.search(r'', sresult) + updatesequence = re.search(r'updateSequence="(\S+)"', sresult) + timestamp = re.search(r'timestamp="(.*)"', sresult) + timestamp2 = re.search(r'timeStamp="(.*)"', sresult) + timestamp3 = re.search(r'(.*)', sresult) + timestamp4 = re.search(r'(.*)', sresult) + zrhost = re.search(r'(.*)', sresult) + zrport = re.search(r'(.*)', sresult) + elapsed_time = re.search(r'elapsedTime="(.*)"', sresult) + expires = re.search(r'expires="(.*?)"', sresult) + atom_updated = re.findall(r'(.*)', sresult) + + if version: + sresult = sresult.replace(version.group(0), r'') + if updatesequence: + sresult = sresult.replace(updatesequence.group(0), + r'updateSequence="PYCSW_UPDATESEQUENCE"') + if timestamp: + sresult = sresult.replace(timestamp.group(0), + r'timestamp="PYCSW_TIMESTAMP"') + if timestamp2: + sresult = sresult.replace(timestamp2.group(0), + r'timeStamp="PYCSW_TIMESTAMP"') + if timestamp3: + sresult = sresult.replace(timestamp3.group(0), + r'PYCSW_TIMESTAMP') + if timestamp4: + sresult = sresult.replace(timestamp4.group(0), + r'PYCSW_TIMESTAMP') + if zrport: + sresult = sresult.replace(zrport.group(0), + r'PYCSW_PORT') + if zrhost: + sresult = sresult.replace(zrhost.group(0), + r'PYCSW_HOST') + if elapsed_time: + sresult = sresult.replace(elapsed_time.group(0), + r'elapsedTime="PYCSW_ELAPSED_TIME"') + if expires: + sresult = sresult.replace(expires.group(0), + r'expires="PYCSW_EXPIRES"') + for au in atom_updated: + sresult = sresult.replace(au, r'PYCSW_TIMESTAMP') + + # for csw:HarvestResponse documents, mask identifiers + # which are dynamically generated for OWS endpoints + if sresult.find(r'HarvestResponse') != -1: + identifier = re.findall(r'(\S+)', + sresult) + for i in identifier: + sresult = sresult.replace(i, r'PYCSW_IDENTIFIER') + + # JSON responses + timestamp = re.search(r'"@timestamp": "(.*?)"', sresult) + + if timestamp: + sresult = sresult.replace(timestamp.group(0), + r'"@timestamp": "PYCSW_TIMESTAMP"') + + # harvesting-based GetRecords/GetRecordById responses + if force_id_mask: + dcid = re.findall(r'(urn:uuid.*)', sresult) + isoid = re.findall(r'id="(urn:uuid.*)"', sresult) + isoid2 = re.findall(r'(urn:uuid.*) -# Ricardo Garcia Silva -# -# Copyright (c) 2016 Tom Kralidis -# Copyright (c) 2016 Ricardo Garcia Silva -# -# Permission is hereby granted, free of charge, to any person -# obtaining a copy of this software and associated documentation -# files (the "Software"), to deal in the Software without -# restriction, including without limitation the rights to use, -# copy, modify, merge, publish, distribute, sublicense, and/or sell -# copies of the Software, and to permit persons to whom the -# Software is furnished to do so, subject to the following -# conditions: -# -# The above copyright notice and this permission notice shall be -# included in all copies or substantial portions of the Software. -# -# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -# EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES -# OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -# NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT -# HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, -# WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING -# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR -# OTHER DEALINGS IN THE SOFTWARE. -# -# ================================================================= -"""Functional tests for pycsw. - -These tests are based on the execution of the requests defined in the suites -under the `suites` directory. - -""" - -from io import BytesIO -import json -from lxml import etree -from lxml import objectify -import re -from urllib.parse import parse_qs -from urllib.parse import unquote - -import pytest -import requests - -ENCODING = "utf-8" - -pytestmark = pytest.mark.functional - - -class TestApisoSuite(object): - - def test_post_requests(self, - server_apiso_suite, - apiso_test_request, - apiso_expected_post_result): - _test_post_request(server_apiso_suite, - apiso_test_request, - apiso_expected_post_result) - - -class TestApisoInspireSuite(object): - - def test_get_requests(self, - server_apiso_inspire_suite, - apiso_inspire_test_request_parameters, - apiso_inspire_expected_get_result): - _test_get_request(server_apiso_inspire_suite, - apiso_inspire_test_request_parameters, - apiso_inspire_expected_get_result) - - -class TestAtomSuite(object): - - def test_post_requests(self, - server_atom_suite, - atom_test_request, - atom_expected_post_result): - _test_post_request(server_atom_suite, - atom_test_request, - atom_expected_post_result) - - def test_get_requests(self, server_atom_suite, - atom_test_request_parameters, - atom_expected_get_result): - _test_get_request(server_atom_suite, - atom_test_request_parameters, - atom_expected_get_result) - - -class TestCiteSuite(object): - - def test_post_requests(self, server_cite_suite, cite_test_request, - cite_expected_post_result): - _test_post_request(server_cite_suite, cite_test_request, - cite_expected_post_result) - - def test_get_requests(self, server_cite_suite, - cite_test_request_parameters, - cite_expected_get_result): - print("locals: {0}".format(locals())) - _test_get_request(server_cite_suite, cite_test_request_parameters, - cite_expected_get_result) - - -class TestCsw30Suite(object): - - def test_post_requests(self, - server_csw30_suite, - csw30_test_request, - csw30_expected_post_result): - _test_post_request(server_csw30_suite, - csw30_test_request, - csw30_expected_post_result) - - def test_get_requests(self, server_csw30_suite, - csw30_test_request_parameters, - csw30_expected_get_result): - _test_get_request(server_csw30_suite, - csw30_test_request_parameters, - csw30_expected_get_result) - - -class TestDefaultSuite(object): - - def test_post_requests(self, - server_default_suite, - default_test_request, - default_expected_post_result): - _test_post_request(server_default_suite, - default_test_request, - default_expected_post_result) - - def test_get_requests(self, - server_default_suite, - default_test_request_parameters, - default_expected_get_result): - _test_get_request(server_default_suite, - default_test_request_parameters, - default_expected_get_result) - - -class TestDifSuite(object): - - def test_post_requests(self, - server_dif_suite, - dif_test_request, - dif_expected_post_result): - _test_post_request(server_dif_suite, - dif_test_request, - dif_expected_post_result) - - -class TestEbrimSuite(object): - - def test_post_requests(self, server_ebrim_suite, - ebrim_test_request, - ebrim_expected_post_result): - _test_post_request(server_ebrim_suite, - ebrim_test_request, - ebrim_expected_post_result) - - -class TestFgdcSuite(object): - - def test_post_requests(self, - server_fgdc_suite, - fgdc_test_request, - fgdc_expected_post_result): - _test_post_request(server_fgdc_suite, - fgdc_test_request, - fgdc_expected_post_result) - - -class TestGm03Suite(object): - - def test_post_requests(self, - server_gm03_suite, - gm03_test_request, - gm03_expected_post_result): - _test_post_request(server_gm03_suite, - gm03_test_request, - gm03_expected_post_result) - - -class TestHarvestingSuite(object): - - def test_post_requests(self, - server_harvesting_suite, - harvesting_test_request, - harvesting_expected_post_result): - _test_post_request(server_harvesting_suite, - harvesting_test_request, - harvesting_expected_post_result) - - def test_get_requests(self, - server_harvesting_suite, - harvesting_test_request_parameters, - harvesting_expected_get_result): - _test_get_request(server_harvesting_suite, - harvesting_test_request_parameters, - harvesting_expected_get_result) - - -class TestManagerSuite(object): - - def test_post_requests(self, - server_manager_suite, - manager_test_request, - manager_expected_post_result): - _test_post_request(server_manager_suite, - manager_test_request, - manager_expected_post_result) - - -class TestOaipmhSuite(object): - - def test_get_requests(self, server_oaipmh_suite, - oaipmh_test_request_parameters, - oaipmh_expected_get_result): - _test_get_request(server_oaipmh_suite, - oaipmh_test_request_parameters, - oaipmh_expected_get_result) - - -class TestRepofilterSuite(object): - - def test_post_requests(self, - server_repofilter_suite, - repofilter_test_request, - repofilter_expected_post_result): - _test_post_request(server_repofilter_suite, - repofilter_test_request, - repofilter_expected_post_result) - - -class TestSruSuite(object): - - def test_get_requests(self, - server_sru_suite, - sru_test_request_parameters, - sru_expected_get_result): - _test_get_request(server_sru_suite, - sru_test_request_parameters, - sru_expected_get_result) - -class TestUtf8Suite(object): - - def test_post_requests(self, - server_utf_8_suite, - utf_8_test_request, - utf_8_expected_post_result): - _test_post_request(server_utf_8_suite, - utf_8_test_request, - utf_8_expected_post_result) - - -def _test_post_request(pycsw_server_url, test_request, expected_result): - with open(test_request, encoding=ENCODING) as request_fh: - request_data = request_fh.read() - response = requests.post(pycsw_server_url, - data=bytes(request_data, ENCODING)) - with open(expected_result, encoding=ENCODING) as expected_fh: - expected = expected_fh.read() - _compare_response(response, expected) - - -def _test_get_request(pycsw_server_url, parameters, expected_result): - print("**********************") - print("EXPECTED_RESULT: {0}".format(expected_result)) - print("PARAMETERS: {0}".format(parameters)) - print("**********************") - with open(expected_result, encoding=ENCODING) as expected_fh: - expected = expected_fh.read() - #payload = parse_qs(bytes(parameters, ENCODING)) - #payload = parse_qs(parameters) - payload = {} - for kvp in parameters.split("&"): - print("kvp: {}".format(kvp)) - parts = kvp.split("=") - payload[parts[0].lower()] = unquote(parts[1]) if len(parts) > 1 else "" - #payload[parts[0].lower()] = parts[1] if len(parts) > 1 else "" - print("payload: {0}".format(payload)) - request_headers = {} - if "outputformat" in payload.keys(): - request_headers.setdefault("Accept", payload["outputformat"]) - response = requests.get(pycsw_server_url, params=payload, - headers=request_headers) - _compare_response(response, expected) - - -def _compare_response(response, expected): - response.encoding = ENCODING - response_data = response.text - normalized_result = _normalize(response_data, force_id_mask=False) - try: - matches_expected = _test_xml_result(normalized_result, expected) - except etree.XMLSyntaxError: - # the file is either not XML (perhaps JSON?) or malformed - matches_expected = _test_json_result(normalized_result, expected) - if not matches_expected: - print("expected: {0}".format(expected)) - print("response: {0}".format(normalized_result)) - assert matches_expected - - -def _test_xml_result(result, expected): - """Compare the XML test results with an expected value. - - This function compares the test result with the expected values by - performing XML canonicalization (c14n)[1]_. - - Parameters - ---------- - result: str - The result of running the test. - expected: str - The expected outcome. - - Returns - ------- - bool - Whether the result matches the expectations or not. - - Raises - ------ - etree.XMLSyntaxError - If any of the input parameters is not a valid XMl. - etree.C14NError - If any of the input parameters cannot be canonicalized. This may - happen if there are relative namespace URIs in any of the XML - documents, as they are explicitly not allowed when doing XML c14n - - References - ---------- - .. [1] http://www.w3.org/TR/xml-c14n - - """ - - result_element = etree.fromstring(result.encode(ENCODING)) - expected_element = etree.fromstring(expected.encode(ENCODING)) - result_buffer = BytesIO() - result_tree = result_element.getroottree() - objectify.deannotate(result_tree, cleanup_namespaces=True) - result_tree.write_c14n(result_buffer) - expected_buffer = BytesIO() - expected_tree = expected_element.getroottree() - objectify.deannotate(expected_tree, cleanup_namespaces=True) - expected_tree.write_c14n(expected_buffer) - matches = result_buffer.getvalue() == expected_buffer.getvalue() - return matches - - -def _test_json_result(result, expected): - """Compare the JSON test results with an expected value. - - Parameters - ---------- - result: str - The result of running the test. - expected: str - The expected outcome. - - Returns - ------- - bool - Whether the result matches the expectations or not. - - """ - - result_dict = json.loads(result, encoding=ENCODING) - expected_dict = json.loads(expected, encoding=ENCODING) - return result_dict == expected_dict - - -def _normalize(sresult, force_id_mask=False): - """Replace time, updateSequence and version specific values with generic - values""" - - # XML responses - version = re.search(r'', sresult) - updatesequence = re.search(r'updateSequence="(\S+)"', sresult) - timestamp = re.search(r'timestamp="(.*)"', sresult) - timestamp2 = re.search(r'timeStamp="(.*)"', sresult) - timestamp3 = re.search(r'(.*)', sresult) - timestamp4 = re.search(r'(.*)', sresult) - zrhost = re.search(r'(.*)', sresult) - zrport = re.search(r'(.*)', sresult) - elapsed_time = re.search(r'elapsedTime="(.*)"', sresult) - expires = re.search(r'expires="(.*?)"', sresult) - atom_updated = re.findall(r'(.*)', sresult) - - if version: - sresult = sresult.replace(version.group(0), r'') - if updatesequence: - sresult = sresult.replace(updatesequence.group(0), - r'updateSequence="PYCSW_UPDATESEQUENCE"') - if timestamp: - sresult = sresult.replace(timestamp.group(0), - r'timestamp="PYCSW_TIMESTAMP"') - if timestamp2: - sresult = sresult.replace(timestamp2.group(0), - r'timeStamp="PYCSW_TIMESTAMP"') - if timestamp3: - sresult = sresult.replace(timestamp3.group(0), - r'PYCSW_TIMESTAMP') - if timestamp4: - sresult = sresult.replace(timestamp4.group(0), - r'PYCSW_TIMESTAMP') - if zrport: - sresult = sresult.replace(zrport.group(0), - r'PYCSW_PORT') - if zrhost: - sresult = sresult.replace(zrhost.group(0), - r'PYCSW_HOST') - if elapsed_time: - sresult = sresult.replace(elapsed_time.group(0), - r'elapsedTime="PYCSW_ELAPSED_TIME"') - if expires: - sresult = sresult.replace(expires.group(0), - r'expires="PYCSW_EXPIRES"') - for au in atom_updated: - sresult = sresult.replace(au, r'PYCSW_TIMESTAMP') - - # for csw:HarvestResponse documents, mask identifiers - # which are dynamically generated for OWS endpoints - if sresult.find(r'HarvestResponse') != -1: - identifier = re.findall(r'(\S+)', - sresult) - for i in identifier: - sresult = sresult.replace(i, r'PYCSW_IDENTIFIER') - - # JSON responses - timestamp = re.search(r'"@timestamp": "(.*?)"', sresult) - - if timestamp: - sresult = sresult.replace(timestamp.group(0), - r'"@timestamp": "PYCSW_TIMESTAMP"') - - # harvesting-based GetRecords/GetRecordById responses - if force_id_mask: - dcid = re.findall(r'(urn:uuid.*)', sresult) - isoid = re.findall(r'id="(urn:uuid.*)"', sresult) - isoid2 = re.findall(r'(urn:uuid.*) Date: Wed, 16 Nov 2016 17:47:28 +0000 Subject: [PATCH 011/119] made new copies of the test data files under tests/functionaltests Reorganized the location of test data files. This keeps things a bit cleaner --- .../suites/apiso-inspire/default.cfg | 91 ++ .../expected/get_GetCapabilities-lang.xml | 375 +++++ .../expected/get_GetCapabilities.xml | 375 +++++ .../suites/apiso-inspire/get/requests.txt | 2 + .../suites/apiso/data/3e9a8c05.xml | 248 +++ .../suites/apiso/data/README.txt | 7 + .../T_aerfo_RAS_1991_GR800P001800000012.xml | 37 + .../T_aerfo_RAS_1991_GR800P001800000013.xml | 37 + .../T_aerfo_RAS_1991_GR800P001800000014.xml | 37 + .../T_aerfo_RAS_1991_GR800P001800000015.xml | 37 + .../apiso/data/T_ortho_RAS_1998_284404.xml | 37 + .../apiso/data/T_ortho_RAS_1998_288395.xml | 37 + .../apiso/data/T_ortho_RAS_1998_288398.xml | 37 + .../apiso/data/T_ortho_RAS_1998_288401.xml | 37 + .../apiso/data/T_ortho_RAS_1998_288404.xml | 37 + .../apiso/data/T_pmoed_DTM_1996_276395.xml | 37 + .../apiso/data/T_pmoed_DTM_1996_276398.xml | 37 + .../apiso/data/T_pmoed_DTM_1996_276401.xml | 37 + .../apiso/data/T_pmoed_DTM_1996_276404.xml | 37 + .../apiso/data/T_pmoed_DTM_1996_280395.xml | 37 + .../suites/apiso/data/pacioos-NS06agg.xml | 1182 ++++++++++++++ .../suites/apiso/data/test.xml | 39 + .../functionaltests/suites/apiso/default.cfg | 91 ++ .../apiso/expected/post_DescribeRecord.xml | 551 +++++++ .../apiso/expected/post_GetCapabilities.xml | 318 ++++ .../expected/post_GetDomain-property.xml | 12 + .../expected/post_GetRecordById-brief.xml | 77 + .../expected/post_GetRecordById-full-dc.xml | 45 + .../expected/post_GetRecordById-full.xml | 40 + .../expected/post_GetRecordById-srv-brief.xml | 93 ++ .../post_GetRecords-all-csw-output.xml | 399 +++++ .../apiso/expected/post_GetRecords-all.xml | 399 +++++ .../expected/post_GetRecords-cql-title.xml | 372 +++++ .../expected/post_GetRecords-elementname.xml | 388 +++++ ...-filter-and-nested-spatial-or-dateline.xml | 1132 ++++++++++++++ .../post_GetRecords-filter-anytext.xml | 372 +++++ ...post_GetRecords-filter-bbox-csw-output.xml | 52 + .../expected/post_GetRecords-filter-bbox.xml | 388 +++++ .../post_GetRecords-filter-servicetype.xml | 96 ++ .../suites/apiso/post/DescribeRecord.xml | 4 + .../suites/apiso/post/GetCapabilities.xml | 9 + .../suites/apiso/post/GetDomain-property.xml | 5 + .../suites/apiso/post/GetRecordById-brief.xml | 6 + .../apiso/post/GetRecordById-full-dc.xml | 6 + .../suites/apiso/post/GetRecordById-full.xml | 6 + .../apiso/post/GetRecordById-srv-brief.xml | 6 + .../apiso/post/GetRecords-all-csw-output.xml | 6 + .../suites/apiso/post/GetRecords-all.xml | 6 + .../apiso/post/GetRecords-cql-title.xml | 9 + .../apiso/post/GetRecords-elementname.xml | 6 + ...-filter-and-nested-spatial-or-dateline.xml | 45 + .../apiso/post/GetRecords-filter-anytext.xml | 15 + .../GetRecords-filter-bbox-csw-output.xml | 19 + .../apiso/post/GetRecords-filter-bbox.xml | 18 + .../post/GetRecords-filter-servicetype.xml | 14 + tests/functionaltests/suites/atom/default.cfg | 90 ++ .../expected/get_opensearch-description.xml | 13 + .../get_opensearch-ogc-bbox-and-time.xml | 38 + .../atom/expected/get_opensearch-ogc-bbox.xml | 52 + .../get_opensearch-ogc-count-and-page1.xml | 32 + .../get_opensearch-ogc-count-and-page2.xml | 17 + .../get_opensearch-ogc-q-and-bbox.xml | 24 + .../get_opensearch-ogc-q-and-time.xml | 18 + .../atom/expected/get_opensearch-ogc-q.xml | 18 + .../atom/expected/get_opensearch-ogc-time.xml | 18 + .../expected/get_opensearch-ogc-timeend.xml | 18 + .../expected/get_opensearch-ogc-timestart.xml | 47 + .../suites/atom/expected/get_opensearch.xml | 110 ++ .../atom/expected/post_DescribeRecord.xml | 3 + .../atom/expected/post_GetCapabilities.xml | 262 ++++ .../expected/post_GetRecords-filter-bbox.xml | 36 + .../suites/atom/get/requests.txt | 12 + .../suites/atom/post/DescribeRecord.xml | 4 + .../suites/atom/post/GetCapabilities.xml | 9 + .../atom/post/GetRecords-filter-bbox.xml | 17 + .../suites/cite/data/README.txt | 65 + ...d_19887a8a-f6b0-4a63-ae56-7fba0e17801f.xml | 13 + ...d_1ef30a8b-876d-4828-9246-c37ab4510bbd.xml | 13 + ...d_66ae76b7-54ba-489b-a582-0f0633d96493.xml | 12 + ...d_6a3de50b-fa66-4b58-a0e6-ca146fdd18d4.xml | 11 + ...d_784e2afd-a9fd-44a6-9a92-a3848371c8ec.xml | 14 + ...d_829babb0-b2f1-49e1-8cd5-7b489fe71a1e.xml | 11 + ...d_88247b56-4cbc-4df9-9860-db3f8042e357.xml | 11 + ...d_94bc9c83-97f6-4b40-9eb8-a8e8787a5c63.xml | 17 + ...d_9a669547-b69b-469f-a11f-2d875366bbdc.xml | 16 + ...d_a06af396-3105-442d-8b40-22b57a90d2f2.xml | 11 + ...d_ab42a8c4-95e8-4630-bf79-33e59241605a.xml | 11 + ...d_e9330592-0932-474b-be34-c3a3bb67c7db.xml | 14 + .../functionaltests/suites/cite/data/cite.db | Bin 0 -> 82944 bytes tests/functionaltests/suites/cite/default.cfg | 86 ++ ...t_27e17158-c57a-4493-92ac-dba8934cf462.xml | 310 ++++ ...t_27f69b66-5f05-4311-a89c-73ca55c2686b.xml | 9 + ...t_2ab7d1fa-885b-459f-80e4-b6282eab4f8c.xml | 310 ++++ ...t_37aa90e2-6ff0-420c-af15-8b9463099a73.xml | 14 + ...t_3a8a3c47-455f-4f49-9078-03119f3e70b3.xml | 7 + ...t_4515831f-834a-4699-95f6-ab0c2cbfcfd0.xml | 7 + ...t_477b23a3-baa9-47c8-9541-5fe27735ed49.xml | 543 +++++++ ...t_48f26761-3a9d-48db-bee1-da089f5fb857.xml | 310 ++++ ...t_4e38092f-1586-44b8-988e-0acfa5855916.xml | 7 + ...t_55c38f00-2553-42c1-99ab-33edbb561ad7.xml | 392 +++++ ...t_5ab5db18-c87a-4fbf-a8d8-b7289b09ac81.xml | 7 + ...t_6a4f57ca-a1bd-4802-89c2-44860dbdb0f0.xml | 11 + ...t_6c375703-9c00-4aef-bec7-d2e964f849eb.xml | 13 + ...t_80f31def-4185-48b9-983a-960566918eae.xml | 543 +++++++ ...t_8e2232ed-05d9-44ae-8b04-0911cbe6a507.xml | 7 + ...t_9697f0aa-3b6a-4125-83a5-61e8826127c4.xml | 543 +++++++ ...t_9bfd17fa-15dc-4a10-8fa7-b3cff7013dd7.xml | 13 + ...t_b81c3595-06d6-4693-82ea-1ff8650755ac.xml | 3 + ...t_ba5fc729-3b71-47a0-b7d0-42ec565cd185.xml | 310 ++++ ...t_c4ea754f-c158-4d8d-8253-dc8f86021b52.xml | 7 + ...t_f4692ec5-9547-4a05-88ab-e6154af2640a.xml | 310 ++++ ...t_f997f25e-c865-4d53-a362-0ed1846337f2.xml | 15 + ...t_0c976d98-c896-4b10-b1fe-a22ef50434e7.xml | 6 + ...t_19d2a6ed-be28-4866-ae15-e3bb634486cb.xml | 55 + ...t_1ab55aa3-6685-4595-8ecd-45987a7b8b59.xml | 19 + ...t_1c958b7a-ca09-4c38-98bd-ef1d1d28cc14.xml | 7 + ...t_1c97fc1a-61cd-4c1d-8054-933e17a6c5ee.xml | 7 + ...t_2102a460-5d62-465f-9668-d70b3faafbfa.xml | 12 + ...t_225f455a-0035-486b-a94e-fee7ae881b2b.xml | 17 + ...t_2d53ffea-60e4-4652-abf5-36eb23042fd5.xml | 69 + ...t_34a019a9-1581-42cb-9827-fbfdda2773b7.xml | 6 + ...t_3e76fd38-e035-41c9-83dc-61356f680c97.xml | 7 + ...t_418a6fb0-a89c-4a94-afc9-3f8168eb2980.xml | 15 + ...t_420b745e-0c4b-404e-9f2d-61fa580ff05a.xml | 22 + ...t_4735d649-a2b1-42fd-a101-14e1d7e4607f.xml | 44 + ...t_5c5861bc-f742-40a5-9998-5342615d674b.xml | 49 + ...t_6e736fd0-c266-4852-9eb3-0656f5d0f5c4.xml | 89 ++ ...t_73f1551c-e269-4ef9-9dae-e535b5eebfc7.xml | 18 + ...t_78297c88-4850-4927-adc6-511cd9a3d539.xml | 115 ++ ...t_7c89cdf5-0def-4cfb-8c55-2b8ffea5d92f.xml | 56 + ...t_7e2cd105-daec-4d25-bc8e-d49d21364912.xml | 3 + ...t_87f2f670-9cd6-4907-b82c-1b46a7dd2a78.xml | 50 + ...t_88b4e1ba-3bd4-4cbe-81e5-e004056d6ca3.xml | 7 + ...t_898cd63b-2585-4ec0-8720-d554bd324174.xml | 14 + ...t_8fb13dc3-5818-45e2-9e29-46abc16e7d38.xml | 48 + ...t_928c1896-52d4-4ac7-9832-f98e3eb65f02.xml | 17 + ...t_93bdbb9d-2734-4f01-92fb-48634cca41de.xml | 21 + ...t_948b39d5-bb4f-45b8-a8f2-4ff9501aaedd.xml | 51 + ...t_9fd64fcc-f69c-4626-b72e-5c7776a29aa9.xml | 7 + ...t_a06d04ab-e0d0-4a86-bfe8-71460f41fe37.xml | 69 + ...t_ad61686c-d304-42d1-b845-8c1f3070c83e.xml | 8 + ...t_af39c020-7b1d-429c-b474-f45c3164cb79.xml | 21 + ...t_b90e2de6-3d25-4298-a13e-dc9492a8fc73.xml | 91 ++ ...t_ba9b0107-dcee-46ef-823a-a2e25a911a96.xml | 36 + ...t_bb66ebc5-7121-48b5-9f53-b56537d9561b.xml | 19 + ...t_c02d1c85-df9f-45ee-bea7-345c35e02a98.xml | 7 + ...t_c311a342-72e3-4983-be39-868e6ed9740f.xml | 115 ++ ...t_c38916c2-4bc6-446d-b7aa-ab006d6ba31c.xml | 27 + ...t_c8588f47-8e65-45f5-ad34-ff4524cad84d.xml | 7 + ...t_da228d4c-e1be-43d7-9ccb-c3f27ee32541.xml | 7 + ...t_dc92c2c4-87d8-4a13-964e-ff9b0e0c27b3.xml | 22 + ...t_dcb13791-379e-4739-bcd4-dbaa69f0efdb.xml | 69 + ...t_e308f030-c097-4036-a838-44bad74c9ef7.xml | 69 + ...t_e6e9efb2-e2b7-4b0a-a3a2-7deea3f9b8e2.xml | 69 + ...t_f7976c55-a156-4421-8199-bc0487da4b0f.xml | 115 ++ ...t_f7d79701-f10b-4087-a33c-f62df0a04fd1.xml | 69 + ...t_fc1bc094-88f1-4851-bc2b-dfc56be9f3c7.xml | 12 + ...t_fe20960f-a26c-4f13-852d-470a0d3233f9.xml | 12 + .../suites/cite/get/requests.txt | 22 + .../0c976d98-c896-4b10-b1fe-a22ef50434e7.xml | 20 + .../19d2a6ed-be28-4866-ae15-e3bb634486cb.xml | 20 + .../1ab55aa3-6685-4595-8ecd-45987a7b8b59.xml | 14 + .../1c958b7a-ca09-4c38-98bd-ef1d1d28cc14.xml | 6 + .../1c97fc1a-61cd-4c1d-8054-933e17a6c5ee.xml | 14 + .../2102a460-5d62-465f-9668-d70b3faafbfa.xml | 14 + .../225f455a-0035-486b-a94e-fee7ae881b2b.xml | 16 + .../2d53ffea-60e4-4652-abf5-36eb23042fd5.xml | 6 + .../34a019a9-1581-42cb-9827-fbfdda2773b7.xml | 6 + .../3e76fd38-e035-41c9-83dc-61356f680c97.xml | 4 + .../418a6fb0-a89c-4a94-afc9-3f8168eb2980.xml | 25 + .../420b745e-0c4b-404e-9f2d-61fa580ff05a.xml | 16 + .../4735d649-a2b1-42fd-a101-14e1d7e4607f.xml | 6 + .../5c5861bc-f742-40a5-9998-5342615d674b.xml | 14 + .../6e736fd0-c266-4852-9eb3-0656f5d0f5c4.xml | 6 + .../73f1551c-e269-4ef9-9dae-e535b5eebfc7.xml | 14 + .../78297c88-4850-4927-adc6-511cd9a3d539.xml | 2 + .../7c89cdf5-0def-4cfb-8c55-2b8ffea5d92f.xml | 6 + .../7e2cd105-daec-4d25-bc8e-d49d21364912.xml | 4 + .../87f2f670-9cd6-4907-b82c-1b46a7dd2a78.xml | 8 + .../88b4e1ba-3bd4-4cbe-81e5-e004056d6ca3.xml | 4 + .../898cd63b-2585-4ec0-8720-d554bd324174.xml | 20 + .../8fb13dc3-5818-45e2-9e29-46abc16e7d38.xml | 20 + .../928c1896-52d4-4ac7-9832-f98e3eb65f02.xml | 16 + .../93bdbb9d-2734-4f01-92fb-48634cca41de.xml | 18 + .../948b39d5-bb4f-45b8-a8f2-4ff9501aaedd.xml | 14 + .../9fd64fcc-f69c-4626-b72e-5c7776a29aa9.xml | 4 + .../a06d04ab-e0d0-4a86-bfe8-71460f41fe37.xml | 6 + .../ad61686c-d304-42d1-b845-8c1f3070c83e.xml | 14 + .../af39c020-7b1d-429c-b474-f45c3164cb79.xml | 14 + .../b90e2de6-3d25-4298-a13e-dc9492a8fc73.xml | 16 + .../ba9b0107-dcee-46ef-823a-a2e25a911a96.xml | 20 + .../bb66ebc5-7121-48b5-9f53-b56537d9561b.xml | 27 + .../c02d1c85-df9f-45ee-bea7-345c35e02a98.xml | 16 + .../c311a342-72e3-4983-be39-868e6ed9740f.xml | 4 + .../c38916c2-4bc6-446d-b7aa-ab006d6ba31c.xml | 25 + .../c8588f47-8e65-45f5-ad34-ff4524cad84d.xml | 17 + .../da228d4c-e1be-43d7-9ccb-c3f27ee32541.xml | 14 + .../dc92c2c4-87d8-4a13-964e-ff9b0e0c27b3.xml | 16 + .../dcb13791-379e-4739-bcd4-dbaa69f0efdb.xml | 6 + .../e308f030-c097-4036-a838-44bad74c9ef7.xml | 6 + .../e6e9efb2-e2b7-4b0a-a3a2-7deea3f9b8e2.xml | 12 + .../f7976c55-a156-4421-8199-bc0487da4b0f.xml | 4 + .../f7d79701-f10b-4087-a33c-f62df0a04fd1.xml | 6 + .../fc1bc094-88f1-4851-bc2b-dfc56be9f3c7.xml | 14 + .../fe20960f-a26c-4f13-852d-470a0d3233f9.xml | 14 + .../functionaltests/suites/csw30/default.cfg | 90 ++ ...t_002258f0-627f-457f-b2ad-025777c77ac8.xml | 15 + ...t_045c600d-973d-41eb-9f60-eba1b717b720.xml | 24 + ...t_0bbcf862-5211-4351-9988-63f8bec49c98.xml | 116 ++ ...t_0bdf8457-971e-4ed1-be4a-5feca4dcd8fa.xml | 491 ++++++ ...t_0d8bbdec-0846-42ca-8dc8-b7f4cba41d67.xml | 47 + ...t_0e1dca37-477a-4060-99fe-7799b52d656c.xml | 15 + ...t_13c87956-51a4-4780-a8e9-6e0b5c0bb473.xml | 92 ++ ...t_151d982f-ebd3-4cb2-b507-a667713a1e92.xml | 7 + ...t_1869e495-1a61-4713-8285-76d1336ee1a6.xml | 7 + ...t_1bcb42a9-538c-4f0a-9d4c-d6f10b720aa6.xml | 7 + ...t_22f44168-2ccf-4801-ad96-204212566d56.xml | 491 ++++++ ...t_2499a9c9-8d33-449c-bc92-d494adfcc84d.xml | 491 ++++++ ...t_27f4f39c-d92a-4e3c-b961-c6aa8c24e513.xml | 491 ++++++ ...t_28e569df-8596-4128-8d9a-29ad03138915.xml | 8 + ...t_2b06a5c8-0df2-4af1-8d2e-a425de11c845.xml | 491 ++++++ ...t_2ba1418a-444d-4cce-9cfe-4c94efcf8b55.xml | 32 + ...t_397fe17a-d5b4-4f96-8cc4-4ce467ed4d0a.xml | 30 + ...t_3dcd1b15-73d2-4b7d-a3e3-ff15bf14aae4.xml | 69 + ...t_405e1ff1-5c75-4846-a28b-cfaff2a6921a.xml | 23 + ...t_43cd6471-6ac7-45bd-8ff9-148cb2de9a52.xml | 491 ++++++ ...t_4566d2ec-1283-4a02-baed-a74fc5b47e37.xml | 18 + ...t_461bd4c5-6623-490d-9036-d91a2201e87b.xml | 3 + ...t_5496894a-3877-4f62-a20b-5d7126f94925.xml | 7 + ...t_5a015f6a-bf14-4977-b1e3-6577eb0223c8.xml | 40 + ...t_5c3a2390-1fb9-43f0-b96c-f48c7a69c990.xml | 7 + ...t_5e9e67dc-18d6-4645-8111-c6263c88a61f.xml | 326 ++++ ...t_604d9379-741c-42e5-b4cf-92e56c87fa64.xml | 32 + ...t_60e6af95-d5fc-465a-82e2-fd2e6d85e4af.xml | 7 + ...t_62ad94c2-b558-4265-a427-23d6677975d6.xml | 7 + ...t_6a5e247b-0961-4b8a-a0d6-35a491d9cfe7.xml | 7 + ...t_6a9d0558-9d87-495b-b999-b49a3ef1cf99.xml | 491 ++++++ ...t_6bd790c9-6019-4652-9c91-330a894d6700.xml | 16 + ...t_6e9cba43-5e27-415d-adbd-a92851c2c173.xml | 491 ++++++ ...t_7630d230-e142-4a09-accf-f091000b90cd.xml | 10 + ...t_7e82446a-b5dc-43fe-9a73-4cc1f2f2f0bf.xml | 491 ++++++ ...t_8025978e-1a35-4d70-80c2-e8329e0c7864.xml | 491 ++++++ ...t_8184ae4f-536d-4978-8b28-ad703be96967.xml | 34 + ...t_88f63a89-664f-4315-b4f8-04a0b33803a7.xml | 18 + ...t_8987f8f0-4d93-4481-968c-a2ccbd6b8be2.xml | 7 + ...t_8e5fa0f6-3f29-4d1f-abe2-d9866f3def98.xml | 58 + ...t_9000ec29-5649-474e-b2d6-55c00f8a52c0.xml | 7 + ...t_91914d35-7bbf-45e6-9b37-5ef484869a4e.xml | 38 + ...t_92d4844d-57d5-4cf3-8f47-ba50e369dc04.xml | 6 + ...t_9c0e2a4b-b4e6-41c0-b630-c8c99fc89ff3.xml | 7 + ...t_9d7ffac8-9798-428d-8e27-3cd12497ee6b.xml | 7 + ...et_Exception-GetDomain-value-reference.xml | 7 + .../expected/get_Exception-GetDomain.xml | 7 + .../get_Exception-GetRecordById-404.xml | 7 + .../get_Exception-GetRecordById-dc.xml.xml | 9 + ...t_Exception-GetRepositoryItem-notfound.xml | 7 + .../get_Exception-invalid-request.xml | 7 + .../expected/get_GetCapabilities-base-url.xml | 491 ++++++ .../get_GetCapabilities-no-version.xml | 491 ++++++ .../csw30/expected/get_GetCapabilities.xml | 491 ++++++ .../expected/get_GetDomain-parameter.xml | 12 + .../get_GetDomain-value-reference.xml | 18 + .../csw30/expected/get_GetRepositoryItem.xml | 11 + .../expected/get_OpenSearch-description.xml | 15 + ...t_a2f18643-e24e-4fa5-b780-6de4a2dbc814.xml | 9 + ...t_abc90c8c-5868-4405-a73e-64c849be3b2a.xml | 7 + ...t_ad0c0571-09ed-436a-9a4f-a5de744c88fe.xml | 22 + ...t_af502903-f4ee-47ee-b76e-af878d238bcc.xml | 40 + ...t_b2aafc3f-4f35-47bc-affd-08590972deae.xml | 58 + ...t_b6069623-f7d8-4021-8582-98f0aea0f763.xml | 48 + ...t_b9a07a54-75a8-45bd-b341-2823600211e3.xml | 8 + ...t_baa4a7d0-0c01-42b6-adc3-0d03e9949fa3.xml | 7 + ...t_bfbe6409-f64a-4c89-acb3-50f260a5c743.xml | 15 + ...t_bfe20134-d1da-42ef-9c0f-8e1307bbf92b.xml | 38 + ...t_c03d173a-3f42-4956-89c8-1fe02c3a0873.xml | 491 ++++++ ...t_cb43d8c3-e14c-4a9f-9231-4384b7dd21f3.xml | 7 + ...t_d03c6fd3-e821-4a26-b62f-d20a474e25af.xml | 30 + ...t_d4ccbf96-a529-480e-a53d-5b88dc1dea7f.xml | 7 + ...t_d94c801a-1207-4897-b84a-53f3a192515b.xml | 6 + ...t_da859e34-91fc-495a-8c09-285a40c0900b.xml | 14 + ...t_dc246fb8-5af5-4fda-82bb-c18b3ecd439c.xml | 40 + ...t_de016645-6d5c-4855-943c-2db07ae9f49a.xml | 30 + ...t_dff3ec6b-bb2d-4887-bd17-8fcf15def042.xml | 89 ++ ...t_e38e6bfb-8ac4-4ae4-8b87-0aafbc8d3c6b.xml | 11 + ...t_e67ca935-d65d-4d8c-8302-1405333dded0.xml | 491 ++++++ ...t_e7704509-3441-458f-8ef0-e333c6b6043f.xml | 7 + ...t_f1223a49-6d08-44ff-97fe-4c32cbbfad82.xml | 6 + ...t_f89dd4e1-3a81-4433-afd2-a3fa1bdb1e18.xml | 7 + ..._Exception-GetDomain-parametername-bad.xml | 7 + ...Exception-GetDomain-valuereference-bad.xml | 7 + .../post_Exception-GetRecordById-404.xml | 7 + .../post_Exception-GetRecordById-bad-esn.xml | 7 + .../csw30/expected/post_Exception-bad-xml.xml | 8 + .../csw30/expected/post_Exception-not-xml.xml | 8 + .../csw30/expected/post_GetCapabilities.xml | 491 ++++++ .../expected/post_GetDomain-parametername.xml | 12 + .../post_GetDomain-valuereference.xml | 18 + .../expected/post_GetRecordById-dc-full.xml | 10 + .../csw30/expected/post_GetRecordById-dc.xml | 10 + .../suites/csw30/get/requests.txt | 82 + .../Exception-GetDomain-parametername-bad.xml | 4 + ...Exception-GetDomain-valuereference-bad.xml | 4 + .../post/Exception-GetRecordById-404.xml | 4 + .../post/Exception-GetRecordById-bad-esn.xml | 5 + .../suites/csw30/post/Exception-bad-xml.xml | 9 + .../suites/csw30/post/Exception-not-xml.xml | 1 + .../suites/csw30/post/GetCapabilities.xml | 9 + .../csw30/post/GetDomain-parametername.xml | 4 + .../csw30/post/GetDomain-valuereference.xml | 4 + .../csw30/post/GetRecordById-dc-full.xml | 5 + .../suites/csw30/post/GetRecordById-dc.xml | 4 + .../suites/default/default.cfg | 90 ++ ...t_Exception-GetRepositoryItem-notfound.xml | 7 + ...ion-GetRepositoryItem-service-invalid1.xml | 7 + ...ion-GetRepositoryItem-service-invalid2.xml | 7 + ...tion-GetRepositoryItem-version-invalid.xml | 7 + .../get_GetCapabilities-invalid-request.xml | 7 + .../default/expected/get_GetCapabilities.xml | 262 ++++ .../default/expected/get_GetRecords-all.xml | 6 + .../get_GetRecords-empty-maxrecords.xml | 6 + ...lter-cql-title-or-abstract-with-spaces.xml | 23 + ...etRecords-filter-cql-title-or-abstract.xml | 23 + ...le-with-spaces-or-abstract-with-spaces.xml | 23 + ...lter-cql-title-with-spaces-or-abstract.xml | 23 + ...etRecords-filter-cql-title-with-spaces.xml | 23 + .../get_GetRecords-filter-cql-title.xml | 23 + .../expected/get_GetRecords-filter.xml | 16 + .../expected/get_GetRecords-sortby-asc.xml | 91 ++ .../expected/get_GetRecords-sortby-desc.xml | 93 ++ .../get_GetRecords-sortby-invalid-order.xml | 7 + ...GetRecords-sortby-invalid-propertyname.xml | 7 + .../expected/get_GetRepositoryItem.xml | 14 + .../expected/post_DescribeRecord-json.xml | 231 +++ .../default/expected/post_DescribeRecord.xml | 115 ++ .../post_Exception-GetRecords-badsrsname.xml | 7 + .../post_Exception-GetRecords-elementname.xml | 7 + .../post_Exception-GetRecords-invalid-xml.xml | 8 + .../expected/post_GetCapabilities-SOAP.xml | 266 ++++ .../post_GetCapabilities-sections.xml | 83 + .../post_GetCapabilities-updatesequence.xml | 262 ++++ .../default/expected/post_GetCapabilities.xml | 262 ++++ .../expected/post_GetDomain-parameter.xml | 11 + .../expected/post_GetDomain-property.xml | 18 + .../expected/post_GetRecordById-json.xml | 18 + .../default/expected/post_GetRecordById.xml | 15 + .../expected/post_GetRecords-all-json.xml | 64 + .../post_GetRecords-all-resulttype-hits.xml | 6 + ...ost_GetRecords-all-resulttype-validate.xml | 11 + .../post_GetRecords-all-sortby-bbox.xml | 56 + .../default/expected/post_GetRecords-all.xml | 49 + .../post_GetRecords-bbox-filter-crs84.xml | 34 + ...post_GetRecords-cql-title-and-abstract.xml | 12 + .../expected/post_GetRecords-cql-title.xml | 17 + .../post_GetRecords-distributedsearch.xml | 17 + .../expected/post_GetRecords-elementname.xml | 20 + .../default/expected/post_GetRecords-end.xml | 30 + ...st_GetRecords-filter-and-bbox-freetext.xml | 16 + .../post_GetRecords-filter-and-nested-or.xml | 16 + .../post_GetRecords-filter-and-nested-or2.xml | 23 + ...post_GetRecords-filter-anytext-and-not.xml | 15 + .../post_GetRecords-filter-anytext-equal.xml | 36 + .../post_GetRecords-filter-anytext.xml | 36 + .../post_GetRecords-filter-bbox-reproject.xml | 25 + .../post_GetRecords-filter-bbox-sortby.xml | 25 + .../expected/post_GetRecords-filter-bbox.xml | 25 + .../post_GetRecords-filter-between.xml | 49 + .../post_GetRecords-filter-function-bad.xml | 7 + .../post_GetRecords-filter-function.xml | 12 + .../post_GetRecords-filter-not-bbox.xml | 36 + ...ost_GetRecords-filter-or-bbox-freetext.xml | 25 + .../post_GetRecords-filter-or-nested-and.xml | 60 + ...st_GetRecords-filter-or-title-abstract.xml | 19 + .../expected/post_GetRecords-maxrecords.xml | 16 + .../expected/post_GetRecords-requestid.xml | 50 + .../default/expected/post_Harvest-default.xml | 7 + .../post_Harvest-response-handler.xml | 7 + .../expected/post_Transaction-delete.xml | 7 + .../expected/post_Transaction-insert.xml | 7 + .../expected/post_Transaction-update-full.xml | 7 + ...post_Transaction-update-recordproperty.xml | 7 + .../suites/default/get/requests.txt | 20 + .../default/post/DescribeRecord-json.xml | 4 + .../suites/default/post/DescribeRecord.xml | 4 + .../post/Exception-GetRecords-badsrsname.xml | 19 + .../post/Exception-GetRecords-elementname.xml | 6 + .../post/Exception-GetRecords-invalid-xml.xml | 6 + .../default/post/GetCapabilities-SOAP.xml | 13 + .../default/post/GetCapabilities-sections.xml | 12 + .../post/GetCapabilities-updatesequence.xml | 9 + .../suites/default/post/GetCapabilities.xml | 9 + .../default/post/GetDomain-parameter.xml | 4 + .../default/post/GetDomain-property.xml | 4 + .../default/post/GetRecordById-json.xml | 5 + .../suites/default/post/GetRecordById.xml | 5 + .../default/post/GetRecords-all-json.xml | 6 + .../post/GetRecords-all-resulttype-hits.xml | 6 + .../GetRecords-all-resulttype-validate.xml | 6 + .../post/GetRecords-all-sortby-bbox.xml | 12 + .../suites/default/post/GetRecords-all.xml | 6 + .../post/GetRecords-bbox-filter-crs84.xml | 17 + .../GetRecords-cql-title-and-abstract.xml | 9 + .../default/post/GetRecords-cql-title.xml | 9 + .../post/GetRecords-distributedsearch.xml | 15 + .../default/post/GetRecords-elementname.xml | 6 + .../suites/default/post/GetRecords-end.xml | 6 + .../GetRecords-filter-and-bbox-freetext.xml | 23 + .../post/GetRecords-filter-and-nested-or.xml | 38 + .../post/GetRecords-filter-and-nested-or2.xml | 34 + .../GetRecords-filter-anytext-and-not.xml | 26 + .../post/GetRecords-filter-anytext-equal.xml | 14 + .../post/GetRecords-filter-anytext.xml | 14 + .../post/GetRecords-filter-bbox-reproject.xml | 17 + .../post/GetRecords-filter-bbox-sortby.xml | 23 + .../default/post/GetRecords-filter-bbox.xml | 17 + .../post/GetRecords-filter-between.xml | 20 + .../post/GetRecords-filter-function-bad.xml | 17 + .../post/GetRecords-filter-function.xml | 17 + .../post/GetRecords-filter-not-bbox.xml | 19 + .../GetRecords-filter-or-bbox-freetext.xml | 23 + .../post/GetRecords-filter-or-nested-and.xml | 30 + .../GetRecords-filter-or-title-abstract.xml | 20 + .../default/post/GetRecords-maxrecords.xml | 6 + .../default/post/GetRecords-requestid.xml | 6 + .../suites/default/post/Harvest-default.xml | 6 + .../default/post/Harvest-response-handler.xml | 7 + .../default/post/Transaction-delete.xml | 13 + .../default/post/Transaction-insert.xml | 73 + .../default/post/Transaction-update-full.xml | 73 + .../Transaction-update-recordproperty.xml | 17 + tests/functionaltests/suites/dif/default.cfg | 90 ++ .../dif/expected/post_DescribeRecord.xml | 3 + .../dif/expected/post_GetCapabilities.xml | 262 ++++ .../expected/post_GetRecords-filter-bbox.xml | 71 + .../suites/dif/post/DescribeRecord.xml | 4 + .../suites/dif/post/GetCapabilities.xml | 9 + .../dif/post/GetRecords-filter-bbox.xml | 17 + .../functionaltests/suites/ebrim/default.cfg | 93 ++ .../ebrim/expected/post_DescribeRecord.xml | 93 ++ .../ebrim/expected/post_GetCapabilities.xml | 266 ++++ .../post_GetRecords-filter-bbox-full.xml | 57 + .../expected/post_GetRecords-filter-bbox.xml | 13 + .../suites/ebrim/post/DescribeRecord.xml | 4 + .../suites/ebrim/post/GetCapabilities.xml | 9 + .../post/GetRecords-filter-bbox-full.xml | 17 + .../ebrim/post/GetRecords-filter-bbox.xml | 17 + tests/functionaltests/suites/fgdc/default.cfg | 90 ++ .../fgdc/expected/post_DescribeRecord.xml | 3 + .../fgdc/expected/post_GetCapabilities.xml | 262 ++++ .../expected/post_GetRecords-filter-bbox.xml | 123 ++ .../suites/fgdc/post/DescribeRecord.xml | 4 + .../suites/fgdc/post/GetCapabilities.xml | 9 + .../fgdc/post/GetRecords-filter-bbox.xml | 17 + tests/functionaltests/suites/gm03/default.cfg | 90 ++ .../gm03/expected/post_GetCapabilities.xml | 262 ++++ .../expected/post_GetRecords-filter-bbox.xml | 137 ++ .../suites/gm03/post/GetCapabilities.xml | 9 + .../gm03/post/GetRecords-filter-bbox.xml | 17 + .../suites/harvesting/default.cfg | 91 ++ ...Exception-Harvest-invalid-resourcetype.xml | 7 + ...Exception-Harvest-missing-resourcetype.xml | 7 + .../get_Exception-Harvest-missing-source.xml | 7 + .../get_Exception-Harvest-waf-bad-value.xml | 7 + ...Exception-Harvest-waf-no-records-found.xml | 11 + .../expected/post_Clear-000-delete-all.xml | 9 + .../post_Exception-Havest-csw-404.xml | 7 + .../expected/post_GetCapabilities.xml | 368 +++++ .../expected/post_GetDomain-parameter.xml | 27 + .../expected/post_Harvest-csw-iso.xml | 149 ++ .../expected/post_Harvest-csw-run1.xml | 65 + .../expected/post_Harvest-csw-run2.xml | 11 + .../harvesting/expected/post_Harvest-dc.xml | 17 + .../harvesting/expected/post_Harvest-fgdc.xml | 17 + .../harvesting/expected/post_Harvest-iso.xml | 17 + .../harvesting/expected/post_Harvest-rdf.xml | 17 + .../expected/post_Harvest-sos100.xml | 133 ++ .../expected/post_Harvest-sos200.xml | 21 + .../harvesting/expected/post_Harvest-waf.xml | 25 + .../harvesting/expected/post_Harvest-wcs.xml | 33 + .../expected/post_Harvest-wfs110.xml | 37 + .../expected/post_Harvest-wfs200.xml | 57 + .../expected/post_Harvest-wms-run1.xml | 29 + .../expected/post_Harvest-wms-run2.xml | 11 + .../harvesting/expected/post_Harvest-wmts.xml | 45 + .../harvesting/expected/post_Harvest-wps.xml | 57 + ...vest-zzz-post-GetRecords-filter-ows-dc.xml | 125 ++ ...post-GetRecords-filter-sos-abstract-dc.xml | 30 + ...vest-zzz-post-GetRecords-filter-sos-dc.xml | 69 + ...est-zzz-post-GetRecords-filter-sos-iso.xml | 955 ++++++++++++ ...est-zzz-post-GetRecords-filter-wfs-iso.xml | 1061 +++++++++++++ ...vest-zzz-post-GetRecords-filter-wms-dc.xml | 89 ++ ...est-zzz-post-GetRecords-filter-wms-iso.xml | 1361 +++++++++++++++++ ...t-zzz-post-GetRecords-filter-wms-layer.xml | 33 + ...zzz-post-GetRecords-filter-wps-process.xml | 62 + .../post_Transaction-000-delete-all.xml | 9 + .../suites/harvesting/get/requests.txt | 5 + .../harvesting/post/Clear-000-delete-all.xml | 13 + .../post/Exception-Havest-csw-404.xml | 6 + .../harvesting/post/GetCapabilities.xml | 9 + .../harvesting/post/GetDomain-parameter.xml | 4 + .../harvesting/post/Harvest-csw-iso.xml | 6 + .../harvesting/post/Harvest-csw-run1.xml | 6 + .../harvesting/post/Harvest-csw-run2.xml | 6 + .../suites/harvesting/post/Harvest-dc.xml | 6 + .../suites/harvesting/post/Harvest-fgdc.xml | 6 + .../suites/harvesting/post/Harvest-iso.xml | 6 + .../suites/harvesting/post/Harvest-rdf.xml | 6 + .../suites/harvesting/post/Harvest-sos100.xml | 5 + .../suites/harvesting/post/Harvest-sos200.xml | 5 + .../suites/harvesting/post/Harvest-waf.xml | 5 + .../suites/harvesting/post/Harvest-wcs.xml | 6 + .../suites/harvesting/post/Harvest-wfs110.xml | 6 + .../suites/harvesting/post/Harvest-wfs200.xml | 6 + .../harvesting/post/Harvest-wms-run1.xml | 6 + .../harvesting/post/Harvest-wms-run2.xml | 6 + .../suites/harvesting/post/Harvest-wmts.xml | 6 + .../suites/harvesting/post/Harvest-wps.xml | 6 + ...vest-zzz-post-GetRecords-filter-ows-dc.xml | 36 + ...post-GetRecords-filter-sos-abstract-dc.xml | 24 + ...vest-zzz-post-GetRecords-filter-sos-dc.xml | 20 + ...est-zzz-post-GetRecords-filter-sos-iso.xml | 20 + ...est-zzz-post-GetRecords-filter-wfs-iso.xml | 20 + ...vest-zzz-post-GetRecords-filter-wms-dc.xml | 20 + ...est-zzz-post-GetRecords-filter-wms-iso.xml | 20 + ...t-zzz-post-GetRecords-filter-wms-layer.xml | 20 + ...zzz-post-GetRecords-filter-wps-process.xml | 14 + .../post/Transaction-000-delete-all.xml | 13 + .../suites/manager/default.cfg | 91 ++ .../expected/post_Clear-000-delete-all.xml | 9 + .../manager/expected/post_GetCapabilities.xml | 368 +++++ .../expected/post_GetDomain-parameter.xml | 27 + .../post_Transaction-000-delete-all.xml | 9 + .../post_Transaction-dc-01-insert.xml | 15 + .../post_Transaction-dc-02-update-full.xml | 9 + .../post_Transaction-fgdc-01-insert.xml | 15 + ...ost_Transaction-fgdc-02-update-recprop.xml | 9 + .../post_Transaction-fgdc-03-delete-all.xml | 9 + .../post_Transaction-iso-00-delete-all.xml | 9 + .../post_Transaction-iso-01-insert.xml | 15 + .../post_Transaction-iso-02-update-full.xml | 9 + ...post_Transaction-iso-03-update-recprop.xml | 9 + ...ction-iso-04-update-recprop-no-matches.xml | 9 + .../post_Transaction-iso-05-delete.xml | 9 + .../post_Transaction-xxx-delete-all.xml | 9 + .../manager/post/Clear-000-delete-all.xml | 13 + .../suites/manager/post/GetCapabilities.xml | 9 + .../manager/post/GetDomain-parameter.xml | 4 + .../post/Transaction-000-delete-all.xml | 13 + .../manager/post/Transaction-dc-01-insert.xml | 22 + .../post/Transaction-dc-02-update-full.xml | 22 + .../post/Transaction-fgdc-01-insert.xml | 214 +++ .../Transaction-fgdc-02-update-recprop.xml | 17 + .../post/Transaction-fgdc-03-delete-all.xml | 13 + .../post/Transaction-iso-00-delete-all.xml | 13 + .../post/Transaction-iso-01-insert.xml | 73 + .../post/Transaction-iso-02-update-full.xml | 73 + .../Transaction-iso-03-update-recprop.xml | 17 + ...ction-iso-04-update-recprop-no-matches.xml | 17 + .../post/Transaction-iso-05-delete.xml | 13 + .../post/Transaction-xxx-delete-all.xml | 13 + .../functionaltests/suites/oaipmh/default.cfg | 91 ++ .../get_GetRecord_bad_metadata_prefix.xml | 7 + .../oaipmh/expected/get_GetRecord_dc.xml | 26 + .../oaipmh/expected/get_GetRecord_iso.xml | 62 + .../oaipmh/expected/get_GetRecord_oai_dc.xml | 26 + .../suites/oaipmh/expected/get_Identify.xml | 15 + ...et_ListIdentifiers_bad_metadata_prefix.xml | 7 + .../expected/get_ListIdentifiers_dc.xml | 79 + .../expected/get_ListIdentifiers_iso.xml | 79 + ...istIdentifiers_missing_metadata_prefix.xml | 7 + .../expected/get_ListIdentifiers_oai_dc.xml | 79 + .../expected/get_ListMetadataFormats.xml | 38 + .../oaipmh/expected/get_ListRecords_dc.xml | 185 +++ ...get_ListRecords_dc_bad_metadata_prefix.xml | 7 + .../expected/get_ListRecords_iso19139.xml | 588 +++++++ .../expected/get_ListRecords_oai_dc.xml | 185 +++ .../suites/oaipmh/expected/get_ListSets.xml | 16 + .../suites/oaipmh/expected/get_bad_verb.xml | 7 + .../suites/oaipmh/expected/get_empty.xml | 7 + .../oaipmh/expected/get_empty_with_amp.xml | 7 + .../oaipmh/expected/get_illegal_verb.xml | 7 + .../suites/oaipmh/get/requests.txt | 20 + .../suites/repofilter/default.cfg | 91 ++ .../expected/post_GetRecordById-masked.xml | 3 + .../expected/post_GetRecords-all.xml | 37 + .../repofilter/post/GetRecordById-masked.xml | 5 + .../suites/repofilter/post/GetRecords-all.xml | 6 + tests/functionaltests/suites/sru/default.cfg | 90 ++ .../suites/sru/expected/get_explain.xml | 128 ++ .../suites/sru/expected/get_search.xml | 6 + .../suites/sru/expected/get_search_cql.xml | 30 + .../sru/expected/get_search_maxrecords.xml | 30 + .../get_search_startrecord_maxrecords.xml | 30 + .../suites/sru/get/requests.txt | 5 + .../functionaltests/suites/utf-8/default.cfg | 89 ++ .../utf-8/expected/post_GetCapabilities.xml | 262 ++++ .../suites/utf-8/post/GetCapabilities.xml | 9 + 596 files changed, 39573 insertions(+) create mode 100644 tests/functionaltests/suites/apiso-inspire/default.cfg create mode 100644 tests/functionaltests/suites/apiso-inspire/expected/get_GetCapabilities-lang.xml create mode 100644 tests/functionaltests/suites/apiso-inspire/expected/get_GetCapabilities.xml create mode 100644 tests/functionaltests/suites/apiso-inspire/get/requests.txt create mode 100644 tests/functionaltests/suites/apiso/data/3e9a8c05.xml create mode 100644 tests/functionaltests/suites/apiso/data/README.txt create mode 100644 tests/functionaltests/suites/apiso/data/T_aerfo_RAS_1991_GR800P001800000012.xml create mode 100644 tests/functionaltests/suites/apiso/data/T_aerfo_RAS_1991_GR800P001800000013.xml create mode 100644 tests/functionaltests/suites/apiso/data/T_aerfo_RAS_1991_GR800P001800000014.xml create mode 100644 tests/functionaltests/suites/apiso/data/T_aerfo_RAS_1991_GR800P001800000015.xml create mode 100644 tests/functionaltests/suites/apiso/data/T_ortho_RAS_1998_284404.xml create mode 100644 tests/functionaltests/suites/apiso/data/T_ortho_RAS_1998_288395.xml create mode 100644 tests/functionaltests/suites/apiso/data/T_ortho_RAS_1998_288398.xml create mode 100644 tests/functionaltests/suites/apiso/data/T_ortho_RAS_1998_288401.xml create mode 100644 tests/functionaltests/suites/apiso/data/T_ortho_RAS_1998_288404.xml create mode 100644 tests/functionaltests/suites/apiso/data/T_pmoed_DTM_1996_276395.xml create mode 100644 tests/functionaltests/suites/apiso/data/T_pmoed_DTM_1996_276398.xml create mode 100644 tests/functionaltests/suites/apiso/data/T_pmoed_DTM_1996_276401.xml create mode 100644 tests/functionaltests/suites/apiso/data/T_pmoed_DTM_1996_276404.xml create mode 100644 tests/functionaltests/suites/apiso/data/T_pmoed_DTM_1996_280395.xml create mode 100644 tests/functionaltests/suites/apiso/data/pacioos-NS06agg.xml create mode 100644 tests/functionaltests/suites/apiso/data/test.xml create mode 100644 tests/functionaltests/suites/apiso/default.cfg create mode 100644 tests/functionaltests/suites/apiso/expected/post_DescribeRecord.xml create mode 100644 tests/functionaltests/suites/apiso/expected/post_GetCapabilities.xml create mode 100644 tests/functionaltests/suites/apiso/expected/post_GetDomain-property.xml create mode 100644 tests/functionaltests/suites/apiso/expected/post_GetRecordById-brief.xml create mode 100644 tests/functionaltests/suites/apiso/expected/post_GetRecordById-full-dc.xml create mode 100644 tests/functionaltests/suites/apiso/expected/post_GetRecordById-full.xml create mode 100644 tests/functionaltests/suites/apiso/expected/post_GetRecordById-srv-brief.xml create mode 100644 tests/functionaltests/suites/apiso/expected/post_GetRecords-all-csw-output.xml create mode 100644 tests/functionaltests/suites/apiso/expected/post_GetRecords-all.xml create mode 100644 tests/functionaltests/suites/apiso/expected/post_GetRecords-cql-title.xml create mode 100644 tests/functionaltests/suites/apiso/expected/post_GetRecords-elementname.xml create mode 100644 tests/functionaltests/suites/apiso/expected/post_GetRecords-filter-and-nested-spatial-or-dateline.xml create mode 100644 tests/functionaltests/suites/apiso/expected/post_GetRecords-filter-anytext.xml create mode 100644 tests/functionaltests/suites/apiso/expected/post_GetRecords-filter-bbox-csw-output.xml create mode 100644 tests/functionaltests/suites/apiso/expected/post_GetRecords-filter-bbox.xml create mode 100644 tests/functionaltests/suites/apiso/expected/post_GetRecords-filter-servicetype.xml create mode 100644 tests/functionaltests/suites/apiso/post/DescribeRecord.xml create mode 100644 tests/functionaltests/suites/apiso/post/GetCapabilities.xml create mode 100644 tests/functionaltests/suites/apiso/post/GetDomain-property.xml create mode 100644 tests/functionaltests/suites/apiso/post/GetRecordById-brief.xml create mode 100644 tests/functionaltests/suites/apiso/post/GetRecordById-full-dc.xml create mode 100644 tests/functionaltests/suites/apiso/post/GetRecordById-full.xml create mode 100644 tests/functionaltests/suites/apiso/post/GetRecordById-srv-brief.xml create mode 100644 tests/functionaltests/suites/apiso/post/GetRecords-all-csw-output.xml create mode 100644 tests/functionaltests/suites/apiso/post/GetRecords-all.xml create mode 100644 tests/functionaltests/suites/apiso/post/GetRecords-cql-title.xml create mode 100644 tests/functionaltests/suites/apiso/post/GetRecords-elementname.xml create mode 100644 tests/functionaltests/suites/apiso/post/GetRecords-filter-and-nested-spatial-or-dateline.xml create mode 100644 tests/functionaltests/suites/apiso/post/GetRecords-filter-anytext.xml create mode 100644 tests/functionaltests/suites/apiso/post/GetRecords-filter-bbox-csw-output.xml create mode 100644 tests/functionaltests/suites/apiso/post/GetRecords-filter-bbox.xml create mode 100644 tests/functionaltests/suites/apiso/post/GetRecords-filter-servicetype.xml create mode 100644 tests/functionaltests/suites/atom/default.cfg create mode 100644 tests/functionaltests/suites/atom/expected/get_opensearch-description.xml create mode 100644 tests/functionaltests/suites/atom/expected/get_opensearch-ogc-bbox-and-time.xml create mode 100644 tests/functionaltests/suites/atom/expected/get_opensearch-ogc-bbox.xml create mode 100644 tests/functionaltests/suites/atom/expected/get_opensearch-ogc-count-and-page1.xml create mode 100644 tests/functionaltests/suites/atom/expected/get_opensearch-ogc-count-and-page2.xml create mode 100644 tests/functionaltests/suites/atom/expected/get_opensearch-ogc-q-and-bbox.xml create mode 100644 tests/functionaltests/suites/atom/expected/get_opensearch-ogc-q-and-time.xml create mode 100644 tests/functionaltests/suites/atom/expected/get_opensearch-ogc-q.xml create mode 100644 tests/functionaltests/suites/atom/expected/get_opensearch-ogc-time.xml create mode 100644 tests/functionaltests/suites/atom/expected/get_opensearch-ogc-timeend.xml create mode 100644 tests/functionaltests/suites/atom/expected/get_opensearch-ogc-timestart.xml create mode 100644 tests/functionaltests/suites/atom/expected/get_opensearch.xml create mode 100644 tests/functionaltests/suites/atom/expected/post_DescribeRecord.xml create mode 100644 tests/functionaltests/suites/atom/expected/post_GetCapabilities.xml create mode 100644 tests/functionaltests/suites/atom/expected/post_GetRecords-filter-bbox.xml create mode 100644 tests/functionaltests/suites/atom/get/requests.txt create mode 100644 tests/functionaltests/suites/atom/post/DescribeRecord.xml create mode 100644 tests/functionaltests/suites/atom/post/GetCapabilities.xml create mode 100644 tests/functionaltests/suites/atom/post/GetRecords-filter-bbox.xml create mode 100644 tests/functionaltests/suites/cite/data/README.txt create mode 100644 tests/functionaltests/suites/cite/data/Record_19887a8a-f6b0-4a63-ae56-7fba0e17801f.xml create mode 100644 tests/functionaltests/suites/cite/data/Record_1ef30a8b-876d-4828-9246-c37ab4510bbd.xml create mode 100644 tests/functionaltests/suites/cite/data/Record_66ae76b7-54ba-489b-a582-0f0633d96493.xml create mode 100644 tests/functionaltests/suites/cite/data/Record_6a3de50b-fa66-4b58-a0e6-ca146fdd18d4.xml create mode 100644 tests/functionaltests/suites/cite/data/Record_784e2afd-a9fd-44a6-9a92-a3848371c8ec.xml create mode 100644 tests/functionaltests/suites/cite/data/Record_829babb0-b2f1-49e1-8cd5-7b489fe71a1e.xml create mode 100644 tests/functionaltests/suites/cite/data/Record_88247b56-4cbc-4df9-9860-db3f8042e357.xml create mode 100644 tests/functionaltests/suites/cite/data/Record_94bc9c83-97f6-4b40-9eb8-a8e8787a5c63.xml create mode 100644 tests/functionaltests/suites/cite/data/Record_9a669547-b69b-469f-a11f-2d875366bbdc.xml create mode 100644 tests/functionaltests/suites/cite/data/Record_a06af396-3105-442d-8b40-22b57a90d2f2.xml create mode 100644 tests/functionaltests/suites/cite/data/Record_ab42a8c4-95e8-4630-bf79-33e59241605a.xml create mode 100644 tests/functionaltests/suites/cite/data/Record_e9330592-0932-474b-be34-c3a3bb67c7db.xml create mode 100644 tests/functionaltests/suites/cite/data/cite.db create mode 100644 tests/functionaltests/suites/cite/default.cfg create mode 100644 tests/functionaltests/suites/cite/expected/get_27e17158-c57a-4493-92ac-dba8934cf462.xml create mode 100644 tests/functionaltests/suites/cite/expected/get_27f69b66-5f05-4311-a89c-73ca55c2686b.xml create mode 100644 tests/functionaltests/suites/cite/expected/get_2ab7d1fa-885b-459f-80e4-b6282eab4f8c.xml create mode 100644 tests/functionaltests/suites/cite/expected/get_37aa90e2-6ff0-420c-af15-8b9463099a73.xml create mode 100644 tests/functionaltests/suites/cite/expected/get_3a8a3c47-455f-4f49-9078-03119f3e70b3.xml create mode 100644 tests/functionaltests/suites/cite/expected/get_4515831f-834a-4699-95f6-ab0c2cbfcfd0.xml create mode 100644 tests/functionaltests/suites/cite/expected/get_477b23a3-baa9-47c8-9541-5fe27735ed49.xml create mode 100644 tests/functionaltests/suites/cite/expected/get_48f26761-3a9d-48db-bee1-da089f5fb857.xml create mode 100644 tests/functionaltests/suites/cite/expected/get_4e38092f-1586-44b8-988e-0acfa5855916.xml create mode 100644 tests/functionaltests/suites/cite/expected/get_55c38f00-2553-42c1-99ab-33edbb561ad7.xml create mode 100644 tests/functionaltests/suites/cite/expected/get_5ab5db18-c87a-4fbf-a8d8-b7289b09ac81.xml create mode 100644 tests/functionaltests/suites/cite/expected/get_6a4f57ca-a1bd-4802-89c2-44860dbdb0f0.xml create mode 100644 tests/functionaltests/suites/cite/expected/get_6c375703-9c00-4aef-bec7-d2e964f849eb.xml create mode 100644 tests/functionaltests/suites/cite/expected/get_80f31def-4185-48b9-983a-960566918eae.xml create mode 100644 tests/functionaltests/suites/cite/expected/get_8e2232ed-05d9-44ae-8b04-0911cbe6a507.xml create mode 100644 tests/functionaltests/suites/cite/expected/get_9697f0aa-3b6a-4125-83a5-61e8826127c4.xml create mode 100644 tests/functionaltests/suites/cite/expected/get_9bfd17fa-15dc-4a10-8fa7-b3cff7013dd7.xml create mode 100644 tests/functionaltests/suites/cite/expected/get_b81c3595-06d6-4693-82ea-1ff8650755ac.xml create mode 100644 tests/functionaltests/suites/cite/expected/get_ba5fc729-3b71-47a0-b7d0-42ec565cd185.xml create mode 100644 tests/functionaltests/suites/cite/expected/get_c4ea754f-c158-4d8d-8253-dc8f86021b52.xml create mode 100644 tests/functionaltests/suites/cite/expected/get_f4692ec5-9547-4a05-88ab-e6154af2640a.xml create mode 100644 tests/functionaltests/suites/cite/expected/get_f997f25e-c865-4d53-a362-0ed1846337f2.xml create mode 100644 tests/functionaltests/suites/cite/expected/post_0c976d98-c896-4b10-b1fe-a22ef50434e7.xml create mode 100644 tests/functionaltests/suites/cite/expected/post_19d2a6ed-be28-4866-ae15-e3bb634486cb.xml create mode 100644 tests/functionaltests/suites/cite/expected/post_1ab55aa3-6685-4595-8ecd-45987a7b8b59.xml create mode 100644 tests/functionaltests/suites/cite/expected/post_1c958b7a-ca09-4c38-98bd-ef1d1d28cc14.xml create mode 100644 tests/functionaltests/suites/cite/expected/post_1c97fc1a-61cd-4c1d-8054-933e17a6c5ee.xml create mode 100644 tests/functionaltests/suites/cite/expected/post_2102a460-5d62-465f-9668-d70b3faafbfa.xml create mode 100644 tests/functionaltests/suites/cite/expected/post_225f455a-0035-486b-a94e-fee7ae881b2b.xml create mode 100644 tests/functionaltests/suites/cite/expected/post_2d53ffea-60e4-4652-abf5-36eb23042fd5.xml create mode 100644 tests/functionaltests/suites/cite/expected/post_34a019a9-1581-42cb-9827-fbfdda2773b7.xml create mode 100644 tests/functionaltests/suites/cite/expected/post_3e76fd38-e035-41c9-83dc-61356f680c97.xml create mode 100644 tests/functionaltests/suites/cite/expected/post_418a6fb0-a89c-4a94-afc9-3f8168eb2980.xml create mode 100644 tests/functionaltests/suites/cite/expected/post_420b745e-0c4b-404e-9f2d-61fa580ff05a.xml create mode 100644 tests/functionaltests/suites/cite/expected/post_4735d649-a2b1-42fd-a101-14e1d7e4607f.xml create mode 100644 tests/functionaltests/suites/cite/expected/post_5c5861bc-f742-40a5-9998-5342615d674b.xml create mode 100644 tests/functionaltests/suites/cite/expected/post_6e736fd0-c266-4852-9eb3-0656f5d0f5c4.xml create mode 100644 tests/functionaltests/suites/cite/expected/post_73f1551c-e269-4ef9-9dae-e535b5eebfc7.xml create mode 100644 tests/functionaltests/suites/cite/expected/post_78297c88-4850-4927-adc6-511cd9a3d539.xml create mode 100644 tests/functionaltests/suites/cite/expected/post_7c89cdf5-0def-4cfb-8c55-2b8ffea5d92f.xml create mode 100644 tests/functionaltests/suites/cite/expected/post_7e2cd105-daec-4d25-bc8e-d49d21364912.xml create mode 100644 tests/functionaltests/suites/cite/expected/post_87f2f670-9cd6-4907-b82c-1b46a7dd2a78.xml create mode 100644 tests/functionaltests/suites/cite/expected/post_88b4e1ba-3bd4-4cbe-81e5-e004056d6ca3.xml create mode 100644 tests/functionaltests/suites/cite/expected/post_898cd63b-2585-4ec0-8720-d554bd324174.xml create mode 100644 tests/functionaltests/suites/cite/expected/post_8fb13dc3-5818-45e2-9e29-46abc16e7d38.xml create mode 100644 tests/functionaltests/suites/cite/expected/post_928c1896-52d4-4ac7-9832-f98e3eb65f02.xml create mode 100644 tests/functionaltests/suites/cite/expected/post_93bdbb9d-2734-4f01-92fb-48634cca41de.xml create mode 100644 tests/functionaltests/suites/cite/expected/post_948b39d5-bb4f-45b8-a8f2-4ff9501aaedd.xml create mode 100644 tests/functionaltests/suites/cite/expected/post_9fd64fcc-f69c-4626-b72e-5c7776a29aa9.xml create mode 100644 tests/functionaltests/suites/cite/expected/post_a06d04ab-e0d0-4a86-bfe8-71460f41fe37.xml create mode 100644 tests/functionaltests/suites/cite/expected/post_ad61686c-d304-42d1-b845-8c1f3070c83e.xml create mode 100644 tests/functionaltests/suites/cite/expected/post_af39c020-7b1d-429c-b474-f45c3164cb79.xml create mode 100644 tests/functionaltests/suites/cite/expected/post_b90e2de6-3d25-4298-a13e-dc9492a8fc73.xml create mode 100644 tests/functionaltests/suites/cite/expected/post_ba9b0107-dcee-46ef-823a-a2e25a911a96.xml create mode 100644 tests/functionaltests/suites/cite/expected/post_bb66ebc5-7121-48b5-9f53-b56537d9561b.xml create mode 100644 tests/functionaltests/suites/cite/expected/post_c02d1c85-df9f-45ee-bea7-345c35e02a98.xml create mode 100644 tests/functionaltests/suites/cite/expected/post_c311a342-72e3-4983-be39-868e6ed9740f.xml create mode 100644 tests/functionaltests/suites/cite/expected/post_c38916c2-4bc6-446d-b7aa-ab006d6ba31c.xml create mode 100644 tests/functionaltests/suites/cite/expected/post_c8588f47-8e65-45f5-ad34-ff4524cad84d.xml create mode 100644 tests/functionaltests/suites/cite/expected/post_da228d4c-e1be-43d7-9ccb-c3f27ee32541.xml create mode 100644 tests/functionaltests/suites/cite/expected/post_dc92c2c4-87d8-4a13-964e-ff9b0e0c27b3.xml create mode 100644 tests/functionaltests/suites/cite/expected/post_dcb13791-379e-4739-bcd4-dbaa69f0efdb.xml create mode 100644 tests/functionaltests/suites/cite/expected/post_e308f030-c097-4036-a838-44bad74c9ef7.xml create mode 100644 tests/functionaltests/suites/cite/expected/post_e6e9efb2-e2b7-4b0a-a3a2-7deea3f9b8e2.xml create mode 100644 tests/functionaltests/suites/cite/expected/post_f7976c55-a156-4421-8199-bc0487da4b0f.xml create mode 100644 tests/functionaltests/suites/cite/expected/post_f7d79701-f10b-4087-a33c-f62df0a04fd1.xml create mode 100644 tests/functionaltests/suites/cite/expected/post_fc1bc094-88f1-4851-bc2b-dfc56be9f3c7.xml create mode 100644 tests/functionaltests/suites/cite/expected/post_fe20960f-a26c-4f13-852d-470a0d3233f9.xml create mode 100644 tests/functionaltests/suites/cite/get/requests.txt create mode 100644 tests/functionaltests/suites/cite/post/0c976d98-c896-4b10-b1fe-a22ef50434e7.xml create mode 100644 tests/functionaltests/suites/cite/post/19d2a6ed-be28-4866-ae15-e3bb634486cb.xml create mode 100644 tests/functionaltests/suites/cite/post/1ab55aa3-6685-4595-8ecd-45987a7b8b59.xml create mode 100644 tests/functionaltests/suites/cite/post/1c958b7a-ca09-4c38-98bd-ef1d1d28cc14.xml create mode 100644 tests/functionaltests/suites/cite/post/1c97fc1a-61cd-4c1d-8054-933e17a6c5ee.xml create mode 100644 tests/functionaltests/suites/cite/post/2102a460-5d62-465f-9668-d70b3faafbfa.xml create mode 100644 tests/functionaltests/suites/cite/post/225f455a-0035-486b-a94e-fee7ae881b2b.xml create mode 100644 tests/functionaltests/suites/cite/post/2d53ffea-60e4-4652-abf5-36eb23042fd5.xml create mode 100644 tests/functionaltests/suites/cite/post/34a019a9-1581-42cb-9827-fbfdda2773b7.xml create mode 100644 tests/functionaltests/suites/cite/post/3e76fd38-e035-41c9-83dc-61356f680c97.xml create mode 100644 tests/functionaltests/suites/cite/post/418a6fb0-a89c-4a94-afc9-3f8168eb2980.xml create mode 100644 tests/functionaltests/suites/cite/post/420b745e-0c4b-404e-9f2d-61fa580ff05a.xml create mode 100644 tests/functionaltests/suites/cite/post/4735d649-a2b1-42fd-a101-14e1d7e4607f.xml create mode 100644 tests/functionaltests/suites/cite/post/5c5861bc-f742-40a5-9998-5342615d674b.xml create mode 100644 tests/functionaltests/suites/cite/post/6e736fd0-c266-4852-9eb3-0656f5d0f5c4.xml create mode 100644 tests/functionaltests/suites/cite/post/73f1551c-e269-4ef9-9dae-e535b5eebfc7.xml create mode 100644 tests/functionaltests/suites/cite/post/78297c88-4850-4927-adc6-511cd9a3d539.xml create mode 100644 tests/functionaltests/suites/cite/post/7c89cdf5-0def-4cfb-8c55-2b8ffea5d92f.xml create mode 100644 tests/functionaltests/suites/cite/post/7e2cd105-daec-4d25-bc8e-d49d21364912.xml create mode 100644 tests/functionaltests/suites/cite/post/87f2f670-9cd6-4907-b82c-1b46a7dd2a78.xml create mode 100644 tests/functionaltests/suites/cite/post/88b4e1ba-3bd4-4cbe-81e5-e004056d6ca3.xml create mode 100644 tests/functionaltests/suites/cite/post/898cd63b-2585-4ec0-8720-d554bd324174.xml create mode 100644 tests/functionaltests/suites/cite/post/8fb13dc3-5818-45e2-9e29-46abc16e7d38.xml create mode 100644 tests/functionaltests/suites/cite/post/928c1896-52d4-4ac7-9832-f98e3eb65f02.xml create mode 100644 tests/functionaltests/suites/cite/post/93bdbb9d-2734-4f01-92fb-48634cca41de.xml create mode 100644 tests/functionaltests/suites/cite/post/948b39d5-bb4f-45b8-a8f2-4ff9501aaedd.xml create mode 100644 tests/functionaltests/suites/cite/post/9fd64fcc-f69c-4626-b72e-5c7776a29aa9.xml create mode 100644 tests/functionaltests/suites/cite/post/a06d04ab-e0d0-4a86-bfe8-71460f41fe37.xml create mode 100644 tests/functionaltests/suites/cite/post/ad61686c-d304-42d1-b845-8c1f3070c83e.xml create mode 100644 tests/functionaltests/suites/cite/post/af39c020-7b1d-429c-b474-f45c3164cb79.xml create mode 100644 tests/functionaltests/suites/cite/post/b90e2de6-3d25-4298-a13e-dc9492a8fc73.xml create mode 100644 tests/functionaltests/suites/cite/post/ba9b0107-dcee-46ef-823a-a2e25a911a96.xml create mode 100644 tests/functionaltests/suites/cite/post/bb66ebc5-7121-48b5-9f53-b56537d9561b.xml create mode 100644 tests/functionaltests/suites/cite/post/c02d1c85-df9f-45ee-bea7-345c35e02a98.xml create mode 100644 tests/functionaltests/suites/cite/post/c311a342-72e3-4983-be39-868e6ed9740f.xml create mode 100644 tests/functionaltests/suites/cite/post/c38916c2-4bc6-446d-b7aa-ab006d6ba31c.xml create mode 100644 tests/functionaltests/suites/cite/post/c8588f47-8e65-45f5-ad34-ff4524cad84d.xml create mode 100644 tests/functionaltests/suites/cite/post/da228d4c-e1be-43d7-9ccb-c3f27ee32541.xml create mode 100644 tests/functionaltests/suites/cite/post/dc92c2c4-87d8-4a13-964e-ff9b0e0c27b3.xml create mode 100644 tests/functionaltests/suites/cite/post/dcb13791-379e-4739-bcd4-dbaa69f0efdb.xml create mode 100644 tests/functionaltests/suites/cite/post/e308f030-c097-4036-a838-44bad74c9ef7.xml create mode 100644 tests/functionaltests/suites/cite/post/e6e9efb2-e2b7-4b0a-a3a2-7deea3f9b8e2.xml create mode 100644 tests/functionaltests/suites/cite/post/f7976c55-a156-4421-8199-bc0487da4b0f.xml create mode 100644 tests/functionaltests/suites/cite/post/f7d79701-f10b-4087-a33c-f62df0a04fd1.xml create mode 100644 tests/functionaltests/suites/cite/post/fc1bc094-88f1-4851-bc2b-dfc56be9f3c7.xml create mode 100644 tests/functionaltests/suites/cite/post/fe20960f-a26c-4f13-852d-470a0d3233f9.xml create mode 100644 tests/functionaltests/suites/csw30/default.cfg create mode 100644 tests/functionaltests/suites/csw30/expected/get_002258f0-627f-457f-b2ad-025777c77ac8.xml create mode 100644 tests/functionaltests/suites/csw30/expected/get_045c600d-973d-41eb-9f60-eba1b717b720.xml create mode 100644 tests/functionaltests/suites/csw30/expected/get_0bbcf862-5211-4351-9988-63f8bec49c98.xml create mode 100644 tests/functionaltests/suites/csw30/expected/get_0bdf8457-971e-4ed1-be4a-5feca4dcd8fa.xml create mode 100644 tests/functionaltests/suites/csw30/expected/get_0d8bbdec-0846-42ca-8dc8-b7f4cba41d67.xml create mode 100644 tests/functionaltests/suites/csw30/expected/get_0e1dca37-477a-4060-99fe-7799b52d656c.xml create mode 100644 tests/functionaltests/suites/csw30/expected/get_13c87956-51a4-4780-a8e9-6e0b5c0bb473.xml create mode 100644 tests/functionaltests/suites/csw30/expected/get_151d982f-ebd3-4cb2-b507-a667713a1e92.xml create mode 100644 tests/functionaltests/suites/csw30/expected/get_1869e495-1a61-4713-8285-76d1336ee1a6.xml create mode 100644 tests/functionaltests/suites/csw30/expected/get_1bcb42a9-538c-4f0a-9d4c-d6f10b720aa6.xml create mode 100644 tests/functionaltests/suites/csw30/expected/get_22f44168-2ccf-4801-ad96-204212566d56.xml create mode 100644 tests/functionaltests/suites/csw30/expected/get_2499a9c9-8d33-449c-bc92-d494adfcc84d.xml create mode 100644 tests/functionaltests/suites/csw30/expected/get_27f4f39c-d92a-4e3c-b961-c6aa8c24e513.xml create mode 100644 tests/functionaltests/suites/csw30/expected/get_28e569df-8596-4128-8d9a-29ad03138915.xml create mode 100644 tests/functionaltests/suites/csw30/expected/get_2b06a5c8-0df2-4af1-8d2e-a425de11c845.xml create mode 100644 tests/functionaltests/suites/csw30/expected/get_2ba1418a-444d-4cce-9cfe-4c94efcf8b55.xml create mode 100644 tests/functionaltests/suites/csw30/expected/get_397fe17a-d5b4-4f96-8cc4-4ce467ed4d0a.xml create mode 100644 tests/functionaltests/suites/csw30/expected/get_3dcd1b15-73d2-4b7d-a3e3-ff15bf14aae4.xml create mode 100644 tests/functionaltests/suites/csw30/expected/get_405e1ff1-5c75-4846-a28b-cfaff2a6921a.xml create mode 100644 tests/functionaltests/suites/csw30/expected/get_43cd6471-6ac7-45bd-8ff9-148cb2de9a52.xml create mode 100644 tests/functionaltests/suites/csw30/expected/get_4566d2ec-1283-4a02-baed-a74fc5b47e37.xml create mode 100644 tests/functionaltests/suites/csw30/expected/get_461bd4c5-6623-490d-9036-d91a2201e87b.xml create mode 100644 tests/functionaltests/suites/csw30/expected/get_5496894a-3877-4f62-a20b-5d7126f94925.xml create mode 100644 tests/functionaltests/suites/csw30/expected/get_5a015f6a-bf14-4977-b1e3-6577eb0223c8.xml create mode 100644 tests/functionaltests/suites/csw30/expected/get_5c3a2390-1fb9-43f0-b96c-f48c7a69c990.xml create mode 100644 tests/functionaltests/suites/csw30/expected/get_5e9e67dc-18d6-4645-8111-c6263c88a61f.xml create mode 100644 tests/functionaltests/suites/csw30/expected/get_604d9379-741c-42e5-b4cf-92e56c87fa64.xml create mode 100644 tests/functionaltests/suites/csw30/expected/get_60e6af95-d5fc-465a-82e2-fd2e6d85e4af.xml create mode 100644 tests/functionaltests/suites/csw30/expected/get_62ad94c2-b558-4265-a427-23d6677975d6.xml create mode 100644 tests/functionaltests/suites/csw30/expected/get_6a5e247b-0961-4b8a-a0d6-35a491d9cfe7.xml create mode 100644 tests/functionaltests/suites/csw30/expected/get_6a9d0558-9d87-495b-b999-b49a3ef1cf99.xml create mode 100644 tests/functionaltests/suites/csw30/expected/get_6bd790c9-6019-4652-9c91-330a894d6700.xml create mode 100644 tests/functionaltests/suites/csw30/expected/get_6e9cba43-5e27-415d-adbd-a92851c2c173.xml create mode 100644 tests/functionaltests/suites/csw30/expected/get_7630d230-e142-4a09-accf-f091000b90cd.xml create mode 100644 tests/functionaltests/suites/csw30/expected/get_7e82446a-b5dc-43fe-9a73-4cc1f2f2f0bf.xml create mode 100644 tests/functionaltests/suites/csw30/expected/get_8025978e-1a35-4d70-80c2-e8329e0c7864.xml create mode 100644 tests/functionaltests/suites/csw30/expected/get_8184ae4f-536d-4978-8b28-ad703be96967.xml create mode 100644 tests/functionaltests/suites/csw30/expected/get_88f63a89-664f-4315-b4f8-04a0b33803a7.xml create mode 100644 tests/functionaltests/suites/csw30/expected/get_8987f8f0-4d93-4481-968c-a2ccbd6b8be2.xml create mode 100644 tests/functionaltests/suites/csw30/expected/get_8e5fa0f6-3f29-4d1f-abe2-d9866f3def98.xml create mode 100644 tests/functionaltests/suites/csw30/expected/get_9000ec29-5649-474e-b2d6-55c00f8a52c0.xml create mode 100644 tests/functionaltests/suites/csw30/expected/get_91914d35-7bbf-45e6-9b37-5ef484869a4e.xml create mode 100644 tests/functionaltests/suites/csw30/expected/get_92d4844d-57d5-4cf3-8f47-ba50e369dc04.xml create mode 100644 tests/functionaltests/suites/csw30/expected/get_9c0e2a4b-b4e6-41c0-b630-c8c99fc89ff3.xml create mode 100644 tests/functionaltests/suites/csw30/expected/get_9d7ffac8-9798-428d-8e27-3cd12497ee6b.xml create mode 100644 tests/functionaltests/suites/csw30/expected/get_Exception-GetDomain-value-reference.xml create mode 100644 tests/functionaltests/suites/csw30/expected/get_Exception-GetDomain.xml create mode 100644 tests/functionaltests/suites/csw30/expected/get_Exception-GetRecordById-404.xml create mode 100644 tests/functionaltests/suites/csw30/expected/get_Exception-GetRecordById-dc.xml.xml create mode 100644 tests/functionaltests/suites/csw30/expected/get_Exception-GetRepositoryItem-notfound.xml create mode 100644 tests/functionaltests/suites/csw30/expected/get_Exception-invalid-request.xml create mode 100644 tests/functionaltests/suites/csw30/expected/get_GetCapabilities-base-url.xml create mode 100644 tests/functionaltests/suites/csw30/expected/get_GetCapabilities-no-version.xml create mode 100644 tests/functionaltests/suites/csw30/expected/get_GetCapabilities.xml create mode 100644 tests/functionaltests/suites/csw30/expected/get_GetDomain-parameter.xml create mode 100644 tests/functionaltests/suites/csw30/expected/get_GetDomain-value-reference.xml create mode 100644 tests/functionaltests/suites/csw30/expected/get_GetRepositoryItem.xml create mode 100644 tests/functionaltests/suites/csw30/expected/get_OpenSearch-description.xml create mode 100644 tests/functionaltests/suites/csw30/expected/get_a2f18643-e24e-4fa5-b780-6de4a2dbc814.xml create mode 100644 tests/functionaltests/suites/csw30/expected/get_abc90c8c-5868-4405-a73e-64c849be3b2a.xml create mode 100644 tests/functionaltests/suites/csw30/expected/get_ad0c0571-09ed-436a-9a4f-a5de744c88fe.xml create mode 100644 tests/functionaltests/suites/csw30/expected/get_af502903-f4ee-47ee-b76e-af878d238bcc.xml create mode 100644 tests/functionaltests/suites/csw30/expected/get_b2aafc3f-4f35-47bc-affd-08590972deae.xml create mode 100644 tests/functionaltests/suites/csw30/expected/get_b6069623-f7d8-4021-8582-98f0aea0f763.xml create mode 100644 tests/functionaltests/suites/csw30/expected/get_b9a07a54-75a8-45bd-b341-2823600211e3.xml create mode 100644 tests/functionaltests/suites/csw30/expected/get_baa4a7d0-0c01-42b6-adc3-0d03e9949fa3.xml create mode 100644 tests/functionaltests/suites/csw30/expected/get_bfbe6409-f64a-4c89-acb3-50f260a5c743.xml create mode 100644 tests/functionaltests/suites/csw30/expected/get_bfe20134-d1da-42ef-9c0f-8e1307bbf92b.xml create mode 100644 tests/functionaltests/suites/csw30/expected/get_c03d173a-3f42-4956-89c8-1fe02c3a0873.xml create mode 100644 tests/functionaltests/suites/csw30/expected/get_cb43d8c3-e14c-4a9f-9231-4384b7dd21f3.xml create mode 100644 tests/functionaltests/suites/csw30/expected/get_d03c6fd3-e821-4a26-b62f-d20a474e25af.xml create mode 100644 tests/functionaltests/suites/csw30/expected/get_d4ccbf96-a529-480e-a53d-5b88dc1dea7f.xml create mode 100644 tests/functionaltests/suites/csw30/expected/get_d94c801a-1207-4897-b84a-53f3a192515b.xml create mode 100644 tests/functionaltests/suites/csw30/expected/get_da859e34-91fc-495a-8c09-285a40c0900b.xml create mode 100644 tests/functionaltests/suites/csw30/expected/get_dc246fb8-5af5-4fda-82bb-c18b3ecd439c.xml create mode 100644 tests/functionaltests/suites/csw30/expected/get_de016645-6d5c-4855-943c-2db07ae9f49a.xml create mode 100644 tests/functionaltests/suites/csw30/expected/get_dff3ec6b-bb2d-4887-bd17-8fcf15def042.xml create mode 100644 tests/functionaltests/suites/csw30/expected/get_e38e6bfb-8ac4-4ae4-8b87-0aafbc8d3c6b.xml create mode 100644 tests/functionaltests/suites/csw30/expected/get_e67ca935-d65d-4d8c-8302-1405333dded0.xml create mode 100644 tests/functionaltests/suites/csw30/expected/get_e7704509-3441-458f-8ef0-e333c6b6043f.xml create mode 100644 tests/functionaltests/suites/csw30/expected/get_f1223a49-6d08-44ff-97fe-4c32cbbfad82.xml create mode 100644 tests/functionaltests/suites/csw30/expected/get_f89dd4e1-3a81-4433-afd2-a3fa1bdb1e18.xml create mode 100644 tests/functionaltests/suites/csw30/expected/post_Exception-GetDomain-parametername-bad.xml create mode 100644 tests/functionaltests/suites/csw30/expected/post_Exception-GetDomain-valuereference-bad.xml create mode 100644 tests/functionaltests/suites/csw30/expected/post_Exception-GetRecordById-404.xml create mode 100644 tests/functionaltests/suites/csw30/expected/post_Exception-GetRecordById-bad-esn.xml create mode 100644 tests/functionaltests/suites/csw30/expected/post_Exception-bad-xml.xml create mode 100644 tests/functionaltests/suites/csw30/expected/post_Exception-not-xml.xml create mode 100644 tests/functionaltests/suites/csw30/expected/post_GetCapabilities.xml create mode 100644 tests/functionaltests/suites/csw30/expected/post_GetDomain-parametername.xml create mode 100644 tests/functionaltests/suites/csw30/expected/post_GetDomain-valuereference.xml create mode 100644 tests/functionaltests/suites/csw30/expected/post_GetRecordById-dc-full.xml create mode 100644 tests/functionaltests/suites/csw30/expected/post_GetRecordById-dc.xml create mode 100644 tests/functionaltests/suites/csw30/get/requests.txt create mode 100644 tests/functionaltests/suites/csw30/post/Exception-GetDomain-parametername-bad.xml create mode 100644 tests/functionaltests/suites/csw30/post/Exception-GetDomain-valuereference-bad.xml create mode 100644 tests/functionaltests/suites/csw30/post/Exception-GetRecordById-404.xml create mode 100644 tests/functionaltests/suites/csw30/post/Exception-GetRecordById-bad-esn.xml create mode 100644 tests/functionaltests/suites/csw30/post/Exception-bad-xml.xml create mode 100644 tests/functionaltests/suites/csw30/post/Exception-not-xml.xml create mode 100644 tests/functionaltests/suites/csw30/post/GetCapabilities.xml create mode 100644 tests/functionaltests/suites/csw30/post/GetDomain-parametername.xml create mode 100644 tests/functionaltests/suites/csw30/post/GetDomain-valuereference.xml create mode 100644 tests/functionaltests/suites/csw30/post/GetRecordById-dc-full.xml create mode 100644 tests/functionaltests/suites/csw30/post/GetRecordById-dc.xml create mode 100644 tests/functionaltests/suites/default/default.cfg create mode 100644 tests/functionaltests/suites/default/expected/get_Exception-GetRepositoryItem-notfound.xml create mode 100644 tests/functionaltests/suites/default/expected/get_Exception-GetRepositoryItem-service-invalid1.xml create mode 100644 tests/functionaltests/suites/default/expected/get_Exception-GetRepositoryItem-service-invalid2.xml create mode 100644 tests/functionaltests/suites/default/expected/get_Exception-GetRepositoryItem-version-invalid.xml create mode 100644 tests/functionaltests/suites/default/expected/get_GetCapabilities-invalid-request.xml create mode 100644 tests/functionaltests/suites/default/expected/get_GetCapabilities.xml create mode 100644 tests/functionaltests/suites/default/expected/get_GetRecords-all.xml create mode 100644 tests/functionaltests/suites/default/expected/get_GetRecords-empty-maxrecords.xml create mode 100644 tests/functionaltests/suites/default/expected/get_GetRecords-filter-cql-title-or-abstract-with-spaces.xml create mode 100644 tests/functionaltests/suites/default/expected/get_GetRecords-filter-cql-title-or-abstract.xml create mode 100644 tests/functionaltests/suites/default/expected/get_GetRecords-filter-cql-title-with-spaces-or-abstract-with-spaces.xml create mode 100644 tests/functionaltests/suites/default/expected/get_GetRecords-filter-cql-title-with-spaces-or-abstract.xml create mode 100644 tests/functionaltests/suites/default/expected/get_GetRecords-filter-cql-title-with-spaces.xml create mode 100644 tests/functionaltests/suites/default/expected/get_GetRecords-filter-cql-title.xml create mode 100644 tests/functionaltests/suites/default/expected/get_GetRecords-filter.xml create mode 100644 tests/functionaltests/suites/default/expected/get_GetRecords-sortby-asc.xml create mode 100644 tests/functionaltests/suites/default/expected/get_GetRecords-sortby-desc.xml create mode 100644 tests/functionaltests/suites/default/expected/get_GetRecords-sortby-invalid-order.xml create mode 100644 tests/functionaltests/suites/default/expected/get_GetRecords-sortby-invalid-propertyname.xml create mode 100644 tests/functionaltests/suites/default/expected/get_GetRepositoryItem.xml create mode 100644 tests/functionaltests/suites/default/expected/post_DescribeRecord-json.xml create mode 100644 tests/functionaltests/suites/default/expected/post_DescribeRecord.xml create mode 100644 tests/functionaltests/suites/default/expected/post_Exception-GetRecords-badsrsname.xml create mode 100644 tests/functionaltests/suites/default/expected/post_Exception-GetRecords-elementname.xml create mode 100644 tests/functionaltests/suites/default/expected/post_Exception-GetRecords-invalid-xml.xml create mode 100644 tests/functionaltests/suites/default/expected/post_GetCapabilities-SOAP.xml create mode 100644 tests/functionaltests/suites/default/expected/post_GetCapabilities-sections.xml create mode 100644 tests/functionaltests/suites/default/expected/post_GetCapabilities-updatesequence.xml create mode 100644 tests/functionaltests/suites/default/expected/post_GetCapabilities.xml create mode 100644 tests/functionaltests/suites/default/expected/post_GetDomain-parameter.xml create mode 100644 tests/functionaltests/suites/default/expected/post_GetDomain-property.xml create mode 100644 tests/functionaltests/suites/default/expected/post_GetRecordById-json.xml create mode 100644 tests/functionaltests/suites/default/expected/post_GetRecordById.xml create mode 100644 tests/functionaltests/suites/default/expected/post_GetRecords-all-json.xml create mode 100644 tests/functionaltests/suites/default/expected/post_GetRecords-all-resulttype-hits.xml create mode 100644 tests/functionaltests/suites/default/expected/post_GetRecords-all-resulttype-validate.xml create mode 100644 tests/functionaltests/suites/default/expected/post_GetRecords-all-sortby-bbox.xml create mode 100644 tests/functionaltests/suites/default/expected/post_GetRecords-all.xml create mode 100644 tests/functionaltests/suites/default/expected/post_GetRecords-bbox-filter-crs84.xml create mode 100644 tests/functionaltests/suites/default/expected/post_GetRecords-cql-title-and-abstract.xml create mode 100644 tests/functionaltests/suites/default/expected/post_GetRecords-cql-title.xml create mode 100644 tests/functionaltests/suites/default/expected/post_GetRecords-distributedsearch.xml create mode 100644 tests/functionaltests/suites/default/expected/post_GetRecords-elementname.xml create mode 100644 tests/functionaltests/suites/default/expected/post_GetRecords-end.xml create mode 100644 tests/functionaltests/suites/default/expected/post_GetRecords-filter-and-bbox-freetext.xml create mode 100644 tests/functionaltests/suites/default/expected/post_GetRecords-filter-and-nested-or.xml create mode 100644 tests/functionaltests/suites/default/expected/post_GetRecords-filter-and-nested-or2.xml create mode 100644 tests/functionaltests/suites/default/expected/post_GetRecords-filter-anytext-and-not.xml create mode 100644 tests/functionaltests/suites/default/expected/post_GetRecords-filter-anytext-equal.xml create mode 100644 tests/functionaltests/suites/default/expected/post_GetRecords-filter-anytext.xml create mode 100644 tests/functionaltests/suites/default/expected/post_GetRecords-filter-bbox-reproject.xml create mode 100644 tests/functionaltests/suites/default/expected/post_GetRecords-filter-bbox-sortby.xml create mode 100644 tests/functionaltests/suites/default/expected/post_GetRecords-filter-bbox.xml create mode 100644 tests/functionaltests/suites/default/expected/post_GetRecords-filter-between.xml create mode 100644 tests/functionaltests/suites/default/expected/post_GetRecords-filter-function-bad.xml create mode 100644 tests/functionaltests/suites/default/expected/post_GetRecords-filter-function.xml create mode 100644 tests/functionaltests/suites/default/expected/post_GetRecords-filter-not-bbox.xml create mode 100644 tests/functionaltests/suites/default/expected/post_GetRecords-filter-or-bbox-freetext.xml create mode 100644 tests/functionaltests/suites/default/expected/post_GetRecords-filter-or-nested-and.xml create mode 100644 tests/functionaltests/suites/default/expected/post_GetRecords-filter-or-title-abstract.xml create mode 100644 tests/functionaltests/suites/default/expected/post_GetRecords-maxrecords.xml create mode 100644 tests/functionaltests/suites/default/expected/post_GetRecords-requestid.xml create mode 100644 tests/functionaltests/suites/default/expected/post_Harvest-default.xml create mode 100644 tests/functionaltests/suites/default/expected/post_Harvest-response-handler.xml create mode 100644 tests/functionaltests/suites/default/expected/post_Transaction-delete.xml create mode 100644 tests/functionaltests/suites/default/expected/post_Transaction-insert.xml create mode 100644 tests/functionaltests/suites/default/expected/post_Transaction-update-full.xml create mode 100644 tests/functionaltests/suites/default/expected/post_Transaction-update-recordproperty.xml create mode 100644 tests/functionaltests/suites/default/get/requests.txt create mode 100644 tests/functionaltests/suites/default/post/DescribeRecord-json.xml create mode 100644 tests/functionaltests/suites/default/post/DescribeRecord.xml create mode 100644 tests/functionaltests/suites/default/post/Exception-GetRecords-badsrsname.xml create mode 100644 tests/functionaltests/suites/default/post/Exception-GetRecords-elementname.xml create mode 100644 tests/functionaltests/suites/default/post/Exception-GetRecords-invalid-xml.xml create mode 100644 tests/functionaltests/suites/default/post/GetCapabilities-SOAP.xml create mode 100644 tests/functionaltests/suites/default/post/GetCapabilities-sections.xml create mode 100644 tests/functionaltests/suites/default/post/GetCapabilities-updatesequence.xml create mode 100644 tests/functionaltests/suites/default/post/GetCapabilities.xml create mode 100644 tests/functionaltests/suites/default/post/GetDomain-parameter.xml create mode 100644 tests/functionaltests/suites/default/post/GetDomain-property.xml create mode 100644 tests/functionaltests/suites/default/post/GetRecordById-json.xml create mode 100644 tests/functionaltests/suites/default/post/GetRecordById.xml create mode 100644 tests/functionaltests/suites/default/post/GetRecords-all-json.xml create mode 100644 tests/functionaltests/suites/default/post/GetRecords-all-resulttype-hits.xml create mode 100644 tests/functionaltests/suites/default/post/GetRecords-all-resulttype-validate.xml create mode 100644 tests/functionaltests/suites/default/post/GetRecords-all-sortby-bbox.xml create mode 100644 tests/functionaltests/suites/default/post/GetRecords-all.xml create mode 100644 tests/functionaltests/suites/default/post/GetRecords-bbox-filter-crs84.xml create mode 100644 tests/functionaltests/suites/default/post/GetRecords-cql-title-and-abstract.xml create mode 100644 tests/functionaltests/suites/default/post/GetRecords-cql-title.xml create mode 100644 tests/functionaltests/suites/default/post/GetRecords-distributedsearch.xml create mode 100644 tests/functionaltests/suites/default/post/GetRecords-elementname.xml create mode 100644 tests/functionaltests/suites/default/post/GetRecords-end.xml create mode 100644 tests/functionaltests/suites/default/post/GetRecords-filter-and-bbox-freetext.xml create mode 100644 tests/functionaltests/suites/default/post/GetRecords-filter-and-nested-or.xml create mode 100644 tests/functionaltests/suites/default/post/GetRecords-filter-and-nested-or2.xml create mode 100644 tests/functionaltests/suites/default/post/GetRecords-filter-anytext-and-not.xml create mode 100644 tests/functionaltests/suites/default/post/GetRecords-filter-anytext-equal.xml create mode 100644 tests/functionaltests/suites/default/post/GetRecords-filter-anytext.xml create mode 100644 tests/functionaltests/suites/default/post/GetRecords-filter-bbox-reproject.xml create mode 100644 tests/functionaltests/suites/default/post/GetRecords-filter-bbox-sortby.xml create mode 100644 tests/functionaltests/suites/default/post/GetRecords-filter-bbox.xml create mode 100644 tests/functionaltests/suites/default/post/GetRecords-filter-between.xml create mode 100644 tests/functionaltests/suites/default/post/GetRecords-filter-function-bad.xml create mode 100644 tests/functionaltests/suites/default/post/GetRecords-filter-function.xml create mode 100644 tests/functionaltests/suites/default/post/GetRecords-filter-not-bbox.xml create mode 100644 tests/functionaltests/suites/default/post/GetRecords-filter-or-bbox-freetext.xml create mode 100644 tests/functionaltests/suites/default/post/GetRecords-filter-or-nested-and.xml create mode 100644 tests/functionaltests/suites/default/post/GetRecords-filter-or-title-abstract.xml create mode 100644 tests/functionaltests/suites/default/post/GetRecords-maxrecords.xml create mode 100644 tests/functionaltests/suites/default/post/GetRecords-requestid.xml create mode 100644 tests/functionaltests/suites/default/post/Harvest-default.xml create mode 100644 tests/functionaltests/suites/default/post/Harvest-response-handler.xml create mode 100644 tests/functionaltests/suites/default/post/Transaction-delete.xml create mode 100644 tests/functionaltests/suites/default/post/Transaction-insert.xml create mode 100644 tests/functionaltests/suites/default/post/Transaction-update-full.xml create mode 100644 tests/functionaltests/suites/default/post/Transaction-update-recordproperty.xml create mode 100644 tests/functionaltests/suites/dif/default.cfg create mode 100644 tests/functionaltests/suites/dif/expected/post_DescribeRecord.xml create mode 100644 tests/functionaltests/suites/dif/expected/post_GetCapabilities.xml create mode 100644 tests/functionaltests/suites/dif/expected/post_GetRecords-filter-bbox.xml create mode 100644 tests/functionaltests/suites/dif/post/DescribeRecord.xml create mode 100644 tests/functionaltests/suites/dif/post/GetCapabilities.xml create mode 100644 tests/functionaltests/suites/dif/post/GetRecords-filter-bbox.xml create mode 100644 tests/functionaltests/suites/ebrim/default.cfg create mode 100644 tests/functionaltests/suites/ebrim/expected/post_DescribeRecord.xml create mode 100644 tests/functionaltests/suites/ebrim/expected/post_GetCapabilities.xml create mode 100644 tests/functionaltests/suites/ebrim/expected/post_GetRecords-filter-bbox-full.xml create mode 100644 tests/functionaltests/suites/ebrim/expected/post_GetRecords-filter-bbox.xml create mode 100644 tests/functionaltests/suites/ebrim/post/DescribeRecord.xml create mode 100644 tests/functionaltests/suites/ebrim/post/GetCapabilities.xml create mode 100644 tests/functionaltests/suites/ebrim/post/GetRecords-filter-bbox-full.xml create mode 100644 tests/functionaltests/suites/ebrim/post/GetRecords-filter-bbox.xml create mode 100644 tests/functionaltests/suites/fgdc/default.cfg create mode 100644 tests/functionaltests/suites/fgdc/expected/post_DescribeRecord.xml create mode 100644 tests/functionaltests/suites/fgdc/expected/post_GetCapabilities.xml create mode 100644 tests/functionaltests/suites/fgdc/expected/post_GetRecords-filter-bbox.xml create mode 100644 tests/functionaltests/suites/fgdc/post/DescribeRecord.xml create mode 100644 tests/functionaltests/suites/fgdc/post/GetCapabilities.xml create mode 100644 tests/functionaltests/suites/fgdc/post/GetRecords-filter-bbox.xml create mode 100644 tests/functionaltests/suites/gm03/default.cfg create mode 100644 tests/functionaltests/suites/gm03/expected/post_GetCapabilities.xml create mode 100644 tests/functionaltests/suites/gm03/expected/post_GetRecords-filter-bbox.xml create mode 100644 tests/functionaltests/suites/gm03/post/GetCapabilities.xml create mode 100644 tests/functionaltests/suites/gm03/post/GetRecords-filter-bbox.xml create mode 100644 tests/functionaltests/suites/harvesting/default.cfg create mode 100644 tests/functionaltests/suites/harvesting/expected/get_Exception-Harvest-invalid-resourcetype.xml create mode 100644 tests/functionaltests/suites/harvesting/expected/get_Exception-Harvest-missing-resourcetype.xml create mode 100644 tests/functionaltests/suites/harvesting/expected/get_Exception-Harvest-missing-source.xml create mode 100644 tests/functionaltests/suites/harvesting/expected/get_Exception-Harvest-waf-bad-value.xml create mode 100644 tests/functionaltests/suites/harvesting/expected/get_Exception-Harvest-waf-no-records-found.xml create mode 100644 tests/functionaltests/suites/harvesting/expected/post_Clear-000-delete-all.xml create mode 100644 tests/functionaltests/suites/harvesting/expected/post_Exception-Havest-csw-404.xml create mode 100644 tests/functionaltests/suites/harvesting/expected/post_GetCapabilities.xml create mode 100644 tests/functionaltests/suites/harvesting/expected/post_GetDomain-parameter.xml create mode 100644 tests/functionaltests/suites/harvesting/expected/post_Harvest-csw-iso.xml create mode 100644 tests/functionaltests/suites/harvesting/expected/post_Harvest-csw-run1.xml create mode 100644 tests/functionaltests/suites/harvesting/expected/post_Harvest-csw-run2.xml create mode 100644 tests/functionaltests/suites/harvesting/expected/post_Harvest-dc.xml create mode 100644 tests/functionaltests/suites/harvesting/expected/post_Harvest-fgdc.xml create mode 100644 tests/functionaltests/suites/harvesting/expected/post_Harvest-iso.xml create mode 100644 tests/functionaltests/suites/harvesting/expected/post_Harvest-rdf.xml create mode 100644 tests/functionaltests/suites/harvesting/expected/post_Harvest-sos100.xml create mode 100644 tests/functionaltests/suites/harvesting/expected/post_Harvest-sos200.xml create mode 100644 tests/functionaltests/suites/harvesting/expected/post_Harvest-waf.xml create mode 100644 tests/functionaltests/suites/harvesting/expected/post_Harvest-wcs.xml create mode 100644 tests/functionaltests/suites/harvesting/expected/post_Harvest-wfs110.xml create mode 100644 tests/functionaltests/suites/harvesting/expected/post_Harvest-wfs200.xml create mode 100644 tests/functionaltests/suites/harvesting/expected/post_Harvest-wms-run1.xml create mode 100644 tests/functionaltests/suites/harvesting/expected/post_Harvest-wms-run2.xml create mode 100644 tests/functionaltests/suites/harvesting/expected/post_Harvest-wmts.xml create mode 100644 tests/functionaltests/suites/harvesting/expected/post_Harvest-wps.xml create mode 100644 tests/functionaltests/suites/harvesting/expected/post_Harvest-zzz-post-GetRecords-filter-ows-dc.xml create mode 100644 tests/functionaltests/suites/harvesting/expected/post_Harvest-zzz-post-GetRecords-filter-sos-abstract-dc.xml create mode 100644 tests/functionaltests/suites/harvesting/expected/post_Harvest-zzz-post-GetRecords-filter-sos-dc.xml create mode 100644 tests/functionaltests/suites/harvesting/expected/post_Harvest-zzz-post-GetRecords-filter-sos-iso.xml create mode 100644 tests/functionaltests/suites/harvesting/expected/post_Harvest-zzz-post-GetRecords-filter-wfs-iso.xml create mode 100644 tests/functionaltests/suites/harvesting/expected/post_Harvest-zzz-post-GetRecords-filter-wms-dc.xml create mode 100644 tests/functionaltests/suites/harvesting/expected/post_Harvest-zzz-post-GetRecords-filter-wms-iso.xml create mode 100644 tests/functionaltests/suites/harvesting/expected/post_Harvest-zzz-post-GetRecords-filter-wms-layer.xml create mode 100644 tests/functionaltests/suites/harvesting/expected/post_Harvest-zzz-post-GetRecords-filter-wps-process.xml create mode 100644 tests/functionaltests/suites/harvesting/expected/post_Transaction-000-delete-all.xml create mode 100644 tests/functionaltests/suites/harvesting/get/requests.txt create mode 100644 tests/functionaltests/suites/harvesting/post/Clear-000-delete-all.xml create mode 100644 tests/functionaltests/suites/harvesting/post/Exception-Havest-csw-404.xml create mode 100644 tests/functionaltests/suites/harvesting/post/GetCapabilities.xml create mode 100644 tests/functionaltests/suites/harvesting/post/GetDomain-parameter.xml create mode 100644 tests/functionaltests/suites/harvesting/post/Harvest-csw-iso.xml create mode 100644 tests/functionaltests/suites/harvesting/post/Harvest-csw-run1.xml create mode 100644 tests/functionaltests/suites/harvesting/post/Harvest-csw-run2.xml create mode 100644 tests/functionaltests/suites/harvesting/post/Harvest-dc.xml create mode 100644 tests/functionaltests/suites/harvesting/post/Harvest-fgdc.xml create mode 100644 tests/functionaltests/suites/harvesting/post/Harvest-iso.xml create mode 100644 tests/functionaltests/suites/harvesting/post/Harvest-rdf.xml create mode 100644 tests/functionaltests/suites/harvesting/post/Harvest-sos100.xml create mode 100644 tests/functionaltests/suites/harvesting/post/Harvest-sos200.xml create mode 100644 tests/functionaltests/suites/harvesting/post/Harvest-waf.xml create mode 100644 tests/functionaltests/suites/harvesting/post/Harvest-wcs.xml create mode 100644 tests/functionaltests/suites/harvesting/post/Harvest-wfs110.xml create mode 100644 tests/functionaltests/suites/harvesting/post/Harvest-wfs200.xml create mode 100644 tests/functionaltests/suites/harvesting/post/Harvest-wms-run1.xml create mode 100644 tests/functionaltests/suites/harvesting/post/Harvest-wms-run2.xml create mode 100644 tests/functionaltests/suites/harvesting/post/Harvest-wmts.xml create mode 100644 tests/functionaltests/suites/harvesting/post/Harvest-wps.xml create mode 100644 tests/functionaltests/suites/harvesting/post/Harvest-zzz-post-GetRecords-filter-ows-dc.xml create mode 100644 tests/functionaltests/suites/harvesting/post/Harvest-zzz-post-GetRecords-filter-sos-abstract-dc.xml create mode 100644 tests/functionaltests/suites/harvesting/post/Harvest-zzz-post-GetRecords-filter-sos-dc.xml create mode 100644 tests/functionaltests/suites/harvesting/post/Harvest-zzz-post-GetRecords-filter-sos-iso.xml create mode 100644 tests/functionaltests/suites/harvesting/post/Harvest-zzz-post-GetRecords-filter-wfs-iso.xml create mode 100644 tests/functionaltests/suites/harvesting/post/Harvest-zzz-post-GetRecords-filter-wms-dc.xml create mode 100644 tests/functionaltests/suites/harvesting/post/Harvest-zzz-post-GetRecords-filter-wms-iso.xml create mode 100644 tests/functionaltests/suites/harvesting/post/Harvest-zzz-post-GetRecords-filter-wms-layer.xml create mode 100644 tests/functionaltests/suites/harvesting/post/Harvest-zzz-post-GetRecords-filter-wps-process.xml create mode 100644 tests/functionaltests/suites/harvesting/post/Transaction-000-delete-all.xml create mode 100644 tests/functionaltests/suites/manager/default.cfg create mode 100644 tests/functionaltests/suites/manager/expected/post_Clear-000-delete-all.xml create mode 100644 tests/functionaltests/suites/manager/expected/post_GetCapabilities.xml create mode 100644 tests/functionaltests/suites/manager/expected/post_GetDomain-parameter.xml create mode 100644 tests/functionaltests/suites/manager/expected/post_Transaction-000-delete-all.xml create mode 100644 tests/functionaltests/suites/manager/expected/post_Transaction-dc-01-insert.xml create mode 100644 tests/functionaltests/suites/manager/expected/post_Transaction-dc-02-update-full.xml create mode 100644 tests/functionaltests/suites/manager/expected/post_Transaction-fgdc-01-insert.xml create mode 100644 tests/functionaltests/suites/manager/expected/post_Transaction-fgdc-02-update-recprop.xml create mode 100644 tests/functionaltests/suites/manager/expected/post_Transaction-fgdc-03-delete-all.xml create mode 100644 tests/functionaltests/suites/manager/expected/post_Transaction-iso-00-delete-all.xml create mode 100644 tests/functionaltests/suites/manager/expected/post_Transaction-iso-01-insert.xml create mode 100644 tests/functionaltests/suites/manager/expected/post_Transaction-iso-02-update-full.xml create mode 100644 tests/functionaltests/suites/manager/expected/post_Transaction-iso-03-update-recprop.xml create mode 100644 tests/functionaltests/suites/manager/expected/post_Transaction-iso-04-update-recprop-no-matches.xml create mode 100644 tests/functionaltests/suites/manager/expected/post_Transaction-iso-05-delete.xml create mode 100644 tests/functionaltests/suites/manager/expected/post_Transaction-xxx-delete-all.xml create mode 100644 tests/functionaltests/suites/manager/post/Clear-000-delete-all.xml create mode 100644 tests/functionaltests/suites/manager/post/GetCapabilities.xml create mode 100644 tests/functionaltests/suites/manager/post/GetDomain-parameter.xml create mode 100644 tests/functionaltests/suites/manager/post/Transaction-000-delete-all.xml create mode 100644 tests/functionaltests/suites/manager/post/Transaction-dc-01-insert.xml create mode 100644 tests/functionaltests/suites/manager/post/Transaction-dc-02-update-full.xml create mode 100644 tests/functionaltests/suites/manager/post/Transaction-fgdc-01-insert.xml create mode 100644 tests/functionaltests/suites/manager/post/Transaction-fgdc-02-update-recprop.xml create mode 100644 tests/functionaltests/suites/manager/post/Transaction-fgdc-03-delete-all.xml create mode 100644 tests/functionaltests/suites/manager/post/Transaction-iso-00-delete-all.xml create mode 100644 tests/functionaltests/suites/manager/post/Transaction-iso-01-insert.xml create mode 100644 tests/functionaltests/suites/manager/post/Transaction-iso-02-update-full.xml create mode 100644 tests/functionaltests/suites/manager/post/Transaction-iso-03-update-recprop.xml create mode 100644 tests/functionaltests/suites/manager/post/Transaction-iso-04-update-recprop-no-matches.xml create mode 100644 tests/functionaltests/suites/manager/post/Transaction-iso-05-delete.xml create mode 100644 tests/functionaltests/suites/manager/post/Transaction-xxx-delete-all.xml create mode 100644 tests/functionaltests/suites/oaipmh/default.cfg create mode 100644 tests/functionaltests/suites/oaipmh/expected/get_GetRecord_bad_metadata_prefix.xml create mode 100644 tests/functionaltests/suites/oaipmh/expected/get_GetRecord_dc.xml create mode 100644 tests/functionaltests/suites/oaipmh/expected/get_GetRecord_iso.xml create mode 100644 tests/functionaltests/suites/oaipmh/expected/get_GetRecord_oai_dc.xml create mode 100644 tests/functionaltests/suites/oaipmh/expected/get_Identify.xml create mode 100644 tests/functionaltests/suites/oaipmh/expected/get_ListIdentifiers_bad_metadata_prefix.xml create mode 100644 tests/functionaltests/suites/oaipmh/expected/get_ListIdentifiers_dc.xml create mode 100644 tests/functionaltests/suites/oaipmh/expected/get_ListIdentifiers_iso.xml create mode 100644 tests/functionaltests/suites/oaipmh/expected/get_ListIdentifiers_missing_metadata_prefix.xml create mode 100644 tests/functionaltests/suites/oaipmh/expected/get_ListIdentifiers_oai_dc.xml create mode 100644 tests/functionaltests/suites/oaipmh/expected/get_ListMetadataFormats.xml create mode 100644 tests/functionaltests/suites/oaipmh/expected/get_ListRecords_dc.xml create mode 100644 tests/functionaltests/suites/oaipmh/expected/get_ListRecords_dc_bad_metadata_prefix.xml create mode 100644 tests/functionaltests/suites/oaipmh/expected/get_ListRecords_iso19139.xml create mode 100644 tests/functionaltests/suites/oaipmh/expected/get_ListRecords_oai_dc.xml create mode 100644 tests/functionaltests/suites/oaipmh/expected/get_ListSets.xml create mode 100644 tests/functionaltests/suites/oaipmh/expected/get_bad_verb.xml create mode 100644 tests/functionaltests/suites/oaipmh/expected/get_empty.xml create mode 100644 tests/functionaltests/suites/oaipmh/expected/get_empty_with_amp.xml create mode 100644 tests/functionaltests/suites/oaipmh/expected/get_illegal_verb.xml create mode 100644 tests/functionaltests/suites/oaipmh/get/requests.txt create mode 100644 tests/functionaltests/suites/repofilter/default.cfg create mode 100644 tests/functionaltests/suites/repofilter/expected/post_GetRecordById-masked.xml create mode 100644 tests/functionaltests/suites/repofilter/expected/post_GetRecords-all.xml create mode 100644 tests/functionaltests/suites/repofilter/post/GetRecordById-masked.xml create mode 100644 tests/functionaltests/suites/repofilter/post/GetRecords-all.xml create mode 100644 tests/functionaltests/suites/sru/default.cfg create mode 100644 tests/functionaltests/suites/sru/expected/get_explain.xml create mode 100644 tests/functionaltests/suites/sru/expected/get_search.xml create mode 100644 tests/functionaltests/suites/sru/expected/get_search_cql.xml create mode 100644 tests/functionaltests/suites/sru/expected/get_search_maxrecords.xml create mode 100644 tests/functionaltests/suites/sru/expected/get_search_startrecord_maxrecords.xml create mode 100644 tests/functionaltests/suites/sru/get/requests.txt create mode 100644 tests/functionaltests/suites/utf-8/default.cfg create mode 100644 tests/functionaltests/suites/utf-8/expected/post_GetCapabilities.xml create mode 100644 tests/functionaltests/suites/utf-8/post/GetCapabilities.xml diff --git a/tests/functionaltests/suites/apiso-inspire/default.cfg b/tests/functionaltests/suites/apiso-inspire/default.cfg new file mode 100644 index 000000000..a72121449 --- /dev/null +++ b/tests/functionaltests/suites/apiso-inspire/default.cfg @@ -0,0 +1,91 @@ +# ================================================================= +# +# Authors: Tom Kralidis +# +# Copyright (c) 2011 Tom Kralidis +# +# Permission is hereby granted, free of charge, to any person +# obtaining a copy of this software and associated documentation +# files (the "Software"), to deal in the Software without +# restriction, including without limitation the rights to use, +# copy, modify, merge, publish, distribute, sublicense, and/or sell +# copies of the Software, and to permit persons to whom the +# Software is furnished to do so, subject to the following +# conditions: +# +# The above copyright notice and this permission notice shall be +# included in all copies or substantial portions of the Software. +# +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +# EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES +# OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +# NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT +# HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, +# WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR +# OTHER DEALINGS IN THE SOFTWARE. +# +# ================================================================= + +[server] +home=. +url=http://localhost/pycsw/csw.py?config=tests/suites/apiso-inspire/default.cfg +mimetype=application/xml; charset=UTF-8 +encoding=UTF-8 +language=en-US +maxrecords=10 +#loglevel=DEBUG +#logfile=/tmp/pycsw.log +#ogc_schemas_base=http://foo +federatedcatalogues=http://geo.data.gov/geoportal/csw/discovery +pretty_print=true +#gzip_compresslevel=8 +#spatial_ranking=true +profiles=apiso + +[manager] +transactions=false +allowed_ips=127.0.0.1 + +[metadata:main] +identification_title=pycsw Geospatial Catalogue +identification_abstract=pycsw is an OGC CSW server implementation written in Python +identification_keywords=catalogue,discovery +identification_keywords_type=theme +identification_fees=None +identification_accessconstraints=None +provider_name=pycsw +provider_url=http://pycsw.org/ +contact_name=Kralidis, Tom +contact_position=Senior Systems Scientist +contact_address=TBA +contact_city=Toronto +contact_stateorprovince=Ontario +contact_postalcode=M9C 3Z9 +contact_country=Canada +contact_phone=+01-416-xxx-xxxx +contact_fax=+01-416-xxx-xxxx +contact_email=tomkralidis@gmail.com +contact_url=http://kralidis.ca/ +contact_hours=0800h - 1600h EST +contact_instructions=During hours of service. Off on weekends. +contact_role=pointOfContact + +[repository] +# sqlite +database=sqlite:///tests/suites/cite/data/records.db +# postgres +#database=postgres://username:password@localhost/pycsw +table=records + +[metadata:inspire] +enabled=true +languages_supported=eng,gre +default_language=eng +date=2011-03-29 +gemet_keywords=Utility and governmental services +conformity_service=notEvaluated +contact_name=National Technical University of Athens +contact_email=tzotsos@gmail.com +temp_extent=2011-02-01/2011-03-30 + diff --git a/tests/functionaltests/suites/apiso-inspire/expected/get_GetCapabilities-lang.xml b/tests/functionaltests/suites/apiso-inspire/expected/get_GetCapabilities-lang.xml new file mode 100644 index 000000000..6ecec21c6 --- /dev/null +++ b/tests/functionaltests/suites/apiso-inspire/expected/get_GetCapabilities-lang.xml @@ -0,0 +1,375 @@ + + + + + pycsw Geospatial Catalogue + pycsw is an OGC CSW server implementation written in Python + + catalogue + discovery + theme + + CSW + 2.0.2 + 3.0.0 + None + None + + + pycsw + + + Kralidis, Tom + Senior Systems Scientist + + + +01-416-xxx-xxxx + +01-416-xxx-xxxx + + + TBA + Toronto + Ontario + M9C 3Z9 + Canada + tomkralidis@gmail.com + + + 0800h - 1600h EST + During hours of service. Off on weekends. + + pointOfContact + + + + + + + + + + + + Filter_Capabilities + OperationsMetadata + ServiceIdentification + ServiceProvider + + + + + + + + + + + application/json + application/xml + + + http://www.w3.org/2001/XMLSchema + http://www.w3.org/TR/xmlschema-1/ + http://www.w3.org/XML/Schema + + + csw:Record + gmd:MD_Metadata + + + + + + + + + + + DescribeRecord.outputFormat + DescribeRecord.schemaLanguage + DescribeRecord.typeName + GetCapabilities.sections + GetRecordById.ElementSetName + GetRecordById.outputFormat + GetRecordById.outputSchema + GetRecords.CONSTRAINTLANGUAGE + GetRecords.ElementSetName + GetRecords.outputFormat + GetRecords.outputSchema + GetRecords.resultType + GetRecords.typeNames + + + + + + + + + + + CQL_TEXT + FILTER + + + brief + full + summary + + + application/json + application/xml + + + http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ + http://www.interlis.ch/INTERLIS2.3 + http://www.isotc211.org/2005/gmd + http://www.opengis.net/cat/csw/2.0.2 + http://www.opengis.net/cat/csw/csdgm + http://www.w3.org/2005/Atom + + + hits + results + validate + + + csw:Record + gmd:MD_Metadata + + + apiso:AccessConstraints + apiso:Classification + apiso:ConditionApplyingToAccessAndUse + apiso:Contributor + apiso:Creator + apiso:Degree + apiso:Lineage + apiso:OtherConstraints + apiso:Publisher + apiso:Relation + apiso:ResponsiblePartyRole + apiso:SpecificationDate + apiso:SpecificationDateType + apiso:SpecificationTitle + + + csw:AnyText + dc:contributor + dc:creator + dc:date + dc:format + dc:identifier + dc:language + dc:publisher + dc:relation + dc:rights + dc:source + dc:subject + dc:title + dc:type + dct:abstract + dct:modified + ows:BoundingBox + + + apiso:Abstract + apiso:AlternateTitle + apiso:AnyText + apiso:BoundingBox + apiso:CRS + apiso:CouplingType + apiso:CreationDate + apiso:Denominator + apiso:DistanceUOM + apiso:DistanceValue + apiso:Format + apiso:GeographicDescriptionCode + apiso:HasSecurityConstraints + apiso:Identifier + apiso:KeywordType + apiso:Language + apiso:Modified + apiso:OperatesOn + apiso:OperatesOnIdentifier + apiso:OperatesOnName + apiso:Operation + apiso:OrganisationName + apiso:ParentIdentifier + apiso:PublicationDate + apiso:ResourceLanguage + apiso:RevisionDate + apiso:ServiceType + apiso:ServiceTypeVersion + apiso:Subject + apiso:TempExtent_begin + apiso:TempExtent_end + apiso:Title + apiso:TopicCategory + apiso:Type + + + + + + + + + + + brief + full + summary + + + application/json + application/xml + + + http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ + http://www.interlis.ch/INTERLIS2.3 + http://www.isotc211.org/2005/gmd + http://www.opengis.net/cat/csw/2.0.2 + http://www.opengis.net/cat/csw/csdgm + http://www.w3.org/2005/Atom + + + + + + + + + + + CSW + + + 2.0.2 + 3.0.0 + + + http://geo.data.gov/geoportal/csw/discovery + + + 10 + + + XML + SOAP + + + allowed + + + + http://localhost/pycsw/csw.py?config=tests/suites/apiso-inspire/default.cfg&service=CSW&version=2.0.2&request=GetCapabilities + application/xml + + service + + + + 2011-02-01 + 2011-03-30 + + + + + + COMMISSION REGULATION (EU) No 1089/2010 of 23 November 2010 implementing Directive 2007/2/EC of the European Parliament and of the Council as regards interoperability of spatial data sets and services + 2010-12-08 + OJ:L:2010:323:0011:0102:EN:PDF + + http://eur-lex.europa.eu/LexUriServ/LexUriServ.do?uri=OJ:L:2010:323:0011:0102:EN:PDF + application/pdf + + + notEvaluated + + + National Technical University of Athens + tzotsos@gmail.com + + 2011-03-29 + discovery + + infoCatalogueService + + + + GEMET - INSPIRE themes + 2008-06-01 + + Utility and governmental services + + + + eng + + + eng + + + gre + + + + eng + + + + + + + gml:Point + gml:LineString + gml:Polygon + gml:Envelope + + + + + + + + + + + + + + + + + + + Between + EqualTo + GreaterThan + GreaterThanEqualTo + LessThan + LessThanEqualTo + Like + NotEqualTo + NullCheck + + + + + length + lower + ltrim + rtrim + trim + upper + + + + + + + + + + diff --git a/tests/functionaltests/suites/apiso-inspire/expected/get_GetCapabilities.xml b/tests/functionaltests/suites/apiso-inspire/expected/get_GetCapabilities.xml new file mode 100644 index 000000000..6ecec21c6 --- /dev/null +++ b/tests/functionaltests/suites/apiso-inspire/expected/get_GetCapabilities.xml @@ -0,0 +1,375 @@ + + + + + pycsw Geospatial Catalogue + pycsw is an OGC CSW server implementation written in Python + + catalogue + discovery + theme + + CSW + 2.0.2 + 3.0.0 + None + None + + + pycsw + + + Kralidis, Tom + Senior Systems Scientist + + + +01-416-xxx-xxxx + +01-416-xxx-xxxx + + + TBA + Toronto + Ontario + M9C 3Z9 + Canada + tomkralidis@gmail.com + + + 0800h - 1600h EST + During hours of service. Off on weekends. + + pointOfContact + + + + + + + + + + + + Filter_Capabilities + OperationsMetadata + ServiceIdentification + ServiceProvider + + + + + + + + + + + application/json + application/xml + + + http://www.w3.org/2001/XMLSchema + http://www.w3.org/TR/xmlschema-1/ + http://www.w3.org/XML/Schema + + + csw:Record + gmd:MD_Metadata + + + + + + + + + + + DescribeRecord.outputFormat + DescribeRecord.schemaLanguage + DescribeRecord.typeName + GetCapabilities.sections + GetRecordById.ElementSetName + GetRecordById.outputFormat + GetRecordById.outputSchema + GetRecords.CONSTRAINTLANGUAGE + GetRecords.ElementSetName + GetRecords.outputFormat + GetRecords.outputSchema + GetRecords.resultType + GetRecords.typeNames + + + + + + + + + + + CQL_TEXT + FILTER + + + brief + full + summary + + + application/json + application/xml + + + http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ + http://www.interlis.ch/INTERLIS2.3 + http://www.isotc211.org/2005/gmd + http://www.opengis.net/cat/csw/2.0.2 + http://www.opengis.net/cat/csw/csdgm + http://www.w3.org/2005/Atom + + + hits + results + validate + + + csw:Record + gmd:MD_Metadata + + + apiso:AccessConstraints + apiso:Classification + apiso:ConditionApplyingToAccessAndUse + apiso:Contributor + apiso:Creator + apiso:Degree + apiso:Lineage + apiso:OtherConstraints + apiso:Publisher + apiso:Relation + apiso:ResponsiblePartyRole + apiso:SpecificationDate + apiso:SpecificationDateType + apiso:SpecificationTitle + + + csw:AnyText + dc:contributor + dc:creator + dc:date + dc:format + dc:identifier + dc:language + dc:publisher + dc:relation + dc:rights + dc:source + dc:subject + dc:title + dc:type + dct:abstract + dct:modified + ows:BoundingBox + + + apiso:Abstract + apiso:AlternateTitle + apiso:AnyText + apiso:BoundingBox + apiso:CRS + apiso:CouplingType + apiso:CreationDate + apiso:Denominator + apiso:DistanceUOM + apiso:DistanceValue + apiso:Format + apiso:GeographicDescriptionCode + apiso:HasSecurityConstraints + apiso:Identifier + apiso:KeywordType + apiso:Language + apiso:Modified + apiso:OperatesOn + apiso:OperatesOnIdentifier + apiso:OperatesOnName + apiso:Operation + apiso:OrganisationName + apiso:ParentIdentifier + apiso:PublicationDate + apiso:ResourceLanguage + apiso:RevisionDate + apiso:ServiceType + apiso:ServiceTypeVersion + apiso:Subject + apiso:TempExtent_begin + apiso:TempExtent_end + apiso:Title + apiso:TopicCategory + apiso:Type + + + + + + + + + + + brief + full + summary + + + application/json + application/xml + + + http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ + http://www.interlis.ch/INTERLIS2.3 + http://www.isotc211.org/2005/gmd + http://www.opengis.net/cat/csw/2.0.2 + http://www.opengis.net/cat/csw/csdgm + http://www.w3.org/2005/Atom + + + + + + + + + + + CSW + + + 2.0.2 + 3.0.0 + + + http://geo.data.gov/geoportal/csw/discovery + + + 10 + + + XML + SOAP + + + allowed + + + + http://localhost/pycsw/csw.py?config=tests/suites/apiso-inspire/default.cfg&service=CSW&version=2.0.2&request=GetCapabilities + application/xml + + service + + + + 2011-02-01 + 2011-03-30 + + + + + + COMMISSION REGULATION (EU) No 1089/2010 of 23 November 2010 implementing Directive 2007/2/EC of the European Parliament and of the Council as regards interoperability of spatial data sets and services + 2010-12-08 + OJ:L:2010:323:0011:0102:EN:PDF + + http://eur-lex.europa.eu/LexUriServ/LexUriServ.do?uri=OJ:L:2010:323:0011:0102:EN:PDF + application/pdf + + + notEvaluated + + + National Technical University of Athens + tzotsos@gmail.com + + 2011-03-29 + discovery + + infoCatalogueService + + + + GEMET - INSPIRE themes + 2008-06-01 + + Utility and governmental services + + + + eng + + + eng + + + gre + + + + eng + + + + + + + gml:Point + gml:LineString + gml:Polygon + gml:Envelope + + + + + + + + + + + + + + + + + + + Between + EqualTo + GreaterThan + GreaterThanEqualTo + LessThan + LessThanEqualTo + Like + NotEqualTo + NullCheck + + + + + length + lower + ltrim + rtrim + trim + upper + + + + + + + + + + diff --git a/tests/functionaltests/suites/apiso-inspire/get/requests.txt b/tests/functionaltests/suites/apiso-inspire/get/requests.txt new file mode 100644 index 000000000..09816a219 --- /dev/null +++ b/tests/functionaltests/suites/apiso-inspire/get/requests.txt @@ -0,0 +1,2 @@ +GetCapabilities,service=CSW&version=2.0.2&request=GetCapabilities +GetCapabilities-lang,service=CSW&version=2.0.2&request=GetCapabilities&lang=gre diff --git a/tests/functionaltests/suites/apiso/data/3e9a8c05.xml b/tests/functionaltests/suites/apiso/data/3e9a8c05.xml new file mode 100644 index 000000000..3635d7c8a --- /dev/null +++ b/tests/functionaltests/suites/apiso/data/3e9a8c05.xml @@ -0,0 +1,248 @@ + + +3e9a8c05 + + +eng + + +service + + + + +NTUA + + + + + + +tzotsos@gmail.com + + + + + + +pointOfContact + + + + +2011-04-18 + + +ISO19115 + + +2003/Cor.1:2006 + + + + + + +test Title + + + + +2011-04-19 + + +creation + + + + + + +http://aiolos.survey.ntua.gr + + +ogc + + + + + + +test Abstract + + + + +NTUA + + + + + + +tzotsos@gmail.com + + + + + + +owner + + + + + + +Geographic viewer (humanGeographicViewer) + + + + + + +administration + + + + +GEMET Themes, version 2.3 + + + + +2011-04-18 + + +publication + + + + + + + + + + +Conditions unknown + + + + + + +no limitation + + + + + + + + +19.37 + + +29.61 + + +34.80 + + +41.75 + + + + + + + +2011-04-18 +2011-04-20 + + + + + + + +view + + + + + + + + + + + + + + + + + +http://aiolos.survey.ntua.gr/geoserver/wms + + + + + + + + + + + + +service + + + + + + + + +Conformity_001 + + +INSPIRE + + + + + + + + +Corrigendum to INSPIRE Metadata Regulation published in the Official Journal of the European Union, L 328, page 83 + + + + +2009-12-15 + + +publication + + + + + + +See the referenced specification + + +true + + + + + + + + diff --git a/tests/functionaltests/suites/apiso/data/README.txt b/tests/functionaltests/suites/apiso/data/README.txt new file mode 100644 index 000000000..3dd817cbc --- /dev/null +++ b/tests/functionaltests/suites/apiso/data/README.txt @@ -0,0 +1,7 @@ +APISO Data +========== + +This directory provides data used to check conformance against pycsw APISO support. + +- pacioos-NS06agg.xml: http://oos.soest.hawaii.edu/pacioos/metadata/NS06agg.html +- all other *.xml files are from the Greek National Mapping Agency (metadata submitted to the INSPIRE geoportal) diff --git a/tests/functionaltests/suites/apiso/data/T_aerfo_RAS_1991_GR800P001800000012.xml b/tests/functionaltests/suites/apiso/data/T_aerfo_RAS_1991_GR800P001800000012.xml new file mode 100644 index 000000000..701c3d9a2 --- /dev/null +++ b/tests/functionaltests/suites/apiso/data/T_aerfo_RAS_1991_GR800P001800000012.xml @@ -0,0 +1,37 @@ + + + 366f6257-19eb-4f20-ba78-0698ac4aae77 + eng + dataset + YPAATypaat@ypaat.grpointOfContact + 2009-10-09 +ISO19115 +2003/Cor.1:2006 + + + + + Aerial Photos + 2009-10-09creation + 366f6257-19eb-4f20-ba78-0698ac4aae77 + T_aerfo_RAS_1991_GR800P001800000012.tif + + + Aerial Photos +YPAATypaat@ypaat.growner + OrthoimageryGEMET - INSPIRE themes, version 1.02008-06-01publication + no conditions apply + otherRestrictionsno limitations + eng + geoscientificInformation + 20.0024.0038.0040.00 + 2009-10-092009-10-09 + + +http://www.ypaat.gr + +dataset +Conformity_001INSPIREINSPIRE2008-05-15publicationSee the referenced specificationtrue +test + + diff --git a/tests/functionaltests/suites/apiso/data/T_aerfo_RAS_1991_GR800P001800000013.xml b/tests/functionaltests/suites/apiso/data/T_aerfo_RAS_1991_GR800P001800000013.xml new file mode 100644 index 000000000..e91a4cc55 --- /dev/null +++ b/tests/functionaltests/suites/apiso/data/T_aerfo_RAS_1991_GR800P001800000013.xml @@ -0,0 +1,37 @@ + + + 75a7eb5e-336e-453d-ab06-209b1070d396 + eng + dataset + YPAATypaat@ypaat.grpointOfContact + 2009-10-09 +ISO19115 +2003/Cor.1:2006 + + + + + Aerial Photos + 2009-10-09creation + 75a7eb5e-336e-453d-ab06-209b1070d396 + T_aerfo_RAS_1991_GR800P001800000013.tif + + + Aerial Photos +YPAATypaat@ypaat.growner + OrthoimageryGEMET - INSPIRE themes, version 1.02008-06-01publication + no conditions apply + otherRestrictionsno limitations + eng + geoscientificInformation + 20.0024.0038.0040.00 + 2009-10-092009-10-09 + + +http://www.ypaat.gr + +dataset +Conformity_001INSPIREINSPIRE2008-05-15publicationSee the referenced specificationtrue +test + + diff --git a/tests/functionaltests/suites/apiso/data/T_aerfo_RAS_1991_GR800P001800000014.xml b/tests/functionaltests/suites/apiso/data/T_aerfo_RAS_1991_GR800P001800000014.xml new file mode 100644 index 000000000..88b35f749 --- /dev/null +++ b/tests/functionaltests/suites/apiso/data/T_aerfo_RAS_1991_GR800P001800000014.xml @@ -0,0 +1,37 @@ + + + a7308c0a-b748-48e2-bab7-0a608a51d416 + eng + dataset + YPAATypaat@ypaat.grpointOfContact + 2009-10-09 +ISO19115 +2003/Cor.1:2006 + + + + + Aerial Photos + 2009-10-09creation + a7308c0a-b748-48e2-bab7-0a608a51d416 + T_aerfo_RAS_1991_GR800P001800000014.tif + + + Aerial Photos +YPAATypaat@ypaat.growner + OrthoimageryGEMET - INSPIRE themes, version 1.02008-06-01publication + no conditions apply + otherRestrictionsno limitations + eng + geoscientificInformation + 20.0024.0038.0040.00 + 2009-10-092009-10-09 + + +http://www.ypaat.gr + +dataset +Conformity_001INSPIREINSPIRE2008-05-15publicationSee the referenced specificationtrue +test + + diff --git a/tests/functionaltests/suites/apiso/data/T_aerfo_RAS_1991_GR800P001800000015.xml b/tests/functionaltests/suites/apiso/data/T_aerfo_RAS_1991_GR800P001800000015.xml new file mode 100644 index 000000000..603fb0c5b --- /dev/null +++ b/tests/functionaltests/suites/apiso/data/T_aerfo_RAS_1991_GR800P001800000015.xml @@ -0,0 +1,37 @@ + + + 0173e0d7-6ea9-4407-b846-f29d6bfa9903 + eng + dataset + YPAATypaat@ypaat.grpointOfContact + 2009-10-09 +ISO19115 +2003/Cor.1:2006 + + + + + Aerial Photos + 2009-10-09creation + 0173e0d7-6ea9-4407-b846-f29d6bfa9903 + T_aerfo_RAS_1991_GR800P001800000015.tif + + + Aerial Photos +YPAATypaat@ypaat.growner + OrthoimageryGEMET - INSPIRE themes, version 1.02008-06-01publication + no conditions apply + otherRestrictionsno limitations + eng + geoscientificInformation + 20.0024.0038.0040.00 + 2009-10-092009-10-09 + + +http://www.ypaat.gr + +dataset +Conformity_001INSPIREINSPIRE2008-05-15publicationSee the referenced specificationtrue +test + + diff --git a/tests/functionaltests/suites/apiso/data/T_ortho_RAS_1998_284404.xml b/tests/functionaltests/suites/apiso/data/T_ortho_RAS_1998_284404.xml new file mode 100644 index 000000000..f9c584c34 --- /dev/null +++ b/tests/functionaltests/suites/apiso/data/T_ortho_RAS_1998_284404.xml @@ -0,0 +1,37 @@ + + + de53e931-778a-4792-94ad-9fe507aca483 + eng + dataset + YPAATypaat@ypaat.grpointOfContact + 2009-10-07 +ISO19115 +2003/Cor.1:2006 + + + + + Ortho + 2000-01-01publication + de53e931-778a-4792-94ad-9fe507aca483 + T_ortho_RAS_1998_284404.tif + + + Ortho +YPAATypaat@ypaat.growner + OrthoimageryGEMET - INSPIRE themes, version 1.02008-06-01publication + no conditions apply + otherRestrictionsno limitations + 5000 + eng + geoscientificInformation + 21.47878421.52731739.7600139.790341 + 1997-01-011999-01-01 + + +http://www.ypaat.gr + +dataset +test + + diff --git a/tests/functionaltests/suites/apiso/data/T_ortho_RAS_1998_288395.xml b/tests/functionaltests/suites/apiso/data/T_ortho_RAS_1998_288395.xml new file mode 100644 index 000000000..c9328b797 --- /dev/null +++ b/tests/functionaltests/suites/apiso/data/T_ortho_RAS_1998_288395.xml @@ -0,0 +1,37 @@ + + + 4a5109d7-9ce5-4197-a423-b5fa8c426dee + eng + dataset + YPAATypaat@ypaat.grpointOfContact + 2009-10-07 +ISO19115 +2003/Cor.1:2006 + + + + + Ortho + 2000-01-01publication + 4a5109d7-9ce5-4197-a423-b5fa8c426dee + T_ortho_RAS_1998_288395.tif + + + Ortho +YPAATypaat@ypaat.growner + OrthoimageryGEMET - INSPIRE themes, version 1.02008-06-01publication + no conditions apply + otherRestrictionsno limitations + 5000 + eng + geoscientificInformation + 21.52833321.57683439.67999939.710309 + 1997-01-011999-01-01 + + +http://www.ypaat.gr + +dataset +test + + diff --git a/tests/functionaltests/suites/apiso/data/T_ortho_RAS_1998_288398.xml b/tests/functionaltests/suites/apiso/data/T_ortho_RAS_1998_288398.xml new file mode 100644 index 000000000..2b40aa4ba --- /dev/null +++ b/tests/functionaltests/suites/apiso/data/T_ortho_RAS_1998_288398.xml @@ -0,0 +1,37 @@ + + + 5f37e0f8-4fb1-4637-b959-b415058bdb68 + eng + dataset + YPAATypaat@ypaat.grpointOfContact + 2009-10-07 +ISO19115 +2003/Cor.1:2006 + + + + + Ortho + 2000-01-01publication + 5f37e0f8-4fb1-4637-b959-b415058bdb68 + T_ortho_RAS_1998_288398.tif + + + Ortho +YPAATypaat@ypaat.growner + OrthoimageryGEMET - INSPIRE themes, version 1.02008-06-01publication + no conditions apply + otherRestrictionsno limitations + 5000 + eng + geoscientificInformation + 21.52736921.57588839.70700439.737315 + 1997-01-011999-01-01 + + +http://www.ypaat.gr + +dataset +test + + diff --git a/tests/functionaltests/suites/apiso/data/T_ortho_RAS_1998_288401.xml b/tests/functionaltests/suites/apiso/data/T_ortho_RAS_1998_288401.xml new file mode 100644 index 000000000..7cab9fab2 --- /dev/null +++ b/tests/functionaltests/suites/apiso/data/T_ortho_RAS_1998_288401.xml @@ -0,0 +1,37 @@ + + + f99cc358-f379-4e79-ab1e-cb2f7709f594 + eng + dataset + YPAATypaat@ypaat.grpointOfContact + 2009-10-07 +ISO19115 +2003/Cor.1:2006 + + + + + Ortho + 2000-01-01publication + f99cc358-f379-4e79-ab1e-cb2f7709f594 + T_ortho_RAS_1998_288401.tif + + + Ortho +YPAATypaat@ypaat.growner + OrthoimageryGEMET - INSPIRE themes, version 1.02008-06-01publication + no conditions apply + otherRestrictionsno limitations + 5000 + eng + geoscientificInformation + 21.52640421.57494139.73400939.764321 + 1997-01-011999-01-01 + + +http://www.ypaat.gr + +dataset +test + + diff --git a/tests/functionaltests/suites/apiso/data/T_ortho_RAS_1998_288404.xml b/tests/functionaltests/suites/apiso/data/T_ortho_RAS_1998_288404.xml new file mode 100644 index 000000000..eaa38230a --- /dev/null +++ b/tests/functionaltests/suites/apiso/data/T_ortho_RAS_1998_288404.xml @@ -0,0 +1,37 @@ + + + ae200a05-2800-40b8-b85d-8f8d007b9e30 + eng + dataset + YPAATypaat@ypaat.grpointOfContact + 2009-10-07 +ISO19115 +2003/Cor.1:2006 + + + + + Ortho + 2000-01-01publication + ae200a05-2800-40b8-b85d-8f8d007b9e30 + T_ortho_RAS_1998_288404.tif + + + Ortho +YPAATypaat@ypaat.growner + OrthoimageryGEMET - INSPIRE themes, version 1.02008-06-01publication + no conditions apply + otherRestrictionsno limitations + 5000 + eng + geoscientificInformation + 21.52543721.57399239.76101539.791327 + 1997-01-011999-01-01 + + +http://www.ypaat.gr + +dataset +test + + diff --git a/tests/functionaltests/suites/apiso/data/T_pmoed_DTM_1996_276395.xml b/tests/functionaltests/suites/apiso/data/T_pmoed_DTM_1996_276395.xml new file mode 100644 index 000000000..30c75bbac --- /dev/null +++ b/tests/functionaltests/suites/apiso/data/T_pmoed_DTM_1996_276395.xml @@ -0,0 +1,37 @@ + + + a2744b0c-becd-426a-95a8-46e9850ccc6d + eng + dataset + YPAATypaat@ypaat.grpointOfContact + 2009-10-07 +ISO19115 +2003/Cor.1:2006 + + + + + DTM + 2009-10-07creation + a2744b0c-becd-426a-95a8-46e9850ccc6d + T_pmoed_DTM_1996_276395.tif + + + DTM +YPAATypaat@ypaat.growner + ElevationGEMET - INSPIRE themes, version 1.02008-06-01publication + no conditions apply + otherRestrictionsno limitations + 5000 + eng + elevation + 19.0030.0034.0042.00 + 2009-10-072009-10-07 + + +http://www.ypaat.gr + +dataset +test + + diff --git a/tests/functionaltests/suites/apiso/data/T_pmoed_DTM_1996_276398.xml b/tests/functionaltests/suites/apiso/data/T_pmoed_DTM_1996_276398.xml new file mode 100644 index 000000000..29dfd6399 --- /dev/null +++ b/tests/functionaltests/suites/apiso/data/T_pmoed_DTM_1996_276398.xml @@ -0,0 +1,37 @@ + + + 0dc824a6-b555-46c1-bd7b-bc66cb91a70f + eng + dataset + YPAATypaat@ypaat.grpointOfContact + 2009-10-07 +ISO19115 +2003/Cor.1:2006 + + + + + DTM + 2009-10-07creation + 0dc824a6-b555-46c1-bd7b-bc66cb91a70f + T_pmoed_DTM_1996_276398.tif + + + DTM +YPAATypaat@ypaat.growner + ElevationGEMET - INSPIRE themes, version 1.02008-06-01publication + no conditions apply + otherRestrictionsno limitations + 5000 + eng + elevation + 19.0030.0034.0042.00 + 2009-10-072009-10-07 + + +http://www.ypaat.gr + +dataset +test + + diff --git a/tests/functionaltests/suites/apiso/data/T_pmoed_DTM_1996_276401.xml b/tests/functionaltests/suites/apiso/data/T_pmoed_DTM_1996_276401.xml new file mode 100644 index 000000000..22d507920 --- /dev/null +++ b/tests/functionaltests/suites/apiso/data/T_pmoed_DTM_1996_276401.xml @@ -0,0 +1,37 @@ + + + 42c8e55a-2bf6-476d-a7c9-be3bcd697f13 + eng + dataset + YPAATypaat@ypaat.grpointOfContact + 2009-10-07 +ISO19115 +2003/Cor.1:2006 + + + + + DTM + 2009-10-07creation + 42c8e55a-2bf6-476d-a7c9-be3bcd697f13 + T_pmoed_DTM_1996_276401.tif + + + DTM +YPAATypaat@ypaat.growner + ElevationGEMET - INSPIRE themes, version 1.02008-06-01publication + no conditions apply + otherRestrictionsno limitations + 5000 + eng + elevation + 19.0030.0034.0042.00 + 2009-10-072009-10-07 + + +http://www.ypaat.gr + +dataset +test + + diff --git a/tests/functionaltests/suites/apiso/data/T_pmoed_DTM_1996_276404.xml b/tests/functionaltests/suites/apiso/data/T_pmoed_DTM_1996_276404.xml new file mode 100644 index 000000000..1bdc099d5 --- /dev/null +++ b/tests/functionaltests/suites/apiso/data/T_pmoed_DTM_1996_276404.xml @@ -0,0 +1,37 @@ + + + c3bf29d4-d60a-4959-a415-2c03fb0d4aef + eng + dataset + YPAATypaat@ypaat.grpointOfContact + 2009-10-07 +ISO19115 +2003/Cor.1:2006 + + + + + DTM + 2009-10-07creation + c3bf29d4-d60a-4959-a415-2c03fb0d4aef + T_pmoed_DTM_1996_276404.tif + + + DTM +YPAATypaat@ypaat.growner + ElevationGEMET - INSPIRE themes, version 1.02008-06-01publication + no conditions apply + otherRestrictionsno limitations + 5000 + eng + elevation + 19.0030.0034.0042.00 + 2009-10-072009-10-07 + + +http://www.ypaat.gr + +dataset +test + + diff --git a/tests/functionaltests/suites/apiso/data/T_pmoed_DTM_1996_280395.xml b/tests/functionaltests/suites/apiso/data/T_pmoed_DTM_1996_280395.xml new file mode 100644 index 000000000..422ca581c --- /dev/null +++ b/tests/functionaltests/suites/apiso/data/T_pmoed_DTM_1996_280395.xml @@ -0,0 +1,37 @@ + + + b8cc2388-5d0a-43d8-9473-0e86dd0396da + eng + dataset + YPAATypaat@ypaat.grpointOfContact + 2009-10-07 +ISO19115 +2003/Cor.1:2006 + + + + + DTM + 2009-10-07creation + b8cc2388-5d0a-43d8-9473-0e86dd0396da + T_pmoed_DTM_1996_280395.tif + + + DTM +YPAATypaat@ypaat.growner + ElevationGEMET - INSPIRE themes, version 1.02008-06-01publication + no conditions apply + otherRestrictionsno limitations + 5000 + eng + elevation + 19.0030.0034.0042.00 + 2009-10-072009-10-07 + + +http://www.ypaat.gr + +dataset +test + + diff --git a/tests/functionaltests/suites/apiso/data/pacioos-NS06agg.xml b/tests/functionaltests/suites/apiso/data/pacioos-NS06agg.xml new file mode 100644 index 000000000..5d9636487 --- /dev/null +++ b/tests/functionaltests/suites/apiso/data/pacioos-NS06agg.xml @@ -0,0 +1,1182 @@ + + + + NS06agg + + + eng + + + UTF8 + + + dataset + + + service + + + + + Margaret McManus + + + University of Hawaii + + + + + + + mamc@hawaii.edu + + + + + + + http://www.soest.hawaii.edu/oceanography/faculty/mcmanus.html + + + http + + + web browser + + + + + + + + + information + + + + + + + pointOfContact + + + + + 2014-04-16 + + + ISO 19115-2 Geographic Information - Metadata Part 2 Extensions for imagery and gridded data + + + ISO 19115-2:2009(E) + + + + + 3 + + + + + column + + + 1 + + + 0.0 + + + + + + + row + + + 1 + + + 0.0 + + + + + + + temporal + + + 482760 + + + 252.0 + + + + + area + + + + + + + + + + PacIOOS Nearshore Sensor 06: Pohnpei, Micronesia + + + + + 2011-04-12 + + + creation + + + + + + + 2011-04-19 + + + issued + + + + + + + 2014-03-18 + + + revision + + + + + + + + + org.pacioos + + + + + + NS06agg + + + + + + + Margaret McManus + + + University of Hawaii + + + + + + + mamc@hawaii.edu + + + + + + + http://www.soest.hawaii.edu/oceanography/faculty/mcmanus.html + + + http + + + web browser + + + + + + + + + information + + + + + + + originator + + + + + + + Jim Potemra + + + + + distributor + + + + + Data produced by Dr. Margaret McManus (mamc@hawaii.edu). Point of contact: Gordon Walker (gwalker@hawaii.edu). + + + + + The nearshore sensors are part of the Pacific Islands Ocean Observing System (PacIOOS) and are designed to measure a variety of ocean parameters at fixed point locations. NS06 is located at the dock in Pohnpei lagoon and is mounted to the bottom in about 1 meter of water. The instrument is a Sea-Bird Electronics model 16+ V2 coupled with a WET Labs ECO-FLNTUS combination sensor. + + + PacIOOS provides timely, reliable, and accurate ocean information to support a safe, clean, productive ocean and resilient coastal zone in the U.S. Pacific Islands region. + + + The Pacific Islands Ocean Observing System (PacIOOS) is funded through the National Oceanic and Atmospheric Administration (NOAA) as a Regional Association within the U.S. Integrated Ocean Observing System (IOOS). PacIOOS is coordinated by the University of Hawaii School of Ocean and Earth Science and Technology (SOEST). + + + + + Margaret McManus + + + University of Hawaii + + + + + + + mamc@hawaii.edu + + + + + + + http://www.soest.hawaii.edu/oceanography/faculty/mcmanus.html + + + http + + + web browser + + + + + + + + + information + + + + + + + pointOfContact + + + + + + http://pacioos.org/metadata/browse/NS06agg.png + + Sample image. + + + + + + + Oceans > Ocean Chemistry > Chlorophyll + + + Oceans > Ocean Optics > Turbidity + + + Oceans > Ocean Temperature > Water Temperature + + + Oceans > Salinity/Density > Conductivity + + + Oceans > Salinity/Density > Salinity + + + Oceans > Water Quality + + + theme + + + + + GCMD Science Keywords + + + + + + + + + + Ocean &gt; Pacific Ocean &gt; Western Pacific Ocean &gt; Micronesia &gt; Federated States of Micronesia + + + Ocean &gt; Pacific Ocean &gt; United States of America &gt; Territories + + + Federated States of Micronesia &gt; Pohnpei &gt; Pohnpei Lagoon + + + place + + + + + GCMD Location Keywords + + + + + + + + + + Pacific Islands Ocean Observing System (PacIOOS) + + + project + + + + + GCMD Project Keywords + + + + + + + + + + Pacific Islands Ocean Observing System (PacIOOS) + + + dataCenter + + + + + GCMD Data Center Keywords + + + + + + + + + + sea_water_temperature + + + sea_water_electrical_conductivity + + + sea_water_turbidity + + + mass_concentration_of_chlorophyll_in_sea_water + + + sea_water_salinity + + + depth + + + latitude + + + longitude + + + time + + + theme + + + + + CF-1.4 + + + + + + + + + + The data may be used and redistributed for free but is not intended for legal use, since it may contain inaccuracies. Neither the data Contributor, University of Hawaii, PacIOOS, NOAA, State of Hawaii nor the United States Government, nor any of their employees or contractors, makes any warranty, express or implied, including warranties of merchantability and fitness for a particular purpose, or assumes any legal liability for the accuracy, completeness, or usefulness, of this information. + + + + + + + + + Pacific Islands Ocean Observing System (PacIOOS) + + + + + + largerWorkCitation + + + project + + + + + + + + + + + Unidata Common Data Model + + + + + + Point + + + + + largerWorkCitation + + + project + + + + + eng + + + climatologyMeteorologyAtmosphere + + + + + + + 1 + + + 158.22402954101562 + + + 158.22402954101562 + + + 6.955227375030518 + + + 6.955227375030518 + + + + + + + + seconds + 2010-05-07T00:00:00Z + 2014-03-17T23:56:00Z + + + + + + + + -1.0 + + + -1.0 + + + + + + + + + + + + + + PacIOOS Nearshore Sensor 06: Pohnpei, Micronesia + + + + + 2011-04-12 + + + creation + + + + + + + 2011-04-19 + + + issued + + + + + + + 2014-03-18 + + + revision + + + + + + + Margaret McManus + + + University of Hawaii + + + + + + + mamc@hawaii.edu + + + + + + + http://www.soest.hawaii.edu/oceanography/faculty/mcmanus.html + + + http + + + web browser + + + + + + + + + information + + + + + + + originator + + + + + + + Jim Potemra + + + + + distributor + + + + + + + The nearshore sensors are part of the Pacific Islands Ocean Observing System (PacIOOS) and are designed to measure a variety of ocean parameters at fixed point locations. NS06 is located at the dock in Pohnpei lagoon and is mounted to the bottom in about 1 meter of water. The instrument is a Sea-Bird Electronics model 16+ V2 coupled with a WET Labs ECO-FLNTUS combination sensor. + + + THREDDS OPeNDAP + + + + + + + 1 + + + 158.22402954101562 + + + 158.22402954101562 + + + 6.955227375030518 + + + 6.955227375030518 + + + + + + + + 2010-05-07T00:00:00Z + 2014-03-17T23:56:00Z + + + + + + + + -1.0 + + + -1.0 + + + + + + + + tight + + + + + OPeNDAP Client Access + + + + + + http://oos.soest.hawaii.edu/thredds/dodsC/pacioos/nss/ns06agg + + + OPeNDAP + + + THREDDS OPeNDAP + + + download + + + + + + + + + + + + + + + + + + temp + + + + + float + + + + + + + Temperature (sea_water_temperature) + + + + + + + + + + cond + + + + + float + + + + + + + Conductivity (sea_water_electrical_conductivity) + + + + + + + + + + turb + + + + + float + + + + + + + Turbidity (sea_water_turbidity) + + + + + + + + + + flor + + + + + float + + + + + + + Chlorophyll (mass_concentration_of_chlorophyll_in_sea_water) + + + + + + + + + + salt + + + + + float + + + + + + + Salinity (sea_water_salinity) + + + + + + + + + + z + + + + + float + + + + + + + depth below mean sea level (depth) + + + + + + + + + + lat + + + + + float + + + + + + + Latitude (latitude) + + + + + + + + + + lon + + + + + float + + + + + + + Longitude (longitude) + + + + + + + + + + time + + + + + float + + + + + + + Time (time) + + + + + + + + + + + + + + + Pacific Islands Ocean Observing System (PacIOOS) + + + + + + + jimp@hawaii.edu + + + + + + + http://pacioos.org + + + http + + + web browser + + + URL for the data publisher + + + This URL provides contact information for the publisher of this dataset + + + information + + + + + + + publisher + + + + + + + OPeNDAP + + + + + + + + + + http://oos.soest.hawaii.edu/thredds/idd/nss_pacioos.html?dataset=NS06agg + + + THREDDS Catalog + + + This URL provides a catalog page for this dataset within THREDDS Data Server (TDS). + + + download + + + + + + + + + + + http://oos.soest.hawaii.edu/thredds/dodsC/pacioos/nss/ns06agg.html + + + File Information + + + This URL provides a standard OPeNDAP html interface for selecting data from this dataset. Change the extension to .info for a description of the dataset. + + + download + + + + + + + + + + + http://pacioos.org/voyager/index.html?b=6.874279%2C158.077126%2C7.050468%2C158.369808&tz=pont&o=qual:2::p0NS06p1 + + + PacIOOS Voyager (Google Maps API) + + + This URL provides a viewer for this dataset. + + + download + + + + + + + + + + + http://oos.soest.hawaii.edu/dchart/index.html?dsetid=54cd0688ada08d86748b9c5762509f + + + DChart + + + This URL provides a viewer for this dataset. + + + download + + + + + + + + + + + http://oos.soest.hawaii.edu/erddap/tabledap/nss06_agg.graph?time%2Ctemperature&.draw=lines + + + ERDDAP + + + This URL provides a viewer for this dataset. + + + download + + + + + + + + + + + http://pacioos.org/focus/waterquality/wq_fsm.php + + + PacIOOS Water Quality Platforms: FSM + + + This URL provides a viewer for this dataset. + + + download + + + + + + + + + + + + + + + dataset + + + + + + + UH/SOEST (M. McManus), PacIOOS asset (05/2010) + + + + + + + + + + This record was translated from NcML using UnidataDD2MI.xsl Version 2.3 + + + + diff --git a/tests/functionaltests/suites/apiso/data/test.xml b/tests/functionaltests/suites/apiso/data/test.xml new file mode 100644 index 000000000..d492ed7a7 --- /dev/null +++ b/tests/functionaltests/suites/apiso/data/test.xml @@ -0,0 +1,39 @@ + + + 437ae0a2-06e2-4015-b296-a66e7f407bf2 + eng + dataset + YPAATypaat@ypaat.grpointOfContact + NTUAtzotsos@gmail.compointOfContact + 2009-10-09 +ISO19115 +2003/Cor.1:2006 + + + + + Aerial Photos + 2009-10-09creation + 437ae0a2-06e2-4015-b296-a66e7f407bf2 + T_aerfo_RAS_1991_GR800P001800000011.tif + + + Aerial Photos +YPAATypaat@ypaat.growner +NTUAtzotsos@hotmail.comuser + OrthoimageryGEMET - INSPIRE themes, version 1.02008-06-01publication + no conditions apply + otherRestrictionsno limitations + eng + geoscientificInformation + 20.0038.0024.0040.00 + 2009-10-092009-10-09 + + +http://www.ypaat.gr + +dataset +Conformity_001INSPIREINSPIRE2008-05-15publicationSee the referenced specificationtrue +test + + diff --git a/tests/functionaltests/suites/apiso/default.cfg b/tests/functionaltests/suites/apiso/default.cfg new file mode 100644 index 000000000..6a60f3f9e --- /dev/null +++ b/tests/functionaltests/suites/apiso/default.cfg @@ -0,0 +1,91 @@ +# ================================================================= +# +# Authors: Tom Kralidis +# +# Copyright (c) 2011 Tom Kralidis +# +# Permission is hereby granted, free of charge, to any person +# obtaining a copy of this software and associated documentation +# files (the "Software"), to deal in the Software without +# restriction, including without limitation the rights to use, +# copy, modify, merge, publish, distribute, sublicense, and/or sell +# copies of the Software, and to permit persons to whom the +# Software is furnished to do so, subject to the following +# conditions: +# +# The above copyright notice and this permission notice shall be +# included in all copies or substantial portions of the Software. +# +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +# EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES +# OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +# NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT +# HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, +# WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR +# OTHER DEALINGS IN THE SOFTWARE. +# +# ================================================================= + +[server] +home=. +url=http://localhost/pycsw/csw.py?config=tests/suites/apiso/default.cfg +mimetype=application/xml; charset=UTF-8 +encoding=UTF-8 +language=en-US +maxrecords=10 +#loglevel=DEBUG +#logfile=/tmp/pycsw.log +#ogc_schemas_base=http://foo +federatedcatalogues=http://geo.data.gov/geoportal/csw/discovery +pretty_print=true +#gzip_compresslevel=8 +#spatial_ranking=true +profiles=apiso + +[manager] +transactions=false +allowed_ips=127.0.0.1 + +[metadata:main] +identification_title=pycsw Geospatial Catalogue +identification_abstract=pycsw is an OGC CSW server implementation written in Python +identification_keywords=catalogue,discovery +identification_keywords_type=theme +identification_fees=None +identification_accessconstraints=None +provider_name=pycsw +provider_url=http://pycsw.org/ +contact_name=Kralidis, Tom +contact_position=Senior Systems Scientist +contact_address=TBA +contact_city=Toronto +contact_stateorprovince=Ontario +contact_postalcode=M9C 3Z9 +contact_country=Canada +contact_phone=+01-416-xxx-xxxx +contact_fax=+01-416-xxx-xxxx +contact_email=tomkralidis@gmail.com +contact_url=http://kralidis.ca/ +contact_hours=0800h - 1600h EST +contact_instructions=During hours of service. Off on weekends. +contact_role=pointOfContact + +[repository] +# sqlite +database=sqlite:///tests/suites/apiso/data/records.db +# postgres +#database=postgres://username:password@localhost/pycsw +table=records + +[metadata:inspire] +enabled=false +languages_supported=eng,gre +default_language=eng +date=2011-03-29 +gemet_keywords=Utility and governmental services +conformity_service=notEvaluated +contact_name=National Technical University of Athens +contact_email=tzotsos@gmail.com +temp_extent=2011-02-01/2011-03-30 + diff --git a/tests/functionaltests/suites/apiso/expected/post_DescribeRecord.xml b/tests/functionaltests/suites/apiso/expected/post_DescribeRecord.xml new file mode 100644 index 000000000..bda19c0ac --- /dev/null +++ b/tests/functionaltests/suites/apiso/expected/post_DescribeRecord.xml @@ -0,0 +1,551 @@ + + + + + + + + This file was generated from ISO TC/211 UML class diagrams == 01-26-2005 12:40:05 ====== + + + + + + + + + + + + Basic information about data + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Graphic that provides an illustration of the dataset (should include a legend for the graphic) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + See 19119 for further info + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Brief description of ways in which the dataset is currently used. + + + + + + + + + + + + + + + + + + + + + + + + + + Keywords, their type and reference source + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Encapsulates the dataset aggregation information + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + High-level geospatial data thematic classification to assist in the grouping and search of available geospatial datasets + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + This file was generated from ISO TC/211 UML class diagrams == 10-13-2006 11:14:04 ====== + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/tests/functionaltests/suites/apiso/expected/post_GetCapabilities.xml b/tests/functionaltests/suites/apiso/expected/post_GetCapabilities.xml new file mode 100644 index 000000000..00656b296 --- /dev/null +++ b/tests/functionaltests/suites/apiso/expected/post_GetCapabilities.xml @@ -0,0 +1,318 @@ + + + + + pycsw Geospatial Catalogue + pycsw is an OGC CSW server implementation written in Python + + catalogue + discovery + theme + + CSW + 2.0.2 + 3.0.0 + None + None + + + pycsw + + + Kralidis, Tom + Senior Systems Scientist + + + +01-416-xxx-xxxx + +01-416-xxx-xxxx + + + TBA + Toronto + Ontario + M9C 3Z9 + Canada + tomkralidis@gmail.com + + + 0800h - 1600h EST + During hours of service. Off on weekends. + + pointOfContact + + + + + + + + + + + + Filter_Capabilities + OperationsMetadata + ServiceIdentification + ServiceProvider + + + + + + + + + + + application/json + application/xml + + + http://www.w3.org/2001/XMLSchema + http://www.w3.org/TR/xmlschema-1/ + http://www.w3.org/XML/Schema + + + csw:Record + gmd:MD_Metadata + + + + + + + + + + + DescribeRecord.outputFormat + DescribeRecord.schemaLanguage + DescribeRecord.typeName + GetCapabilities.sections + GetRecordById.ElementSetName + GetRecordById.outputFormat + GetRecordById.outputSchema + GetRecords.CONSTRAINTLANGUAGE + GetRecords.ElementSetName + GetRecords.outputFormat + GetRecords.outputSchema + GetRecords.resultType + GetRecords.typeNames + + + + + + + + + + + CQL_TEXT + FILTER + + + brief + full + summary + + + application/json + application/xml + + + http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ + http://www.interlis.ch/INTERLIS2.3 + http://www.isotc211.org/2005/gmd + http://www.opengis.net/cat/csw/2.0.2 + http://www.opengis.net/cat/csw/csdgm + http://www.w3.org/2005/Atom + + + hits + results + validate + + + csw:Record + gmd:MD_Metadata + + + apiso:AccessConstraints + apiso:Classification + apiso:ConditionApplyingToAccessAndUse + apiso:Contributor + apiso:Creator + apiso:Degree + apiso:Lineage + apiso:OtherConstraints + apiso:Publisher + apiso:Relation + apiso:ResponsiblePartyRole + apiso:SpecificationDate + apiso:SpecificationDateType + apiso:SpecificationTitle + + + csw:AnyText + dc:contributor + dc:creator + dc:date + dc:format + dc:identifier + dc:language + dc:publisher + dc:relation + dc:rights + dc:source + dc:subject + dc:title + dc:type + dct:abstract + dct:modified + ows:BoundingBox + + + apiso:Abstract + apiso:AlternateTitle + apiso:AnyText + apiso:BoundingBox + apiso:CRS + apiso:CouplingType + apiso:CreationDate + apiso:Denominator + apiso:DistanceUOM + apiso:DistanceValue + apiso:Format + apiso:GeographicDescriptionCode + apiso:HasSecurityConstraints + apiso:Identifier + apiso:KeywordType + apiso:Language + apiso:Modified + apiso:OperatesOn + apiso:OperatesOnIdentifier + apiso:OperatesOnName + apiso:Operation + apiso:OrganisationName + apiso:ParentIdentifier + apiso:PublicationDate + apiso:ResourceLanguage + apiso:RevisionDate + apiso:ServiceType + apiso:ServiceTypeVersion + apiso:Subject + apiso:TempExtent_begin + apiso:TempExtent_end + apiso:Title + apiso:TopicCategory + apiso:Type + + + + + + + + + + + brief + full + summary + + + application/json + application/xml + + + http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ + http://www.interlis.ch/INTERLIS2.3 + http://www.isotc211.org/2005/gmd + http://www.opengis.net/cat/csw/2.0.2 + http://www.opengis.net/cat/csw/csdgm + http://www.w3.org/2005/Atom + + + + + + + + + + + CSW + + + 2.0.2 + 3.0.0 + + + http://geo.data.gov/geoportal/csw/discovery + + + 10 + + + XML + SOAP + + + allowed + + + + + + gml:Point + gml:LineString + gml:Polygon + gml:Envelope + + + + + + + + + + + + + + + + + + + Between + EqualTo + GreaterThan + GreaterThanEqualTo + LessThan + LessThanEqualTo + Like + NotEqualTo + NullCheck + + + + + length + lower + ltrim + rtrim + trim + upper + + + + + + + + + + diff --git a/tests/functionaltests/suites/apiso/expected/post_GetDomain-property.xml b/tests/functionaltests/suites/apiso/expected/post_GetDomain-property.xml new file mode 100644 index 000000000..17c50d767 --- /dev/null +++ b/tests/functionaltests/suites/apiso/expected/post_GetDomain-property.xml @@ -0,0 +1,12 @@ + + + + + apiso:TopicCategory + + climatologyMeteorologyAtmosphere + elevation + geoscientificInformation + + + diff --git a/tests/functionaltests/suites/apiso/expected/post_GetRecordById-brief.xml b/tests/functionaltests/suites/apiso/expected/post_GetRecordById-brief.xml new file mode 100644 index 000000000..ea58eb97e --- /dev/null +++ b/tests/functionaltests/suites/apiso/expected/post_GetRecordById-brief.xml @@ -0,0 +1,77 @@ + + + + + + de53e931-778a-4792-94ad-9fe507aca483 + + + dataset + + + + + + + Ortho + + + + + 2000-01-01 + + + publication + + + + + + + + + + + 21.48 + + + 21.53 + + + 39.76 + + + 39.79 + + + + + + + + + + + + + + + http://www.ypaat.gr + + + None + + + None + + + None + + + + + + + + + diff --git a/tests/functionaltests/suites/apiso/expected/post_GetRecordById-full-dc.xml b/tests/functionaltests/suites/apiso/expected/post_GetRecordById-full-dc.xml new file mode 100644 index 000000000..155b3491d --- /dev/null +++ b/tests/functionaltests/suites/apiso/expected/post_GetRecordById-full-dc.xml @@ -0,0 +1,45 @@ + + + + + NS06agg + PacIOOS Nearshore Sensor 06: Pohnpei, Micronesia + dataset + Oceans > Ocean Chemistry > Chlorophyll + Oceans > Ocean Optics > Turbidity + Oceans > Ocean Temperature > Water Temperature + Oceans > Salinity/Density > Conductivity + Oceans > Salinity/Density > Salinity + Oceans > Water Quality + Ocean &gt; Pacific Ocean &gt; Western Pacific Ocean &gt; Micronesia &gt; Federated States of Micronesia + Ocean &gt; Pacific Ocean &gt; United States of America &gt; Territories + Federated States of Micronesia &gt; Pohnpei &gt; Pohnpei Lagoon + Pacific Islands Ocean Observing System (PacIOOS) + Pacific Islands Ocean Observing System (PacIOOS) + sea_water_temperature + sea_water_electrical_conductivity + sea_water_turbidity + mass_concentration_of_chlorophyll_in_sea_water + sea_water_salinity + depth + latitude + longitude + time + climatologyMeteorologyAtmosphere + http://oos.soest.hawaii.edu/thredds/idd/nss_pacioos.html?dataset=NS06agg + http://oos.soest.hawaii.edu/thredds/dodsC/pacioos/nss/ns06agg.html + http://pacioos.org/voyager/index.html?b=6.874279%2C158.077126%2C7.050468%2C158.369808&tz=pont&o=qual:2::p0NS06p1 + http://oos.soest.hawaii.edu/dchart/index.html?dsetid=54cd0688ada08d86748b9c5762509f + http://oos.soest.hawaii.edu/erddap/tabledap/nss06_agg.graph?time%2Ctemperature&.draw=lines + http://pacioos.org/focus/waterquality/wq_fsm.php + http://oos.soest.hawaii.edu/thredds/dodsC/pacioos/nss/ns06agg + + 2014-04-16 + The nearshore sensors are part of the Pacific Islands Ocean Observing System (PacIOOS) and are designed to measure a variety of ocean parameters at fixed point locations. NS06 is located at the dock in Pohnpei lagoon and is mounted to the bottom in about 1 meter of water. The instrument is a Sea-Bird Electronics model 16+ V2 coupled with a WET Labs ECO-FLNTUS combination sensor. + 2014-04-16 + + 6.96 158.22 + 6.96 158.22 + + + diff --git a/tests/functionaltests/suites/apiso/expected/post_GetRecordById-full.xml b/tests/functionaltests/suites/apiso/expected/post_GetRecordById-full.xml new file mode 100644 index 000000000..6b88e5eef --- /dev/null +++ b/tests/functionaltests/suites/apiso/expected/post_GetRecordById-full.xml @@ -0,0 +1,40 @@ + + + + + de53e931-778a-4792-94ad-9fe507aca483 + eng + dataset + YPAATypaat@ypaat.grpointOfContact + 2009-10-07 +ISO19115 +2003/Cor.1:2006 + + + + + Ortho + 2000-01-01publication + de53e931-778a-4792-94ad-9fe507aca483 + T_ortho_RAS_1998_284404.tif + + + Ortho +YPAATypaat@ypaat.growner + OrthoimageryGEMET - INSPIRE themes, version 1.02008-06-01publication + no conditions apply + otherRestrictionsno limitations + 5000 + eng + geoscientificInformation + 21.47878421.52731739.7600139.790341 + 1997-01-011999-01-01 + + +http://www.ypaat.gr + +dataset +test + + + diff --git a/tests/functionaltests/suites/apiso/expected/post_GetRecordById-srv-brief.xml b/tests/functionaltests/suites/apiso/expected/post_GetRecordById-srv-brief.xml new file mode 100644 index 000000000..896b014c5 --- /dev/null +++ b/tests/functionaltests/suites/apiso/expected/post_GetRecordById-srv-brief.xml @@ -0,0 +1,93 @@ + + + + + + 3e9a8c05 + + + service + + + + + + + test Title + + + + + 2011-04-19 + + + creation + + + + + + + view + + + + + + + + Geographic viewer (humanGeographicViewer) + + + administration + + + + + + + + + 19.37 + + + 29.61 + + + 34.8 + + + 41.75 + + + + + + + + + + + + + + + http://aiolos.survey.ntua.gr/geoserver/wms + + + None + + + None + + + None + + + + + + + + + diff --git a/tests/functionaltests/suites/apiso/expected/post_GetRecords-all-csw-output.xml b/tests/functionaltests/suites/apiso/expected/post_GetRecords-all-csw-output.xml new file mode 100644 index 000000000..e428bacf7 --- /dev/null +++ b/tests/functionaltests/suites/apiso/expected/post_GetRecords-all-csw-output.xml @@ -0,0 +1,399 @@ + + + + + + + +3e9a8c05 + + +eng + + +service + + + + +NTUA + + + + + + +tzotsos@gmail.com + + + + + + +pointOfContact + + + + +2011-04-18 + + +ISO19115 + + +2003/Cor.1:2006 + + + + + + +test Title + + + + +2011-04-19 + + +creation + + + + + + +http://aiolos.survey.ntua.gr + + +ogc + + + + + + +test Abstract + + + + +NTUA + + + + + + +tzotsos@gmail.com + + + + + + +owner + + + + + + +Geographic viewer (humanGeographicViewer) + + + + + + +administration + + + + +GEMET Themes, version 2.3 + + + + +2011-04-18 + + +publication + + + + + + + + + + +Conditions unknown + + + + + + +no limitation + + + + + + + + +19.37 + + +29.61 + + +34.80 + + +41.75 + + + + + + + +2011-04-18 +2011-04-20 + + + + + + + +view + + + + + + + + + + + + + + + + + +http://aiolos.survey.ntua.gr/geoserver/wms + + + + + + + + + + + + +service + + + + + + + + +Conformity_001 + + +INSPIRE + + + + + + + + +Corrigendum to INSPIRE Metadata Regulation published in the Official Journal of the European Union, L 328, page 83 + + + + +2009-12-15 + + +publication + + + + + + +See the referenced specification + + +true + + + + + + + + + + 366f6257-19eb-4f20-ba78-0698ac4aae77 + eng + dataset + YPAATypaat@ypaat.grpointOfContact + 2009-10-09 +ISO19115 +2003/Cor.1:2006 + + + + + Aerial Photos + 2009-10-09creation + 366f6257-19eb-4f20-ba78-0698ac4aae77 + T_aerfo_RAS_1991_GR800P001800000012.tif + + + Aerial Photos +YPAATypaat@ypaat.growner + OrthoimageryGEMET - INSPIRE themes, version 1.02008-06-01publication + no conditions apply + otherRestrictionsno limitations + eng + geoscientificInformation + 20.0024.0038.0040.00 + 2009-10-092009-10-09 + + +http://www.ypaat.gr + +dataset +Conformity_001INSPIREINSPIRE2008-05-15publicationSee the referenced specificationtrue +test + + + + 75a7eb5e-336e-453d-ab06-209b1070d396 + eng + dataset + YPAATypaat@ypaat.grpointOfContact + 2009-10-09 +ISO19115 +2003/Cor.1:2006 + + + + + Aerial Photos + 2009-10-09creation + 75a7eb5e-336e-453d-ab06-209b1070d396 + T_aerfo_RAS_1991_GR800P001800000013.tif + + + Aerial Photos +YPAATypaat@ypaat.growner + OrthoimageryGEMET - INSPIRE themes, version 1.02008-06-01publication + no conditions apply + otherRestrictionsno limitations + eng + geoscientificInformation + 20.0024.0038.0040.00 + 2009-10-092009-10-09 + + +http://www.ypaat.gr + +dataset +Conformity_001INSPIREINSPIRE2008-05-15publicationSee the referenced specificationtrue +test + + + + a7308c0a-b748-48e2-bab7-0a608a51d416 + eng + dataset + YPAATypaat@ypaat.grpointOfContact + 2009-10-09 +ISO19115 +2003/Cor.1:2006 + + + + + Aerial Photos + 2009-10-09creation + a7308c0a-b748-48e2-bab7-0a608a51d416 + T_aerfo_RAS_1991_GR800P001800000014.tif + + + Aerial Photos +YPAATypaat@ypaat.growner + OrthoimageryGEMET - INSPIRE themes, version 1.02008-06-01publication + no conditions apply + otherRestrictionsno limitations + eng + geoscientificInformation + 20.0024.0038.0040.00 + 2009-10-092009-10-09 + + +http://www.ypaat.gr + +dataset +Conformity_001INSPIREINSPIRE2008-05-15publicationSee the referenced specificationtrue +test + + + + 0173e0d7-6ea9-4407-b846-f29d6bfa9903 + eng + dataset + YPAATypaat@ypaat.grpointOfContact + 2009-10-09 +ISO19115 +2003/Cor.1:2006 + + + + + Aerial Photos + 2009-10-09creation + 0173e0d7-6ea9-4407-b846-f29d6bfa9903 + T_aerfo_RAS_1991_GR800P001800000015.tif + + + Aerial Photos +YPAATypaat@ypaat.growner + OrthoimageryGEMET - INSPIRE themes, version 1.02008-06-01publication + no conditions apply + otherRestrictionsno limitations + eng + geoscientificInformation + 20.0024.0038.0040.00 + 2009-10-092009-10-09 + + +http://www.ypaat.gr + +dataset +Conformity_001INSPIREINSPIRE2008-05-15publicationSee the referenced specificationtrue +test + + + + diff --git a/tests/functionaltests/suites/apiso/expected/post_GetRecords-all.xml b/tests/functionaltests/suites/apiso/expected/post_GetRecords-all.xml new file mode 100644 index 000000000..e428bacf7 --- /dev/null +++ b/tests/functionaltests/suites/apiso/expected/post_GetRecords-all.xml @@ -0,0 +1,399 @@ + + + + + + + +3e9a8c05 + + +eng + + +service + + + + +NTUA + + + + + + +tzotsos@gmail.com + + + + + + +pointOfContact + + + + +2011-04-18 + + +ISO19115 + + +2003/Cor.1:2006 + + + + + + +test Title + + + + +2011-04-19 + + +creation + + + + + + +http://aiolos.survey.ntua.gr + + +ogc + + + + + + +test Abstract + + + + +NTUA + + + + + + +tzotsos@gmail.com + + + + + + +owner + + + + + + +Geographic viewer (humanGeographicViewer) + + + + + + +administration + + + + +GEMET Themes, version 2.3 + + + + +2011-04-18 + + +publication + + + + + + + + + + +Conditions unknown + + + + + + +no limitation + + + + + + + + +19.37 + + +29.61 + + +34.80 + + +41.75 + + + + + + + +2011-04-18 +2011-04-20 + + + + + + + +view + + + + + + + + + + + + + + + + + +http://aiolos.survey.ntua.gr/geoserver/wms + + + + + + + + + + + + +service + + + + + + + + +Conformity_001 + + +INSPIRE + + + + + + + + +Corrigendum to INSPIRE Metadata Regulation published in the Official Journal of the European Union, L 328, page 83 + + + + +2009-12-15 + + +publication + + + + + + +See the referenced specification + + +true + + + + + + + + + + 366f6257-19eb-4f20-ba78-0698ac4aae77 + eng + dataset + YPAATypaat@ypaat.grpointOfContact + 2009-10-09 +ISO19115 +2003/Cor.1:2006 + + + + + Aerial Photos + 2009-10-09creation + 366f6257-19eb-4f20-ba78-0698ac4aae77 + T_aerfo_RAS_1991_GR800P001800000012.tif + + + Aerial Photos +YPAATypaat@ypaat.growner + OrthoimageryGEMET - INSPIRE themes, version 1.02008-06-01publication + no conditions apply + otherRestrictionsno limitations + eng + geoscientificInformation + 20.0024.0038.0040.00 + 2009-10-092009-10-09 + + +http://www.ypaat.gr + +dataset +Conformity_001INSPIREINSPIRE2008-05-15publicationSee the referenced specificationtrue +test + + + + 75a7eb5e-336e-453d-ab06-209b1070d396 + eng + dataset + YPAATypaat@ypaat.grpointOfContact + 2009-10-09 +ISO19115 +2003/Cor.1:2006 + + + + + Aerial Photos + 2009-10-09creation + 75a7eb5e-336e-453d-ab06-209b1070d396 + T_aerfo_RAS_1991_GR800P001800000013.tif + + + Aerial Photos +YPAATypaat@ypaat.growner + OrthoimageryGEMET - INSPIRE themes, version 1.02008-06-01publication + no conditions apply + otherRestrictionsno limitations + eng + geoscientificInformation + 20.0024.0038.0040.00 + 2009-10-092009-10-09 + + +http://www.ypaat.gr + +dataset +Conformity_001INSPIREINSPIRE2008-05-15publicationSee the referenced specificationtrue +test + + + + a7308c0a-b748-48e2-bab7-0a608a51d416 + eng + dataset + YPAATypaat@ypaat.grpointOfContact + 2009-10-09 +ISO19115 +2003/Cor.1:2006 + + + + + Aerial Photos + 2009-10-09creation + a7308c0a-b748-48e2-bab7-0a608a51d416 + T_aerfo_RAS_1991_GR800P001800000014.tif + + + Aerial Photos +YPAATypaat@ypaat.growner + OrthoimageryGEMET - INSPIRE themes, version 1.02008-06-01publication + no conditions apply + otherRestrictionsno limitations + eng + geoscientificInformation + 20.0024.0038.0040.00 + 2009-10-092009-10-09 + + +http://www.ypaat.gr + +dataset +Conformity_001INSPIREINSPIRE2008-05-15publicationSee the referenced specificationtrue +test + + + + 0173e0d7-6ea9-4407-b846-f29d6bfa9903 + eng + dataset + YPAATypaat@ypaat.grpointOfContact + 2009-10-09 +ISO19115 +2003/Cor.1:2006 + + + + + Aerial Photos + 2009-10-09creation + 0173e0d7-6ea9-4407-b846-f29d6bfa9903 + T_aerfo_RAS_1991_GR800P001800000015.tif + + + Aerial Photos +YPAATypaat@ypaat.growner + OrthoimageryGEMET - INSPIRE themes, version 1.02008-06-01publication + no conditions apply + otherRestrictionsno limitations + eng + geoscientificInformation + 20.0024.0038.0040.00 + 2009-10-092009-10-09 + + +http://www.ypaat.gr + +dataset +Conformity_001INSPIREINSPIRE2008-05-15publicationSee the referenced specificationtrue +test + + + + diff --git a/tests/functionaltests/suites/apiso/expected/post_GetRecords-cql-title.xml b/tests/functionaltests/suites/apiso/expected/post_GetRecords-cql-title.xml new file mode 100644 index 000000000..86fd86cf9 --- /dev/null +++ b/tests/functionaltests/suites/apiso/expected/post_GetRecords-cql-title.xml @@ -0,0 +1,372 @@ + + + + + + + + a2744b0c-becd-426a-95a8-46e9850ccc6d + + + dataset + + + + + + + DTM + + + + + 2009-10-07 + + + creation + + + + + + + + + + + 19.0 + + + 30.0 + + + 34.0 + + + 42.0 + + + + + + + + + + + + + + + http://www.ypaat.gr + + + None + + + None + + + None + + + + + + + + + + + 0dc824a6-b555-46c1-bd7b-bc66cb91a70f + + + dataset + + + + + + + DTM + + + + + 2009-10-07 + + + creation + + + + + + + + + + + 19.0 + + + 30.0 + + + 34.0 + + + 42.0 + + + + + + + + + + + + + + + http://www.ypaat.gr + + + None + + + None + + + None + + + + + + + + + + + 42c8e55a-2bf6-476d-a7c9-be3bcd697f13 + + + dataset + + + + + + + DTM + + + + + 2009-10-07 + + + creation + + + + + + + + + + + 19.0 + + + 30.0 + + + 34.0 + + + 42.0 + + + + + + + + + + + + + + + http://www.ypaat.gr + + + None + + + None + + + None + + + + + + + + + + + c3bf29d4-d60a-4959-a415-2c03fb0d4aef + + + dataset + + + + + + + DTM + + + + + 2009-10-07 + + + creation + + + + + + + + + + + 19.0 + + + 30.0 + + + 34.0 + + + 42.0 + + + + + + + + + + + + + + + http://www.ypaat.gr + + + None + + + None + + + None + + + + + + + + + + + b8cc2388-5d0a-43d8-9473-0e86dd0396da + + + dataset + + + + + + + DTM + + + + + 2009-10-07 + + + creation + + + + + + + + + + + 19.0 + + + 30.0 + + + 34.0 + + + 42.0 + + + + + + + + + + + + + + + http://www.ypaat.gr + + + None + + + None + + + None + + + + + + + + + + diff --git a/tests/functionaltests/suites/apiso/expected/post_GetRecords-elementname.xml b/tests/functionaltests/suites/apiso/expected/post_GetRecords-elementname.xml new file mode 100644 index 000000000..97175977f --- /dev/null +++ b/tests/functionaltests/suites/apiso/expected/post_GetRecords-elementname.xml @@ -0,0 +1,388 @@ + + + + + + + + 3e9a8c05 + + + service + + + + + + + test Title + + + + + 2011-04-19 + + + creation + + + + + + + view + + + + + + + + Geographic viewer (humanGeographicViewer) + + + administration + + + + + + + + + 19.37 + + + 29.61 + + + 34.8 + + + 41.75 + + + + + + + + + + + + + + + http://aiolos.survey.ntua.gr/geoserver/wms + + + None + + + None + + + None + + + + + + + + + + + 366f6257-19eb-4f20-ba78-0698ac4aae77 + + + dataset + + + + + + + Aerial Photos + + + + + 2009-10-09 + + + creation + + + + + + + + + + + 20.0 + + + 24.0 + + + 38.0 + + + 40.0 + + + + + + + + + + + + + + + http://www.ypaat.gr + + + None + + + None + + + None + + + + + + + + + + + 75a7eb5e-336e-453d-ab06-209b1070d396 + + + dataset + + + + + + + Aerial Photos + + + + + 2009-10-09 + + + creation + + + + + + + + + + + 20.0 + + + 24.0 + + + 38.0 + + + 40.0 + + + + + + + + + + + + + + + http://www.ypaat.gr + + + None + + + None + + + None + + + + + + + + + + + a7308c0a-b748-48e2-bab7-0a608a51d416 + + + dataset + + + + + + + Aerial Photos + + + + + 2009-10-09 + + + creation + + + + + + + + + + + 20.0 + + + 24.0 + + + 38.0 + + + 40.0 + + + + + + + + + + + + + + + http://www.ypaat.gr + + + None + + + None + + + None + + + + + + + + + + + 0173e0d7-6ea9-4407-b846-f29d6bfa9903 + + + dataset + + + + + + + Aerial Photos + + + + + 2009-10-09 + + + creation + + + + + + + + + + + 20.0 + + + 24.0 + + + 38.0 + + + 40.0 + + + + + + + + + + + + + + + http://www.ypaat.gr + + + None + + + None + + + None + + + + + + + + + + diff --git a/tests/functionaltests/suites/apiso/expected/post_GetRecords-filter-and-nested-spatial-or-dateline.xml b/tests/functionaltests/suites/apiso/expected/post_GetRecords-filter-and-nested-spatial-or-dateline.xml new file mode 100644 index 000000000..4fe317617 --- /dev/null +++ b/tests/functionaltests/suites/apiso/expected/post_GetRecords-filter-and-nested-spatial-or-dateline.xml @@ -0,0 +1,1132 @@ + + + + + + + + NS06agg + + + eng + + + UTF8 + + + dataset + + + service + + + + + Margaret McManus + + + University of Hawaii + + + + + + + mamc@hawaii.edu + + + + + + + http://www.soest.hawaii.edu/oceanography/faculty/mcmanus.html + + + http + + + web browser + + + + + + + + + information + + + + + + + pointOfContact + + + + + 2014-04-16 + + + ISO 19115-2 Geographic Information - Metadata Part 2 Extensions for imagery and gridded data + + + ISO 19115-2:2009(E) + + + + + 3 + + + + + column + + + 1 + + + 0.0 + + + + + + + row + + + 1 + + + 0.0 + + + + + + + temporal + + + 482760 + + + 252.0 + + + + + area + + + + + + + + + + PacIOOS Nearshore Sensor 06: Pohnpei, Micronesia + + + + + 2011-04-12 + + + creation + + + + + + + 2011-04-19 + + + issued + + + + + + + 2014-03-18 + + + revision + + + + + + + + + org.pacioos + + + + + + NS06agg + + + + + + + Margaret McManus + + + University of Hawaii + + + + + + + mamc@hawaii.edu + + + + + + + http://www.soest.hawaii.edu/oceanography/faculty/mcmanus.html + + + http + + + web browser + + + + + + + + + information + + + + + + + originator + + + + + + + Jim Potemra + + + + + distributor + + + + + Data produced by Dr. Margaret McManus (mamc@hawaii.edu). Point of contact: Gordon Walker (gwalker@hawaii.edu). + + + + + The nearshore sensors are part of the Pacific Islands Ocean Observing System (PacIOOS) and are designed to measure a variety of ocean parameters at fixed point locations. NS06 is located at the dock in Pohnpei lagoon and is mounted to the bottom in about 1 meter of water. The instrument is a Sea-Bird Electronics model 16+ V2 coupled with a WET Labs ECO-FLNTUS combination sensor. + + + PacIOOS provides timely, reliable, and accurate ocean information to support a safe, clean, productive ocean and resilient coastal zone in the U.S. Pacific Islands region. + + + The Pacific Islands Ocean Observing System (PacIOOS) is funded through the National Oceanic and Atmospheric Administration (NOAA) as a Regional Association within the U.S. Integrated Ocean Observing System (IOOS). PacIOOS is coordinated by the University of Hawaii School of Ocean and Earth Science and Technology (SOEST). + + + + + Margaret McManus + + + University of Hawaii + + + + + + + mamc@hawaii.edu + + + + + + + http://www.soest.hawaii.edu/oceanography/faculty/mcmanus.html + + + http + + + web browser + + + + + + + + + information + + + + + + + pointOfContact + + + + + + http://pacioos.org/metadata/browse/NS06agg.png + + Sample image. + + + + + + + Oceans > Ocean Chemistry > Chlorophyll + + + Oceans > Ocean Optics > Turbidity + + + Oceans > Ocean Temperature > Water Temperature + + + Oceans > Salinity/Density > Conductivity + + + Oceans > Salinity/Density > Salinity + + + Oceans > Water Quality + + + theme + + + + + GCMD Science Keywords + + + + + + + + + + Ocean &gt; Pacific Ocean &gt; Western Pacific Ocean &gt; Micronesia &gt; Federated States of Micronesia + + + Ocean &gt; Pacific Ocean &gt; United States of America &gt; Territories + + + Federated States of Micronesia &gt; Pohnpei &gt; Pohnpei Lagoon + + + place + + + + + GCMD Location Keywords + + + + + + + + + + Pacific Islands Ocean Observing System (PacIOOS) + + + project + + + + + GCMD Project Keywords + + + + + + + + + + Pacific Islands Ocean Observing System (PacIOOS) + + + dataCenter + + + + + GCMD Data Center Keywords + + + + + + + + + + sea_water_temperature + + + sea_water_electrical_conductivity + + + sea_water_turbidity + + + mass_concentration_of_chlorophyll_in_sea_water + + + sea_water_salinity + + + depth + + + latitude + + + longitude + + + time + + + theme + + + + + CF-1.4 + + + + + + + + + + The data may be used and redistributed for free but is not intended for legal use, since it may contain inaccuracies. Neither the data Contributor, University of Hawaii, PacIOOS, NOAA, State of Hawaii nor the United States Government, nor any of their employees or contractors, makes any warranty, express or implied, including warranties of merchantability and fitness for a particular purpose, or assumes any legal liability for the accuracy, completeness, or usefulness, of this information. + + + + + + + + + Pacific Islands Ocean Observing System (PacIOOS) + + + + + + largerWorkCitation + + + project + + + + + + + + + + + Unidata Common Data Model + + + + + + Point + + + + + largerWorkCitation + + + project + + + + + eng + + + climatologyMeteorologyAtmosphere + + + + + + + 1 + + + 158.22402954101562 + + + 158.22402954101562 + + + 6.955227375030518 + + + 6.955227375030518 + + + + + + + + seconds + 2010-05-07T00:00:00Z + 2014-03-17T23:56:00Z + + + + + + + + -1.0 + + + -1.0 + + + + + + + + + + + + + + PacIOOS Nearshore Sensor 06: Pohnpei, Micronesia + + + + + 2011-04-12 + + + creation + + + + + + + 2011-04-19 + + + issued + + + + + + + 2014-03-18 + + + revision + + + + + + + Margaret McManus + + + University of Hawaii + + + + + + + mamc@hawaii.edu + + + + + + + http://www.soest.hawaii.edu/oceanography/faculty/mcmanus.html + + + http + + + web browser + + + + + + + + + information + + + + + + + originator + + + + + + + Jim Potemra + + + + + distributor + + + + + + + The nearshore sensors are part of the Pacific Islands Ocean Observing System (PacIOOS) and are designed to measure a variety of ocean parameters at fixed point locations. NS06 is located at the dock in Pohnpei lagoon and is mounted to the bottom in about 1 meter of water. The instrument is a Sea-Bird Electronics model 16+ V2 coupled with a WET Labs ECO-FLNTUS combination sensor. + + + THREDDS OPeNDAP + + + + + + + 1 + + + 158.22402954101562 + + + 158.22402954101562 + + + 6.955227375030518 + + + 6.955227375030518 + + + + + + + + 2010-05-07T00:00:00Z + 2014-03-17T23:56:00Z + + + + + + + + -1.0 + + + -1.0 + + + + + + + + tight + + + + + OPeNDAP Client Access + + + + + + http://oos.soest.hawaii.edu/thredds/dodsC/pacioos/nss/ns06agg + + + OPeNDAP + + + THREDDS OPeNDAP + + + download + + + + + + + + + + + + + + + + + + temp + + + + + float + + + + + + + Temperature (sea_water_temperature) + + + + + + + + + + cond + + + + + float + + + + + + + Conductivity (sea_water_electrical_conductivity) + + + + + + + + + + turb + + + + + float + + + + + + + Turbidity (sea_water_turbidity) + + + + + + + + + + flor + + + + + float + + + + + + + Chlorophyll (mass_concentration_of_chlorophyll_in_sea_water) + + + + + + + + + + salt + + + + + float + + + + + + + Salinity (sea_water_salinity) + + + + + + + + + + z + + + + + float + + + + + + + depth below mean sea level (depth) + + + + + + + + + + lat + + + + + float + + + + + + + Latitude (latitude) + + + + + + + + + + lon + + + + + float + + + + + + + Longitude (longitude) + + + + + + + + + + time + + + + + float + + + + + + + Time (time) + + + + + + + + + + + + + + + Pacific Islands Ocean Observing System (PacIOOS) + + + + + + + jimp@hawaii.edu + + + + + + + http://pacioos.org + + + http + + + web browser + + + URL for the data publisher + + + This URL provides contact information for the publisher of this dataset + + + information + + + + + + + publisher + + + + + + + OPeNDAP + + + + + + + + + + http://oos.soest.hawaii.edu/thredds/idd/nss_pacioos.html?dataset=NS06agg + + + THREDDS Catalog + + + This URL provides a catalog page for this dataset within THREDDS Data Server (TDS). + + + download + + + + + + + + + + + http://oos.soest.hawaii.edu/thredds/dodsC/pacioos/nss/ns06agg.html + + + File Information + + + This URL provides a standard OPeNDAP html interface for selecting data from this dataset. Change the extension to .info for a description of the dataset. + + + download + + + + + + + + + + + http://pacioos.org/voyager/index.html?b=6.874279%2C158.077126%2C7.050468%2C158.369808&tz=pont&o=qual:2::p0NS06p1 + + + PacIOOS Voyager (Google Maps API) + + + This URL provides a viewer for this dataset. + + + download + + + + + + + + + + + http://oos.soest.hawaii.edu/dchart/index.html?dsetid=54cd0688ada08d86748b9c5762509f + + + DChart + + + This URL provides a viewer for this dataset. + + + download + + + + + + + + + + + http://oos.soest.hawaii.edu/erddap/tabledap/nss06_agg.graph?time%2Ctemperature&.draw=lines + + + ERDDAP + + + This URL provides a viewer for this dataset. + + + download + + + + + + + + + + + http://pacioos.org/focus/waterquality/wq_fsm.php + + + PacIOOS Water Quality Platforms: FSM + + + This URL provides a viewer for this dataset. + + + download + + + + + + + + + + + + + + + dataset + + + + + + + UH/SOEST (M. McManus), PacIOOS asset (05/2010) + + + + + + + + + + This record was translated from NcML using UnidataDD2MI.xsl Version 2.3 + + + + + + diff --git a/tests/functionaltests/suites/apiso/expected/post_GetRecords-filter-anytext.xml b/tests/functionaltests/suites/apiso/expected/post_GetRecords-filter-anytext.xml new file mode 100644 index 000000000..96190eeb8 --- /dev/null +++ b/tests/functionaltests/suites/apiso/expected/post_GetRecords-filter-anytext.xml @@ -0,0 +1,372 @@ + + + + + + + + 366f6257-19eb-4f20-ba78-0698ac4aae77 + + + dataset + + + + + + + Aerial Photos + + + + + 2009-10-09 + + + creation + + + + + + + + + + + 20.0 + + + 24.0 + + + 38.0 + + + 40.0 + + + + + + + + + + + + + + + http://www.ypaat.gr + + + None + + + None + + + None + + + + + + + + + + + 75a7eb5e-336e-453d-ab06-209b1070d396 + + + dataset + + + + + + + Aerial Photos + + + + + 2009-10-09 + + + creation + + + + + + + + + + + 20.0 + + + 24.0 + + + 38.0 + + + 40.0 + + + + + + + + + + + + + + + http://www.ypaat.gr + + + None + + + None + + + None + + + + + + + + + + + a7308c0a-b748-48e2-bab7-0a608a51d416 + + + dataset + + + + + + + Aerial Photos + + + + + 2009-10-09 + + + creation + + + + + + + + + + + 20.0 + + + 24.0 + + + 38.0 + + + 40.0 + + + + + + + + + + + + + + + http://www.ypaat.gr + + + None + + + None + + + None + + + + + + + + + + + 0173e0d7-6ea9-4407-b846-f29d6bfa9903 + + + dataset + + + + + + + Aerial Photos + + + + + 2009-10-09 + + + creation + + + + + + + + + + + 20.0 + + + 24.0 + + + 38.0 + + + 40.0 + + + + + + + + + + + + + + + http://www.ypaat.gr + + + None + + + None + + + None + + + + + + + + + + + 437ae0a2-06e2-4015-b296-a66e7f407bf2 + + + dataset + + + + + + + Aerial Photos + + + + + 2009-10-09 + + + creation + + + + + + + + + + + 20.0 + + + 38.0 + + + 24.0 + + + 40.0 + + + + + + + + + + + + + + + http://www.ypaat.gr + + + None + + + None + + + None + + + + + + + + + + diff --git a/tests/functionaltests/suites/apiso/expected/post_GetRecords-filter-bbox-csw-output.xml b/tests/functionaltests/suites/apiso/expected/post_GetRecords-filter-bbox-csw-output.xml new file mode 100644 index 000000000..74ac35ab1 --- /dev/null +++ b/tests/functionaltests/suites/apiso/expected/post_GetRecords-filter-bbox-csw-output.xml @@ -0,0 +1,52 @@ + + + + + + + 3e9a8c05 + test Title + service + + 34.8 19.37 + 41.75 29.61 + + + + 366f6257-19eb-4f20-ba78-0698ac4aae77 + Aerial Photos + dataset + + 38.0 20.0 + 40.0 24.0 + + + + 75a7eb5e-336e-453d-ab06-209b1070d396 + Aerial Photos + dataset + + 38.0 20.0 + 40.0 24.0 + + + + a7308c0a-b748-48e2-bab7-0a608a51d416 + Aerial Photos + dataset + + 38.0 20.0 + 40.0 24.0 + + + + 0173e0d7-6ea9-4407-b846-f29d6bfa9903 + Aerial Photos + dataset + + 38.0 20.0 + 40.0 24.0 + + + + diff --git a/tests/functionaltests/suites/apiso/expected/post_GetRecords-filter-bbox.xml b/tests/functionaltests/suites/apiso/expected/post_GetRecords-filter-bbox.xml new file mode 100644 index 000000000..cd76cde90 --- /dev/null +++ b/tests/functionaltests/suites/apiso/expected/post_GetRecords-filter-bbox.xml @@ -0,0 +1,388 @@ + + + + + + + + 3e9a8c05 + + + service + + + + + + + test Title + + + + + 2011-04-19 + + + creation + + + + + + + view + + + + + + + + Geographic viewer (humanGeographicViewer) + + + administration + + + + + + + + + 19.37 + + + 29.61 + + + 34.8 + + + 41.75 + + + + + + + + + + + + + + + http://aiolos.survey.ntua.gr/geoserver/wms + + + None + + + None + + + None + + + + + + + + + + + 366f6257-19eb-4f20-ba78-0698ac4aae77 + + + dataset + + + + + + + Aerial Photos + + + + + 2009-10-09 + + + creation + + + + + + + + + + + 20.0 + + + 24.0 + + + 38.0 + + + 40.0 + + + + + + + + + + + + + + + http://www.ypaat.gr + + + None + + + None + + + None + + + + + + + + + + + 75a7eb5e-336e-453d-ab06-209b1070d396 + + + dataset + + + + + + + Aerial Photos + + + + + 2009-10-09 + + + creation + + + + + + + + + + + 20.0 + + + 24.0 + + + 38.0 + + + 40.0 + + + + + + + + + + + + + + + http://www.ypaat.gr + + + None + + + None + + + None + + + + + + + + + + + a7308c0a-b748-48e2-bab7-0a608a51d416 + + + dataset + + + + + + + Aerial Photos + + + + + 2009-10-09 + + + creation + + + + + + + + + + + 20.0 + + + 24.0 + + + 38.0 + + + 40.0 + + + + + + + + + + + + + + + http://www.ypaat.gr + + + None + + + None + + + None + + + + + + + + + + + 0173e0d7-6ea9-4407-b846-f29d6bfa9903 + + + dataset + + + + + + + Aerial Photos + + + + + 2009-10-09 + + + creation + + + + + + + + + + + 20.0 + + + 24.0 + + + 38.0 + + + 40.0 + + + + + + + + + + + + + + + http://www.ypaat.gr + + + None + + + None + + + None + + + + + + + + + + diff --git a/tests/functionaltests/suites/apiso/expected/post_GetRecords-filter-servicetype.xml b/tests/functionaltests/suites/apiso/expected/post_GetRecords-filter-servicetype.xml new file mode 100644 index 000000000..80fa7ec19 --- /dev/null +++ b/tests/functionaltests/suites/apiso/expected/post_GetRecords-filter-servicetype.xml @@ -0,0 +1,96 @@ + + + + + + + + 3e9a8c05 + + + service + + + + + + + test Title + + + + + 2011-04-19 + + + creation + + + + + + + view + + + + + + + + Geographic viewer (humanGeographicViewer) + + + administration + + + + + + + + + 19.37 + + + 29.61 + + + 34.8 + + + 41.75 + + + + + + + + + + + + + + + http://aiolos.survey.ntua.gr/geoserver/wms + + + None + + + None + + + None + + + + + + + + + + diff --git a/tests/functionaltests/suites/apiso/post/DescribeRecord.xml b/tests/functionaltests/suites/apiso/post/DescribeRecord.xml new file mode 100644 index 000000000..e449f61d2 --- /dev/null +++ b/tests/functionaltests/suites/apiso/post/DescribeRecord.xml @@ -0,0 +1,4 @@ + + + gmd:MD_Metadata + diff --git a/tests/functionaltests/suites/apiso/post/GetCapabilities.xml b/tests/functionaltests/suites/apiso/post/GetCapabilities.xml new file mode 100644 index 000000000..e4dc8070b --- /dev/null +++ b/tests/functionaltests/suites/apiso/post/GetCapabilities.xml @@ -0,0 +1,9 @@ + + + + 2.0.2 + + + application/xml + + diff --git a/tests/functionaltests/suites/apiso/post/GetDomain-property.xml b/tests/functionaltests/suites/apiso/post/GetDomain-property.xml new file mode 100644 index 000000000..a3ff1bac0 --- /dev/null +++ b/tests/functionaltests/suites/apiso/post/GetDomain-property.xml @@ -0,0 +1,5 @@ + + + apiso:TopicCategory + + diff --git a/tests/functionaltests/suites/apiso/post/GetRecordById-brief.xml b/tests/functionaltests/suites/apiso/post/GetRecordById-brief.xml new file mode 100644 index 000000000..84f6c16af --- /dev/null +++ b/tests/functionaltests/suites/apiso/post/GetRecordById-brief.xml @@ -0,0 +1,6 @@ + + + de53e931-778a-4792-94ad-9fe507aca483 + brief + + diff --git a/tests/functionaltests/suites/apiso/post/GetRecordById-full-dc.xml b/tests/functionaltests/suites/apiso/post/GetRecordById-full-dc.xml new file mode 100644 index 000000000..c58520a66 --- /dev/null +++ b/tests/functionaltests/suites/apiso/post/GetRecordById-full-dc.xml @@ -0,0 +1,6 @@ + + + NS06agg + full + + diff --git a/tests/functionaltests/suites/apiso/post/GetRecordById-full.xml b/tests/functionaltests/suites/apiso/post/GetRecordById-full.xml new file mode 100644 index 000000000..2fe6e2d4c --- /dev/null +++ b/tests/functionaltests/suites/apiso/post/GetRecordById-full.xml @@ -0,0 +1,6 @@ + + + de53e931-778a-4792-94ad-9fe507aca483 + full + + diff --git a/tests/functionaltests/suites/apiso/post/GetRecordById-srv-brief.xml b/tests/functionaltests/suites/apiso/post/GetRecordById-srv-brief.xml new file mode 100644 index 000000000..88ec9dec5 --- /dev/null +++ b/tests/functionaltests/suites/apiso/post/GetRecordById-srv-brief.xml @@ -0,0 +1,6 @@ + + + 3e9a8c05 + brief + + diff --git a/tests/functionaltests/suites/apiso/post/GetRecords-all-csw-output.xml b/tests/functionaltests/suites/apiso/post/GetRecords-all-csw-output.xml new file mode 100644 index 000000000..1cdb55562 --- /dev/null +++ b/tests/functionaltests/suites/apiso/post/GetRecords-all-csw-output.xml @@ -0,0 +1,6 @@ + + + + full + + diff --git a/tests/functionaltests/suites/apiso/post/GetRecords-all.xml b/tests/functionaltests/suites/apiso/post/GetRecords-all.xml new file mode 100644 index 000000000..1cdb55562 --- /dev/null +++ b/tests/functionaltests/suites/apiso/post/GetRecords-all.xml @@ -0,0 +1,6 @@ + + + + full + + diff --git a/tests/functionaltests/suites/apiso/post/GetRecords-cql-title.xml b/tests/functionaltests/suites/apiso/post/GetRecords-cql-title.xml new file mode 100644 index 000000000..a8d37e802 --- /dev/null +++ b/tests/functionaltests/suites/apiso/post/GetRecords-cql-title.xml @@ -0,0 +1,9 @@ + + + + brief + + apiso:TopicCategory like '%elevation%' + + + diff --git a/tests/functionaltests/suites/apiso/post/GetRecords-elementname.xml b/tests/functionaltests/suites/apiso/post/GetRecords-elementname.xml new file mode 100644 index 000000000..ff191228e --- /dev/null +++ b/tests/functionaltests/suites/apiso/post/GetRecords-elementname.xml @@ -0,0 +1,6 @@ + + + + apiso:Title + + diff --git a/tests/functionaltests/suites/apiso/post/GetRecords-filter-and-nested-spatial-or-dateline.xml b/tests/functionaltests/suites/apiso/post/GetRecords-filter-and-nested-spatial-or-dateline.xml new file mode 100644 index 000000000..3074a10e6 --- /dev/null +++ b/tests/functionaltests/suites/apiso/post/GetRecords-filter-and-nested-spatial-or-dateline.xml @@ -0,0 +1,45 @@ + + + full + + + + + csw:AnyText + *pacioos* + + + + ows:BoundingBox + + 5.0721 17.8247 + 31.7842 180 + + + + ows:BoundingBox + + 15.0721 -180 + 31.7842 -151.2378 + + + + + + + + + dc:title + ASC + + + + diff --git a/tests/functionaltests/suites/apiso/post/GetRecords-filter-anytext.xml b/tests/functionaltests/suites/apiso/post/GetRecords-filter-anytext.xml new file mode 100644 index 000000000..4bb8d9cbd --- /dev/null +++ b/tests/functionaltests/suites/apiso/post/GetRecords-filter-anytext.xml @@ -0,0 +1,15 @@ + + + + brief + + + + apiso:AnyText + Aerial% + + + + + + diff --git a/tests/functionaltests/suites/apiso/post/GetRecords-filter-bbox-csw-output.xml b/tests/functionaltests/suites/apiso/post/GetRecords-filter-bbox-csw-output.xml new file mode 100644 index 000000000..f7e47c78e --- /dev/null +++ b/tests/functionaltests/suites/apiso/post/GetRecords-filter-bbox-csw-output.xml @@ -0,0 +1,19 @@ + + + + brief + + + + apiso:BoundingBox + + 35 18 + 42 28 + + + + + + + + diff --git a/tests/functionaltests/suites/apiso/post/GetRecords-filter-bbox.xml b/tests/functionaltests/suites/apiso/post/GetRecords-filter-bbox.xml new file mode 100644 index 000000000..2444873bf --- /dev/null +++ b/tests/functionaltests/suites/apiso/post/GetRecords-filter-bbox.xml @@ -0,0 +1,18 @@ + + + + brief + + + + apiso:BoundingBox + + 35 18 + 42 28 + + + + + + + diff --git a/tests/functionaltests/suites/apiso/post/GetRecords-filter-servicetype.xml b/tests/functionaltests/suites/apiso/post/GetRecords-filter-servicetype.xml new file mode 100644 index 000000000..02078b62e --- /dev/null +++ b/tests/functionaltests/suites/apiso/post/GetRecords-filter-servicetype.xml @@ -0,0 +1,14 @@ + + + + brief + + + + apiso:ServiceType + view + + + + + diff --git a/tests/functionaltests/suites/atom/default.cfg b/tests/functionaltests/suites/atom/default.cfg new file mode 100644 index 000000000..b97c23e6b --- /dev/null +++ b/tests/functionaltests/suites/atom/default.cfg @@ -0,0 +1,90 @@ +# ================================================================= +# +# Authors: Tom Kralidis +# +# Copyright (c) 2012 Tom Kralidis +# +# Permission is hereby granted, free of charge, to any person +# obtaining a copy of this software and associated documentation +# files (the "Software"), to deal in the Software without +# restriction, including without limitation the rights to use, +# copy, modify, merge, publish, distribute, sublicense, and/or sell +# copies of the Software, and to permit persons to whom the +# Software is furnished to do so, subject to the following +# conditions: +# +# The above copyright notice and this permission notice shall be +# included in all copies or substantial portions of the Software. +# +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +# EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES +# OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +# NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT +# HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, +# WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR +# OTHER DEALINGS IN THE SOFTWARE. +# +# ================================================================= + +[server] +home=. +url=http://localhost/pycsw/csw.py?config=tests/suites/atom/default.cfg +mimetype=application/xml; charset=UTF-8 +encoding=UTF-8 +language=en-US +maxrecords=10 +#loglevel=DEBUG +#logfile=/tmp/pycsw.log +#ogc_schemas_base=http://foo +federatedcatalogues=http://geo.data.gov/geoportal/csw/discovery +pretty_print=true +#gzip_compresslevel=8 +#spatial_ranking=true + +[manager] +transactions=false +allowed_ips=127.0.0.1 + +[metadata:main] +identification_title=pycsw Geospatial Catalogue +identification_abstract=pycsw is an OGC CSW server implementation written in Python +identification_keywords=catalogue,discovery +identification_keywords_type=theme +identification_fees=None +identification_accessconstraints=None +provider_name=pycsw +provider_url=http://pycsw.org/ +contact_name=Kralidis, Tom +contact_position=Senior Systems Scientist +contact_address=TBA +contact_city=Toronto +contact_stateorprovince=Ontario +contact_postalcode=M9C 3Z9 +contact_country=Canada +contact_phone=+01-416-xxx-xxxx +contact_fax=+01-416-xxx-xxxx +contact_email=tomkralidis@gmail.com +contact_url=http://kralidis.ca/ +contact_hours=0800h - 1600h EST +contact_instructions=During hours of service. Off on weekends. +contact_role=pointOfContact + +[repository] +# sqlite +database=sqlite:///tests/suites/cite/data/records.db +# postgres +#database=postgres://username:password@localhost/pycsw +table=records + +[metadata:inspire] +enabled=false +languages_supported=eng,gre +default_language=eng +date=2011-03-29 +gemet_keywords=Utility and governmental services +conformity_service=notEvaluated +contact_name=National Technical University of Athens +contact_email=tzotsos@gmail.com +temp_extent=2011-02-01/2011-03-30 + diff --git a/tests/functionaltests/suites/atom/expected/get_opensearch-description.xml b/tests/functionaltests/suites/atom/expected/get_opensearch-description.xml new file mode 100644 index 000000000..d9af17447 --- /dev/null +++ b/tests/functionaltests/suites/atom/expected/get_opensearch-description.xml @@ -0,0 +1,13 @@ + + + + pycsw Geospatial Catalogue + pycsw Geospatial Catalogue + pycsw is an OGC CSW server implementation written in Python + catalogue discovery + + http://pycsw.org/img/favicon.ico + Kralidis, Tom + tomkralidis@gmail.com + pycsw + diff --git a/tests/functionaltests/suites/atom/expected/get_opensearch-ogc-bbox-and-time.xml b/tests/functionaltests/suites/atom/expected/get_opensearch-ogc-bbox-and-time.xml new file mode 100644 index 000000000..1b8a63a22 --- /dev/null +++ b/tests/functionaltests/suites/atom/expected/get_opensearch-ogc-bbox-and-time.xml @@ -0,0 +1,38 @@ + + + + http://localhost/pycsw/csw.py?config=tests/suites/atom/default.cfg + pycsw Geospatial Catalogue + 2 + 1 + 2 + + + urn:uuid:9a669547-b69b-469f-a11f-2d875366bbdc + urn:uuid:9a669547-b69b-469f-a11f-2d875366bbdc + + Ñunç elementum + PYCSW_TIMESTAMP + + + 44.79 -6.17 + 51.13 -2.23 + + + + + + urn:uuid:94bc9c83-97f6-4b40-9eb8-a8e8787a5c63 + urn:uuid:94bc9c83-97f6-4b40-9eb8-a8e8787a5c63 + + Mauris sed neque + PYCSW_TIMESTAMP + Curabitur lacinia, ante non porta tempus, mi lorem feugiat odio, eget suscipit eros pede ac velit. + + + 47.59 -4.1 + 51.22 0.89 + + + + diff --git a/tests/functionaltests/suites/atom/expected/get_opensearch-ogc-bbox.xml b/tests/functionaltests/suites/atom/expected/get_opensearch-ogc-bbox.xml new file mode 100644 index 000000000..cb6309ae5 --- /dev/null +++ b/tests/functionaltests/suites/atom/expected/get_opensearch-ogc-bbox.xml @@ -0,0 +1,52 @@ + + + + http://localhost/pycsw/csw.py?config=tests/suites/atom/default.cfg + pycsw Geospatial Catalogue + 3 + 1 + 3 + + urn:uuid:1ef30a8b-876d-4828-9246-c37ab4510bbd + urn:uuid:1ef30a8b-876d-4828-9246-c37ab4510bbd + + + PYCSW_TIMESTAMP + Proin sit amet justo. In justo. Aenean adipiscing nulla id tellus. + + + 60.04 13.75 + 68.41 17.92 + + + + + + urn:uuid:94bc9c83-97f6-4b40-9eb8-a8e8787a5c63 + urn:uuid:94bc9c83-97f6-4b40-9eb8-a8e8787a5c63 + + Mauris sed neque + PYCSW_TIMESTAMP + Curabitur lacinia, ante non porta tempus, mi lorem feugiat odio, eget suscipit eros pede ac velit. + + + 47.59 -4.1 + 51.22 0.89 + + + + + + urn:uuid:9a669547-b69b-469f-a11f-2d875366bbdc + urn:uuid:9a669547-b69b-469f-a11f-2d875366bbdc + + Ñunç elementum + PYCSW_TIMESTAMP + + + 44.79 -6.17 + 51.13 -2.23 + + + + diff --git a/tests/functionaltests/suites/atom/expected/get_opensearch-ogc-count-and-page1.xml b/tests/functionaltests/suites/atom/expected/get_opensearch-ogc-count-and-page1.xml new file mode 100644 index 000000000..abc2039e2 --- /dev/null +++ b/tests/functionaltests/suites/atom/expected/get_opensearch-ogc-count-and-page1.xml @@ -0,0 +1,32 @@ + + + + http://localhost/pycsw/csw.py?config=tests/suites/atom/default.cfg + pycsw Geospatial Catalogue + 2 + 1 + 2 + + + urn:uuid:6a3de50b-fa66-4b58-a0e6-ca146fdd18d4 + urn:uuid:6a3de50b-fa66-4b58-a0e6-ca146fdd18d4 + + Ut facilisis justo ut lacus + PYCSW_TIMESTAMP + + + + urn:uuid:94bc9c83-97f6-4b40-9eb8-a8e8787a5c63 + urn:uuid:94bc9c83-97f6-4b40-9eb8-a8e8787a5c63 + + Mauris sed neque + PYCSW_TIMESTAMP + Curabitur lacinia, ante non porta tempus, mi lorem feugiat odio, eget suscipit eros pede ac velit. + + + 47.59 -4.1 + 51.22 0.89 + + + + diff --git a/tests/functionaltests/suites/atom/expected/get_opensearch-ogc-count-and-page2.xml b/tests/functionaltests/suites/atom/expected/get_opensearch-ogc-count-and-page2.xml new file mode 100644 index 000000000..709921a3f --- /dev/null +++ b/tests/functionaltests/suites/atom/expected/get_opensearch-ogc-count-and-page2.xml @@ -0,0 +1,17 @@ + + + + http://localhost/pycsw/csw.py?config=tests/suites/atom/default.cfg + pycsw Geospatial Catalogue + 2 + 1 + 1 + + + urn:uuid:6a3de50b-fa66-4b58-a0e6-ca146fdd18d4 + urn:uuid:6a3de50b-fa66-4b58-a0e6-ca146fdd18d4 + + Ut facilisis justo ut lacus + PYCSW_TIMESTAMP + + diff --git a/tests/functionaltests/suites/atom/expected/get_opensearch-ogc-q-and-bbox.xml b/tests/functionaltests/suites/atom/expected/get_opensearch-ogc-q-and-bbox.xml new file mode 100644 index 000000000..ed8c2a30c --- /dev/null +++ b/tests/functionaltests/suites/atom/expected/get_opensearch-ogc-q-and-bbox.xml @@ -0,0 +1,24 @@ + + + + http://localhost/pycsw/csw.py?config=tests/suites/atom/default.cfg + pycsw Geospatial Catalogue + 1 + 1 + 1 + + + urn:uuid:94bc9c83-97f6-4b40-9eb8-a8e8787a5c63 + urn:uuid:94bc9c83-97f6-4b40-9eb8-a8e8787a5c63 + + Mauris sed neque + PYCSW_TIMESTAMP + Curabitur lacinia, ante non porta tempus, mi lorem feugiat odio, eget suscipit eros pede ac velit. + + + 47.59 -4.1 + 51.22 0.89 + + + + diff --git a/tests/functionaltests/suites/atom/expected/get_opensearch-ogc-q-and-time.xml b/tests/functionaltests/suites/atom/expected/get_opensearch-ogc-q-and-time.xml new file mode 100644 index 000000000..281c6df53 --- /dev/null +++ b/tests/functionaltests/suites/atom/expected/get_opensearch-ogc-q-and-time.xml @@ -0,0 +1,18 @@ + + + + http://localhost/pycsw/csw.py?config=tests/suites/atom/default.cfg + pycsw Geospatial Catalogue + 1 + 1 + 1 + + + urn:uuid:e9330592-0932-474b-be34-c3a3bb67c7db + urn:uuid:e9330592-0932-474b-be34-c3a3bb67c7db + + Fuscé vitae ligulä + PYCSW_TIMESTAMP + Morbi ultriçes, dui suscipit vestibulum prètium, velit ante pretium tortor, egët tincidunt pede odio ac nulla. + + diff --git a/tests/functionaltests/suites/atom/expected/get_opensearch-ogc-q.xml b/tests/functionaltests/suites/atom/expected/get_opensearch-ogc-q.xml new file mode 100644 index 000000000..7aaae428f --- /dev/null +++ b/tests/functionaltests/suites/atom/expected/get_opensearch-ogc-q.xml @@ -0,0 +1,18 @@ + + + + http://localhost/pycsw/csw.py?config=tests/suites/atom/default.cfg + pycsw Geospatial Catalogue + 1 + 1 + 1 + + + urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f + urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f + + Lorem ipsum + PYCSW_TIMESTAMP + Quisque lacus diam, placerat mollis, pharetra in, commodo sed, augue. Duis iaculis arcu vel arcu. + + diff --git a/tests/functionaltests/suites/atom/expected/get_opensearch-ogc-time.xml b/tests/functionaltests/suites/atom/expected/get_opensearch-ogc-time.xml new file mode 100644 index 000000000..281c6df53 --- /dev/null +++ b/tests/functionaltests/suites/atom/expected/get_opensearch-ogc-time.xml @@ -0,0 +1,18 @@ + + + + http://localhost/pycsw/csw.py?config=tests/suites/atom/default.cfg + pycsw Geospatial Catalogue + 1 + 1 + 1 + + + urn:uuid:e9330592-0932-474b-be34-c3a3bb67c7db + urn:uuid:e9330592-0932-474b-be34-c3a3bb67c7db + + Fuscé vitae ligulä + PYCSW_TIMESTAMP + Morbi ultriçes, dui suscipit vestibulum prètium, velit ante pretium tortor, egët tincidunt pede odio ac nulla. + + diff --git a/tests/functionaltests/suites/atom/expected/get_opensearch-ogc-timeend.xml b/tests/functionaltests/suites/atom/expected/get_opensearch-ogc-timeend.xml new file mode 100644 index 000000000..281c6df53 --- /dev/null +++ b/tests/functionaltests/suites/atom/expected/get_opensearch-ogc-timeend.xml @@ -0,0 +1,18 @@ + + + + http://localhost/pycsw/csw.py?config=tests/suites/atom/default.cfg + pycsw Geospatial Catalogue + 1 + 1 + 1 + + + urn:uuid:e9330592-0932-474b-be34-c3a3bb67c7db + urn:uuid:e9330592-0932-474b-be34-c3a3bb67c7db + + Fuscé vitae ligulä + PYCSW_TIMESTAMP + Morbi ultriçes, dui suscipit vestibulum prètium, velit ante pretium tortor, egët tincidunt pede odio ac nulla. + + diff --git a/tests/functionaltests/suites/atom/expected/get_opensearch-ogc-timestart.xml b/tests/functionaltests/suites/atom/expected/get_opensearch-ogc-timestart.xml new file mode 100644 index 000000000..6e1694835 --- /dev/null +++ b/tests/functionaltests/suites/atom/expected/get_opensearch-ogc-timestart.xml @@ -0,0 +1,47 @@ + + + + http://localhost/pycsw/csw.py?config=tests/suites/atom/default.cfg + pycsw Geospatial Catalogue + 3 + 1 + 3 + + + urn:uuid:9a669547-b69b-469f-a11f-2d875366bbdc + urn:uuid:9a669547-b69b-469f-a11f-2d875366bbdc + + Ñunç elementum + PYCSW_TIMESTAMP + + + 44.79 -6.17 + 51.13 -2.23 + + + + + + urn:uuid:94bc9c83-97f6-4b40-9eb8-a8e8787a5c63 + urn:uuid:94bc9c83-97f6-4b40-9eb8-a8e8787a5c63 + + Mauris sed neque + PYCSW_TIMESTAMP + Curabitur lacinia, ante non porta tempus, mi lorem feugiat odio, eget suscipit eros pede ac velit. + + + 47.59 -4.1 + 51.22 0.89 + + + + + + urn:uuid:784e2afd-a9fd-44a6-9a92-a3848371c8ec + urn:uuid:784e2afd-a9fd-44a6-9a92-a3848371c8ec + + Aliquam fermentum purus quis arcu + PYCSW_TIMESTAMP + Vestibulum quis ipsum sit amet metus imperdiet vehicula. Nulla scelerisque cursus mi. + + diff --git a/tests/functionaltests/suites/atom/expected/get_opensearch.xml b/tests/functionaltests/suites/atom/expected/get_opensearch.xml new file mode 100644 index 000000000..68fbf0f78 --- /dev/null +++ b/tests/functionaltests/suites/atom/expected/get_opensearch.xml @@ -0,0 +1,110 @@ + + + + http://localhost/pycsw/csw.py?config=tests/suites/atom/default.cfg + pycsw Geospatial Catalogue + 12 + 1 + 10 + + + urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f + urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f + + Lorem ipsum + PYCSW_TIMESTAMP + Quisque lacus diam, placerat mollis, pharetra in, commodo sed, augue. Duis iaculis arcu vel arcu. + + + urn:uuid:1ef30a8b-876d-4828-9246-c37ab4510bbd + urn:uuid:1ef30a8b-876d-4828-9246-c37ab4510bbd + + + PYCSW_TIMESTAMP + Proin sit amet justo. In justo. Aenean adipiscing nulla id tellus. + + + 60.04 13.75 + 68.41 17.92 + + + + + + urn:uuid:66ae76b7-54ba-489b-a582-0f0633d96493 + urn:uuid:66ae76b7-54ba-489b-a582-0f0633d96493 + + Maecenas enim + PYCSW_TIMESTAMP + Pellentesque tempus magna non sapien fringilla blandit. + + + + urn:uuid:6a3de50b-fa66-4b58-a0e6-ca146fdd18d4 + urn:uuid:6a3de50b-fa66-4b58-a0e6-ca146fdd18d4 + + Ut facilisis justo ut lacus + PYCSW_TIMESTAMP + + + + urn:uuid:784e2afd-a9fd-44a6-9a92-a3848371c8ec + urn:uuid:784e2afd-a9fd-44a6-9a92-a3848371c8ec + + Aliquam fermentum purus quis arcu + PYCSW_TIMESTAMP + Vestibulum quis ipsum sit amet metus imperdiet vehicula. Nulla scelerisque cursus mi. + + + urn:uuid:829babb0-b2f1-49e1-8cd5-7b489fe71a1e + urn:uuid:829babb0-b2f1-49e1-8cd5-7b489fe71a1e + + Vestibulum massa purus + PYCSW_TIMESTAMP + + + + urn:uuid:88247b56-4cbc-4df9-9860-db3f8042e357 + urn:uuid:88247b56-4cbc-4df9-9860-db3f8042e357 + + + PYCSW_TIMESTAMP + Donec scelerisque pede ut nisl luctus accumsan. Quisque ultrices, lorem eget feugiat fringilla, lorem dui porttitor ante, cursus ultrices magna odio eu neque. + + + + urn:uuid:94bc9c83-97f6-4b40-9eb8-a8e8787a5c63 + urn:uuid:94bc9c83-97f6-4b40-9eb8-a8e8787a5c63 + + Mauris sed neque + PYCSW_TIMESTAMP + Curabitur lacinia, ante non porta tempus, mi lorem feugiat odio, eget suscipit eros pede ac velit. + + + 47.59 -4.1 + 51.22 0.89 + + + + + + urn:uuid:9a669547-b69b-469f-a11f-2d875366bbdc + urn:uuid:9a669547-b69b-469f-a11f-2d875366bbdc + + Ñunç elementum + PYCSW_TIMESTAMP + + + 44.79 -6.17 + 51.13 -2.23 + + + + + urn:uuid:a06af396-3105-442d-8b40-22b57a90d2f2 + urn:uuid:a06af396-3105-442d-8b40-22b57a90d2f2 + + Lorem ipsum dolor sit amet + PYCSW_TIMESTAMP + + diff --git a/tests/functionaltests/suites/atom/expected/post_DescribeRecord.xml b/tests/functionaltests/suites/atom/expected/post_DescribeRecord.xml new file mode 100644 index 000000000..5f82a7d41 --- /dev/null +++ b/tests/functionaltests/suites/atom/expected/post_DescribeRecord.xml @@ -0,0 +1,3 @@ + + + diff --git a/tests/functionaltests/suites/atom/expected/post_GetCapabilities.xml b/tests/functionaltests/suites/atom/expected/post_GetCapabilities.xml new file mode 100644 index 000000000..7ce6b5663 --- /dev/null +++ b/tests/functionaltests/suites/atom/expected/post_GetCapabilities.xml @@ -0,0 +1,262 @@ + + + + + pycsw Geospatial Catalogue + pycsw is an OGC CSW server implementation written in Python + + catalogue + discovery + theme + + CSW + 2.0.2 + 3.0.0 + None + None + + + pycsw + + + Kralidis, Tom + Senior Systems Scientist + + + +01-416-xxx-xxxx + +01-416-xxx-xxxx + + + TBA + Toronto + Ontario + M9C 3Z9 + Canada + tomkralidis@gmail.com + + + 0800h - 1600h EST + During hours of service. Off on weekends. + + pointOfContact + + + + + + + + + + + + Filter_Capabilities + OperationsMetadata + ServiceIdentification + ServiceProvider + + + + + + + + + + + application/json + application/xml + + + http://www.w3.org/2001/XMLSchema + http://www.w3.org/TR/xmlschema-1/ + http://www.w3.org/XML/Schema + + + csw:Record + + + + + + + + + + + DescribeRecord.outputFormat + DescribeRecord.schemaLanguage + DescribeRecord.typeName + GetCapabilities.sections + GetRecordById.ElementSetName + GetRecordById.outputFormat + GetRecordById.outputSchema + GetRecords.CONSTRAINTLANGUAGE + GetRecords.ElementSetName + GetRecords.outputFormat + GetRecords.outputSchema + GetRecords.resultType + GetRecords.typeNames + + + + + + + + + + + CQL_TEXT + FILTER + + + brief + full + summary + + + application/json + application/xml + + + http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ + http://www.interlis.ch/INTERLIS2.3 + http://www.opengis.net/cat/csw/2.0.2 + http://www.opengis.net/cat/csw/csdgm + http://www.w3.org/2005/Atom + + + hits + results + validate + + + csw:Record + + + csw:AnyText + dc:contributor + dc:creator + dc:date + dc:format + dc:identifier + dc:language + dc:publisher + dc:relation + dc:rights + dc:source + dc:subject + dc:title + dc:type + dct:abstract + dct:modified + ows:BoundingBox + + + + + + + + + + + brief + full + summary + + + application/json + application/xml + + + http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ + http://www.interlis.ch/INTERLIS2.3 + http://www.opengis.net/cat/csw/2.0.2 + http://www.opengis.net/cat/csw/csdgm + http://www.w3.org/2005/Atom + + + + + + + + + + + CSW + + + 2.0.2 + 3.0.0 + + + http://geo.data.gov/geoportal/csw/discovery + + + 10 + + + XML + SOAP + + + allowed + + + + + + gml:Point + gml:LineString + gml:Polygon + gml:Envelope + + + + + + + + + + + + + + + + + + + Between + EqualTo + GreaterThan + GreaterThanEqualTo + LessThan + LessThanEqualTo + Like + NotEqualTo + NullCheck + + + + + length + lower + ltrim + rtrim + trim + upper + + + + + + + + + + diff --git a/tests/functionaltests/suites/atom/expected/post_GetRecords-filter-bbox.xml b/tests/functionaltests/suites/atom/expected/post_GetRecords-filter-bbox.xml new file mode 100644 index 000000000..c345e05d9 --- /dev/null +++ b/tests/functionaltests/suites/atom/expected/post_GetRecords-filter-bbox.xml @@ -0,0 +1,36 @@ + + + + + + + + urn:uuid:94bc9c83-97f6-4b40-9eb8-a8e8787a5c63 + urn:uuid:94bc9c83-97f6-4b40-9eb8-a8e8787a5c63 + + Mauris sed neque + PYCSW_TIMESTAMP + Curabitur lacinia, ante non porta tempus, mi lorem feugiat odio, eget suscipit eros pede ac velit. + + + 47.59 -4.1 + 51.22 0.89 + + + + + + urn:uuid:9a669547-b69b-469f-a11f-2d875366bbdc + urn:uuid:9a669547-b69b-469f-a11f-2d875366bbdc + + Ñunç elementum + PYCSW_TIMESTAMP + + + 44.79 -6.17 + 51.13 -2.23 + + + + + diff --git a/tests/functionaltests/suites/atom/get/requests.txt b/tests/functionaltests/suites/atom/get/requests.txt new file mode 100644 index 000000000..6734cd5a7 --- /dev/null +++ b/tests/functionaltests/suites/atom/get/requests.txt @@ -0,0 +1,12 @@ +opensearch,mode=opensearch&service=CSW&version=2.0.2&request=GetRecords&typenames=csw:Record&resulttype=results&elementsetname=brief +opensearch-description,mode=opensearch&service=CSW&version=2.0.2&request=GetCapabilities +opensearch-ogc-q,mode=opensearch&service=CSW&version=2.0.2&request=GetRecords&elementsetname=full&resulttype=results&typenames=csw:Record&q=greece +opensearch-ogc-bbox,mode=opensearch&service=CSW&version=2.0.2&request=GetRecords&elementsetname=full&resulttype=results&typenames=csw:Record&bbox=-180,-90,180,90 +opensearch-ogc-time,mode=opensearch&service=CSW&version=2.0.2&request=GetRecords&elementsetname=full&resulttype=results&typenames=csw:Record&time=2001/2004 +opensearch-ogc-timestart,mode=opensearch&service=CSW&version=2.0.2&request=GetRecords&elementsetname=full&resulttype=results&typenames=csw:Record&time=2004/ +opensearch-ogc-timeend,mode=opensearch&service=CSW&version=2.0.2&request=GetRecords&elementsetname=full&resulttype=results&typenames=csw:Record&time=/2004 +opensearch-ogc-q-and-time,mode=opensearch&service=CSW&version=2.0.2&request=GetRecords&elementsetname=full&resulttype=results&typenames=csw:Record&time=2001/2007&q=vitae +opensearch-ogc-bbox-and-time,mode=opensearch&service=CSW&version=2.0.2&request=GetRecords&elementsetname=full&resulttype=results&typenames=csw:Record&time=2001/2007&bbox=-180,-90,180,90 +opensearch-ogc-q-and-bbox,mode=opensearch&service=CSW&version=2.0.2&request=GetRecords&elementsetname=full&resulttype=results&typenames=csw:Record&q=vegetation&bbox=-180,-90,180,90 +opensearch-ogc-count-and-page1,mode=opensearch&service=CSW&version=2.0.2&request=GetRecords&elementsetname=full&resulttype=results&typenames=csw:Record&q=vegetation&startposition=1 +opensearch-ogc-count-and-page2,mode=opensearch&service=CSW&version=2.0.2&request=GetRecords&elementsetname=full&resulttype=results&typenames=csw:Record&q=vegetation&startposition=1&maxrecords=1 diff --git a/tests/functionaltests/suites/atom/post/DescribeRecord.xml b/tests/functionaltests/suites/atom/post/DescribeRecord.xml new file mode 100644 index 000000000..cd923b8c8 --- /dev/null +++ b/tests/functionaltests/suites/atom/post/DescribeRecord.xml @@ -0,0 +1,4 @@ + + + atom:entry + diff --git a/tests/functionaltests/suites/atom/post/GetCapabilities.xml b/tests/functionaltests/suites/atom/post/GetCapabilities.xml new file mode 100644 index 000000000..e4dc8070b --- /dev/null +++ b/tests/functionaltests/suites/atom/post/GetCapabilities.xml @@ -0,0 +1,9 @@ + + + + 2.0.2 + + + application/xml + + diff --git a/tests/functionaltests/suites/atom/post/GetRecords-filter-bbox.xml b/tests/functionaltests/suites/atom/post/GetRecords-filter-bbox.xml new file mode 100644 index 000000000..1c431c21f --- /dev/null +++ b/tests/functionaltests/suites/atom/post/GetRecords-filter-bbox.xml @@ -0,0 +1,17 @@ + + + + brief + + + + ows:BoundingBox + + 47 -5 + 55 20 + + + + + + diff --git a/tests/functionaltests/suites/cite/data/README.txt b/tests/functionaltests/suites/cite/data/README.txt new file mode 100644 index 000000000..67996869c --- /dev/null +++ b/tests/functionaltests/suites/cite/data/README.txt @@ -0,0 +1,65 @@ +CITE Data +========= + +This directory provides data used to check conformance against the +Open Geospatial Consortium Compliance and Interoperability Testing Initiative (CITE). + +* http://cite.opengeospatial.org/teamengine/ + +The CITE team engine does not offer a specific license for re-distribution, as such it falls +under the general guidance provided by the OGC legal page (http://www.opengeospatial.org/legal/) +and the following license: + +* http://www.opengeospatial.org/ogc/software + +DATA LICENSE +------------ + +The data directory includes information provided by the Open Geospatial Consortium:: + + Copyright © 2012 Open Geospatial Consortium, Inc. + All Rights Reserved. http://www.opengeospatial.org/ogc/legal + +The test data is available directly from the following link: + +* http://cite.opengeospatial.org/teamengine/about/csw/2.0.2/web/ + +This content has been format shifted from CSW record format into a text based +"property file" for release testing. + +Software Notice +--------------- + +This OGC work (including software, documents, or other related items) is being provided by the +copyright holders under the following license. By obtaining, using and/or copying this work, you +(the licensee) agree that you have read, understood, and will comply with the following terms and +conditions: + +Permission to use, copy, and modify this software and its documentation, with or without +modification, for any purpose and without fee or royalty is hereby granted, provided that you +include the following on ALL copies of the software and documentation or portions thereof, including +modifications, that you make: + +1. The full text of this NOTICE in a location viewable to users of the redistributed or derivative +work. + +2. Any pre-existing intellectual property disclaimers, notices, or terms and conditions. If none exist, +a short notice of the following form (hypertext is preferred, text is permitted) should be used +within the body of any redistributed or derivative code: "Copyright © [$date-of-document] Open +Geospatial Consortium, Inc. All Rights Reserved. http://www.opengeospatial.org/ogc/legal (Hypertext +is preferred, but a textual representation is permitted.) + +3. Notice of any changes or modifications to the OGC files, including the date changes were made. (We +recommend you provide URIs to the location from which the code is derived.) + +THIS SOFTWARE AND DOCUMENTATION IS PROVIDED "AS IS," AND COPYRIGHT HOLDERS MAKE NO REPRESENTATIONS +OR WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO, WARRANTIES OF MERCHANTABILITY OR +FITNESS FOR ANY PARTICULAR PURPOSE OR THAT THE USE OF THE SOFTWARE OR DOCUMENTATION WILL NOT +INFRINGE ANY THIRD PARTY PATENTS, COPYRIGHTS, TRADEMARKS OR OTHER RIGHTS. + +COPYRIGHT HOLDERS WILL NOT BE LIABLE FOR ANY DIRECT, INDIRECT, SPECIAL OR CONSEQUENTIAL DAMAGES +ARISING OUT OF ANY USE OF THE SOFTWARE OR DOCUMENTATION. + +The name and trademarks of copyright holders may NOT be used in advertising or publicity pertaining +to the software without specific, written prior permission. Title to copyright in this software and +any associated documentation will at all times remain with copyright holders. diff --git a/tests/functionaltests/suites/cite/data/Record_19887a8a-f6b0-4a63-ae56-7fba0e17801f.xml b/tests/functionaltests/suites/cite/data/Record_19887a8a-f6b0-4a63-ae56-7fba0e17801f.xml new file mode 100644 index 000000000..7292511ed --- /dev/null +++ b/tests/functionaltests/suites/cite/data/Record_19887a8a-f6b0-4a63-ae56-7fba0e17801f.xml @@ -0,0 +1,13 @@ + + + urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f + http://purl.org/dc/dcmitype/Image + image/svg+xml + Lorem ipsum + GR-22 + Tourism--Greece + Quisque lacus diam, placerat mollis, pharetra in, commodo sed, augue. Duis iaculis arcu vel arcu. + \ No newline at end of file diff --git a/tests/functionaltests/suites/cite/data/Record_1ef30a8b-876d-4828-9246-c37ab4510bbd.xml b/tests/functionaltests/suites/cite/data/Record_1ef30a8b-876d-4828-9246-c37ab4510bbd.xml new file mode 100644 index 000000000..97c595793 --- /dev/null +++ b/tests/functionaltests/suites/cite/data/Record_1ef30a8b-876d-4828-9246-c37ab4510bbd.xml @@ -0,0 +1,13 @@ + + + urn:uuid:1ef30a8b-876d-4828-9246-c37ab4510bbd + http://purl.org/dc/dcmitype/Service + Proin sit amet justo. In justo. Aenean adipiscing nulla id tellus. + + 60.042 13.754 + 68.410 17.920 + + \ No newline at end of file diff --git a/tests/functionaltests/suites/cite/data/Record_66ae76b7-54ba-489b-a582-0f0633d96493.xml b/tests/functionaltests/suites/cite/data/Record_66ae76b7-54ba-489b-a582-0f0633d96493.xml new file mode 100644 index 000000000..b58bcdbb0 --- /dev/null +++ b/tests/functionaltests/suites/cite/data/Record_66ae76b7-54ba-489b-a582-0f0633d96493.xml @@ -0,0 +1,12 @@ + + + urn:uuid:66ae76b7-54ba-489b-a582-0f0633d96493 + Maecenas enim + http://purl.org/dc/dcmitype/Text + application/xhtml+xml + Marine sediments + Pellentesque tempus magna non sapien fringilla blandit. + \ No newline at end of file diff --git a/tests/functionaltests/suites/cite/data/Record_6a3de50b-fa66-4b58-a0e6-ca146fdd18d4.xml b/tests/functionaltests/suites/cite/data/Record_6a3de50b-fa66-4b58-a0e6-ca146fdd18d4.xml new file mode 100644 index 000000000..13f973a1c --- /dev/null +++ b/tests/functionaltests/suites/cite/data/Record_6a3de50b-fa66-4b58-a0e6-ca146fdd18d4.xml @@ -0,0 +1,11 @@ + + + urn:uuid:6a3de50b-fa66-4b58-a0e6-ca146fdd18d4 + http://purl.org/dc/dcmitype/Service + Ut facilisis justo ut lacus + Vegetation + urn:uuid:94bc9c83-97f6-4b40-9eb8-a8e8787a5c63 + \ No newline at end of file diff --git a/tests/functionaltests/suites/cite/data/Record_784e2afd-a9fd-44a6-9a92-a3848371c8ec.xml b/tests/functionaltests/suites/cite/data/Record_784e2afd-a9fd-44a6-9a92-a3848371c8ec.xml new file mode 100644 index 000000000..cb2d08b38 --- /dev/null +++ b/tests/functionaltests/suites/cite/data/Record_784e2afd-a9fd-44a6-9a92-a3848371c8ec.xml @@ -0,0 +1,14 @@ + + + urn:uuid:784e2afd-a9fd-44a6-9a92-a3848371c8ec + Aliquam fermentum purus quis arcu + http://purl.org/dc/dcmitype/Text + Hydrography--Dictionaries + application/pdf + 2006-05-12 + Vestibulum quis ipsum sit amet metus imperdiet vehicula. Nulla scelerisque cursus mi. + diff --git a/tests/functionaltests/suites/cite/data/Record_829babb0-b2f1-49e1-8cd5-7b489fe71a1e.xml b/tests/functionaltests/suites/cite/data/Record_829babb0-b2f1-49e1-8cd5-7b489fe71a1e.xml new file mode 100644 index 000000000..83a96d20f --- /dev/null +++ b/tests/functionaltests/suites/cite/data/Record_829babb0-b2f1-49e1-8cd5-7b489fe71a1e.xml @@ -0,0 +1,11 @@ + + + urn:uuid:829babb0-b2f1-49e1-8cd5-7b489fe71a1e + http://purl.org/dc/dcmitype/Image + image/jp2 + Vestibulum massa purus + urn:uuid:9a669547-b69b-469f-a11f-2d875366bbdc + \ No newline at end of file diff --git a/tests/functionaltests/suites/cite/data/Record_88247b56-4cbc-4df9-9860-db3f8042e357.xml b/tests/functionaltests/suites/cite/data/Record_88247b56-4cbc-4df9-9860-db3f8042e357.xml new file mode 100644 index 000000000..2771e6a49 --- /dev/null +++ b/tests/functionaltests/suites/cite/data/Record_88247b56-4cbc-4df9-9860-db3f8042e357.xml @@ -0,0 +1,11 @@ + + + urn:uuid:88247b56-4cbc-4df9-9860-db3f8042e357 + http://purl.org/dc/dcmitype/Dataset + Physiography-Landforms + FI-ES + Donec scelerisque pede ut nisl luctus accumsan. Quisque ultrices, lorem eget feugiat fringilla, lorem dui porttitor ante, cursus ultrices magna odio eu neque. + \ No newline at end of file diff --git a/tests/functionaltests/suites/cite/data/Record_94bc9c83-97f6-4b40-9eb8-a8e8787a5c63.xml b/tests/functionaltests/suites/cite/data/Record_94bc9c83-97f6-4b40-9eb8-a8e8787a5c63.xml new file mode 100644 index 000000000..ccf590fa7 --- /dev/null +++ b/tests/functionaltests/suites/cite/data/Record_94bc9c83-97f6-4b40-9eb8-a8e8787a5c63.xml @@ -0,0 +1,17 @@ + + + urn:uuid:94bc9c83-97f6-4b40-9eb8-a8e8787a5c63 + http://purl.org/dc/dcmitype/Dataset + Mauris sed neque + Vegetation-Cropland + Curabitur lacinia, ante non porta tempus, mi lorem feugiat odio, eget suscipit eros pede ac velit. + 2006-03-26 + + 47.595 -4.097 + 51.217 0.889 + + diff --git a/tests/functionaltests/suites/cite/data/Record_9a669547-b69b-469f-a11f-2d875366bbdc.xml b/tests/functionaltests/suites/cite/data/Record_9a669547-b69b-469f-a11f-2d875366bbdc.xml new file mode 100644 index 000000000..577f2c4ef --- /dev/null +++ b/tests/functionaltests/suites/cite/data/Record_9a669547-b69b-469f-a11f-2d875366bbdc.xml @@ -0,0 +1,16 @@ + + + urn:uuid:9a669547-b69b-469f-a11f-2d875366bbdc + http://purl.org/dc/dcmitype/Dataset + Ñunç elementum + Hydrography-Oceanographic + 2005-10-24 + + 44.792 -6.171 + 51.126 -2.228 + + diff --git a/tests/functionaltests/suites/cite/data/Record_a06af396-3105-442d-8b40-22b57a90d2f2.xml b/tests/functionaltests/suites/cite/data/Record_a06af396-3105-442d-8b40-22b57a90d2f2.xml new file mode 100644 index 000000000..a7ba06c7a --- /dev/null +++ b/tests/functionaltests/suites/cite/data/Record_a06af396-3105-442d-8b40-22b57a90d2f2.xml @@ -0,0 +1,11 @@ + + + urn:uuid:a06af396-3105-442d-8b40-22b57a90d2f2 + http://purl.org/dc/dcmitype/Image + Lorem ipsum dolor sit amet + image/jpeg + IT-FI + \ No newline at end of file diff --git a/tests/functionaltests/suites/cite/data/Record_ab42a8c4-95e8-4630-bf79-33e59241605a.xml b/tests/functionaltests/suites/cite/data/Record_ab42a8c4-95e8-4630-bf79-33e59241605a.xml new file mode 100644 index 000000000..b4d2a23b4 --- /dev/null +++ b/tests/functionaltests/suites/cite/data/Record_ab42a8c4-95e8-4630-bf79-33e59241605a.xml @@ -0,0 +1,11 @@ + + + urn:uuid:ab42a8c4-95e8-4630-bf79-33e59241605a + http://purl.org/dc/dcmitype/Service + Physiography + Suspendisse accumsan molestie lorem. Nullam velit turpis, mattis ut, varius bibendum, laoreet non, quam. + urn:uuid:88247b56-4cbc-4df9-9860-db3f8042e357 + \ No newline at end of file diff --git a/tests/functionaltests/suites/cite/data/Record_e9330592-0932-474b-be34-c3a3bb67c7db.xml b/tests/functionaltests/suites/cite/data/Record_e9330592-0932-474b-be34-c3a3bb67c7db.xml new file mode 100644 index 000000000..1e6bdc2da --- /dev/null +++ b/tests/functionaltests/suites/cite/data/Record_e9330592-0932-474b-be34-c3a3bb67c7db.xml @@ -0,0 +1,14 @@ + + + urn:uuid:e9330592-0932-474b-be34-c3a3bb67c7db + http://purl.org/dc/dcmitype/Text + Fuscé vitae ligulä + 2003-05-09 + Land titles + text/rtf + Morbi ultriçes, dui suscipit vestibulum prètium, velit ante pretium tortor, egët tincidunt pede odio ac nulla. + diff --git a/tests/functionaltests/suites/cite/data/cite.db b/tests/functionaltests/suites/cite/data/cite.db new file mode 100644 index 0000000000000000000000000000000000000000..6bbd3f18ca39cc0bbe41fb4bba50998ec26da50e GIT binary patch literal 82944 zcmeHwdyE{%d1v?3KDbL#Z+R^+P-2HK1b@%jRc6ztTA?aPR2Fqr5)mQaZ{p$7AS6@|~f8(_2QrxoaE^)CeObDVV z{3OPLAS}bbH{jpk*MOIa!3X>=Cf>7Nmj&qu)05ykh5nY&97X>Z{crR?(SJuj3>>lo za(9jZN8k=2pj05D7hi-2o`=V$o`T2TN8m9twI7~h;YR}e@gGOven;T?{$FoR2~QSo zJiL7N{K-dtaB_L|!o?N;bFHE>hx2D&TRyjX>O@RZmmAHB z+*qip%~G}2s8;1#U0yhL@xp7X=T2RC>x=U&=J|#BMp-V;zx(b8pSoPFGoQ2PPOU5h zx05!dy{o2vX?~$Rg1o7gD~$Z&nNt_OIB(E4kOO6@TxlpZxvExc6;)N_YI8(bwNkB) zP6PyCiSXM$`knxP{KpaC2<&bI7R8yTo;vWHC>9>?ds@fTgQrb(%Ql>=@4IVlYIUh= zucN{vKltg_FEH7B68(_n`fMzl?`{xy>Nx@&fnfyB%!13x3_N~n4?JF*g2%~8=D1J% z7{-6}Yv_HXqUpl-3%^mgTzI*#U;JzE;J=-LKn1l$&+aXGo@p#mRhG*&wJMcWxhg3Q zMUyltE0Qh~S<~tby^|HBt@kasi_+^si7%NwM82hQlV3+5RIlntE6Q} zM1_Z&oswFUk0Suc&YSkh8kPTTP6rgLgG)P^g(JWV5ta6)fhvEy%U%0SIj&7~H*$ENu3u$B#U=-Ly&nhb6Pxy2(_oL5N$rT*rXAv%RxfgJ z%`RQjXxkieqCF#~vHGSCscKvHdgN$R$MS3);_J0N(vErSHYKhVv-D*l=TagOy47=S zQ}dEkmfa>j^JmhDbExjwrn?RS7z}35jq^=(ojT4aAIk-1qdbfxvg~8crdLcS35W0M z=U|g-Ak(E2=#zIXgMl356{>XyWfCO|ASC}hHj;e#@>x+YYD1cZj^xTL4k zE2QHkC_`7z>PC?#WzERZq4pJ1r>Po}aJxe76b4qG+UacSme=o?y>=>wfDCFuTytWl z5mhhtB;7!6ehs`{kU|Qrs3GRxA5!BZ{ZhWM2fRT zfBZ)u2f;|v>6c7?-nEroC_!KM( z3V&RfLXV+i=o^BtQ4*);4j&e;KkgEcSe!lxL8JphYHQ6|cZNO-$ImSvyReKe9DC*T zG9L28FU-z3wrSu~XD%$CTt0`-tX{xpE}lNk<{HFvFRk^GLYVK8q-SJ~?b2)U#3Lol zFj^2}uD?{6o|7c;#$i9f110C0ZgsqF&l&zksU#2kvNX5W{D{^-{39K!?aO1Sv=0az z{SxhxZ2u^GL!pP5ZjK-#@a4J?J_d(w!L)15fawy*lOXdZypqVJ_(hQ=W&{zzZ1F=8 zP0t-TApY`Oey&4xaroav3arqPVH69Jn^VscJv!@IfOU<;^dw3f%dpvlIfAwTNJlose!i1o70F6U$$~Bk1tz8606d2wYs7nwqN}5WhSedo(i& zgY3zQJ|axTAGwC|KOg_c>VJ7)j=+x-0XCYCG5*gAFM@fH@T5k-^JF<^qdNbpB#>FpwI% zC23Qfk{-piy`zVQNXr?rc{qzrM3~|cxfWadGB8Vw$03hLvUns&Q(O}6#n%1|J_!Y6 z$mh{4J_*tkpM-nyt%s)ODhEVwQ_%!!;*iB-Su6(Hs6uUSacdTj* zqklXr`j|46f!Mit{*kFU>3|3-*>u(N6^3E-Ph>?OXcd!b_g(n-pYG)N7e`?CAuz`H z&-H)1uef=NIRYsJc>7Pm!9O?x4-^8t{XbB}%`?jpNFgw8`!9T7fOY@xq3?jr&ke8w zJ_mNd7%YMR0X+DRBe2^L_%y1C)pDgKmFrTqexaf))zl@W@%FwfkG)wQvsoT9qdn?x z@5%C*&hnVb@|eu>m>BI*dmCkW6y{KEW-}zUxB2{kw^eSQUXH*J0^^SVVCKi||AsK- zpB#bRf&g#-yQQRfIynM&9)Ypj|9$~Z`(;Q?D7Q_a>h~$Hj{-ZV}z=z}8U*zvnrwg*_K{ zi0(NPkD^1sn(APN?O@t7yMfXFL+II=L@xOJe}~pZo-B?)UIfM%|JnYZ8Q~QH{(eRH zk+>rMapCpCchG0izs$@0{G+4I68#;>p;_XSS!RjBHsz#QqVH0C^RcP9#RKByVOz&w zi%1yjTvn{%Mv`Q-fm89F$4Bqh80-rPWBznj%mccVjpo3ycxRRsVqL5Hg~5OZt^W|h)+(>y$-C4!>nTi(s;X0$o(@}+((5;C14am(fm|~?Q`-( zg^=}uOxDTM7m@{-jHK9_%P<*+?fHWP9YRh&k;N%Nn#x#NV0{0;Ty#3#Yh03$U5y*)EZ~r-g;$$3w`w#)%{_n#=+k|MWA{bEm)t>bYSXs1bMKgjPwy;O5*#SJi~q(u9oWvlxxI$R=sPw%NP*=F_9C9D_Sv zLw?U@@e8O@*$SMB*FKwJhq&pgqL9buvUqF?kYcyVxA@L8qYG@BZMY*^xoWost(I$-a4^CRjkV8b)91G_iOK5WUj5^t^O+c$s9HNEZvIKpY}nDpRU zv%XE48-~lR;BNub_RVj(*fo2)X?Q&s_bJ?j1=nd=nCQ6YbvmT9uRF2vu6W)9>sz=3 z%7M$Cp#FPZhxBk4ZgYaI9I#=8?GGv8Gb}(i5>4U77@Eforg;Dt>0XLyRX8cVuKEFW{S~gsjWdbMzUshNw*o!EF|APi!>A#O@h?S4^-gXRsd!!=4<7% zzd|pWx(DSLlujy#A?L1H3hu}_g1#i4rJW9J;-P-#0&K$+F~}X#H)#(?`NA4lfy2#U zC3JFP<5BUf4fh2^dxL_lIVF6mH+VZn;d-zhCI(bisIk3vP{%M_l;Hwj&nXq?#K!8( z09=1d4>n8!b)^p<>|Qih>tN>(I9!5D_TW}JY(nMHtu9;xXR+-@P(!@7M@#qw+cadt zt{@=yHxIEA_g_lf{%=S2a6C~Qf&2)JA^-FCpC4vU$r0F*2=Mm5Ba4M6iX(7O5E#4t zzsS!2{B`s?`b~5ey@>u4Euo)fMv{b0!>t9go1n=vnbJ%<(}<kVaG^{Iz^;jOo#5<`$I#)K z3l=+#q$^1$LE)rRF8}ZNipLYk5!f1mvB!UY{^!;Jb6<|Y4n}~t{~cU7JZT((yNm#D z|92T+9z9232O}^>`)BrldxU=?z~7&XuZSNNP8a?SdNTj%f8(I?*0ZB8WQHREDQORm zI4fouI)!8@`=-#XXnrokQfy#L=B|TX2-Pjya1LiNNYbXbBt44ya~XF(x2a`NM~6qq zXd#PHOqpU6I~Oh<$(st1DnGjk5U%v zZGxxLvkh(W?4hZ-!v{ojIEje^4@+6;U^FRa%%SMLkYN#SZM_}ys|7-F6e}9So41F8@ zJGcq>JLnViH@h4eo_vnL?nQtZ_EgJdSt`R-#%gd25o_zSp+`-sl%=XN6MohuAg$Je z`-K?YRO|ty)nIQE^9am=5E5p%{J(pv2TwUiz(-*0@t@oO@S4OC*tH1o_P=Y3jwhTW zFg60?w*Nv|DEzO&pA>!r{WUsJ_%ixk)GAy=zle^32mf&d5(s<_t%#Rgx4*Qw2$$7% zN^mXTqM^fI*JLIYix=oMci$m&eoLbB)IVEkFT3b=tH@5l2_STKyVy<;mpIg&$w{{- zC*5?e)J^39WO6%}As`cZB11VND|`;E&TNk^l$g=hV`?oclUV*FK ztzKwlCTGRXjO8NY6qA%s@f~UO@q8>Pz4%tyS{9!HU5drPvG`7DbnG_m`1@VMT-38- zAJC;@A2=4h#SB|On+BIV!%o_^7u$_Cve~5RhuEb(i*J@kpV8>(muMHP5PcKUW)`o2 zD#amiDsD_vrsr0`qEi|+mrU6Nvhrg9hm6!rMoG)WL7+6>Q52#5-->|#5&a#k{Cxte zejlMe4yCSJ;>S+?)RN*YILue+@7G+><7r zPJjCAdNHwo06_dXktRmz&%%Cma3&@W*8h$U*8jhYZlHe#ZQnyj(Q))g@hQN&ykvOt zIRbY90blU0ptk7Qy(P~xjiqL@sx-7(T~c&SmlUI=N@}xSmJCg9HOoqs%C$z~Xjc|N zuwI{vMJ4sRT2mU5R#!DisjDrCR4Og0YBU=)xn9>aL!V+{C)2?cO;`1%EUAqaq(D>3 zl1jCvM4GhOXf{YqugeoG7+?Rt3zdOK$r1SRAmDdH>@l)uVIDze!QMu-|H6|3`U~{$ z;moghk%IOX{SDE2 zE>-vCCES~ra5gXDOkTo0c?qZU5>DkMoXkr&k(UtVB`h357YEA!EsK!b|2=rko9FmG zLtxzTpRfPjXBC2H=Yc|ixBmyKxOrwd0x1M|`%l5aKR5yp6au{cKTyTZGs_W3AuvY! z5A6S*5DLc%pCB3iYw^E`UlX55#s0v3c+Ct;GvAo5?`a(q)ZnpM-mxsBtYP|;J=U;i z@twwK^Enr;a9D$TLPHajQi!RxC5$G%z;yJL#$5E zy$*J4#bG-(u*>UPJ;&5K6i(Q4*KN2YHRQ9D#b;EQ6xUG%#g4p{5v6X^WN97A;_Vm6 zfH=i8m zJBRjv>jL_(=ugl$(Kpc7VHNQA(SJrCqpzVKaZBI_uJhv=zBdT$Lr;q?Y?fNI-Bxh2 z2eZ>N*^Z~h_xiLw%Lers_6Y2Q_M>Ma-|E!k=&;BRd<_Sp#lF!BPWN~UHBuheF1g*# z;cMMaVDj?_Iy4jTaIUnOGhhF^H^t4la0Koe0%OSky#3#`QsEJE1nvz2W3+#kK(>Vm zgDlW@^Yh`R;Vtck=EDHiRVOn5_zlPmJ)%l(8>b!WUr)GLDODC@T6ZL|OW{7m z#rdPN7=AAq`ci!S`_ah$x}rA0(78#ZR$VJg3aQHyp#7WyF@g{wF!{F;hD~5kKzu|JqH^m=`LWn zgHoq9adFq`bW8^vF2Tk&pvPu!0qa(`YZ(^1OL74dukFziJ^`^{6QTfeOl;l5S7^t7 zDFw-m_|3k=%mu?8F-P$&l@rF>mIcNs%rQr&_MSQG<0jMessJS*oc^O6~2J;sU&HdI{Q+%cQAE%|_jjlxDRlsa2&e z>2iZ;O080c4HkY&N^~)U#girMb zZ^tOyfzrdoF#D#X!?hl`=XE;JBH{j7+Ua=CriSMCiqPdQy<&NAB}lLRiggX^HgwOd z(Or|Qw!UQ0))F`^EuTGqa;aXbRF)LES`WKa=u}zo)7DjLAGhotwU5@zCD^lqD{`q( zQ(jse_VytOgI(;yCe=Z(W=W}(aivjGtK}eA(mO!Xk1dhbqnTYrj>6iys|X7O*VU07hdp7CP>jjP)tF3;Ddob^ubCqB4Z!LB5VJ0+`#h; z{SQ({QLhu)sA~hF?O(w&s9hoWCgva_RcclH-??*wQPGp1D%9_-I9htDBvId(e%M=6!Qc>zH z!>BY37#DAMI*}v-2@>U#B5(gz@8h3?m>T$nl~(kO&I$pOwec!#pZE_ z*`|)`pVn0^RpyVzm(Y)F{7ZvVH{ywvnqzONA6FDKYdp_`>DDbg8qc=?2;(@9IG%Up z$;OsVJLJ6u=a_Fa+sVUqtR_5GV14m+=HcO7;F@EkYT8vfsAc7HW$_Cur_cMxq--;3 zZ!{HJB`rfDDm)aJwM!~ds}hl$N>grB^d{A_TbbVoj&;n-9_iv1C<$P!^12xG3@}bz zW;0bbLmky%ww2^FM&7|#`P#Z+TWy>4FRe?`2~+p4;j>NZjBZpT25eZj@o9&LYPRBh z6pns}Bi-4_?LLj~Hez^w6I!;Zc^$~JpIcwA5Kk>&dI30?T@cR=6Q&wh=p_>-?xcjz z_%jMehtjtLt$^;?4jbIfyn}b1lEZl0!r8jH2LpO0*y*tz5XCq~j&%cf0iG?p2$tS$ zvwT;Qm5EUdNK%9VteE}Jr0^>OdZqAj;fVO3;B_bbK0G}6Qv2Y=x!Q-_8;=VstHMU( z<#f6Zvd_b5x9BVCc=OcH`$PJHyubR@?!*xvwVykAoeJlV3j(0jj!@a=B?2wS01Z(s z|J?H^we&Lt}&+bBeibKg9y_6CXTO_`ILD57w`LSvW5U8;@qh%$zs; z>X9Uf_*HVK6Y^FGU~v2cSq!S`2i8~Cgwg;IwJzj)+^^~-Hp7D*HM#$wStRB^2G9HW9eQHoPgYTJ62X{Q33FdHFx7T$@uN19H zc^%g_bqecn9e(#W zVd~)?g$2O80)Cz%+`5^B#RQ7Bkx*moqlxj(hHJ}K8D?>3=U_DaZ2T_>zatdB2alcp z`}w&&feiQyZ`?R2oR@@+H{^7hlVab-(`mni%$Y|Y^B_wYcTl&J2kJXB20&@Q{^9e} z;k@y=8#0?ETt5{^p~F>S^!F`|T)V!400yTR4rxg)5YkqN2Rb2U^bw2~!6=&+&u(Fu zjdh~ZaoYlelU}gCKG39%7(S1CHqlJivzfx%?3o0tPhfQO*PPgZM_?hGEk!MWx+)wg z2ZJOV=@zg*Zh|^Xhb43uQ`>T|KL8V*S*wg#pz>GHL6`3<+5(LUyHC;2y6+aG@(!=D zD~(c3tzk(imDNW6HTGJiRIM~{xzuc`V=uAiX{0$v`QeI_)Wb(*kMZ3v-GLU66(N*t z3TBLx@a4+caK7$-21c}*xKc(I08nqh)WXl*0;@#u!SYsJU{ym+y{Cx$k6``ZxBP=z zozmkc4}Al_*f=ku8rP8TP7X3T=2drQkQvoiKL2dBtRC@t@V{I+g2Q>#NZY#}el-7xQ7(nT(Xt$n@CW|zXKC8rRfEfyH^ z=qT^V+@Ue1#SLWTwBP=P?+Wa1m;HYBmDzB$;n4Mmh1FxDlb_TGBq^e)9x2yJOIGWW zT!HRYQL2X2WGAOrt6Hr=)Ur`+Rd+;j{g}kGtyR2v(7S!f%U5^%!AHqm2^)HBSfDJ8 zj2?m@>Dg+y7%|X%)3#4Ev_ugrbWdH7UOmM~VyCR7ggh8*EeZJfOmALDXDD7~plyu( zv~8)8^drp1CkBBv33in8K)%2C(|~R2m!?!nQ&%LlMw@UGf()yIt%fSeGOdBhex+Wn z5x*dBYc(s|0Phxb8%f2gpOj(IJYha7Ex7}%h1O`btlbKm=8T9Uh z)q;p(F!nQ30_=w#ZA>sQm~p{YlpO)%N3}^9jkeLQShi+je?dRcGBWc3w)7vZZ(NDZ zT>CbosUC4nCLH){9l_E`A9nSE8wN`O_+u+1jIegZg_QPm)9`w3utegU3cxyvzvpn1 zFp;s5Cr>$UJ^lxVzN}Dgew-|jo8R?lc c-`WP4EhPY!nNeA}=c!Df1scQ +# +# Copyright (c) 2012 Tom Kralidis +# +# Permission is hereby granted, free of charge, to any person +# obtaining a copy of this software and associated documentation +# files (the "Software"), to deal in the Software without +# restriction, including without limitation the rights to use, +# copy, modify, merge, publish, distribute, sublicense, and/or sell +# copies of the Software, and to permit persons to whom the +# Software is furnished to do so, subject to the following +# conditions: +# +# The above copyright notice and this permission notice shall be +# included in all copies or substantial portions of the Software. +# +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +# EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES +# OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +# NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT +# HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, +# WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR +# OTHER DEALINGS IN THE SOFTWARE. +# +# ================================================================= + +[server] +home=. +url=http://localhost/pycsw/csw.py?config=tests/suites/cite/default.cfg +mimetype=application/xml; charset=UTF-8 +encoding=UTF-8 +language=en-US +#maxrecords=10 +federatedcatalogues=http://geo.data.gov/geoportal/csw/discovery +pretty_print=true +#spatial_ranking=true +gzip_compresslevel=9 + +[manager] +transactions=true +allowed_ips=127.0.0.1 +csw_harvest_pagination_size=10 + +[metadata:main] +identification_title=pycsw Geospatial Catalogue +identification_abstract=pycsw is an OGC CSW server implementation written in Python +identification_keywords=catalogue,discovery +identification_keywords_type=theme +identification_fees=None +identification_accessconstraints=None +provider_name=pycsw +provider_url=http://pycsw.org/ +contact_name=Kralidis, Tom +contact_position=Senior Systems Scientist +contact_address=TBA +contact_city=Toronto +contact_stateorprovince=Ontario +contact_postalcode=M9C 3Z9 +contact_country=Canada +contact_phone=+01-416-xxx-xxxx +contact_fax=+01-416-xxx-xxxx +contact_email=tomkralidis@gmail.com +contact_url=http://kralidis.ca/ +contact_hours=0800h - 1600h EST +contact_instructions=During hours of service. Off on weekends. +contact_role=pointOfContact + +[repository] +# sqlite +database=sqlite:///tests/suites/cite/data/records.db +table=records + +[metadata:inspire] +#enabled=true +languages_supported=eng,gre +default_language=eng +date=2011-03-29 +gemet_keywords=Utility and governmental services +conformity_service=notEvaluated +contact_name=National Technical University of Athens +contact_email=tzotsos@gmail.com +temp_extent=2011-02-01/2011-03-30 + diff --git a/tests/functionaltests/suites/cite/expected/get_27e17158-c57a-4493-92ac-dba8934cf462.xml b/tests/functionaltests/suites/cite/expected/get_27e17158-c57a-4493-92ac-dba8934cf462.xml new file mode 100644 index 000000000..369f8d8d5 --- /dev/null +++ b/tests/functionaltests/suites/cite/expected/get_27e17158-c57a-4493-92ac-dba8934cf462.xml @@ -0,0 +1,310 @@ + + + + + pycsw Geospatial Catalogue + pycsw is an OGC CSW server implementation written in Python + + catalogue + discovery + theme + + CSW + 2.0.2 + 3.0.0 + None + None + + + pycsw + + + Kralidis, Tom + Senior Systems Scientist + + + +01-416-xxx-xxxx + +01-416-xxx-xxxx + + + TBA + Toronto + Ontario + M9C 3Z9 + Canada + tomkralidis@gmail.com + + + 0800h - 1600h EST + During hours of service. Off on weekends. + + pointOfContact + + + + + + + + + + + + Filter_Capabilities + OperationsMetadata + ServiceIdentification + ServiceProvider + + + + + + + + + + + application/json + application/xml + + + http://www.w3.org/2001/XMLSchema + http://www.w3.org/TR/xmlschema-1/ + http://www.w3.org/XML/Schema + + + csw:Record + + + + + + + + + + + DescribeRecord.outputFormat + DescribeRecord.schemaLanguage + DescribeRecord.typeName + GetCapabilities.sections + GetRecordById.ElementSetName + GetRecordById.outputFormat + GetRecordById.outputSchema + GetRecords.CONSTRAINTLANGUAGE + GetRecords.ElementSetName + GetRecords.outputFormat + GetRecords.outputSchema + GetRecords.resultType + GetRecords.typeNames + Harvest.ResourceType + Transaction.TransactionSchemas + + + + + + + + + + + CQL_TEXT + FILTER + + + brief + full + summary + + + application/json + application/xml + + + http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ + http://www.interlis.ch/INTERLIS2.3 + http://www.opengis.net/cat/csw/2.0.2 + http://www.opengis.net/cat/csw/csdgm + http://www.w3.org/2005/Atom + + + hits + results + validate + + + csw:Record + + + csw:AnyText + dc:contributor + dc:creator + dc:date + dc:format + dc:identifier + dc:language + dc:publisher + dc:relation + dc:rights + dc:source + dc:subject + dc:title + dc:type + dct:abstract + dct:modified + ows:BoundingBox + + + + + + + + + + + brief + full + summary + + + application/json + application/xml + + + http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ + http://www.interlis.ch/INTERLIS2.3 + http://www.opengis.net/cat/csw/2.0.2 + http://www.opengis.net/cat/csw/csdgm + http://www.w3.org/2005/Atom + + + + + + + + + + + + + + + + + http://www.isotc211.org/2005/gmi + http://www.opengis.net/cat/csw/2.0.2 + http://www.opengis.net/cat/csw/3.0 + http://www.opengis.net/sos/1.0 + http://www.opengis.net/sos/2.0 + http://www.opengis.net/wcs + http://www.opengis.net/wfs + http://www.opengis.net/wfs/2.0 + http://www.opengis.net/wms + http://www.opengis.net/wmts/1.0 + http://www.opengis.net/wps/1.0.0 + urn:geoss:waf + + + + + + + + + + http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ + http://www.interlis.ch/INTERLIS2.3 + http://www.isotc211.org/2005/gmi + http://www.opengis.net/cat/csw/2.0.2 + http://www.opengis.net/cat/csw/3.0 + http://www.opengis.net/cat/csw/csdgm + http://www.opengis.net/sos/1.0 + http://www.opengis.net/sos/2.0 + http://www.opengis.net/wcs + http://www.opengis.net/wfs + http://www.opengis.net/wfs/2.0 + http://www.opengis.net/wms + http://www.opengis.net/wmts/1.0 + http://www.opengis.net/wps/1.0.0 + http://www.w3.org/2005/Atom + urn:geoss:waf + + + + CSW + + + 2.0.2 + 3.0.0 + + + http://geo.data.gov/geoportal/csw/discovery + + + 10 + + + XML + SOAP + + + allowed + + + + + + gml:Point + gml:LineString + gml:Polygon + gml:Envelope + + + + + + + + + + + + + + + + + + + Between + EqualTo + GreaterThan + GreaterThanEqualTo + LessThan + LessThanEqualTo + Like + NotEqualTo + NullCheck + + + + + length + lower + ltrim + rtrim + trim + upper + + + + + + + + + + diff --git a/tests/functionaltests/suites/cite/expected/get_27f69b66-5f05-4311-a89c-73ca55c2686b.xml b/tests/functionaltests/suites/cite/expected/get_27f69b66-5f05-4311-a89c-73ca55c2686b.xml new file mode 100644 index 000000000..ccdc8dc66 --- /dev/null +++ b/tests/functionaltests/suites/cite/expected/get_27f69b66-5f05-4311-a89c-73ca55c2686b.xml @@ -0,0 +1,9 @@ + + + + + urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f + Lorem ipsum + http://purl.org/dc/dcmitype/Image + + diff --git a/tests/functionaltests/suites/cite/expected/get_2ab7d1fa-885b-459f-80e4-b6282eab4f8c.xml b/tests/functionaltests/suites/cite/expected/get_2ab7d1fa-885b-459f-80e4-b6282eab4f8c.xml new file mode 100644 index 000000000..369f8d8d5 --- /dev/null +++ b/tests/functionaltests/suites/cite/expected/get_2ab7d1fa-885b-459f-80e4-b6282eab4f8c.xml @@ -0,0 +1,310 @@ + + + + + pycsw Geospatial Catalogue + pycsw is an OGC CSW server implementation written in Python + + catalogue + discovery + theme + + CSW + 2.0.2 + 3.0.0 + None + None + + + pycsw + + + Kralidis, Tom + Senior Systems Scientist + + + +01-416-xxx-xxxx + +01-416-xxx-xxxx + + + TBA + Toronto + Ontario + M9C 3Z9 + Canada + tomkralidis@gmail.com + + + 0800h - 1600h EST + During hours of service. Off on weekends. + + pointOfContact + + + + + + + + + + + + Filter_Capabilities + OperationsMetadata + ServiceIdentification + ServiceProvider + + + + + + + + + + + application/json + application/xml + + + http://www.w3.org/2001/XMLSchema + http://www.w3.org/TR/xmlschema-1/ + http://www.w3.org/XML/Schema + + + csw:Record + + + + + + + + + + + DescribeRecord.outputFormat + DescribeRecord.schemaLanguage + DescribeRecord.typeName + GetCapabilities.sections + GetRecordById.ElementSetName + GetRecordById.outputFormat + GetRecordById.outputSchema + GetRecords.CONSTRAINTLANGUAGE + GetRecords.ElementSetName + GetRecords.outputFormat + GetRecords.outputSchema + GetRecords.resultType + GetRecords.typeNames + Harvest.ResourceType + Transaction.TransactionSchemas + + + + + + + + + + + CQL_TEXT + FILTER + + + brief + full + summary + + + application/json + application/xml + + + http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ + http://www.interlis.ch/INTERLIS2.3 + http://www.opengis.net/cat/csw/2.0.2 + http://www.opengis.net/cat/csw/csdgm + http://www.w3.org/2005/Atom + + + hits + results + validate + + + csw:Record + + + csw:AnyText + dc:contributor + dc:creator + dc:date + dc:format + dc:identifier + dc:language + dc:publisher + dc:relation + dc:rights + dc:source + dc:subject + dc:title + dc:type + dct:abstract + dct:modified + ows:BoundingBox + + + + + + + + + + + brief + full + summary + + + application/json + application/xml + + + http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ + http://www.interlis.ch/INTERLIS2.3 + http://www.opengis.net/cat/csw/2.0.2 + http://www.opengis.net/cat/csw/csdgm + http://www.w3.org/2005/Atom + + + + + + + + + + + + + + + + + http://www.isotc211.org/2005/gmi + http://www.opengis.net/cat/csw/2.0.2 + http://www.opengis.net/cat/csw/3.0 + http://www.opengis.net/sos/1.0 + http://www.opengis.net/sos/2.0 + http://www.opengis.net/wcs + http://www.opengis.net/wfs + http://www.opengis.net/wfs/2.0 + http://www.opengis.net/wms + http://www.opengis.net/wmts/1.0 + http://www.opengis.net/wps/1.0.0 + urn:geoss:waf + + + + + + + + + + http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ + http://www.interlis.ch/INTERLIS2.3 + http://www.isotc211.org/2005/gmi + http://www.opengis.net/cat/csw/2.0.2 + http://www.opengis.net/cat/csw/3.0 + http://www.opengis.net/cat/csw/csdgm + http://www.opengis.net/sos/1.0 + http://www.opengis.net/sos/2.0 + http://www.opengis.net/wcs + http://www.opengis.net/wfs + http://www.opengis.net/wfs/2.0 + http://www.opengis.net/wms + http://www.opengis.net/wmts/1.0 + http://www.opengis.net/wps/1.0.0 + http://www.w3.org/2005/Atom + urn:geoss:waf + + + + CSW + + + 2.0.2 + 3.0.0 + + + http://geo.data.gov/geoportal/csw/discovery + + + 10 + + + XML + SOAP + + + allowed + + + + + + gml:Point + gml:LineString + gml:Polygon + gml:Envelope + + + + + + + + + + + + + + + + + + + Between + EqualTo + GreaterThan + GreaterThanEqualTo + LessThan + LessThanEqualTo + Like + NotEqualTo + NullCheck + + + + + length + lower + ltrim + rtrim + trim + upper + + + + + + + + + + diff --git a/tests/functionaltests/suites/cite/expected/get_37aa90e2-6ff0-420c-af15-8b9463099a73.xml b/tests/functionaltests/suites/cite/expected/get_37aa90e2-6ff0-420c-af15-8b9463099a73.xml new file mode 100644 index 000000000..fb6934aaa --- /dev/null +++ b/tests/functionaltests/suites/cite/expected/get_37aa90e2-6ff0-420c-af15-8b9463099a73.xml @@ -0,0 +1,14 @@ + + + + + urn:uuid:9a669547-b69b-469f-a11f-2d875366bbdc + Ñunç elementum + http://purl.org/dc/dcmitype/Dataset + Hydrography-Oceanographic + + 44.79 -6.17 + 51.13 -2.23 + + + diff --git a/tests/functionaltests/suites/cite/expected/get_3a8a3c47-455f-4f49-9078-03119f3e70b3.xml b/tests/functionaltests/suites/cite/expected/get_3a8a3c47-455f-4f49-9078-03119f3e70b3.xml new file mode 100644 index 000000000..29f606bb3 --- /dev/null +++ b/tests/functionaltests/suites/cite/expected/get_3a8a3c47-455f-4f49-9078-03119f3e70b3.xml @@ -0,0 +1,7 @@ + + + + + Invalid acceptFormats parameter value: message/example + + diff --git a/tests/functionaltests/suites/cite/expected/get_4515831f-834a-4699-95f6-ab0c2cbfcfd0.xml b/tests/functionaltests/suites/cite/expected/get_4515831f-834a-4699-95f6-ab0c2cbfcfd0.xml new file mode 100644 index 000000000..95a2f2803 --- /dev/null +++ b/tests/functionaltests/suites/cite/expected/get_4515831f-834a-4699-95f6-ab0c2cbfcfd0.xml @@ -0,0 +1,7 @@ + + + + + Missing id parameter + + diff --git a/tests/functionaltests/suites/cite/expected/get_477b23a3-baa9-47c8-9541-5fe27735ed49.xml b/tests/functionaltests/suites/cite/expected/get_477b23a3-baa9-47c8-9541-5fe27735ed49.xml new file mode 100644 index 000000000..77dd76c6b --- /dev/null +++ b/tests/functionaltests/suites/cite/expected/get_477b23a3-baa9-47c8-9541-5fe27735ed49.xml @@ -0,0 +1,543 @@ + + + + + pycsw Geospatial Catalogue + pycsw is an OGC CSW server implementation written in Python + + catalogue + discovery + theme + + CSW + 2.0.2 + 3.0.0 + None + None + + + pycsw + + + Kralidis, Tom + Senior Systems Scientist + + + +01-416-xxx-xxxx + +01-416-xxx-xxxx + + + TBA + Toronto + Ontario + M9C 3Z9 + Canada + tomkralidis@gmail.com + + + 0800h - 1600h EST + During hours of service. Off on weekends. + + pointOfContact + + + + + + + + + + + + + application/xml + text/xml + + + + + 2.0.2 + 3.0.0 + + + + + All + Filter_Capabilities + OperationsMetadata + ServiceIdentification + ServiceProvider + + + + + + + + + + + + + GetCapabilities.acceptFormats + GetCapabilities.acceptVersions + GetCapabilities.sections + GetRecordById.ElementSetName + GetRecordById.outputFormat + GetRecordById.outputSchema + GetRecords.CONSTRAINTLANGUAGE + GetRecords.ElementSetName + GetRecords.outputFormat + GetRecords.outputSchema + GetRecords.typeNames + Harvest.ResourceType + Transaction.TransactionSchemas + + + + + + + + + + + + + CQL_TEXT + FILTER + + + + + brief + full + summary + + + + + application/atom+xml + application/json + application/xml + + + + + http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ + http://www.interlis.ch/INTERLIS2.3 + http://www.opengis.net/cat/csw/3.0 + http://www.opengis.net/cat/csw/csdgm + http://www.w3.org/2005/Atom + + + + + csw:Record + + + + + 10 + + + + + http://localhost/pycsw/csw.py?config=tests/suites/cite/default.cfg?mode=opensearch&service=CSW&version=3.0.0&request=GetCapabilities + + + + + http://geo.data.gov/geoportal/csw/discovery + + + + + + + + + + + + + brief + full + summary + + + + + application/atom+xml + application/json + application/xml + + + + + http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ + http://www.interlis.ch/INTERLIS2.3 + http://www.opengis.net/cat/csw/3.0 + http://www.opengis.net/cat/csw/csdgm + http://www.w3.org/2005/Atom + + + + + + + + + + + + + + + + + + + http://www.isotc211.org/2005/gmi + http://www.opengis.net/cat/csw/2.0.2 + http://www.opengis.net/cat/csw/3.0 + http://www.opengis.net/sos/1.0 + http://www.opengis.net/sos/2.0 + http://www.opengis.net/wcs + http://www.opengis.net/wfs + http://www.opengis.net/wfs/2.0 + http://www.opengis.net/wms + http://www.opengis.net/wmts/1.0 + http://www.opengis.net/wps/1.0.0 + urn:geoss:waf + + + + + + + + + + + + http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ + http://www.interlis.ch/INTERLIS2.3 + http://www.isotc211.org/2005/gmi + http://www.opengis.net/cat/csw/2.0.2 + http://www.opengis.net/cat/csw/3.0 + http://www.opengis.net/cat/csw/csdgm + http://www.opengis.net/sos/1.0 + http://www.opengis.net/sos/2.0 + http://www.opengis.net/wcs + http://www.opengis.net/wfs + http://www.opengis.net/wfs/2.0 + http://www.opengis.net/wms + http://www.opengis.net/wmts/1.0 + http://www.opengis.net/wps/1.0.0 + http://www.w3.org/2005/Atom + urn:geoss:waf + + + + + + CSW + + + + + 2.0.2 + 3.0.0 + + + + + csw:AnyText + dc:contributor + dc:creator + dc:date + dc:format + dc:identifier + dc:language + dc:publisher + dc:relation + dc:rights + dc:source + dc:subject + dc:title + dc:type + dct:abstract + dct:modified + ows:BoundingBox + + + + + http://geo.data.gov/geoportal/csw/discovery + + + + + 10 + + + + + SOAP + XML + + + + + allowed + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + http://www.opengis.net/gml + + + + + TRUE + + + + + en + + + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + xs:string + + + xs:string + + + xs:string + + + xs:string + + + xs:string + + + xs:string + + + + diff --git a/tests/functionaltests/suites/cite/expected/get_48f26761-3a9d-48db-bee1-da089f5fb857.xml b/tests/functionaltests/suites/cite/expected/get_48f26761-3a9d-48db-bee1-da089f5fb857.xml new file mode 100644 index 000000000..369f8d8d5 --- /dev/null +++ b/tests/functionaltests/suites/cite/expected/get_48f26761-3a9d-48db-bee1-da089f5fb857.xml @@ -0,0 +1,310 @@ + + + + + pycsw Geospatial Catalogue + pycsw is an OGC CSW server implementation written in Python + + catalogue + discovery + theme + + CSW + 2.0.2 + 3.0.0 + None + None + + + pycsw + + + Kralidis, Tom + Senior Systems Scientist + + + +01-416-xxx-xxxx + +01-416-xxx-xxxx + + + TBA + Toronto + Ontario + M9C 3Z9 + Canada + tomkralidis@gmail.com + + + 0800h - 1600h EST + During hours of service. Off on weekends. + + pointOfContact + + + + + + + + + + + + Filter_Capabilities + OperationsMetadata + ServiceIdentification + ServiceProvider + + + + + + + + + + + application/json + application/xml + + + http://www.w3.org/2001/XMLSchema + http://www.w3.org/TR/xmlschema-1/ + http://www.w3.org/XML/Schema + + + csw:Record + + + + + + + + + + + DescribeRecord.outputFormat + DescribeRecord.schemaLanguage + DescribeRecord.typeName + GetCapabilities.sections + GetRecordById.ElementSetName + GetRecordById.outputFormat + GetRecordById.outputSchema + GetRecords.CONSTRAINTLANGUAGE + GetRecords.ElementSetName + GetRecords.outputFormat + GetRecords.outputSchema + GetRecords.resultType + GetRecords.typeNames + Harvest.ResourceType + Transaction.TransactionSchemas + + + + + + + + + + + CQL_TEXT + FILTER + + + brief + full + summary + + + application/json + application/xml + + + http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ + http://www.interlis.ch/INTERLIS2.3 + http://www.opengis.net/cat/csw/2.0.2 + http://www.opengis.net/cat/csw/csdgm + http://www.w3.org/2005/Atom + + + hits + results + validate + + + csw:Record + + + csw:AnyText + dc:contributor + dc:creator + dc:date + dc:format + dc:identifier + dc:language + dc:publisher + dc:relation + dc:rights + dc:source + dc:subject + dc:title + dc:type + dct:abstract + dct:modified + ows:BoundingBox + + + + + + + + + + + brief + full + summary + + + application/json + application/xml + + + http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ + http://www.interlis.ch/INTERLIS2.3 + http://www.opengis.net/cat/csw/2.0.2 + http://www.opengis.net/cat/csw/csdgm + http://www.w3.org/2005/Atom + + + + + + + + + + + + + + + + + http://www.isotc211.org/2005/gmi + http://www.opengis.net/cat/csw/2.0.2 + http://www.opengis.net/cat/csw/3.0 + http://www.opengis.net/sos/1.0 + http://www.opengis.net/sos/2.0 + http://www.opengis.net/wcs + http://www.opengis.net/wfs + http://www.opengis.net/wfs/2.0 + http://www.opengis.net/wms + http://www.opengis.net/wmts/1.0 + http://www.opengis.net/wps/1.0.0 + urn:geoss:waf + + + + + + + + + + http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ + http://www.interlis.ch/INTERLIS2.3 + http://www.isotc211.org/2005/gmi + http://www.opengis.net/cat/csw/2.0.2 + http://www.opengis.net/cat/csw/3.0 + http://www.opengis.net/cat/csw/csdgm + http://www.opengis.net/sos/1.0 + http://www.opengis.net/sos/2.0 + http://www.opengis.net/wcs + http://www.opengis.net/wfs + http://www.opengis.net/wfs/2.0 + http://www.opengis.net/wms + http://www.opengis.net/wmts/1.0 + http://www.opengis.net/wps/1.0.0 + http://www.w3.org/2005/Atom + urn:geoss:waf + + + + CSW + + + 2.0.2 + 3.0.0 + + + http://geo.data.gov/geoportal/csw/discovery + + + 10 + + + XML + SOAP + + + allowed + + + + + + gml:Point + gml:LineString + gml:Polygon + gml:Envelope + + + + + + + + + + + + + + + + + + + Between + EqualTo + GreaterThan + GreaterThanEqualTo + LessThan + LessThanEqualTo + Like + NotEqualTo + NullCheck + + + + + length + lower + ltrim + rtrim + trim + upper + + + + + + + + + + diff --git a/tests/functionaltests/suites/cite/expected/get_4e38092f-1586-44b8-988e-0acfa5855916.xml b/tests/functionaltests/suites/cite/expected/get_4e38092f-1586-44b8-988e-0acfa5855916.xml new file mode 100644 index 000000000..82bbd70d8 --- /dev/null +++ b/tests/functionaltests/suites/cite/expected/get_4e38092f-1586-44b8-988e-0acfa5855916.xml @@ -0,0 +1,7 @@ + + + + + Invalid outputformat parameter application/bogus_xml + + diff --git a/tests/functionaltests/suites/cite/expected/get_55c38f00-2553-42c1-99ab-33edbb561ad7.xml b/tests/functionaltests/suites/cite/expected/get_55c38f00-2553-42c1-99ab-33edbb561ad7.xml new file mode 100644 index 000000000..14d595bc3 --- /dev/null +++ b/tests/functionaltests/suites/cite/expected/get_55c38f00-2553-42c1-99ab-33edbb561ad7.xml @@ -0,0 +1,392 @@ + + + + + pycsw Geospatial Catalogue + pycsw is an OGC CSW server implementation written in Python + + catalogue + discovery + theme + + CSW + 2.0.2 + 3.0.0 + None + None + + + + + + + + + + + + application/xml + text/xml + + + + + 2.0.2 + 3.0.0 + + + + + All + Filter_Capabilities + OperationsMetadata + ServiceIdentification + ServiceProvider + + + + + + + + + + + + + GetCapabilities.acceptFormats + GetCapabilities.acceptVersions + GetCapabilities.sections + GetRecordById.ElementSetName + GetRecordById.outputFormat + GetRecordById.outputSchema + GetRecords.CONSTRAINTLANGUAGE + GetRecords.ElementSetName + GetRecords.outputFormat + GetRecords.outputSchema + GetRecords.typeNames + Harvest.ResourceType + Transaction.TransactionSchemas + + + + + + + + + + + + + CQL_TEXT + FILTER + + + + + brief + full + summary + + + + + application/atom+xml + application/json + application/xml + + + + + http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ + http://www.interlis.ch/INTERLIS2.3 + http://www.opengis.net/cat/csw/3.0 + http://www.opengis.net/cat/csw/csdgm + http://www.w3.org/2005/Atom + + + + + csw:Record + + + + + 10 + + + + + http://localhost/pycsw/csw.py?config=tests/suites/cite/default.cfg?mode=opensearch&service=CSW&version=3.0.0&request=GetCapabilities + + + + + http://geo.data.gov/geoportal/csw/discovery + + + + + + + + + + + + + brief + full + summary + + + + + application/atom+xml + application/json + application/xml + + + + + http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ + http://www.interlis.ch/INTERLIS2.3 + http://www.opengis.net/cat/csw/3.0 + http://www.opengis.net/cat/csw/csdgm + http://www.w3.org/2005/Atom + + + + + + + + + + + + + + + + + + + http://www.isotc211.org/2005/gmi + http://www.opengis.net/cat/csw/2.0.2 + http://www.opengis.net/cat/csw/3.0 + http://www.opengis.net/sos/1.0 + http://www.opengis.net/sos/2.0 + http://www.opengis.net/wcs + http://www.opengis.net/wfs + http://www.opengis.net/wfs/2.0 + http://www.opengis.net/wms + http://www.opengis.net/wmts/1.0 + http://www.opengis.net/wps/1.0.0 + urn:geoss:waf + + + + + + + + + + + + http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ + http://www.interlis.ch/INTERLIS2.3 + http://www.isotc211.org/2005/gmi + http://www.opengis.net/cat/csw/2.0.2 + http://www.opengis.net/cat/csw/3.0 + http://www.opengis.net/cat/csw/csdgm + http://www.opengis.net/sos/1.0 + http://www.opengis.net/sos/2.0 + http://www.opengis.net/wcs + http://www.opengis.net/wfs + http://www.opengis.net/wfs/2.0 + http://www.opengis.net/wms + http://www.opengis.net/wmts/1.0 + http://www.opengis.net/wps/1.0.0 + http://www.w3.org/2005/Atom + urn:geoss:waf + + + + + + CSW + + + + + 2.0.2 + 3.0.0 + + + + + csw:AnyText + dc:contributor + dc:creator + dc:date + dc:format + dc:identifier + dc:language + dc:publisher + dc:relation + dc:rights + dc:source + dc:subject + dc:title + dc:type + dct:abstract + dct:modified + ows:BoundingBox + + + + + http://geo.data.gov/geoportal/csw/discovery + + + + + 10 + + + + + SOAP + XML + + + + + allowed + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + http://www.opengis.net/gml + + + + + TRUE + + + + diff --git a/tests/functionaltests/suites/cite/expected/get_5ab5db18-c87a-4fbf-a8d8-b7289b09ac81.xml b/tests/functionaltests/suites/cite/expected/get_5ab5db18-c87a-4fbf-a8d8-b7289b09ac81.xml new file mode 100644 index 000000000..407b97b9a --- /dev/null +++ b/tests/functionaltests/suites/cite/expected/get_5ab5db18-c87a-4fbf-a8d8-b7289b09ac81.xml @@ -0,0 +1,7 @@ + + + + + Invalid value for service: FOO. Value MUST be CSW + + diff --git a/tests/functionaltests/suites/cite/expected/get_6a4f57ca-a1bd-4802-89c2-44860dbdb0f0.xml b/tests/functionaltests/suites/cite/expected/get_6a4f57ca-a1bd-4802-89c2-44860dbdb0f0.xml new file mode 100644 index 000000000..5ef23a7ab --- /dev/null +++ b/tests/functionaltests/suites/cite/expected/get_6a4f57ca-a1bd-4802-89c2-44860dbdb0f0.xml @@ -0,0 +1,11 @@ + + + + + urn:uuid:6a3de50b-fa66-4b58-a0e6-ca146fdd18d4 + Ut facilisis justo ut lacus + http://purl.org/dc/dcmitype/Service + Vegetation + urn:uuid:94bc9c83-97f6-4b40-9eb8-a8e8787a5c63 + + diff --git a/tests/functionaltests/suites/cite/expected/get_6c375703-9c00-4aef-bec7-d2e964f849eb.xml b/tests/functionaltests/suites/cite/expected/get_6c375703-9c00-4aef-bec7-d2e964f849eb.xml new file mode 100644 index 000000000..6ac70554f --- /dev/null +++ b/tests/functionaltests/suites/cite/expected/get_6c375703-9c00-4aef-bec7-d2e964f849eb.xml @@ -0,0 +1,13 @@ + + + + + + urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f + urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f + + Lorem ipsum + PYCSW_TIMESTAMP + Quisque lacus diam, placerat mollis, pharetra in, commodo sed, augue. Duis iaculis arcu vel arcu. + + diff --git a/tests/functionaltests/suites/cite/expected/get_80f31def-4185-48b9-983a-960566918eae.xml b/tests/functionaltests/suites/cite/expected/get_80f31def-4185-48b9-983a-960566918eae.xml new file mode 100644 index 000000000..77dd76c6b --- /dev/null +++ b/tests/functionaltests/suites/cite/expected/get_80f31def-4185-48b9-983a-960566918eae.xml @@ -0,0 +1,543 @@ + + + + + pycsw Geospatial Catalogue + pycsw is an OGC CSW server implementation written in Python + + catalogue + discovery + theme + + CSW + 2.0.2 + 3.0.0 + None + None + + + pycsw + + + Kralidis, Tom + Senior Systems Scientist + + + +01-416-xxx-xxxx + +01-416-xxx-xxxx + + + TBA + Toronto + Ontario + M9C 3Z9 + Canada + tomkralidis@gmail.com + + + 0800h - 1600h EST + During hours of service. Off on weekends. + + pointOfContact + + + + + + + + + + + + + application/xml + text/xml + + + + + 2.0.2 + 3.0.0 + + + + + All + Filter_Capabilities + OperationsMetadata + ServiceIdentification + ServiceProvider + + + + + + + + + + + + + GetCapabilities.acceptFormats + GetCapabilities.acceptVersions + GetCapabilities.sections + GetRecordById.ElementSetName + GetRecordById.outputFormat + GetRecordById.outputSchema + GetRecords.CONSTRAINTLANGUAGE + GetRecords.ElementSetName + GetRecords.outputFormat + GetRecords.outputSchema + GetRecords.typeNames + Harvest.ResourceType + Transaction.TransactionSchemas + + + + + + + + + + + + + CQL_TEXT + FILTER + + + + + brief + full + summary + + + + + application/atom+xml + application/json + application/xml + + + + + http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ + http://www.interlis.ch/INTERLIS2.3 + http://www.opengis.net/cat/csw/3.0 + http://www.opengis.net/cat/csw/csdgm + http://www.w3.org/2005/Atom + + + + + csw:Record + + + + + 10 + + + + + http://localhost/pycsw/csw.py?config=tests/suites/cite/default.cfg?mode=opensearch&service=CSW&version=3.0.0&request=GetCapabilities + + + + + http://geo.data.gov/geoportal/csw/discovery + + + + + + + + + + + + + brief + full + summary + + + + + application/atom+xml + application/json + application/xml + + + + + http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ + http://www.interlis.ch/INTERLIS2.3 + http://www.opengis.net/cat/csw/3.0 + http://www.opengis.net/cat/csw/csdgm + http://www.w3.org/2005/Atom + + + + + + + + + + + + + + + + + + + http://www.isotc211.org/2005/gmi + http://www.opengis.net/cat/csw/2.0.2 + http://www.opengis.net/cat/csw/3.0 + http://www.opengis.net/sos/1.0 + http://www.opengis.net/sos/2.0 + http://www.opengis.net/wcs + http://www.opengis.net/wfs + http://www.opengis.net/wfs/2.0 + http://www.opengis.net/wms + http://www.opengis.net/wmts/1.0 + http://www.opengis.net/wps/1.0.0 + urn:geoss:waf + + + + + + + + + + + + http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ + http://www.interlis.ch/INTERLIS2.3 + http://www.isotc211.org/2005/gmi + http://www.opengis.net/cat/csw/2.0.2 + http://www.opengis.net/cat/csw/3.0 + http://www.opengis.net/cat/csw/csdgm + http://www.opengis.net/sos/1.0 + http://www.opengis.net/sos/2.0 + http://www.opengis.net/wcs + http://www.opengis.net/wfs + http://www.opengis.net/wfs/2.0 + http://www.opengis.net/wms + http://www.opengis.net/wmts/1.0 + http://www.opengis.net/wps/1.0.0 + http://www.w3.org/2005/Atom + urn:geoss:waf + + + + + + CSW + + + + + 2.0.2 + 3.0.0 + + + + + csw:AnyText + dc:contributor + dc:creator + dc:date + dc:format + dc:identifier + dc:language + dc:publisher + dc:relation + dc:rights + dc:source + dc:subject + dc:title + dc:type + dct:abstract + dct:modified + ows:BoundingBox + + + + + http://geo.data.gov/geoportal/csw/discovery + + + + + 10 + + + + + SOAP + XML + + + + + allowed + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + http://www.opengis.net/gml + + + + + TRUE + + + + + en + + + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + xs:string + + + xs:string + + + xs:string + + + xs:string + + + xs:string + + + xs:string + + + + diff --git a/tests/functionaltests/suites/cite/expected/get_8e2232ed-05d9-44ae-8b04-0911cbe6a507.xml b/tests/functionaltests/suites/cite/expected/get_8e2232ed-05d9-44ae-8b04-0911cbe6a507.xml new file mode 100644 index 000000000..6dd138f50 --- /dev/null +++ b/tests/functionaltests/suites/cite/expected/get_8e2232ed-05d9-44ae-8b04-0911cbe6a507.xml @@ -0,0 +1,7 @@ + + + + + Invalid parameter value in acceptversions: 2006.10.29. Value MUST be 2.0.2 or 3.0.0 + + diff --git a/tests/functionaltests/suites/cite/expected/get_9697f0aa-3b6a-4125-83a5-61e8826127c4.xml b/tests/functionaltests/suites/cite/expected/get_9697f0aa-3b6a-4125-83a5-61e8826127c4.xml new file mode 100644 index 000000000..77dd76c6b --- /dev/null +++ b/tests/functionaltests/suites/cite/expected/get_9697f0aa-3b6a-4125-83a5-61e8826127c4.xml @@ -0,0 +1,543 @@ + + + + + pycsw Geospatial Catalogue + pycsw is an OGC CSW server implementation written in Python + + catalogue + discovery + theme + + CSW + 2.0.2 + 3.0.0 + None + None + + + pycsw + + + Kralidis, Tom + Senior Systems Scientist + + + +01-416-xxx-xxxx + +01-416-xxx-xxxx + + + TBA + Toronto + Ontario + M9C 3Z9 + Canada + tomkralidis@gmail.com + + + 0800h - 1600h EST + During hours of service. Off on weekends. + + pointOfContact + + + + + + + + + + + + + application/xml + text/xml + + + + + 2.0.2 + 3.0.0 + + + + + All + Filter_Capabilities + OperationsMetadata + ServiceIdentification + ServiceProvider + + + + + + + + + + + + + GetCapabilities.acceptFormats + GetCapabilities.acceptVersions + GetCapabilities.sections + GetRecordById.ElementSetName + GetRecordById.outputFormat + GetRecordById.outputSchema + GetRecords.CONSTRAINTLANGUAGE + GetRecords.ElementSetName + GetRecords.outputFormat + GetRecords.outputSchema + GetRecords.typeNames + Harvest.ResourceType + Transaction.TransactionSchemas + + + + + + + + + + + + + CQL_TEXT + FILTER + + + + + brief + full + summary + + + + + application/atom+xml + application/json + application/xml + + + + + http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ + http://www.interlis.ch/INTERLIS2.3 + http://www.opengis.net/cat/csw/3.0 + http://www.opengis.net/cat/csw/csdgm + http://www.w3.org/2005/Atom + + + + + csw:Record + + + + + 10 + + + + + http://localhost/pycsw/csw.py?config=tests/suites/cite/default.cfg?mode=opensearch&service=CSW&version=3.0.0&request=GetCapabilities + + + + + http://geo.data.gov/geoportal/csw/discovery + + + + + + + + + + + + + brief + full + summary + + + + + application/atom+xml + application/json + application/xml + + + + + http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ + http://www.interlis.ch/INTERLIS2.3 + http://www.opengis.net/cat/csw/3.0 + http://www.opengis.net/cat/csw/csdgm + http://www.w3.org/2005/Atom + + + + + + + + + + + + + + + + + + + http://www.isotc211.org/2005/gmi + http://www.opengis.net/cat/csw/2.0.2 + http://www.opengis.net/cat/csw/3.0 + http://www.opengis.net/sos/1.0 + http://www.opengis.net/sos/2.0 + http://www.opengis.net/wcs + http://www.opengis.net/wfs + http://www.opengis.net/wfs/2.0 + http://www.opengis.net/wms + http://www.opengis.net/wmts/1.0 + http://www.opengis.net/wps/1.0.0 + urn:geoss:waf + + + + + + + + + + + + http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ + http://www.interlis.ch/INTERLIS2.3 + http://www.isotc211.org/2005/gmi + http://www.opengis.net/cat/csw/2.0.2 + http://www.opengis.net/cat/csw/3.0 + http://www.opengis.net/cat/csw/csdgm + http://www.opengis.net/sos/1.0 + http://www.opengis.net/sos/2.0 + http://www.opengis.net/wcs + http://www.opengis.net/wfs + http://www.opengis.net/wfs/2.0 + http://www.opengis.net/wms + http://www.opengis.net/wmts/1.0 + http://www.opengis.net/wps/1.0.0 + http://www.w3.org/2005/Atom + urn:geoss:waf + + + + + + CSW + + + + + 2.0.2 + 3.0.0 + + + + + csw:AnyText + dc:contributor + dc:creator + dc:date + dc:format + dc:identifier + dc:language + dc:publisher + dc:relation + dc:rights + dc:source + dc:subject + dc:title + dc:type + dct:abstract + dct:modified + ows:BoundingBox + + + + + http://geo.data.gov/geoportal/csw/discovery + + + + + 10 + + + + + SOAP + XML + + + + + allowed + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + http://www.opengis.net/gml + + + + + TRUE + + + + + en + + + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + xs:string + + + xs:string + + + xs:string + + + xs:string + + + xs:string + + + xs:string + + + + diff --git a/tests/functionaltests/suites/cite/expected/get_9bfd17fa-15dc-4a10-8fa7-b3cff7013dd7.xml b/tests/functionaltests/suites/cite/expected/get_9bfd17fa-15dc-4a10-8fa7-b3cff7013dd7.xml new file mode 100644 index 000000000..3ac20591f --- /dev/null +++ b/tests/functionaltests/suites/cite/expected/get_9bfd17fa-15dc-4a10-8fa7-b3cff7013dd7.xml @@ -0,0 +1,13 @@ + + + + + urn:uuid:e9330592-0932-474b-be34-c3a3bb67c7db + http://purl.org/dc/dcmitype/Text + Fuscé vitae ligulä + 2003-05-09 + Land titles + text/rtf + Morbi ultriçes, dui suscipit vestibulum prètium, velit ante pretium tortor, egët tincidunt pede odio ac nulla. + + diff --git a/tests/functionaltests/suites/cite/expected/get_b81c3595-06d6-4693-82ea-1ff8650755ac.xml b/tests/functionaltests/suites/cite/expected/get_b81c3595-06d6-4693-82ea-1ff8650755ac.xml new file mode 100644 index 000000000..9bf61df8e --- /dev/null +++ b/tests/functionaltests/suites/cite/expected/get_b81c3595-06d6-4693-82ea-1ff8650755ac.xml @@ -0,0 +1,3 @@ + + + diff --git a/tests/functionaltests/suites/cite/expected/get_ba5fc729-3b71-47a0-b7d0-42ec565cd185.xml b/tests/functionaltests/suites/cite/expected/get_ba5fc729-3b71-47a0-b7d0-42ec565cd185.xml new file mode 100644 index 000000000..369f8d8d5 --- /dev/null +++ b/tests/functionaltests/suites/cite/expected/get_ba5fc729-3b71-47a0-b7d0-42ec565cd185.xml @@ -0,0 +1,310 @@ + + + + + pycsw Geospatial Catalogue + pycsw is an OGC CSW server implementation written in Python + + catalogue + discovery + theme + + CSW + 2.0.2 + 3.0.0 + None + None + + + pycsw + + + Kralidis, Tom + Senior Systems Scientist + + + +01-416-xxx-xxxx + +01-416-xxx-xxxx + + + TBA + Toronto + Ontario + M9C 3Z9 + Canada + tomkralidis@gmail.com + + + 0800h - 1600h EST + During hours of service. Off on weekends. + + pointOfContact + + + + + + + + + + + + Filter_Capabilities + OperationsMetadata + ServiceIdentification + ServiceProvider + + + + + + + + + + + application/json + application/xml + + + http://www.w3.org/2001/XMLSchema + http://www.w3.org/TR/xmlschema-1/ + http://www.w3.org/XML/Schema + + + csw:Record + + + + + + + + + + + DescribeRecord.outputFormat + DescribeRecord.schemaLanguage + DescribeRecord.typeName + GetCapabilities.sections + GetRecordById.ElementSetName + GetRecordById.outputFormat + GetRecordById.outputSchema + GetRecords.CONSTRAINTLANGUAGE + GetRecords.ElementSetName + GetRecords.outputFormat + GetRecords.outputSchema + GetRecords.resultType + GetRecords.typeNames + Harvest.ResourceType + Transaction.TransactionSchemas + + + + + + + + + + + CQL_TEXT + FILTER + + + brief + full + summary + + + application/json + application/xml + + + http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ + http://www.interlis.ch/INTERLIS2.3 + http://www.opengis.net/cat/csw/2.0.2 + http://www.opengis.net/cat/csw/csdgm + http://www.w3.org/2005/Atom + + + hits + results + validate + + + csw:Record + + + csw:AnyText + dc:contributor + dc:creator + dc:date + dc:format + dc:identifier + dc:language + dc:publisher + dc:relation + dc:rights + dc:source + dc:subject + dc:title + dc:type + dct:abstract + dct:modified + ows:BoundingBox + + + + + + + + + + + brief + full + summary + + + application/json + application/xml + + + http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ + http://www.interlis.ch/INTERLIS2.3 + http://www.opengis.net/cat/csw/2.0.2 + http://www.opengis.net/cat/csw/csdgm + http://www.w3.org/2005/Atom + + + + + + + + + + + + + + + + + http://www.isotc211.org/2005/gmi + http://www.opengis.net/cat/csw/2.0.2 + http://www.opengis.net/cat/csw/3.0 + http://www.opengis.net/sos/1.0 + http://www.opengis.net/sos/2.0 + http://www.opengis.net/wcs + http://www.opengis.net/wfs + http://www.opengis.net/wfs/2.0 + http://www.opengis.net/wms + http://www.opengis.net/wmts/1.0 + http://www.opengis.net/wps/1.0.0 + urn:geoss:waf + + + + + + + + + + http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ + http://www.interlis.ch/INTERLIS2.3 + http://www.isotc211.org/2005/gmi + http://www.opengis.net/cat/csw/2.0.2 + http://www.opengis.net/cat/csw/3.0 + http://www.opengis.net/cat/csw/csdgm + http://www.opengis.net/sos/1.0 + http://www.opengis.net/sos/2.0 + http://www.opengis.net/wcs + http://www.opengis.net/wfs + http://www.opengis.net/wfs/2.0 + http://www.opengis.net/wms + http://www.opengis.net/wmts/1.0 + http://www.opengis.net/wps/1.0.0 + http://www.w3.org/2005/Atom + urn:geoss:waf + + + + CSW + + + 2.0.2 + 3.0.0 + + + http://geo.data.gov/geoportal/csw/discovery + + + 10 + + + XML + SOAP + + + allowed + + + + + + gml:Point + gml:LineString + gml:Polygon + gml:Envelope + + + + + + + + + + + + + + + + + + + Between + EqualTo + GreaterThan + GreaterThanEqualTo + LessThan + LessThanEqualTo + Like + NotEqualTo + NullCheck + + + + + length + lower + ltrim + rtrim + trim + upper + + + + + + + + + + diff --git a/tests/functionaltests/suites/cite/expected/get_c4ea754f-c158-4d8d-8253-dc8f86021b52.xml b/tests/functionaltests/suites/cite/expected/get_c4ea754f-c158-4d8d-8253-dc8f86021b52.xml new file mode 100644 index 000000000..42a76d4fd --- /dev/null +++ b/tests/functionaltests/suites/cite/expected/get_c4ea754f-c158-4d8d-8253-dc8f86021b52.xml @@ -0,0 +1,7 @@ + + + + + Missing keyword: service + + diff --git a/tests/functionaltests/suites/cite/expected/get_f4692ec5-9547-4a05-88ab-e6154af2640a.xml b/tests/functionaltests/suites/cite/expected/get_f4692ec5-9547-4a05-88ab-e6154af2640a.xml new file mode 100644 index 000000000..369f8d8d5 --- /dev/null +++ b/tests/functionaltests/suites/cite/expected/get_f4692ec5-9547-4a05-88ab-e6154af2640a.xml @@ -0,0 +1,310 @@ + + + + + pycsw Geospatial Catalogue + pycsw is an OGC CSW server implementation written in Python + + catalogue + discovery + theme + + CSW + 2.0.2 + 3.0.0 + None + None + + + pycsw + + + Kralidis, Tom + Senior Systems Scientist + + + +01-416-xxx-xxxx + +01-416-xxx-xxxx + + + TBA + Toronto + Ontario + M9C 3Z9 + Canada + tomkralidis@gmail.com + + + 0800h - 1600h EST + During hours of service. Off on weekends. + + pointOfContact + + + + + + + + + + + + Filter_Capabilities + OperationsMetadata + ServiceIdentification + ServiceProvider + + + + + + + + + + + application/json + application/xml + + + http://www.w3.org/2001/XMLSchema + http://www.w3.org/TR/xmlschema-1/ + http://www.w3.org/XML/Schema + + + csw:Record + + + + + + + + + + + DescribeRecord.outputFormat + DescribeRecord.schemaLanguage + DescribeRecord.typeName + GetCapabilities.sections + GetRecordById.ElementSetName + GetRecordById.outputFormat + GetRecordById.outputSchema + GetRecords.CONSTRAINTLANGUAGE + GetRecords.ElementSetName + GetRecords.outputFormat + GetRecords.outputSchema + GetRecords.resultType + GetRecords.typeNames + Harvest.ResourceType + Transaction.TransactionSchemas + + + + + + + + + + + CQL_TEXT + FILTER + + + brief + full + summary + + + application/json + application/xml + + + http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ + http://www.interlis.ch/INTERLIS2.3 + http://www.opengis.net/cat/csw/2.0.2 + http://www.opengis.net/cat/csw/csdgm + http://www.w3.org/2005/Atom + + + hits + results + validate + + + csw:Record + + + csw:AnyText + dc:contributor + dc:creator + dc:date + dc:format + dc:identifier + dc:language + dc:publisher + dc:relation + dc:rights + dc:source + dc:subject + dc:title + dc:type + dct:abstract + dct:modified + ows:BoundingBox + + + + + + + + + + + brief + full + summary + + + application/json + application/xml + + + http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ + http://www.interlis.ch/INTERLIS2.3 + http://www.opengis.net/cat/csw/2.0.2 + http://www.opengis.net/cat/csw/csdgm + http://www.w3.org/2005/Atom + + + + + + + + + + + + + + + + + http://www.isotc211.org/2005/gmi + http://www.opengis.net/cat/csw/2.0.2 + http://www.opengis.net/cat/csw/3.0 + http://www.opengis.net/sos/1.0 + http://www.opengis.net/sos/2.0 + http://www.opengis.net/wcs + http://www.opengis.net/wfs + http://www.opengis.net/wfs/2.0 + http://www.opengis.net/wms + http://www.opengis.net/wmts/1.0 + http://www.opengis.net/wps/1.0.0 + urn:geoss:waf + + + + + + + + + + http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ + http://www.interlis.ch/INTERLIS2.3 + http://www.isotc211.org/2005/gmi + http://www.opengis.net/cat/csw/2.0.2 + http://www.opengis.net/cat/csw/3.0 + http://www.opengis.net/cat/csw/csdgm + http://www.opengis.net/sos/1.0 + http://www.opengis.net/sos/2.0 + http://www.opengis.net/wcs + http://www.opengis.net/wfs + http://www.opengis.net/wfs/2.0 + http://www.opengis.net/wms + http://www.opengis.net/wmts/1.0 + http://www.opengis.net/wps/1.0.0 + http://www.w3.org/2005/Atom + urn:geoss:waf + + + + CSW + + + 2.0.2 + 3.0.0 + + + http://geo.data.gov/geoportal/csw/discovery + + + 10 + + + XML + SOAP + + + allowed + + + + + + gml:Point + gml:LineString + gml:Polygon + gml:Envelope + + + + + + + + + + + + + + + + + + + Between + EqualTo + GreaterThan + GreaterThanEqualTo + LessThan + LessThanEqualTo + Like + NotEqualTo + NullCheck + + + + + length + lower + ltrim + rtrim + trim + upper + + + + + + + + + + diff --git a/tests/functionaltests/suites/cite/expected/get_f997f25e-c865-4d53-a362-0ed1846337f2.xml b/tests/functionaltests/suites/cite/expected/get_f997f25e-c865-4d53-a362-0ed1846337f2.xml new file mode 100644 index 000000000..6cddad959 --- /dev/null +++ b/tests/functionaltests/suites/cite/expected/get_f997f25e-c865-4d53-a362-0ed1846337f2.xml @@ -0,0 +1,15 @@ + + + + + urn:uuid:94bc9c83-97f6-4b40-9eb8-a8e8787a5c63 + Mauris sed neque + http://purl.org/dc/dcmitype/Dataset + Vegetation-Cropland + Curabitur lacinia, ante non porta tempus, mi lorem feugiat odio, eget suscipit eros pede ac velit. + + 47.59 -4.1 + 51.22 0.89 + + + diff --git a/tests/functionaltests/suites/cite/expected/post_0c976d98-c896-4b10-b1fe-a22ef50434e7.xml b/tests/functionaltests/suites/cite/expected/post_0c976d98-c896-4b10-b1fe-a22ef50434e7.xml new file mode 100644 index 000000000..ce7aca9f6 --- /dev/null +++ b/tests/functionaltests/suites/cite/expected/post_0c976d98-c896-4b10-b1fe-a22ef50434e7.xml @@ -0,0 +1,6 @@ + + + + + + diff --git a/tests/functionaltests/suites/cite/expected/post_19d2a6ed-be28-4866-ae15-e3bb634486cb.xml b/tests/functionaltests/suites/cite/expected/post_19d2a6ed-be28-4866-ae15-e3bb634486cb.xml new file mode 100644 index 000000000..b80c3b546 --- /dev/null +++ b/tests/functionaltests/suites/cite/expected/post_19d2a6ed-be28-4866-ae15-e3bb634486cb.xml @@ -0,0 +1,55 @@ + + + + + + + urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f + Lorem ipsum + http://purl.org/dc/dcmitype/Image + + + urn:uuid:a06af396-3105-442d-8b40-22b57a90d2f2 + Lorem ipsum dolor sit amet + http://purl.org/dc/dcmitype/Image + + + urn:uuid:829babb0-b2f1-49e1-8cd5-7b489fe71a1e + Vestibulum massa purus + http://purl.org/dc/dcmitype/Image + + + urn:uuid:66ae76b7-54ba-489b-a582-0f0633d96493 + Maecenas enim + http://purl.org/dc/dcmitype/Text + + + urn:uuid:784e2afd-a9fd-44a6-9a92-a3848371c8ec + Aliquam fermentum purus quis arcu + http://purl.org/dc/dcmitype/Text + + + urn:uuid:9a669547-b69b-469f-a11f-2d875366bbdc + Ñunç elementum + http://purl.org/dc/dcmitype/Dataset + + 44.79 -6.17 + 51.13 -2.23 + + + + urn:uuid:94bc9c83-97f6-4b40-9eb8-a8e8787a5c63 + Mauris sed neque + http://purl.org/dc/dcmitype/Dataset + + 47.59 -4.1 + 51.22 0.89 + + + + urn:uuid:6a3de50b-fa66-4b58-a0e6-ca146fdd18d4 + Ut facilisis justo ut lacus + http://purl.org/dc/dcmitype/Service + + + diff --git a/tests/functionaltests/suites/cite/expected/post_1ab55aa3-6685-4595-8ecd-45987a7b8b59.xml b/tests/functionaltests/suites/cite/expected/post_1ab55aa3-6685-4595-8ecd-45987a7b8b59.xml new file mode 100644 index 000000000..a78d68a8c --- /dev/null +++ b/tests/functionaltests/suites/cite/expected/post_1ab55aa3-6685-4595-8ecd-45987a7b8b59.xml @@ -0,0 +1,19 @@ + + + + + + + full + + + + csw:AnyText + *lorem* + + + + + + + diff --git a/tests/functionaltests/suites/cite/expected/post_1c958b7a-ca09-4c38-98bd-ef1d1d28cc14.xml b/tests/functionaltests/suites/cite/expected/post_1c958b7a-ca09-4c38-98bd-ef1d1d28cc14.xml new file mode 100644 index 000000000..a1691f473 --- /dev/null +++ b/tests/functionaltests/suites/cite/expected/post_1c958b7a-ca09-4c38-98bd-ef1d1d28cc14.xml @@ -0,0 +1,7 @@ + + + + + Invalid outputFormat parameter value: application/xhtml+xml + + diff --git a/tests/functionaltests/suites/cite/expected/post_1c97fc1a-61cd-4c1d-8054-933e17a6c5ee.xml b/tests/functionaltests/suites/cite/expected/post_1c97fc1a-61cd-4c1d-8054-933e17a6c5ee.xml new file mode 100644 index 000000000..2b0eebed4 --- /dev/null +++ b/tests/functionaltests/suites/cite/expected/post_1c97fc1a-61cd-4c1d-8054-933e17a6c5ee.xml @@ -0,0 +1,7 @@ + + + + + Invalid Constraint: Invalid Filter request: Invalid PropertyName: /dc:title. '/dc:title' + + diff --git a/tests/functionaltests/suites/cite/expected/post_2102a460-5d62-465f-9668-d70b3faafbfa.xml b/tests/functionaltests/suites/cite/expected/post_2102a460-5d62-465f-9668-d70b3faafbfa.xml new file mode 100644 index 000000000..5c7ef391f --- /dev/null +++ b/tests/functionaltests/suites/cite/expected/post_2102a460-5d62-465f-9668-d70b3faafbfa.xml @@ -0,0 +1,12 @@ + + + + + + + urn:uuid:ab42a8c4-95e8-4630-bf79-33e59241605a + + http://purl.org/dc/dcmitype/Service + + + diff --git a/tests/functionaltests/suites/cite/expected/post_225f455a-0035-486b-a94e-fee7ae881b2b.xml b/tests/functionaltests/suites/cite/expected/post_225f455a-0035-486b-a94e-fee7ae881b2b.xml new file mode 100644 index 000000000..a9d06ca89 --- /dev/null +++ b/tests/functionaltests/suites/cite/expected/post_225f455a-0035-486b-a94e-fee7ae881b2b.xml @@ -0,0 +1,17 @@ + + + + + + + urn:uuid:94bc9c83-97f6-4b40-9eb8-a8e8787a5c63 + http://purl.org/dc/dcmitype/Dataset + 2006-03-26 + + + urn:uuid:784e2afd-a9fd-44a6-9a92-a3848371c8ec + http://purl.org/dc/dcmitype/Text + 2006-05-12 + + + diff --git a/tests/functionaltests/suites/cite/expected/post_2d53ffea-60e4-4652-abf5-36eb23042fd5.xml b/tests/functionaltests/suites/cite/expected/post_2d53ffea-60e4-4652-abf5-36eb23042fd5.xml new file mode 100644 index 000000000..fb722adad --- /dev/null +++ b/tests/functionaltests/suites/cite/expected/post_2d53ffea-60e4-4652-abf5-36eb23042fd5.xml @@ -0,0 +1,69 @@ + + + + + + + urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f + Lorem ipsum + http://purl.org/dc/dcmitype/Image + + + urn:uuid:1ef30a8b-876d-4828-9246-c37ab4510bbd + + http://purl.org/dc/dcmitype/Service + + 60.04 13.75 + 68.41 17.92 + + + + urn:uuid:66ae76b7-54ba-489b-a582-0f0633d96493 + Maecenas enim + http://purl.org/dc/dcmitype/Text + + + urn:uuid:6a3de50b-fa66-4b58-a0e6-ca146fdd18d4 + Ut facilisis justo ut lacus + http://purl.org/dc/dcmitype/Service + + + urn:uuid:784e2afd-a9fd-44a6-9a92-a3848371c8ec + Aliquam fermentum purus quis arcu + http://purl.org/dc/dcmitype/Text + + + urn:uuid:829babb0-b2f1-49e1-8cd5-7b489fe71a1e + Vestibulum massa purus + http://purl.org/dc/dcmitype/Image + + + urn:uuid:88247b56-4cbc-4df9-9860-db3f8042e357 + + http://purl.org/dc/dcmitype/Dataset + + + urn:uuid:94bc9c83-97f6-4b40-9eb8-a8e8787a5c63 + Mauris sed neque + http://purl.org/dc/dcmitype/Dataset + + 47.59 -4.1 + 51.22 0.89 + + + + urn:uuid:9a669547-b69b-469f-a11f-2d875366bbdc + Ñunç elementum + http://purl.org/dc/dcmitype/Dataset + + 44.79 -6.17 + 51.13 -2.23 + + + + urn:uuid:a06af396-3105-442d-8b40-22b57a90d2f2 + Lorem ipsum dolor sit amet + http://purl.org/dc/dcmitype/Image + + + diff --git a/tests/functionaltests/suites/cite/expected/post_34a019a9-1581-42cb-9827-fbfdda2773b7.xml b/tests/functionaltests/suites/cite/expected/post_34a019a9-1581-42cb-9827-fbfdda2773b7.xml new file mode 100644 index 000000000..a22dee078 --- /dev/null +++ b/tests/functionaltests/suites/cite/expected/post_34a019a9-1581-42cb-9827-fbfdda2773b7.xml @@ -0,0 +1,6 @@ + + + + + + diff --git a/tests/functionaltests/suites/cite/expected/post_3e76fd38-e035-41c9-83dc-61356f680c97.xml b/tests/functionaltests/suites/cite/expected/post_3e76fd38-e035-41c9-83dc-61356f680c97.xml new file mode 100644 index 000000000..c8ed32a33 --- /dev/null +++ b/tests/functionaltests/suites/cite/expected/post_3e76fd38-e035-41c9-83dc-61356f680c97.xml @@ -0,0 +1,7 @@ + + + + + Invalid value for schemalanguage: http://purl.oclc.org/dsdl/schematron + + diff --git a/tests/functionaltests/suites/cite/expected/post_418a6fb0-a89c-4a94-afc9-3f8168eb2980.xml b/tests/functionaltests/suites/cite/expected/post_418a6fb0-a89c-4a94-afc9-3f8168eb2980.xml new file mode 100644 index 000000000..a53001dc4 --- /dev/null +++ b/tests/functionaltests/suites/cite/expected/post_418a6fb0-a89c-4a94-afc9-3f8168eb2980.xml @@ -0,0 +1,15 @@ + + + + + + + urn:uuid:94bc9c83-97f6-4b40-9eb8-a8e8787a5c63 + 2006-03-26 + + 47.59 -4.1 + 51.22 0.89 + + + + diff --git a/tests/functionaltests/suites/cite/expected/post_420b745e-0c4b-404e-9f2d-61fa580ff05a.xml b/tests/functionaltests/suites/cite/expected/post_420b745e-0c4b-404e-9f2d-61fa580ff05a.xml new file mode 100644 index 000000000..25097018b --- /dev/null +++ b/tests/functionaltests/suites/cite/expected/post_420b745e-0c4b-404e-9f2d-61fa580ff05a.xml @@ -0,0 +1,22 @@ + + + + + + + urn:uuid:9a669547-b69b-469f-a11f-2d875366bbdc + http://purl.org/dc/dcmitype/Dataset + 2005-10-24 + + + urn:uuid:94bc9c83-97f6-4b40-9eb8-a8e8787a5c63 + http://purl.org/dc/dcmitype/Dataset + 2006-03-26 + + + urn:uuid:784e2afd-a9fd-44a6-9a92-a3848371c8ec + http://purl.org/dc/dcmitype/Text + 2006-05-12 + + + diff --git a/tests/functionaltests/suites/cite/expected/post_4735d649-a2b1-42fd-a101-14e1d7e4607f.xml b/tests/functionaltests/suites/cite/expected/post_4735d649-a2b1-42fd-a101-14e1d7e4607f.xml new file mode 100644 index 000000000..a70706709 --- /dev/null +++ b/tests/functionaltests/suites/cite/expected/post_4735d649-a2b1-42fd-a101-14e1d7e4607f.xml @@ -0,0 +1,44 @@ + + + + + + + urn:uuid:66ae76b7-54ba-489b-a582-0f0633d96493 + Maecenas enim + http://purl.org/dc/dcmitype/Text + Marine sediments + application/xhtml+xml + Pellentesque tempus magna non sapien fringilla blandit. + + + urn:uuid:6a3de50b-fa66-4b58-a0e6-ca146fdd18d4 + Ut facilisis justo ut lacus + http://purl.org/dc/dcmitype/Service + Vegetation + urn:uuid:94bc9c83-97f6-4b40-9eb8-a8e8787a5c63 + + + urn:uuid:784e2afd-a9fd-44a6-9a92-a3848371c8ec + Aliquam fermentum purus quis arcu + http://purl.org/dc/dcmitype/Text + Hydrography--Dictionaries + application/pdf + Vestibulum quis ipsum sit amet metus imperdiet vehicula. Nulla scelerisque cursus mi. + + + urn:uuid:829babb0-b2f1-49e1-8cd5-7b489fe71a1e + Vestibulum massa purus + http://purl.org/dc/dcmitype/Image + image/jp2 + urn:uuid:9a669547-b69b-469f-a11f-2d875366bbdc + + + urn:uuid:88247b56-4cbc-4df9-9860-db3f8042e357 + + http://purl.org/dc/dcmitype/Dataset + Physiography-Landforms + Donec scelerisque pede ut nisl luctus accumsan. Quisque ultrices, lorem eget feugiat fringilla, lorem dui porttitor ante, cursus ultrices magna odio eu neque. + + + diff --git a/tests/functionaltests/suites/cite/expected/post_5c5861bc-f742-40a5-9998-5342615d674b.xml b/tests/functionaltests/suites/cite/expected/post_5c5861bc-f742-40a5-9998-5342615d674b.xml new file mode 100644 index 000000000..7d1cd623e --- /dev/null +++ b/tests/functionaltests/suites/cite/expected/post_5c5861bc-f742-40a5-9998-5342615d674b.xml @@ -0,0 +1,49 @@ + + + + + + + urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f + http://purl.org/dc/dcmitype/Image + image/svg+xml + Lorem ipsum + GR-22 + Tourism--Greece + Quisque lacus diam, placerat mollis, pharetra in, commodo sed, augue. Duis iaculis arcu vel arcu. + + + urn:uuid:88247b56-4cbc-4df9-9860-db3f8042e357 + http://purl.org/dc/dcmitype/Dataset + Physiography-Landforms + FI-ES + Donec scelerisque pede ut nisl luctus accumsan. Quisque ultrices, lorem eget feugiat fringilla, lorem dui porttitor ante, cursus ultrices magna odio eu neque. + + + urn:uuid:94bc9c83-97f6-4b40-9eb8-a8e8787a5c63 + http://purl.org/dc/dcmitype/Dataset + Mauris sed neque + Vegetation-Cropland + Curabitur lacinia, ante non porta tempus, mi lorem feugiat odio, eget suscipit eros pede ac velit. + 2006-03-26 + + 47.595 -4.097 + 51.217 0.889 + + + + urn:uuid:a06af396-3105-442d-8b40-22b57a90d2f2 + http://purl.org/dc/dcmitype/Image + Lorem ipsum dolor sit amet + image/jpeg + IT-FI + + + urn:uuid:ab42a8c4-95e8-4630-bf79-33e59241605a + http://purl.org/dc/dcmitype/Service + Physiography + Suspendisse accumsan molestie lorem. Nullam velit turpis, mattis ut, varius bibendum, laoreet non, quam. + urn:uuid:88247b56-4cbc-4df9-9860-db3f8042e357 + + + diff --git a/tests/functionaltests/suites/cite/expected/post_6e736fd0-c266-4852-9eb3-0656f5d0f5c4.xml b/tests/functionaltests/suites/cite/expected/post_6e736fd0-c266-4852-9eb3-0656f5d0f5c4.xml new file mode 100644 index 000000000..e96a0237f --- /dev/null +++ b/tests/functionaltests/suites/cite/expected/post_6e736fd0-c266-4852-9eb3-0656f5d0f5c4.xml @@ -0,0 +1,89 @@ + + + + + + + urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f + Lorem ipsum + http://purl.org/dc/dcmitype/Image + Tourism--Greece + image/svg+xml + Quisque lacus diam, placerat mollis, pharetra in, commodo sed, augue. Duis iaculis arcu vel arcu. + + + urn:uuid:1ef30a8b-876d-4828-9246-c37ab4510bbd + + http://purl.org/dc/dcmitype/Service + Proin sit amet justo. In justo. Aenean adipiscing nulla id tellus. + + 60.04 13.75 + 68.41 17.92 + + + + urn:uuid:66ae76b7-54ba-489b-a582-0f0633d96493 + Maecenas enim + http://purl.org/dc/dcmitype/Text + Marine sediments + application/xhtml+xml + Pellentesque tempus magna non sapien fringilla blandit. + + + urn:uuid:6a3de50b-fa66-4b58-a0e6-ca146fdd18d4 + Ut facilisis justo ut lacus + http://purl.org/dc/dcmitype/Service + Vegetation + urn:uuid:94bc9c83-97f6-4b40-9eb8-a8e8787a5c63 + + + urn:uuid:784e2afd-a9fd-44a6-9a92-a3848371c8ec + Aliquam fermentum purus quis arcu + http://purl.org/dc/dcmitype/Text + Hydrography--Dictionaries + application/pdf + Vestibulum quis ipsum sit amet metus imperdiet vehicula. Nulla scelerisque cursus mi. + + + urn:uuid:829babb0-b2f1-49e1-8cd5-7b489fe71a1e + Vestibulum massa purus + http://purl.org/dc/dcmitype/Image + image/jp2 + urn:uuid:9a669547-b69b-469f-a11f-2d875366bbdc + + + urn:uuid:88247b56-4cbc-4df9-9860-db3f8042e357 + + http://purl.org/dc/dcmitype/Dataset + Physiography-Landforms + Donec scelerisque pede ut nisl luctus accumsan. Quisque ultrices, lorem eget feugiat fringilla, lorem dui porttitor ante, cursus ultrices magna odio eu neque. + + + urn:uuid:94bc9c83-97f6-4b40-9eb8-a8e8787a5c63 + Mauris sed neque + http://purl.org/dc/dcmitype/Dataset + Vegetation-Cropland + Curabitur lacinia, ante non porta tempus, mi lorem feugiat odio, eget suscipit eros pede ac velit. + + 47.59 -4.1 + 51.22 0.89 + + + + urn:uuid:9a669547-b69b-469f-a11f-2d875366bbdc + Ñunç elementum + http://purl.org/dc/dcmitype/Dataset + Hydrography-Oceanographic + + 44.79 -6.17 + 51.13 -2.23 + + + + urn:uuid:a06af396-3105-442d-8b40-22b57a90d2f2 + Lorem ipsum dolor sit amet + http://purl.org/dc/dcmitype/Image + image/jpeg + + + diff --git a/tests/functionaltests/suites/cite/expected/post_73f1551c-e269-4ef9-9dae-e535b5eebfc7.xml b/tests/functionaltests/suites/cite/expected/post_73f1551c-e269-4ef9-9dae-e535b5eebfc7.xml new file mode 100644 index 000000000..4060ee230 --- /dev/null +++ b/tests/functionaltests/suites/cite/expected/post_73f1551c-e269-4ef9-9dae-e535b5eebfc7.xml @@ -0,0 +1,18 @@ + + + + + + + urn:uuid:9a669547-b69b-469f-a11f-2d875366bbdc + http://purl.org/dc/dcmitype/Dataset + Ñunç elementum + Hydrography-Oceanographic + 2005-10-24 + + 44.792 -6.171 + 51.126 -2.228 + + + + diff --git a/tests/functionaltests/suites/cite/expected/post_78297c88-4850-4927-adc6-511cd9a3d539.xml b/tests/functionaltests/suites/cite/expected/post_78297c88-4850-4927-adc6-511cd9a3d539.xml new file mode 100644 index 000000000..76101a6bb --- /dev/null +++ b/tests/functionaltests/suites/cite/expected/post_78297c88-4850-4927-adc6-511cd9a3d539.xml @@ -0,0 +1,115 @@ + + + + + + + + http://schemas.opengis.net/csw/2.0.2/record.xsd + + + This schema defines the basic record types that must be supported + by all CSW implementations. These correspond to full, summary, and + brief views based on DCMI metadata terms. + + CSW is an OGC Standard. + Copyright (c) 2004,2010 Open Geospatial Consortium, Inc. All Rights Reserved. + To obtain additional rights of use, visit http://www.opengeospatial.org/legal/ . + + + + + + + + + + + + + + + This type encapsulates all of the standard DCMI metadata terms, + including the Dublin Core refinements; these terms may be mapped + to the profile-specific information model. + + + + + + + + + + + + + + + + This type defines a brief representation of the common record + format. It extends AbstractRecordType to include only the + dc:identifier and dc:type properties. + + + + + + + + + + + + + + + + + + + This type defines a summary representation of the common record + format. It extends AbstractRecordType to include the core + properties. + + + + + + + + + + + + + + + + + + + + + + + + + This type extends DCMIRecordType to add ows:BoundingBox; + it may be used to specify a spatial envelope for the + catalogued resource. + + + + + + + + + + + + + + + diff --git a/tests/functionaltests/suites/cite/expected/post_7c89cdf5-0def-4cfb-8c55-2b8ffea5d92f.xml b/tests/functionaltests/suites/cite/expected/post_7c89cdf5-0def-4cfb-8c55-2b8ffea5d92f.xml new file mode 100644 index 000000000..4d9e1fd3d --- /dev/null +++ b/tests/functionaltests/suites/cite/expected/post_7c89cdf5-0def-4cfb-8c55-2b8ffea5d92f.xml @@ -0,0 +1,56 @@ + + + + + + + + urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f + urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f + + Lorem ipsum + PYCSW_TIMESTAMP + Quisque lacus diam, placerat mollis, pharetra in, commodo sed, augue. Duis iaculis arcu vel arcu. + + + urn:uuid:1ef30a8b-876d-4828-9246-c37ab4510bbd + urn:uuid:1ef30a8b-876d-4828-9246-c37ab4510bbd + + + PYCSW_TIMESTAMP + Proin sit amet justo. In justo. Aenean adipiscing nulla id tellus. + + + 60.04 13.75 + 68.41 17.92 + + + + + + urn:uuid:66ae76b7-54ba-489b-a582-0f0633d96493 + urn:uuid:66ae76b7-54ba-489b-a582-0f0633d96493 + + Maecenas enim + PYCSW_TIMESTAMP + Pellentesque tempus magna non sapien fringilla blandit. + + + + urn:uuid:6a3de50b-fa66-4b58-a0e6-ca146fdd18d4 + urn:uuid:6a3de50b-fa66-4b58-a0e6-ca146fdd18d4 + + Ut facilisis justo ut lacus + PYCSW_TIMESTAMP + + + + urn:uuid:784e2afd-a9fd-44a6-9a92-a3848371c8ec + urn:uuid:784e2afd-a9fd-44a6-9a92-a3848371c8ec + + Aliquam fermentum purus quis arcu + PYCSW_TIMESTAMP + Vestibulum quis ipsum sit amet metus imperdiet vehicula. Nulla scelerisque cursus mi. + + + diff --git a/tests/functionaltests/suites/cite/expected/post_7e2cd105-daec-4d25-bc8e-d49d21364912.xml b/tests/functionaltests/suites/cite/expected/post_7e2cd105-daec-4d25-bc8e-d49d21364912.xml new file mode 100644 index 000000000..5f82a7d41 --- /dev/null +++ b/tests/functionaltests/suites/cite/expected/post_7e2cd105-daec-4d25-bc8e-d49d21364912.xml @@ -0,0 +1,3 @@ + + + diff --git a/tests/functionaltests/suites/cite/expected/post_87f2f670-9cd6-4907-b82c-1b46a7dd2a78.xml b/tests/functionaltests/suites/cite/expected/post_87f2f670-9cd6-4907-b82c-1b46a7dd2a78.xml new file mode 100644 index 000000000..d81b5493e --- /dev/null +++ b/tests/functionaltests/suites/cite/expected/post_87f2f670-9cd6-4907-b82c-1b46a7dd2a78.xml @@ -0,0 +1,50 @@ + + + + + + + urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f + http://purl.org/dc/dcmitype/Image + + + urn:uuid:1ef30a8b-876d-4828-9246-c37ab4510bbd + http://purl.org/dc/dcmitype/Service + + + urn:uuid:66ae76b7-54ba-489b-a582-0f0633d96493 + http://purl.org/dc/dcmitype/Text + + + urn:uuid:6a3de50b-fa66-4b58-a0e6-ca146fdd18d4 + http://purl.org/dc/dcmitype/Service + + + urn:uuid:784e2afd-a9fd-44a6-9a92-a3848371c8ec + http://purl.org/dc/dcmitype/Text + 2006-05-12 + + + urn:uuid:829babb0-b2f1-49e1-8cd5-7b489fe71a1e + http://purl.org/dc/dcmitype/Image + + + urn:uuid:88247b56-4cbc-4df9-9860-db3f8042e357 + http://purl.org/dc/dcmitype/Dataset + + + urn:uuid:94bc9c83-97f6-4b40-9eb8-a8e8787a5c63 + http://purl.org/dc/dcmitype/Dataset + 2006-03-26 + + + urn:uuid:9a669547-b69b-469f-a11f-2d875366bbdc + http://purl.org/dc/dcmitype/Dataset + 2005-10-24 + + + urn:uuid:a06af396-3105-442d-8b40-22b57a90d2f2 + http://purl.org/dc/dcmitype/Image + + + diff --git a/tests/functionaltests/suites/cite/expected/post_88b4e1ba-3bd4-4cbe-81e5-e004056d6ca3.xml b/tests/functionaltests/suites/cite/expected/post_88b4e1ba-3bd4-4cbe-81e5-e004056d6ca3.xml new file mode 100644 index 000000000..ef7576e15 --- /dev/null +++ b/tests/functionaltests/suites/cite/expected/post_88b4e1ba-3bd4-4cbe-81e5-e004056d6ca3.xml @@ -0,0 +1,7 @@ + + + + + Invalid value for outputformat: text/sgml + + diff --git a/tests/functionaltests/suites/cite/expected/post_898cd63b-2585-4ec0-8720-d554bd324174.xml b/tests/functionaltests/suites/cite/expected/post_898cd63b-2585-4ec0-8720-d554bd324174.xml new file mode 100644 index 000000000..f77acfc5c --- /dev/null +++ b/tests/functionaltests/suites/cite/expected/post_898cd63b-2585-4ec0-8720-d554bd324174.xml @@ -0,0 +1,14 @@ + + + + + + + urn:uuid:829babb0-b2f1-49e1-8cd5-7b489fe71a1e + Vestibulum massa purus + http://purl.org/dc/dcmitype/Image + image/jp2 + urn:uuid:9a669547-b69b-469f-a11f-2d875366bbdc + + + diff --git a/tests/functionaltests/suites/cite/expected/post_8fb13dc3-5818-45e2-9e29-46abc16e7d38.xml b/tests/functionaltests/suites/cite/expected/post_8fb13dc3-5818-45e2-9e29-46abc16e7d38.xml new file mode 100644 index 000000000..9c08c604e --- /dev/null +++ b/tests/functionaltests/suites/cite/expected/post_8fb13dc3-5818-45e2-9e29-46abc16e7d38.xml @@ -0,0 +1,48 @@ + + + + + + + urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f + + + urn:uuid:66ae76b7-54ba-489b-a582-0f0633d96493 + + + urn:uuid:6a3de50b-fa66-4b58-a0e6-ca146fdd18d4 + + + urn:uuid:784e2afd-a9fd-44a6-9a92-a3848371c8ec + + + urn:uuid:829babb0-b2f1-49e1-8cd5-7b489fe71a1e + + + urn:uuid:88247b56-4cbc-4df9-9860-db3f8042e357 + + + urn:uuid:94bc9c83-97f6-4b40-9eb8-a8e8787a5c63 + + 47.59 -4.1 + 51.22 0.89 + + + + urn:uuid:9a669547-b69b-469f-a11f-2d875366bbdc + + 44.79 -6.17 + 51.13 -2.23 + + + + urn:uuid:a06af396-3105-442d-8b40-22b57a90d2f2 + + + urn:uuid:ab42a8c4-95e8-4630-bf79-33e59241605a + + + urn:uuid:e9330592-0932-474b-be34-c3a3bb67c7db + + + diff --git a/tests/functionaltests/suites/cite/expected/post_928c1896-52d4-4ac7-9832-f98e3eb65f02.xml b/tests/functionaltests/suites/cite/expected/post_928c1896-52d4-4ac7-9832-f98e3eb65f02.xml new file mode 100644 index 000000000..baf37aaf2 --- /dev/null +++ b/tests/functionaltests/suites/cite/expected/post_928c1896-52d4-4ac7-9832-f98e3eb65f02.xml @@ -0,0 +1,17 @@ + + + + + + + urn:uuid:e9330592-0932-474b-be34-c3a3bb67c7db + http://purl.org/dc/dcmitype/Text + 2003-05-09 + + + urn:uuid:9a669547-b69b-469f-a11f-2d875366bbdc + http://purl.org/dc/dcmitype/Dataset + 2005-10-24 + + + diff --git a/tests/functionaltests/suites/cite/expected/post_93bdbb9d-2734-4f01-92fb-48634cca41de.xml b/tests/functionaltests/suites/cite/expected/post_93bdbb9d-2734-4f01-92fb-48634cca41de.xml new file mode 100644 index 000000000..9a5d49e55 --- /dev/null +++ b/tests/functionaltests/suites/cite/expected/post_93bdbb9d-2734-4f01-92fb-48634cca41de.xml @@ -0,0 +1,21 @@ + + + + + + + urn:uuid:94bc9c83-97f6-4b40-9eb8-a8e8787a5c63 + + 47.59 -4.1 + 51.22 0.89 + + + + urn:uuid:9a669547-b69b-469f-a11f-2d875366bbdc + + 44.79 -6.17 + 51.13 -2.23 + + + + diff --git a/tests/functionaltests/suites/cite/expected/post_948b39d5-bb4f-45b8-a8f2-4ff9501aaedd.xml b/tests/functionaltests/suites/cite/expected/post_948b39d5-bb4f-45b8-a8f2-4ff9501aaedd.xml new file mode 100644 index 000000000..b214975bc --- /dev/null +++ b/tests/functionaltests/suites/cite/expected/post_948b39d5-bb4f-45b8-a8f2-4ff9501aaedd.xml @@ -0,0 +1,51 @@ + + + + + + + urn:uuid:784e2afd-a9fd-44a6-9a92-a3848371c8ec + http://purl.org/dc/dcmitype/Text + 2006-05-12 + + + urn:uuid:94bc9c83-97f6-4b40-9eb8-a8e8787a5c63 + http://purl.org/dc/dcmitype/Dataset + 2006-03-26 + + + urn:uuid:9a669547-b69b-469f-a11f-2d875366bbdc + http://purl.org/dc/dcmitype/Dataset + 2005-10-24 + + + urn:uuid:e9330592-0932-474b-be34-c3a3bb67c7db + http://purl.org/dc/dcmitype/Text + 2003-05-09 + + + urn:uuid:ab42a8c4-95e8-4630-bf79-33e59241605a + http://purl.org/dc/dcmitype/Service + + + urn:uuid:a06af396-3105-442d-8b40-22b57a90d2f2 + http://purl.org/dc/dcmitype/Image + + + urn:uuid:88247b56-4cbc-4df9-9860-db3f8042e357 + http://purl.org/dc/dcmitype/Dataset + + + urn:uuid:829babb0-b2f1-49e1-8cd5-7b489fe71a1e + http://purl.org/dc/dcmitype/Image + + + urn:uuid:6a3de50b-fa66-4b58-a0e6-ca146fdd18d4 + http://purl.org/dc/dcmitype/Service + + + urn:uuid:66ae76b7-54ba-489b-a582-0f0633d96493 + http://purl.org/dc/dcmitype/Text + + + diff --git a/tests/functionaltests/suites/cite/expected/post_9fd64fcc-f69c-4626-b72e-5c7776a29aa9.xml b/tests/functionaltests/suites/cite/expected/post_9fd64fcc-f69c-4626-b72e-5c7776a29aa9.xml new file mode 100644 index 000000000..214379d29 --- /dev/null +++ b/tests/functionaltests/suites/cite/expected/post_9fd64fcc-f69c-4626-b72e-5c7776a29aa9.xml @@ -0,0 +1,7 @@ + + + + + Typename not qualified: Record + + diff --git a/tests/functionaltests/suites/cite/expected/post_a06d04ab-e0d0-4a86-bfe8-71460f41fe37.xml b/tests/functionaltests/suites/cite/expected/post_a06d04ab-e0d0-4a86-bfe8-71460f41fe37.xml new file mode 100644 index 000000000..fb722adad --- /dev/null +++ b/tests/functionaltests/suites/cite/expected/post_a06d04ab-e0d0-4a86-bfe8-71460f41fe37.xml @@ -0,0 +1,69 @@ + + + + + + + urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f + Lorem ipsum + http://purl.org/dc/dcmitype/Image + + + urn:uuid:1ef30a8b-876d-4828-9246-c37ab4510bbd + + http://purl.org/dc/dcmitype/Service + + 60.04 13.75 + 68.41 17.92 + + + + urn:uuid:66ae76b7-54ba-489b-a582-0f0633d96493 + Maecenas enim + http://purl.org/dc/dcmitype/Text + + + urn:uuid:6a3de50b-fa66-4b58-a0e6-ca146fdd18d4 + Ut facilisis justo ut lacus + http://purl.org/dc/dcmitype/Service + + + urn:uuid:784e2afd-a9fd-44a6-9a92-a3848371c8ec + Aliquam fermentum purus quis arcu + http://purl.org/dc/dcmitype/Text + + + urn:uuid:829babb0-b2f1-49e1-8cd5-7b489fe71a1e + Vestibulum massa purus + http://purl.org/dc/dcmitype/Image + + + urn:uuid:88247b56-4cbc-4df9-9860-db3f8042e357 + + http://purl.org/dc/dcmitype/Dataset + + + urn:uuid:94bc9c83-97f6-4b40-9eb8-a8e8787a5c63 + Mauris sed neque + http://purl.org/dc/dcmitype/Dataset + + 47.59 -4.1 + 51.22 0.89 + + + + urn:uuid:9a669547-b69b-469f-a11f-2d875366bbdc + Ñunç elementum + http://purl.org/dc/dcmitype/Dataset + + 44.79 -6.17 + 51.13 -2.23 + + + + urn:uuid:a06af396-3105-442d-8b40-22b57a90d2f2 + Lorem ipsum dolor sit amet + http://purl.org/dc/dcmitype/Image + + + diff --git a/tests/functionaltests/suites/cite/expected/post_ad61686c-d304-42d1-b845-8c1f3070c83e.xml b/tests/functionaltests/suites/cite/expected/post_ad61686c-d304-42d1-b845-8c1f3070c83e.xml new file mode 100644 index 000000000..71d14fa61 --- /dev/null +++ b/tests/functionaltests/suites/cite/expected/post_ad61686c-d304-42d1-b845-8c1f3070c83e.xml @@ -0,0 +1,8 @@ + + + + + Exception: the document is not valid. +Error: Element '{http://www.opengis.net/foo}Filter': This element is not expected. Expected is one of ( {http://www.opengis.net/ogc}Filter, {http://www.opengis.net/cat/csw/2.0.2}CqlText ). + + diff --git a/tests/functionaltests/suites/cite/expected/post_af39c020-7b1d-429c-b474-f45c3164cb79.xml b/tests/functionaltests/suites/cite/expected/post_af39c020-7b1d-429c-b474-f45c3164cb79.xml new file mode 100644 index 000000000..960d5f57d --- /dev/null +++ b/tests/functionaltests/suites/cite/expected/post_af39c020-7b1d-429c-b474-f45c3164cb79.xml @@ -0,0 +1,21 @@ + + + + + + + urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f + Lorem ipsum + http://purl.org/dc/dcmitype/Image + Tourism--Greece + image/svg+xml + Quisque lacus diam, placerat mollis, pharetra in, commodo sed, augue. Duis iaculis arcu vel arcu. + + + urn:uuid:a06af396-3105-442d-8b40-22b57a90d2f2 + Lorem ipsum dolor sit amet + http://purl.org/dc/dcmitype/Image + image/jpeg + + + diff --git a/tests/functionaltests/suites/cite/expected/post_b90e2de6-3d25-4298-a13e-dc9492a8fc73.xml b/tests/functionaltests/suites/cite/expected/post_b90e2de6-3d25-4298-a13e-dc9492a8fc73.xml new file mode 100644 index 000000000..0c5581f88 --- /dev/null +++ b/tests/functionaltests/suites/cite/expected/post_b90e2de6-3d25-4298-a13e-dc9492a8fc73.xml @@ -0,0 +1,91 @@ + + + + + + + urn:uuid:1ef30a8b-876d-4828-9246-c37ab4510bbd + + http://purl.org/dc/dcmitype/Service + Proin sit amet justo. In justo. Aenean adipiscing nulla id tellus. + + 60.04 13.75 + 68.41 17.92 + + + + urn:uuid:66ae76b7-54ba-489b-a582-0f0633d96493 + Maecenas enim + http://purl.org/dc/dcmitype/Text + Marine sediments + application/xhtml+xml + Pellentesque tempus magna non sapien fringilla blandit. + + + urn:uuid:6a3de50b-fa66-4b58-a0e6-ca146fdd18d4 + Ut facilisis justo ut lacus + http://purl.org/dc/dcmitype/Service + Vegetation + urn:uuid:94bc9c83-97f6-4b40-9eb8-a8e8787a5c63 + + + urn:uuid:784e2afd-a9fd-44a6-9a92-a3848371c8ec + Aliquam fermentum purus quis arcu + http://purl.org/dc/dcmitype/Text + Hydrography--Dictionaries + application/pdf + Vestibulum quis ipsum sit amet metus imperdiet vehicula. Nulla scelerisque cursus mi. + + + urn:uuid:829babb0-b2f1-49e1-8cd5-7b489fe71a1e + Vestibulum massa purus + http://purl.org/dc/dcmitype/Image + image/jp2 + urn:uuid:9a669547-b69b-469f-a11f-2d875366bbdc + + + urn:uuid:88247b56-4cbc-4df9-9860-db3f8042e357 + + http://purl.org/dc/dcmitype/Dataset + Physiography-Landforms + Donec scelerisque pede ut nisl luctus accumsan. Quisque ultrices, lorem eget feugiat fringilla, lorem dui porttitor ante, cursus ultrices magna odio eu neque. + + + urn:uuid:94bc9c83-97f6-4b40-9eb8-a8e8787a5c63 + Mauris sed neque + http://purl.org/dc/dcmitype/Dataset + Vegetation-Cropland + Curabitur lacinia, ante non porta tempus, mi lorem feugiat odio, eget suscipit eros pede ac velit. + + 47.59 -4.1 + 51.22 0.89 + + + + urn:uuid:9a669547-b69b-469f-a11f-2d875366bbdc + Ñunç elementum + http://purl.org/dc/dcmitype/Dataset + Hydrography-Oceanographic + + 44.79 -6.17 + 51.13 -2.23 + + + + urn:uuid:ab42a8c4-95e8-4630-bf79-33e59241605a + + http://purl.org/dc/dcmitype/Service + Physiography + urn:uuid:88247b56-4cbc-4df9-9860-db3f8042e357 + Suspendisse accumsan molestie lorem. Nullam velit turpis, mattis ut, varius bibendum, laoreet non, quam. + + + urn:uuid:e9330592-0932-474b-be34-c3a3bb67c7db + Fuscé vitae ligulä + http://purl.org/dc/dcmitype/Text + Land titles + text/rtf + Morbi ultriçes, dui suscipit vestibulum prètium, velit ante pretium tortor, egët tincidunt pede odio ac nulla. + + + diff --git a/tests/functionaltests/suites/cite/expected/post_ba9b0107-dcee-46ef-823a-a2e25a911a96.xml b/tests/functionaltests/suites/cite/expected/post_ba9b0107-dcee-46ef-823a-a2e25a911a96.xml new file mode 100644 index 000000000..98e2c78c5 --- /dev/null +++ b/tests/functionaltests/suites/cite/expected/post_ba9b0107-dcee-46ef-823a-a2e25a911a96.xml @@ -0,0 +1,36 @@ + + + + + + + urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f + Lorem ipsum + http://purl.org/dc/dcmitype/Image + Tourism--Greece + image/svg+xml + Quisque lacus diam, placerat mollis, pharetra in, commodo sed, augue. Duis iaculis arcu vel arcu. + + + urn:uuid:66ae76b7-54ba-489b-a582-0f0633d96493 + Maecenas enim + http://purl.org/dc/dcmitype/Text + Marine sediments + application/xhtml+xml + Pellentesque tempus magna non sapien fringilla blandit. + + + urn:uuid:829babb0-b2f1-49e1-8cd5-7b489fe71a1e + Vestibulum massa purus + http://purl.org/dc/dcmitype/Image + image/jp2 + urn:uuid:9a669547-b69b-469f-a11f-2d875366bbdc + + + urn:uuid:a06af396-3105-442d-8b40-22b57a90d2f2 + Lorem ipsum dolor sit amet + http://purl.org/dc/dcmitype/Image + image/jpeg + + + diff --git a/tests/functionaltests/suites/cite/expected/post_bb66ebc5-7121-48b5-9f53-b56537d9561b.xml b/tests/functionaltests/suites/cite/expected/post_bb66ebc5-7121-48b5-9f53-b56537d9561b.xml new file mode 100644 index 000000000..0a392cbdd --- /dev/null +++ b/tests/functionaltests/suites/cite/expected/post_bb66ebc5-7121-48b5-9f53-b56537d9561b.xml @@ -0,0 +1,19 @@ + + + + + + + urn:uuid:88247b56-4cbc-4df9-9860-db3f8042e357 + http://purl.org/dc/dcmitype/Dataset + + + urn:uuid:94bc9c83-97f6-4b40-9eb8-a8e8787a5c63 + http://purl.org/dc/dcmitype/Dataset + + 47.59 -4.1 + 51.22 0.89 + + + + diff --git a/tests/functionaltests/suites/cite/expected/post_c02d1c85-df9f-45ee-bea7-345c35e02a98.xml b/tests/functionaltests/suites/cite/expected/post_c02d1c85-df9f-45ee-bea7-345c35e02a98.xml new file mode 100644 index 000000000..26bfbf2b7 --- /dev/null +++ b/tests/functionaltests/suites/cite/expected/post_c02d1c85-df9f-45ee-bea7-345c35e02a98.xml @@ -0,0 +1,7 @@ + + + + + Invalid Constraint: Invalid Filter request: 'NoneType' object has no attribute 'text' + + diff --git a/tests/functionaltests/suites/cite/expected/post_c311a342-72e3-4983-be39-868e6ed9740f.xml b/tests/functionaltests/suites/cite/expected/post_c311a342-72e3-4983-be39-868e6ed9740f.xml new file mode 100644 index 000000000..76101a6bb --- /dev/null +++ b/tests/functionaltests/suites/cite/expected/post_c311a342-72e3-4983-be39-868e6ed9740f.xml @@ -0,0 +1,115 @@ + + + + + + + + http://schemas.opengis.net/csw/2.0.2/record.xsd + + + This schema defines the basic record types that must be supported + by all CSW implementations. These correspond to full, summary, and + brief views based on DCMI metadata terms. + + CSW is an OGC Standard. + Copyright (c) 2004,2010 Open Geospatial Consortium, Inc. All Rights Reserved. + To obtain additional rights of use, visit http://www.opengeospatial.org/legal/ . + + + + + + + + + + + + + + + This type encapsulates all of the standard DCMI metadata terms, + including the Dublin Core refinements; these terms may be mapped + to the profile-specific information model. + + + + + + + + + + + + + + + + This type defines a brief representation of the common record + format. It extends AbstractRecordType to include only the + dc:identifier and dc:type properties. + + + + + + + + + + + + + + + + + + + This type defines a summary representation of the common record + format. It extends AbstractRecordType to include the core + properties. + + + + + + + + + + + + + + + + + + + + + + + + + This type extends DCMIRecordType to add ows:BoundingBox; + it may be used to specify a spatial envelope for the + catalogued resource. + + + + + + + + + + + + + + + diff --git a/tests/functionaltests/suites/cite/expected/post_c38916c2-4bc6-446d-b7aa-ab006d6ba31c.xml b/tests/functionaltests/suites/cite/expected/post_c38916c2-4bc6-446d-b7aa-ab006d6ba31c.xml new file mode 100644 index 000000000..d9c18a038 --- /dev/null +++ b/tests/functionaltests/suites/cite/expected/post_c38916c2-4bc6-446d-b7aa-ab006d6ba31c.xml @@ -0,0 +1,27 @@ + + + + + + + urn:uuid:784e2afd-a9fd-44a6-9a92-a3848371c8ec + 2006-05-12 + + + urn:uuid:94bc9c83-97f6-4b40-9eb8-a8e8787a5c63 + 2006-03-26 + + 47.59 -4.1 + 51.22 0.89 + + + + urn:uuid:9a669547-b69b-469f-a11f-2d875366bbdc + 2005-10-24 + + 44.79 -6.17 + 51.13 -2.23 + + + + diff --git a/tests/functionaltests/suites/cite/expected/post_c8588f47-8e65-45f5-ad34-ff4524cad84d.xml b/tests/functionaltests/suites/cite/expected/post_c8588f47-8e65-45f5-ad34-ff4524cad84d.xml new file mode 100644 index 000000000..12342af16 --- /dev/null +++ b/tests/functionaltests/suites/cite/expected/post_c8588f47-8e65-45f5-ad34-ff4524cad84d.xml @@ -0,0 +1,7 @@ + + + + + Invalid Constraint: Invalid Filter request: Invalid ogc:PropertyName in spatial filter: dct:spatial + + diff --git a/tests/functionaltests/suites/cite/expected/post_da228d4c-e1be-43d7-9ccb-c3f27ee32541.xml b/tests/functionaltests/suites/cite/expected/post_da228d4c-e1be-43d7-9ccb-c3f27ee32541.xml new file mode 100644 index 000000000..2b0eebed4 --- /dev/null +++ b/tests/functionaltests/suites/cite/expected/post_da228d4c-e1be-43d7-9ccb-c3f27ee32541.xml @@ -0,0 +1,7 @@ + + + + + Invalid Constraint: Invalid Filter request: Invalid PropertyName: /dc:title. '/dc:title' + + diff --git a/tests/functionaltests/suites/cite/expected/post_dc92c2c4-87d8-4a13-964e-ff9b0e0c27b3.xml b/tests/functionaltests/suites/cite/expected/post_dc92c2c4-87d8-4a13-964e-ff9b0e0c27b3.xml new file mode 100644 index 000000000..371b26a4c --- /dev/null +++ b/tests/functionaltests/suites/cite/expected/post_dc92c2c4-87d8-4a13-964e-ff9b0e0c27b3.xml @@ -0,0 +1,22 @@ + + + + + + + urn:uuid:e9330592-0932-474b-be34-c3a3bb67c7db + http://purl.org/dc/dcmitype/Text + 2003-05-09 + + + urn:uuid:9a669547-b69b-469f-a11f-2d875366bbdc + http://purl.org/dc/dcmitype/Dataset + 2005-10-24 + + + urn:uuid:94bc9c83-97f6-4b40-9eb8-a8e8787a5c63 + http://purl.org/dc/dcmitype/Dataset + 2006-03-26 + + + diff --git a/tests/functionaltests/suites/cite/expected/post_dcb13791-379e-4739-bcd4-dbaa69f0efdb.xml b/tests/functionaltests/suites/cite/expected/post_dcb13791-379e-4739-bcd4-dbaa69f0efdb.xml new file mode 100644 index 000000000..fb722adad --- /dev/null +++ b/tests/functionaltests/suites/cite/expected/post_dcb13791-379e-4739-bcd4-dbaa69f0efdb.xml @@ -0,0 +1,69 @@ + + + + + + + urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f + Lorem ipsum + http://purl.org/dc/dcmitype/Image + + + urn:uuid:1ef30a8b-876d-4828-9246-c37ab4510bbd + + http://purl.org/dc/dcmitype/Service + + 60.04 13.75 + 68.41 17.92 + + + + urn:uuid:66ae76b7-54ba-489b-a582-0f0633d96493 + Maecenas enim + http://purl.org/dc/dcmitype/Text + + + urn:uuid:6a3de50b-fa66-4b58-a0e6-ca146fdd18d4 + Ut facilisis justo ut lacus + http://purl.org/dc/dcmitype/Service + + + urn:uuid:784e2afd-a9fd-44a6-9a92-a3848371c8ec + Aliquam fermentum purus quis arcu + http://purl.org/dc/dcmitype/Text + + + urn:uuid:829babb0-b2f1-49e1-8cd5-7b489fe71a1e + Vestibulum massa purus + http://purl.org/dc/dcmitype/Image + + + urn:uuid:88247b56-4cbc-4df9-9860-db3f8042e357 + + http://purl.org/dc/dcmitype/Dataset + + + urn:uuid:94bc9c83-97f6-4b40-9eb8-a8e8787a5c63 + Mauris sed neque + http://purl.org/dc/dcmitype/Dataset + + 47.59 -4.1 + 51.22 0.89 + + + + urn:uuid:9a669547-b69b-469f-a11f-2d875366bbdc + Ñunç elementum + http://purl.org/dc/dcmitype/Dataset + + 44.79 -6.17 + 51.13 -2.23 + + + + urn:uuid:a06af396-3105-442d-8b40-22b57a90d2f2 + Lorem ipsum dolor sit amet + http://purl.org/dc/dcmitype/Image + + + diff --git a/tests/functionaltests/suites/cite/expected/post_e308f030-c097-4036-a838-44bad74c9ef7.xml b/tests/functionaltests/suites/cite/expected/post_e308f030-c097-4036-a838-44bad74c9ef7.xml new file mode 100644 index 000000000..fb722adad --- /dev/null +++ b/tests/functionaltests/suites/cite/expected/post_e308f030-c097-4036-a838-44bad74c9ef7.xml @@ -0,0 +1,69 @@ + + + + + + + urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f + Lorem ipsum + http://purl.org/dc/dcmitype/Image + + + urn:uuid:1ef30a8b-876d-4828-9246-c37ab4510bbd + + http://purl.org/dc/dcmitype/Service + + 60.04 13.75 + 68.41 17.92 + + + + urn:uuid:66ae76b7-54ba-489b-a582-0f0633d96493 + Maecenas enim + http://purl.org/dc/dcmitype/Text + + + urn:uuid:6a3de50b-fa66-4b58-a0e6-ca146fdd18d4 + Ut facilisis justo ut lacus + http://purl.org/dc/dcmitype/Service + + + urn:uuid:784e2afd-a9fd-44a6-9a92-a3848371c8ec + Aliquam fermentum purus quis arcu + http://purl.org/dc/dcmitype/Text + + + urn:uuid:829babb0-b2f1-49e1-8cd5-7b489fe71a1e + Vestibulum massa purus + http://purl.org/dc/dcmitype/Image + + + urn:uuid:88247b56-4cbc-4df9-9860-db3f8042e357 + + http://purl.org/dc/dcmitype/Dataset + + + urn:uuid:94bc9c83-97f6-4b40-9eb8-a8e8787a5c63 + Mauris sed neque + http://purl.org/dc/dcmitype/Dataset + + 47.59 -4.1 + 51.22 0.89 + + + + urn:uuid:9a669547-b69b-469f-a11f-2d875366bbdc + Ñunç elementum + http://purl.org/dc/dcmitype/Dataset + + 44.79 -6.17 + 51.13 -2.23 + + + + urn:uuid:a06af396-3105-442d-8b40-22b57a90d2f2 + Lorem ipsum dolor sit amet + http://purl.org/dc/dcmitype/Image + + + diff --git a/tests/functionaltests/suites/cite/expected/post_e6e9efb2-e2b7-4b0a-a3a2-7deea3f9b8e2.xml b/tests/functionaltests/suites/cite/expected/post_e6e9efb2-e2b7-4b0a-a3a2-7deea3f9b8e2.xml new file mode 100644 index 000000000..fb722adad --- /dev/null +++ b/tests/functionaltests/suites/cite/expected/post_e6e9efb2-e2b7-4b0a-a3a2-7deea3f9b8e2.xml @@ -0,0 +1,69 @@ + + + + + + + urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f + Lorem ipsum + http://purl.org/dc/dcmitype/Image + + + urn:uuid:1ef30a8b-876d-4828-9246-c37ab4510bbd + + http://purl.org/dc/dcmitype/Service + + 60.04 13.75 + 68.41 17.92 + + + + urn:uuid:66ae76b7-54ba-489b-a582-0f0633d96493 + Maecenas enim + http://purl.org/dc/dcmitype/Text + + + urn:uuid:6a3de50b-fa66-4b58-a0e6-ca146fdd18d4 + Ut facilisis justo ut lacus + http://purl.org/dc/dcmitype/Service + + + urn:uuid:784e2afd-a9fd-44a6-9a92-a3848371c8ec + Aliquam fermentum purus quis arcu + http://purl.org/dc/dcmitype/Text + + + urn:uuid:829babb0-b2f1-49e1-8cd5-7b489fe71a1e + Vestibulum massa purus + http://purl.org/dc/dcmitype/Image + + + urn:uuid:88247b56-4cbc-4df9-9860-db3f8042e357 + + http://purl.org/dc/dcmitype/Dataset + + + urn:uuid:94bc9c83-97f6-4b40-9eb8-a8e8787a5c63 + Mauris sed neque + http://purl.org/dc/dcmitype/Dataset + + 47.59 -4.1 + 51.22 0.89 + + + + urn:uuid:9a669547-b69b-469f-a11f-2d875366bbdc + Ñunç elementum + http://purl.org/dc/dcmitype/Dataset + + 44.79 -6.17 + 51.13 -2.23 + + + + urn:uuid:a06af396-3105-442d-8b40-22b57a90d2f2 + Lorem ipsum dolor sit amet + http://purl.org/dc/dcmitype/Image + + + diff --git a/tests/functionaltests/suites/cite/expected/post_f7976c55-a156-4421-8199-bc0487da4b0f.xml b/tests/functionaltests/suites/cite/expected/post_f7976c55-a156-4421-8199-bc0487da4b0f.xml new file mode 100644 index 000000000..76101a6bb --- /dev/null +++ b/tests/functionaltests/suites/cite/expected/post_f7976c55-a156-4421-8199-bc0487da4b0f.xml @@ -0,0 +1,115 @@ + + + + + + + + http://schemas.opengis.net/csw/2.0.2/record.xsd + + + This schema defines the basic record types that must be supported + by all CSW implementations. These correspond to full, summary, and + brief views based on DCMI metadata terms. + + CSW is an OGC Standard. + Copyright (c) 2004,2010 Open Geospatial Consortium, Inc. All Rights Reserved. + To obtain additional rights of use, visit http://www.opengeospatial.org/legal/ . + + + + + + + + + + + + + + + This type encapsulates all of the standard DCMI metadata terms, + including the Dublin Core refinements; these terms may be mapped + to the profile-specific information model. + + + + + + + + + + + + + + + + This type defines a brief representation of the common record + format. It extends AbstractRecordType to include only the + dc:identifier and dc:type properties. + + + + + + + + + + + + + + + + + + + This type defines a summary representation of the common record + format. It extends AbstractRecordType to include the core + properties. + + + + + + + + + + + + + + + + + + + + + + + + + This type extends DCMIRecordType to add ows:BoundingBox; + it may be used to specify a spatial envelope for the + catalogued resource. + + + + + + + + + + + + + + + diff --git a/tests/functionaltests/suites/cite/expected/post_f7d79701-f10b-4087-a33c-f62df0a04fd1.xml b/tests/functionaltests/suites/cite/expected/post_f7d79701-f10b-4087-a33c-f62df0a04fd1.xml new file mode 100644 index 000000000..fb722adad --- /dev/null +++ b/tests/functionaltests/suites/cite/expected/post_f7d79701-f10b-4087-a33c-f62df0a04fd1.xml @@ -0,0 +1,69 @@ + + + + + + + urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f + Lorem ipsum + http://purl.org/dc/dcmitype/Image + + + urn:uuid:1ef30a8b-876d-4828-9246-c37ab4510bbd + + http://purl.org/dc/dcmitype/Service + + 60.04 13.75 + 68.41 17.92 + + + + urn:uuid:66ae76b7-54ba-489b-a582-0f0633d96493 + Maecenas enim + http://purl.org/dc/dcmitype/Text + + + urn:uuid:6a3de50b-fa66-4b58-a0e6-ca146fdd18d4 + Ut facilisis justo ut lacus + http://purl.org/dc/dcmitype/Service + + + urn:uuid:784e2afd-a9fd-44a6-9a92-a3848371c8ec + Aliquam fermentum purus quis arcu + http://purl.org/dc/dcmitype/Text + + + urn:uuid:829babb0-b2f1-49e1-8cd5-7b489fe71a1e + Vestibulum massa purus + http://purl.org/dc/dcmitype/Image + + + urn:uuid:88247b56-4cbc-4df9-9860-db3f8042e357 + + http://purl.org/dc/dcmitype/Dataset + + + urn:uuid:94bc9c83-97f6-4b40-9eb8-a8e8787a5c63 + Mauris sed neque + http://purl.org/dc/dcmitype/Dataset + + 47.59 -4.1 + 51.22 0.89 + + + + urn:uuid:9a669547-b69b-469f-a11f-2d875366bbdc + Ñunç elementum + http://purl.org/dc/dcmitype/Dataset + + 44.79 -6.17 + 51.13 -2.23 + + + + urn:uuid:a06af396-3105-442d-8b40-22b57a90d2f2 + Lorem ipsum dolor sit amet + http://purl.org/dc/dcmitype/Image + + + diff --git a/tests/functionaltests/suites/cite/expected/post_fc1bc094-88f1-4851-bc2b-dfc56be9f3c7.xml b/tests/functionaltests/suites/cite/expected/post_fc1bc094-88f1-4851-bc2b-dfc56be9f3c7.xml new file mode 100644 index 000000000..b3eb8b2c7 --- /dev/null +++ b/tests/functionaltests/suites/cite/expected/post_fc1bc094-88f1-4851-bc2b-dfc56be9f3c7.xml @@ -0,0 +1,12 @@ + + + + + + + urn:uuid:e9330592-0932-474b-be34-c3a3bb67c7db + Fuscé vitae ligulä + http://purl.org/dc/dcmitype/Text + + + diff --git a/tests/functionaltests/suites/cite/expected/post_fe20960f-a26c-4f13-852d-470a0d3233f9.xml b/tests/functionaltests/suites/cite/expected/post_fe20960f-a26c-4f13-852d-470a0d3233f9.xml new file mode 100644 index 000000000..5c7ef391f --- /dev/null +++ b/tests/functionaltests/suites/cite/expected/post_fe20960f-a26c-4f13-852d-470a0d3233f9.xml @@ -0,0 +1,12 @@ + + + + + + + urn:uuid:ab42a8c4-95e8-4630-bf79-33e59241605a + + http://purl.org/dc/dcmitype/Service + + + diff --git a/tests/functionaltests/suites/cite/get/requests.txt b/tests/functionaltests/suites/cite/get/requests.txt new file mode 100644 index 000000000..271982886 --- /dev/null +++ b/tests/functionaltests/suites/cite/get/requests.txt @@ -0,0 +1,22 @@ +27e17158-c57a-4493-92ac-dba8934cf462,service=CSW&version=2.0.2&request=GetCapabilities +27f69b66-5f05-4311-a89c-73ca55c2686b,Service=CSW&Version=2.0.2&Request=GetRecordById&ElementSetName=brief&ID=urn%3Auuid%3A19887a8a-f6b0-4a63-ae56-7fba0e17801f +2ab7d1fa-885b-459f-80e4-b6282eab4f8c,service=CSW&request=GetCapabilities&acceptversions=2.0.2&date=2006-10-20 +37aa90e2-6ff0-420c-af15-8b9463099a73,service=CSW&version=2.0.2&request=GetRecordById&id=urn%3Auuid%3A9a669547-b69b-469f-a11f-2d875366bbdc +3a8a3c47-455f-4f49-9078-03119f3e70b3,service=CSW&request=GetCapabilities&acceptformats=message/example +4515831f-834a-4699-95f6-ab0c2cbfcfd0,service=CSW&version=2.0.2&request=GetRecordById +477b23a3-baa9-47c8-9541-5fe27735ed49,service=CSW&request=GetCapabilities§ions= +48f26761-3a9d-48db-bee1-da089f5fb857,sErViCe=CSW&REQUEST=GetCapabilities&version=2.0.2 +4e38092f-1586-44b8-988e-0acfa5855916,Service=CSW&Version=2.0.2&Request=GetRecordById&OutputFormat=application/bogus_xml&id=urn:uuid:a06af396-3105-442d-8b40-22b57a90d2f2,urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f,urn:uuid:ab42a8c4-95e8-4630-bf79-33e59241605a +55c38f00-2553-42c1-99ab-33edbb561ad7,service=CSW&request=GetCapabilities§ions=OperationsMetadata,ServiceIdentification +5ab5db18-c87a-4fbf-a8d8-b7289b09ac81,service=FOO&request=GetCapabilities +6a4f57ca-a1bd-4802-89c2-44860dbdb0f0,service=CSW&version=2.0.2&request=GetRecordById&id=urn:uuid:ce8627a0-685c-11db-bd13-0800200c9a66,urn:uuid:6a3de50b-fa66-4b58-a0e6-ca146fdd18d4 +6c375703-9c00-4aef-bec7-d2e964f849eb,Service=CSW&Version=2.0.2&Request=GetRecordById&OutputSchema=http://www.w3.org/2005/Atom&Id=urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f +80f31def-4185-48b9-983a-960566918eae,service=CSW&request=GetCapabilities +8e2232ed-05d9-44ae-8b04-0911cbe6a507,SERVICE=CSW&REQUEST=GetCapabilities&ACCEPTVERSIONS=2006.10.29 +9697f0aa-3b6a-4125-83a5-61e8826127c4,service=CSW&request=GetCapabilities +9bfd17fa-15dc-4a10-8fa7-b3cff7013dd7,Service=CSW&Version=2.0.2&Request=GetRecordById&ElementSetName=full&ID=urn%3Auuid%3Ae9330592-0932-474b-be34-c3a3bb67c7db +b81c3595-06d6-4693-82ea-1ff8650755ac,service=CSW&version=2.0.2&request=GetRecordById&id=urn:uuid:ce8627a0-685c-11db-bd13-0800200c9a66 +ba5fc729-3b71-47a0-b7d0-42ec565cd185,SERVICE=CSW&REQUEST=GetCapabilities&ACCEPTVERSIONS=2.0.2,2.0.0 +c4ea754f-c158-4d8d-8253-dc8f86021b52,request=GetCapabilities +f4692ec5-9547-4a05-88ab-e6154af2640a,service=CSW&version=2.0.2&request=GetCapabilities +f997f25e-c865-4d53-a362-0ed1846337f2,service=CSW&version=2.0.2&request=GetRecordById&id=urn:uuid:94bc9c83-97f6-4b40-9eb8-a8e8787a5c63 diff --git a/tests/functionaltests/suites/cite/post/0c976d98-c896-4b10-b1fe-a22ef50434e7.xml b/tests/functionaltests/suites/cite/post/0c976d98-c896-4b10-b1fe-a22ef50434e7.xml new file mode 100644 index 000000000..c73f51141 --- /dev/null +++ b/tests/functionaltests/suites/cite/post/0c976d98-c896-4b10-b1fe-a22ef50434e7.xml @@ -0,0 +1,20 @@ + + + + dc:identifier + ows:BoundingBox + + + + + ows:BoundingBox + + 60.0 12.0 + 70.0 20.0 + + + + + + + diff --git a/tests/functionaltests/suites/cite/post/19d2a6ed-be28-4866-ae15-e3bb634486cb.xml b/tests/functionaltests/suites/cite/post/19d2a6ed-be28-4866-ae15-e3bb634486cb.xml new file mode 100644 index 000000000..6823bcfce --- /dev/null +++ b/tests/functionaltests/suites/cite/post/19d2a6ed-be28-4866-ae15-e3bb634486cb.xml @@ -0,0 +1,20 @@ + + + + brief + + + + dc:title + Fuscé vitae ligulä + + + + + + dc:format + DESC + + + + diff --git a/tests/functionaltests/suites/cite/post/1ab55aa3-6685-4595-8ecd-45987a7b8b59.xml b/tests/functionaltests/suites/cite/post/1ab55aa3-6685-4595-8ecd-45987a7b8b59.xml new file mode 100644 index 000000000..cd46b042d --- /dev/null +++ b/tests/functionaltests/suites/cite/post/1ab55aa3-6685-4595-8ecd-45987a7b8b59.xml @@ -0,0 +1,14 @@ + + + + full + + + + csw:AnyText + *lorem* + + + + + diff --git a/tests/functionaltests/suites/cite/post/1c958b7a-ca09-4c38-98bd-ef1d1d28cc14.xml b/tests/functionaltests/suites/cite/post/1c958b7a-ca09-4c38-98bd-ef1d1d28cc14.xml new file mode 100644 index 000000000..dabb279ee --- /dev/null +++ b/tests/functionaltests/suites/cite/post/1c958b7a-ca09-4c38-98bd-ef1d1d28cc14.xml @@ -0,0 +1,6 @@ + + + + summary + + diff --git a/tests/functionaltests/suites/cite/post/1c97fc1a-61cd-4c1d-8054-933e17a6c5ee.xml b/tests/functionaltests/suites/cite/post/1c97fc1a-61cd-4c1d-8054-933e17a6c5ee.xml new file mode 100644 index 000000000..d2e53427e --- /dev/null +++ b/tests/functionaltests/suites/cite/post/1c97fc1a-61cd-4c1d-8054-933e17a6c5ee.xml @@ -0,0 +1,14 @@ + + + + brief + + + + /dc:title + *lorem* + + + + + diff --git a/tests/functionaltests/suites/cite/post/2102a460-5d62-465f-9668-d70b3faafbfa.xml b/tests/functionaltests/suites/cite/post/2102a460-5d62-465f-9668-d70b3faafbfa.xml new file mode 100644 index 000000000..da787a01f --- /dev/null +++ b/tests/functionaltests/suites/cite/post/2102a460-5d62-465f-9668-d70b3faafbfa.xml @@ -0,0 +1,14 @@ + + + + brief + + + + dc:subject + pHYSIOGRAPHy + + + + + diff --git a/tests/functionaltests/suites/cite/post/225f455a-0035-486b-a94e-fee7ae881b2b.xml b/tests/functionaltests/suites/cite/post/225f455a-0035-486b-a94e-fee7ae881b2b.xml new file mode 100644 index 000000000..d83d4883e --- /dev/null +++ b/tests/functionaltests/suites/cite/post/225f455a-0035-486b-a94e-fee7ae881b2b.xml @@ -0,0 +1,16 @@ + + + + dc:identifier + dc:type + dc:date + + + + dc:date + 2006-03-26 + + + + + diff --git a/tests/functionaltests/suites/cite/post/2d53ffea-60e4-4652-abf5-36eb23042fd5.xml b/tests/functionaltests/suites/cite/post/2d53ffea-60e4-4652-abf5-36eb23042fd5.xml new file mode 100644 index 000000000..19bb2e0a6 --- /dev/null +++ b/tests/functionaltests/suites/cite/post/2d53ffea-60e4-4652-abf5-36eb23042fd5.xml @@ -0,0 +1,6 @@ + + + + brief + + diff --git a/tests/functionaltests/suites/cite/post/34a019a9-1581-42cb-9827-fbfdda2773b7.xml b/tests/functionaltests/suites/cite/post/34a019a9-1581-42cb-9827-fbfdda2773b7.xml new file mode 100644 index 000000000..4451d7c05 --- /dev/null +++ b/tests/functionaltests/suites/cite/post/34a019a9-1581-42cb-9827-fbfdda2773b7.xml @@ -0,0 +1,6 @@ + + + + brief + + diff --git a/tests/functionaltests/suites/cite/post/3e76fd38-e035-41c9-83dc-61356f680c97.xml b/tests/functionaltests/suites/cite/post/3e76fd38-e035-41c9-83dc-61356f680c97.xml new file mode 100644 index 000000000..cfa0b1c60 --- /dev/null +++ b/tests/functionaltests/suites/cite/post/3e76fd38-e035-41c9-83dc-61356f680c97.xml @@ -0,0 +1,4 @@ + + + csw:Record + diff --git a/tests/functionaltests/suites/cite/post/418a6fb0-a89c-4a94-afc9-3f8168eb2980.xml b/tests/functionaltests/suites/cite/post/418a6fb0-a89c-4a94-afc9-3f8168eb2980.xml new file mode 100644 index 000000000..84a7fc7de --- /dev/null +++ b/tests/functionaltests/suites/cite/post/418a6fb0-a89c-4a94-afc9-3f8168eb2980.xml @@ -0,0 +1,25 @@ + + + + dc:identifier + dc:date + ows:BoundingBox + + + + + ows:BoundingBox + + 47.0 -4.5 + 52.0 1.0 + + + + dc:date + 2006-01-01 + + + + + + diff --git a/tests/functionaltests/suites/cite/post/420b745e-0c4b-404e-9f2d-61fa580ff05a.xml b/tests/functionaltests/suites/cite/post/420b745e-0c4b-404e-9f2d-61fa580ff05a.xml new file mode 100644 index 000000000..f31dca0ba --- /dev/null +++ b/tests/functionaltests/suites/cite/post/420b745e-0c4b-404e-9f2d-61fa580ff05a.xml @@ -0,0 +1,16 @@ + + + + dc:identifier + dc:type + dc:date + + + + dc:date + 2004-01-01 + + + + + diff --git a/tests/functionaltests/suites/cite/post/4735d649-a2b1-42fd-a101-14e1d7e4607f.xml b/tests/functionaltests/suites/cite/post/4735d649-a2b1-42fd-a101-14e1d7e4607f.xml new file mode 100644 index 000000000..44672f629 --- /dev/null +++ b/tests/functionaltests/suites/cite/post/4735d649-a2b1-42fd-a101-14e1d7e4607f.xml @@ -0,0 +1,6 @@ + + + + summary + + diff --git a/tests/functionaltests/suites/cite/post/5c5861bc-f742-40a5-9998-5342615d674b.xml b/tests/functionaltests/suites/cite/post/5c5861bc-f742-40a5-9998-5342615d674b.xml new file mode 100644 index 000000000..b127a7dcf --- /dev/null +++ b/tests/functionaltests/suites/cite/post/5c5861bc-f742-40a5-9998-5342615d674b.xml @@ -0,0 +1,14 @@ + + + + full + + + + csw:AnyText + *lorem* + + + + + diff --git a/tests/functionaltests/suites/cite/post/6e736fd0-c266-4852-9eb3-0656f5d0f5c4.xml b/tests/functionaltests/suites/cite/post/6e736fd0-c266-4852-9eb3-0656f5d0f5c4.xml new file mode 100644 index 000000000..28e25bfaf --- /dev/null +++ b/tests/functionaltests/suites/cite/post/6e736fd0-c266-4852-9eb3-0656f5d0f5c4.xml @@ -0,0 +1,6 @@ + + + + summary + + diff --git a/tests/functionaltests/suites/cite/post/73f1551c-e269-4ef9-9dae-e535b5eebfc7.xml b/tests/functionaltests/suites/cite/post/73f1551c-e269-4ef9-9dae-e535b5eebfc7.xml new file mode 100644 index 000000000..160cf6d18 --- /dev/null +++ b/tests/functionaltests/suites/cite/post/73f1551c-e269-4ef9-9dae-e535b5eebfc7.xml @@ -0,0 +1,14 @@ + + + + full + + + + dc:date + 200?-10-* + + + + + diff --git a/tests/functionaltests/suites/cite/post/78297c88-4850-4927-adc6-511cd9a3d539.xml b/tests/functionaltests/suites/cite/post/78297c88-4850-4927-adc6-511cd9a3d539.xml new file mode 100644 index 000000000..5b0e1b92c --- /dev/null +++ b/tests/functionaltests/suites/cite/post/78297c88-4850-4927-adc6-511cd9a3d539.xml @@ -0,0 +1,2 @@ + + \ No newline at end of file diff --git a/tests/functionaltests/suites/cite/post/7c89cdf5-0def-4cfb-8c55-2b8ffea5d92f.xml b/tests/functionaltests/suites/cite/post/7c89cdf5-0def-4cfb-8c55-2b8ffea5d92f.xml new file mode 100644 index 000000000..0ea98491e --- /dev/null +++ b/tests/functionaltests/suites/cite/post/7c89cdf5-0def-4cfb-8c55-2b8ffea5d92f.xml @@ -0,0 +1,6 @@ + + + + summary + + diff --git a/tests/functionaltests/suites/cite/post/7e2cd105-daec-4d25-bc8e-d49d21364912.xml b/tests/functionaltests/suites/cite/post/7e2cd105-daec-4d25-bc8e-d49d21364912.xml new file mode 100644 index 000000000..81865e378 --- /dev/null +++ b/tests/functionaltests/suites/cite/post/7e2cd105-daec-4d25-bc8e-d49d21364912.xml @@ -0,0 +1,4 @@ + + + csw:DummyRecord + diff --git a/tests/functionaltests/suites/cite/post/87f2f670-9cd6-4907-b82c-1b46a7dd2a78.xml b/tests/functionaltests/suites/cite/post/87f2f670-9cd6-4907-b82c-1b46a7dd2a78.xml new file mode 100644 index 000000000..4c03f7935 --- /dev/null +++ b/tests/functionaltests/suites/cite/post/87f2f670-9cd6-4907-b82c-1b46a7dd2a78.xml @@ -0,0 +1,8 @@ + + + + dc:identifier + dc:type + dc:date + + diff --git a/tests/functionaltests/suites/cite/post/88b4e1ba-3bd4-4cbe-81e5-e004056d6ca3.xml b/tests/functionaltests/suites/cite/post/88b4e1ba-3bd4-4cbe-81e5-e004056d6ca3.xml new file mode 100644 index 000000000..b683c9954 --- /dev/null +++ b/tests/functionaltests/suites/cite/post/88b4e1ba-3bd4-4cbe-81e5-e004056d6ca3.xml @@ -0,0 +1,4 @@ + + + csw:Record + diff --git a/tests/functionaltests/suites/cite/post/898cd63b-2585-4ec0-8720-d554bd324174.xml b/tests/functionaltests/suites/cite/post/898cd63b-2585-4ec0-8720-d554bd324174.xml new file mode 100644 index 000000000..6c0e09407 --- /dev/null +++ b/tests/functionaltests/suites/cite/post/898cd63b-2585-4ec0-8720-d554bd324174.xml @@ -0,0 +1,20 @@ + + + + summary + + + + + dc:format + image/* + + + dc:relation + urn:uuid:9a669547-b69b-469f-a11f-2d875366bbdc + + + + + + diff --git a/tests/functionaltests/suites/cite/post/8fb13dc3-5818-45e2-9e29-46abc16e7d38.xml b/tests/functionaltests/suites/cite/post/8fb13dc3-5818-45e2-9e29-46abc16e7d38.xml new file mode 100644 index 000000000..9a4bd54d6 --- /dev/null +++ b/tests/functionaltests/suites/cite/post/8fb13dc3-5818-45e2-9e29-46abc16e7d38.xml @@ -0,0 +1,20 @@ + + + + dc:identifier + ows:BoundingBox + + + + + ows:BoundingBox + + 60.0 12.0 + 70.0 20.0 + + + + + + + diff --git a/tests/functionaltests/suites/cite/post/928c1896-52d4-4ac7-9832-f98e3eb65f02.xml b/tests/functionaltests/suites/cite/post/928c1896-52d4-4ac7-9832-f98e3eb65f02.xml new file mode 100644 index 000000000..d1d69e9cd --- /dev/null +++ b/tests/functionaltests/suites/cite/post/928c1896-52d4-4ac7-9832-f98e3eb65f02.xml @@ -0,0 +1,16 @@ + + + + dc:identifier + dc:type + dc:date + + + + dc:date + 2005-10-24 + + + + + diff --git a/tests/functionaltests/suites/cite/post/93bdbb9d-2734-4f01-92fb-48634cca41de.xml b/tests/functionaltests/suites/cite/post/93bdbb9d-2734-4f01-92fb-48634cca41de.xml new file mode 100644 index 000000000..f2389b702 --- /dev/null +++ b/tests/functionaltests/suites/cite/post/93bdbb9d-2734-4f01-92fb-48634cca41de.xml @@ -0,0 +1,18 @@ + + + + dc:identifier + ows:BoundingBox + + + + /ows:BoundingBox + + 47.0 -4.5 + 52.0 1.0 + + + + + + diff --git a/tests/functionaltests/suites/cite/post/948b39d5-bb4f-45b8-a8f2-4ff9501aaedd.xml b/tests/functionaltests/suites/cite/post/948b39d5-bb4f-45b8-a8f2-4ff9501aaedd.xml new file mode 100644 index 000000000..14c9935af --- /dev/null +++ b/tests/functionaltests/suites/cite/post/948b39d5-bb4f-45b8-a8f2-4ff9501aaedd.xml @@ -0,0 +1,14 @@ + + + + dc:identifier + dc:type + dc:date + + + dc:date + DESC + + + + diff --git a/tests/functionaltests/suites/cite/post/9fd64fcc-f69c-4626-b72e-5c7776a29aa9.xml b/tests/functionaltests/suites/cite/post/9fd64fcc-f69c-4626-b72e-5c7776a29aa9.xml new file mode 100644 index 000000000..c90f2b69e --- /dev/null +++ b/tests/functionaltests/suites/cite/post/9fd64fcc-f69c-4626-b72e-5c7776a29aa9.xml @@ -0,0 +1,4 @@ + + + Record + diff --git a/tests/functionaltests/suites/cite/post/a06d04ab-e0d0-4a86-bfe8-71460f41fe37.xml b/tests/functionaltests/suites/cite/post/a06d04ab-e0d0-4a86-bfe8-71460f41fe37.xml new file mode 100644 index 000000000..19bb2e0a6 --- /dev/null +++ b/tests/functionaltests/suites/cite/post/a06d04ab-e0d0-4a86-bfe8-71460f41fe37.xml @@ -0,0 +1,6 @@ + + + + brief + + diff --git a/tests/functionaltests/suites/cite/post/ad61686c-d304-42d1-b845-8c1f3070c83e.xml b/tests/functionaltests/suites/cite/post/ad61686c-d304-42d1-b845-8c1f3070c83e.xml new file mode 100644 index 000000000..843265b2d --- /dev/null +++ b/tests/functionaltests/suites/cite/post/ad61686c-d304-42d1-b845-8c1f3070c83e.xml @@ -0,0 +1,14 @@ + + + + brief + + + + dc:title + Maecenas enim + + + + + diff --git a/tests/functionaltests/suites/cite/post/af39c020-7b1d-429c-b474-f45c3164cb79.xml b/tests/functionaltests/suites/cite/post/af39c020-7b1d-429c-b474-f45c3164cb79.xml new file mode 100644 index 000000000..50566b7fb --- /dev/null +++ b/tests/functionaltests/suites/cite/post/af39c020-7b1d-429c-b474-f45c3164cb79.xml @@ -0,0 +1,14 @@ + + + + summary + + + + dc:title + Lorem ipsum* + + + + + diff --git a/tests/functionaltests/suites/cite/post/b90e2de6-3d25-4298-a13e-dc9492a8fc73.xml b/tests/functionaltests/suites/cite/post/b90e2de6-3d25-4298-a13e-dc9492a8fc73.xml new file mode 100644 index 000000000..aa555faa6 --- /dev/null +++ b/tests/functionaltests/suites/cite/post/b90e2de6-3d25-4298-a13e-dc9492a8fc73.xml @@ -0,0 +1,16 @@ + + + + summary + + + + + dc:title + Lorem ipsum* + + + + + + diff --git a/tests/functionaltests/suites/cite/post/ba9b0107-dcee-46ef-823a-a2e25a911a96.xml b/tests/functionaltests/suites/cite/post/ba9b0107-dcee-46ef-823a-a2e25a911a96.xml new file mode 100644 index 000000000..53e552d24 --- /dev/null +++ b/tests/functionaltests/suites/cite/post/ba9b0107-dcee-46ef-823a-a2e25a911a96.xml @@ -0,0 +1,20 @@ + + + + summary + + + + + dc:format + application/*xml + + + dc:type + http://purl.org/dc/dcmitype/Image + + + + + + diff --git a/tests/functionaltests/suites/cite/post/bb66ebc5-7121-48b5-9f53-b56537d9561b.xml b/tests/functionaltests/suites/cite/post/bb66ebc5-7121-48b5-9f53-b56537d9561b.xml new file mode 100644 index 000000000..873cda46f --- /dev/null +++ b/tests/functionaltests/suites/cite/post/bb66ebc5-7121-48b5-9f53-b56537d9561b.xml @@ -0,0 +1,27 @@ + + + + dc:identifier + dc:type + ows:BoundingBox + + + + + + ows:BoundingBox + + 40.0 -9.0 + 50.0 -5.0 + + + + + dc:type + HTTP://purl.org/dc/dcmitype/dataset + + + + + + diff --git a/tests/functionaltests/suites/cite/post/c02d1c85-df9f-45ee-bea7-345c35e02a98.xml b/tests/functionaltests/suites/cite/post/c02d1c85-df9f-45ee-bea7-345c35e02a98.xml new file mode 100644 index 000000000..dde6f18da --- /dev/null +++ b/tests/functionaltests/suites/cite/post/c02d1c85-df9f-45ee-bea7-345c35e02a98.xml @@ -0,0 +1,16 @@ + + + + brief + + + + dc:title + + input.argument + + + + + + diff --git a/tests/functionaltests/suites/cite/post/c311a342-72e3-4983-be39-868e6ed9740f.xml b/tests/functionaltests/suites/cite/post/c311a342-72e3-4983-be39-868e6ed9740f.xml new file mode 100644 index 000000000..52008563a --- /dev/null +++ b/tests/functionaltests/suites/cite/post/c311a342-72e3-4983-be39-868e6ed9740f.xml @@ -0,0 +1,4 @@ + + + csw:Record + diff --git a/tests/functionaltests/suites/cite/post/c38916c2-4bc6-446d-b7aa-ab006d6ba31c.xml b/tests/functionaltests/suites/cite/post/c38916c2-4bc6-446d-b7aa-ab006d6ba31c.xml new file mode 100644 index 000000000..b58e172a0 --- /dev/null +++ b/tests/functionaltests/suites/cite/post/c38916c2-4bc6-446d-b7aa-ab006d6ba31c.xml @@ -0,0 +1,25 @@ + + + + dc:identifier + dc:date + ows:BoundingBox + + + + + ows:BoundingBox + + 47.0 -4.5 + 52.0 1.0 + + + + dc:date + 2006-01-01 + + + + + + diff --git a/tests/functionaltests/suites/cite/post/c8588f47-8e65-45f5-ad34-ff4524cad84d.xml b/tests/functionaltests/suites/cite/post/c8588f47-8e65-45f5-ad34-ff4524cad84d.xml new file mode 100644 index 000000000..0b55fed66 --- /dev/null +++ b/tests/functionaltests/suites/cite/post/c8588f47-8e65-45f5-ad34-ff4524cad84d.xml @@ -0,0 +1,17 @@ + + + + brief + + + + dct:spatial + + 47.0 -4.5 + 52.0 1.0 + + + + + + diff --git a/tests/functionaltests/suites/cite/post/da228d4c-e1be-43d7-9ccb-c3f27ee32541.xml b/tests/functionaltests/suites/cite/post/da228d4c-e1be-43d7-9ccb-c3f27ee32541.xml new file mode 100644 index 000000000..a694ce4e5 --- /dev/null +++ b/tests/functionaltests/suites/cite/post/da228d4c-e1be-43d7-9ccb-c3f27ee32541.xml @@ -0,0 +1,14 @@ + + + + summary + + + + /dc:title + *lorem* + + + + + diff --git a/tests/functionaltests/suites/cite/post/dc92c2c4-87d8-4a13-964e-ff9b0e0c27b3.xml b/tests/functionaltests/suites/cite/post/dc92c2c4-87d8-4a13-964e-ff9b0e0c27b3.xml new file mode 100644 index 000000000..de0ae7a91 --- /dev/null +++ b/tests/functionaltests/suites/cite/post/dc92c2c4-87d8-4a13-964e-ff9b0e0c27b3.xml @@ -0,0 +1,16 @@ + + + + dc:identifier + dc:type + dc:date + + + + dc:date + 2006-05-01 + + + + + diff --git a/tests/functionaltests/suites/cite/post/dcb13791-379e-4739-bcd4-dbaa69f0efdb.xml b/tests/functionaltests/suites/cite/post/dcb13791-379e-4739-bcd4-dbaa69f0efdb.xml new file mode 100644 index 000000000..81aea41d7 --- /dev/null +++ b/tests/functionaltests/suites/cite/post/dcb13791-379e-4739-bcd4-dbaa69f0efdb.xml @@ -0,0 +1,6 @@ + + + + brief + + diff --git a/tests/functionaltests/suites/cite/post/e308f030-c097-4036-a838-44bad74c9ef7.xml b/tests/functionaltests/suites/cite/post/e308f030-c097-4036-a838-44bad74c9ef7.xml new file mode 100644 index 000000000..19bb2e0a6 --- /dev/null +++ b/tests/functionaltests/suites/cite/post/e308f030-c097-4036-a838-44bad74c9ef7.xml @@ -0,0 +1,6 @@ + + + + brief + + diff --git a/tests/functionaltests/suites/cite/post/e6e9efb2-e2b7-4b0a-a3a2-7deea3f9b8e2.xml b/tests/functionaltests/suites/cite/post/e6e9efb2-e2b7-4b0a-a3a2-7deea3f9b8e2.xml new file mode 100644 index 000000000..6dc06f199 --- /dev/null +++ b/tests/functionaltests/suites/cite/post/e6e9efb2-e2b7-4b0a-a3a2-7deea3f9b8e2.xml @@ -0,0 +1,12 @@ + + + + brief + + + dc:identifier + ASC + + + + diff --git a/tests/functionaltests/suites/cite/post/f7976c55-a156-4421-8199-bc0487da4b0f.xml b/tests/functionaltests/suites/cite/post/f7976c55-a156-4421-8199-bc0487da4b0f.xml new file mode 100644 index 000000000..52008563a --- /dev/null +++ b/tests/functionaltests/suites/cite/post/f7976c55-a156-4421-8199-bc0487da4b0f.xml @@ -0,0 +1,4 @@ + + + csw:Record + diff --git a/tests/functionaltests/suites/cite/post/f7d79701-f10b-4087-a33c-f62df0a04fd1.xml b/tests/functionaltests/suites/cite/post/f7d79701-f10b-4087-a33c-f62df0a04fd1.xml new file mode 100644 index 000000000..19bb2e0a6 --- /dev/null +++ b/tests/functionaltests/suites/cite/post/f7d79701-f10b-4087-a33c-f62df0a04fd1.xml @@ -0,0 +1,6 @@ + + + + brief + + diff --git a/tests/functionaltests/suites/cite/post/fc1bc094-88f1-4851-bc2b-dfc56be9f3c7.xml b/tests/functionaltests/suites/cite/post/fc1bc094-88f1-4851-bc2b-dfc56be9f3c7.xml new file mode 100644 index 000000000..186beb174 --- /dev/null +++ b/tests/functionaltests/suites/cite/post/fc1bc094-88f1-4851-bc2b-dfc56be9f3c7.xml @@ -0,0 +1,14 @@ + + + + brief + + + + dc:title + Fuscé vitae ligulä + + + + + diff --git a/tests/functionaltests/suites/cite/post/fe20960f-a26c-4f13-852d-470a0d3233f9.xml b/tests/functionaltests/suites/cite/post/fe20960f-a26c-4f13-852d-470a0d3233f9.xml new file mode 100644 index 000000000..d011b2e68 --- /dev/null +++ b/tests/functionaltests/suites/cite/post/fe20960f-a26c-4f13-852d-470a0d3233f9.xml @@ -0,0 +1,14 @@ + + + + brief + + + + dc:subject + pHYSIOGRAPHy + + + + + diff --git a/tests/functionaltests/suites/csw30/default.cfg b/tests/functionaltests/suites/csw30/default.cfg new file mode 100644 index 000000000..328045bb4 --- /dev/null +++ b/tests/functionaltests/suites/csw30/default.cfg @@ -0,0 +1,90 @@ +# ================================================================= +# +# Authors: Tom Kralidis +# +# Copyright (c) 2011 Tom Kralidis +# +# Permission is hereby granted, free of charge, to any person +# obtaining a copy of this software and associated documentation +# files (the "Software"), to deal in the Software without +# restriction, including without limitation the rights to use, +# copy, modify, merge, publish, distribute, sublicense, and/or sell +# copies of the Software, and to permit persons to whom the +# Software is furnished to do so, subject to the following +# conditions: +# +# The above copyright notice and this permission notice shall be +# included in all copies or substantial portions of the Software. +# +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +# EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES +# OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +# NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT +# HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, +# WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR +# OTHER DEALINGS IN THE SOFTWARE. +# +# ================================================================= + +[server] +home=. +url=http://localhost/pycsw/csw.py?config=tests/suites/csw30/default.cfg +mimetype=application/xml; charset=UTF-8 +encoding=UTF-8 +language=en-US +maxrecords=10 +#loglevel=DEBUG +#logfile=/tmp/pycsw.log +#ogc_schemas_base=http://foo +federatedcatalogues=http://demo.pycsw.org/gisdata/csw +pretty_print=true +#gzip_compresslevel=8 +#spatial_ranking=true + +[manager] +transactions=false +allowed_ips=127.0.0.1 + +[metadata:main] +identification_title=pycsw Geospatial Catalogue +identification_abstract=pycsw is an OGC CSW server implementation written in Python +identification_keywords=catalogue,discovery +identification_keywords_type=theme +identification_fees=None +identification_accessconstraints=None +provider_name=pycsw +provider_url=http://pycsw.org/ +contact_name=Kralidis, Tom +contact_position=Senior Systems Scientist +contact_address=TBA +contact_city=Toronto +contact_stateorprovince=Ontario +contact_postalcode=M9C 3Z9 +contact_country=Canada +contact_phone=+01-416-xxx-xxxx +contact_fax=+01-416-xxx-xxxx +contact_email=tomkralidis@gmail.com +contact_url=http://kralidis.ca/ +contact_hours=0800h - 1600h EST +contact_instructions=During hours of service. Off on weekends. +contact_role=pointOfContact + +[repository] +# sqlite +database=sqlite:///tests/suites/cite/data/records.db +# postgres +#database=postgres://username:password@localhost/pycsw +table=records + +[metadata:inspire] +enabled=false +languages_supported=eng,gre +default_language=eng +date=2011-03-29 +gemet_keywords=Utility and governmental services +conformity_service=notEvaluated +contact_name=National Technical University of Athens +contact_email=tzotsos@gmail.com +temp_extent=2011-02-01/2011-03-30 + diff --git a/tests/functionaltests/suites/csw30/expected/get_002258f0-627f-457f-b2ad-025777c77ac8.xml b/tests/functionaltests/suites/csw30/expected/get_002258f0-627f-457f-b2ad-025777c77ac8.xml new file mode 100644 index 000000000..60ffc8d10 --- /dev/null +++ b/tests/functionaltests/suites/csw30/expected/get_002258f0-627f-457f-b2ad-025777c77ac8.xml @@ -0,0 +1,15 @@ + + + + pycsw Geospatial + pycsw Geospatial Catalogue + pycsw is an OGC CSW server implementation written in Python + catalogue discovery + + + http://pycsw.org/img/favicon.ico + + Kralidis, Tom + tomkralidis@gmail.com + pycsw + diff --git a/tests/functionaltests/suites/csw30/expected/get_045c600d-973d-41eb-9f60-eba1b717b720.xml b/tests/functionaltests/suites/csw30/expected/get_045c600d-973d-41eb-9f60-eba1b717b720.xml new file mode 100644 index 000000000..5caeab5ae --- /dev/null +++ b/tests/functionaltests/suites/csw30/expected/get_045c600d-973d-41eb-9f60-eba1b717b720.xml @@ -0,0 +1,24 @@ + + + + http://localhost/pycsw/csw.py?config=tests/suites/csw30/default.cfg + pycsw Geospatial Catalogue + + pycsw + + diff --git a/tests/functionaltests/suites/csw30/expected/get_0bbcf862-5211-4351-9988-63f8bec49c98.xml b/tests/functionaltests/suites/csw30/expected/get_0bbcf862-5211-4351-9988-63f8bec49c98.xml new file mode 100644 index 000000000..c1b666067 --- /dev/null +++ b/tests/functionaltests/suites/csw30/expected/get_0bbcf862-5211-4351-9988-63f8bec49c98.xml @@ -0,0 +1,116 @@ + + + + http://localhost/pycsw/csw.py?config=tests/suites/csw30/default.cfg + pycsw Geospatial Catalogue + + pycsw + + diff --git a/tests/functionaltests/suites/csw30/expected/get_0bdf8457-971e-4ed1-be4a-5feca4dcd8fa.xml b/tests/functionaltests/suites/csw30/expected/get_0bdf8457-971e-4ed1-be4a-5feca4dcd8fa.xml new file mode 100644 index 000000000..ce9c9355d --- /dev/null +++ b/tests/functionaltests/suites/csw30/expected/get_0bdf8457-971e-4ed1-be4a-5feca4dcd8fa.xml @@ -0,0 +1,491 @@ + + + + + pycsw Geospatial Catalogue + pycsw is an OGC CSW server implementation written in Python + + catalogue + discovery + theme + + CSW + 2.0.2 + 3.0.0 + None + None + + + pycsw + + + Kralidis, Tom + Senior Systems Scientist + + + +01-416-xxx-xxxx + +01-416-xxx-xxxx + + + TBA + Toronto + Ontario + M9C 3Z9 + Canada + tomkralidis@gmail.com + + + 0800h - 1600h EST + During hours of service. Off on weekends. + + pointOfContact + + + + + + + + + + + + + application/xml + text/xml + + + + + 2.0.2 + 3.0.0 + + + + + All + Filter_Capabilities + OperationsMetadata + ServiceIdentification + ServiceProvider + + + + + + + + + + + + + GetCapabilities.acceptFormats + GetCapabilities.acceptVersions + GetCapabilities.sections + GetRecordById.ElementSetName + GetRecordById.outputFormat + GetRecordById.outputSchema + GetRecords.CONSTRAINTLANGUAGE + GetRecords.ElementSetName + GetRecords.outputFormat + GetRecords.outputSchema + GetRecords.typeNames + + + + + + + + + + + + + CQL_TEXT + FILTER + + + + + brief + full + summary + + + + + application/atom+xml + application/json + application/xml + + + + + http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ + http://www.interlis.ch/INTERLIS2.3 + http://www.opengis.net/cat/csw/3.0 + http://www.opengis.net/cat/csw/csdgm + http://www.w3.org/2005/Atom + + + + + csw:Record + + + + + 10 + + + + + http://localhost/pycsw/csw.py?config=tests/suites/csw30/default.cfg?mode=opensearch&service=CSW&version=3.0.0&request=GetCapabilities + + + + + http://demo.pycsw.org/gisdata/csw + + + + + + + + + + + + + brief + full + summary + + + + + application/atom+xml + application/json + application/xml + + + + + http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ + http://www.interlis.ch/INTERLIS2.3 + http://www.opengis.net/cat/csw/3.0 + http://www.opengis.net/cat/csw/csdgm + http://www.w3.org/2005/Atom + + + + + + + + + + + + + CSW + + + + + 2.0.2 + 3.0.0 + + + + + csw:AnyText + dc:contributor + dc:creator + dc:date + dc:format + dc:identifier + dc:language + dc:publisher + dc:relation + dc:rights + dc:source + dc:subject + dc:title + dc:type + dct:abstract + dct:modified + ows:BoundingBox + + + + + http://demo.pycsw.org/gisdata/csw + + + + + 10 + + + + + SOAP + XML + + + + + allowed + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + http://www.opengis.net/gml + + + + + TRUE + + + + + en + + + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + xs:string + + + xs:string + + + xs:string + + + xs:string + + + xs:string + + + xs:string + + + + diff --git a/tests/functionaltests/suites/csw30/expected/get_0d8bbdec-0846-42ca-8dc8-b7f4cba41d67.xml b/tests/functionaltests/suites/csw30/expected/get_0d8bbdec-0846-42ca-8dc8-b7f4cba41d67.xml new file mode 100644 index 000000000..21edd2682 --- /dev/null +++ b/tests/functionaltests/suites/csw30/expected/get_0d8bbdec-0846-42ca-8dc8-b7f4cba41d67.xml @@ -0,0 +1,47 @@ + + + + + + + urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f + Lorem ipsum + + + urn:uuid:1ef30a8b-876d-4828-9246-c37ab4510bbd + + + + urn:uuid:66ae76b7-54ba-489b-a582-0f0633d96493 + Maecenas enim + + + urn:uuid:6a3de50b-fa66-4b58-a0e6-ca146fdd18d4 + Ut facilisis justo ut lacus + + + urn:uuid:784e2afd-a9fd-44a6-9a92-a3848371c8ec + Aliquam fermentum purus quis arcu + + + urn:uuid:829babb0-b2f1-49e1-8cd5-7b489fe71a1e + Vestibulum massa purus + + + urn:uuid:88247b56-4cbc-4df9-9860-db3f8042e357 + + + + urn:uuid:94bc9c83-97f6-4b40-9eb8-a8e8787a5c63 + Mauris sed neque + + + urn:uuid:9a669547-b69b-469f-a11f-2d875366bbdc + Ñunç elementum + + + urn:uuid:a06af396-3105-442d-8b40-22b57a90d2f2 + Lorem ipsum dolor sit amet + + + diff --git a/tests/functionaltests/suites/csw30/expected/get_0e1dca37-477a-4060-99fe-7799b52d656c.xml b/tests/functionaltests/suites/csw30/expected/get_0e1dca37-477a-4060-99fe-7799b52d656c.xml new file mode 100644 index 000000000..b6869d887 --- /dev/null +++ b/tests/functionaltests/suites/csw30/expected/get_0e1dca37-477a-4060-99fe-7799b52d656c.xml @@ -0,0 +1,15 @@ + + + + http://localhost/pycsw/csw.py?config=tests/suites/csw30/default.cfg + pycsw Geospatial Catalogue + + pycsw + + diff --git a/tests/functionaltests/suites/csw30/expected/get_13c87956-51a4-4780-a8e9-6e0b5c0bb473.xml b/tests/functionaltests/suites/csw30/expected/get_13c87956-51a4-4780-a8e9-6e0b5c0bb473.xml new file mode 100644 index 000000000..3ce950bca --- /dev/null +++ b/tests/functionaltests/suites/csw30/expected/get_13c87956-51a4-4780-a8e9-6e0b5c0bb473.xml @@ -0,0 +1,92 @@ + + + + + + + urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f + Lorem ipsum + http://purl.org/dc/dcmitype/Image + Tourism--Greece + image/svg+xml + Quisque lacus diam, placerat mollis, pharetra in, commodo sed, augue. Duis iaculis arcu vel arcu. + + + urn:uuid:1ef30a8b-876d-4828-9246-c37ab4510bbd + + http://purl.org/dc/dcmitype/Service + Proin sit amet justo. In justo. Aenean adipiscing nulla id tellus. + + 60.04 13.75 + 68.41 17.92 + + + + urn:uuid:66ae76b7-54ba-489b-a582-0f0633d96493 + Maecenas enim + http://purl.org/dc/dcmitype/Text + Marine sediments + application/xhtml+xml + Pellentesque tempus magna non sapien fringilla blandit. + + + urn:uuid:6a3de50b-fa66-4b58-a0e6-ca146fdd18d4 + Ut facilisis justo ut lacus + http://purl.org/dc/dcmitype/Service + Vegetation + urn:uuid:94bc9c83-97f6-4b40-9eb8-a8e8787a5c63 + + + urn:uuid:784e2afd-a9fd-44a6-9a92-a3848371c8ec + Aliquam fermentum purus quis arcu + http://purl.org/dc/dcmitype/Text + Hydrography--Dictionaries + application/pdf + Vestibulum quis ipsum sit amet metus imperdiet vehicula. Nulla scelerisque cursus mi. + 2006-05-12 + + + urn:uuid:829babb0-b2f1-49e1-8cd5-7b489fe71a1e + Vestibulum massa purus + http://purl.org/dc/dcmitype/Image + image/jp2 + urn:uuid:9a669547-b69b-469f-a11f-2d875366bbdc + + + urn:uuid:88247b56-4cbc-4df9-9860-db3f8042e357 + + http://purl.org/dc/dcmitype/Dataset + Physiography-Landforms + Donec scelerisque pede ut nisl luctus accumsan. Quisque ultrices, lorem eget feugiat fringilla, lorem dui porttitor ante, cursus ultrices magna odio eu neque. + + + urn:uuid:94bc9c83-97f6-4b40-9eb8-a8e8787a5c63 + Mauris sed neque + http://purl.org/dc/dcmitype/Dataset + Vegetation-Cropland + Curabitur lacinia, ante non porta tempus, mi lorem feugiat odio, eget suscipit eros pede ac velit. + 2006-03-26 + + 47.59 -4.1 + 51.22 0.89 + + + + urn:uuid:9a669547-b69b-469f-a11f-2d875366bbdc + Ñunç elementum + http://purl.org/dc/dcmitype/Dataset + Hydrography-Oceanographic + 2005-10-24 + + 44.79 -6.17 + 51.13 -2.23 + + + + urn:uuid:a06af396-3105-442d-8b40-22b57a90d2f2 + Lorem ipsum dolor sit amet + http://purl.org/dc/dcmitype/Image + image/jpeg + + + diff --git a/tests/functionaltests/suites/csw30/expected/get_151d982f-ebd3-4cb2-b507-a667713a1e92.xml b/tests/functionaltests/suites/csw30/expected/get_151d982f-ebd3-4cb2-b507-a667713a1e92.xml new file mode 100644 index 000000000..633f7c9ae --- /dev/null +++ b/tests/functionaltests/suites/csw30/expected/get_151d982f-ebd3-4cb2-b507-a667713a1e92.xml @@ -0,0 +1,7 @@ + + + + + Invalid acceptFormats parameter value: model/x3d+xml + + diff --git a/tests/functionaltests/suites/csw30/expected/get_1869e495-1a61-4713-8285-76d1336ee1a6.xml b/tests/functionaltests/suites/csw30/expected/get_1869e495-1a61-4713-8285-76d1336ee1a6.xml new file mode 100644 index 000000000..42a76d4fd --- /dev/null +++ b/tests/functionaltests/suites/csw30/expected/get_1869e495-1a61-4713-8285-76d1336ee1a6.xml @@ -0,0 +1,7 @@ + + + + + Missing keyword: service + + diff --git a/tests/functionaltests/suites/csw30/expected/get_1bcb42a9-538c-4f0a-9d4c-d6f10b720aa6.xml b/tests/functionaltests/suites/csw30/expected/get_1bcb42a9-538c-4f0a-9d4c-d6f10b720aa6.xml new file mode 100644 index 000000000..dd5dfc621 --- /dev/null +++ b/tests/functionaltests/suites/csw30/expected/get_1bcb42a9-538c-4f0a-9d4c-d6f10b720aa6.xml @@ -0,0 +1,7 @@ + + + + + Missing id parameter + + diff --git a/tests/functionaltests/suites/csw30/expected/get_22f44168-2ccf-4801-ad96-204212566d56.xml b/tests/functionaltests/suites/csw30/expected/get_22f44168-2ccf-4801-ad96-204212566d56.xml new file mode 100644 index 000000000..ce9c9355d --- /dev/null +++ b/tests/functionaltests/suites/csw30/expected/get_22f44168-2ccf-4801-ad96-204212566d56.xml @@ -0,0 +1,491 @@ + + + + + pycsw Geospatial Catalogue + pycsw is an OGC CSW server implementation written in Python + + catalogue + discovery + theme + + CSW + 2.0.2 + 3.0.0 + None + None + + + pycsw + + + Kralidis, Tom + Senior Systems Scientist + + + +01-416-xxx-xxxx + +01-416-xxx-xxxx + + + TBA + Toronto + Ontario + M9C 3Z9 + Canada + tomkralidis@gmail.com + + + 0800h - 1600h EST + During hours of service. Off on weekends. + + pointOfContact + + + + + + + + + + + + + application/xml + text/xml + + + + + 2.0.2 + 3.0.0 + + + + + All + Filter_Capabilities + OperationsMetadata + ServiceIdentification + ServiceProvider + + + + + + + + + + + + + GetCapabilities.acceptFormats + GetCapabilities.acceptVersions + GetCapabilities.sections + GetRecordById.ElementSetName + GetRecordById.outputFormat + GetRecordById.outputSchema + GetRecords.CONSTRAINTLANGUAGE + GetRecords.ElementSetName + GetRecords.outputFormat + GetRecords.outputSchema + GetRecords.typeNames + + + + + + + + + + + + + CQL_TEXT + FILTER + + + + + brief + full + summary + + + + + application/atom+xml + application/json + application/xml + + + + + http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ + http://www.interlis.ch/INTERLIS2.3 + http://www.opengis.net/cat/csw/3.0 + http://www.opengis.net/cat/csw/csdgm + http://www.w3.org/2005/Atom + + + + + csw:Record + + + + + 10 + + + + + http://localhost/pycsw/csw.py?config=tests/suites/csw30/default.cfg?mode=opensearch&service=CSW&version=3.0.0&request=GetCapabilities + + + + + http://demo.pycsw.org/gisdata/csw + + + + + + + + + + + + + brief + full + summary + + + + + application/atom+xml + application/json + application/xml + + + + + http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ + http://www.interlis.ch/INTERLIS2.3 + http://www.opengis.net/cat/csw/3.0 + http://www.opengis.net/cat/csw/csdgm + http://www.w3.org/2005/Atom + + + + + + + + + + + + + CSW + + + + + 2.0.2 + 3.0.0 + + + + + csw:AnyText + dc:contributor + dc:creator + dc:date + dc:format + dc:identifier + dc:language + dc:publisher + dc:relation + dc:rights + dc:source + dc:subject + dc:title + dc:type + dct:abstract + dct:modified + ows:BoundingBox + + + + + http://demo.pycsw.org/gisdata/csw + + + + + 10 + + + + + SOAP + XML + + + + + allowed + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + http://www.opengis.net/gml + + + + + TRUE + + + + + en + + + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + xs:string + + + xs:string + + + xs:string + + + xs:string + + + xs:string + + + xs:string + + + + diff --git a/tests/functionaltests/suites/csw30/expected/get_2499a9c9-8d33-449c-bc92-d494adfcc84d.xml b/tests/functionaltests/suites/csw30/expected/get_2499a9c9-8d33-449c-bc92-d494adfcc84d.xml new file mode 100644 index 000000000..ce9c9355d --- /dev/null +++ b/tests/functionaltests/suites/csw30/expected/get_2499a9c9-8d33-449c-bc92-d494adfcc84d.xml @@ -0,0 +1,491 @@ + + + + + pycsw Geospatial Catalogue + pycsw is an OGC CSW server implementation written in Python + + catalogue + discovery + theme + + CSW + 2.0.2 + 3.0.0 + None + None + + + pycsw + + + Kralidis, Tom + Senior Systems Scientist + + + +01-416-xxx-xxxx + +01-416-xxx-xxxx + + + TBA + Toronto + Ontario + M9C 3Z9 + Canada + tomkralidis@gmail.com + + + 0800h - 1600h EST + During hours of service. Off on weekends. + + pointOfContact + + + + + + + + + + + + + application/xml + text/xml + + + + + 2.0.2 + 3.0.0 + + + + + All + Filter_Capabilities + OperationsMetadata + ServiceIdentification + ServiceProvider + + + + + + + + + + + + + GetCapabilities.acceptFormats + GetCapabilities.acceptVersions + GetCapabilities.sections + GetRecordById.ElementSetName + GetRecordById.outputFormat + GetRecordById.outputSchema + GetRecords.CONSTRAINTLANGUAGE + GetRecords.ElementSetName + GetRecords.outputFormat + GetRecords.outputSchema + GetRecords.typeNames + + + + + + + + + + + + + CQL_TEXT + FILTER + + + + + brief + full + summary + + + + + application/atom+xml + application/json + application/xml + + + + + http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ + http://www.interlis.ch/INTERLIS2.3 + http://www.opengis.net/cat/csw/3.0 + http://www.opengis.net/cat/csw/csdgm + http://www.w3.org/2005/Atom + + + + + csw:Record + + + + + 10 + + + + + http://localhost/pycsw/csw.py?config=tests/suites/csw30/default.cfg?mode=opensearch&service=CSW&version=3.0.0&request=GetCapabilities + + + + + http://demo.pycsw.org/gisdata/csw + + + + + + + + + + + + + brief + full + summary + + + + + application/atom+xml + application/json + application/xml + + + + + http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ + http://www.interlis.ch/INTERLIS2.3 + http://www.opengis.net/cat/csw/3.0 + http://www.opengis.net/cat/csw/csdgm + http://www.w3.org/2005/Atom + + + + + + + + + + + + + CSW + + + + + 2.0.2 + 3.0.0 + + + + + csw:AnyText + dc:contributor + dc:creator + dc:date + dc:format + dc:identifier + dc:language + dc:publisher + dc:relation + dc:rights + dc:source + dc:subject + dc:title + dc:type + dct:abstract + dct:modified + ows:BoundingBox + + + + + http://demo.pycsw.org/gisdata/csw + + + + + 10 + + + + + SOAP + XML + + + + + allowed + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + http://www.opengis.net/gml + + + + + TRUE + + + + + en + + + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + xs:string + + + xs:string + + + xs:string + + + xs:string + + + xs:string + + + xs:string + + + + diff --git a/tests/functionaltests/suites/csw30/expected/get_27f4f39c-d92a-4e3c-b961-c6aa8c24e513.xml b/tests/functionaltests/suites/csw30/expected/get_27f4f39c-d92a-4e3c-b961-c6aa8c24e513.xml new file mode 100644 index 000000000..ce9c9355d --- /dev/null +++ b/tests/functionaltests/suites/csw30/expected/get_27f4f39c-d92a-4e3c-b961-c6aa8c24e513.xml @@ -0,0 +1,491 @@ + + + + + pycsw Geospatial Catalogue + pycsw is an OGC CSW server implementation written in Python + + catalogue + discovery + theme + + CSW + 2.0.2 + 3.0.0 + None + None + + + pycsw + + + Kralidis, Tom + Senior Systems Scientist + + + +01-416-xxx-xxxx + +01-416-xxx-xxxx + + + TBA + Toronto + Ontario + M9C 3Z9 + Canada + tomkralidis@gmail.com + + + 0800h - 1600h EST + During hours of service. Off on weekends. + + pointOfContact + + + + + + + + + + + + + application/xml + text/xml + + + + + 2.0.2 + 3.0.0 + + + + + All + Filter_Capabilities + OperationsMetadata + ServiceIdentification + ServiceProvider + + + + + + + + + + + + + GetCapabilities.acceptFormats + GetCapabilities.acceptVersions + GetCapabilities.sections + GetRecordById.ElementSetName + GetRecordById.outputFormat + GetRecordById.outputSchema + GetRecords.CONSTRAINTLANGUAGE + GetRecords.ElementSetName + GetRecords.outputFormat + GetRecords.outputSchema + GetRecords.typeNames + + + + + + + + + + + + + CQL_TEXT + FILTER + + + + + brief + full + summary + + + + + application/atom+xml + application/json + application/xml + + + + + http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ + http://www.interlis.ch/INTERLIS2.3 + http://www.opengis.net/cat/csw/3.0 + http://www.opengis.net/cat/csw/csdgm + http://www.w3.org/2005/Atom + + + + + csw:Record + + + + + 10 + + + + + http://localhost/pycsw/csw.py?config=tests/suites/csw30/default.cfg?mode=opensearch&service=CSW&version=3.0.0&request=GetCapabilities + + + + + http://demo.pycsw.org/gisdata/csw + + + + + + + + + + + + + brief + full + summary + + + + + application/atom+xml + application/json + application/xml + + + + + http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ + http://www.interlis.ch/INTERLIS2.3 + http://www.opengis.net/cat/csw/3.0 + http://www.opengis.net/cat/csw/csdgm + http://www.w3.org/2005/Atom + + + + + + + + + + + + + CSW + + + + + 2.0.2 + 3.0.0 + + + + + csw:AnyText + dc:contributor + dc:creator + dc:date + dc:format + dc:identifier + dc:language + dc:publisher + dc:relation + dc:rights + dc:source + dc:subject + dc:title + dc:type + dct:abstract + dct:modified + ows:BoundingBox + + + + + http://demo.pycsw.org/gisdata/csw + + + + + 10 + + + + + SOAP + XML + + + + + allowed + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + http://www.opengis.net/gml + + + + + TRUE + + + + + en + + + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + xs:string + + + xs:string + + + xs:string + + + xs:string + + + xs:string + + + xs:string + + + + diff --git a/tests/functionaltests/suites/csw30/expected/get_28e569df-8596-4128-8d9a-29ad03138915.xml b/tests/functionaltests/suites/csw30/expected/get_28e569df-8596-4128-8d9a-29ad03138915.xml new file mode 100644 index 000000000..c998b50af --- /dev/null +++ b/tests/functionaltests/suites/csw30/expected/get_28e569df-8596-4128-8d9a-29ad03138915.xml @@ -0,0 +1,8 @@ + + + + urn:uuid:a06af396-3105-442d-8b40-22b57a90d2f2 + Lorem ipsum dolor sit amet + http://purl.org/dc/dcmitype/Image + image/jpeg + diff --git a/tests/functionaltests/suites/csw30/expected/get_2b06a5c8-0df2-4af1-8d2e-a425de11c845.xml b/tests/functionaltests/suites/csw30/expected/get_2b06a5c8-0df2-4af1-8d2e-a425de11c845.xml new file mode 100644 index 000000000..ce9c9355d --- /dev/null +++ b/tests/functionaltests/suites/csw30/expected/get_2b06a5c8-0df2-4af1-8d2e-a425de11c845.xml @@ -0,0 +1,491 @@ + + + + + pycsw Geospatial Catalogue + pycsw is an OGC CSW server implementation written in Python + + catalogue + discovery + theme + + CSW + 2.0.2 + 3.0.0 + None + None + + + pycsw + + + Kralidis, Tom + Senior Systems Scientist + + + +01-416-xxx-xxxx + +01-416-xxx-xxxx + + + TBA + Toronto + Ontario + M9C 3Z9 + Canada + tomkralidis@gmail.com + + + 0800h - 1600h EST + During hours of service. Off on weekends. + + pointOfContact + + + + + + + + + + + + + application/xml + text/xml + + + + + 2.0.2 + 3.0.0 + + + + + All + Filter_Capabilities + OperationsMetadata + ServiceIdentification + ServiceProvider + + + + + + + + + + + + + GetCapabilities.acceptFormats + GetCapabilities.acceptVersions + GetCapabilities.sections + GetRecordById.ElementSetName + GetRecordById.outputFormat + GetRecordById.outputSchema + GetRecords.CONSTRAINTLANGUAGE + GetRecords.ElementSetName + GetRecords.outputFormat + GetRecords.outputSchema + GetRecords.typeNames + + + + + + + + + + + + + CQL_TEXT + FILTER + + + + + brief + full + summary + + + + + application/atom+xml + application/json + application/xml + + + + + http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ + http://www.interlis.ch/INTERLIS2.3 + http://www.opengis.net/cat/csw/3.0 + http://www.opengis.net/cat/csw/csdgm + http://www.w3.org/2005/Atom + + + + + csw:Record + + + + + 10 + + + + + http://localhost/pycsw/csw.py?config=tests/suites/csw30/default.cfg?mode=opensearch&service=CSW&version=3.0.0&request=GetCapabilities + + + + + http://demo.pycsw.org/gisdata/csw + + + + + + + + + + + + + brief + full + summary + + + + + application/atom+xml + application/json + application/xml + + + + + http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ + http://www.interlis.ch/INTERLIS2.3 + http://www.opengis.net/cat/csw/3.0 + http://www.opengis.net/cat/csw/csdgm + http://www.w3.org/2005/Atom + + + + + + + + + + + + + CSW + + + + + 2.0.2 + 3.0.0 + + + + + csw:AnyText + dc:contributor + dc:creator + dc:date + dc:format + dc:identifier + dc:language + dc:publisher + dc:relation + dc:rights + dc:source + dc:subject + dc:title + dc:type + dct:abstract + dct:modified + ows:BoundingBox + + + + + http://demo.pycsw.org/gisdata/csw + + + + + 10 + + + + + SOAP + XML + + + + + allowed + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + http://www.opengis.net/gml + + + + + TRUE + + + + + en + + + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + xs:string + + + xs:string + + + xs:string + + + xs:string + + + xs:string + + + xs:string + + + + diff --git a/tests/functionaltests/suites/csw30/expected/get_2ba1418a-444d-4cce-9cfe-4c94efcf8b55.xml b/tests/functionaltests/suites/csw30/expected/get_2ba1418a-444d-4cce-9cfe-4c94efcf8b55.xml new file mode 100644 index 000000000..06869ee15 --- /dev/null +++ b/tests/functionaltests/suites/csw30/expected/get_2ba1418a-444d-4cce-9cfe-4c94efcf8b55.xml @@ -0,0 +1,32 @@ + + + + http://localhost/pycsw/csw.py?config=tests/suites/csw30/default.cfg + pycsw Geospatial Catalogue + + pycsw + + diff --git a/tests/functionaltests/suites/csw30/expected/get_397fe17a-d5b4-4f96-8cc4-4ce467ed4d0a.xml b/tests/functionaltests/suites/csw30/expected/get_397fe17a-d5b4-4f96-8cc4-4ce467ed4d0a.xml new file mode 100644 index 000000000..a2f3d5785 --- /dev/null +++ b/tests/functionaltests/suites/csw30/expected/get_397fe17a-d5b4-4f96-8cc4-4ce467ed4d0a.xml @@ -0,0 +1,30 @@ + + + + + + + urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f + Lorem ipsum + http://purl.org/dc/dcmitype/Image + Tourism--Greece + image/svg+xml + Quisque lacus diam, placerat mollis, pharetra in, commodo sed, augue. Duis iaculis arcu vel arcu. + + + urn:uuid:784e2afd-a9fd-44a6-9a92-a3848371c8ec + Aliquam fermentum purus quis arcu + http://purl.org/dc/dcmitype/Text + Hydrography--Dictionaries + application/pdf + Vestibulum quis ipsum sit amet metus imperdiet vehicula. Nulla scelerisque cursus mi. + 2006-05-12 + + + urn:uuid:a06af396-3105-442d-8b40-22b57a90d2f2 + Lorem ipsum dolor sit amet + http://purl.org/dc/dcmitype/Image + image/jpeg + + + diff --git a/tests/functionaltests/suites/csw30/expected/get_3dcd1b15-73d2-4b7d-a3e3-ff15bf14aae4.xml b/tests/functionaltests/suites/csw30/expected/get_3dcd1b15-73d2-4b7d-a3e3-ff15bf14aae4.xml new file mode 100644 index 000000000..4d7f6b1bf --- /dev/null +++ b/tests/functionaltests/suites/csw30/expected/get_3dcd1b15-73d2-4b7d-a3e3-ff15bf14aae4.xml @@ -0,0 +1,69 @@ + + + + + + + urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f + Lorem ipsum + http://purl.org/dc/dcmitype/Image + + + urn:uuid:1ef30a8b-876d-4828-9246-c37ab4510bbd + + http://purl.org/dc/dcmitype/Service + + 60.04 13.75 + 68.41 17.92 + + + + urn:uuid:66ae76b7-54ba-489b-a582-0f0633d96493 + Maecenas enim + http://purl.org/dc/dcmitype/Text + + + urn:uuid:6a3de50b-fa66-4b58-a0e6-ca146fdd18d4 + Ut facilisis justo ut lacus + http://purl.org/dc/dcmitype/Service + + + urn:uuid:784e2afd-a9fd-44a6-9a92-a3848371c8ec + Aliquam fermentum purus quis arcu + http://purl.org/dc/dcmitype/Text + + + urn:uuid:829babb0-b2f1-49e1-8cd5-7b489fe71a1e + Vestibulum massa purus + http://purl.org/dc/dcmitype/Image + + + urn:uuid:88247b56-4cbc-4df9-9860-db3f8042e357 + + http://purl.org/dc/dcmitype/Dataset + + + urn:uuid:94bc9c83-97f6-4b40-9eb8-a8e8787a5c63 + Mauris sed neque + http://purl.org/dc/dcmitype/Dataset + + 47.59 -4.1 + 51.22 0.89 + + + + urn:uuid:9a669547-b69b-469f-a11f-2d875366bbdc + Ñunç elementum + http://purl.org/dc/dcmitype/Dataset + + 44.79 -6.17 + 51.13 -2.23 + + + + urn:uuid:a06af396-3105-442d-8b40-22b57a90d2f2 + Lorem ipsum dolor sit amet + http://purl.org/dc/dcmitype/Image + + + diff --git a/tests/functionaltests/suites/csw30/expected/get_405e1ff1-5c75-4846-a28b-cfaff2a6921a.xml b/tests/functionaltests/suites/csw30/expected/get_405e1ff1-5c75-4846-a28b-cfaff2a6921a.xml new file mode 100644 index 000000000..22bdf2c6f --- /dev/null +++ b/tests/functionaltests/suites/csw30/expected/get_405e1ff1-5c75-4846-a28b-cfaff2a6921a.xml @@ -0,0 +1,23 @@ + + + + + + + urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f + Lorem ipsum + http://purl.org/dc/dcmitype/Image + Tourism--Greece + image/svg+xml + Quisque lacus diam, placerat mollis, pharetra in, commodo sed, augue. Duis iaculis arcu vel arcu. + + + urn:uuid:e9330592-0932-474b-be34-c3a3bb67c7db + Fuscé vitae ligulä + http://purl.org/dc/dcmitype/Text + Land titles + text/rtf + Morbi ultriçes, dui suscipit vestibulum prètium, velit ante pretium tortor, egët tincidunt pede odio ac nulla. + + + diff --git a/tests/functionaltests/suites/csw30/expected/get_43cd6471-6ac7-45bd-8ff9-148cb2de9a52.xml b/tests/functionaltests/suites/csw30/expected/get_43cd6471-6ac7-45bd-8ff9-148cb2de9a52.xml new file mode 100644 index 000000000..ce9c9355d --- /dev/null +++ b/tests/functionaltests/suites/csw30/expected/get_43cd6471-6ac7-45bd-8ff9-148cb2de9a52.xml @@ -0,0 +1,491 @@ + + + + + pycsw Geospatial Catalogue + pycsw is an OGC CSW server implementation written in Python + + catalogue + discovery + theme + + CSW + 2.0.2 + 3.0.0 + None + None + + + pycsw + + + Kralidis, Tom + Senior Systems Scientist + + + +01-416-xxx-xxxx + +01-416-xxx-xxxx + + + TBA + Toronto + Ontario + M9C 3Z9 + Canada + tomkralidis@gmail.com + + + 0800h - 1600h EST + During hours of service. Off on weekends. + + pointOfContact + + + + + + + + + + + + + application/xml + text/xml + + + + + 2.0.2 + 3.0.0 + + + + + All + Filter_Capabilities + OperationsMetadata + ServiceIdentification + ServiceProvider + + + + + + + + + + + + + GetCapabilities.acceptFormats + GetCapabilities.acceptVersions + GetCapabilities.sections + GetRecordById.ElementSetName + GetRecordById.outputFormat + GetRecordById.outputSchema + GetRecords.CONSTRAINTLANGUAGE + GetRecords.ElementSetName + GetRecords.outputFormat + GetRecords.outputSchema + GetRecords.typeNames + + + + + + + + + + + + + CQL_TEXT + FILTER + + + + + brief + full + summary + + + + + application/atom+xml + application/json + application/xml + + + + + http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ + http://www.interlis.ch/INTERLIS2.3 + http://www.opengis.net/cat/csw/3.0 + http://www.opengis.net/cat/csw/csdgm + http://www.w3.org/2005/Atom + + + + + csw:Record + + + + + 10 + + + + + http://localhost/pycsw/csw.py?config=tests/suites/csw30/default.cfg?mode=opensearch&service=CSW&version=3.0.0&request=GetCapabilities + + + + + http://demo.pycsw.org/gisdata/csw + + + + + + + + + + + + + brief + full + summary + + + + + application/atom+xml + application/json + application/xml + + + + + http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ + http://www.interlis.ch/INTERLIS2.3 + http://www.opengis.net/cat/csw/3.0 + http://www.opengis.net/cat/csw/csdgm + http://www.w3.org/2005/Atom + + + + + + + + + + + + + CSW + + + + + 2.0.2 + 3.0.0 + + + + + csw:AnyText + dc:contributor + dc:creator + dc:date + dc:format + dc:identifier + dc:language + dc:publisher + dc:relation + dc:rights + dc:source + dc:subject + dc:title + dc:type + dct:abstract + dct:modified + ows:BoundingBox + + + + + http://demo.pycsw.org/gisdata/csw + + + + + 10 + + + + + SOAP + XML + + + + + allowed + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + http://www.opengis.net/gml + + + + + TRUE + + + + + en + + + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + xs:string + + + xs:string + + + xs:string + + + xs:string + + + xs:string + + + xs:string + + + + diff --git a/tests/functionaltests/suites/csw30/expected/get_4566d2ec-1283-4a02-baed-a74fc5b47e37.xml b/tests/functionaltests/suites/csw30/expected/get_4566d2ec-1283-4a02-baed-a74fc5b47e37.xml new file mode 100644 index 000000000..e907a5144 --- /dev/null +++ b/tests/functionaltests/suites/csw30/expected/get_4566d2ec-1283-4a02-baed-a74fc5b47e37.xml @@ -0,0 +1,18 @@ + + + + + pycsw Geospatial Catalogue + pycsw is an OGC CSW server implementation written in Python + + catalogue + discovery + theme + + CSW + 2.0.2 + 3.0.0 + None + None + + diff --git a/tests/functionaltests/suites/csw30/expected/get_461bd4c5-6623-490d-9036-d91a2201e87b.xml b/tests/functionaltests/suites/csw30/expected/get_461bd4c5-6623-490d-9036-d91a2201e87b.xml new file mode 100644 index 000000000..cd2d3db66 --- /dev/null +++ b/tests/functionaltests/suites/csw30/expected/get_461bd4c5-6623-490d-9036-d91a2201e87b.xml @@ -0,0 +1,3 @@ + + + diff --git a/tests/functionaltests/suites/csw30/expected/get_5496894a-3877-4f62-a20b-5d7126f94925.xml b/tests/functionaltests/suites/csw30/expected/get_5496894a-3877-4f62-a20b-5d7126f94925.xml new file mode 100644 index 000000000..f0c8bac70 --- /dev/null +++ b/tests/functionaltests/suites/csw30/expected/get_5496894a-3877-4f62-a20b-5d7126f94925.xml @@ -0,0 +1,7 @@ + + + + + 4326 coordinates out of range: ['514432', '5429689', '529130', '5451619'] + + diff --git a/tests/functionaltests/suites/csw30/expected/get_5a015f6a-bf14-4977-b1e3-6577eb0223c8.xml b/tests/functionaltests/suites/csw30/expected/get_5a015f6a-bf14-4977-b1e3-6577eb0223c8.xml new file mode 100644 index 000000000..73b0f786a --- /dev/null +++ b/tests/functionaltests/suites/csw30/expected/get_5a015f6a-bf14-4977-b1e3-6577eb0223c8.xml @@ -0,0 +1,40 @@ + + + + + + + urn:uuid:1ef30a8b-876d-4828-9246-c37ab4510bbd + + http://purl.org/dc/dcmitype/Service + Proin sit amet justo. In justo. Aenean adipiscing nulla id tellus. + + 60.04 13.75 + 68.41 17.92 + + + + urn:uuid:94bc9c83-97f6-4b40-9eb8-a8e8787a5c63 + Mauris sed neque + http://purl.org/dc/dcmitype/Dataset + Vegetation-Cropland + Curabitur lacinia, ante non porta tempus, mi lorem feugiat odio, eget suscipit eros pede ac velit. + 2006-03-26 + + 47.59 -4.1 + 51.22 0.89 + + + + urn:uuid:9a669547-b69b-469f-a11f-2d875366bbdc + Ñunç elementum + http://purl.org/dc/dcmitype/Dataset + Hydrography-Oceanographic + 2005-10-24 + + 44.79 -6.17 + 51.13 -2.23 + + + + diff --git a/tests/functionaltests/suites/csw30/expected/get_5c3a2390-1fb9-43f0-b96c-f48c7a69c990.xml b/tests/functionaltests/suites/csw30/expected/get_5c3a2390-1fb9-43f0-b96c-f48c7a69c990.xml new file mode 100644 index 000000000..ffd1bd085 --- /dev/null +++ b/tests/functionaltests/suites/csw30/expected/get_5c3a2390-1fb9-43f0-b96c-f48c7a69c990.xml @@ -0,0 +1,7 @@ + + + + + Invalid outputformat parameter model/vnd.collada+xml + + diff --git a/tests/functionaltests/suites/csw30/expected/get_5e9e67dc-18d6-4645-8111-c6263c88a61f.xml b/tests/functionaltests/suites/csw30/expected/get_5e9e67dc-18d6-4645-8111-c6263c88a61f.xml new file mode 100644 index 000000000..4d3fed27a --- /dev/null +++ b/tests/functionaltests/suites/csw30/expected/get_5e9e67dc-18d6-4645-8111-c6263c88a61f.xml @@ -0,0 +1,326 @@ + + + + + + + + + + + + + + application/xml + text/xml + + + + + 2.0.2 + 3.0.0 + + + + + All + Filter_Capabilities + OperationsMetadata + ServiceIdentification + ServiceProvider + + + + + + + + + + + + + GetCapabilities.acceptFormats + GetCapabilities.acceptVersions + GetCapabilities.sections + GetRecordById.ElementSetName + GetRecordById.outputFormat + GetRecordById.outputSchema + GetRecords.CONSTRAINTLANGUAGE + GetRecords.ElementSetName + GetRecords.outputFormat + GetRecords.outputSchema + GetRecords.typeNames + + + + + + + + + + + + + CQL_TEXT + FILTER + + + + + brief + full + summary + + + + + application/atom+xml + application/json + application/xml + + + + + http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ + http://www.interlis.ch/INTERLIS2.3 + http://www.opengis.net/cat/csw/3.0 + http://www.opengis.net/cat/csw/csdgm + http://www.w3.org/2005/Atom + + + + + csw:Record + + + + + 10 + + + + + http://localhost/pycsw/csw.py?config=tests/suites/csw30/default.cfg?mode=opensearch&service=CSW&version=3.0.0&request=GetCapabilities + + + + + http://demo.pycsw.org/gisdata/csw + + + + + + + + + + + + + brief + full + summary + + + + + application/atom+xml + application/json + application/xml + + + + + http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ + http://www.interlis.ch/INTERLIS2.3 + http://www.opengis.net/cat/csw/3.0 + http://www.opengis.net/cat/csw/csdgm + http://www.w3.org/2005/Atom + + + + + + + + + + + + + CSW + + + + + 2.0.2 + 3.0.0 + + + + + csw:AnyText + dc:contributor + dc:creator + dc:date + dc:format + dc:identifier + dc:language + dc:publisher + dc:relation + dc:rights + dc:source + dc:subject + dc:title + dc:type + dct:abstract + dct:modified + ows:BoundingBox + + + + + http://demo.pycsw.org/gisdata/csw + + + + + 10 + + + + + SOAP + XML + + + + + allowed + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + http://www.opengis.net/gml + + + + + TRUE + + + + diff --git a/tests/functionaltests/suites/csw30/expected/get_604d9379-741c-42e5-b4cf-92e56c87fa64.xml b/tests/functionaltests/suites/csw30/expected/get_604d9379-741c-42e5-b4cf-92e56c87fa64.xml new file mode 100644 index 000000000..17019ae5c --- /dev/null +++ b/tests/functionaltests/suites/csw30/expected/get_604d9379-741c-42e5-b4cf-92e56c87fa64.xml @@ -0,0 +1,32 @@ + + + + + + + urn:uuid:1ef30a8b-876d-4828-9246-c37ab4510bbd + + http://purl.org/dc/dcmitype/Service + Proin sit amet justo. In justo. Aenean adipiscing nulla id tellus. + + 60.04 13.75 + 68.41 17.92 + + + + urn:uuid:784e2afd-a9fd-44a6-9a92-a3848371c8ec + Aliquam fermentum purus quis arcu + http://purl.org/dc/dcmitype/Text + Hydrography--Dictionaries + application/pdf + Vestibulum quis ipsum sit amet metus imperdiet vehicula. Nulla scelerisque cursus mi. + 2006-05-12 + + + urn:uuid:a06af396-3105-442d-8b40-22b57a90d2f2 + Lorem ipsum dolor sit amet + http://purl.org/dc/dcmitype/Image + image/jpeg + + + diff --git a/tests/functionaltests/suites/csw30/expected/get_60e6af95-d5fc-465a-82e2-fd2e6d85e4af.xml b/tests/functionaltests/suites/csw30/expected/get_60e6af95-d5fc-465a-82e2-fd2e6d85e4af.xml new file mode 100644 index 000000000..d4ac1d550 --- /dev/null +++ b/tests/functionaltests/suites/csw30/expected/get_60e6af95-d5fc-465a-82e2-fd2e6d85e4af.xml @@ -0,0 +1,7 @@ + + + + + Invalid typeNames parameter value: UnknownType + + diff --git a/tests/functionaltests/suites/csw30/expected/get_62ad94c2-b558-4265-a427-23d6677975d6.xml b/tests/functionaltests/suites/csw30/expected/get_62ad94c2-b558-4265-a427-23d6677975d6.xml new file mode 100644 index 000000000..faf07a500 --- /dev/null +++ b/tests/functionaltests/suites/csw30/expected/get_62ad94c2-b558-4265-a427-23d6677975d6.xml @@ -0,0 +1,7 @@ + + + + + No records found for 'uid-bc5017e6-5cc8-4b03-aee7-d88f88caba0a' + + diff --git a/tests/functionaltests/suites/csw30/expected/get_6a5e247b-0961-4b8a-a0d6-35a491d9cfe7.xml b/tests/functionaltests/suites/csw30/expected/get_6a5e247b-0961-4b8a-a0d6-35a491d9cfe7.xml new file mode 100644 index 000000000..5912e69e9 --- /dev/null +++ b/tests/functionaltests/suites/csw30/expected/get_6a5e247b-0961-4b8a-a0d6-35a491d9cfe7.xml @@ -0,0 +1,7 @@ + + + + + Invalid ElementSetName parameter value: undefined-view + + diff --git a/tests/functionaltests/suites/csw30/expected/get_6a9d0558-9d87-495b-b999-b49a3ef1cf99.xml b/tests/functionaltests/suites/csw30/expected/get_6a9d0558-9d87-495b-b999-b49a3ef1cf99.xml new file mode 100644 index 000000000..ce9c9355d --- /dev/null +++ b/tests/functionaltests/suites/csw30/expected/get_6a9d0558-9d87-495b-b999-b49a3ef1cf99.xml @@ -0,0 +1,491 @@ + + + + + pycsw Geospatial Catalogue + pycsw is an OGC CSW server implementation written in Python + + catalogue + discovery + theme + + CSW + 2.0.2 + 3.0.0 + None + None + + + pycsw + + + Kralidis, Tom + Senior Systems Scientist + + + +01-416-xxx-xxxx + +01-416-xxx-xxxx + + + TBA + Toronto + Ontario + M9C 3Z9 + Canada + tomkralidis@gmail.com + + + 0800h - 1600h EST + During hours of service. Off on weekends. + + pointOfContact + + + + + + + + + + + + + application/xml + text/xml + + + + + 2.0.2 + 3.0.0 + + + + + All + Filter_Capabilities + OperationsMetadata + ServiceIdentification + ServiceProvider + + + + + + + + + + + + + GetCapabilities.acceptFormats + GetCapabilities.acceptVersions + GetCapabilities.sections + GetRecordById.ElementSetName + GetRecordById.outputFormat + GetRecordById.outputSchema + GetRecords.CONSTRAINTLANGUAGE + GetRecords.ElementSetName + GetRecords.outputFormat + GetRecords.outputSchema + GetRecords.typeNames + + + + + + + + + + + + + CQL_TEXT + FILTER + + + + + brief + full + summary + + + + + application/atom+xml + application/json + application/xml + + + + + http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ + http://www.interlis.ch/INTERLIS2.3 + http://www.opengis.net/cat/csw/3.0 + http://www.opengis.net/cat/csw/csdgm + http://www.w3.org/2005/Atom + + + + + csw:Record + + + + + 10 + + + + + http://localhost/pycsw/csw.py?config=tests/suites/csw30/default.cfg?mode=opensearch&service=CSW&version=3.0.0&request=GetCapabilities + + + + + http://demo.pycsw.org/gisdata/csw + + + + + + + + + + + + + brief + full + summary + + + + + application/atom+xml + application/json + application/xml + + + + + http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ + http://www.interlis.ch/INTERLIS2.3 + http://www.opengis.net/cat/csw/3.0 + http://www.opengis.net/cat/csw/csdgm + http://www.w3.org/2005/Atom + + + + + + + + + + + + + CSW + + + + + 2.0.2 + 3.0.0 + + + + + csw:AnyText + dc:contributor + dc:creator + dc:date + dc:format + dc:identifier + dc:language + dc:publisher + dc:relation + dc:rights + dc:source + dc:subject + dc:title + dc:type + dct:abstract + dct:modified + ows:BoundingBox + + + + + http://demo.pycsw.org/gisdata/csw + + + + + 10 + + + + + SOAP + XML + + + + + allowed + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + http://www.opengis.net/gml + + + + + TRUE + + + + + en + + + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + xs:string + + + xs:string + + + xs:string + + + xs:string + + + xs:string + + + xs:string + + + + diff --git a/tests/functionaltests/suites/csw30/expected/get_6bd790c9-6019-4652-9c91-330a894d6700.xml b/tests/functionaltests/suites/csw30/expected/get_6bd790c9-6019-4652-9c91-330a894d6700.xml new file mode 100644 index 000000000..1430fc363 --- /dev/null +++ b/tests/functionaltests/suites/csw30/expected/get_6bd790c9-6019-4652-9c91-330a894d6700.xml @@ -0,0 +1,16 @@ + + + + + + + urn:uuid:e9330592-0932-474b-be34-c3a3bb67c7db + Fuscé vitae ligulä + http://purl.org/dc/dcmitype/Text + Land titles + text/rtf + Morbi ultriçes, dui suscipit vestibulum prètium, velit ante pretium tortor, egët tincidunt pede odio ac nulla. + 2003-05-09 + + + diff --git a/tests/functionaltests/suites/csw30/expected/get_6e9cba43-5e27-415d-adbd-a92851c2c173.xml b/tests/functionaltests/suites/csw30/expected/get_6e9cba43-5e27-415d-adbd-a92851c2c173.xml new file mode 100644 index 000000000..ce9c9355d --- /dev/null +++ b/tests/functionaltests/suites/csw30/expected/get_6e9cba43-5e27-415d-adbd-a92851c2c173.xml @@ -0,0 +1,491 @@ + + + + + pycsw Geospatial Catalogue + pycsw is an OGC CSW server implementation written in Python + + catalogue + discovery + theme + + CSW + 2.0.2 + 3.0.0 + None + None + + + pycsw + + + Kralidis, Tom + Senior Systems Scientist + + + +01-416-xxx-xxxx + +01-416-xxx-xxxx + + + TBA + Toronto + Ontario + M9C 3Z9 + Canada + tomkralidis@gmail.com + + + 0800h - 1600h EST + During hours of service. Off on weekends. + + pointOfContact + + + + + + + + + + + + + application/xml + text/xml + + + + + 2.0.2 + 3.0.0 + + + + + All + Filter_Capabilities + OperationsMetadata + ServiceIdentification + ServiceProvider + + + + + + + + + + + + + GetCapabilities.acceptFormats + GetCapabilities.acceptVersions + GetCapabilities.sections + GetRecordById.ElementSetName + GetRecordById.outputFormat + GetRecordById.outputSchema + GetRecords.CONSTRAINTLANGUAGE + GetRecords.ElementSetName + GetRecords.outputFormat + GetRecords.outputSchema + GetRecords.typeNames + + + + + + + + + + + + + CQL_TEXT + FILTER + + + + + brief + full + summary + + + + + application/atom+xml + application/json + application/xml + + + + + http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ + http://www.interlis.ch/INTERLIS2.3 + http://www.opengis.net/cat/csw/3.0 + http://www.opengis.net/cat/csw/csdgm + http://www.w3.org/2005/Atom + + + + + csw:Record + + + + + 10 + + + + + http://localhost/pycsw/csw.py?config=tests/suites/csw30/default.cfg?mode=opensearch&service=CSW&version=3.0.0&request=GetCapabilities + + + + + http://demo.pycsw.org/gisdata/csw + + + + + + + + + + + + + brief + full + summary + + + + + application/atom+xml + application/json + application/xml + + + + + http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ + http://www.interlis.ch/INTERLIS2.3 + http://www.opengis.net/cat/csw/3.0 + http://www.opengis.net/cat/csw/csdgm + http://www.w3.org/2005/Atom + + + + + + + + + + + + + CSW + + + + + 2.0.2 + 3.0.0 + + + + + csw:AnyText + dc:contributor + dc:creator + dc:date + dc:format + dc:identifier + dc:language + dc:publisher + dc:relation + dc:rights + dc:source + dc:subject + dc:title + dc:type + dct:abstract + dct:modified + ows:BoundingBox + + + + + http://demo.pycsw.org/gisdata/csw + + + + + 10 + + + + + SOAP + XML + + + + + allowed + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + http://www.opengis.net/gml + + + + + TRUE + + + + + en + + + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + xs:string + + + xs:string + + + xs:string + + + xs:string + + + xs:string + + + xs:string + + + + diff --git a/tests/functionaltests/suites/csw30/expected/get_7630d230-e142-4a09-accf-f091000b90cd.xml b/tests/functionaltests/suites/csw30/expected/get_7630d230-e142-4a09-accf-f091000b90cd.xml new file mode 100644 index 000000000..9a891dc4d --- /dev/null +++ b/tests/functionaltests/suites/csw30/expected/get_7630d230-e142-4a09-accf-f091000b90cd.xml @@ -0,0 +1,10 @@ + + + + urn:uuid:66ae76b7-54ba-489b-a582-0f0633d96493 + Maecenas enim + http://purl.org/dc/dcmitype/Text + Marine sediments + application/xhtml+xml + Pellentesque tempus magna non sapien fringilla blandit. + diff --git a/tests/functionaltests/suites/csw30/expected/get_7e82446a-b5dc-43fe-9a73-4cc1f2f2f0bf.xml b/tests/functionaltests/suites/csw30/expected/get_7e82446a-b5dc-43fe-9a73-4cc1f2f2f0bf.xml new file mode 100644 index 000000000..ce9c9355d --- /dev/null +++ b/tests/functionaltests/suites/csw30/expected/get_7e82446a-b5dc-43fe-9a73-4cc1f2f2f0bf.xml @@ -0,0 +1,491 @@ + + + + + pycsw Geospatial Catalogue + pycsw is an OGC CSW server implementation written in Python + + catalogue + discovery + theme + + CSW + 2.0.2 + 3.0.0 + None + None + + + pycsw + + + Kralidis, Tom + Senior Systems Scientist + + + +01-416-xxx-xxxx + +01-416-xxx-xxxx + + + TBA + Toronto + Ontario + M9C 3Z9 + Canada + tomkralidis@gmail.com + + + 0800h - 1600h EST + During hours of service. Off on weekends. + + pointOfContact + + + + + + + + + + + + + application/xml + text/xml + + + + + 2.0.2 + 3.0.0 + + + + + All + Filter_Capabilities + OperationsMetadata + ServiceIdentification + ServiceProvider + + + + + + + + + + + + + GetCapabilities.acceptFormats + GetCapabilities.acceptVersions + GetCapabilities.sections + GetRecordById.ElementSetName + GetRecordById.outputFormat + GetRecordById.outputSchema + GetRecords.CONSTRAINTLANGUAGE + GetRecords.ElementSetName + GetRecords.outputFormat + GetRecords.outputSchema + GetRecords.typeNames + + + + + + + + + + + + + CQL_TEXT + FILTER + + + + + brief + full + summary + + + + + application/atom+xml + application/json + application/xml + + + + + http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ + http://www.interlis.ch/INTERLIS2.3 + http://www.opengis.net/cat/csw/3.0 + http://www.opengis.net/cat/csw/csdgm + http://www.w3.org/2005/Atom + + + + + csw:Record + + + + + 10 + + + + + http://localhost/pycsw/csw.py?config=tests/suites/csw30/default.cfg?mode=opensearch&service=CSW&version=3.0.0&request=GetCapabilities + + + + + http://demo.pycsw.org/gisdata/csw + + + + + + + + + + + + + brief + full + summary + + + + + application/atom+xml + application/json + application/xml + + + + + http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ + http://www.interlis.ch/INTERLIS2.3 + http://www.opengis.net/cat/csw/3.0 + http://www.opengis.net/cat/csw/csdgm + http://www.w3.org/2005/Atom + + + + + + + + + + + + + CSW + + + + + 2.0.2 + 3.0.0 + + + + + csw:AnyText + dc:contributor + dc:creator + dc:date + dc:format + dc:identifier + dc:language + dc:publisher + dc:relation + dc:rights + dc:source + dc:subject + dc:title + dc:type + dct:abstract + dct:modified + ows:BoundingBox + + + + + http://demo.pycsw.org/gisdata/csw + + + + + 10 + + + + + SOAP + XML + + + + + allowed + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + http://www.opengis.net/gml + + + + + TRUE + + + + + en + + + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + xs:string + + + xs:string + + + xs:string + + + xs:string + + + xs:string + + + xs:string + + + + diff --git a/tests/functionaltests/suites/csw30/expected/get_8025978e-1a35-4d70-80c2-e8329e0c7864.xml b/tests/functionaltests/suites/csw30/expected/get_8025978e-1a35-4d70-80c2-e8329e0c7864.xml new file mode 100644 index 000000000..ce9c9355d --- /dev/null +++ b/tests/functionaltests/suites/csw30/expected/get_8025978e-1a35-4d70-80c2-e8329e0c7864.xml @@ -0,0 +1,491 @@ + + + + + pycsw Geospatial Catalogue + pycsw is an OGC CSW server implementation written in Python + + catalogue + discovery + theme + + CSW + 2.0.2 + 3.0.0 + None + None + + + pycsw + + + Kralidis, Tom + Senior Systems Scientist + + + +01-416-xxx-xxxx + +01-416-xxx-xxxx + + + TBA + Toronto + Ontario + M9C 3Z9 + Canada + tomkralidis@gmail.com + + + 0800h - 1600h EST + During hours of service. Off on weekends. + + pointOfContact + + + + + + + + + + + + + application/xml + text/xml + + + + + 2.0.2 + 3.0.0 + + + + + All + Filter_Capabilities + OperationsMetadata + ServiceIdentification + ServiceProvider + + + + + + + + + + + + + GetCapabilities.acceptFormats + GetCapabilities.acceptVersions + GetCapabilities.sections + GetRecordById.ElementSetName + GetRecordById.outputFormat + GetRecordById.outputSchema + GetRecords.CONSTRAINTLANGUAGE + GetRecords.ElementSetName + GetRecords.outputFormat + GetRecords.outputSchema + GetRecords.typeNames + + + + + + + + + + + + + CQL_TEXT + FILTER + + + + + brief + full + summary + + + + + application/atom+xml + application/json + application/xml + + + + + http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ + http://www.interlis.ch/INTERLIS2.3 + http://www.opengis.net/cat/csw/3.0 + http://www.opengis.net/cat/csw/csdgm + http://www.w3.org/2005/Atom + + + + + csw:Record + + + + + 10 + + + + + http://localhost/pycsw/csw.py?config=tests/suites/csw30/default.cfg?mode=opensearch&service=CSW&version=3.0.0&request=GetCapabilities + + + + + http://demo.pycsw.org/gisdata/csw + + + + + + + + + + + + + brief + full + summary + + + + + application/atom+xml + application/json + application/xml + + + + + http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ + http://www.interlis.ch/INTERLIS2.3 + http://www.opengis.net/cat/csw/3.0 + http://www.opengis.net/cat/csw/csdgm + http://www.w3.org/2005/Atom + + + + + + + + + + + + + CSW + + + + + 2.0.2 + 3.0.0 + + + + + csw:AnyText + dc:contributor + dc:creator + dc:date + dc:format + dc:identifier + dc:language + dc:publisher + dc:relation + dc:rights + dc:source + dc:subject + dc:title + dc:type + dct:abstract + dct:modified + ows:BoundingBox + + + + + http://demo.pycsw.org/gisdata/csw + + + + + 10 + + + + + SOAP + XML + + + + + allowed + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + http://www.opengis.net/gml + + + + + TRUE + + + + + en + + + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + xs:string + + + xs:string + + + xs:string + + + xs:string + + + xs:string + + + xs:string + + + + diff --git a/tests/functionaltests/suites/csw30/expected/get_8184ae4f-536d-4978-8b28-ad703be96967.xml b/tests/functionaltests/suites/csw30/expected/get_8184ae4f-536d-4978-8b28-ad703be96967.xml new file mode 100644 index 000000000..0965e0534 --- /dev/null +++ b/tests/functionaltests/suites/csw30/expected/get_8184ae4f-536d-4978-8b28-ad703be96967.xml @@ -0,0 +1,34 @@ + + + + + + + urn:uuid:1ef30a8b-876d-4828-9246-c37ab4510bbd + + http://purl.org/dc/dcmitype/Service + + 60.04 13.75 + 68.41 17.92 + + + + urn:uuid:94bc9c83-97f6-4b40-9eb8-a8e8787a5c63 + Mauris sed neque + http://purl.org/dc/dcmitype/Dataset + + 47.59 -4.1 + 51.22 0.89 + + + + urn:uuid:9a669547-b69b-469f-a11f-2d875366bbdc + Ñunç elementum + http://purl.org/dc/dcmitype/Dataset + + 44.79 -6.17 + 51.13 -2.23 + + + + diff --git a/tests/functionaltests/suites/csw30/expected/get_88f63a89-664f-4315-b4f8-04a0b33803a7.xml b/tests/functionaltests/suites/csw30/expected/get_88f63a89-664f-4315-b4f8-04a0b33803a7.xml new file mode 100644 index 000000000..63e215121 --- /dev/null +++ b/tests/functionaltests/suites/csw30/expected/get_88f63a89-664f-4315-b4f8-04a0b33803a7.xml @@ -0,0 +1,18 @@ + + + + + + + urn:uuid:94bc9c83-97f6-4b40-9eb8-a8e8787a5c63 + Mauris sed neque + http://purl.org/dc/dcmitype/Dataset + Vegetation-Cropland + Curabitur lacinia, ante non porta tempus, mi lorem feugiat odio, eget suscipit eros pede ac velit. + + 47.59 -4.1 + 51.22 0.89 + + + + diff --git a/tests/functionaltests/suites/csw30/expected/get_8987f8f0-4d93-4481-968c-a2ccbd6b8be2.xml b/tests/functionaltests/suites/csw30/expected/get_8987f8f0-4d93-4481-968c-a2ccbd6b8be2.xml new file mode 100644 index 000000000..d40a39ab3 --- /dev/null +++ b/tests/functionaltests/suites/csw30/expected/get_8987f8f0-4d93-4481-968c-a2ccbd6b8be2.xml @@ -0,0 +1,7 @@ + + + + + No repository item found for 'urn:example:1461546298217' + + diff --git a/tests/functionaltests/suites/csw30/expected/get_8e5fa0f6-3f29-4d1f-abe2-d9866f3def98.xml b/tests/functionaltests/suites/csw30/expected/get_8e5fa0f6-3f29-4d1f-abe2-d9866f3def98.xml new file mode 100644 index 000000000..6a8e4b02d --- /dev/null +++ b/tests/functionaltests/suites/csw30/expected/get_8e5fa0f6-3f29-4d1f-abe2-d9866f3def98.xml @@ -0,0 +1,58 @@ + + + + http://localhost/pycsw/csw.py?config=tests/suites/csw30/default.cfg + pycsw Geospatial Catalogue + + pycsw + + diff --git a/tests/functionaltests/suites/csw30/expected/get_9000ec29-5649-474e-b2d6-55c00f8a52c0.xml b/tests/functionaltests/suites/csw30/expected/get_9000ec29-5649-474e-b2d6-55c00f8a52c0.xml new file mode 100644 index 000000000..3e5a418e8 --- /dev/null +++ b/tests/functionaltests/suites/csw30/expected/get_9000ec29-5649-474e-b2d6-55c00f8a52c0.xml @@ -0,0 +1,7 @@ + + + + + Invalid parameter value in acceptversions: 9999.12.31. Value MUST be 2.0.2 or 3.0.0 + + diff --git a/tests/functionaltests/suites/csw30/expected/get_91914d35-7bbf-45e6-9b37-5ef484869a4e.xml b/tests/functionaltests/suites/csw30/expected/get_91914d35-7bbf-45e6-9b37-5ef484869a4e.xml new file mode 100644 index 000000000..ef58aa944 --- /dev/null +++ b/tests/functionaltests/suites/csw30/expected/get_91914d35-7bbf-45e6-9b37-5ef484869a4e.xml @@ -0,0 +1,38 @@ + + + + + + + urn:uuid:1ef30a8b-876d-4828-9246-c37ab4510bbd + + http://purl.org/dc/dcmitype/Service + Proin sit amet justo. In justo. Aenean adipiscing nulla id tellus. + + 60.04 13.75 + 68.41 17.92 + + + + urn:uuid:94bc9c83-97f6-4b40-9eb8-a8e8787a5c63 + Mauris sed neque + http://purl.org/dc/dcmitype/Dataset + Vegetation-Cropland + Curabitur lacinia, ante non porta tempus, mi lorem feugiat odio, eget suscipit eros pede ac velit. + + 47.59 -4.1 + 51.22 0.89 + + + + urn:uuid:9a669547-b69b-469f-a11f-2d875366bbdc + Ñunç elementum + http://purl.org/dc/dcmitype/Dataset + Hydrography-Oceanographic + + 44.79 -6.17 + 51.13 -2.23 + + + + diff --git a/tests/functionaltests/suites/csw30/expected/get_92d4844d-57d5-4cf3-8f47-ba50e369dc04.xml b/tests/functionaltests/suites/csw30/expected/get_92d4844d-57d5-4cf3-8f47-ba50e369dc04.xml new file mode 100644 index 000000000..d91c31b05 --- /dev/null +++ b/tests/functionaltests/suites/csw30/expected/get_92d4844d-57d5-4cf3-8f47-ba50e369dc04.xml @@ -0,0 +1,6 @@ + + + + + + diff --git a/tests/functionaltests/suites/csw30/expected/get_9c0e2a4b-b4e6-41c0-b630-c8c99fc89ff3.xml b/tests/functionaltests/suites/csw30/expected/get_9c0e2a4b-b4e6-41c0-b630-c8c99fc89ff3.xml new file mode 100644 index 000000000..e01594260 --- /dev/null +++ b/tests/functionaltests/suites/csw30/expected/get_9c0e2a4b-b4e6-41c0-b630-c8c99fc89ff3.xml @@ -0,0 +1,7 @@ + + + + + Invalid outputSchema parameter value: urn:uuid:6a29d2a8-9651-47a6-9b14-f05d2b5644f0 + + diff --git a/tests/functionaltests/suites/csw30/expected/get_9d7ffac8-9798-428d-8e27-3cd12497ee6b.xml b/tests/functionaltests/suites/csw30/expected/get_9d7ffac8-9798-428d-8e27-3cd12497ee6b.xml new file mode 100644 index 000000000..e57613754 --- /dev/null +++ b/tests/functionaltests/suites/csw30/expected/get_9d7ffac8-9798-428d-8e27-3cd12497ee6b.xml @@ -0,0 +1,7 @@ + + + + + Invalid outputschema parameter http://www.example.org/ns/alpha + + diff --git a/tests/functionaltests/suites/csw30/expected/get_Exception-GetDomain-value-reference.xml b/tests/functionaltests/suites/csw30/expected/get_Exception-GetDomain-value-reference.xml new file mode 100644 index 000000000..3c1621b02 --- /dev/null +++ b/tests/functionaltests/suites/csw30/expected/get_Exception-GetDomain-value-reference.xml @@ -0,0 +1,7 @@ + + + + + dc:title2 + + diff --git a/tests/functionaltests/suites/csw30/expected/get_Exception-GetDomain.xml b/tests/functionaltests/suites/csw30/expected/get_Exception-GetDomain.xml new file mode 100644 index 000000000..ead68239e --- /dev/null +++ b/tests/functionaltests/suites/csw30/expected/get_Exception-GetDomain.xml @@ -0,0 +1,7 @@ + + + + + Missing value. One of valuereference or parametername must be specified + + diff --git a/tests/functionaltests/suites/csw30/expected/get_Exception-GetRecordById-404.xml b/tests/functionaltests/suites/csw30/expected/get_Exception-GetRecordById-404.xml new file mode 100644 index 000000000..bd41e1dfd --- /dev/null +++ b/tests/functionaltests/suites/csw30/expected/get_Exception-GetRecordById-404.xml @@ -0,0 +1,7 @@ + + + + + No repository item found for 'does_not_exist2' + + diff --git a/tests/functionaltests/suites/csw30/expected/get_Exception-GetRecordById-dc.xml.xml b/tests/functionaltests/suites/csw30/expected/get_Exception-GetRecordById-dc.xml.xml new file mode 100644 index 000000000..536321c2f --- /dev/null +++ b/tests/functionaltests/suites/csw30/expected/get_Exception-GetRecordById-dc.xml.xml @@ -0,0 +1,9 @@ + + + + urn:uuid:829babb0-b2f1-49e1-8cd5-7b489fe71a1e + Vestibulum massa purus + http://purl.org/dc/dcmitype/Image + image/jp2 + urn:uuid:9a669547-b69b-469f-a11f-2d875366bbdc + diff --git a/tests/functionaltests/suites/csw30/expected/get_Exception-GetRepositoryItem-notfound.xml b/tests/functionaltests/suites/csw30/expected/get_Exception-GetRepositoryItem-notfound.xml new file mode 100644 index 000000000..04c7e9c7d --- /dev/null +++ b/tests/functionaltests/suites/csw30/expected/get_Exception-GetRepositoryItem-notfound.xml @@ -0,0 +1,7 @@ + + + + + No repository item found for 'NOTFOUND' + + diff --git a/tests/functionaltests/suites/csw30/expected/get_Exception-invalid-request.xml b/tests/functionaltests/suites/csw30/expected/get_Exception-invalid-request.xml new file mode 100644 index 000000000..4cd3418d0 --- /dev/null +++ b/tests/functionaltests/suites/csw30/expected/get_Exception-invalid-request.xml @@ -0,0 +1,7 @@ + + + + + Invalid value for request: GetCapabilities-foo + + diff --git a/tests/functionaltests/suites/csw30/expected/get_GetCapabilities-base-url.xml b/tests/functionaltests/suites/csw30/expected/get_GetCapabilities-base-url.xml new file mode 100644 index 000000000..ce9c9355d --- /dev/null +++ b/tests/functionaltests/suites/csw30/expected/get_GetCapabilities-base-url.xml @@ -0,0 +1,491 @@ + + + + + pycsw Geospatial Catalogue + pycsw is an OGC CSW server implementation written in Python + + catalogue + discovery + theme + + CSW + 2.0.2 + 3.0.0 + None + None + + + pycsw + + + Kralidis, Tom + Senior Systems Scientist + + + +01-416-xxx-xxxx + +01-416-xxx-xxxx + + + TBA + Toronto + Ontario + M9C 3Z9 + Canada + tomkralidis@gmail.com + + + 0800h - 1600h EST + During hours of service. Off on weekends. + + pointOfContact + + + + + + + + + + + + + application/xml + text/xml + + + + + 2.0.2 + 3.0.0 + + + + + All + Filter_Capabilities + OperationsMetadata + ServiceIdentification + ServiceProvider + + + + + + + + + + + + + GetCapabilities.acceptFormats + GetCapabilities.acceptVersions + GetCapabilities.sections + GetRecordById.ElementSetName + GetRecordById.outputFormat + GetRecordById.outputSchema + GetRecords.CONSTRAINTLANGUAGE + GetRecords.ElementSetName + GetRecords.outputFormat + GetRecords.outputSchema + GetRecords.typeNames + + + + + + + + + + + + + CQL_TEXT + FILTER + + + + + brief + full + summary + + + + + application/atom+xml + application/json + application/xml + + + + + http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ + http://www.interlis.ch/INTERLIS2.3 + http://www.opengis.net/cat/csw/3.0 + http://www.opengis.net/cat/csw/csdgm + http://www.w3.org/2005/Atom + + + + + csw:Record + + + + + 10 + + + + + http://localhost/pycsw/csw.py?config=tests/suites/csw30/default.cfg?mode=opensearch&service=CSW&version=3.0.0&request=GetCapabilities + + + + + http://demo.pycsw.org/gisdata/csw + + + + + + + + + + + + + brief + full + summary + + + + + application/atom+xml + application/json + application/xml + + + + + http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ + http://www.interlis.ch/INTERLIS2.3 + http://www.opengis.net/cat/csw/3.0 + http://www.opengis.net/cat/csw/csdgm + http://www.w3.org/2005/Atom + + + + + + + + + + + + + CSW + + + + + 2.0.2 + 3.0.0 + + + + + csw:AnyText + dc:contributor + dc:creator + dc:date + dc:format + dc:identifier + dc:language + dc:publisher + dc:relation + dc:rights + dc:source + dc:subject + dc:title + dc:type + dct:abstract + dct:modified + ows:BoundingBox + + + + + http://demo.pycsw.org/gisdata/csw + + + + + 10 + + + + + SOAP + XML + + + + + allowed + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + http://www.opengis.net/gml + + + + + TRUE + + + + + en + + + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + xs:string + + + xs:string + + + xs:string + + + xs:string + + + xs:string + + + xs:string + + + + diff --git a/tests/functionaltests/suites/csw30/expected/get_GetCapabilities-no-version.xml b/tests/functionaltests/suites/csw30/expected/get_GetCapabilities-no-version.xml new file mode 100644 index 000000000..ce9c9355d --- /dev/null +++ b/tests/functionaltests/suites/csw30/expected/get_GetCapabilities-no-version.xml @@ -0,0 +1,491 @@ + + + + + pycsw Geospatial Catalogue + pycsw is an OGC CSW server implementation written in Python + + catalogue + discovery + theme + + CSW + 2.0.2 + 3.0.0 + None + None + + + pycsw + + + Kralidis, Tom + Senior Systems Scientist + + + +01-416-xxx-xxxx + +01-416-xxx-xxxx + + + TBA + Toronto + Ontario + M9C 3Z9 + Canada + tomkralidis@gmail.com + + + 0800h - 1600h EST + During hours of service. Off on weekends. + + pointOfContact + + + + + + + + + + + + + application/xml + text/xml + + + + + 2.0.2 + 3.0.0 + + + + + All + Filter_Capabilities + OperationsMetadata + ServiceIdentification + ServiceProvider + + + + + + + + + + + + + GetCapabilities.acceptFormats + GetCapabilities.acceptVersions + GetCapabilities.sections + GetRecordById.ElementSetName + GetRecordById.outputFormat + GetRecordById.outputSchema + GetRecords.CONSTRAINTLANGUAGE + GetRecords.ElementSetName + GetRecords.outputFormat + GetRecords.outputSchema + GetRecords.typeNames + + + + + + + + + + + + + CQL_TEXT + FILTER + + + + + brief + full + summary + + + + + application/atom+xml + application/json + application/xml + + + + + http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ + http://www.interlis.ch/INTERLIS2.3 + http://www.opengis.net/cat/csw/3.0 + http://www.opengis.net/cat/csw/csdgm + http://www.w3.org/2005/Atom + + + + + csw:Record + + + + + 10 + + + + + http://localhost/pycsw/csw.py?config=tests/suites/csw30/default.cfg?mode=opensearch&service=CSW&version=3.0.0&request=GetCapabilities + + + + + http://demo.pycsw.org/gisdata/csw + + + + + + + + + + + + + brief + full + summary + + + + + application/atom+xml + application/json + application/xml + + + + + http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ + http://www.interlis.ch/INTERLIS2.3 + http://www.opengis.net/cat/csw/3.0 + http://www.opengis.net/cat/csw/csdgm + http://www.w3.org/2005/Atom + + + + + + + + + + + + + CSW + + + + + 2.0.2 + 3.0.0 + + + + + csw:AnyText + dc:contributor + dc:creator + dc:date + dc:format + dc:identifier + dc:language + dc:publisher + dc:relation + dc:rights + dc:source + dc:subject + dc:title + dc:type + dct:abstract + dct:modified + ows:BoundingBox + + + + + http://demo.pycsw.org/gisdata/csw + + + + + 10 + + + + + SOAP + XML + + + + + allowed + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + http://www.opengis.net/gml + + + + + TRUE + + + + + en + + + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + xs:string + + + xs:string + + + xs:string + + + xs:string + + + xs:string + + + xs:string + + + + diff --git a/tests/functionaltests/suites/csw30/expected/get_GetCapabilities.xml b/tests/functionaltests/suites/csw30/expected/get_GetCapabilities.xml new file mode 100644 index 000000000..ce9c9355d --- /dev/null +++ b/tests/functionaltests/suites/csw30/expected/get_GetCapabilities.xml @@ -0,0 +1,491 @@ + + + + + pycsw Geospatial Catalogue + pycsw is an OGC CSW server implementation written in Python + + catalogue + discovery + theme + + CSW + 2.0.2 + 3.0.0 + None + None + + + pycsw + + + Kralidis, Tom + Senior Systems Scientist + + + +01-416-xxx-xxxx + +01-416-xxx-xxxx + + + TBA + Toronto + Ontario + M9C 3Z9 + Canada + tomkralidis@gmail.com + + + 0800h - 1600h EST + During hours of service. Off on weekends. + + pointOfContact + + + + + + + + + + + + + application/xml + text/xml + + + + + 2.0.2 + 3.0.0 + + + + + All + Filter_Capabilities + OperationsMetadata + ServiceIdentification + ServiceProvider + + + + + + + + + + + + + GetCapabilities.acceptFormats + GetCapabilities.acceptVersions + GetCapabilities.sections + GetRecordById.ElementSetName + GetRecordById.outputFormat + GetRecordById.outputSchema + GetRecords.CONSTRAINTLANGUAGE + GetRecords.ElementSetName + GetRecords.outputFormat + GetRecords.outputSchema + GetRecords.typeNames + + + + + + + + + + + + + CQL_TEXT + FILTER + + + + + brief + full + summary + + + + + application/atom+xml + application/json + application/xml + + + + + http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ + http://www.interlis.ch/INTERLIS2.3 + http://www.opengis.net/cat/csw/3.0 + http://www.opengis.net/cat/csw/csdgm + http://www.w3.org/2005/Atom + + + + + csw:Record + + + + + 10 + + + + + http://localhost/pycsw/csw.py?config=tests/suites/csw30/default.cfg?mode=opensearch&service=CSW&version=3.0.0&request=GetCapabilities + + + + + http://demo.pycsw.org/gisdata/csw + + + + + + + + + + + + + brief + full + summary + + + + + application/atom+xml + application/json + application/xml + + + + + http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ + http://www.interlis.ch/INTERLIS2.3 + http://www.opengis.net/cat/csw/3.0 + http://www.opengis.net/cat/csw/csdgm + http://www.w3.org/2005/Atom + + + + + + + + + + + + + CSW + + + + + 2.0.2 + 3.0.0 + + + + + csw:AnyText + dc:contributor + dc:creator + dc:date + dc:format + dc:identifier + dc:language + dc:publisher + dc:relation + dc:rights + dc:source + dc:subject + dc:title + dc:type + dct:abstract + dct:modified + ows:BoundingBox + + + + + http://demo.pycsw.org/gisdata/csw + + + + + 10 + + + + + SOAP + XML + + + + + allowed + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + http://www.opengis.net/gml + + + + + TRUE + + + + + en + + + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + xs:string + + + xs:string + + + xs:string + + + xs:string + + + xs:string + + + xs:string + + + + diff --git a/tests/functionaltests/suites/csw30/expected/get_GetDomain-parameter.xml b/tests/functionaltests/suites/csw30/expected/get_GetDomain-parameter.xml new file mode 100644 index 000000000..6b8227f71 --- /dev/null +++ b/tests/functionaltests/suites/csw30/expected/get_GetDomain-parameter.xml @@ -0,0 +1,12 @@ + + + + + GetRecords.ElementSetName + + brief + full + summary + + + diff --git a/tests/functionaltests/suites/csw30/expected/get_GetDomain-value-reference.xml b/tests/functionaltests/suites/csw30/expected/get_GetDomain-value-reference.xml new file mode 100644 index 000000000..3775ee212 --- /dev/null +++ b/tests/functionaltests/suites/csw30/expected/get_GetDomain-value-reference.xml @@ -0,0 +1,18 @@ + + + + + dc:title + + Aliquam fermentum purus quis arcu + Fuscé vitae ligulä + Lorem ipsum + Lorem ipsum dolor sit amet + Maecenas enim + Mauris sed neque + Ut facilisis justo ut lacus + Vestibulum massa purus + Ñunç elementum + + + diff --git a/tests/functionaltests/suites/csw30/expected/get_GetRepositoryItem.xml b/tests/functionaltests/suites/csw30/expected/get_GetRepositoryItem.xml new file mode 100644 index 000000000..862e439da --- /dev/null +++ b/tests/functionaltests/suites/csw30/expected/get_GetRepositoryItem.xml @@ -0,0 +1,11 @@ + + + + urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f + http://purl.org/dc/dcmitype/Image + image/svg+xml + Lorem ipsum + GR-22 + Tourism--Greece + Quisque lacus diam, placerat mollis, pharetra in, commodo sed, augue. Duis iaculis arcu vel arcu. + diff --git a/tests/functionaltests/suites/csw30/expected/get_OpenSearch-description.xml b/tests/functionaltests/suites/csw30/expected/get_OpenSearch-description.xml new file mode 100644 index 000000000..60ffc8d10 --- /dev/null +++ b/tests/functionaltests/suites/csw30/expected/get_OpenSearch-description.xml @@ -0,0 +1,15 @@ + + + + pycsw Geospatial + pycsw Geospatial Catalogue + pycsw is an OGC CSW server implementation written in Python + catalogue discovery + + + http://pycsw.org/img/favicon.ico + + Kralidis, Tom + tomkralidis@gmail.com + pycsw + diff --git a/tests/functionaltests/suites/csw30/expected/get_a2f18643-e24e-4fa5-b780-6de4a2dbc814.xml b/tests/functionaltests/suites/csw30/expected/get_a2f18643-e24e-4fa5-b780-6de4a2dbc814.xml new file mode 100644 index 000000000..96afaaf6f --- /dev/null +++ b/tests/functionaltests/suites/csw30/expected/get_a2f18643-e24e-4fa5-b780-6de4a2dbc814.xml @@ -0,0 +1,9 @@ + + + + urn:uuid:829babb0-b2f1-49e1-8cd5-7b489fe71a1e + urn:uuid:829babb0-b2f1-49e1-8cd5-7b489fe71a1e + + Vestibulum massa purus + PYCSW_TIMESTAMP + diff --git a/tests/functionaltests/suites/csw30/expected/get_abc90c8c-5868-4405-a73e-64c849be3b2a.xml b/tests/functionaltests/suites/csw30/expected/get_abc90c8c-5868-4405-a73e-64c849be3b2a.xml new file mode 100644 index 000000000..f0c8bac70 --- /dev/null +++ b/tests/functionaltests/suites/csw30/expected/get_abc90c8c-5868-4405-a73e-64c849be3b2a.xml @@ -0,0 +1,7 @@ + + + + + 4326 coordinates out of range: ['514432', '5429689', '529130', '5451619'] + + diff --git a/tests/functionaltests/suites/csw30/expected/get_ad0c0571-09ed-436a-9a4f-a5de744c88fe.xml b/tests/functionaltests/suites/csw30/expected/get_ad0c0571-09ed-436a-9a4f-a5de744c88fe.xml new file mode 100644 index 000000000..fb39b0b33 --- /dev/null +++ b/tests/functionaltests/suites/csw30/expected/get_ad0c0571-09ed-436a-9a4f-a5de744c88fe.xml @@ -0,0 +1,22 @@ + + + + + + + urn:uuid:66ae76b7-54ba-489b-a582-0f0633d96493 + Maecenas enim + http://purl.org/dc/dcmitype/Text + Marine sediments + application/xhtml+xml + Pellentesque tempus magna non sapien fringilla blandit. + + + urn:uuid:6a3de50b-fa66-4b58-a0e6-ca146fdd18d4 + Ut facilisis justo ut lacus + http://purl.org/dc/dcmitype/Service + Vegetation + urn:uuid:94bc9c83-97f6-4b40-9eb8-a8e8787a5c63 + + + diff --git a/tests/functionaltests/suites/csw30/expected/get_af502903-f4ee-47ee-b76e-af878d238bcc.xml b/tests/functionaltests/suites/csw30/expected/get_af502903-f4ee-47ee-b76e-af878d238bcc.xml new file mode 100644 index 000000000..73b0f786a --- /dev/null +++ b/tests/functionaltests/suites/csw30/expected/get_af502903-f4ee-47ee-b76e-af878d238bcc.xml @@ -0,0 +1,40 @@ + + + + + + + urn:uuid:1ef30a8b-876d-4828-9246-c37ab4510bbd + + http://purl.org/dc/dcmitype/Service + Proin sit amet justo. In justo. Aenean adipiscing nulla id tellus. + + 60.04 13.75 + 68.41 17.92 + + + + urn:uuid:94bc9c83-97f6-4b40-9eb8-a8e8787a5c63 + Mauris sed neque + http://purl.org/dc/dcmitype/Dataset + Vegetation-Cropland + Curabitur lacinia, ante non porta tempus, mi lorem feugiat odio, eget suscipit eros pede ac velit. + 2006-03-26 + + 47.59 -4.1 + 51.22 0.89 + + + + urn:uuid:9a669547-b69b-469f-a11f-2d875366bbdc + Ñunç elementum + http://purl.org/dc/dcmitype/Dataset + Hydrography-Oceanographic + 2005-10-24 + + 44.79 -6.17 + 51.13 -2.23 + + + + diff --git a/tests/functionaltests/suites/csw30/expected/get_b2aafc3f-4f35-47bc-affd-08590972deae.xml b/tests/functionaltests/suites/csw30/expected/get_b2aafc3f-4f35-47bc-affd-08590972deae.xml new file mode 100644 index 000000000..6a8e4b02d --- /dev/null +++ b/tests/functionaltests/suites/csw30/expected/get_b2aafc3f-4f35-47bc-affd-08590972deae.xml @@ -0,0 +1,58 @@ + + + + http://localhost/pycsw/csw.py?config=tests/suites/csw30/default.cfg + pycsw Geospatial Catalogue + + pycsw + + diff --git a/tests/functionaltests/suites/csw30/expected/get_b6069623-f7d8-4021-8582-98f0aea0f763.xml b/tests/functionaltests/suites/csw30/expected/get_b6069623-f7d8-4021-8582-98f0aea0f763.xml new file mode 100644 index 000000000..0ed0b0644 --- /dev/null +++ b/tests/functionaltests/suites/csw30/expected/get_b6069623-f7d8-4021-8582-98f0aea0f763.xml @@ -0,0 +1,48 @@ + + + + http://localhost/pycsw/csw.py?config=tests/suites/csw30/default.cfg + pycsw Geospatial Catalogue + + pycsw + + diff --git a/tests/functionaltests/suites/csw30/expected/get_b9a07a54-75a8-45bd-b341-2823600211e3.xml b/tests/functionaltests/suites/csw30/expected/get_b9a07a54-75a8-45bd-b341-2823600211e3.xml new file mode 100644 index 000000000..93cf54af2 --- /dev/null +++ b/tests/functionaltests/suites/csw30/expected/get_b9a07a54-75a8-45bd-b341-2823600211e3.xml @@ -0,0 +1,8 @@ + + + + + Invalid Filter query: Exception: document not valid. +Error: Reprojection error: Invalid srsName "urn:ogc:def:crs:EPSG::0000": Invalid source projection. + + diff --git a/tests/functionaltests/suites/csw30/expected/get_baa4a7d0-0c01-42b6-adc3-0d03e9949fa3.xml b/tests/functionaltests/suites/csw30/expected/get_baa4a7d0-0c01-42b6-adc3-0d03e9949fa3.xml new file mode 100644 index 000000000..4953497e2 --- /dev/null +++ b/tests/functionaltests/suites/csw30/expected/get_baa4a7d0-0c01-42b6-adc3-0d03e9949fa3.xml @@ -0,0 +1,7 @@ + + + + + Invalid value for request: getCapabilities + + diff --git a/tests/functionaltests/suites/csw30/expected/get_bfbe6409-f64a-4c89-acb3-50f260a5c743.xml b/tests/functionaltests/suites/csw30/expected/get_bfbe6409-f64a-4c89-acb3-50f260a5c743.xml new file mode 100644 index 000000000..c6809c5c5 --- /dev/null +++ b/tests/functionaltests/suites/csw30/expected/get_bfbe6409-f64a-4c89-acb3-50f260a5c743.xml @@ -0,0 +1,15 @@ + + + + + + + urn:uuid:e9330592-0932-474b-be34-c3a3bb67c7db + Fuscé vitae ligulä + http://purl.org/dc/dcmitype/Text + Land titles + text/rtf + Morbi ultriçes, dui suscipit vestibulum prètium, velit ante pretium tortor, egët tincidunt pede odio ac nulla. + + + diff --git a/tests/functionaltests/suites/csw30/expected/get_bfe20134-d1da-42ef-9c0f-8e1307bbf92b.xml b/tests/functionaltests/suites/csw30/expected/get_bfe20134-d1da-42ef-9c0f-8e1307bbf92b.xml new file mode 100644 index 000000000..4dd660139 --- /dev/null +++ b/tests/functionaltests/suites/csw30/expected/get_bfe20134-d1da-42ef-9c0f-8e1307bbf92b.xml @@ -0,0 +1,38 @@ + + + + + + + urn:uuid:66ae76b7-54ba-489b-a582-0f0633d96493 + Maecenas enim + http://purl.org/dc/dcmitype/Text + Marine sediments + application/xhtml+xml + Pellentesque tempus magna non sapien fringilla blandit. + + + urn:uuid:6a3de50b-fa66-4b58-a0e6-ca146fdd18d4 + Ut facilisis justo ut lacus + http://purl.org/dc/dcmitype/Service + Vegetation + urn:uuid:94bc9c83-97f6-4b40-9eb8-a8e8787a5c63 + + + urn:uuid:784e2afd-a9fd-44a6-9a92-a3848371c8ec + Aliquam fermentum purus quis arcu + http://purl.org/dc/dcmitype/Text + Hydrography--Dictionaries + application/pdf + Vestibulum quis ipsum sit amet metus imperdiet vehicula. Nulla scelerisque cursus mi. + 2006-05-12 + + + urn:uuid:829babb0-b2f1-49e1-8cd5-7b489fe71a1e + Vestibulum massa purus + http://purl.org/dc/dcmitype/Image + image/jp2 + urn:uuid:9a669547-b69b-469f-a11f-2d875366bbdc + + + diff --git a/tests/functionaltests/suites/csw30/expected/get_c03d173a-3f42-4956-89c8-1fe02c3a0873.xml b/tests/functionaltests/suites/csw30/expected/get_c03d173a-3f42-4956-89c8-1fe02c3a0873.xml new file mode 100644 index 000000000..ce9c9355d --- /dev/null +++ b/tests/functionaltests/suites/csw30/expected/get_c03d173a-3f42-4956-89c8-1fe02c3a0873.xml @@ -0,0 +1,491 @@ + + + + + pycsw Geospatial Catalogue + pycsw is an OGC CSW server implementation written in Python + + catalogue + discovery + theme + + CSW + 2.0.2 + 3.0.0 + None + None + + + pycsw + + + Kralidis, Tom + Senior Systems Scientist + + + +01-416-xxx-xxxx + +01-416-xxx-xxxx + + + TBA + Toronto + Ontario + M9C 3Z9 + Canada + tomkralidis@gmail.com + + + 0800h - 1600h EST + During hours of service. Off on weekends. + + pointOfContact + + + + + + + + + + + + + application/xml + text/xml + + + + + 2.0.2 + 3.0.0 + + + + + All + Filter_Capabilities + OperationsMetadata + ServiceIdentification + ServiceProvider + + + + + + + + + + + + + GetCapabilities.acceptFormats + GetCapabilities.acceptVersions + GetCapabilities.sections + GetRecordById.ElementSetName + GetRecordById.outputFormat + GetRecordById.outputSchema + GetRecords.CONSTRAINTLANGUAGE + GetRecords.ElementSetName + GetRecords.outputFormat + GetRecords.outputSchema + GetRecords.typeNames + + + + + + + + + + + + + CQL_TEXT + FILTER + + + + + brief + full + summary + + + + + application/atom+xml + application/json + application/xml + + + + + http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ + http://www.interlis.ch/INTERLIS2.3 + http://www.opengis.net/cat/csw/3.0 + http://www.opengis.net/cat/csw/csdgm + http://www.w3.org/2005/Atom + + + + + csw:Record + + + + + 10 + + + + + http://localhost/pycsw/csw.py?config=tests/suites/csw30/default.cfg?mode=opensearch&service=CSW&version=3.0.0&request=GetCapabilities + + + + + http://demo.pycsw.org/gisdata/csw + + + + + + + + + + + + + brief + full + summary + + + + + application/atom+xml + application/json + application/xml + + + + + http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ + http://www.interlis.ch/INTERLIS2.3 + http://www.opengis.net/cat/csw/3.0 + http://www.opengis.net/cat/csw/csdgm + http://www.w3.org/2005/Atom + + + + + + + + + + + + + CSW + + + + + 2.0.2 + 3.0.0 + + + + + csw:AnyText + dc:contributor + dc:creator + dc:date + dc:format + dc:identifier + dc:language + dc:publisher + dc:relation + dc:rights + dc:source + dc:subject + dc:title + dc:type + dct:abstract + dct:modified + ows:BoundingBox + + + + + http://demo.pycsw.org/gisdata/csw + + + + + 10 + + + + + SOAP + XML + + + + + allowed + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + http://www.opengis.net/gml + + + + + TRUE + + + + + en + + + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + xs:string + + + xs:string + + + xs:string + + + xs:string + + + xs:string + + + xs:string + + + + diff --git a/tests/functionaltests/suites/csw30/expected/get_cb43d8c3-e14c-4a9f-9231-4384b7dd21f3.xml b/tests/functionaltests/suites/csw30/expected/get_cb43d8c3-e14c-4a9f-9231-4384b7dd21f3.xml new file mode 100644 index 000000000..8affab58f --- /dev/null +++ b/tests/functionaltests/suites/csw30/expected/get_cb43d8c3-e14c-4a9f-9231-4384b7dd21f3.xml @@ -0,0 +1,7 @@ + + + + + Invalid ElementName parameter value: u + + diff --git a/tests/functionaltests/suites/csw30/expected/get_d03c6fd3-e821-4a26-b62f-d20a474e25af.xml b/tests/functionaltests/suites/csw30/expected/get_d03c6fd3-e821-4a26-b62f-d20a474e25af.xml new file mode 100644 index 000000000..770e62fe8 --- /dev/null +++ b/tests/functionaltests/suites/csw30/expected/get_d03c6fd3-e821-4a26-b62f-d20a474e25af.xml @@ -0,0 +1,30 @@ + + + + + pycsw + + + Kralidis, Tom + Senior Systems Scientist + + + +01-416-xxx-xxxx + +01-416-xxx-xxxx + + + TBA + Toronto + Ontario + M9C 3Z9 + Canada + tomkralidis@gmail.com + + + 0800h - 1600h EST + During hours of service. Off on weekends. + + pointOfContact + + + diff --git a/tests/functionaltests/suites/csw30/expected/get_d4ccbf96-a529-480e-a53d-5b88dc1dea7f.xml b/tests/functionaltests/suites/csw30/expected/get_d4ccbf96-a529-480e-a53d-5b88dc1dea7f.xml new file mode 100644 index 000000000..faf07a500 --- /dev/null +++ b/tests/functionaltests/suites/csw30/expected/get_d4ccbf96-a529-480e-a53d-5b88dc1dea7f.xml @@ -0,0 +1,7 @@ + + + + + No records found for 'uid-bc5017e6-5cc8-4b03-aee7-d88f88caba0a' + + diff --git a/tests/functionaltests/suites/csw30/expected/get_d94c801a-1207-4897-b84a-53f3a192515b.xml b/tests/functionaltests/suites/csw30/expected/get_d94c801a-1207-4897-b84a-53f3a192515b.xml new file mode 100644 index 000000000..d91c31b05 --- /dev/null +++ b/tests/functionaltests/suites/csw30/expected/get_d94c801a-1207-4897-b84a-53f3a192515b.xml @@ -0,0 +1,6 @@ + + + + + + diff --git a/tests/functionaltests/suites/csw30/expected/get_da859e34-91fc-495a-8c09-285a40c0900b.xml b/tests/functionaltests/suites/csw30/expected/get_da859e34-91fc-495a-8c09-285a40c0900b.xml new file mode 100644 index 000000000..d85e801e6 --- /dev/null +++ b/tests/functionaltests/suites/csw30/expected/get_da859e34-91fc-495a-8c09-285a40c0900b.xml @@ -0,0 +1,14 @@ + + + + urn:uuid:94bc9c83-97f6-4b40-9eb8-a8e8787a5c63 + Mauris sed neque + http://purl.org/dc/dcmitype/Dataset + Vegetation-Cropland + Curabitur lacinia, ante non porta tempus, mi lorem feugiat odio, eget suscipit eros pede ac velit. + 2006-03-26 + + 47.59 -4.1 + 51.22 0.89 + + diff --git a/tests/functionaltests/suites/csw30/expected/get_dc246fb8-5af5-4fda-82bb-c18b3ecd439c.xml b/tests/functionaltests/suites/csw30/expected/get_dc246fb8-5af5-4fda-82bb-c18b3ecd439c.xml new file mode 100644 index 000000000..530b79be6 --- /dev/null +++ b/tests/functionaltests/suites/csw30/expected/get_dc246fb8-5af5-4fda-82bb-c18b3ecd439c.xml @@ -0,0 +1,40 @@ + + + + http://localhost/pycsw/csw.py?config=tests/suites/csw30/default.cfg + pycsw Geospatial Catalogue + + pycsw + + diff --git a/tests/functionaltests/suites/csw30/expected/get_de016645-6d5c-4855-943c-2db07ae9f49a.xml b/tests/functionaltests/suites/csw30/expected/get_de016645-6d5c-4855-943c-2db07ae9f49a.xml new file mode 100644 index 000000000..4cdb06187 --- /dev/null +++ b/tests/functionaltests/suites/csw30/expected/get_de016645-6d5c-4855-943c-2db07ae9f49a.xml @@ -0,0 +1,30 @@ + + + + http://localhost/pycsw/csw.py?config=tests/suites/csw30/default.cfg + pycsw Geospatial Catalogue + + pycsw + + diff --git a/tests/functionaltests/suites/csw30/expected/get_dff3ec6b-bb2d-4887-bd17-8fcf15def042.xml b/tests/functionaltests/suites/csw30/expected/get_dff3ec6b-bb2d-4887-bd17-8fcf15def042.xml new file mode 100644 index 000000000..81409198c --- /dev/null +++ b/tests/functionaltests/suites/csw30/expected/get_dff3ec6b-bb2d-4887-bd17-8fcf15def042.xml @@ -0,0 +1,89 @@ + + + + + + + urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f + Lorem ipsum + http://purl.org/dc/dcmitype/Image + Tourism--Greece + image/svg+xml + Quisque lacus diam, placerat mollis, pharetra in, commodo sed, augue. Duis iaculis arcu vel arcu. + + + urn:uuid:1ef30a8b-876d-4828-9246-c37ab4510bbd + + http://purl.org/dc/dcmitype/Service + Proin sit amet justo. In justo. Aenean adipiscing nulla id tellus. + + 60.04 13.75 + 68.41 17.92 + + + + urn:uuid:66ae76b7-54ba-489b-a582-0f0633d96493 + Maecenas enim + http://purl.org/dc/dcmitype/Text + Marine sediments + application/xhtml+xml + Pellentesque tempus magna non sapien fringilla blandit. + + + urn:uuid:6a3de50b-fa66-4b58-a0e6-ca146fdd18d4 + Ut facilisis justo ut lacus + http://purl.org/dc/dcmitype/Service + Vegetation + urn:uuid:94bc9c83-97f6-4b40-9eb8-a8e8787a5c63 + + + urn:uuid:784e2afd-a9fd-44a6-9a92-a3848371c8ec + Aliquam fermentum purus quis arcu + http://purl.org/dc/dcmitype/Text + Hydrography--Dictionaries + application/pdf + Vestibulum quis ipsum sit amet metus imperdiet vehicula. Nulla scelerisque cursus mi. + + + urn:uuid:829babb0-b2f1-49e1-8cd5-7b489fe71a1e + Vestibulum massa purus + http://purl.org/dc/dcmitype/Image + image/jp2 + urn:uuid:9a669547-b69b-469f-a11f-2d875366bbdc + + + urn:uuid:88247b56-4cbc-4df9-9860-db3f8042e357 + + http://purl.org/dc/dcmitype/Dataset + Physiography-Landforms + Donec scelerisque pede ut nisl luctus accumsan. Quisque ultrices, lorem eget feugiat fringilla, lorem dui porttitor ante, cursus ultrices magna odio eu neque. + + + urn:uuid:94bc9c83-97f6-4b40-9eb8-a8e8787a5c63 + Mauris sed neque + http://purl.org/dc/dcmitype/Dataset + Vegetation-Cropland + Curabitur lacinia, ante non porta tempus, mi lorem feugiat odio, eget suscipit eros pede ac velit. + + 47.59 -4.1 + 51.22 0.89 + + + + urn:uuid:9a669547-b69b-469f-a11f-2d875366bbdc + Ñunç elementum + http://purl.org/dc/dcmitype/Dataset + Hydrography-Oceanographic + + 44.79 -6.17 + 51.13 -2.23 + + + + urn:uuid:a06af396-3105-442d-8b40-22b57a90d2f2 + Lorem ipsum dolor sit amet + http://purl.org/dc/dcmitype/Image + image/jpeg + + + diff --git a/tests/functionaltests/suites/csw30/expected/get_e38e6bfb-8ac4-4ae4-8b87-0aafbc8d3c6b.xml b/tests/functionaltests/suites/csw30/expected/get_e38e6bfb-8ac4-4ae4-8b87-0aafbc8d3c6b.xml new file mode 100644 index 000000000..2a3f20b3b --- /dev/null +++ b/tests/functionaltests/suites/csw30/expected/get_e38e6bfb-8ac4-4ae4-8b87-0aafbc8d3c6b.xml @@ -0,0 +1,11 @@ + + + + urn:uuid:1ef30a8b-876d-4828-9246-c37ab4510bbd + + http://purl.org/dc/dcmitype/Service + + 60.04 13.75 + 68.41 17.92 + + diff --git a/tests/functionaltests/suites/csw30/expected/get_e67ca935-d65d-4d8c-8302-1405333dded0.xml b/tests/functionaltests/suites/csw30/expected/get_e67ca935-d65d-4d8c-8302-1405333dded0.xml new file mode 100644 index 000000000..ce9c9355d --- /dev/null +++ b/tests/functionaltests/suites/csw30/expected/get_e67ca935-d65d-4d8c-8302-1405333dded0.xml @@ -0,0 +1,491 @@ + + + + + pycsw Geospatial Catalogue + pycsw is an OGC CSW server implementation written in Python + + catalogue + discovery + theme + + CSW + 2.0.2 + 3.0.0 + None + None + + + pycsw + + + Kralidis, Tom + Senior Systems Scientist + + + +01-416-xxx-xxxx + +01-416-xxx-xxxx + + + TBA + Toronto + Ontario + M9C 3Z9 + Canada + tomkralidis@gmail.com + + + 0800h - 1600h EST + During hours of service. Off on weekends. + + pointOfContact + + + + + + + + + + + + + application/xml + text/xml + + + + + 2.0.2 + 3.0.0 + + + + + All + Filter_Capabilities + OperationsMetadata + ServiceIdentification + ServiceProvider + + + + + + + + + + + + + GetCapabilities.acceptFormats + GetCapabilities.acceptVersions + GetCapabilities.sections + GetRecordById.ElementSetName + GetRecordById.outputFormat + GetRecordById.outputSchema + GetRecords.CONSTRAINTLANGUAGE + GetRecords.ElementSetName + GetRecords.outputFormat + GetRecords.outputSchema + GetRecords.typeNames + + + + + + + + + + + + + CQL_TEXT + FILTER + + + + + brief + full + summary + + + + + application/atom+xml + application/json + application/xml + + + + + http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ + http://www.interlis.ch/INTERLIS2.3 + http://www.opengis.net/cat/csw/3.0 + http://www.opengis.net/cat/csw/csdgm + http://www.w3.org/2005/Atom + + + + + csw:Record + + + + + 10 + + + + + http://localhost/pycsw/csw.py?config=tests/suites/csw30/default.cfg?mode=opensearch&service=CSW&version=3.0.0&request=GetCapabilities + + + + + http://demo.pycsw.org/gisdata/csw + + + + + + + + + + + + + brief + full + summary + + + + + application/atom+xml + application/json + application/xml + + + + + http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ + http://www.interlis.ch/INTERLIS2.3 + http://www.opengis.net/cat/csw/3.0 + http://www.opengis.net/cat/csw/csdgm + http://www.w3.org/2005/Atom + + + + + + + + + + + + + CSW + + + + + 2.0.2 + 3.0.0 + + + + + csw:AnyText + dc:contributor + dc:creator + dc:date + dc:format + dc:identifier + dc:language + dc:publisher + dc:relation + dc:rights + dc:source + dc:subject + dc:title + dc:type + dct:abstract + dct:modified + ows:BoundingBox + + + + + http://demo.pycsw.org/gisdata/csw + + + + + 10 + + + + + SOAP + XML + + + + + allowed + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + http://www.opengis.net/gml + + + + + TRUE + + + + + en + + + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + xs:string + + + xs:string + + + xs:string + + + xs:string + + + xs:string + + + xs:string + + + + diff --git a/tests/functionaltests/suites/csw30/expected/get_e7704509-3441-458f-8ef0-e333c6b6043f.xml b/tests/functionaltests/suites/csw30/expected/get_e7704509-3441-458f-8ef0-e333c6b6043f.xml new file mode 100644 index 000000000..d1dbd3ab1 --- /dev/null +++ b/tests/functionaltests/suites/csw30/expected/get_e7704509-3441-458f-8ef0-e333c6b6043f.xml @@ -0,0 +1,7 @@ + + + + + Only ONE of ElementSetName or ElementName parameter(s) is permitted + + diff --git a/tests/functionaltests/suites/csw30/expected/get_f1223a49-6d08-44ff-97fe-4c32cbbfad82.xml b/tests/functionaltests/suites/csw30/expected/get_f1223a49-6d08-44ff-97fe-4c32cbbfad82.xml new file mode 100644 index 000000000..6520e5212 --- /dev/null +++ b/tests/functionaltests/suites/csw30/expected/get_f1223a49-6d08-44ff-97fe-4c32cbbfad82.xml @@ -0,0 +1,6 @@ + + + + + + diff --git a/tests/functionaltests/suites/csw30/expected/get_f89dd4e1-3a81-4433-afd2-a3fa1bdb1e18.xml b/tests/functionaltests/suites/csw30/expected/get_f89dd4e1-3a81-4433-afd2-a3fa1bdb1e18.xml new file mode 100644 index 000000000..2b5272833 --- /dev/null +++ b/tests/functionaltests/suites/csw30/expected/get_f89dd4e1-3a81-4433-afd2-a3fa1bdb1e18.xml @@ -0,0 +1,7 @@ + + + + + Invalid outputFormat parameter value: text/example + + diff --git a/tests/functionaltests/suites/csw30/expected/post_Exception-GetDomain-parametername-bad.xml b/tests/functionaltests/suites/csw30/expected/post_Exception-GetDomain-parametername-bad.xml new file mode 100644 index 000000000..759884ffd --- /dev/null +++ b/tests/functionaltests/suites/csw30/expected/post_Exception-GetDomain-parametername-bad.xml @@ -0,0 +1,7 @@ + + + + + GetRecords.outputFormat-something + + diff --git a/tests/functionaltests/suites/csw30/expected/post_Exception-GetDomain-valuereference-bad.xml b/tests/functionaltests/suites/csw30/expected/post_Exception-GetDomain-valuereference-bad.xml new file mode 100644 index 000000000..6aa6d9a40 --- /dev/null +++ b/tests/functionaltests/suites/csw30/expected/post_Exception-GetDomain-valuereference-bad.xml @@ -0,0 +1,7 @@ + + + + + dc:titlena + + diff --git a/tests/functionaltests/suites/csw30/expected/post_Exception-GetRecordById-404.xml b/tests/functionaltests/suites/csw30/expected/post_Exception-GetRecordById-404.xml new file mode 100644 index 000000000..992d6f29c --- /dev/null +++ b/tests/functionaltests/suites/csw30/expected/post_Exception-GetRecordById-404.xml @@ -0,0 +1,7 @@ + + + + + No repository item found for 'does_not_exist' + + diff --git a/tests/functionaltests/suites/csw30/expected/post_Exception-GetRecordById-bad-esn.xml b/tests/functionaltests/suites/csw30/expected/post_Exception-GetRecordById-bad-esn.xml new file mode 100644 index 000000000..3b7e2b9ee --- /dev/null +++ b/tests/functionaltests/suites/csw30/expected/post_Exception-GetRecordById-bad-esn.xml @@ -0,0 +1,7 @@ + + + + + Invalid elementsetname parameter bad + + diff --git a/tests/functionaltests/suites/csw30/expected/post_Exception-bad-xml.xml b/tests/functionaltests/suites/csw30/expected/post_Exception-bad-xml.xml new file mode 100644 index 000000000..76e5b29f7 --- /dev/null +++ b/tests/functionaltests/suites/csw30/expected/post_Exception-bad-xml.xml @@ -0,0 +1,8 @@ + + + + + Exception: document not well-formed. +Error: Opening and ending tag mismatch: GetCapabilities line 2 and GetCapabilities-bad, line 9, column 29. + + diff --git a/tests/functionaltests/suites/csw30/expected/post_Exception-not-xml.xml b/tests/functionaltests/suites/csw30/expected/post_Exception-not-xml.xml new file mode 100644 index 000000000..632a1d8cd --- /dev/null +++ b/tests/functionaltests/suites/csw30/expected/post_Exception-not-xml.xml @@ -0,0 +1,8 @@ + + + + + Exception: document not well-formed. +Error: Start tag expected, '<' not found, line 1, column 1. + + diff --git a/tests/functionaltests/suites/csw30/expected/post_GetCapabilities.xml b/tests/functionaltests/suites/csw30/expected/post_GetCapabilities.xml new file mode 100644 index 000000000..ce9c9355d --- /dev/null +++ b/tests/functionaltests/suites/csw30/expected/post_GetCapabilities.xml @@ -0,0 +1,491 @@ + + + + + pycsw Geospatial Catalogue + pycsw is an OGC CSW server implementation written in Python + + catalogue + discovery + theme + + CSW + 2.0.2 + 3.0.0 + None + None + + + pycsw + + + Kralidis, Tom + Senior Systems Scientist + + + +01-416-xxx-xxxx + +01-416-xxx-xxxx + + + TBA + Toronto + Ontario + M9C 3Z9 + Canada + tomkralidis@gmail.com + + + 0800h - 1600h EST + During hours of service. Off on weekends. + + pointOfContact + + + + + + + + + + + + + application/xml + text/xml + + + + + 2.0.2 + 3.0.0 + + + + + All + Filter_Capabilities + OperationsMetadata + ServiceIdentification + ServiceProvider + + + + + + + + + + + + + GetCapabilities.acceptFormats + GetCapabilities.acceptVersions + GetCapabilities.sections + GetRecordById.ElementSetName + GetRecordById.outputFormat + GetRecordById.outputSchema + GetRecords.CONSTRAINTLANGUAGE + GetRecords.ElementSetName + GetRecords.outputFormat + GetRecords.outputSchema + GetRecords.typeNames + + + + + + + + + + + + + CQL_TEXT + FILTER + + + + + brief + full + summary + + + + + application/atom+xml + application/json + application/xml + + + + + http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ + http://www.interlis.ch/INTERLIS2.3 + http://www.opengis.net/cat/csw/3.0 + http://www.opengis.net/cat/csw/csdgm + http://www.w3.org/2005/Atom + + + + + csw:Record + + + + + 10 + + + + + http://localhost/pycsw/csw.py?config=tests/suites/csw30/default.cfg?mode=opensearch&service=CSW&version=3.0.0&request=GetCapabilities + + + + + http://demo.pycsw.org/gisdata/csw + + + + + + + + + + + + + brief + full + summary + + + + + application/atom+xml + application/json + application/xml + + + + + http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ + http://www.interlis.ch/INTERLIS2.3 + http://www.opengis.net/cat/csw/3.0 + http://www.opengis.net/cat/csw/csdgm + http://www.w3.org/2005/Atom + + + + + + + + + + + + + CSW + + + + + 2.0.2 + 3.0.0 + + + + + csw:AnyText + dc:contributor + dc:creator + dc:date + dc:format + dc:identifier + dc:language + dc:publisher + dc:relation + dc:rights + dc:source + dc:subject + dc:title + dc:type + dct:abstract + dct:modified + ows:BoundingBox + + + + + http://demo.pycsw.org/gisdata/csw + + + + + 10 + + + + + SOAP + XML + + + + + allowed + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + http://www.opengis.net/gml + + + + + TRUE + + + + + en + + + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + xs:string + + + xs:string + + + xs:string + + + xs:string + + + xs:string + + + xs:string + + + + diff --git a/tests/functionaltests/suites/csw30/expected/post_GetDomain-parametername.xml b/tests/functionaltests/suites/csw30/expected/post_GetDomain-parametername.xml new file mode 100644 index 000000000..d9cd1c604 --- /dev/null +++ b/tests/functionaltests/suites/csw30/expected/post_GetDomain-parametername.xml @@ -0,0 +1,12 @@ + + + + + GetRecords.outputFormat + + application/atom+xml + application/json + application/xml + + + diff --git a/tests/functionaltests/suites/csw30/expected/post_GetDomain-valuereference.xml b/tests/functionaltests/suites/csw30/expected/post_GetDomain-valuereference.xml new file mode 100644 index 000000000..3775ee212 --- /dev/null +++ b/tests/functionaltests/suites/csw30/expected/post_GetDomain-valuereference.xml @@ -0,0 +1,18 @@ + + + + + dc:title + + Aliquam fermentum purus quis arcu + Fuscé vitae ligulä + Lorem ipsum + Lorem ipsum dolor sit amet + Maecenas enim + Mauris sed neque + Ut facilisis justo ut lacus + Vestibulum massa purus + Ñunç elementum + + + diff --git a/tests/functionaltests/suites/csw30/expected/post_GetRecordById-dc-full.xml b/tests/functionaltests/suites/csw30/expected/post_GetRecordById-dc-full.xml new file mode 100644 index 000000000..ae4a178b2 --- /dev/null +++ b/tests/functionaltests/suites/csw30/expected/post_GetRecordById-dc-full.xml @@ -0,0 +1,10 @@ + + + + urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f + Lorem ipsum + http://purl.org/dc/dcmitype/Image + Tourism--Greece + image/svg+xml + Quisque lacus diam, placerat mollis, pharetra in, commodo sed, augue. Duis iaculis arcu vel arcu. + diff --git a/tests/functionaltests/suites/csw30/expected/post_GetRecordById-dc.xml b/tests/functionaltests/suites/csw30/expected/post_GetRecordById-dc.xml new file mode 100644 index 000000000..731f3ba9e --- /dev/null +++ b/tests/functionaltests/suites/csw30/expected/post_GetRecordById-dc.xml @@ -0,0 +1,10 @@ + + + + urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f + Lorem ipsum + http://purl.org/dc/dcmitype/Image + Tourism--Greece + image/svg+xml + Quisque lacus diam, placerat mollis, pharetra in, commodo sed, augue. Duis iaculis arcu vel arcu. + diff --git a/tests/functionaltests/suites/csw30/get/requests.txt b/tests/functionaltests/suites/csw30/get/requests.txt new file mode 100644 index 000000000..d93dd98d0 --- /dev/null +++ b/tests/functionaltests/suites/csw30/get/requests.txt @@ -0,0 +1,82 @@ +GetCapabilities-base-url,PYCSW_SERVER?config=tests/suites/csw30/default.cfg +GetCapabilities-no-version,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&service=CSW&request=GetCapabilities +GetCapabilities,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&service=CSW&version=3.0.0&request=GetCapabilities +Exception-invalid-request,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&service=CSW&version=3.0.0&request=GetCapabilities-foo +Exception-GetDomain,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&service=CSW&version=3.0.0&request=GetDomain +GetDomain-parameter,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&service=CSW&version=3.0.0&request=GetDomain¶metername=GetRecords.ElementSetName +GetDomain-value-reference,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&service=CSW&version=3.0.0&request=GetDomain&valuereference=dc:title +Exception-GetDomain-value-reference,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&service=CSW&version=3.0.0&request=GetDomain&valuereference=dc:title2 +Exception-GetRecordById-dc.xml,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&service=CSW&version=3.0.0&request=GetRecordById&id=urn:uuid:829babb0-b2f1-49e1-8cd5-7b489fe71a1e +Exception-GetRecordById-404,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&service=CSW&version=3.0.0&request=GetRecordById&id=does_not_exist2 +OpenSearch-description,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&mode=opensearch&service=CSW&version=3.0.0&request=GetCapabilities +GetRepositoryItem,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&service=CSW&version=3.0.0&request=GetRepositoryItem&id=urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f +Exception-GetRepositoryItem-notfound,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&service=CSW&version=3.0.0&request=GetRepositoryItem&id=NOTFOUND +002258f0-627f-457f-b2ad-025777c77ac8,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&mode=opensearch&service=CSW&version=3.0.0&request=GetCapabilities +045c600d-973d-41eb-9f60-eba1b717b720,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&mode=opensearch&service=CSW&version=3.0.0&request=GetRecords&elementsetname=full&typenames=csw:Record&resulttype=results&q=Fusc%C3%A9%20Land&bbox=&time=/&outputformat=application/atom%2Bxml&startposition=1&maxrecords=&recordids= +0bbcf862-5211-4351-9988-63f8bec49c98,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&elementSetName=summary&outputFormat=application/atom%2Bxml&request=GetRecords&service=CSW&typeNames=Record&version=3.0.0 +0bdf8457-971e-4ed1-be4a-5feca4dcd8fa,PYCSW_SERVER?config=tests/suites/csw30/default.cfg +0d8bbdec-0846-42ca-8dc8-b7f4cba41d67,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&elementName=tns:title&request=GetRecords&service=CSW&typeNames=Record&namespace=xmlns(tns%3Dhttp://purl.org/dc/elements/1.1/)&version=3.0.0 +0e1dca37-477a-4060-99fe-7799b52d656c,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&mode=opensearch&service=CSW&version=3.0.0&request=GetRecords&elementsetname=full&typenames=csw:Record&resulttype=results&q=lpppclq&bbox=&time=/&outputformat=application/atom%2Bxml&startposition=1&maxrecords=&recordids= +13c87956-51a4-4780-a8e9-6e0b5c0bb473,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&elementSetName=full&maxRecords=20&request=GetRecords&service=CSW&typeNames=Record&version=3.0.0 +151d982f-ebd3-4cb2-b507-a667713a1e92,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&acceptFormats=model/x3d%2Bxml&acceptVersions=3.0.0&request=GetCapabilities&service=CSW +1869e495-1a61-4713-8285-76d1336ee1a6,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&acceptVersions=3.0.0&request=GetCapabilities +1bcb42a9-538c-4f0a-9d4c-d6f10b720aa6,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&request=GetRecordById&service=CSW&version=3.0.0 +22f44168-2ccf-4801-ad96-204212566d56,PYCSW_SERVER?config=tests/suites/csw30/default.cfg +2499a9c9-8d33-449c-bc92-d494adfcc84d,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&acceptVersions=3.0.0§ions=All&request=GetCapabilities&service=CSW +27f4f39c-d92a-4e3c-b961-c6aa8c24e513,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&acceptFormats=application/xml&acceptVersions=3.0.0&request=GetCapabilities&service=CSW +28e569df-8596-4128-8d9a-29ad03138915,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&id=urn:uuid:a06af396-3105-442d-8b40-22b57a90d2f2&request=GetRecordById&service=CSW&version=3.0.0 +2b06a5c8-0df2-4af1-8d2e-a425de11c845,PYCSW_SERVER?config=tests/suites/csw30/default.cfg +2ba1418a-444d-4cce-9cfe-4c94efcf8b55,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&maxRecords=2&elementSetName=summary&outputFormat=application/atom%2Bxml&request=GetRecords&service=CSW&typeNames=csw3:Record&startPosition=3&namespace=xmlns(csw3%3Dhttp://www.opengis.net/cat/csw/3.0)&version=3.0.0 +397fe17a-d5b4-4f96-8cc4-4ce467ed4d0a,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&service=CSW&version=3.0.0&request=GetRecords&elementsetname=full&typenames=csw:Record&resulttype=results&q=ipsum&bbox=&time=/&outputformat=application/xml&outputschema=http://www.opengis.net/cat/csw/3.0&startposition=1&maxrecords=&recordids= +3dcd1b15-73d2-4b7d-a3e3-ff15bf14aae4,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&elementSetName=brief&request=GetRecords&service=CSW&typeNames=tns:Record&namespace=xmlns(tns%3Dhttp://www.opengis.net/cat/csw/3.0)&version=3.0.0 +405e1ff1-5c75-4846-a28b-cfaff2a6921a,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&elementSetName=summary&recordIds=urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f,urn:uuid:e9330592-0932-474b-be34-c3a3bb67c7db&request=GetRecords&service=CSW&typeNames=Record&version=3.0.0 +43cd6471-6ac7-45bd-8ff9-148cb2de9a52,PYCSW_SERVER?config=tests/suites/csw30/default.cfg +4566d2ec-1283-4a02-baed-a74fc5b47e37,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&acceptVersions=3.0.0§ions=ServiceIdentification&request=GetCapabilities&service=CSW +461bd4c5-6623-490d-9036-d91a2201e87b,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&acceptVersions=3.0.0§ions=Filter_Capabilities&request=GetCapabilities&service=CSW +5496894a-3877-4f62-a20b-5d7126f94925,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&service=CSW&version=3.0.0&request=GetRecords&elementsetname=full&typenames=csw:Record&resulttype=results&q=&bbox=514432,5429689,529130,5451619&time=/&outputformat=application/xml&outputschema=http://www.opengis.net/cat/csw/3.0&startposition=1&maxrecords=&recordids= +5a015f6a-bf14-4977-b1e3-6577eb0223c8,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&service=CSW&version=3.0.0&request=GetRecords&elementsetname=full&typenames=csw:Record&resulttype=results&q=&bbox=-6.17,44.79,17.92,68.41&time=/&outputformat=application/xml&outputschema=http://www.opengis.net/cat/csw/3.0&startposition=1&maxrecords=&recordids= +5c3a2390-1fb9-43f0-b96c-f48c7a69c990,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&id=urn:uuid:88247b56-4cbc-4df9-9860-db3f8042e357&outputFormat=model/vnd.collada%2Bxml&request=GetRecordById&service=CSW&version=3.0.0 +5e9e67dc-18d6-4645-8111-c6263c88a61f,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&acceptVersions=3.0.0§ions=OperationsMetadata&request=GetCapabilities&service=CSW +604d9379-741c-42e5-b4cf-92e56c87fa64,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&elementSetName=full&q=amet&request=GetRecords&service=CSW&typeNames=Record&version=3.0.0 +60e6af95-d5fc-465a-82e2-fd2e6d85e4af,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&request=GetRecords&service=CSW&typeNames=UnknownType&version=3.0.0 +62ad94c2-b558-4265-a427-23d6677975d6,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&mode=opensearch&service=CSW&version=3.0.0&request=GetRecords&elementsetname=full&typenames=csw:Record&resulttype=results&q=&bbox=&time=/&outputformat=application/atom%2Bxml&startposition=1&maxrecords=&recordids=uid-bc5017e6-5cc8-4b03-aee7-d88f88caba0a +6a5e247b-0961-4b8a-a0d6-35a491d9cfe7,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&elementSetName=undefined-view&request=GetRecords&service=CSW&typeNames=Record&version=3.0.0 +6a9d0558-9d87-495b-b999-b49a3ef1cf99,PYCSW_SERVER?config=tests/suites/csw30/default.cfg +6bd790c9-6019-4652-9c91-330a894d6700,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&service=CSW&version=3.0.0&request=GetRecords&elementsetname=full&typenames=csw:Record&resulttype=results&q=Fusc%C3%A9%20Land&bbox=&time=/&outputformat=application/xml&outputschema=http://www.opengis.net/cat/csw/3.0&startposition=1&maxrecords=&recordids= +6e9cba43-5e27-415d-adbd-a92851c2c173,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&acceptVersions=3.0.0&request=GetCapabilities&service=CSW +7630d230-e142-4a09-accf-f091000b90cd,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&id=urn:uuid:66ae76b7-54ba-489b-a582-0f0633d96493&request=GetRecordById&service=CSW&version=3.0.0 +7e82446a-b5dc-43fe-9a73-4cc1f2f2f0bf,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&acceptFormats=text/xml&acceptVersions=3.0.0&request=GetCapabilities&service=CSW +8025978e-1a35-4d70-80c2-e8329e0c7864,PYCSW_SERVER?config=tests/suites/csw30/default.cfg +8184ae4f-536d-4978-8b28-ad703be96967,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&elementSetName=brief&bbox=44.79,-6.17,68.41,17.92,urn:ogc:def:crs:EPSG::4326&request=GetRecords&service=CSW&typeNames=Record&version=3.0.0 +88f63a89-664f-4315-b4f8-04a0b33803a7,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&maxRecords=15&elementSetName=summary&q=Mauris&bbox=-6.17,44.79,17.92,68.41&request=GetRecords&service=CSW&typeNames=Record&version=3.0.0 +8987f8f0-4d93-4481-968c-a2ccbd6b8be2,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&id=urn:example:1461546298217&request=GetRecordById&service=CSW&version=3.0.0 +8e5fa0f6-3f29-4d1f-abe2-d9866f3def98,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&mode=opensearch&service=CSW&version=3.0.0&request=GetRecords&elementsetname=full&typenames=csw:Record&resulttype=results&q=&bbox=-180,-90,180,90&time=/&outputformat=application/atom%2Bxml&startposition=1&maxrecords=&recordids= +9000ec29-5649-474e-b2d6-55c00f8a52c0,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&acceptVersions=9999.12.31&request=GetCapabilities&service=CSW +91914d35-7bbf-45e6-9b37-5ef484869a4e,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&elementSetName=summary&bbox=-6.17,44.79,17.92,68.41&request=GetRecords&service=CSW&typeNames=Record&version=3.0.0 +92d4844d-57d5-4cf3-8f47-ba50e369dc04,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&elementSetName=full&q=atkovxqmf&request=GetRecords&service=CSW&typeNames=Record&version=3.0.0 +9c0e2a4b-b4e6-41c0-b630-c8c99fc89ff3,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&elementSetName=brief&outputSchema=urn:uuid:6a29d2a8-9651-47a6-9b14-f05d2b5644f0&request=GetRecords&service=CSW&typeNames=Record&version=3.0.0 +9d7ffac8-9798-428d-8e27-3cd12497ee6b,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&id=urn:uuid:1ef30a8b-876d-4828-9246-c37ab4510bbd&outputSchema=http://www.example.org/ns/alpha&request=GetRecordById&service=CSW&version=3.0.0 +a2f18643-e24e-4fa5-b780-6de4a2dbc814,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&id=urn:uuid:829babb0-b2f1-49e1-8cd5-7b489fe71a1e&outputFormat=application/atom%2Bxml&request=GetRecordById&service=CSW&version=3.0.0 +abc90c8c-5868-4405-a73e-64c849be3b2a,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&mode=opensearch&service=CSW&version=3.0.0&request=GetRecords&elementsetname=full&typenames=csw:Record&resulttype=results&q=&bbox=514432,5429689,529130,5451619&time=/&outputformat=application/atom%2Bxml&startposition=1&maxrecords=&recordids= +ad0c0571-09ed-436a-9a4f-a5de744c88fe,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&maxRecords=2&elementSetName=summary&request=GetRecords&service=CSW&typeNames=csw3:Record&startPosition=3&namespace=xmlns(csw3%3Dhttp://www.opengis.net/cat/csw/3.0)&version=3.0.0 +af502903-f4ee-47ee-b76e-af878d238bcc,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&service=CSW&version=3.0.0&request=GetRecords&elementsetname=full&typenames=csw:Record&resulttype=results&q=&bbox=-180,-90,180,90&time=/&outputformat=application/xml&outputschema=http://www.opengis.net/cat/csw/3.0&startposition=1&maxrecords=&recordids= +b2aafc3f-4f35-47bc-affd-08590972deae,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&mode=opensearch&service=CSW&version=3.0.0&request=GetRecords&elementsetname=full&typenames=csw:Record&resulttype=results&q=&bbox=-6.17,44.79,17.92,68.41&time=/&outputformat=application/atom%2Bxml&startposition=1&maxrecords=&recordids= +b6069623-f7d8-4021-8582-98f0aea0f763,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&mode=opensearch&service=CSW&version=3.0.0&request=GetRecords&elementsetname=full&typenames=csw:Record&resulttype=results&q=&bbox=&time=/&outputformat=application/atom%2Bxml&startposition=3&maxrecords=4&recordids= +b9a07a54-75a8-45bd-b341-2823600211e3,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&elementSetName=brief&bbox=472944,5363287,492722,5455253,urn:ogc:def:crs:EPSG::0000&request=GetRecords&service=CSW&typeNames=Record&version=3.0.0 +baa4a7d0-0c01-42b6-adc3-0d03e9949fa3,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&acceptVersions=3.0.0&request=getCapabilities&service=CSW +bfbe6409-f64a-4c89-acb3-50f260a5c743,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&elementSetName=summary&q=Fusc%C3%A9%20Land&request=GetRecords&service=CSW&typeNames=Record&version=3.0.0 +bfe20134-d1da-42ef-9c0f-8e1307bbf92b,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&service=CSW&version=3.0.0&request=GetRecords&elementsetname=full&typenames=csw:Record&resulttype=results&q=&bbox=&time=/&outputformat=application/xml&outputschema=http://www.opengis.net/cat/csw/3.0&startposition=3&maxrecords=4&recordids= +c03d173a-3f42-4956-89c8-1fe02c3a0873,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&SERVICE=CSW&Request=GetCapabilities&acceptversions=3.0.0 +cb43d8c3-e14c-4a9f-9231-4384b7dd21f3,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&elementName=undefined&request=GetRecords&service=CSW&typeNames=Record&version=3.0.0 +d03c6fd3-e821-4a26-b62f-d20a474e25af,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&acceptVersions=3.0.0§ions=ServiceProvider&request=GetCapabilities&service=CSW +d4ccbf96-a529-480e-a53d-5b88dc1dea7f,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&service=CSW&version=3.0.0&request=GetRecords&elementsetname=full&typenames=csw:Record&resulttype=results&q=&bbox=&time=/&outputformat=application/xml&outputschema=http://www.opengis.net/cat/csw/3.0&startposition=1&maxrecords=&recordids=uid-bc5017e6-5cc8-4b03-aee7-d88f88caba0a +d94c801a-1207-4897-b84a-53f3a192515b,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&service=CSW&version=3.0.0&request=GetRecords&elementsetname=full&typenames=csw:Record&resulttype=results&q=lpppclq&bbox=&time=/&outputformat=application/xml&outputschema=http://www.opengis.net/cat/csw/3.0&startposition=1&maxrecords=&recordids= +da859e34-91fc-495a-8c09-285a40c0900b,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&id=urn:uuid:94bc9c83-97f6-4b40-9eb8-a8e8787a5c63&elementSetName=full&request=GetRecordById&service=CSW&version=3.0.0 +dc246fb8-5af5-4fda-82bb-c18b3ecd439c,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&mode=opensearch&service=CSW&version=3.0.0&request=GetRecords&elementsetname=full&typenames=csw:Record&resulttype=results&q=ipsum&bbox=&time=/&outputformat=application/atom%2Bxml&startposition=1&maxrecords=&recordids= +de016645-6d5c-4855-943c-2db07ae9f49a,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&mode=opensearch&service=CSW&version=3.0.0&request=GetRecords&elementsetname=full&typenames=csw:Record&resulttype=results&q=&bbox=&time=/&outputformat=application/atom%2Bxml&startposition=1&maxrecords=&recordids=urn%3Auuid%3A94bc9c83-97f6-4b40-9eb8-a8e8787a5c63 +dff3ec6b-bb2d-4887-bd17-8fcf15def042,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&elementSetName=summary&request=GetRecords&service=CSW&typeNames=Record&version=3.0.0 +e38e6bfb-8ac4-4ae4-8b87-0aafbc8d3c6b,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&id=urn:uuid:1ef30a8b-876d-4828-9246-c37ab4510bbd&elementSetName=brief&request=GetRecordById&service=CSW&version=3.0.0 +e67ca935-d65d-4d8c-8302-1405333dded0,PYCSW_SERVER?config=tests/suites/csw30/default.cfg +e7704509-3441-458f-8ef0-e333c6b6043f,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&elementName=ns1:subject&elementSetName=brief&request=GetRecords&service=CSW&typeNames=Record&namespace=xmlns(ns1%3Dhttp://purl.org/dc/elements/1.1/)&version=3.0.0 +f1223a49-6d08-44ff-97fe-4c32cbbfad82,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&elementSetName=summary&maxRecords=0&q=titles&request=GetRecords&service=CSW&typeNames=Record&version=3.0.0 +f89dd4e1-3a81-4433-afd2-a3fa1bdb1e18,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&elementSetName=full&outputFormat=text/example&request=GetRecords&service=CSW&typeNames=Record&version=3.0.0 diff --git a/tests/functionaltests/suites/csw30/post/Exception-GetDomain-parametername-bad.xml b/tests/functionaltests/suites/csw30/post/Exception-GetDomain-parametername-bad.xml new file mode 100644 index 000000000..beeda8211 --- /dev/null +++ b/tests/functionaltests/suites/csw30/post/Exception-GetDomain-parametername-bad.xml @@ -0,0 +1,4 @@ + + + GetRecords.outputFormat-something + diff --git a/tests/functionaltests/suites/csw30/post/Exception-GetDomain-valuereference-bad.xml b/tests/functionaltests/suites/csw30/post/Exception-GetDomain-valuereference-bad.xml new file mode 100644 index 000000000..64184b6f0 --- /dev/null +++ b/tests/functionaltests/suites/csw30/post/Exception-GetDomain-valuereference-bad.xml @@ -0,0 +1,4 @@ + + + dc:titlena + diff --git a/tests/functionaltests/suites/csw30/post/Exception-GetRecordById-404.xml b/tests/functionaltests/suites/csw30/post/Exception-GetRecordById-404.xml new file mode 100644 index 000000000..41528ed0f --- /dev/null +++ b/tests/functionaltests/suites/csw30/post/Exception-GetRecordById-404.xml @@ -0,0 +1,4 @@ + + + does_not_exist + diff --git a/tests/functionaltests/suites/csw30/post/Exception-GetRecordById-bad-esn.xml b/tests/functionaltests/suites/csw30/post/Exception-GetRecordById-bad-esn.xml new file mode 100644 index 000000000..2ab71279c --- /dev/null +++ b/tests/functionaltests/suites/csw30/post/Exception-GetRecordById-bad-esn.xml @@ -0,0 +1,5 @@ + + + urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f + bad + diff --git a/tests/functionaltests/suites/csw30/post/Exception-bad-xml.xml b/tests/functionaltests/suites/csw30/post/Exception-bad-xml.xml new file mode 100644 index 000000000..6ba741f83 --- /dev/null +++ b/tests/functionaltests/suites/csw30/post/Exception-bad-xml.xml @@ -0,0 +1,9 @@ + + + + 3.0.0 + + + application/xml + + diff --git a/tests/functionaltests/suites/csw30/post/Exception-not-xml.xml b/tests/functionaltests/suites/csw30/post/Exception-not-xml.xml new file mode 100644 index 000000000..2b2530072 --- /dev/null +++ b/tests/functionaltests/suites/csw30/post/Exception-not-xml.xml @@ -0,0 +1 @@ +not an XML payload diff --git a/tests/functionaltests/suites/csw30/post/GetCapabilities.xml b/tests/functionaltests/suites/csw30/post/GetCapabilities.xml new file mode 100644 index 000000000..3e80d5ccc --- /dev/null +++ b/tests/functionaltests/suites/csw30/post/GetCapabilities.xml @@ -0,0 +1,9 @@ + + + + 3.0.0 + + + application/xml + + diff --git a/tests/functionaltests/suites/csw30/post/GetDomain-parametername.xml b/tests/functionaltests/suites/csw30/post/GetDomain-parametername.xml new file mode 100644 index 000000000..00ca59f16 --- /dev/null +++ b/tests/functionaltests/suites/csw30/post/GetDomain-parametername.xml @@ -0,0 +1,4 @@ + + + GetRecords.outputFormat + diff --git a/tests/functionaltests/suites/csw30/post/GetDomain-valuereference.xml b/tests/functionaltests/suites/csw30/post/GetDomain-valuereference.xml new file mode 100644 index 000000000..7cfd0eb87 --- /dev/null +++ b/tests/functionaltests/suites/csw30/post/GetDomain-valuereference.xml @@ -0,0 +1,4 @@ + + + dc:title + diff --git a/tests/functionaltests/suites/csw30/post/GetRecordById-dc-full.xml b/tests/functionaltests/suites/csw30/post/GetRecordById-dc-full.xml new file mode 100644 index 000000000..925049056 --- /dev/null +++ b/tests/functionaltests/suites/csw30/post/GetRecordById-dc-full.xml @@ -0,0 +1,5 @@ + + + urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f + full + diff --git a/tests/functionaltests/suites/csw30/post/GetRecordById-dc.xml b/tests/functionaltests/suites/csw30/post/GetRecordById-dc.xml new file mode 100644 index 000000000..148f0e4f3 --- /dev/null +++ b/tests/functionaltests/suites/csw30/post/GetRecordById-dc.xml @@ -0,0 +1,4 @@ + + + urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f + diff --git a/tests/functionaltests/suites/default/default.cfg b/tests/functionaltests/suites/default/default.cfg new file mode 100644 index 000000000..952454c13 --- /dev/null +++ b/tests/functionaltests/suites/default/default.cfg @@ -0,0 +1,90 @@ +# ================================================================= +# +# Authors: Tom Kralidis +# +# Copyright (c) 2011 Tom Kralidis +# +# Permission is hereby granted, free of charge, to any person +# obtaining a copy of this software and associated documentation +# files (the "Software"), to deal in the Software without +# restriction, including without limitation the rights to use, +# copy, modify, merge, publish, distribute, sublicense, and/or sell +# copies of the Software, and to permit persons to whom the +# Software is furnished to do so, subject to the following +# conditions: +# +# The above copyright notice and this permission notice shall be +# included in all copies or substantial portions of the Software. +# +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +# EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES +# OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +# NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT +# HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, +# WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR +# OTHER DEALINGS IN THE SOFTWARE. +# +# ================================================================= + +[server] +home=. +url=http://localhost/pycsw/csw.py?config=tests/suites/default/default.cfg +mimetype=application/xml; charset=UTF-8 +encoding=UTF-8 +language=en-US +maxrecords=10 +#loglevel=DEBUG +#logfile=/tmp/pycsw.log +#ogc_schemas_base=http://foo +federatedcatalogues=http://demo.pycsw.org/gisdata/csw +pretty_print=true +#gzip_compresslevel=8 +#spatial_ranking=true + +[manager] +transactions=false +allowed_ips=127.0.0.1 + +[metadata:main] +identification_title=pycsw Geospatial Catalogue +identification_abstract=pycsw is an OGC CSW server implementation written in Python +identification_keywords=catalogue,discovery +identification_keywords_type=theme +identification_fees=None +identification_accessconstraints=None +provider_name=pycsw +provider_url=http://pycsw.org/ +contact_name=Kralidis, Tom +contact_position=Senior Systems Scientist +contact_address=TBA +contact_city=Toronto +contact_stateorprovince=Ontario +contact_postalcode=M9C 3Z9 +contact_country=Canada +contact_phone=+01-416-xxx-xxxx +contact_fax=+01-416-xxx-xxxx +contact_email=tomkralidis@gmail.com +contact_url=http://kralidis.ca/ +contact_hours=0800h - 1600h EST +contact_instructions=During hours of service. Off on weekends. +contact_role=pointOfContact + +[repository] +# sqlite +database=sqlite:///tests/suites/cite/data/records.db +# postgres +#database=postgres://username:password@localhost/pycsw +table=records + +[metadata:inspire] +enabled=false +languages_supported=eng,gre +default_language=eng +date=2011-03-29 +gemet_keywords=Utility and governmental services +conformity_service=notEvaluated +contact_name=National Technical University of Athens +contact_email=tzotsos@gmail.com +temp_extent=2011-02-01/2011-03-30 + diff --git a/tests/functionaltests/suites/default/expected/get_Exception-GetRepositoryItem-notfound.xml b/tests/functionaltests/suites/default/expected/get_Exception-GetRepositoryItem-notfound.xml new file mode 100644 index 000000000..5607c7589 --- /dev/null +++ b/tests/functionaltests/suites/default/expected/get_Exception-GetRepositoryItem-notfound.xml @@ -0,0 +1,7 @@ + + + + + No repository item found for '['NOTFOUND']' + + diff --git a/tests/functionaltests/suites/default/expected/get_Exception-GetRepositoryItem-service-invalid1.xml b/tests/functionaltests/suites/default/expected/get_Exception-GetRepositoryItem-service-invalid1.xml new file mode 100644 index 000000000..4e35a17da --- /dev/null +++ b/tests/functionaltests/suites/default/expected/get_Exception-GetRepositoryItem-service-invalid1.xml @@ -0,0 +1,7 @@ + + + + + 'Invalid value for service: CSW\x00. Value MUST be CSW' + + diff --git a/tests/functionaltests/suites/default/expected/get_Exception-GetRepositoryItem-service-invalid2.xml b/tests/functionaltests/suites/default/expected/get_Exception-GetRepositoryItem-service-invalid2.xml new file mode 100644 index 000000000..97ec989fa --- /dev/null +++ b/tests/functionaltests/suites/default/expected/get_Exception-GetRepositoryItem-service-invalid2.xml @@ -0,0 +1,7 @@ + + + + + "Invalid value for service: CSW\x00'. Value MUST be CSW" + + diff --git a/tests/functionaltests/suites/default/expected/get_Exception-GetRepositoryItem-version-invalid.xml b/tests/functionaltests/suites/default/expected/get_Exception-GetRepositoryItem-version-invalid.xml new file mode 100644 index 000000000..fd7123387 --- /dev/null +++ b/tests/functionaltests/suites/default/expected/get_Exception-GetRepositoryItem-version-invalid.xml @@ -0,0 +1,7 @@ + + + + + Invalid value for version: 2.0.2'. Value MUST be 2.0.2 or 3.0.0 + + diff --git a/tests/functionaltests/suites/default/expected/get_GetCapabilities-invalid-request.xml b/tests/functionaltests/suites/default/expected/get_GetCapabilities-invalid-request.xml new file mode 100644 index 000000000..03450eb2d --- /dev/null +++ b/tests/functionaltests/suites/default/expected/get_GetCapabilities-invalid-request.xml @@ -0,0 +1,7 @@ + + + + + Invalid value for request: GetCapabilitiese + + diff --git a/tests/functionaltests/suites/default/expected/get_GetCapabilities.xml b/tests/functionaltests/suites/default/expected/get_GetCapabilities.xml new file mode 100644 index 000000000..8026e1b3b --- /dev/null +++ b/tests/functionaltests/suites/default/expected/get_GetCapabilities.xml @@ -0,0 +1,262 @@ + + + + + pycsw Geospatial Catalogue + pycsw is an OGC CSW server implementation written in Python + + catalogue + discovery + theme + + CSW + 2.0.2 + 3.0.0 + None + None + + + pycsw + + + Kralidis, Tom + Senior Systems Scientist + + + +01-416-xxx-xxxx + +01-416-xxx-xxxx + + + TBA + Toronto + Ontario + M9C 3Z9 + Canada + tomkralidis@gmail.com + + + 0800h - 1600h EST + During hours of service. Off on weekends. + + pointOfContact + + + + + + + + + + + + Filter_Capabilities + OperationsMetadata + ServiceIdentification + ServiceProvider + + + + + + + + + + + application/json + application/xml + + + http://www.w3.org/2001/XMLSchema + http://www.w3.org/TR/xmlschema-1/ + http://www.w3.org/XML/Schema + + + csw:Record + + + + + + + + + + + DescribeRecord.outputFormat + DescribeRecord.schemaLanguage + DescribeRecord.typeName + GetCapabilities.sections + GetRecordById.ElementSetName + GetRecordById.outputFormat + GetRecordById.outputSchema + GetRecords.CONSTRAINTLANGUAGE + GetRecords.ElementSetName + GetRecords.outputFormat + GetRecords.outputSchema + GetRecords.resultType + GetRecords.typeNames + + + + + + + + + + + CQL_TEXT + FILTER + + + brief + full + summary + + + application/json + application/xml + + + http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ + http://www.interlis.ch/INTERLIS2.3 + http://www.opengis.net/cat/csw/2.0.2 + http://www.opengis.net/cat/csw/csdgm + http://www.w3.org/2005/Atom + + + hits + results + validate + + + csw:Record + + + csw:AnyText + dc:contributor + dc:creator + dc:date + dc:format + dc:identifier + dc:language + dc:publisher + dc:relation + dc:rights + dc:source + dc:subject + dc:title + dc:type + dct:abstract + dct:modified + ows:BoundingBox + + + + + + + + + + + brief + full + summary + + + application/json + application/xml + + + http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ + http://www.interlis.ch/INTERLIS2.3 + http://www.opengis.net/cat/csw/2.0.2 + http://www.opengis.net/cat/csw/csdgm + http://www.w3.org/2005/Atom + + + + + + + + + + + CSW + + + 2.0.2 + 3.0.0 + + + http://demo.pycsw.org/gisdata/csw + + + 10 + + + XML + SOAP + + + allowed + + + + + + gml:Point + gml:LineString + gml:Polygon + gml:Envelope + + + + + + + + + + + + + + + + + + + Between + EqualTo + GreaterThan + GreaterThanEqualTo + LessThan + LessThanEqualTo + Like + NotEqualTo + NullCheck + + + + + length + lower + ltrim + rtrim + trim + upper + + + + + + + + + + diff --git a/tests/functionaltests/suites/default/expected/get_GetRecords-all.xml b/tests/functionaltests/suites/default/expected/get_GetRecords-all.xml new file mode 100644 index 000000000..9b45c7898 --- /dev/null +++ b/tests/functionaltests/suites/default/expected/get_GetRecords-all.xml @@ -0,0 +1,6 @@ + + + + + + diff --git a/tests/functionaltests/suites/default/expected/get_GetRecords-empty-maxrecords.xml b/tests/functionaltests/suites/default/expected/get_GetRecords-empty-maxrecords.xml new file mode 100644 index 000000000..9b45c7898 --- /dev/null +++ b/tests/functionaltests/suites/default/expected/get_GetRecords-empty-maxrecords.xml @@ -0,0 +1,6 @@ + + + + + + diff --git a/tests/functionaltests/suites/default/expected/get_GetRecords-filter-cql-title-or-abstract-with-spaces.xml b/tests/functionaltests/suites/default/expected/get_GetRecords-filter-cql-title-or-abstract-with-spaces.xml new file mode 100644 index 000000000..2b1accdf9 --- /dev/null +++ b/tests/functionaltests/suites/default/expected/get_GetRecords-filter-cql-title-or-abstract-with-spaces.xml @@ -0,0 +1,23 @@ + + + + + + + urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f + http://purl.org/dc/dcmitype/Image + image/svg+xml + Lorem ipsum + GR-22 + Tourism--Greece + Quisque lacus diam, placerat mollis, pharetra in, commodo sed, augue. Duis iaculis arcu vel arcu. + + + urn:uuid:a06af396-3105-442d-8b40-22b57a90d2f2 + http://purl.org/dc/dcmitype/Image + Lorem ipsum dolor sit amet + image/jpeg + IT-FI + + + diff --git a/tests/functionaltests/suites/default/expected/get_GetRecords-filter-cql-title-or-abstract.xml b/tests/functionaltests/suites/default/expected/get_GetRecords-filter-cql-title-or-abstract.xml new file mode 100644 index 000000000..2b1accdf9 --- /dev/null +++ b/tests/functionaltests/suites/default/expected/get_GetRecords-filter-cql-title-or-abstract.xml @@ -0,0 +1,23 @@ + + + + + + + urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f + http://purl.org/dc/dcmitype/Image + image/svg+xml + Lorem ipsum + GR-22 + Tourism--Greece + Quisque lacus diam, placerat mollis, pharetra in, commodo sed, augue. Duis iaculis arcu vel arcu. + + + urn:uuid:a06af396-3105-442d-8b40-22b57a90d2f2 + http://purl.org/dc/dcmitype/Image + Lorem ipsum dolor sit amet + image/jpeg + IT-FI + + + diff --git a/tests/functionaltests/suites/default/expected/get_GetRecords-filter-cql-title-with-spaces-or-abstract-with-spaces.xml b/tests/functionaltests/suites/default/expected/get_GetRecords-filter-cql-title-with-spaces-or-abstract-with-spaces.xml new file mode 100644 index 000000000..2b1accdf9 --- /dev/null +++ b/tests/functionaltests/suites/default/expected/get_GetRecords-filter-cql-title-with-spaces-or-abstract-with-spaces.xml @@ -0,0 +1,23 @@ + + + + + + + urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f + http://purl.org/dc/dcmitype/Image + image/svg+xml + Lorem ipsum + GR-22 + Tourism--Greece + Quisque lacus diam, placerat mollis, pharetra in, commodo sed, augue. Duis iaculis arcu vel arcu. + + + urn:uuid:a06af396-3105-442d-8b40-22b57a90d2f2 + http://purl.org/dc/dcmitype/Image + Lorem ipsum dolor sit amet + image/jpeg + IT-FI + + + diff --git a/tests/functionaltests/suites/default/expected/get_GetRecords-filter-cql-title-with-spaces-or-abstract.xml b/tests/functionaltests/suites/default/expected/get_GetRecords-filter-cql-title-with-spaces-or-abstract.xml new file mode 100644 index 000000000..2b1accdf9 --- /dev/null +++ b/tests/functionaltests/suites/default/expected/get_GetRecords-filter-cql-title-with-spaces-or-abstract.xml @@ -0,0 +1,23 @@ + + + + + + + urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f + http://purl.org/dc/dcmitype/Image + image/svg+xml + Lorem ipsum + GR-22 + Tourism--Greece + Quisque lacus diam, placerat mollis, pharetra in, commodo sed, augue. Duis iaculis arcu vel arcu. + + + urn:uuid:a06af396-3105-442d-8b40-22b57a90d2f2 + http://purl.org/dc/dcmitype/Image + Lorem ipsum dolor sit amet + image/jpeg + IT-FI + + + diff --git a/tests/functionaltests/suites/default/expected/get_GetRecords-filter-cql-title-with-spaces.xml b/tests/functionaltests/suites/default/expected/get_GetRecords-filter-cql-title-with-spaces.xml new file mode 100644 index 000000000..2b1accdf9 --- /dev/null +++ b/tests/functionaltests/suites/default/expected/get_GetRecords-filter-cql-title-with-spaces.xml @@ -0,0 +1,23 @@ + + + + + + + urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f + http://purl.org/dc/dcmitype/Image + image/svg+xml + Lorem ipsum + GR-22 + Tourism--Greece + Quisque lacus diam, placerat mollis, pharetra in, commodo sed, augue. Duis iaculis arcu vel arcu. + + + urn:uuid:a06af396-3105-442d-8b40-22b57a90d2f2 + http://purl.org/dc/dcmitype/Image + Lorem ipsum dolor sit amet + image/jpeg + IT-FI + + + diff --git a/tests/functionaltests/suites/default/expected/get_GetRecords-filter-cql-title.xml b/tests/functionaltests/suites/default/expected/get_GetRecords-filter-cql-title.xml new file mode 100644 index 000000000..2b1accdf9 --- /dev/null +++ b/tests/functionaltests/suites/default/expected/get_GetRecords-filter-cql-title.xml @@ -0,0 +1,23 @@ + + + + + + + urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f + http://purl.org/dc/dcmitype/Image + image/svg+xml + Lorem ipsum + GR-22 + Tourism--Greece + Quisque lacus diam, placerat mollis, pharetra in, commodo sed, augue. Duis iaculis arcu vel arcu. + + + urn:uuid:a06af396-3105-442d-8b40-22b57a90d2f2 + http://purl.org/dc/dcmitype/Image + Lorem ipsum dolor sit amet + image/jpeg + IT-FI + + + diff --git a/tests/functionaltests/suites/default/expected/get_GetRecords-filter.xml b/tests/functionaltests/suites/default/expected/get_GetRecords-filter.xml new file mode 100644 index 000000000..163bcd640 --- /dev/null +++ b/tests/functionaltests/suites/default/expected/get_GetRecords-filter.xml @@ -0,0 +1,16 @@ + + + + + + + urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f + http://purl.org/dc/dcmitype/Image + image/svg+xml + Lorem ipsum + GR-22 + Tourism--Greece + Quisque lacus diam, placerat mollis, pharetra in, commodo sed, augue. Duis iaculis arcu vel arcu. + + + diff --git a/tests/functionaltests/suites/default/expected/get_GetRecords-sortby-asc.xml b/tests/functionaltests/suites/default/expected/get_GetRecords-sortby-asc.xml new file mode 100644 index 000000000..9a5c0f935 --- /dev/null +++ b/tests/functionaltests/suites/default/expected/get_GetRecords-sortby-asc.xml @@ -0,0 +1,91 @@ + + + + + + + urn:uuid:1ef30a8b-876d-4828-9246-c37ab4510bbd + http://purl.org/dc/dcmitype/Service + Proin sit amet justo. In justo. Aenean adipiscing nulla id tellus. + + 60.042 13.754 + 68.410 17.920 + + + + urn:uuid:88247b56-4cbc-4df9-9860-db3f8042e357 + http://purl.org/dc/dcmitype/Dataset + Physiography-Landforms + FI-ES + Donec scelerisque pede ut nisl luctus accumsan. Quisque ultrices, lorem eget feugiat fringilla, lorem dui porttitor ante, cursus ultrices magna odio eu neque. + + + urn:uuid:ab42a8c4-95e8-4630-bf79-33e59241605a + http://purl.org/dc/dcmitype/Service + Physiography + Suspendisse accumsan molestie lorem. Nullam velit turpis, mattis ut, varius bibendum, laoreet non, quam. + urn:uuid:88247b56-4cbc-4df9-9860-db3f8042e357 + + + urn:uuid:784e2afd-a9fd-44a6-9a92-a3848371c8ec + Aliquam fermentum purus quis arcu + http://purl.org/dc/dcmitype/Text + Hydrography--Dictionaries + application/pdf + 2006-05-12 + Vestibulum quis ipsum sit amet metus imperdiet vehicula. Nulla scelerisque cursus mi. + + + urn:uuid:e9330592-0932-474b-be34-c3a3bb67c7db + http://purl.org/dc/dcmitype/Text + Fuscé vitae ligulä + 2003-05-09 + Land titles + text/rtf + Morbi ultriçes, dui suscipit vestibulum prètium, velit ante pretium tortor, egët tincidunt pede odio ac nulla. + + + urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f + http://purl.org/dc/dcmitype/Image + image/svg+xml + Lorem ipsum + GR-22 + Tourism--Greece + Quisque lacus diam, placerat mollis, pharetra in, commodo sed, augue. Duis iaculis arcu vel arcu. + + + urn:uuid:a06af396-3105-442d-8b40-22b57a90d2f2 + http://purl.org/dc/dcmitype/Image + Lorem ipsum dolor sit amet + image/jpeg + IT-FI + + + urn:uuid:66ae76b7-54ba-489b-a582-0f0633d96493 + Maecenas enim + http://purl.org/dc/dcmitype/Text + application/xhtml+xml + Marine sediments + Pellentesque tempus magna non sapien fringilla blandit. + + + urn:uuid:94bc9c83-97f6-4b40-9eb8-a8e8787a5c63 + http://purl.org/dc/dcmitype/Dataset + Mauris sed neque + Vegetation-Cropland + Curabitur lacinia, ante non porta tempus, mi lorem feugiat odio, eget suscipit eros pede ac velit. + 2006-03-26 + + 47.595 -4.097 + 51.217 0.889 + + + + urn:uuid:6a3de50b-fa66-4b58-a0e6-ca146fdd18d4 + http://purl.org/dc/dcmitype/Service + Ut facilisis justo ut lacus + Vegetation + urn:uuid:94bc9c83-97f6-4b40-9eb8-a8e8787a5c63 + + + diff --git a/tests/functionaltests/suites/default/expected/get_GetRecords-sortby-desc.xml b/tests/functionaltests/suites/default/expected/get_GetRecords-sortby-desc.xml new file mode 100644 index 000000000..1bf8d4e5a --- /dev/null +++ b/tests/functionaltests/suites/default/expected/get_GetRecords-sortby-desc.xml @@ -0,0 +1,93 @@ + + + + + + + urn:uuid:9a669547-b69b-469f-a11f-2d875366bbdc + http://purl.org/dc/dcmitype/Dataset + Ñunç elementum + Hydrography-Oceanographic + 2005-10-24 + + 44.792 -6.171 + 51.126 -2.228 + + + + urn:uuid:829babb0-b2f1-49e1-8cd5-7b489fe71a1e + http://purl.org/dc/dcmitype/Image + image/jp2 + Vestibulum massa purus + urn:uuid:9a669547-b69b-469f-a11f-2d875366bbdc + + + urn:uuid:6a3de50b-fa66-4b58-a0e6-ca146fdd18d4 + http://purl.org/dc/dcmitype/Service + Ut facilisis justo ut lacus + Vegetation + urn:uuid:94bc9c83-97f6-4b40-9eb8-a8e8787a5c63 + + + urn:uuid:94bc9c83-97f6-4b40-9eb8-a8e8787a5c63 + http://purl.org/dc/dcmitype/Dataset + Mauris sed neque + Vegetation-Cropland + Curabitur lacinia, ante non porta tempus, mi lorem feugiat odio, eget suscipit eros pede ac velit. + 2006-03-26 + + 47.595 -4.097 + 51.217 0.889 + + + + urn:uuid:66ae76b7-54ba-489b-a582-0f0633d96493 + Maecenas enim + http://purl.org/dc/dcmitype/Text + application/xhtml+xml + Marine sediments + Pellentesque tempus magna non sapien fringilla blandit. + + + urn:uuid:a06af396-3105-442d-8b40-22b57a90d2f2 + http://purl.org/dc/dcmitype/Image + Lorem ipsum dolor sit amet + image/jpeg + IT-FI + + + urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f + http://purl.org/dc/dcmitype/Image + image/svg+xml + Lorem ipsum + GR-22 + Tourism--Greece + Quisque lacus diam, placerat mollis, pharetra in, commodo sed, augue. Duis iaculis arcu vel arcu. + + + urn:uuid:e9330592-0932-474b-be34-c3a3bb67c7db + http://purl.org/dc/dcmitype/Text + Fuscé vitae ligulä + 2003-05-09 + Land titles + text/rtf + Morbi ultriçes, dui suscipit vestibulum prètium, velit ante pretium tortor, egët tincidunt pede odio ac nulla. + + + urn:uuid:784e2afd-a9fd-44a6-9a92-a3848371c8ec + Aliquam fermentum purus quis arcu + http://purl.org/dc/dcmitype/Text + Hydrography--Dictionaries + application/pdf + 2006-05-12 + Vestibulum quis ipsum sit amet metus imperdiet vehicula. Nulla scelerisque cursus mi. + + + urn:uuid:ab42a8c4-95e8-4630-bf79-33e59241605a + http://purl.org/dc/dcmitype/Service + Physiography + Suspendisse accumsan molestie lorem. Nullam velit turpis, mattis ut, varius bibendum, laoreet non, quam. + urn:uuid:88247b56-4cbc-4df9-9860-db3f8042e357 + + + diff --git a/tests/functionaltests/suites/default/expected/get_GetRecords-sortby-invalid-order.xml b/tests/functionaltests/suites/default/expected/get_GetRecords-sortby-invalid-order.xml new file mode 100644 index 000000000..85457f69f --- /dev/null +++ b/tests/functionaltests/suites/default/expected/get_GetRecords-sortby-invalid-order.xml @@ -0,0 +1,7 @@ + + + + + Invalid SortBy value: sort order must be "A" or "D" + + diff --git a/tests/functionaltests/suites/default/expected/get_GetRecords-sortby-invalid-propertyname.xml b/tests/functionaltests/suites/default/expected/get_GetRecords-sortby-invalid-propertyname.xml new file mode 100644 index 000000000..25c7b6f80 --- /dev/null +++ b/tests/functionaltests/suites/default/expected/get_GetRecords-sortby-invalid-propertyname.xml @@ -0,0 +1,7 @@ + + + + + Invalid SortBy propertyname: dc:titlei + + diff --git a/tests/functionaltests/suites/default/expected/get_GetRepositoryItem.xml b/tests/functionaltests/suites/default/expected/get_GetRepositoryItem.xml new file mode 100644 index 000000000..77fae8b66 --- /dev/null +++ b/tests/functionaltests/suites/default/expected/get_GetRepositoryItem.xml @@ -0,0 +1,14 @@ + + + + urn:uuid:94bc9c83-97f6-4b40-9eb8-a8e8787a5c63 + http://purl.org/dc/dcmitype/Dataset + Mauris sed neque + Vegetation-Cropland + Curabitur lacinia, ante non porta tempus, mi lorem feugiat odio, eget suscipit eros pede ac velit. + 2006-03-26 + + 47.595 -4.097 + 51.217 0.889 + + diff --git a/tests/functionaltests/suites/default/expected/post_DescribeRecord-json.xml b/tests/functionaltests/suites/default/expected/post_DescribeRecord-json.xml new file mode 100644 index 000000000..19f117bee --- /dev/null +++ b/tests/functionaltests/suites/default/expected/post_DescribeRecord-json.xml @@ -0,0 +1,231 @@ +{ + "csw:DescribeRecordResponse": { + "@xsi:schemaLocation": "http://www.opengis.net/cat/csw/2.0.2 http://schemas.opengis.net/csw/2.0.2/CSW-discovery.xsd", + "csw:SchemaComponent": { + "@schemaLanguage": "XMLSCHEMA", + "@targetNamespace": "http://www.opengis.net/cat/csw/2.0.2", + "xs:schema": { + "@id": "csw-record", + "@targetNamespace": "http://www.opengis.net/cat/csw/2.0.2", + "@elementFormDefault": "qualified", + "@version": "2.0.2 2010-01-22", + "xs:annotation": { + "xs:appinfo": { + "dc:identifier": "http://schemas.opengis.net/csw/2.0.2/record.xsd" + }, + "xs:documentation": { + "@http://www.w3.org/XML/1998/namespace:lang": "en", + "#text": "This schema defines the basic record types that must be supported\n by all CSW implementations. These correspond to full, summary, and\n brief views based on DCMI metadata terms.\n \n CSW is an OGC Standard.\n Copyright (c) 2004,2010 Open Geospatial Consortium, Inc. All Rights Reserved.\n To obtain additional rights of use, visit http://www.opengeospatial.org/legal/ ." + } + }, + "xs:import": [ + { + "@namespace": "http://purl.org/dc/terms/", + "@schemaLocation": "rec-dcterms.xsd" + }, + { + "@namespace": "http://purl.org/dc/elements/1.1/", + "@schemaLocation": "rec-dcmes.xsd" + }, + { + "@namespace": "http://www.opengis.net/ows", + "@schemaLocation": "../../ows/1.0.0/owsAll.xsd" + } + ], + "xs:element": [ + { + "@name": "AbstractRecord", + "@id": "AbstractRecord", + "@type": "csw:AbstractRecordType", + "@abstract": "true" + }, + { + "@name": "DCMIRecord", + "@type": "csw:DCMIRecordType", + "@substitutionGroup": "csw:AbstractRecord" + }, + { + "@name": "BriefRecord", + "@type": "csw:BriefRecordType", + "@substitutionGroup": "csw:AbstractRecord" + }, + { + "@name": "SummaryRecord", + "@type": "csw:SummaryRecordType", + "@substitutionGroup": "csw:AbstractRecord" + }, + { + "@name": "Record", + "@type": "csw:RecordType", + "@substitutionGroup": "csw:AbstractRecord" + } + ], + "xs:complexType": [ + { + "@name": "AbstractRecordType", + "@id": "AbstractRecordType", + "@abstract": "true" + }, + { + "@name": "DCMIRecordType", + "xs:annotation": { + "xs:documentation": { + "@http://www.w3.org/XML/1998/namespace:lang": "en", + "#text": "This type encapsulates all of the standard DCMI metadata terms,\n including the Dublin Core refinements; these terms may be mapped\n to the profile-specific information model." + } + }, + "xs:complexContent": { + "xs:extension": { + "@base": "csw:AbstractRecordType", + "xs:sequence": { + "xs:group": { + "@ref": "dct:DCMI-terms" + } + } + } + } + }, + { + "@name": "BriefRecordType", + "@final": "#all", + "xs:annotation": { + "xs:documentation": { + "@http://www.w3.org/XML/1998/namespace:lang": "en", + "#text": "This type defines a brief representation of the common record\n format. It extends AbstractRecordType to include only the\n dc:identifier and dc:type properties." + } + }, + "xs:complexContent": { + "xs:extension": { + "@base": "csw:AbstractRecordType", + "xs:sequence": { + "xs:element": [ + { + "@ref": "dc:identifier", + "@minOccurs": "1", + "@maxOccurs": "unbounded" + }, + { + "@ref": "dc:title", + "@minOccurs": "1", + "@maxOccurs": "unbounded" + }, + { + "@ref": "dc:type", + "@minOccurs": "0" + }, + { + "@ref": "ows:BoundingBox", + "@minOccurs": "0", + "@maxOccurs": "unbounded" + } + ] + } + } + } + }, + { + "@name": "SummaryRecordType", + "@final": "#all", + "xs:annotation": { + "xs:documentation": { + "@http://www.w3.org/XML/1998/namespace:lang": "en", + "#text": "This type defines a summary representation of the common record\n format. It extends AbstractRecordType to include the core\n properties." + } + }, + "xs:complexContent": { + "xs:extension": { + "@base": "csw:AbstractRecordType", + "xs:sequence": { + "xs:element": [ + { + "@ref": "dc:identifier", + "@minOccurs": "1", + "@maxOccurs": "unbounded" + }, + { + "@ref": "dc:title", + "@minOccurs": "1", + "@maxOccurs": "unbounded" + }, + { + "@ref": "dc:type", + "@minOccurs": "0" + }, + { + "@ref": "dc:subject", + "@minOccurs": "0", + "@maxOccurs": "unbounded" + }, + { + "@ref": "dc:format", + "@minOccurs": "0", + "@maxOccurs": "unbounded" + }, + { + "@ref": "dc:relation", + "@minOccurs": "0", + "@maxOccurs": "unbounded" + }, + { + "@ref": "dct:modified", + "@minOccurs": "0", + "@maxOccurs": "unbounded" + }, + { + "@ref": "dct:abstract", + "@minOccurs": "0", + "@maxOccurs": "unbounded" + }, + { + "@ref": "dct:spatial", + "@minOccurs": "0", + "@maxOccurs": "unbounded" + }, + { + "@ref": "ows:BoundingBox", + "@minOccurs": "0", + "@maxOccurs": "unbounded" + } + ] + } + } + } + }, + { + "@name": "RecordType", + "@final": "#all", + "xs:annotation": { + "xs:documentation": { + "@http://www.w3.org/XML/1998/namespace:lang": "en", + "#text": "This type extends DCMIRecordType to add ows:BoundingBox;\n it may be used to specify a spatial envelope for the\n catalogued resource." + } + }, + "xs:complexContent": { + "xs:extension": { + "@base": "csw:DCMIRecordType", + "xs:sequence": { + "xs:element": [ + { + "@name": "AnyText", + "@type": "csw:EmptyType", + "@minOccurs": "0", + "@maxOccurs": "unbounded" + }, + { + "@ref": "ows:BoundingBox", + "@minOccurs": "0", + "@maxOccurs": "unbounded" + } + ] + } + } + } + }, + { + "@name": "EmptyType" + } + ] + } + } + } +} \ No newline at end of file diff --git a/tests/functionaltests/suites/default/expected/post_DescribeRecord.xml b/tests/functionaltests/suites/default/expected/post_DescribeRecord.xml new file mode 100644 index 000000000..76101a6bb --- /dev/null +++ b/tests/functionaltests/suites/default/expected/post_DescribeRecord.xml @@ -0,0 +1,115 @@ + + + + + + + + http://schemas.opengis.net/csw/2.0.2/record.xsd + + + This schema defines the basic record types that must be supported + by all CSW implementations. These correspond to full, summary, and + brief views based on DCMI metadata terms. + + CSW is an OGC Standard. + Copyright (c) 2004,2010 Open Geospatial Consortium, Inc. All Rights Reserved. + To obtain additional rights of use, visit http://www.opengeospatial.org/legal/ . + + + + + + + + + + + + + + + This type encapsulates all of the standard DCMI metadata terms, + including the Dublin Core refinements; these terms may be mapped + to the profile-specific information model. + + + + + + + + + + + + + + + + This type defines a brief representation of the common record + format. It extends AbstractRecordType to include only the + dc:identifier and dc:type properties. + + + + + + + + + + + + + + + + + + + This type defines a summary representation of the common record + format. It extends AbstractRecordType to include the core + properties. + + + + + + + + + + + + + + + + + + + + + + + + + This type extends DCMIRecordType to add ows:BoundingBox; + it may be used to specify a spatial envelope for the + catalogued resource. + + + + + + + + + + + + + + + diff --git a/tests/functionaltests/suites/default/expected/post_Exception-GetRecords-badsrsname.xml b/tests/functionaltests/suites/default/expected/post_Exception-GetRecords-badsrsname.xml new file mode 100644 index 000000000..fe0c923f3 --- /dev/null +++ b/tests/functionaltests/suites/default/expected/post_Exception-GetRecords-badsrsname.xml @@ -0,0 +1,7 @@ + + + + + Invalid Constraint: Invalid Filter request: Reprojection error: Invalid srsName "EPSG:226": Invalid source projection + + diff --git a/tests/functionaltests/suites/default/expected/post_Exception-GetRecords-elementname.xml b/tests/functionaltests/suites/default/expected/post_Exception-GetRecords-elementname.xml new file mode 100644 index 000000000..3654684e2 --- /dev/null +++ b/tests/functionaltests/suites/default/expected/post_Exception-GetRecords-elementname.xml @@ -0,0 +1,7 @@ + + + + + Invalid ElementName parameter value: dc:foo + + diff --git a/tests/functionaltests/suites/default/expected/post_Exception-GetRecords-invalid-xml.xml b/tests/functionaltests/suites/default/expected/post_Exception-GetRecords-invalid-xml.xml new file mode 100644 index 000000000..f21f6db74 --- /dev/null +++ b/tests/functionaltests/suites/default/expected/post_Exception-GetRecords-invalid-xml.xml @@ -0,0 +1,8 @@ + + + + + Exception: the document is not valid. +Error: Element '{http://www.opengis.net/cat/csw/2.0.2}ElementNamefoo': This element is not expected. Expected is one of ( {http://www.opengis.net/cat/csw/2.0.2}ElementSetName, {http://www.opengis.net/cat/csw/2.0.2}ElementName ). + + diff --git a/tests/functionaltests/suites/default/expected/post_GetCapabilities-SOAP.xml b/tests/functionaltests/suites/default/expected/post_GetCapabilities-SOAP.xml new file mode 100644 index 000000000..ae7b31029 --- /dev/null +++ b/tests/functionaltests/suites/default/expected/post_GetCapabilities-SOAP.xml @@ -0,0 +1,266 @@ + + + + + + + pycsw Geospatial Catalogue + pycsw is an OGC CSW server implementation written in Python + + catalogue + discovery + theme + + CSW + 2.0.2 + 3.0.0 + None + None + + + pycsw + + + Kralidis, Tom + Senior Systems Scientist + + + +01-416-xxx-xxxx + +01-416-xxx-xxxx + + + TBA + Toronto + Ontario + M9C 3Z9 + Canada + tomkralidis@gmail.com + + + 0800h - 1600h EST + During hours of service. Off on weekends. + + pointOfContact + + + + + + + + + + + + Filter_Capabilities + OperationsMetadata + ServiceIdentification + ServiceProvider + + + + + + + + + + + application/json + application/xml + + + http://www.w3.org/2001/XMLSchema + http://www.w3.org/TR/xmlschema-1/ + http://www.w3.org/XML/Schema + + + csw:Record + + + + + + + + + + + DescribeRecord.outputFormat + DescribeRecord.schemaLanguage + DescribeRecord.typeName + GetCapabilities.sections + GetRecordById.ElementSetName + GetRecordById.outputFormat + GetRecordById.outputSchema + GetRecords.CONSTRAINTLANGUAGE + GetRecords.ElementSetName + GetRecords.outputFormat + GetRecords.outputSchema + GetRecords.resultType + GetRecords.typeNames + + + + + + + + + + + CQL_TEXT + FILTER + + + brief + full + summary + + + application/json + application/xml + + + http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ + http://www.interlis.ch/INTERLIS2.3 + http://www.opengis.net/cat/csw/2.0.2 + http://www.opengis.net/cat/csw/csdgm + http://www.w3.org/2005/Atom + + + hits + results + validate + + + csw:Record + + + csw:AnyText + dc:contributor + dc:creator + dc:date + dc:format + dc:identifier + dc:language + dc:publisher + dc:relation + dc:rights + dc:source + dc:subject + dc:title + dc:type + dct:abstract + dct:modified + ows:BoundingBox + + + + + + + + + + + brief + full + summary + + + application/json + application/xml + + + http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ + http://www.interlis.ch/INTERLIS2.3 + http://www.opengis.net/cat/csw/2.0.2 + http://www.opengis.net/cat/csw/csdgm + http://www.w3.org/2005/Atom + + + + + + + + + + + CSW + + + 2.0.2 + 3.0.0 + + + http://demo.pycsw.org/gisdata/csw + + + 10 + + + XML + SOAP + + + allowed + + + + + + gml:Point + gml:LineString + gml:Polygon + gml:Envelope + + + + + + + + + + + + + + + + + + + Between + EqualTo + GreaterThan + GreaterThanEqualTo + LessThan + LessThanEqualTo + Like + NotEqualTo + NullCheck + + + + + length + lower + ltrim + rtrim + trim + upper + + + + + + + + + + + + diff --git a/tests/functionaltests/suites/default/expected/post_GetCapabilities-sections.xml b/tests/functionaltests/suites/default/expected/post_GetCapabilities-sections.xml new file mode 100644 index 000000000..9c51855de --- /dev/null +++ b/tests/functionaltests/suites/default/expected/post_GetCapabilities-sections.xml @@ -0,0 +1,83 @@ + + + + + pycsw + + + Kralidis, Tom + Senior Systems Scientist + + + +01-416-xxx-xxxx + +01-416-xxx-xxxx + + + TBA + Toronto + Ontario + M9C 3Z9 + Canada + tomkralidis@gmail.com + + + 0800h - 1600h EST + During hours of service. Off on weekends. + + pointOfContact + + + + + + gml:Point + gml:LineString + gml:Polygon + gml:Envelope + + + + + + + + + + + + + + + + + + + Between + EqualTo + GreaterThan + GreaterThanEqualTo + LessThan + LessThanEqualTo + Like + NotEqualTo + NullCheck + + + + + length + lower + ltrim + rtrim + trim + upper + + + + + + + + + + diff --git a/tests/functionaltests/suites/default/expected/post_GetCapabilities-updatesequence.xml b/tests/functionaltests/suites/default/expected/post_GetCapabilities-updatesequence.xml new file mode 100644 index 000000000..8026e1b3b --- /dev/null +++ b/tests/functionaltests/suites/default/expected/post_GetCapabilities-updatesequence.xml @@ -0,0 +1,262 @@ + + + + + pycsw Geospatial Catalogue + pycsw is an OGC CSW server implementation written in Python + + catalogue + discovery + theme + + CSW + 2.0.2 + 3.0.0 + None + None + + + pycsw + + + Kralidis, Tom + Senior Systems Scientist + + + +01-416-xxx-xxxx + +01-416-xxx-xxxx + + + TBA + Toronto + Ontario + M9C 3Z9 + Canada + tomkralidis@gmail.com + + + 0800h - 1600h EST + During hours of service. Off on weekends. + + pointOfContact + + + + + + + + + + + + Filter_Capabilities + OperationsMetadata + ServiceIdentification + ServiceProvider + + + + + + + + + + + application/json + application/xml + + + http://www.w3.org/2001/XMLSchema + http://www.w3.org/TR/xmlschema-1/ + http://www.w3.org/XML/Schema + + + csw:Record + + + + + + + + + + + DescribeRecord.outputFormat + DescribeRecord.schemaLanguage + DescribeRecord.typeName + GetCapabilities.sections + GetRecordById.ElementSetName + GetRecordById.outputFormat + GetRecordById.outputSchema + GetRecords.CONSTRAINTLANGUAGE + GetRecords.ElementSetName + GetRecords.outputFormat + GetRecords.outputSchema + GetRecords.resultType + GetRecords.typeNames + + + + + + + + + + + CQL_TEXT + FILTER + + + brief + full + summary + + + application/json + application/xml + + + http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ + http://www.interlis.ch/INTERLIS2.3 + http://www.opengis.net/cat/csw/2.0.2 + http://www.opengis.net/cat/csw/csdgm + http://www.w3.org/2005/Atom + + + hits + results + validate + + + csw:Record + + + csw:AnyText + dc:contributor + dc:creator + dc:date + dc:format + dc:identifier + dc:language + dc:publisher + dc:relation + dc:rights + dc:source + dc:subject + dc:title + dc:type + dct:abstract + dct:modified + ows:BoundingBox + + + + + + + + + + + brief + full + summary + + + application/json + application/xml + + + http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ + http://www.interlis.ch/INTERLIS2.3 + http://www.opengis.net/cat/csw/2.0.2 + http://www.opengis.net/cat/csw/csdgm + http://www.w3.org/2005/Atom + + + + + + + + + + + CSW + + + 2.0.2 + 3.0.0 + + + http://demo.pycsw.org/gisdata/csw + + + 10 + + + XML + SOAP + + + allowed + + + + + + gml:Point + gml:LineString + gml:Polygon + gml:Envelope + + + + + + + + + + + + + + + + + + + Between + EqualTo + GreaterThan + GreaterThanEqualTo + LessThan + LessThanEqualTo + Like + NotEqualTo + NullCheck + + + + + length + lower + ltrim + rtrim + trim + upper + + + + + + + + + + diff --git a/tests/functionaltests/suites/default/expected/post_GetCapabilities.xml b/tests/functionaltests/suites/default/expected/post_GetCapabilities.xml new file mode 100644 index 000000000..8026e1b3b --- /dev/null +++ b/tests/functionaltests/suites/default/expected/post_GetCapabilities.xml @@ -0,0 +1,262 @@ + + + + + pycsw Geospatial Catalogue + pycsw is an OGC CSW server implementation written in Python + + catalogue + discovery + theme + + CSW + 2.0.2 + 3.0.0 + None + None + + + pycsw + + + Kralidis, Tom + Senior Systems Scientist + + + +01-416-xxx-xxxx + +01-416-xxx-xxxx + + + TBA + Toronto + Ontario + M9C 3Z9 + Canada + tomkralidis@gmail.com + + + 0800h - 1600h EST + During hours of service. Off on weekends. + + pointOfContact + + + + + + + + + + + + Filter_Capabilities + OperationsMetadata + ServiceIdentification + ServiceProvider + + + + + + + + + + + application/json + application/xml + + + http://www.w3.org/2001/XMLSchema + http://www.w3.org/TR/xmlschema-1/ + http://www.w3.org/XML/Schema + + + csw:Record + + + + + + + + + + + DescribeRecord.outputFormat + DescribeRecord.schemaLanguage + DescribeRecord.typeName + GetCapabilities.sections + GetRecordById.ElementSetName + GetRecordById.outputFormat + GetRecordById.outputSchema + GetRecords.CONSTRAINTLANGUAGE + GetRecords.ElementSetName + GetRecords.outputFormat + GetRecords.outputSchema + GetRecords.resultType + GetRecords.typeNames + + + + + + + + + + + CQL_TEXT + FILTER + + + brief + full + summary + + + application/json + application/xml + + + http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ + http://www.interlis.ch/INTERLIS2.3 + http://www.opengis.net/cat/csw/2.0.2 + http://www.opengis.net/cat/csw/csdgm + http://www.w3.org/2005/Atom + + + hits + results + validate + + + csw:Record + + + csw:AnyText + dc:contributor + dc:creator + dc:date + dc:format + dc:identifier + dc:language + dc:publisher + dc:relation + dc:rights + dc:source + dc:subject + dc:title + dc:type + dct:abstract + dct:modified + ows:BoundingBox + + + + + + + + + + + brief + full + summary + + + application/json + application/xml + + + http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ + http://www.interlis.ch/INTERLIS2.3 + http://www.opengis.net/cat/csw/2.0.2 + http://www.opengis.net/cat/csw/csdgm + http://www.w3.org/2005/Atom + + + + + + + + + + + CSW + + + 2.0.2 + 3.0.0 + + + http://demo.pycsw.org/gisdata/csw + + + 10 + + + XML + SOAP + + + allowed + + + + + + gml:Point + gml:LineString + gml:Polygon + gml:Envelope + + + + + + + + + + + + + + + + + + + Between + EqualTo + GreaterThan + GreaterThanEqualTo + LessThan + LessThanEqualTo + Like + NotEqualTo + NullCheck + + + + + length + lower + ltrim + rtrim + trim + upper + + + + + + + + + + diff --git a/tests/functionaltests/suites/default/expected/post_GetDomain-parameter.xml b/tests/functionaltests/suites/default/expected/post_GetDomain-parameter.xml new file mode 100644 index 000000000..71bdb8a76 --- /dev/null +++ b/tests/functionaltests/suites/default/expected/post_GetDomain-parameter.xml @@ -0,0 +1,11 @@ + + + + + GetRecords.CONSTRAINTLANGUAGE + + CQL_TEXT + FILTER + + + diff --git a/tests/functionaltests/suites/default/expected/post_GetDomain-property.xml b/tests/functionaltests/suites/default/expected/post_GetDomain-property.xml new file mode 100644 index 000000000..257726071 --- /dev/null +++ b/tests/functionaltests/suites/default/expected/post_GetDomain-property.xml @@ -0,0 +1,18 @@ + + + + + dc:title + + Aliquam fermentum purus quis arcu + Fuscé vitae ligulä + Lorem ipsum + Lorem ipsum dolor sit amet + Maecenas enim + Mauris sed neque + Ut facilisis justo ut lacus + Vestibulum massa purus + Ñunç elementum + + + diff --git a/tests/functionaltests/suites/default/expected/post_GetRecordById-json.xml b/tests/functionaltests/suites/default/expected/post_GetRecordById-json.xml new file mode 100644 index 000000000..e8d687f71 --- /dev/null +++ b/tests/functionaltests/suites/default/expected/post_GetRecordById-json.xml @@ -0,0 +1,18 @@ +{ + "csw:GetRecordByIdResponse": { + "@xsi:schemaLocation": "http://www.opengis.net/cat/csw/2.0.2 http://schemas.opengis.net/csw/2.0.2/CSW-discovery.xsd", + "csw:SummaryRecord": { + "dc:identifier": "urn:uuid:94bc9c83-97f6-4b40-9eb8-a8e8787a5c63", + "dc:title": "Mauris sed neque", + "dc:type": "http://purl.org/dc/dcmitype/Dataset", + "dc:subject": "Vegetation-Cropland", + "dct:abstract": "Curabitur lacinia, ante non porta tempus, mi lorem feugiat odio, eget suscipit eros pede ac velit.", + "ows:BoundingBox": { + "@crs": "urn:x-ogc:def:crs:EPSG:6.11:4326", + "@dimensions": "2", + "ows:LowerCorner": "47.59 -4.1", + "ows:UpperCorner": "51.22 0.89" + } + } + } +} \ No newline at end of file diff --git a/tests/functionaltests/suites/default/expected/post_GetRecordById.xml b/tests/functionaltests/suites/default/expected/post_GetRecordById.xml new file mode 100644 index 000000000..6cddad959 --- /dev/null +++ b/tests/functionaltests/suites/default/expected/post_GetRecordById.xml @@ -0,0 +1,15 @@ + + + + + urn:uuid:94bc9c83-97f6-4b40-9eb8-a8e8787a5c63 + Mauris sed neque + http://purl.org/dc/dcmitype/Dataset + Vegetation-Cropland + Curabitur lacinia, ante non porta tempus, mi lorem feugiat odio, eget suscipit eros pede ac velit. + + 47.59 -4.1 + 51.22 0.89 + + + diff --git a/tests/functionaltests/suites/default/expected/post_GetRecords-all-json.xml b/tests/functionaltests/suites/default/expected/post_GetRecords-all-json.xml new file mode 100644 index 000000000..20fbf3798 --- /dev/null +++ b/tests/functionaltests/suites/default/expected/post_GetRecords-all-json.xml @@ -0,0 +1,64 @@ +{ + "csw:GetRecordsResponse": { + "@version": "2.0.2", + "@xsi:schemaLocation": "http://www.opengis.net/cat/csw/2.0.2 http://schemas.opengis.net/csw/2.0.2/CSW-discovery.xsd", + "csw:SearchStatus": { + "@timestamp": "PYCSW_TIMESTAMP" + }, + "csw:SearchResults": { + "@nextRecord": "6", + "@numberOfRecordsMatched": "12", + "@numberOfRecordsReturned": "5", + "@recordSchema": "http://www.opengis.net/cat/csw/2.0.2", + "@elementSet": "full", + "csw:Record": [ + { + "dc:identifier": "urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f", + "dc:type": "http://purl.org/dc/dcmitype/Image", + "dc:format": "image/svg+xml", + "dc:title": "Lorem ipsum", + "dct:spatial": "GR-22", + "dc:subject": "Tourism--Greece", + "dct:abstract": "Quisque lacus diam, placerat mollis, pharetra in, commodo sed, augue. Duis iaculis arcu vel arcu." + }, + { + "dc:identifier": "urn:uuid:1ef30a8b-876d-4828-9246-c37ab4510bbd", + "dc:type": "http://purl.org/dc/dcmitype/Service", + "dct:abstract": "Proin sit amet justo. In justo. Aenean adipiscing nulla id tellus.", + "ows:BoundingBox": { + "@crs": "urn:x-ogc:def:crs:EPSG:6.11:4326", + "ows:LowerCorner": "60.042 13.754", + "ows:UpperCorner": "68.410 17.920" + } + }, + { + "dc:identifier": "urn:uuid:66ae76b7-54ba-489b-a582-0f0633d96493", + "dc:title": "Maecenas enim", + "dc:type": "http://purl.org/dc/dcmitype/Text", + "dc:format": "application/xhtml+xml", + "dc:subject": "Marine sediments", + "dct:abstract": "Pellentesque tempus magna non sapien fringilla blandit." + }, + { + "dc:identifier": "urn:uuid:6a3de50b-fa66-4b58-a0e6-ca146fdd18d4", + "dc:type": "http://purl.org/dc/dcmitype/Service", + "dc:title": "Ut facilisis justo ut lacus", + "dc:subject": { + "@scheme": "http://www.digest.org/2.1", + "#text": "Vegetation" + }, + "dc:relation": "urn:uuid:94bc9c83-97f6-4b40-9eb8-a8e8787a5c63" + }, + { + "dc:identifier": "urn:uuid:784e2afd-a9fd-44a6-9a92-a3848371c8ec", + "dc:title": "Aliquam fermentum purus quis arcu", + "dc:type": "http://purl.org/dc/dcmitype/Text", + "dc:subject": "Hydrography--Dictionaries", + "dc:format": "application/pdf", + "dc:date": "2006-05-12", + "dct:abstract": "Vestibulum quis ipsum sit amet metus imperdiet vehicula. Nulla scelerisque cursus mi." + } + ] + } + } +} \ No newline at end of file diff --git a/tests/functionaltests/suites/default/expected/post_GetRecords-all-resulttype-hits.xml b/tests/functionaltests/suites/default/expected/post_GetRecords-all-resulttype-hits.xml new file mode 100644 index 000000000..b93efb288 --- /dev/null +++ b/tests/functionaltests/suites/default/expected/post_GetRecords-all-resulttype-hits.xml @@ -0,0 +1,6 @@ + + + + + + diff --git a/tests/functionaltests/suites/default/expected/post_GetRecords-all-resulttype-validate.xml b/tests/functionaltests/suites/default/expected/post_GetRecords-all-resulttype-validate.xml new file mode 100644 index 000000000..40bc3449b --- /dev/null +++ b/tests/functionaltests/suites/default/expected/post_GetRecords-all-resulttype-validate.xml @@ -0,0 +1,11 @@ + + + + + + + full + + + + diff --git a/tests/functionaltests/suites/default/expected/post_GetRecords-all-sortby-bbox.xml b/tests/functionaltests/suites/default/expected/post_GetRecords-all-sortby-bbox.xml new file mode 100644 index 000000000..e6bb27292 --- /dev/null +++ b/tests/functionaltests/suites/default/expected/post_GetRecords-all-sortby-bbox.xml @@ -0,0 +1,56 @@ + + + + + + + urn:uuid:1ef30a8b-876d-4828-9246-c37ab4510bbd + http://purl.org/dc/dcmitype/Service + Proin sit amet justo. In justo. Aenean adipiscing nulla id tellus. + + 60.042 13.754 + 68.410 17.920 + + + + urn:uuid:9a669547-b69b-469f-a11f-2d875366bbdc + http://purl.org/dc/dcmitype/Dataset + Ñunç elementum + Hydrography-Oceanographic + 2005-10-24 + + 44.792 -6.171 + 51.126 -2.228 + + + + urn:uuid:94bc9c83-97f6-4b40-9eb8-a8e8787a5c63 + http://purl.org/dc/dcmitype/Dataset + Mauris sed neque + Vegetation-Cropland + Curabitur lacinia, ante non porta tempus, mi lorem feugiat odio, eget suscipit eros pede ac velit. + 2006-03-26 + + 47.595 -4.097 + 51.217 0.889 + + + + urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f + http://purl.org/dc/dcmitype/Image + image/svg+xml + Lorem ipsum + GR-22 + Tourism--Greece + Quisque lacus diam, placerat mollis, pharetra in, commodo sed, augue. Duis iaculis arcu vel arcu. + + + urn:uuid:66ae76b7-54ba-489b-a582-0f0633d96493 + Maecenas enim + http://purl.org/dc/dcmitype/Text + application/xhtml+xml + Marine sediments + Pellentesque tempus magna non sapien fringilla blandit. + + + diff --git a/tests/functionaltests/suites/default/expected/post_GetRecords-all.xml b/tests/functionaltests/suites/default/expected/post_GetRecords-all.xml new file mode 100644 index 000000000..97ead2e33 --- /dev/null +++ b/tests/functionaltests/suites/default/expected/post_GetRecords-all.xml @@ -0,0 +1,49 @@ + + + + + + + urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f + http://purl.org/dc/dcmitype/Image + image/svg+xml + Lorem ipsum + GR-22 + Tourism--Greece + Quisque lacus diam, placerat mollis, pharetra in, commodo sed, augue. Duis iaculis arcu vel arcu. + + + urn:uuid:1ef30a8b-876d-4828-9246-c37ab4510bbd + http://purl.org/dc/dcmitype/Service + Proin sit amet justo. In justo. Aenean adipiscing nulla id tellus. + + 60.042 13.754 + 68.410 17.920 + + + + urn:uuid:66ae76b7-54ba-489b-a582-0f0633d96493 + Maecenas enim + http://purl.org/dc/dcmitype/Text + application/xhtml+xml + Marine sediments + Pellentesque tempus magna non sapien fringilla blandit. + + + urn:uuid:6a3de50b-fa66-4b58-a0e6-ca146fdd18d4 + http://purl.org/dc/dcmitype/Service + Ut facilisis justo ut lacus + Vegetation + urn:uuid:94bc9c83-97f6-4b40-9eb8-a8e8787a5c63 + + + urn:uuid:784e2afd-a9fd-44a6-9a92-a3848371c8ec + Aliquam fermentum purus quis arcu + http://purl.org/dc/dcmitype/Text + Hydrography--Dictionaries + application/pdf + 2006-05-12 + Vestibulum quis ipsum sit amet metus imperdiet vehicula. Nulla scelerisque cursus mi. + + + diff --git a/tests/functionaltests/suites/default/expected/post_GetRecords-bbox-filter-crs84.xml b/tests/functionaltests/suites/default/expected/post_GetRecords-bbox-filter-crs84.xml new file mode 100644 index 000000000..97de18a9a --- /dev/null +++ b/tests/functionaltests/suites/default/expected/post_GetRecords-bbox-filter-crs84.xml @@ -0,0 +1,34 @@ + + + + + + + urn:uuid:1ef30a8b-876d-4828-9246-c37ab4510bbd + + http://purl.org/dc/dcmitype/Service + + 60.04 13.75 + 68.41 17.92 + + + + urn:uuid:94bc9c83-97f6-4b40-9eb8-a8e8787a5c63 + Mauris sed neque + http://purl.org/dc/dcmitype/Dataset + + 47.59 -4.1 + 51.22 0.89 + + + + urn:uuid:9a669547-b69b-469f-a11f-2d875366bbdc + Ñunç elementum + http://purl.org/dc/dcmitype/Dataset + + 44.79 -6.17 + 51.13 -2.23 + + + + diff --git a/tests/functionaltests/suites/default/expected/post_GetRecords-cql-title-and-abstract.xml b/tests/functionaltests/suites/default/expected/post_GetRecords-cql-title-and-abstract.xml new file mode 100644 index 000000000..4ed61a2ee --- /dev/null +++ b/tests/functionaltests/suites/default/expected/post_GetRecords-cql-title-and-abstract.xml @@ -0,0 +1,12 @@ + + + + + + + urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f + Lorem ipsum + http://purl.org/dc/dcmitype/Image + + + diff --git a/tests/functionaltests/suites/default/expected/post_GetRecords-cql-title.xml b/tests/functionaltests/suites/default/expected/post_GetRecords-cql-title.xml new file mode 100644 index 000000000..47493bb32 --- /dev/null +++ b/tests/functionaltests/suites/default/expected/post_GetRecords-cql-title.xml @@ -0,0 +1,17 @@ + + + + + + + urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f + Lorem ipsum + http://purl.org/dc/dcmitype/Image + + + urn:uuid:a06af396-3105-442d-8b40-22b57a90d2f2 + Lorem ipsum dolor sit amet + http://purl.org/dc/dcmitype/Image + + + diff --git a/tests/functionaltests/suites/default/expected/post_GetRecords-distributedsearch.xml b/tests/functionaltests/suites/default/expected/post_GetRecords-distributedsearch.xml new file mode 100644 index 000000000..d8f0c0f9f --- /dev/null +++ b/tests/functionaltests/suites/default/expected/post_GetRecords-distributedsearch.xml @@ -0,0 +1,17 @@ + + + + + + + + urn:uuid:dd87919a-e399-11e5-8327-aa0000ae6bfc + Aquifers + vector digital data + + 32.55 -117.6 + 33.51 -116.08 + + + + diff --git a/tests/functionaltests/suites/default/expected/post_GetRecords-elementname.xml b/tests/functionaltests/suites/default/expected/post_GetRecords-elementname.xml new file mode 100644 index 000000000..29fbf6340 --- /dev/null +++ b/tests/functionaltests/suites/default/expected/post_GetRecords-elementname.xml @@ -0,0 +1,20 @@ + + + + + + + Lorem ipsum + + + + Maecenas enim + + + Ut facilisis justo ut lacus + + + Aliquam fermentum purus quis arcu + + + diff --git a/tests/functionaltests/suites/default/expected/post_GetRecords-end.xml b/tests/functionaltests/suites/default/expected/post_GetRecords-end.xml new file mode 100644 index 000000000..814be1f3d --- /dev/null +++ b/tests/functionaltests/suites/default/expected/post_GetRecords-end.xml @@ -0,0 +1,30 @@ + + + + + + + urn:uuid:a06af396-3105-442d-8b40-22b57a90d2f2 + http://purl.org/dc/dcmitype/Image + Lorem ipsum dolor sit amet + image/jpeg + IT-FI + + + urn:uuid:ab42a8c4-95e8-4630-bf79-33e59241605a + http://purl.org/dc/dcmitype/Service + Physiography + Suspendisse accumsan molestie lorem. Nullam velit turpis, mattis ut, varius bibendum, laoreet non, quam. + urn:uuid:88247b56-4cbc-4df9-9860-db3f8042e357 + + + urn:uuid:e9330592-0932-474b-be34-c3a3bb67c7db + http://purl.org/dc/dcmitype/Text + Fuscé vitae ligulä + 2003-05-09 + Land titles + text/rtf + Morbi ultriçes, dui suscipit vestibulum prètium, velit ante pretium tortor, egët tincidunt pede odio ac nulla. + + + diff --git a/tests/functionaltests/suites/default/expected/post_GetRecords-filter-and-bbox-freetext.xml b/tests/functionaltests/suites/default/expected/post_GetRecords-filter-and-bbox-freetext.xml new file mode 100644 index 000000000..e45a6a273 --- /dev/null +++ b/tests/functionaltests/suites/default/expected/post_GetRecords-filter-and-bbox-freetext.xml @@ -0,0 +1,16 @@ + + + + + + + urn:uuid:94bc9c83-97f6-4b40-9eb8-a8e8787a5c63 + Mauris sed neque + http://purl.org/dc/dcmitype/Dataset + + 47.59 -4.1 + 51.22 0.89 + + + + diff --git a/tests/functionaltests/suites/default/expected/post_GetRecords-filter-and-nested-or.xml b/tests/functionaltests/suites/default/expected/post_GetRecords-filter-and-nested-or.xml new file mode 100644 index 000000000..a05b8561a --- /dev/null +++ b/tests/functionaltests/suites/default/expected/post_GetRecords-filter-and-nested-or.xml @@ -0,0 +1,16 @@ + + + + + + + urn:uuid:784e2afd-a9fd-44a6-9a92-a3848371c8ec + Aliquam fermentum purus quis arcu + http://purl.org/dc/dcmitype/Text + Hydrography--Dictionaries + application/pdf + 2006-05-12 + Vestibulum quis ipsum sit amet metus imperdiet vehicula. Nulla scelerisque cursus mi. + + + diff --git a/tests/functionaltests/suites/default/expected/post_GetRecords-filter-and-nested-or2.xml b/tests/functionaltests/suites/default/expected/post_GetRecords-filter-and-nested-or2.xml new file mode 100644 index 000000000..2b1accdf9 --- /dev/null +++ b/tests/functionaltests/suites/default/expected/post_GetRecords-filter-and-nested-or2.xml @@ -0,0 +1,23 @@ + + + + + + + urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f + http://purl.org/dc/dcmitype/Image + image/svg+xml + Lorem ipsum + GR-22 + Tourism--Greece + Quisque lacus diam, placerat mollis, pharetra in, commodo sed, augue. Duis iaculis arcu vel arcu. + + + urn:uuid:a06af396-3105-442d-8b40-22b57a90d2f2 + http://purl.org/dc/dcmitype/Image + Lorem ipsum dolor sit amet + image/jpeg + IT-FI + + + diff --git a/tests/functionaltests/suites/default/expected/post_GetRecords-filter-anytext-and-not.xml b/tests/functionaltests/suites/default/expected/post_GetRecords-filter-anytext-and-not.xml new file mode 100644 index 000000000..d758ab92b --- /dev/null +++ b/tests/functionaltests/suites/default/expected/post_GetRecords-filter-anytext-and-not.xml @@ -0,0 +1,15 @@ + + + + + + + urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f + Lorem ipsum + http://purl.org/dc/dcmitype/Image + Tourism--Greece + image/svg+xml + Quisque lacus diam, placerat mollis, pharetra in, commodo sed, augue. Duis iaculis arcu vel arcu. + + + diff --git a/tests/functionaltests/suites/default/expected/post_GetRecords-filter-anytext-equal.xml b/tests/functionaltests/suites/default/expected/post_GetRecords-filter-anytext-equal.xml new file mode 100644 index 000000000..3b348919b --- /dev/null +++ b/tests/functionaltests/suites/default/expected/post_GetRecords-filter-anytext-equal.xml @@ -0,0 +1,36 @@ + + + + + + + urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f + Lorem ipsum + http://purl.org/dc/dcmitype/Image + + + urn:uuid:88247b56-4cbc-4df9-9860-db3f8042e357 + + http://purl.org/dc/dcmitype/Dataset + + + urn:uuid:94bc9c83-97f6-4b40-9eb8-a8e8787a5c63 + Mauris sed neque + http://purl.org/dc/dcmitype/Dataset + + 47.59 -4.1 + 51.22 0.89 + + + + urn:uuid:a06af396-3105-442d-8b40-22b57a90d2f2 + Lorem ipsum dolor sit amet + http://purl.org/dc/dcmitype/Image + + + urn:uuid:ab42a8c4-95e8-4630-bf79-33e59241605a + + http://purl.org/dc/dcmitype/Service + + + diff --git a/tests/functionaltests/suites/default/expected/post_GetRecords-filter-anytext.xml b/tests/functionaltests/suites/default/expected/post_GetRecords-filter-anytext.xml new file mode 100644 index 000000000..3b348919b --- /dev/null +++ b/tests/functionaltests/suites/default/expected/post_GetRecords-filter-anytext.xml @@ -0,0 +1,36 @@ + + + + + + + urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f + Lorem ipsum + http://purl.org/dc/dcmitype/Image + + + urn:uuid:88247b56-4cbc-4df9-9860-db3f8042e357 + + http://purl.org/dc/dcmitype/Dataset + + + urn:uuid:94bc9c83-97f6-4b40-9eb8-a8e8787a5c63 + Mauris sed neque + http://purl.org/dc/dcmitype/Dataset + + 47.59 -4.1 + 51.22 0.89 + + + + urn:uuid:a06af396-3105-442d-8b40-22b57a90d2f2 + Lorem ipsum dolor sit amet + http://purl.org/dc/dcmitype/Image + + + urn:uuid:ab42a8c4-95e8-4630-bf79-33e59241605a + + http://purl.org/dc/dcmitype/Service + + + diff --git a/tests/functionaltests/suites/default/expected/post_GetRecords-filter-bbox-reproject.xml b/tests/functionaltests/suites/default/expected/post_GetRecords-filter-bbox-reproject.xml new file mode 100644 index 000000000..8f98b1d0e --- /dev/null +++ b/tests/functionaltests/suites/default/expected/post_GetRecords-filter-bbox-reproject.xml @@ -0,0 +1,25 @@ + + + + + + + urn:uuid:94bc9c83-97f6-4b40-9eb8-a8e8787a5c63 + Mauris sed neque + http://purl.org/dc/dcmitype/Dataset + + 47.59 -4.1 + 51.22 0.89 + + + + urn:uuid:9a669547-b69b-469f-a11f-2d875366bbdc + Ñunç elementum + http://purl.org/dc/dcmitype/Dataset + + 44.79 -6.17 + 51.13 -2.23 + + + + diff --git a/tests/functionaltests/suites/default/expected/post_GetRecords-filter-bbox-sortby.xml b/tests/functionaltests/suites/default/expected/post_GetRecords-filter-bbox-sortby.xml new file mode 100644 index 000000000..bb2e92067 --- /dev/null +++ b/tests/functionaltests/suites/default/expected/post_GetRecords-filter-bbox-sortby.xml @@ -0,0 +1,25 @@ + + + + + + + urn:uuid:9a669547-b69b-469f-a11f-2d875366bbdc + Ñunç elementum + http://purl.org/dc/dcmitype/Dataset + + 44.79 -6.17 + 51.13 -2.23 + + + + urn:uuid:94bc9c83-97f6-4b40-9eb8-a8e8787a5c63 + Mauris sed neque + http://purl.org/dc/dcmitype/Dataset + + 47.59 -4.1 + 51.22 0.89 + + + + diff --git a/tests/functionaltests/suites/default/expected/post_GetRecords-filter-bbox.xml b/tests/functionaltests/suites/default/expected/post_GetRecords-filter-bbox.xml new file mode 100644 index 000000000..8f98b1d0e --- /dev/null +++ b/tests/functionaltests/suites/default/expected/post_GetRecords-filter-bbox.xml @@ -0,0 +1,25 @@ + + + + + + + urn:uuid:94bc9c83-97f6-4b40-9eb8-a8e8787a5c63 + Mauris sed neque + http://purl.org/dc/dcmitype/Dataset + + 47.59 -4.1 + 51.22 0.89 + + + + urn:uuid:9a669547-b69b-469f-a11f-2d875366bbdc + Ñunç elementum + http://purl.org/dc/dcmitype/Dataset + + 44.79 -6.17 + 51.13 -2.23 + + + + diff --git a/tests/functionaltests/suites/default/expected/post_GetRecords-filter-between.xml b/tests/functionaltests/suites/default/expected/post_GetRecords-filter-between.xml new file mode 100644 index 000000000..37d75866e --- /dev/null +++ b/tests/functionaltests/suites/default/expected/post_GetRecords-filter-between.xml @@ -0,0 +1,49 @@ + + + + + + + urn:uuid:784e2afd-a9fd-44a6-9a92-a3848371c8ec + Aliquam fermentum purus quis arcu + http://purl.org/dc/dcmitype/Text + Hydrography--Dictionaries + application/pdf + 2006-05-12 + Vestibulum quis ipsum sit amet metus imperdiet vehicula. Nulla scelerisque cursus mi. + + + urn:uuid:e9330592-0932-474b-be34-c3a3bb67c7db + http://purl.org/dc/dcmitype/Text + Fuscé vitae ligulä + 2003-05-09 + Land titles + text/rtf + Morbi ultriçes, dui suscipit vestibulum prètium, velit ante pretium tortor, egët tincidunt pede odio ac nulla. + + + urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f + http://purl.org/dc/dcmitype/Image + image/svg+xml + Lorem ipsum + GR-22 + Tourism--Greece + Quisque lacus diam, placerat mollis, pharetra in, commodo sed, augue. Duis iaculis arcu vel arcu. + + + urn:uuid:a06af396-3105-442d-8b40-22b57a90d2f2 + http://purl.org/dc/dcmitype/Image + Lorem ipsum dolor sit amet + image/jpeg + IT-FI + + + urn:uuid:66ae76b7-54ba-489b-a582-0f0633d96493 + Maecenas enim + http://purl.org/dc/dcmitype/Text + application/xhtml+xml + Marine sediments + Pellentesque tempus magna non sapien fringilla blandit. + + + diff --git a/tests/functionaltests/suites/default/expected/post_GetRecords-filter-function-bad.xml b/tests/functionaltests/suites/default/expected/post_GetRecords-filter-function-bad.xml new file mode 100644 index 000000000..bc63e8426 --- /dev/null +++ b/tests/functionaltests/suites/default/expected/post_GetRecords-filter-function-bad.xml @@ -0,0 +1,7 @@ + + + + + Invalid Constraint: Invalid Filter request: Invalid ogc:Function: foo + + diff --git a/tests/functionaltests/suites/default/expected/post_GetRecords-filter-function.xml b/tests/functionaltests/suites/default/expected/post_GetRecords-filter-function.xml new file mode 100644 index 000000000..4ed61a2ee --- /dev/null +++ b/tests/functionaltests/suites/default/expected/post_GetRecords-filter-function.xml @@ -0,0 +1,12 @@ + + + + + + + urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f + Lorem ipsum + http://purl.org/dc/dcmitype/Image + + + diff --git a/tests/functionaltests/suites/default/expected/post_GetRecords-filter-not-bbox.xml b/tests/functionaltests/suites/default/expected/post_GetRecords-filter-not-bbox.xml new file mode 100644 index 000000000..03686d45d --- /dev/null +++ b/tests/functionaltests/suites/default/expected/post_GetRecords-filter-not-bbox.xml @@ -0,0 +1,36 @@ + + + + + + + urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f + Lorem ipsum + http://purl.org/dc/dcmitype/Image + + + urn:uuid:1ef30a8b-876d-4828-9246-c37ab4510bbd + + http://purl.org/dc/dcmitype/Service + + 60.04 13.75 + 68.41 17.92 + + + + urn:uuid:66ae76b7-54ba-489b-a582-0f0633d96493 + Maecenas enim + http://purl.org/dc/dcmitype/Text + + + urn:uuid:6a3de50b-fa66-4b58-a0e6-ca146fdd18d4 + Ut facilisis justo ut lacus + http://purl.org/dc/dcmitype/Service + + + urn:uuid:784e2afd-a9fd-44a6-9a92-a3848371c8ec + Aliquam fermentum purus quis arcu + http://purl.org/dc/dcmitype/Text + + + diff --git a/tests/functionaltests/suites/default/expected/post_GetRecords-filter-or-bbox-freetext.xml b/tests/functionaltests/suites/default/expected/post_GetRecords-filter-or-bbox-freetext.xml new file mode 100644 index 000000000..8f98b1d0e --- /dev/null +++ b/tests/functionaltests/suites/default/expected/post_GetRecords-filter-or-bbox-freetext.xml @@ -0,0 +1,25 @@ + + + + + + + urn:uuid:94bc9c83-97f6-4b40-9eb8-a8e8787a5c63 + Mauris sed neque + http://purl.org/dc/dcmitype/Dataset + + 47.59 -4.1 + 51.22 0.89 + + + + urn:uuid:9a669547-b69b-469f-a11f-2d875366bbdc + Ñunç elementum + http://purl.org/dc/dcmitype/Dataset + + 44.79 -6.17 + 51.13 -2.23 + + + + diff --git a/tests/functionaltests/suites/default/expected/post_GetRecords-filter-or-nested-and.xml b/tests/functionaltests/suites/default/expected/post_GetRecords-filter-or-nested-and.xml new file mode 100644 index 000000000..077ef2fb1 --- /dev/null +++ b/tests/functionaltests/suites/default/expected/post_GetRecords-filter-or-nested-and.xml @@ -0,0 +1,60 @@ + + + + + + + urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f + http://purl.org/dc/dcmitype/Image + image/svg+xml + Lorem ipsum + GR-22 + Tourism--Greece + Quisque lacus diam, placerat mollis, pharetra in, commodo sed, augue. Duis iaculis arcu vel arcu. + + + urn:uuid:829babb0-b2f1-49e1-8cd5-7b489fe71a1e + http://purl.org/dc/dcmitype/Image + image/jp2 + Vestibulum massa purus + urn:uuid:9a669547-b69b-469f-a11f-2d875366bbdc + + + urn:uuid:88247b56-4cbc-4df9-9860-db3f8042e357 + http://purl.org/dc/dcmitype/Dataset + Physiography-Landforms + FI-ES + Donec scelerisque pede ut nisl luctus accumsan. Quisque ultrices, lorem eget feugiat fringilla, lorem dui porttitor ante, cursus ultrices magna odio eu neque. + + + urn:uuid:94bc9c83-97f6-4b40-9eb8-a8e8787a5c63 + http://purl.org/dc/dcmitype/Dataset + Mauris sed neque + Vegetation-Cropland + Curabitur lacinia, ante non porta tempus, mi lorem feugiat odio, eget suscipit eros pede ac velit. + 2006-03-26 + + 47.595 -4.097 + 51.217 0.889 + + + + urn:uuid:9a669547-b69b-469f-a11f-2d875366bbdc + http://purl.org/dc/dcmitype/Dataset + Ñunç elementum + Hydrography-Oceanographic + 2005-10-24 + + 44.792 -6.171 + 51.126 -2.228 + + + + urn:uuid:a06af396-3105-442d-8b40-22b57a90d2f2 + http://purl.org/dc/dcmitype/Image + Lorem ipsum dolor sit amet + image/jpeg + IT-FI + + + diff --git a/tests/functionaltests/suites/default/expected/post_GetRecords-filter-or-title-abstract.xml b/tests/functionaltests/suites/default/expected/post_GetRecords-filter-or-title-abstract.xml new file mode 100644 index 000000000..0f34eb38b --- /dev/null +++ b/tests/functionaltests/suites/default/expected/post_GetRecords-filter-or-title-abstract.xml @@ -0,0 +1,19 @@ + + + + + + + urn:uuid:94bc9c83-97f6-4b40-9eb8-a8e8787a5c63 + http://purl.org/dc/dcmitype/Dataset + Mauris sed neque + Vegetation-Cropland + Curabitur lacinia, ante non porta tempus, mi lorem feugiat odio, eget suscipit eros pede ac velit. + 2006-03-26 + + 47.595 -4.097 + 51.217 0.889 + + + + diff --git a/tests/functionaltests/suites/default/expected/post_GetRecords-maxrecords.xml b/tests/functionaltests/suites/default/expected/post_GetRecords-maxrecords.xml new file mode 100644 index 000000000..bd4275d63 --- /dev/null +++ b/tests/functionaltests/suites/default/expected/post_GetRecords-maxrecords.xml @@ -0,0 +1,16 @@ + + + + + + + urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f + http://purl.org/dc/dcmitype/Image + image/svg+xml + Lorem ipsum + GR-22 + Tourism--Greece + Quisque lacus diam, placerat mollis, pharetra in, commodo sed, augue. Duis iaculis arcu vel arcu. + + + diff --git a/tests/functionaltests/suites/default/expected/post_GetRecords-requestid.xml b/tests/functionaltests/suites/default/expected/post_GetRecords-requestid.xml new file mode 100644 index 000000000..31d201904 --- /dev/null +++ b/tests/functionaltests/suites/default/expected/post_GetRecords-requestid.xml @@ -0,0 +1,50 @@ + + + + ce74a6c8-677a-42b3-a07c-ce44df8ce7ab + + + + urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f + http://purl.org/dc/dcmitype/Image + image/svg+xml + Lorem ipsum + GR-22 + Tourism--Greece + Quisque lacus diam, placerat mollis, pharetra in, commodo sed, augue. Duis iaculis arcu vel arcu. + + + urn:uuid:1ef30a8b-876d-4828-9246-c37ab4510bbd + http://purl.org/dc/dcmitype/Service + Proin sit amet justo. In justo. Aenean adipiscing nulla id tellus. + + 60.042 13.754 + 68.410 17.920 + + + + urn:uuid:66ae76b7-54ba-489b-a582-0f0633d96493 + Maecenas enim + http://purl.org/dc/dcmitype/Text + application/xhtml+xml + Marine sediments + Pellentesque tempus magna non sapien fringilla blandit. + + + urn:uuid:6a3de50b-fa66-4b58-a0e6-ca146fdd18d4 + http://purl.org/dc/dcmitype/Service + Ut facilisis justo ut lacus + Vegetation + urn:uuid:94bc9c83-97f6-4b40-9eb8-a8e8787a5c63 + + + urn:uuid:784e2afd-a9fd-44a6-9a92-a3848371c8ec + Aliquam fermentum purus quis arcu + http://purl.org/dc/dcmitype/Text + Hydrography--Dictionaries + application/pdf + 2006-05-12 + Vestibulum quis ipsum sit amet metus imperdiet vehicula. Nulla scelerisque cursus mi. + + + diff --git a/tests/functionaltests/suites/default/expected/post_Harvest-default.xml b/tests/functionaltests/suites/default/expected/post_Harvest-default.xml new file mode 100644 index 000000000..169151fb0 --- /dev/null +++ b/tests/functionaltests/suites/default/expected/post_Harvest-default.xml @@ -0,0 +1,7 @@ + + + + + Harvest operations are not supported + + diff --git a/tests/functionaltests/suites/default/expected/post_Harvest-response-handler.xml b/tests/functionaltests/suites/default/expected/post_Harvest-response-handler.xml new file mode 100644 index 000000000..169151fb0 --- /dev/null +++ b/tests/functionaltests/suites/default/expected/post_Harvest-response-handler.xml @@ -0,0 +1,7 @@ + + + + + Harvest operations are not supported + + diff --git a/tests/functionaltests/suites/default/expected/post_Transaction-delete.xml b/tests/functionaltests/suites/default/expected/post_Transaction-delete.xml new file mode 100644 index 000000000..2b4a6e3fd --- /dev/null +++ b/tests/functionaltests/suites/default/expected/post_Transaction-delete.xml @@ -0,0 +1,7 @@ + + + + + Invalid Constraint: Invalid Filter request: Invalid PropertyName: apiso:Identifier. 'apiso:Identifier' + + diff --git a/tests/functionaltests/suites/default/expected/post_Transaction-insert.xml b/tests/functionaltests/suites/default/expected/post_Transaction-insert.xml new file mode 100644 index 000000000..f5df4c66c --- /dev/null +++ b/tests/functionaltests/suites/default/expected/post_Transaction-insert.xml @@ -0,0 +1,7 @@ + + + + + Transaction operations are not supported + + diff --git a/tests/functionaltests/suites/default/expected/post_Transaction-update-full.xml b/tests/functionaltests/suites/default/expected/post_Transaction-update-full.xml new file mode 100644 index 000000000..f5df4c66c --- /dev/null +++ b/tests/functionaltests/suites/default/expected/post_Transaction-update-full.xml @@ -0,0 +1,7 @@ + + + + + Transaction operations are not supported + + diff --git a/tests/functionaltests/suites/default/expected/post_Transaction-update-recordproperty.xml b/tests/functionaltests/suites/default/expected/post_Transaction-update-recordproperty.xml new file mode 100644 index 000000000..f5df4c66c --- /dev/null +++ b/tests/functionaltests/suites/default/expected/post_Transaction-update-recordproperty.xml @@ -0,0 +1,7 @@ + + + + + Transaction operations are not supported + + diff --git a/tests/functionaltests/suites/default/get/requests.txt b/tests/functionaltests/suites/default/get/requests.txt new file mode 100644 index 000000000..ee368671b --- /dev/null +++ b/tests/functionaltests/suites/default/get/requests.txt @@ -0,0 +1,20 @@ +GetCapabilities,PYCSW_SERVER?config=tests/suites/default/default.cfg&service=CSW&version=2.0.2&request=GetCapabilities +GetCapabilities-invalid-request,PYCSW_SERVER?config=tests/suites/default/default.cfg&service=CSW&version=2.0.2&request=GetCapabilitiese +GetRecords-all,PYCSW_SERVER?config=tests/suites/default/default.cfg&service=CSW&version=2.0.2&request=GetRecords&typenames=csw:Record&elementsetname=full +GetRecords-sortby-asc,PYCSW_SERVER?config=tests/suites/default/default.cfg&service=CSW&version=2.0.2&request=GetRecords&typenames=csw:Record&elementsetname=full&resulttype=results&sortby=dc:title:A +GetRecords-sortby-desc,PYCSW_SERVER?config=tests/suites/default/default.cfg&service=CSW&version=2.0.2&request=GetRecords&typenames=csw:Record&elementsetname=full&resulttype=results&sortby=dc:title:D +GetRecords-sortby-invalid-propertyname,PYCSW_SERVER?config=tests/suites/default/default.cfg&service=CSW&version=2.0.2&request=GetRecords&typenames=csw:Record&elementsetname=full&resulttype=results&sortby=dc:titlei:A +GetRecords-sortby-invalid-order,PYCSW_SERVER?config=tests/suites/default/default.cfg&service=CSW&version=2.0.2&request=GetRecords&typenames=csw:Record&elementsetname=full&resulttype=results&sortby=dc:title:FOO +GetRecords-filter,PYCSW_SERVER?config=tests/suites/default/default.cfg&service=CSW&version=2.0.2&request=GetRecords&typenames=csw:Record&elementsetname=full&resulttype=results&constraintlanguage=FILTER&constraint=%3Cogc%3AFilter%20xmlns%3Aogc%3D%22http%3A%2F%2Fwww.opengis.net%2Fogc%22%3E%3Cogc%3APropertyIsEqualTo%3E%3Cogc%3APropertyName%3Edc%3Atitle%3C%2Fogc%3APropertyName%3E%3Cogc%3ALiteral%3ELorem%20ipsum%3C%2Fogc%3ALiteral%3E%3C%2Fogc%3APropertyIsEqualTo%3E%3C%2Fogc%3AFilter%3E +GetRecords-filter-cql-title,PYCSW_SERVER?config=tests/suites/default/default.cfg&service=CSW&version=2.0.2&request=GetRecords&typenames=csw:Record&elementsetname=full&resulttype=results&constraintlanguage=CQL_TEXT&constraint=dc%3Atitle%20like%20%27%25lor%25%27 +GetRecords-filter-cql-title-with-spaces,PYCSW_SERVER?config=tests/suites/default/default.cfg&service=CSW&version=2.0.2&request=GetRecords&typenames=csw:Record&elementsetname=full&resulttype=results&constraintlanguage=CQL_TEXT&constraint=dc%3Atitle%20like%20%27%25Lorem%20ipsum%25%27 +GetRecords-filter-cql-title-or-abstract,PYCSW_SERVER?config=tests/suites/default/default.cfg&service=CSW&version=2.0.2&request=GetRecords&typenames=csw:Record&elementsetname=full&resulttype=results&constraintlanguage=CQL_TEXT&constraint=dc%3Atitle%20like%20%27%25lor%25%27%20or%20dct%3Aabstract%20like%20%27%25pharetra%25%27 +GetRecords-filter-cql-title-with-spaces-or-abstract,PYCSW_SERVER?config=tests/suites/default/default.cfg&service=CSW&version=2.0.2&request=GetRecords&typenames=csw:Record&elementsetname=full&resulttype=results&constraintlanguage=CQL_TEXT&constraint=dc%3Atitle%20like%20%27%25dolor%20sit%25%27%20or%20dct%3Aabstract%20like%20%27%25pharetra%25%27 +GetRecords-filter-cql-title-or-abstract-with-spaces,PYCSW_SERVER?config=tests/suites/default/default.cfg&service=CSW&version=2.0.2&request=GetRecords&typenames=csw:Record&elementsetname=full&resulttype=results&constraintlanguage=CQL_TEXT&constraint=dc%3Atitle%20like%20%27%25lor%25%27%20or%20dct%3Aabstract%20like%20%27%25pharetra%20in%25%27 +GetRecords-filter-cql-title-with-spaces-or-abstract-with-spaces,PYCSW_SERVER?config=tests/suites/default/default.cfg&service=CSW&version=2.0.2&request=GetRecords&typenames=csw:Record&elementsetname=full&resulttype=results&constraintlanguage=CQL_TEXT&constraint=dc%3Atitle%20like%20%27%25dolor%20sit%25%27%20or%20dct%3Aabstract%20like%20%27%25pharetra%20in%25%27 +GetRecords-empty-maxrecords,PYCSW_SERVER?config=tests/suites/default/default.cfg&service=CSW&version=2.0.2&request=GetRecords&typenames=csw:Record&elementsetname=full&maxrecords= +GetRepositoryItem,PYCSW_SERVER?config=tests/suites/default/default.cfg&service=CSW&version=2.0.2&request=GetRepositoryItem&id=urn:uuid:94bc9c83-97f6-4b40-9eb8-a8e8787a5c63 +Exception-GetRepositoryItem-notfound,PYCSW_SERVER?config=tests/suites/default/default.cfg&service=CSW&version=2.0.2&request=GetRepositoryItem&id=NOTFOUND +Exception-GetRepositoryItem-service-invalid1,PYCSW_SERVER?config=tests/suites/default/default.cfg&service=CSW%00&version=2.0.2&request=GetRepositoryItem&id=123 +Exception-GetRepositoryItem-service-invalid2,PYCSW_SERVER?config=tests/suites/default/default.cfg&service=CSW%00'&version=2.0.2&request=GetRepositoryItem&id=123 +Exception-GetRepositoryItem-version-invalid,PYCSW_SERVER?config=tests/suites/default/default.cfg&service=CSW&version=2.0.2'&request=GetRepositoryItem&id=123 diff --git a/tests/functionaltests/suites/default/post/DescribeRecord-json.xml b/tests/functionaltests/suites/default/post/DescribeRecord-json.xml new file mode 100644 index 000000000..35c176c91 --- /dev/null +++ b/tests/functionaltests/suites/default/post/DescribeRecord-json.xml @@ -0,0 +1,4 @@ + + + csw:Record + diff --git a/tests/functionaltests/suites/default/post/DescribeRecord.xml b/tests/functionaltests/suites/default/post/DescribeRecord.xml new file mode 100644 index 000000000..102443e47 --- /dev/null +++ b/tests/functionaltests/suites/default/post/DescribeRecord.xml @@ -0,0 +1,4 @@ + + + csw:Record + diff --git a/tests/functionaltests/suites/default/post/Exception-GetRecords-badsrsname.xml b/tests/functionaltests/suites/default/post/Exception-GetRecords-badsrsname.xml new file mode 100644 index 000000000..61f4b2da5 --- /dev/null +++ b/tests/functionaltests/suites/default/post/Exception-GetRecords-badsrsname.xml @@ -0,0 +1,19 @@ + + + + brief + + + + + ows:BoundingBox + + -90 -180 + 90 180 + + + + + + + diff --git a/tests/functionaltests/suites/default/post/Exception-GetRecords-elementname.xml b/tests/functionaltests/suites/default/post/Exception-GetRecords-elementname.xml new file mode 100644 index 000000000..2dc8935e2 --- /dev/null +++ b/tests/functionaltests/suites/default/post/Exception-GetRecords-elementname.xml @@ -0,0 +1,6 @@ + + + + dc:foo + + diff --git a/tests/functionaltests/suites/default/post/Exception-GetRecords-invalid-xml.xml b/tests/functionaltests/suites/default/post/Exception-GetRecords-invalid-xml.xml new file mode 100644 index 000000000..0bdf07fb3 --- /dev/null +++ b/tests/functionaltests/suites/default/post/Exception-GetRecords-invalid-xml.xml @@ -0,0 +1,6 @@ + + + + dc:foo + + diff --git a/tests/functionaltests/suites/default/post/GetCapabilities-SOAP.xml b/tests/functionaltests/suites/default/post/GetCapabilities-SOAP.xml new file mode 100644 index 000000000..906918983 --- /dev/null +++ b/tests/functionaltests/suites/default/post/GetCapabilities-SOAP.xml @@ -0,0 +1,13 @@ + + + + + + 2.0.2 + + + application/xml + + + + diff --git a/tests/functionaltests/suites/default/post/GetCapabilities-sections.xml b/tests/functionaltests/suites/default/post/GetCapabilities-sections.xml new file mode 100644 index 000000000..b3390dee5 --- /dev/null +++ b/tests/functionaltests/suites/default/post/GetCapabilities-sections.xml @@ -0,0 +1,12 @@ + + + + 2.0.2 + + + ServiceProvider + + + application/xml + + diff --git a/tests/functionaltests/suites/default/post/GetCapabilities-updatesequence.xml b/tests/functionaltests/suites/default/post/GetCapabilities-updatesequence.xml new file mode 100644 index 000000000..d2f329611 --- /dev/null +++ b/tests/functionaltests/suites/default/post/GetCapabilities-updatesequence.xml @@ -0,0 +1,9 @@ + + + + 2.0.2 + + + application/xml + + diff --git a/tests/functionaltests/suites/default/post/GetCapabilities.xml b/tests/functionaltests/suites/default/post/GetCapabilities.xml new file mode 100644 index 000000000..e4dc8070b --- /dev/null +++ b/tests/functionaltests/suites/default/post/GetCapabilities.xml @@ -0,0 +1,9 @@ + + + + 2.0.2 + + + application/xml + + diff --git a/tests/functionaltests/suites/default/post/GetDomain-parameter.xml b/tests/functionaltests/suites/default/post/GetDomain-parameter.xml new file mode 100644 index 000000000..2d1dd2d4a --- /dev/null +++ b/tests/functionaltests/suites/default/post/GetDomain-parameter.xml @@ -0,0 +1,4 @@ + + + GetRecords.CONSTRAINTLANGUAGE + diff --git a/tests/functionaltests/suites/default/post/GetDomain-property.xml b/tests/functionaltests/suites/default/post/GetDomain-property.xml new file mode 100644 index 000000000..c6ca09c8c --- /dev/null +++ b/tests/functionaltests/suites/default/post/GetDomain-property.xml @@ -0,0 +1,4 @@ + + + dc:title + diff --git a/tests/functionaltests/suites/default/post/GetRecordById-json.xml b/tests/functionaltests/suites/default/post/GetRecordById-json.xml new file mode 100644 index 000000000..887e6d186 --- /dev/null +++ b/tests/functionaltests/suites/default/post/GetRecordById-json.xml @@ -0,0 +1,5 @@ + + + urn:uuid:94bc9c83-97f6-4b40-9eb8-a8e8787a5c63 + summary + diff --git a/tests/functionaltests/suites/default/post/GetRecordById.xml b/tests/functionaltests/suites/default/post/GetRecordById.xml new file mode 100644 index 000000000..af59d786b --- /dev/null +++ b/tests/functionaltests/suites/default/post/GetRecordById.xml @@ -0,0 +1,5 @@ + + + urn:uuid:94bc9c83-97f6-4b40-9eb8-a8e8787a5c63 + summary + diff --git a/tests/functionaltests/suites/default/post/GetRecords-all-json.xml b/tests/functionaltests/suites/default/post/GetRecords-all-json.xml new file mode 100644 index 000000000..3e17c97ca --- /dev/null +++ b/tests/functionaltests/suites/default/post/GetRecords-all-json.xml @@ -0,0 +1,6 @@ + + + + full + + diff --git a/tests/functionaltests/suites/default/post/GetRecords-all-resulttype-hits.xml b/tests/functionaltests/suites/default/post/GetRecords-all-resulttype-hits.xml new file mode 100644 index 000000000..c91e92ec7 --- /dev/null +++ b/tests/functionaltests/suites/default/post/GetRecords-all-resulttype-hits.xml @@ -0,0 +1,6 @@ + + + + full + + diff --git a/tests/functionaltests/suites/default/post/GetRecords-all-resulttype-validate.xml b/tests/functionaltests/suites/default/post/GetRecords-all-resulttype-validate.xml new file mode 100644 index 000000000..c977bda36 --- /dev/null +++ b/tests/functionaltests/suites/default/post/GetRecords-all-resulttype-validate.xml @@ -0,0 +1,6 @@ + + + + full + + diff --git a/tests/functionaltests/suites/default/post/GetRecords-all-sortby-bbox.xml b/tests/functionaltests/suites/default/post/GetRecords-all-sortby-bbox.xml new file mode 100644 index 000000000..eace825a6 --- /dev/null +++ b/tests/functionaltests/suites/default/post/GetRecords-all-sortby-bbox.xml @@ -0,0 +1,12 @@ + + + + full + + + ows:BoundingBox + DESC + + + + diff --git a/tests/functionaltests/suites/default/post/GetRecords-all.xml b/tests/functionaltests/suites/default/post/GetRecords-all.xml new file mode 100644 index 000000000..6bb353cf4 --- /dev/null +++ b/tests/functionaltests/suites/default/post/GetRecords-all.xml @@ -0,0 +1,6 @@ + + + + full + + diff --git a/tests/functionaltests/suites/default/post/GetRecords-bbox-filter-crs84.xml b/tests/functionaltests/suites/default/post/GetRecords-bbox-filter-crs84.xml new file mode 100644 index 000000000..ca1674dfc --- /dev/null +++ b/tests/functionaltests/suites/default/post/GetRecords-bbox-filter-crs84.xml @@ -0,0 +1,17 @@ + + + + brief + + + + ows:BoundingBox + + -180 -90 + 180 90 + + + + + + diff --git a/tests/functionaltests/suites/default/post/GetRecords-cql-title-and-abstract.xml b/tests/functionaltests/suites/default/post/GetRecords-cql-title-and-abstract.xml new file mode 100644 index 000000000..9bdb5795c --- /dev/null +++ b/tests/functionaltests/suites/default/post/GetRecords-cql-title-and-abstract.xml @@ -0,0 +1,9 @@ + + + + brief + + dc:title like '%ips%' and dct:abstract like '%pharetra%' + + + diff --git a/tests/functionaltests/suites/default/post/GetRecords-cql-title.xml b/tests/functionaltests/suites/default/post/GetRecords-cql-title.xml new file mode 100644 index 000000000..929722324 --- /dev/null +++ b/tests/functionaltests/suites/default/post/GetRecords-cql-title.xml @@ -0,0 +1,9 @@ + + + + brief + + dc:title like '%ips%' + + + diff --git a/tests/functionaltests/suites/default/post/GetRecords-distributedsearch.xml b/tests/functionaltests/suites/default/post/GetRecords-distributedsearch.xml new file mode 100644 index 000000000..b64549a2e --- /dev/null +++ b/tests/functionaltests/suites/default/post/GetRecords-distributedsearch.xml @@ -0,0 +1,15 @@ + + + + + brief + + + + dc:title + Aquifers + + + + + diff --git a/tests/functionaltests/suites/default/post/GetRecords-elementname.xml b/tests/functionaltests/suites/default/post/GetRecords-elementname.xml new file mode 100644 index 000000000..2acf2ae34 --- /dev/null +++ b/tests/functionaltests/suites/default/post/GetRecords-elementname.xml @@ -0,0 +1,6 @@ + + + + dc:title + + diff --git a/tests/functionaltests/suites/default/post/GetRecords-end.xml b/tests/functionaltests/suites/default/post/GetRecords-end.xml new file mode 100644 index 000000000..e03137ea9 --- /dev/null +++ b/tests/functionaltests/suites/default/post/GetRecords-end.xml @@ -0,0 +1,6 @@ + + + + full + + diff --git a/tests/functionaltests/suites/default/post/GetRecords-filter-and-bbox-freetext.xml b/tests/functionaltests/suites/default/post/GetRecords-filter-and-bbox-freetext.xml new file mode 100644 index 000000000..ce787131c --- /dev/null +++ b/tests/functionaltests/suites/default/post/GetRecords-filter-and-bbox-freetext.xml @@ -0,0 +1,23 @@ + + + + brief + + + + + csw:AnyText + %lor% + + + ows:BoundingBox + + 47 -5 + 55 20 + + + + + + + diff --git a/tests/functionaltests/suites/default/post/GetRecords-filter-and-nested-or.xml b/tests/functionaltests/suites/default/post/GetRecords-filter-and-nested-or.xml new file mode 100644 index 000000000..46884d195 --- /dev/null +++ b/tests/functionaltests/suites/default/post/GetRecords-filter-and-nested-or.xml @@ -0,0 +1,38 @@ + + + + full + + + + + dc:title + Aliquam fermentum purus quis arcu + + + dc:format + application/pdf + + + + dc:type + http://purl.org/dc/dcmitype/Dataset + + + dc:type + http://purl.org/dc/dcmitype/Service + + + dc:type + http://purl.org/dc/dcmitype/Image + + + dc:type + http://purl.org/dc/dcmitype/Text + + + + + + + diff --git a/tests/functionaltests/suites/default/post/GetRecords-filter-and-nested-or2.xml b/tests/functionaltests/suites/default/post/GetRecords-filter-and-nested-or2.xml new file mode 100644 index 000000000..729113817 --- /dev/null +++ b/tests/functionaltests/suites/default/post/GetRecords-filter-and-nested-or2.xml @@ -0,0 +1,34 @@ + + + + full + + + + + dc:title + Lorem% + + + + dc:type + http://purl.org/dc/dcmitype/Dataset + + + dc:type + http://purl.org/dc/dcmitype/Service + + + dc:type + http://purl.org/dc/dcmitype/Image + + + dc:type + http://purl.org/dc/dcmitype/Text + + + + + + + diff --git a/tests/functionaltests/suites/default/post/GetRecords-filter-anytext-and-not.xml b/tests/functionaltests/suites/default/post/GetRecords-filter-anytext-and-not.xml new file mode 100644 index 000000000..d3125b6f7 --- /dev/null +++ b/tests/functionaltests/suites/default/post/GetRecords-filter-anytext-and-not.xml @@ -0,0 +1,26 @@ + + + + summary + + + + + csw:AnyText + *lorem* + + + csw:AnyText + *ipsum* + + + + csw:AnyText + *dolor* + + + + + + + diff --git a/tests/functionaltests/suites/default/post/GetRecords-filter-anytext-equal.xml b/tests/functionaltests/suites/default/post/GetRecords-filter-anytext-equal.xml new file mode 100644 index 000000000..0c64e7112 --- /dev/null +++ b/tests/functionaltests/suites/default/post/GetRecords-filter-anytext-equal.xml @@ -0,0 +1,14 @@ + + + + brief + + + + csw:AnyText + Lor + + + + + diff --git a/tests/functionaltests/suites/default/post/GetRecords-filter-anytext.xml b/tests/functionaltests/suites/default/post/GetRecords-filter-anytext.xml new file mode 100644 index 000000000..8ab5bff9d --- /dev/null +++ b/tests/functionaltests/suites/default/post/GetRecords-filter-anytext.xml @@ -0,0 +1,14 @@ + + + + brief + + + + csw:AnyText + %Lor% + + + + + diff --git a/tests/functionaltests/suites/default/post/GetRecords-filter-bbox-reproject.xml b/tests/functionaltests/suites/default/post/GetRecords-filter-bbox-reproject.xml new file mode 100644 index 000000000..73d60ef00 --- /dev/null +++ b/tests/functionaltests/suites/default/post/GetRecords-filter-bbox-reproject.xml @@ -0,0 +1,17 @@ + + + + brief + + + + ows:BoundingBox + + -72310.84768270838 2013215.2698528299 + 279667.74290441966 2690819.5081175645 + + + + + + diff --git a/tests/functionaltests/suites/default/post/GetRecords-filter-bbox-sortby.xml b/tests/functionaltests/suites/default/post/GetRecords-filter-bbox-sortby.xml new file mode 100644 index 000000000..9e7b7ef73 --- /dev/null +++ b/tests/functionaltests/suites/default/post/GetRecords-filter-bbox-sortby.xml @@ -0,0 +1,23 @@ + + + + brief + + + + ows:BoundingBox + + 47 -5 + 55 20 + + + + + + + dc:title + DESC + + + + diff --git a/tests/functionaltests/suites/default/post/GetRecords-filter-bbox.xml b/tests/functionaltests/suites/default/post/GetRecords-filter-bbox.xml new file mode 100644 index 000000000..9df955319 --- /dev/null +++ b/tests/functionaltests/suites/default/post/GetRecords-filter-bbox.xml @@ -0,0 +1,17 @@ + + + + brief + + + + ows:BoundingBox + + 47 -5 + 55 20 + + + + + + diff --git a/tests/functionaltests/suites/default/post/GetRecords-filter-between.xml b/tests/functionaltests/suites/default/post/GetRecords-filter-between.xml new file mode 100644 index 000000000..ea00efbe8 --- /dev/null +++ b/tests/functionaltests/suites/default/post/GetRecords-filter-between.xml @@ -0,0 +1,20 @@ + + + + full + + + + dc:title + + Aliquam fermentum purus quis arcu + + + Maecenas enim + + + + + + + diff --git a/tests/functionaltests/suites/default/post/GetRecords-filter-function-bad.xml b/tests/functionaltests/suites/default/post/GetRecords-filter-function-bad.xml new file mode 100644 index 000000000..75dbacc10 --- /dev/null +++ b/tests/functionaltests/suites/default/post/GetRecords-filter-function-bad.xml @@ -0,0 +1,17 @@ + + + + brief + + + + + dc:title + + LOREM IPSUM + + + + + + diff --git a/tests/functionaltests/suites/default/post/GetRecords-filter-function.xml b/tests/functionaltests/suites/default/post/GetRecords-filter-function.xml new file mode 100644 index 000000000..68cb04564 --- /dev/null +++ b/tests/functionaltests/suites/default/post/GetRecords-filter-function.xml @@ -0,0 +1,17 @@ + + + + brief + + + + + dc:title + + LOREM IPSUM + + + + + + diff --git a/tests/functionaltests/suites/default/post/GetRecords-filter-not-bbox.xml b/tests/functionaltests/suites/default/post/GetRecords-filter-not-bbox.xml new file mode 100644 index 000000000..6adb4cf1f --- /dev/null +++ b/tests/functionaltests/suites/default/post/GetRecords-filter-not-bbox.xml @@ -0,0 +1,19 @@ + + + + brief + + + + + ows:BoundingBox + + 47 -5 + 55 20 + + + + + + + diff --git a/tests/functionaltests/suites/default/post/GetRecords-filter-or-bbox-freetext.xml b/tests/functionaltests/suites/default/post/GetRecords-filter-or-bbox-freetext.xml new file mode 100644 index 000000000..bdfc60ea7 --- /dev/null +++ b/tests/functionaltests/suites/default/post/GetRecords-filter-or-bbox-freetext.xml @@ -0,0 +1,23 @@ + + + + brief + + + + + dc:title + foo + + + ows:BoundingBox + + 47 -5 + 55 20 + + + + + + + diff --git a/tests/functionaltests/suites/default/post/GetRecords-filter-or-nested-and.xml b/tests/functionaltests/suites/default/post/GetRecords-filter-or-nested-and.xml new file mode 100644 index 000000000..1ff37fa31 --- /dev/null +++ b/tests/functionaltests/suites/default/post/GetRecords-filter-or-nested-and.xml @@ -0,0 +1,30 @@ + + + + full + + + + + dc:type + http://purl.org/dc/dcmitype/Image + + + dc:type + http://purl.org/dc/dcmitype/Dataset + + + + dc:title + Mauris% + + + dc:title + %neque + + + + + + + diff --git a/tests/functionaltests/suites/default/post/GetRecords-filter-or-title-abstract.xml b/tests/functionaltests/suites/default/post/GetRecords-filter-or-title-abstract.xml new file mode 100644 index 000000000..331dca256 --- /dev/null +++ b/tests/functionaltests/suites/default/post/GetRecords-filter-or-title-abstract.xml @@ -0,0 +1,20 @@ + + + + full + + + + + dc:title + Mauris% + + + dct:abstract + foo + + + + + + \ No newline at end of file diff --git a/tests/functionaltests/suites/default/post/GetRecords-maxrecords.xml b/tests/functionaltests/suites/default/post/GetRecords-maxrecords.xml new file mode 100644 index 000000000..1379ea6f9 --- /dev/null +++ b/tests/functionaltests/suites/default/post/GetRecords-maxrecords.xml @@ -0,0 +1,6 @@ + + + + full + + diff --git a/tests/functionaltests/suites/default/post/GetRecords-requestid.xml b/tests/functionaltests/suites/default/post/GetRecords-requestid.xml new file mode 100644 index 000000000..186d04e3b --- /dev/null +++ b/tests/functionaltests/suites/default/post/GetRecords-requestid.xml @@ -0,0 +1,6 @@ + + + + full + + diff --git a/tests/functionaltests/suites/default/post/Harvest-default.xml b/tests/functionaltests/suites/default/post/Harvest-default.xml new file mode 100644 index 000000000..599ba769c --- /dev/null +++ b/tests/functionaltests/suites/default/post/Harvest-default.xml @@ -0,0 +1,6 @@ + + + http://schemas.opengis.net/csw/2.0.2/profiles/apiso/1.0.0/examples-ISO19139/dataset2_minimalst.xml + http://www.isotc211.org/schemas/2005/gmd/ + application/xml + diff --git a/tests/functionaltests/suites/default/post/Harvest-response-handler.xml b/tests/functionaltests/suites/default/post/Harvest-response-handler.xml new file mode 100644 index 000000000..9d4351727 --- /dev/null +++ b/tests/functionaltests/suites/default/post/Harvest-response-handler.xml @@ -0,0 +1,7 @@ + + + http://kralidis.ca/pycsw/trunk/tests/test_iso.xml + http://www.isotc211.org/schemas/2005/gmd/ + application/xml + mailto:tkralidi + diff --git a/tests/functionaltests/suites/default/post/Transaction-delete.xml b/tests/functionaltests/suites/default/post/Transaction-delete.xml new file mode 100644 index 000000000..675a8690e --- /dev/null +++ b/tests/functionaltests/suites/default/post/Transaction-delete.xml @@ -0,0 +1,13 @@ + + + + + + + apiso:Identifier + 12345 + + + + + diff --git a/tests/functionaltests/suites/default/post/Transaction-insert.xml b/tests/functionaltests/suites/default/post/Transaction-insert.xml new file mode 100644 index 000000000..1b238dd4d --- /dev/null +++ b/tests/functionaltests/suites/default/post/Transaction-insert.xml @@ -0,0 +1,73 @@ + + + + + + 12345 + + + + + + + + pycsw + + + + + + + + 2011-05-17 + + + + + + + pycsw record + + + + + 2011-05-17 + + + + + + + + + + Sample metadata record + + + eng + + + + + + + -180 + + + 180 + + + -90 + + + 90 + + + + + + + + + + diff --git a/tests/functionaltests/suites/default/post/Transaction-update-full.xml b/tests/functionaltests/suites/default/post/Transaction-update-full.xml new file mode 100644 index 000000000..2ff6604ea --- /dev/null +++ b/tests/functionaltests/suites/default/post/Transaction-update-full.xml @@ -0,0 +1,73 @@ + + + + + + 12345 + + + + + + + + pycsw + + + + + + + + 2011-05-17 + + + + + + + pycsw record + + + + + 2011-05-17 + + + + + + + + + + Sample metadata record + + + eng + + + + + + + -180 + + + 180 + + + -90 + + + 90 + + + + + + + + + + diff --git a/tests/functionaltests/suites/default/post/Transaction-update-recordproperty.xml b/tests/functionaltests/suites/default/post/Transaction-update-recordproperty.xml new file mode 100644 index 000000000..a130a5f25 --- /dev/null +++ b/tests/functionaltests/suites/default/post/Transaction-update-recordproperty.xml @@ -0,0 +1,17 @@ + + + + + apiso:Title + NEW_TITLE + + + + + apiso:Identifier + 12345 + + + + + diff --git a/tests/functionaltests/suites/dif/default.cfg b/tests/functionaltests/suites/dif/default.cfg new file mode 100644 index 000000000..08d69c6ed --- /dev/null +++ b/tests/functionaltests/suites/dif/default.cfg @@ -0,0 +1,90 @@ +# ================================================================= +# +# Authors: Tom Kralidis +# +# Copyright (c) 2011 Tom Kralidis +# +# Permission is hereby granted, free of charge, to any person +# obtaining a copy of this software and associated documentation +# files (the "Software"), to deal in the Software without +# restriction, including without limitation the rights to use, +# copy, modify, merge, publish, distribute, sublicense, and/or sell +# copies of the Software, and to permit persons to whom the +# Software is furnished to do so, subject to the following +# conditions: +# +# The above copyright notice and this permission notice shall be +# included in all copies or substantial portions of the Software. +# +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +# EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES +# OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +# NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT +# HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, +# WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR +# OTHER DEALINGS IN THE SOFTWARE. +# +# ================================================================= + +[server] +home=. +url=http://localhost/pycsw/csw.py?config=tests/suites/dif/default.cfg +mimetype=application/xml; charset=UTF-8 +encoding=UTF-8 +language=en-US +maxrecords=10 +#loglevel=DEBUG +#logfile=/tmp/pycsw.log +#ogc_schemas_base=http://foo +federatedcatalogues=http://geo.data.gov/geoportal/csw/discovery +pretty_print=true +#gzip_compresslevel=8 +#spatial_ranking=true + +[manager] +transactions=false +allowed_ips=127.0.0.1 + +[metadata:main] +identification_title=pycsw Geospatial Catalogue +identification_abstract=pycsw is an OGC CSW server implementation written in Python +identification_keywords=catalogue,discovery +identification_keywords_type=theme +identification_fees=None +identification_accessconstraints=None +provider_name=pycsw +provider_url=http://pycsw.org/ +contact_name=Kralidis, Tom +contact_position=Senior Systems Scientist +contact_address=TBA +contact_city=Toronto +contact_stateorprovince=Ontario +contact_postalcode=M9C 3Z9 +contact_country=Canada +contact_phone=+01-416-xxx-xxxx +contact_fax=+01-416-xxx-xxxx +contact_email=tomkralidis@gmail.com +contact_url=http://kralidis.ca/ +contact_hours=0800h - 1600h EST +contact_instructions=During hours of service. Off on weekends. +contact_role=pointOfContact + +[repository] +# sqlite +database=sqlite:///tests/suites/cite/data/records.db +# postgres +#database=postgres://username:password@localhost/pycsw +table=records + +[metadata:inspire] +enabled=false +languages_supported=eng,gre +default_language=eng +date=2011-03-29 +gemet_keywords=Utility and governmental services +conformity_service=notEvaluated +contact_name=National Technical University of Athens +contact_email=tzotsos@gmail.com +temp_extent=2011-02-01/2011-03-30 + diff --git a/tests/functionaltests/suites/dif/expected/post_DescribeRecord.xml b/tests/functionaltests/suites/dif/expected/post_DescribeRecord.xml new file mode 100644 index 000000000..5f82a7d41 --- /dev/null +++ b/tests/functionaltests/suites/dif/expected/post_DescribeRecord.xml @@ -0,0 +1,3 @@ + + + diff --git a/tests/functionaltests/suites/dif/expected/post_GetCapabilities.xml b/tests/functionaltests/suites/dif/expected/post_GetCapabilities.xml new file mode 100644 index 000000000..e062f2209 --- /dev/null +++ b/tests/functionaltests/suites/dif/expected/post_GetCapabilities.xml @@ -0,0 +1,262 @@ + + + + + pycsw Geospatial Catalogue + pycsw is an OGC CSW server implementation written in Python + + catalogue + discovery + theme + + CSW + 2.0.2 + 3.0.0 + None + None + + + pycsw + + + Kralidis, Tom + Senior Systems Scientist + + + +01-416-xxx-xxxx + +01-416-xxx-xxxx + + + TBA + Toronto + Ontario + M9C 3Z9 + Canada + tomkralidis@gmail.com + + + 0800h - 1600h EST + During hours of service. Off on weekends. + + pointOfContact + + + + + + + + + + + + Filter_Capabilities + OperationsMetadata + ServiceIdentification + ServiceProvider + + + + + + + + + + + application/json + application/xml + + + http://www.w3.org/2001/XMLSchema + http://www.w3.org/TR/xmlschema-1/ + http://www.w3.org/XML/Schema + + + csw:Record + + + + + + + + + + + DescribeRecord.outputFormat + DescribeRecord.schemaLanguage + DescribeRecord.typeName + GetCapabilities.sections + GetRecordById.ElementSetName + GetRecordById.outputFormat + GetRecordById.outputSchema + GetRecords.CONSTRAINTLANGUAGE + GetRecords.ElementSetName + GetRecords.outputFormat + GetRecords.outputSchema + GetRecords.resultType + GetRecords.typeNames + + + + + + + + + + + CQL_TEXT + FILTER + + + brief + full + summary + + + application/json + application/xml + + + http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ + http://www.interlis.ch/INTERLIS2.3 + http://www.opengis.net/cat/csw/2.0.2 + http://www.opengis.net/cat/csw/csdgm + http://www.w3.org/2005/Atom + + + hits + results + validate + + + csw:Record + + + csw:AnyText + dc:contributor + dc:creator + dc:date + dc:format + dc:identifier + dc:language + dc:publisher + dc:relation + dc:rights + dc:source + dc:subject + dc:title + dc:type + dct:abstract + dct:modified + ows:BoundingBox + + + + + + + + + + + brief + full + summary + + + application/json + application/xml + + + http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ + http://www.interlis.ch/INTERLIS2.3 + http://www.opengis.net/cat/csw/2.0.2 + http://www.opengis.net/cat/csw/csdgm + http://www.w3.org/2005/Atom + + + + + + + + + + + CSW + + + 2.0.2 + 3.0.0 + + + http://geo.data.gov/geoportal/csw/discovery + + + 10 + + + XML + SOAP + + + allowed + + + + + + gml:Point + gml:LineString + gml:Polygon + gml:Envelope + + + + + + + + + + + + + + + + + + + Between + EqualTo + GreaterThan + GreaterThanEqualTo + LessThan + LessThanEqualTo + Like + NotEqualTo + NullCheck + + + + + length + lower + ltrim + rtrim + trim + upper + + + + + + + + + + diff --git a/tests/functionaltests/suites/dif/expected/post_GetRecords-filter-bbox.xml b/tests/functionaltests/suites/dif/expected/post_GetRecords-filter-bbox.xml new file mode 100644 index 000000000..d6a763d1f --- /dev/null +++ b/tests/functionaltests/suites/dif/expected/post_GetRecords-filter-bbox.xml @@ -0,0 +1,71 @@ + + + + + + + urn:uuid:94bc9c83-97f6-4b40-9eb8-a8e8787a5c63 + Mauris sed neque + + + + + + + + Vegetation-Cropland + + + + + + 47.59 + 51.22 + -4.1 + 0.89 + + + + + Curabitur lacinia, ante non porta tempus, mi lorem feugiat odio, eget suscipit eros pede ac velit. + + + + + CEOS IDN DIF + 9.7 + + + urn:uuid:9a669547-b69b-469f-a11f-2d875366bbdc + Ñunç elementum + + + + + + + + Hydrography-Oceanographic + + + + + + 44.79 + 51.13 + -6.17 + -2.23 + + + + + + + + + + CEOS IDN DIF + 9.7 + + + diff --git a/tests/functionaltests/suites/dif/post/DescribeRecord.xml b/tests/functionaltests/suites/dif/post/DescribeRecord.xml new file mode 100644 index 000000000..2408da75b --- /dev/null +++ b/tests/functionaltests/suites/dif/post/DescribeRecord.xml @@ -0,0 +1,4 @@ + + + dif:DIF + diff --git a/tests/functionaltests/suites/dif/post/GetCapabilities.xml b/tests/functionaltests/suites/dif/post/GetCapabilities.xml new file mode 100644 index 000000000..e4dc8070b --- /dev/null +++ b/tests/functionaltests/suites/dif/post/GetCapabilities.xml @@ -0,0 +1,9 @@ + + + + 2.0.2 + + + application/xml + + diff --git a/tests/functionaltests/suites/dif/post/GetRecords-filter-bbox.xml b/tests/functionaltests/suites/dif/post/GetRecords-filter-bbox.xml new file mode 100644 index 000000000..8804efe60 --- /dev/null +++ b/tests/functionaltests/suites/dif/post/GetRecords-filter-bbox.xml @@ -0,0 +1,17 @@ + + + + brief + + + + ows:BoundingBox + + 47 -5 + 55 20 + + + + + + diff --git a/tests/functionaltests/suites/ebrim/default.cfg b/tests/functionaltests/suites/ebrim/default.cfg new file mode 100644 index 000000000..048432616 --- /dev/null +++ b/tests/functionaltests/suites/ebrim/default.cfg @@ -0,0 +1,93 @@ +# ================================================================= +# +# $Id: default.cfg 366 2011-11-24 21:52:13Z tomkralidis $ +# +# Authors: Tom Kralidis +# +# Copyright (c) 2011 Tom Kralidis +# +# Permission is hereby granted, free of charge, to any person +# obtaining a copy of this software and associated documentation +# files (the "Software"), to deal in the Software without +# restriction, including without limitation the rights to use, +# copy, modify, merge, publish, distribute, sublicense, and/or sell +# copies of the Software, and to permit persons to whom the +# Software is furnished to do so, subject to the following +# conditions: +# +# The above copyright notice and this permission notice shall be +# included in all copies or substantial portions of the Software. +# +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +# EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES +# OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +# NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT +# HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, +# WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR +# OTHER DEALINGS IN THE SOFTWARE. +# +# ================================================================= + +[server] +home=. +url=http://localhost/pycsw/csw.py?config=tests/suites/fgdc/default.cfg +mimetype=application/xml; charset=UTF-8 +encoding=UTF-8 +language=en-US +maxrecords=10 +#loglevel=DEBUG +#logfile=/tmp/pycsw.log +#ogc_schemas_base=http://foo +federatedcatalogues=http://geo.data.gov/geoportal/csw/discovery +pretty_print=true +#gzip_compresslevel=8 +#spatial_ranking=true +profiles=ebrim + +[manager] +transactions=false +allowed_ips=127.0.0.1 + +[metadata:main] +identification_title=pycsw Geospatial Catalogue +identification_abstract=pycsw is an OGC CSW server implementation written in Python +identification_keywords=catalogue,discovery +identification_keywords_type=theme +identification_fees=None +identification_accessconstraints=None +provider_name=pycsw +provider_url=http://pycsw.org/ +contact_name=Kralidis, Tom +contact_position=Senior Systems Scientist +contact_address=TBA +contact_city=Toronto +contact_stateorprovince=Ontario +contact_postalcode=M9C 3Z9 +contact_country=Canada +contact_phone=+01-416-xxx-xxxx +contact_fax=+01-416-xxx-xxxx +contact_email=tomkralidis@gmail.com +contact_url=http://kralidis.ca/ +contact_hours=0800h - 1600h EST +contact_instructions=During hours of service. Off on weekends. +contact_role=pointOfContact + +[repository] +# sqlite +database=sqlite:///tests/suites/cite/data/records.db +# postgres +#database=postgres://username:password@localhost/pycsw +table=records + +[metadata:inspire] +enabled=false +languages_supported=eng,gre +default_language=eng +date=2011-03-29 +gemet_keywords=Utility and governmental services +conformity_service=notEvaluated +contact_name=National Technical University of Athens +contact_email=tzotsos@gmail.com +temp_extent=2011-02-01/2011-03-30 + diff --git a/tests/functionaltests/suites/ebrim/expected/post_DescribeRecord.xml b/tests/functionaltests/suites/ebrim/expected/post_DescribeRecord.xml new file mode 100644 index 000000000..87e4d86a2 --- /dev/null +++ b/tests/functionaltests/suites/ebrim/expected/post_DescribeRecord.xml @@ -0,0 +1,93 @@ + + + + + + + + + + + rim:Value not allowed in this context: expected wrs:AnyValue. + + + + + Schema for CSW-ebRIM catalogue profile (OGC 07-110r3). + + + + + + + + + + + + + A general record identifier, expressed as an absolute URI that maps to + the rim:RegistryObject/@id attribute. It substitutes for the ogc:_Id + element in an OGC filter expression. + + + + + + + + + + + + + + Extends rim:ExtrinsicObjectType to add the following: + 1. MTOM/XOP based attachment support. + 2. XLink based reference to a part in a multipart/related message + structure. + NOTE: This content model is planned for RegRep 4.0. + + + + + + + + + + + + + + + + Allows complex slot values. + + + + + + + + + + + + + + + + + + + + + Incorporates the attributes defined for use in simple XLink elements. + + + + + + + diff --git a/tests/functionaltests/suites/ebrim/expected/post_GetCapabilities.xml b/tests/functionaltests/suites/ebrim/expected/post_GetCapabilities.xml new file mode 100644 index 000000000..41b60a20a --- /dev/null +++ b/tests/functionaltests/suites/ebrim/expected/post_GetCapabilities.xml @@ -0,0 +1,266 @@ + + + + + pycsw Geospatial Catalogue + pycsw is an OGC CSW server implementation written in Python + + catalogue + discovery + theme + + CSW + 2.0.2 + 3.0.0 + None + None + + + pycsw + + + Kralidis, Tom + Senior Systems Scientist + + + +01-416-xxx-xxxx + +01-416-xxx-xxxx + + + TBA + Toronto + Ontario + M9C 3Z9 + Canada + tomkralidis@gmail.com + + + 0800h - 1600h EST + During hours of service. Off on weekends. + + pointOfContact + + + + + + + + + + + + Filter_Capabilities + OperationsMetadata + ServiceIdentification + ServiceProvider + + + + + + + + + + + application/json + application/xml + + + http://www.w3.org/2001/XMLSchema + http://www.w3.org/TR/xmlschema-1/ + http://www.w3.org/XML/Schema + + + csw:Record + rim:RegistryObject + + + + + + + + + + + DescribeRecord.outputFormat + DescribeRecord.schemaLanguage + DescribeRecord.typeName + GetCapabilities.sections + GetRecordById.ElementSetName + GetRecordById.outputFormat + GetRecordById.outputSchema + GetRecords.CONSTRAINTLANGUAGE + GetRecords.ElementSetName + GetRecords.outputFormat + GetRecords.outputSchema + GetRecords.resultType + GetRecords.typeNames + + + + + + + + + + + CQL_TEXT + FILTER + + + brief + full + summary + + + application/json + application/xml + + + http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ + http://www.interlis.ch/INTERLIS2.3 + http://www.opengis.net/cat/csw/2.0.2 + http://www.opengis.net/cat/csw/csdgm + http://www.w3.org/2005/Atom + urn:oasis:names:tc:ebxml-regrep:xsd:rim:3.0 + + + hits + results + validate + + + csw:Record + rim:RegistryObject + + + csw:AnyText + dc:contributor + dc:creator + dc:date + dc:format + dc:identifier + dc:language + dc:publisher + dc:relation + dc:rights + dc:source + dc:subject + dc:title + dc:type + dct:abstract + dct:modified + ows:BoundingBox + + + + + + + + + + + brief + full + summary + + + application/json + application/xml + + + http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ + http://www.interlis.ch/INTERLIS2.3 + http://www.opengis.net/cat/csw/2.0.2 + http://www.opengis.net/cat/csw/csdgm + http://www.w3.org/2005/Atom + urn:oasis:names:tc:ebxml-regrep:xsd:rim:3.0 + + + + + + + + + + + CSW + + + 2.0.2 + 3.0.0 + + + http://geo.data.gov/geoportal/csw/discovery + + + 10 + + + XML + SOAP + + + allowed + + + + + + gml:Point + gml:LineString + gml:Polygon + gml:Envelope + + + + + + + + + + + + + + + + + + + Between + EqualTo + GreaterThan + GreaterThanEqualTo + LessThan + LessThanEqualTo + Like + NotEqualTo + NullCheck + + + + + length + lower + ltrim + rtrim + trim + upper + + + + + + + + + + diff --git a/tests/functionaltests/suites/ebrim/expected/post_GetRecords-filter-bbox-full.xml b/tests/functionaltests/suites/ebrim/expected/post_GetRecords-filter-bbox-full.xml new file mode 100644 index 000000000..5b2074c47 --- /dev/null +++ b/tests/functionaltests/suites/ebrim/expected/post_GetRecords-filter-bbox-full.xml @@ -0,0 +1,57 @@ + + + + + + + + + + + + + + + + + + + 47.59 -4.1 + 51.22 0.89 + + + + + + + Vegetation-Cropland + + + + + + + + + + + + + + + + + 44.79 -6.17 + 51.13 -2.23 + + + + + + + Hydrography-Oceanographic + + + + + diff --git a/tests/functionaltests/suites/ebrim/expected/post_GetRecords-filter-bbox.xml b/tests/functionaltests/suites/ebrim/expected/post_GetRecords-filter-bbox.xml new file mode 100644 index 000000000..fdc31f2c3 --- /dev/null +++ b/tests/functionaltests/suites/ebrim/expected/post_GetRecords-filter-bbox.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + diff --git a/tests/functionaltests/suites/ebrim/post/DescribeRecord.xml b/tests/functionaltests/suites/ebrim/post/DescribeRecord.xml new file mode 100644 index 000000000..cd708816b --- /dev/null +++ b/tests/functionaltests/suites/ebrim/post/DescribeRecord.xml @@ -0,0 +1,4 @@ + + + rim:RegistryObject + diff --git a/tests/functionaltests/suites/ebrim/post/GetCapabilities.xml b/tests/functionaltests/suites/ebrim/post/GetCapabilities.xml new file mode 100644 index 000000000..e4dc8070b --- /dev/null +++ b/tests/functionaltests/suites/ebrim/post/GetCapabilities.xml @@ -0,0 +1,9 @@ + + + + 2.0.2 + + + application/xml + + diff --git a/tests/functionaltests/suites/ebrim/post/GetRecords-filter-bbox-full.xml b/tests/functionaltests/suites/ebrim/post/GetRecords-filter-bbox-full.xml new file mode 100644 index 000000000..6b6f84942 --- /dev/null +++ b/tests/functionaltests/suites/ebrim/post/GetRecords-filter-bbox-full.xml @@ -0,0 +1,17 @@ + + + + full + + + + ows:BoundingBox + + 47 -5 + 55 20 + + + + + + diff --git a/tests/functionaltests/suites/ebrim/post/GetRecords-filter-bbox.xml b/tests/functionaltests/suites/ebrim/post/GetRecords-filter-bbox.xml new file mode 100644 index 000000000..ddb68ce96 --- /dev/null +++ b/tests/functionaltests/suites/ebrim/post/GetRecords-filter-bbox.xml @@ -0,0 +1,17 @@ + + + + brief + + + + ows:BoundingBox + + 47 -5 + 55 20 + + + + + + diff --git a/tests/functionaltests/suites/fgdc/default.cfg b/tests/functionaltests/suites/fgdc/default.cfg new file mode 100644 index 000000000..da6707ac7 --- /dev/null +++ b/tests/functionaltests/suites/fgdc/default.cfg @@ -0,0 +1,90 @@ +# ================================================================= +# +# Authors: Tom Kralidis +# +# Copyright (c) 2011 Tom Kralidis +# +# Permission is hereby granted, free of charge, to any person +# obtaining a copy of this software and associated documentation +# files (the "Software"), to deal in the Software without +# restriction, including without limitation the rights to use, +# copy, modify, merge, publish, distribute, sublicense, and/or sell +# copies of the Software, and to permit persons to whom the +# Software is furnished to do so, subject to the following +# conditions: +# +# The above copyright notice and this permission notice shall be +# included in all copies or substantial portions of the Software. +# +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +# EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES +# OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +# NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT +# HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, +# WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR +# OTHER DEALINGS IN THE SOFTWARE. +# +# ================================================================= + +[server] +home=. +url=http://localhost/pycsw/csw.py?config=tests/suites/fgdc/default.cfg +mimetype=application/xml; charset=UTF-8 +encoding=UTF-8 +language=en-US +maxrecords=10 +#loglevel=DEBUG +#logfile=/tmp/pycsw.log +#ogc_schemas_base=http://foo +federatedcatalogues=http://geo.data.gov/geoportal/csw/discovery +pretty_print=true +#gzip_compresslevel=8 +#spatial_ranking=true + +[manager] +transactions=false +allowed_ips=127.0.0.1 + +[metadata:main] +identification_title=pycsw Geospatial Catalogue +identification_abstract=pycsw is an OGC CSW server implementation written in Python +identification_keywords=catalogue,discovery +identification_keywords_type=theme +identification_fees=None +identification_accessconstraints=None +provider_name=pycsw +provider_url=http://pycsw.org/ +contact_name=Kralidis, Tom +contact_position=Senior Systems Scientist +contact_address=TBA +contact_city=Toronto +contact_stateorprovince=Ontario +contact_postalcode=M9C 3Z9 +contact_country=Canada +contact_phone=+01-416-xxx-xxxx +contact_fax=+01-416-xxx-xxxx +contact_email=tomkralidis@gmail.com +contact_url=http://kralidis.ca/ +contact_hours=0800h - 1600h EST +contact_instructions=During hours of service. Off on weekends. +contact_role=pointOfContact + +[repository] +# sqlite +database=sqlite:///tests/suites/cite/data/records.db +# postgres +#database=postgres://username:password@localhost/pycsw +table=records + +[metadata:inspire] +enabled=false +languages_supported=eng,gre +default_language=eng +date=2011-03-29 +gemet_keywords=Utility and governmental services +conformity_service=notEvaluated +contact_name=National Technical University of Athens +contact_email=tzotsos@gmail.com +temp_extent=2011-02-01/2011-03-30 + diff --git a/tests/functionaltests/suites/fgdc/expected/post_DescribeRecord.xml b/tests/functionaltests/suites/fgdc/expected/post_DescribeRecord.xml new file mode 100644 index 000000000..5f82a7d41 --- /dev/null +++ b/tests/functionaltests/suites/fgdc/expected/post_DescribeRecord.xml @@ -0,0 +1,3 @@ + + + diff --git a/tests/functionaltests/suites/fgdc/expected/post_GetCapabilities.xml b/tests/functionaltests/suites/fgdc/expected/post_GetCapabilities.xml new file mode 100644 index 000000000..e4ea071fe --- /dev/null +++ b/tests/functionaltests/suites/fgdc/expected/post_GetCapabilities.xml @@ -0,0 +1,262 @@ + + + + + pycsw Geospatial Catalogue + pycsw is an OGC CSW server implementation written in Python + + catalogue + discovery + theme + + CSW + 2.0.2 + 3.0.0 + None + None + + + pycsw + + + Kralidis, Tom + Senior Systems Scientist + + + +01-416-xxx-xxxx + +01-416-xxx-xxxx + + + TBA + Toronto + Ontario + M9C 3Z9 + Canada + tomkralidis@gmail.com + + + 0800h - 1600h EST + During hours of service. Off on weekends. + + pointOfContact + + + + + + + + + + + + Filter_Capabilities + OperationsMetadata + ServiceIdentification + ServiceProvider + + + + + + + + + + + application/json + application/xml + + + http://www.w3.org/2001/XMLSchema + http://www.w3.org/TR/xmlschema-1/ + http://www.w3.org/XML/Schema + + + csw:Record + + + + + + + + + + + DescribeRecord.outputFormat + DescribeRecord.schemaLanguage + DescribeRecord.typeName + GetCapabilities.sections + GetRecordById.ElementSetName + GetRecordById.outputFormat + GetRecordById.outputSchema + GetRecords.CONSTRAINTLANGUAGE + GetRecords.ElementSetName + GetRecords.outputFormat + GetRecords.outputSchema + GetRecords.resultType + GetRecords.typeNames + + + + + + + + + + + CQL_TEXT + FILTER + + + brief + full + summary + + + application/json + application/xml + + + http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ + http://www.interlis.ch/INTERLIS2.3 + http://www.opengis.net/cat/csw/2.0.2 + http://www.opengis.net/cat/csw/csdgm + http://www.w3.org/2005/Atom + + + hits + results + validate + + + csw:Record + + + csw:AnyText + dc:contributor + dc:creator + dc:date + dc:format + dc:identifier + dc:language + dc:publisher + dc:relation + dc:rights + dc:source + dc:subject + dc:title + dc:type + dct:abstract + dct:modified + ows:BoundingBox + + + + + + + + + + + brief + full + summary + + + application/json + application/xml + + + http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ + http://www.interlis.ch/INTERLIS2.3 + http://www.opengis.net/cat/csw/2.0.2 + http://www.opengis.net/cat/csw/csdgm + http://www.w3.org/2005/Atom + + + + + + + + + + + CSW + + + 2.0.2 + 3.0.0 + + + http://geo.data.gov/geoportal/csw/discovery + + + 10 + + + XML + SOAP + + + allowed + + + + + + gml:Point + gml:LineString + gml:Polygon + gml:Envelope + + + + + + + + + + + + + + + + + + + Between + EqualTo + GreaterThan + GreaterThanEqualTo + LessThan + LessThanEqualTo + Like + NotEqualTo + NullCheck + + + + + length + lower + ltrim + rtrim + trim + upper + + + + + + + + + + diff --git a/tests/functionaltests/suites/fgdc/expected/post_GetRecords-filter-bbox.xml b/tests/functionaltests/suites/fgdc/expected/post_GetRecords-filter-bbox.xml new file mode 100644 index 000000000..5f8c20dc1 --- /dev/null +++ b/tests/functionaltests/suites/fgdc/expected/post_GetRecords-filter-bbox.xml @@ -0,0 +1,123 @@ + + + + + + + + urn:uuid:94bc9c83-97f6-4b40-9eb8-a8e8787a5c63 + + + Mauris sed neque + + + + + + + + + + + Vegetation-Cropland + + + + + Curabitur lacinia, ante non porta tempus, mi lorem feugiat odio, eget suscipit eros pede ac velit. + + + + -4.1 + 0.89 + 51.22 + 47.59 + + + + + http://purl.org/dc/dcmitype/Dataset + + + + + + + + + + + + + + + + + + + + + + + + + + + urn:uuid:9a669547-b69b-469f-a11f-2d875366bbdc + + + Ñunç elementum + + + + + + + + + + + Hydrography-Oceanographic + + + + + + + + + -6.17 + -2.23 + 51.13 + 44.79 + + + + + http://purl.org/dc/dcmitype/Dataset + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/tests/functionaltests/suites/fgdc/post/DescribeRecord.xml b/tests/functionaltests/suites/fgdc/post/DescribeRecord.xml new file mode 100644 index 000000000..11dec8922 --- /dev/null +++ b/tests/functionaltests/suites/fgdc/post/DescribeRecord.xml @@ -0,0 +1,4 @@ + + + fgdc:metadata + diff --git a/tests/functionaltests/suites/fgdc/post/GetCapabilities.xml b/tests/functionaltests/suites/fgdc/post/GetCapabilities.xml new file mode 100644 index 000000000..e4dc8070b --- /dev/null +++ b/tests/functionaltests/suites/fgdc/post/GetCapabilities.xml @@ -0,0 +1,9 @@ + + + + 2.0.2 + + + application/xml + + diff --git a/tests/functionaltests/suites/fgdc/post/GetRecords-filter-bbox.xml b/tests/functionaltests/suites/fgdc/post/GetRecords-filter-bbox.xml new file mode 100644 index 000000000..47060cbcc --- /dev/null +++ b/tests/functionaltests/suites/fgdc/post/GetRecords-filter-bbox.xml @@ -0,0 +1,17 @@ + + + + brief + + + + ows:BoundingBox + + 47 -5 + 55 20 + + + + + + diff --git a/tests/functionaltests/suites/gm03/default.cfg b/tests/functionaltests/suites/gm03/default.cfg new file mode 100644 index 000000000..c67325399 --- /dev/null +++ b/tests/functionaltests/suites/gm03/default.cfg @@ -0,0 +1,90 @@ +# ================================================================= +# +# Authors: Tom Kralidis +# +# Copyright (c) 2011 Tom Kralidis +# +# Permission is hereby granted, free of charge, to any person +# obtaining a copy of this software and associated documentation +# files (the "Software"), to deal in the Software without +# restriction, including without limitation the rights to use, +# copy, modify, merge, publish, distribute, sublicense, and/or sell +# copies of the Software, and to permit persons to whom the +# Software is furnished to do so, subject to the following +# conditions: +# +# The above copyright notice and this permission notice shall be +# included in all copies or substantial portions of the Software. +# +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +# EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES +# OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +# NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT +# HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, +# WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR +# OTHER DEALINGS IN THE SOFTWARE. +# +# ================================================================= + +[server] +home=. +url=http://localhost/pycsw/csw.py?config=tests/suites/gm03/default.cfg +mimetype=application/xml; charset=UTF-8 +encoding=UTF-8 +language=en-US +maxrecords=10 +#loglevel=DEBUG +#logfile=/tmp/pycsw.log +#ogc_schemas_base=http://foo +federatedcatalogues=http://geo.data.gov/geoportal/csw/discovery +pretty_print=true +#gzip_compresslevel=8 +#spatial_ranking=true + +[manager] +transactions=false +allowed_ips=127.0.0.1 + +[metadata:main] +identification_title=pycsw Geospatial Catalogue +identification_abstract=pycsw is an OGC CSW server implementation written in Python +identification_keywords=catalogue,discovery +identification_keywords_type=theme +identification_fees=None +identification_accessconstraints=None +provider_name=pycsw +provider_url=http://pycsw.org/ +contact_name=Kralidis, Tom +contact_position=Senior Systems Scientist +contact_address=TBA +contact_city=Toronto +contact_stateorprovince=Ontario +contact_postalcode=M9C 3Z9 +contact_country=Canada +contact_phone=+01-416-xxx-xxxx +contact_fax=+01-416-xxx-xxxx +contact_email=tomkralidis@gmail.com +contact_url=http://kralidis.ca/ +contact_hours=0800h - 1600h EST +contact_instructions=During hours of service. Off on weekends. +contact_role=pointOfContact + +[repository] +# sqlite +database=sqlite:///tests/suites/cite/data/records.db +# postgres +#database=postgres://username:password@localhost/pycsw +table=records + +[metadata:inspire] +enabled=false +languages_supported=eng,gre +default_language=eng +date=2011-03-29 +gemet_keywords=Utility and governmental services +conformity_service=notEvaluated +contact_name=National Technical University of Athens +contact_email=tzotsos@gmail.com +temp_extent=2011-02-01/2011-03-30 + diff --git a/tests/functionaltests/suites/gm03/expected/post_GetCapabilities.xml b/tests/functionaltests/suites/gm03/expected/post_GetCapabilities.xml new file mode 100644 index 000000000..46b77ba68 --- /dev/null +++ b/tests/functionaltests/suites/gm03/expected/post_GetCapabilities.xml @@ -0,0 +1,262 @@ + + + + + pycsw Geospatial Catalogue + pycsw is an OGC CSW server implementation written in Python + + catalogue + discovery + theme + + CSW + 2.0.2 + 3.0.0 + None + None + + + pycsw + + + Kralidis, Tom + Senior Systems Scientist + + + +01-416-xxx-xxxx + +01-416-xxx-xxxx + + + TBA + Toronto + Ontario + M9C 3Z9 + Canada + tomkralidis@gmail.com + + + 0800h - 1600h EST + During hours of service. Off on weekends. + + pointOfContact + + + + + + + + + + + + Filter_Capabilities + OperationsMetadata + ServiceIdentification + ServiceProvider + + + + + + + + + + + application/json + application/xml + + + http://www.w3.org/2001/XMLSchema + http://www.w3.org/TR/xmlschema-1/ + http://www.w3.org/XML/Schema + + + csw:Record + + + + + + + + + + + DescribeRecord.outputFormat + DescribeRecord.schemaLanguage + DescribeRecord.typeName + GetCapabilities.sections + GetRecordById.ElementSetName + GetRecordById.outputFormat + GetRecordById.outputSchema + GetRecords.CONSTRAINTLANGUAGE + GetRecords.ElementSetName + GetRecords.outputFormat + GetRecords.outputSchema + GetRecords.resultType + GetRecords.typeNames + + + + + + + + + + + CQL_TEXT + FILTER + + + brief + full + summary + + + application/json + application/xml + + + http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ + http://www.interlis.ch/INTERLIS2.3 + http://www.opengis.net/cat/csw/2.0.2 + http://www.opengis.net/cat/csw/csdgm + http://www.w3.org/2005/Atom + + + hits + results + validate + + + csw:Record + + + csw:AnyText + dc:contributor + dc:creator + dc:date + dc:format + dc:identifier + dc:language + dc:publisher + dc:relation + dc:rights + dc:source + dc:subject + dc:title + dc:type + dct:abstract + dct:modified + ows:BoundingBox + + + + + + + + + + + brief + full + summary + + + application/json + application/xml + + + http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ + http://www.interlis.ch/INTERLIS2.3 + http://www.opengis.net/cat/csw/2.0.2 + http://www.opengis.net/cat/csw/csdgm + http://www.w3.org/2005/Atom + + + + + + + + + + + CSW + + + 2.0.2 + 3.0.0 + + + http://geo.data.gov/geoportal/csw/discovery + + + 10 + + + XML + SOAP + + + allowed + + + + + + gml:Point + gml:LineString + gml:Polygon + gml:Envelope + + + + + + + + + + + + + + + + + + + Between + EqualTo + GreaterThan + GreaterThanEqualTo + LessThan + LessThanEqualTo + Like + NotEqualTo + NullCheck + + + + + length + lower + ltrim + rtrim + trim + upper + + + + + + + + + + diff --git a/tests/functionaltests/suites/gm03/expected/post_GetRecords-filter-bbox.xml b/tests/functionaltests/suites/gm03/expected/post_GetRecords-filter-bbox.xml new file mode 100644 index 000000000..55213c6e1 --- /dev/null +++ b/tests/functionaltests/suites/gm03/expected/post_GetRecords-filter-bbox.xml @@ -0,0 +1,137 @@ + + + + + + + + + + + + + urn:uuid:94bc9c83-97f6-4b40-9eb8-a8e8787a5c63 + + + GM03 + 2.3 + + + http://purl.org/dc/dcmitype/Dataset + + + + + + + + + + + + + + Mauris sed neque + + + + + + + + + + + Curabitur lacinia, ante non porta tempus, mi lorem feugiat odio, eget suscipit eros pede ac velit. + + + + + + + + + + + Vegetation-Cropland + + + + + + + 51.22 + 47.59 + -4.1 + 0.89 + + + + + + + + + + + + urn:uuid:9a669547-b69b-469f-a11f-2d875366bbdc + + + GM03 + 2.3 + + + http://purl.org/dc/dcmitype/Dataset + + + + + + + + + + + + + + Ñunç elementum + + + + + + + + + + + + + + + + + + + + + + Hydrography-Oceanographic + + + + + + + 51.13 + 44.79 + -6.17 + -2.23 + + + + + + diff --git a/tests/functionaltests/suites/gm03/post/GetCapabilities.xml b/tests/functionaltests/suites/gm03/post/GetCapabilities.xml new file mode 100644 index 000000000..e4dc8070b --- /dev/null +++ b/tests/functionaltests/suites/gm03/post/GetCapabilities.xml @@ -0,0 +1,9 @@ + + + + 2.0.2 + + + application/xml + + diff --git a/tests/functionaltests/suites/gm03/post/GetRecords-filter-bbox.xml b/tests/functionaltests/suites/gm03/post/GetRecords-filter-bbox.xml new file mode 100644 index 000000000..4b2319124 --- /dev/null +++ b/tests/functionaltests/suites/gm03/post/GetRecords-filter-bbox.xml @@ -0,0 +1,17 @@ + + + + brief + + + + ows:BoundingBox + + 47 -5 + 55 20 + + + + + + diff --git a/tests/functionaltests/suites/harvesting/default.cfg b/tests/functionaltests/suites/harvesting/default.cfg new file mode 100644 index 000000000..78f00ea1c --- /dev/null +++ b/tests/functionaltests/suites/harvesting/default.cfg @@ -0,0 +1,91 @@ +# ================================================================= +# +# Authors: Tom Kralidis +# +# Copyright (c) 2012 Tom Kralidis +# +# Permission is hereby granted, free of charge, to any person +# obtaining a copy of this software and associated documentation +# files (the "Software"), to deal in the Software without +# restriction, including without limitation the rights to use, +# copy, modify, merge, publish, distribute, sublicense, and/or sell +# copies of the Software, and to permit persons to whom the +# Software is furnished to do so, subject to the following +# conditions: +# +# The above copyright notice and this permission notice shall be +# included in all copies or substantial portions of the Software. +# +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +# EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES +# OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +# NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT +# HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, +# WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR +# OTHER DEALINGS IN THE SOFTWARE. +# +# ================================================================= + +[server] +home=. +url=http://localhost/pycsw/csw.py?config=tests/suites/harvesting/default.cfg +mimetype=application/xml; charset=UTF-8 +encoding=UTF-8 +language=en-US +maxrecords=10 +#loglevel=DEBUG +#logfile=/tmp/pycsw.log +#ogc_schemas_base=http://foo +federatedcatalogues=http://geo.data.gov/geoportal/csw/discovery +pretty_print=true +#gzip_compresslevel=8 +#spatial_ranking=true +profiles=apiso + +[manager] +transactions=true +allowed_ips=127.0.0.1 + +[metadata:main] +identification_title=pycsw Geospatial Catalogue +identification_abstract=pycsw is an OGC CSW server implementation written in Python +identification_keywords=catalogue,discovery +identification_keywords_type=theme +identification_fees=None +identification_accessconstraints=None +provider_name=pycsw +provider_url=http://pycsw.org/ +contact_name=Kralidis, Tom +contact_position=Senior Systems Scientist +contact_address=TBA +contact_city=Toronto +contact_stateorprovince=Ontario +contact_postalcode=M9C 3Z9 +contact_country=Canada +contact_phone=+01-416-xxx-xxxx +contact_fax=+01-416-xxx-xxxx +contact_email=tomkralidis@gmail.com +contact_url=http://kralidis.ca/ +contact_hours=0800h - 1600h EST +contact_instructions=During hours of service. Off on weekends. +contact_role=pointOfContact + +[repository] +# sqlite +database=sqlite:///tests/suites/harvesting/data/records.db +# postgres +#database=postgres://username:password@localhost/pycsw +table=records + +[metadata:inspire] +enabled=false +languages_supported=eng,gre +default_language=eng +date=2011-03-29 +gemet_keywords=Utility and governmental services +conformity_service=notEvaluated +contact_name=National Technical University of Athens +contact_email=tzotsos@gmail.com +temp_extent=2011-02-01/2011-03-30 + diff --git a/tests/functionaltests/suites/harvesting/expected/get_Exception-Harvest-invalid-resourcetype.xml b/tests/functionaltests/suites/harvesting/expected/get_Exception-Harvest-invalid-resourcetype.xml new file mode 100644 index 000000000..4e1e40cd8 --- /dev/null +++ b/tests/functionaltests/suites/harvesting/expected/get_Exception-Harvest-invalid-resourcetype.xml @@ -0,0 +1,7 @@ + + + + + Invalid resource type parameter: http://www.opengis.net/wms1234. Allowable resourcetype values: http://www.opengis.net/cat/csw/2.0.2,http://www.opengis.net/cat/csw/3.0,http://www.opengis.net/wms,http://www.opengis.net/wmts/1.0,http://www.opengis.net/wfs,http://www.opengis.net/wfs/2.0,http://www.opengis.net/wcs,http://www.opengis.net/wps/1.0.0,http://www.opengis.net/sos/1.0,http://www.opengis.net/sos/2.0,http://www.isotc211.org/2005/gmi,urn:geoss:waf,http://www.interlis.ch/INTERLIS2.3,http://www.opengis.net/cat/csw/csdgm,http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/,http://www.w3.org/2005/Atom,http://www.isotc211.org/2005/gmd,http://www.isotc211.org/schemas/2005/gmd/ + + diff --git a/tests/functionaltests/suites/harvesting/expected/get_Exception-Harvest-missing-resourcetype.xml b/tests/functionaltests/suites/harvesting/expected/get_Exception-Harvest-missing-resourcetype.xml new file mode 100644 index 000000000..36852c4f6 --- /dev/null +++ b/tests/functionaltests/suites/harvesting/expected/get_Exception-Harvest-missing-resourcetype.xml @@ -0,0 +1,7 @@ + + + + + Missing resourcetype parameter + + diff --git a/tests/functionaltests/suites/harvesting/expected/get_Exception-Harvest-missing-source.xml b/tests/functionaltests/suites/harvesting/expected/get_Exception-Harvest-missing-source.xml new file mode 100644 index 000000000..250afe73d --- /dev/null +++ b/tests/functionaltests/suites/harvesting/expected/get_Exception-Harvest-missing-source.xml @@ -0,0 +1,7 @@ + + + + + Missing source parameter + + diff --git a/tests/functionaltests/suites/harvesting/expected/get_Exception-Harvest-waf-bad-value.xml b/tests/functionaltests/suites/harvesting/expected/get_Exception-Harvest-waf-bad-value.xml new file mode 100644 index 000000000..4739bff30 --- /dev/null +++ b/tests/functionaltests/suites/harvesting/expected/get_Exception-Harvest-waf-bad-value.xml @@ -0,0 +1,7 @@ + + + + + Harvest failed: record parsing failed: unknown url type: badvalue + + diff --git a/tests/functionaltests/suites/harvesting/expected/get_Exception-Harvest-waf-no-records-found.xml b/tests/functionaltests/suites/harvesting/expected/get_Exception-Harvest-waf-no-records-found.xml new file mode 100644 index 000000000..177601c6b --- /dev/null +++ b/tests/functionaltests/suites/harvesting/expected/get_Exception-Harvest-waf-no-records-found.xml @@ -0,0 +1,11 @@ + + + + + + 0 + 0 + 0 + + + diff --git a/tests/functionaltests/suites/harvesting/expected/post_Clear-000-delete-all.xml b/tests/functionaltests/suites/harvesting/expected/post_Clear-000-delete-all.xml new file mode 100644 index 000000000..01ccdf629 --- /dev/null +++ b/tests/functionaltests/suites/harvesting/expected/post_Clear-000-delete-all.xml @@ -0,0 +1,9 @@ + + + + + 0 + 0 + 0 + + diff --git a/tests/functionaltests/suites/harvesting/expected/post_Exception-Havest-csw-404.xml b/tests/functionaltests/suites/harvesting/expected/post_Exception-Havest-csw-404.xml new file mode 100644 index 000000000..371aae9c0 --- /dev/null +++ b/tests/functionaltests/suites/harvesting/expected/post_Exception-Havest-csw-404.xml @@ -0,0 +1,7 @@ + + + + + Harvest failed: record parsing failed: HTTP error: HTTP Error 404: Not Found + + diff --git a/tests/functionaltests/suites/harvesting/expected/post_GetCapabilities.xml b/tests/functionaltests/suites/harvesting/expected/post_GetCapabilities.xml new file mode 100644 index 000000000..731b83f90 --- /dev/null +++ b/tests/functionaltests/suites/harvesting/expected/post_GetCapabilities.xml @@ -0,0 +1,368 @@ + + + + + pycsw Geospatial Catalogue + pycsw is an OGC CSW server implementation written in Python + + catalogue + discovery + theme + + CSW + 2.0.2 + 3.0.0 + None + None + + + pycsw + + + Kralidis, Tom + Senior Systems Scientist + + + +01-416-xxx-xxxx + +01-416-xxx-xxxx + + + TBA + Toronto + Ontario + M9C 3Z9 + Canada + tomkralidis@gmail.com + + + 0800h - 1600h EST + During hours of service. Off on weekends. + + pointOfContact + + + + + + + + + + + + Filter_Capabilities + OperationsMetadata + ServiceIdentification + ServiceProvider + + + + + + + + + + + application/json + application/xml + + + http://www.w3.org/2001/XMLSchema + http://www.w3.org/TR/xmlschema-1/ + http://www.w3.org/XML/Schema + + + csw:Record + gmd:MD_Metadata + + + + + + + + + + + DescribeRecord.outputFormat + DescribeRecord.schemaLanguage + DescribeRecord.typeName + GetCapabilities.sections + GetRecordById.ElementSetName + GetRecordById.outputFormat + GetRecordById.outputSchema + GetRecords.CONSTRAINTLANGUAGE + GetRecords.ElementSetName + GetRecords.outputFormat + GetRecords.outputSchema + GetRecords.resultType + GetRecords.typeNames + Harvest.ResourceType + Transaction.TransactionSchemas + + + + + + + + + + + CQL_TEXT + FILTER + + + brief + full + summary + + + application/json + application/xml + + + http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ + http://www.interlis.ch/INTERLIS2.3 + http://www.isotc211.org/2005/gmd + http://www.opengis.net/cat/csw/2.0.2 + http://www.opengis.net/cat/csw/csdgm + http://www.w3.org/2005/Atom + + + hits + results + validate + + + csw:Record + gmd:MD_Metadata + + + apiso:AccessConstraints + apiso:Classification + apiso:ConditionApplyingToAccessAndUse + apiso:Contributor + apiso:Creator + apiso:Degree + apiso:Lineage + apiso:OtherConstraints + apiso:Publisher + apiso:Relation + apiso:ResponsiblePartyRole + apiso:SpecificationDate + apiso:SpecificationDateType + apiso:SpecificationTitle + + + csw:AnyText + dc:contributor + dc:creator + dc:date + dc:format + dc:identifier + dc:language + dc:publisher + dc:relation + dc:rights + dc:source + dc:subject + dc:title + dc:type + dct:abstract + dct:modified + ows:BoundingBox + + + apiso:Abstract + apiso:AlternateTitle + apiso:AnyText + apiso:BoundingBox + apiso:CRS + apiso:CouplingType + apiso:CreationDate + apiso:Denominator + apiso:DistanceUOM + apiso:DistanceValue + apiso:Format + apiso:GeographicDescriptionCode + apiso:HasSecurityConstraints + apiso:Identifier + apiso:KeywordType + apiso:Language + apiso:Modified + apiso:OperatesOn + apiso:OperatesOnIdentifier + apiso:OperatesOnName + apiso:Operation + apiso:OrganisationName + apiso:ParentIdentifier + apiso:PublicationDate + apiso:ResourceLanguage + apiso:RevisionDate + apiso:ServiceType + apiso:ServiceTypeVersion + apiso:Subject + apiso:TempExtent_begin + apiso:TempExtent_end + apiso:Title + apiso:TopicCategory + apiso:Type + + + + + + + + + + + brief + full + summary + + + application/json + application/xml + + + http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ + http://www.interlis.ch/INTERLIS2.3 + http://www.isotc211.org/2005/gmd + http://www.opengis.net/cat/csw/2.0.2 + http://www.opengis.net/cat/csw/csdgm + http://www.w3.org/2005/Atom + + + + + + + + + + + + + + + + + http://www.isotc211.org/2005/gmi + http://www.opengis.net/cat/csw/2.0.2 + http://www.opengis.net/cat/csw/3.0 + http://www.opengis.net/sos/1.0 + http://www.opengis.net/sos/2.0 + http://www.opengis.net/wcs + http://www.opengis.net/wfs + http://www.opengis.net/wfs/2.0 + http://www.opengis.net/wms + http://www.opengis.net/wmts/1.0 + http://www.opengis.net/wps/1.0.0 + urn:geoss:waf + + + + + + + + + + http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ + http://www.interlis.ch/INTERLIS2.3 + http://www.isotc211.org/2005/gmd + http://www.isotc211.org/2005/gmi + http://www.isotc211.org/schemas/2005/gmd/ + http://www.opengis.net/cat/csw/2.0.2 + http://www.opengis.net/cat/csw/3.0 + http://www.opengis.net/cat/csw/csdgm + http://www.opengis.net/sos/1.0 + http://www.opengis.net/sos/2.0 + http://www.opengis.net/wcs + http://www.opengis.net/wfs + http://www.opengis.net/wfs/2.0 + http://www.opengis.net/wms + http://www.opengis.net/wmts/1.0 + http://www.opengis.net/wps/1.0.0 + http://www.w3.org/2005/Atom + urn:geoss:waf + + + + CSW + + + 2.0.2 + 3.0.0 + + + http://geo.data.gov/geoportal/csw/discovery + + + 10 + + + XML + SOAP + + + allowed + + + + + + gml:Point + gml:LineString + gml:Polygon + gml:Envelope + + + + + + + + + + + + + + + + + + + Between + EqualTo + GreaterThan + GreaterThanEqualTo + LessThan + LessThanEqualTo + Like + NotEqualTo + NullCheck + + + + + length + lower + ltrim + rtrim + trim + upper + + + + + + + + + + diff --git a/tests/functionaltests/suites/harvesting/expected/post_GetDomain-parameter.xml b/tests/functionaltests/suites/harvesting/expected/post_GetDomain-parameter.xml new file mode 100644 index 000000000..b47402ca2 --- /dev/null +++ b/tests/functionaltests/suites/harvesting/expected/post_GetDomain-parameter.xml @@ -0,0 +1,27 @@ + + + + + Harvest.ResourceType + + http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ + http://www.interlis.ch/INTERLIS2.3 + http://www.isotc211.org/2005/gmd + http://www.isotc211.org/2005/gmi + http://www.isotc211.org/schemas/2005/gmd/ + http://www.opengis.net/cat/csw/2.0.2 + http://www.opengis.net/cat/csw/3.0 + http://www.opengis.net/cat/csw/csdgm + http://www.opengis.net/sos/1.0 + http://www.opengis.net/sos/2.0 + http://www.opengis.net/wcs + http://www.opengis.net/wfs + http://www.opengis.net/wfs/2.0 + http://www.opengis.net/wms + http://www.opengis.net/wmts/1.0 + http://www.opengis.net/wps/1.0.0 + http://www.w3.org/2005/Atom + urn:geoss:waf + + + diff --git a/tests/functionaltests/suites/harvesting/expected/post_Harvest-csw-iso.xml b/tests/functionaltests/suites/harvesting/expected/post_Harvest-csw-iso.xml new file mode 100644 index 000000000..1aa0f2bfc --- /dev/null +++ b/tests/functionaltests/suites/harvesting/expected/post_Harvest-csw-iso.xml @@ -0,0 +1,149 @@ + + + + + + 34 + 0 + 0 + + + + PYCSW_IDENTIFIER + pycsw Geospatial Catalogue OGC services demo + + + PYCSW_IDENTIFIER + 1 Million Scale WMS Layers from the National Atlas of the United States + + + PYCSW_IDENTIFIER-ports1m + 1 Million Scale - Ports + + + PYCSW_IDENTIFIER-national1m + 1 Million Scale - National Boundary + + + PYCSW_IDENTIFIER-elevation + 1 Million Scale - Elevation 100 Meter Resolution + + + PYCSW_IDENTIFIER-impervious + 1 Million Scale - Impervious Surface 100 Meter Resolution + + + PYCSW_IDENTIFIER-coast1m + 1 Million Scale - Coastlines + + + PYCSW_IDENTIFIER-cdl + 1 Million Scale - 113th Congressional Districts + + + PYCSW_IDENTIFIER-states1m + 1 Million Scale - States + + + PYCSW_IDENTIFIER-elsli0100g + 1 Million Scale - Color-Sliced Elevation 100 Meter Resolution + + + PYCSW_IDENTIFIER-landcov100m + 1 Million Scale - Land Cover 100 Meter Resolution + + + PYCSW_IDENTIFIER-cdp + 1 Million Scale - 113th Congressional Districts by Party + + + PYCSW_IDENTIFIER-amtrak1m + 1 Million Scale - Railroad and Bus Passenger Stations + + + PYCSW_IDENTIFIER-airports1m + 1 Million Scale - Airports + + + PYCSW_IDENTIFIER-one_million + 1 Million Scale WMS Layers from the National Atlas of the United States + + + PYCSW_IDENTIFIER-satvi0100g + 1 Million Scale - Satellite View 100 Meter Resolution + + + PYCSW_IDENTIFIER-srcoi0100g + 1 Million Scale - Color Shaded Relief 100 Meter Resolution + + + PYCSW_IDENTIFIER-srgri0100g + 1 Million Scale - Gray Shaded Relief 100 Meter Resolution + + + PYCSW_IDENTIFIER-treecanopy + 1 Million Scale - Tree Canopy 100 Meter Resolution + + + PYCSW_IDENTIFIER-svsri0100g + 1 Million Scale - Satellite View with Shaded Relief 100 Meter Resolution + + + PYCSW_IDENTIFIER + Wisconsin Lake Clarity + + + PYCSW_IDENTIFIER-Highways + Highways + + + PYCSW_IDENTIFIER-LakesTSI + LakesTSI + + + PYCSW_IDENTIFIER-LakeClarity + Wisconsin Lake Clarity + + + PYCSW_IDENTIFIER-LakesTSI_0305 + LakesTSI_0305 + + + PYCSW_IDENTIFIER-Relief + Relief + + + PYCSW_IDENTIFIER-LakeNames_0305 + LakeNames_0305 + + + PYCSW_IDENTIFIER-Roads + Roads + + + PYCSW_IDENTIFIER-LakeNames + LakeNames + + + PYCSW_IDENTIFIER-Counties + Counties + + + PYCSW_IDENTIFIER + View & download service for EU-DEM data provided by EOX + + + PYCSW_IDENTIFIER-EU-DEM + EU-DEM + + + PYCSW_IDENTIFIER-MS + View & download service for EU-DEM data provided by EOX + + + PYCSW_IDENTIFIER-eudem_color + EU-DEM color shaded + + + + diff --git a/tests/functionaltests/suites/harvesting/expected/post_Harvest-csw-run1.xml b/tests/functionaltests/suites/harvesting/expected/post_Harvest-csw-run1.xml new file mode 100644 index 000000000..5786b5423 --- /dev/null +++ b/tests/functionaltests/suites/harvesting/expected/post_Harvest-csw-run1.xml @@ -0,0 +1,65 @@ + + + + + + 13 + 0 + 0 + + + + PYCSW_IDENTIFIER + pycsw OGC CITE demo and Reference Implementation + + + PYCSW_IDENTIFIER + Lorem ipsum + + + PYCSW_IDENTIFIER + + + + PYCSW_IDENTIFIER + Maecenas enim + + + PYCSW_IDENTIFIER + Ut facilisis justo ut lacus + + + PYCSW_IDENTIFIER + Aliquam fermentum purus quis arcu + + + PYCSW_IDENTIFIER + Vestibulum massa purus + + + PYCSW_IDENTIFIER + + + + PYCSW_IDENTIFIER + Mauris sed neque + + + PYCSW_IDENTIFIER + Ñunç elementum + + + PYCSW_IDENTIFIER + Lorem ipsum dolor sit amet + + + PYCSW_IDENTIFIER + + + + PYCSW_IDENTIFIER + Fuscé vitae ligulä + + + + diff --git a/tests/functionaltests/suites/harvesting/expected/post_Harvest-csw-run2.xml b/tests/functionaltests/suites/harvesting/expected/post_Harvest-csw-run2.xml new file mode 100644 index 000000000..4362f5264 --- /dev/null +++ b/tests/functionaltests/suites/harvesting/expected/post_Harvest-csw-run2.xml @@ -0,0 +1,11 @@ + + + + + + 13 + 13 + 0 + + + diff --git a/tests/functionaltests/suites/harvesting/expected/post_Harvest-dc.xml b/tests/functionaltests/suites/harvesting/expected/post_Harvest-dc.xml new file mode 100644 index 000000000..58d6d5044 --- /dev/null +++ b/tests/functionaltests/suites/harvesting/expected/post_Harvest-dc.xml @@ -0,0 +1,17 @@ + + + + + + 1 + 0 + 0 + + + + PYCSW_IDENTIFIER + Image2000 Product 1 (at1) Multispectral + + + + diff --git a/tests/functionaltests/suites/harvesting/expected/post_Harvest-fgdc.xml b/tests/functionaltests/suites/harvesting/expected/post_Harvest-fgdc.xml new file mode 100644 index 000000000..c12247fcb --- /dev/null +++ b/tests/functionaltests/suites/harvesting/expected/post_Harvest-fgdc.xml @@ -0,0 +1,17 @@ + + + + + + 1 + 0 + 0 + + + + PYCSW_IDENTIFIER + CPC Merged Analysis of Precipitation Standard [POL 88.75 -88.75 180 -180] + + + + diff --git a/tests/functionaltests/suites/harvesting/expected/post_Harvest-iso.xml b/tests/functionaltests/suites/harvesting/expected/post_Harvest-iso.xml new file mode 100644 index 000000000..98b9770f4 --- /dev/null +++ b/tests/functionaltests/suites/harvesting/expected/post_Harvest-iso.xml @@ -0,0 +1,17 @@ + + + + + + 1 + 0 + 0 + + + + PYCSW_IDENTIFIER + Wasserkörper Linien + + + + diff --git a/tests/functionaltests/suites/harvesting/expected/post_Harvest-rdf.xml b/tests/functionaltests/suites/harvesting/expected/post_Harvest-rdf.xml new file mode 100644 index 000000000..2e926c2c4 --- /dev/null +++ b/tests/functionaltests/suites/harvesting/expected/post_Harvest-rdf.xml @@ -0,0 +1,17 @@ + + + + + + 1 + 0 + 0 + + + + PYCSW_IDENTIFIER + Website_gdb + + + + diff --git a/tests/functionaltests/suites/harvesting/expected/post_Harvest-sos100.xml b/tests/functionaltests/suites/harvesting/expected/post_Harvest-sos100.xml new file mode 100644 index 000000000..25e56a48b --- /dev/null +++ b/tests/functionaltests/suites/harvesting/expected/post_Harvest-sos100.xml @@ -0,0 +1,133 @@ + + + + + + 30 + 0 + 0 + + + + PYCSW_IDENTIFIER + Northeastern Regional Association of Coastal Ocean Observing Systems + + + PYCSW_IDENTIFIER-CML + Mooring CML data from the COOA (UNH-COOA) located UNH Coastal Marine Lab Field Station + + + PYCSW_IDENTIFIER-F01 + Mooring F01 data from the Northeastern Regional Association of Coastal Ocean Observing Systems (Univ. of Maine) located Penobscot Bay + + + PYCSW_IDENTIFIER-F02 + Mooring F02 data from the Northeastern Regional Association of Coastal Ocean Observing Systems (Univ. of Maine) located DeepCwind Castine Test Site + + + PYCSW_IDENTIFIER-SMB-MO-04 + Mooring SMB-MO-04 data from the Northeastern Regional Association of Coastal Ocean Observing Systems (SmartBay) located Pilot Boarding Station, Red Island Shoal, Placentia Bay, NL, CA + + + PYCSW_IDENTIFIER-LDLC3 + Mooring LDLC3 data from the LISICOS (LISICOS) located New London Ledge Light + + + PYCSW_IDENTIFIER-CDIP154 + Mooring CDIP154 data from the COOA (UNH-COOA-CDIP) located Block Island, RI + + + PYCSW_IDENTIFIER-CDIP176 + Mooring CDIP176 data from the COOA (UNH-COOA-CDIP) located Halifax Harbor, CA + + + PYCSW_IDENTIFIER-ARTG + Mooring ARTG data from the LISICOS (LISICOS) located North of Smithtown Bay + + + PYCSW_IDENTIFIER-M01 + Mooring M01 data from the Northeastern Regional Association of Coastal Ocean Observing Systems (Univ. of Maine) located Jordan Basin + + + PYCSW_IDENTIFIER-N01 + Mooring N01 data from the Northeastern Regional Association of Coastal Ocean Observing Systems (Univ. of Maine) located Northeast Channel + + + PYCSW_IDENTIFIER-44039 + Mooring 44039 data from the LISICOS (LISICOS) located Central Long Island Sound + + + PYCSW_IDENTIFIER-SMB-MO-01 + Mooring SMB-MO-01 data from the Northeastern Regional Association of Coastal Ocean Observing Systems (SmartBay) located Mouth of Placentia Bay, NL, Canada + + + PYCSW_IDENTIFIER-SMB-MO-05 + Mooring SMB-MO-05 data from the Northeastern Regional Association of Coastal Ocean Observing Systems (SmartBay) located Come By Chance Point, Placentia Bay, NL, CA + + + PYCSW_IDENTIFIER-D02 + Mooring D02 data from the Northeastern Regional Association of Coastal Ocean Observing Systems (Univ. of Maine) located Lower Harpswell Sound + + + PYCSW_IDENTIFIER-E02 + Mooring E02 data from the Northeastern Regional Association of Coastal Ocean Observing Systems (Univ. of Maine) located DeepCwind Test Site + + + PYCSW_IDENTIFIER-E01 + Mooring E01 data from the Northeastern Regional Association of Coastal Ocean Observing Systems (Univ. of Maine) located Central Maine Shelf + + + PYCSW_IDENTIFIER-B01 + Mooring B01 data from the Northeastern Regional Association of Coastal Ocean Observing Systems (Univ. of Maine) located Western Maine Shelf + + + PYCSW_IDENTIFIER-EXRX + Mooring EXRX data from the LISICOS (LISICOS) located Execution Rocks Long Island Sound + + + PYCSW_IDENTIFIER-44098 + Mooring 44098 data from the COOA (UNH-COOA) located Jeffrey's Ledge + + + PYCSW_IDENTIFIER-WLIS + Mooring WLIS data from the LISICOS (LISICOS) located Western Long Island Sound + + + PYCSW_IDENTIFIER-CO2 + Mooring CO2 data from the COOA (UNH-COOA) located Appledore Island + + + PYCSW_IDENTIFIER-CDIP221 + Mooring CDIP221 data from the COOA (UNH-COOA-CDIP) located Cape Cod Bay, MA + + + PYCSW_IDENTIFIER-ALL_PLATFORMS + Mooring data for all buoys from the Northeastern Regional Association of Coastal Ocean Observing Systems (NERACOOS) located in the NERACOOS Region + + + PYCSW_IDENTIFIER-A01 + Mooring A01 data from the Northeastern Regional Association of Coastal Ocean Observing Systems (Univ. of Maine) located Massachusetts Bay + + + PYCSW_IDENTIFIER-MDS02 + Mooring MDS02 data from the URI (Univ. of Rhode Is.) located SAMP MD S + + + PYCSW_IDENTIFIER-GREAT_BAY + Mooring GREAT_BAY data from the COOA (UNH-COOA) located Great Bay, NH + + + PYCSW_IDENTIFIER-I01 + Mooring I01 data from the Northeastern Regional Association of Coastal Ocean Observing Systems (Univ. of Maine) located Eastern Maine Shelf + + + PYCSW_IDENTIFIER-CDIP207 + Mooring CDIP207 data from the COOA (UNH-COOA-CDIP) located Fire Island, NY + + + PYCSW_IDENTIFIER-44060 + Mooring 44060 data from the LISICOS (LISICOS) located Eastern Long Island Sound + + + + diff --git a/tests/functionaltests/suites/harvesting/expected/post_Harvest-sos200.xml b/tests/functionaltests/suites/harvesting/expected/post_Harvest-sos200.xml new file mode 100644 index 000000000..b41170b20 --- /dev/null +++ b/tests/functionaltests/suites/harvesting/expected/post_Harvest-sos200.xml @@ -0,0 +1,21 @@ + + + + + + 2 + 0 + 0 + + + + PYCSW_IDENTIFIER + GIN SOS + + + PYCSW_IDENTIFIER-GW_LEVEL + + + + + diff --git a/tests/functionaltests/suites/harvesting/expected/post_Harvest-waf.xml b/tests/functionaltests/suites/harvesting/expected/post_Harvest-waf.xml new file mode 100644 index 000000000..75b60273f --- /dev/null +++ b/tests/functionaltests/suites/harvesting/expected/post_Harvest-waf.xml @@ -0,0 +1,25 @@ + + + + + + 3 + 0 + 0 + + + + PYCSW_IDENTIFIER + CPC Merged Analysis of Precipitation Standard [POL 88.75 -88.75 180 -180] + + + PYCSW_IDENTIFIER + Image2000 Product 1 (at1) Multispectral + + + PYCSW_IDENTIFIER + NOAA_RNC + + + + diff --git a/tests/functionaltests/suites/harvesting/expected/post_Harvest-wcs.xml b/tests/functionaltests/suites/harvesting/expected/post_Harvest-wcs.xml new file mode 100644 index 000000000..a5dcbed6f --- /dev/null +++ b/tests/functionaltests/suites/harvesting/expected/post_Harvest-wcs.xml @@ -0,0 +1,33 @@ + + + + + + 5 + 0 + 0 + + + + PYCSW_IDENTIFIER + WCS Demo Server for MapServer + + + PYCSW_IDENTIFIER-ndvi + North Central US MODIS-based NDVI Images for 2002 + + + PYCSW_IDENTIFIER-modis-001 + North Central US MODIS Images for 2002-001 + + + PYCSW_IDENTIFIER-fpar + North Central US MODIS-based FPAR Images for 2002 + + + PYCSW_IDENTIFIER-modis + North Central US MODIS Images for 2002 + + + + diff --git a/tests/functionaltests/suites/harvesting/expected/post_Harvest-wfs110.xml b/tests/functionaltests/suites/harvesting/expected/post_Harvest-wfs110.xml new file mode 100644 index 000000000..96ec6feb3 --- /dev/null +++ b/tests/functionaltests/suites/harvesting/expected/post_Harvest-wfs110.xml @@ -0,0 +1,37 @@ + + + + + + 6 + 0 + 0 + + + + PYCSW_IDENTIFIER + GeoServer Web Feature Service + + + PYCSW_IDENTIFIER-geoss_water_sba:Reservoir + Reservoir + + + PYCSW_IDENTIFIER-geoss_water_sba:glwd_1 + glwd_1 + + + PYCSW_IDENTIFIER-geoss_water_sba:Dams + Dams + + + PYCSW_IDENTIFIER-geoss_water_sba:glwd_2 + glwd_2 + + + PYCSW_IDENTIFIER-geoss_water_sba:Lakes + Lakes + + + + diff --git a/tests/functionaltests/suites/harvesting/expected/post_Harvest-wfs200.xml b/tests/functionaltests/suites/harvesting/expected/post_Harvest-wfs200.xml new file mode 100644 index 000000000..d73153e77 --- /dev/null +++ b/tests/functionaltests/suites/harvesting/expected/post_Harvest-wfs200.xml @@ -0,0 +1,57 @@ + + + + + + 11 + 0 + 0 + + + + PYCSW_IDENTIFIER + CERA_CERA_TechClasses_WGS84 + + + PYCSW_IDENTIFIER-CERA_CERA_TechClasses_WGS84:MBIE_Technical_Classes_WGS84_2012-08-16 + MBIE_Technical_Classes_WGS84_2012-08-16 + + + PYCSW_IDENTIFIER-CERA_CERA_TechClasses_WGS84:MBIE_Technical_Classes_WGS84_2012-05-18 + MBIE_Technical_Classes_WGS84_2012-05-18 + + + PYCSW_IDENTIFIER-CERA_CERA_TechClasses_WGS84:MBIE_Technical_Classes_WGS84_2013-12-04 + MBIE_Technical_Classes_WGS84_2013-12-04 + + + PYCSW_IDENTIFIER-CERA_CERA_TechClasses_WGS84:MBIE_Technical_Classes_WGS84_2011-10-28 + MBIE_Technical_Classes_WGS84_2011-10-28 + + + PYCSW_IDENTIFIER-CERA_CERA_TechClasses_WGS84:MBIE_Technical_Classes_WGS84_2012-02-10 + MBIE_Technical_Classes_WGS84_2012-02-10 + + + PYCSW_IDENTIFIER-CERA_CERA_TechClasses_WGS84:MBIE_Technical_Classes_WGS84_2012-09-14 + MBIE_Technical_Classes_WGS84_2012-09-14 + + + PYCSW_IDENTIFIER-CERA_CERA_TechClasses_WGS84:MBIE_Technical_Classes_WGS84_2012-03-23 + MBIE_Technical_Classes_WGS84_2012-03-23 + + + PYCSW_IDENTIFIER-CERA_CERA_TechClasses_WGS84:MBIE_Technical_Classes_WGS84_2011-11-17 + MBIE_Technical_Classes_WGS84_2011-11-17 + + + PYCSW_IDENTIFIER-CERA_CERA_TechClasses_WGS84:MBIE_Technical_Classes_WGS84_2012-08-24 + MBIE_Technical_Classes_WGS84_2012-08-24 + + + PYCSW_IDENTIFIER-CERA_CERA_TechClasses_WGS84:MBIE_Technical_Classes_WGS84_2012-10-31 + MBIE_Technical_Classes_WGS84_2012-10-31 + + + + diff --git a/tests/functionaltests/suites/harvesting/expected/post_Harvest-wms-run1.xml b/tests/functionaltests/suites/harvesting/expected/post_Harvest-wms-run1.xml new file mode 100644 index 000000000..d75519d7d --- /dev/null +++ b/tests/functionaltests/suites/harvesting/expected/post_Harvest-wms-run1.xml @@ -0,0 +1,29 @@ + + + + + + 4 + 0 + 0 + + + + PYCSW_IDENTIFIER + IEM WMS Service + + + PYCSW_IDENTIFIER-nexrad_base_reflect + IEM WMS Service + + + PYCSW_IDENTIFIER-time_idx + NEXRAD BASE REFLECT + + + PYCSW_IDENTIFIER-nexrad-n0r-wmst + NEXRAD BASE REFLECT + + + + diff --git a/tests/functionaltests/suites/harvesting/expected/post_Harvest-wms-run2.xml b/tests/functionaltests/suites/harvesting/expected/post_Harvest-wms-run2.xml new file mode 100644 index 000000000..19e8d8623 --- /dev/null +++ b/tests/functionaltests/suites/harvesting/expected/post_Harvest-wms-run2.xml @@ -0,0 +1,11 @@ + + + + + + 4 + 4 + 0 + + + diff --git a/tests/functionaltests/suites/harvesting/expected/post_Harvest-wmts.xml b/tests/functionaltests/suites/harvesting/expected/post_Harvest-wmts.xml new file mode 100644 index 000000000..372bad712 --- /dev/null +++ b/tests/functionaltests/suites/harvesting/expected/post_Harvest-wmts.xml @@ -0,0 +1,45 @@ + + + + + + 8 + 0 + 0 + + + + PYCSW_IDENTIFIER + Web Map Tile Service + + + PYCSW_IDENTIFIER-flwbplmzk + Flächenwidmungs- und Bebauungsplan + + + PYCSW_IDENTIFIER-lb + Luftbild + + + PYCSW_IDENTIFIER-lb2014 + Luftbild 2014 + + + PYCSW_IDENTIFIER-beschriftung + Beschriftung + + + PYCSW_IDENTIFIER-lb1938 + Luftbild 1938 + + + PYCSW_IDENTIFIER-fmzk + MZK Flächen + + + PYCSW_IDENTIFIER-lb1956 + Luftbild 1956 + + + + diff --git a/tests/functionaltests/suites/harvesting/expected/post_Harvest-wps.xml b/tests/functionaltests/suites/harvesting/expected/post_Harvest-wps.xml new file mode 100644 index 000000000..12381ec1e --- /dev/null +++ b/tests/functionaltests/suites/harvesting/expected/post_Harvest-wps.xml @@ -0,0 +1,57 @@ + + + + + + 11 + 0 + 0 + + + + PYCSW_IDENTIFIER + Geo Data Portal WPS Implementation + + + PYCSW_IDENTIFIER-gov.usgs.cida.gdp.wps.algorithm.filemanagement.CreateNewShapefileDataStore + gov.usgs.cida.gdp.wps.algorithm.filemanagement.CreateNewShapefileDataStore + + + PYCSW_IDENTIFIER-gov.usgs.cida.gdp.wps.algorithm.discovery.GetGridTimeRange + Get Grid Time Range + + + PYCSW_IDENTIFIER-gov.usgs.cida.gdp.wps.algorithm.filemanagement.ReceiveFiles + gov.usgs.cida.gdp.wps.algorithm.filemanagement.ReceiveFiles + + + PYCSW_IDENTIFIER-gov.usgs.cida.gdp.wps.algorithm.discovery.GetWcsCoverages + gov.usgs.cida.gdp.wps.algorithm.discovery.GetWcsCoverages + + + PYCSW_IDENTIFIER-gov.usgs.cida.gdp.wps.algorithm.filemanagement.GetWatersGeom + gov.usgs.cida.gdp.wps.algorithm.filemanagement.GetWatersGeom + + + PYCSW_IDENTIFIER-gov.usgs.cida.gdp.wps.algorithm.communication.GeoserverManagementAlgorithm + gov.usgs.cida.gdp.wps.algorithm.communication.GeoserverManagementAlgorithm + + + PYCSW_IDENTIFIER-gov.usgs.cida.gdp.wps.algorithm.communication.EmailWhenFinishedAlgorithm + gov.usgs.cida.gdp.wps.algorithm.communication.EmailWhenFinishedAlgorithm + + + PYCSW_IDENTIFIER-gov.usgs.cida.gdp.wps.algorithm.discovery.InterrogateDataset + Interogate Dataset URI + + + PYCSW_IDENTIFIER-gov.usgs.cida.gdp.wps.algorithm.discovery.ListOpendapGrids + List OpendDAP Grids + + + PYCSW_IDENTIFIER-gov.usgs.cida.gdp.wps.algorithm.discovery.CalculateWCSCoverageInfo + gov.usgs.cida.gdp.wps.algorithm.discovery.CalculateWCSCoverageInfo + + + + diff --git a/tests/functionaltests/suites/harvesting/expected/post_Harvest-zzz-post-GetRecords-filter-ows-dc.xml b/tests/functionaltests/suites/harvesting/expected/post_Harvest-zzz-post-GetRecords-filter-ows-dc.xml new file mode 100644 index 000000000..2b2887b5d --- /dev/null +++ b/tests/functionaltests/suites/harvesting/expected/post_Harvest-zzz-post-GetRecords-filter-ows-dc.xml @@ -0,0 +1,125 @@ + + + + + + + PYCSW_IDENTIFIER + pycsw Geospatial Catalogue OGC services demo + service + catalogue + discovery + metadata + services + CSW + http://demo.pycsw.org/services/csw + pycsw is an OGC CSW server implementation written in Python + Lastname, Firstname + Organization Name + Lastname, Firstname + http://demo.pycsw.org/services/csw + None + + + PYCSW_IDENTIFIER + pycsw OGC CITE demo and Reference Implementation + service + ogc + cite + compliance + interoperability + reference implementation + CSW + http://demo.pycsw.org/cite/csw + pycsw is an OGC CSW server implementation written in Python. pycsw fully implements the OpenGIS Catalogue Service Implementation Specification (Catalogue Service for the Web). Initial development started in 2010 (more formally announced in 2011). The project is certified OGC Compliant, and is an OGC Reference Implementation. Since 2015, pycsw is an official OSGeo Project. pycsw allows for the publishing and discovery of [[geospatial]] metadata via numerous APIs (CSW 2/CSW 3, OpenSearch, OAI-PMH, SRU). Existing repositories of geospatial metadata can also be exposed, providing a standards-based metadata and catalogue component of spatial data infrastructures. pycsw is Open Source, released under an MIT license, and runs on all major platforms (Windows, Linux, Mac OS X) + Lastname, Firstname + Organization Name + Lastname, Firstname + http://demo.pycsw.org/cite/csw + None + + + PYCSW_IDENTIFIER + Northeastern Regional Association of Coastal Ocean Observing Systems + service + NERACOOS + SOS + OCEANOGRAPHY + Ocean Observations + Gulf of Maine + Long Island Sound + Narragansett Bay + Cape Cod + Boston Harbor + Buzzards Bay + Weather + Ocean Currents + Water Temperature + Salinity + Winds + Waves + Ocean Color + GoMOOS + LISICOS + Univ. of New Hampshire + MVCO + Air Temperature + OGC:SOS + http://www.neracoos.org/cgi-bin/sos/V1.0/oostethys_sos.cgi + NERACOOS supports data collected from buoys in the Gulf of Maine and Long Island Sound. The six Gulf of Maine buoys carry a comprehensive sensor suite that includes the full complement of meteorological sensors carried by the standard NDBC buoys, and in addition commonly include atmospheric visibility, surface currents, water-column current profiles, temperature and conductivity, and fluorescence (for chlorophyll a estimation) and backscatter at multiple depths. In Long Island Sound, three buoys that measure wind speed and direction, circulation, salinity, temperature and dissolved oxygen. Two buoys will be located in western LIS (WLIS and EXRK stations) and the third will be in the Central Sound (CLIS). The buoys will be equipped with three YSI-SeaBird sensors to measure conductivity, temperature, pressure and dissolved oxygen concentration near the surface, bottom and mid-depth. A buoy in Great Bay measures physical, optical, meteorological and wave data. + Eric Bridger + NERACOOS + Eric Bridger + http://www.neracoos.org/cgi-bin/sos/V1.0/oostethys_sos.cgi + NONE + + 40.58 -73.73 + 47.79 -54.05 + + + + PYCSW_IDENTIFIER + GIN SOS + service + groundwater level + monitoring + timeseries + Alberta + Ontario + Nova Scotia + OGC:SOS + http://ngwd-bdnes.cits.nrcan.gc.ca/GinService/sos/gw + Historical groundwater level monitoring stations from Alberta, Ontario and Nova Scotia. This SOS web service delivers the data using OGC's WaterML 2.0. The SOS service federates data from various provincial sources and publishes them as a single service. Many monitoring stations also have water well characteristics available through the GIN WFS web service. + Boyan Brodaric + Geological Survey of Canada, Earth Sciences Sector, Natural Resources Canada, Government of Canada + Boyan Brodaric + http://ngwd-bdnes.cits.nrcan.gc.ca/GinService/sos/gw + NONE + + 41.0 -120.0 + 60.0 -60.0 + + + + PYCSW_IDENTIFIER + WCS Demo Server for MapServer + service + WCS + MODIS + NDVI + OGC:WCS + http://demo.mapserver.org/cgi-bin/wcs + Steve Lime + Minnesota DNR + Steve Lime + http://demo.mapserver.org/cgi-bin/wcs + + NONE + + + 41.03 -97.71 + 49.67 -80.68 + + + + diff --git a/tests/functionaltests/suites/harvesting/expected/post_Harvest-zzz-post-GetRecords-filter-sos-abstract-dc.xml b/tests/functionaltests/suites/harvesting/expected/post_Harvest-zzz-post-GetRecords-filter-sos-abstract-dc.xml new file mode 100644 index 000000000..f5af5079a --- /dev/null +++ b/tests/functionaltests/suites/harvesting/expected/post_Harvest-zzz-post-GetRecords-filter-sos-abstract-dc.xml @@ -0,0 +1,30 @@ + + + + + + + PYCSW_IDENTIFIER + GIN SOS + service + groundwater level + monitoring + timeseries + Alberta + Ontario + Nova Scotia + OGC:SOS + http://ngwd-bdnes.cits.nrcan.gc.ca/GinService/sos/gw + Historical groundwater level monitoring stations from Alberta, Ontario and Nova Scotia. This SOS web service delivers the data using OGC's WaterML 2.0. The SOS service federates data from various provincial sources and publishes them as a single service. Many monitoring stations also have water well characteristics available through the GIN WFS web service. + Boyan Brodaric + Geological Survey of Canada, Earth Sciences Sector, Natural Resources Canada, Government of Canada + Boyan Brodaric + http://ngwd-bdnes.cits.nrcan.gc.ca/GinService/sos/gw + NONE + + 41.0 -120.0 + 60.0 -60.0 + + + + diff --git a/tests/functionaltests/suites/harvesting/expected/post_Harvest-zzz-post-GetRecords-filter-sos-dc.xml b/tests/functionaltests/suites/harvesting/expected/post_Harvest-zzz-post-GetRecords-filter-sos-dc.xml new file mode 100644 index 000000000..8523426f5 --- /dev/null +++ b/tests/functionaltests/suites/harvesting/expected/post_Harvest-zzz-post-GetRecords-filter-sos-dc.xml @@ -0,0 +1,69 @@ + + + + + + + PYCSW_IDENTIFIER + Northeastern Regional Association of Coastal Ocean Observing Systems + service + NERACOOS + SOS + OCEANOGRAPHY + Ocean Observations + Gulf of Maine + Long Island Sound + Narragansett Bay + Cape Cod + Boston Harbor + Buzzards Bay + Weather + Ocean Currents + Water Temperature + Salinity + Winds + Waves + Ocean Color + GoMOOS + LISICOS + Univ. of New Hampshire + MVCO + Air Temperature + OGC:SOS + http://www.neracoos.org/cgi-bin/sos/V1.0/oostethys_sos.cgi + NERACOOS supports data collected from buoys in the Gulf of Maine and Long Island Sound. The six Gulf of Maine buoys carry a comprehensive sensor suite that includes the full complement of meteorological sensors carried by the standard NDBC buoys, and in addition commonly include atmospheric visibility, surface currents, water-column current profiles, temperature and conductivity, and fluorescence (for chlorophyll a estimation) and backscatter at multiple depths. In Long Island Sound, three buoys that measure wind speed and direction, circulation, salinity, temperature and dissolved oxygen. Two buoys will be located in western LIS (WLIS and EXRK stations) and the third will be in the Central Sound (CLIS). The buoys will be equipped with three YSI-SeaBird sensors to measure conductivity, temperature, pressure and dissolved oxygen concentration near the surface, bottom and mid-depth. A buoy in Great Bay measures physical, optical, meteorological and wave data. + Eric Bridger + NERACOOS + Eric Bridger + http://www.neracoos.org/cgi-bin/sos/V1.0/oostethys_sos.cgi + NONE + + 40.58 -73.73 + 47.79 -54.05 + + + + PYCSW_IDENTIFIER + GIN SOS + service + groundwater level + monitoring + timeseries + Alberta + Ontario + Nova Scotia + OGC:SOS + http://ngwd-bdnes.cits.nrcan.gc.ca/GinService/sos/gw + Historical groundwater level monitoring stations from Alberta, Ontario and Nova Scotia. This SOS web service delivers the data using OGC's WaterML 2.0. The SOS service federates data from various provincial sources and publishes them as a single service. Many monitoring stations also have water well characteristics available through the GIN WFS web service. + Boyan Brodaric + Geological Survey of Canada, Earth Sciences Sector, Natural Resources Canada, Government of Canada + Boyan Brodaric + http://ngwd-bdnes.cits.nrcan.gc.ca/GinService/sos/gw + NONE + + 41.0 -120.0 + 60.0 -60.0 + + + + diff --git a/tests/functionaltests/suites/harvesting/expected/post_Harvest-zzz-post-GetRecords-filter-sos-iso.xml b/tests/functionaltests/suites/harvesting/expected/post_Harvest-zzz-post-GetRecords-filter-sos-iso.xml new file mode 100644 index 000000000..71064f191 --- /dev/null +++ b/tests/functionaltests/suites/harvesting/expected/post_Harvest-zzz-post-GetRecords-filter-sos-iso.xml @@ -0,0 +1,955 @@ + + + + + + + + PYCSW_IDENTIFIER + + + + + + service + + + + + Eric Bridger + + + NERACOOS + + + DMAC Coordinator + + + + + + + 207 228-1662 + + + + + + + + + + 350 Commercial St. + + + Portland + + + ME + + + 04101 + + + US + + + ebridger@gmri.org + + + + + + http://www.neracoos.org/ + + + + + + pointOfContact + + + + + + + + ISO19119 + + + 2005/PDAM 1 + + + + + + + Northeastern Regional Association of Coastal Ocean Observing Systems + + + + + NERACOOS supports data collected from buoys in the Gulf of Maine and Long Island Sound. The six Gulf of Maine buoys carry a comprehensive sensor suite that includes the full complement of meteorological sensors carried by the standard NDBC buoys, and in addition commonly include atmospheric visibility, surface currents, water-column current profiles, temperature and conductivity, and fluorescence (for chlorophyll a estimation) and backscatter at multiple depths. In Long Island Sound, three buoys that measure wind speed and direction, circulation, salinity, temperature and dissolved oxygen. Two buoys will be located in western LIS (WLIS and EXRK stations) and the third will be in the Central Sound (CLIS). The buoys will be equipped with three YSI-SeaBird sensors to measure conductivity, temperature, pressure and dissolved oxygen concentration near the surface, bottom and mid-depth. A buoy in Great Bay measures physical, optical, meteorological and wave data. + + + + + NERACOOS + + + SOS + + + OCEANOGRAPHY + + + Ocean Observations + + + Gulf of Maine + + + Long Island Sound + + + Narragansett Bay + + + Cape Cod + + + Boston Harbor + + + Buzzards Bay + + + Weather + + + Ocean Currents + + + Water Temperature + + + Salinity + + + Winds + + + Waves + + + Ocean Color + + + GoMOOS + + + LISICOS + + + Univ. of New Hampshire + + + MVCO + + + Air Temperature + + + + + + + + OGC:SOS + + + 1.0.0 + + + + + NERACOOS + + + SOS + + + OCEANOGRAPHY + + + Ocean Observations + + + Gulf of Maine + + + Long Island Sound + + + Narragansett Bay + + + Cape Cod + + + Boston Harbor + + + Buzzards Bay + + + Weather + + + Ocean Currents + + + Water Temperature + + + Salinity + + + Winds + + + Waves + + + Ocean Color + + + GoMOOS + + + LISICOS + + + Univ. of New Hampshire + + + MVCO + + + Air Temperature + + + + + + + + + -73.73 + + + -54.05 + + + 40.58 + + + 47.79 + + + + + + + tight + + + + + GetObservation + + + CML + + + + + + + GetObservation + + + F01 + + + + + + + GetObservation + + + F02 + + + + + + + GetObservation + + + SMB-MO-04 + + + + + + + GetObservation + + + LDLC3 + + + + + + + GetObservation + + + CDIP154 + + + + + + + GetObservation + + + CDIP176 + + + + + + + GetObservation + + + ARTG + + + + + + + GetObservation + + + M01 + + + + + + + GetObservation + + + N01 + + + + + + + GetObservation + + + 44039 + + + + + + + GetObservation + + + SMB-MO-01 + + + + + + + GetObservation + + + SMB-MO-05 + + + + + + + GetObservation + + + D02 + + + + + + + GetObservation + + + E02 + + + + + + + GetObservation + + + E01 + + + + + + + GetObservation + + + B01 + + + + + + + GetObservation + + + EXRX + + + + + + + GetObservation + + + 44098 + + + + + + + GetObservation + + + WLIS + + + + + + + GetObservation + + + CO2 + + + + + + + GetObservation + + + CDIP221 + + + + + + + GetObservation + + + ALL_PLATFORMS + + + + + + + GetObservation + + + A01 + + + + + + + GetObservation + + + MDS02 + + + + + + + GetObservation + + + GREAT_BAY + + + + + + + GetObservation + + + I01 + + + + + + + GetObservation + + + CDIP207 + + + + + + + GetObservation + + + 44060 + + + + + + + GetCapabilities + + + HTTPGet + + + HTTPPost + + + + + http://www.neracoos.org/cgi-bin/sos/V1.0/oostethys_sos.cgi + + + + + + + + + GetObservation + + + HTTPGet + + + HTTPPost + + + + + http://www.neracoos.org/cgi-bin/sos/V1.0/oostethys_sos.cgi + + + + + + + + + DescribeSensor + + + HTTPGet + + + HTTPPost + + + + + http://www.neracoos.org/cgi-bin/sos/V1.0/oostethys_sos.cgi + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + http://www.neracoos.org/cgi-bin/sos/V1.0/oostethys_sos.cgi + + + OGC:SOS + + + PYCSW_IDENTIFIER + + + OGC-SOS Sensor Observation Service + + + + + + + + + + + PYCSW_IDENTIFIER + + + + + + service + + + + + Boyan Brodaric + + + Geological Survey of Canada, Earth Sciences Sector, Natural Resources Canada, Government of Canada + + + Research Scientist + + + + + + + +1-613-992-3562 + + + +1-613-995-9273 + + + + + + + 615 Booth Street + + + Ottawa + + + + + + K1A 0E9 + + + Canada + + + brodaric at nrcan dot gc dot ca + + + + + + http://gw-info.net + + + + + + pointOfContact + + + + + + + + ISO19119 + + + 2005/PDAM 1 + + + + + + + GIN SOS + + + + + Historical groundwater level monitoring stations from Alberta, Ontario and Nova Scotia. This SOS web service delivers the data using OGC's WaterML 2.0. The SOS service federates data from various provincial sources and publishes them as a single service. Many monitoring stations also have water well characteristics available through the GIN WFS web service. + + + + + groundwater level + + + monitoring + + + timeseries + + + Alberta + + + Ontario + + + Nova Scotia + + + + + + + + OGC:SOS + + + 2.0.0 + + + + + groundwater level + + + monitoring + + + timeseries + + + Alberta + + + Ontario + + + Nova Scotia + + + + + + + + + -120.0 + + + -60.0 + + + 41.0 + + + 60.0 + + + + + + + tight + + + + + GetObservation + + + GW_LEVEL + + + + + + + GetCapabilities + + + HTTPGet + + + HTTPPost + + + + + http://ngwd-bdnes.cits.nrcan.gc.ca/GinService/sos/gw + + + + + + + + + DescribeSensor + + + HTTPGet + + + HTTPPost + + + + + http://ngwd-bdnes.cits.nrcan.gc.ca/GinService/sos/gw + + + + + + + + + GetObservation + + + HTTPGet + + + HTTPPost + + + + + http://ngwd-bdnes.cits.nrcan.gc.ca/GinService/sos/gw + + + + + + + + + GetFeatureOfInterest + + + HTTPGet + + + HTTPPost + + + + + http://ngwd-bdnes.cits.nrcan.gc.ca/GinService/sos/gw + + + + + + + + + + + + + + + + http://ngwd-bdnes.cits.nrcan.gc.ca/GinService/sos/gw + + + OGC:SOS + + + PYCSW_IDENTIFIER + + + OGC-SOS Sensor Observation Service + + + + + + + + + + diff --git a/tests/functionaltests/suites/harvesting/expected/post_Harvest-zzz-post-GetRecords-filter-wfs-iso.xml b/tests/functionaltests/suites/harvesting/expected/post_Harvest-zzz-post-GetRecords-filter-wfs-iso.xml new file mode 100644 index 000000000..fe8c5f2d5 --- /dev/null +++ b/tests/functionaltests/suites/harvesting/expected/post_Harvest-zzz-post-GetRecords-filter-wfs-iso.xml @@ -0,0 +1,1061 @@ + + + + + + + + PYCSW_IDENTIFIER + + + + + + service + + + + + Matt Austin + + + National Oceanic and Atmospheric Administration + + + + + + + + + + + + + + + + + + + + + + + Silver Spring + + + Maryland + + + 20910 + + + USA + + + + + + + + + + pointOfContact + + + + + + + + ISO19119 + + + 2005/PDAM 1 + + + + + + + GeoServer Web Feature Service + + + + + This is the reference implementation of WFS 1.0.0 and WFS 1.1.0, supports all WFS operations including Transaction. + + + + + WFS + + + WMS + + + GEOSERVER + + + + + + + + OGC:WFS + + + 1.1.0 + + + + + WFS + + + WMS + + + GEOSERVER + + + + + + + + + -179.87 + + + 179.99 + + + -54.61 + + + 83.46 + + + + + + + tight + + + + + GetFeature + + + geoss_water_sba:Reservoir + + + + + + + GetFeature + + + geoss_water_sba:glwd_1 + + + + + + + GetFeature + + + geoss_water_sba:Dams + + + + + + + GetFeature + + + geoss_water_sba:glwd_2 + + + + + + + GetFeature + + + geoss_water_sba:Lakes + + + + + + + GetCapabilities + + + HTTPGet + + + HTTPPost + + + + + http://services.ogc.noaa.gov/geoserver/geoss_water_sba/wfs + + + + + + + + + DescribeFeatureType + + + HTTPGet + + + HTTPPost + + + + + http://services.ogc.noaa.gov/geoserver/geoss_water_sba/wfs + + + + + + + + + GetFeature + + + HTTPGet + + + HTTPPost + + + + + http://services.ogc.noaa.gov/geoserver/geoss_water_sba/wfs + + + + + + + + + GetGmlObject + + + HTTPGet + + + HTTPPost + + + + + http://services.ogc.noaa.gov/geoserver/geoss_water_sba/wfs + + + + + + + + + LockFeature + + + HTTPGet + + + HTTPPost + + + + + http://services.ogc.noaa.gov/geoserver/geoss_water_sba/wfs + + + + + + + + + GetFeatureWithLock + + + HTTPGet + + + HTTPPost + + + + + http://services.ogc.noaa.gov/geoserver/geoss_water_sba/wfs + + + + + + + + + Transaction + + + HTTPGet + + + HTTPPost + + + + + http://services.ogc.noaa.gov/geoserver/geoss_water_sba/wfs + + + + + + + + + + + + + + + + + + + + http://services.ogc.noaa.gov/geoserver/geoss_water_sba/wfs + + + OGC:WFS + + + PYCSW_IDENTIFIER + + + OGC-WFS Web Feature Service + + + + + + + + + + + PYCSW_IDENTIFIER + + + + + + service + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + http://maps.cera.govt.nz/arcgis/services/CERA/CERA_TechClasses_WGS84/MapServer/WFSServer + + + + + + pointOfContact + + + + + + + + ISO19119 + + + 2005/PDAM 1 + + + + + + + CERA_CERA_TechClasses_WGS84 + + + + + + + + + + + + + + + + + + OGC:WFS + + + 2.0.0 + + + + + + + + + + + + + + 171.11 + + + 173.13 + + + -43.9 + + + -42.74 + + + + + + + tight + + + + + GetFeature + + + CERA_CERA_TechClasses_WGS84:MBIE_Technical_Classes_WGS84_2012-08-16 + + + + + + + GetFeature + + + CERA_CERA_TechClasses_WGS84:MBIE_Technical_Classes_WGS84_2012-05-18 + + + + + + + GetFeature + + + CERA_CERA_TechClasses_WGS84:MBIE_Technical_Classes_WGS84_2013-12-04 + + + + + + + GetFeature + + + CERA_CERA_TechClasses_WGS84:MBIE_Technical_Classes_WGS84_2011-10-28 + + + + + + + GetFeature + + + CERA_CERA_TechClasses_WGS84:MBIE_Technical_Classes_WGS84_2012-02-10 + + + + + + + GetFeature + + + CERA_CERA_TechClasses_WGS84:MBIE_Technical_Classes_WGS84_2012-09-14 + + + + + + + GetFeature + + + CERA_CERA_TechClasses_WGS84:MBIE_Technical_Classes_WGS84_2012-03-23 + + + + + + + GetFeature + + + CERA_CERA_TechClasses_WGS84:MBIE_Technical_Classes_WGS84_2011-11-17 + + + + + + + GetFeature + + + CERA_CERA_TechClasses_WGS84:MBIE_Technical_Classes_WGS84_2012-08-24 + + + + + + + GetFeature + + + CERA_CERA_TechClasses_WGS84:MBIE_Technical_Classes_WGS84_2012-10-31 + + + + + + + GetCapabilities + + + HTTPGet + + + HTTPPost + + + + + http://maps.cera.govt.nz/arcgis/services/CERA/CERA_TechClasses_WGS84/MapServer/WFSServer + + + + + + + + + DescribeFeatureType + + + HTTPGet + + + HTTPPost + + + + + http://maps.cera.govt.nz/arcgis/services/CERA/CERA_TechClasses_WGS84/MapServer/WFSServer + + + + + + + + + GetFeature + + + HTTPGet + + + HTTPPost + + + + + http://maps.cera.govt.nz/arcgis/services/CERA/CERA_TechClasses_WGS84/MapServer/WFSServer + + + + + + + + + ListStoredQueries + + + HTTPGet + + + HTTPPost + + + + + http://maps.cera.govt.nz/arcgis/services/CERA/CERA_TechClasses_WGS84/MapServer/WFSServer + + + + + + + + + DescribeStoredQueries + + + HTTPGet + + + HTTPPost + + + + + http://maps.cera.govt.nz/arcgis/services/CERA/CERA_TechClasses_WGS84/MapServer/WFSServer + + + + + + + + + DefaultMaxFeatures + + + HTTPGet + + + HTTPPost + + + + + http://maps.cera.govt.nz/arcgis/services/CERA/CERA_TechClasses_WGS84/MapServer/WFSServer + + + + + + + + + ImplementsSimpleWFS + + + HTTPGet + + + HTTPPost + + + + + http://maps.cera.govt.nz/arcgis/services/CERA/CERA_TechClasses_WGS84/MapServer/WFSServer + + + + + + + + + ImplementsBasicWFS + + + HTTPGet + + + HTTPPost + + + + + http://maps.cera.govt.nz/arcgis/services/CERA/CERA_TechClasses_WGS84/MapServer/WFSServer + + + + + + + + + ImplementsTransactionalWFS + + + HTTPGet + + + HTTPPost + + + + + http://maps.cera.govt.nz/arcgis/services/CERA/CERA_TechClasses_WGS84/MapServer/WFSServer + + + + + + + + + ImplementsLockingWFS + + + HTTPGet + + + HTTPPost + + + + + http://maps.cera.govt.nz/arcgis/services/CERA/CERA_TechClasses_WGS84/MapServer/WFSServer + + + + + + + + + ImplementsInheritance + + + HTTPGet + + + HTTPPost + + + + + http://maps.cera.govt.nz/arcgis/services/CERA/CERA_TechClasses_WGS84/MapServer/WFSServer + + + + + + + + + ImplementsRemoteResolve + + + HTTPGet + + + HTTPPost + + + + + http://maps.cera.govt.nz/arcgis/services/CERA/CERA_TechClasses_WGS84/MapServer/WFSServer + + + + + + + + + ImplementsResultPaging + + + HTTPGet + + + HTTPPost + + + + + http://maps.cera.govt.nz/arcgis/services/CERA/CERA_TechClasses_WGS84/MapServer/WFSServer + + + + + + + + + ImplementsStandardJoins + + + HTTPGet + + + HTTPPost + + + + + http://maps.cera.govt.nz/arcgis/services/CERA/CERA_TechClasses_WGS84/MapServer/WFSServer + + + + + + + + + ImplementsSpatialJoins + + + HTTPGet + + + HTTPPost + + + + + http://maps.cera.govt.nz/arcgis/services/CERA/CERA_TechClasses_WGS84/MapServer/WFSServer + + + + + + + + + ImplementsTemporalJoins + + + HTTPGet + + + HTTPPost + + + + + http://maps.cera.govt.nz/arcgis/services/CERA/CERA_TechClasses_WGS84/MapServer/WFSServer + + + + + + + + + ImplementsFeatureVersioning + + + HTTPGet + + + HTTPPost + + + + + http://maps.cera.govt.nz/arcgis/services/CERA/CERA_TechClasses_WGS84/MapServer/WFSServer + + + + + + + + + ManageStoredQueries + + + HTTPGet + + + HTTPPost + + + + + http://maps.cera.govt.nz/arcgis/services/CERA/CERA_TechClasses_WGS84/MapServer/WFSServer + + + + + + + + + KVPEncoding + + + HTTPGet + + + HTTPPost + + + + + http://maps.cera.govt.nz/arcgis/services/CERA/CERA_TechClasses_WGS84/MapServer/WFSServer + + + + + + + + + XMLEncoding + + + HTTPGet + + + HTTPPost + + + + + http://maps.cera.govt.nz/arcgis/services/CERA/CERA_TechClasses_WGS84/MapServer/WFSServer + + + + + + + + + SOAPEncoding + + + HTTPGet + + + HTTPPost + + + + + http://maps.cera.govt.nz/arcgis/services/CERA/CERA_TechClasses_WGS84/MapServer/WFSServer + + + + + + + + + + + + + + + + + + + + + + + + + http://maps.cera.govt.nz/arcgis/services/CERA/CERA_TechClasses_WGS84/MapServer/WFSServer + + + OGC:WFS + + + PYCSW_IDENTIFIER + + + OGC-WFS Web Feature Service + + + + + + + + + + diff --git a/tests/functionaltests/suites/harvesting/expected/post_Harvest-zzz-post-GetRecords-filter-wms-dc.xml b/tests/functionaltests/suites/harvesting/expected/post_Harvest-zzz-post-GetRecords-filter-wms-dc.xml new file mode 100644 index 000000000..e39d7cb23 --- /dev/null +++ b/tests/functionaltests/suites/harvesting/expected/post_Harvest-zzz-post-GetRecords-filter-wms-dc.xml @@ -0,0 +1,89 @@ + + + + + + + PYCSW_IDENTIFIER + 1 Million Scale WMS Layers from the National Atlas of the United States + service + + http://webservices.nationalatlas.gov/wms/1million + http://webservices.nationalatlas.gov/wms/1million?version=1.1.1&request=GetCapabilities&service=WMS + http://webservices.nationalatlas.gov/wms/1million + http://webservices.nationalatlas.gov/wms/1million + http://webservices.nationalatlas.gov/wms/1million + http://webservices.nationalatlas.gov/wms/1million + http://webservices.nationalatlas.gov/wms/1million + http://webservices.nationalatlas.gov/wms/1million + http://demo.pycsw.org/services/csw + + 18.92 -179.13 + 71.4 179.79 + + + + PYCSW_IDENTIFIER + Wisconsin Lake Clarity + service + SSEC + PAW + remote sensing + meteorology + atmospheric science + University of Wisconsin + Madison + weather + land + http://wms.ssec.wisc.edu/cgi-bin/mapserv?map=/home/wms/data/mapfiles/lakestsi.map + http://wms.ssec.wisc.edu/cgi-bin/mapserv?map=%2Fhome%2Fwms%2Fdata%2Fmapfiles%2Flakestsi.map&version=1.1.1&request=GetCapabilities&service=WMS + http://wms.ssec.wisc.edu/cgi-bin/mapserv?map=/home/wms/data/mapfiles/lakestsi.map + http://wms.ssec.wisc.edu/cgi-bin/mapserv?map=/home/wms/data/mapfiles/lakestsi.map + http://wms.ssec.wisc.edu/cgi-bin/mapserv?map=/home/wms/data/mapfiles/lakestsi.map + General: This server hosts a set of experimental OGC Web Services of remote sensing data products for use in a broad range of both desktop and mobile device clients. + http://demo.pycsw.org/services/csw + + 42.41 -93.03 + 47.13 -86.64 + + + + PYCSW_IDENTIFIER + View & download service for EU-DEM data provided by EOX + service + EU-DEM + http://data.eox.at/eudem_ows + http://data.eox.at/eudem_ows?version=1.1.1&request=GetCapabilities&service=WMS + http://data.eox.at/eudem_ows + http://data.eox.at/eudem_ows + http://data.eox.at/eudem_ows + http://data.eox.at/eudem_ows + http://data.eox.at/eudem_ows + http://data.eox.at/eudem_ows + Produced using Copernicus data and information funded by the European Union - EU-DEM layers. + http://demo.pycsw.org/services/csw + + 12.99 -29.09 + 12.99 -29.09 + + + + PYCSW_IDENTIFIER + IEM WMS Service + service + + WMS + http://mesonet.agron.iastate.edu/cgi-bin/wms/nexrad/n0r-t.cgi + IEM generated CONUS composite of NWS WSR-88D level III base reflectivity. + Daryl Herzmann + Iowa State University + Daryl Herzmann + http://mesonet.agron.iastate.edu/cgi-bin/wms/nexrad/n0r-t.cgi + None + + 24.0 -126.0 + 50.0 -66.0 + + + + diff --git a/tests/functionaltests/suites/harvesting/expected/post_Harvest-zzz-post-GetRecords-filter-wms-iso.xml b/tests/functionaltests/suites/harvesting/expected/post_Harvest-zzz-post-GetRecords-filter-wms-iso.xml new file mode 100644 index 000000000..0dc4ec4da --- /dev/null +++ b/tests/functionaltests/suites/harvesting/expected/post_Harvest-zzz-post-GetRecords-filter-wms-iso.xml @@ -0,0 +1,1361 @@ + + + + + + + + PYCSW_IDENTIFIER + + + + + + service + + + + + + + ISO19119 + + + 2005/PDAM 1 + + + + + + + 1 Million Scale WMS Layers from the National Atlas of the United States + + + + + + + + + + + + + + + + + + OGC:WMS + + + 1.1.1 + + + + + + + + + + + + + + -179.13 + + + 179.79 + + + 18.92 + + + 71.4 + + + + + + + tight + + + + + GetMap + + + ports1m + + + + + + + GetMap + + + national1m + + + + + + + GetMap + + + elevation + + + + + + + GetMap + + + impervious + + + + + + + GetMap + + + coast1m + + + + + + + GetMap + + + cdl + + + + + + + GetMap + + + states1m + + + + + + + GetMap + + + elsli0100g + + + + + + + GetMap + + + landcov100m + + + + + + + GetMap + + + cdp + + + + + + + GetMap + + + amtrak1m + + + + + + + GetMap + + + airports1m + + + + + + + GetMap + + + one_million + + + + + + + GetMap + + + satvi0100g + + + + + + + GetMap + + + srcoi0100g + + + + + + + GetMap + + + srgri0100g + + + + + + + GetMap + + + treecanopy + + + + + + + GetMap + + + svsri0100g + + + + + + + GetCapabilities + + + HTTPGet + + + HTTPPost + + + + + http://webservices.nationalatlas.gov/wms/1million + + + + + + + + + GetMap + + + HTTPGet + + + HTTPPost + + + + + http://webservices.nationalatlas.gov/wms/1million + + + + + + + + + GetFeatureInfo + + + HTTPGet + + + HTTPPost + + + + + http://webservices.nationalatlas.gov/wms/1million + + + + + + + + + DescribeLayer + + + HTTPGet + + + HTTPPost + + + + + http://webservices.nationalatlas.gov/wms/1million + + + + + + + + + GetLegendGraphic + + + HTTPGet + + + HTTPPost + + + + + http://webservices.nationalatlas.gov/wms/1million + + + + + + + + + GetStyles + + + HTTPGet + + + HTTPPost + + + + + http://webservices.nationalatlas.gov/wms/1million + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + http://webservices.nationalatlas.gov/wms/1million + + + OGC:WMS + + + PYCSW_IDENTIFIER + + + OGC-WMS Web Map Service + + + + + + + http://webservices.nationalatlas.gov/wms/1million?version=1.1.1&request=GetCapabilities&service=WMS + + + OGC:WMS-1.1.1-http-get-capabilities + + + PYCSW_IDENTIFIER + + + OGC-WMS Capabilities service (ver 1.1.1) + + + + + + + + + + + PYCSW_IDENTIFIER + + + + + + service + + + + + Dr. Sam Batzli + + + + + + + + ISO19119 + + + 2005/PDAM 1 + + + + + + + Wisconsin Lake Clarity + + + + + General: This server hosts a set of experimental OGC Web Services of remote sensing data products for use in a broad range of both desktop and mobile device clients. + + + + + SSEC + + + PAW + + + remote sensing + + + meteorology + + + atmospheric science + + + University of Wisconsin + + + Madison + + + weather + + + land + + + + + + + + OGC:WMS + + + 1.1.1 + + + + + SSEC + + + PAW + + + remote sensing + + + meteorology + + + atmospheric science + + + University of Wisconsin + + + Madison + + + weather + + + land + + + + + + + + + -93.03 + + + -86.64 + + + 42.41 + + + 47.13 + + + + + + + tight + + + + + GetMap + + + Highways + + + + + + + GetMap + + + LakesTSI + + + + + + + GetMap + + + LakeClarity + + + + + + + GetMap + + + LakesTSI_0305 + + + + + + + GetMap + + + Relief + + + + + + + GetMap + + + LakeNames_0305 + + + + + + + GetMap + + + Roads + + + + + + + GetMap + + + LakeNames + + + + + + + GetMap + + + Counties + + + + + + + GetCapabilities + + + HTTPGet + + + HTTPPost + + + + + http://wms.ssec.wisc.edu/cgi-bin/mapserv?map=/home/wms/data/mapfiles/lakestsi.map + + + + + + + + + GetMap + + + HTTPGet + + + HTTPPost + + + + + http://wms.ssec.wisc.edu/cgi-bin/mapserv?map=/home/wms/data/mapfiles/lakestsi.map + + + + + + + + + GetFeatureInfo + + + HTTPGet + + + HTTPPost + + + + + http://wms.ssec.wisc.edu/cgi-bin/mapserv?map=/home/wms/data/mapfiles/lakestsi.map + + + + + + + + + + + + + + + + + + + + + + + + http://wms.ssec.wisc.edu/cgi-bin/mapserv?map=/home/wms/data/mapfiles/lakestsi.map + + + OGC:WMS + + + PYCSW_IDENTIFIER + + + OGC-WMS Web Map Service + + + + + + + http://wms.ssec.wisc.edu/cgi-bin/mapserv?map=%2Fhome%2Fwms%2Fdata%2Fmapfiles%2Flakestsi.map&version=1.1.1&request=GetCapabilities&service=WMS + + + OGC:WMS-1.1.1-http-get-capabilities + + + PYCSW_IDENTIFIER + + + OGC-WMS Capabilities service (ver 1.1.1) + + + + + + + + + + + PYCSW_IDENTIFIER + + + + + + service + + + + + Stephan Meissl + + + + + + + + ISO19119 + + + 2005/PDAM 1 + + + + + + + View & download service for EU-DEM data provided by EOX + + + + + Produced using Copernicus data and information funded by the European Union - EU-DEM layers. + + + + + EU-DEM + + + + + + + + OGC:WMS + + + 1.1.1 + + + + + EU-DEM + + + + + + + + + -29.09 + + + -29.09 + + + 12.99 + + + 12.99 + + + + + + + tight + + + + + GetMap + + + EU-DEM + + + + + + + GetMap + + + MS + + + + + + + GetMap + + + eudem_color + + + + + + + GetCapabilities + + + HTTPGet + + + HTTPPost + + + + + http://data.eox.at/eudem_ows + + + + + + + + + GetMap + + + HTTPGet + + + HTTPPost + + + + + http://data.eox.at/eudem_ows + + + + + + + + + GetFeatureInfo + + + HTTPGet + + + HTTPPost + + + + + http://data.eox.at/eudem_ows + + + + + + + + + DescribeLayer + + + HTTPGet + + + HTTPPost + + + + + http://data.eox.at/eudem_ows + + + + + + + + + GetLegendGraphic + + + HTTPGet + + + HTTPPost + + + + + http://data.eox.at/eudem_ows + + + + + + + + + GetStyles + + + HTTPGet + + + HTTPPost + + + + + http://data.eox.at/eudem_ows + + + + + + + + + + + + + + + + + + http://data.eox.at/eudem_ows + + + OGC:WMS + + + PYCSW_IDENTIFIER + + + OGC-WMS Web Map Service + + + + + + + http://data.eox.at/eudem_ows?version=1.1.1&request=GetCapabilities&service=WMS + + + OGC:WMS-1.1.1-http-get-capabilities + + + PYCSW_IDENTIFIER + + + OGC-WMS Capabilities service (ver 1.1.1) + + + + + + + + + + + PYCSW_IDENTIFIER + + + + + + service + + + + + Daryl Herzmann + + + Iowa State University + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + http://mesonet.agron.iastate.edu/cgi-bin/wms/nexrad/n0r-t.cgi? + + + + + + + + + + + ISO19119 + + + 2005/PDAM 1 + + + + + + + IEM WMS Service + + + + + IEM generated CONUS composite of NWS WSR-88D level III base reflectivity. + + + + + + + + + + + + + OGC:WMS + + + 1.3.0 + + + + + + + + + + + + + + -126.0 + + + -66.0 + + + 24.0 + + + 50.0 + + + + + + + tight + + + + + GetMap + + + nexrad_base_reflect + + + + + + + GetMap + + + time_idx + + + + + + + GetMap + + + nexrad-n0r-wmst + + + + + + + GetCapabilities + + + HTTPGet + + + HTTPPost + + + + + http://mesonet.agron.iastate.edu/cgi-bin/wms/nexrad/n0r-t.cgi + + + + + + + + + GetMap + + + HTTPGet + + + HTTPPost + + + + + http://mesonet.agron.iastate.edu/cgi-bin/wms/nexrad/n0r-t.cgi + + + + + + + + + GetFeatureInfo + + + HTTPGet + + + HTTPPost + + + + + http://mesonet.agron.iastate.edu/cgi-bin/wms/nexrad/n0r-t.cgi + + + + + + + + + DescribeLayer + + + HTTPGet + + + HTTPPost + + + + + http://mesonet.agron.iastate.edu/cgi-bin/wms/nexrad/n0r-t.cgi + + + + + + + + + GetLegendGraphic + + + HTTPGet + + + HTTPPost + + + + + http://mesonet.agron.iastate.edu/cgi-bin/wms/nexrad/n0r-t.cgi + + + + + + + + + GetStyles + + + HTTPGet + + + HTTPPost + + + + + http://mesonet.agron.iastate.edu/cgi-bin/wms/nexrad/n0r-t.cgi + + + + + + + + + + + + + + + + + + http://mesonet.agron.iastate.edu/cgi-bin/wms/nexrad/n0r-t.cgi + + + OGC:WMS + + + PYCSW_IDENTIFIER + + + OGC-WMS Web Map Service + + + + + + + + + + diff --git a/tests/functionaltests/suites/harvesting/expected/post_Harvest-zzz-post-GetRecords-filter-wms-layer.xml b/tests/functionaltests/suites/harvesting/expected/post_Harvest-zzz-post-GetRecords-filter-wms-layer.xml new file mode 100644 index 000000000..1bc09e79a --- /dev/null +++ b/tests/functionaltests/suites/harvesting/expected/post_Harvest-zzz-post-GetRecords-filter-wms-layer.xml @@ -0,0 +1,33 @@ + + + + + + + PYCSW_IDENTIFIER + NEXRAD BASE REFLECT + dataset + + http://mesonet.agron.iastate.edu/cgi-bin/wms/nexrad/n0r-t.cgi + http://mesonet.agron.iastate.edu/cgi-bin/wms/nexrad/n0r-t.cgi?layers=time_idx&width=200&version=1.1.1&bbox=-126.0%2C24.0%2C-66.0%2C50.0&service=WMS&format=image%2Fpng&styles=&srs=EPSG%3A4326&request=GetMap&height=200 + http://mesonet.agron.iastate.edu/cgi-bin/wms/nexrad/n0r-t.cgi + + 24.0 -126.0 + 50.0 -66.0 + + + + PYCSW_IDENTIFIER + NEXRAD BASE REFLECT + dataset + + http://mesonet.agron.iastate.edu/cgi-bin/wms/nexrad/n0r-t.cgi + http://mesonet.agron.iastate.edu/cgi-bin/wms/nexrad/n0r-t.cgi?layers=nexrad-n0r-wmst&width=200&version=1.1.1&bbox=-126.0%2C24.0%2C-66.0%2C50.0&service=WMS&format=image%2Fpng&styles=&srs=EPSG%3A4326&request=GetMap&height=200 + http://mesonet.agron.iastate.edu/cgi-bin/wms/nexrad/n0r-t.cgi + + 24.0 -126.0 + 50.0 -66.0 + + + + diff --git a/tests/functionaltests/suites/harvesting/expected/post_Harvest-zzz-post-GetRecords-filter-wps-process.xml b/tests/functionaltests/suites/harvesting/expected/post_Harvest-zzz-post-GetRecords-filter-wps-process.xml new file mode 100644 index 000000000..0d0761488 --- /dev/null +++ b/tests/functionaltests/suites/harvesting/expected/post_Harvest-zzz-post-GetRecords-filter-wps-process.xml @@ -0,0 +1,62 @@ + + + + + + + PYCSW_IDENTIFIER + gov.usgs.cida.gdp.wps.algorithm.filemanagement.CreateNewShapefileDataStore + software + http://cida.usgs.gov/gdp/utility/WebProcessingService + http://cida.usgs.gov/gdp/utility/WebProcessingService?version=1.0.0&request=GetCapabilities&service=WPS + http://cida.usgs.gov/gdp/utility/WebProcessingService?identifier=gov.usgs.cida.gdp.wps.algorithm.filemanagement.CreateNewShapefileDataStore&version=1.0.0&request=DescribeProcess&service=WPS + http://cida.usgs.gov/gdp/utility/WebProcessingService + + + PYCSW_IDENTIFIER + Get Grid Time Range + software + http://cida.usgs.gov/gdp/utility/WebProcessingService + http://cida.usgs.gov/gdp/utility/WebProcessingService?version=1.0.0&request=GetCapabilities&service=WPS + http://cida.usgs.gov/gdp/utility/WebProcessingService?identifier=gov.usgs.cida.gdp.wps.algorithm.filemanagement.CreateNewShapefileDataStore&version=1.0.0&request=DescribeProcess&service=WPS + http://cida.usgs.gov/gdp/utility/WebProcessingService?identifier=gov.usgs.cida.gdp.wps.algorithm.discovery.GetGridTimeRange&version=1.0.0&request=DescribeProcess&service=WPS + http://cida.usgs.gov/gdp/utility/WebProcessingService + + + PYCSW_IDENTIFIER + gov.usgs.cida.gdp.wps.algorithm.filemanagement.ReceiveFiles + software + http://cida.usgs.gov/gdp/utility/WebProcessingService + http://cida.usgs.gov/gdp/utility/WebProcessingService?version=1.0.0&request=GetCapabilities&service=WPS + http://cida.usgs.gov/gdp/utility/WebProcessingService?identifier=gov.usgs.cida.gdp.wps.algorithm.filemanagement.CreateNewShapefileDataStore&version=1.0.0&request=DescribeProcess&service=WPS + http://cida.usgs.gov/gdp/utility/WebProcessingService?identifier=gov.usgs.cida.gdp.wps.algorithm.discovery.GetGridTimeRange&version=1.0.0&request=DescribeProcess&service=WPS + http://cida.usgs.gov/gdp/utility/WebProcessingService?identifier=gov.usgs.cida.gdp.wps.algorithm.filemanagement.ReceiveFiles&version=1.0.0&request=DescribeProcess&service=WPS + http://cida.usgs.gov/gdp/utility/WebProcessingService + + + PYCSW_IDENTIFIER + gov.usgs.cida.gdp.wps.algorithm.discovery.GetWcsCoverages + software + http://cida.usgs.gov/gdp/utility/WebProcessingService + http://cida.usgs.gov/gdp/utility/WebProcessingService?version=1.0.0&request=GetCapabilities&service=WPS + http://cida.usgs.gov/gdp/utility/WebProcessingService?identifier=gov.usgs.cida.gdp.wps.algorithm.filemanagement.CreateNewShapefileDataStore&version=1.0.0&request=DescribeProcess&service=WPS + http://cida.usgs.gov/gdp/utility/WebProcessingService?identifier=gov.usgs.cida.gdp.wps.algorithm.discovery.GetGridTimeRange&version=1.0.0&request=DescribeProcess&service=WPS + http://cida.usgs.gov/gdp/utility/WebProcessingService?identifier=gov.usgs.cida.gdp.wps.algorithm.filemanagement.ReceiveFiles&version=1.0.0&request=DescribeProcess&service=WPS + http://cida.usgs.gov/gdp/utility/WebProcessingService?identifier=gov.usgs.cida.gdp.wps.algorithm.discovery.GetWcsCoverages&version=1.0.0&request=DescribeProcess&service=WPS + http://cida.usgs.gov/gdp/utility/WebProcessingService + + + PYCSW_IDENTIFIER + gov.usgs.cida.gdp.wps.algorithm.filemanagement.GetWatersGeom + software + http://cida.usgs.gov/gdp/utility/WebProcessingService + http://cida.usgs.gov/gdp/utility/WebProcessingService?version=1.0.0&request=GetCapabilities&service=WPS + http://cida.usgs.gov/gdp/utility/WebProcessingService?identifier=gov.usgs.cida.gdp.wps.algorithm.filemanagement.CreateNewShapefileDataStore&version=1.0.0&request=DescribeProcess&service=WPS + http://cida.usgs.gov/gdp/utility/WebProcessingService?identifier=gov.usgs.cida.gdp.wps.algorithm.discovery.GetGridTimeRange&version=1.0.0&request=DescribeProcess&service=WPS + http://cida.usgs.gov/gdp/utility/WebProcessingService?identifier=gov.usgs.cida.gdp.wps.algorithm.filemanagement.ReceiveFiles&version=1.0.0&request=DescribeProcess&service=WPS + http://cida.usgs.gov/gdp/utility/WebProcessingService?identifier=gov.usgs.cida.gdp.wps.algorithm.discovery.GetWcsCoverages&version=1.0.0&request=DescribeProcess&service=WPS + http://cida.usgs.gov/gdp/utility/WebProcessingService?identifier=gov.usgs.cida.gdp.wps.algorithm.filemanagement.GetWatersGeom&version=1.0.0&request=DescribeProcess&service=WPS + http://cida.usgs.gov/gdp/utility/WebProcessingService + + + diff --git a/tests/functionaltests/suites/harvesting/expected/post_Transaction-000-delete-all.xml b/tests/functionaltests/suites/harvesting/expected/post_Transaction-000-delete-all.xml new file mode 100644 index 000000000..c400e312a --- /dev/null +++ b/tests/functionaltests/suites/harvesting/expected/post_Transaction-000-delete-all.xml @@ -0,0 +1,9 @@ + + + + + 0 + 0 + 131 + + diff --git a/tests/functionaltests/suites/harvesting/get/requests.txt b/tests/functionaltests/suites/harvesting/get/requests.txt new file mode 100644 index 000000000..3b13c3b11 --- /dev/null +++ b/tests/functionaltests/suites/harvesting/get/requests.txt @@ -0,0 +1,5 @@ +Exception-Harvest-missing-resourcetype,service=CSW&version=2.0.2&request=Harvest +Exception-Harvest-missing-source,service=CSW&version=2.0.2&request=Harvest&resourcetype=http://www.opengis.net/wms +Exception-Harvest-invalid-resourcetype,service=CSW&version=2.0.2&request=Harvest&resourcetype=http://www.opengis.net/wms1234&source=http://demo.pycsw.org/cite/csw +Exception-Harvest-waf-no-records-found,service=CSW&version=2.0.2&request=Harvest&resourcetype=urn:geoss:waf&source=http://demo.pycsw.org +Exception-Harvest-waf-bad-value,service=CSW&version=2.0.2&request=Harvest&resourcetype=urn:geoss:waf&source=badvalue diff --git a/tests/functionaltests/suites/harvesting/post/Clear-000-delete-all.xml b/tests/functionaltests/suites/harvesting/post/Clear-000-delete-all.xml new file mode 100644 index 000000000..827ccc7f0 --- /dev/null +++ b/tests/functionaltests/suites/harvesting/post/Clear-000-delete-all.xml @@ -0,0 +1,13 @@ + + + + + + + dc:identifier + % + + + + + diff --git a/tests/functionaltests/suites/harvesting/post/Exception-Havest-csw-404.xml b/tests/functionaltests/suites/harvesting/post/Exception-Havest-csw-404.xml new file mode 100644 index 000000000..dc660970b --- /dev/null +++ b/tests/functionaltests/suites/harvesting/post/Exception-Havest-csw-404.xml @@ -0,0 +1,6 @@ + + + http://demo.pycsw.org/gisdata/cswBAD + http://www.opengis.net/cat/csw/2.0.2 + application/xml + diff --git a/tests/functionaltests/suites/harvesting/post/GetCapabilities.xml b/tests/functionaltests/suites/harvesting/post/GetCapabilities.xml new file mode 100644 index 000000000..e4dc8070b --- /dev/null +++ b/tests/functionaltests/suites/harvesting/post/GetCapabilities.xml @@ -0,0 +1,9 @@ + + + + 2.0.2 + + + application/xml + + diff --git a/tests/functionaltests/suites/harvesting/post/GetDomain-parameter.xml b/tests/functionaltests/suites/harvesting/post/GetDomain-parameter.xml new file mode 100644 index 000000000..3779a0555 --- /dev/null +++ b/tests/functionaltests/suites/harvesting/post/GetDomain-parameter.xml @@ -0,0 +1,4 @@ + + + Harvest.ResourceType + diff --git a/tests/functionaltests/suites/harvesting/post/Harvest-csw-iso.xml b/tests/functionaltests/suites/harvesting/post/Harvest-csw-iso.xml new file mode 100644 index 000000000..b5ce58274 --- /dev/null +++ b/tests/functionaltests/suites/harvesting/post/Harvest-csw-iso.xml @@ -0,0 +1,6 @@ + + + http://demo.pycsw.org/services/csw + http://www.opengis.net/cat/csw/2.0.2 + application/xml + diff --git a/tests/functionaltests/suites/harvesting/post/Harvest-csw-run1.xml b/tests/functionaltests/suites/harvesting/post/Harvest-csw-run1.xml new file mode 100644 index 000000000..a3514f77c --- /dev/null +++ b/tests/functionaltests/suites/harvesting/post/Harvest-csw-run1.xml @@ -0,0 +1,6 @@ + + + http://demo.pycsw.org/cite/csw + http://www.opengis.net/cat/csw/2.0.2 + application/xml + diff --git a/tests/functionaltests/suites/harvesting/post/Harvest-csw-run2.xml b/tests/functionaltests/suites/harvesting/post/Harvest-csw-run2.xml new file mode 100644 index 000000000..a3514f77c --- /dev/null +++ b/tests/functionaltests/suites/harvesting/post/Harvest-csw-run2.xml @@ -0,0 +1,6 @@ + + + http://demo.pycsw.org/cite/csw + http://www.opengis.net/cat/csw/2.0.2 + application/xml + diff --git a/tests/functionaltests/suites/harvesting/post/Harvest-dc.xml b/tests/functionaltests/suites/harvesting/post/Harvest-dc.xml new file mode 100644 index 000000000..bd94c7241 --- /dev/null +++ b/tests/functionaltests/suites/harvesting/post/Harvest-dc.xml @@ -0,0 +1,6 @@ + + + http://demo.pycsw.org/metadata/Clause_10.2.5.3.2_Example03_Full.xml + http://www.opengis.net/cat/csw/2.0.2 + application/xml + diff --git a/tests/functionaltests/suites/harvesting/post/Harvest-fgdc.xml b/tests/functionaltests/suites/harvesting/post/Harvest-fgdc.xml new file mode 100644 index 000000000..a9a48b540 --- /dev/null +++ b/tests/functionaltests/suites/harvesting/post/Harvest-fgdc.xml @@ -0,0 +1,6 @@ + + + http://demo.pycsw.org/metadata/CDC008.xml + http://www.opengis.net/cat/csw/csdgm + application/xml + diff --git a/tests/functionaltests/suites/harvesting/post/Harvest-iso.xml b/tests/functionaltests/suites/harvesting/post/Harvest-iso.xml new file mode 100644 index 000000000..54492757f --- /dev/null +++ b/tests/functionaltests/suites/harvesting/post/Harvest-iso.xml @@ -0,0 +1,6 @@ + + + http://demo.pycsw.org/metadata/dataset2_minimalst.xml + http://www.isotc211.org/schemas/2005/gmd/ + application/xml + diff --git a/tests/functionaltests/suites/harvesting/post/Harvest-rdf.xml b/tests/functionaltests/suites/harvesting/post/Harvest-rdf.xml new file mode 100644 index 000000000..cd6415171 --- /dev/null +++ b/tests/functionaltests/suites/harvesting/post/Harvest-rdf.xml @@ -0,0 +1,6 @@ + + + http://demo.pycsw.org/metadata/dc-rdf.xml + http://www.opengis.net/cat/csw/2.0.2 + application/xml + diff --git a/tests/functionaltests/suites/harvesting/post/Harvest-sos100.xml b/tests/functionaltests/suites/harvesting/post/Harvest-sos100.xml new file mode 100644 index 000000000..a7de0a332 --- /dev/null +++ b/tests/functionaltests/suites/harvesting/post/Harvest-sos100.xml @@ -0,0 +1,5 @@ + + + http://www.neracoos.org/cgi-bin/sos/V1.0/oostethys_sos.cgi + http://www.opengis.net/sos/1.0 + diff --git a/tests/functionaltests/suites/harvesting/post/Harvest-sos200.xml b/tests/functionaltests/suites/harvesting/post/Harvest-sos200.xml new file mode 100644 index 000000000..37e3db12a --- /dev/null +++ b/tests/functionaltests/suites/harvesting/post/Harvest-sos200.xml @@ -0,0 +1,5 @@ + + + http://ngwd-bdnes.cits.nrcan.gc.ca/GinService/sos/gw + http://www.opengis.net/sos/2.0 + diff --git a/tests/functionaltests/suites/harvesting/post/Harvest-waf.xml b/tests/functionaltests/suites/harvesting/post/Harvest-waf.xml new file mode 100644 index 000000000..9ecd86f59 --- /dev/null +++ b/tests/functionaltests/suites/harvesting/post/Harvest-waf.xml @@ -0,0 +1,5 @@ + + + http://demo.pycsw.org/waf + urn:geoss:waf + diff --git a/tests/functionaltests/suites/harvesting/post/Harvest-wcs.xml b/tests/functionaltests/suites/harvesting/post/Harvest-wcs.xml new file mode 100644 index 000000000..f59f4cc29 --- /dev/null +++ b/tests/functionaltests/suites/harvesting/post/Harvest-wcs.xml @@ -0,0 +1,6 @@ + + + http://demo.mapserver.org/cgi-bin/wcs + http://www.opengis.net/wcs + application/xml + diff --git a/tests/functionaltests/suites/harvesting/post/Harvest-wfs110.xml b/tests/functionaltests/suites/harvesting/post/Harvest-wfs110.xml new file mode 100644 index 000000000..72e28fbb2 --- /dev/null +++ b/tests/functionaltests/suites/harvesting/post/Harvest-wfs110.xml @@ -0,0 +1,6 @@ + + + http://services.ogc.noaa.gov/geoserver/geoss_water_sba/wfs + http://www.opengis.net/wfs + application/xml + diff --git a/tests/functionaltests/suites/harvesting/post/Harvest-wfs200.xml b/tests/functionaltests/suites/harvesting/post/Harvest-wfs200.xml new file mode 100644 index 000000000..9968eb702 --- /dev/null +++ b/tests/functionaltests/suites/harvesting/post/Harvest-wfs200.xml @@ -0,0 +1,6 @@ + + + http://maps.cera.govt.nz/arcgis/services/CERA/CERA_TechClasses_WGS84/MapServer/WFSServer + http://www.opengis.net/wfs/2.0 + application/xml + diff --git a/tests/functionaltests/suites/harvesting/post/Harvest-wms-run1.xml b/tests/functionaltests/suites/harvesting/post/Harvest-wms-run1.xml new file mode 100644 index 000000000..a67274f81 --- /dev/null +++ b/tests/functionaltests/suites/harvesting/post/Harvest-wms-run1.xml @@ -0,0 +1,6 @@ + + + http://mesonet.agron.iastate.edu/cgi-bin/wms/nexrad/n0r-t.cgi + http://www.opengis.net/wms + application/xml + diff --git a/tests/functionaltests/suites/harvesting/post/Harvest-wms-run2.xml b/tests/functionaltests/suites/harvesting/post/Harvest-wms-run2.xml new file mode 100644 index 000000000..a67274f81 --- /dev/null +++ b/tests/functionaltests/suites/harvesting/post/Harvest-wms-run2.xml @@ -0,0 +1,6 @@ + + + http://mesonet.agron.iastate.edu/cgi-bin/wms/nexrad/n0r-t.cgi + http://www.opengis.net/wms + application/xml + diff --git a/tests/functionaltests/suites/harvesting/post/Harvest-wmts.xml b/tests/functionaltests/suites/harvesting/post/Harvest-wmts.xml new file mode 100644 index 000000000..6d8339354 --- /dev/null +++ b/tests/functionaltests/suites/harvesting/post/Harvest-wmts.xml @@ -0,0 +1,6 @@ + + + http://maps.wien.gv.at/wmts/1.0.0/WMTSCapabilities.xml + http://www.opengis.net/wmts/1.0 + application/xml + diff --git a/tests/functionaltests/suites/harvesting/post/Harvest-wps.xml b/tests/functionaltests/suites/harvesting/post/Harvest-wps.xml new file mode 100644 index 000000000..0a38c61dc --- /dev/null +++ b/tests/functionaltests/suites/harvesting/post/Harvest-wps.xml @@ -0,0 +1,6 @@ + + + http://cida.usgs.gov/gdp/utility/WebProcessingService + http://www.opengis.net/wps/1.0.0 + application/xml + diff --git a/tests/functionaltests/suites/harvesting/post/Harvest-zzz-post-GetRecords-filter-ows-dc.xml b/tests/functionaltests/suites/harvesting/post/Harvest-zzz-post-GetRecords-filter-ows-dc.xml new file mode 100644 index 000000000..5fe7eff25 --- /dev/null +++ b/tests/functionaltests/suites/harvesting/post/Harvest-zzz-post-GetRecords-filter-ows-dc.xml @@ -0,0 +1,36 @@ + + + + full + + + + + apiso:ServiceType + OGC:SOS + + + apiso:ServiceType + OGC:WPS + + + apiso:ServiceType + OGC:WMS + + + apiso:ServiceType + OGC:WFS + + + apiso:ServiceType + OGC:CSW + + + apiso:ServiceType + OGC:WCS + + + + + + diff --git a/tests/functionaltests/suites/harvesting/post/Harvest-zzz-post-GetRecords-filter-sos-abstract-dc.xml b/tests/functionaltests/suites/harvesting/post/Harvest-zzz-post-GetRecords-filter-sos-abstract-dc.xml new file mode 100644 index 000000000..294218008 --- /dev/null +++ b/tests/functionaltests/suites/harvesting/post/Harvest-zzz-post-GetRecords-filter-sos-abstract-dc.xml @@ -0,0 +1,24 @@ + + + + full + + + + + apiso:Type + service + + + apiso:ServiceType + OGC:SOS + + + apiso:Abstract + (groundwater( + + + + + + diff --git a/tests/functionaltests/suites/harvesting/post/Harvest-zzz-post-GetRecords-filter-sos-dc.xml b/tests/functionaltests/suites/harvesting/post/Harvest-zzz-post-GetRecords-filter-sos-dc.xml new file mode 100644 index 000000000..caf43cc26 --- /dev/null +++ b/tests/functionaltests/suites/harvesting/post/Harvest-zzz-post-GetRecords-filter-sos-dc.xml @@ -0,0 +1,20 @@ + + + + full + + + + + apiso:Type + service + + + apiso:ServiceType + OGC:SOS + + + + + + diff --git a/tests/functionaltests/suites/harvesting/post/Harvest-zzz-post-GetRecords-filter-sos-iso.xml b/tests/functionaltests/suites/harvesting/post/Harvest-zzz-post-GetRecords-filter-sos-iso.xml new file mode 100644 index 000000000..edc45b3fa --- /dev/null +++ b/tests/functionaltests/suites/harvesting/post/Harvest-zzz-post-GetRecords-filter-sos-iso.xml @@ -0,0 +1,20 @@ + + + + full + + + + + apiso:Type + service + + + apiso:ServiceType + OGC:SOS + + + + + + diff --git a/tests/functionaltests/suites/harvesting/post/Harvest-zzz-post-GetRecords-filter-wfs-iso.xml b/tests/functionaltests/suites/harvesting/post/Harvest-zzz-post-GetRecords-filter-wfs-iso.xml new file mode 100644 index 000000000..3e26f62db --- /dev/null +++ b/tests/functionaltests/suites/harvesting/post/Harvest-zzz-post-GetRecords-filter-wfs-iso.xml @@ -0,0 +1,20 @@ + + + + full + + + + + apiso:Type + service + + + apiso:ServiceType + OGC:WFS + + + + + + diff --git a/tests/functionaltests/suites/harvesting/post/Harvest-zzz-post-GetRecords-filter-wms-dc.xml b/tests/functionaltests/suites/harvesting/post/Harvest-zzz-post-GetRecords-filter-wms-dc.xml new file mode 100644 index 000000000..c67d38186 --- /dev/null +++ b/tests/functionaltests/suites/harvesting/post/Harvest-zzz-post-GetRecords-filter-wms-dc.xml @@ -0,0 +1,20 @@ + + + + full + + + + + apiso:Type + service + + + apiso:ServiceType + OGC:WMS + + + + + + diff --git a/tests/functionaltests/suites/harvesting/post/Harvest-zzz-post-GetRecords-filter-wms-iso.xml b/tests/functionaltests/suites/harvesting/post/Harvest-zzz-post-GetRecords-filter-wms-iso.xml new file mode 100644 index 000000000..f4300e7ef --- /dev/null +++ b/tests/functionaltests/suites/harvesting/post/Harvest-zzz-post-GetRecords-filter-wms-iso.xml @@ -0,0 +1,20 @@ + + + + full + + + + + apiso:Type + service + + + apiso:ServiceType + OGC:WMS + + + + + + diff --git a/tests/functionaltests/suites/harvesting/post/Harvest-zzz-post-GetRecords-filter-wms-layer.xml b/tests/functionaltests/suites/harvesting/post/Harvest-zzz-post-GetRecords-filter-wms-layer.xml new file mode 100644 index 000000000..ab70e4b8b --- /dev/null +++ b/tests/functionaltests/suites/harvesting/post/Harvest-zzz-post-GetRecords-filter-wms-layer.xml @@ -0,0 +1,20 @@ + + + + full + + + + + dc:type + dataset + + + csw:AnyText + %nexrad% + + + + + + diff --git a/tests/functionaltests/suites/harvesting/post/Harvest-zzz-post-GetRecords-filter-wps-process.xml b/tests/functionaltests/suites/harvesting/post/Harvest-zzz-post-GetRecords-filter-wps-process.xml new file mode 100644 index 000000000..3c87edd95 --- /dev/null +++ b/tests/functionaltests/suites/harvesting/post/Harvest-zzz-post-GetRecords-filter-wps-process.xml @@ -0,0 +1,14 @@ + + + + full + + + + dc:type + software + + + + + diff --git a/tests/functionaltests/suites/harvesting/post/Transaction-000-delete-all.xml b/tests/functionaltests/suites/harvesting/post/Transaction-000-delete-all.xml new file mode 100644 index 000000000..827ccc7f0 --- /dev/null +++ b/tests/functionaltests/suites/harvesting/post/Transaction-000-delete-all.xml @@ -0,0 +1,13 @@ + + + + + + + dc:identifier + % + + + + + diff --git a/tests/functionaltests/suites/manager/default.cfg b/tests/functionaltests/suites/manager/default.cfg new file mode 100644 index 000000000..3e9c1f8f5 --- /dev/null +++ b/tests/functionaltests/suites/manager/default.cfg @@ -0,0 +1,91 @@ +# ================================================================= +# +# Authors: Tom Kralidis +# +# Copyright (c) 2012 Tom Kralidis +# +# Permission is hereby granted, free of charge, to any person +# obtaining a copy of this software and associated documentation +# files (the "Software"), to deal in the Software without +# restriction, including without limitation the rights to use, +# copy, modify, merge, publish, distribute, sublicense, and/or sell +# copies of the Software, and to permit persons to whom the +# Software is furnished to do so, subject to the following +# conditions: +# +# The above copyright notice and this permission notice shall be +# included in all copies or substantial portions of the Software. +# +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +# EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES +# OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +# NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT +# HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, +# WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR +# OTHER DEALINGS IN THE SOFTWARE. +# +# ================================================================= + +[server] +home=. +url=http://localhost/pycsw/csw.py?config=tests/suites/manager/default.cfg +mimetype=application/xml; charset=UTF-8 +encoding=UTF-8 +language=en-US +maxrecords=10 +#loglevel=DEBUG +#logfile=/tmp/pycsw.log +#ogc_schemas_base=http://foo +federatedcatalogues=http://geo.data.gov/geoportal/csw/discovery +pretty_print=true +#gzip_compresslevel=8 +#spatial_ranking=true +profiles=apiso + +[manager] +transactions=true +allowed_ips=127.0.0.1 + +[metadata:main] +identification_title=pycsw Geospatial Catalogue +identification_abstract=pycsw is an OGC CSW server implementation written in Python +identification_keywords=catalogue,discovery +identification_keywords_type=theme +identification_fees=None +identification_accessconstraints=None +provider_name=pycsw +provider_url=http://pycsw.org/ +contact_name=Kralidis, Tom +contact_position=Senior Systems Scientist +contact_address=TBA +contact_city=Toronto +contact_stateorprovince=Ontario +contact_postalcode=M9C 3Z9 +contact_country=Canada +contact_phone=+01-416-xxx-xxxx +contact_fax=+01-416-xxx-xxxx +contact_email=tomkralidis@gmail.com +contact_url=http://kralidis.ca/ +contact_hours=0800h - 1600h EST +contact_instructions=During hours of service. Off on weekends. +contact_role=pointOfContact + +[repository] +# sqlite +database=sqlite:///tests/suites/manager/data/records.db +# postgres +#database=postgres://username:password@localhost/pycsw +table=records + +[metadata:inspire] +enabled=false +languages_supported=eng,gre +default_language=eng +date=2011-03-29 +gemet_keywords=Utility and governmental services +conformity_service=notEvaluated +contact_name=National Technical University of Athens +contact_email=tzotsos@gmail.com +temp_extent=2011-02-01/2011-03-30 + diff --git a/tests/functionaltests/suites/manager/expected/post_Clear-000-delete-all.xml b/tests/functionaltests/suites/manager/expected/post_Clear-000-delete-all.xml new file mode 100644 index 000000000..01ccdf629 --- /dev/null +++ b/tests/functionaltests/suites/manager/expected/post_Clear-000-delete-all.xml @@ -0,0 +1,9 @@ + + + + + 0 + 0 + 0 + + diff --git a/tests/functionaltests/suites/manager/expected/post_GetCapabilities.xml b/tests/functionaltests/suites/manager/expected/post_GetCapabilities.xml new file mode 100644 index 000000000..1fc931575 --- /dev/null +++ b/tests/functionaltests/suites/manager/expected/post_GetCapabilities.xml @@ -0,0 +1,368 @@ + + + + + pycsw Geospatial Catalogue + pycsw is an OGC CSW server implementation written in Python + + catalogue + discovery + theme + + CSW + 2.0.2 + 3.0.0 + None + None + + + pycsw + + + Kralidis, Tom + Senior Systems Scientist + + + +01-416-xxx-xxxx + +01-416-xxx-xxxx + + + TBA + Toronto + Ontario + M9C 3Z9 + Canada + tomkralidis@gmail.com + + + 0800h - 1600h EST + During hours of service. Off on weekends. + + pointOfContact + + + + + + + + + + + + Filter_Capabilities + OperationsMetadata + ServiceIdentification + ServiceProvider + + + + + + + + + + + application/json + application/xml + + + http://www.w3.org/2001/XMLSchema + http://www.w3.org/TR/xmlschema-1/ + http://www.w3.org/XML/Schema + + + csw:Record + gmd:MD_Metadata + + + + + + + + + + + DescribeRecord.outputFormat + DescribeRecord.schemaLanguage + DescribeRecord.typeName + GetCapabilities.sections + GetRecordById.ElementSetName + GetRecordById.outputFormat + GetRecordById.outputSchema + GetRecords.CONSTRAINTLANGUAGE + GetRecords.ElementSetName + GetRecords.outputFormat + GetRecords.outputSchema + GetRecords.resultType + GetRecords.typeNames + Harvest.ResourceType + Transaction.TransactionSchemas + + + + + + + + + + + CQL_TEXT + FILTER + + + brief + full + summary + + + application/json + application/xml + + + http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ + http://www.interlis.ch/INTERLIS2.3 + http://www.isotc211.org/2005/gmd + http://www.opengis.net/cat/csw/2.0.2 + http://www.opengis.net/cat/csw/csdgm + http://www.w3.org/2005/Atom + + + hits + results + validate + + + csw:Record + gmd:MD_Metadata + + + apiso:AccessConstraints + apiso:Classification + apiso:ConditionApplyingToAccessAndUse + apiso:Contributor + apiso:Creator + apiso:Degree + apiso:Lineage + apiso:OtherConstraints + apiso:Publisher + apiso:Relation + apiso:ResponsiblePartyRole + apiso:SpecificationDate + apiso:SpecificationDateType + apiso:SpecificationTitle + + + csw:AnyText + dc:contributor + dc:creator + dc:date + dc:format + dc:identifier + dc:language + dc:publisher + dc:relation + dc:rights + dc:source + dc:subject + dc:title + dc:type + dct:abstract + dct:modified + ows:BoundingBox + + + apiso:Abstract + apiso:AlternateTitle + apiso:AnyText + apiso:BoundingBox + apiso:CRS + apiso:CouplingType + apiso:CreationDate + apiso:Denominator + apiso:DistanceUOM + apiso:DistanceValue + apiso:Format + apiso:GeographicDescriptionCode + apiso:HasSecurityConstraints + apiso:Identifier + apiso:KeywordType + apiso:Language + apiso:Modified + apiso:OperatesOn + apiso:OperatesOnIdentifier + apiso:OperatesOnName + apiso:Operation + apiso:OrganisationName + apiso:ParentIdentifier + apiso:PublicationDate + apiso:ResourceLanguage + apiso:RevisionDate + apiso:ServiceType + apiso:ServiceTypeVersion + apiso:Subject + apiso:TempExtent_begin + apiso:TempExtent_end + apiso:Title + apiso:TopicCategory + apiso:Type + + + + + + + + + + + brief + full + summary + + + application/json + application/xml + + + http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ + http://www.interlis.ch/INTERLIS2.3 + http://www.isotc211.org/2005/gmd + http://www.opengis.net/cat/csw/2.0.2 + http://www.opengis.net/cat/csw/csdgm + http://www.w3.org/2005/Atom + + + + + + + + + + + + + + + + + http://www.isotc211.org/2005/gmi + http://www.opengis.net/cat/csw/2.0.2 + http://www.opengis.net/cat/csw/3.0 + http://www.opengis.net/sos/1.0 + http://www.opengis.net/sos/2.0 + http://www.opengis.net/wcs + http://www.opengis.net/wfs + http://www.opengis.net/wfs/2.0 + http://www.opengis.net/wms + http://www.opengis.net/wmts/1.0 + http://www.opengis.net/wps/1.0.0 + urn:geoss:waf + + + + + + + + + + http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ + http://www.interlis.ch/INTERLIS2.3 + http://www.isotc211.org/2005/gmd + http://www.isotc211.org/2005/gmi + http://www.isotc211.org/schemas/2005/gmd/ + http://www.opengis.net/cat/csw/2.0.2 + http://www.opengis.net/cat/csw/3.0 + http://www.opengis.net/cat/csw/csdgm + http://www.opengis.net/sos/1.0 + http://www.opengis.net/sos/2.0 + http://www.opengis.net/wcs + http://www.opengis.net/wfs + http://www.opengis.net/wfs/2.0 + http://www.opengis.net/wms + http://www.opengis.net/wmts/1.0 + http://www.opengis.net/wps/1.0.0 + http://www.w3.org/2005/Atom + urn:geoss:waf + + + + CSW + + + 2.0.2 + 3.0.0 + + + http://geo.data.gov/geoportal/csw/discovery + + + 10 + + + XML + SOAP + + + allowed + + + + + + gml:Point + gml:LineString + gml:Polygon + gml:Envelope + + + + + + + + + + + + + + + + + + + Between + EqualTo + GreaterThan + GreaterThanEqualTo + LessThan + LessThanEqualTo + Like + NotEqualTo + NullCheck + + + + + length + lower + ltrim + rtrim + trim + upper + + + + + + + + + + diff --git a/tests/functionaltests/suites/manager/expected/post_GetDomain-parameter.xml b/tests/functionaltests/suites/manager/expected/post_GetDomain-parameter.xml new file mode 100644 index 000000000..b47402ca2 --- /dev/null +++ b/tests/functionaltests/suites/manager/expected/post_GetDomain-parameter.xml @@ -0,0 +1,27 @@ + + + + + Harvest.ResourceType + + http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ + http://www.interlis.ch/INTERLIS2.3 + http://www.isotc211.org/2005/gmd + http://www.isotc211.org/2005/gmi + http://www.isotc211.org/schemas/2005/gmd/ + http://www.opengis.net/cat/csw/2.0.2 + http://www.opengis.net/cat/csw/3.0 + http://www.opengis.net/cat/csw/csdgm + http://www.opengis.net/sos/1.0 + http://www.opengis.net/sos/2.0 + http://www.opengis.net/wcs + http://www.opengis.net/wfs + http://www.opengis.net/wfs/2.0 + http://www.opengis.net/wms + http://www.opengis.net/wmts/1.0 + http://www.opengis.net/wps/1.0.0 + http://www.w3.org/2005/Atom + urn:geoss:waf + + + diff --git a/tests/functionaltests/suites/manager/expected/post_Transaction-000-delete-all.xml b/tests/functionaltests/suites/manager/expected/post_Transaction-000-delete-all.xml new file mode 100644 index 000000000..01ccdf629 --- /dev/null +++ b/tests/functionaltests/suites/manager/expected/post_Transaction-000-delete-all.xml @@ -0,0 +1,9 @@ + + + + + 0 + 0 + 0 + + diff --git a/tests/functionaltests/suites/manager/expected/post_Transaction-dc-01-insert.xml b/tests/functionaltests/suites/manager/expected/post_Transaction-dc-01-insert.xml new file mode 100644 index 000000000..07d452a06 --- /dev/null +++ b/tests/functionaltests/suites/manager/expected/post_Transaction-dc-01-insert.xml @@ -0,0 +1,15 @@ + + + + + 1 + 0 + 0 + + + + xyz + pycsw Catalogue + + + diff --git a/tests/functionaltests/suites/manager/expected/post_Transaction-dc-02-update-full.xml b/tests/functionaltests/suites/manager/expected/post_Transaction-dc-02-update-full.xml new file mode 100644 index 000000000..0b9104ebe --- /dev/null +++ b/tests/functionaltests/suites/manager/expected/post_Transaction-dc-02-update-full.xml @@ -0,0 +1,9 @@ + + + + + 0 + 1 + 0 + + diff --git a/tests/functionaltests/suites/manager/expected/post_Transaction-fgdc-01-insert.xml b/tests/functionaltests/suites/manager/expected/post_Transaction-fgdc-01-insert.xml new file mode 100644 index 000000000..c44db37b3 --- /dev/null +++ b/tests/functionaltests/suites/manager/expected/post_Transaction-fgdc-01-insert.xml @@ -0,0 +1,15 @@ + + + + + 1 + 0 + 0 + + + + foorecord + NCEP + + + diff --git a/tests/functionaltests/suites/manager/expected/post_Transaction-fgdc-02-update-recprop.xml b/tests/functionaltests/suites/manager/expected/post_Transaction-fgdc-02-update-recprop.xml new file mode 100644 index 000000000..0b9104ebe --- /dev/null +++ b/tests/functionaltests/suites/manager/expected/post_Transaction-fgdc-02-update-recprop.xml @@ -0,0 +1,9 @@ + + + + + 0 + 1 + 0 + + diff --git a/tests/functionaltests/suites/manager/expected/post_Transaction-fgdc-03-delete-all.xml b/tests/functionaltests/suites/manager/expected/post_Transaction-fgdc-03-delete-all.xml new file mode 100644 index 000000000..a788564e4 --- /dev/null +++ b/tests/functionaltests/suites/manager/expected/post_Transaction-fgdc-03-delete-all.xml @@ -0,0 +1,9 @@ + + + + + 0 + 0 + 2 + + diff --git a/tests/functionaltests/suites/manager/expected/post_Transaction-iso-00-delete-all.xml b/tests/functionaltests/suites/manager/expected/post_Transaction-iso-00-delete-all.xml new file mode 100644 index 000000000..01ccdf629 --- /dev/null +++ b/tests/functionaltests/suites/manager/expected/post_Transaction-iso-00-delete-all.xml @@ -0,0 +1,9 @@ + + + + + 0 + 0 + 0 + + diff --git a/tests/functionaltests/suites/manager/expected/post_Transaction-iso-01-insert.xml b/tests/functionaltests/suites/manager/expected/post_Transaction-iso-01-insert.xml new file mode 100644 index 000000000..2e3a528d5 --- /dev/null +++ b/tests/functionaltests/suites/manager/expected/post_Transaction-iso-01-insert.xml @@ -0,0 +1,15 @@ + + + + + 1 + 0 + 0 + + + + 12345 + pycsw record + + + diff --git a/tests/functionaltests/suites/manager/expected/post_Transaction-iso-02-update-full.xml b/tests/functionaltests/suites/manager/expected/post_Transaction-iso-02-update-full.xml new file mode 100644 index 000000000..0b9104ebe --- /dev/null +++ b/tests/functionaltests/suites/manager/expected/post_Transaction-iso-02-update-full.xml @@ -0,0 +1,9 @@ + + + + + 0 + 1 + 0 + + diff --git a/tests/functionaltests/suites/manager/expected/post_Transaction-iso-03-update-recprop.xml b/tests/functionaltests/suites/manager/expected/post_Transaction-iso-03-update-recprop.xml new file mode 100644 index 000000000..0b9104ebe --- /dev/null +++ b/tests/functionaltests/suites/manager/expected/post_Transaction-iso-03-update-recprop.xml @@ -0,0 +1,9 @@ + + + + + 0 + 1 + 0 + + diff --git a/tests/functionaltests/suites/manager/expected/post_Transaction-iso-04-update-recprop-no-matches.xml b/tests/functionaltests/suites/manager/expected/post_Transaction-iso-04-update-recprop-no-matches.xml new file mode 100644 index 000000000..01ccdf629 --- /dev/null +++ b/tests/functionaltests/suites/manager/expected/post_Transaction-iso-04-update-recprop-no-matches.xml @@ -0,0 +1,9 @@ + + + + + 0 + 0 + 0 + + diff --git a/tests/functionaltests/suites/manager/expected/post_Transaction-iso-05-delete.xml b/tests/functionaltests/suites/manager/expected/post_Transaction-iso-05-delete.xml new file mode 100644 index 000000000..0e48fd530 --- /dev/null +++ b/tests/functionaltests/suites/manager/expected/post_Transaction-iso-05-delete.xml @@ -0,0 +1,9 @@ + + + + + 0 + 0 + 1 + + diff --git a/tests/functionaltests/suites/manager/expected/post_Transaction-xxx-delete-all.xml b/tests/functionaltests/suites/manager/expected/post_Transaction-xxx-delete-all.xml new file mode 100644 index 000000000..01ccdf629 --- /dev/null +++ b/tests/functionaltests/suites/manager/expected/post_Transaction-xxx-delete-all.xml @@ -0,0 +1,9 @@ + + + + + 0 + 0 + 0 + + diff --git a/tests/functionaltests/suites/manager/post/Clear-000-delete-all.xml b/tests/functionaltests/suites/manager/post/Clear-000-delete-all.xml new file mode 100644 index 000000000..827ccc7f0 --- /dev/null +++ b/tests/functionaltests/suites/manager/post/Clear-000-delete-all.xml @@ -0,0 +1,13 @@ + + + + + + + dc:identifier + % + + + + + diff --git a/tests/functionaltests/suites/manager/post/GetCapabilities.xml b/tests/functionaltests/suites/manager/post/GetCapabilities.xml new file mode 100644 index 000000000..e4dc8070b --- /dev/null +++ b/tests/functionaltests/suites/manager/post/GetCapabilities.xml @@ -0,0 +1,9 @@ + + + + 2.0.2 + + + application/xml + + diff --git a/tests/functionaltests/suites/manager/post/GetDomain-parameter.xml b/tests/functionaltests/suites/manager/post/GetDomain-parameter.xml new file mode 100644 index 000000000..3779a0555 --- /dev/null +++ b/tests/functionaltests/suites/manager/post/GetDomain-parameter.xml @@ -0,0 +1,4 @@ + + + Harvest.ResourceType + diff --git a/tests/functionaltests/suites/manager/post/Transaction-000-delete-all.xml b/tests/functionaltests/suites/manager/post/Transaction-000-delete-all.xml new file mode 100644 index 000000000..827ccc7f0 --- /dev/null +++ b/tests/functionaltests/suites/manager/post/Transaction-000-delete-all.xml @@ -0,0 +1,13 @@ + + + + + + + dc:identifier + % + + + + + diff --git a/tests/functionaltests/suites/manager/post/Transaction-dc-01-insert.xml b/tests/functionaltests/suites/manager/post/Transaction-dc-01-insert.xml new file mode 100644 index 000000000..1fca1e266 --- /dev/null +++ b/tests/functionaltests/suites/manager/post/Transaction-dc-01-insert.xml @@ -0,0 +1,22 @@ + + + + + xyz + pycsw Catalogue + 2012-06-05 + Sample metadata + dataset + imagery + baseMaps + earthCover + BIL + Vanda Lima + en + + -90 -180 + 90 180 + + + + diff --git a/tests/functionaltests/suites/manager/post/Transaction-dc-02-update-full.xml b/tests/functionaltests/suites/manager/post/Transaction-dc-02-update-full.xml new file mode 100644 index 000000000..3d3bf1a75 --- /dev/null +++ b/tests/functionaltests/suites/manager/post/Transaction-dc-02-update-full.xml @@ -0,0 +1,22 @@ + + + + + xyz + THIS HAS BEEN UPDATED + 2012-06-05 + Sample metadata + dataset + imagery + baseMaps + earthCover + BIL + Vanda Lima + en + + -90 -180 + 90 180 + + + + diff --git a/tests/functionaltests/suites/manager/post/Transaction-fgdc-01-insert.xml b/tests/functionaltests/suites/manager/post/Transaction-fgdc-01-insert.xml new file mode 100644 index 000000000..3a7c368df --- /dev/null +++ b/tests/functionaltests/suites/manager/post/Transaction-fgdc-01-insert.xml @@ -0,0 +1,214 @@ + + + + + +foorecord + + +NOAA/ESRL Physical Sciences Division +20001201 +NCEP + +Boulder, CO +NOAA/ESRL Physical Sciences Division + +ftp://ftp.cdc.noaa.gov/Datasets/ncep/ +http://www.esrl.noaa.gov/psd/thredds/dodsC/Datasets/ncep/ +http://www.esrl.noaa.gov/psd/data/gridded/data.ncep.html + + + +NCEP's twice-daily global analysis at 2.5&#176; resolution on pressure levels which is a product of their operational forecast system. +Scientific research. + +Additional Fields: +-----------------: +StartDate: 19790101 +StopDate: 20001201 +Storage_Medium: online +PSD Search Fields: +Entry_ID: ncep.fgdc + + + + + +19790101 +20001201 + + +Publication_Date: 20001201 + + +Complete +Irregular + + + +-180 +180 +90.00 +-90.00 + + + + +GCMD DIF 5.33 +NCEP +Air temperature +Geopotential height +Precipitable Water Content +Precipitable water Content +Relative humidity +Sea level pressure +Station pressure +Surface potential temperature +Surface Pressure +Tropopause Pressure +Tropopause temperature +u-wind +v-wind + + +none +Global + + +none +none + + +none +19790101, 20001201 + + +None +None. Acknowledgement of PSD would appreciated in products derived from these data. + + + +PSD Data Management + + +mailing address +
NOAA/ESRL Physical Sciences Division
+
U.S. Dept. of Commerce
+
NOAA, R/PSD
+
325 Broadway
+Boulder +CO +80305 +USA +
+(303) 497-6640 +(303) 497-6020 +esrl.psd.data@noaa.gov +
+
+ +None +Unclassified +None + +Data resides in netCDF files at PSD +
+ + +Data QC'd at source. We have checked our stored values. + +None +None + + +None + + + + + + +None +20001201 +None +None +None + + +None + + + +9999 +9999 + + +None + +None +None + + +None +9999 + + + + + + + +PSD Data Management + + +mailing address +
NOAA/ESRL Physical Sciences Division
+
U.S. Dept. of Commerce
+
NOAA, Code R/PSD
+
325 Broadway
+Boulder +CO +80305 +USA +
+(303) 497-7200 +(303) 497-6020 +esrl.psd.data@noaa.gov +
+
+No warranty expressed or implied. +
+ +20001201 + + + +PSD Data Management + + +mailing address +
NOAA/ESRL Physical Sciences Division
+
U.S. Dept. of Commerce
+
NOAA, Code R/PSD
+
325 Broadway
+Boulder +CO +80305 +USA +
+(303) 497-7200 +(303) 497-6020 +esrl.psd.data@noaa.gov +
+
+FGDC Content Standards for Digital Geospatial Metadata +FGDC-STD-001-1998 + +None +Unclassified +None + +
+
+
+
diff --git a/tests/functionaltests/suites/manager/post/Transaction-fgdc-02-update-recprop.xml b/tests/functionaltests/suites/manager/post/Transaction-fgdc-02-update-recprop.xml new file mode 100644 index 000000000..252beb6be --- /dev/null +++ b/tests/functionaltests/suites/manager/post/Transaction-fgdc-02-update-recprop.xml @@ -0,0 +1,17 @@ + + + + + idinfo/citation/citeinfo/title + NEW_TITLE + + + + + dct:abstract + NCEP% + + + + + diff --git a/tests/functionaltests/suites/manager/post/Transaction-fgdc-03-delete-all.xml b/tests/functionaltests/suites/manager/post/Transaction-fgdc-03-delete-all.xml new file mode 100644 index 000000000..9e0fba0d7 --- /dev/null +++ b/tests/functionaltests/suites/manager/post/Transaction-fgdc-03-delete-all.xml @@ -0,0 +1,13 @@ + + + + + + + dc:identifier + % + + + + + diff --git a/tests/functionaltests/suites/manager/post/Transaction-iso-00-delete-all.xml b/tests/functionaltests/suites/manager/post/Transaction-iso-00-delete-all.xml new file mode 100644 index 000000000..0fb063efc --- /dev/null +++ b/tests/functionaltests/suites/manager/post/Transaction-iso-00-delete-all.xml @@ -0,0 +1,13 @@ + + + + + + + apiso:Identifier + % + + + + + diff --git a/tests/functionaltests/suites/manager/post/Transaction-iso-01-insert.xml b/tests/functionaltests/suites/manager/post/Transaction-iso-01-insert.xml new file mode 100644 index 000000000..1b238dd4d --- /dev/null +++ b/tests/functionaltests/suites/manager/post/Transaction-iso-01-insert.xml @@ -0,0 +1,73 @@ + + + + + + 12345 + + + + + + + + pycsw + + + + + + + + 2011-05-17 + + + + + + + pycsw record + + + + + 2011-05-17 + + + + + + + + + + Sample metadata record + + + eng + + + + + + + -180 + + + 180 + + + -90 + + + 90 + + + + + + + + + + diff --git a/tests/functionaltests/suites/manager/post/Transaction-iso-02-update-full.xml b/tests/functionaltests/suites/manager/post/Transaction-iso-02-update-full.xml new file mode 100644 index 000000000..a5a5d0019 --- /dev/null +++ b/tests/functionaltests/suites/manager/post/Transaction-iso-02-update-full.xml @@ -0,0 +1,73 @@ + + + + + + 12345 + + + + + + + + pycsw + + + + + + + + 2011-05-17 + + + + + + + pycsw record UPDATED + + + + + 2011-05-17 + + + + + + + + + + Sample metadata record + + + eng + + + + + + + -180 + + + 180 + + + -90 + + + 90 + + + + + + + + + + diff --git a/tests/functionaltests/suites/manager/post/Transaction-iso-03-update-recprop.xml b/tests/functionaltests/suites/manager/post/Transaction-iso-03-update-recprop.xml new file mode 100644 index 000000000..a130a5f25 --- /dev/null +++ b/tests/functionaltests/suites/manager/post/Transaction-iso-03-update-recprop.xml @@ -0,0 +1,17 @@ + + + + + apiso:Title + NEW_TITLE + + + + + apiso:Identifier + 12345 + + + + + diff --git a/tests/functionaltests/suites/manager/post/Transaction-iso-04-update-recprop-no-matches.xml b/tests/functionaltests/suites/manager/post/Transaction-iso-04-update-recprop-no-matches.xml new file mode 100644 index 000000000..e1ff7ac3a --- /dev/null +++ b/tests/functionaltests/suites/manager/post/Transaction-iso-04-update-recprop-no-matches.xml @@ -0,0 +1,17 @@ + + + + + apiso:Title + NEW_TITLE + + + + + apiso:Identifier + non-existent + + + + + diff --git a/tests/functionaltests/suites/manager/post/Transaction-iso-05-delete.xml b/tests/functionaltests/suites/manager/post/Transaction-iso-05-delete.xml new file mode 100644 index 000000000..675a8690e --- /dev/null +++ b/tests/functionaltests/suites/manager/post/Transaction-iso-05-delete.xml @@ -0,0 +1,13 @@ + + + + + + + apiso:Identifier + 12345 + + + + + diff --git a/tests/functionaltests/suites/manager/post/Transaction-xxx-delete-all.xml b/tests/functionaltests/suites/manager/post/Transaction-xxx-delete-all.xml new file mode 100644 index 000000000..827ccc7f0 --- /dev/null +++ b/tests/functionaltests/suites/manager/post/Transaction-xxx-delete-all.xml @@ -0,0 +1,13 @@ + + + + + + + dc:identifier + % + + + + + diff --git a/tests/functionaltests/suites/oaipmh/default.cfg b/tests/functionaltests/suites/oaipmh/default.cfg new file mode 100644 index 000000000..18a08989f --- /dev/null +++ b/tests/functionaltests/suites/oaipmh/default.cfg @@ -0,0 +1,91 @@ +# ================================================================= +# +# Authors: Tom Kralidis +# +# Copyright (c) 2011 Tom Kralidis +# +# Permission is hereby granted, free of charge, to any person +# obtaining a copy of this software and associated documentation +# files (the "Software"), to deal in the Software without +# restriction, including without limitation the rights to use, +# copy, modify, merge, publish, distribute, sublicense, and/or sell +# copies of the Software, and to permit persons to whom the +# Software is furnished to do so, subject to the following +# conditions: +# +# The above copyright notice and this permission notice shall be +# included in all copies or substantial portions of the Software. +# +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +# EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES +# OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +# NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT +# HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, +# WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR +# OTHER DEALINGS IN THE SOFTWARE. +# +# ================================================================= + +[server] +home=. +url=http://localhost/pycsw/csw.py?config=tests/suites/oaipmh/default.cfg +mimetype=application/xml; charset=UTF-8 +encoding=UTF-8 +language=en-US +maxrecords=10 +#loglevel=DEBUG +#logfile=/tmp/pycsw.log +#ogc_schemas_base=http://foo +federatedcatalogues=http://geo.data.gov/geoportal/csw/discovery +pretty_print=true +profiles=apiso +#gzip_compresslevel=8 +#spatial_ranking=true + +[manager] +transactions=false +allowed_ips=127.0.0.1 + +[metadata:main] +identification_title=pycsw Geospatial Catalogue +identification_abstract=pycsw is an OGC CSW server implementation written in Python +identification_keywords=catalogue,discovery +identification_keywords_type=theme +identification_fees=None +identification_accessconstraints=None +provider_name=pycsw +provider_url=http://pycsw.org/ +contact_name=Kralidis, Tom +contact_position=Senior Systems Scientist +contact_address=TBA +contact_city=Toronto +contact_stateorprovince=Ontario +contact_postalcode=M9C 3Z9 +contact_country=Canada +contact_phone=+01-416-xxx-xxxx +contact_fax=+01-416-xxx-xxxx +contact_email=tomkralidis@gmail.com +contact_url=http://kralidis.ca/ +contact_hours=0800h - 1600h EST +contact_instructions=During hours of service. Off on weekends. +contact_role=pointOfContact + +[repository] +# sqlite +database=sqlite:///tests/suites/cite/data/records.db +# postgres +#database=postgres://username:password@localhost/pycsw +table=records + +[metadata:inspire] +enabled=false +languages_supported=eng,gre +default_language=eng +date=2011-03-29 +gemet_keywords=Utility and governmental services +conformity_service=notEvaluated +contact_name=National Technical University of Athens +contact_email=tzotsos@gmail.com +temp_extent=2011-02-01/2011-03-30 + diff --git a/tests/functionaltests/suites/oaipmh/expected/get_GetRecord_bad_metadata_prefix.xml b/tests/functionaltests/suites/oaipmh/expected/get_GetRecord_bad_metadata_prefix.xml new file mode 100644 index 000000000..8633a422d --- /dev/null +++ b/tests/functionaltests/suites/oaipmh/expected/get_GetRecord_bad_metadata_prefix.xml @@ -0,0 +1,7 @@ + + + + PYCSW_TIMESTAMP + http://localhost/pycsw/csw.py?config=tests/suites/oaipmh/default.cfg&mode=oaipmh + Invalid outputschema parameter csw-recordd + diff --git a/tests/functionaltests/suites/oaipmh/expected/get_GetRecord_dc.xml b/tests/functionaltests/suites/oaipmh/expected/get_GetRecord_dc.xml new file mode 100644 index 000000000..367da8832 --- /dev/null +++ b/tests/functionaltests/suites/oaipmh/expected/get_GetRecord_dc.xml @@ -0,0 +1,26 @@ + + + + PYCSW_TIMESTAMP + http://localhost/pycsw/csw.py?config=tests/suites/oaipmh/default.cfg&mode=oaipmh + + + + urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f + + + + + + urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f + http://purl.org/dc/dcmitype/Image + image/svg+xml + Lorem ipsum + GR-22 + Tourism--Greece + Quisque lacus diam, placerat mollis, pharetra in, commodo sed, augue. Duis iaculis arcu vel arcu. + + + + + diff --git a/tests/functionaltests/suites/oaipmh/expected/get_GetRecord_iso.xml b/tests/functionaltests/suites/oaipmh/expected/get_GetRecord_iso.xml new file mode 100644 index 000000000..8a482b63e --- /dev/null +++ b/tests/functionaltests/suites/oaipmh/expected/get_GetRecord_iso.xml @@ -0,0 +1,62 @@ + + + + PYCSW_TIMESTAMP + http://localhost/pycsw/csw.py?config=tests/suites/oaipmh/default.cfg&mode=oaipmh + + + + urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f + + + + + + + urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f + + + + + + http://purl.org/dc/dcmitype/Image + + + + + + + ISO19115 + + + 2003/Cor.1:2006 + + + + + + + Lorem ipsum + + + + + Quisque lacus diam, placerat mollis, pharetra in, commodo sed, augue. Duis iaculis arcu vel arcu. + + + + + Tourism--Greece + + + + + + + + + + + + + diff --git a/tests/functionaltests/suites/oaipmh/expected/get_GetRecord_oai_dc.xml b/tests/functionaltests/suites/oaipmh/expected/get_GetRecord_oai_dc.xml new file mode 100644 index 000000000..c8840efba --- /dev/null +++ b/tests/functionaltests/suites/oaipmh/expected/get_GetRecord_oai_dc.xml @@ -0,0 +1,26 @@ + + + + PYCSW_TIMESTAMP + http://localhost/pycsw/csw.py?config=tests/suites/oaipmh/default.cfg&mode=oaipmh + + + + urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f + + + + + + urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f + http://purl.org/dc/dcmitype/Image + image/svg+xml + Lorem ipsum + GR-22 + Tourism--Greece + Quisque lacus diam, placerat mollis, pharetra in, commodo sed, augue. Duis iaculis arcu vel arcu. + + + + + diff --git a/tests/functionaltests/suites/oaipmh/expected/get_Identify.xml b/tests/functionaltests/suites/oaipmh/expected/get_Identify.xml new file mode 100644 index 000000000..967a385c5 --- /dev/null +++ b/tests/functionaltests/suites/oaipmh/expected/get_Identify.xml @@ -0,0 +1,15 @@ + + + + PYCSW_TIMESTAMP + http://localhost/pycsw/csw.py?config=tests/suites/oaipmh/default.cfg&mode=oaipmh + + pycsw Geospatial Catalogue + http://localhost/pycsw/csw.py?config=tests/suites/oaipmh/default.cfg&mode=oaipmh + 2.0 + tomkralidis@gmail.com + PYCSW_TIMESTAMP + no + YYYY-MM-DDThh:mm:ssZ + + diff --git a/tests/functionaltests/suites/oaipmh/expected/get_ListIdentifiers_bad_metadata_prefix.xml b/tests/functionaltests/suites/oaipmh/expected/get_ListIdentifiers_bad_metadata_prefix.xml new file mode 100644 index 000000000..3eaa03c66 --- /dev/null +++ b/tests/functionaltests/suites/oaipmh/expected/get_ListIdentifiers_bad_metadata_prefix.xml @@ -0,0 +1,7 @@ + + + + PYCSW_TIMESTAMP + http://localhost/pycsw/csw.py?config=tests/suites/oaipmh/default.cfg&mode=oaipmh + Invalid outputSchema parameter value: foo + diff --git a/tests/functionaltests/suites/oaipmh/expected/get_ListIdentifiers_dc.xml b/tests/functionaltests/suites/oaipmh/expected/get_ListIdentifiers_dc.xml new file mode 100644 index 000000000..388be64cd --- /dev/null +++ b/tests/functionaltests/suites/oaipmh/expected/get_ListIdentifiers_dc.xml @@ -0,0 +1,79 @@ + + + + PYCSW_TIMESTAMP + http://localhost/pycsw/csw.py?config=tests/suites/oaipmh/default.cfg&mode=oaipmh + + + + urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f + + + + + + + urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f + + + + + + + urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f + + + + + + + urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f + + + + + + + urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f + + + + + + + urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f + + + + + + + urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f + + + + + + + urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f + + + + + + + urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f + + + + + + + urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f + + + + + 11 + + diff --git a/tests/functionaltests/suites/oaipmh/expected/get_ListIdentifiers_iso.xml b/tests/functionaltests/suites/oaipmh/expected/get_ListIdentifiers_iso.xml new file mode 100644 index 000000000..1ab8be85c --- /dev/null +++ b/tests/functionaltests/suites/oaipmh/expected/get_ListIdentifiers_iso.xml @@ -0,0 +1,79 @@ + + + + PYCSW_TIMESTAMP + http://localhost/pycsw/csw.py?config=tests/suites/oaipmh/default.cfg&mode=oaipmh + + + + urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f + + + + + + + urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f + + + + + + + urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f + + + + + + + urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f + + + + + + + urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f + + + + + + + urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f + + + + + + + urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f + + + + + + + urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f + + + + + + + urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f + + + + + + + urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f + + + + + 11 + + diff --git a/tests/functionaltests/suites/oaipmh/expected/get_ListIdentifiers_missing_metadata_prefix.xml b/tests/functionaltests/suites/oaipmh/expected/get_ListIdentifiers_missing_metadata_prefix.xml new file mode 100644 index 000000000..4104799d7 --- /dev/null +++ b/tests/functionaltests/suites/oaipmh/expected/get_ListIdentifiers_missing_metadata_prefix.xml @@ -0,0 +1,7 @@ + + + + PYCSW_TIMESTAMP + http://localhost/pycsw/csw.py?config=tests/suites/oaipmh/default.cfg&mode=oaipmh + Missing metadataPrefix parameter + diff --git a/tests/functionaltests/suites/oaipmh/expected/get_ListIdentifiers_oai_dc.xml b/tests/functionaltests/suites/oaipmh/expected/get_ListIdentifiers_oai_dc.xml new file mode 100644 index 000000000..a41a083ab --- /dev/null +++ b/tests/functionaltests/suites/oaipmh/expected/get_ListIdentifiers_oai_dc.xml @@ -0,0 +1,79 @@ + + + + PYCSW_TIMESTAMP + http://localhost/pycsw/csw.py?config=tests/suites/oaipmh/default.cfg&mode=oaipmh + + + + urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f + + + + + + + urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f + + + + + + + urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f + + + + + + + urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f + + + + + + + urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f + + + + + + + urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f + + + + + + + urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f + + + + + + + urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f + + + + + + + urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f + + + + + + + urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f + + + + + 11 + + diff --git a/tests/functionaltests/suites/oaipmh/expected/get_ListMetadataFormats.xml b/tests/functionaltests/suites/oaipmh/expected/get_ListMetadataFormats.xml new file mode 100644 index 000000000..2549bc963 --- /dev/null +++ b/tests/functionaltests/suites/oaipmh/expected/get_ListMetadataFormats.xml @@ -0,0 +1,38 @@ + + + + PYCSW_TIMESTAMP + http://localhost/pycsw/csw.py?config=tests/suites/oaipmh/default.cfg&mode=oaipmh + + + csw-record + http://schemas.opengis.net/csw/2.0.2/record.xsd + http://www.opengis.net/cat/csw/2.0.2 + + + dif + http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/dif.xsd + http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ + + + fgdc-std + http://www.fgdc.gov/metadata/fgdc-std-001-1998.xsd + http://www.opengis.net/cat/csw/csdgm + + + gm03 + http://www.geocat.ch/internet/geocat/en/home/documentation/gm03.parsys.50316.downloadList.86742.DownloadFile.tmp/gm0321.zip + http://www.interlis.ch/INTERLIS2.3 + + + iso19139 + http://www.isotc211.org/2005/gmd/gmd.xsd + http://www.isotc211.org/2005/gmd + + + oai_dc + http://www.openarchives.org/OAI/2.0/oai_dc.xsd + http://www.openarchives.org/OAI/2.0/oai_dc/ + + + diff --git a/tests/functionaltests/suites/oaipmh/expected/get_ListRecords_dc.xml b/tests/functionaltests/suites/oaipmh/expected/get_ListRecords_dc.xml new file mode 100644 index 000000000..43a853d38 --- /dev/null +++ b/tests/functionaltests/suites/oaipmh/expected/get_ListRecords_dc.xml @@ -0,0 +1,185 @@ + + + + PYCSW_TIMESTAMP + http://localhost/pycsw/csw.py?config=tests/suites/oaipmh/default.cfg&mode=oaipmh + + + + urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f + + + + + + urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f + http://purl.org/dc/dcmitype/Image + image/svg+xml + Lorem ipsum + GR-22 + Tourism--Greece + Quisque lacus diam, placerat mollis, pharetra in, commodo sed, augue. Duis iaculis arcu vel arcu. + + + + + + urn:uuid:1ef30a8b-876d-4828-9246-c37ab4510bbd + + + + + + urn:uuid:1ef30a8b-876d-4828-9246-c37ab4510bbd + http://purl.org/dc/dcmitype/Service + Proin sit amet justo. In justo. Aenean adipiscing nulla id tellus. + + 60.042 13.754 + 68.410 17.920 + + + + + + + urn:uuid:66ae76b7-54ba-489b-a582-0f0633d96493 + + + + + + urn:uuid:66ae76b7-54ba-489b-a582-0f0633d96493 + Maecenas enim + http://purl.org/dc/dcmitype/Text + application/xhtml+xml + Marine sediments + Pellentesque tempus magna non sapien fringilla blandit. + + + + + + urn:uuid:6a3de50b-fa66-4b58-a0e6-ca146fdd18d4 + + + + + + urn:uuid:6a3de50b-fa66-4b58-a0e6-ca146fdd18d4 + http://purl.org/dc/dcmitype/Service + Ut facilisis justo ut lacus + Vegetation + urn:uuid:94bc9c83-97f6-4b40-9eb8-a8e8787a5c63 + + + + + + urn:uuid:784e2afd-a9fd-44a6-9a92-a3848371c8ec + + + + + + urn:uuid:784e2afd-a9fd-44a6-9a92-a3848371c8ec + Aliquam fermentum purus quis arcu + http://purl.org/dc/dcmitype/Text + Hydrography--Dictionaries + application/pdf + 2006-05-12 + Vestibulum quis ipsum sit amet metus imperdiet vehicula. Nulla scelerisque cursus mi. + + + + + + urn:uuid:829babb0-b2f1-49e1-8cd5-7b489fe71a1e + + + + + + urn:uuid:829babb0-b2f1-49e1-8cd5-7b489fe71a1e + http://purl.org/dc/dcmitype/Image + image/jp2 + Vestibulum massa purus + urn:uuid:9a669547-b69b-469f-a11f-2d875366bbdc + + + + + + urn:uuid:88247b56-4cbc-4df9-9860-db3f8042e357 + + + + + + urn:uuid:88247b56-4cbc-4df9-9860-db3f8042e357 + http://purl.org/dc/dcmitype/Dataset + Physiography-Landforms + FI-ES + Donec scelerisque pede ut nisl luctus accumsan. Quisque ultrices, lorem eget feugiat fringilla, lorem dui porttitor ante, cursus ultrices magna odio eu neque. + + + + + + urn:uuid:94bc9c83-97f6-4b40-9eb8-a8e8787a5c63 + + + + + + urn:uuid:94bc9c83-97f6-4b40-9eb8-a8e8787a5c63 + http://purl.org/dc/dcmitype/Dataset + Mauris sed neque + Vegetation-Cropland + Curabitur lacinia, ante non porta tempus, mi lorem feugiat odio, eget suscipit eros pede ac velit. + 2006-03-26 + + 47.595 -4.097 + 51.217 0.889 + + + + + + + urn:uuid:9a669547-b69b-469f-a11f-2d875366bbdc + + + + + + urn:uuid:9a669547-b69b-469f-a11f-2d875366bbdc + http://purl.org/dc/dcmitype/Dataset + Ñunç elementum + Hydrography-Oceanographic + 2005-10-24 + + 44.792 -6.171 + 51.126 -2.228 + + + + + + + urn:uuid:a06af396-3105-442d-8b40-22b57a90d2f2 + + + + + + urn:uuid:a06af396-3105-442d-8b40-22b57a90d2f2 + http://purl.org/dc/dcmitype/Image + Lorem ipsum dolor sit amet + image/jpeg + IT-FI + + + + 11 + + diff --git a/tests/functionaltests/suites/oaipmh/expected/get_ListRecords_dc_bad_metadata_prefix.xml b/tests/functionaltests/suites/oaipmh/expected/get_ListRecords_dc_bad_metadata_prefix.xml new file mode 100644 index 000000000..6ed9a9c58 --- /dev/null +++ b/tests/functionaltests/suites/oaipmh/expected/get_ListRecords_dc_bad_metadata_prefix.xml @@ -0,0 +1,7 @@ + + + + PYCSW_TIMESTAMP + http://localhost/pycsw/csw.py?config=tests/suites/oaipmh/default.cfg&mode=oaipmh + Invalid outputSchema parameter value: csw-recording + diff --git a/tests/functionaltests/suites/oaipmh/expected/get_ListRecords_iso19139.xml b/tests/functionaltests/suites/oaipmh/expected/get_ListRecords_iso19139.xml new file mode 100644 index 000000000..58bd0023a --- /dev/null +++ b/tests/functionaltests/suites/oaipmh/expected/get_ListRecords_iso19139.xml @@ -0,0 +1,588 @@ + + + + PYCSW_TIMESTAMP + http://localhost/pycsw/csw.py?config=tests/suites/oaipmh/default.cfg&mode=oaipmh + + + + urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f + + + + + + + urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f + + + + + + http://purl.org/dc/dcmitype/Image + + + + + + + ISO19115 + + + 2003/Cor.1:2006 + + + + + + + Lorem ipsum + + + + + Quisque lacus diam, placerat mollis, pharetra in, commodo sed, augue. Duis iaculis arcu vel arcu. + + + + + Tourism--Greece + + + + + + + + + + + + + + urn:uuid:1ef30a8b-876d-4828-9246-c37ab4510bbd + + + + + + + urn:uuid:1ef30a8b-876d-4828-9246-c37ab4510bbd + + + + + + http://purl.org/dc/dcmitype/Service + + + + + + + ISO19115 + + + 2003/Cor.1:2006 + + + + + + + + + + + + Proin sit amet justo. In justo. Aenean adipiscing nulla id tellus. + + + + + + + + + + 13.75 + + + 17.92 + + + 60.04 + + + 68.41 + + + + + + + + + + + + + urn:uuid:66ae76b7-54ba-489b-a582-0f0633d96493 + + + + + + + urn:uuid:66ae76b7-54ba-489b-a582-0f0633d96493 + + + + + + http://purl.org/dc/dcmitype/Text + + + + + + + ISO19115 + + + 2003/Cor.1:2006 + + + + + + + Maecenas enim + + + + + Pellentesque tempus magna non sapien fringilla blandit. + + + + + Marine sediments + + + + + + + + + + + + + + urn:uuid:6a3de50b-fa66-4b58-a0e6-ca146fdd18d4 + + + + + + + urn:uuid:6a3de50b-fa66-4b58-a0e6-ca146fdd18d4 + + + + + + http://purl.org/dc/dcmitype/Service + + + + + + + ISO19115 + + + 2003/Cor.1:2006 + + + + + + + Ut facilisis justo ut lacus + + + + + + + + + + Vegetation + + + + + + + + + + + + + + urn:uuid:784e2afd-a9fd-44a6-9a92-a3848371c8ec + + + + + + + urn:uuid:784e2afd-a9fd-44a6-9a92-a3848371c8ec + + + + + + http://purl.org/dc/dcmitype/Text + + + + + + + ISO19115 + + + 2003/Cor.1:2006 + + + + + + + Aliquam fermentum purus quis arcu + + + + + Vestibulum quis ipsum sit amet metus imperdiet vehicula. Nulla scelerisque cursus mi. + + + + + Hydrography--Dictionaries + + + + + + + + + + + + + + urn:uuid:829babb0-b2f1-49e1-8cd5-7b489fe71a1e + + + + + + + urn:uuid:829babb0-b2f1-49e1-8cd5-7b489fe71a1e + + + + + + http://purl.org/dc/dcmitype/Image + + + + + + + ISO19115 + + + 2003/Cor.1:2006 + + + + + + + Vestibulum massa purus + + + + + + + + + + + + + + + + + urn:uuid:88247b56-4cbc-4df9-9860-db3f8042e357 + + + + + + + urn:uuid:88247b56-4cbc-4df9-9860-db3f8042e357 + + + + + + dataset + + + + + + + ISO19115 + + + 2003/Cor.1:2006 + + + + + + + + + + + + Donec scelerisque pede ut nisl luctus accumsan. Quisque ultrices, lorem eget feugiat fringilla, lorem dui porttitor ante, cursus ultrices magna odio eu neque. + + + + + Physiography-Landforms + + + + + + + + + + + + + + urn:uuid:94bc9c83-97f6-4b40-9eb8-a8e8787a5c63 + + + + + + + urn:uuid:94bc9c83-97f6-4b40-9eb8-a8e8787a5c63 + + + + + + dataset + + + + + + + ISO19115 + + + 2003/Cor.1:2006 + + + + + + + Mauris sed neque + + + + + Curabitur lacinia, ante non porta tempus, mi lorem feugiat odio, eget suscipit eros pede ac velit. + + + + + Vegetation-Cropland + + + + + + + + + + + + -4.1 + + + 0.89 + + + 47.59 + + + 51.22 + + + + + + + + + + + + + urn:uuid:9a669547-b69b-469f-a11f-2d875366bbdc + + + + + + + urn:uuid:9a669547-b69b-469f-a11f-2d875366bbdc + + + + + + dataset + + + + + + + ISO19115 + + + 2003/Cor.1:2006 + + + + + + + Ñunç elementum + + + + + + + + + + Hydrography-Oceanographic + + + + + + + + + + + + -6.17 + + + -2.23 + + + 44.79 + + + 51.13 + + + + + + + + + + + + + urn:uuid:a06af396-3105-442d-8b40-22b57a90d2f2 + + + + + + + urn:uuid:a06af396-3105-442d-8b40-22b57a90d2f2 + + + + + + http://purl.org/dc/dcmitype/Image + + + + + + + ISO19115 + + + 2003/Cor.1:2006 + + + + + + + Lorem ipsum dolor sit amet + + + + + + + + + + + + + + + 11 + + diff --git a/tests/functionaltests/suites/oaipmh/expected/get_ListRecords_oai_dc.xml b/tests/functionaltests/suites/oaipmh/expected/get_ListRecords_oai_dc.xml new file mode 100644 index 000000000..a5dc39975 --- /dev/null +++ b/tests/functionaltests/suites/oaipmh/expected/get_ListRecords_oai_dc.xml @@ -0,0 +1,185 @@ + + + + PYCSW_TIMESTAMP + http://localhost/pycsw/csw.py?config=tests/suites/oaipmh/default.cfg&mode=oaipmh + + + + urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f + + + + + + urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f + http://purl.org/dc/dcmitype/Image + image/svg+xml + Lorem ipsum + GR-22 + Tourism--Greece + Quisque lacus diam, placerat mollis, pharetra in, commodo sed, augue. Duis iaculis arcu vel arcu. + + + + + + urn:uuid:1ef30a8b-876d-4828-9246-c37ab4510bbd + + + + + + urn:uuid:1ef30a8b-876d-4828-9246-c37ab4510bbd + http://purl.org/dc/dcmitype/Service + Proin sit amet justo. In justo. Aenean adipiscing nulla id tellus. + + 60.042 13.754 + 68.410 17.920 + + + + + + + urn:uuid:66ae76b7-54ba-489b-a582-0f0633d96493 + + + + + + urn:uuid:66ae76b7-54ba-489b-a582-0f0633d96493 + Maecenas enim + http://purl.org/dc/dcmitype/Text + application/xhtml+xml + Marine sediments + Pellentesque tempus magna non sapien fringilla blandit. + + + + + + urn:uuid:6a3de50b-fa66-4b58-a0e6-ca146fdd18d4 + + + + + + urn:uuid:6a3de50b-fa66-4b58-a0e6-ca146fdd18d4 + http://purl.org/dc/dcmitype/Service + Ut facilisis justo ut lacus + Vegetation + urn:uuid:94bc9c83-97f6-4b40-9eb8-a8e8787a5c63 + + + + + + urn:uuid:784e2afd-a9fd-44a6-9a92-a3848371c8ec + + + + + + urn:uuid:784e2afd-a9fd-44a6-9a92-a3848371c8ec + Aliquam fermentum purus quis arcu + http://purl.org/dc/dcmitype/Text + Hydrography--Dictionaries + application/pdf + 2006-05-12 + Vestibulum quis ipsum sit amet metus imperdiet vehicula. Nulla scelerisque cursus mi. + + + + + + urn:uuid:829babb0-b2f1-49e1-8cd5-7b489fe71a1e + + + + + + urn:uuid:829babb0-b2f1-49e1-8cd5-7b489fe71a1e + http://purl.org/dc/dcmitype/Image + image/jp2 + Vestibulum massa purus + urn:uuid:9a669547-b69b-469f-a11f-2d875366bbdc + + + + + + urn:uuid:88247b56-4cbc-4df9-9860-db3f8042e357 + + + + + + urn:uuid:88247b56-4cbc-4df9-9860-db3f8042e357 + http://purl.org/dc/dcmitype/Dataset + Physiography-Landforms + FI-ES + Donec scelerisque pede ut nisl luctus accumsan. Quisque ultrices, lorem eget feugiat fringilla, lorem dui porttitor ante, cursus ultrices magna odio eu neque. + + + + + + urn:uuid:94bc9c83-97f6-4b40-9eb8-a8e8787a5c63 + + + + + + urn:uuid:94bc9c83-97f6-4b40-9eb8-a8e8787a5c63 + http://purl.org/dc/dcmitype/Dataset + Mauris sed neque + Vegetation-Cropland + Curabitur lacinia, ante non porta tempus, mi lorem feugiat odio, eget suscipit eros pede ac velit. + 2006-03-26 + + 47.595 -4.097 + 51.217 0.889 + + + + + + + urn:uuid:9a669547-b69b-469f-a11f-2d875366bbdc + + + + + + urn:uuid:9a669547-b69b-469f-a11f-2d875366bbdc + http://purl.org/dc/dcmitype/Dataset + Ñunç elementum + Hydrography-Oceanographic + 2005-10-24 + + 44.792 -6.171 + 51.126 -2.228 + + + + + + + urn:uuid:a06af396-3105-442d-8b40-22b57a90d2f2 + + + + + + urn:uuid:a06af396-3105-442d-8b40-22b57a90d2f2 + http://purl.org/dc/dcmitype/Image + Lorem ipsum dolor sit amet + image/jpeg + IT-FI + + + + 11 + + diff --git a/tests/functionaltests/suites/oaipmh/expected/get_ListSets.xml b/tests/functionaltests/suites/oaipmh/expected/get_ListSets.xml new file mode 100644 index 000000000..2be90809f --- /dev/null +++ b/tests/functionaltests/suites/oaipmh/expected/get_ListSets.xml @@ -0,0 +1,16 @@ + + + + PYCSW_TIMESTAMP + http://localhost/pycsw/csw.py?config=tests/suites/oaipmh/default.cfg&mode=oaipmh + + + datasets + Datasets + + + interactiveResources + Interactive Resources + + + diff --git a/tests/functionaltests/suites/oaipmh/expected/get_bad_verb.xml b/tests/functionaltests/suites/oaipmh/expected/get_bad_verb.xml new file mode 100644 index 000000000..0e3dfba47 --- /dev/null +++ b/tests/functionaltests/suites/oaipmh/expected/get_bad_verb.xml @@ -0,0 +1,7 @@ + + + + PYCSW_TIMESTAMP + http://localhost/pycsw/csw.py?config=tests/suites/oaipmh/default.cfg&mode=oaipmh + Unknown verb 'foo' + diff --git a/tests/functionaltests/suites/oaipmh/expected/get_empty.xml b/tests/functionaltests/suites/oaipmh/expected/get_empty.xml new file mode 100644 index 000000000..1f6d54ab8 --- /dev/null +++ b/tests/functionaltests/suites/oaipmh/expected/get_empty.xml @@ -0,0 +1,7 @@ + + + + PYCSW_TIMESTAMP + http://localhost/pycsw/csw.py?config=tests/suites/oaipmh/default.cfg&mode=oaipmh + Missing 'verb' parameter + diff --git a/tests/functionaltests/suites/oaipmh/expected/get_empty_with_amp.xml b/tests/functionaltests/suites/oaipmh/expected/get_empty_with_amp.xml new file mode 100644 index 000000000..1f6d54ab8 --- /dev/null +++ b/tests/functionaltests/suites/oaipmh/expected/get_empty_with_amp.xml @@ -0,0 +1,7 @@ + + + + PYCSW_TIMESTAMP + http://localhost/pycsw/csw.py?config=tests/suites/oaipmh/default.cfg&mode=oaipmh + Missing 'verb' parameter + diff --git a/tests/functionaltests/suites/oaipmh/expected/get_illegal_verb.xml b/tests/functionaltests/suites/oaipmh/expected/get_illegal_verb.xml new file mode 100644 index 000000000..4a88ffe48 --- /dev/null +++ b/tests/functionaltests/suites/oaipmh/expected/get_illegal_verb.xml @@ -0,0 +1,7 @@ + + + + PYCSW_TIMESTAMP + http://localhost/pycsw/csw.py?config=tests/suites/oaipmh/default.cfg&mode=oaipmh + Unknown verb 'foo' + diff --git a/tests/functionaltests/suites/oaipmh/get/requests.txt b/tests/functionaltests/suites/oaipmh/get/requests.txt new file mode 100644 index 000000000..bf6955232 --- /dev/null +++ b/tests/functionaltests/suites/oaipmh/get/requests.txt @@ -0,0 +1,20 @@ +empty,mode=oaipmh +empty_with_amp,mode=oaipmh& +bad_verb,mode=oaipmh&verb=foo +illegal_verb,mode=oaipmh&verb=foo&foo=bar +Identify,mode=oaipmh&verb=Identify +ListSets,mode=oaipmh&verb=ListSets +ListMetadataFormats,mode=oaipmh&verb=ListMetadataFormats +GetRecord_dc,mode=oaipmh&verb=GetRecord&identifier=urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f&metadataPrefix=csw-record +GetRecord_bad_metadata_prefix,mode=oaipmh&verb=GetRecord&identifier=urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f&metadataPrefix=csw-recordd +GetRecord_oai_dc,mode=oaipmh&verb=GetRecord&identifier=urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f&metadataPrefix=oai_dc +GetRecord_iso,mode=oaipmh&verb=GetRecord&identifier=urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f&metadataPrefix=iso19139 +ListIdentifiers_missing_metadata_prefix,mode=oaipmh&verb=ListIdentifiers +ListIdentifiers_dc,mode=oaipmh&verb=ListIdentifiers&metadataPrefix=csw-record +ListIdentifiers_iso,mode=oaipmh&verb=ListIdentifiers&metadataPrefix=iso19139 +ListIdentifiers_oai_dc,mode=oaipmh&verb=ListIdentifiers&metadataPrefix=oai_dc +ListIdentifiers_bad_metadata_prefix,mode=oaipmh&verb=ListIdentifiers&metadataPrefix=foo +ListRecords_dc,mode=oaipmh&verb=ListRecords&metadataPrefix=csw-record +ListRecords_dc_bad_metadata_prefix,mode=oaipmh&verb=ListRecords&metadataPrefix=csw-recording +ListRecords_oai_dc,mode=oaipmh&verb=ListRecords&metadataPrefix=oai_dc +ListRecords_iso19139,mode=oaipmh&verb=ListRecords&metadataPrefix=iso19139 diff --git a/tests/functionaltests/suites/repofilter/default.cfg b/tests/functionaltests/suites/repofilter/default.cfg new file mode 100644 index 000000000..63339ccbb --- /dev/null +++ b/tests/functionaltests/suites/repofilter/default.cfg @@ -0,0 +1,91 @@ +# ================================================================= +# +# Authors: Tom Kralidis +# +# Copyright (c) 2011 Tom Kralidis +# +# Permission is hereby granted, free of charge, to any person +# obtaining a copy of this software and associated documentation +# files (the "Software"), to deal in the Software without +# restriction, including without limitation the rights to use, +# copy, modify, merge, publish, distribute, sublicense, and/or sell +# copies of the Software, and to permit persons to whom the +# Software is furnished to do so, subject to the following +# conditions: +# +# The above copyright notice and this permission notice shall be +# included in all copies or substantial portions of the Software. +# +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +# EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES +# OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +# NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT +# HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, +# WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR +# OTHER DEALINGS IN THE SOFTWARE. +# +# ================================================================= + +[server] +home=. +url=http://localhost/pycsw/csw.py?config=tests/suites/repofilter/default.cfg +mimetype=application/xml; charset=UTF-8 +encoding=UTF-8 +language=en-US +maxrecords=10 +#loglevel=DEBUG +#logfile=/tmp/pycsw.log +#ogc_schemas_base=http://foo +federatedcatalogues=http://geo.data.gov/geoportal/csw/discovery +pretty_print=true +#gzip_compresslevel=8 +#spatial_ranking=true + +[manager] +transactions=false +allowed_ips=127.0.0.1 + +[metadata:main] +identification_title=pycsw Geospatial Catalogue +identification_abstract=pycsw is an OGC CSW server implementation written in Python +identification_keywords=catalogue,discovery +identification_keywords_type=theme +identification_fees=None +identification_accessconstraints=None +provider_name=pycsw +provider_url=http://pycsw.org/ +contact_name=Kralidis, Tom +contact_position=Senior Systems Scientist +contact_address=TBA +contact_city=Toronto +contact_stateorprovince=Ontario +contact_postalcode=M9C 3Z9 +contact_country=Canada +contact_phone=+01-416-xxx-xxxx +contact_fax=+01-416-xxx-xxxx +contact_email=tomkralidis@gmail.com +contact_url=http://kralidis.ca/ +contact_hours=0800h - 1600h EST +contact_instructions=During hours of service. Off on weekends. +contact_role=pointOfContact + +[repository] +# sqlite +database=sqlite:///tests/suites/cite/data/records.db +# postgres +#database=postgres://username:password@localhost/pycsw +table=records +filter=type = 'http://purl.org/dc/dcmitype/Dataset' + +[metadata:inspire] +enabled=false +languages_supported=eng,gre +default_language=eng +date=2011-03-29 +gemet_keywords=Utility and governmental services +conformity_service=notEvaluated +contact_name=National Technical University of Athens +contact_email=tzotsos@gmail.com +temp_extent=2011-02-01/2011-03-30 + diff --git a/tests/functionaltests/suites/repofilter/expected/post_GetRecordById-masked.xml b/tests/functionaltests/suites/repofilter/expected/post_GetRecordById-masked.xml new file mode 100644 index 000000000..9bf61df8e --- /dev/null +++ b/tests/functionaltests/suites/repofilter/expected/post_GetRecordById-masked.xml @@ -0,0 +1,3 @@ + + + diff --git a/tests/functionaltests/suites/repofilter/expected/post_GetRecords-all.xml b/tests/functionaltests/suites/repofilter/expected/post_GetRecords-all.xml new file mode 100644 index 000000000..99af61e73 --- /dev/null +++ b/tests/functionaltests/suites/repofilter/expected/post_GetRecords-all.xml @@ -0,0 +1,37 @@ + + + + + + + urn:uuid:88247b56-4cbc-4df9-9860-db3f8042e357 + http://purl.org/dc/dcmitype/Dataset + Physiography-Landforms + FI-ES + Donec scelerisque pede ut nisl luctus accumsan. Quisque ultrices, lorem eget feugiat fringilla, lorem dui porttitor ante, cursus ultrices magna odio eu neque. + + + urn:uuid:94bc9c83-97f6-4b40-9eb8-a8e8787a5c63 + http://purl.org/dc/dcmitype/Dataset + Mauris sed neque + Vegetation-Cropland + Curabitur lacinia, ante non porta tempus, mi lorem feugiat odio, eget suscipit eros pede ac velit. + 2006-03-26 + + 47.595 -4.097 + 51.217 0.889 + + + + urn:uuid:9a669547-b69b-469f-a11f-2d875366bbdc + http://purl.org/dc/dcmitype/Dataset + Ñunç elementum + Hydrography-Oceanographic + 2005-10-24 + + 44.792 -6.171 + 51.126 -2.228 + + + + diff --git a/tests/functionaltests/suites/repofilter/post/GetRecordById-masked.xml b/tests/functionaltests/suites/repofilter/post/GetRecordById-masked.xml new file mode 100644 index 000000000..1a61c85a8 --- /dev/null +++ b/tests/functionaltests/suites/repofilter/post/GetRecordById-masked.xml @@ -0,0 +1,5 @@ + + + urn:uuid:784e2afd-a9fd-44a6-9a92-a3848371c8ec + summary + diff --git a/tests/functionaltests/suites/repofilter/post/GetRecords-all.xml b/tests/functionaltests/suites/repofilter/post/GetRecords-all.xml new file mode 100644 index 000000000..ecae692a0 --- /dev/null +++ b/tests/functionaltests/suites/repofilter/post/GetRecords-all.xml @@ -0,0 +1,6 @@ + + + + full + + diff --git a/tests/functionaltests/suites/sru/default.cfg b/tests/functionaltests/suites/sru/default.cfg new file mode 100644 index 000000000..0140efaf4 --- /dev/null +++ b/tests/functionaltests/suites/sru/default.cfg @@ -0,0 +1,90 @@ +# ================================================================= +# +# Authors: Tom Kralidis +# +# Copyright (c) 2011 Tom Kralidis +# +# Permission is hereby granted, free of charge, to any person +# obtaining a copy of this software and associated documentation +# files (the "Software"), to deal in the Software without +# restriction, including without limitation the rights to use, +# copy, modify, merge, publish, distribute, sublicense, and/or sell +# copies of the Software, and to permit persons to whom the +# Software is furnished to do so, subject to the following +# conditions: +# +# The above copyright notice and this permission notice shall be +# included in all copies or substantial portions of the Software. +# +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +# EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES +# OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +# NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT +# HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, +# WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR +# OTHER DEALINGS IN THE SOFTWARE. +# +# ================================================================= + +[server] +home=. +url=http://localhost/pycsw/csw.py?config=tests/suites/sru/default.cfg +mimetype=application/xml; charset=UTF-8 +encoding=UTF-8 +language=en-US +maxrecords=10 +#loglevel=DEBUG +#logfile=/tmp/pycsw.log +#ogc_schemas_base=http://foo +federatedcatalogues=http://geo.data.gov/geoportal/csw/discovery +pretty_print=true +#gzip_compresslevel=8 +#spatial_ranking=true + +[manager] +transactions=false +allowed_ips=127.0.0.1 + +[metadata:main] +identification_title=pycsw Geospatial Catalogue +identification_abstract=pycsw is an OGC CSW server implementation written in Python +identification_keywords=catalogue,discovery +identification_keywords_type=theme +identification_fees=None +identification_accessconstraints=None +provider_name=pycsw +provider_url=http://pycsw.org/ +contact_name=Kralidis, Tom +contact_position=Senior Systems Scientist +contact_address=TBA +contact_city=Toronto +contact_stateorprovince=Ontario +contact_postalcode=M9C 3Z9 +contact_country=Canada +contact_phone=+01-416-xxx-xxxx +contact_fax=+01-416-xxx-xxxx +contact_email=tomkralidis@gmail.com +contact_url=http://kralidis.ca/ +contact_hours=0800h - 1600h EST +contact_instructions=During hours of service. Off on weekends. +contact_role=pointOfContact + +[repository] +# sqlite +database=sqlite:///tests/suites/cite/data/records.db +# postgres +#database=postgres://username:password@localhost/pycsw +table=records + +[metadata:inspire] +enabled=false +languages_supported=eng,gre +default_language=eng +date=2011-03-29 +gemet_keywords=Utility and governmental services +conformity_service=notEvaluated +contact_name=National Technical University of Athens +contact_email=tzotsos@gmail.com +temp_extent=2011-02-01/2011-03-30 + diff --git a/tests/functionaltests/suites/sru/expected/get_explain.xml b/tests/functionaltests/suites/sru/expected/get_explain.xml new file mode 100644 index 000000000..34103909d --- /dev/null +++ b/tests/functionaltests/suites/sru/expected/get_explain.xml @@ -0,0 +1,128 @@ + + + + 1.1 + + XML + http://explain.z3950.org/dtd/2.1/ + + + + PYCSW_HOST + PYCSW_PORT + pycsw + + + pycsw Geospatial Catalogue + pycsw is an OGC CSW server implementation written in Python + + + + + abstract + + abstract + + + + contributor + + contributor + + + + creator + + creator + + + + date + + date + + + + format + + format + + + + identifier + + identifier + + + + language + + language + + + + modified + + modified + + + + publisher + + publisher + + + + relation + + relation + + + + rights + + rights + + + + source + + source + + + + subject + + subject + + + + title + + title + + + + type + + type + + + + + title222 + + + + + + Simple Dublin Core + + + + 0 + + + + + diff --git a/tests/functionaltests/suites/sru/expected/get_search.xml b/tests/functionaltests/suites/sru/expected/get_search.xml new file mode 100644 index 000000000..ce70bc154 --- /dev/null +++ b/tests/functionaltests/suites/sru/expected/get_search.xml @@ -0,0 +1,6 @@ + + + + 1.1 + 5 + diff --git a/tests/functionaltests/suites/sru/expected/get_search_cql.xml b/tests/functionaltests/suites/sru/expected/get_search_cql.xml new file mode 100644 index 000000000..9a98be980 --- /dev/null +++ b/tests/functionaltests/suites/sru/expected/get_search_cql.xml @@ -0,0 +1,30 @@ + + + + 1.1 + 2 + + + + urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f + Lorem ipsum + http://purl.org/dc/dcmitype/Image + + + -2 + + info:srw/schema/1/dc-v1.1 + xml + + + + urn:uuid:a06af396-3105-442d-8b40-22b57a90d2f2 + Lorem ipsum dolor sit amet + http://purl.org/dc/dcmitype/Image + + + -1 + + info:srw/schema/1/dc-v1.1 + xml + diff --git a/tests/functionaltests/suites/sru/expected/get_search_maxrecords.xml b/tests/functionaltests/suites/sru/expected/get_search_maxrecords.xml new file mode 100644 index 000000000..cba2314eb --- /dev/null +++ b/tests/functionaltests/suites/sru/expected/get_search_maxrecords.xml @@ -0,0 +1,30 @@ + + + + 1.1 + 5 + + + + urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f + Lorem ipsum + http://purl.org/dc/dcmitype/Image + + + 1 + + info:srw/schema/1/dc-v1.1 + xml + + + + urn:uuid:88247b56-4cbc-4df9-9860-db3f8042e357 + + http://purl.org/dc/dcmitype/Dataset + + + 2 + + info:srw/schema/1/dc-v1.1 + xml + diff --git a/tests/functionaltests/suites/sru/expected/get_search_startrecord_maxrecords.xml b/tests/functionaltests/suites/sru/expected/get_search_startrecord_maxrecords.xml new file mode 100644 index 000000000..cba2314eb --- /dev/null +++ b/tests/functionaltests/suites/sru/expected/get_search_startrecord_maxrecords.xml @@ -0,0 +1,30 @@ + + + + 1.1 + 5 + + + + urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f + Lorem ipsum + http://purl.org/dc/dcmitype/Image + + + 1 + + info:srw/schema/1/dc-v1.1 + xml + + + + urn:uuid:88247b56-4cbc-4df9-9860-db3f8042e357 + + http://purl.org/dc/dcmitype/Dataset + + + 2 + + info:srw/schema/1/dc-v1.1 + xml + diff --git a/tests/functionaltests/suites/sru/get/requests.txt b/tests/functionaltests/suites/sru/get/requests.txt new file mode 100644 index 000000000..3db4b8cd0 --- /dev/null +++ b/tests/functionaltests/suites/sru/get/requests.txt @@ -0,0 +1,5 @@ +explain,mode=sru +search,mode=sru&version=1.1&operation=searchRetrieve&query=lor +search_maxrecords,mode=sru&operation=searchRetrieve&query=lor&maximumRecords=2 +search_startrecord_maxrecords,mode=sru&operation=searchRetrieve&query=lor&maximumRecords=2&startRecord=1 +search_cql,mode=sru&operation=searchRetrieve&query=dc:title%20like%20'%lor%'&maximumRecords=5 diff --git a/tests/functionaltests/suites/utf-8/default.cfg b/tests/functionaltests/suites/utf-8/default.cfg new file mode 100644 index 000000000..d68bfbdcb --- /dev/null +++ b/tests/functionaltests/suites/utf-8/default.cfg @@ -0,0 +1,89 @@ +# ================================================================= +# +# Authors: Tom Kralidis +# +# Copyright (c) 2011 Tom Kralidis +# +# Permission is hereby granted, free of charge, to any person +# obtaining a copy of this software and associated documentation +# files (the "Software"), to deal in the Software without +# restriction, including without limitation the rights to use, +# copy, modify, merge, publish, distribute, sublicense, and/or sell +# copies of the Software, and to permit persons to whom the +# Software is furnished to do so, subject to the following +# conditions: +# +# The above copyright notice and this permission notice shall be +# included in all copies or substantial portions of the Software. +# +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +# EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES +# OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +# NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT +# HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, +# WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR +# OTHER DEALINGS IN THE SOFTWARE. +# +# ================================================================= + +[server] +home=. +url=http://localhost/pycsw/csw.py?config=tests/suites/utf-8/default.cfg +mimetype=application/xml; charset=UTF-8 +encoding=UTF-8 +language=en-US +maxrecords=10 +#loglevel=DEBUG +#logfile=/tmp/pycsw.log +#ogc_schemas_base=http://foo +federatedcatalogues=http://demo.pycsw.org/gisdata/csw +pretty_print=true +#gzip_compresslevel=8 +#spatial_ranking=true + +[manager] +transactions=false +allowed_ips=127.0.0.1 + +[metadata:main] +identification_title=ErrŹĆŁÓdd +identification_abstract=pycsw is an OGC CSW server implementation written in Python +identification_keywords=catalogue,discovery +identification_keywords_type=theme +identification_fees=None +identification_accessconstraints=None +provider_name=pycsw +provider_url=http://pycsw.org/ +contact_name=Kralidis, Tom +contact_position=Senior Systems Scientist +contact_address=TBA +contact_city=Toronto +contact_stateorprovince=Ontario +contact_postalcode=M9C 3Z9 +contact_country=Canada +contact_phone=+01-416-xxx-xxxx +contact_fax=+01-416-xxx-xxxx +contact_email=tomkralidis@gmail.com +contact_url=http://kralidis.ca/ +contact_hours=0800h - 1600h EST +contact_instructions=During hours of service. Off on weekends. +contact_role=pointOfContact + +[repository] +# sqlite +database=sqlite:///tests/suites/cite/data/records.db +# postgres +#database=postgres://username:password@localhost/pycsw +table=records + +[metadata:inspire] +enabled=false +languages_supported=eng,gre +default_language=eng +date=2011-03-29 +gemet_keywords=Utility and governmental services +conformity_service=notEvaluated +contact_name=National Technical University of Athens +contact_email=tzotsos@gmail.com +temp_extent=2011-02-01/2011-03-30 diff --git a/tests/functionaltests/suites/utf-8/expected/post_GetCapabilities.xml b/tests/functionaltests/suites/utf-8/expected/post_GetCapabilities.xml new file mode 100644 index 000000000..094ce1123 --- /dev/null +++ b/tests/functionaltests/suites/utf-8/expected/post_GetCapabilities.xml @@ -0,0 +1,262 @@ + + + + + ErrŹĆŁÓdd + pycsw is an OGC CSW server implementation written in Python + + catalogue + discovery + theme + + CSW + 2.0.2 + 3.0.0 + None + None + + + pycsw + + + Kralidis, Tom + Senior Systems Scientist + + + +01-416-xxx-xxxx + +01-416-xxx-xxxx + + + TBA + Toronto + Ontario + M9C 3Z9 + Canada + tomkralidis@gmail.com + + + 0800h - 1600h EST + During hours of service. Off on weekends. + + pointOfContact + + + + + + + + + + + + Filter_Capabilities + OperationsMetadata + ServiceIdentification + ServiceProvider + + + + + + + + + + + application/json + application/xml + + + http://www.w3.org/2001/XMLSchema + http://www.w3.org/TR/xmlschema-1/ + http://www.w3.org/XML/Schema + + + csw:Record + + + + + + + + + + + DescribeRecord.outputFormat + DescribeRecord.schemaLanguage + DescribeRecord.typeName + GetCapabilities.sections + GetRecordById.ElementSetName + GetRecordById.outputFormat + GetRecordById.outputSchema + GetRecords.CONSTRAINTLANGUAGE + GetRecords.ElementSetName + GetRecords.outputFormat + GetRecords.outputSchema + GetRecords.resultType + GetRecords.typeNames + + + + + + + + + + + CQL_TEXT + FILTER + + + brief + full + summary + + + application/json + application/xml + + + http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ + http://www.interlis.ch/INTERLIS2.3 + http://www.opengis.net/cat/csw/2.0.2 + http://www.opengis.net/cat/csw/csdgm + http://www.w3.org/2005/Atom + + + hits + results + validate + + + csw:Record + + + csw:AnyText + dc:contributor + dc:creator + dc:date + dc:format + dc:identifier + dc:language + dc:publisher + dc:relation + dc:rights + dc:source + dc:subject + dc:title + dc:type + dct:abstract + dct:modified + ows:BoundingBox + + + + + + + + + + + brief + full + summary + + + application/json + application/xml + + + http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ + http://www.interlis.ch/INTERLIS2.3 + http://www.opengis.net/cat/csw/2.0.2 + http://www.opengis.net/cat/csw/csdgm + http://www.w3.org/2005/Atom + + + + + + + + + + + CSW + + + 2.0.2 + 3.0.0 + + + http://demo.pycsw.org/gisdata/csw + + + 10 + + + XML + SOAP + + + allowed + + + + + + gml:Point + gml:LineString + gml:Polygon + gml:Envelope + + + + + + + + + + + + + + + + + + + Between + EqualTo + GreaterThan + GreaterThanEqualTo + LessThan + LessThanEqualTo + Like + NotEqualTo + NullCheck + + + + + length + lower + ltrim + rtrim + trim + upper + + + + + + + + + + diff --git a/tests/functionaltests/suites/utf-8/post/GetCapabilities.xml b/tests/functionaltests/suites/utf-8/post/GetCapabilities.xml new file mode 100644 index 000000000..e4dc8070b --- /dev/null +++ b/tests/functionaltests/suites/utf-8/post/GetCapabilities.xml @@ -0,0 +1,9 @@ + + + + 2.0.2 + + + application/xml + + From 3e4ae83857f096dc349224fcbcc3de4eb94e1c52 Mon Sep 17 00:00:00 2001 From: Ricardo Silva Date: Wed, 25 May 2016 02:15:27 +0100 Subject: [PATCH 012/119] moving tests to pytest --- requirements-dev.txt | 2 + tests/conftest.py | 105 ++++++++++++++++++ tests/test_suites.py | 248 +++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 355 insertions(+) create mode 100644 tests/conftest.py create mode 100644 tests/test_suites.py diff --git a/requirements-dev.txt b/requirements-dev.txt index 2f58df10a..6a9fc46a7 100644 --- a/requirements-dev.txt +++ b/requirements-dev.txt @@ -1,2 +1,4 @@ Paver==1.2.4 +pytest==2.9.1 +requests==2.10.0 sphinx diff --git a/tests/conftest.py b/tests/conftest.py new file mode 100644 index 000000000..1db583ac9 --- /dev/null +++ b/tests/conftest.py @@ -0,0 +1,105 @@ +"""pytest configuration file""" + +import glob +import os +import subprocess +import random +import shlex +import time + +import pytest + +TESTS_ROOT = os.path.dirname(os.path.abspath(__file__)) + + +# This list holds the names of the suites that are available for functional +# testing +FUNCTIONAL_SUITES = [ + "apiso", + "apiso-inspire", + "atom", + "cite", + "csw30", + "default", + "dif", + "ebrim", + "fgdc", + "gm03", + "harvesting", + "oaipmh", + "repofilter", + "sru", + "utf-8", +] + + +def pytest_configure(config): + config.addinivalue_line( + "markers", + "functional: Run only functional tests" + ) + + +def pytest_addoption(parser): + parser.addoption( + "--suite", + action="append", + choices=FUNCTIONAL_SUITES, + default=[], + help="Suites to run functional tests against. Specify this parameter " + "multiple times in order to include several suites. If not " + "specified, all available suites are tested" + ) + + +def pytest_generate_tests(metafunc): + """Parametrize tests programatically. + + Check pytest's documentation for information on this function: + + http://pytest.org/latest/parametrize.html#basic-pytest-generate-tests-example + + """ + + expected_dir = os.path.join(TESTS_ROOT, "expected") + if metafunc.function.__name__ == "test_suites_post": + test_data, test_names = _configure_functional_post_tests(metafunc, + expected_dir) + metafunc.parametrize(["test_request", "expected_result", "config"], + test_data, ids=test_names) + + +def _configure_functional_post_tests(metafunc, expected_dir): + test_data = [] + test_names = [] + for suite in metafunc.config.getoption("suite") or FUNCTIONAL_SUITES: + suite_dir = os.path.join(TESTS_ROOT, "suites", suite) + configuration_path = os.path.join(suite_dir, "default.cfg") + post_requests_dir = os.path.join(suite_dir, "post") + for item in glob.iglob(os.path.join(post_requests_dir, "*")): + test_id = os.path.splitext(os.path.basename(item))[0] + expected = os.path.join( + expected_dir, "suites_{0}_post_{1}.xml".format(suite, test_id)) + if os.path.isfile(item) and os.path.isfile(expected): + test_data.append((item, expected, configuration_path)) + test_names.append("{0}_{1}".format(suite, test_id)) + return test_data, test_names + + +@pytest.fixture(scope="session") +def local_server(request): + """A local pycsw server using Python's wsgiref server""" + + port = random.randint(8000, 8050) + command = "python pycsw/wsgi.py {}".format(port) + working_dir = os.path.dirname(TESTS_ROOT) + pycsw_process = subprocess.Popen(shlex.split(command), cwd=working_dir) + time.sleep(2) # give the external process some time to start + + def finalizer(): + pycsw_process.terminate() + pycsw_process.wait() + + request.addfinalizer(finalizer) + return "http://localhost:{}".format(port) + diff --git a/tests/test_suites.py b/tests/test_suites.py new file mode 100644 index 000000000..6b7cd1f25 --- /dev/null +++ b/tests/test_suites.py @@ -0,0 +1,248 @@ +# ================================================================= +# +# Authors: Tom Kralidis +# Ricardo Garcia Silva +# +# Copyright (c) 2016 Tom Kralidis +# Copyright (c) 2016 Ricardo Garcia Silva +# +# Permission is hereby granted, free of charge, to any person +# obtaining a copy of this software and associated documentation +# files (the "Software"), to deal in the Software without +# restriction, including without limitation the rights to use, +# copy, modify, merge, publish, distribute, sublicense, and/or sell +# copies of the Software, and to permit persons to whom the +# Software is furnished to do so, subject to the following +# conditions: +# +# The above copyright notice and this permission notice shall be +# included in all copies or substantial portions of the Software. +# +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +# EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES +# OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +# NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT +# HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, +# WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR +# OTHER DEALINGS IN THE SOFTWARE. +# +# ================================================================= +"""Functional tests for pycsw. + +These tests are based on the execution of the requests defined in the suites +under the `suites` directory. + +""" + +import codecs +from io import BytesIO +import json +from lxml import etree +from lxml import objectify +import os +import pytest +import re +import requests + +ENCODING = "utf-8" + + +@pytest.mark.functional +class TestSuites(object): + + def test_suites_post(self, local_server, test_request, expected_result, + config): + print("locals: {0}".format(locals())) + with open(test_request, encoding=ENCODING) as request_fh: + request_data = request_fh.read() + with open(expected_result, encoding=ENCODING) as expected_fh: + expected = expected_fh.read() + response = requests.post(local_server, + params={"config": config}, + data=request_data) + response_data = response.text + assert _get_validity(expected, response_data) + #assert response.status_code == 200 + + +def _test_xml_result(result, expected): + """Compare the XML test results with an expected value. + + This function compares the test result with the expected values by + performing XML canonicalization (c14n)[1]_. + + Parameters + ---------- + result: str + The result of running the test. + expected: str + The expected outcome. + + Returns + ------- + bool + Whether the result matches the expectations or not. + + Raises + ------ + etree.XMLSyntaxError + If any of the input parameters is not a valid XMl. + etree.C14NError + If any of the input parameters cannot be canonicalized. This may + happen if there are relative namespace URIs in any of the XML + documents, as they are explicitly not allowed when doing XML c14n + + References + ---------- + .. [1] http://www.w3.org/TR/xml-c14n + + """ + + result_element = etree.fromstring(result.encode(ENCODING)) + expected_element = etree.fromstring(expected.encode(ENCODING)) + result_buffer = BytesIO() + result_tree = result_element.getroottree() + objectify.deannotate(result_tree, cleanup_namespaces=True) + result_tree.write_c14n(result_buffer) + expected_buffer = BytesIO() + expected_tree = expected_element.getroottree() + objectify.deannotate(expected_tree, cleanup_namespaces=True) + expected_tree.write_c14n(expected_buffer) + matches = result_buffer.getvalue() == expected_buffer.getvalue() + return matches + + +def _test_json_result(result, expected): + """Compare the JSON test results with an expected value. + + Parameters + ---------- + result: str + The result of running the test. + expected: str + The expected outcome. + + Returns + ------- + bool + Whether the result matches the expectations or not. + + """ + + result_dict = json.loads(result, encoding=ENCODING) + expected_dict = json.loads(expected, encoding=ENCODING) + return result_dict == expected_dict + + +def _get_validity(expected, result, force_id_mask=False): + """Test whether the test result matches the expected outcome. + + This function deals with both XML and JSON results. It first tries to + parse the result and the expected outcome as XML and evaluates them using + XML canonicalization (c14n). If the result cannot be parsed as XML, it then + tries to load it as JSON and does a sorted comparison. + + Parameters + ---------- + expected: str + The expected outcome of the test + result: str + The actual result that was generated by running the test code + force_id_mask: bool, optional + Whether to apply result normalization to id fields + + Returns + ------- + bool + Whether the result matches the expected values + + """ + + normalized_result = _normalize(result, force_id_mask=force_id_mask) + try: + matches_expected = _test_xml_result(normalized_result, expected) + except etree.XMLSyntaxError: + # the file is either not XML (perhaps JSON?) or malformed + matches_expected = _test_json_result(normalized_result, expected) + return matches_expected + + +def _normalize(sresult, force_id_mask=False): + """Replace time, updateSequence and version specific values with generic + values""" + + # XML responses + version = re.search(r'', sresult) + updatesequence = re.search(r'updateSequence="(\S+)"', sresult) + timestamp = re.search(r'timestamp="(.*)"', sresult) + timestamp2 = re.search(r'timeStamp="(.*)"', sresult) + timestamp3 = re.search(r'(.*)', sresult) + timestamp4 = re.search(r'(.*)', sresult) + zrhost = re.search(r'(.*)', sresult) + zrport = re.search(r'(.*)', sresult) + elapsed_time = re.search(r'elapsedTime="(.*)"', sresult) + expires = re.search(r'expires="(.*?)"', sresult) + atom_updated = re.findall(r'(.*)', sresult) + + if version: + sresult = sresult.replace(version.group(0), r'') + if updatesequence: + sresult = sresult.replace(updatesequence.group(0), + r'updateSequence="PYCSW_UPDATESEQUENCE"') + if timestamp: + sresult = sresult.replace(timestamp.group(0), + r'timestamp="PYCSW_TIMESTAMP"') + if timestamp2: + sresult = sresult.replace(timestamp2.group(0), + r'timeStamp="PYCSW_TIMESTAMP"') + if timestamp3: + sresult = sresult.replace(timestamp3.group(0), + r'PYCSW_TIMESTAMP') + if timestamp4: + sresult = sresult.replace(timestamp4.group(0), + r'PYCSW_TIMESTAMP') + if zrport: + sresult = sresult.replace(zrport.group(0), + r'PYCSW_PORT') + if zrhost: + sresult = sresult.replace(zrhost.group(0), + r'PYCSW_HOST') + if elapsed_time: + sresult = sresult.replace(elapsed_time.group(0), + r'elapsedTime="PYCSW_ELAPSED_TIME"') + if expires: + sresult = sresult.replace(expires.group(0), + r'expires="PYCSW_EXPIRES"') + for au in atom_updated: + sresult = sresult.replace(au, r'PYCSW_TIMESTAMP') + + # for csw:HarvestResponse documents, mask identifiers + # which are dynamically generated for OWS endpoints + if sresult.find(r'HarvestResponse') != -1: + identifier = re.findall(r'(\S+)', + sresult) + for i in identifier: + sresult = sresult.replace(i, r'PYCSW_IDENTIFIER') + + # JSON responses + timestamp = re.search(r'"@timestamp": "(.*?)"', sresult) + + if timestamp: + sresult = sresult.replace(timestamp.group(0), + r'"@timestamp": "PYCSW_TIMESTAMP"') + + # harvesting-based GetRecords/GetRecordById responses + if force_id_mask: + dcid = re.findall(r'(urn:uuid.*)', sresult) + isoid = re.findall(r'id="(urn:uuid.*)"', sresult) + isoid2 = re.findall(r'(urn:uuid.*) Date: Wed, 25 May 2016 18:42:12 +0100 Subject: [PATCH 013/119] working on POST tests --- tests/conftest.py | 180 ++++++++++++++++++++++++++++++++++++------- tests/test_suites.py | 115 +++++++++++++++++---------- 2 files changed, 226 insertions(+), 69 deletions(-) diff --git a/tests/conftest.py b/tests/conftest.py index 1db583ac9..f36f616d0 100644 --- a/tests/conftest.py +++ b/tests/conftest.py @@ -42,14 +42,19 @@ def pytest_configure(config): def pytest_addoption(parser): parser.addoption( - "--suite", - action="append", - choices=FUNCTIONAL_SUITES, - default=[], - help="Suites to run functional tests against. Specify this parameter " - "multiple times in order to include several suites. If not " - "specified, all available suites are tested" + "--database-backend", + choices=["sqlite", "postgres"], + default="sqlite", + help="Database backend to use when performing functional tests" ) + for suite_name in FUNCTIONAL_SUITES: + parser.addoption( + "--server-url-{0}-suite".format(suite_name), + help="URL to perform functional tests for the {0!r} suite. If not " + "specified, a local pycsw instance is spawned, configured " + "with the {0!r} suite settings and used " + "in tests.".format(suite_name) + ) def pytest_generate_tests(metafunc): @@ -62,38 +67,156 @@ def pytest_generate_tests(metafunc): """ expected_dir = os.path.join(TESTS_ROOT, "expected") - if metafunc.function.__name__ == "test_suites_post": - test_data, test_names = _configure_functional_post_tests(metafunc, - expected_dir) - metafunc.parametrize(["test_request", "expected_result", "config"], - test_data, ids=test_names) + for suite_name in FUNCTIONAL_SUITES: + safe_suite_name = suite_name.replace("-", "_") + option_name = "--server-url-{0}-suite".format(suite_name) + fixture_name = "server_{0}_suite".format(safe_suite_name) + test_name = "test_{0}_suite".format(safe_suite_name) + uses_fixture = fixture_name in metafunc.fixturenames + test_name_matches = metafunc.function.__name__ == test_name + if uses_fixture and test_name_matches: + test_data, test_names = _configure_functional_post_tests( + expected_dir, safe_suite_name) + metafunc.parametrize( + ["test_request", "expected_result"], + test_data, + ids=test_names, + scope="session" + ) + break -def _configure_functional_post_tests(metafunc, expected_dir): +@pytest.fixture(scope="session") +def suite_info(request): + suite_name = request.param test_data = [] test_names = [] - for suite in metafunc.config.getoption("suite") or FUNCTIONAL_SUITES: - suite_dir = os.path.join(TESTS_ROOT, "suites", suite) - configuration_path = os.path.join(suite_dir, "default.cfg") - post_requests_dir = os.path.join(suite_dir, "post") - for item in glob.iglob(os.path.join(post_requests_dir, "*")): - test_id = os.path.splitext(os.path.basename(item))[0] - expected = os.path.join( - expected_dir, "suites_{0}_post_{1}.xml".format(suite, test_id)) - if os.path.isfile(item) and os.path.isfile(expected): - test_data.append((item, expected, configuration_path)) - test_names.append("{0}_{1}".format(suite, test_id)) - return test_data, test_names + expected_dir = os.path.join(TESTS_ROOT, "expected") + suite_dir = os.path.join(TESTS_ROOT, "suites", suite_name) + configuration_path = os.path.join(suite_dir, "default.cfg") + post_requests_dir = os.path.join(suite_dir, "post") + for item in glob.iglob(os.path.join(post_requests_dir, "*")): + test_id = os.path.splitext(os.path.basename(item))[0] + expected = os.path.join( + expected_dir, + "suites_{0}_post_{1}.xml".format(suite_name, test_id) + ) + if os.path.isfile(item) and os.path.isfile(expected): + test_data.append((item, expected, configuration_path)) + test_names.append("{0}_{1}".format(suite_name, test_id)) + return configuration_path, test_data, test_names + + +@pytest.fixture(scope="session") +def server_apiso_suite(request): + return _get_server_with_config(request, "apiso") + + +@pytest.fixture(scope="session") +def server_apiso_inspire_suite(request): + return _get_server_with_config(request, "apiso-inspire") + + +@pytest.fixture(scope="session") +def server_atom_suite(request): + return _get_server_with_config(request, "atom") + + +@pytest.fixture(scope="session") +def server_cite_suite(request): + return _get_server_with_config(request, "cite") + + +@pytest.fixture(scope="session") +def server_csw30_suite(request): + return _get_server_with_config(request, "csw30") + + +@pytest.fixture(scope="session") +def server_default_suite(request): + return _get_server_with_config(request, "default") + + +@pytest.fixture(scope="session") +def server_dif_suite(request): + return _get_server_with_config(request, "dif") + + +@pytest.fixture(scope="session") +def server_ebrim_suite(request): + return _get_server_with_config(request, "ebrim") @pytest.fixture(scope="session") -def local_server(request): - """A local pycsw server using Python's wsgiref server""" +def server_fgdc_suite(request): + return _get_server_with_config(request, "fgdc") + +@pytest.fixture(scope="session") +def server_gm03_suite(request): + return _get_server_with_config(request, "gm03") + + +@pytest.fixture(scope="session") +def server_harvesting_suite(request): + return _get_server_with_config(request, "harvesting") + + +@pytest.fixture(scope="session") +def server_oaipmh_suite(request): + return _get_server_with_config(request, "oaipmh") + + +@pytest.fixture(scope="session") +def server_repofilter_suite(request): + return _get_server_with_config(request, "repofilter") + + +@pytest.fixture(scope="session") +def server_sru_suite(request): + return _get_server_with_config(request, "sru") + + +@pytest.fixture(scope="session") +def server_utf_8_suite(request): + return _get_server_with_config(request, "utf-8") + + +def _configure_functional_post_tests(expected_dir, suite_name): + test_data = [] + test_names = [] + suite_dir = os.path.join(TESTS_ROOT, "suites", suite_name) + post_requests_dir = os.path.join(suite_dir, "post") + for item in glob.iglob(os.path.join(post_requests_dir, "*")): + test_id = os.path.splitext(os.path.basename(item))[0] + expected = os.path.join( + expected_dir, + "suites_{0}_post_{1}.xml".format(suite_name, test_id) + ) + if os.path.isfile(item) and os.path.isfile(expected): + test_data.append((item, expected)) + test_names.append("{0}_{1}".format(suite_name, test_id)) + return test_data, test_names + + +def _get_server_with_config(request, suite_name): + url = request.config.getoption("--server-url-{0}-suite".format(suite_name)) + config = os.path.join(TESTS_ROOT, "suites", suite_name, "default.cfg") + if url is None: + url = _start_local_server(request, config) + else: # use the provided url and assume the config has been set + url = url + return url + + +def _start_local_server(request, config_path): port = random.randint(8000, 8050) command = "python pycsw/wsgi.py {}".format(port) working_dir = os.path.dirname(TESTS_ROOT) - pycsw_process = subprocess.Popen(shlex.split(command), cwd=working_dir) + env = os.environ.copy() + env["PYCSW_CONFIG"] = config_path + pycsw_process = subprocess.Popen(shlex.split(command), cwd=working_dir, + env=env) time.sleep(2) # give the external process some time to start def finalizer(): @@ -102,4 +225,3 @@ def finalizer(): request.addfinalizer(finalizer) return "http://localhost:{}".format(port) - diff --git a/tests/test_suites.py b/tests/test_suites.py index 6b7cd1f25..2ef12c82a 100644 --- a/tests/test_suites.py +++ b/tests/test_suites.py @@ -51,19 +51,87 @@ @pytest.mark.functional class TestSuites(object): - def test_suites_post(self, local_server, test_request, expected_result, - config): - print("locals: {0}".format(locals())) + def test_apiso_suite(self, server_apiso_suite, test_request, + expected_result): + self._test_request(server_apiso_suite, test_request, expected_result) + + def test_apiso_inspire_suite(self, server_apiso_inspire_suite, + test_request, expected_result): + self._test_request(server_apiso_inspire_suite, test_request, + expected_result) + + def test_atom_suite(self, server_atom_suite, test_request, + expected_result): + self._test_request(server_atom_suite, test_request, expected_result) + + def test_cite_suite(self, server_cite_suite, test_request, + expected_result): + self._test_request(server_cite_suite, test_request, expected_result) + + def test_csw30_suite(self, server_csw30_suite, test_request, + expected_result): + self._test_request(server_csw30_suite, test_request, expected_result) + + def test_default_suite(self, server_default_suite, test_request, + expected_result): + self._test_request(server_default_suite, test_request, expected_result) + + def test_dif_suite(self, server_dif_suite, test_request, + expected_result): + self._test_request(server_dif_suite, test_request, expected_result) + + def test_ebrim_suite(self, server_ebrim_suite, test_request, + expected_result): + self._test_request(server_ebrim_suite, test_request, expected_result) + + def test_fgdc_suite(self, server_fgdc_suite, test_request, + expected_result): + self._test_request(server_fgdc_suite, test_request, expected_result) + + def test_gm03_suite(self, server_gm03_suite, test_request, + expected_result): + self._test_request(server_gm03_suite, test_request, expected_result) + + def test_harvesting_suite(self, server_harvesting_suite, test_request, + expected_result): + self._test_request(server_harvesting_suite, test_request, + expected_result) + + def test_oaipmh_suite(self, server_oaipmh_suite, test_request, + expected_result): + self._test_request(server_oaipmh_suite, test_request, expected_result) + + def test_repofilter_suite(self, server_repofilter_suite, test_request, + expected_result): + self._test_request(server_repofilter_suite, test_request, + expected_result) + + def test_sru_suite(self, server_sru_suite, test_request, + expected_result): + self._test_request(server_sru_suite, test_request, expected_result) + + def test_utf_8_suite(self, server_utf_8_suite, test_request, + expected_result): + self._test_request(server_utf_8_suite, test_request, expected_result) + + def _test_request(self, pycsw_server_url, test_request, expected_result): with open(test_request, encoding=ENCODING) as request_fh: request_data = request_fh.read() with open(expected_result, encoding=ENCODING) as expected_fh: expected = expected_fh.read() - response = requests.post(local_server, - params={"config": config}, + response = requests.post(pycsw_server_url, data=request_data) response_data = response.text - assert _get_validity(expected, response_data) - #assert response.status_code == 200 + + normalized_result = _normalize(response_data, force_id_mask=False) + print("expected: {0}".format(expected)) + print("response: {0}".format(normalized_result)) + try: + matches_expected = _test_xml_result(normalized_result, expected) + except etree.XMLSyntaxError: + # the file is either not XML (perhaps JSON?) or malformed + matches_expected = _test_json_result(normalized_result, expected) + assert matches_expected def _test_xml_result(result, expected): @@ -135,39 +203,6 @@ def _test_json_result(result, expected): return result_dict == expected_dict -def _get_validity(expected, result, force_id_mask=False): - """Test whether the test result matches the expected outcome. - - This function deals with both XML and JSON results. It first tries to - parse the result and the expected outcome as XML and evaluates them using - XML canonicalization (c14n). If the result cannot be parsed as XML, it then - tries to load it as JSON and does a sorted comparison. - - Parameters - ---------- - expected: str - The expected outcome of the test - result: str - The actual result that was generated by running the test code - force_id_mask: bool, optional - Whether to apply result normalization to id fields - - Returns - ------- - bool - Whether the result matches the expected values - - """ - - normalized_result = _normalize(result, force_id_mask=force_id_mask) - try: - matches_expected = _test_xml_result(normalized_result, expected) - except etree.XMLSyntaxError: - # the file is either not XML (perhaps JSON?) or malformed - matches_expected = _test_json_result(normalized_result, expected) - return matches_expected - - def _normalize(sresult, force_id_mask=False): """Replace time, updateSequence and version specific values with generic values""" From a96c14628c45c7359e9df464571450be3d498b12 Mon Sep 17 00:00:00 2001 From: Ricardo Silva Date: Sun, 29 May 2016 11:32:39 +0100 Subject: [PATCH 014/119] adding ports for each suite --- tests/conftest.py | 141 +++++++++++++++++++++++++++++++++------------- 1 file changed, 101 insertions(+), 40 deletions(-) diff --git a/tests/conftest.py b/tests/conftest.py index f36f616d0..82ac736bf 100644 --- a/tests/conftest.py +++ b/tests/conftest.py @@ -1,9 +1,9 @@ """pytest configuration file""" +from configparser import ConfigParser import glob import os import subprocess -import random import shlex import time @@ -47,6 +47,18 @@ def pytest_addoption(parser): default="sqlite", help="Database backend to use when performing functional tests" ) + parser.addoption( + "--database-user-postgres", + default="postgres", + help="Username to use for creating and accessing local postgres " + "databases used for functional tests." + ) + parser.addoption( + "--database-password-postgres", + default="", + help="Password to use for creating and accessing local postgres " + "databases used for functional tests." + ) for suite_name in FUNCTIONAL_SUITES: parser.addoption( "--server-url-{0}-suite".format(suite_name), @@ -68,7 +80,7 @@ def pytest_generate_tests(metafunc): expected_dir = os.path.join(TESTS_ROOT, "expected") for suite_name in FUNCTIONAL_SUITES: - safe_suite_name = suite_name.replace("-", "_") + safe_suite_name = _get_suite_safe_name(suite_name) option_name = "--server-url-{0}-suite".format(suite_name) fixture_name = "server_{0}_suite".format(safe_suite_name) test_name = "test_{0}_suite".format(safe_suite_name) @@ -108,78 +120,93 @@ def suite_info(request): @pytest.fixture(scope="session") -def server_apiso_suite(request): - return _get_server_with_config(request, "apiso") +def server_apiso_suite(request, tmpdir_factory): + return _get_server_with_config(request, "apiso", + tmpdir_factory, 8010) @pytest.fixture(scope="session") -def server_apiso_inspire_suite(request): - return _get_server_with_config(request, "apiso-inspire") +def server_apiso_inspire_suite(request, tmpdir_factory): + return _get_server_with_config(request, "apiso-inspire", + tmpdir_factory, 8011) @pytest.fixture(scope="session") -def server_atom_suite(request): - return _get_server_with_config(request, "atom") +def server_atom_suite(request, tmpdir_factory): + return _get_server_with_config(request, "atom", + tmpdir_factory, 8012) @pytest.fixture(scope="session") -def server_cite_suite(request): - return _get_server_with_config(request, "cite") +def server_cite_suite(request, tmpdir_factory): + return _get_server_with_config(request, "cite", + tmpdir_factory, 8013) @pytest.fixture(scope="session") -def server_csw30_suite(request): - return _get_server_with_config(request, "csw30") +def server_csw30_suite(request, tmpdir_factory): + return _get_server_with_config(request, "csw30", + tmpdir_factory, 8014) @pytest.fixture(scope="session") -def server_default_suite(request): - return _get_server_with_config(request, "default") +def server_default_suite(request, tmpdir_factory): + return _get_server_with_config(request, "default", + tmpdir_factory, 8015) @pytest.fixture(scope="session") -def server_dif_suite(request): - return _get_server_with_config(request, "dif") +def server_dif_suite(request, tmpdir_factory): + return _get_server_with_config(request, "dif", + tmpdir_factory, 8016) @pytest.fixture(scope="session") -def server_ebrim_suite(request): - return _get_server_with_config(request, "ebrim") +def server_ebrim_suite(request, tmpdir_factory): + return _get_server_with_config(request, "ebrim", + tmpdir_factory, 8017) @pytest.fixture(scope="session") -def server_fgdc_suite(request): - return _get_server_with_config(request, "fgdc") +def server_fgdc_suite(request, tmpdir_factory): + return _get_server_with_config(request, "fgdc", + tmpdir_factory, 8018) @pytest.fixture(scope="session") -def server_gm03_suite(request): - return _get_server_with_config(request, "gm03") +def server_gm03_suite(request, tmpdir_factory): + return _get_server_with_config(request, "gm03", + tmpdir_factory, 8019) @pytest.fixture(scope="session") -def server_harvesting_suite(request): - return _get_server_with_config(request, "harvesting") +def server_harvesting_suite(request, tmpdir_factory): + return _get_server_with_config(request, "harvesting", + tmpdir_factory, 8020) @pytest.fixture(scope="session") -def server_oaipmh_suite(request): - return _get_server_with_config(request, "oaipmh") +def server_oaipmh_suite(request, tmpdir_factory): + return _get_server_with_config(request, "oaipmh", + tmpdir_factory, 8021) @pytest.fixture(scope="session") -def server_repofilter_suite(request): - return _get_server_with_config(request, "repofilter") +def server_repofilter_suite(request, tmpdir_factory): + return _get_server_with_config(request, "repofilter", + tmpdir_factory, 8022) @pytest.fixture(scope="session") -def server_sru_suite(request): - return _get_server_with_config(request, "sru") +def server_sru_suite(request, tmpdir_factory): + return _get_server_with_config(request, "sru", + tmpdir_factory, 8023) @pytest.fixture(scope="session") -def server_utf_8_suite(request): - return _get_server_with_config(request, "utf-8") +def server_utf_8_suite(request, tmpdir_factory): + return _get_server_with_config(request, "utf-8", + tmpdir_factory, 8024) def _configure_functional_post_tests(expected_dir, suite_name): @@ -199,29 +226,63 @@ def _configure_functional_post_tests(expected_dir, suite_name): return test_data, test_names -def _get_server_with_config(request, suite_name): +def _get_suite_safe_name(suite_name): + return suite_name.replace("-", "_") + + +def _get_server_with_config(request, suite_name, tmpdir_factory, port_number): url = request.config.getoption("--server-url-{0}-suite".format(suite_name)) - config = os.path.join(TESTS_ROOT, "suites", suite_name, "default.cfg") if url is None: - url = _start_local_server(request, config) + print("Initializing server for {0} suite...".format(suite_name)) + original_config_path = os.path.join(TESTS_ROOT, "suites", + suite_name, "default.cfg") + safe_suite_name = _get_suite_safe_name(suite_name) + config = ConfigParser() + config.read(original_config_path) + test_temp_directory = tmpdir_factory.mktemp(safe_suite_name, + numbered=True) + db_url = _get_database_url(request, safe_suite_name, + test_temp_directory) + # now we can change the config as needed + config.set("repository", "database", db_url) + new_config = test_temp_directory.join("default.cfg") + fh = new_config.open("w") + config.write(fh) + fh.close() + # create the database, if needed + # load records, if any + url = _start_local_server(request, str(new_config), port_number) else: # use the provided url and assume the config has been set url = url return url -def _start_local_server(request, config_path): - port = random.randint(8000, 8050) - command = "python pycsw/wsgi.py {}".format(port) +def _get_database_url(request, suite_name, test_dir): + db_type = request.config.getoption("--database-backend") + if db_type == "sqlite": + db_url = "sqlite:///{0}/records.db".format(test_dir) + elif db_type == "postgres": + user = request.config.getoption("--database-user-postgres") + password = request.config.getoption("--database-password-postgres") + db_url = "postgres://{0}:{1}@localhost/pycsw_test_{2}".format( + user, password, suite_name) + else: + raise NotImplementedError + return db_url + + +def _start_local_server(request, config_path, port_number): + command = "python pycsw/wsgi.py {}".format(port_number) working_dir = os.path.dirname(TESTS_ROOT) env = os.environ.copy() env["PYCSW_CONFIG"] = config_path pycsw_process = subprocess.Popen(shlex.split(command), cwd=working_dir, env=env) - time.sleep(2) # give the external process some time to start + time.sleep(3) # give the external process some time to start def finalizer(): pycsw_process.terminate() pycsw_process.wait() request.addfinalizer(finalizer) - return "http://localhost:{}".format(port) + return "http://localhost:{}".format(port_number) From 9c93bbd197c5d06adecbf9c9859526510c02bc88 Mon Sep 17 00:00:00 2001 From: Ricardo Garcia Silva Date: Sun, 29 May 2016 13:31:07 +0100 Subject: [PATCH 015/119] refactoring tests to use py.test --- tests/conftest.py | 147 +++++++++++++++++++++++--- tests/test_suites.py | 239 ++++++++++++++++++++++++++++++------------- 2 files changed, 302 insertions(+), 84 deletions(-) diff --git a/tests/conftest.py b/tests/conftest.py index 82ac736bf..52730e275 100644 --- a/tests/conftest.py +++ b/tests/conftest.py @@ -9,6 +9,9 @@ import pytest +from pycsw.core import admin +from pycsw.core.config import StaticContext + TESTS_ROOT = os.path.dirname(os.path.abspath(__file__)) @@ -81,12 +84,13 @@ def pytest_generate_tests(metafunc): expected_dir = os.path.join(TESTS_ROOT, "expected") for suite_name in FUNCTIONAL_SUITES: safe_suite_name = _get_suite_safe_name(suite_name) - option_name = "--server-url-{0}-suite".format(suite_name) fixture_name = "server_{0}_suite".format(safe_suite_name) - test_name = "test_{0}_suite".format(safe_suite_name) uses_fixture = fixture_name in metafunc.fixturenames - test_name_matches = metafunc.function.__name__ == test_name - if uses_fixture and test_name_matches: + test_name_post = "test_post_requests" + test_name_get = "test_get_requests" + test_name_get_matches = metafunc.function.__name__ == test_name_get + test_name_post_matches = metafunc.function.__name__ == test_name_post + if uses_fixture and test_name_post_matches: test_data, test_names = _configure_functional_post_tests( expected_dir, safe_suite_name) metafunc.parametrize( @@ -96,6 +100,16 @@ def pytest_generate_tests(metafunc): scope="session" ) break + elif uses_fixture and test_name_get_matches: + test_data, test_names = _configure_functional_get_tests( + expected_dir, suite_name) + metafunc.parametrize( + ["test_request_parameters", "expected_result"], + test_data, + ids=test_names, + scope="session" + ) + break @pytest.fixture(scope="session") @@ -226,38 +240,114 @@ def _configure_functional_post_tests(expected_dir, suite_name): return test_data, test_names +def _configure_functional_get_tests(expected_dir, suite_name): + test_data = [] + test_names = [] + request_file_path = os.path.join(TESTS_ROOT, "suites", suite_name, + "get", "requests.txt") + try: + with open(request_file_path, encoding="utf-8") as fh: + for line in fh: + test_name, sep, test_params = line.partition(",") + expected = os.path.join( + expected_dir, + "suites_{0}_get_{1}.xml".format(suite_name, test_name) + ) + if os.path.isfile(expected): + test_data.append((test_params, expected)) + test_names.append("{0}_{1}".format(suite_name, test_name)) + except IOError: + pass # this suite does not have GET tests + return test_data, test_names + + def _get_suite_safe_name(suite_name): return suite_name.replace("-", "_") def _get_server_with_config(request, suite_name, tmpdir_factory, port_number): + """Provide a pycsw server to execute tests for the input suite name + + This function introspects the test context. If tests are to be run against + a user-provided url, it does nothing. If there is no user-provided url, + a new pycsw instance is created locally and its URL is returned. + + Parameters + ---------- + request: FixtureRequest + Pytest's FixtureRequest object, holding information about the test + context + suite_name: str + The safe name of the current suite + tmpdir_factory: TempDirFactory + Pytest's TempDirFactory fixture object, that is used to create + temporary directories for tests + port_number: int + Port where a local server shall be started for the input suite_name + + Returns + ------- + str + The pycsw URL that can be used in tests for the input suite_name + + """ + url = request.config.getoption("--server-url-{0}-suite".format(suite_name)) if url is None: - print("Initializing server for {0} suite...".format(suite_name)) + print("Initializing server for {0!r} suite...".format(suite_name)) original_config_path = os.path.join(TESTS_ROOT, "suites", suite_name, "default.cfg") - safe_suite_name = _get_suite_safe_name(suite_name) config = ConfigParser() config.read(original_config_path) + safe_suite_name = _get_suite_safe_name(suite_name) test_temp_directory = tmpdir_factory.mktemp(safe_suite_name, numbered=True) - db_url = _get_database_url(request, safe_suite_name, - test_temp_directory) + db_url = _initialize_database( + request, safe_suite_name, test_temp_directory, + config.get("repository", "table"), + os.path.join(TESTS_ROOT, "suites", suite_name, "data") + ) # now we can change the config as needed config.set("repository", "database", db_url) new_config = test_temp_directory.join("default.cfg") fh = new_config.open("w") config.write(fh) fh.close() - # create the database, if needed - # load records, if any - url = _start_local_server(request, str(new_config), port_number) + server_url = _start_local_server(request, str(new_config), port_number) else: # use the provided url and assume the config has been set - url = url - return url + server_url = url + return server_url + + +def _initialize_database(request, suite_name, test_dir, table_name, data_path): + """Initialize local database for functional tests. + + This function will: + + * Configure the correct database url + * Create the database + * Load any test data that the suite may require + + Parameters + ---------- + request: FixtureRequest + Pytest's FixtureRequest object, holding information about the test + context + suite_name: str + The safe name of the current suite + test_dir: str + Full path to the temporary directory being used in the suite's tests + data_path: str + Full path to a directory that has test data to be loaded up into + the suite's database + + Returns + ------- + str + The SQLAlchemy engine URL for the database. + """ -def _get_database_url(request, suite_name, test_dir): db_type = request.config.getoption("--database-backend") if db_type == "sqlite": db_url = "sqlite:///{0}/records.db".format(test_dir) @@ -268,10 +358,39 @@ def _get_database_url(request, suite_name, test_dir): user, password, suite_name) else: raise NotImplementedError + print("Setting up {0!r} database for suite {1!r}...".format(db_type, + suite_name)) + admin.setup_db(db_url, table_name, test_dir) + print("Loading database data...") + admin.load_records(StaticContext(), db_url, table_name, data_path) return db_url def _start_local_server(request, config_path, port_number): + """Start a local pycsw instance + + This function starts a new pycsw instance and also + registers a pytest finalizer function that takes care of stopping the + server when the tests are finished. + + Parameters + ---------- + + request: FixtureRequest + Pytest's FixtureRequest object, holding information about the test + context + config_path: str + Full path to pycsw's configuration file + port_number: int + Port where the server will be listening + + Returns + ------- + str + The URL of the newly started pycsw instance + + """ + command = "python pycsw/wsgi.py {}".format(port_number) working_dir = os.path.dirname(TESTS_ROOT) env = os.environ.copy() diff --git a/tests/test_suites.py b/tests/test_suites.py index 2ef12c82a..48a374059 100644 --- a/tests/test_suites.py +++ b/tests/test_suites.py @@ -47,91 +47,190 @@ ENCODING = "utf-8" +pytestmark = pytest.mark.functional -@pytest.mark.functional -class TestSuites(object): - def test_apiso_suite(self, server_apiso_suite, test_request, - expected_result): - self._test_request(server_apiso_suite, test_request, expected_result) +class TestApisoSuite(object): + + def test_post_requests(self, server_apiso_suite, test_request, + expected_result): + pass + + def test_get_requests(self, server_apiso_suite, test_request_parameters, + expected_result): + pass + + +class TestApisoInspireSuite(object): + + def test_post_requests(self, server_apiso_inspire_suite, test_request, + expected_result): + pass + + def test_get_requests(self, server_apiso_inspire_suite, + test_request_parameters, expected_result): + pass + + +class TestAtomSuite(object): + + def test_post_requests(self, server_atom_suite, test_request, + expected_result): + pass + + def test_get_requests(self, server_atom_suite, + test_request_parameters, expected_result): + pass + + +class TestCiteSuite(object): + + def test_post_requests(self, server_cite_suite, test_request, + expected_result): + pass + + def test_get_requests(self, server_cite_suite, + test_request_parameters, expected_result): + pass + + +class TestCsw30Suite(object): + + def test_post_requests(self, server_csw30_suite, test_request, + expected_result): + pass + + def test_get_requests(self, server_csw30_suite, + test_request_parameters, expected_result): + pass - def test_apiso_inspire_suite(self, server_apiso_inspire_suite, - test_request, expected_result): - self._test_request(server_apiso_inspire_suite, test_request, - expected_result) - def test_atom_suite(self, server_atom_suite, test_request, - expected_result): - self._test_request(server_atom_suite, test_request, expected_result) +class TestDefaultSuite(object): + + def test_post_requests(self, server_default_suite, test_request, + expected_result): + pass + + def test_get_requests(self, server_default_suite, test_request_parameters, + expected_result): + pass - def test_cite_suite(self, server_cite_suite, test_request, - expected_result): - self._test_request(server_cite_suite, test_request, expected_result) - def test_csw30_suite(self, server_csw30_suite, test_request, - expected_result): - self._test_request(server_csw30_suite, test_request, expected_result) +class TestDifSuite(object): - def test_default_suite(self, server_default_suite, test_request, + def test_post_requests(self, server_dif_suite, test_request, expected_result): - self._test_request(server_default_suite, test_request, expected_result) + pass + + def test_get_requests(self, server_dif_suite, test_request_parameters, + expected_result): + pass - def test_dif_suite(self, server_dif_suite, test_request, - expected_result): - self._test_request(server_dif_suite, test_request, expected_result) - def test_ebrim_suite(self, server_ebrim_suite, test_request, - expected_result): - self._test_request(server_ebrim_suite, test_request, expected_result) +class TestEbrimSuite(object): - def test_fgdc_suite(self, server_fgdc_suite, test_request, - expected_result): - self._test_request(server_fgdc_suite, test_request, expected_result) + def test_post_requests(self, server_ebrim_suite, test_request, + expected_result): + pass - def test_gm03_suite(self, server_gm03_suite, test_request, - expected_result): - self._test_request(server_gm03_suite, test_request, expected_result) + def test_get_requests(self, server_ebrim_suite, test_request_parameters, + expected_result): + pass - def test_harvesting_suite(self, server_harvesting_suite, test_request, - expected_result): - self._test_request(server_harvesting_suite, test_request, - expected_result) - def test_oaipmh_suite(self, server_oaipmh_suite, test_request, +class TestFgdcSuite(object): + + def test_post_requests(self, server_fgdc_suite, test_request, + expected_result): + pass + + def test_get_requests(self, server_fgdc_suite, test_request_parameters, + expected_result): + pass + +class TestGm03Suite(object): + + def test_post_requests(self, server_gm03_suite, test_request, + expected_result): + pass + + def test_get_requests(self, server_gm03_suite, test_request_parameters, + expected_result): + pass + +class TestHarvestingSuite(object): + + def test_post_requests(self, server_harvesting_suite, test_request, + expected_result): + pass + + def test_get_requests(self, server_harvesting_suite, + test_request_parameters, expected_result): + pass + +class TestOaipmhSuite(object): + + def test_post_requests(self, server_oaipmh_suite, test_request, + expected_result): + pass + + def test_get_requests(self, server_oaipmh_suite, test_request_parameters, + expected_result): + pass + +class TestRepofilterSuite(object): + + def test_post_requests(self, server_repofilter_suite, test_request, + expected_result): + pass + + def test_get_requests(self, server_repofilter_suite, + test_request_parameters, expected_result): + pass + +class TestSruSuite(object): + + def test_post_requests(self, server_sru_suite, test_request, + expected_result): + pass + + def test_get_requests(self, server_sru_suite, test_request_parameters, + expected_result): + pass + +class TestUtf8Suite(object): + + def test_post_requests(self, server_utf_8_suite, test_request, + expected_result): + pass + + def test_get_requests(self, server_utf_8_suite, test_request_parameters, expected_result): - self._test_request(server_oaipmh_suite, test_request, expected_result) - - def test_repofilter_suite(self, server_repofilter_suite, test_request, - expected_result): - self._test_request(server_repofilter_suite, test_request, - expected_result) - - def test_sru_suite(self, server_sru_suite, test_request, - expected_result): - self._test_request(server_sru_suite, test_request, expected_result) - - def test_utf_8_suite(self, server_utf_8_suite, test_request, - expected_result): - self._test_request(server_utf_8_suite, test_request, expected_result) - - def _test_request(self, pycsw_server_url, test_request, expected_result): - with open(test_request, encoding=ENCODING) as request_fh: - request_data = request_fh.read() - with open(expected_result, encoding=ENCODING) as expected_fh: - expected = expected_fh.read() - response = requests.post(pycsw_server_url, - data=request_data) - response_data = response.text - - normalized_result = _normalize(response_data, force_id_mask=False) - print("expected: {0}".format(expected)) - print("response: {0}".format(normalized_result)) - try: - matches_expected = _test_xml_result(normalized_result, expected) - except etree.XMLSyntaxError: - # the file is either not XML (perhaps JSON?) or malformed - matches_expected = _test_json_result(normalized_result, expected) - assert matches_expected + pass + + +def _test_post_request(pycsw_server_url, test_request, expected_result): + with open(test_request, encoding=ENCODING) as request_fh: + request_data = request_fh.read() + with open(expected_result, encoding=ENCODING) as expected_fh: + expected = expected_fh.read() + response = requests.post(pycsw_server_url, + data=request_data) + response_data = response.text + + normalized_result = _normalize(response_data, force_id_mask=False) + print("expected: {0}".format(expected)) + print("response: {0}".format(normalized_result)) + try: + matches_expected = _test_xml_result(normalized_result, expected) + except etree.XMLSyntaxError: + # the file is either not XML (perhaps JSON?) or malformed + matches_expected = _test_json_result(normalized_result, expected) + assert matches_expected + + +def _test_get_request(pycsw_server_url, parameters, expected_result): + pass def _test_xml_result(result, expected): From fb02cb2b2ad8beb4f44977291558847b21565e98 Mon Sep 17 00:00:00 2001 From: Ricardo Silva Date: Tue, 31 May 2016 01:09:34 +0100 Subject: [PATCH 016/119] Removed pycsw placeholder text and unnecessary config KVP param These are not needed anymore on GET requests --- tests/suites/apiso-inspire/get/requests.txt | 4 +- tests/suites/atom/get/requests.txt | 24 +-- tests/suites/cite/get/requests.txt | 44 +++--- tests/suites/csw30/get/requests.txt | 164 ++++++++++---------- tests/suites/default/get/requests.txt | 40 ++--- tests/suites/harvesting/get/requests.txt | 10 +- tests/suites/oaipmh/get/requests.txt | 40 ++--- tests/suites/sru/get/requests.txt | 10 +- 8 files changed, 168 insertions(+), 168 deletions(-) diff --git a/tests/suites/apiso-inspire/get/requests.txt b/tests/suites/apiso-inspire/get/requests.txt index 862e409d5..09816a219 100644 --- a/tests/suites/apiso-inspire/get/requests.txt +++ b/tests/suites/apiso-inspire/get/requests.txt @@ -1,2 +1,2 @@ -GetCapabilities,PYCSW_SERVER?config=tests/suites/apiso-inspire/default.cfg&service=CSW&version=2.0.2&request=GetCapabilities -GetCapabilities-lang,PYCSW_SERVER?config=tests/suites/apiso-inspire/default.cfg&service=CSW&version=2.0.2&request=GetCapabilities&lang=gre +GetCapabilities,service=CSW&version=2.0.2&request=GetCapabilities +GetCapabilities-lang,service=CSW&version=2.0.2&request=GetCapabilities&lang=gre diff --git a/tests/suites/atom/get/requests.txt b/tests/suites/atom/get/requests.txt index ba73cf845..6734cd5a7 100644 --- a/tests/suites/atom/get/requests.txt +++ b/tests/suites/atom/get/requests.txt @@ -1,12 +1,12 @@ -opensearch,PYCSW_SERVER?config=tests/suites/atom/default.cfg&mode=opensearch&service=CSW&version=2.0.2&request=GetRecords&typenames=csw:Record&resulttype=results&elementsetname=brief -opensearch-description,PYCSW_SERVER?config=tests/suites/atom/default.cfg&mode=opensearch&service=CSW&version=2.0.2&request=GetCapabilities -opensearch-ogc-q,PYCSW_SERVER?config=tests/suites/atom/default.cfg&mode=opensearch&service=CSW&version=2.0.2&request=GetRecords&elementsetname=full&resulttype=results&typenames=csw:Record&q=greece -opensearch-ogc-bbox,"PYCSW_SERVER?config=tests/suites/atom/default.cfg&mode=opensearch&service=CSW&version=2.0.2&request=GetRecords&elementsetname=full&resulttype=results&typenames=csw:Record&bbox=-180,-90,180,90" -opensearch-ogc-time,PYCSW_SERVER?config=tests/suites/atom/default.cfg&mode=opensearch&service=CSW&version=2.0.2&request=GetRecords&elementsetname=full&resulttype=results&typenames=csw:Record&time=2001/2004 -opensearch-ogc-timestart,PYCSW_SERVER?config=tests/suites/atom/default.cfg&mode=opensearch&service=CSW&version=2.0.2&request=GetRecords&elementsetname=full&resulttype=results&typenames=csw:Record&time=2004/ -opensearch-ogc-timeend,PYCSW_SERVER?config=tests/suites/atom/default.cfg&mode=opensearch&service=CSW&version=2.0.2&request=GetRecords&elementsetname=full&resulttype=results&typenames=csw:Record&time=/2004 -opensearch-ogc-q-and-time,PYCSW_SERVER?config=tests/suites/atom/default.cfg&mode=opensearch&service=CSW&version=2.0.2&request=GetRecords&elementsetname=full&resulttype=results&typenames=csw:Record&time=2001/2007&q=vitae -opensearch-ogc-bbox-and-time,"PYCSW_SERVER?config=tests/suites/atom/default.cfg&mode=opensearch&service=CSW&version=2.0.2&request=GetRecords&elementsetname=full&resulttype=results&typenames=csw:Record&time=2001/2007&bbox=-180,-90,180,90" -opensearch-ogc-q-and-bbox,"PYCSW_SERVER?config=tests/suites/atom/default.cfg&mode=opensearch&service=CSW&version=2.0.2&request=GetRecords&elementsetname=full&resulttype=results&typenames=csw:Record&q=vegetation&bbox=-180,-90,180,90" -opensearch-ogc-count-and-page1,"PYCSW_SERVER?config=tests/suites/atom/default.cfg&mode=opensearch&service=CSW&version=2.0.2&request=GetRecords&elementsetname=full&resulttype=results&typenames=csw:Record&q=vegetation&startposition=1" -opensearch-ogc-count-and-page2,"PYCSW_SERVER?config=tests/suites/atom/default.cfg&mode=opensearch&service=CSW&version=2.0.2&request=GetRecords&elementsetname=full&resulttype=results&typenames=csw:Record&q=vegetation&startposition=1&maxrecords=1" +opensearch,mode=opensearch&service=CSW&version=2.0.2&request=GetRecords&typenames=csw:Record&resulttype=results&elementsetname=brief +opensearch-description,mode=opensearch&service=CSW&version=2.0.2&request=GetCapabilities +opensearch-ogc-q,mode=opensearch&service=CSW&version=2.0.2&request=GetRecords&elementsetname=full&resulttype=results&typenames=csw:Record&q=greece +opensearch-ogc-bbox,mode=opensearch&service=CSW&version=2.0.2&request=GetRecords&elementsetname=full&resulttype=results&typenames=csw:Record&bbox=-180,-90,180,90 +opensearch-ogc-time,mode=opensearch&service=CSW&version=2.0.2&request=GetRecords&elementsetname=full&resulttype=results&typenames=csw:Record&time=2001/2004 +opensearch-ogc-timestart,mode=opensearch&service=CSW&version=2.0.2&request=GetRecords&elementsetname=full&resulttype=results&typenames=csw:Record&time=2004/ +opensearch-ogc-timeend,mode=opensearch&service=CSW&version=2.0.2&request=GetRecords&elementsetname=full&resulttype=results&typenames=csw:Record&time=/2004 +opensearch-ogc-q-and-time,mode=opensearch&service=CSW&version=2.0.2&request=GetRecords&elementsetname=full&resulttype=results&typenames=csw:Record&time=2001/2007&q=vitae +opensearch-ogc-bbox-and-time,mode=opensearch&service=CSW&version=2.0.2&request=GetRecords&elementsetname=full&resulttype=results&typenames=csw:Record&time=2001/2007&bbox=-180,-90,180,90 +opensearch-ogc-q-and-bbox,mode=opensearch&service=CSW&version=2.0.2&request=GetRecords&elementsetname=full&resulttype=results&typenames=csw:Record&q=vegetation&bbox=-180,-90,180,90 +opensearch-ogc-count-and-page1,mode=opensearch&service=CSW&version=2.0.2&request=GetRecords&elementsetname=full&resulttype=results&typenames=csw:Record&q=vegetation&startposition=1 +opensearch-ogc-count-and-page2,mode=opensearch&service=CSW&version=2.0.2&request=GetRecords&elementsetname=full&resulttype=results&typenames=csw:Record&q=vegetation&startposition=1&maxrecords=1 diff --git a/tests/suites/cite/get/requests.txt b/tests/suites/cite/get/requests.txt index 9eb5bc23f..271982886 100644 --- a/tests/suites/cite/get/requests.txt +++ b/tests/suites/cite/get/requests.txt @@ -1,22 +1,22 @@ -27e17158-c57a-4493-92ac-dba8934cf462,PYCSW_SERVER?config=tests/suites/cite/default.cfg&service=CSW&version=2.0.2&request=GetCapabilities -27f69b66-5f05-4311-a89c-73ca55c2686b,PYCSW_SERVER?config=tests/suites/cite/default.cfg&Service=CSW&Version=2.0.2&Request=GetRecordById&ElementSetName=brief&ID=urn%3Auuid%3A19887a8a-f6b0-4a63-ae56-7fba0e17801f -2ab7d1fa-885b-459f-80e4-b6282eab4f8c,PYCSW_SERVER?config=tests/suites/cite/default.cfg&service=CSW&request=GetCapabilities&acceptversions=2.0.2&date=2006-10-20 -37aa90e2-6ff0-420c-af15-8b9463099a73,PYCSW_SERVER?config=tests/suites/cite/default.cfg&service=CSW&version=2.0.2&request=GetRecordById&id=urn%3Auuid%3A9a669547-b69b-469f-a11f-2d875366bbdc -3a8a3c47-455f-4f49-9078-03119f3e70b3,PYCSW_SERVER?config=tests/suites/cite/default.cfg&service=CSW&request=GetCapabilities&acceptformats=message/example -4515831f-834a-4699-95f6-ab0c2cbfcfd0,PYCSW_SERVER?config=tests/suites/cite/default.cfg&service=CSW&version=2.0.2&request=GetRecordById -477b23a3-baa9-47c8-9541-5fe27735ed49,PYCSW_SERVER?config=tests/suites/cite/default.cfg&service=CSW&request=GetCapabilities§ions= -48f26761-3a9d-48db-bee1-da089f5fb857,PYCSW_SERVER?config=tests/suites/cite/default.cfg&sErViCe=CSW&REQUEST=GetCapabilities&version=2.0.2 -4e38092f-1586-44b8-988e-0acfa5855916,PYCSW_SERVER?config=tests/suites/cite/default.cfg&Service=CSW&Version=2.0.2&Request=GetRecordById&OutputFormat=application/bogus_xml&id=urn:uuid:a06af396-3105-442d-8b40-22b57a90d2f2,urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f,urn:uuid:ab42a8c4-95e8-4630-bf79-33e59241605a -55c38f00-2553-42c1-99ab-33edbb561ad7,PYCSW_SERVER?config=tests/suites/cite/default.cfg&service=CSW&request=GetCapabilities§ions=OperationsMetadata,ServiceIdentification -5ab5db18-c87a-4fbf-a8d8-b7289b09ac81,PYCSW_SERVER?config=tests/suites/cite/default.cfg&service=FOO&request=GetCapabilities -6a4f57ca-a1bd-4802-89c2-44860dbdb0f0,PYCSW_SERVER?config=tests/suites/cite/default.cfg&service=CSW&version=2.0.2&request=GetRecordById&id=urn:uuid:ce8627a0-685c-11db-bd13-0800200c9a66,urn:uuid:6a3de50b-fa66-4b58-a0e6-ca146fdd18d4 -6c375703-9c00-4aef-bec7-d2e964f849eb,PYCSW_SERVER?config=tests/suites/cite/default.cfg&Service=CSW&Version=2.0.2&Request=GetRecordById&OutputSchema=http://www.w3.org/2005/Atom&Id=urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f -80f31def-4185-48b9-983a-960566918eae,PYCSW_SERVER?config=tests/suites/cite/default.cfg&service=CSW&request=GetCapabilities -8e2232ed-05d9-44ae-8b04-0911cbe6a507,PYCSW_SERVER?config=tests/suites/cite/default.cfg&SERVICE=CSW&REQUEST=GetCapabilities&ACCEPTVERSIONS=2006.10.29 -9697f0aa-3b6a-4125-83a5-61e8826127c4,PYCSW_SERVER?config=tests/suites/cite/default.cfg&service=CSW&request=GetCapabilities -9bfd17fa-15dc-4a10-8fa7-b3cff7013dd7,PYCSW_SERVER?config=tests/suites/cite/default.cfg&Service=CSW&Version=2.0.2&Request=GetRecordById&ElementSetName=full&ID=urn%3Auuid%3Ae9330592-0932-474b-be34-c3a3bb67c7db -b81c3595-06d6-4693-82ea-1ff8650755ac,PYCSW_SERVER?config=tests/suites/cite/default.cfg&service=CSW&version=2.0.2&request=GetRecordById&id=urn:uuid:ce8627a0-685c-11db-bd13-0800200c9a66 -ba5fc729-3b71-47a0-b7d0-42ec565cd185,PYCSW_SERVER?config=tests/suites/cite/default.cfg&SERVICE=CSW&REQUEST=GetCapabilities&ACCEPTVERSIONS=2.0.2,2.0.0 -c4ea754f-c158-4d8d-8253-dc8f86021b52,PYCSW_SERVER?config=tests/suites/cite/default.cfg&request=GetCapabilities -f4692ec5-9547-4a05-88ab-e6154af2640a,PYCSW_SERVER?config=tests/suites/cite/default.cfg&service=CSW&version=2.0.2&request=GetCapabilities -f997f25e-c865-4d53-a362-0ed1846337f2,PYCSW_SERVER?config=tests/suites/cite/default.cfg&service=CSW&version=2.0.2&request=GetRecordById&id=urn:uuid:94bc9c83-97f6-4b40-9eb8-a8e8787a5c63 +27e17158-c57a-4493-92ac-dba8934cf462,service=CSW&version=2.0.2&request=GetCapabilities +27f69b66-5f05-4311-a89c-73ca55c2686b,Service=CSW&Version=2.0.2&Request=GetRecordById&ElementSetName=brief&ID=urn%3Auuid%3A19887a8a-f6b0-4a63-ae56-7fba0e17801f +2ab7d1fa-885b-459f-80e4-b6282eab4f8c,service=CSW&request=GetCapabilities&acceptversions=2.0.2&date=2006-10-20 +37aa90e2-6ff0-420c-af15-8b9463099a73,service=CSW&version=2.0.2&request=GetRecordById&id=urn%3Auuid%3A9a669547-b69b-469f-a11f-2d875366bbdc +3a8a3c47-455f-4f49-9078-03119f3e70b3,service=CSW&request=GetCapabilities&acceptformats=message/example +4515831f-834a-4699-95f6-ab0c2cbfcfd0,service=CSW&version=2.0.2&request=GetRecordById +477b23a3-baa9-47c8-9541-5fe27735ed49,service=CSW&request=GetCapabilities§ions= +48f26761-3a9d-48db-bee1-da089f5fb857,sErViCe=CSW&REQUEST=GetCapabilities&version=2.0.2 +4e38092f-1586-44b8-988e-0acfa5855916,Service=CSW&Version=2.0.2&Request=GetRecordById&OutputFormat=application/bogus_xml&id=urn:uuid:a06af396-3105-442d-8b40-22b57a90d2f2,urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f,urn:uuid:ab42a8c4-95e8-4630-bf79-33e59241605a +55c38f00-2553-42c1-99ab-33edbb561ad7,service=CSW&request=GetCapabilities§ions=OperationsMetadata,ServiceIdentification +5ab5db18-c87a-4fbf-a8d8-b7289b09ac81,service=FOO&request=GetCapabilities +6a4f57ca-a1bd-4802-89c2-44860dbdb0f0,service=CSW&version=2.0.2&request=GetRecordById&id=urn:uuid:ce8627a0-685c-11db-bd13-0800200c9a66,urn:uuid:6a3de50b-fa66-4b58-a0e6-ca146fdd18d4 +6c375703-9c00-4aef-bec7-d2e964f849eb,Service=CSW&Version=2.0.2&Request=GetRecordById&OutputSchema=http://www.w3.org/2005/Atom&Id=urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f +80f31def-4185-48b9-983a-960566918eae,service=CSW&request=GetCapabilities +8e2232ed-05d9-44ae-8b04-0911cbe6a507,SERVICE=CSW&REQUEST=GetCapabilities&ACCEPTVERSIONS=2006.10.29 +9697f0aa-3b6a-4125-83a5-61e8826127c4,service=CSW&request=GetCapabilities +9bfd17fa-15dc-4a10-8fa7-b3cff7013dd7,Service=CSW&Version=2.0.2&Request=GetRecordById&ElementSetName=full&ID=urn%3Auuid%3Ae9330592-0932-474b-be34-c3a3bb67c7db +b81c3595-06d6-4693-82ea-1ff8650755ac,service=CSW&version=2.0.2&request=GetRecordById&id=urn:uuid:ce8627a0-685c-11db-bd13-0800200c9a66 +ba5fc729-3b71-47a0-b7d0-42ec565cd185,SERVICE=CSW&REQUEST=GetCapabilities&ACCEPTVERSIONS=2.0.2,2.0.0 +c4ea754f-c158-4d8d-8253-dc8f86021b52,request=GetCapabilities +f4692ec5-9547-4a05-88ab-e6154af2640a,service=CSW&version=2.0.2&request=GetCapabilities +f997f25e-c865-4d53-a362-0ed1846337f2,service=CSW&version=2.0.2&request=GetRecordById&id=urn:uuid:94bc9c83-97f6-4b40-9eb8-a8e8787a5c63 diff --git a/tests/suites/csw30/get/requests.txt b/tests/suites/csw30/get/requests.txt index d93dd98d0..57b9acf43 100644 --- a/tests/suites/csw30/get/requests.txt +++ b/tests/suites/csw30/get/requests.txt @@ -1,82 +1,82 @@ -GetCapabilities-base-url,PYCSW_SERVER?config=tests/suites/csw30/default.cfg -GetCapabilities-no-version,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&service=CSW&request=GetCapabilities -GetCapabilities,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&service=CSW&version=3.0.0&request=GetCapabilities -Exception-invalid-request,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&service=CSW&version=3.0.0&request=GetCapabilities-foo -Exception-GetDomain,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&service=CSW&version=3.0.0&request=GetDomain -GetDomain-parameter,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&service=CSW&version=3.0.0&request=GetDomain¶metername=GetRecords.ElementSetName -GetDomain-value-reference,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&service=CSW&version=3.0.0&request=GetDomain&valuereference=dc:title -Exception-GetDomain-value-reference,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&service=CSW&version=3.0.0&request=GetDomain&valuereference=dc:title2 -Exception-GetRecordById-dc.xml,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&service=CSW&version=3.0.0&request=GetRecordById&id=urn:uuid:829babb0-b2f1-49e1-8cd5-7b489fe71a1e -Exception-GetRecordById-404,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&service=CSW&version=3.0.0&request=GetRecordById&id=does_not_exist2 -OpenSearch-description,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&mode=opensearch&service=CSW&version=3.0.0&request=GetCapabilities -GetRepositoryItem,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&service=CSW&version=3.0.0&request=GetRepositoryItem&id=urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f -Exception-GetRepositoryItem-notfound,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&service=CSW&version=3.0.0&request=GetRepositoryItem&id=NOTFOUND -002258f0-627f-457f-b2ad-025777c77ac8,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&mode=opensearch&service=CSW&version=3.0.0&request=GetCapabilities -045c600d-973d-41eb-9f60-eba1b717b720,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&mode=opensearch&service=CSW&version=3.0.0&request=GetRecords&elementsetname=full&typenames=csw:Record&resulttype=results&q=Fusc%C3%A9%20Land&bbox=&time=/&outputformat=application/atom%2Bxml&startposition=1&maxrecords=&recordids= -0bbcf862-5211-4351-9988-63f8bec49c98,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&elementSetName=summary&outputFormat=application/atom%2Bxml&request=GetRecords&service=CSW&typeNames=Record&version=3.0.0 -0bdf8457-971e-4ed1-be4a-5feca4dcd8fa,PYCSW_SERVER?config=tests/suites/csw30/default.cfg -0d8bbdec-0846-42ca-8dc8-b7f4cba41d67,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&elementName=tns:title&request=GetRecords&service=CSW&typeNames=Record&namespace=xmlns(tns%3Dhttp://purl.org/dc/elements/1.1/)&version=3.0.0 -0e1dca37-477a-4060-99fe-7799b52d656c,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&mode=opensearch&service=CSW&version=3.0.0&request=GetRecords&elementsetname=full&typenames=csw:Record&resulttype=results&q=lpppclq&bbox=&time=/&outputformat=application/atom%2Bxml&startposition=1&maxrecords=&recordids= -13c87956-51a4-4780-a8e9-6e0b5c0bb473,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&elementSetName=full&maxRecords=20&request=GetRecords&service=CSW&typeNames=Record&version=3.0.0 -151d982f-ebd3-4cb2-b507-a667713a1e92,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&acceptFormats=model/x3d%2Bxml&acceptVersions=3.0.0&request=GetCapabilities&service=CSW -1869e495-1a61-4713-8285-76d1336ee1a6,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&acceptVersions=3.0.0&request=GetCapabilities -1bcb42a9-538c-4f0a-9d4c-d6f10b720aa6,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&request=GetRecordById&service=CSW&version=3.0.0 -22f44168-2ccf-4801-ad96-204212566d56,PYCSW_SERVER?config=tests/suites/csw30/default.cfg -2499a9c9-8d33-449c-bc92-d494adfcc84d,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&acceptVersions=3.0.0§ions=All&request=GetCapabilities&service=CSW -27f4f39c-d92a-4e3c-b961-c6aa8c24e513,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&acceptFormats=application/xml&acceptVersions=3.0.0&request=GetCapabilities&service=CSW -28e569df-8596-4128-8d9a-29ad03138915,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&id=urn:uuid:a06af396-3105-442d-8b40-22b57a90d2f2&request=GetRecordById&service=CSW&version=3.0.0 -2b06a5c8-0df2-4af1-8d2e-a425de11c845,PYCSW_SERVER?config=tests/suites/csw30/default.cfg -2ba1418a-444d-4cce-9cfe-4c94efcf8b55,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&maxRecords=2&elementSetName=summary&outputFormat=application/atom%2Bxml&request=GetRecords&service=CSW&typeNames=csw3:Record&startPosition=3&namespace=xmlns(csw3%3Dhttp://www.opengis.net/cat/csw/3.0)&version=3.0.0 -397fe17a-d5b4-4f96-8cc4-4ce467ed4d0a,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&service=CSW&version=3.0.0&request=GetRecords&elementsetname=full&typenames=csw:Record&resulttype=results&q=ipsum&bbox=&time=/&outputformat=application/xml&outputschema=http://www.opengis.net/cat/csw/3.0&startposition=1&maxrecords=&recordids= -3dcd1b15-73d2-4b7d-a3e3-ff15bf14aae4,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&elementSetName=brief&request=GetRecords&service=CSW&typeNames=tns:Record&namespace=xmlns(tns%3Dhttp://www.opengis.net/cat/csw/3.0)&version=3.0.0 -405e1ff1-5c75-4846-a28b-cfaff2a6921a,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&elementSetName=summary&recordIds=urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f,urn:uuid:e9330592-0932-474b-be34-c3a3bb67c7db&request=GetRecords&service=CSW&typeNames=Record&version=3.0.0 -43cd6471-6ac7-45bd-8ff9-148cb2de9a52,PYCSW_SERVER?config=tests/suites/csw30/default.cfg -4566d2ec-1283-4a02-baed-a74fc5b47e37,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&acceptVersions=3.0.0§ions=ServiceIdentification&request=GetCapabilities&service=CSW -461bd4c5-6623-490d-9036-d91a2201e87b,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&acceptVersions=3.0.0§ions=Filter_Capabilities&request=GetCapabilities&service=CSW -5496894a-3877-4f62-a20b-5d7126f94925,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&service=CSW&version=3.0.0&request=GetRecords&elementsetname=full&typenames=csw:Record&resulttype=results&q=&bbox=514432,5429689,529130,5451619&time=/&outputformat=application/xml&outputschema=http://www.opengis.net/cat/csw/3.0&startposition=1&maxrecords=&recordids= -5a015f6a-bf14-4977-b1e3-6577eb0223c8,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&service=CSW&version=3.0.0&request=GetRecords&elementsetname=full&typenames=csw:Record&resulttype=results&q=&bbox=-6.17,44.79,17.92,68.41&time=/&outputformat=application/xml&outputschema=http://www.opengis.net/cat/csw/3.0&startposition=1&maxrecords=&recordids= -5c3a2390-1fb9-43f0-b96c-f48c7a69c990,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&id=urn:uuid:88247b56-4cbc-4df9-9860-db3f8042e357&outputFormat=model/vnd.collada%2Bxml&request=GetRecordById&service=CSW&version=3.0.0 -5e9e67dc-18d6-4645-8111-c6263c88a61f,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&acceptVersions=3.0.0§ions=OperationsMetadata&request=GetCapabilities&service=CSW -604d9379-741c-42e5-b4cf-92e56c87fa64,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&elementSetName=full&q=amet&request=GetRecords&service=CSW&typeNames=Record&version=3.0.0 -60e6af95-d5fc-465a-82e2-fd2e6d85e4af,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&request=GetRecords&service=CSW&typeNames=UnknownType&version=3.0.0 -62ad94c2-b558-4265-a427-23d6677975d6,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&mode=opensearch&service=CSW&version=3.0.0&request=GetRecords&elementsetname=full&typenames=csw:Record&resulttype=results&q=&bbox=&time=/&outputformat=application/atom%2Bxml&startposition=1&maxrecords=&recordids=uid-bc5017e6-5cc8-4b03-aee7-d88f88caba0a -6a5e247b-0961-4b8a-a0d6-35a491d9cfe7,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&elementSetName=undefined-view&request=GetRecords&service=CSW&typeNames=Record&version=3.0.0 -6a9d0558-9d87-495b-b999-b49a3ef1cf99,PYCSW_SERVER?config=tests/suites/csw30/default.cfg -6bd790c9-6019-4652-9c91-330a894d6700,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&service=CSW&version=3.0.0&request=GetRecords&elementsetname=full&typenames=csw:Record&resulttype=results&q=Fusc%C3%A9%20Land&bbox=&time=/&outputformat=application/xml&outputschema=http://www.opengis.net/cat/csw/3.0&startposition=1&maxrecords=&recordids= -6e9cba43-5e27-415d-adbd-a92851c2c173,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&acceptVersions=3.0.0&request=GetCapabilities&service=CSW -7630d230-e142-4a09-accf-f091000b90cd,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&id=urn:uuid:66ae76b7-54ba-489b-a582-0f0633d96493&request=GetRecordById&service=CSW&version=3.0.0 -7e82446a-b5dc-43fe-9a73-4cc1f2f2f0bf,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&acceptFormats=text/xml&acceptVersions=3.0.0&request=GetCapabilities&service=CSW -8025978e-1a35-4d70-80c2-e8329e0c7864,PYCSW_SERVER?config=tests/suites/csw30/default.cfg -8184ae4f-536d-4978-8b28-ad703be96967,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&elementSetName=brief&bbox=44.79,-6.17,68.41,17.92,urn:ogc:def:crs:EPSG::4326&request=GetRecords&service=CSW&typeNames=Record&version=3.0.0 -88f63a89-664f-4315-b4f8-04a0b33803a7,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&maxRecords=15&elementSetName=summary&q=Mauris&bbox=-6.17,44.79,17.92,68.41&request=GetRecords&service=CSW&typeNames=Record&version=3.0.0 -8987f8f0-4d93-4481-968c-a2ccbd6b8be2,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&id=urn:example:1461546298217&request=GetRecordById&service=CSW&version=3.0.0 -8e5fa0f6-3f29-4d1f-abe2-d9866f3def98,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&mode=opensearch&service=CSW&version=3.0.0&request=GetRecords&elementsetname=full&typenames=csw:Record&resulttype=results&q=&bbox=-180,-90,180,90&time=/&outputformat=application/atom%2Bxml&startposition=1&maxrecords=&recordids= -9000ec29-5649-474e-b2d6-55c00f8a52c0,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&acceptVersions=9999.12.31&request=GetCapabilities&service=CSW -91914d35-7bbf-45e6-9b37-5ef484869a4e,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&elementSetName=summary&bbox=-6.17,44.79,17.92,68.41&request=GetRecords&service=CSW&typeNames=Record&version=3.0.0 -92d4844d-57d5-4cf3-8f47-ba50e369dc04,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&elementSetName=full&q=atkovxqmf&request=GetRecords&service=CSW&typeNames=Record&version=3.0.0 -9c0e2a4b-b4e6-41c0-b630-c8c99fc89ff3,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&elementSetName=brief&outputSchema=urn:uuid:6a29d2a8-9651-47a6-9b14-f05d2b5644f0&request=GetRecords&service=CSW&typeNames=Record&version=3.0.0 -9d7ffac8-9798-428d-8e27-3cd12497ee6b,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&id=urn:uuid:1ef30a8b-876d-4828-9246-c37ab4510bbd&outputSchema=http://www.example.org/ns/alpha&request=GetRecordById&service=CSW&version=3.0.0 -a2f18643-e24e-4fa5-b780-6de4a2dbc814,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&id=urn:uuid:829babb0-b2f1-49e1-8cd5-7b489fe71a1e&outputFormat=application/atom%2Bxml&request=GetRecordById&service=CSW&version=3.0.0 -abc90c8c-5868-4405-a73e-64c849be3b2a,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&mode=opensearch&service=CSW&version=3.0.0&request=GetRecords&elementsetname=full&typenames=csw:Record&resulttype=results&q=&bbox=514432,5429689,529130,5451619&time=/&outputformat=application/atom%2Bxml&startposition=1&maxrecords=&recordids= -ad0c0571-09ed-436a-9a4f-a5de744c88fe,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&maxRecords=2&elementSetName=summary&request=GetRecords&service=CSW&typeNames=csw3:Record&startPosition=3&namespace=xmlns(csw3%3Dhttp://www.opengis.net/cat/csw/3.0)&version=3.0.0 -af502903-f4ee-47ee-b76e-af878d238bcc,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&service=CSW&version=3.0.0&request=GetRecords&elementsetname=full&typenames=csw:Record&resulttype=results&q=&bbox=-180,-90,180,90&time=/&outputformat=application/xml&outputschema=http://www.opengis.net/cat/csw/3.0&startposition=1&maxrecords=&recordids= -b2aafc3f-4f35-47bc-affd-08590972deae,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&mode=opensearch&service=CSW&version=3.0.0&request=GetRecords&elementsetname=full&typenames=csw:Record&resulttype=results&q=&bbox=-6.17,44.79,17.92,68.41&time=/&outputformat=application/atom%2Bxml&startposition=1&maxrecords=&recordids= -b6069623-f7d8-4021-8582-98f0aea0f763,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&mode=opensearch&service=CSW&version=3.0.0&request=GetRecords&elementsetname=full&typenames=csw:Record&resulttype=results&q=&bbox=&time=/&outputformat=application/atom%2Bxml&startposition=3&maxrecords=4&recordids= -b9a07a54-75a8-45bd-b341-2823600211e3,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&elementSetName=brief&bbox=472944,5363287,492722,5455253,urn:ogc:def:crs:EPSG::0000&request=GetRecords&service=CSW&typeNames=Record&version=3.0.0 -baa4a7d0-0c01-42b6-adc3-0d03e9949fa3,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&acceptVersions=3.0.0&request=getCapabilities&service=CSW -bfbe6409-f64a-4c89-acb3-50f260a5c743,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&elementSetName=summary&q=Fusc%C3%A9%20Land&request=GetRecords&service=CSW&typeNames=Record&version=3.0.0 -bfe20134-d1da-42ef-9c0f-8e1307bbf92b,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&service=CSW&version=3.0.0&request=GetRecords&elementsetname=full&typenames=csw:Record&resulttype=results&q=&bbox=&time=/&outputformat=application/xml&outputschema=http://www.opengis.net/cat/csw/3.0&startposition=3&maxrecords=4&recordids= -c03d173a-3f42-4956-89c8-1fe02c3a0873,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&SERVICE=CSW&Request=GetCapabilities&acceptversions=3.0.0 -cb43d8c3-e14c-4a9f-9231-4384b7dd21f3,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&elementName=undefined&request=GetRecords&service=CSW&typeNames=Record&version=3.0.0 -d03c6fd3-e821-4a26-b62f-d20a474e25af,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&acceptVersions=3.0.0§ions=ServiceProvider&request=GetCapabilities&service=CSW -d4ccbf96-a529-480e-a53d-5b88dc1dea7f,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&service=CSW&version=3.0.0&request=GetRecords&elementsetname=full&typenames=csw:Record&resulttype=results&q=&bbox=&time=/&outputformat=application/xml&outputschema=http://www.opengis.net/cat/csw/3.0&startposition=1&maxrecords=&recordids=uid-bc5017e6-5cc8-4b03-aee7-d88f88caba0a -d94c801a-1207-4897-b84a-53f3a192515b,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&service=CSW&version=3.0.0&request=GetRecords&elementsetname=full&typenames=csw:Record&resulttype=results&q=lpppclq&bbox=&time=/&outputformat=application/xml&outputschema=http://www.opengis.net/cat/csw/3.0&startposition=1&maxrecords=&recordids= -da859e34-91fc-495a-8c09-285a40c0900b,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&id=urn:uuid:94bc9c83-97f6-4b40-9eb8-a8e8787a5c63&elementSetName=full&request=GetRecordById&service=CSW&version=3.0.0 -dc246fb8-5af5-4fda-82bb-c18b3ecd439c,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&mode=opensearch&service=CSW&version=3.0.0&request=GetRecords&elementsetname=full&typenames=csw:Record&resulttype=results&q=ipsum&bbox=&time=/&outputformat=application/atom%2Bxml&startposition=1&maxrecords=&recordids= -de016645-6d5c-4855-943c-2db07ae9f49a,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&mode=opensearch&service=CSW&version=3.0.0&request=GetRecords&elementsetname=full&typenames=csw:Record&resulttype=results&q=&bbox=&time=/&outputformat=application/atom%2Bxml&startposition=1&maxrecords=&recordids=urn%3Auuid%3A94bc9c83-97f6-4b40-9eb8-a8e8787a5c63 -dff3ec6b-bb2d-4887-bd17-8fcf15def042,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&elementSetName=summary&request=GetRecords&service=CSW&typeNames=Record&version=3.0.0 -e38e6bfb-8ac4-4ae4-8b87-0aafbc8d3c6b,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&id=urn:uuid:1ef30a8b-876d-4828-9246-c37ab4510bbd&elementSetName=brief&request=GetRecordById&service=CSW&version=3.0.0 -e67ca935-d65d-4d8c-8302-1405333dded0,PYCSW_SERVER?config=tests/suites/csw30/default.cfg -e7704509-3441-458f-8ef0-e333c6b6043f,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&elementName=ns1:subject&elementSetName=brief&request=GetRecords&service=CSW&typeNames=Record&namespace=xmlns(ns1%3Dhttp://purl.org/dc/elements/1.1/)&version=3.0.0 -f1223a49-6d08-44ff-97fe-4c32cbbfad82,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&elementSetName=summary&maxRecords=0&q=titles&request=GetRecords&service=CSW&typeNames=Record&version=3.0.0 -f89dd4e1-3a81-4433-afd2-a3fa1bdb1e18,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&elementSetName=full&outputFormat=text/example&request=GetRecords&service=CSW&typeNames=Record&version=3.0.0 +GetCapabilities-base-url, +GetCapabilities-no-version,service=CSW&request=GetCapabilities +GetCapabilities,service=CSW&version=3.0.0&request=GetCapabilities +Exception-invalid-request,service=CSW&version=3.0.0&request=GetCapabilities-foo +Exception-GetDomain,service=CSW&version=3.0.0&request=GetDomain +GetDomain-parameter,service=CSW&version=3.0.0&request=GetDomain¶metername=GetRecords.ElementSetName +GetDomain-value-reference,service=CSW&version=3.0.0&request=GetDomain&valuereference=dc:title +Exception-GetDomain-value-reference,service=CSW&version=3.0.0&request=GetDomain&valuereference=dc:title2 +Exception-GetRecordById-dc.xml,service=CSW&version=3.0.0&request=GetRecordById&id=urn:uuid:829babb0-b2f1-49e1-8cd5-7b489fe71a1e +Exception-GetRecordById-404,service=CSW&version=3.0.0&request=GetRecordById&id=does_not_exist2 +OpenSearch-description,mode=opensearch&service=CSW&version=3.0.0&request=GetCapabilities +GetRepositoryItem,service=CSW&version=3.0.0&request=GetRepositoryItem&id=urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f +Exception-GetRepositoryItem-notfound,service=CSW&version=3.0.0&request=GetRepositoryItem&id=NOTFOUND +002258f0-627f-457f-b2ad-025777c77ac8,mode=opensearch&service=CSW&version=3.0.0&request=GetCapabilities +045c600d-973d-41eb-9f60-eba1b717b720,mode=opensearch&service=CSW&version=3.0.0&request=GetRecords&elementsetname=full&typenames=csw:Record&resulttype=results&q=Fusc%C3%A9%20Land&bbox=&time=/&outputformat=application/atom%2Bxml&startposition=1&maxrecords=&recordids= +0bbcf862-5211-4351-9988-63f8bec49c98,elementSetName=summary&outputFormat=application/atom%2Bxml&request=GetRecords&service=CSW&typeNames=Record&version=3.0.0 +0bdf8457-971e-4ed1-be4a-5feca4dcd8fa, +0d8bbdec-0846-42ca-8dc8-b7f4cba41d67,elementName=tns:title&request=GetRecords&service=CSW&typeNames=Record&namespace=xmlns(tns%3Dhttp://purl.org/dc/elements/1.1/)&version=3.0.0 +0e1dca37-477a-4060-99fe-7799b52d656c,mode=opensearch&service=CSW&version=3.0.0&request=GetRecords&elementsetname=full&typenames=csw:Record&resulttype=results&q=lpppclq&bbox=&time=/&outputformat=application/atom%2Bxml&startposition=1&maxrecords=&recordids= +13c87956-51a4-4780-a8e9-6e0b5c0bb473,elementSetName=full&maxRecords=20&request=GetRecords&service=CSW&typeNames=Record&version=3.0.0 +151d982f-ebd3-4cb2-b507-a667713a1e92,acceptFormats=model/x3d%2Bxml&acceptVersions=3.0.0&request=GetCapabilities&service=CSW +1869e495-1a61-4713-8285-76d1336ee1a6,acceptVersions=3.0.0&request=GetCapabilities +1bcb42a9-538c-4f0a-9d4c-d6f10b720aa6,request=GetRecordById&service=CSW&version=3.0.0 +22f44168-2ccf-4801-ad96-204212566d56, +2499a9c9-8d33-449c-bc92-d494adfcc84d,acceptVersions=3.0.0§ions=All&request=GetCapabilities&service=CSW +27f4f39c-d92a-4e3c-b961-c6aa8c24e513,acceptFormats=application/xml&acceptVersions=3.0.0&request=GetCapabilities&service=CSW +28e569df-8596-4128-8d9a-29ad03138915,id=urn:uuid:a06af396-3105-442d-8b40-22b57a90d2f2&request=GetRecordById&service=CSW&version=3.0.0 +2b06a5c8-0df2-4af1-8d2e-a425de11c845, +2ba1418a-444d-4cce-9cfe-4c94efcf8b55,maxRecords=2&elementSetName=summary&outputFormat=application/atom%2Bxml&request=GetRecords&service=CSW&typeNames=csw3:Record&startPosition=3&namespace=xmlns(csw3%3Dhttp://www.opengis.net/cat/csw/3.0)&version=3.0.0 +397fe17a-d5b4-4f96-8cc4-4ce467ed4d0a,service=CSW&version=3.0.0&request=GetRecords&elementsetname=full&typenames=csw:Record&resulttype=results&q=ipsum&bbox=&time=/&outputformat=application/xml&outputschema=http://www.opengis.net/cat/csw/3.0&startposition=1&maxrecords=&recordids= +3dcd1b15-73d2-4b7d-a3e3-ff15bf14aae4,elementSetName=brief&request=GetRecords&service=CSW&typeNames=tns:Record&namespace=xmlns(tns%3Dhttp://www.opengis.net/cat/csw/3.0)&version=3.0.0 +405e1ff1-5c75-4846-a28b-cfaff2a6921a,elementSetName=summary&recordIds=urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f,urn:uuid:e9330592-0932-474b-be34-c3a3bb67c7db&request=GetRecords&service=CSW&typeNames=Record&version=3.0.0 +43cd6471-6ac7-45bd-8ff9-148cb2de9a52, +4566d2ec-1283-4a02-baed-a74fc5b47e37,acceptVersions=3.0.0§ions=ServiceIdentification&request=GetCapabilities&service=CSW +461bd4c5-6623-490d-9036-d91a2201e87b,acceptVersions=3.0.0§ions=Filter_Capabilities&request=GetCapabilities&service=CSW +5496894a-3877-4f62-a20b-5d7126f94925,service=CSW&version=3.0.0&request=GetRecords&elementsetname=full&typenames=csw:Record&resulttype=results&q=&bbox=514432,5429689,529130,5451619&time=/&outputformat=application/xml&outputschema=http://www.opengis.net/cat/csw/3.0&startposition=1&maxrecords=&recordids= +5a015f6a-bf14-4977-b1e3-6577eb0223c8,service=CSW&version=3.0.0&request=GetRecords&elementsetname=full&typenames=csw:Record&resulttype=results&q=&bbox=-6.17,44.79,17.92,68.41&time=/&outputformat=application/xml&outputschema=http://www.opengis.net/cat/csw/3.0&startposition=1&maxrecords=&recordids= +5c3a2390-1fb9-43f0-b96c-f48c7a69c990,id=urn:uuid:88247b56-4cbc-4df9-9860-db3f8042e357&outputFormat=model/vnd.collada%2Bxml&request=GetRecordById&service=CSW&version=3.0.0 +5e9e67dc-18d6-4645-8111-c6263c88a61f,acceptVersions=3.0.0§ions=OperationsMetadata&request=GetCapabilities&service=CSW +604d9379-741c-42e5-b4cf-92e56c87fa64,elementSetName=full&q=amet&request=GetRecords&service=CSW&typeNames=Record&version=3.0.0 +60e6af95-d5fc-465a-82e2-fd2e6d85e4af,request=GetRecords&service=CSW&typeNames=UnknownType&version=3.0.0 +62ad94c2-b558-4265-a427-23d6677975d6,mode=opensearch&service=CSW&version=3.0.0&request=GetRecords&elementsetname=full&typenames=csw:Record&resulttype=results&q=&bbox=&time=/&outputformat=application/atom%2Bxml&startposition=1&maxrecords=&recordids=uid-bc5017e6-5cc8-4b03-aee7-d88f88caba0a +6a5e247b-0961-4b8a-a0d6-35a491d9cfe7,elementSetName=undefined-view&request=GetRecords&service=CSW&typeNames=Record&version=3.0.0 +6a9d0558-9d87-495b-b999-b49a3ef1cf99, +6bd790c9-6019-4652-9c91-330a894d6700,service=CSW&version=3.0.0&request=GetRecords&elementsetname=full&typenames=csw:Record&resulttype=results&q=Fusc%C3%A9%20Land&bbox=&time=/&outputformat=application/xml&outputschema=http://www.opengis.net/cat/csw/3.0&startposition=1&maxrecords=&recordids= +6e9cba43-5e27-415d-adbd-a92851c2c173,acceptVersions=3.0.0&request=GetCapabilities&service=CSW +7630d230-e142-4a09-accf-f091000b90cd,id=urn:uuid:66ae76b7-54ba-489b-a582-0f0633d96493&request=GetRecordById&service=CSW&version=3.0.0 +7e82446a-b5dc-43fe-9a73-4cc1f2f2f0bf,acceptFormats=text/xml&acceptVersions=3.0.0&request=GetCapabilities&service=CSW +8025978e-1a35-4d70-80c2-e8329e0c7864, +8184ae4f-536d-4978-8b28-ad703be96967,elementSetName=brief&bbox=44.79,-6.17,68.41,17.92,urn:ogc:def:crs:EPSG::4326&request=GetRecords&service=CSW&typeNames=Record&version=3.0.0 +88f63a89-664f-4315-b4f8-04a0b33803a7,maxRecords=15&elementSetName=summary&q=Mauris&bbox=-6.17,44.79,17.92,68.41&request=GetRecords&service=CSW&typeNames=Record&version=3.0.0 +8987f8f0-4d93-4481-968c-a2ccbd6b8be2,id=urn:example:1461546298217&request=GetRecordById&service=CSW&version=3.0.0 +8e5fa0f6-3f29-4d1f-abe2-d9866f3def98,mode=opensearch&service=CSW&version=3.0.0&request=GetRecords&elementsetname=full&typenames=csw:Record&resulttype=results&q=&bbox=-180,-90,180,90&time=/&outputformat=application/atom%2Bxml&startposition=1&maxrecords=&recordids= +9000ec29-5649-474e-b2d6-55c00f8a52c0,acceptVersions=9999.12.31&request=GetCapabilities&service=CSW +91914d35-7bbf-45e6-9b37-5ef484869a4e,elementSetName=summary&bbox=-6.17,44.79,17.92,68.41&request=GetRecords&service=CSW&typeNames=Record&version=3.0.0 +92d4844d-57d5-4cf3-8f47-ba50e369dc04,elementSetName=full&q=atkovxqmf&request=GetRecords&service=CSW&typeNames=Record&version=3.0.0 +9c0e2a4b-b4e6-41c0-b630-c8c99fc89ff3,elementSetName=brief&outputSchema=urn:uuid:6a29d2a8-9651-47a6-9b14-f05d2b5644f0&request=GetRecords&service=CSW&typeNames=Record&version=3.0.0 +9d7ffac8-9798-428d-8e27-3cd12497ee6b,id=urn:uuid:1ef30a8b-876d-4828-9246-c37ab4510bbd&outputSchema=http://www.example.org/ns/alpha&request=GetRecordById&service=CSW&version=3.0.0 +a2f18643-e24e-4fa5-b780-6de4a2dbc814,id=urn:uuid:829babb0-b2f1-49e1-8cd5-7b489fe71a1e&outputFormat=application/atom%2Bxml&request=GetRecordById&service=CSW&version=3.0.0 +abc90c8c-5868-4405-a73e-64c849be3b2a,mode=opensearch&service=CSW&version=3.0.0&request=GetRecords&elementsetname=full&typenames=csw:Record&resulttype=results&q=&bbox=514432,5429689,529130,5451619&time=/&outputformat=application/atom%2Bxml&startposition=1&maxrecords=&recordids= +ad0c0571-09ed-436a-9a4f-a5de744c88fe,maxRecords=2&elementSetName=summary&request=GetRecords&service=CSW&typeNames=csw3:Record&startPosition=3&namespace=xmlns(csw3%3Dhttp://www.opengis.net/cat/csw/3.0)&version=3.0.0 +af502903-f4ee-47ee-b76e-af878d238bcc,service=CSW&version=3.0.0&request=GetRecords&elementsetname=full&typenames=csw:Record&resulttype=results&q=&bbox=-180,-90,180,90&time=/&outputformat=application/xml&outputschema=http://www.opengis.net/cat/csw/3.0&startposition=1&maxrecords=&recordids= +b2aafc3f-4f35-47bc-affd-08590972deae,mode=opensearch&service=CSW&version=3.0.0&request=GetRecords&elementsetname=full&typenames=csw:Record&resulttype=results&q=&bbox=-6.17,44.79,17.92,68.41&time=/&outputformat=application/atom%2Bxml&startposition=1&maxrecords=&recordids= +b6069623-f7d8-4021-8582-98f0aea0f763,mode=opensearch&service=CSW&version=3.0.0&request=GetRecords&elementsetname=full&typenames=csw:Record&resulttype=results&q=&bbox=&time=/&outputformat=application/atom%2Bxml&startposition=3&maxrecords=4&recordids= +b9a07a54-75a8-45bd-b341-2823600211e3,elementSetName=brief&bbox=472944,5363287,492722,5455253,urn:ogc:def:crs:EPSG::0000&request=GetRecords&service=CSW&typeNames=Record&version=3.0.0 +baa4a7d0-0c01-42b6-adc3-0d03e9949fa3,acceptVersions=3.0.0&request=getCapabilities&service=CSW +bfbe6409-f64a-4c89-acb3-50f260a5c743,elementSetName=summary&q=Fusc%C3%A9%20Land&request=GetRecords&service=CSW&typeNames=Record&version=3.0.0 +bfe20134-d1da-42ef-9c0f-8e1307bbf92b,service=CSW&version=3.0.0&request=GetRecords&elementsetname=full&typenames=csw:Record&resulttype=results&q=&bbox=&time=/&outputformat=application/xml&outputschema=http://www.opengis.net/cat/csw/3.0&startposition=3&maxrecords=4&recordids= +c03d173a-3f42-4956-89c8-1fe02c3a0873,SERVICE=CSW&Request=GetCapabilities&acceptversions=3.0.0 +cb43d8c3-e14c-4a9f-9231-4384b7dd21f3,elementName=undefined&request=GetRecords&service=CSW&typeNames=Record&version=3.0.0 +d03c6fd3-e821-4a26-b62f-d20a474e25af,acceptVersions=3.0.0§ions=ServiceProvider&request=GetCapabilities&service=CSW +d4ccbf96-a529-480e-a53d-5b88dc1dea7f,service=CSW&version=3.0.0&request=GetRecords&elementsetname=full&typenames=csw:Record&resulttype=results&q=&bbox=&time=/&outputformat=application/xml&outputschema=http://www.opengis.net/cat/csw/3.0&startposition=1&maxrecords=&recordids=uid-bc5017e6-5cc8-4b03-aee7-d88f88caba0a +d94c801a-1207-4897-b84a-53f3a192515b,service=CSW&version=3.0.0&request=GetRecords&elementsetname=full&typenames=csw:Record&resulttype=results&q=lpppclq&bbox=&time=/&outputformat=application/xml&outputschema=http://www.opengis.net/cat/csw/3.0&startposition=1&maxrecords=&recordids= +da859e34-91fc-495a-8c09-285a40c0900b,id=urn:uuid:94bc9c83-97f6-4b40-9eb8-a8e8787a5c63&elementSetName=full&request=GetRecordById&service=CSW&version=3.0.0 +dc246fb8-5af5-4fda-82bb-c18b3ecd439c,mode=opensearch&service=CSW&version=3.0.0&request=GetRecords&elementsetname=full&typenames=csw:Record&resulttype=results&q=ipsum&bbox=&time=/&outputformat=application/atom%2Bxml&startposition=1&maxrecords=&recordids= +de016645-6d5c-4855-943c-2db07ae9f49a,mode=opensearch&service=CSW&version=3.0.0&request=GetRecords&elementsetname=full&typenames=csw:Record&resulttype=results&q=&bbox=&time=/&outputformat=application/atom%2Bxml&startposition=1&maxrecords=&recordids=urn%3Auuid%3A94bc9c83-97f6-4b40-9eb8-a8e8787a5c63 +dff3ec6b-bb2d-4887-bd17-8fcf15def042,elementSetName=summary&request=GetRecords&service=CSW&typeNames=Record&version=3.0.0 +e38e6bfb-8ac4-4ae4-8b87-0aafbc8d3c6b,id=urn:uuid:1ef30a8b-876d-4828-9246-c37ab4510bbd&elementSetName=brief&request=GetRecordById&service=CSW&version=3.0.0 +e67ca935-d65d-4d8c-8302-1405333dded0, +e7704509-3441-458f-8ef0-e333c6b6043f,elementName=ns1:subject&elementSetName=brief&request=GetRecords&service=CSW&typeNames=Record&namespace=xmlns(ns1%3Dhttp://purl.org/dc/elements/1.1/)&version=3.0.0 +f1223a49-6d08-44ff-97fe-4c32cbbfad82,elementSetName=summary&maxRecords=0&q=titles&request=GetRecords&service=CSW&typeNames=Record&version=3.0.0 +f89dd4e1-3a81-4433-afd2-a3fa1bdb1e18,elementSetName=full&outputFormat=text/example&request=GetRecords&service=CSW&typeNames=Record&version=3.0.0 diff --git a/tests/suites/default/get/requests.txt b/tests/suites/default/get/requests.txt index ee368671b..299790a0f 100644 --- a/tests/suites/default/get/requests.txt +++ b/tests/suites/default/get/requests.txt @@ -1,20 +1,20 @@ -GetCapabilities,PYCSW_SERVER?config=tests/suites/default/default.cfg&service=CSW&version=2.0.2&request=GetCapabilities -GetCapabilities-invalid-request,PYCSW_SERVER?config=tests/suites/default/default.cfg&service=CSW&version=2.0.2&request=GetCapabilitiese -GetRecords-all,PYCSW_SERVER?config=tests/suites/default/default.cfg&service=CSW&version=2.0.2&request=GetRecords&typenames=csw:Record&elementsetname=full -GetRecords-sortby-asc,PYCSW_SERVER?config=tests/suites/default/default.cfg&service=CSW&version=2.0.2&request=GetRecords&typenames=csw:Record&elementsetname=full&resulttype=results&sortby=dc:title:A -GetRecords-sortby-desc,PYCSW_SERVER?config=tests/suites/default/default.cfg&service=CSW&version=2.0.2&request=GetRecords&typenames=csw:Record&elementsetname=full&resulttype=results&sortby=dc:title:D -GetRecords-sortby-invalid-propertyname,PYCSW_SERVER?config=tests/suites/default/default.cfg&service=CSW&version=2.0.2&request=GetRecords&typenames=csw:Record&elementsetname=full&resulttype=results&sortby=dc:titlei:A -GetRecords-sortby-invalid-order,PYCSW_SERVER?config=tests/suites/default/default.cfg&service=CSW&version=2.0.2&request=GetRecords&typenames=csw:Record&elementsetname=full&resulttype=results&sortby=dc:title:FOO -GetRecords-filter,PYCSW_SERVER?config=tests/suites/default/default.cfg&service=CSW&version=2.0.2&request=GetRecords&typenames=csw:Record&elementsetname=full&resulttype=results&constraintlanguage=FILTER&constraint=%3Cogc%3AFilter%20xmlns%3Aogc%3D%22http%3A%2F%2Fwww.opengis.net%2Fogc%22%3E%3Cogc%3APropertyIsEqualTo%3E%3Cogc%3APropertyName%3Edc%3Atitle%3C%2Fogc%3APropertyName%3E%3Cogc%3ALiteral%3ELorem%20ipsum%3C%2Fogc%3ALiteral%3E%3C%2Fogc%3APropertyIsEqualTo%3E%3C%2Fogc%3AFilter%3E -GetRecords-filter-cql-title,PYCSW_SERVER?config=tests/suites/default/default.cfg&service=CSW&version=2.0.2&request=GetRecords&typenames=csw:Record&elementsetname=full&resulttype=results&constraintlanguage=CQL_TEXT&constraint=dc%3Atitle%20like%20%27%25lor%25%27 -GetRecords-filter-cql-title-with-spaces,PYCSW_SERVER?config=tests/suites/default/default.cfg&service=CSW&version=2.0.2&request=GetRecords&typenames=csw:Record&elementsetname=full&resulttype=results&constraintlanguage=CQL_TEXT&constraint=dc%3Atitle%20like%20%27%25Lorem%20ipsum%25%27 -GetRecords-filter-cql-title-or-abstract,PYCSW_SERVER?config=tests/suites/default/default.cfg&service=CSW&version=2.0.2&request=GetRecords&typenames=csw:Record&elementsetname=full&resulttype=results&constraintlanguage=CQL_TEXT&constraint=dc%3Atitle%20like%20%27%25lor%25%27%20or%20dct%3Aabstract%20like%20%27%25pharetra%25%27 -GetRecords-filter-cql-title-with-spaces-or-abstract,PYCSW_SERVER?config=tests/suites/default/default.cfg&service=CSW&version=2.0.2&request=GetRecords&typenames=csw:Record&elementsetname=full&resulttype=results&constraintlanguage=CQL_TEXT&constraint=dc%3Atitle%20like%20%27%25dolor%20sit%25%27%20or%20dct%3Aabstract%20like%20%27%25pharetra%25%27 -GetRecords-filter-cql-title-or-abstract-with-spaces,PYCSW_SERVER?config=tests/suites/default/default.cfg&service=CSW&version=2.0.2&request=GetRecords&typenames=csw:Record&elementsetname=full&resulttype=results&constraintlanguage=CQL_TEXT&constraint=dc%3Atitle%20like%20%27%25lor%25%27%20or%20dct%3Aabstract%20like%20%27%25pharetra%20in%25%27 -GetRecords-filter-cql-title-with-spaces-or-abstract-with-spaces,PYCSW_SERVER?config=tests/suites/default/default.cfg&service=CSW&version=2.0.2&request=GetRecords&typenames=csw:Record&elementsetname=full&resulttype=results&constraintlanguage=CQL_TEXT&constraint=dc%3Atitle%20like%20%27%25dolor%20sit%25%27%20or%20dct%3Aabstract%20like%20%27%25pharetra%20in%25%27 -GetRecords-empty-maxrecords,PYCSW_SERVER?config=tests/suites/default/default.cfg&service=CSW&version=2.0.2&request=GetRecords&typenames=csw:Record&elementsetname=full&maxrecords= -GetRepositoryItem,PYCSW_SERVER?config=tests/suites/default/default.cfg&service=CSW&version=2.0.2&request=GetRepositoryItem&id=urn:uuid:94bc9c83-97f6-4b40-9eb8-a8e8787a5c63 -Exception-GetRepositoryItem-notfound,PYCSW_SERVER?config=tests/suites/default/default.cfg&service=CSW&version=2.0.2&request=GetRepositoryItem&id=NOTFOUND -Exception-GetRepositoryItem-service-invalid1,PYCSW_SERVER?config=tests/suites/default/default.cfg&service=CSW%00&version=2.0.2&request=GetRepositoryItem&id=123 -Exception-GetRepositoryItem-service-invalid2,PYCSW_SERVER?config=tests/suites/default/default.cfg&service=CSW%00'&version=2.0.2&request=GetRepositoryItem&id=123 -Exception-GetRepositoryItem-version-invalid,PYCSW_SERVER?config=tests/suites/default/default.cfg&service=CSW&version=2.0.2'&request=GetRepositoryItem&id=123 +GetCapabilities,service=CSW&version=2.0.2&request=GetCapabilities +GetCapabilities-invalid-request,service=CSW&version=2.0.2&request=GetCapabilitiese +GetRecords-all,service=CSW&version=2.0.2&request=GetRecords&typenames=csw:Record&elementsetname=full +GetRecords-sortby-asc,service=CSW&version=2.0.2&request=GetRecords&typenames=csw:Record&elementsetname=full&resulttype=results&sortby=dc:title:A +GetRecords-sortby-desc,service=CSW&version=2.0.2&request=GetRecords&typenames=csw:Record&elementsetname=full&resulttype=results&sortby=dc:title:D +GetRecords-sortby-invalid-propertyname,service=CSW&version=2.0.2&request=GetRecords&typenames=csw:Record&elementsetname=full&resulttype=results&sortby=dc:titlei:A +GetRecords-sortby-invalid-order,service=CSW&version=2.0.2&request=GetRecords&typenames=csw:Record&elementsetname=full&resulttype=results&sortby=dc:title:FOO +GetRecords-filter,service=CSW&version=2.0.2&request=GetRecords&typenames=csw:Record&elementsetname=full&resulttype=results&constraintlanguage=FILTER&constraint=%3Cogc%3AFilter%20xmlns%3Aogc%3D%22http%3A%2F%2Fwww.opengis.net%2Fogc%22%3E%3Cogc%3APropertyIsEqualTo%3E%3Cogc%3APropertyName%3Edc%3Atitle%3C%2Fogc%3APropertyName%3E%3Cogc%3ALiteral%3ELorem%20ipsum%3C%2Fogc%3ALiteral%3E%3C%2Fogc%3APropertyIsEqualTo%3E%3C%2Fogc%3AFilter%3E +GetRecords-filter-cql-title,service=CSW&version=2.0.2&request=GetRecords&typenames=csw:Record&elementsetname=full&resulttype=results&constraintlanguage=CQL_TEXT&constraint=dc%3Atitle%20like%20%27%25lor%25%27 +GetRecords-filter-cql-title-with-spaces,service=CSW&version=2.0.2&request=GetRecords&typenames=csw:Record&elementsetname=full&resulttype=results&constraintlanguage=CQL_TEXT&constraint=dc%3Atitle%20like%20%27%25Lorem%20ipsum%25%27 +GetRecords-filter-cql-title-or-abstract,service=CSW&version=2.0.2&request=GetRecords&typenames=csw:Record&elementsetname=full&resulttype=results&constraintlanguage=CQL_TEXT&constraint=dc%3Atitle%20like%20%27%25lor%25%27%20or%20dct%3Aabstract%20like%20%27%25pharetra%25%27 +GetRecords-filter-cql-title-with-spaces-or-abstract,service=CSW&version=2.0.2&request=GetRecords&typenames=csw:Record&elementsetname=full&resulttype=results&constraintlanguage=CQL_TEXT&constraint=dc%3Atitle%20like%20%27%25dolor%20sit%25%27%20or%20dct%3Aabstract%20like%20%27%25pharetra%25%27 +GetRecords-filter-cql-title-or-abstract-with-spaces,service=CSW&version=2.0.2&request=GetRecords&typenames=csw:Record&elementsetname=full&resulttype=results&constraintlanguage=CQL_TEXT&constraint=dc%3Atitle%20like%20%27%25lor%25%27%20or%20dct%3Aabstract%20like%20%27%25pharetra%20in%25%27 +GetRecords-filter-cql-title-with-spaces-or-abstract-with-spaces,service=CSW&version=2.0.2&request=GetRecords&typenames=csw:Record&elementsetname=full&resulttype=results&constraintlanguage=CQL_TEXT&constraint=dc%3Atitle%20like%20%27%25dolor%20sit%25%27%20or%20dct%3Aabstract%20like%20%27%25pharetra%20in%25%27 +GetRecords-empty-maxrecords,service=CSW&version=2.0.2&request=GetRecords&typenames=csw:Record&elementsetname=full&maxrecords= +GetRepositoryItem,service=CSW&version=2.0.2&request=GetRepositoryItem&id=urn:uuid:94bc9c83-97f6-4b40-9eb8-a8e8787a5c63 +Exception-GetRepositoryItem-notfound,service=CSW&version=2.0.2&request=GetRepositoryItem&id=NOTFOUND +Exception-GetRepositoryItem-service-invalid1,service=CSW%00&version=2.0.2&request=GetRepositoryItem&id=123 +Exception-GetRepositoryItem-service-invalid2,service=CSW%00'&version=2.0.2&request=GetRepositoryItem&id=123 +Exception-GetRepositoryItem-version-invalid,service=CSW&version=2.0.2'&request=GetRepositoryItem&id=123 diff --git a/tests/suites/harvesting/get/requests.txt b/tests/suites/harvesting/get/requests.txt index 9033d798f..3b13c3b11 100644 --- a/tests/suites/harvesting/get/requests.txt +++ b/tests/suites/harvesting/get/requests.txt @@ -1,5 +1,5 @@ -Exception-Harvest-missing-resourcetype,PYCSW_SERVER?config=tests/suites/manager/default.cfg&service=CSW&version=2.0.2&request=Harvest -Exception-Harvest-missing-source,PYCSW_SERVER?config=tests/suites/manager/default.cfg&service=CSW&version=2.0.2&request=Harvest&resourcetype=http://www.opengis.net/wms -Exception-Harvest-invalid-resourcetype,PYCSW_SERVER?config=tests/suites/manager/default.cfg&service=CSW&version=2.0.2&request=Harvest&resourcetype=http://www.opengis.net/wms1234&source=http://demo.pycsw.org/cite/csw -Exception-Harvest-waf-no-records-found,PYCSW_SERVER?config=tests/suites/manager/default.cfg&service=CSW&version=2.0.2&request=Harvest&resourcetype=urn:geoss:waf&source=http://demo.pycsw.org -Exception-Harvest-waf-bad-value,PYCSW_SERVER?config=tests/suites/manager/default.cfg&service=CSW&version=2.0.2&request=Harvest&resourcetype=urn:geoss:waf&source=badvalue +Exception-Harvest-missing-resourcetype,service=CSW&version=2.0.2&request=Harvest +Exception-Harvest-missing-source,service=CSW&version=2.0.2&request=Harvest&resourcetype=http://www.opengis.net/wms +Exception-Harvest-invalid-resourcetype,service=CSW&version=2.0.2&request=Harvest&resourcetype=http://www.opengis.net/wms1234&source=http://demo.pycsw.org/cite/csw +Exception-Harvest-waf-no-records-found,service=CSW&version=2.0.2&request=Harvest&resourcetype=urn:geoss:waf&source=http://demo.pycsw.org +Exception-Harvest-waf-bad-value,service=CSW&version=2.0.2&request=Harvest&resourcetype=urn:geoss:waf&source=badvalue diff --git a/tests/suites/oaipmh/get/requests.txt b/tests/suites/oaipmh/get/requests.txt index e9f859c16..bf6955232 100644 --- a/tests/suites/oaipmh/get/requests.txt +++ b/tests/suites/oaipmh/get/requests.txt @@ -1,20 +1,20 @@ -empty,PYCSW_SERVER?config=tests/suites/oaipmh/default.cfg&mode=oaipmh -empty_with_amp,PYCSW_SERVER?config=tests/suites/oaipmh/default.cfg&mode=oaipmh& -bad_verb,PYCSW_SERVER?config=tests/suites/oaipmh/default.cfg&mode=oaipmh&verb=foo -illegal_verb,PYCSW_SERVER?config=tests/suites/oaipmh/default.cfg&mode=oaipmh&verb=foo&foo=bar -Identify,PYCSW_SERVER?config=tests/suites/oaipmh/default.cfg&mode=oaipmh&verb=Identify -ListSets,PYCSW_SERVER?config=tests/suites/oaipmh/default.cfg&mode=oaipmh&verb=ListSets -ListMetadataFormats,PYCSW_SERVER?config=tests/suites/oaipmh/default.cfg&mode=oaipmh&verb=ListMetadataFormats -GetRecord_dc,PYCSW_SERVER?config=tests/suites/oaipmh/default.cfg&mode=oaipmh&verb=GetRecord&identifier=urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f&metadataPrefix=csw-record -GetRecord_bad_metadata_prefix,PYCSW_SERVER?config=tests/suites/oaipmh/default.cfg&mode=oaipmh&verb=GetRecord&identifier=urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f&metadataPrefix=csw-recordd -GetRecord_oai_dc,PYCSW_SERVER?config=tests/suites/oaipmh/default.cfg&mode=oaipmh&verb=GetRecord&identifier=urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f&metadataPrefix=oai_dc -GetRecord_iso,PYCSW_SERVER?config=tests/suites/oaipmh/default.cfg&mode=oaipmh&verb=GetRecord&identifier=urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f&metadataPrefix=iso19139 -ListIdentifiers_missing_metadata_prefix,PYCSW_SERVER?config=tests/suites/oaipmh/default.cfg&mode=oaipmh&verb=ListIdentifiers -ListIdentifiers_dc,PYCSW_SERVER?config=tests/suites/oaipmh/default.cfg&mode=oaipmh&verb=ListIdentifiers&metadataPrefix=csw-record -ListIdentifiers_iso,PYCSW_SERVER?config=tests/suites/oaipmh/default.cfg&mode=oaipmh&verb=ListIdentifiers&metadataPrefix=iso19139 -ListIdentifiers_oai_dc,PYCSW_SERVER?config=tests/suites/oaipmh/default.cfg&mode=oaipmh&verb=ListIdentifiers&metadataPrefix=oai_dc -ListIdentifiers_bad_metadata_prefix,PYCSW_SERVER?config=tests/suites/oaipmh/default.cfg&mode=oaipmh&verb=ListIdentifiers&metadataPrefix=foo -ListRecords_dc,PYCSW_SERVER?config=tests/suites/oaipmh/default.cfg&mode=oaipmh&verb=ListRecords&metadataPrefix=csw-record -ListRecords_dc_bad_metadata_prefix,PYCSW_SERVER?config=tests/suites/oaipmh/default.cfg&mode=oaipmh&verb=ListRecords&metadataPrefix=csw-recording -ListRecords_oai_dc,PYCSW_SERVER?config=tests/suites/oaipmh/default.cfg&mode=oaipmh&verb=ListRecords&metadataPrefix=oai_dc -ListRecords_iso19139,PYCSW_SERVER?config=tests/suites/oaipmh/default.cfg&mode=oaipmh&verb=ListRecords&metadataPrefix=iso19139 +empty,mode=oaipmh +empty_with_amp,mode=oaipmh& +bad_verb,mode=oaipmh&verb=foo +illegal_verb,mode=oaipmh&verb=foo&foo=bar +Identify,mode=oaipmh&verb=Identify +ListSets,mode=oaipmh&verb=ListSets +ListMetadataFormats,mode=oaipmh&verb=ListMetadataFormats +GetRecord_dc,mode=oaipmh&verb=GetRecord&identifier=urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f&metadataPrefix=csw-record +GetRecord_bad_metadata_prefix,mode=oaipmh&verb=GetRecord&identifier=urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f&metadataPrefix=csw-recordd +GetRecord_oai_dc,mode=oaipmh&verb=GetRecord&identifier=urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f&metadataPrefix=oai_dc +GetRecord_iso,mode=oaipmh&verb=GetRecord&identifier=urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f&metadataPrefix=iso19139 +ListIdentifiers_missing_metadata_prefix,mode=oaipmh&verb=ListIdentifiers +ListIdentifiers_dc,mode=oaipmh&verb=ListIdentifiers&metadataPrefix=csw-record +ListIdentifiers_iso,mode=oaipmh&verb=ListIdentifiers&metadataPrefix=iso19139 +ListIdentifiers_oai_dc,mode=oaipmh&verb=ListIdentifiers&metadataPrefix=oai_dc +ListIdentifiers_bad_metadata_prefix,mode=oaipmh&verb=ListIdentifiers&metadataPrefix=foo +ListRecords_dc,mode=oaipmh&verb=ListRecords&metadataPrefix=csw-record +ListRecords_dc_bad_metadata_prefix,mode=oaipmh&verb=ListRecords&metadataPrefix=csw-recording +ListRecords_oai_dc,mode=oaipmh&verb=ListRecords&metadataPrefix=oai_dc +ListRecords_iso19139,mode=oaipmh&verb=ListRecords&metadataPrefix=iso19139 diff --git a/tests/suites/sru/get/requests.txt b/tests/suites/sru/get/requests.txt index 24170ae2d..3db4b8cd0 100644 --- a/tests/suites/sru/get/requests.txt +++ b/tests/suites/sru/get/requests.txt @@ -1,5 +1,5 @@ -explain,PYCSW_SERVER?config=tests/suites/sru/default.cfg&mode=sru -search,PYCSW_SERVER?config=tests/suites/sru/default.cfg&mode=sru&version=1.1&operation=searchRetrieve&query=lor -search_maxrecords,PYCSW_SERVER?config=tests/suites/sru/default.cfg&mode=sru&operation=searchRetrieve&query=lor&maximumRecords=2 -search_startrecord_maxrecords,PYCSW_SERVER?config=tests/suites/sru/default.cfg&mode=sru&operation=searchRetrieve&query=lor&maximumRecords=2&startRecord=1 -search_cql,PYCSW_SERVER?config=tests/suites/sru/default.cfg&mode=sru&operation=searchRetrieve&query=dc:title%20like%20'%lor%'&maximumRecords=5 +explain,mode=sru +search,mode=sru&version=1.1&operation=searchRetrieve&query=lor +search_maxrecords,mode=sru&operation=searchRetrieve&query=lor&maximumRecords=2 +search_startrecord_maxrecords,mode=sru&operation=searchRetrieve&query=lor&maximumRecords=2&startRecord=1 +search_cql,mode=sru&operation=searchRetrieve&query=dc:title%20like%20'%lor%'&maximumRecords=5 From d3e8c73cd283807145693e2bfaae23b401da8758 Mon Sep 17 00:00:00 2001 From: Ricardo Silva Date: Tue, 31 May 2016 01:11:19 +0100 Subject: [PATCH 017/119] Adding back test logic --- tests/conftest.py | 39 +++++--------- tests/test_suites.py | 118 ++++++++++++++++++++----------------------- 2 files changed, 66 insertions(+), 91 deletions(-) diff --git a/tests/conftest.py b/tests/conftest.py index 52730e275..895e5939f 100644 --- a/tests/conftest.py +++ b/tests/conftest.py @@ -112,27 +112,6 @@ def pytest_generate_tests(metafunc): break -@pytest.fixture(scope="session") -def suite_info(request): - suite_name = request.param - test_data = [] - test_names = [] - expected_dir = os.path.join(TESTS_ROOT, "expected") - suite_dir = os.path.join(TESTS_ROOT, "suites", suite_name) - configuration_path = os.path.join(suite_dir, "default.cfg") - post_requests_dir = os.path.join(suite_dir, "post") - for item in glob.iglob(os.path.join(post_requests_dir, "*")): - test_id = os.path.splitext(os.path.basename(item))[0] - expected = os.path.join( - expected_dir, - "suites_{0}_post_{1}.xml".format(suite_name, test_id) - ) - if os.path.isfile(item) and os.path.isfile(expected): - test_data.append((item, expected, configuration_path)) - test_names.append("{0}_{1}".format(suite_name, test_id)) - return configuration_path, test_data, test_names - - @pytest.fixture(scope="session") def server_apiso_suite(request, tmpdir_factory): return _get_server_with_config(request, "apiso", @@ -199,28 +178,34 @@ def server_harvesting_suite(request, tmpdir_factory): tmpdir_factory, 8020) +@pytest.fixture(scope="session") +def server_manager_suite(request, tmpdir_factory): + return _get_server_with_config(request, "manager", + tmpdir_factory, 8021) + + @pytest.fixture(scope="session") def server_oaipmh_suite(request, tmpdir_factory): return _get_server_with_config(request, "oaipmh", - tmpdir_factory, 8021) + tmpdir_factory, 8022) @pytest.fixture(scope="session") def server_repofilter_suite(request, tmpdir_factory): return _get_server_with_config(request, "repofilter", - tmpdir_factory, 8022) + tmpdir_factory, 8023) @pytest.fixture(scope="session") def server_sru_suite(request, tmpdir_factory): return _get_server_with_config(request, "sru", - tmpdir_factory, 8023) + tmpdir_factory, 8024) @pytest.fixture(scope="session") def server_utf_8_suite(request, tmpdir_factory): return _get_server_with_config(request, "utf-8", - tmpdir_factory, 8024) + tmpdir_factory, 8025) def _configure_functional_post_tests(expected_dir, suite_name): @@ -254,9 +239,9 @@ def _configure_functional_get_tests(expected_dir, suite_name): "suites_{0}_get_{1}.xml".format(suite_name, test_name) ) if os.path.isfile(expected): - test_data.append((test_params, expected)) + test_data.append((test_params.strip(), expected)) test_names.append("{0}_{1}".format(suite_name, test_name)) - except IOError: + except FileNotFoundError: pass # this suite does not have GET tests return test_data, test_names diff --git a/tests/test_suites.py b/tests/test_suites.py index 48a374059..536993d75 100644 --- a/tests/test_suites.py +++ b/tests/test_suites.py @@ -35,14 +35,14 @@ """ -import codecs from io import BytesIO import json from lxml import etree from lxml import objectify -import os -import pytest import re +from urllib.parse import parse_qs + +import pytest import requests ENCODING = "utf-8" @@ -54,159 +54,141 @@ class TestApisoSuite(object): def test_post_requests(self, server_apiso_suite, test_request, expected_result): - pass - - def test_get_requests(self, server_apiso_suite, test_request_parameters, - expected_result): - pass + _test_post_request(server_apiso_suite, test_request, expected_result) class TestApisoInspireSuite(object): - def test_post_requests(self, server_apiso_inspire_suite, test_request, - expected_result): - pass - def test_get_requests(self, server_apiso_inspire_suite, test_request_parameters, expected_result): - pass + print("test_request_parameters: {}".format(test_request_parameters)) + _test_get_request(server_apiso_inspire_suite, test_request_parameters, + expected_result) class TestAtomSuite(object): def test_post_requests(self, server_atom_suite, test_request, expected_result): - pass + _test_post_request(server_atom_suite, test_request, expected_result) def test_get_requests(self, server_atom_suite, test_request_parameters, expected_result): - pass + _test_get_request(server_atom_suite, test_request_parameters, + expected_result) class TestCiteSuite(object): def test_post_requests(self, server_cite_suite, test_request, expected_result): - pass + _test_post_request(server_cite_suite, test_request, expected_result) def test_get_requests(self, server_cite_suite, test_request_parameters, expected_result): - pass + _test_get_request(server_cite_suite, test_request_parameters, + expected_result) class TestCsw30Suite(object): def test_post_requests(self, server_csw30_suite, test_request, expected_result): - pass + _test_post_request(server_csw30_suite, test_request, expected_result) def test_get_requests(self, server_csw30_suite, test_request_parameters, expected_result): - pass + _test_get_request(server_csw30_suite, test_request_parameters, + expected_result) class TestDefaultSuite(object): def test_post_requests(self, server_default_suite, test_request, expected_result): - pass + _test_post_request(server_default_suite, test_request, expected_result) def test_get_requests(self, server_default_suite, test_request_parameters, expected_result): - pass + _test_get_request(server_default_suite, test_request_parameters, + expected_result) class TestDifSuite(object): def test_post_requests(self, server_dif_suite, test_request, expected_result): - pass - - def test_get_requests(self, server_dif_suite, test_request_parameters, - expected_result): - pass + _test_post_request(server_dif_suite, test_request, expected_result) class TestEbrimSuite(object): def test_post_requests(self, server_ebrim_suite, test_request, expected_result): - pass - - def test_get_requests(self, server_ebrim_suite, test_request_parameters, - expected_result): - pass + _test_post_request(server_ebrim_suite, test_request, expected_result) class TestFgdcSuite(object): def test_post_requests(self, server_fgdc_suite, test_request, expected_result): - pass + _test_post_request(server_fgdc_suite, test_request, expected_result) - def test_get_requests(self, server_fgdc_suite, test_request_parameters, - expected_result): - pass class TestGm03Suite(object): def test_post_requests(self, server_gm03_suite, test_request, expected_result): - pass + _test_post_request(server_gm03_suite, test_request, expected_result) - def test_get_requests(self, server_gm03_suite, test_request_parameters, - expected_result): - pass class TestHarvestingSuite(object): def test_post_requests(self, server_harvesting_suite, test_request, expected_result): - pass + _test_post_request(server_harvesting_suite, test_request, + expected_result) def test_get_requests(self, server_harvesting_suite, test_request_parameters, expected_result): - pass + _test_get_request(server_harvesting_suite, test_request_parameters, + expected_result) -class TestOaipmhSuite(object): - def test_post_requests(self, server_oaipmh_suite, test_request, +class TestManagerSuite(object): + + def test_post_requests(self, server_manager_suite, test_request, expected_result): - pass + _test_post_request(server_manager_suite, test_request, expected_result) + + +class TestOaipmhSuite(object): def test_get_requests(self, server_oaipmh_suite, test_request_parameters, expected_result): - pass + _test_get_request(server_oaipmh_suite, test_request_parameters, + expected_result) class TestRepofilterSuite(object): def test_post_requests(self, server_repofilter_suite, test_request, expected_result): - pass + _test_post_request(server_repofilter_suite, test_request, + expected_result) - def test_get_requests(self, server_repofilter_suite, - test_request_parameters, expected_result): - pass class TestSruSuite(object): - def test_post_requests(self, server_sru_suite, test_request, - expected_result): - pass - def test_get_requests(self, server_sru_suite, test_request_parameters, expected_result): - pass + _test_get_request(server_sru_suite, test_request_parameters, + expected_result) class TestUtf8Suite(object): def test_post_requests(self, server_utf_8_suite, test_request, expected_result): - pass - - def test_get_requests(self, server_utf_8_suite, test_request_parameters, - expected_result): - pass + _test_post_request(server_utf_8_suite, test_request, expected_result) def _test_post_request(pycsw_server_url, test_request, expected_result): @@ -216,8 +198,20 @@ def _test_post_request(pycsw_server_url, test_request, expected_result): expected = expected_fh.read() response = requests.post(pycsw_server_url, data=request_data) - response_data = response.text + _compare_response(response, expected) + +def _test_get_request(pycsw_server_url, parameters, expected_result): + with open(expected_result, encoding=ENCODING) as expected_fh: + expected = expected_fh.read() + payload = parse_qs(parameters) + print("payload: {}".format(payload)) + response = requests.get(pycsw_server_url, params=payload) + _compare_response(response, expected) + + +def _compare_response(response, expected): + response_data = response.text normalized_result = _normalize(response_data, force_id_mask=False) print("expected: {0}".format(expected)) print("response: {0}".format(normalized_result)) @@ -229,10 +223,6 @@ def _test_post_request(pycsw_server_url, test_request, expected_result): assert matches_expected -def _test_get_request(pycsw_server_url, parameters, expected_result): - pass - - def _test_xml_result(result, expected): """Compare the XML test results with an expected value. From 45740e0ae9b6b1e066c609321e421ab7dcabd8a0 Mon Sep 17 00:00:00 2001 From: Ricardo Silva Date: Fri, 10 Jun 2016 16:20:56 +0100 Subject: [PATCH 018/119] adding database stuff to test configuration --- tests/conftest.py | 62 ++++++++++++++++++++++++++++------------------- 1 file changed, 37 insertions(+), 25 deletions(-) diff --git a/tests/conftest.py b/tests/conftest.py index 895e5939f..795fe981a 100644 --- a/tests/conftest.py +++ b/tests/conftest.py @@ -15,25 +15,32 @@ TESTS_ROOT = os.path.dirname(os.path.abspath(__file__)) -# This list holds the names of the suites that are available for functional -# testing -FUNCTIONAL_SUITES = [ - "apiso", - "apiso-inspire", - "atom", - "cite", - "csw30", - "default", - "dif", - "ebrim", - "fgdc", - "gm03", - "harvesting", - "oaipmh", - "repofilter", - "sru", - "utf-8", -] +# This dict holds the names of the suites that are available for functional +# testing and also if they use a custom database or not. If a suite has a +# custom database, then a new db is created and possibly loaded with the suite's +# test data (if there is any test data). If a suite does not use a custom db, +# then it means that its tests it will have a database loaded with records +# from the CITE suite +# If you omit the "has_own_db" key from a suite's dict, it is assumed that +# the value is False +FUNCTIONAL_SUITES = { + "apiso": {"has_own_db": True}, + "apiso-inspire": {}, + "atom": {}, + "cite": {"has_own_db": True}, + "csw30": {}, + "default": {}, + "dif": {}, + "ebrim": {}, + "fgdc": {}, + "gm03": {}, + "harvesting": {"has_own_db": True}, + "manager": {"has_own_db": True}, + "oaipmh": {}, + "repofilter": {}, + "sru": {}, + "utf-8": {}, +} def pytest_configure(config): @@ -62,7 +69,7 @@ def pytest_addoption(parser): help="Password to use for creating and accessing local postgres " "databases used for functional tests." ) - for suite_name in FUNCTIONAL_SUITES: + for suite_name in FUNCTIONAL_SUITES.keys(): parser.addoption( "--server-url-{0}-suite".format(suite_name), help="URL to perform functional tests for the {0!r} suite. If not " @@ -82,7 +89,7 @@ def pytest_generate_tests(metafunc): """ expected_dir = os.path.join(TESTS_ROOT, "expected") - for suite_name in FUNCTIONAL_SUITES: + for suite_name in FUNCTIONAL_SUITES.keys(): safe_suite_name = _get_suite_safe_name(suite_name) fixture_name = "server_{0}_suite".format(safe_suite_name) uses_fixture = fixture_name in metafunc.fixturenames @@ -284,11 +291,11 @@ def _get_server_with_config(request, suite_name, tmpdir_factory, port_number): suite_name, "default.cfg") config = ConfigParser() config.read(original_config_path) - safe_suite_name = _get_suite_safe_name(suite_name) - test_temp_directory = tmpdir_factory.mktemp(safe_suite_name, + #safe_suite_name = _get_suite_safe_name(suite_name) + test_temp_directory = tmpdir_factory.mktemp(suite_name, numbered=True) db_url = _initialize_database( - request, safe_suite_name, test_temp_directory, + request, suite_name, test_temp_directory, config.get("repository", "table"), os.path.join(TESTS_ROOT, "suites", suite_name, "data") ) @@ -319,7 +326,7 @@ def _initialize_database(request, suite_name, test_dir, table_name, data_path): Pytest's FixtureRequest object, holding information about the test context suite_name: str - The safe name of the current suite + The name of the current suite test_dir: str Full path to the temporary directory being used in the suite's tests data_path: str @@ -347,6 +354,10 @@ def _initialize_database(request, suite_name, test_dir, table_name, data_path): suite_name)) admin.setup_db(db_url, table_name, test_dir) print("Loading database data...") + if not FUNCTIONAL_SUITES[suite_name].get("has_own_db", False): + print("Loading CITE data into database...") + cite_data_dir = os.path.join(TESTS_ROOT, "suites", "cite", "data") + data_path = cite_data_dir admin.load_records(StaticContext(), db_url, table_name, data_path) return db_url @@ -381,6 +392,7 @@ def _start_local_server(request, config_path, port_number): env = os.environ.copy() env["PYCSW_CONFIG"] = config_path pycsw_process = subprocess.Popen(shlex.split(command), cwd=working_dir, + stdout=subprocess.PIPE, env=env) time.sleep(3) # give the external process some time to start From 825c417ea7dc89d49c4a4e4192d00fa21e239e22 Mon Sep 17 00:00:00 2001 From: Ricardo Garcia Silva Date: Thu, 18 Aug 2016 15:06:25 +0100 Subject: [PATCH 019/119] refactoring tests to use py.test --- docs/testing.rst | 166 ++++++++++++++++++++++++------ tests/conftest.py | 64 +++++++----- tests/test_suites.py | 240 +++++++++++++++++++++++++++++-------------- 3 files changed, 333 insertions(+), 137 deletions(-) diff --git a/docs/testing.rst b/docs/testing.rst index 8729e8aba..40dcdfa49 100644 --- a/docs/testing.rst +++ b/docs/testing.rst @@ -1,63 +1,160 @@ -.. _testing: +.. _tests: Testing ======= +Pycsw uses `pytest`_ for managing its automated tests. There are a number of +test suites that perform mostly functional testing. These tests ensure that +pycsw is compliant with the various supported standards. + +The tests can be run locally as part of the development cycle. They are also +run on pycsw's `Travis`_ continuous integration server against all pushes and +pull requests to the code repository. + .. _ogc-cite: + OGC CITE -------- -Compliance benchmarking is done via the OGC `Compliance & Interoperability Testing & Evaluation Initiative`_. The pycsw `wiki `_ documents testing procedures and status. +In addition to pycsw's own tests, all public releases are also tested via the +OGC `Compliance & Interoperability Testing & Evaluation Initiative`_ (CITE). +The pycsw `wiki`_ documents CITE testing procedures and status. -.. _tests: +.. _pytest: http://pytest.org/latest/ +.. _Travis: http://travis-ci.org/geopython/pycsw +.. _Compliance & Interoperability Testing & Evaluation Initiative: + http://cite.opengeospatial.org/ +.. _wiki: https://github.com/geopython/pycsw/wiki/OGC-CITE-Compliance + + +Test suites +----------- + +Currently most of pycsw's tests are `functional tests`_. This means that +each test case is based on the requirements mandated by the specifications of +the various standards that pycsw implements. These tests focus on making sure +that pycsw works as expected. + +Each test follows the same workflow: + +* Setup a local pycsw instance with a custom configuration and data repository + for each suite of tests; + +* Perform a series of GET and POST requests to the running pycsw instance; + +* Compare the results of each request against a previously prepared expected + result. If the test result matches the expected outcome the test passes, + otherwise it fails. + + +A number of different test suites exist under ``tests/suites``. Each suite +specifies the following structure: + +* A mandatory ``default.cfg`` file with the pycsw configuration that must be + used by the test suite + +* A mandatory ``expected/`` directory containing the expected results for each + request + +* An optional ``data/`` directory that contains ``.xml`` files with testing + data that is to be loaded into the suite's database before running the tests + +* An optional ``get/requests.txt`` file that holds request parameters used for + making HTTP GET requests. + + Each line in the file must be formatted with the following scheme: + + test_id,request_query_string + + For example: + + GetCapabilities,service=CSW&version=2.0.2&request=GetCapabilities + + When tests are run, the *test_id* is used for naming each test and for + finding the expected result. + +* An optional ``post/`` directory that holds ``.xml`` files used for making + HTTP POST requests + + +.. _functional tests: https://en.wikipedia.org/wiki/Functional_testing + + +Running tests locally +--------------------- + +Tests Tester ------ -The pycsw tests framework (in ``tests``) is a collection of testsuites to perform automated regession testing of the codebase. Test are run against all pushes to the GitHub repository via `Travis CI`_. +The pycsw tests framework (in ``tests``) is a collection of testsuites to +perform automated regression testing of the codebase. Test are run against +all pushes to the GitHub repository via Travis CI. Running Locally ^^^^^^^^^^^^^^^ -The tests framework can be run from ``tests`` using `Paver`_ (see ``pavement.py``) tasks for convenience: +The tests framework can be run from ``tests`` using `Paver`_ +(see ``pavement.py``) tasks for convenience: .. code-block:: bash - $ cd /path/to/pycsw - # run all tests (starts up http://localhost:8000) - $ paver test - # run tests only against specific testsuites - $ paver test -s apiso,fgdc - # run all tests, including harvesting (this is turned off by default given the volatility of remote services/data testing) - $ paver test -r - # run all tests with 1000ms time benchmark - $ paver test -t 1000 - -The tests perform HTTP GET and POST requests against ``http://localhost:8000``. The expected output for each test can be found in ``expected``. Results are categorized as ``passed``, ``failed``, or ``initialized``. A summary of results is output at the end of the run. + cd /path/to/pycsw + # run all tests (starts up http://localhost:8000) + paver test + # run tests only against specific testsuites + paver test -s apiso,fgdc + # run all tests, including harvesting (this is turned off by default given + # the volatility of remote services/data testing) + paver test -r + # run all tests with 1000ms time benchmark + paver test -t 1000 + +The tests perform HTTP GET and POST requests against +``http://localhost:8000``. The expected output for each test can be found +in ``expected``. Results are categorized as ``passed``, ``failed``, +or ``initialized``. A summary of results is output at the end of the run. Failed Tests ^^^^^^^^^^^^ -If a given test has failed, the output is saved in ``results``. The resulting failure can be analyzed by running ``diff tests/expected/name_of_test.xml tests/results/name_of_test.xml`` to find variances. The Paver task returns a status code which indicates the number of tests which have failed (i.e. ``echo $?``). +If a given test has failed, the output is saved in ``results``. The +resulting failure can be analyzed by running +``diff tests/expected/name_of_test.xml tests/results/name_of_test.xml`` to +find variances. The Paver task returns a status code which indicates the +number of tests which have failed (i.e. ``echo $?``). Test Suites ^^^^^^^^^^^ -The tests framework is run against a series of 'suites' (in ``tests/suites``), each of which specifies a given configuration to test various functionality of the codebase. Each suite is structured as follows: +The tests framework is run against a series of 'suites' (in ``tests/suites``), +each of which specifies a given configuration to test various functionality +of the codebase. Each suite is structured as follows: * ``tests/suites/suite/default.cfg``: the configuration for the suite -* ``tests/suites/suite/post``: directory of XML documents for HTTP POST requests -* ``tests/suites/suite/get/requests.txt``: directory and text file of KVP for HTTP GET requests -* ``tests/suites/suite/data``: directory of sample XML data required for the test suite. Database and test data are setup/loaded automatically as part of testing +* ``tests/suites/suite/post``: directory of XML documents for HTTP POST + requests +* ``tests/suites/suite/get/requests.txt``: directory and text file of KVP + for HTTP GET requests +* ``tests/suites/suite/data``: directory of sample XML data required for the + test suite. Database and test data are setup/loaded automatically as part + of testing When the tests are invoked, the following operations are run: * pycsw configuration is set to ``tests/suites/suite/default.cfg`` * HTTP POST requests are run against ``tests/suites/suite/post/*.xml`` -* HTTP GET requests are run against each request in ``tests/suites/suite/get/requests.txt`` +* HTTP GET requests are run against each request in + ``tests/suites/suite/get/requests.txt`` -The CSV format of ``tests/suites/suite/get/requests.txt`` is ``testname,request``, with one line for each test. The ``testname`` value is a unique test name (this value sets the name of the output file in the test results). The ``request`` value is the HTTP GET request. The ``PYCSW_SERVER`` token is replaced at runtime with the URL to the pycsw install. +The CSV format of ``tests/suites/suite/get/requests.txt`` is +``testname,request``, with one line for each test. The ``testname`` value +is a unique test name (this value sets the name of the output file in the +test results). The ``request`` value is the HTTP GET request. The +``PYCSW_SERVER`` token is replaced at runtime with the URL to the pycsw +install. Adding New Tests ^^^^^^^^^^^^^^^^ @@ -65,7 +162,8 @@ Adding New Tests To add tests to an existing suite: * for HTTP POST tests, add XML documents to ``tests/suites/suite/post`` -* for HTTP GET tests, add tests (one per line) to ``tests/suites/suite/get/requests.txt`` +* for HTTP GET tests, add tests (one per line) to + ``tests/suites/suite/get/requests.txt`` * run ``paver test`` To add a new test suite: @@ -74,19 +172,27 @@ To add a new test suite: * create a new configuration in ``tests/suites/foo/default.cfg`` * Ensure that all file paths are relative to ``path/to/pycsw`` - * Ensure that ``repository.database`` points to an SQLite3 database called ``tests/suites/foo/data/records.db``. The database *must* be called ``records.db`` and the directory ``tests/suites/foo/data`` *must* exist + * Ensure that ``repository.database`` points to an SQLite3 database + called ``tests/suites/foo/data/records.db``. The database *must* be + called ``records.db`` and the directory ``tests/suites/foo/data`` + *must* exist * populate HTTP POST requests in ``tests/suites/foo/post`` * populate HTTP GET requests in ``tests/suites/foo/get/requests.txt`` -* if the testsuite requires test data, create ``tests/suites/foo/data`` are store XML file there -* run ``paver test`` (or ``paver test -s foo`` to test only the new test suite) +* if the testsuite requires test data, create ``tests/suites/foo/data`` are + store XML file there +* run ``paver test`` (or ``paver test -s foo`` to test only the new test + suite) -The new test suite database will be created automatically and used as part of tests. +The new test suite database will be created automatically and used as part of +tests. Web Testing ^^^^^^^^^^^ -You can also use the pycsw tests via your web browser to perform sample requests against your pycsw install. The tests are is located in ``tests/``. To generate the HTML page: +You can also use the pycsw tests via your web browser to perform sample +requests against your pycsw install. The tests are is located in +``tests/``. To generate the HTML page: .. code-block:: bash @@ -94,6 +200,4 @@ You can also use the pycsw tests via your web browser to perform sample requests Then navigate to ``http://host/path/to/pycsw/tests/index.html``. -.. _`Compliance & Interoperability Testing & Evaluation Initiative`: http://cite.opengeospatial.org/ -.. _`Travis CI`: http://travis-ci.org/geopython/pycsw .. _`Paver`: http://paver.github.io/paver/ diff --git a/tests/conftest.py b/tests/conftest.py index 795fe981a..d3c238f55 100644 --- a/tests/conftest.py +++ b/tests/conftest.py @@ -88,30 +88,33 @@ def pytest_generate_tests(metafunc): """ - expected_dir = os.path.join(TESTS_ROOT, "expected") + test_name_get_matches = ( + metafunc.function.__name__ == "test_get_requests") + test_name_post_matches = ( + metafunc.function.__name__ == "test_post_requests") for suite_name in FUNCTIONAL_SUITES.keys(): safe_suite_name = _get_suite_safe_name(suite_name) fixture_name = "server_{0}_suite".format(safe_suite_name) - uses_fixture = fixture_name in metafunc.fixturenames - test_name_post = "test_post_requests" - test_name_get = "test_get_requests" - test_name_get_matches = metafunc.function.__name__ == test_name_get - test_name_post_matches = metafunc.function.__name__ == test_name_post - if uses_fixture and test_name_post_matches: - test_data, test_names = _configure_functional_post_tests( - expected_dir, safe_suite_name) + if fixture_name in metafunc.fixturenames and test_name_get_matches: + test_data, test_names = _configure_functional_get_tests(suite_name) metafunc.parametrize( - ["test_request", "expected_result"], + [ + "{0}_test_request_parameters".format(safe_suite_name), + "{0}_expected_get_result".format(safe_suite_name) + ], test_data, ids=test_names, scope="session" ) break - elif uses_fixture and test_name_get_matches: - test_data, test_names = _configure_functional_get_tests( - expected_dir, suite_name) + elif fixture_name in metafunc.fixturenames and test_name_post_matches: + test_data, test_names = _configure_functional_post_tests( + suite_name) metafunc.parametrize( - ["test_request_parameters", "expected_result"], + [ + "{0}_test_request".format(safe_suite_name), + "{0}_expected_post_result".format(safe_suite_name) + ], test_data, ids=test_names, scope="session" @@ -215,36 +218,33 @@ def server_utf_8_suite(request, tmpdir_factory): tmpdir_factory, 8025) -def _configure_functional_post_tests(expected_dir, suite_name): +def _configure_functional_post_tests(suite_name): test_data = [] test_names = [] suite_dir = os.path.join(TESTS_ROOT, "suites", suite_name) post_requests_dir = os.path.join(suite_dir, "post") + expected_dir = os.path.join(suite_dir, "expected") for item in glob.iglob(os.path.join(post_requests_dir, "*")): test_id = os.path.splitext(os.path.basename(item))[0] - expected = os.path.join( - expected_dir, - "suites_{0}_post_{1}.xml".format(suite_name, test_id) - ) + expected = os.path.join(expected_dir,"post_{0}.xml".format(test_id)) if os.path.isfile(item) and os.path.isfile(expected): test_data.append((item, expected)) test_names.append("{0}_{1}".format(suite_name, test_id)) return test_data, test_names -def _configure_functional_get_tests(expected_dir, suite_name): +def _configure_functional_get_tests(suite_name): test_data = [] test_names = [] request_file_path = os.path.join(TESTS_ROOT, "suites", suite_name, "get", "requests.txt") + expected_dir = os.path.join(TESTS_ROOT, "suites", suite_name, "expected") try: with open(request_file_path, encoding="utf-8") as fh: for line in fh: test_name, sep, test_params = line.partition(",") - expected = os.path.join( - expected_dir, - "suites_{0}_get_{1}.xml".format(suite_name, test_name) - ) + expected = os.path.join(expected_dir, + "get_{0}.xml".format(test_name)) if os.path.isfile(expected): test_data.append((test_params.strip(), expected)) test_names.append("{0}_{1}".format(suite_name, test_name)) @@ -286,7 +286,8 @@ def _get_server_with_config(request, suite_name, tmpdir_factory, port_number): url = request.config.getoption("--server-url-{0}-suite".format(suite_name)) if url is None: - print("Initializing server for {0!r} suite...".format(suite_name)) + print("Initializing server for {0!r} suite at port " + "{1!r}...".format(suite_name, port_number)) original_config_path = os.path.join(TESTS_ROOT, "suites", suite_name, "default.cfg") config = ConfigParser() @@ -300,6 +301,11 @@ def _get_server_with_config(request, suite_name, tmpdir_factory, port_number): os.path.join(TESTS_ROOT, "suites", suite_name, "data") ) # now we can change the config as needed + #server_url = "http://localhost:{0}".format(port_number) + #config.set("server", "url", server_url) + config.set("server", "loglevel", "DEBUG") + config.set("server", "logfile", os.path.join(test_temp_directory, + "pycsw.log")) config.set("repository", "database", db_url) new_config = test_temp_directory.join("default.cfg") fh = new_config.open("w") @@ -387,18 +393,20 @@ def _start_local_server(request, config_path, port_number): """ - command = "python pycsw/wsgi.py {}".format(port_number) + url = "http://localhost:{0}".format(port_number) + print("Starting a local server at {0}...".format(url)) + command = "python pycsw/wsgi.py {0}".format(port_number) working_dir = os.path.dirname(TESTS_ROOT) env = os.environ.copy() env["PYCSW_CONFIG"] = config_path pycsw_process = subprocess.Popen(shlex.split(command), cwd=working_dir, stdout=subprocess.PIPE, env=env) - time.sleep(3) # give the external process some time to start + time.sleep(2) # give the external process some time to start def finalizer(): pycsw_process.terminate() pycsw_process.wait() request.addfinalizer(finalizer) - return "http://localhost:{}".format(port_number) + return url diff --git a/tests/test_suites.py b/tests/test_suites.py index 536993d75..2b439f33d 100644 --- a/tests/test_suites.py +++ b/tests/test_suites.py @@ -41,6 +41,7 @@ from lxml import objectify import re from urllib.parse import parse_qs +from urllib.parse import unquote import pytest import requests @@ -52,174 +53,257 @@ class TestApisoSuite(object): - def test_post_requests(self, server_apiso_suite, test_request, - expected_result): - _test_post_request(server_apiso_suite, test_request, expected_result) + def test_post_requests(self, + server_apiso_suite, + apiso_test_request, + apiso_expected_post_result): + _test_post_request(server_apiso_suite, + apiso_test_request, + apiso_expected_post_result) class TestApisoInspireSuite(object): - def test_get_requests(self, server_apiso_inspire_suite, - test_request_parameters, expected_result): - print("test_request_parameters: {}".format(test_request_parameters)) - _test_get_request(server_apiso_inspire_suite, test_request_parameters, - expected_result) + def test_get_requests(self, + server_apiso_inspire_suite, + apiso_inspire_test_request_parameters, + apiso_inspire_expected_get_result): + _test_get_request(server_apiso_inspire_suite, + apiso_inspire_test_request_parameters, + apiso_inspire_expected_get_result) class TestAtomSuite(object): - def test_post_requests(self, server_atom_suite, test_request, - expected_result): - _test_post_request(server_atom_suite, test_request, expected_result) + def test_post_requests(self, + server_atom_suite, + atom_test_request, + atom_expected_post_result): + _test_post_request(server_atom_suite, + atom_test_request, + atom_expected_post_result) def test_get_requests(self, server_atom_suite, - test_request_parameters, expected_result): - _test_get_request(server_atom_suite, test_request_parameters, - expected_result) + atom_test_request_parameters, + atom_expected_get_result): + _test_get_request(server_atom_suite, + atom_test_request_parameters, + atom_expected_get_result) class TestCiteSuite(object): - def test_post_requests(self, server_cite_suite, test_request, - expected_result): - _test_post_request(server_cite_suite, test_request, expected_result) + def test_post_requests(self, server_cite_suite, cite_test_request, + cite_expected_post_result): + _test_post_request(server_cite_suite, cite_test_request, + cite_expected_post_result) def test_get_requests(self, server_cite_suite, - test_request_parameters, expected_result): - _test_get_request(server_cite_suite, test_request_parameters, - expected_result) + cite_test_request_parameters, + cite_expected_get_result): + print("locals: {0}".format(locals())) + _test_get_request(server_cite_suite, cite_test_request_parameters, + cite_expected_get_result) class TestCsw30Suite(object): - def test_post_requests(self, server_csw30_suite, test_request, - expected_result): - _test_post_request(server_csw30_suite, test_request, expected_result) + def test_post_requests(self, + server_csw30_suite, + csw30_test_request, + csw30_expected_post_result): + _test_post_request(server_csw30_suite, + csw30_test_request, + csw30_expected_post_result) def test_get_requests(self, server_csw30_suite, - test_request_parameters, expected_result): - _test_get_request(server_csw30_suite, test_request_parameters, - expected_result) + csw30_test_request_parameters, + csw30_expected_get_result): + _test_get_request(server_csw30_suite, + csw30_test_request_parameters, + csw30_expected_get_result) class TestDefaultSuite(object): - def test_post_requests(self, server_default_suite, test_request, - expected_result): - _test_post_request(server_default_suite, test_request, expected_result) + def test_post_requests(self, + server_default_suite, + default_test_request, + default_expected_post_result): + _test_post_request(server_default_suite, + default_test_request, + default_expected_post_result) - def test_get_requests(self, server_default_suite, test_request_parameters, - expected_result): - _test_get_request(server_default_suite, test_request_parameters, - expected_result) + def test_get_requests(self, + server_default_suite, + default_test_request_parameters, + default_expected_get_result): + _test_get_request(server_default_suite, + default_test_request_parameters, + default_expected_get_result) class TestDifSuite(object): - def test_post_requests(self, server_dif_suite, test_request, - expected_result): - _test_post_request(server_dif_suite, test_request, expected_result) + def test_post_requests(self, + server_dif_suite, + dif_test_request, + dif_expected_post_result): + _test_post_request(server_dif_suite, + dif_test_request, + dif_expected_post_result) class TestEbrimSuite(object): - def test_post_requests(self, server_ebrim_suite, test_request, - expected_result): - _test_post_request(server_ebrim_suite, test_request, expected_result) + def test_post_requests(self, server_ebrim_suite, + ebrim_test_request, + ebrim_expected_post_result): + _test_post_request(server_ebrim_suite, + ebrim_test_request, + ebrim_expected_post_result) class TestFgdcSuite(object): - def test_post_requests(self, server_fgdc_suite, test_request, - expected_result): - _test_post_request(server_fgdc_suite, test_request, expected_result) + def test_post_requests(self, + server_fgdc_suite, + fgdc_test_request, + fgdc_expected_post_result): + _test_post_request(server_fgdc_suite, + fgdc_test_request, + fgdc_expected_post_result) class TestGm03Suite(object): - def test_post_requests(self, server_gm03_suite, test_request, - expected_result): - _test_post_request(server_gm03_suite, test_request, expected_result) + def test_post_requests(self, + server_gm03_suite, + gm03_test_request, + gm03_expected_post_result): + _test_post_request(server_gm03_suite, + gm03_test_request, + gm03_expected_post_result) class TestHarvestingSuite(object): - def test_post_requests(self, server_harvesting_suite, test_request, - expected_result): - _test_post_request(server_harvesting_suite, test_request, - expected_result) + def test_post_requests(self, + server_harvesting_suite, + harvesting_test_request, + harvesting_expected_post_result): + _test_post_request(server_harvesting_suite, + harvesting_test_request, + harvesting_expected_post_result) - def test_get_requests(self, server_harvesting_suite, - test_request_parameters, expected_result): - _test_get_request(server_harvesting_suite, test_request_parameters, - expected_result) + def test_get_requests(self, + server_harvesting_suite, + harvesting_test_request_parameters, + harvesting_expected_get_result): + _test_get_request(server_harvesting_suite, + harvesting_test_request_parameters, + harvesting_expected_get_result) class TestManagerSuite(object): - def test_post_requests(self, server_manager_suite, test_request, - expected_result): - _test_post_request(server_manager_suite, test_request, expected_result) + def test_post_requests(self, + server_manager_suite, + manager_test_request, + manager_expected_post_result): + _test_post_request(server_manager_suite, + manager_test_request, + manager_expected_post_result) class TestOaipmhSuite(object): - def test_get_requests(self, server_oaipmh_suite, test_request_parameters, - expected_result): - _test_get_request(server_oaipmh_suite, test_request_parameters, - expected_result) + def test_get_requests(self, server_oaipmh_suite, + oaipmh_test_request_parameters, + oaipmh_expected_get_result): + _test_get_request(server_oaipmh_suite, + oaipmh_test_request_parameters, + oaipmh_expected_get_result) + class TestRepofilterSuite(object): - def test_post_requests(self, server_repofilter_suite, test_request, - expected_result): - _test_post_request(server_repofilter_suite, test_request, - expected_result) + def test_post_requests(self, + server_repofilter_suite, + repofilter_test_request, + repofilter_expected_post_result): + _test_post_request(server_repofilter_suite, + repofilter_test_request, + repofilter_expected_post_result) class TestSruSuite(object): - def test_get_requests(self, server_sru_suite, test_request_parameters, - expected_result): - _test_get_request(server_sru_suite, test_request_parameters, - expected_result) + def test_get_requests(self, + server_sru_suite, + sru_test_request_parameters, + sru_expected_get_result): + _test_get_request(server_sru_suite, + sru_test_request_parameters, + sru_expected_get_result) class TestUtf8Suite(object): - def test_post_requests(self, server_utf_8_suite, test_request, - expected_result): - _test_post_request(server_utf_8_suite, test_request, expected_result) + def test_post_requests(self, + server_utf_8_suite, + utf_8_test_request, + utf_8_expected_post_result): + _test_post_request(server_utf_8_suite, + utf_8_test_request, + utf_8_expected_post_result) def _test_post_request(pycsw_server_url, test_request, expected_result): with open(test_request, encoding=ENCODING) as request_fh: request_data = request_fh.read() + response = requests.post(pycsw_server_url, + data=bytes(request_data, ENCODING)) with open(expected_result, encoding=ENCODING) as expected_fh: expected = expected_fh.read() - response = requests.post(pycsw_server_url, - data=request_data) _compare_response(response, expected) def _test_get_request(pycsw_server_url, parameters, expected_result): + print("**********************") + print("EXPECTED_RESULT: {0}".format(expected_result)) + print("PARAMETERS: {0}".format(parameters)) + print("**********************") with open(expected_result, encoding=ENCODING) as expected_fh: expected = expected_fh.read() - payload = parse_qs(parameters) - print("payload: {}".format(payload)) - response = requests.get(pycsw_server_url, params=payload) + #payload = parse_qs(bytes(parameters, ENCODING)) + #payload = parse_qs(parameters) + payload = {} + for kvp in parameters.split("&"): + print("kvp: {}".format(kvp)) + parts = kvp.split("=") + payload[parts[0].lower()] = unquote(parts[1]) if len(parts) > 1 else "" + #payload[parts[0].lower()] = parts[1] if len(parts) > 1 else "" + print("payload: {0}".format(payload)) + request_headers = {} + if "outputformat" in payload.keys(): + request_headers.setdefault("Accept", payload["outputformat"]) + response = requests.get(pycsw_server_url, params=payload, + headers=request_headers) _compare_response(response, expected) def _compare_response(response, expected): + response.encoding = ENCODING response_data = response.text normalized_result = _normalize(response_data, force_id_mask=False) - print("expected: {0}".format(expected)) - print("response: {0}".format(normalized_result)) try: matches_expected = _test_xml_result(normalized_result, expected) except etree.XMLSyntaxError: # the file is either not XML (perhaps JSON?) or malformed matches_expected = _test_json_result(normalized_result, expected) + if not matches_expected: + print("expected: {0}".format(expected)) + print("response: {0}".format(normalized_result)) assert matches_expected From 963c91b9ab6d5124d02e9ce490dba31e8c8cc775 Mon Sep 17 00:00:00 2001 From: Ricardo Garcia Silva Date: Sat, 5 Nov 2016 15:18:41 +0000 Subject: [PATCH 020/119] added pycharm's project files to gitignore --- .gitignore | 3 +++ 1 file changed, 3 insertions(+) diff --git a/.gitignore b/.gitignore index a30ade7c4..a443b4db4 100644 --- a/.gitignore +++ b/.gitignore @@ -15,3 +15,6 @@ tests/results # test repositories data + +# pycharm ide +.idea From 1f7dbd51c57f261c916d4797cbed3838ba74113c Mon Sep 17 00:00:00 2001 From: Ricardo Garcia Silva Date: Wed, 16 Nov 2016 17:45:06 +0000 Subject: [PATCH 021/119] refactored the implementation Removed a lot of boiler plate code, simplifying things --- .gitignore | 5 +- docs/testing.rst | 144 +++++- requirements-dev.txt | 2 + tests/conftest.py | 416 ++-------------- tests/functionaltests/conftest.py | 277 +++++++++++ .../functionaltests/test_suites_functional.py | 267 ++++++++++ tests/test_suites.py | 456 ------------------ 7 files changed, 726 insertions(+), 841 deletions(-) create mode 100644 tests/functionaltests/conftest.py create mode 100644 tests/functionaltests/test_suites_functional.py delete mode 100644 tests/test_suites.py diff --git a/.gitignore b/.gitignore index a443b4db4..ac267ca17 100644 --- a/.gitignore +++ b/.gitignore @@ -9,12 +9,11 @@ MANIFEST # testing artifacts tests/index.html tests/results +**.cache +.coverage # test configurations /default.cfg -# test repositories -data - # pycharm ide .idea diff --git a/docs/testing.rst b/docs/testing.rst index 40dcdfa49..b17a3b4f3 100644 --- a/docs/testing.rst +++ b/docs/testing.rst @@ -38,7 +38,7 @@ that pycsw works as expected. Each test follows the same workflow: -* Setup a local pycsw instance with a custom configuration and data repository +* Instantiate a pycsw instance with a custom configuration and data repository for each suite of tests; * Perform a series of GET and POST requests to the running pycsw instance; @@ -48,17 +48,28 @@ Each test follows the same workflow: otherwise it fails. -A number of different test suites exist under ``tests/suites``. Each suite -specifies the following structure: +A number of different test suites exist under ``tests/functionaltests/suites``. +Each suite specifies the following structure: * A mandatory ``default.cfg`` file with the pycsw configuration that must be - used by the test suite + used by the test suite; * A mandatory ``expected/`` directory containing the expected results for each request * An optional ``data/`` directory that contains ``.xml`` files with testing - data that is to be loaded into the suite's database before running the tests + data that is to be loaded into the suite's database before running the tests. + The presence of this directory and its contents have the following meaning + for tests: + + * If ``data/`` directory is present and contains files, they will be loaded + into a new database for running the tests of the suite; + + * If ``data/`` directory is present and does not contain any data files, a + new empty database is used in the tests; + + * If ``data/`` directory is absent, the suite will use a database populated + with test data from the CITE suite. * An optional ``get/requests.txt`` file that holds request parameters used for making HTTP GET requests. @@ -77,10 +88,133 @@ specifies the following structure: * An optional ``post/`` directory that holds ``.xml`` files used for making HTTP POST requests +Test identifiers +^^^^^^^^^^^^^^^^ + +Each test has an identifier that is built using the following rule: + + [__] + +For example: + + test_suites[default_post_GetRecords-end] .. _functional tests: https://en.wikipedia.org/wiki/Functional_testing +Running tests +------------- + +Since pycsw uses `pytest`_, tests are run with the ``py.test`` runner. A basic +test run can be made with: + +.. code:: bash + + py.test + +This command will run all tests and report on the number of successes, failures +and also the time it took to run them. The `py.test` command accepts several +additional parameters that can be used in order to customize the execution of +tests. Look into `pytest's invocation documentation`_ for a more complete +description. You can also get a description of the available parameters by +running: + +.. code:: bash + + py.test --help + +.. _pytest's invocation documentation: http://docs.pytest.org/en/latest/usage.html + + +Running specific suites and test cases +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +Use the `-k name expression` flag to select which tests to run. Since each +test's name includes the suite name, http method and an identifier for the +test, it is easy to run only certain tests. + +.. code:: bash + + py.test -k "apiso and GetRecords" # run only tests from the `apiso` suite that have `GetRecords` in their name + py.test -k "post and GetRecords" # run only tests that use HTTP POST and `GetRecords` in their name + py.test -k "not harvesting" # run all tests except those from the `harvesting` suite + + + +Exiting fast +^^^^^^^^^^^^ + +The `--exitfirst` (or `-x`) flag can be used to stop the test runner +immediately if some test case fails. + +.. code:: bash + + py.test --exitfirst + + +Seeing more output +^^^^^^^^^^^^^^^^^^ + +There are three main ways to get more output from running tests: + +* The `--verbose` (or `-v`) flag + +* The `--capture=no` flag - Messages sent to stdout by a test are not + suppressed; + +* The `--pycsw-loglevel` flag - Sets the log level of the pycsw instance under + test. Set this value to `debug` in order to see all debug messages sent by + pycsw while processing a request + + +.. code:: bash + + py.test --verbose + py.test --pycsw-loglevel=debug + py.test --capture=no --pycsw-loglevel=debug + + +Test coverage +^^^^^^^^^^^^^ + +Use the `--cov pycsw` flag in order to see information on code coverage. It is +possible to get output in a variety of formats. + +.. code:: bash + + py.test --cov pycsw + + +Specifying a timeout for tests +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +The `--timeout ` option can be used to specify that if a test takes +more than `` to run it is considered to have failed. Seconds can be +a float, so it is possibe to specify sub-second timeouts + +.. code:: bash + + py.test --timeout=1.5 + + +Linting with flake8 +^^^^^^^^^^^^^^^^^^^ + +Use the `--flake8` flag to also check if the code complies with Python's style +guide + +.. code:: bash + + py.test --flake8 + + +Running tests against a remote server +------------------------------------- + +TBD + + + Running tests locally --------------------- diff --git a/requirements-dev.txt b/requirements-dev.txt index 6a9fc46a7..9ca8ca353 100644 --- a/requirements-dev.txt +++ b/requirements-dev.txt @@ -1,4 +1,6 @@ Paver==1.2.4 pytest==2.9.1 +pytest-cov==2.4.0 +pytest-timeout==1.2.0 requests==2.10.0 sphinx diff --git a/tests/conftest.py b/tests/conftest.py index d3c238f55..4295d53f1 100644 --- a/tests/conftest.py +++ b/tests/conftest.py @@ -1,53 +1,45 @@ +# ================================================================= +# +# Authors: Ricardo Garcia Silva +# +# Copyright (c) 2016 Ricardo Garcia Silva +# +# Permission is hereby granted, free of charge, to any person +# obtaining a copy of this software and associated documentation +# files (the "Software"), to deal in the Software without +# restriction, including without limitation the rights to use, +# copy, modify, merge, publish, distribute, sublicense, and/or sell +# copies of the Software, and to permit persons to whom the +# Software is furnished to do so, subject to the following +# conditions: +# +# The above copyright notice and this permission notice shall be +# included in all copies or substantial portions of the Software. +# +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +# EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES +# OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +# NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT +# HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, +# WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR +# OTHER DEALINGS IN THE SOFTWARE. +# +# ================================================================= """pytest configuration file""" -from configparser import ConfigParser -import glob -import os -import subprocess -import shlex -import time - import pytest -from pycsw.core import admin -from pycsw.core.config import StaticContext - -TESTS_ROOT = os.path.dirname(os.path.abspath(__file__)) - - -# This dict holds the names of the suites that are available for functional -# testing and also if they use a custom database or not. If a suite has a -# custom database, then a new db is created and possibly loaded with the suite's -# test data (if there is any test data). If a suite does not use a custom db, -# then it means that its tests it will have a database loaded with records -# from the CITE suite -# If you omit the "has_own_db" key from a suite's dict, it is assumed that -# the value is False -FUNCTIONAL_SUITES = { - "apiso": {"has_own_db": True}, - "apiso-inspire": {}, - "atom": {}, - "cite": {"has_own_db": True}, - "csw30": {}, - "default": {}, - "dif": {}, - "ebrim": {}, - "fgdc": {}, - "gm03": {}, - "harvesting": {"has_own_db": True}, - "manager": {"has_own_db": True}, - "oaipmh": {}, - "repofilter": {}, - "sru": {}, - "utf-8": {}, -} - def pytest_configure(config): config.addinivalue_line( "markers", "functional: Run only functional tests" ) + config.addinivalue_line( + "markers", + "unit: Run only unit tests" + ) def pytest_addoption(parser): @@ -69,344 +61,14 @@ def pytest_addoption(parser): help="Password to use for creating and accessing local postgres " "databases used for functional tests." ) - for suite_name in FUNCTIONAL_SUITES.keys(): - parser.addoption( - "--server-url-{0}-suite".format(suite_name), - help="URL to perform functional tests for the {0!r} suite. If not " - "specified, a local pycsw instance is spawned, configured " - "with the {0!r} suite settings and used " - "in tests.".format(suite_name) - ) - - -def pytest_generate_tests(metafunc): - """Parametrize tests programatically. - - Check pytest's documentation for information on this function: - - http://pytest.org/latest/parametrize.html#basic-pytest-generate-tests-example - - """ - - test_name_get_matches = ( - metafunc.function.__name__ == "test_get_requests") - test_name_post_matches = ( - metafunc.function.__name__ == "test_post_requests") - for suite_name in FUNCTIONAL_SUITES.keys(): - safe_suite_name = _get_suite_safe_name(suite_name) - fixture_name = "server_{0}_suite".format(safe_suite_name) - if fixture_name in metafunc.fixturenames and test_name_get_matches: - test_data, test_names = _configure_functional_get_tests(suite_name) - metafunc.parametrize( - [ - "{0}_test_request_parameters".format(safe_suite_name), - "{0}_expected_get_result".format(safe_suite_name) - ], - test_data, - ids=test_names, - scope="session" - ) - break - elif fixture_name in metafunc.fixturenames and test_name_post_matches: - test_data, test_names = _configure_functional_post_tests( - suite_name) - metafunc.parametrize( - [ - "{0}_test_request".format(safe_suite_name), - "{0}_expected_post_result".format(safe_suite_name) - ], - test_data, - ids=test_names, - scope="session" - ) - break - - -@pytest.fixture(scope="session") -def server_apiso_suite(request, tmpdir_factory): - return _get_server_with_config(request, "apiso", - tmpdir_factory, 8010) - - -@pytest.fixture(scope="session") -def server_apiso_inspire_suite(request, tmpdir_factory): - return _get_server_with_config(request, "apiso-inspire", - tmpdir_factory, 8011) - - -@pytest.fixture(scope="session") -def server_atom_suite(request, tmpdir_factory): - return _get_server_with_config(request, "atom", - tmpdir_factory, 8012) - - -@pytest.fixture(scope="session") -def server_cite_suite(request, tmpdir_factory): - return _get_server_with_config(request, "cite", - tmpdir_factory, 8013) - - -@pytest.fixture(scope="session") -def server_csw30_suite(request, tmpdir_factory): - return _get_server_with_config(request, "csw30", - tmpdir_factory, 8014) - - -@pytest.fixture(scope="session") -def server_default_suite(request, tmpdir_factory): - return _get_server_with_config(request, "default", - tmpdir_factory, 8015) - - -@pytest.fixture(scope="session") -def server_dif_suite(request, tmpdir_factory): - return _get_server_with_config(request, "dif", - tmpdir_factory, 8016) - - -@pytest.fixture(scope="session") -def server_ebrim_suite(request, tmpdir_factory): - return _get_server_with_config(request, "ebrim", - tmpdir_factory, 8017) - - -@pytest.fixture(scope="session") -def server_fgdc_suite(request, tmpdir_factory): - return _get_server_with_config(request, "fgdc", - tmpdir_factory, 8018) - - -@pytest.fixture(scope="session") -def server_gm03_suite(request, tmpdir_factory): - return _get_server_with_config(request, "gm03", - tmpdir_factory, 8019) - - -@pytest.fixture(scope="session") -def server_harvesting_suite(request, tmpdir_factory): - return _get_server_with_config(request, "harvesting", - tmpdir_factory, 8020) - - -@pytest.fixture(scope="session") -def server_manager_suite(request, tmpdir_factory): - return _get_server_with_config(request, "manager", - tmpdir_factory, 8021) - - -@pytest.fixture(scope="session") -def server_oaipmh_suite(request, tmpdir_factory): - return _get_server_with_config(request, "oaipmh", - tmpdir_factory, 8022) - - -@pytest.fixture(scope="session") -def server_repofilter_suite(request, tmpdir_factory): - return _get_server_with_config(request, "repofilter", - tmpdir_factory, 8023) - - -@pytest.fixture(scope="session") -def server_sru_suite(request, tmpdir_factory): - return _get_server_with_config(request, "sru", - tmpdir_factory, 8024) + parser.addoption( + "--pycsw-loglevel", + default="warning", + help="Log level for the pycsw server." + ) @pytest.fixture(scope="session") -def server_utf_8_suite(request, tmpdir_factory): - return _get_server_with_config(request, "utf-8", - tmpdir_factory, 8025) - - -def _configure_functional_post_tests(suite_name): - test_data = [] - test_names = [] - suite_dir = os.path.join(TESTS_ROOT, "suites", suite_name) - post_requests_dir = os.path.join(suite_dir, "post") - expected_dir = os.path.join(suite_dir, "expected") - for item in glob.iglob(os.path.join(post_requests_dir, "*")): - test_id = os.path.splitext(os.path.basename(item))[0] - expected = os.path.join(expected_dir,"post_{0}.xml".format(test_id)) - if os.path.isfile(item) and os.path.isfile(expected): - test_data.append((item, expected)) - test_names.append("{0}_{1}".format(suite_name, test_id)) - return test_data, test_names - - -def _configure_functional_get_tests(suite_name): - test_data = [] - test_names = [] - request_file_path = os.path.join(TESTS_ROOT, "suites", suite_name, - "get", "requests.txt") - expected_dir = os.path.join(TESTS_ROOT, "suites", suite_name, "expected") - try: - with open(request_file_path, encoding="utf-8") as fh: - for line in fh: - test_name, sep, test_params = line.partition(",") - expected = os.path.join(expected_dir, - "get_{0}.xml".format(test_name)) - if os.path.isfile(expected): - test_data.append((test_params.strip(), expected)) - test_names.append("{0}_{1}".format(suite_name, test_name)) - except FileNotFoundError: - pass # this suite does not have GET tests - return test_data, test_names - - -def _get_suite_safe_name(suite_name): - return suite_name.replace("-", "_") - - -def _get_server_with_config(request, suite_name, tmpdir_factory, port_number): - """Provide a pycsw server to execute tests for the input suite name - - This function introspects the test context. If tests are to be run against - a user-provided url, it does nothing. If there is no user-provided url, - a new pycsw instance is created locally and its URL is returned. - - Parameters - ---------- - request: FixtureRequest - Pytest's FixtureRequest object, holding information about the test - context - suite_name: str - The safe name of the current suite - tmpdir_factory: TempDirFactory - Pytest's TempDirFactory fixture object, that is used to create - temporary directories for tests - port_number: int - Port where a local server shall be started for the input suite_name - - Returns - ------- - str - The pycsw URL that can be used in tests for the input suite_name - - """ - - url = request.config.getoption("--server-url-{0}-suite".format(suite_name)) - if url is None: - print("Initializing server for {0!r} suite at port " - "{1!r}...".format(suite_name, port_number)) - original_config_path = os.path.join(TESTS_ROOT, "suites", - suite_name, "default.cfg") - config = ConfigParser() - config.read(original_config_path) - #safe_suite_name = _get_suite_safe_name(suite_name) - test_temp_directory = tmpdir_factory.mktemp(suite_name, - numbered=True) - db_url = _initialize_database( - request, suite_name, test_temp_directory, - config.get("repository", "table"), - os.path.join(TESTS_ROOT, "suites", suite_name, "data") - ) - # now we can change the config as needed - #server_url = "http://localhost:{0}".format(port_number) - #config.set("server", "url", server_url) - config.set("server", "loglevel", "DEBUG") - config.set("server", "logfile", os.path.join(test_temp_directory, - "pycsw.log")) - config.set("repository", "database", db_url) - new_config = test_temp_directory.join("default.cfg") - fh = new_config.open("w") - config.write(fh) - fh.close() - server_url = _start_local_server(request, str(new_config), port_number) - else: # use the provided url and assume the config has been set - server_url = url - return server_url - - -def _initialize_database(request, suite_name, test_dir, table_name, data_path): - """Initialize local database for functional tests. - - This function will: - - * Configure the correct database url - * Create the database - * Load any test data that the suite may require - - Parameters - ---------- - request: FixtureRequest - Pytest's FixtureRequest object, holding information about the test - context - suite_name: str - The name of the current suite - test_dir: str - Full path to the temporary directory being used in the suite's tests - data_path: str - Full path to a directory that has test data to be loaded up into - the suite's database - - Returns - ------- - str - The SQLAlchemy engine URL for the database. - - """ - - db_type = request.config.getoption("--database-backend") - if db_type == "sqlite": - db_url = "sqlite:///{0}/records.db".format(test_dir) - elif db_type == "postgres": - user = request.config.getoption("--database-user-postgres") - password = request.config.getoption("--database-password-postgres") - db_url = "postgres://{0}:{1}@localhost/pycsw_test_{2}".format( - user, password, suite_name) - else: - raise NotImplementedError - print("Setting up {0!r} database for suite {1!r}...".format(db_type, - suite_name)) - admin.setup_db(db_url, table_name, test_dir) - print("Loading database data...") - if not FUNCTIONAL_SUITES[suite_name].get("has_own_db", False): - print("Loading CITE data into database...") - cite_data_dir = os.path.join(TESTS_ROOT, "suites", "cite", "data") - data_path = cite_data_dir - admin.load_records(StaticContext(), db_url, table_name, data_path) - return db_url - - -def _start_local_server(request, config_path, port_number): - """Start a local pycsw instance - - This function starts a new pycsw instance and also - registers a pytest finalizer function that takes care of stopping the - server when the tests are finished. - - Parameters - ---------- - - request: FixtureRequest - Pytest's FixtureRequest object, holding information about the test - context - config_path: str - Full path to pycsw's configuration file - port_number: int - Port where the server will be listening - - Returns - ------- - str - The URL of the newly started pycsw instance - - """ - - url = "http://localhost:{0}".format(port_number) - print("Starting a local server at {0}...".format(url)) - command = "python pycsw/wsgi.py {0}".format(port_number) - working_dir = os.path.dirname(TESTS_ROOT) - env = os.environ.copy() - env["PYCSW_CONFIG"] = config_path - pycsw_process = subprocess.Popen(shlex.split(command), cwd=working_dir, - stdout=subprocess.PIPE, - env=env) - time.sleep(2) # give the external process some time to start - - def finalizer(): - pycsw_process.terminate() - pycsw_process.wait() +def log_level(request): + return request.config.getoption("pycsw_loglevel").upper() - request.addfinalizer(finalizer) - return url diff --git a/tests/functionaltests/conftest.py b/tests/functionaltests/conftest.py new file mode 100644 index 000000000..addc7e035 --- /dev/null +++ b/tests/functionaltests/conftest.py @@ -0,0 +1,277 @@ +# ================================================================= +# +# Authors: Ricardo Garcia Silva +# +# Copyright (c) 2016 Ricardo Garcia Silva +# +# Permission is hereby granted, free of charge, to any person +# obtaining a copy of this software and associated documentation +# files (the "Software"), to deal in the Software without +# restriction, including without limitation the rights to use, +# copy, modify, merge, publish, distribute, sublicense, and/or sell +# copies of the Software, and to permit persons to whom the +# Software is furnished to do so, subject to the following +# conditions: +# +# The above copyright notice and this permission notice shall be +# included in all copies or substantial portions of the Software. +# +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +# EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES +# OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +# NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT +# HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, +# WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR +# OTHER DEALINGS IN THE SOFTWARE. +# +# ================================================================= +"""pytest configuration file for functional tests""" + +import codecs +from collections import namedtuple +import os +from six.moves import configparser + +import pytest + +from pycsw.core import admin +from pycsw.core.config import StaticContext + +TESTS_ROOT = os.path.dirname(os.path.dirname(os.path.abspath(__file__))) + + +SuiteDirs = namedtuple("SuiteDirs", [ + "get_tests_dir", + "post_tests_dir", + "data_tests_dir", + "expected_results_dir", +]) + + + +def pytest_generate_tests(metafunc): + """Parametrize tests programatically. + + Check pytest's documentation for information on this function: + + http://pytest.org/latest/parametrize.html#basic-pytest-generate-tests-example + + """ + + global TESTS_ROOT + if metafunc.function.__name__ == "test_suites": + suites_root_dir = os.path.join(TESTS_ROOT, "functionaltests", "suites") + suite_names = os.listdir(suites_root_dir) + arg_values = [] + test_ids = [] + for suite in suite_names: + normalize_ids = True if suite in ("harvesting", + "manager") else False + suite_dir = os.path.join(suites_root_dir, suite) + config_path = os.path.join(suite_dir, "default.cfg") + if not os.path.isfile(config_path): + print("Directory {0!r} does not have a suite " + "configuration file".format(suite_dir)) + continue + else: + print("Generating tests for suite {0!r}".format(suite)) + suite_dirs = _get_suite_dirs(suite) + if suite_dirs.post_tests_dir is not None: + post_argvalues, post_ids = _get_post_parameters( + post_tests_dir=suite_dirs.post_tests_dir, + expected_tests_dir=suite_dirs.expected_results_dir, + config_path=config_path, + suite_name=suite, + normalize_ids=normalize_ids + ) + arg_values.extend(post_argvalues) + test_ids.extend(post_ids) + if suite_dirs.get_tests_dir is not None: + get_argvalues, get_ids = _get_get_parameters( + get_tests_dir=suite_dirs.get_tests_dir, + expected_tests_dir=suite_dirs.expected_results_dir, + config_path=config_path, + suite_name=suite, + normalize_ids=normalize_ids + ) + arg_values.extend(get_argvalues) + test_ids.extend(get_ids) + metafunc.parametrize( + argnames=["configuration", "request_method", "request_data", + "expected_result", "normalize_identifier_fields"], + argvalues=arg_values, + indirect=["configuration"], + ids=test_ids, + ) + + +def _get_get_parameters(get_tests_dir, expected_tests_dir, config_path, + suite_name, normalize_ids): + method = "GET" + test_argvalues = [] + test_ids = [] + requests_file_path = os.path.join(get_tests_dir, "requests.txt") + with open(requests_file_path) as fh: + for line in fh: + test_name, test_params = [i.strip() for i in + line.partition(",")[::2]] + expected_result_path = os.path.join( + expected_tests_dir, + "{method}_{name}.xml".format(method=method.lower(), + name=test_name) + ) + test_argvalues.append( + (config_path, method, test_params, expected_result_path, + normalize_ids) + ) + test_ids.append( + "{suite}_{http_method}_{name}".format(suite=suite_name, + http_method=method.lower(), name=test_name) + ) + return test_argvalues, test_ids + + +def _get_post_parameters(post_tests_dir, expected_tests_dir, config_path, + suite_name, normalize_ids): + method = "POST" + test_argvalues = [] + test_ids = [] + # we are sorting the directory contents because the + # `harvesting` suite requires tests to be executed in alphabetical order + directory_contents = sorted(os.listdir(post_tests_dir)) + for request_file_name in directory_contents: + request_path = os.path.join(post_tests_dir, + request_file_name) + expected_result_path = os.path.join( + expected_tests_dir, + "{method}_{filename}".format( + method=method.lower(), + filename=request_file_name + ) + ) + # TODO - make sure the expected result path exists + test_argvalues.append( + (config_path, method, request_path, + expected_result_path, normalize_ids) + ) + test_ids.append( + "{suite}_{http_method}_{file_name}".format( + suite=suite_name, + http_method=method.lower(), + file_name=os.path.splitext( + request_file_name)[0]) + ) + return test_argvalues, test_ids + + +@pytest.fixture() +def configuration(request, tests_directory, log_level): + """Return a SafeConfigParser with the configuration for use in tests. + + The config_parser is read from the ordiginal location and then adjusted + to match the test's temporary directory. The repository will also be + created and populated if it is not already present in the tests_directory. + + """ + + config_path = request.param + config = configparser.SafeConfigParser() + with codecs.open(config_path, encoding="utf-8") as fh: + config.readfp(fh) + suite_name = config_path.split(os.path.sep)[-2] + suite_dirs = _get_suite_dirs(suite_name) + data_dir = suite_dirs.data_tests_dir + if data_dir is not None: # suite has its own database + repository_url = _get_repository_url(request, suite_name, + tests_directory) + else: # suite uses the CITE database + data_dir = _get_cite_suite_data_dir() + repository_url = _get_repository_url(request, "cite", tests_directory) + if not _repository_exists(repository_url): + _initialize_database(repository_url=repository_url, + table_name=config.get("repository", "table"), + data_dir=data_dir, + test_dir=tests_directory) + config.set("server", "loglevel", log_level) + config.set("server", "logfile", "") + config.set("repository", "database", repository_url) + return config + + +@pytest.fixture(scope="session", name="tests_directory") +def fixture_tests_directory(tmpdir_factory): + tests_dir = tmpdir_factory.mktemp("functional_tests") + return tests_dir + + +def _get_suite_dirs(suite_name): + """Return a tuple with suite dirs: get, post, data, expected""" + global TESTS_ROOT + suites_root_dir = os.path.join(TESTS_ROOT, "functionaltests", "suites") + suite_dir = os.path.join(suites_root_dir, suite_name) + data_tests_dir = os.path.join(suite_dir, "data") + post_tests_dir = os.path.join(suite_dir, "post") + get_tests_dir = os.path.join(suite_dir, "get") + expected_results_dir = os.path.join(suite_dir, "expected") + data_dir = data_tests_dir if os.path.isdir(data_tests_dir) else None + posts_dir = post_tests_dir if os.path.isdir(post_tests_dir) else None + gets_dir = get_tests_dir if os.path.isdir(get_tests_dir) else None + expected_dir = (expected_results_dir if os.path.isdir( + expected_results_dir) else None) + return SuiteDirs(get_tests_dir=gets_dir, + post_tests_dir=posts_dir, + data_tests_dir=data_dir, + expected_results_dir=expected_dir) + + +def _get_cite_suite_data_dir(): + global TESTS_ROOT + suites_root_dir = os.path.join(TESTS_ROOT, "functionaltests", "suites") + suite_dir = os.path.join(suites_root_dir, "cite") + data_tests_dir = os.path.join(suite_dir, "data") + data_dir = data_tests_dir if os.path.isdir(data_tests_dir) else None + return data_dir + + +def _repository_exists(repository_url): + """Test if the database already exists""" + if repository_url.startswith("sqlite"): + repository_path = repository_url.replace("sqlite:///", "") + result = os.path.isfile(repository_path) + else: + raise NotImplementedError + return result + + +def _get_repository_url(request, suite_name, test_dir): + db_type = request.config.getoption("--database-backend") + if db_type == "sqlite": + repository_url = "sqlite:///{test_dir}/{suite}.db".format( + test_dir=test_dir, suite=suite_name) + elif db_type == "postgres": + user = request.config.getoption("--database-user-postgres") + password = request.config.getoption("--database-password-postgres") + repository_url = ("postgres://{user}:{password}@localhost/" + "pycsw_test_{suite}".format(user=user, + password=password, + suite=suite_name)) + else: + raise NotImplementedError + return repository_url + + +def _initialize_database(repository_url, table_name, data_dir, test_dir): + """Initialize local database for tests. + + This function will create the database and load any test data that + the suite may require. + + """ + + print("Setting up {0!r} repository...".format(repository_url)) + admin.setup_db(repository_url, table_name, test_dir) + if len(os.listdir(data_dir)) > 0: + print("Loading database data...") + admin.load_records(StaticContext(), repository_url, table_name, + data_dir) diff --git a/tests/functionaltests/test_suites_functional.py b/tests/functionaltests/test_suites_functional.py new file mode 100644 index 000000000..3d93b20c6 --- /dev/null +++ b/tests/functionaltests/test_suites_functional.py @@ -0,0 +1,267 @@ +# ================================================================= +# +# Authors: Tom Kralidis +# Ricardo Garcia Silva +# +# Copyright (c) 2016 Tom Kralidis +# Copyright (c) 2016 Ricardo Garcia Silva +# +# Permission is hereby granted, free of charge, to any person +# obtaining a copy of this software and associated documentation +# files (the "Software"), to deal in the Software without +# restriction, including without limitation the rights to use, +# copy, modify, merge, publish, distribute, sublicense, and/or sell +# copies of the Software, and to permit persons to whom the +# Software is furnished to do so, subject to the following +# conditions: +# +# The above copyright notice and this permission notice shall be +# included in all copies or substantial portions of the Software. +# +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +# EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES +# OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +# NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT +# HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, +# WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR +# OTHER DEALINGS IN THE SOFTWARE. +# +# ================================================================= +"""Functional tests for several test suites""" + +import codecs +from difflib import SequenceMatcher +from io import BytesIO +import json +import re +import wsgiref.util + +from lxml import etree +from lxml import objectify +import pytest + +from pycsw import server + +pytestmark = pytest.mark.functional + + +def test_suites(configuration, request_method, request_data, expected_result, + normalize_identifier_fields): + """ + Test suites. + + Parameters + ---------- + configuration: SafeConfigParser + The configuration to use with the pycsw server instance under test + request_method: str + The HTTP method of the request. Either GET or POST. + request_data: str + Either the path to the request file, for POST requests or the request + parameters for GET requests + expected_result: str + Path to the file that holds the expected result + normalize_identifier_fields: bool + Whether to normalize the identifier fields in responses. This + parameter is used only in the 'harvesting' and 'manager' suites + + """ + + request_environment = { + "REQUEST_METHOD": request_method.upper(), + "QUERY_STRING": "", + "REMOTE_ADDR": "127.0.0.1" + } + if request_method == "POST": + print("request_path: {0}".format(request_data)) + request_buffer = BytesIO() + with open(request_data) as fh: + contents = fh.read() + print("Request contents: {}".format(contents)) + request_buffer.write(contents) + request_environment["CONTENT_LENGTH"] = request_buffer.tell() + request_buffer.seek(0) + request_environment["wsgi.input"] = request_buffer + else: + print("Request contents: {0}".format(request_data)) + request_environment["QUERY_STRING"] = request_data + wsgiref.util.setup_testing_defaults(request_environment) + pycsw_server = server.Csw(rtconfig=configuration, env=request_environment) + status, contents = pycsw_server.dispatch_wsgi() + with codecs.open(expected_result, encoding="utf-8") as fh: + expected = fh.read() + _compare_response(contents, expected, + normalize_id_fields=normalize_identifier_fields) + + +def _compare_response(response, expected, normalize_id_fields): + normalized_result = _normalize(response, force_id_mask=normalize_id_fields) + try: + matches_expected = _test_xml_result(normalized_result, expected) + except etree.XMLSyntaxError: + # the file is either not XML (perhaps JSON?) or malformed + matches_expected = _test_json_result(normalized_result, expected) + except etree.C14NError: + print("XML canonicalization has failed. Trying to compare result " + "with expected using difflib") + matches_expected = _test_xml_diff(normalized_result, expected) + if not matches_expected: + print("expected: {0}".format(expected)) + print("response: {0}".format(normalized_result)) + assert matches_expected + + +def _test_xml_result(result, expected, encoding="utf-8"): + """Compare the XML test results with an expected value. + + This function compares the test result with the expected values by + performing XML canonicalization (c14n)[1]_. + + Parameters + ---------- + result: str + The result of running the test. + expected: str + The expected outcome. + + Returns + ------- + bool + Whether the result matches the expectations or not. + + Raises + ------ + etree.XMLSyntaxError + If any of the input parameters is not a valid XMl. + etree.C14NError + If any of the input parameters cannot be canonicalized. This may + happen if there are relative namespace URIs in any of the XML + documents, as they are explicitly not allowed when doing XML c14n + + References + ---------- + .. [1] http://www.w3.org/TR/xml-c14n + + """ + + result_element = etree.fromstring(result) + expected_element = etree.fromstring(expected.encode(encoding)) + result_buffer = BytesIO() + result_tree = result_element.getroottree() + objectify.deannotate(result_tree, cleanup_namespaces=True) + result_tree.write_c14n(result_buffer) + expected_buffer = BytesIO() + expected_tree = expected_element.getroottree() + objectify.deannotate(expected_tree, cleanup_namespaces=True) + expected_tree.write_c14n(expected_buffer) + matches = result_buffer.getvalue() == expected_buffer.getvalue() + return matches + + +def _test_json_result(result, expected, encoding="utf-8"): + """Compare the JSON test results with an expected value. + + Parameters + ---------- + result: str + The result of running the test. + expected: str + The expected outcome. + + Returns + ------- + bool + Whether the result matches the expectations or not. + + """ + + result_dict = json.loads(result, encoding=encoding) + expected_dict = json.loads(expected, encoding=encoding) + return result_dict == expected_dict + + +def _test_xml_diff(result, expected): + sequence_matcher = SequenceMatcher(None, result, expected) + ratio = sequence_matcher.ratio() + return ratio == pytest.approx(1.0) + + +def _normalize(sresult, force_id_mask=False): + """Replace time, updateSequence and version specific values with generic + values""" + + # XML responses + version = re.search(r'', sresult) + updatesequence = re.search(r'updateSequence="(\S+)"', sresult) + timestamp = re.search(r'timestamp="(.*)"', sresult) + timestamp2 = re.search(r'timeStamp="(.*)"', sresult) + timestamp3 = re.search(r'(.*)', sresult) + timestamp4 = re.search(r'(.*)', sresult) + zrhost = re.search(r'(.*)', sresult) + zrport = re.search(r'(.*)', sresult) + elapsed_time = re.search(r'elapsedTime="(.*)"', sresult) + expires = re.search(r'expires="(.*?)"', sresult) + atom_updated = re.findall(r'(.*)', sresult) + + if version: + sresult = sresult.replace(version.group(0), r'') + if updatesequence: + sresult = sresult.replace(updatesequence.group(0), + r'updateSequence="PYCSW_UPDATESEQUENCE"') + if timestamp: + sresult = sresult.replace(timestamp.group(0), + r'timestamp="PYCSW_TIMESTAMP"') + if timestamp2: + sresult = sresult.replace(timestamp2.group(0), + r'timeStamp="PYCSW_TIMESTAMP"') + if timestamp3: + sresult = sresult.replace(timestamp3.group(0), + r'PYCSW_TIMESTAMP') + if timestamp4: + sresult = sresult.replace(timestamp4.group(0), + r'PYCSW_TIMESTAMP') + if zrport: + sresult = sresult.replace(zrport.group(0), + r'PYCSW_PORT') + if zrhost: + sresult = sresult.replace(zrhost.group(0), + r'PYCSW_HOST') + if elapsed_time: + sresult = sresult.replace(elapsed_time.group(0), + r'elapsedTime="PYCSW_ELAPSED_TIME"') + if expires: + sresult = sresult.replace(expires.group(0), + r'expires="PYCSW_EXPIRES"') + for au in atom_updated: + sresult = sresult.replace(au, r'PYCSW_TIMESTAMP') + + # for csw:HarvestResponse documents, mask identifiers + # which are dynamically generated for OWS endpoints + if sresult.find(r'HarvestResponse') != -1: + identifier = re.findall(r'(\S+)', + sresult) + for i in identifier: + sresult = sresult.replace(i, r'PYCSW_IDENTIFIER') + + # JSON responses + timestamp = re.search(r'"@timestamp": "(.*?)"', sresult) + + if timestamp: + sresult = sresult.replace(timestamp.group(0), + r'"@timestamp": "PYCSW_TIMESTAMP"') + + # harvesting-based GetRecords/GetRecordById responses + if force_id_mask: + dcid = re.findall(r'(urn:uuid.*)', sresult) + isoid = re.findall(r'id="(urn:uuid.*)"', sresult) + isoid2 = re.findall(r'(urn:uuid.*) -# Ricardo Garcia Silva -# -# Copyright (c) 2016 Tom Kralidis -# Copyright (c) 2016 Ricardo Garcia Silva -# -# Permission is hereby granted, free of charge, to any person -# obtaining a copy of this software and associated documentation -# files (the "Software"), to deal in the Software without -# restriction, including without limitation the rights to use, -# copy, modify, merge, publish, distribute, sublicense, and/or sell -# copies of the Software, and to permit persons to whom the -# Software is furnished to do so, subject to the following -# conditions: -# -# The above copyright notice and this permission notice shall be -# included in all copies or substantial portions of the Software. -# -# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -# EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES -# OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -# NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT -# HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, -# WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING -# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR -# OTHER DEALINGS IN THE SOFTWARE. -# -# ================================================================= -"""Functional tests for pycsw. - -These tests are based on the execution of the requests defined in the suites -under the `suites` directory. - -""" - -from io import BytesIO -import json -from lxml import etree -from lxml import objectify -import re -from urllib.parse import parse_qs -from urllib.parse import unquote - -import pytest -import requests - -ENCODING = "utf-8" - -pytestmark = pytest.mark.functional - - -class TestApisoSuite(object): - - def test_post_requests(self, - server_apiso_suite, - apiso_test_request, - apiso_expected_post_result): - _test_post_request(server_apiso_suite, - apiso_test_request, - apiso_expected_post_result) - - -class TestApisoInspireSuite(object): - - def test_get_requests(self, - server_apiso_inspire_suite, - apiso_inspire_test_request_parameters, - apiso_inspire_expected_get_result): - _test_get_request(server_apiso_inspire_suite, - apiso_inspire_test_request_parameters, - apiso_inspire_expected_get_result) - - -class TestAtomSuite(object): - - def test_post_requests(self, - server_atom_suite, - atom_test_request, - atom_expected_post_result): - _test_post_request(server_atom_suite, - atom_test_request, - atom_expected_post_result) - - def test_get_requests(self, server_atom_suite, - atom_test_request_parameters, - atom_expected_get_result): - _test_get_request(server_atom_suite, - atom_test_request_parameters, - atom_expected_get_result) - - -class TestCiteSuite(object): - - def test_post_requests(self, server_cite_suite, cite_test_request, - cite_expected_post_result): - _test_post_request(server_cite_suite, cite_test_request, - cite_expected_post_result) - - def test_get_requests(self, server_cite_suite, - cite_test_request_parameters, - cite_expected_get_result): - print("locals: {0}".format(locals())) - _test_get_request(server_cite_suite, cite_test_request_parameters, - cite_expected_get_result) - - -class TestCsw30Suite(object): - - def test_post_requests(self, - server_csw30_suite, - csw30_test_request, - csw30_expected_post_result): - _test_post_request(server_csw30_suite, - csw30_test_request, - csw30_expected_post_result) - - def test_get_requests(self, server_csw30_suite, - csw30_test_request_parameters, - csw30_expected_get_result): - _test_get_request(server_csw30_suite, - csw30_test_request_parameters, - csw30_expected_get_result) - - -class TestDefaultSuite(object): - - def test_post_requests(self, - server_default_suite, - default_test_request, - default_expected_post_result): - _test_post_request(server_default_suite, - default_test_request, - default_expected_post_result) - - def test_get_requests(self, - server_default_suite, - default_test_request_parameters, - default_expected_get_result): - _test_get_request(server_default_suite, - default_test_request_parameters, - default_expected_get_result) - - -class TestDifSuite(object): - - def test_post_requests(self, - server_dif_suite, - dif_test_request, - dif_expected_post_result): - _test_post_request(server_dif_suite, - dif_test_request, - dif_expected_post_result) - - -class TestEbrimSuite(object): - - def test_post_requests(self, server_ebrim_suite, - ebrim_test_request, - ebrim_expected_post_result): - _test_post_request(server_ebrim_suite, - ebrim_test_request, - ebrim_expected_post_result) - - -class TestFgdcSuite(object): - - def test_post_requests(self, - server_fgdc_suite, - fgdc_test_request, - fgdc_expected_post_result): - _test_post_request(server_fgdc_suite, - fgdc_test_request, - fgdc_expected_post_result) - - -class TestGm03Suite(object): - - def test_post_requests(self, - server_gm03_suite, - gm03_test_request, - gm03_expected_post_result): - _test_post_request(server_gm03_suite, - gm03_test_request, - gm03_expected_post_result) - - -class TestHarvestingSuite(object): - - def test_post_requests(self, - server_harvesting_suite, - harvesting_test_request, - harvesting_expected_post_result): - _test_post_request(server_harvesting_suite, - harvesting_test_request, - harvesting_expected_post_result) - - def test_get_requests(self, - server_harvesting_suite, - harvesting_test_request_parameters, - harvesting_expected_get_result): - _test_get_request(server_harvesting_suite, - harvesting_test_request_parameters, - harvesting_expected_get_result) - - -class TestManagerSuite(object): - - def test_post_requests(self, - server_manager_suite, - manager_test_request, - manager_expected_post_result): - _test_post_request(server_manager_suite, - manager_test_request, - manager_expected_post_result) - - -class TestOaipmhSuite(object): - - def test_get_requests(self, server_oaipmh_suite, - oaipmh_test_request_parameters, - oaipmh_expected_get_result): - _test_get_request(server_oaipmh_suite, - oaipmh_test_request_parameters, - oaipmh_expected_get_result) - - -class TestRepofilterSuite(object): - - def test_post_requests(self, - server_repofilter_suite, - repofilter_test_request, - repofilter_expected_post_result): - _test_post_request(server_repofilter_suite, - repofilter_test_request, - repofilter_expected_post_result) - - -class TestSruSuite(object): - - def test_get_requests(self, - server_sru_suite, - sru_test_request_parameters, - sru_expected_get_result): - _test_get_request(server_sru_suite, - sru_test_request_parameters, - sru_expected_get_result) - -class TestUtf8Suite(object): - - def test_post_requests(self, - server_utf_8_suite, - utf_8_test_request, - utf_8_expected_post_result): - _test_post_request(server_utf_8_suite, - utf_8_test_request, - utf_8_expected_post_result) - - -def _test_post_request(pycsw_server_url, test_request, expected_result): - with open(test_request, encoding=ENCODING) as request_fh: - request_data = request_fh.read() - response = requests.post(pycsw_server_url, - data=bytes(request_data, ENCODING)) - with open(expected_result, encoding=ENCODING) as expected_fh: - expected = expected_fh.read() - _compare_response(response, expected) - - -def _test_get_request(pycsw_server_url, parameters, expected_result): - print("**********************") - print("EXPECTED_RESULT: {0}".format(expected_result)) - print("PARAMETERS: {0}".format(parameters)) - print("**********************") - with open(expected_result, encoding=ENCODING) as expected_fh: - expected = expected_fh.read() - #payload = parse_qs(bytes(parameters, ENCODING)) - #payload = parse_qs(parameters) - payload = {} - for kvp in parameters.split("&"): - print("kvp: {}".format(kvp)) - parts = kvp.split("=") - payload[parts[0].lower()] = unquote(parts[1]) if len(parts) > 1 else "" - #payload[parts[0].lower()] = parts[1] if len(parts) > 1 else "" - print("payload: {0}".format(payload)) - request_headers = {} - if "outputformat" in payload.keys(): - request_headers.setdefault("Accept", payload["outputformat"]) - response = requests.get(pycsw_server_url, params=payload, - headers=request_headers) - _compare_response(response, expected) - - -def _compare_response(response, expected): - response.encoding = ENCODING - response_data = response.text - normalized_result = _normalize(response_data, force_id_mask=False) - try: - matches_expected = _test_xml_result(normalized_result, expected) - except etree.XMLSyntaxError: - # the file is either not XML (perhaps JSON?) or malformed - matches_expected = _test_json_result(normalized_result, expected) - if not matches_expected: - print("expected: {0}".format(expected)) - print("response: {0}".format(normalized_result)) - assert matches_expected - - -def _test_xml_result(result, expected): - """Compare the XML test results with an expected value. - - This function compares the test result with the expected values by - performing XML canonicalization (c14n)[1]_. - - Parameters - ---------- - result: str - The result of running the test. - expected: str - The expected outcome. - - Returns - ------- - bool - Whether the result matches the expectations or not. - - Raises - ------ - etree.XMLSyntaxError - If any of the input parameters is not a valid XMl. - etree.C14NError - If any of the input parameters cannot be canonicalized. This may - happen if there are relative namespace URIs in any of the XML - documents, as they are explicitly not allowed when doing XML c14n - - References - ---------- - .. [1] http://www.w3.org/TR/xml-c14n - - """ - - result_element = etree.fromstring(result.encode(ENCODING)) - expected_element = etree.fromstring(expected.encode(ENCODING)) - result_buffer = BytesIO() - result_tree = result_element.getroottree() - objectify.deannotate(result_tree, cleanup_namespaces=True) - result_tree.write_c14n(result_buffer) - expected_buffer = BytesIO() - expected_tree = expected_element.getroottree() - objectify.deannotate(expected_tree, cleanup_namespaces=True) - expected_tree.write_c14n(expected_buffer) - matches = result_buffer.getvalue() == expected_buffer.getvalue() - return matches - - -def _test_json_result(result, expected): - """Compare the JSON test results with an expected value. - - Parameters - ---------- - result: str - The result of running the test. - expected: str - The expected outcome. - - Returns - ------- - bool - Whether the result matches the expectations or not. - - """ - - result_dict = json.loads(result, encoding=ENCODING) - expected_dict = json.loads(expected, encoding=ENCODING) - return result_dict == expected_dict - - -def _normalize(sresult, force_id_mask=False): - """Replace time, updateSequence and version specific values with generic - values""" - - # XML responses - version = re.search(r'', sresult) - updatesequence = re.search(r'updateSequence="(\S+)"', sresult) - timestamp = re.search(r'timestamp="(.*)"', sresult) - timestamp2 = re.search(r'timeStamp="(.*)"', sresult) - timestamp3 = re.search(r'(.*)', sresult) - timestamp4 = re.search(r'(.*)', sresult) - zrhost = re.search(r'(.*)', sresult) - zrport = re.search(r'(.*)', sresult) - elapsed_time = re.search(r'elapsedTime="(.*)"', sresult) - expires = re.search(r'expires="(.*?)"', sresult) - atom_updated = re.findall(r'(.*)', sresult) - - if version: - sresult = sresult.replace(version.group(0), r'') - if updatesequence: - sresult = sresult.replace(updatesequence.group(0), - r'updateSequence="PYCSW_UPDATESEQUENCE"') - if timestamp: - sresult = sresult.replace(timestamp.group(0), - r'timestamp="PYCSW_TIMESTAMP"') - if timestamp2: - sresult = sresult.replace(timestamp2.group(0), - r'timeStamp="PYCSW_TIMESTAMP"') - if timestamp3: - sresult = sresult.replace(timestamp3.group(0), - r'PYCSW_TIMESTAMP') - if timestamp4: - sresult = sresult.replace(timestamp4.group(0), - r'PYCSW_TIMESTAMP') - if zrport: - sresult = sresult.replace(zrport.group(0), - r'PYCSW_PORT') - if zrhost: - sresult = sresult.replace(zrhost.group(0), - r'PYCSW_HOST') - if elapsed_time: - sresult = sresult.replace(elapsed_time.group(0), - r'elapsedTime="PYCSW_ELAPSED_TIME"') - if expires: - sresult = sresult.replace(expires.group(0), - r'expires="PYCSW_EXPIRES"') - for au in atom_updated: - sresult = sresult.replace(au, r'PYCSW_TIMESTAMP') - - # for csw:HarvestResponse documents, mask identifiers - # which are dynamically generated for OWS endpoints - if sresult.find(r'HarvestResponse') != -1: - identifier = re.findall(r'(\S+)', - sresult) - for i in identifier: - sresult = sresult.replace(i, r'PYCSW_IDENTIFIER') - - # JSON responses - timestamp = re.search(r'"@timestamp": "(.*?)"', sresult) - - if timestamp: - sresult = sresult.replace(timestamp.group(0), - r'"@timestamp": "PYCSW_TIMESTAMP"') - - # harvesting-based GetRecords/GetRecordById responses - if force_id_mask: - dcid = re.findall(r'(urn:uuid.*)', sresult) - isoid = re.findall(r'id="(urn:uuid.*)"', sresult) - isoid2 = re.findall(r'(urn:uuid.*) Date: Wed, 16 Nov 2016 17:47:28 +0000 Subject: [PATCH 022/119] made new copies of the test data files under tests/functionaltests Reorganized the location of test data files. This keeps things a bit cleaner --- .../suites/apiso-inspire/default.cfg | 91 ++ .../expected/get_GetCapabilities-lang.xml | 375 +++++ .../expected/get_GetCapabilities.xml | 375 +++++ .../suites/apiso-inspire/get/requests.txt | 2 + .../suites/apiso/data/3e9a8c05.xml | 248 +++ .../suites/apiso/data/README.txt | 7 + .../T_aerfo_RAS_1991_GR800P001800000012.xml | 37 + .../T_aerfo_RAS_1991_GR800P001800000013.xml | 37 + .../T_aerfo_RAS_1991_GR800P001800000014.xml | 37 + .../T_aerfo_RAS_1991_GR800P001800000015.xml | 37 + .../apiso/data/T_ortho_RAS_1998_284404.xml | 37 + .../apiso/data/T_ortho_RAS_1998_288395.xml | 37 + .../apiso/data/T_ortho_RAS_1998_288398.xml | 37 + .../apiso/data/T_ortho_RAS_1998_288401.xml | 37 + .../apiso/data/T_ortho_RAS_1998_288404.xml | 37 + .../apiso/data/T_pmoed_DTM_1996_276395.xml | 37 + .../apiso/data/T_pmoed_DTM_1996_276398.xml | 37 + .../apiso/data/T_pmoed_DTM_1996_276401.xml | 37 + .../apiso/data/T_pmoed_DTM_1996_276404.xml | 37 + .../apiso/data/T_pmoed_DTM_1996_280395.xml | 37 + .../suites/apiso/data/pacioos-NS06agg.xml | 1182 ++++++++++++++ .../suites/apiso/data/test.xml | 39 + .../functionaltests/suites/apiso/default.cfg | 91 ++ .../apiso/expected/post_DescribeRecord.xml | 551 +++++++ .../apiso/expected/post_GetCapabilities.xml | 318 ++++ .../expected/post_GetDomain-property.xml | 12 + .../expected/post_GetRecordById-brief.xml | 77 + .../expected/post_GetRecordById-full-dc.xml | 45 + .../expected/post_GetRecordById-full.xml | 40 + .../expected/post_GetRecordById-srv-brief.xml | 93 ++ .../post_GetRecords-all-csw-output.xml | 399 +++++ .../apiso/expected/post_GetRecords-all.xml | 399 +++++ .../expected/post_GetRecords-cql-title.xml | 372 +++++ .../expected/post_GetRecords-elementname.xml | 388 +++++ ...-filter-and-nested-spatial-or-dateline.xml | 1132 ++++++++++++++ .../post_GetRecords-filter-anytext.xml | 372 +++++ ...post_GetRecords-filter-bbox-csw-output.xml | 52 + .../expected/post_GetRecords-filter-bbox.xml | 388 +++++ .../post_GetRecords-filter-servicetype.xml | 96 ++ .../suites/apiso/post/DescribeRecord.xml | 4 + .../suites/apiso/post/GetCapabilities.xml | 9 + .../suites/apiso/post/GetDomain-property.xml | 5 + .../suites/apiso/post/GetRecordById-brief.xml | 6 + .../apiso/post/GetRecordById-full-dc.xml | 6 + .../suites/apiso/post/GetRecordById-full.xml | 6 + .../apiso/post/GetRecordById-srv-brief.xml | 6 + .../apiso/post/GetRecords-all-csw-output.xml | 6 + .../suites/apiso/post/GetRecords-all.xml | 6 + .../apiso/post/GetRecords-cql-title.xml | 9 + .../apiso/post/GetRecords-elementname.xml | 6 + ...-filter-and-nested-spatial-or-dateline.xml | 45 + .../apiso/post/GetRecords-filter-anytext.xml | 15 + .../GetRecords-filter-bbox-csw-output.xml | 19 + .../apiso/post/GetRecords-filter-bbox.xml | 18 + .../post/GetRecords-filter-servicetype.xml | 14 + tests/functionaltests/suites/atom/default.cfg | 90 ++ .../expected/get_opensearch-description.xml | 13 + .../get_opensearch-ogc-bbox-and-time.xml | 38 + .../atom/expected/get_opensearch-ogc-bbox.xml | 52 + .../get_opensearch-ogc-count-and-page1.xml | 32 + .../get_opensearch-ogc-count-and-page2.xml | 17 + .../get_opensearch-ogc-q-and-bbox.xml | 24 + .../get_opensearch-ogc-q-and-time.xml | 18 + .../atom/expected/get_opensearch-ogc-q.xml | 18 + .../atom/expected/get_opensearch-ogc-time.xml | 18 + .../expected/get_opensearch-ogc-timeend.xml | 18 + .../expected/get_opensearch-ogc-timestart.xml | 47 + .../suites/atom/expected/get_opensearch.xml | 110 ++ .../atom/expected/post_DescribeRecord.xml | 3 + .../atom/expected/post_GetCapabilities.xml | 262 ++++ .../expected/post_GetRecords-filter-bbox.xml | 36 + .../suites/atom/get/requests.txt | 12 + .../suites/atom/post/DescribeRecord.xml | 4 + .../suites/atom/post/GetCapabilities.xml | 9 + .../atom/post/GetRecords-filter-bbox.xml | 17 + .../suites/cite/data/README.txt | 65 + ...d_19887a8a-f6b0-4a63-ae56-7fba0e17801f.xml | 13 + ...d_1ef30a8b-876d-4828-9246-c37ab4510bbd.xml | 13 + ...d_66ae76b7-54ba-489b-a582-0f0633d96493.xml | 12 + ...d_6a3de50b-fa66-4b58-a0e6-ca146fdd18d4.xml | 11 + ...d_784e2afd-a9fd-44a6-9a92-a3848371c8ec.xml | 14 + ...d_829babb0-b2f1-49e1-8cd5-7b489fe71a1e.xml | 11 + ...d_88247b56-4cbc-4df9-9860-db3f8042e357.xml | 11 + ...d_94bc9c83-97f6-4b40-9eb8-a8e8787a5c63.xml | 17 + ...d_9a669547-b69b-469f-a11f-2d875366bbdc.xml | 16 + ...d_a06af396-3105-442d-8b40-22b57a90d2f2.xml | 11 + ...d_ab42a8c4-95e8-4630-bf79-33e59241605a.xml | 11 + ...d_e9330592-0932-474b-be34-c3a3bb67c7db.xml | 14 + .../functionaltests/suites/cite/data/cite.db | Bin 0 -> 82944 bytes tests/functionaltests/suites/cite/default.cfg | 86 ++ ...t_27e17158-c57a-4493-92ac-dba8934cf462.xml | 310 ++++ ...t_27f69b66-5f05-4311-a89c-73ca55c2686b.xml | 9 + ...t_2ab7d1fa-885b-459f-80e4-b6282eab4f8c.xml | 310 ++++ ...t_37aa90e2-6ff0-420c-af15-8b9463099a73.xml | 14 + ...t_3a8a3c47-455f-4f49-9078-03119f3e70b3.xml | 7 + ...t_4515831f-834a-4699-95f6-ab0c2cbfcfd0.xml | 7 + ...t_477b23a3-baa9-47c8-9541-5fe27735ed49.xml | 543 +++++++ ...t_48f26761-3a9d-48db-bee1-da089f5fb857.xml | 310 ++++ ...t_4e38092f-1586-44b8-988e-0acfa5855916.xml | 7 + ...t_55c38f00-2553-42c1-99ab-33edbb561ad7.xml | 392 +++++ ...t_5ab5db18-c87a-4fbf-a8d8-b7289b09ac81.xml | 7 + ...t_6a4f57ca-a1bd-4802-89c2-44860dbdb0f0.xml | 11 + ...t_6c375703-9c00-4aef-bec7-d2e964f849eb.xml | 13 + ...t_80f31def-4185-48b9-983a-960566918eae.xml | 543 +++++++ ...t_8e2232ed-05d9-44ae-8b04-0911cbe6a507.xml | 7 + ...t_9697f0aa-3b6a-4125-83a5-61e8826127c4.xml | 543 +++++++ ...t_9bfd17fa-15dc-4a10-8fa7-b3cff7013dd7.xml | 13 + ...t_b81c3595-06d6-4693-82ea-1ff8650755ac.xml | 3 + ...t_ba5fc729-3b71-47a0-b7d0-42ec565cd185.xml | 310 ++++ ...t_c4ea754f-c158-4d8d-8253-dc8f86021b52.xml | 7 + ...t_f4692ec5-9547-4a05-88ab-e6154af2640a.xml | 310 ++++ ...t_f997f25e-c865-4d53-a362-0ed1846337f2.xml | 15 + ...t_0c976d98-c896-4b10-b1fe-a22ef50434e7.xml | 6 + ...t_19d2a6ed-be28-4866-ae15-e3bb634486cb.xml | 55 + ...t_1ab55aa3-6685-4595-8ecd-45987a7b8b59.xml | 19 + ...t_1c958b7a-ca09-4c38-98bd-ef1d1d28cc14.xml | 7 + ...t_1c97fc1a-61cd-4c1d-8054-933e17a6c5ee.xml | 7 + ...t_2102a460-5d62-465f-9668-d70b3faafbfa.xml | 12 + ...t_225f455a-0035-486b-a94e-fee7ae881b2b.xml | 17 + ...t_2d53ffea-60e4-4652-abf5-36eb23042fd5.xml | 69 + ...t_34a019a9-1581-42cb-9827-fbfdda2773b7.xml | 6 + ...t_3e76fd38-e035-41c9-83dc-61356f680c97.xml | 7 + ...t_418a6fb0-a89c-4a94-afc9-3f8168eb2980.xml | 15 + ...t_420b745e-0c4b-404e-9f2d-61fa580ff05a.xml | 22 + ...t_4735d649-a2b1-42fd-a101-14e1d7e4607f.xml | 44 + ...t_5c5861bc-f742-40a5-9998-5342615d674b.xml | 49 + ...t_6e736fd0-c266-4852-9eb3-0656f5d0f5c4.xml | 89 ++ ...t_73f1551c-e269-4ef9-9dae-e535b5eebfc7.xml | 18 + ...t_78297c88-4850-4927-adc6-511cd9a3d539.xml | 115 ++ ...t_7c89cdf5-0def-4cfb-8c55-2b8ffea5d92f.xml | 56 + ...t_7e2cd105-daec-4d25-bc8e-d49d21364912.xml | 3 + ...t_87f2f670-9cd6-4907-b82c-1b46a7dd2a78.xml | 50 + ...t_88b4e1ba-3bd4-4cbe-81e5-e004056d6ca3.xml | 7 + ...t_898cd63b-2585-4ec0-8720-d554bd324174.xml | 14 + ...t_8fb13dc3-5818-45e2-9e29-46abc16e7d38.xml | 48 + ...t_928c1896-52d4-4ac7-9832-f98e3eb65f02.xml | 17 + ...t_93bdbb9d-2734-4f01-92fb-48634cca41de.xml | 21 + ...t_948b39d5-bb4f-45b8-a8f2-4ff9501aaedd.xml | 51 + ...t_9fd64fcc-f69c-4626-b72e-5c7776a29aa9.xml | 7 + ...t_a06d04ab-e0d0-4a86-bfe8-71460f41fe37.xml | 69 + ...t_ad61686c-d304-42d1-b845-8c1f3070c83e.xml | 8 + ...t_af39c020-7b1d-429c-b474-f45c3164cb79.xml | 21 + ...t_b90e2de6-3d25-4298-a13e-dc9492a8fc73.xml | 91 ++ ...t_ba9b0107-dcee-46ef-823a-a2e25a911a96.xml | 36 + ...t_bb66ebc5-7121-48b5-9f53-b56537d9561b.xml | 19 + ...t_c02d1c85-df9f-45ee-bea7-345c35e02a98.xml | 7 + ...t_c311a342-72e3-4983-be39-868e6ed9740f.xml | 115 ++ ...t_c38916c2-4bc6-446d-b7aa-ab006d6ba31c.xml | 27 + ...t_c8588f47-8e65-45f5-ad34-ff4524cad84d.xml | 7 + ...t_da228d4c-e1be-43d7-9ccb-c3f27ee32541.xml | 7 + ...t_dc92c2c4-87d8-4a13-964e-ff9b0e0c27b3.xml | 22 + ...t_dcb13791-379e-4739-bcd4-dbaa69f0efdb.xml | 69 + ...t_e308f030-c097-4036-a838-44bad74c9ef7.xml | 69 + ...t_e6e9efb2-e2b7-4b0a-a3a2-7deea3f9b8e2.xml | 69 + ...t_f7976c55-a156-4421-8199-bc0487da4b0f.xml | 115 ++ ...t_f7d79701-f10b-4087-a33c-f62df0a04fd1.xml | 69 + ...t_fc1bc094-88f1-4851-bc2b-dfc56be9f3c7.xml | 12 + ...t_fe20960f-a26c-4f13-852d-470a0d3233f9.xml | 12 + .../suites/cite/get/requests.txt | 22 + .../0c976d98-c896-4b10-b1fe-a22ef50434e7.xml | 20 + .../19d2a6ed-be28-4866-ae15-e3bb634486cb.xml | 20 + .../1ab55aa3-6685-4595-8ecd-45987a7b8b59.xml | 14 + .../1c958b7a-ca09-4c38-98bd-ef1d1d28cc14.xml | 6 + .../1c97fc1a-61cd-4c1d-8054-933e17a6c5ee.xml | 14 + .../2102a460-5d62-465f-9668-d70b3faafbfa.xml | 14 + .../225f455a-0035-486b-a94e-fee7ae881b2b.xml | 16 + .../2d53ffea-60e4-4652-abf5-36eb23042fd5.xml | 6 + .../34a019a9-1581-42cb-9827-fbfdda2773b7.xml | 6 + .../3e76fd38-e035-41c9-83dc-61356f680c97.xml | 4 + .../418a6fb0-a89c-4a94-afc9-3f8168eb2980.xml | 25 + .../420b745e-0c4b-404e-9f2d-61fa580ff05a.xml | 16 + .../4735d649-a2b1-42fd-a101-14e1d7e4607f.xml | 6 + .../5c5861bc-f742-40a5-9998-5342615d674b.xml | 14 + .../6e736fd0-c266-4852-9eb3-0656f5d0f5c4.xml | 6 + .../73f1551c-e269-4ef9-9dae-e535b5eebfc7.xml | 14 + .../78297c88-4850-4927-adc6-511cd9a3d539.xml | 2 + .../7c89cdf5-0def-4cfb-8c55-2b8ffea5d92f.xml | 6 + .../7e2cd105-daec-4d25-bc8e-d49d21364912.xml | 4 + .../87f2f670-9cd6-4907-b82c-1b46a7dd2a78.xml | 8 + .../88b4e1ba-3bd4-4cbe-81e5-e004056d6ca3.xml | 4 + .../898cd63b-2585-4ec0-8720-d554bd324174.xml | 20 + .../8fb13dc3-5818-45e2-9e29-46abc16e7d38.xml | 20 + .../928c1896-52d4-4ac7-9832-f98e3eb65f02.xml | 16 + .../93bdbb9d-2734-4f01-92fb-48634cca41de.xml | 18 + .../948b39d5-bb4f-45b8-a8f2-4ff9501aaedd.xml | 14 + .../9fd64fcc-f69c-4626-b72e-5c7776a29aa9.xml | 4 + .../a06d04ab-e0d0-4a86-bfe8-71460f41fe37.xml | 6 + .../ad61686c-d304-42d1-b845-8c1f3070c83e.xml | 14 + .../af39c020-7b1d-429c-b474-f45c3164cb79.xml | 14 + .../b90e2de6-3d25-4298-a13e-dc9492a8fc73.xml | 16 + .../ba9b0107-dcee-46ef-823a-a2e25a911a96.xml | 20 + .../bb66ebc5-7121-48b5-9f53-b56537d9561b.xml | 27 + .../c02d1c85-df9f-45ee-bea7-345c35e02a98.xml | 16 + .../c311a342-72e3-4983-be39-868e6ed9740f.xml | 4 + .../c38916c2-4bc6-446d-b7aa-ab006d6ba31c.xml | 25 + .../c8588f47-8e65-45f5-ad34-ff4524cad84d.xml | 17 + .../da228d4c-e1be-43d7-9ccb-c3f27ee32541.xml | 14 + .../dc92c2c4-87d8-4a13-964e-ff9b0e0c27b3.xml | 16 + .../dcb13791-379e-4739-bcd4-dbaa69f0efdb.xml | 6 + .../e308f030-c097-4036-a838-44bad74c9ef7.xml | 6 + .../e6e9efb2-e2b7-4b0a-a3a2-7deea3f9b8e2.xml | 12 + .../f7976c55-a156-4421-8199-bc0487da4b0f.xml | 4 + .../f7d79701-f10b-4087-a33c-f62df0a04fd1.xml | 6 + .../fc1bc094-88f1-4851-bc2b-dfc56be9f3c7.xml | 14 + .../fe20960f-a26c-4f13-852d-470a0d3233f9.xml | 14 + .../functionaltests/suites/csw30/default.cfg | 90 ++ ...t_002258f0-627f-457f-b2ad-025777c77ac8.xml | 15 + ...t_045c600d-973d-41eb-9f60-eba1b717b720.xml | 24 + ...t_0bbcf862-5211-4351-9988-63f8bec49c98.xml | 116 ++ ...t_0bdf8457-971e-4ed1-be4a-5feca4dcd8fa.xml | 491 ++++++ ...t_0d8bbdec-0846-42ca-8dc8-b7f4cba41d67.xml | 47 + ...t_0e1dca37-477a-4060-99fe-7799b52d656c.xml | 15 + ...t_13c87956-51a4-4780-a8e9-6e0b5c0bb473.xml | 92 ++ ...t_151d982f-ebd3-4cb2-b507-a667713a1e92.xml | 7 + ...t_1869e495-1a61-4713-8285-76d1336ee1a6.xml | 7 + ...t_1bcb42a9-538c-4f0a-9d4c-d6f10b720aa6.xml | 7 + ...t_22f44168-2ccf-4801-ad96-204212566d56.xml | 491 ++++++ ...t_2499a9c9-8d33-449c-bc92-d494adfcc84d.xml | 491 ++++++ ...t_27f4f39c-d92a-4e3c-b961-c6aa8c24e513.xml | 491 ++++++ ...t_28e569df-8596-4128-8d9a-29ad03138915.xml | 8 + ...t_2b06a5c8-0df2-4af1-8d2e-a425de11c845.xml | 491 ++++++ ...t_2ba1418a-444d-4cce-9cfe-4c94efcf8b55.xml | 32 + ...t_397fe17a-d5b4-4f96-8cc4-4ce467ed4d0a.xml | 30 + ...t_3dcd1b15-73d2-4b7d-a3e3-ff15bf14aae4.xml | 69 + ...t_405e1ff1-5c75-4846-a28b-cfaff2a6921a.xml | 23 + ...t_43cd6471-6ac7-45bd-8ff9-148cb2de9a52.xml | 491 ++++++ ...t_4566d2ec-1283-4a02-baed-a74fc5b47e37.xml | 18 + ...t_461bd4c5-6623-490d-9036-d91a2201e87b.xml | 3 + ...t_5496894a-3877-4f62-a20b-5d7126f94925.xml | 7 + ...t_5a015f6a-bf14-4977-b1e3-6577eb0223c8.xml | 40 + ...t_5c3a2390-1fb9-43f0-b96c-f48c7a69c990.xml | 7 + ...t_5e9e67dc-18d6-4645-8111-c6263c88a61f.xml | 326 ++++ ...t_604d9379-741c-42e5-b4cf-92e56c87fa64.xml | 32 + ...t_60e6af95-d5fc-465a-82e2-fd2e6d85e4af.xml | 7 + ...t_62ad94c2-b558-4265-a427-23d6677975d6.xml | 7 + ...t_6a5e247b-0961-4b8a-a0d6-35a491d9cfe7.xml | 7 + ...t_6a9d0558-9d87-495b-b999-b49a3ef1cf99.xml | 491 ++++++ ...t_6bd790c9-6019-4652-9c91-330a894d6700.xml | 16 + ...t_6e9cba43-5e27-415d-adbd-a92851c2c173.xml | 491 ++++++ ...t_7630d230-e142-4a09-accf-f091000b90cd.xml | 10 + ...t_7e82446a-b5dc-43fe-9a73-4cc1f2f2f0bf.xml | 491 ++++++ ...t_8025978e-1a35-4d70-80c2-e8329e0c7864.xml | 491 ++++++ ...t_8184ae4f-536d-4978-8b28-ad703be96967.xml | 34 + ...t_88f63a89-664f-4315-b4f8-04a0b33803a7.xml | 18 + ...t_8987f8f0-4d93-4481-968c-a2ccbd6b8be2.xml | 7 + ...t_8e5fa0f6-3f29-4d1f-abe2-d9866f3def98.xml | 58 + ...t_9000ec29-5649-474e-b2d6-55c00f8a52c0.xml | 7 + ...t_91914d35-7bbf-45e6-9b37-5ef484869a4e.xml | 38 + ...t_92d4844d-57d5-4cf3-8f47-ba50e369dc04.xml | 6 + ...t_9c0e2a4b-b4e6-41c0-b630-c8c99fc89ff3.xml | 7 + ...t_9d7ffac8-9798-428d-8e27-3cd12497ee6b.xml | 7 + ...et_Exception-GetDomain-value-reference.xml | 7 + .../expected/get_Exception-GetDomain.xml | 7 + .../get_Exception-GetRecordById-404.xml | 7 + .../get_Exception-GetRecordById-dc.xml.xml | 9 + ...t_Exception-GetRepositoryItem-notfound.xml | 7 + .../get_Exception-invalid-request.xml | 7 + .../expected/get_GetCapabilities-base-url.xml | 491 ++++++ .../get_GetCapabilities-no-version.xml | 491 ++++++ .../csw30/expected/get_GetCapabilities.xml | 491 ++++++ .../expected/get_GetDomain-parameter.xml | 12 + .../get_GetDomain-value-reference.xml | 18 + .../csw30/expected/get_GetRepositoryItem.xml | 11 + .../expected/get_OpenSearch-description.xml | 15 + ...t_a2f18643-e24e-4fa5-b780-6de4a2dbc814.xml | 9 + ...t_abc90c8c-5868-4405-a73e-64c849be3b2a.xml | 7 + ...t_ad0c0571-09ed-436a-9a4f-a5de744c88fe.xml | 22 + ...t_af502903-f4ee-47ee-b76e-af878d238bcc.xml | 40 + ...t_b2aafc3f-4f35-47bc-affd-08590972deae.xml | 58 + ...t_b6069623-f7d8-4021-8582-98f0aea0f763.xml | 48 + ...t_b9a07a54-75a8-45bd-b341-2823600211e3.xml | 8 + ...t_baa4a7d0-0c01-42b6-adc3-0d03e9949fa3.xml | 7 + ...t_bfbe6409-f64a-4c89-acb3-50f260a5c743.xml | 15 + ...t_bfe20134-d1da-42ef-9c0f-8e1307bbf92b.xml | 38 + ...t_c03d173a-3f42-4956-89c8-1fe02c3a0873.xml | 491 ++++++ ...t_cb43d8c3-e14c-4a9f-9231-4384b7dd21f3.xml | 7 + ...t_d03c6fd3-e821-4a26-b62f-d20a474e25af.xml | 30 + ...t_d4ccbf96-a529-480e-a53d-5b88dc1dea7f.xml | 7 + ...t_d94c801a-1207-4897-b84a-53f3a192515b.xml | 6 + ...t_da859e34-91fc-495a-8c09-285a40c0900b.xml | 14 + ...t_dc246fb8-5af5-4fda-82bb-c18b3ecd439c.xml | 40 + ...t_de016645-6d5c-4855-943c-2db07ae9f49a.xml | 30 + ...t_dff3ec6b-bb2d-4887-bd17-8fcf15def042.xml | 89 ++ ...t_e38e6bfb-8ac4-4ae4-8b87-0aafbc8d3c6b.xml | 11 + ...t_e67ca935-d65d-4d8c-8302-1405333dded0.xml | 491 ++++++ ...t_e7704509-3441-458f-8ef0-e333c6b6043f.xml | 7 + ...t_f1223a49-6d08-44ff-97fe-4c32cbbfad82.xml | 6 + ...t_f89dd4e1-3a81-4433-afd2-a3fa1bdb1e18.xml | 7 + ..._Exception-GetDomain-parametername-bad.xml | 7 + ...Exception-GetDomain-valuereference-bad.xml | 7 + .../post_Exception-GetRecordById-404.xml | 7 + .../post_Exception-GetRecordById-bad-esn.xml | 7 + .../csw30/expected/post_Exception-bad-xml.xml | 8 + .../csw30/expected/post_Exception-not-xml.xml | 8 + .../csw30/expected/post_GetCapabilities.xml | 491 ++++++ .../expected/post_GetDomain-parametername.xml | 12 + .../post_GetDomain-valuereference.xml | 18 + .../expected/post_GetRecordById-dc-full.xml | 10 + .../csw30/expected/post_GetRecordById-dc.xml | 10 + .../suites/csw30/get/requests.txt | 82 + .../Exception-GetDomain-parametername-bad.xml | 4 + ...Exception-GetDomain-valuereference-bad.xml | 4 + .../post/Exception-GetRecordById-404.xml | 4 + .../post/Exception-GetRecordById-bad-esn.xml | 5 + .../suites/csw30/post/Exception-bad-xml.xml | 9 + .../suites/csw30/post/Exception-not-xml.xml | 1 + .../suites/csw30/post/GetCapabilities.xml | 9 + .../csw30/post/GetDomain-parametername.xml | 4 + .../csw30/post/GetDomain-valuereference.xml | 4 + .../csw30/post/GetRecordById-dc-full.xml | 5 + .../suites/csw30/post/GetRecordById-dc.xml | 4 + .../suites/default/default.cfg | 90 ++ ...t_Exception-GetRepositoryItem-notfound.xml | 7 + ...ion-GetRepositoryItem-service-invalid1.xml | 7 + ...ion-GetRepositoryItem-service-invalid2.xml | 7 + ...tion-GetRepositoryItem-version-invalid.xml | 7 + .../get_GetCapabilities-invalid-request.xml | 7 + .../default/expected/get_GetCapabilities.xml | 262 ++++ .../default/expected/get_GetRecords-all.xml | 6 + .../get_GetRecords-empty-maxrecords.xml | 6 + ...lter-cql-title-or-abstract-with-spaces.xml | 23 + ...etRecords-filter-cql-title-or-abstract.xml | 23 + ...le-with-spaces-or-abstract-with-spaces.xml | 23 + ...lter-cql-title-with-spaces-or-abstract.xml | 23 + ...etRecords-filter-cql-title-with-spaces.xml | 23 + .../get_GetRecords-filter-cql-title.xml | 23 + .../expected/get_GetRecords-filter.xml | 16 + .../expected/get_GetRecords-sortby-asc.xml | 91 ++ .../expected/get_GetRecords-sortby-desc.xml | 93 ++ .../get_GetRecords-sortby-invalid-order.xml | 7 + ...GetRecords-sortby-invalid-propertyname.xml | 7 + .../expected/get_GetRepositoryItem.xml | 14 + .../expected/post_DescribeRecord-json.xml | 231 +++ .../default/expected/post_DescribeRecord.xml | 115 ++ .../post_Exception-GetRecords-badsrsname.xml | 7 + .../post_Exception-GetRecords-elementname.xml | 7 + .../post_Exception-GetRecords-invalid-xml.xml | 8 + .../expected/post_GetCapabilities-SOAP.xml | 266 ++++ .../post_GetCapabilities-sections.xml | 83 + .../post_GetCapabilities-updatesequence.xml | 262 ++++ .../default/expected/post_GetCapabilities.xml | 262 ++++ .../expected/post_GetDomain-parameter.xml | 11 + .../expected/post_GetDomain-property.xml | 18 + .../expected/post_GetRecordById-json.xml | 18 + .../default/expected/post_GetRecordById.xml | 15 + .../expected/post_GetRecords-all-json.xml | 64 + .../post_GetRecords-all-resulttype-hits.xml | 6 + ...ost_GetRecords-all-resulttype-validate.xml | 11 + .../post_GetRecords-all-sortby-bbox.xml | 56 + .../default/expected/post_GetRecords-all.xml | 49 + .../post_GetRecords-bbox-filter-crs84.xml | 34 + ...post_GetRecords-cql-title-and-abstract.xml | 12 + .../expected/post_GetRecords-cql-title.xml | 17 + .../post_GetRecords-distributedsearch.xml | 17 + .../expected/post_GetRecords-elementname.xml | 20 + .../default/expected/post_GetRecords-end.xml | 30 + ...st_GetRecords-filter-and-bbox-freetext.xml | 16 + .../post_GetRecords-filter-and-nested-or.xml | 16 + .../post_GetRecords-filter-and-nested-or2.xml | 23 + ...post_GetRecords-filter-anytext-and-not.xml | 15 + .../post_GetRecords-filter-anytext-equal.xml | 36 + .../post_GetRecords-filter-anytext.xml | 36 + .../post_GetRecords-filter-bbox-reproject.xml | 25 + .../post_GetRecords-filter-bbox-sortby.xml | 25 + .../expected/post_GetRecords-filter-bbox.xml | 25 + .../post_GetRecords-filter-between.xml | 49 + .../post_GetRecords-filter-function-bad.xml | 7 + .../post_GetRecords-filter-function.xml | 12 + .../post_GetRecords-filter-not-bbox.xml | 36 + ...ost_GetRecords-filter-or-bbox-freetext.xml | 25 + .../post_GetRecords-filter-or-nested-and.xml | 60 + ...st_GetRecords-filter-or-title-abstract.xml | 19 + .../expected/post_GetRecords-maxrecords.xml | 16 + .../expected/post_GetRecords-requestid.xml | 50 + .../default/expected/post_Harvest-default.xml | 7 + .../post_Harvest-response-handler.xml | 7 + .../expected/post_Transaction-delete.xml | 7 + .../expected/post_Transaction-insert.xml | 7 + .../expected/post_Transaction-update-full.xml | 7 + ...post_Transaction-update-recordproperty.xml | 7 + .../suites/default/get/requests.txt | 20 + .../default/post/DescribeRecord-json.xml | 4 + .../suites/default/post/DescribeRecord.xml | 4 + .../post/Exception-GetRecords-badsrsname.xml | 19 + .../post/Exception-GetRecords-elementname.xml | 6 + .../post/Exception-GetRecords-invalid-xml.xml | 6 + .../default/post/GetCapabilities-SOAP.xml | 13 + .../default/post/GetCapabilities-sections.xml | 12 + .../post/GetCapabilities-updatesequence.xml | 9 + .../suites/default/post/GetCapabilities.xml | 9 + .../default/post/GetDomain-parameter.xml | 4 + .../default/post/GetDomain-property.xml | 4 + .../default/post/GetRecordById-json.xml | 5 + .../suites/default/post/GetRecordById.xml | 5 + .../default/post/GetRecords-all-json.xml | 6 + .../post/GetRecords-all-resulttype-hits.xml | 6 + .../GetRecords-all-resulttype-validate.xml | 6 + .../post/GetRecords-all-sortby-bbox.xml | 12 + .../suites/default/post/GetRecords-all.xml | 6 + .../post/GetRecords-bbox-filter-crs84.xml | 17 + .../GetRecords-cql-title-and-abstract.xml | 9 + .../default/post/GetRecords-cql-title.xml | 9 + .../post/GetRecords-distributedsearch.xml | 15 + .../default/post/GetRecords-elementname.xml | 6 + .../suites/default/post/GetRecords-end.xml | 6 + .../GetRecords-filter-and-bbox-freetext.xml | 23 + .../post/GetRecords-filter-and-nested-or.xml | 38 + .../post/GetRecords-filter-and-nested-or2.xml | 34 + .../GetRecords-filter-anytext-and-not.xml | 26 + .../post/GetRecords-filter-anytext-equal.xml | 14 + .../post/GetRecords-filter-anytext.xml | 14 + .../post/GetRecords-filter-bbox-reproject.xml | 17 + .../post/GetRecords-filter-bbox-sortby.xml | 23 + .../default/post/GetRecords-filter-bbox.xml | 17 + .../post/GetRecords-filter-between.xml | 20 + .../post/GetRecords-filter-function-bad.xml | 17 + .../post/GetRecords-filter-function.xml | 17 + .../post/GetRecords-filter-not-bbox.xml | 19 + .../GetRecords-filter-or-bbox-freetext.xml | 23 + .../post/GetRecords-filter-or-nested-and.xml | 30 + .../GetRecords-filter-or-title-abstract.xml | 20 + .../default/post/GetRecords-maxrecords.xml | 6 + .../default/post/GetRecords-requestid.xml | 6 + .../suites/default/post/Harvest-default.xml | 6 + .../default/post/Harvest-response-handler.xml | 7 + .../default/post/Transaction-delete.xml | 13 + .../default/post/Transaction-insert.xml | 73 + .../default/post/Transaction-update-full.xml | 73 + .../Transaction-update-recordproperty.xml | 17 + tests/functionaltests/suites/dif/default.cfg | 90 ++ .../dif/expected/post_DescribeRecord.xml | 3 + .../dif/expected/post_GetCapabilities.xml | 262 ++++ .../expected/post_GetRecords-filter-bbox.xml | 71 + .../suites/dif/post/DescribeRecord.xml | 4 + .../suites/dif/post/GetCapabilities.xml | 9 + .../dif/post/GetRecords-filter-bbox.xml | 17 + .../functionaltests/suites/ebrim/default.cfg | 93 ++ .../ebrim/expected/post_DescribeRecord.xml | 93 ++ .../ebrim/expected/post_GetCapabilities.xml | 266 ++++ .../post_GetRecords-filter-bbox-full.xml | 57 + .../expected/post_GetRecords-filter-bbox.xml | 13 + .../suites/ebrim/post/DescribeRecord.xml | 4 + .../suites/ebrim/post/GetCapabilities.xml | 9 + .../post/GetRecords-filter-bbox-full.xml | 17 + .../ebrim/post/GetRecords-filter-bbox.xml | 17 + tests/functionaltests/suites/fgdc/default.cfg | 90 ++ .../fgdc/expected/post_DescribeRecord.xml | 3 + .../fgdc/expected/post_GetCapabilities.xml | 262 ++++ .../expected/post_GetRecords-filter-bbox.xml | 123 ++ .../suites/fgdc/post/DescribeRecord.xml | 4 + .../suites/fgdc/post/GetCapabilities.xml | 9 + .../fgdc/post/GetRecords-filter-bbox.xml | 17 + tests/functionaltests/suites/gm03/default.cfg | 90 ++ .../gm03/expected/post_GetCapabilities.xml | 262 ++++ .../expected/post_GetRecords-filter-bbox.xml | 137 ++ .../suites/gm03/post/GetCapabilities.xml | 9 + .../gm03/post/GetRecords-filter-bbox.xml | 17 + .../suites/harvesting/default.cfg | 91 ++ ...Exception-Harvest-invalid-resourcetype.xml | 7 + ...Exception-Harvest-missing-resourcetype.xml | 7 + .../get_Exception-Harvest-missing-source.xml | 7 + .../get_Exception-Harvest-waf-bad-value.xml | 7 + ...Exception-Harvest-waf-no-records-found.xml | 11 + .../expected/post_Clear-000-delete-all.xml | 9 + .../post_Exception-Havest-csw-404.xml | 7 + .../expected/post_GetCapabilities.xml | 368 +++++ .../expected/post_GetDomain-parameter.xml | 27 + .../expected/post_Harvest-csw-iso.xml | 149 ++ .../expected/post_Harvest-csw-run1.xml | 65 + .../expected/post_Harvest-csw-run2.xml | 11 + .../harvesting/expected/post_Harvest-dc.xml | 17 + .../harvesting/expected/post_Harvest-fgdc.xml | 17 + .../harvesting/expected/post_Harvest-iso.xml | 17 + .../harvesting/expected/post_Harvest-rdf.xml | 17 + .../expected/post_Harvest-sos100.xml | 133 ++ .../expected/post_Harvest-sos200.xml | 21 + .../harvesting/expected/post_Harvest-waf.xml | 25 + .../harvesting/expected/post_Harvest-wcs.xml | 33 + .../expected/post_Harvest-wfs110.xml | 37 + .../expected/post_Harvest-wfs200.xml | 57 + .../expected/post_Harvest-wms-run1.xml | 29 + .../expected/post_Harvest-wms-run2.xml | 11 + .../harvesting/expected/post_Harvest-wmts.xml | 45 + .../harvesting/expected/post_Harvest-wps.xml | 57 + ...vest-zzz-post-GetRecords-filter-ows-dc.xml | 125 ++ ...post-GetRecords-filter-sos-abstract-dc.xml | 30 + ...vest-zzz-post-GetRecords-filter-sos-dc.xml | 69 + ...est-zzz-post-GetRecords-filter-sos-iso.xml | 955 ++++++++++++ ...est-zzz-post-GetRecords-filter-wfs-iso.xml | 1061 +++++++++++++ ...vest-zzz-post-GetRecords-filter-wms-dc.xml | 89 ++ ...est-zzz-post-GetRecords-filter-wms-iso.xml | 1361 +++++++++++++++++ ...t-zzz-post-GetRecords-filter-wms-layer.xml | 33 + ...zzz-post-GetRecords-filter-wps-process.xml | 62 + .../post_Transaction-000-delete-all.xml | 9 + .../suites/harvesting/get/requests.txt | 5 + .../harvesting/post/Clear-000-delete-all.xml | 13 + .../post/Exception-Havest-csw-404.xml | 6 + .../harvesting/post/GetCapabilities.xml | 9 + .../harvesting/post/GetDomain-parameter.xml | 4 + .../harvesting/post/Harvest-csw-iso.xml | 6 + .../harvesting/post/Harvest-csw-run1.xml | 6 + .../harvesting/post/Harvest-csw-run2.xml | 6 + .../suites/harvesting/post/Harvest-dc.xml | 6 + .../suites/harvesting/post/Harvest-fgdc.xml | 6 + .../suites/harvesting/post/Harvest-iso.xml | 6 + .../suites/harvesting/post/Harvest-rdf.xml | 6 + .../suites/harvesting/post/Harvest-sos100.xml | 5 + .../suites/harvesting/post/Harvest-sos200.xml | 5 + .../suites/harvesting/post/Harvest-waf.xml | 5 + .../suites/harvesting/post/Harvest-wcs.xml | 6 + .../suites/harvesting/post/Harvest-wfs110.xml | 6 + .../suites/harvesting/post/Harvest-wfs200.xml | 6 + .../harvesting/post/Harvest-wms-run1.xml | 6 + .../harvesting/post/Harvest-wms-run2.xml | 6 + .../suites/harvesting/post/Harvest-wmts.xml | 6 + .../suites/harvesting/post/Harvest-wps.xml | 6 + ...vest-zzz-post-GetRecords-filter-ows-dc.xml | 36 + ...post-GetRecords-filter-sos-abstract-dc.xml | 24 + ...vest-zzz-post-GetRecords-filter-sos-dc.xml | 20 + ...est-zzz-post-GetRecords-filter-sos-iso.xml | 20 + ...est-zzz-post-GetRecords-filter-wfs-iso.xml | 20 + ...vest-zzz-post-GetRecords-filter-wms-dc.xml | 20 + ...est-zzz-post-GetRecords-filter-wms-iso.xml | 20 + ...t-zzz-post-GetRecords-filter-wms-layer.xml | 20 + ...zzz-post-GetRecords-filter-wps-process.xml | 14 + .../post/Transaction-000-delete-all.xml | 13 + .../suites/manager/default.cfg | 91 ++ .../expected/post_Clear-000-delete-all.xml | 9 + .../manager/expected/post_GetCapabilities.xml | 368 +++++ .../expected/post_GetDomain-parameter.xml | 27 + .../post_Transaction-000-delete-all.xml | 9 + .../post_Transaction-dc-01-insert.xml | 15 + .../post_Transaction-dc-02-update-full.xml | 9 + .../post_Transaction-fgdc-01-insert.xml | 15 + ...ost_Transaction-fgdc-02-update-recprop.xml | 9 + .../post_Transaction-fgdc-03-delete-all.xml | 9 + .../post_Transaction-iso-00-delete-all.xml | 9 + .../post_Transaction-iso-01-insert.xml | 15 + .../post_Transaction-iso-02-update-full.xml | 9 + ...post_Transaction-iso-03-update-recprop.xml | 9 + ...ction-iso-04-update-recprop-no-matches.xml | 9 + .../post_Transaction-iso-05-delete.xml | 9 + .../post_Transaction-xxx-delete-all.xml | 9 + .../manager/post/Clear-000-delete-all.xml | 13 + .../suites/manager/post/GetCapabilities.xml | 9 + .../manager/post/GetDomain-parameter.xml | 4 + .../post/Transaction-000-delete-all.xml | 13 + .../manager/post/Transaction-dc-01-insert.xml | 22 + .../post/Transaction-dc-02-update-full.xml | 22 + .../post/Transaction-fgdc-01-insert.xml | 214 +++ .../Transaction-fgdc-02-update-recprop.xml | 17 + .../post/Transaction-fgdc-03-delete-all.xml | 13 + .../post/Transaction-iso-00-delete-all.xml | 13 + .../post/Transaction-iso-01-insert.xml | 73 + .../post/Transaction-iso-02-update-full.xml | 73 + .../Transaction-iso-03-update-recprop.xml | 17 + ...ction-iso-04-update-recprop-no-matches.xml | 17 + .../post/Transaction-iso-05-delete.xml | 13 + .../post/Transaction-xxx-delete-all.xml | 13 + .../functionaltests/suites/oaipmh/default.cfg | 91 ++ .../get_GetRecord_bad_metadata_prefix.xml | 7 + .../oaipmh/expected/get_GetRecord_dc.xml | 26 + .../oaipmh/expected/get_GetRecord_iso.xml | 62 + .../oaipmh/expected/get_GetRecord_oai_dc.xml | 26 + .../suites/oaipmh/expected/get_Identify.xml | 15 + ...et_ListIdentifiers_bad_metadata_prefix.xml | 7 + .../expected/get_ListIdentifiers_dc.xml | 79 + .../expected/get_ListIdentifiers_iso.xml | 79 + ...istIdentifiers_missing_metadata_prefix.xml | 7 + .../expected/get_ListIdentifiers_oai_dc.xml | 79 + .../expected/get_ListMetadataFormats.xml | 38 + .../oaipmh/expected/get_ListRecords_dc.xml | 185 +++ ...get_ListRecords_dc_bad_metadata_prefix.xml | 7 + .../expected/get_ListRecords_iso19139.xml | 588 +++++++ .../expected/get_ListRecords_oai_dc.xml | 185 +++ .../suites/oaipmh/expected/get_ListSets.xml | 16 + .../suites/oaipmh/expected/get_bad_verb.xml | 7 + .../suites/oaipmh/expected/get_empty.xml | 7 + .../oaipmh/expected/get_empty_with_amp.xml | 7 + .../oaipmh/expected/get_illegal_verb.xml | 7 + .../suites/oaipmh/get/requests.txt | 20 + .../suites/repofilter/default.cfg | 91 ++ .../expected/post_GetRecordById-masked.xml | 3 + .../expected/post_GetRecords-all.xml | 37 + .../repofilter/post/GetRecordById-masked.xml | 5 + .../suites/repofilter/post/GetRecords-all.xml | 6 + tests/functionaltests/suites/sru/default.cfg | 90 ++ .../suites/sru/expected/get_explain.xml | 128 ++ .../suites/sru/expected/get_search.xml | 6 + .../suites/sru/expected/get_search_cql.xml | 30 + .../sru/expected/get_search_maxrecords.xml | 30 + .../get_search_startrecord_maxrecords.xml | 30 + .../suites/sru/get/requests.txt | 5 + .../functionaltests/suites/utf-8/default.cfg | 89 ++ .../utf-8/expected/post_GetCapabilities.xml | 262 ++++ .../suites/utf-8/post/GetCapabilities.xml | 9 + 596 files changed, 39573 insertions(+) create mode 100644 tests/functionaltests/suites/apiso-inspire/default.cfg create mode 100644 tests/functionaltests/suites/apiso-inspire/expected/get_GetCapabilities-lang.xml create mode 100644 tests/functionaltests/suites/apiso-inspire/expected/get_GetCapabilities.xml create mode 100644 tests/functionaltests/suites/apiso-inspire/get/requests.txt create mode 100644 tests/functionaltests/suites/apiso/data/3e9a8c05.xml create mode 100644 tests/functionaltests/suites/apiso/data/README.txt create mode 100644 tests/functionaltests/suites/apiso/data/T_aerfo_RAS_1991_GR800P001800000012.xml create mode 100644 tests/functionaltests/suites/apiso/data/T_aerfo_RAS_1991_GR800P001800000013.xml create mode 100644 tests/functionaltests/suites/apiso/data/T_aerfo_RAS_1991_GR800P001800000014.xml create mode 100644 tests/functionaltests/suites/apiso/data/T_aerfo_RAS_1991_GR800P001800000015.xml create mode 100644 tests/functionaltests/suites/apiso/data/T_ortho_RAS_1998_284404.xml create mode 100644 tests/functionaltests/suites/apiso/data/T_ortho_RAS_1998_288395.xml create mode 100644 tests/functionaltests/suites/apiso/data/T_ortho_RAS_1998_288398.xml create mode 100644 tests/functionaltests/suites/apiso/data/T_ortho_RAS_1998_288401.xml create mode 100644 tests/functionaltests/suites/apiso/data/T_ortho_RAS_1998_288404.xml create mode 100644 tests/functionaltests/suites/apiso/data/T_pmoed_DTM_1996_276395.xml create mode 100644 tests/functionaltests/suites/apiso/data/T_pmoed_DTM_1996_276398.xml create mode 100644 tests/functionaltests/suites/apiso/data/T_pmoed_DTM_1996_276401.xml create mode 100644 tests/functionaltests/suites/apiso/data/T_pmoed_DTM_1996_276404.xml create mode 100644 tests/functionaltests/suites/apiso/data/T_pmoed_DTM_1996_280395.xml create mode 100644 tests/functionaltests/suites/apiso/data/pacioos-NS06agg.xml create mode 100644 tests/functionaltests/suites/apiso/data/test.xml create mode 100644 tests/functionaltests/suites/apiso/default.cfg create mode 100644 tests/functionaltests/suites/apiso/expected/post_DescribeRecord.xml create mode 100644 tests/functionaltests/suites/apiso/expected/post_GetCapabilities.xml create mode 100644 tests/functionaltests/suites/apiso/expected/post_GetDomain-property.xml create mode 100644 tests/functionaltests/suites/apiso/expected/post_GetRecordById-brief.xml create mode 100644 tests/functionaltests/suites/apiso/expected/post_GetRecordById-full-dc.xml create mode 100644 tests/functionaltests/suites/apiso/expected/post_GetRecordById-full.xml create mode 100644 tests/functionaltests/suites/apiso/expected/post_GetRecordById-srv-brief.xml create mode 100644 tests/functionaltests/suites/apiso/expected/post_GetRecords-all-csw-output.xml create mode 100644 tests/functionaltests/suites/apiso/expected/post_GetRecords-all.xml create mode 100644 tests/functionaltests/suites/apiso/expected/post_GetRecords-cql-title.xml create mode 100644 tests/functionaltests/suites/apiso/expected/post_GetRecords-elementname.xml create mode 100644 tests/functionaltests/suites/apiso/expected/post_GetRecords-filter-and-nested-spatial-or-dateline.xml create mode 100644 tests/functionaltests/suites/apiso/expected/post_GetRecords-filter-anytext.xml create mode 100644 tests/functionaltests/suites/apiso/expected/post_GetRecords-filter-bbox-csw-output.xml create mode 100644 tests/functionaltests/suites/apiso/expected/post_GetRecords-filter-bbox.xml create mode 100644 tests/functionaltests/suites/apiso/expected/post_GetRecords-filter-servicetype.xml create mode 100644 tests/functionaltests/suites/apiso/post/DescribeRecord.xml create mode 100644 tests/functionaltests/suites/apiso/post/GetCapabilities.xml create mode 100644 tests/functionaltests/suites/apiso/post/GetDomain-property.xml create mode 100644 tests/functionaltests/suites/apiso/post/GetRecordById-brief.xml create mode 100644 tests/functionaltests/suites/apiso/post/GetRecordById-full-dc.xml create mode 100644 tests/functionaltests/suites/apiso/post/GetRecordById-full.xml create mode 100644 tests/functionaltests/suites/apiso/post/GetRecordById-srv-brief.xml create mode 100644 tests/functionaltests/suites/apiso/post/GetRecords-all-csw-output.xml create mode 100644 tests/functionaltests/suites/apiso/post/GetRecords-all.xml create mode 100644 tests/functionaltests/suites/apiso/post/GetRecords-cql-title.xml create mode 100644 tests/functionaltests/suites/apiso/post/GetRecords-elementname.xml create mode 100644 tests/functionaltests/suites/apiso/post/GetRecords-filter-and-nested-spatial-or-dateline.xml create mode 100644 tests/functionaltests/suites/apiso/post/GetRecords-filter-anytext.xml create mode 100644 tests/functionaltests/suites/apiso/post/GetRecords-filter-bbox-csw-output.xml create mode 100644 tests/functionaltests/suites/apiso/post/GetRecords-filter-bbox.xml create mode 100644 tests/functionaltests/suites/apiso/post/GetRecords-filter-servicetype.xml create mode 100644 tests/functionaltests/suites/atom/default.cfg create mode 100644 tests/functionaltests/suites/atom/expected/get_opensearch-description.xml create mode 100644 tests/functionaltests/suites/atom/expected/get_opensearch-ogc-bbox-and-time.xml create mode 100644 tests/functionaltests/suites/atom/expected/get_opensearch-ogc-bbox.xml create mode 100644 tests/functionaltests/suites/atom/expected/get_opensearch-ogc-count-and-page1.xml create mode 100644 tests/functionaltests/suites/atom/expected/get_opensearch-ogc-count-and-page2.xml create mode 100644 tests/functionaltests/suites/atom/expected/get_opensearch-ogc-q-and-bbox.xml create mode 100644 tests/functionaltests/suites/atom/expected/get_opensearch-ogc-q-and-time.xml create mode 100644 tests/functionaltests/suites/atom/expected/get_opensearch-ogc-q.xml create mode 100644 tests/functionaltests/suites/atom/expected/get_opensearch-ogc-time.xml create mode 100644 tests/functionaltests/suites/atom/expected/get_opensearch-ogc-timeend.xml create mode 100644 tests/functionaltests/suites/atom/expected/get_opensearch-ogc-timestart.xml create mode 100644 tests/functionaltests/suites/atom/expected/get_opensearch.xml create mode 100644 tests/functionaltests/suites/atom/expected/post_DescribeRecord.xml create mode 100644 tests/functionaltests/suites/atom/expected/post_GetCapabilities.xml create mode 100644 tests/functionaltests/suites/atom/expected/post_GetRecords-filter-bbox.xml create mode 100644 tests/functionaltests/suites/atom/get/requests.txt create mode 100644 tests/functionaltests/suites/atom/post/DescribeRecord.xml create mode 100644 tests/functionaltests/suites/atom/post/GetCapabilities.xml create mode 100644 tests/functionaltests/suites/atom/post/GetRecords-filter-bbox.xml create mode 100644 tests/functionaltests/suites/cite/data/README.txt create mode 100644 tests/functionaltests/suites/cite/data/Record_19887a8a-f6b0-4a63-ae56-7fba0e17801f.xml create mode 100644 tests/functionaltests/suites/cite/data/Record_1ef30a8b-876d-4828-9246-c37ab4510bbd.xml create mode 100644 tests/functionaltests/suites/cite/data/Record_66ae76b7-54ba-489b-a582-0f0633d96493.xml create mode 100644 tests/functionaltests/suites/cite/data/Record_6a3de50b-fa66-4b58-a0e6-ca146fdd18d4.xml create mode 100644 tests/functionaltests/suites/cite/data/Record_784e2afd-a9fd-44a6-9a92-a3848371c8ec.xml create mode 100644 tests/functionaltests/suites/cite/data/Record_829babb0-b2f1-49e1-8cd5-7b489fe71a1e.xml create mode 100644 tests/functionaltests/suites/cite/data/Record_88247b56-4cbc-4df9-9860-db3f8042e357.xml create mode 100644 tests/functionaltests/suites/cite/data/Record_94bc9c83-97f6-4b40-9eb8-a8e8787a5c63.xml create mode 100644 tests/functionaltests/suites/cite/data/Record_9a669547-b69b-469f-a11f-2d875366bbdc.xml create mode 100644 tests/functionaltests/suites/cite/data/Record_a06af396-3105-442d-8b40-22b57a90d2f2.xml create mode 100644 tests/functionaltests/suites/cite/data/Record_ab42a8c4-95e8-4630-bf79-33e59241605a.xml create mode 100644 tests/functionaltests/suites/cite/data/Record_e9330592-0932-474b-be34-c3a3bb67c7db.xml create mode 100644 tests/functionaltests/suites/cite/data/cite.db create mode 100644 tests/functionaltests/suites/cite/default.cfg create mode 100644 tests/functionaltests/suites/cite/expected/get_27e17158-c57a-4493-92ac-dba8934cf462.xml create mode 100644 tests/functionaltests/suites/cite/expected/get_27f69b66-5f05-4311-a89c-73ca55c2686b.xml create mode 100644 tests/functionaltests/suites/cite/expected/get_2ab7d1fa-885b-459f-80e4-b6282eab4f8c.xml create mode 100644 tests/functionaltests/suites/cite/expected/get_37aa90e2-6ff0-420c-af15-8b9463099a73.xml create mode 100644 tests/functionaltests/suites/cite/expected/get_3a8a3c47-455f-4f49-9078-03119f3e70b3.xml create mode 100644 tests/functionaltests/suites/cite/expected/get_4515831f-834a-4699-95f6-ab0c2cbfcfd0.xml create mode 100644 tests/functionaltests/suites/cite/expected/get_477b23a3-baa9-47c8-9541-5fe27735ed49.xml create mode 100644 tests/functionaltests/suites/cite/expected/get_48f26761-3a9d-48db-bee1-da089f5fb857.xml create mode 100644 tests/functionaltests/suites/cite/expected/get_4e38092f-1586-44b8-988e-0acfa5855916.xml create mode 100644 tests/functionaltests/suites/cite/expected/get_55c38f00-2553-42c1-99ab-33edbb561ad7.xml create mode 100644 tests/functionaltests/suites/cite/expected/get_5ab5db18-c87a-4fbf-a8d8-b7289b09ac81.xml create mode 100644 tests/functionaltests/suites/cite/expected/get_6a4f57ca-a1bd-4802-89c2-44860dbdb0f0.xml create mode 100644 tests/functionaltests/suites/cite/expected/get_6c375703-9c00-4aef-bec7-d2e964f849eb.xml create mode 100644 tests/functionaltests/suites/cite/expected/get_80f31def-4185-48b9-983a-960566918eae.xml create mode 100644 tests/functionaltests/suites/cite/expected/get_8e2232ed-05d9-44ae-8b04-0911cbe6a507.xml create mode 100644 tests/functionaltests/suites/cite/expected/get_9697f0aa-3b6a-4125-83a5-61e8826127c4.xml create mode 100644 tests/functionaltests/suites/cite/expected/get_9bfd17fa-15dc-4a10-8fa7-b3cff7013dd7.xml create mode 100644 tests/functionaltests/suites/cite/expected/get_b81c3595-06d6-4693-82ea-1ff8650755ac.xml create mode 100644 tests/functionaltests/suites/cite/expected/get_ba5fc729-3b71-47a0-b7d0-42ec565cd185.xml create mode 100644 tests/functionaltests/suites/cite/expected/get_c4ea754f-c158-4d8d-8253-dc8f86021b52.xml create mode 100644 tests/functionaltests/suites/cite/expected/get_f4692ec5-9547-4a05-88ab-e6154af2640a.xml create mode 100644 tests/functionaltests/suites/cite/expected/get_f997f25e-c865-4d53-a362-0ed1846337f2.xml create mode 100644 tests/functionaltests/suites/cite/expected/post_0c976d98-c896-4b10-b1fe-a22ef50434e7.xml create mode 100644 tests/functionaltests/suites/cite/expected/post_19d2a6ed-be28-4866-ae15-e3bb634486cb.xml create mode 100644 tests/functionaltests/suites/cite/expected/post_1ab55aa3-6685-4595-8ecd-45987a7b8b59.xml create mode 100644 tests/functionaltests/suites/cite/expected/post_1c958b7a-ca09-4c38-98bd-ef1d1d28cc14.xml create mode 100644 tests/functionaltests/suites/cite/expected/post_1c97fc1a-61cd-4c1d-8054-933e17a6c5ee.xml create mode 100644 tests/functionaltests/suites/cite/expected/post_2102a460-5d62-465f-9668-d70b3faafbfa.xml create mode 100644 tests/functionaltests/suites/cite/expected/post_225f455a-0035-486b-a94e-fee7ae881b2b.xml create mode 100644 tests/functionaltests/suites/cite/expected/post_2d53ffea-60e4-4652-abf5-36eb23042fd5.xml create mode 100644 tests/functionaltests/suites/cite/expected/post_34a019a9-1581-42cb-9827-fbfdda2773b7.xml create mode 100644 tests/functionaltests/suites/cite/expected/post_3e76fd38-e035-41c9-83dc-61356f680c97.xml create mode 100644 tests/functionaltests/suites/cite/expected/post_418a6fb0-a89c-4a94-afc9-3f8168eb2980.xml create mode 100644 tests/functionaltests/suites/cite/expected/post_420b745e-0c4b-404e-9f2d-61fa580ff05a.xml create mode 100644 tests/functionaltests/suites/cite/expected/post_4735d649-a2b1-42fd-a101-14e1d7e4607f.xml create mode 100644 tests/functionaltests/suites/cite/expected/post_5c5861bc-f742-40a5-9998-5342615d674b.xml create mode 100644 tests/functionaltests/suites/cite/expected/post_6e736fd0-c266-4852-9eb3-0656f5d0f5c4.xml create mode 100644 tests/functionaltests/suites/cite/expected/post_73f1551c-e269-4ef9-9dae-e535b5eebfc7.xml create mode 100644 tests/functionaltests/suites/cite/expected/post_78297c88-4850-4927-adc6-511cd9a3d539.xml create mode 100644 tests/functionaltests/suites/cite/expected/post_7c89cdf5-0def-4cfb-8c55-2b8ffea5d92f.xml create mode 100644 tests/functionaltests/suites/cite/expected/post_7e2cd105-daec-4d25-bc8e-d49d21364912.xml create mode 100644 tests/functionaltests/suites/cite/expected/post_87f2f670-9cd6-4907-b82c-1b46a7dd2a78.xml create mode 100644 tests/functionaltests/suites/cite/expected/post_88b4e1ba-3bd4-4cbe-81e5-e004056d6ca3.xml create mode 100644 tests/functionaltests/suites/cite/expected/post_898cd63b-2585-4ec0-8720-d554bd324174.xml create mode 100644 tests/functionaltests/suites/cite/expected/post_8fb13dc3-5818-45e2-9e29-46abc16e7d38.xml create mode 100644 tests/functionaltests/suites/cite/expected/post_928c1896-52d4-4ac7-9832-f98e3eb65f02.xml create mode 100644 tests/functionaltests/suites/cite/expected/post_93bdbb9d-2734-4f01-92fb-48634cca41de.xml create mode 100644 tests/functionaltests/suites/cite/expected/post_948b39d5-bb4f-45b8-a8f2-4ff9501aaedd.xml create mode 100644 tests/functionaltests/suites/cite/expected/post_9fd64fcc-f69c-4626-b72e-5c7776a29aa9.xml create mode 100644 tests/functionaltests/suites/cite/expected/post_a06d04ab-e0d0-4a86-bfe8-71460f41fe37.xml create mode 100644 tests/functionaltests/suites/cite/expected/post_ad61686c-d304-42d1-b845-8c1f3070c83e.xml create mode 100644 tests/functionaltests/suites/cite/expected/post_af39c020-7b1d-429c-b474-f45c3164cb79.xml create mode 100644 tests/functionaltests/suites/cite/expected/post_b90e2de6-3d25-4298-a13e-dc9492a8fc73.xml create mode 100644 tests/functionaltests/suites/cite/expected/post_ba9b0107-dcee-46ef-823a-a2e25a911a96.xml create mode 100644 tests/functionaltests/suites/cite/expected/post_bb66ebc5-7121-48b5-9f53-b56537d9561b.xml create mode 100644 tests/functionaltests/suites/cite/expected/post_c02d1c85-df9f-45ee-bea7-345c35e02a98.xml create mode 100644 tests/functionaltests/suites/cite/expected/post_c311a342-72e3-4983-be39-868e6ed9740f.xml create mode 100644 tests/functionaltests/suites/cite/expected/post_c38916c2-4bc6-446d-b7aa-ab006d6ba31c.xml create mode 100644 tests/functionaltests/suites/cite/expected/post_c8588f47-8e65-45f5-ad34-ff4524cad84d.xml create mode 100644 tests/functionaltests/suites/cite/expected/post_da228d4c-e1be-43d7-9ccb-c3f27ee32541.xml create mode 100644 tests/functionaltests/suites/cite/expected/post_dc92c2c4-87d8-4a13-964e-ff9b0e0c27b3.xml create mode 100644 tests/functionaltests/suites/cite/expected/post_dcb13791-379e-4739-bcd4-dbaa69f0efdb.xml create mode 100644 tests/functionaltests/suites/cite/expected/post_e308f030-c097-4036-a838-44bad74c9ef7.xml create mode 100644 tests/functionaltests/suites/cite/expected/post_e6e9efb2-e2b7-4b0a-a3a2-7deea3f9b8e2.xml create mode 100644 tests/functionaltests/suites/cite/expected/post_f7976c55-a156-4421-8199-bc0487da4b0f.xml create mode 100644 tests/functionaltests/suites/cite/expected/post_f7d79701-f10b-4087-a33c-f62df0a04fd1.xml create mode 100644 tests/functionaltests/suites/cite/expected/post_fc1bc094-88f1-4851-bc2b-dfc56be9f3c7.xml create mode 100644 tests/functionaltests/suites/cite/expected/post_fe20960f-a26c-4f13-852d-470a0d3233f9.xml create mode 100644 tests/functionaltests/suites/cite/get/requests.txt create mode 100644 tests/functionaltests/suites/cite/post/0c976d98-c896-4b10-b1fe-a22ef50434e7.xml create mode 100644 tests/functionaltests/suites/cite/post/19d2a6ed-be28-4866-ae15-e3bb634486cb.xml create mode 100644 tests/functionaltests/suites/cite/post/1ab55aa3-6685-4595-8ecd-45987a7b8b59.xml create mode 100644 tests/functionaltests/suites/cite/post/1c958b7a-ca09-4c38-98bd-ef1d1d28cc14.xml create mode 100644 tests/functionaltests/suites/cite/post/1c97fc1a-61cd-4c1d-8054-933e17a6c5ee.xml create mode 100644 tests/functionaltests/suites/cite/post/2102a460-5d62-465f-9668-d70b3faafbfa.xml create mode 100644 tests/functionaltests/suites/cite/post/225f455a-0035-486b-a94e-fee7ae881b2b.xml create mode 100644 tests/functionaltests/suites/cite/post/2d53ffea-60e4-4652-abf5-36eb23042fd5.xml create mode 100644 tests/functionaltests/suites/cite/post/34a019a9-1581-42cb-9827-fbfdda2773b7.xml create mode 100644 tests/functionaltests/suites/cite/post/3e76fd38-e035-41c9-83dc-61356f680c97.xml create mode 100644 tests/functionaltests/suites/cite/post/418a6fb0-a89c-4a94-afc9-3f8168eb2980.xml create mode 100644 tests/functionaltests/suites/cite/post/420b745e-0c4b-404e-9f2d-61fa580ff05a.xml create mode 100644 tests/functionaltests/suites/cite/post/4735d649-a2b1-42fd-a101-14e1d7e4607f.xml create mode 100644 tests/functionaltests/suites/cite/post/5c5861bc-f742-40a5-9998-5342615d674b.xml create mode 100644 tests/functionaltests/suites/cite/post/6e736fd0-c266-4852-9eb3-0656f5d0f5c4.xml create mode 100644 tests/functionaltests/suites/cite/post/73f1551c-e269-4ef9-9dae-e535b5eebfc7.xml create mode 100644 tests/functionaltests/suites/cite/post/78297c88-4850-4927-adc6-511cd9a3d539.xml create mode 100644 tests/functionaltests/suites/cite/post/7c89cdf5-0def-4cfb-8c55-2b8ffea5d92f.xml create mode 100644 tests/functionaltests/suites/cite/post/7e2cd105-daec-4d25-bc8e-d49d21364912.xml create mode 100644 tests/functionaltests/suites/cite/post/87f2f670-9cd6-4907-b82c-1b46a7dd2a78.xml create mode 100644 tests/functionaltests/suites/cite/post/88b4e1ba-3bd4-4cbe-81e5-e004056d6ca3.xml create mode 100644 tests/functionaltests/suites/cite/post/898cd63b-2585-4ec0-8720-d554bd324174.xml create mode 100644 tests/functionaltests/suites/cite/post/8fb13dc3-5818-45e2-9e29-46abc16e7d38.xml create mode 100644 tests/functionaltests/suites/cite/post/928c1896-52d4-4ac7-9832-f98e3eb65f02.xml create mode 100644 tests/functionaltests/suites/cite/post/93bdbb9d-2734-4f01-92fb-48634cca41de.xml create mode 100644 tests/functionaltests/suites/cite/post/948b39d5-bb4f-45b8-a8f2-4ff9501aaedd.xml create mode 100644 tests/functionaltests/suites/cite/post/9fd64fcc-f69c-4626-b72e-5c7776a29aa9.xml create mode 100644 tests/functionaltests/suites/cite/post/a06d04ab-e0d0-4a86-bfe8-71460f41fe37.xml create mode 100644 tests/functionaltests/suites/cite/post/ad61686c-d304-42d1-b845-8c1f3070c83e.xml create mode 100644 tests/functionaltests/suites/cite/post/af39c020-7b1d-429c-b474-f45c3164cb79.xml create mode 100644 tests/functionaltests/suites/cite/post/b90e2de6-3d25-4298-a13e-dc9492a8fc73.xml create mode 100644 tests/functionaltests/suites/cite/post/ba9b0107-dcee-46ef-823a-a2e25a911a96.xml create mode 100644 tests/functionaltests/suites/cite/post/bb66ebc5-7121-48b5-9f53-b56537d9561b.xml create mode 100644 tests/functionaltests/suites/cite/post/c02d1c85-df9f-45ee-bea7-345c35e02a98.xml create mode 100644 tests/functionaltests/suites/cite/post/c311a342-72e3-4983-be39-868e6ed9740f.xml create mode 100644 tests/functionaltests/suites/cite/post/c38916c2-4bc6-446d-b7aa-ab006d6ba31c.xml create mode 100644 tests/functionaltests/suites/cite/post/c8588f47-8e65-45f5-ad34-ff4524cad84d.xml create mode 100644 tests/functionaltests/suites/cite/post/da228d4c-e1be-43d7-9ccb-c3f27ee32541.xml create mode 100644 tests/functionaltests/suites/cite/post/dc92c2c4-87d8-4a13-964e-ff9b0e0c27b3.xml create mode 100644 tests/functionaltests/suites/cite/post/dcb13791-379e-4739-bcd4-dbaa69f0efdb.xml create mode 100644 tests/functionaltests/suites/cite/post/e308f030-c097-4036-a838-44bad74c9ef7.xml create mode 100644 tests/functionaltests/suites/cite/post/e6e9efb2-e2b7-4b0a-a3a2-7deea3f9b8e2.xml create mode 100644 tests/functionaltests/suites/cite/post/f7976c55-a156-4421-8199-bc0487da4b0f.xml create mode 100644 tests/functionaltests/suites/cite/post/f7d79701-f10b-4087-a33c-f62df0a04fd1.xml create mode 100644 tests/functionaltests/suites/cite/post/fc1bc094-88f1-4851-bc2b-dfc56be9f3c7.xml create mode 100644 tests/functionaltests/suites/cite/post/fe20960f-a26c-4f13-852d-470a0d3233f9.xml create mode 100644 tests/functionaltests/suites/csw30/default.cfg create mode 100644 tests/functionaltests/suites/csw30/expected/get_002258f0-627f-457f-b2ad-025777c77ac8.xml create mode 100644 tests/functionaltests/suites/csw30/expected/get_045c600d-973d-41eb-9f60-eba1b717b720.xml create mode 100644 tests/functionaltests/suites/csw30/expected/get_0bbcf862-5211-4351-9988-63f8bec49c98.xml create mode 100644 tests/functionaltests/suites/csw30/expected/get_0bdf8457-971e-4ed1-be4a-5feca4dcd8fa.xml create mode 100644 tests/functionaltests/suites/csw30/expected/get_0d8bbdec-0846-42ca-8dc8-b7f4cba41d67.xml create mode 100644 tests/functionaltests/suites/csw30/expected/get_0e1dca37-477a-4060-99fe-7799b52d656c.xml create mode 100644 tests/functionaltests/suites/csw30/expected/get_13c87956-51a4-4780-a8e9-6e0b5c0bb473.xml create mode 100644 tests/functionaltests/suites/csw30/expected/get_151d982f-ebd3-4cb2-b507-a667713a1e92.xml create mode 100644 tests/functionaltests/suites/csw30/expected/get_1869e495-1a61-4713-8285-76d1336ee1a6.xml create mode 100644 tests/functionaltests/suites/csw30/expected/get_1bcb42a9-538c-4f0a-9d4c-d6f10b720aa6.xml create mode 100644 tests/functionaltests/suites/csw30/expected/get_22f44168-2ccf-4801-ad96-204212566d56.xml create mode 100644 tests/functionaltests/suites/csw30/expected/get_2499a9c9-8d33-449c-bc92-d494adfcc84d.xml create mode 100644 tests/functionaltests/suites/csw30/expected/get_27f4f39c-d92a-4e3c-b961-c6aa8c24e513.xml create mode 100644 tests/functionaltests/suites/csw30/expected/get_28e569df-8596-4128-8d9a-29ad03138915.xml create mode 100644 tests/functionaltests/suites/csw30/expected/get_2b06a5c8-0df2-4af1-8d2e-a425de11c845.xml create mode 100644 tests/functionaltests/suites/csw30/expected/get_2ba1418a-444d-4cce-9cfe-4c94efcf8b55.xml create mode 100644 tests/functionaltests/suites/csw30/expected/get_397fe17a-d5b4-4f96-8cc4-4ce467ed4d0a.xml create mode 100644 tests/functionaltests/suites/csw30/expected/get_3dcd1b15-73d2-4b7d-a3e3-ff15bf14aae4.xml create mode 100644 tests/functionaltests/suites/csw30/expected/get_405e1ff1-5c75-4846-a28b-cfaff2a6921a.xml create mode 100644 tests/functionaltests/suites/csw30/expected/get_43cd6471-6ac7-45bd-8ff9-148cb2de9a52.xml create mode 100644 tests/functionaltests/suites/csw30/expected/get_4566d2ec-1283-4a02-baed-a74fc5b47e37.xml create mode 100644 tests/functionaltests/suites/csw30/expected/get_461bd4c5-6623-490d-9036-d91a2201e87b.xml create mode 100644 tests/functionaltests/suites/csw30/expected/get_5496894a-3877-4f62-a20b-5d7126f94925.xml create mode 100644 tests/functionaltests/suites/csw30/expected/get_5a015f6a-bf14-4977-b1e3-6577eb0223c8.xml create mode 100644 tests/functionaltests/suites/csw30/expected/get_5c3a2390-1fb9-43f0-b96c-f48c7a69c990.xml create mode 100644 tests/functionaltests/suites/csw30/expected/get_5e9e67dc-18d6-4645-8111-c6263c88a61f.xml create mode 100644 tests/functionaltests/suites/csw30/expected/get_604d9379-741c-42e5-b4cf-92e56c87fa64.xml create mode 100644 tests/functionaltests/suites/csw30/expected/get_60e6af95-d5fc-465a-82e2-fd2e6d85e4af.xml create mode 100644 tests/functionaltests/suites/csw30/expected/get_62ad94c2-b558-4265-a427-23d6677975d6.xml create mode 100644 tests/functionaltests/suites/csw30/expected/get_6a5e247b-0961-4b8a-a0d6-35a491d9cfe7.xml create mode 100644 tests/functionaltests/suites/csw30/expected/get_6a9d0558-9d87-495b-b999-b49a3ef1cf99.xml create mode 100644 tests/functionaltests/suites/csw30/expected/get_6bd790c9-6019-4652-9c91-330a894d6700.xml create mode 100644 tests/functionaltests/suites/csw30/expected/get_6e9cba43-5e27-415d-adbd-a92851c2c173.xml create mode 100644 tests/functionaltests/suites/csw30/expected/get_7630d230-e142-4a09-accf-f091000b90cd.xml create mode 100644 tests/functionaltests/suites/csw30/expected/get_7e82446a-b5dc-43fe-9a73-4cc1f2f2f0bf.xml create mode 100644 tests/functionaltests/suites/csw30/expected/get_8025978e-1a35-4d70-80c2-e8329e0c7864.xml create mode 100644 tests/functionaltests/suites/csw30/expected/get_8184ae4f-536d-4978-8b28-ad703be96967.xml create mode 100644 tests/functionaltests/suites/csw30/expected/get_88f63a89-664f-4315-b4f8-04a0b33803a7.xml create mode 100644 tests/functionaltests/suites/csw30/expected/get_8987f8f0-4d93-4481-968c-a2ccbd6b8be2.xml create mode 100644 tests/functionaltests/suites/csw30/expected/get_8e5fa0f6-3f29-4d1f-abe2-d9866f3def98.xml create mode 100644 tests/functionaltests/suites/csw30/expected/get_9000ec29-5649-474e-b2d6-55c00f8a52c0.xml create mode 100644 tests/functionaltests/suites/csw30/expected/get_91914d35-7bbf-45e6-9b37-5ef484869a4e.xml create mode 100644 tests/functionaltests/suites/csw30/expected/get_92d4844d-57d5-4cf3-8f47-ba50e369dc04.xml create mode 100644 tests/functionaltests/suites/csw30/expected/get_9c0e2a4b-b4e6-41c0-b630-c8c99fc89ff3.xml create mode 100644 tests/functionaltests/suites/csw30/expected/get_9d7ffac8-9798-428d-8e27-3cd12497ee6b.xml create mode 100644 tests/functionaltests/suites/csw30/expected/get_Exception-GetDomain-value-reference.xml create mode 100644 tests/functionaltests/suites/csw30/expected/get_Exception-GetDomain.xml create mode 100644 tests/functionaltests/suites/csw30/expected/get_Exception-GetRecordById-404.xml create mode 100644 tests/functionaltests/suites/csw30/expected/get_Exception-GetRecordById-dc.xml.xml create mode 100644 tests/functionaltests/suites/csw30/expected/get_Exception-GetRepositoryItem-notfound.xml create mode 100644 tests/functionaltests/suites/csw30/expected/get_Exception-invalid-request.xml create mode 100644 tests/functionaltests/suites/csw30/expected/get_GetCapabilities-base-url.xml create mode 100644 tests/functionaltests/suites/csw30/expected/get_GetCapabilities-no-version.xml create mode 100644 tests/functionaltests/suites/csw30/expected/get_GetCapabilities.xml create mode 100644 tests/functionaltests/suites/csw30/expected/get_GetDomain-parameter.xml create mode 100644 tests/functionaltests/suites/csw30/expected/get_GetDomain-value-reference.xml create mode 100644 tests/functionaltests/suites/csw30/expected/get_GetRepositoryItem.xml create mode 100644 tests/functionaltests/suites/csw30/expected/get_OpenSearch-description.xml create mode 100644 tests/functionaltests/suites/csw30/expected/get_a2f18643-e24e-4fa5-b780-6de4a2dbc814.xml create mode 100644 tests/functionaltests/suites/csw30/expected/get_abc90c8c-5868-4405-a73e-64c849be3b2a.xml create mode 100644 tests/functionaltests/suites/csw30/expected/get_ad0c0571-09ed-436a-9a4f-a5de744c88fe.xml create mode 100644 tests/functionaltests/suites/csw30/expected/get_af502903-f4ee-47ee-b76e-af878d238bcc.xml create mode 100644 tests/functionaltests/suites/csw30/expected/get_b2aafc3f-4f35-47bc-affd-08590972deae.xml create mode 100644 tests/functionaltests/suites/csw30/expected/get_b6069623-f7d8-4021-8582-98f0aea0f763.xml create mode 100644 tests/functionaltests/suites/csw30/expected/get_b9a07a54-75a8-45bd-b341-2823600211e3.xml create mode 100644 tests/functionaltests/suites/csw30/expected/get_baa4a7d0-0c01-42b6-adc3-0d03e9949fa3.xml create mode 100644 tests/functionaltests/suites/csw30/expected/get_bfbe6409-f64a-4c89-acb3-50f260a5c743.xml create mode 100644 tests/functionaltests/suites/csw30/expected/get_bfe20134-d1da-42ef-9c0f-8e1307bbf92b.xml create mode 100644 tests/functionaltests/suites/csw30/expected/get_c03d173a-3f42-4956-89c8-1fe02c3a0873.xml create mode 100644 tests/functionaltests/suites/csw30/expected/get_cb43d8c3-e14c-4a9f-9231-4384b7dd21f3.xml create mode 100644 tests/functionaltests/suites/csw30/expected/get_d03c6fd3-e821-4a26-b62f-d20a474e25af.xml create mode 100644 tests/functionaltests/suites/csw30/expected/get_d4ccbf96-a529-480e-a53d-5b88dc1dea7f.xml create mode 100644 tests/functionaltests/suites/csw30/expected/get_d94c801a-1207-4897-b84a-53f3a192515b.xml create mode 100644 tests/functionaltests/suites/csw30/expected/get_da859e34-91fc-495a-8c09-285a40c0900b.xml create mode 100644 tests/functionaltests/suites/csw30/expected/get_dc246fb8-5af5-4fda-82bb-c18b3ecd439c.xml create mode 100644 tests/functionaltests/suites/csw30/expected/get_de016645-6d5c-4855-943c-2db07ae9f49a.xml create mode 100644 tests/functionaltests/suites/csw30/expected/get_dff3ec6b-bb2d-4887-bd17-8fcf15def042.xml create mode 100644 tests/functionaltests/suites/csw30/expected/get_e38e6bfb-8ac4-4ae4-8b87-0aafbc8d3c6b.xml create mode 100644 tests/functionaltests/suites/csw30/expected/get_e67ca935-d65d-4d8c-8302-1405333dded0.xml create mode 100644 tests/functionaltests/suites/csw30/expected/get_e7704509-3441-458f-8ef0-e333c6b6043f.xml create mode 100644 tests/functionaltests/suites/csw30/expected/get_f1223a49-6d08-44ff-97fe-4c32cbbfad82.xml create mode 100644 tests/functionaltests/suites/csw30/expected/get_f89dd4e1-3a81-4433-afd2-a3fa1bdb1e18.xml create mode 100644 tests/functionaltests/suites/csw30/expected/post_Exception-GetDomain-parametername-bad.xml create mode 100644 tests/functionaltests/suites/csw30/expected/post_Exception-GetDomain-valuereference-bad.xml create mode 100644 tests/functionaltests/suites/csw30/expected/post_Exception-GetRecordById-404.xml create mode 100644 tests/functionaltests/suites/csw30/expected/post_Exception-GetRecordById-bad-esn.xml create mode 100644 tests/functionaltests/suites/csw30/expected/post_Exception-bad-xml.xml create mode 100644 tests/functionaltests/suites/csw30/expected/post_Exception-not-xml.xml create mode 100644 tests/functionaltests/suites/csw30/expected/post_GetCapabilities.xml create mode 100644 tests/functionaltests/suites/csw30/expected/post_GetDomain-parametername.xml create mode 100644 tests/functionaltests/suites/csw30/expected/post_GetDomain-valuereference.xml create mode 100644 tests/functionaltests/suites/csw30/expected/post_GetRecordById-dc-full.xml create mode 100644 tests/functionaltests/suites/csw30/expected/post_GetRecordById-dc.xml create mode 100644 tests/functionaltests/suites/csw30/get/requests.txt create mode 100644 tests/functionaltests/suites/csw30/post/Exception-GetDomain-parametername-bad.xml create mode 100644 tests/functionaltests/suites/csw30/post/Exception-GetDomain-valuereference-bad.xml create mode 100644 tests/functionaltests/suites/csw30/post/Exception-GetRecordById-404.xml create mode 100644 tests/functionaltests/suites/csw30/post/Exception-GetRecordById-bad-esn.xml create mode 100644 tests/functionaltests/suites/csw30/post/Exception-bad-xml.xml create mode 100644 tests/functionaltests/suites/csw30/post/Exception-not-xml.xml create mode 100644 tests/functionaltests/suites/csw30/post/GetCapabilities.xml create mode 100644 tests/functionaltests/suites/csw30/post/GetDomain-parametername.xml create mode 100644 tests/functionaltests/suites/csw30/post/GetDomain-valuereference.xml create mode 100644 tests/functionaltests/suites/csw30/post/GetRecordById-dc-full.xml create mode 100644 tests/functionaltests/suites/csw30/post/GetRecordById-dc.xml create mode 100644 tests/functionaltests/suites/default/default.cfg create mode 100644 tests/functionaltests/suites/default/expected/get_Exception-GetRepositoryItem-notfound.xml create mode 100644 tests/functionaltests/suites/default/expected/get_Exception-GetRepositoryItem-service-invalid1.xml create mode 100644 tests/functionaltests/suites/default/expected/get_Exception-GetRepositoryItem-service-invalid2.xml create mode 100644 tests/functionaltests/suites/default/expected/get_Exception-GetRepositoryItem-version-invalid.xml create mode 100644 tests/functionaltests/suites/default/expected/get_GetCapabilities-invalid-request.xml create mode 100644 tests/functionaltests/suites/default/expected/get_GetCapabilities.xml create mode 100644 tests/functionaltests/suites/default/expected/get_GetRecords-all.xml create mode 100644 tests/functionaltests/suites/default/expected/get_GetRecords-empty-maxrecords.xml create mode 100644 tests/functionaltests/suites/default/expected/get_GetRecords-filter-cql-title-or-abstract-with-spaces.xml create mode 100644 tests/functionaltests/suites/default/expected/get_GetRecords-filter-cql-title-or-abstract.xml create mode 100644 tests/functionaltests/suites/default/expected/get_GetRecords-filter-cql-title-with-spaces-or-abstract-with-spaces.xml create mode 100644 tests/functionaltests/suites/default/expected/get_GetRecords-filter-cql-title-with-spaces-or-abstract.xml create mode 100644 tests/functionaltests/suites/default/expected/get_GetRecords-filter-cql-title-with-spaces.xml create mode 100644 tests/functionaltests/suites/default/expected/get_GetRecords-filter-cql-title.xml create mode 100644 tests/functionaltests/suites/default/expected/get_GetRecords-filter.xml create mode 100644 tests/functionaltests/suites/default/expected/get_GetRecords-sortby-asc.xml create mode 100644 tests/functionaltests/suites/default/expected/get_GetRecords-sortby-desc.xml create mode 100644 tests/functionaltests/suites/default/expected/get_GetRecords-sortby-invalid-order.xml create mode 100644 tests/functionaltests/suites/default/expected/get_GetRecords-sortby-invalid-propertyname.xml create mode 100644 tests/functionaltests/suites/default/expected/get_GetRepositoryItem.xml create mode 100644 tests/functionaltests/suites/default/expected/post_DescribeRecord-json.xml create mode 100644 tests/functionaltests/suites/default/expected/post_DescribeRecord.xml create mode 100644 tests/functionaltests/suites/default/expected/post_Exception-GetRecords-badsrsname.xml create mode 100644 tests/functionaltests/suites/default/expected/post_Exception-GetRecords-elementname.xml create mode 100644 tests/functionaltests/suites/default/expected/post_Exception-GetRecords-invalid-xml.xml create mode 100644 tests/functionaltests/suites/default/expected/post_GetCapabilities-SOAP.xml create mode 100644 tests/functionaltests/suites/default/expected/post_GetCapabilities-sections.xml create mode 100644 tests/functionaltests/suites/default/expected/post_GetCapabilities-updatesequence.xml create mode 100644 tests/functionaltests/suites/default/expected/post_GetCapabilities.xml create mode 100644 tests/functionaltests/suites/default/expected/post_GetDomain-parameter.xml create mode 100644 tests/functionaltests/suites/default/expected/post_GetDomain-property.xml create mode 100644 tests/functionaltests/suites/default/expected/post_GetRecordById-json.xml create mode 100644 tests/functionaltests/suites/default/expected/post_GetRecordById.xml create mode 100644 tests/functionaltests/suites/default/expected/post_GetRecords-all-json.xml create mode 100644 tests/functionaltests/suites/default/expected/post_GetRecords-all-resulttype-hits.xml create mode 100644 tests/functionaltests/suites/default/expected/post_GetRecords-all-resulttype-validate.xml create mode 100644 tests/functionaltests/suites/default/expected/post_GetRecords-all-sortby-bbox.xml create mode 100644 tests/functionaltests/suites/default/expected/post_GetRecords-all.xml create mode 100644 tests/functionaltests/suites/default/expected/post_GetRecords-bbox-filter-crs84.xml create mode 100644 tests/functionaltests/suites/default/expected/post_GetRecords-cql-title-and-abstract.xml create mode 100644 tests/functionaltests/suites/default/expected/post_GetRecords-cql-title.xml create mode 100644 tests/functionaltests/suites/default/expected/post_GetRecords-distributedsearch.xml create mode 100644 tests/functionaltests/suites/default/expected/post_GetRecords-elementname.xml create mode 100644 tests/functionaltests/suites/default/expected/post_GetRecords-end.xml create mode 100644 tests/functionaltests/suites/default/expected/post_GetRecords-filter-and-bbox-freetext.xml create mode 100644 tests/functionaltests/suites/default/expected/post_GetRecords-filter-and-nested-or.xml create mode 100644 tests/functionaltests/suites/default/expected/post_GetRecords-filter-and-nested-or2.xml create mode 100644 tests/functionaltests/suites/default/expected/post_GetRecords-filter-anytext-and-not.xml create mode 100644 tests/functionaltests/suites/default/expected/post_GetRecords-filter-anytext-equal.xml create mode 100644 tests/functionaltests/suites/default/expected/post_GetRecords-filter-anytext.xml create mode 100644 tests/functionaltests/suites/default/expected/post_GetRecords-filter-bbox-reproject.xml create mode 100644 tests/functionaltests/suites/default/expected/post_GetRecords-filter-bbox-sortby.xml create mode 100644 tests/functionaltests/suites/default/expected/post_GetRecords-filter-bbox.xml create mode 100644 tests/functionaltests/suites/default/expected/post_GetRecords-filter-between.xml create mode 100644 tests/functionaltests/suites/default/expected/post_GetRecords-filter-function-bad.xml create mode 100644 tests/functionaltests/suites/default/expected/post_GetRecords-filter-function.xml create mode 100644 tests/functionaltests/suites/default/expected/post_GetRecords-filter-not-bbox.xml create mode 100644 tests/functionaltests/suites/default/expected/post_GetRecords-filter-or-bbox-freetext.xml create mode 100644 tests/functionaltests/suites/default/expected/post_GetRecords-filter-or-nested-and.xml create mode 100644 tests/functionaltests/suites/default/expected/post_GetRecords-filter-or-title-abstract.xml create mode 100644 tests/functionaltests/suites/default/expected/post_GetRecords-maxrecords.xml create mode 100644 tests/functionaltests/suites/default/expected/post_GetRecords-requestid.xml create mode 100644 tests/functionaltests/suites/default/expected/post_Harvest-default.xml create mode 100644 tests/functionaltests/suites/default/expected/post_Harvest-response-handler.xml create mode 100644 tests/functionaltests/suites/default/expected/post_Transaction-delete.xml create mode 100644 tests/functionaltests/suites/default/expected/post_Transaction-insert.xml create mode 100644 tests/functionaltests/suites/default/expected/post_Transaction-update-full.xml create mode 100644 tests/functionaltests/suites/default/expected/post_Transaction-update-recordproperty.xml create mode 100644 tests/functionaltests/suites/default/get/requests.txt create mode 100644 tests/functionaltests/suites/default/post/DescribeRecord-json.xml create mode 100644 tests/functionaltests/suites/default/post/DescribeRecord.xml create mode 100644 tests/functionaltests/suites/default/post/Exception-GetRecords-badsrsname.xml create mode 100644 tests/functionaltests/suites/default/post/Exception-GetRecords-elementname.xml create mode 100644 tests/functionaltests/suites/default/post/Exception-GetRecords-invalid-xml.xml create mode 100644 tests/functionaltests/suites/default/post/GetCapabilities-SOAP.xml create mode 100644 tests/functionaltests/suites/default/post/GetCapabilities-sections.xml create mode 100644 tests/functionaltests/suites/default/post/GetCapabilities-updatesequence.xml create mode 100644 tests/functionaltests/suites/default/post/GetCapabilities.xml create mode 100644 tests/functionaltests/suites/default/post/GetDomain-parameter.xml create mode 100644 tests/functionaltests/suites/default/post/GetDomain-property.xml create mode 100644 tests/functionaltests/suites/default/post/GetRecordById-json.xml create mode 100644 tests/functionaltests/suites/default/post/GetRecordById.xml create mode 100644 tests/functionaltests/suites/default/post/GetRecords-all-json.xml create mode 100644 tests/functionaltests/suites/default/post/GetRecords-all-resulttype-hits.xml create mode 100644 tests/functionaltests/suites/default/post/GetRecords-all-resulttype-validate.xml create mode 100644 tests/functionaltests/suites/default/post/GetRecords-all-sortby-bbox.xml create mode 100644 tests/functionaltests/suites/default/post/GetRecords-all.xml create mode 100644 tests/functionaltests/suites/default/post/GetRecords-bbox-filter-crs84.xml create mode 100644 tests/functionaltests/suites/default/post/GetRecords-cql-title-and-abstract.xml create mode 100644 tests/functionaltests/suites/default/post/GetRecords-cql-title.xml create mode 100644 tests/functionaltests/suites/default/post/GetRecords-distributedsearch.xml create mode 100644 tests/functionaltests/suites/default/post/GetRecords-elementname.xml create mode 100644 tests/functionaltests/suites/default/post/GetRecords-end.xml create mode 100644 tests/functionaltests/suites/default/post/GetRecords-filter-and-bbox-freetext.xml create mode 100644 tests/functionaltests/suites/default/post/GetRecords-filter-and-nested-or.xml create mode 100644 tests/functionaltests/suites/default/post/GetRecords-filter-and-nested-or2.xml create mode 100644 tests/functionaltests/suites/default/post/GetRecords-filter-anytext-and-not.xml create mode 100644 tests/functionaltests/suites/default/post/GetRecords-filter-anytext-equal.xml create mode 100644 tests/functionaltests/suites/default/post/GetRecords-filter-anytext.xml create mode 100644 tests/functionaltests/suites/default/post/GetRecords-filter-bbox-reproject.xml create mode 100644 tests/functionaltests/suites/default/post/GetRecords-filter-bbox-sortby.xml create mode 100644 tests/functionaltests/suites/default/post/GetRecords-filter-bbox.xml create mode 100644 tests/functionaltests/suites/default/post/GetRecords-filter-between.xml create mode 100644 tests/functionaltests/suites/default/post/GetRecords-filter-function-bad.xml create mode 100644 tests/functionaltests/suites/default/post/GetRecords-filter-function.xml create mode 100644 tests/functionaltests/suites/default/post/GetRecords-filter-not-bbox.xml create mode 100644 tests/functionaltests/suites/default/post/GetRecords-filter-or-bbox-freetext.xml create mode 100644 tests/functionaltests/suites/default/post/GetRecords-filter-or-nested-and.xml create mode 100644 tests/functionaltests/suites/default/post/GetRecords-filter-or-title-abstract.xml create mode 100644 tests/functionaltests/suites/default/post/GetRecords-maxrecords.xml create mode 100644 tests/functionaltests/suites/default/post/GetRecords-requestid.xml create mode 100644 tests/functionaltests/suites/default/post/Harvest-default.xml create mode 100644 tests/functionaltests/suites/default/post/Harvest-response-handler.xml create mode 100644 tests/functionaltests/suites/default/post/Transaction-delete.xml create mode 100644 tests/functionaltests/suites/default/post/Transaction-insert.xml create mode 100644 tests/functionaltests/suites/default/post/Transaction-update-full.xml create mode 100644 tests/functionaltests/suites/default/post/Transaction-update-recordproperty.xml create mode 100644 tests/functionaltests/suites/dif/default.cfg create mode 100644 tests/functionaltests/suites/dif/expected/post_DescribeRecord.xml create mode 100644 tests/functionaltests/suites/dif/expected/post_GetCapabilities.xml create mode 100644 tests/functionaltests/suites/dif/expected/post_GetRecords-filter-bbox.xml create mode 100644 tests/functionaltests/suites/dif/post/DescribeRecord.xml create mode 100644 tests/functionaltests/suites/dif/post/GetCapabilities.xml create mode 100644 tests/functionaltests/suites/dif/post/GetRecords-filter-bbox.xml create mode 100644 tests/functionaltests/suites/ebrim/default.cfg create mode 100644 tests/functionaltests/suites/ebrim/expected/post_DescribeRecord.xml create mode 100644 tests/functionaltests/suites/ebrim/expected/post_GetCapabilities.xml create mode 100644 tests/functionaltests/suites/ebrim/expected/post_GetRecords-filter-bbox-full.xml create mode 100644 tests/functionaltests/suites/ebrim/expected/post_GetRecords-filter-bbox.xml create mode 100644 tests/functionaltests/suites/ebrim/post/DescribeRecord.xml create mode 100644 tests/functionaltests/suites/ebrim/post/GetCapabilities.xml create mode 100644 tests/functionaltests/suites/ebrim/post/GetRecords-filter-bbox-full.xml create mode 100644 tests/functionaltests/suites/ebrim/post/GetRecords-filter-bbox.xml create mode 100644 tests/functionaltests/suites/fgdc/default.cfg create mode 100644 tests/functionaltests/suites/fgdc/expected/post_DescribeRecord.xml create mode 100644 tests/functionaltests/suites/fgdc/expected/post_GetCapabilities.xml create mode 100644 tests/functionaltests/suites/fgdc/expected/post_GetRecords-filter-bbox.xml create mode 100644 tests/functionaltests/suites/fgdc/post/DescribeRecord.xml create mode 100644 tests/functionaltests/suites/fgdc/post/GetCapabilities.xml create mode 100644 tests/functionaltests/suites/fgdc/post/GetRecords-filter-bbox.xml create mode 100644 tests/functionaltests/suites/gm03/default.cfg create mode 100644 tests/functionaltests/suites/gm03/expected/post_GetCapabilities.xml create mode 100644 tests/functionaltests/suites/gm03/expected/post_GetRecords-filter-bbox.xml create mode 100644 tests/functionaltests/suites/gm03/post/GetCapabilities.xml create mode 100644 tests/functionaltests/suites/gm03/post/GetRecords-filter-bbox.xml create mode 100644 tests/functionaltests/suites/harvesting/default.cfg create mode 100644 tests/functionaltests/suites/harvesting/expected/get_Exception-Harvest-invalid-resourcetype.xml create mode 100644 tests/functionaltests/suites/harvesting/expected/get_Exception-Harvest-missing-resourcetype.xml create mode 100644 tests/functionaltests/suites/harvesting/expected/get_Exception-Harvest-missing-source.xml create mode 100644 tests/functionaltests/suites/harvesting/expected/get_Exception-Harvest-waf-bad-value.xml create mode 100644 tests/functionaltests/suites/harvesting/expected/get_Exception-Harvest-waf-no-records-found.xml create mode 100644 tests/functionaltests/suites/harvesting/expected/post_Clear-000-delete-all.xml create mode 100644 tests/functionaltests/suites/harvesting/expected/post_Exception-Havest-csw-404.xml create mode 100644 tests/functionaltests/suites/harvesting/expected/post_GetCapabilities.xml create mode 100644 tests/functionaltests/suites/harvesting/expected/post_GetDomain-parameter.xml create mode 100644 tests/functionaltests/suites/harvesting/expected/post_Harvest-csw-iso.xml create mode 100644 tests/functionaltests/suites/harvesting/expected/post_Harvest-csw-run1.xml create mode 100644 tests/functionaltests/suites/harvesting/expected/post_Harvest-csw-run2.xml create mode 100644 tests/functionaltests/suites/harvesting/expected/post_Harvest-dc.xml create mode 100644 tests/functionaltests/suites/harvesting/expected/post_Harvest-fgdc.xml create mode 100644 tests/functionaltests/suites/harvesting/expected/post_Harvest-iso.xml create mode 100644 tests/functionaltests/suites/harvesting/expected/post_Harvest-rdf.xml create mode 100644 tests/functionaltests/suites/harvesting/expected/post_Harvest-sos100.xml create mode 100644 tests/functionaltests/suites/harvesting/expected/post_Harvest-sos200.xml create mode 100644 tests/functionaltests/suites/harvesting/expected/post_Harvest-waf.xml create mode 100644 tests/functionaltests/suites/harvesting/expected/post_Harvest-wcs.xml create mode 100644 tests/functionaltests/suites/harvesting/expected/post_Harvest-wfs110.xml create mode 100644 tests/functionaltests/suites/harvesting/expected/post_Harvest-wfs200.xml create mode 100644 tests/functionaltests/suites/harvesting/expected/post_Harvest-wms-run1.xml create mode 100644 tests/functionaltests/suites/harvesting/expected/post_Harvest-wms-run2.xml create mode 100644 tests/functionaltests/suites/harvesting/expected/post_Harvest-wmts.xml create mode 100644 tests/functionaltests/suites/harvesting/expected/post_Harvest-wps.xml create mode 100644 tests/functionaltests/suites/harvesting/expected/post_Harvest-zzz-post-GetRecords-filter-ows-dc.xml create mode 100644 tests/functionaltests/suites/harvesting/expected/post_Harvest-zzz-post-GetRecords-filter-sos-abstract-dc.xml create mode 100644 tests/functionaltests/suites/harvesting/expected/post_Harvest-zzz-post-GetRecords-filter-sos-dc.xml create mode 100644 tests/functionaltests/suites/harvesting/expected/post_Harvest-zzz-post-GetRecords-filter-sos-iso.xml create mode 100644 tests/functionaltests/suites/harvesting/expected/post_Harvest-zzz-post-GetRecords-filter-wfs-iso.xml create mode 100644 tests/functionaltests/suites/harvesting/expected/post_Harvest-zzz-post-GetRecords-filter-wms-dc.xml create mode 100644 tests/functionaltests/suites/harvesting/expected/post_Harvest-zzz-post-GetRecords-filter-wms-iso.xml create mode 100644 tests/functionaltests/suites/harvesting/expected/post_Harvest-zzz-post-GetRecords-filter-wms-layer.xml create mode 100644 tests/functionaltests/suites/harvesting/expected/post_Harvest-zzz-post-GetRecords-filter-wps-process.xml create mode 100644 tests/functionaltests/suites/harvesting/expected/post_Transaction-000-delete-all.xml create mode 100644 tests/functionaltests/suites/harvesting/get/requests.txt create mode 100644 tests/functionaltests/suites/harvesting/post/Clear-000-delete-all.xml create mode 100644 tests/functionaltests/suites/harvesting/post/Exception-Havest-csw-404.xml create mode 100644 tests/functionaltests/suites/harvesting/post/GetCapabilities.xml create mode 100644 tests/functionaltests/suites/harvesting/post/GetDomain-parameter.xml create mode 100644 tests/functionaltests/suites/harvesting/post/Harvest-csw-iso.xml create mode 100644 tests/functionaltests/suites/harvesting/post/Harvest-csw-run1.xml create mode 100644 tests/functionaltests/suites/harvesting/post/Harvest-csw-run2.xml create mode 100644 tests/functionaltests/suites/harvesting/post/Harvest-dc.xml create mode 100644 tests/functionaltests/suites/harvesting/post/Harvest-fgdc.xml create mode 100644 tests/functionaltests/suites/harvesting/post/Harvest-iso.xml create mode 100644 tests/functionaltests/suites/harvesting/post/Harvest-rdf.xml create mode 100644 tests/functionaltests/suites/harvesting/post/Harvest-sos100.xml create mode 100644 tests/functionaltests/suites/harvesting/post/Harvest-sos200.xml create mode 100644 tests/functionaltests/suites/harvesting/post/Harvest-waf.xml create mode 100644 tests/functionaltests/suites/harvesting/post/Harvest-wcs.xml create mode 100644 tests/functionaltests/suites/harvesting/post/Harvest-wfs110.xml create mode 100644 tests/functionaltests/suites/harvesting/post/Harvest-wfs200.xml create mode 100644 tests/functionaltests/suites/harvesting/post/Harvest-wms-run1.xml create mode 100644 tests/functionaltests/suites/harvesting/post/Harvest-wms-run2.xml create mode 100644 tests/functionaltests/suites/harvesting/post/Harvest-wmts.xml create mode 100644 tests/functionaltests/suites/harvesting/post/Harvest-wps.xml create mode 100644 tests/functionaltests/suites/harvesting/post/Harvest-zzz-post-GetRecords-filter-ows-dc.xml create mode 100644 tests/functionaltests/suites/harvesting/post/Harvest-zzz-post-GetRecords-filter-sos-abstract-dc.xml create mode 100644 tests/functionaltests/suites/harvesting/post/Harvest-zzz-post-GetRecords-filter-sos-dc.xml create mode 100644 tests/functionaltests/suites/harvesting/post/Harvest-zzz-post-GetRecords-filter-sos-iso.xml create mode 100644 tests/functionaltests/suites/harvesting/post/Harvest-zzz-post-GetRecords-filter-wfs-iso.xml create mode 100644 tests/functionaltests/suites/harvesting/post/Harvest-zzz-post-GetRecords-filter-wms-dc.xml create mode 100644 tests/functionaltests/suites/harvesting/post/Harvest-zzz-post-GetRecords-filter-wms-iso.xml create mode 100644 tests/functionaltests/suites/harvesting/post/Harvest-zzz-post-GetRecords-filter-wms-layer.xml create mode 100644 tests/functionaltests/suites/harvesting/post/Harvest-zzz-post-GetRecords-filter-wps-process.xml create mode 100644 tests/functionaltests/suites/harvesting/post/Transaction-000-delete-all.xml create mode 100644 tests/functionaltests/suites/manager/default.cfg create mode 100644 tests/functionaltests/suites/manager/expected/post_Clear-000-delete-all.xml create mode 100644 tests/functionaltests/suites/manager/expected/post_GetCapabilities.xml create mode 100644 tests/functionaltests/suites/manager/expected/post_GetDomain-parameter.xml create mode 100644 tests/functionaltests/suites/manager/expected/post_Transaction-000-delete-all.xml create mode 100644 tests/functionaltests/suites/manager/expected/post_Transaction-dc-01-insert.xml create mode 100644 tests/functionaltests/suites/manager/expected/post_Transaction-dc-02-update-full.xml create mode 100644 tests/functionaltests/suites/manager/expected/post_Transaction-fgdc-01-insert.xml create mode 100644 tests/functionaltests/suites/manager/expected/post_Transaction-fgdc-02-update-recprop.xml create mode 100644 tests/functionaltests/suites/manager/expected/post_Transaction-fgdc-03-delete-all.xml create mode 100644 tests/functionaltests/suites/manager/expected/post_Transaction-iso-00-delete-all.xml create mode 100644 tests/functionaltests/suites/manager/expected/post_Transaction-iso-01-insert.xml create mode 100644 tests/functionaltests/suites/manager/expected/post_Transaction-iso-02-update-full.xml create mode 100644 tests/functionaltests/suites/manager/expected/post_Transaction-iso-03-update-recprop.xml create mode 100644 tests/functionaltests/suites/manager/expected/post_Transaction-iso-04-update-recprop-no-matches.xml create mode 100644 tests/functionaltests/suites/manager/expected/post_Transaction-iso-05-delete.xml create mode 100644 tests/functionaltests/suites/manager/expected/post_Transaction-xxx-delete-all.xml create mode 100644 tests/functionaltests/suites/manager/post/Clear-000-delete-all.xml create mode 100644 tests/functionaltests/suites/manager/post/GetCapabilities.xml create mode 100644 tests/functionaltests/suites/manager/post/GetDomain-parameter.xml create mode 100644 tests/functionaltests/suites/manager/post/Transaction-000-delete-all.xml create mode 100644 tests/functionaltests/suites/manager/post/Transaction-dc-01-insert.xml create mode 100644 tests/functionaltests/suites/manager/post/Transaction-dc-02-update-full.xml create mode 100644 tests/functionaltests/suites/manager/post/Transaction-fgdc-01-insert.xml create mode 100644 tests/functionaltests/suites/manager/post/Transaction-fgdc-02-update-recprop.xml create mode 100644 tests/functionaltests/suites/manager/post/Transaction-fgdc-03-delete-all.xml create mode 100644 tests/functionaltests/suites/manager/post/Transaction-iso-00-delete-all.xml create mode 100644 tests/functionaltests/suites/manager/post/Transaction-iso-01-insert.xml create mode 100644 tests/functionaltests/suites/manager/post/Transaction-iso-02-update-full.xml create mode 100644 tests/functionaltests/suites/manager/post/Transaction-iso-03-update-recprop.xml create mode 100644 tests/functionaltests/suites/manager/post/Transaction-iso-04-update-recprop-no-matches.xml create mode 100644 tests/functionaltests/suites/manager/post/Transaction-iso-05-delete.xml create mode 100644 tests/functionaltests/suites/manager/post/Transaction-xxx-delete-all.xml create mode 100644 tests/functionaltests/suites/oaipmh/default.cfg create mode 100644 tests/functionaltests/suites/oaipmh/expected/get_GetRecord_bad_metadata_prefix.xml create mode 100644 tests/functionaltests/suites/oaipmh/expected/get_GetRecord_dc.xml create mode 100644 tests/functionaltests/suites/oaipmh/expected/get_GetRecord_iso.xml create mode 100644 tests/functionaltests/suites/oaipmh/expected/get_GetRecord_oai_dc.xml create mode 100644 tests/functionaltests/suites/oaipmh/expected/get_Identify.xml create mode 100644 tests/functionaltests/suites/oaipmh/expected/get_ListIdentifiers_bad_metadata_prefix.xml create mode 100644 tests/functionaltests/suites/oaipmh/expected/get_ListIdentifiers_dc.xml create mode 100644 tests/functionaltests/suites/oaipmh/expected/get_ListIdentifiers_iso.xml create mode 100644 tests/functionaltests/suites/oaipmh/expected/get_ListIdentifiers_missing_metadata_prefix.xml create mode 100644 tests/functionaltests/suites/oaipmh/expected/get_ListIdentifiers_oai_dc.xml create mode 100644 tests/functionaltests/suites/oaipmh/expected/get_ListMetadataFormats.xml create mode 100644 tests/functionaltests/suites/oaipmh/expected/get_ListRecords_dc.xml create mode 100644 tests/functionaltests/suites/oaipmh/expected/get_ListRecords_dc_bad_metadata_prefix.xml create mode 100644 tests/functionaltests/suites/oaipmh/expected/get_ListRecords_iso19139.xml create mode 100644 tests/functionaltests/suites/oaipmh/expected/get_ListRecords_oai_dc.xml create mode 100644 tests/functionaltests/suites/oaipmh/expected/get_ListSets.xml create mode 100644 tests/functionaltests/suites/oaipmh/expected/get_bad_verb.xml create mode 100644 tests/functionaltests/suites/oaipmh/expected/get_empty.xml create mode 100644 tests/functionaltests/suites/oaipmh/expected/get_empty_with_amp.xml create mode 100644 tests/functionaltests/suites/oaipmh/expected/get_illegal_verb.xml create mode 100644 tests/functionaltests/suites/oaipmh/get/requests.txt create mode 100644 tests/functionaltests/suites/repofilter/default.cfg create mode 100644 tests/functionaltests/suites/repofilter/expected/post_GetRecordById-masked.xml create mode 100644 tests/functionaltests/suites/repofilter/expected/post_GetRecords-all.xml create mode 100644 tests/functionaltests/suites/repofilter/post/GetRecordById-masked.xml create mode 100644 tests/functionaltests/suites/repofilter/post/GetRecords-all.xml create mode 100644 tests/functionaltests/suites/sru/default.cfg create mode 100644 tests/functionaltests/suites/sru/expected/get_explain.xml create mode 100644 tests/functionaltests/suites/sru/expected/get_search.xml create mode 100644 tests/functionaltests/suites/sru/expected/get_search_cql.xml create mode 100644 tests/functionaltests/suites/sru/expected/get_search_maxrecords.xml create mode 100644 tests/functionaltests/suites/sru/expected/get_search_startrecord_maxrecords.xml create mode 100644 tests/functionaltests/suites/sru/get/requests.txt create mode 100644 tests/functionaltests/suites/utf-8/default.cfg create mode 100644 tests/functionaltests/suites/utf-8/expected/post_GetCapabilities.xml create mode 100644 tests/functionaltests/suites/utf-8/post/GetCapabilities.xml diff --git a/tests/functionaltests/suites/apiso-inspire/default.cfg b/tests/functionaltests/suites/apiso-inspire/default.cfg new file mode 100644 index 000000000..a72121449 --- /dev/null +++ b/tests/functionaltests/suites/apiso-inspire/default.cfg @@ -0,0 +1,91 @@ +# ================================================================= +# +# Authors: Tom Kralidis +# +# Copyright (c) 2011 Tom Kralidis +# +# Permission is hereby granted, free of charge, to any person +# obtaining a copy of this software and associated documentation +# files (the "Software"), to deal in the Software without +# restriction, including without limitation the rights to use, +# copy, modify, merge, publish, distribute, sublicense, and/or sell +# copies of the Software, and to permit persons to whom the +# Software is furnished to do so, subject to the following +# conditions: +# +# The above copyright notice and this permission notice shall be +# included in all copies or substantial portions of the Software. +# +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +# EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES +# OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +# NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT +# HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, +# WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR +# OTHER DEALINGS IN THE SOFTWARE. +# +# ================================================================= + +[server] +home=. +url=http://localhost/pycsw/csw.py?config=tests/suites/apiso-inspire/default.cfg +mimetype=application/xml; charset=UTF-8 +encoding=UTF-8 +language=en-US +maxrecords=10 +#loglevel=DEBUG +#logfile=/tmp/pycsw.log +#ogc_schemas_base=http://foo +federatedcatalogues=http://geo.data.gov/geoportal/csw/discovery +pretty_print=true +#gzip_compresslevel=8 +#spatial_ranking=true +profiles=apiso + +[manager] +transactions=false +allowed_ips=127.0.0.1 + +[metadata:main] +identification_title=pycsw Geospatial Catalogue +identification_abstract=pycsw is an OGC CSW server implementation written in Python +identification_keywords=catalogue,discovery +identification_keywords_type=theme +identification_fees=None +identification_accessconstraints=None +provider_name=pycsw +provider_url=http://pycsw.org/ +contact_name=Kralidis, Tom +contact_position=Senior Systems Scientist +contact_address=TBA +contact_city=Toronto +contact_stateorprovince=Ontario +contact_postalcode=M9C 3Z9 +contact_country=Canada +contact_phone=+01-416-xxx-xxxx +contact_fax=+01-416-xxx-xxxx +contact_email=tomkralidis@gmail.com +contact_url=http://kralidis.ca/ +contact_hours=0800h - 1600h EST +contact_instructions=During hours of service. Off on weekends. +contact_role=pointOfContact + +[repository] +# sqlite +database=sqlite:///tests/suites/cite/data/records.db +# postgres +#database=postgres://username:password@localhost/pycsw +table=records + +[metadata:inspire] +enabled=true +languages_supported=eng,gre +default_language=eng +date=2011-03-29 +gemet_keywords=Utility and governmental services +conformity_service=notEvaluated +contact_name=National Technical University of Athens +contact_email=tzotsos@gmail.com +temp_extent=2011-02-01/2011-03-30 + diff --git a/tests/functionaltests/suites/apiso-inspire/expected/get_GetCapabilities-lang.xml b/tests/functionaltests/suites/apiso-inspire/expected/get_GetCapabilities-lang.xml new file mode 100644 index 000000000..6ecec21c6 --- /dev/null +++ b/tests/functionaltests/suites/apiso-inspire/expected/get_GetCapabilities-lang.xml @@ -0,0 +1,375 @@ + + + + + pycsw Geospatial Catalogue + pycsw is an OGC CSW server implementation written in Python + + catalogue + discovery + theme + + CSW + 2.0.2 + 3.0.0 + None + None + + + pycsw + + + Kralidis, Tom + Senior Systems Scientist + + + +01-416-xxx-xxxx + +01-416-xxx-xxxx + + + TBA + Toronto + Ontario + M9C 3Z9 + Canada + tomkralidis@gmail.com + + + 0800h - 1600h EST + During hours of service. Off on weekends. + + pointOfContact + + + + + + + + + + + + Filter_Capabilities + OperationsMetadata + ServiceIdentification + ServiceProvider + + + + + + + + + + + application/json + application/xml + + + http://www.w3.org/2001/XMLSchema + http://www.w3.org/TR/xmlschema-1/ + http://www.w3.org/XML/Schema + + + csw:Record + gmd:MD_Metadata + + + + + + + + + + + DescribeRecord.outputFormat + DescribeRecord.schemaLanguage + DescribeRecord.typeName + GetCapabilities.sections + GetRecordById.ElementSetName + GetRecordById.outputFormat + GetRecordById.outputSchema + GetRecords.CONSTRAINTLANGUAGE + GetRecords.ElementSetName + GetRecords.outputFormat + GetRecords.outputSchema + GetRecords.resultType + GetRecords.typeNames + + + + + + + + + + + CQL_TEXT + FILTER + + + brief + full + summary + + + application/json + application/xml + + + http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ + http://www.interlis.ch/INTERLIS2.3 + http://www.isotc211.org/2005/gmd + http://www.opengis.net/cat/csw/2.0.2 + http://www.opengis.net/cat/csw/csdgm + http://www.w3.org/2005/Atom + + + hits + results + validate + + + csw:Record + gmd:MD_Metadata + + + apiso:AccessConstraints + apiso:Classification + apiso:ConditionApplyingToAccessAndUse + apiso:Contributor + apiso:Creator + apiso:Degree + apiso:Lineage + apiso:OtherConstraints + apiso:Publisher + apiso:Relation + apiso:ResponsiblePartyRole + apiso:SpecificationDate + apiso:SpecificationDateType + apiso:SpecificationTitle + + + csw:AnyText + dc:contributor + dc:creator + dc:date + dc:format + dc:identifier + dc:language + dc:publisher + dc:relation + dc:rights + dc:source + dc:subject + dc:title + dc:type + dct:abstract + dct:modified + ows:BoundingBox + + + apiso:Abstract + apiso:AlternateTitle + apiso:AnyText + apiso:BoundingBox + apiso:CRS + apiso:CouplingType + apiso:CreationDate + apiso:Denominator + apiso:DistanceUOM + apiso:DistanceValue + apiso:Format + apiso:GeographicDescriptionCode + apiso:HasSecurityConstraints + apiso:Identifier + apiso:KeywordType + apiso:Language + apiso:Modified + apiso:OperatesOn + apiso:OperatesOnIdentifier + apiso:OperatesOnName + apiso:Operation + apiso:OrganisationName + apiso:ParentIdentifier + apiso:PublicationDate + apiso:ResourceLanguage + apiso:RevisionDate + apiso:ServiceType + apiso:ServiceTypeVersion + apiso:Subject + apiso:TempExtent_begin + apiso:TempExtent_end + apiso:Title + apiso:TopicCategory + apiso:Type + + + + + + + + + + + brief + full + summary + + + application/json + application/xml + + + http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ + http://www.interlis.ch/INTERLIS2.3 + http://www.isotc211.org/2005/gmd + http://www.opengis.net/cat/csw/2.0.2 + http://www.opengis.net/cat/csw/csdgm + http://www.w3.org/2005/Atom + + + + + + + + + + + CSW + + + 2.0.2 + 3.0.0 + + + http://geo.data.gov/geoportal/csw/discovery + + + 10 + + + XML + SOAP + + + allowed + + + + http://localhost/pycsw/csw.py?config=tests/suites/apiso-inspire/default.cfg&service=CSW&version=2.0.2&request=GetCapabilities + application/xml + + service + + + + 2011-02-01 + 2011-03-30 + + + + + + COMMISSION REGULATION (EU) No 1089/2010 of 23 November 2010 implementing Directive 2007/2/EC of the European Parliament and of the Council as regards interoperability of spatial data sets and services + 2010-12-08 + OJ:L:2010:323:0011:0102:EN:PDF + + http://eur-lex.europa.eu/LexUriServ/LexUriServ.do?uri=OJ:L:2010:323:0011:0102:EN:PDF + application/pdf + + + notEvaluated + + + National Technical University of Athens + tzotsos@gmail.com + + 2011-03-29 + discovery + + infoCatalogueService + + + + GEMET - INSPIRE themes + 2008-06-01 + + Utility and governmental services + + + + eng + + + eng + + + gre + + + + eng + + + + + + + gml:Point + gml:LineString + gml:Polygon + gml:Envelope + + + + + + + + + + + + + + + + + + + Between + EqualTo + GreaterThan + GreaterThanEqualTo + LessThan + LessThanEqualTo + Like + NotEqualTo + NullCheck + + + + + length + lower + ltrim + rtrim + trim + upper + + + + + + + + + + diff --git a/tests/functionaltests/suites/apiso-inspire/expected/get_GetCapabilities.xml b/tests/functionaltests/suites/apiso-inspire/expected/get_GetCapabilities.xml new file mode 100644 index 000000000..6ecec21c6 --- /dev/null +++ b/tests/functionaltests/suites/apiso-inspire/expected/get_GetCapabilities.xml @@ -0,0 +1,375 @@ + + + + + pycsw Geospatial Catalogue + pycsw is an OGC CSW server implementation written in Python + + catalogue + discovery + theme + + CSW + 2.0.2 + 3.0.0 + None + None + + + pycsw + + + Kralidis, Tom + Senior Systems Scientist + + + +01-416-xxx-xxxx + +01-416-xxx-xxxx + + + TBA + Toronto + Ontario + M9C 3Z9 + Canada + tomkralidis@gmail.com + + + 0800h - 1600h EST + During hours of service. Off on weekends. + + pointOfContact + + + + + + + + + + + + Filter_Capabilities + OperationsMetadata + ServiceIdentification + ServiceProvider + + + + + + + + + + + application/json + application/xml + + + http://www.w3.org/2001/XMLSchema + http://www.w3.org/TR/xmlschema-1/ + http://www.w3.org/XML/Schema + + + csw:Record + gmd:MD_Metadata + + + + + + + + + + + DescribeRecord.outputFormat + DescribeRecord.schemaLanguage + DescribeRecord.typeName + GetCapabilities.sections + GetRecordById.ElementSetName + GetRecordById.outputFormat + GetRecordById.outputSchema + GetRecords.CONSTRAINTLANGUAGE + GetRecords.ElementSetName + GetRecords.outputFormat + GetRecords.outputSchema + GetRecords.resultType + GetRecords.typeNames + + + + + + + + + + + CQL_TEXT + FILTER + + + brief + full + summary + + + application/json + application/xml + + + http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ + http://www.interlis.ch/INTERLIS2.3 + http://www.isotc211.org/2005/gmd + http://www.opengis.net/cat/csw/2.0.2 + http://www.opengis.net/cat/csw/csdgm + http://www.w3.org/2005/Atom + + + hits + results + validate + + + csw:Record + gmd:MD_Metadata + + + apiso:AccessConstraints + apiso:Classification + apiso:ConditionApplyingToAccessAndUse + apiso:Contributor + apiso:Creator + apiso:Degree + apiso:Lineage + apiso:OtherConstraints + apiso:Publisher + apiso:Relation + apiso:ResponsiblePartyRole + apiso:SpecificationDate + apiso:SpecificationDateType + apiso:SpecificationTitle + + + csw:AnyText + dc:contributor + dc:creator + dc:date + dc:format + dc:identifier + dc:language + dc:publisher + dc:relation + dc:rights + dc:source + dc:subject + dc:title + dc:type + dct:abstract + dct:modified + ows:BoundingBox + + + apiso:Abstract + apiso:AlternateTitle + apiso:AnyText + apiso:BoundingBox + apiso:CRS + apiso:CouplingType + apiso:CreationDate + apiso:Denominator + apiso:DistanceUOM + apiso:DistanceValue + apiso:Format + apiso:GeographicDescriptionCode + apiso:HasSecurityConstraints + apiso:Identifier + apiso:KeywordType + apiso:Language + apiso:Modified + apiso:OperatesOn + apiso:OperatesOnIdentifier + apiso:OperatesOnName + apiso:Operation + apiso:OrganisationName + apiso:ParentIdentifier + apiso:PublicationDate + apiso:ResourceLanguage + apiso:RevisionDate + apiso:ServiceType + apiso:ServiceTypeVersion + apiso:Subject + apiso:TempExtent_begin + apiso:TempExtent_end + apiso:Title + apiso:TopicCategory + apiso:Type + + + + + + + + + + + brief + full + summary + + + application/json + application/xml + + + http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ + http://www.interlis.ch/INTERLIS2.3 + http://www.isotc211.org/2005/gmd + http://www.opengis.net/cat/csw/2.0.2 + http://www.opengis.net/cat/csw/csdgm + http://www.w3.org/2005/Atom + + + + + + + + + + + CSW + + + 2.0.2 + 3.0.0 + + + http://geo.data.gov/geoportal/csw/discovery + + + 10 + + + XML + SOAP + + + allowed + + + + http://localhost/pycsw/csw.py?config=tests/suites/apiso-inspire/default.cfg&service=CSW&version=2.0.2&request=GetCapabilities + application/xml + + service + + + + 2011-02-01 + 2011-03-30 + + + + + + COMMISSION REGULATION (EU) No 1089/2010 of 23 November 2010 implementing Directive 2007/2/EC of the European Parliament and of the Council as regards interoperability of spatial data sets and services + 2010-12-08 + OJ:L:2010:323:0011:0102:EN:PDF + + http://eur-lex.europa.eu/LexUriServ/LexUriServ.do?uri=OJ:L:2010:323:0011:0102:EN:PDF + application/pdf + + + notEvaluated + + + National Technical University of Athens + tzotsos@gmail.com + + 2011-03-29 + discovery + + infoCatalogueService + + + + GEMET - INSPIRE themes + 2008-06-01 + + Utility and governmental services + + + + eng + + + eng + + + gre + + + + eng + + + + + + + gml:Point + gml:LineString + gml:Polygon + gml:Envelope + + + + + + + + + + + + + + + + + + + Between + EqualTo + GreaterThan + GreaterThanEqualTo + LessThan + LessThanEqualTo + Like + NotEqualTo + NullCheck + + + + + length + lower + ltrim + rtrim + trim + upper + + + + + + + + + + diff --git a/tests/functionaltests/suites/apiso-inspire/get/requests.txt b/tests/functionaltests/suites/apiso-inspire/get/requests.txt new file mode 100644 index 000000000..09816a219 --- /dev/null +++ b/tests/functionaltests/suites/apiso-inspire/get/requests.txt @@ -0,0 +1,2 @@ +GetCapabilities,service=CSW&version=2.0.2&request=GetCapabilities +GetCapabilities-lang,service=CSW&version=2.0.2&request=GetCapabilities&lang=gre diff --git a/tests/functionaltests/suites/apiso/data/3e9a8c05.xml b/tests/functionaltests/suites/apiso/data/3e9a8c05.xml new file mode 100644 index 000000000..3635d7c8a --- /dev/null +++ b/tests/functionaltests/suites/apiso/data/3e9a8c05.xml @@ -0,0 +1,248 @@ + + +3e9a8c05 + + +eng + + +service + + + + +NTUA + + + + + + +tzotsos@gmail.com + + + + + + +pointOfContact + + + + +2011-04-18 + + +ISO19115 + + +2003/Cor.1:2006 + + + + + + +test Title + + + + +2011-04-19 + + +creation + + + + + + +http://aiolos.survey.ntua.gr + + +ogc + + + + + + +test Abstract + + + + +NTUA + + + + + + +tzotsos@gmail.com + + + + + + +owner + + + + + + +Geographic viewer (humanGeographicViewer) + + + + + + +administration + + + + +GEMET Themes, version 2.3 + + + + +2011-04-18 + + +publication + + + + + + + + + + +Conditions unknown + + + + + + +no limitation + + + + + + + + +19.37 + + +29.61 + + +34.80 + + +41.75 + + + + + + + +2011-04-18 +2011-04-20 + + + + + + + +view + + + + + + + + + + + + + + + + + +http://aiolos.survey.ntua.gr/geoserver/wms + + + + + + + + + + + + +service + + + + + + + + +Conformity_001 + + +INSPIRE + + + + + + + + +Corrigendum to INSPIRE Metadata Regulation published in the Official Journal of the European Union, L 328, page 83 + + + + +2009-12-15 + + +publication + + + + + + +See the referenced specification + + +true + + + + + + + + diff --git a/tests/functionaltests/suites/apiso/data/README.txt b/tests/functionaltests/suites/apiso/data/README.txt new file mode 100644 index 000000000..3dd817cbc --- /dev/null +++ b/tests/functionaltests/suites/apiso/data/README.txt @@ -0,0 +1,7 @@ +APISO Data +========== + +This directory provides data used to check conformance against pycsw APISO support. + +- pacioos-NS06agg.xml: http://oos.soest.hawaii.edu/pacioos/metadata/NS06agg.html +- all other *.xml files are from the Greek National Mapping Agency (metadata submitted to the INSPIRE geoportal) diff --git a/tests/functionaltests/suites/apiso/data/T_aerfo_RAS_1991_GR800P001800000012.xml b/tests/functionaltests/suites/apiso/data/T_aerfo_RAS_1991_GR800P001800000012.xml new file mode 100644 index 000000000..701c3d9a2 --- /dev/null +++ b/tests/functionaltests/suites/apiso/data/T_aerfo_RAS_1991_GR800P001800000012.xml @@ -0,0 +1,37 @@ + + + 366f6257-19eb-4f20-ba78-0698ac4aae77 + eng + dataset + YPAATypaat@ypaat.grpointOfContact + 2009-10-09 +ISO19115 +2003/Cor.1:2006 + + + + + Aerial Photos + 2009-10-09creation + 366f6257-19eb-4f20-ba78-0698ac4aae77 + T_aerfo_RAS_1991_GR800P001800000012.tif + + + Aerial Photos +YPAATypaat@ypaat.growner + OrthoimageryGEMET - INSPIRE themes, version 1.02008-06-01publication + no conditions apply + otherRestrictionsno limitations + eng + geoscientificInformation + 20.0024.0038.0040.00 + 2009-10-092009-10-09 + + +http://www.ypaat.gr + +dataset +Conformity_001INSPIREINSPIRE2008-05-15publicationSee the referenced specificationtrue +test + + diff --git a/tests/functionaltests/suites/apiso/data/T_aerfo_RAS_1991_GR800P001800000013.xml b/tests/functionaltests/suites/apiso/data/T_aerfo_RAS_1991_GR800P001800000013.xml new file mode 100644 index 000000000..e91a4cc55 --- /dev/null +++ b/tests/functionaltests/suites/apiso/data/T_aerfo_RAS_1991_GR800P001800000013.xml @@ -0,0 +1,37 @@ + + + 75a7eb5e-336e-453d-ab06-209b1070d396 + eng + dataset + YPAATypaat@ypaat.grpointOfContact + 2009-10-09 +ISO19115 +2003/Cor.1:2006 + + + + + Aerial Photos + 2009-10-09creation + 75a7eb5e-336e-453d-ab06-209b1070d396 + T_aerfo_RAS_1991_GR800P001800000013.tif + + + Aerial Photos +YPAATypaat@ypaat.growner + OrthoimageryGEMET - INSPIRE themes, version 1.02008-06-01publication + no conditions apply + otherRestrictionsno limitations + eng + geoscientificInformation + 20.0024.0038.0040.00 + 2009-10-092009-10-09 + + +http://www.ypaat.gr + +dataset +Conformity_001INSPIREINSPIRE2008-05-15publicationSee the referenced specificationtrue +test + + diff --git a/tests/functionaltests/suites/apiso/data/T_aerfo_RAS_1991_GR800P001800000014.xml b/tests/functionaltests/suites/apiso/data/T_aerfo_RAS_1991_GR800P001800000014.xml new file mode 100644 index 000000000..88b35f749 --- /dev/null +++ b/tests/functionaltests/suites/apiso/data/T_aerfo_RAS_1991_GR800P001800000014.xml @@ -0,0 +1,37 @@ + + + a7308c0a-b748-48e2-bab7-0a608a51d416 + eng + dataset + YPAATypaat@ypaat.grpointOfContact + 2009-10-09 +ISO19115 +2003/Cor.1:2006 + + + + + Aerial Photos + 2009-10-09creation + a7308c0a-b748-48e2-bab7-0a608a51d416 + T_aerfo_RAS_1991_GR800P001800000014.tif + + + Aerial Photos +YPAATypaat@ypaat.growner + OrthoimageryGEMET - INSPIRE themes, version 1.02008-06-01publication + no conditions apply + otherRestrictionsno limitations + eng + geoscientificInformation + 20.0024.0038.0040.00 + 2009-10-092009-10-09 + + +http://www.ypaat.gr + +dataset +Conformity_001INSPIREINSPIRE2008-05-15publicationSee the referenced specificationtrue +test + + diff --git a/tests/functionaltests/suites/apiso/data/T_aerfo_RAS_1991_GR800P001800000015.xml b/tests/functionaltests/suites/apiso/data/T_aerfo_RAS_1991_GR800P001800000015.xml new file mode 100644 index 000000000..603fb0c5b --- /dev/null +++ b/tests/functionaltests/suites/apiso/data/T_aerfo_RAS_1991_GR800P001800000015.xml @@ -0,0 +1,37 @@ + + + 0173e0d7-6ea9-4407-b846-f29d6bfa9903 + eng + dataset + YPAATypaat@ypaat.grpointOfContact + 2009-10-09 +ISO19115 +2003/Cor.1:2006 + + + + + Aerial Photos + 2009-10-09creation + 0173e0d7-6ea9-4407-b846-f29d6bfa9903 + T_aerfo_RAS_1991_GR800P001800000015.tif + + + Aerial Photos +YPAATypaat@ypaat.growner + OrthoimageryGEMET - INSPIRE themes, version 1.02008-06-01publication + no conditions apply + otherRestrictionsno limitations + eng + geoscientificInformation + 20.0024.0038.0040.00 + 2009-10-092009-10-09 + + +http://www.ypaat.gr + +dataset +Conformity_001INSPIREINSPIRE2008-05-15publicationSee the referenced specificationtrue +test + + diff --git a/tests/functionaltests/suites/apiso/data/T_ortho_RAS_1998_284404.xml b/tests/functionaltests/suites/apiso/data/T_ortho_RAS_1998_284404.xml new file mode 100644 index 000000000..f9c584c34 --- /dev/null +++ b/tests/functionaltests/suites/apiso/data/T_ortho_RAS_1998_284404.xml @@ -0,0 +1,37 @@ + + + de53e931-778a-4792-94ad-9fe507aca483 + eng + dataset + YPAATypaat@ypaat.grpointOfContact + 2009-10-07 +ISO19115 +2003/Cor.1:2006 + + + + + Ortho + 2000-01-01publication + de53e931-778a-4792-94ad-9fe507aca483 + T_ortho_RAS_1998_284404.tif + + + Ortho +YPAATypaat@ypaat.growner + OrthoimageryGEMET - INSPIRE themes, version 1.02008-06-01publication + no conditions apply + otherRestrictionsno limitations + 5000 + eng + geoscientificInformation + 21.47878421.52731739.7600139.790341 + 1997-01-011999-01-01 + + +http://www.ypaat.gr + +dataset +test + + diff --git a/tests/functionaltests/suites/apiso/data/T_ortho_RAS_1998_288395.xml b/tests/functionaltests/suites/apiso/data/T_ortho_RAS_1998_288395.xml new file mode 100644 index 000000000..c9328b797 --- /dev/null +++ b/tests/functionaltests/suites/apiso/data/T_ortho_RAS_1998_288395.xml @@ -0,0 +1,37 @@ + + + 4a5109d7-9ce5-4197-a423-b5fa8c426dee + eng + dataset + YPAATypaat@ypaat.grpointOfContact + 2009-10-07 +ISO19115 +2003/Cor.1:2006 + + + + + Ortho + 2000-01-01publication + 4a5109d7-9ce5-4197-a423-b5fa8c426dee + T_ortho_RAS_1998_288395.tif + + + Ortho +YPAATypaat@ypaat.growner + OrthoimageryGEMET - INSPIRE themes, version 1.02008-06-01publication + no conditions apply + otherRestrictionsno limitations + 5000 + eng + geoscientificInformation + 21.52833321.57683439.67999939.710309 + 1997-01-011999-01-01 + + +http://www.ypaat.gr + +dataset +test + + diff --git a/tests/functionaltests/suites/apiso/data/T_ortho_RAS_1998_288398.xml b/tests/functionaltests/suites/apiso/data/T_ortho_RAS_1998_288398.xml new file mode 100644 index 000000000..2b40aa4ba --- /dev/null +++ b/tests/functionaltests/suites/apiso/data/T_ortho_RAS_1998_288398.xml @@ -0,0 +1,37 @@ + + + 5f37e0f8-4fb1-4637-b959-b415058bdb68 + eng + dataset + YPAATypaat@ypaat.grpointOfContact + 2009-10-07 +ISO19115 +2003/Cor.1:2006 + + + + + Ortho + 2000-01-01publication + 5f37e0f8-4fb1-4637-b959-b415058bdb68 + T_ortho_RAS_1998_288398.tif + + + Ortho +YPAATypaat@ypaat.growner + OrthoimageryGEMET - INSPIRE themes, version 1.02008-06-01publication + no conditions apply + otherRestrictionsno limitations + 5000 + eng + geoscientificInformation + 21.52736921.57588839.70700439.737315 + 1997-01-011999-01-01 + + +http://www.ypaat.gr + +dataset +test + + diff --git a/tests/functionaltests/suites/apiso/data/T_ortho_RAS_1998_288401.xml b/tests/functionaltests/suites/apiso/data/T_ortho_RAS_1998_288401.xml new file mode 100644 index 000000000..7cab9fab2 --- /dev/null +++ b/tests/functionaltests/suites/apiso/data/T_ortho_RAS_1998_288401.xml @@ -0,0 +1,37 @@ + + + f99cc358-f379-4e79-ab1e-cb2f7709f594 + eng + dataset + YPAATypaat@ypaat.grpointOfContact + 2009-10-07 +ISO19115 +2003/Cor.1:2006 + + + + + Ortho + 2000-01-01publication + f99cc358-f379-4e79-ab1e-cb2f7709f594 + T_ortho_RAS_1998_288401.tif + + + Ortho +YPAATypaat@ypaat.growner + OrthoimageryGEMET - INSPIRE themes, version 1.02008-06-01publication + no conditions apply + otherRestrictionsno limitations + 5000 + eng + geoscientificInformation + 21.52640421.57494139.73400939.764321 + 1997-01-011999-01-01 + + +http://www.ypaat.gr + +dataset +test + + diff --git a/tests/functionaltests/suites/apiso/data/T_ortho_RAS_1998_288404.xml b/tests/functionaltests/suites/apiso/data/T_ortho_RAS_1998_288404.xml new file mode 100644 index 000000000..eaa38230a --- /dev/null +++ b/tests/functionaltests/suites/apiso/data/T_ortho_RAS_1998_288404.xml @@ -0,0 +1,37 @@ + + + ae200a05-2800-40b8-b85d-8f8d007b9e30 + eng + dataset + YPAATypaat@ypaat.grpointOfContact + 2009-10-07 +ISO19115 +2003/Cor.1:2006 + + + + + Ortho + 2000-01-01publication + ae200a05-2800-40b8-b85d-8f8d007b9e30 + T_ortho_RAS_1998_288404.tif + + + Ortho +YPAATypaat@ypaat.growner + OrthoimageryGEMET - INSPIRE themes, version 1.02008-06-01publication + no conditions apply + otherRestrictionsno limitations + 5000 + eng + geoscientificInformation + 21.52543721.57399239.76101539.791327 + 1997-01-011999-01-01 + + +http://www.ypaat.gr + +dataset +test + + diff --git a/tests/functionaltests/suites/apiso/data/T_pmoed_DTM_1996_276395.xml b/tests/functionaltests/suites/apiso/data/T_pmoed_DTM_1996_276395.xml new file mode 100644 index 000000000..30c75bbac --- /dev/null +++ b/tests/functionaltests/suites/apiso/data/T_pmoed_DTM_1996_276395.xml @@ -0,0 +1,37 @@ + + + a2744b0c-becd-426a-95a8-46e9850ccc6d + eng + dataset + YPAATypaat@ypaat.grpointOfContact + 2009-10-07 +ISO19115 +2003/Cor.1:2006 + + + + + DTM + 2009-10-07creation + a2744b0c-becd-426a-95a8-46e9850ccc6d + T_pmoed_DTM_1996_276395.tif + + + DTM +YPAATypaat@ypaat.growner + ElevationGEMET - INSPIRE themes, version 1.02008-06-01publication + no conditions apply + otherRestrictionsno limitations + 5000 + eng + elevation + 19.0030.0034.0042.00 + 2009-10-072009-10-07 + + +http://www.ypaat.gr + +dataset +test + + diff --git a/tests/functionaltests/suites/apiso/data/T_pmoed_DTM_1996_276398.xml b/tests/functionaltests/suites/apiso/data/T_pmoed_DTM_1996_276398.xml new file mode 100644 index 000000000..29dfd6399 --- /dev/null +++ b/tests/functionaltests/suites/apiso/data/T_pmoed_DTM_1996_276398.xml @@ -0,0 +1,37 @@ + + + 0dc824a6-b555-46c1-bd7b-bc66cb91a70f + eng + dataset + YPAATypaat@ypaat.grpointOfContact + 2009-10-07 +ISO19115 +2003/Cor.1:2006 + + + + + DTM + 2009-10-07creation + 0dc824a6-b555-46c1-bd7b-bc66cb91a70f + T_pmoed_DTM_1996_276398.tif + + + DTM +YPAATypaat@ypaat.growner + ElevationGEMET - INSPIRE themes, version 1.02008-06-01publication + no conditions apply + otherRestrictionsno limitations + 5000 + eng + elevation + 19.0030.0034.0042.00 + 2009-10-072009-10-07 + + +http://www.ypaat.gr + +dataset +test + + diff --git a/tests/functionaltests/suites/apiso/data/T_pmoed_DTM_1996_276401.xml b/tests/functionaltests/suites/apiso/data/T_pmoed_DTM_1996_276401.xml new file mode 100644 index 000000000..22d507920 --- /dev/null +++ b/tests/functionaltests/suites/apiso/data/T_pmoed_DTM_1996_276401.xml @@ -0,0 +1,37 @@ + + + 42c8e55a-2bf6-476d-a7c9-be3bcd697f13 + eng + dataset + YPAATypaat@ypaat.grpointOfContact + 2009-10-07 +ISO19115 +2003/Cor.1:2006 + + + + + DTM + 2009-10-07creation + 42c8e55a-2bf6-476d-a7c9-be3bcd697f13 + T_pmoed_DTM_1996_276401.tif + + + DTM +YPAATypaat@ypaat.growner + ElevationGEMET - INSPIRE themes, version 1.02008-06-01publication + no conditions apply + otherRestrictionsno limitations + 5000 + eng + elevation + 19.0030.0034.0042.00 + 2009-10-072009-10-07 + + +http://www.ypaat.gr + +dataset +test + + diff --git a/tests/functionaltests/suites/apiso/data/T_pmoed_DTM_1996_276404.xml b/tests/functionaltests/suites/apiso/data/T_pmoed_DTM_1996_276404.xml new file mode 100644 index 000000000..1bdc099d5 --- /dev/null +++ b/tests/functionaltests/suites/apiso/data/T_pmoed_DTM_1996_276404.xml @@ -0,0 +1,37 @@ + + + c3bf29d4-d60a-4959-a415-2c03fb0d4aef + eng + dataset + YPAATypaat@ypaat.grpointOfContact + 2009-10-07 +ISO19115 +2003/Cor.1:2006 + + + + + DTM + 2009-10-07creation + c3bf29d4-d60a-4959-a415-2c03fb0d4aef + T_pmoed_DTM_1996_276404.tif + + + DTM +YPAATypaat@ypaat.growner + ElevationGEMET - INSPIRE themes, version 1.02008-06-01publication + no conditions apply + otherRestrictionsno limitations + 5000 + eng + elevation + 19.0030.0034.0042.00 + 2009-10-072009-10-07 + + +http://www.ypaat.gr + +dataset +test + + diff --git a/tests/functionaltests/suites/apiso/data/T_pmoed_DTM_1996_280395.xml b/tests/functionaltests/suites/apiso/data/T_pmoed_DTM_1996_280395.xml new file mode 100644 index 000000000..422ca581c --- /dev/null +++ b/tests/functionaltests/suites/apiso/data/T_pmoed_DTM_1996_280395.xml @@ -0,0 +1,37 @@ + + + b8cc2388-5d0a-43d8-9473-0e86dd0396da + eng + dataset + YPAATypaat@ypaat.grpointOfContact + 2009-10-07 +ISO19115 +2003/Cor.1:2006 + + + + + DTM + 2009-10-07creation + b8cc2388-5d0a-43d8-9473-0e86dd0396da + T_pmoed_DTM_1996_280395.tif + + + DTM +YPAATypaat@ypaat.growner + ElevationGEMET - INSPIRE themes, version 1.02008-06-01publication + no conditions apply + otherRestrictionsno limitations + 5000 + eng + elevation + 19.0030.0034.0042.00 + 2009-10-072009-10-07 + + +http://www.ypaat.gr + +dataset +test + + diff --git a/tests/functionaltests/suites/apiso/data/pacioos-NS06agg.xml b/tests/functionaltests/suites/apiso/data/pacioos-NS06agg.xml new file mode 100644 index 000000000..5d9636487 --- /dev/null +++ b/tests/functionaltests/suites/apiso/data/pacioos-NS06agg.xml @@ -0,0 +1,1182 @@ + + + + NS06agg + + + eng + + + UTF8 + + + dataset + + + service + + + + + Margaret McManus + + + University of Hawaii + + + + + + + mamc@hawaii.edu + + + + + + + http://www.soest.hawaii.edu/oceanography/faculty/mcmanus.html + + + http + + + web browser + + + + + + + + + information + + + + + + + pointOfContact + + + + + 2014-04-16 + + + ISO 19115-2 Geographic Information - Metadata Part 2 Extensions for imagery and gridded data + + + ISO 19115-2:2009(E) + + + + + 3 + + + + + column + + + 1 + + + 0.0 + + + + + + + row + + + 1 + + + 0.0 + + + + + + + temporal + + + 482760 + + + 252.0 + + + + + area + + + + + + + + + + PacIOOS Nearshore Sensor 06: Pohnpei, Micronesia + + + + + 2011-04-12 + + + creation + + + + + + + 2011-04-19 + + + issued + + + + + + + 2014-03-18 + + + revision + + + + + + + + + org.pacioos + + + + + + NS06agg + + + + + + + Margaret McManus + + + University of Hawaii + + + + + + + mamc@hawaii.edu + + + + + + + http://www.soest.hawaii.edu/oceanography/faculty/mcmanus.html + + + http + + + web browser + + + + + + + + + information + + + + + + + originator + + + + + + + Jim Potemra + + + + + distributor + + + + + Data produced by Dr. Margaret McManus (mamc@hawaii.edu). Point of contact: Gordon Walker (gwalker@hawaii.edu). + + + + + The nearshore sensors are part of the Pacific Islands Ocean Observing System (PacIOOS) and are designed to measure a variety of ocean parameters at fixed point locations. NS06 is located at the dock in Pohnpei lagoon and is mounted to the bottom in about 1 meter of water. The instrument is a Sea-Bird Electronics model 16+ V2 coupled with a WET Labs ECO-FLNTUS combination sensor. + + + PacIOOS provides timely, reliable, and accurate ocean information to support a safe, clean, productive ocean and resilient coastal zone in the U.S. Pacific Islands region. + + + The Pacific Islands Ocean Observing System (PacIOOS) is funded through the National Oceanic and Atmospheric Administration (NOAA) as a Regional Association within the U.S. Integrated Ocean Observing System (IOOS). PacIOOS is coordinated by the University of Hawaii School of Ocean and Earth Science and Technology (SOEST). + + + + + Margaret McManus + + + University of Hawaii + + + + + + + mamc@hawaii.edu + + + + + + + http://www.soest.hawaii.edu/oceanography/faculty/mcmanus.html + + + http + + + web browser + + + + + + + + + information + + + + + + + pointOfContact + + + + + + http://pacioos.org/metadata/browse/NS06agg.png + + Sample image. + + + + + + + Oceans > Ocean Chemistry > Chlorophyll + + + Oceans > Ocean Optics > Turbidity + + + Oceans > Ocean Temperature > Water Temperature + + + Oceans > Salinity/Density > Conductivity + + + Oceans > Salinity/Density > Salinity + + + Oceans > Water Quality + + + theme + + + + + GCMD Science Keywords + + + + + + + + + + Ocean &gt; Pacific Ocean &gt; Western Pacific Ocean &gt; Micronesia &gt; Federated States of Micronesia + + + Ocean &gt; Pacific Ocean &gt; United States of America &gt; Territories + + + Federated States of Micronesia &gt; Pohnpei &gt; Pohnpei Lagoon + + + place + + + + + GCMD Location Keywords + + + + + + + + + + Pacific Islands Ocean Observing System (PacIOOS) + + + project + + + + + GCMD Project Keywords + + + + + + + + + + Pacific Islands Ocean Observing System (PacIOOS) + + + dataCenter + + + + + GCMD Data Center Keywords + + + + + + + + + + sea_water_temperature + + + sea_water_electrical_conductivity + + + sea_water_turbidity + + + mass_concentration_of_chlorophyll_in_sea_water + + + sea_water_salinity + + + depth + + + latitude + + + longitude + + + time + + + theme + + + + + CF-1.4 + + + + + + + + + + The data may be used and redistributed for free but is not intended for legal use, since it may contain inaccuracies. Neither the data Contributor, University of Hawaii, PacIOOS, NOAA, State of Hawaii nor the United States Government, nor any of their employees or contractors, makes any warranty, express or implied, including warranties of merchantability and fitness for a particular purpose, or assumes any legal liability for the accuracy, completeness, or usefulness, of this information. + + + + + + + + + Pacific Islands Ocean Observing System (PacIOOS) + + + + + + largerWorkCitation + + + project + + + + + + + + + + + Unidata Common Data Model + + + + + + Point + + + + + largerWorkCitation + + + project + + + + + eng + + + climatologyMeteorologyAtmosphere + + + + + + + 1 + + + 158.22402954101562 + + + 158.22402954101562 + + + 6.955227375030518 + + + 6.955227375030518 + + + + + + + + seconds + 2010-05-07T00:00:00Z + 2014-03-17T23:56:00Z + + + + + + + + -1.0 + + + -1.0 + + + + + + + + + + + + + + PacIOOS Nearshore Sensor 06: Pohnpei, Micronesia + + + + + 2011-04-12 + + + creation + + + + + + + 2011-04-19 + + + issued + + + + + + + 2014-03-18 + + + revision + + + + + + + Margaret McManus + + + University of Hawaii + + + + + + + mamc@hawaii.edu + + + + + + + http://www.soest.hawaii.edu/oceanography/faculty/mcmanus.html + + + http + + + web browser + + + + + + + + + information + + + + + + + originator + + + + + + + Jim Potemra + + + + + distributor + + + + + + + The nearshore sensors are part of the Pacific Islands Ocean Observing System (PacIOOS) and are designed to measure a variety of ocean parameters at fixed point locations. NS06 is located at the dock in Pohnpei lagoon and is mounted to the bottom in about 1 meter of water. The instrument is a Sea-Bird Electronics model 16+ V2 coupled with a WET Labs ECO-FLNTUS combination sensor. + + + THREDDS OPeNDAP + + + + + + + 1 + + + 158.22402954101562 + + + 158.22402954101562 + + + 6.955227375030518 + + + 6.955227375030518 + + + + + + + + 2010-05-07T00:00:00Z + 2014-03-17T23:56:00Z + + + + + + + + -1.0 + + + -1.0 + + + + + + + + tight + + + + + OPeNDAP Client Access + + + + + + http://oos.soest.hawaii.edu/thredds/dodsC/pacioos/nss/ns06agg + + + OPeNDAP + + + THREDDS OPeNDAP + + + download + + + + + + + + + + + + + + + + + + temp + + + + + float + + + + + + + Temperature (sea_water_temperature) + + + + + + + + + + cond + + + + + float + + + + + + + Conductivity (sea_water_electrical_conductivity) + + + + + + + + + + turb + + + + + float + + + + + + + Turbidity (sea_water_turbidity) + + + + + + + + + + flor + + + + + float + + + + + + + Chlorophyll (mass_concentration_of_chlorophyll_in_sea_water) + + + + + + + + + + salt + + + + + float + + + + + + + Salinity (sea_water_salinity) + + + + + + + + + + z + + + + + float + + + + + + + depth below mean sea level (depth) + + + + + + + + + + lat + + + + + float + + + + + + + Latitude (latitude) + + + + + + + + + + lon + + + + + float + + + + + + + Longitude (longitude) + + + + + + + + + + time + + + + + float + + + + + + + Time (time) + + + + + + + + + + + + + + + Pacific Islands Ocean Observing System (PacIOOS) + + + + + + + jimp@hawaii.edu + + + + + + + http://pacioos.org + + + http + + + web browser + + + URL for the data publisher + + + This URL provides contact information for the publisher of this dataset + + + information + + + + + + + publisher + + + + + + + OPeNDAP + + + + + + + + + + http://oos.soest.hawaii.edu/thredds/idd/nss_pacioos.html?dataset=NS06agg + + + THREDDS Catalog + + + This URL provides a catalog page for this dataset within THREDDS Data Server (TDS). + + + download + + + + + + + + + + + http://oos.soest.hawaii.edu/thredds/dodsC/pacioos/nss/ns06agg.html + + + File Information + + + This URL provides a standard OPeNDAP html interface for selecting data from this dataset. Change the extension to .info for a description of the dataset. + + + download + + + + + + + + + + + http://pacioos.org/voyager/index.html?b=6.874279%2C158.077126%2C7.050468%2C158.369808&tz=pont&o=qual:2::p0NS06p1 + + + PacIOOS Voyager (Google Maps API) + + + This URL provides a viewer for this dataset. + + + download + + + + + + + + + + + http://oos.soest.hawaii.edu/dchart/index.html?dsetid=54cd0688ada08d86748b9c5762509f + + + DChart + + + This URL provides a viewer for this dataset. + + + download + + + + + + + + + + + http://oos.soest.hawaii.edu/erddap/tabledap/nss06_agg.graph?time%2Ctemperature&.draw=lines + + + ERDDAP + + + This URL provides a viewer for this dataset. + + + download + + + + + + + + + + + http://pacioos.org/focus/waterquality/wq_fsm.php + + + PacIOOS Water Quality Platforms: FSM + + + This URL provides a viewer for this dataset. + + + download + + + + + + + + + + + + + + + dataset + + + + + + + UH/SOEST (M. McManus), PacIOOS asset (05/2010) + + + + + + + + + + This record was translated from NcML using UnidataDD2MI.xsl Version 2.3 + + + + diff --git a/tests/functionaltests/suites/apiso/data/test.xml b/tests/functionaltests/suites/apiso/data/test.xml new file mode 100644 index 000000000..d492ed7a7 --- /dev/null +++ b/tests/functionaltests/suites/apiso/data/test.xml @@ -0,0 +1,39 @@ + + + 437ae0a2-06e2-4015-b296-a66e7f407bf2 + eng + dataset + YPAATypaat@ypaat.grpointOfContact + NTUAtzotsos@gmail.compointOfContact + 2009-10-09 +ISO19115 +2003/Cor.1:2006 + + + + + Aerial Photos + 2009-10-09creation + 437ae0a2-06e2-4015-b296-a66e7f407bf2 + T_aerfo_RAS_1991_GR800P001800000011.tif + + + Aerial Photos +YPAATypaat@ypaat.growner +NTUAtzotsos@hotmail.comuser + OrthoimageryGEMET - INSPIRE themes, version 1.02008-06-01publication + no conditions apply + otherRestrictionsno limitations + eng + geoscientificInformation + 20.0038.0024.0040.00 + 2009-10-092009-10-09 + + +http://www.ypaat.gr + +dataset +Conformity_001INSPIREINSPIRE2008-05-15publicationSee the referenced specificationtrue +test + + diff --git a/tests/functionaltests/suites/apiso/default.cfg b/tests/functionaltests/suites/apiso/default.cfg new file mode 100644 index 000000000..6a60f3f9e --- /dev/null +++ b/tests/functionaltests/suites/apiso/default.cfg @@ -0,0 +1,91 @@ +# ================================================================= +# +# Authors: Tom Kralidis +# +# Copyright (c) 2011 Tom Kralidis +# +# Permission is hereby granted, free of charge, to any person +# obtaining a copy of this software and associated documentation +# files (the "Software"), to deal in the Software without +# restriction, including without limitation the rights to use, +# copy, modify, merge, publish, distribute, sublicense, and/or sell +# copies of the Software, and to permit persons to whom the +# Software is furnished to do so, subject to the following +# conditions: +# +# The above copyright notice and this permission notice shall be +# included in all copies or substantial portions of the Software. +# +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +# EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES +# OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +# NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT +# HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, +# WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR +# OTHER DEALINGS IN THE SOFTWARE. +# +# ================================================================= + +[server] +home=. +url=http://localhost/pycsw/csw.py?config=tests/suites/apiso/default.cfg +mimetype=application/xml; charset=UTF-8 +encoding=UTF-8 +language=en-US +maxrecords=10 +#loglevel=DEBUG +#logfile=/tmp/pycsw.log +#ogc_schemas_base=http://foo +federatedcatalogues=http://geo.data.gov/geoportal/csw/discovery +pretty_print=true +#gzip_compresslevel=8 +#spatial_ranking=true +profiles=apiso + +[manager] +transactions=false +allowed_ips=127.0.0.1 + +[metadata:main] +identification_title=pycsw Geospatial Catalogue +identification_abstract=pycsw is an OGC CSW server implementation written in Python +identification_keywords=catalogue,discovery +identification_keywords_type=theme +identification_fees=None +identification_accessconstraints=None +provider_name=pycsw +provider_url=http://pycsw.org/ +contact_name=Kralidis, Tom +contact_position=Senior Systems Scientist +contact_address=TBA +contact_city=Toronto +contact_stateorprovince=Ontario +contact_postalcode=M9C 3Z9 +contact_country=Canada +contact_phone=+01-416-xxx-xxxx +contact_fax=+01-416-xxx-xxxx +contact_email=tomkralidis@gmail.com +contact_url=http://kralidis.ca/ +contact_hours=0800h - 1600h EST +contact_instructions=During hours of service. Off on weekends. +contact_role=pointOfContact + +[repository] +# sqlite +database=sqlite:///tests/suites/apiso/data/records.db +# postgres +#database=postgres://username:password@localhost/pycsw +table=records + +[metadata:inspire] +enabled=false +languages_supported=eng,gre +default_language=eng +date=2011-03-29 +gemet_keywords=Utility and governmental services +conformity_service=notEvaluated +contact_name=National Technical University of Athens +contact_email=tzotsos@gmail.com +temp_extent=2011-02-01/2011-03-30 + diff --git a/tests/functionaltests/suites/apiso/expected/post_DescribeRecord.xml b/tests/functionaltests/suites/apiso/expected/post_DescribeRecord.xml new file mode 100644 index 000000000..bda19c0ac --- /dev/null +++ b/tests/functionaltests/suites/apiso/expected/post_DescribeRecord.xml @@ -0,0 +1,551 @@ + + + + + + + + This file was generated from ISO TC/211 UML class diagrams == 01-26-2005 12:40:05 ====== + + + + + + + + + + + + Basic information about data + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Graphic that provides an illustration of the dataset (should include a legend for the graphic) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + See 19119 for further info + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Brief description of ways in which the dataset is currently used. + + + + + + + + + + + + + + + + + + + + + + + + + + Keywords, their type and reference source + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Encapsulates the dataset aggregation information + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + High-level geospatial data thematic classification to assist in the grouping and search of available geospatial datasets + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + This file was generated from ISO TC/211 UML class diagrams == 10-13-2006 11:14:04 ====== + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/tests/functionaltests/suites/apiso/expected/post_GetCapabilities.xml b/tests/functionaltests/suites/apiso/expected/post_GetCapabilities.xml new file mode 100644 index 000000000..00656b296 --- /dev/null +++ b/tests/functionaltests/suites/apiso/expected/post_GetCapabilities.xml @@ -0,0 +1,318 @@ + + + + + pycsw Geospatial Catalogue + pycsw is an OGC CSW server implementation written in Python + + catalogue + discovery + theme + + CSW + 2.0.2 + 3.0.0 + None + None + + + pycsw + + + Kralidis, Tom + Senior Systems Scientist + + + +01-416-xxx-xxxx + +01-416-xxx-xxxx + + + TBA + Toronto + Ontario + M9C 3Z9 + Canada + tomkralidis@gmail.com + + + 0800h - 1600h EST + During hours of service. Off on weekends. + + pointOfContact + + + + + + + + + + + + Filter_Capabilities + OperationsMetadata + ServiceIdentification + ServiceProvider + + + + + + + + + + + application/json + application/xml + + + http://www.w3.org/2001/XMLSchema + http://www.w3.org/TR/xmlschema-1/ + http://www.w3.org/XML/Schema + + + csw:Record + gmd:MD_Metadata + + + + + + + + + + + DescribeRecord.outputFormat + DescribeRecord.schemaLanguage + DescribeRecord.typeName + GetCapabilities.sections + GetRecordById.ElementSetName + GetRecordById.outputFormat + GetRecordById.outputSchema + GetRecords.CONSTRAINTLANGUAGE + GetRecords.ElementSetName + GetRecords.outputFormat + GetRecords.outputSchema + GetRecords.resultType + GetRecords.typeNames + + + + + + + + + + + CQL_TEXT + FILTER + + + brief + full + summary + + + application/json + application/xml + + + http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ + http://www.interlis.ch/INTERLIS2.3 + http://www.isotc211.org/2005/gmd + http://www.opengis.net/cat/csw/2.0.2 + http://www.opengis.net/cat/csw/csdgm + http://www.w3.org/2005/Atom + + + hits + results + validate + + + csw:Record + gmd:MD_Metadata + + + apiso:AccessConstraints + apiso:Classification + apiso:ConditionApplyingToAccessAndUse + apiso:Contributor + apiso:Creator + apiso:Degree + apiso:Lineage + apiso:OtherConstraints + apiso:Publisher + apiso:Relation + apiso:ResponsiblePartyRole + apiso:SpecificationDate + apiso:SpecificationDateType + apiso:SpecificationTitle + + + csw:AnyText + dc:contributor + dc:creator + dc:date + dc:format + dc:identifier + dc:language + dc:publisher + dc:relation + dc:rights + dc:source + dc:subject + dc:title + dc:type + dct:abstract + dct:modified + ows:BoundingBox + + + apiso:Abstract + apiso:AlternateTitle + apiso:AnyText + apiso:BoundingBox + apiso:CRS + apiso:CouplingType + apiso:CreationDate + apiso:Denominator + apiso:DistanceUOM + apiso:DistanceValue + apiso:Format + apiso:GeographicDescriptionCode + apiso:HasSecurityConstraints + apiso:Identifier + apiso:KeywordType + apiso:Language + apiso:Modified + apiso:OperatesOn + apiso:OperatesOnIdentifier + apiso:OperatesOnName + apiso:Operation + apiso:OrganisationName + apiso:ParentIdentifier + apiso:PublicationDate + apiso:ResourceLanguage + apiso:RevisionDate + apiso:ServiceType + apiso:ServiceTypeVersion + apiso:Subject + apiso:TempExtent_begin + apiso:TempExtent_end + apiso:Title + apiso:TopicCategory + apiso:Type + + + + + + + + + + + brief + full + summary + + + application/json + application/xml + + + http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ + http://www.interlis.ch/INTERLIS2.3 + http://www.isotc211.org/2005/gmd + http://www.opengis.net/cat/csw/2.0.2 + http://www.opengis.net/cat/csw/csdgm + http://www.w3.org/2005/Atom + + + + + + + + + + + CSW + + + 2.0.2 + 3.0.0 + + + http://geo.data.gov/geoportal/csw/discovery + + + 10 + + + XML + SOAP + + + allowed + + + + + + gml:Point + gml:LineString + gml:Polygon + gml:Envelope + + + + + + + + + + + + + + + + + + + Between + EqualTo + GreaterThan + GreaterThanEqualTo + LessThan + LessThanEqualTo + Like + NotEqualTo + NullCheck + + + + + length + lower + ltrim + rtrim + trim + upper + + + + + + + + + + diff --git a/tests/functionaltests/suites/apiso/expected/post_GetDomain-property.xml b/tests/functionaltests/suites/apiso/expected/post_GetDomain-property.xml new file mode 100644 index 000000000..17c50d767 --- /dev/null +++ b/tests/functionaltests/suites/apiso/expected/post_GetDomain-property.xml @@ -0,0 +1,12 @@ + + + + + apiso:TopicCategory + + climatologyMeteorologyAtmosphere + elevation + geoscientificInformation + + + diff --git a/tests/functionaltests/suites/apiso/expected/post_GetRecordById-brief.xml b/tests/functionaltests/suites/apiso/expected/post_GetRecordById-brief.xml new file mode 100644 index 000000000..ea58eb97e --- /dev/null +++ b/tests/functionaltests/suites/apiso/expected/post_GetRecordById-brief.xml @@ -0,0 +1,77 @@ + + + + + + de53e931-778a-4792-94ad-9fe507aca483 + + + dataset + + + + + + + Ortho + + + + + 2000-01-01 + + + publication + + + + + + + + + + + 21.48 + + + 21.53 + + + 39.76 + + + 39.79 + + + + + + + + + + + + + + + http://www.ypaat.gr + + + None + + + None + + + None + + + + + + + + + diff --git a/tests/functionaltests/suites/apiso/expected/post_GetRecordById-full-dc.xml b/tests/functionaltests/suites/apiso/expected/post_GetRecordById-full-dc.xml new file mode 100644 index 000000000..155b3491d --- /dev/null +++ b/tests/functionaltests/suites/apiso/expected/post_GetRecordById-full-dc.xml @@ -0,0 +1,45 @@ + + + + + NS06agg + PacIOOS Nearshore Sensor 06: Pohnpei, Micronesia + dataset + Oceans > Ocean Chemistry > Chlorophyll + Oceans > Ocean Optics > Turbidity + Oceans > Ocean Temperature > Water Temperature + Oceans > Salinity/Density > Conductivity + Oceans > Salinity/Density > Salinity + Oceans > Water Quality + Ocean &gt; Pacific Ocean &gt; Western Pacific Ocean &gt; Micronesia &gt; Federated States of Micronesia + Ocean &gt; Pacific Ocean &gt; United States of America &gt; Territories + Federated States of Micronesia &gt; Pohnpei &gt; Pohnpei Lagoon + Pacific Islands Ocean Observing System (PacIOOS) + Pacific Islands Ocean Observing System (PacIOOS) + sea_water_temperature + sea_water_electrical_conductivity + sea_water_turbidity + mass_concentration_of_chlorophyll_in_sea_water + sea_water_salinity + depth + latitude + longitude + time + climatologyMeteorologyAtmosphere + http://oos.soest.hawaii.edu/thredds/idd/nss_pacioos.html?dataset=NS06agg + http://oos.soest.hawaii.edu/thredds/dodsC/pacioos/nss/ns06agg.html + http://pacioos.org/voyager/index.html?b=6.874279%2C158.077126%2C7.050468%2C158.369808&tz=pont&o=qual:2::p0NS06p1 + http://oos.soest.hawaii.edu/dchart/index.html?dsetid=54cd0688ada08d86748b9c5762509f + http://oos.soest.hawaii.edu/erddap/tabledap/nss06_agg.graph?time%2Ctemperature&.draw=lines + http://pacioos.org/focus/waterquality/wq_fsm.php + http://oos.soest.hawaii.edu/thredds/dodsC/pacioos/nss/ns06agg + + 2014-04-16 + The nearshore sensors are part of the Pacific Islands Ocean Observing System (PacIOOS) and are designed to measure a variety of ocean parameters at fixed point locations. NS06 is located at the dock in Pohnpei lagoon and is mounted to the bottom in about 1 meter of water. The instrument is a Sea-Bird Electronics model 16+ V2 coupled with a WET Labs ECO-FLNTUS combination sensor. + 2014-04-16 + + 6.96 158.22 + 6.96 158.22 + + + diff --git a/tests/functionaltests/suites/apiso/expected/post_GetRecordById-full.xml b/tests/functionaltests/suites/apiso/expected/post_GetRecordById-full.xml new file mode 100644 index 000000000..6b88e5eef --- /dev/null +++ b/tests/functionaltests/suites/apiso/expected/post_GetRecordById-full.xml @@ -0,0 +1,40 @@ + + + + + de53e931-778a-4792-94ad-9fe507aca483 + eng + dataset + YPAATypaat@ypaat.grpointOfContact + 2009-10-07 +ISO19115 +2003/Cor.1:2006 + + + + + Ortho + 2000-01-01publication + de53e931-778a-4792-94ad-9fe507aca483 + T_ortho_RAS_1998_284404.tif + + + Ortho +YPAATypaat@ypaat.growner + OrthoimageryGEMET - INSPIRE themes, version 1.02008-06-01publication + no conditions apply + otherRestrictionsno limitations + 5000 + eng + geoscientificInformation + 21.47878421.52731739.7600139.790341 + 1997-01-011999-01-01 + + +http://www.ypaat.gr + +dataset +test + + + diff --git a/tests/functionaltests/suites/apiso/expected/post_GetRecordById-srv-brief.xml b/tests/functionaltests/suites/apiso/expected/post_GetRecordById-srv-brief.xml new file mode 100644 index 000000000..896b014c5 --- /dev/null +++ b/tests/functionaltests/suites/apiso/expected/post_GetRecordById-srv-brief.xml @@ -0,0 +1,93 @@ + + + + + + 3e9a8c05 + + + service + + + + + + + test Title + + + + + 2011-04-19 + + + creation + + + + + + + view + + + + + + + + Geographic viewer (humanGeographicViewer) + + + administration + + + + + + + + + 19.37 + + + 29.61 + + + 34.8 + + + 41.75 + + + + + + + + + + + + + + + http://aiolos.survey.ntua.gr/geoserver/wms + + + None + + + None + + + None + + + + + + + + + diff --git a/tests/functionaltests/suites/apiso/expected/post_GetRecords-all-csw-output.xml b/tests/functionaltests/suites/apiso/expected/post_GetRecords-all-csw-output.xml new file mode 100644 index 000000000..e428bacf7 --- /dev/null +++ b/tests/functionaltests/suites/apiso/expected/post_GetRecords-all-csw-output.xml @@ -0,0 +1,399 @@ + + + + + + + +3e9a8c05 + + +eng + + +service + + + + +NTUA + + + + + + +tzotsos@gmail.com + + + + + + +pointOfContact + + + + +2011-04-18 + + +ISO19115 + + +2003/Cor.1:2006 + + + + + + +test Title + + + + +2011-04-19 + + +creation + + + + + + +http://aiolos.survey.ntua.gr + + +ogc + + + + + + +test Abstract + + + + +NTUA + + + + + + +tzotsos@gmail.com + + + + + + +owner + + + + + + +Geographic viewer (humanGeographicViewer) + + + + + + +administration + + + + +GEMET Themes, version 2.3 + + + + +2011-04-18 + + +publication + + + + + + + + + + +Conditions unknown + + + + + + +no limitation + + + + + + + + +19.37 + + +29.61 + + +34.80 + + +41.75 + + + + + + + +2011-04-18 +2011-04-20 + + + + + + + +view + + + + + + + + + + + + + + + + + +http://aiolos.survey.ntua.gr/geoserver/wms + + + + + + + + + + + + +service + + + + + + + + +Conformity_001 + + +INSPIRE + + + + + + + + +Corrigendum to INSPIRE Metadata Regulation published in the Official Journal of the European Union, L 328, page 83 + + + + +2009-12-15 + + +publication + + + + + + +See the referenced specification + + +true + + + + + + + + + + 366f6257-19eb-4f20-ba78-0698ac4aae77 + eng + dataset + YPAATypaat@ypaat.grpointOfContact + 2009-10-09 +ISO19115 +2003/Cor.1:2006 + + + + + Aerial Photos + 2009-10-09creation + 366f6257-19eb-4f20-ba78-0698ac4aae77 + T_aerfo_RAS_1991_GR800P001800000012.tif + + + Aerial Photos +YPAATypaat@ypaat.growner + OrthoimageryGEMET - INSPIRE themes, version 1.02008-06-01publication + no conditions apply + otherRestrictionsno limitations + eng + geoscientificInformation + 20.0024.0038.0040.00 + 2009-10-092009-10-09 + + +http://www.ypaat.gr + +dataset +Conformity_001INSPIREINSPIRE2008-05-15publicationSee the referenced specificationtrue +test + + + + 75a7eb5e-336e-453d-ab06-209b1070d396 + eng + dataset + YPAATypaat@ypaat.grpointOfContact + 2009-10-09 +ISO19115 +2003/Cor.1:2006 + + + + + Aerial Photos + 2009-10-09creation + 75a7eb5e-336e-453d-ab06-209b1070d396 + T_aerfo_RAS_1991_GR800P001800000013.tif + + + Aerial Photos +YPAATypaat@ypaat.growner + OrthoimageryGEMET - INSPIRE themes, version 1.02008-06-01publication + no conditions apply + otherRestrictionsno limitations + eng + geoscientificInformation + 20.0024.0038.0040.00 + 2009-10-092009-10-09 + + +http://www.ypaat.gr + +dataset +Conformity_001INSPIREINSPIRE2008-05-15publicationSee the referenced specificationtrue +test + + + + a7308c0a-b748-48e2-bab7-0a608a51d416 + eng + dataset + YPAATypaat@ypaat.grpointOfContact + 2009-10-09 +ISO19115 +2003/Cor.1:2006 + + + + + Aerial Photos + 2009-10-09creation + a7308c0a-b748-48e2-bab7-0a608a51d416 + T_aerfo_RAS_1991_GR800P001800000014.tif + + + Aerial Photos +YPAATypaat@ypaat.growner + OrthoimageryGEMET - INSPIRE themes, version 1.02008-06-01publication + no conditions apply + otherRestrictionsno limitations + eng + geoscientificInformation + 20.0024.0038.0040.00 + 2009-10-092009-10-09 + + +http://www.ypaat.gr + +dataset +Conformity_001INSPIREINSPIRE2008-05-15publicationSee the referenced specificationtrue +test + + + + 0173e0d7-6ea9-4407-b846-f29d6bfa9903 + eng + dataset + YPAATypaat@ypaat.grpointOfContact + 2009-10-09 +ISO19115 +2003/Cor.1:2006 + + + + + Aerial Photos + 2009-10-09creation + 0173e0d7-6ea9-4407-b846-f29d6bfa9903 + T_aerfo_RAS_1991_GR800P001800000015.tif + + + Aerial Photos +YPAATypaat@ypaat.growner + OrthoimageryGEMET - INSPIRE themes, version 1.02008-06-01publication + no conditions apply + otherRestrictionsno limitations + eng + geoscientificInformation + 20.0024.0038.0040.00 + 2009-10-092009-10-09 + + +http://www.ypaat.gr + +dataset +Conformity_001INSPIREINSPIRE2008-05-15publicationSee the referenced specificationtrue +test + + + + diff --git a/tests/functionaltests/suites/apiso/expected/post_GetRecords-all.xml b/tests/functionaltests/suites/apiso/expected/post_GetRecords-all.xml new file mode 100644 index 000000000..e428bacf7 --- /dev/null +++ b/tests/functionaltests/suites/apiso/expected/post_GetRecords-all.xml @@ -0,0 +1,399 @@ + + + + + + + +3e9a8c05 + + +eng + + +service + + + + +NTUA + + + + + + +tzotsos@gmail.com + + + + + + +pointOfContact + + + + +2011-04-18 + + +ISO19115 + + +2003/Cor.1:2006 + + + + + + +test Title + + + + +2011-04-19 + + +creation + + + + + + +http://aiolos.survey.ntua.gr + + +ogc + + + + + + +test Abstract + + + + +NTUA + + + + + + +tzotsos@gmail.com + + + + + + +owner + + + + + + +Geographic viewer (humanGeographicViewer) + + + + + + +administration + + + + +GEMET Themes, version 2.3 + + + + +2011-04-18 + + +publication + + + + + + + + + + +Conditions unknown + + + + + + +no limitation + + + + + + + + +19.37 + + +29.61 + + +34.80 + + +41.75 + + + + + + + +2011-04-18 +2011-04-20 + + + + + + + +view + + + + + + + + + + + + + + + + + +http://aiolos.survey.ntua.gr/geoserver/wms + + + + + + + + + + + + +service + + + + + + + + +Conformity_001 + + +INSPIRE + + + + + + + + +Corrigendum to INSPIRE Metadata Regulation published in the Official Journal of the European Union, L 328, page 83 + + + + +2009-12-15 + + +publication + + + + + + +See the referenced specification + + +true + + + + + + + + + + 366f6257-19eb-4f20-ba78-0698ac4aae77 + eng + dataset + YPAATypaat@ypaat.grpointOfContact + 2009-10-09 +ISO19115 +2003/Cor.1:2006 + + + + + Aerial Photos + 2009-10-09creation + 366f6257-19eb-4f20-ba78-0698ac4aae77 + T_aerfo_RAS_1991_GR800P001800000012.tif + + + Aerial Photos +YPAATypaat@ypaat.growner + OrthoimageryGEMET - INSPIRE themes, version 1.02008-06-01publication + no conditions apply + otherRestrictionsno limitations + eng + geoscientificInformation + 20.0024.0038.0040.00 + 2009-10-092009-10-09 + + +http://www.ypaat.gr + +dataset +Conformity_001INSPIREINSPIRE2008-05-15publicationSee the referenced specificationtrue +test + + + + 75a7eb5e-336e-453d-ab06-209b1070d396 + eng + dataset + YPAATypaat@ypaat.grpointOfContact + 2009-10-09 +ISO19115 +2003/Cor.1:2006 + + + + + Aerial Photos + 2009-10-09creation + 75a7eb5e-336e-453d-ab06-209b1070d396 + T_aerfo_RAS_1991_GR800P001800000013.tif + + + Aerial Photos +YPAATypaat@ypaat.growner + OrthoimageryGEMET - INSPIRE themes, version 1.02008-06-01publication + no conditions apply + otherRestrictionsno limitations + eng + geoscientificInformation + 20.0024.0038.0040.00 + 2009-10-092009-10-09 + + +http://www.ypaat.gr + +dataset +Conformity_001INSPIREINSPIRE2008-05-15publicationSee the referenced specificationtrue +test + + + + a7308c0a-b748-48e2-bab7-0a608a51d416 + eng + dataset + YPAATypaat@ypaat.grpointOfContact + 2009-10-09 +ISO19115 +2003/Cor.1:2006 + + + + + Aerial Photos + 2009-10-09creation + a7308c0a-b748-48e2-bab7-0a608a51d416 + T_aerfo_RAS_1991_GR800P001800000014.tif + + + Aerial Photos +YPAATypaat@ypaat.growner + OrthoimageryGEMET - INSPIRE themes, version 1.02008-06-01publication + no conditions apply + otherRestrictionsno limitations + eng + geoscientificInformation + 20.0024.0038.0040.00 + 2009-10-092009-10-09 + + +http://www.ypaat.gr + +dataset +Conformity_001INSPIREINSPIRE2008-05-15publicationSee the referenced specificationtrue +test + + + + 0173e0d7-6ea9-4407-b846-f29d6bfa9903 + eng + dataset + YPAATypaat@ypaat.grpointOfContact + 2009-10-09 +ISO19115 +2003/Cor.1:2006 + + + + + Aerial Photos + 2009-10-09creation + 0173e0d7-6ea9-4407-b846-f29d6bfa9903 + T_aerfo_RAS_1991_GR800P001800000015.tif + + + Aerial Photos +YPAATypaat@ypaat.growner + OrthoimageryGEMET - INSPIRE themes, version 1.02008-06-01publication + no conditions apply + otherRestrictionsno limitations + eng + geoscientificInformation + 20.0024.0038.0040.00 + 2009-10-092009-10-09 + + +http://www.ypaat.gr + +dataset +Conformity_001INSPIREINSPIRE2008-05-15publicationSee the referenced specificationtrue +test + + + + diff --git a/tests/functionaltests/suites/apiso/expected/post_GetRecords-cql-title.xml b/tests/functionaltests/suites/apiso/expected/post_GetRecords-cql-title.xml new file mode 100644 index 000000000..86fd86cf9 --- /dev/null +++ b/tests/functionaltests/suites/apiso/expected/post_GetRecords-cql-title.xml @@ -0,0 +1,372 @@ + + + + + + + + a2744b0c-becd-426a-95a8-46e9850ccc6d + + + dataset + + + + + + + DTM + + + + + 2009-10-07 + + + creation + + + + + + + + + + + 19.0 + + + 30.0 + + + 34.0 + + + 42.0 + + + + + + + + + + + + + + + http://www.ypaat.gr + + + None + + + None + + + None + + + + + + + + + + + 0dc824a6-b555-46c1-bd7b-bc66cb91a70f + + + dataset + + + + + + + DTM + + + + + 2009-10-07 + + + creation + + + + + + + + + + + 19.0 + + + 30.0 + + + 34.0 + + + 42.0 + + + + + + + + + + + + + + + http://www.ypaat.gr + + + None + + + None + + + None + + + + + + + + + + + 42c8e55a-2bf6-476d-a7c9-be3bcd697f13 + + + dataset + + + + + + + DTM + + + + + 2009-10-07 + + + creation + + + + + + + + + + + 19.0 + + + 30.0 + + + 34.0 + + + 42.0 + + + + + + + + + + + + + + + http://www.ypaat.gr + + + None + + + None + + + None + + + + + + + + + + + c3bf29d4-d60a-4959-a415-2c03fb0d4aef + + + dataset + + + + + + + DTM + + + + + 2009-10-07 + + + creation + + + + + + + + + + + 19.0 + + + 30.0 + + + 34.0 + + + 42.0 + + + + + + + + + + + + + + + http://www.ypaat.gr + + + None + + + None + + + None + + + + + + + + + + + b8cc2388-5d0a-43d8-9473-0e86dd0396da + + + dataset + + + + + + + DTM + + + + + 2009-10-07 + + + creation + + + + + + + + + + + 19.0 + + + 30.0 + + + 34.0 + + + 42.0 + + + + + + + + + + + + + + + http://www.ypaat.gr + + + None + + + None + + + None + + + + + + + + + + diff --git a/tests/functionaltests/suites/apiso/expected/post_GetRecords-elementname.xml b/tests/functionaltests/suites/apiso/expected/post_GetRecords-elementname.xml new file mode 100644 index 000000000..97175977f --- /dev/null +++ b/tests/functionaltests/suites/apiso/expected/post_GetRecords-elementname.xml @@ -0,0 +1,388 @@ + + + + + + + + 3e9a8c05 + + + service + + + + + + + test Title + + + + + 2011-04-19 + + + creation + + + + + + + view + + + + + + + + Geographic viewer (humanGeographicViewer) + + + administration + + + + + + + + + 19.37 + + + 29.61 + + + 34.8 + + + 41.75 + + + + + + + + + + + + + + + http://aiolos.survey.ntua.gr/geoserver/wms + + + None + + + None + + + None + + + + + + + + + + + 366f6257-19eb-4f20-ba78-0698ac4aae77 + + + dataset + + + + + + + Aerial Photos + + + + + 2009-10-09 + + + creation + + + + + + + + + + + 20.0 + + + 24.0 + + + 38.0 + + + 40.0 + + + + + + + + + + + + + + + http://www.ypaat.gr + + + None + + + None + + + None + + + + + + + + + + + 75a7eb5e-336e-453d-ab06-209b1070d396 + + + dataset + + + + + + + Aerial Photos + + + + + 2009-10-09 + + + creation + + + + + + + + + + + 20.0 + + + 24.0 + + + 38.0 + + + 40.0 + + + + + + + + + + + + + + + http://www.ypaat.gr + + + None + + + None + + + None + + + + + + + + + + + a7308c0a-b748-48e2-bab7-0a608a51d416 + + + dataset + + + + + + + Aerial Photos + + + + + 2009-10-09 + + + creation + + + + + + + + + + + 20.0 + + + 24.0 + + + 38.0 + + + 40.0 + + + + + + + + + + + + + + + http://www.ypaat.gr + + + None + + + None + + + None + + + + + + + + + + + 0173e0d7-6ea9-4407-b846-f29d6bfa9903 + + + dataset + + + + + + + Aerial Photos + + + + + 2009-10-09 + + + creation + + + + + + + + + + + 20.0 + + + 24.0 + + + 38.0 + + + 40.0 + + + + + + + + + + + + + + + http://www.ypaat.gr + + + None + + + None + + + None + + + + + + + + + + diff --git a/tests/functionaltests/suites/apiso/expected/post_GetRecords-filter-and-nested-spatial-or-dateline.xml b/tests/functionaltests/suites/apiso/expected/post_GetRecords-filter-and-nested-spatial-or-dateline.xml new file mode 100644 index 000000000..4fe317617 --- /dev/null +++ b/tests/functionaltests/suites/apiso/expected/post_GetRecords-filter-and-nested-spatial-or-dateline.xml @@ -0,0 +1,1132 @@ + + + + + + + + NS06agg + + + eng + + + UTF8 + + + dataset + + + service + + + + + Margaret McManus + + + University of Hawaii + + + + + + + mamc@hawaii.edu + + + + + + + http://www.soest.hawaii.edu/oceanography/faculty/mcmanus.html + + + http + + + web browser + + + + + + + + + information + + + + + + + pointOfContact + + + + + 2014-04-16 + + + ISO 19115-2 Geographic Information - Metadata Part 2 Extensions for imagery and gridded data + + + ISO 19115-2:2009(E) + + + + + 3 + + + + + column + + + 1 + + + 0.0 + + + + + + + row + + + 1 + + + 0.0 + + + + + + + temporal + + + 482760 + + + 252.0 + + + + + area + + + + + + + + + + PacIOOS Nearshore Sensor 06: Pohnpei, Micronesia + + + + + 2011-04-12 + + + creation + + + + + + + 2011-04-19 + + + issued + + + + + + + 2014-03-18 + + + revision + + + + + + + + + org.pacioos + + + + + + NS06agg + + + + + + + Margaret McManus + + + University of Hawaii + + + + + + + mamc@hawaii.edu + + + + + + + http://www.soest.hawaii.edu/oceanography/faculty/mcmanus.html + + + http + + + web browser + + + + + + + + + information + + + + + + + originator + + + + + + + Jim Potemra + + + + + distributor + + + + + Data produced by Dr. Margaret McManus (mamc@hawaii.edu). Point of contact: Gordon Walker (gwalker@hawaii.edu). + + + + + The nearshore sensors are part of the Pacific Islands Ocean Observing System (PacIOOS) and are designed to measure a variety of ocean parameters at fixed point locations. NS06 is located at the dock in Pohnpei lagoon and is mounted to the bottom in about 1 meter of water. The instrument is a Sea-Bird Electronics model 16+ V2 coupled with a WET Labs ECO-FLNTUS combination sensor. + + + PacIOOS provides timely, reliable, and accurate ocean information to support a safe, clean, productive ocean and resilient coastal zone in the U.S. Pacific Islands region. + + + The Pacific Islands Ocean Observing System (PacIOOS) is funded through the National Oceanic and Atmospheric Administration (NOAA) as a Regional Association within the U.S. Integrated Ocean Observing System (IOOS). PacIOOS is coordinated by the University of Hawaii School of Ocean and Earth Science and Technology (SOEST). + + + + + Margaret McManus + + + University of Hawaii + + + + + + + mamc@hawaii.edu + + + + + + + http://www.soest.hawaii.edu/oceanography/faculty/mcmanus.html + + + http + + + web browser + + + + + + + + + information + + + + + + + pointOfContact + + + + + + http://pacioos.org/metadata/browse/NS06agg.png + + Sample image. + + + + + + + Oceans > Ocean Chemistry > Chlorophyll + + + Oceans > Ocean Optics > Turbidity + + + Oceans > Ocean Temperature > Water Temperature + + + Oceans > Salinity/Density > Conductivity + + + Oceans > Salinity/Density > Salinity + + + Oceans > Water Quality + + + theme + + + + + GCMD Science Keywords + + + + + + + + + + Ocean &gt; Pacific Ocean &gt; Western Pacific Ocean &gt; Micronesia &gt; Federated States of Micronesia + + + Ocean &gt; Pacific Ocean &gt; United States of America &gt; Territories + + + Federated States of Micronesia &gt; Pohnpei &gt; Pohnpei Lagoon + + + place + + + + + GCMD Location Keywords + + + + + + + + + + Pacific Islands Ocean Observing System (PacIOOS) + + + project + + + + + GCMD Project Keywords + + + + + + + + + + Pacific Islands Ocean Observing System (PacIOOS) + + + dataCenter + + + + + GCMD Data Center Keywords + + + + + + + + + + sea_water_temperature + + + sea_water_electrical_conductivity + + + sea_water_turbidity + + + mass_concentration_of_chlorophyll_in_sea_water + + + sea_water_salinity + + + depth + + + latitude + + + longitude + + + time + + + theme + + + + + CF-1.4 + + + + + + + + + + The data may be used and redistributed for free but is not intended for legal use, since it may contain inaccuracies. Neither the data Contributor, University of Hawaii, PacIOOS, NOAA, State of Hawaii nor the United States Government, nor any of their employees or contractors, makes any warranty, express or implied, including warranties of merchantability and fitness for a particular purpose, or assumes any legal liability for the accuracy, completeness, or usefulness, of this information. + + + + + + + + + Pacific Islands Ocean Observing System (PacIOOS) + + + + + + largerWorkCitation + + + project + + + + + + + + + + + Unidata Common Data Model + + + + + + Point + + + + + largerWorkCitation + + + project + + + + + eng + + + climatologyMeteorologyAtmosphere + + + + + + + 1 + + + 158.22402954101562 + + + 158.22402954101562 + + + 6.955227375030518 + + + 6.955227375030518 + + + + + + + + seconds + 2010-05-07T00:00:00Z + 2014-03-17T23:56:00Z + + + + + + + + -1.0 + + + -1.0 + + + + + + + + + + + + + + PacIOOS Nearshore Sensor 06: Pohnpei, Micronesia + + + + + 2011-04-12 + + + creation + + + + + + + 2011-04-19 + + + issued + + + + + + + 2014-03-18 + + + revision + + + + + + + Margaret McManus + + + University of Hawaii + + + + + + + mamc@hawaii.edu + + + + + + + http://www.soest.hawaii.edu/oceanography/faculty/mcmanus.html + + + http + + + web browser + + + + + + + + + information + + + + + + + originator + + + + + + + Jim Potemra + + + + + distributor + + + + + + + The nearshore sensors are part of the Pacific Islands Ocean Observing System (PacIOOS) and are designed to measure a variety of ocean parameters at fixed point locations. NS06 is located at the dock in Pohnpei lagoon and is mounted to the bottom in about 1 meter of water. The instrument is a Sea-Bird Electronics model 16+ V2 coupled with a WET Labs ECO-FLNTUS combination sensor. + + + THREDDS OPeNDAP + + + + + + + 1 + + + 158.22402954101562 + + + 158.22402954101562 + + + 6.955227375030518 + + + 6.955227375030518 + + + + + + + + 2010-05-07T00:00:00Z + 2014-03-17T23:56:00Z + + + + + + + + -1.0 + + + -1.0 + + + + + + + + tight + + + + + OPeNDAP Client Access + + + + + + http://oos.soest.hawaii.edu/thredds/dodsC/pacioos/nss/ns06agg + + + OPeNDAP + + + THREDDS OPeNDAP + + + download + + + + + + + + + + + + + + + + + + temp + + + + + float + + + + + + + Temperature (sea_water_temperature) + + + + + + + + + + cond + + + + + float + + + + + + + Conductivity (sea_water_electrical_conductivity) + + + + + + + + + + turb + + + + + float + + + + + + + Turbidity (sea_water_turbidity) + + + + + + + + + + flor + + + + + float + + + + + + + Chlorophyll (mass_concentration_of_chlorophyll_in_sea_water) + + + + + + + + + + salt + + + + + float + + + + + + + Salinity (sea_water_salinity) + + + + + + + + + + z + + + + + float + + + + + + + depth below mean sea level (depth) + + + + + + + + + + lat + + + + + float + + + + + + + Latitude (latitude) + + + + + + + + + + lon + + + + + float + + + + + + + Longitude (longitude) + + + + + + + + + + time + + + + + float + + + + + + + Time (time) + + + + + + + + + + + + + + + Pacific Islands Ocean Observing System (PacIOOS) + + + + + + + jimp@hawaii.edu + + + + + + + http://pacioos.org + + + http + + + web browser + + + URL for the data publisher + + + This URL provides contact information for the publisher of this dataset + + + information + + + + + + + publisher + + + + + + + OPeNDAP + + + + + + + + + + http://oos.soest.hawaii.edu/thredds/idd/nss_pacioos.html?dataset=NS06agg + + + THREDDS Catalog + + + This URL provides a catalog page for this dataset within THREDDS Data Server (TDS). + + + download + + + + + + + + + + + http://oos.soest.hawaii.edu/thredds/dodsC/pacioos/nss/ns06agg.html + + + File Information + + + This URL provides a standard OPeNDAP html interface for selecting data from this dataset. Change the extension to .info for a description of the dataset. + + + download + + + + + + + + + + + http://pacioos.org/voyager/index.html?b=6.874279%2C158.077126%2C7.050468%2C158.369808&tz=pont&o=qual:2::p0NS06p1 + + + PacIOOS Voyager (Google Maps API) + + + This URL provides a viewer for this dataset. + + + download + + + + + + + + + + + http://oos.soest.hawaii.edu/dchart/index.html?dsetid=54cd0688ada08d86748b9c5762509f + + + DChart + + + This URL provides a viewer for this dataset. + + + download + + + + + + + + + + + http://oos.soest.hawaii.edu/erddap/tabledap/nss06_agg.graph?time%2Ctemperature&.draw=lines + + + ERDDAP + + + This URL provides a viewer for this dataset. + + + download + + + + + + + + + + + http://pacioos.org/focus/waterquality/wq_fsm.php + + + PacIOOS Water Quality Platforms: FSM + + + This URL provides a viewer for this dataset. + + + download + + + + + + + + + + + + + + + dataset + + + + + + + UH/SOEST (M. McManus), PacIOOS asset (05/2010) + + + + + + + + + + This record was translated from NcML using UnidataDD2MI.xsl Version 2.3 + + + + + + diff --git a/tests/functionaltests/suites/apiso/expected/post_GetRecords-filter-anytext.xml b/tests/functionaltests/suites/apiso/expected/post_GetRecords-filter-anytext.xml new file mode 100644 index 000000000..96190eeb8 --- /dev/null +++ b/tests/functionaltests/suites/apiso/expected/post_GetRecords-filter-anytext.xml @@ -0,0 +1,372 @@ + + + + + + + + 366f6257-19eb-4f20-ba78-0698ac4aae77 + + + dataset + + + + + + + Aerial Photos + + + + + 2009-10-09 + + + creation + + + + + + + + + + + 20.0 + + + 24.0 + + + 38.0 + + + 40.0 + + + + + + + + + + + + + + + http://www.ypaat.gr + + + None + + + None + + + None + + + + + + + + + + + 75a7eb5e-336e-453d-ab06-209b1070d396 + + + dataset + + + + + + + Aerial Photos + + + + + 2009-10-09 + + + creation + + + + + + + + + + + 20.0 + + + 24.0 + + + 38.0 + + + 40.0 + + + + + + + + + + + + + + + http://www.ypaat.gr + + + None + + + None + + + None + + + + + + + + + + + a7308c0a-b748-48e2-bab7-0a608a51d416 + + + dataset + + + + + + + Aerial Photos + + + + + 2009-10-09 + + + creation + + + + + + + + + + + 20.0 + + + 24.0 + + + 38.0 + + + 40.0 + + + + + + + + + + + + + + + http://www.ypaat.gr + + + None + + + None + + + None + + + + + + + + + + + 0173e0d7-6ea9-4407-b846-f29d6bfa9903 + + + dataset + + + + + + + Aerial Photos + + + + + 2009-10-09 + + + creation + + + + + + + + + + + 20.0 + + + 24.0 + + + 38.0 + + + 40.0 + + + + + + + + + + + + + + + http://www.ypaat.gr + + + None + + + None + + + None + + + + + + + + + + + 437ae0a2-06e2-4015-b296-a66e7f407bf2 + + + dataset + + + + + + + Aerial Photos + + + + + 2009-10-09 + + + creation + + + + + + + + + + + 20.0 + + + 38.0 + + + 24.0 + + + 40.0 + + + + + + + + + + + + + + + http://www.ypaat.gr + + + None + + + None + + + None + + + + + + + + + + diff --git a/tests/functionaltests/suites/apiso/expected/post_GetRecords-filter-bbox-csw-output.xml b/tests/functionaltests/suites/apiso/expected/post_GetRecords-filter-bbox-csw-output.xml new file mode 100644 index 000000000..74ac35ab1 --- /dev/null +++ b/tests/functionaltests/suites/apiso/expected/post_GetRecords-filter-bbox-csw-output.xml @@ -0,0 +1,52 @@ + + + + + + + 3e9a8c05 + test Title + service + + 34.8 19.37 + 41.75 29.61 + + + + 366f6257-19eb-4f20-ba78-0698ac4aae77 + Aerial Photos + dataset + + 38.0 20.0 + 40.0 24.0 + + + + 75a7eb5e-336e-453d-ab06-209b1070d396 + Aerial Photos + dataset + + 38.0 20.0 + 40.0 24.0 + + + + a7308c0a-b748-48e2-bab7-0a608a51d416 + Aerial Photos + dataset + + 38.0 20.0 + 40.0 24.0 + + + + 0173e0d7-6ea9-4407-b846-f29d6bfa9903 + Aerial Photos + dataset + + 38.0 20.0 + 40.0 24.0 + + + + diff --git a/tests/functionaltests/suites/apiso/expected/post_GetRecords-filter-bbox.xml b/tests/functionaltests/suites/apiso/expected/post_GetRecords-filter-bbox.xml new file mode 100644 index 000000000..cd76cde90 --- /dev/null +++ b/tests/functionaltests/suites/apiso/expected/post_GetRecords-filter-bbox.xml @@ -0,0 +1,388 @@ + + + + + + + + 3e9a8c05 + + + service + + + + + + + test Title + + + + + 2011-04-19 + + + creation + + + + + + + view + + + + + + + + Geographic viewer (humanGeographicViewer) + + + administration + + + + + + + + + 19.37 + + + 29.61 + + + 34.8 + + + 41.75 + + + + + + + + + + + + + + + http://aiolos.survey.ntua.gr/geoserver/wms + + + None + + + None + + + None + + + + + + + + + + + 366f6257-19eb-4f20-ba78-0698ac4aae77 + + + dataset + + + + + + + Aerial Photos + + + + + 2009-10-09 + + + creation + + + + + + + + + + + 20.0 + + + 24.0 + + + 38.0 + + + 40.0 + + + + + + + + + + + + + + + http://www.ypaat.gr + + + None + + + None + + + None + + + + + + + + + + + 75a7eb5e-336e-453d-ab06-209b1070d396 + + + dataset + + + + + + + Aerial Photos + + + + + 2009-10-09 + + + creation + + + + + + + + + + + 20.0 + + + 24.0 + + + 38.0 + + + 40.0 + + + + + + + + + + + + + + + http://www.ypaat.gr + + + None + + + None + + + None + + + + + + + + + + + a7308c0a-b748-48e2-bab7-0a608a51d416 + + + dataset + + + + + + + Aerial Photos + + + + + 2009-10-09 + + + creation + + + + + + + + + + + 20.0 + + + 24.0 + + + 38.0 + + + 40.0 + + + + + + + + + + + + + + + http://www.ypaat.gr + + + None + + + None + + + None + + + + + + + + + + + 0173e0d7-6ea9-4407-b846-f29d6bfa9903 + + + dataset + + + + + + + Aerial Photos + + + + + 2009-10-09 + + + creation + + + + + + + + + + + 20.0 + + + 24.0 + + + 38.0 + + + 40.0 + + + + + + + + + + + + + + + http://www.ypaat.gr + + + None + + + None + + + None + + + + + + + + + + diff --git a/tests/functionaltests/suites/apiso/expected/post_GetRecords-filter-servicetype.xml b/tests/functionaltests/suites/apiso/expected/post_GetRecords-filter-servicetype.xml new file mode 100644 index 000000000..80fa7ec19 --- /dev/null +++ b/tests/functionaltests/suites/apiso/expected/post_GetRecords-filter-servicetype.xml @@ -0,0 +1,96 @@ + + + + + + + + 3e9a8c05 + + + service + + + + + + + test Title + + + + + 2011-04-19 + + + creation + + + + + + + view + + + + + + + + Geographic viewer (humanGeographicViewer) + + + administration + + + + + + + + + 19.37 + + + 29.61 + + + 34.8 + + + 41.75 + + + + + + + + + + + + + + + http://aiolos.survey.ntua.gr/geoserver/wms + + + None + + + None + + + None + + + + + + + + + + diff --git a/tests/functionaltests/suites/apiso/post/DescribeRecord.xml b/tests/functionaltests/suites/apiso/post/DescribeRecord.xml new file mode 100644 index 000000000..e449f61d2 --- /dev/null +++ b/tests/functionaltests/suites/apiso/post/DescribeRecord.xml @@ -0,0 +1,4 @@ + + + gmd:MD_Metadata + diff --git a/tests/functionaltests/suites/apiso/post/GetCapabilities.xml b/tests/functionaltests/suites/apiso/post/GetCapabilities.xml new file mode 100644 index 000000000..e4dc8070b --- /dev/null +++ b/tests/functionaltests/suites/apiso/post/GetCapabilities.xml @@ -0,0 +1,9 @@ + + + + 2.0.2 + + + application/xml + + diff --git a/tests/functionaltests/suites/apiso/post/GetDomain-property.xml b/tests/functionaltests/suites/apiso/post/GetDomain-property.xml new file mode 100644 index 000000000..a3ff1bac0 --- /dev/null +++ b/tests/functionaltests/suites/apiso/post/GetDomain-property.xml @@ -0,0 +1,5 @@ + + + apiso:TopicCategory + + diff --git a/tests/functionaltests/suites/apiso/post/GetRecordById-brief.xml b/tests/functionaltests/suites/apiso/post/GetRecordById-brief.xml new file mode 100644 index 000000000..84f6c16af --- /dev/null +++ b/tests/functionaltests/suites/apiso/post/GetRecordById-brief.xml @@ -0,0 +1,6 @@ + + + de53e931-778a-4792-94ad-9fe507aca483 + brief + + diff --git a/tests/functionaltests/suites/apiso/post/GetRecordById-full-dc.xml b/tests/functionaltests/suites/apiso/post/GetRecordById-full-dc.xml new file mode 100644 index 000000000..c58520a66 --- /dev/null +++ b/tests/functionaltests/suites/apiso/post/GetRecordById-full-dc.xml @@ -0,0 +1,6 @@ + + + NS06agg + full + + diff --git a/tests/functionaltests/suites/apiso/post/GetRecordById-full.xml b/tests/functionaltests/suites/apiso/post/GetRecordById-full.xml new file mode 100644 index 000000000..2fe6e2d4c --- /dev/null +++ b/tests/functionaltests/suites/apiso/post/GetRecordById-full.xml @@ -0,0 +1,6 @@ + + + de53e931-778a-4792-94ad-9fe507aca483 + full + + diff --git a/tests/functionaltests/suites/apiso/post/GetRecordById-srv-brief.xml b/tests/functionaltests/suites/apiso/post/GetRecordById-srv-brief.xml new file mode 100644 index 000000000..88ec9dec5 --- /dev/null +++ b/tests/functionaltests/suites/apiso/post/GetRecordById-srv-brief.xml @@ -0,0 +1,6 @@ + + + 3e9a8c05 + brief + + diff --git a/tests/functionaltests/suites/apiso/post/GetRecords-all-csw-output.xml b/tests/functionaltests/suites/apiso/post/GetRecords-all-csw-output.xml new file mode 100644 index 000000000..1cdb55562 --- /dev/null +++ b/tests/functionaltests/suites/apiso/post/GetRecords-all-csw-output.xml @@ -0,0 +1,6 @@ + + + + full + + diff --git a/tests/functionaltests/suites/apiso/post/GetRecords-all.xml b/tests/functionaltests/suites/apiso/post/GetRecords-all.xml new file mode 100644 index 000000000..1cdb55562 --- /dev/null +++ b/tests/functionaltests/suites/apiso/post/GetRecords-all.xml @@ -0,0 +1,6 @@ + + + + full + + diff --git a/tests/functionaltests/suites/apiso/post/GetRecords-cql-title.xml b/tests/functionaltests/suites/apiso/post/GetRecords-cql-title.xml new file mode 100644 index 000000000..a8d37e802 --- /dev/null +++ b/tests/functionaltests/suites/apiso/post/GetRecords-cql-title.xml @@ -0,0 +1,9 @@ + + + + brief + + apiso:TopicCategory like '%elevation%' + + + diff --git a/tests/functionaltests/suites/apiso/post/GetRecords-elementname.xml b/tests/functionaltests/suites/apiso/post/GetRecords-elementname.xml new file mode 100644 index 000000000..ff191228e --- /dev/null +++ b/tests/functionaltests/suites/apiso/post/GetRecords-elementname.xml @@ -0,0 +1,6 @@ + + + + apiso:Title + + diff --git a/tests/functionaltests/suites/apiso/post/GetRecords-filter-and-nested-spatial-or-dateline.xml b/tests/functionaltests/suites/apiso/post/GetRecords-filter-and-nested-spatial-or-dateline.xml new file mode 100644 index 000000000..3074a10e6 --- /dev/null +++ b/tests/functionaltests/suites/apiso/post/GetRecords-filter-and-nested-spatial-or-dateline.xml @@ -0,0 +1,45 @@ + + + full + + + + + csw:AnyText + *pacioos* + + + + ows:BoundingBox + + 5.0721 17.8247 + 31.7842 180 + + + + ows:BoundingBox + + 15.0721 -180 + 31.7842 -151.2378 + + + + + + + + + dc:title + ASC + + + + diff --git a/tests/functionaltests/suites/apiso/post/GetRecords-filter-anytext.xml b/tests/functionaltests/suites/apiso/post/GetRecords-filter-anytext.xml new file mode 100644 index 000000000..4bb8d9cbd --- /dev/null +++ b/tests/functionaltests/suites/apiso/post/GetRecords-filter-anytext.xml @@ -0,0 +1,15 @@ + + + + brief + + + + apiso:AnyText + Aerial% + + + + + + diff --git a/tests/functionaltests/suites/apiso/post/GetRecords-filter-bbox-csw-output.xml b/tests/functionaltests/suites/apiso/post/GetRecords-filter-bbox-csw-output.xml new file mode 100644 index 000000000..f7e47c78e --- /dev/null +++ b/tests/functionaltests/suites/apiso/post/GetRecords-filter-bbox-csw-output.xml @@ -0,0 +1,19 @@ + + + + brief + + + + apiso:BoundingBox + + 35 18 + 42 28 + + + + + + + + diff --git a/tests/functionaltests/suites/apiso/post/GetRecords-filter-bbox.xml b/tests/functionaltests/suites/apiso/post/GetRecords-filter-bbox.xml new file mode 100644 index 000000000..2444873bf --- /dev/null +++ b/tests/functionaltests/suites/apiso/post/GetRecords-filter-bbox.xml @@ -0,0 +1,18 @@ + + + + brief + + + + apiso:BoundingBox + + 35 18 + 42 28 + + + + + + + diff --git a/tests/functionaltests/suites/apiso/post/GetRecords-filter-servicetype.xml b/tests/functionaltests/suites/apiso/post/GetRecords-filter-servicetype.xml new file mode 100644 index 000000000..02078b62e --- /dev/null +++ b/tests/functionaltests/suites/apiso/post/GetRecords-filter-servicetype.xml @@ -0,0 +1,14 @@ + + + + brief + + + + apiso:ServiceType + view + + + + + diff --git a/tests/functionaltests/suites/atom/default.cfg b/tests/functionaltests/suites/atom/default.cfg new file mode 100644 index 000000000..b97c23e6b --- /dev/null +++ b/tests/functionaltests/suites/atom/default.cfg @@ -0,0 +1,90 @@ +# ================================================================= +# +# Authors: Tom Kralidis +# +# Copyright (c) 2012 Tom Kralidis +# +# Permission is hereby granted, free of charge, to any person +# obtaining a copy of this software and associated documentation +# files (the "Software"), to deal in the Software without +# restriction, including without limitation the rights to use, +# copy, modify, merge, publish, distribute, sublicense, and/or sell +# copies of the Software, and to permit persons to whom the +# Software is furnished to do so, subject to the following +# conditions: +# +# The above copyright notice and this permission notice shall be +# included in all copies or substantial portions of the Software. +# +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +# EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES +# OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +# NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT +# HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, +# WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR +# OTHER DEALINGS IN THE SOFTWARE. +# +# ================================================================= + +[server] +home=. +url=http://localhost/pycsw/csw.py?config=tests/suites/atom/default.cfg +mimetype=application/xml; charset=UTF-8 +encoding=UTF-8 +language=en-US +maxrecords=10 +#loglevel=DEBUG +#logfile=/tmp/pycsw.log +#ogc_schemas_base=http://foo +federatedcatalogues=http://geo.data.gov/geoportal/csw/discovery +pretty_print=true +#gzip_compresslevel=8 +#spatial_ranking=true + +[manager] +transactions=false +allowed_ips=127.0.0.1 + +[metadata:main] +identification_title=pycsw Geospatial Catalogue +identification_abstract=pycsw is an OGC CSW server implementation written in Python +identification_keywords=catalogue,discovery +identification_keywords_type=theme +identification_fees=None +identification_accessconstraints=None +provider_name=pycsw +provider_url=http://pycsw.org/ +contact_name=Kralidis, Tom +contact_position=Senior Systems Scientist +contact_address=TBA +contact_city=Toronto +contact_stateorprovince=Ontario +contact_postalcode=M9C 3Z9 +contact_country=Canada +contact_phone=+01-416-xxx-xxxx +contact_fax=+01-416-xxx-xxxx +contact_email=tomkralidis@gmail.com +contact_url=http://kralidis.ca/ +contact_hours=0800h - 1600h EST +contact_instructions=During hours of service. Off on weekends. +contact_role=pointOfContact + +[repository] +# sqlite +database=sqlite:///tests/suites/cite/data/records.db +# postgres +#database=postgres://username:password@localhost/pycsw +table=records + +[metadata:inspire] +enabled=false +languages_supported=eng,gre +default_language=eng +date=2011-03-29 +gemet_keywords=Utility and governmental services +conformity_service=notEvaluated +contact_name=National Technical University of Athens +contact_email=tzotsos@gmail.com +temp_extent=2011-02-01/2011-03-30 + diff --git a/tests/functionaltests/suites/atom/expected/get_opensearch-description.xml b/tests/functionaltests/suites/atom/expected/get_opensearch-description.xml new file mode 100644 index 000000000..d9af17447 --- /dev/null +++ b/tests/functionaltests/suites/atom/expected/get_opensearch-description.xml @@ -0,0 +1,13 @@ + + + + pycsw Geospatial Catalogue + pycsw Geospatial Catalogue + pycsw is an OGC CSW server implementation written in Python + catalogue discovery + + http://pycsw.org/img/favicon.ico + Kralidis, Tom + tomkralidis@gmail.com + pycsw + diff --git a/tests/functionaltests/suites/atom/expected/get_opensearch-ogc-bbox-and-time.xml b/tests/functionaltests/suites/atom/expected/get_opensearch-ogc-bbox-and-time.xml new file mode 100644 index 000000000..1b8a63a22 --- /dev/null +++ b/tests/functionaltests/suites/atom/expected/get_opensearch-ogc-bbox-and-time.xml @@ -0,0 +1,38 @@ + + + + http://localhost/pycsw/csw.py?config=tests/suites/atom/default.cfg + pycsw Geospatial Catalogue + 2 + 1 + 2 + + + urn:uuid:9a669547-b69b-469f-a11f-2d875366bbdc + urn:uuid:9a669547-b69b-469f-a11f-2d875366bbdc + + Ñunç elementum + PYCSW_TIMESTAMP + + + 44.79 -6.17 + 51.13 -2.23 + + + + + + urn:uuid:94bc9c83-97f6-4b40-9eb8-a8e8787a5c63 + urn:uuid:94bc9c83-97f6-4b40-9eb8-a8e8787a5c63 + + Mauris sed neque + PYCSW_TIMESTAMP + Curabitur lacinia, ante non porta tempus, mi lorem feugiat odio, eget suscipit eros pede ac velit. + + + 47.59 -4.1 + 51.22 0.89 + + + + diff --git a/tests/functionaltests/suites/atom/expected/get_opensearch-ogc-bbox.xml b/tests/functionaltests/suites/atom/expected/get_opensearch-ogc-bbox.xml new file mode 100644 index 000000000..cb6309ae5 --- /dev/null +++ b/tests/functionaltests/suites/atom/expected/get_opensearch-ogc-bbox.xml @@ -0,0 +1,52 @@ + + + + http://localhost/pycsw/csw.py?config=tests/suites/atom/default.cfg + pycsw Geospatial Catalogue + 3 + 1 + 3 + + urn:uuid:1ef30a8b-876d-4828-9246-c37ab4510bbd + urn:uuid:1ef30a8b-876d-4828-9246-c37ab4510bbd + + + PYCSW_TIMESTAMP + Proin sit amet justo. In justo. Aenean adipiscing nulla id tellus. + + + 60.04 13.75 + 68.41 17.92 + + + + + + urn:uuid:94bc9c83-97f6-4b40-9eb8-a8e8787a5c63 + urn:uuid:94bc9c83-97f6-4b40-9eb8-a8e8787a5c63 + + Mauris sed neque + PYCSW_TIMESTAMP + Curabitur lacinia, ante non porta tempus, mi lorem feugiat odio, eget suscipit eros pede ac velit. + + + 47.59 -4.1 + 51.22 0.89 + + + + + + urn:uuid:9a669547-b69b-469f-a11f-2d875366bbdc + urn:uuid:9a669547-b69b-469f-a11f-2d875366bbdc + + Ñunç elementum + PYCSW_TIMESTAMP + + + 44.79 -6.17 + 51.13 -2.23 + + + + diff --git a/tests/functionaltests/suites/atom/expected/get_opensearch-ogc-count-and-page1.xml b/tests/functionaltests/suites/atom/expected/get_opensearch-ogc-count-and-page1.xml new file mode 100644 index 000000000..abc2039e2 --- /dev/null +++ b/tests/functionaltests/suites/atom/expected/get_opensearch-ogc-count-and-page1.xml @@ -0,0 +1,32 @@ + + + + http://localhost/pycsw/csw.py?config=tests/suites/atom/default.cfg + pycsw Geospatial Catalogue + 2 + 1 + 2 + + + urn:uuid:6a3de50b-fa66-4b58-a0e6-ca146fdd18d4 + urn:uuid:6a3de50b-fa66-4b58-a0e6-ca146fdd18d4 + + Ut facilisis justo ut lacus + PYCSW_TIMESTAMP + + + + urn:uuid:94bc9c83-97f6-4b40-9eb8-a8e8787a5c63 + urn:uuid:94bc9c83-97f6-4b40-9eb8-a8e8787a5c63 + + Mauris sed neque + PYCSW_TIMESTAMP + Curabitur lacinia, ante non porta tempus, mi lorem feugiat odio, eget suscipit eros pede ac velit. + + + 47.59 -4.1 + 51.22 0.89 + + + + diff --git a/tests/functionaltests/suites/atom/expected/get_opensearch-ogc-count-and-page2.xml b/tests/functionaltests/suites/atom/expected/get_opensearch-ogc-count-and-page2.xml new file mode 100644 index 000000000..709921a3f --- /dev/null +++ b/tests/functionaltests/suites/atom/expected/get_opensearch-ogc-count-and-page2.xml @@ -0,0 +1,17 @@ + + + + http://localhost/pycsw/csw.py?config=tests/suites/atom/default.cfg + pycsw Geospatial Catalogue + 2 + 1 + 1 + + + urn:uuid:6a3de50b-fa66-4b58-a0e6-ca146fdd18d4 + urn:uuid:6a3de50b-fa66-4b58-a0e6-ca146fdd18d4 + + Ut facilisis justo ut lacus + PYCSW_TIMESTAMP + + diff --git a/tests/functionaltests/suites/atom/expected/get_opensearch-ogc-q-and-bbox.xml b/tests/functionaltests/suites/atom/expected/get_opensearch-ogc-q-and-bbox.xml new file mode 100644 index 000000000..ed8c2a30c --- /dev/null +++ b/tests/functionaltests/suites/atom/expected/get_opensearch-ogc-q-and-bbox.xml @@ -0,0 +1,24 @@ + + + + http://localhost/pycsw/csw.py?config=tests/suites/atom/default.cfg + pycsw Geospatial Catalogue + 1 + 1 + 1 + + + urn:uuid:94bc9c83-97f6-4b40-9eb8-a8e8787a5c63 + urn:uuid:94bc9c83-97f6-4b40-9eb8-a8e8787a5c63 + + Mauris sed neque + PYCSW_TIMESTAMP + Curabitur lacinia, ante non porta tempus, mi lorem feugiat odio, eget suscipit eros pede ac velit. + + + 47.59 -4.1 + 51.22 0.89 + + + + diff --git a/tests/functionaltests/suites/atom/expected/get_opensearch-ogc-q-and-time.xml b/tests/functionaltests/suites/atom/expected/get_opensearch-ogc-q-and-time.xml new file mode 100644 index 000000000..281c6df53 --- /dev/null +++ b/tests/functionaltests/suites/atom/expected/get_opensearch-ogc-q-and-time.xml @@ -0,0 +1,18 @@ + + + + http://localhost/pycsw/csw.py?config=tests/suites/atom/default.cfg + pycsw Geospatial Catalogue + 1 + 1 + 1 + + + urn:uuid:e9330592-0932-474b-be34-c3a3bb67c7db + urn:uuid:e9330592-0932-474b-be34-c3a3bb67c7db + + Fuscé vitae ligulä + PYCSW_TIMESTAMP + Morbi ultriçes, dui suscipit vestibulum prètium, velit ante pretium tortor, egët tincidunt pede odio ac nulla. + + diff --git a/tests/functionaltests/suites/atom/expected/get_opensearch-ogc-q.xml b/tests/functionaltests/suites/atom/expected/get_opensearch-ogc-q.xml new file mode 100644 index 000000000..7aaae428f --- /dev/null +++ b/tests/functionaltests/suites/atom/expected/get_opensearch-ogc-q.xml @@ -0,0 +1,18 @@ + + + + http://localhost/pycsw/csw.py?config=tests/suites/atom/default.cfg + pycsw Geospatial Catalogue + 1 + 1 + 1 + + + urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f + urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f + + Lorem ipsum + PYCSW_TIMESTAMP + Quisque lacus diam, placerat mollis, pharetra in, commodo sed, augue. Duis iaculis arcu vel arcu. + + diff --git a/tests/functionaltests/suites/atom/expected/get_opensearch-ogc-time.xml b/tests/functionaltests/suites/atom/expected/get_opensearch-ogc-time.xml new file mode 100644 index 000000000..281c6df53 --- /dev/null +++ b/tests/functionaltests/suites/atom/expected/get_opensearch-ogc-time.xml @@ -0,0 +1,18 @@ + + + + http://localhost/pycsw/csw.py?config=tests/suites/atom/default.cfg + pycsw Geospatial Catalogue + 1 + 1 + 1 + + + urn:uuid:e9330592-0932-474b-be34-c3a3bb67c7db + urn:uuid:e9330592-0932-474b-be34-c3a3bb67c7db + + Fuscé vitae ligulä + PYCSW_TIMESTAMP + Morbi ultriçes, dui suscipit vestibulum prètium, velit ante pretium tortor, egët tincidunt pede odio ac nulla. + + diff --git a/tests/functionaltests/suites/atom/expected/get_opensearch-ogc-timeend.xml b/tests/functionaltests/suites/atom/expected/get_opensearch-ogc-timeend.xml new file mode 100644 index 000000000..281c6df53 --- /dev/null +++ b/tests/functionaltests/suites/atom/expected/get_opensearch-ogc-timeend.xml @@ -0,0 +1,18 @@ + + + + http://localhost/pycsw/csw.py?config=tests/suites/atom/default.cfg + pycsw Geospatial Catalogue + 1 + 1 + 1 + + + urn:uuid:e9330592-0932-474b-be34-c3a3bb67c7db + urn:uuid:e9330592-0932-474b-be34-c3a3bb67c7db + + Fuscé vitae ligulä + PYCSW_TIMESTAMP + Morbi ultriçes, dui suscipit vestibulum prètium, velit ante pretium tortor, egët tincidunt pede odio ac nulla. + + diff --git a/tests/functionaltests/suites/atom/expected/get_opensearch-ogc-timestart.xml b/tests/functionaltests/suites/atom/expected/get_opensearch-ogc-timestart.xml new file mode 100644 index 000000000..6e1694835 --- /dev/null +++ b/tests/functionaltests/suites/atom/expected/get_opensearch-ogc-timestart.xml @@ -0,0 +1,47 @@ + + + + http://localhost/pycsw/csw.py?config=tests/suites/atom/default.cfg + pycsw Geospatial Catalogue + 3 + 1 + 3 + + + urn:uuid:9a669547-b69b-469f-a11f-2d875366bbdc + urn:uuid:9a669547-b69b-469f-a11f-2d875366bbdc + + Ñunç elementum + PYCSW_TIMESTAMP + + + 44.79 -6.17 + 51.13 -2.23 + + + + + + urn:uuid:94bc9c83-97f6-4b40-9eb8-a8e8787a5c63 + urn:uuid:94bc9c83-97f6-4b40-9eb8-a8e8787a5c63 + + Mauris sed neque + PYCSW_TIMESTAMP + Curabitur lacinia, ante non porta tempus, mi lorem feugiat odio, eget suscipit eros pede ac velit. + + + 47.59 -4.1 + 51.22 0.89 + + + + + + urn:uuid:784e2afd-a9fd-44a6-9a92-a3848371c8ec + urn:uuid:784e2afd-a9fd-44a6-9a92-a3848371c8ec + + Aliquam fermentum purus quis arcu + PYCSW_TIMESTAMP + Vestibulum quis ipsum sit amet metus imperdiet vehicula. Nulla scelerisque cursus mi. + + diff --git a/tests/functionaltests/suites/atom/expected/get_opensearch.xml b/tests/functionaltests/suites/atom/expected/get_opensearch.xml new file mode 100644 index 000000000..68fbf0f78 --- /dev/null +++ b/tests/functionaltests/suites/atom/expected/get_opensearch.xml @@ -0,0 +1,110 @@ + + + + http://localhost/pycsw/csw.py?config=tests/suites/atom/default.cfg + pycsw Geospatial Catalogue + 12 + 1 + 10 + + + urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f + urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f + + Lorem ipsum + PYCSW_TIMESTAMP + Quisque lacus diam, placerat mollis, pharetra in, commodo sed, augue. Duis iaculis arcu vel arcu. + + + urn:uuid:1ef30a8b-876d-4828-9246-c37ab4510bbd + urn:uuid:1ef30a8b-876d-4828-9246-c37ab4510bbd + + + PYCSW_TIMESTAMP + Proin sit amet justo. In justo. Aenean adipiscing nulla id tellus. + + + 60.04 13.75 + 68.41 17.92 + + + + + + urn:uuid:66ae76b7-54ba-489b-a582-0f0633d96493 + urn:uuid:66ae76b7-54ba-489b-a582-0f0633d96493 + + Maecenas enim + PYCSW_TIMESTAMP + Pellentesque tempus magna non sapien fringilla blandit. + + + + urn:uuid:6a3de50b-fa66-4b58-a0e6-ca146fdd18d4 + urn:uuid:6a3de50b-fa66-4b58-a0e6-ca146fdd18d4 + + Ut facilisis justo ut lacus + PYCSW_TIMESTAMP + + + + urn:uuid:784e2afd-a9fd-44a6-9a92-a3848371c8ec + urn:uuid:784e2afd-a9fd-44a6-9a92-a3848371c8ec + + Aliquam fermentum purus quis arcu + PYCSW_TIMESTAMP + Vestibulum quis ipsum sit amet metus imperdiet vehicula. Nulla scelerisque cursus mi. + + + urn:uuid:829babb0-b2f1-49e1-8cd5-7b489fe71a1e + urn:uuid:829babb0-b2f1-49e1-8cd5-7b489fe71a1e + + Vestibulum massa purus + PYCSW_TIMESTAMP + + + + urn:uuid:88247b56-4cbc-4df9-9860-db3f8042e357 + urn:uuid:88247b56-4cbc-4df9-9860-db3f8042e357 + + + PYCSW_TIMESTAMP + Donec scelerisque pede ut nisl luctus accumsan. Quisque ultrices, lorem eget feugiat fringilla, lorem dui porttitor ante, cursus ultrices magna odio eu neque. + + + + urn:uuid:94bc9c83-97f6-4b40-9eb8-a8e8787a5c63 + urn:uuid:94bc9c83-97f6-4b40-9eb8-a8e8787a5c63 + + Mauris sed neque + PYCSW_TIMESTAMP + Curabitur lacinia, ante non porta tempus, mi lorem feugiat odio, eget suscipit eros pede ac velit. + + + 47.59 -4.1 + 51.22 0.89 + + + + + + urn:uuid:9a669547-b69b-469f-a11f-2d875366bbdc + urn:uuid:9a669547-b69b-469f-a11f-2d875366bbdc + + Ñunç elementum + PYCSW_TIMESTAMP + + + 44.79 -6.17 + 51.13 -2.23 + + + + + urn:uuid:a06af396-3105-442d-8b40-22b57a90d2f2 + urn:uuid:a06af396-3105-442d-8b40-22b57a90d2f2 + + Lorem ipsum dolor sit amet + PYCSW_TIMESTAMP + + diff --git a/tests/functionaltests/suites/atom/expected/post_DescribeRecord.xml b/tests/functionaltests/suites/atom/expected/post_DescribeRecord.xml new file mode 100644 index 000000000..5f82a7d41 --- /dev/null +++ b/tests/functionaltests/suites/atom/expected/post_DescribeRecord.xml @@ -0,0 +1,3 @@ + + + diff --git a/tests/functionaltests/suites/atom/expected/post_GetCapabilities.xml b/tests/functionaltests/suites/atom/expected/post_GetCapabilities.xml new file mode 100644 index 000000000..7ce6b5663 --- /dev/null +++ b/tests/functionaltests/suites/atom/expected/post_GetCapabilities.xml @@ -0,0 +1,262 @@ + + + + + pycsw Geospatial Catalogue + pycsw is an OGC CSW server implementation written in Python + + catalogue + discovery + theme + + CSW + 2.0.2 + 3.0.0 + None + None + + + pycsw + + + Kralidis, Tom + Senior Systems Scientist + + + +01-416-xxx-xxxx + +01-416-xxx-xxxx + + + TBA + Toronto + Ontario + M9C 3Z9 + Canada + tomkralidis@gmail.com + + + 0800h - 1600h EST + During hours of service. Off on weekends. + + pointOfContact + + + + + + + + + + + + Filter_Capabilities + OperationsMetadata + ServiceIdentification + ServiceProvider + + + + + + + + + + + application/json + application/xml + + + http://www.w3.org/2001/XMLSchema + http://www.w3.org/TR/xmlschema-1/ + http://www.w3.org/XML/Schema + + + csw:Record + + + + + + + + + + + DescribeRecord.outputFormat + DescribeRecord.schemaLanguage + DescribeRecord.typeName + GetCapabilities.sections + GetRecordById.ElementSetName + GetRecordById.outputFormat + GetRecordById.outputSchema + GetRecords.CONSTRAINTLANGUAGE + GetRecords.ElementSetName + GetRecords.outputFormat + GetRecords.outputSchema + GetRecords.resultType + GetRecords.typeNames + + + + + + + + + + + CQL_TEXT + FILTER + + + brief + full + summary + + + application/json + application/xml + + + http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ + http://www.interlis.ch/INTERLIS2.3 + http://www.opengis.net/cat/csw/2.0.2 + http://www.opengis.net/cat/csw/csdgm + http://www.w3.org/2005/Atom + + + hits + results + validate + + + csw:Record + + + csw:AnyText + dc:contributor + dc:creator + dc:date + dc:format + dc:identifier + dc:language + dc:publisher + dc:relation + dc:rights + dc:source + dc:subject + dc:title + dc:type + dct:abstract + dct:modified + ows:BoundingBox + + + + + + + + + + + brief + full + summary + + + application/json + application/xml + + + http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ + http://www.interlis.ch/INTERLIS2.3 + http://www.opengis.net/cat/csw/2.0.2 + http://www.opengis.net/cat/csw/csdgm + http://www.w3.org/2005/Atom + + + + + + + + + + + CSW + + + 2.0.2 + 3.0.0 + + + http://geo.data.gov/geoportal/csw/discovery + + + 10 + + + XML + SOAP + + + allowed + + + + + + gml:Point + gml:LineString + gml:Polygon + gml:Envelope + + + + + + + + + + + + + + + + + + + Between + EqualTo + GreaterThan + GreaterThanEqualTo + LessThan + LessThanEqualTo + Like + NotEqualTo + NullCheck + + + + + length + lower + ltrim + rtrim + trim + upper + + + + + + + + + + diff --git a/tests/functionaltests/suites/atom/expected/post_GetRecords-filter-bbox.xml b/tests/functionaltests/suites/atom/expected/post_GetRecords-filter-bbox.xml new file mode 100644 index 000000000..c345e05d9 --- /dev/null +++ b/tests/functionaltests/suites/atom/expected/post_GetRecords-filter-bbox.xml @@ -0,0 +1,36 @@ + + + + + + + + urn:uuid:94bc9c83-97f6-4b40-9eb8-a8e8787a5c63 + urn:uuid:94bc9c83-97f6-4b40-9eb8-a8e8787a5c63 + + Mauris sed neque + PYCSW_TIMESTAMP + Curabitur lacinia, ante non porta tempus, mi lorem feugiat odio, eget suscipit eros pede ac velit. + + + 47.59 -4.1 + 51.22 0.89 + + + + + + urn:uuid:9a669547-b69b-469f-a11f-2d875366bbdc + urn:uuid:9a669547-b69b-469f-a11f-2d875366bbdc + + Ñunç elementum + PYCSW_TIMESTAMP + + + 44.79 -6.17 + 51.13 -2.23 + + + + + diff --git a/tests/functionaltests/suites/atom/get/requests.txt b/tests/functionaltests/suites/atom/get/requests.txt new file mode 100644 index 000000000..6734cd5a7 --- /dev/null +++ b/tests/functionaltests/suites/atom/get/requests.txt @@ -0,0 +1,12 @@ +opensearch,mode=opensearch&service=CSW&version=2.0.2&request=GetRecords&typenames=csw:Record&resulttype=results&elementsetname=brief +opensearch-description,mode=opensearch&service=CSW&version=2.0.2&request=GetCapabilities +opensearch-ogc-q,mode=opensearch&service=CSW&version=2.0.2&request=GetRecords&elementsetname=full&resulttype=results&typenames=csw:Record&q=greece +opensearch-ogc-bbox,mode=opensearch&service=CSW&version=2.0.2&request=GetRecords&elementsetname=full&resulttype=results&typenames=csw:Record&bbox=-180,-90,180,90 +opensearch-ogc-time,mode=opensearch&service=CSW&version=2.0.2&request=GetRecords&elementsetname=full&resulttype=results&typenames=csw:Record&time=2001/2004 +opensearch-ogc-timestart,mode=opensearch&service=CSW&version=2.0.2&request=GetRecords&elementsetname=full&resulttype=results&typenames=csw:Record&time=2004/ +opensearch-ogc-timeend,mode=opensearch&service=CSW&version=2.0.2&request=GetRecords&elementsetname=full&resulttype=results&typenames=csw:Record&time=/2004 +opensearch-ogc-q-and-time,mode=opensearch&service=CSW&version=2.0.2&request=GetRecords&elementsetname=full&resulttype=results&typenames=csw:Record&time=2001/2007&q=vitae +opensearch-ogc-bbox-and-time,mode=opensearch&service=CSW&version=2.0.2&request=GetRecords&elementsetname=full&resulttype=results&typenames=csw:Record&time=2001/2007&bbox=-180,-90,180,90 +opensearch-ogc-q-and-bbox,mode=opensearch&service=CSW&version=2.0.2&request=GetRecords&elementsetname=full&resulttype=results&typenames=csw:Record&q=vegetation&bbox=-180,-90,180,90 +opensearch-ogc-count-and-page1,mode=opensearch&service=CSW&version=2.0.2&request=GetRecords&elementsetname=full&resulttype=results&typenames=csw:Record&q=vegetation&startposition=1 +opensearch-ogc-count-and-page2,mode=opensearch&service=CSW&version=2.0.2&request=GetRecords&elementsetname=full&resulttype=results&typenames=csw:Record&q=vegetation&startposition=1&maxrecords=1 diff --git a/tests/functionaltests/suites/atom/post/DescribeRecord.xml b/tests/functionaltests/suites/atom/post/DescribeRecord.xml new file mode 100644 index 000000000..cd923b8c8 --- /dev/null +++ b/tests/functionaltests/suites/atom/post/DescribeRecord.xml @@ -0,0 +1,4 @@ + + + atom:entry + diff --git a/tests/functionaltests/suites/atom/post/GetCapabilities.xml b/tests/functionaltests/suites/atom/post/GetCapabilities.xml new file mode 100644 index 000000000..e4dc8070b --- /dev/null +++ b/tests/functionaltests/suites/atom/post/GetCapabilities.xml @@ -0,0 +1,9 @@ + + + + 2.0.2 + + + application/xml + + diff --git a/tests/functionaltests/suites/atom/post/GetRecords-filter-bbox.xml b/tests/functionaltests/suites/atom/post/GetRecords-filter-bbox.xml new file mode 100644 index 000000000..1c431c21f --- /dev/null +++ b/tests/functionaltests/suites/atom/post/GetRecords-filter-bbox.xml @@ -0,0 +1,17 @@ + + + + brief + + + + ows:BoundingBox + + 47 -5 + 55 20 + + + + + + diff --git a/tests/functionaltests/suites/cite/data/README.txt b/tests/functionaltests/suites/cite/data/README.txt new file mode 100644 index 000000000..67996869c --- /dev/null +++ b/tests/functionaltests/suites/cite/data/README.txt @@ -0,0 +1,65 @@ +CITE Data +========= + +This directory provides data used to check conformance against the +Open Geospatial Consortium Compliance and Interoperability Testing Initiative (CITE). + +* http://cite.opengeospatial.org/teamengine/ + +The CITE team engine does not offer a specific license for re-distribution, as such it falls +under the general guidance provided by the OGC legal page (http://www.opengeospatial.org/legal/) +and the following license: + +* http://www.opengeospatial.org/ogc/software + +DATA LICENSE +------------ + +The data directory includes information provided by the Open Geospatial Consortium:: + + Copyright © 2012 Open Geospatial Consortium, Inc. + All Rights Reserved. http://www.opengeospatial.org/ogc/legal + +The test data is available directly from the following link: + +* http://cite.opengeospatial.org/teamengine/about/csw/2.0.2/web/ + +This content has been format shifted from CSW record format into a text based +"property file" for release testing. + +Software Notice +--------------- + +This OGC work (including software, documents, or other related items) is being provided by the +copyright holders under the following license. By obtaining, using and/or copying this work, you +(the licensee) agree that you have read, understood, and will comply with the following terms and +conditions: + +Permission to use, copy, and modify this software and its documentation, with or without +modification, for any purpose and without fee or royalty is hereby granted, provided that you +include the following on ALL copies of the software and documentation or portions thereof, including +modifications, that you make: + +1. The full text of this NOTICE in a location viewable to users of the redistributed or derivative +work. + +2. Any pre-existing intellectual property disclaimers, notices, or terms and conditions. If none exist, +a short notice of the following form (hypertext is preferred, text is permitted) should be used +within the body of any redistributed or derivative code: "Copyright © [$date-of-document] Open +Geospatial Consortium, Inc. All Rights Reserved. http://www.opengeospatial.org/ogc/legal (Hypertext +is preferred, but a textual representation is permitted.) + +3. Notice of any changes or modifications to the OGC files, including the date changes were made. (We +recommend you provide URIs to the location from which the code is derived.) + +THIS SOFTWARE AND DOCUMENTATION IS PROVIDED "AS IS," AND COPYRIGHT HOLDERS MAKE NO REPRESENTATIONS +OR WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO, WARRANTIES OF MERCHANTABILITY OR +FITNESS FOR ANY PARTICULAR PURPOSE OR THAT THE USE OF THE SOFTWARE OR DOCUMENTATION WILL NOT +INFRINGE ANY THIRD PARTY PATENTS, COPYRIGHTS, TRADEMARKS OR OTHER RIGHTS. + +COPYRIGHT HOLDERS WILL NOT BE LIABLE FOR ANY DIRECT, INDIRECT, SPECIAL OR CONSEQUENTIAL DAMAGES +ARISING OUT OF ANY USE OF THE SOFTWARE OR DOCUMENTATION. + +The name and trademarks of copyright holders may NOT be used in advertising or publicity pertaining +to the software without specific, written prior permission. Title to copyright in this software and +any associated documentation will at all times remain with copyright holders. diff --git a/tests/functionaltests/suites/cite/data/Record_19887a8a-f6b0-4a63-ae56-7fba0e17801f.xml b/tests/functionaltests/suites/cite/data/Record_19887a8a-f6b0-4a63-ae56-7fba0e17801f.xml new file mode 100644 index 000000000..7292511ed --- /dev/null +++ b/tests/functionaltests/suites/cite/data/Record_19887a8a-f6b0-4a63-ae56-7fba0e17801f.xml @@ -0,0 +1,13 @@ + + + urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f + http://purl.org/dc/dcmitype/Image + image/svg+xml + Lorem ipsum + GR-22 + Tourism--Greece + Quisque lacus diam, placerat mollis, pharetra in, commodo sed, augue. Duis iaculis arcu vel arcu. + \ No newline at end of file diff --git a/tests/functionaltests/suites/cite/data/Record_1ef30a8b-876d-4828-9246-c37ab4510bbd.xml b/tests/functionaltests/suites/cite/data/Record_1ef30a8b-876d-4828-9246-c37ab4510bbd.xml new file mode 100644 index 000000000..97c595793 --- /dev/null +++ b/tests/functionaltests/suites/cite/data/Record_1ef30a8b-876d-4828-9246-c37ab4510bbd.xml @@ -0,0 +1,13 @@ + + + urn:uuid:1ef30a8b-876d-4828-9246-c37ab4510bbd + http://purl.org/dc/dcmitype/Service + Proin sit amet justo. In justo. Aenean adipiscing nulla id tellus. + + 60.042 13.754 + 68.410 17.920 + + \ No newline at end of file diff --git a/tests/functionaltests/suites/cite/data/Record_66ae76b7-54ba-489b-a582-0f0633d96493.xml b/tests/functionaltests/suites/cite/data/Record_66ae76b7-54ba-489b-a582-0f0633d96493.xml new file mode 100644 index 000000000..b58bcdbb0 --- /dev/null +++ b/tests/functionaltests/suites/cite/data/Record_66ae76b7-54ba-489b-a582-0f0633d96493.xml @@ -0,0 +1,12 @@ + + + urn:uuid:66ae76b7-54ba-489b-a582-0f0633d96493 + Maecenas enim + http://purl.org/dc/dcmitype/Text + application/xhtml+xml + Marine sediments + Pellentesque tempus magna non sapien fringilla blandit. + \ No newline at end of file diff --git a/tests/functionaltests/suites/cite/data/Record_6a3de50b-fa66-4b58-a0e6-ca146fdd18d4.xml b/tests/functionaltests/suites/cite/data/Record_6a3de50b-fa66-4b58-a0e6-ca146fdd18d4.xml new file mode 100644 index 000000000..13f973a1c --- /dev/null +++ b/tests/functionaltests/suites/cite/data/Record_6a3de50b-fa66-4b58-a0e6-ca146fdd18d4.xml @@ -0,0 +1,11 @@ + + + urn:uuid:6a3de50b-fa66-4b58-a0e6-ca146fdd18d4 + http://purl.org/dc/dcmitype/Service + Ut facilisis justo ut lacus + Vegetation + urn:uuid:94bc9c83-97f6-4b40-9eb8-a8e8787a5c63 + \ No newline at end of file diff --git a/tests/functionaltests/suites/cite/data/Record_784e2afd-a9fd-44a6-9a92-a3848371c8ec.xml b/tests/functionaltests/suites/cite/data/Record_784e2afd-a9fd-44a6-9a92-a3848371c8ec.xml new file mode 100644 index 000000000..cb2d08b38 --- /dev/null +++ b/tests/functionaltests/suites/cite/data/Record_784e2afd-a9fd-44a6-9a92-a3848371c8ec.xml @@ -0,0 +1,14 @@ + + + urn:uuid:784e2afd-a9fd-44a6-9a92-a3848371c8ec + Aliquam fermentum purus quis arcu + http://purl.org/dc/dcmitype/Text + Hydrography--Dictionaries + application/pdf + 2006-05-12 + Vestibulum quis ipsum sit amet metus imperdiet vehicula. Nulla scelerisque cursus mi. + diff --git a/tests/functionaltests/suites/cite/data/Record_829babb0-b2f1-49e1-8cd5-7b489fe71a1e.xml b/tests/functionaltests/suites/cite/data/Record_829babb0-b2f1-49e1-8cd5-7b489fe71a1e.xml new file mode 100644 index 000000000..83a96d20f --- /dev/null +++ b/tests/functionaltests/suites/cite/data/Record_829babb0-b2f1-49e1-8cd5-7b489fe71a1e.xml @@ -0,0 +1,11 @@ + + + urn:uuid:829babb0-b2f1-49e1-8cd5-7b489fe71a1e + http://purl.org/dc/dcmitype/Image + image/jp2 + Vestibulum massa purus + urn:uuid:9a669547-b69b-469f-a11f-2d875366bbdc + \ No newline at end of file diff --git a/tests/functionaltests/suites/cite/data/Record_88247b56-4cbc-4df9-9860-db3f8042e357.xml b/tests/functionaltests/suites/cite/data/Record_88247b56-4cbc-4df9-9860-db3f8042e357.xml new file mode 100644 index 000000000..2771e6a49 --- /dev/null +++ b/tests/functionaltests/suites/cite/data/Record_88247b56-4cbc-4df9-9860-db3f8042e357.xml @@ -0,0 +1,11 @@ + + + urn:uuid:88247b56-4cbc-4df9-9860-db3f8042e357 + http://purl.org/dc/dcmitype/Dataset + Physiography-Landforms + FI-ES + Donec scelerisque pede ut nisl luctus accumsan. Quisque ultrices, lorem eget feugiat fringilla, lorem dui porttitor ante, cursus ultrices magna odio eu neque. + \ No newline at end of file diff --git a/tests/functionaltests/suites/cite/data/Record_94bc9c83-97f6-4b40-9eb8-a8e8787a5c63.xml b/tests/functionaltests/suites/cite/data/Record_94bc9c83-97f6-4b40-9eb8-a8e8787a5c63.xml new file mode 100644 index 000000000..ccf590fa7 --- /dev/null +++ b/tests/functionaltests/suites/cite/data/Record_94bc9c83-97f6-4b40-9eb8-a8e8787a5c63.xml @@ -0,0 +1,17 @@ + + + urn:uuid:94bc9c83-97f6-4b40-9eb8-a8e8787a5c63 + http://purl.org/dc/dcmitype/Dataset + Mauris sed neque + Vegetation-Cropland + Curabitur lacinia, ante non porta tempus, mi lorem feugiat odio, eget suscipit eros pede ac velit. + 2006-03-26 + + 47.595 -4.097 + 51.217 0.889 + + diff --git a/tests/functionaltests/suites/cite/data/Record_9a669547-b69b-469f-a11f-2d875366bbdc.xml b/tests/functionaltests/suites/cite/data/Record_9a669547-b69b-469f-a11f-2d875366bbdc.xml new file mode 100644 index 000000000..577f2c4ef --- /dev/null +++ b/tests/functionaltests/suites/cite/data/Record_9a669547-b69b-469f-a11f-2d875366bbdc.xml @@ -0,0 +1,16 @@ + + + urn:uuid:9a669547-b69b-469f-a11f-2d875366bbdc + http://purl.org/dc/dcmitype/Dataset + Ñunç elementum + Hydrography-Oceanographic + 2005-10-24 + + 44.792 -6.171 + 51.126 -2.228 + + diff --git a/tests/functionaltests/suites/cite/data/Record_a06af396-3105-442d-8b40-22b57a90d2f2.xml b/tests/functionaltests/suites/cite/data/Record_a06af396-3105-442d-8b40-22b57a90d2f2.xml new file mode 100644 index 000000000..a7ba06c7a --- /dev/null +++ b/tests/functionaltests/suites/cite/data/Record_a06af396-3105-442d-8b40-22b57a90d2f2.xml @@ -0,0 +1,11 @@ + + + urn:uuid:a06af396-3105-442d-8b40-22b57a90d2f2 + http://purl.org/dc/dcmitype/Image + Lorem ipsum dolor sit amet + image/jpeg + IT-FI + \ No newline at end of file diff --git a/tests/functionaltests/suites/cite/data/Record_ab42a8c4-95e8-4630-bf79-33e59241605a.xml b/tests/functionaltests/suites/cite/data/Record_ab42a8c4-95e8-4630-bf79-33e59241605a.xml new file mode 100644 index 000000000..b4d2a23b4 --- /dev/null +++ b/tests/functionaltests/suites/cite/data/Record_ab42a8c4-95e8-4630-bf79-33e59241605a.xml @@ -0,0 +1,11 @@ + + + urn:uuid:ab42a8c4-95e8-4630-bf79-33e59241605a + http://purl.org/dc/dcmitype/Service + Physiography + Suspendisse accumsan molestie lorem. Nullam velit turpis, mattis ut, varius bibendum, laoreet non, quam. + urn:uuid:88247b56-4cbc-4df9-9860-db3f8042e357 + \ No newline at end of file diff --git a/tests/functionaltests/suites/cite/data/Record_e9330592-0932-474b-be34-c3a3bb67c7db.xml b/tests/functionaltests/suites/cite/data/Record_e9330592-0932-474b-be34-c3a3bb67c7db.xml new file mode 100644 index 000000000..1e6bdc2da --- /dev/null +++ b/tests/functionaltests/suites/cite/data/Record_e9330592-0932-474b-be34-c3a3bb67c7db.xml @@ -0,0 +1,14 @@ + + + urn:uuid:e9330592-0932-474b-be34-c3a3bb67c7db + http://purl.org/dc/dcmitype/Text + Fuscé vitae ligulä + 2003-05-09 + Land titles + text/rtf + Morbi ultriçes, dui suscipit vestibulum prètium, velit ante pretium tortor, egët tincidunt pede odio ac nulla. + diff --git a/tests/functionaltests/suites/cite/data/cite.db b/tests/functionaltests/suites/cite/data/cite.db new file mode 100644 index 0000000000000000000000000000000000000000..6bbd3f18ca39cc0bbe41fb4bba50998ec26da50e GIT binary patch literal 82944 zcmeHwdyE{%d1v?3KDbL#Z+R^+P-2HK1b@%jRc6ztTA?aPR2Fqr5)mQaZ{p$7AS6@|~f8(_2QrxoaE^)CeObDVV z{3OPLAS}bbH{jpk*MOIa!3X>=Cf>7Nmj&qu)05ykh5nY&97X>Z{crR?(SJuj3>>lo za(9jZN8k=2pj05D7hi-2o`=V$o`T2TN8m9twI7~h;YR}e@gGOven;T?{$FoR2~QSo zJiL7N{K-dtaB_L|!o?N;bFHE>hx2D&TRyjX>O@RZmmAHB z+*qip%~G}2s8;1#U0yhL@xp7X=T2RC>x=U&=J|#BMp-V;zx(b8pSoPFGoQ2PPOU5h zx05!dy{o2vX?~$Rg1o7gD~$Z&nNt_OIB(E4kOO6@TxlpZxvExc6;)N_YI8(bwNkB) zP6PyCiSXM$`knxP{KpaC2<&bI7R8yTo;vWHC>9>?ds@fTgQrb(%Ql>=@4IVlYIUh= zucN{vKltg_FEH7B68(_n`fMzl?`{xy>Nx@&fnfyB%!13x3_N~n4?JF*g2%~8=D1J% z7{-6}Yv_HXqUpl-3%^mgTzI*#U;JzE;J=-LKn1l$&+aXGo@p#mRhG*&wJMcWxhg3Q zMUyltE0Qh~S<~tby^|HBt@kasi_+^si7%NwM82hQlV3+5RIlntE6Q} zM1_Z&oswFUk0Suc&YSkh8kPTTP6rgLgG)P^g(JWV5ta6)fhvEy%U%0SIj&7~H*$ENu3u$B#U=-Ly&nhb6Pxy2(_oL5N$rT*rXAv%RxfgJ z%`RQjXxkieqCF#~vHGSCscKvHdgN$R$MS3);_J0N(vErSHYKhVv-D*l=TagOy47=S zQ}dEkmfa>j^JmhDbExjwrn?RS7z}35jq^=(ojT4aAIk-1qdbfxvg~8crdLcS35W0M z=U|g-Ak(E2=#zIXgMl356{>XyWfCO|ASC}hHj;e#@>x+YYD1cZj^xTL4k zE2QHkC_`7z>PC?#WzERZq4pJ1r>Po}aJxe76b4qG+UacSme=o?y>=>wfDCFuTytWl z5mhhtB;7!6ehs`{kU|Qrs3GRxA5!BZ{ZhWM2fRT zfBZ)u2f;|v>6c7?-nEroC_!KM( z3V&RfLXV+i=o^BtQ4*);4j&e;KkgEcSe!lxL8JphYHQ6|cZNO-$ImSvyReKe9DC*T zG9L28FU-z3wrSu~XD%$CTt0`-tX{xpE}lNk<{HFvFRk^GLYVK8q-SJ~?b2)U#3Lol zFj^2}uD?{6o|7c;#$i9f110C0ZgsqF&l&zksU#2kvNX5W{D{^-{39K!?aO1Sv=0az z{SxhxZ2u^GL!pP5ZjK-#@a4J?J_d(w!L)15fawy*lOXdZypqVJ_(hQ=W&{zzZ1F=8 zP0t-TApY`Oey&4xaroav3arqPVH69Jn^VscJv!@IfOU<;^dw3f%dpvlIfAwTNJlose!i1o70F6U$$~Bk1tz8606d2wYs7nwqN}5WhSedo(i& zgY3zQJ|axTAGwC|KOg_c>VJ7)j=+x-0XCYCG5*gAFM@fH@T5k-^JF<^qdNbpB#>FpwI% zC23Qfk{-piy`zVQNXr?rc{qzrM3~|cxfWadGB8Vw$03hLvUns&Q(O}6#n%1|J_!Y6 z$mh{4J_*tkpM-nyt%s)ODhEVwQ_%!!;*iB-Su6(Hs6uUSacdTj* zqklXr`j|46f!Mit{*kFU>3|3-*>u(N6^3E-Ph>?OXcd!b_g(n-pYG)N7e`?CAuz`H z&-H)1uef=NIRYsJc>7Pm!9O?x4-^8t{XbB}%`?jpNFgw8`!9T7fOY@xq3?jr&ke8w zJ_mNd7%YMR0X+DRBe2^L_%y1C)pDgKmFrTqexaf))zl@W@%FwfkG)wQvsoT9qdn?x z@5%C*&hnVb@|eu>m>BI*dmCkW6y{KEW-}zUxB2{kw^eSQUXH*J0^^SVVCKi||AsK- zpB#bRf&g#-yQQRfIynM&9)Ypj|9$~Z`(;Q?D7Q_a>h~$Hj{-ZV}z=z}8U*zvnrwg*_K{ zi0(NPkD^1sn(APN?O@t7yMfXFL+II=L@xOJe}~pZo-B?)UIfM%|JnYZ8Q~QH{(eRH zk+>rMapCpCchG0izs$@0{G+4I68#;>p;_XSS!RjBHsz#QqVH0C^RcP9#RKByVOz&w zi%1yjTvn{%Mv`Q-fm89F$4Bqh80-rPWBznj%mccVjpo3ycxRRsVqL5Hg~5OZt^W|h)+(>y$-C4!>nTi(s;X0$o(@}+((5;C14am(fm|~?Q`-( zg^=}uOxDTM7m@{-jHK9_%P<*+?fHWP9YRh&k;N%Nn#x#NV0{0;Ty#3#Yh03$U5y*)EZ~r-g;$$3w`w#)%{_n#=+k|MWA{bEm)t>bYSXs1bMKgjPwy;O5*#SJi~q(u9oWvlxxI$R=sPw%NP*=F_9C9D_Sv zLw?U@@e8O@*$SMB*FKwJhq&pgqL9buvUqF?kYcyVxA@L8qYG@BZMY*^xoWost(I$-a4^CRjkV8b)91G_iOK5WUj5^t^O+c$s9HNEZvIKpY}nDpRU zv%XE48-~lR;BNub_RVj(*fo2)X?Q&s_bJ?j1=nd=nCQ6YbvmT9uRF2vu6W)9>sz=3 z%7M$Cp#FPZhxBk4ZgYaI9I#=8?GGv8Gb}(i5>4U77@Eforg;Dt>0XLyRX8cVuKEFW{S~gsjWdbMzUshNw*o!EF|APi!>A#O@h?S4^-gXRsd!!=4<7% zzd|pWx(DSLlujy#A?L1H3hu}_g1#i4rJW9J;-P-#0&K$+F~}X#H)#(?`NA4lfy2#U zC3JFP<5BUf4fh2^dxL_lIVF6mH+VZn;d-zhCI(bisIk3vP{%M_l;Hwj&nXq?#K!8( z09=1d4>n8!b)^p<>|Qih>tN>(I9!5D_TW}JY(nMHtu9;xXR+-@P(!@7M@#qw+cadt zt{@=yHxIEA_g_lf{%=S2a6C~Qf&2)JA^-FCpC4vU$r0F*2=Mm5Ba4M6iX(7O5E#4t zzsS!2{B`s?`b~5ey@>u4Euo)fMv{b0!>t9go1n=vnbJ%<(}<kVaG^{Iz^;jOo#5<`$I#)K z3l=+#q$^1$LE)rRF8}ZNipLYk5!f1mvB!UY{^!;Jb6<|Y4n}~t{~cU7JZT((yNm#D z|92T+9z9232O}^>`)BrldxU=?z~7&XuZSNNP8a?SdNTj%f8(I?*0ZB8WQHREDQORm zI4fouI)!8@`=-#XXnrokQfy#L=B|TX2-Pjya1LiNNYbXbBt44ya~XF(x2a`NM~6qq zXd#PHOqpU6I~Oh<$(st1DnGjk5U%v zZGxxLvkh(W?4hZ-!v{ojIEje^4@+6;U^FRa%%SMLkYN#SZM_}ys|7-F6e}9So41F8@ zJGcq>JLnViH@h4eo_vnL?nQtZ_EgJdSt`R-#%gd25o_zSp+`-sl%=XN6MohuAg$Je z`-K?YRO|ty)nIQE^9am=5E5p%{J(pv2TwUiz(-*0@t@oO@S4OC*tH1o_P=Y3jwhTW zFg60?w*Nv|DEzO&pA>!r{WUsJ_%ixk)GAy=zle^32mf&d5(s<_t%#Rgx4*Qw2$$7% zN^mXTqM^fI*JLIYix=oMci$m&eoLbB)IVEkFT3b=tH@5l2_STKyVy<;mpIg&$w{{- zC*5?e)J^39WO6%}As`cZB11VND|`;E&TNk^l$g=hV`?oclUV*FK ztzKwlCTGRXjO8NY6qA%s@f~UO@q8>Pz4%tyS{9!HU5drPvG`7DbnG_m`1@VMT-38- zAJC;@A2=4h#SB|On+BIV!%o_^7u$_Cve~5RhuEb(i*J@kpV8>(muMHP5PcKUW)`o2 zD#amiDsD_vrsr0`qEi|+mrU6Nvhrg9hm6!rMoG)WL7+6>Q52#5-->|#5&a#k{Cxte zejlMe4yCSJ;>S+?)RN*YILue+@7G+><7r zPJjCAdNHwo06_dXktRmz&%%Cma3&@W*8h$U*8jhYZlHe#ZQnyj(Q))g@hQN&ykvOt zIRbY90blU0ptk7Qy(P~xjiqL@sx-7(T~c&SmlUI=N@}xSmJCg9HOoqs%C$z~Xjc|N zuwI{vMJ4sRT2mU5R#!DisjDrCR4Og0YBU=)xn9>aL!V+{C)2?cO;`1%EUAqaq(D>3 zl1jCvM4GhOXf{YqugeoG7+?Rt3zdOK$r1SRAmDdH>@l)uVIDze!QMu-|H6|3`U~{$ z;moghk%IOX{SDE2 zE>-vCCES~ra5gXDOkTo0c?qZU5>DkMoXkr&k(UtVB`h357YEA!EsK!b|2=rko9FmG zLtxzTpRfPjXBC2H=Yc|ixBmyKxOrwd0x1M|`%l5aKR5yp6au{cKTyTZGs_W3AuvY! z5A6S*5DLc%pCB3iYw^E`UlX55#s0v3c+Ct;GvAo5?`a(q)ZnpM-mxsBtYP|;J=U;i z@twwK^Enr;a9D$TLPHajQi!RxC5$G%z;yJL#$5E zy$*J4#bG-(u*>UPJ;&5K6i(Q4*KN2YHRQ9D#b;EQ6xUG%#g4p{5v6X^WN97A;_Vm6 zfH=i8m zJBRjv>jL_(=ugl$(Kpc7VHNQA(SJrCqpzVKaZBI_uJhv=zBdT$Lr;q?Y?fNI-Bxh2 z2eZ>N*^Z~h_xiLw%Lers_6Y2Q_M>Ma-|E!k=&;BRd<_Sp#lF!BPWN~UHBuheF1g*# z;cMMaVDj?_Iy4jTaIUnOGhhF^H^t4la0Koe0%OSky#3#`QsEJE1nvz2W3+#kK(>Vm zgDlW@^Yh`R;Vtck=EDHiRVOn5_zlPmJ)%l(8>b!WUr)GLDODC@T6ZL|OW{7m z#rdPN7=AAq`ci!S`_ah$x}rA0(78#ZR$VJg3aQHyp#7WyF@g{wF!{F;hD~5kKzu|JqH^m=`LWn zgHoq9adFq`bW8^vF2Tk&pvPu!0qa(`YZ(^1OL74dukFziJ^`^{6QTfeOl;l5S7^t7 zDFw-m_|3k=%mu?8F-P$&l@rF>mIcNs%rQr&_MSQG<0jMessJS*oc^O6~2J;sU&HdI{Q+%cQAE%|_jjlxDRlsa2&e z>2iZ;O080c4HkY&N^~)U#girMb zZ^tOyfzrdoF#D#X!?hl`=XE;JBH{j7+Ua=CriSMCiqPdQy<&NAB}lLRiggX^HgwOd z(Or|Qw!UQ0))F`^EuTGqa;aXbRF)LES`WKa=u}zo)7DjLAGhotwU5@zCD^lqD{`q( zQ(jse_VytOgI(;yCe=Z(W=W}(aivjGtK}eA(mO!Xk1dhbqnTYrj>6iys|X7O*VU07hdp7CP>jjP)tF3;Ddob^ubCqB4Z!LB5VJ0+`#h; z{SQ({QLhu)sA~hF?O(w&s9hoWCgva_RcclH-??*wQPGp1D%9_-I9htDBvId(e%M=6!Qc>zH z!>BY37#DAMI*}v-2@>U#B5(gz@8h3?m>T$nl~(kO&I$pOwec!#pZE_ z*`|)`pVn0^RpyVzm(Y)F{7ZvVH{ywvnqzONA6FDKYdp_`>DDbg8qc=?2;(@9IG%Up z$;OsVJLJ6u=a_Fa+sVUqtR_5GV14m+=HcO7;F@EkYT8vfsAc7HW$_Cur_cMxq--;3 zZ!{HJB`rfDDm)aJwM!~ds}hl$N>grB^d{A_TbbVoj&;n-9_iv1C<$P!^12xG3@}bz zW;0bbLmky%ww2^FM&7|#`P#Z+TWy>4FRe?`2~+p4;j>NZjBZpT25eZj@o9&LYPRBh z6pns}Bi-4_?LLj~Hez^w6I!;Zc^$~JpIcwA5Kk>&dI30?T@cR=6Q&wh=p_>-?xcjz z_%jMehtjtLt$^;?4jbIfyn}b1lEZl0!r8jH2LpO0*y*tz5XCq~j&%cf0iG?p2$tS$ zvwT;Qm5EUdNK%9VteE}Jr0^>OdZqAj;fVO3;B_bbK0G}6Qv2Y=x!Q-_8;=VstHMU( z<#f6Zvd_b5x9BVCc=OcH`$PJHyubR@?!*xvwVykAoeJlV3j(0jj!@a=B?2wS01Z(s z|J?H^we&Lt}&+bBeibKg9y_6CXTO_`ILD57w`LSvW5U8;@qh%$zs; z>X9Uf_*HVK6Y^FGU~v2cSq!S`2i8~Cgwg;IwJzj)+^^~-Hp7D*HM#$wStRB^2G9HW9eQHoPgYTJ62X{Q33FdHFx7T$@uN19H zc^%g_bqecn9e(#W zVd~)?g$2O80)Cz%+`5^B#RQ7Bkx*moqlxj(hHJ}K8D?>3=U_DaZ2T_>zatdB2alcp z`}w&&feiQyZ`?R2oR@@+H{^7hlVab-(`mni%$Y|Y^B_wYcTl&J2kJXB20&@Q{^9e} z;k@y=8#0?ETt5{^p~F>S^!F`|T)V!400yTR4rxg)5YkqN2Rb2U^bw2~!6=&+&u(Fu zjdh~ZaoYlelU}gCKG39%7(S1CHqlJivzfx%?3o0tPhfQO*PPgZM_?hGEk!MWx+)wg z2ZJOV=@zg*Zh|^Xhb43uQ`>T|KL8V*S*wg#pz>GHL6`3<+5(LUyHC;2y6+aG@(!=D zD~(c3tzk(imDNW6HTGJiRIM~{xzuc`V=uAiX{0$v`QeI_)Wb(*kMZ3v-GLU66(N*t z3TBLx@a4+caK7$-21c}*xKc(I08nqh)WXl*0;@#u!SYsJU{ym+y{Cx$k6``ZxBP=z zozmkc4}Al_*f=ku8rP8TP7X3T=2drQkQvoiKL2dBtRC@t@V{I+g2Q>#NZY#}el-7xQ7(nT(Xt$n@CW|zXKC8rRfEfyH^ z=qT^V+@Ue1#SLWTwBP=P?+Wa1m;HYBmDzB$;n4Mmh1FxDlb_TGBq^e)9x2yJOIGWW zT!HRYQL2X2WGAOrt6Hr=)Ur`+Rd+;j{g}kGtyR2v(7S!f%U5^%!AHqm2^)HBSfDJ8 zj2?m@>Dg+y7%|X%)3#4Ev_ugrbWdH7UOmM~VyCR7ggh8*EeZJfOmALDXDD7~plyu( zv~8)8^drp1CkBBv33in8K)%2C(|~R2m!?!nQ&%LlMw@UGf()yIt%fSeGOdBhex+Wn z5x*dBYc(s|0Phxb8%f2gpOj(IJYha7Ex7}%h1O`btlbKm=8T9Uh z)q;p(F!nQ30_=w#ZA>sQm~p{YlpO)%N3}^9jkeLQShi+je?dRcGBWc3w)7vZZ(NDZ zT>CbosUC4nCLH){9l_E`A9nSE8wN`O_+u+1jIegZg_QPm)9`w3utegU3cxyvzvpn1 zFp;s5Cr>$UJ^lxVzN}Dgew-|jo8R?lc c-`WP4EhPY!nNeA}=c!Df1scQ +# +# Copyright (c) 2012 Tom Kralidis +# +# Permission is hereby granted, free of charge, to any person +# obtaining a copy of this software and associated documentation +# files (the "Software"), to deal in the Software without +# restriction, including without limitation the rights to use, +# copy, modify, merge, publish, distribute, sublicense, and/or sell +# copies of the Software, and to permit persons to whom the +# Software is furnished to do so, subject to the following +# conditions: +# +# The above copyright notice and this permission notice shall be +# included in all copies or substantial portions of the Software. +# +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +# EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES +# OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +# NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT +# HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, +# WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR +# OTHER DEALINGS IN THE SOFTWARE. +# +# ================================================================= + +[server] +home=. +url=http://localhost/pycsw/csw.py?config=tests/suites/cite/default.cfg +mimetype=application/xml; charset=UTF-8 +encoding=UTF-8 +language=en-US +#maxrecords=10 +federatedcatalogues=http://geo.data.gov/geoportal/csw/discovery +pretty_print=true +#spatial_ranking=true +gzip_compresslevel=9 + +[manager] +transactions=true +allowed_ips=127.0.0.1 +csw_harvest_pagination_size=10 + +[metadata:main] +identification_title=pycsw Geospatial Catalogue +identification_abstract=pycsw is an OGC CSW server implementation written in Python +identification_keywords=catalogue,discovery +identification_keywords_type=theme +identification_fees=None +identification_accessconstraints=None +provider_name=pycsw +provider_url=http://pycsw.org/ +contact_name=Kralidis, Tom +contact_position=Senior Systems Scientist +contact_address=TBA +contact_city=Toronto +contact_stateorprovince=Ontario +contact_postalcode=M9C 3Z9 +contact_country=Canada +contact_phone=+01-416-xxx-xxxx +contact_fax=+01-416-xxx-xxxx +contact_email=tomkralidis@gmail.com +contact_url=http://kralidis.ca/ +contact_hours=0800h - 1600h EST +contact_instructions=During hours of service. Off on weekends. +contact_role=pointOfContact + +[repository] +# sqlite +database=sqlite:///tests/suites/cite/data/records.db +table=records + +[metadata:inspire] +#enabled=true +languages_supported=eng,gre +default_language=eng +date=2011-03-29 +gemet_keywords=Utility and governmental services +conformity_service=notEvaluated +contact_name=National Technical University of Athens +contact_email=tzotsos@gmail.com +temp_extent=2011-02-01/2011-03-30 + diff --git a/tests/functionaltests/suites/cite/expected/get_27e17158-c57a-4493-92ac-dba8934cf462.xml b/tests/functionaltests/suites/cite/expected/get_27e17158-c57a-4493-92ac-dba8934cf462.xml new file mode 100644 index 000000000..369f8d8d5 --- /dev/null +++ b/tests/functionaltests/suites/cite/expected/get_27e17158-c57a-4493-92ac-dba8934cf462.xml @@ -0,0 +1,310 @@ + + + + + pycsw Geospatial Catalogue + pycsw is an OGC CSW server implementation written in Python + + catalogue + discovery + theme + + CSW + 2.0.2 + 3.0.0 + None + None + + + pycsw + + + Kralidis, Tom + Senior Systems Scientist + + + +01-416-xxx-xxxx + +01-416-xxx-xxxx + + + TBA + Toronto + Ontario + M9C 3Z9 + Canada + tomkralidis@gmail.com + + + 0800h - 1600h EST + During hours of service. Off on weekends. + + pointOfContact + + + + + + + + + + + + Filter_Capabilities + OperationsMetadata + ServiceIdentification + ServiceProvider + + + + + + + + + + + application/json + application/xml + + + http://www.w3.org/2001/XMLSchema + http://www.w3.org/TR/xmlschema-1/ + http://www.w3.org/XML/Schema + + + csw:Record + + + + + + + + + + + DescribeRecord.outputFormat + DescribeRecord.schemaLanguage + DescribeRecord.typeName + GetCapabilities.sections + GetRecordById.ElementSetName + GetRecordById.outputFormat + GetRecordById.outputSchema + GetRecords.CONSTRAINTLANGUAGE + GetRecords.ElementSetName + GetRecords.outputFormat + GetRecords.outputSchema + GetRecords.resultType + GetRecords.typeNames + Harvest.ResourceType + Transaction.TransactionSchemas + + + + + + + + + + + CQL_TEXT + FILTER + + + brief + full + summary + + + application/json + application/xml + + + http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ + http://www.interlis.ch/INTERLIS2.3 + http://www.opengis.net/cat/csw/2.0.2 + http://www.opengis.net/cat/csw/csdgm + http://www.w3.org/2005/Atom + + + hits + results + validate + + + csw:Record + + + csw:AnyText + dc:contributor + dc:creator + dc:date + dc:format + dc:identifier + dc:language + dc:publisher + dc:relation + dc:rights + dc:source + dc:subject + dc:title + dc:type + dct:abstract + dct:modified + ows:BoundingBox + + + + + + + + + + + brief + full + summary + + + application/json + application/xml + + + http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ + http://www.interlis.ch/INTERLIS2.3 + http://www.opengis.net/cat/csw/2.0.2 + http://www.opengis.net/cat/csw/csdgm + http://www.w3.org/2005/Atom + + + + + + + + + + + + + + + + + http://www.isotc211.org/2005/gmi + http://www.opengis.net/cat/csw/2.0.2 + http://www.opengis.net/cat/csw/3.0 + http://www.opengis.net/sos/1.0 + http://www.opengis.net/sos/2.0 + http://www.opengis.net/wcs + http://www.opengis.net/wfs + http://www.opengis.net/wfs/2.0 + http://www.opengis.net/wms + http://www.opengis.net/wmts/1.0 + http://www.opengis.net/wps/1.0.0 + urn:geoss:waf + + + + + + + + + + http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ + http://www.interlis.ch/INTERLIS2.3 + http://www.isotc211.org/2005/gmi + http://www.opengis.net/cat/csw/2.0.2 + http://www.opengis.net/cat/csw/3.0 + http://www.opengis.net/cat/csw/csdgm + http://www.opengis.net/sos/1.0 + http://www.opengis.net/sos/2.0 + http://www.opengis.net/wcs + http://www.opengis.net/wfs + http://www.opengis.net/wfs/2.0 + http://www.opengis.net/wms + http://www.opengis.net/wmts/1.0 + http://www.opengis.net/wps/1.0.0 + http://www.w3.org/2005/Atom + urn:geoss:waf + + + + CSW + + + 2.0.2 + 3.0.0 + + + http://geo.data.gov/geoportal/csw/discovery + + + 10 + + + XML + SOAP + + + allowed + + + + + + gml:Point + gml:LineString + gml:Polygon + gml:Envelope + + + + + + + + + + + + + + + + + + + Between + EqualTo + GreaterThan + GreaterThanEqualTo + LessThan + LessThanEqualTo + Like + NotEqualTo + NullCheck + + + + + length + lower + ltrim + rtrim + trim + upper + + + + + + + + + + diff --git a/tests/functionaltests/suites/cite/expected/get_27f69b66-5f05-4311-a89c-73ca55c2686b.xml b/tests/functionaltests/suites/cite/expected/get_27f69b66-5f05-4311-a89c-73ca55c2686b.xml new file mode 100644 index 000000000..ccdc8dc66 --- /dev/null +++ b/tests/functionaltests/suites/cite/expected/get_27f69b66-5f05-4311-a89c-73ca55c2686b.xml @@ -0,0 +1,9 @@ + + + + + urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f + Lorem ipsum + http://purl.org/dc/dcmitype/Image + + diff --git a/tests/functionaltests/suites/cite/expected/get_2ab7d1fa-885b-459f-80e4-b6282eab4f8c.xml b/tests/functionaltests/suites/cite/expected/get_2ab7d1fa-885b-459f-80e4-b6282eab4f8c.xml new file mode 100644 index 000000000..369f8d8d5 --- /dev/null +++ b/tests/functionaltests/suites/cite/expected/get_2ab7d1fa-885b-459f-80e4-b6282eab4f8c.xml @@ -0,0 +1,310 @@ + + + + + pycsw Geospatial Catalogue + pycsw is an OGC CSW server implementation written in Python + + catalogue + discovery + theme + + CSW + 2.0.2 + 3.0.0 + None + None + + + pycsw + + + Kralidis, Tom + Senior Systems Scientist + + + +01-416-xxx-xxxx + +01-416-xxx-xxxx + + + TBA + Toronto + Ontario + M9C 3Z9 + Canada + tomkralidis@gmail.com + + + 0800h - 1600h EST + During hours of service. Off on weekends. + + pointOfContact + + + + + + + + + + + + Filter_Capabilities + OperationsMetadata + ServiceIdentification + ServiceProvider + + + + + + + + + + + application/json + application/xml + + + http://www.w3.org/2001/XMLSchema + http://www.w3.org/TR/xmlschema-1/ + http://www.w3.org/XML/Schema + + + csw:Record + + + + + + + + + + + DescribeRecord.outputFormat + DescribeRecord.schemaLanguage + DescribeRecord.typeName + GetCapabilities.sections + GetRecordById.ElementSetName + GetRecordById.outputFormat + GetRecordById.outputSchema + GetRecords.CONSTRAINTLANGUAGE + GetRecords.ElementSetName + GetRecords.outputFormat + GetRecords.outputSchema + GetRecords.resultType + GetRecords.typeNames + Harvest.ResourceType + Transaction.TransactionSchemas + + + + + + + + + + + CQL_TEXT + FILTER + + + brief + full + summary + + + application/json + application/xml + + + http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ + http://www.interlis.ch/INTERLIS2.3 + http://www.opengis.net/cat/csw/2.0.2 + http://www.opengis.net/cat/csw/csdgm + http://www.w3.org/2005/Atom + + + hits + results + validate + + + csw:Record + + + csw:AnyText + dc:contributor + dc:creator + dc:date + dc:format + dc:identifier + dc:language + dc:publisher + dc:relation + dc:rights + dc:source + dc:subject + dc:title + dc:type + dct:abstract + dct:modified + ows:BoundingBox + + + + + + + + + + + brief + full + summary + + + application/json + application/xml + + + http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ + http://www.interlis.ch/INTERLIS2.3 + http://www.opengis.net/cat/csw/2.0.2 + http://www.opengis.net/cat/csw/csdgm + http://www.w3.org/2005/Atom + + + + + + + + + + + + + + + + + http://www.isotc211.org/2005/gmi + http://www.opengis.net/cat/csw/2.0.2 + http://www.opengis.net/cat/csw/3.0 + http://www.opengis.net/sos/1.0 + http://www.opengis.net/sos/2.0 + http://www.opengis.net/wcs + http://www.opengis.net/wfs + http://www.opengis.net/wfs/2.0 + http://www.opengis.net/wms + http://www.opengis.net/wmts/1.0 + http://www.opengis.net/wps/1.0.0 + urn:geoss:waf + + + + + + + + + + http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ + http://www.interlis.ch/INTERLIS2.3 + http://www.isotc211.org/2005/gmi + http://www.opengis.net/cat/csw/2.0.2 + http://www.opengis.net/cat/csw/3.0 + http://www.opengis.net/cat/csw/csdgm + http://www.opengis.net/sos/1.0 + http://www.opengis.net/sos/2.0 + http://www.opengis.net/wcs + http://www.opengis.net/wfs + http://www.opengis.net/wfs/2.0 + http://www.opengis.net/wms + http://www.opengis.net/wmts/1.0 + http://www.opengis.net/wps/1.0.0 + http://www.w3.org/2005/Atom + urn:geoss:waf + + + + CSW + + + 2.0.2 + 3.0.0 + + + http://geo.data.gov/geoportal/csw/discovery + + + 10 + + + XML + SOAP + + + allowed + + + + + + gml:Point + gml:LineString + gml:Polygon + gml:Envelope + + + + + + + + + + + + + + + + + + + Between + EqualTo + GreaterThan + GreaterThanEqualTo + LessThan + LessThanEqualTo + Like + NotEqualTo + NullCheck + + + + + length + lower + ltrim + rtrim + trim + upper + + + + + + + + + + diff --git a/tests/functionaltests/suites/cite/expected/get_37aa90e2-6ff0-420c-af15-8b9463099a73.xml b/tests/functionaltests/suites/cite/expected/get_37aa90e2-6ff0-420c-af15-8b9463099a73.xml new file mode 100644 index 000000000..fb6934aaa --- /dev/null +++ b/tests/functionaltests/suites/cite/expected/get_37aa90e2-6ff0-420c-af15-8b9463099a73.xml @@ -0,0 +1,14 @@ + + + + + urn:uuid:9a669547-b69b-469f-a11f-2d875366bbdc + Ñunç elementum + http://purl.org/dc/dcmitype/Dataset + Hydrography-Oceanographic + + 44.79 -6.17 + 51.13 -2.23 + + + diff --git a/tests/functionaltests/suites/cite/expected/get_3a8a3c47-455f-4f49-9078-03119f3e70b3.xml b/tests/functionaltests/suites/cite/expected/get_3a8a3c47-455f-4f49-9078-03119f3e70b3.xml new file mode 100644 index 000000000..29f606bb3 --- /dev/null +++ b/tests/functionaltests/suites/cite/expected/get_3a8a3c47-455f-4f49-9078-03119f3e70b3.xml @@ -0,0 +1,7 @@ + + + + + Invalid acceptFormats parameter value: message/example + + diff --git a/tests/functionaltests/suites/cite/expected/get_4515831f-834a-4699-95f6-ab0c2cbfcfd0.xml b/tests/functionaltests/suites/cite/expected/get_4515831f-834a-4699-95f6-ab0c2cbfcfd0.xml new file mode 100644 index 000000000..95a2f2803 --- /dev/null +++ b/tests/functionaltests/suites/cite/expected/get_4515831f-834a-4699-95f6-ab0c2cbfcfd0.xml @@ -0,0 +1,7 @@ + + + + + Missing id parameter + + diff --git a/tests/functionaltests/suites/cite/expected/get_477b23a3-baa9-47c8-9541-5fe27735ed49.xml b/tests/functionaltests/suites/cite/expected/get_477b23a3-baa9-47c8-9541-5fe27735ed49.xml new file mode 100644 index 000000000..77dd76c6b --- /dev/null +++ b/tests/functionaltests/suites/cite/expected/get_477b23a3-baa9-47c8-9541-5fe27735ed49.xml @@ -0,0 +1,543 @@ + + + + + pycsw Geospatial Catalogue + pycsw is an OGC CSW server implementation written in Python + + catalogue + discovery + theme + + CSW + 2.0.2 + 3.0.0 + None + None + + + pycsw + + + Kralidis, Tom + Senior Systems Scientist + + + +01-416-xxx-xxxx + +01-416-xxx-xxxx + + + TBA + Toronto + Ontario + M9C 3Z9 + Canada + tomkralidis@gmail.com + + + 0800h - 1600h EST + During hours of service. Off on weekends. + + pointOfContact + + + + + + + + + + + + + application/xml + text/xml + + + + + 2.0.2 + 3.0.0 + + + + + All + Filter_Capabilities + OperationsMetadata + ServiceIdentification + ServiceProvider + + + + + + + + + + + + + GetCapabilities.acceptFormats + GetCapabilities.acceptVersions + GetCapabilities.sections + GetRecordById.ElementSetName + GetRecordById.outputFormat + GetRecordById.outputSchema + GetRecords.CONSTRAINTLANGUAGE + GetRecords.ElementSetName + GetRecords.outputFormat + GetRecords.outputSchema + GetRecords.typeNames + Harvest.ResourceType + Transaction.TransactionSchemas + + + + + + + + + + + + + CQL_TEXT + FILTER + + + + + brief + full + summary + + + + + application/atom+xml + application/json + application/xml + + + + + http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ + http://www.interlis.ch/INTERLIS2.3 + http://www.opengis.net/cat/csw/3.0 + http://www.opengis.net/cat/csw/csdgm + http://www.w3.org/2005/Atom + + + + + csw:Record + + + + + 10 + + + + + http://localhost/pycsw/csw.py?config=tests/suites/cite/default.cfg?mode=opensearch&service=CSW&version=3.0.0&request=GetCapabilities + + + + + http://geo.data.gov/geoportal/csw/discovery + + + + + + + + + + + + + brief + full + summary + + + + + application/atom+xml + application/json + application/xml + + + + + http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ + http://www.interlis.ch/INTERLIS2.3 + http://www.opengis.net/cat/csw/3.0 + http://www.opengis.net/cat/csw/csdgm + http://www.w3.org/2005/Atom + + + + + + + + + + + + + + + + + + + http://www.isotc211.org/2005/gmi + http://www.opengis.net/cat/csw/2.0.2 + http://www.opengis.net/cat/csw/3.0 + http://www.opengis.net/sos/1.0 + http://www.opengis.net/sos/2.0 + http://www.opengis.net/wcs + http://www.opengis.net/wfs + http://www.opengis.net/wfs/2.0 + http://www.opengis.net/wms + http://www.opengis.net/wmts/1.0 + http://www.opengis.net/wps/1.0.0 + urn:geoss:waf + + + + + + + + + + + + http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ + http://www.interlis.ch/INTERLIS2.3 + http://www.isotc211.org/2005/gmi + http://www.opengis.net/cat/csw/2.0.2 + http://www.opengis.net/cat/csw/3.0 + http://www.opengis.net/cat/csw/csdgm + http://www.opengis.net/sos/1.0 + http://www.opengis.net/sos/2.0 + http://www.opengis.net/wcs + http://www.opengis.net/wfs + http://www.opengis.net/wfs/2.0 + http://www.opengis.net/wms + http://www.opengis.net/wmts/1.0 + http://www.opengis.net/wps/1.0.0 + http://www.w3.org/2005/Atom + urn:geoss:waf + + + + + + CSW + + + + + 2.0.2 + 3.0.0 + + + + + csw:AnyText + dc:contributor + dc:creator + dc:date + dc:format + dc:identifier + dc:language + dc:publisher + dc:relation + dc:rights + dc:source + dc:subject + dc:title + dc:type + dct:abstract + dct:modified + ows:BoundingBox + + + + + http://geo.data.gov/geoportal/csw/discovery + + + + + 10 + + + + + SOAP + XML + + + + + allowed + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + http://www.opengis.net/gml + + + + + TRUE + + + + + en + + + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + xs:string + + + xs:string + + + xs:string + + + xs:string + + + xs:string + + + xs:string + + + + diff --git a/tests/functionaltests/suites/cite/expected/get_48f26761-3a9d-48db-bee1-da089f5fb857.xml b/tests/functionaltests/suites/cite/expected/get_48f26761-3a9d-48db-bee1-da089f5fb857.xml new file mode 100644 index 000000000..369f8d8d5 --- /dev/null +++ b/tests/functionaltests/suites/cite/expected/get_48f26761-3a9d-48db-bee1-da089f5fb857.xml @@ -0,0 +1,310 @@ + + + + + pycsw Geospatial Catalogue + pycsw is an OGC CSW server implementation written in Python + + catalogue + discovery + theme + + CSW + 2.0.2 + 3.0.0 + None + None + + + pycsw + + + Kralidis, Tom + Senior Systems Scientist + + + +01-416-xxx-xxxx + +01-416-xxx-xxxx + + + TBA + Toronto + Ontario + M9C 3Z9 + Canada + tomkralidis@gmail.com + + + 0800h - 1600h EST + During hours of service. Off on weekends. + + pointOfContact + + + + + + + + + + + + Filter_Capabilities + OperationsMetadata + ServiceIdentification + ServiceProvider + + + + + + + + + + + application/json + application/xml + + + http://www.w3.org/2001/XMLSchema + http://www.w3.org/TR/xmlschema-1/ + http://www.w3.org/XML/Schema + + + csw:Record + + + + + + + + + + + DescribeRecord.outputFormat + DescribeRecord.schemaLanguage + DescribeRecord.typeName + GetCapabilities.sections + GetRecordById.ElementSetName + GetRecordById.outputFormat + GetRecordById.outputSchema + GetRecords.CONSTRAINTLANGUAGE + GetRecords.ElementSetName + GetRecords.outputFormat + GetRecords.outputSchema + GetRecords.resultType + GetRecords.typeNames + Harvest.ResourceType + Transaction.TransactionSchemas + + + + + + + + + + + CQL_TEXT + FILTER + + + brief + full + summary + + + application/json + application/xml + + + http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ + http://www.interlis.ch/INTERLIS2.3 + http://www.opengis.net/cat/csw/2.0.2 + http://www.opengis.net/cat/csw/csdgm + http://www.w3.org/2005/Atom + + + hits + results + validate + + + csw:Record + + + csw:AnyText + dc:contributor + dc:creator + dc:date + dc:format + dc:identifier + dc:language + dc:publisher + dc:relation + dc:rights + dc:source + dc:subject + dc:title + dc:type + dct:abstract + dct:modified + ows:BoundingBox + + + + + + + + + + + brief + full + summary + + + application/json + application/xml + + + http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ + http://www.interlis.ch/INTERLIS2.3 + http://www.opengis.net/cat/csw/2.0.2 + http://www.opengis.net/cat/csw/csdgm + http://www.w3.org/2005/Atom + + + + + + + + + + + + + + + + + http://www.isotc211.org/2005/gmi + http://www.opengis.net/cat/csw/2.0.2 + http://www.opengis.net/cat/csw/3.0 + http://www.opengis.net/sos/1.0 + http://www.opengis.net/sos/2.0 + http://www.opengis.net/wcs + http://www.opengis.net/wfs + http://www.opengis.net/wfs/2.0 + http://www.opengis.net/wms + http://www.opengis.net/wmts/1.0 + http://www.opengis.net/wps/1.0.0 + urn:geoss:waf + + + + + + + + + + http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ + http://www.interlis.ch/INTERLIS2.3 + http://www.isotc211.org/2005/gmi + http://www.opengis.net/cat/csw/2.0.2 + http://www.opengis.net/cat/csw/3.0 + http://www.opengis.net/cat/csw/csdgm + http://www.opengis.net/sos/1.0 + http://www.opengis.net/sos/2.0 + http://www.opengis.net/wcs + http://www.opengis.net/wfs + http://www.opengis.net/wfs/2.0 + http://www.opengis.net/wms + http://www.opengis.net/wmts/1.0 + http://www.opengis.net/wps/1.0.0 + http://www.w3.org/2005/Atom + urn:geoss:waf + + + + CSW + + + 2.0.2 + 3.0.0 + + + http://geo.data.gov/geoportal/csw/discovery + + + 10 + + + XML + SOAP + + + allowed + + + + + + gml:Point + gml:LineString + gml:Polygon + gml:Envelope + + + + + + + + + + + + + + + + + + + Between + EqualTo + GreaterThan + GreaterThanEqualTo + LessThan + LessThanEqualTo + Like + NotEqualTo + NullCheck + + + + + length + lower + ltrim + rtrim + trim + upper + + + + + + + + + + diff --git a/tests/functionaltests/suites/cite/expected/get_4e38092f-1586-44b8-988e-0acfa5855916.xml b/tests/functionaltests/suites/cite/expected/get_4e38092f-1586-44b8-988e-0acfa5855916.xml new file mode 100644 index 000000000..82bbd70d8 --- /dev/null +++ b/tests/functionaltests/suites/cite/expected/get_4e38092f-1586-44b8-988e-0acfa5855916.xml @@ -0,0 +1,7 @@ + + + + + Invalid outputformat parameter application/bogus_xml + + diff --git a/tests/functionaltests/suites/cite/expected/get_55c38f00-2553-42c1-99ab-33edbb561ad7.xml b/tests/functionaltests/suites/cite/expected/get_55c38f00-2553-42c1-99ab-33edbb561ad7.xml new file mode 100644 index 000000000..14d595bc3 --- /dev/null +++ b/tests/functionaltests/suites/cite/expected/get_55c38f00-2553-42c1-99ab-33edbb561ad7.xml @@ -0,0 +1,392 @@ + + + + + pycsw Geospatial Catalogue + pycsw is an OGC CSW server implementation written in Python + + catalogue + discovery + theme + + CSW + 2.0.2 + 3.0.0 + None + None + + + + + + + + + + + + application/xml + text/xml + + + + + 2.0.2 + 3.0.0 + + + + + All + Filter_Capabilities + OperationsMetadata + ServiceIdentification + ServiceProvider + + + + + + + + + + + + + GetCapabilities.acceptFormats + GetCapabilities.acceptVersions + GetCapabilities.sections + GetRecordById.ElementSetName + GetRecordById.outputFormat + GetRecordById.outputSchema + GetRecords.CONSTRAINTLANGUAGE + GetRecords.ElementSetName + GetRecords.outputFormat + GetRecords.outputSchema + GetRecords.typeNames + Harvest.ResourceType + Transaction.TransactionSchemas + + + + + + + + + + + + + CQL_TEXT + FILTER + + + + + brief + full + summary + + + + + application/atom+xml + application/json + application/xml + + + + + http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ + http://www.interlis.ch/INTERLIS2.3 + http://www.opengis.net/cat/csw/3.0 + http://www.opengis.net/cat/csw/csdgm + http://www.w3.org/2005/Atom + + + + + csw:Record + + + + + 10 + + + + + http://localhost/pycsw/csw.py?config=tests/suites/cite/default.cfg?mode=opensearch&service=CSW&version=3.0.0&request=GetCapabilities + + + + + http://geo.data.gov/geoportal/csw/discovery + + + + + + + + + + + + + brief + full + summary + + + + + application/atom+xml + application/json + application/xml + + + + + http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ + http://www.interlis.ch/INTERLIS2.3 + http://www.opengis.net/cat/csw/3.0 + http://www.opengis.net/cat/csw/csdgm + http://www.w3.org/2005/Atom + + + + + + + + + + + + + + + + + + + http://www.isotc211.org/2005/gmi + http://www.opengis.net/cat/csw/2.0.2 + http://www.opengis.net/cat/csw/3.0 + http://www.opengis.net/sos/1.0 + http://www.opengis.net/sos/2.0 + http://www.opengis.net/wcs + http://www.opengis.net/wfs + http://www.opengis.net/wfs/2.0 + http://www.opengis.net/wms + http://www.opengis.net/wmts/1.0 + http://www.opengis.net/wps/1.0.0 + urn:geoss:waf + + + + + + + + + + + + http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ + http://www.interlis.ch/INTERLIS2.3 + http://www.isotc211.org/2005/gmi + http://www.opengis.net/cat/csw/2.0.2 + http://www.opengis.net/cat/csw/3.0 + http://www.opengis.net/cat/csw/csdgm + http://www.opengis.net/sos/1.0 + http://www.opengis.net/sos/2.0 + http://www.opengis.net/wcs + http://www.opengis.net/wfs + http://www.opengis.net/wfs/2.0 + http://www.opengis.net/wms + http://www.opengis.net/wmts/1.0 + http://www.opengis.net/wps/1.0.0 + http://www.w3.org/2005/Atom + urn:geoss:waf + + + + + + CSW + + + + + 2.0.2 + 3.0.0 + + + + + csw:AnyText + dc:contributor + dc:creator + dc:date + dc:format + dc:identifier + dc:language + dc:publisher + dc:relation + dc:rights + dc:source + dc:subject + dc:title + dc:type + dct:abstract + dct:modified + ows:BoundingBox + + + + + http://geo.data.gov/geoportal/csw/discovery + + + + + 10 + + + + + SOAP + XML + + + + + allowed + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + http://www.opengis.net/gml + + + + + TRUE + + + + diff --git a/tests/functionaltests/suites/cite/expected/get_5ab5db18-c87a-4fbf-a8d8-b7289b09ac81.xml b/tests/functionaltests/suites/cite/expected/get_5ab5db18-c87a-4fbf-a8d8-b7289b09ac81.xml new file mode 100644 index 000000000..407b97b9a --- /dev/null +++ b/tests/functionaltests/suites/cite/expected/get_5ab5db18-c87a-4fbf-a8d8-b7289b09ac81.xml @@ -0,0 +1,7 @@ + + + + + Invalid value for service: FOO. Value MUST be CSW + + diff --git a/tests/functionaltests/suites/cite/expected/get_6a4f57ca-a1bd-4802-89c2-44860dbdb0f0.xml b/tests/functionaltests/suites/cite/expected/get_6a4f57ca-a1bd-4802-89c2-44860dbdb0f0.xml new file mode 100644 index 000000000..5ef23a7ab --- /dev/null +++ b/tests/functionaltests/suites/cite/expected/get_6a4f57ca-a1bd-4802-89c2-44860dbdb0f0.xml @@ -0,0 +1,11 @@ + + + + + urn:uuid:6a3de50b-fa66-4b58-a0e6-ca146fdd18d4 + Ut facilisis justo ut lacus + http://purl.org/dc/dcmitype/Service + Vegetation + urn:uuid:94bc9c83-97f6-4b40-9eb8-a8e8787a5c63 + + diff --git a/tests/functionaltests/suites/cite/expected/get_6c375703-9c00-4aef-bec7-d2e964f849eb.xml b/tests/functionaltests/suites/cite/expected/get_6c375703-9c00-4aef-bec7-d2e964f849eb.xml new file mode 100644 index 000000000..6ac70554f --- /dev/null +++ b/tests/functionaltests/suites/cite/expected/get_6c375703-9c00-4aef-bec7-d2e964f849eb.xml @@ -0,0 +1,13 @@ + + + + + + urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f + urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f + + Lorem ipsum + PYCSW_TIMESTAMP + Quisque lacus diam, placerat mollis, pharetra in, commodo sed, augue. Duis iaculis arcu vel arcu. + + diff --git a/tests/functionaltests/suites/cite/expected/get_80f31def-4185-48b9-983a-960566918eae.xml b/tests/functionaltests/suites/cite/expected/get_80f31def-4185-48b9-983a-960566918eae.xml new file mode 100644 index 000000000..77dd76c6b --- /dev/null +++ b/tests/functionaltests/suites/cite/expected/get_80f31def-4185-48b9-983a-960566918eae.xml @@ -0,0 +1,543 @@ + + + + + pycsw Geospatial Catalogue + pycsw is an OGC CSW server implementation written in Python + + catalogue + discovery + theme + + CSW + 2.0.2 + 3.0.0 + None + None + + + pycsw + + + Kralidis, Tom + Senior Systems Scientist + + + +01-416-xxx-xxxx + +01-416-xxx-xxxx + + + TBA + Toronto + Ontario + M9C 3Z9 + Canada + tomkralidis@gmail.com + + + 0800h - 1600h EST + During hours of service. Off on weekends. + + pointOfContact + + + + + + + + + + + + + application/xml + text/xml + + + + + 2.0.2 + 3.0.0 + + + + + All + Filter_Capabilities + OperationsMetadata + ServiceIdentification + ServiceProvider + + + + + + + + + + + + + GetCapabilities.acceptFormats + GetCapabilities.acceptVersions + GetCapabilities.sections + GetRecordById.ElementSetName + GetRecordById.outputFormat + GetRecordById.outputSchema + GetRecords.CONSTRAINTLANGUAGE + GetRecords.ElementSetName + GetRecords.outputFormat + GetRecords.outputSchema + GetRecords.typeNames + Harvest.ResourceType + Transaction.TransactionSchemas + + + + + + + + + + + + + CQL_TEXT + FILTER + + + + + brief + full + summary + + + + + application/atom+xml + application/json + application/xml + + + + + http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ + http://www.interlis.ch/INTERLIS2.3 + http://www.opengis.net/cat/csw/3.0 + http://www.opengis.net/cat/csw/csdgm + http://www.w3.org/2005/Atom + + + + + csw:Record + + + + + 10 + + + + + http://localhost/pycsw/csw.py?config=tests/suites/cite/default.cfg?mode=opensearch&service=CSW&version=3.0.0&request=GetCapabilities + + + + + http://geo.data.gov/geoportal/csw/discovery + + + + + + + + + + + + + brief + full + summary + + + + + application/atom+xml + application/json + application/xml + + + + + http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ + http://www.interlis.ch/INTERLIS2.3 + http://www.opengis.net/cat/csw/3.0 + http://www.opengis.net/cat/csw/csdgm + http://www.w3.org/2005/Atom + + + + + + + + + + + + + + + + + + + http://www.isotc211.org/2005/gmi + http://www.opengis.net/cat/csw/2.0.2 + http://www.opengis.net/cat/csw/3.0 + http://www.opengis.net/sos/1.0 + http://www.opengis.net/sos/2.0 + http://www.opengis.net/wcs + http://www.opengis.net/wfs + http://www.opengis.net/wfs/2.0 + http://www.opengis.net/wms + http://www.opengis.net/wmts/1.0 + http://www.opengis.net/wps/1.0.0 + urn:geoss:waf + + + + + + + + + + + + http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ + http://www.interlis.ch/INTERLIS2.3 + http://www.isotc211.org/2005/gmi + http://www.opengis.net/cat/csw/2.0.2 + http://www.opengis.net/cat/csw/3.0 + http://www.opengis.net/cat/csw/csdgm + http://www.opengis.net/sos/1.0 + http://www.opengis.net/sos/2.0 + http://www.opengis.net/wcs + http://www.opengis.net/wfs + http://www.opengis.net/wfs/2.0 + http://www.opengis.net/wms + http://www.opengis.net/wmts/1.0 + http://www.opengis.net/wps/1.0.0 + http://www.w3.org/2005/Atom + urn:geoss:waf + + + + + + CSW + + + + + 2.0.2 + 3.0.0 + + + + + csw:AnyText + dc:contributor + dc:creator + dc:date + dc:format + dc:identifier + dc:language + dc:publisher + dc:relation + dc:rights + dc:source + dc:subject + dc:title + dc:type + dct:abstract + dct:modified + ows:BoundingBox + + + + + http://geo.data.gov/geoportal/csw/discovery + + + + + 10 + + + + + SOAP + XML + + + + + allowed + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + http://www.opengis.net/gml + + + + + TRUE + + + + + en + + + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + xs:string + + + xs:string + + + xs:string + + + xs:string + + + xs:string + + + xs:string + + + + diff --git a/tests/functionaltests/suites/cite/expected/get_8e2232ed-05d9-44ae-8b04-0911cbe6a507.xml b/tests/functionaltests/suites/cite/expected/get_8e2232ed-05d9-44ae-8b04-0911cbe6a507.xml new file mode 100644 index 000000000..6dd138f50 --- /dev/null +++ b/tests/functionaltests/suites/cite/expected/get_8e2232ed-05d9-44ae-8b04-0911cbe6a507.xml @@ -0,0 +1,7 @@ + + + + + Invalid parameter value in acceptversions: 2006.10.29. Value MUST be 2.0.2 or 3.0.0 + + diff --git a/tests/functionaltests/suites/cite/expected/get_9697f0aa-3b6a-4125-83a5-61e8826127c4.xml b/tests/functionaltests/suites/cite/expected/get_9697f0aa-3b6a-4125-83a5-61e8826127c4.xml new file mode 100644 index 000000000..77dd76c6b --- /dev/null +++ b/tests/functionaltests/suites/cite/expected/get_9697f0aa-3b6a-4125-83a5-61e8826127c4.xml @@ -0,0 +1,543 @@ + + + + + pycsw Geospatial Catalogue + pycsw is an OGC CSW server implementation written in Python + + catalogue + discovery + theme + + CSW + 2.0.2 + 3.0.0 + None + None + + + pycsw + + + Kralidis, Tom + Senior Systems Scientist + + + +01-416-xxx-xxxx + +01-416-xxx-xxxx + + + TBA + Toronto + Ontario + M9C 3Z9 + Canada + tomkralidis@gmail.com + + + 0800h - 1600h EST + During hours of service. Off on weekends. + + pointOfContact + + + + + + + + + + + + + application/xml + text/xml + + + + + 2.0.2 + 3.0.0 + + + + + All + Filter_Capabilities + OperationsMetadata + ServiceIdentification + ServiceProvider + + + + + + + + + + + + + GetCapabilities.acceptFormats + GetCapabilities.acceptVersions + GetCapabilities.sections + GetRecordById.ElementSetName + GetRecordById.outputFormat + GetRecordById.outputSchema + GetRecords.CONSTRAINTLANGUAGE + GetRecords.ElementSetName + GetRecords.outputFormat + GetRecords.outputSchema + GetRecords.typeNames + Harvest.ResourceType + Transaction.TransactionSchemas + + + + + + + + + + + + + CQL_TEXT + FILTER + + + + + brief + full + summary + + + + + application/atom+xml + application/json + application/xml + + + + + http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ + http://www.interlis.ch/INTERLIS2.3 + http://www.opengis.net/cat/csw/3.0 + http://www.opengis.net/cat/csw/csdgm + http://www.w3.org/2005/Atom + + + + + csw:Record + + + + + 10 + + + + + http://localhost/pycsw/csw.py?config=tests/suites/cite/default.cfg?mode=opensearch&service=CSW&version=3.0.0&request=GetCapabilities + + + + + http://geo.data.gov/geoportal/csw/discovery + + + + + + + + + + + + + brief + full + summary + + + + + application/atom+xml + application/json + application/xml + + + + + http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ + http://www.interlis.ch/INTERLIS2.3 + http://www.opengis.net/cat/csw/3.0 + http://www.opengis.net/cat/csw/csdgm + http://www.w3.org/2005/Atom + + + + + + + + + + + + + + + + + + + http://www.isotc211.org/2005/gmi + http://www.opengis.net/cat/csw/2.0.2 + http://www.opengis.net/cat/csw/3.0 + http://www.opengis.net/sos/1.0 + http://www.opengis.net/sos/2.0 + http://www.opengis.net/wcs + http://www.opengis.net/wfs + http://www.opengis.net/wfs/2.0 + http://www.opengis.net/wms + http://www.opengis.net/wmts/1.0 + http://www.opengis.net/wps/1.0.0 + urn:geoss:waf + + + + + + + + + + + + http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ + http://www.interlis.ch/INTERLIS2.3 + http://www.isotc211.org/2005/gmi + http://www.opengis.net/cat/csw/2.0.2 + http://www.opengis.net/cat/csw/3.0 + http://www.opengis.net/cat/csw/csdgm + http://www.opengis.net/sos/1.0 + http://www.opengis.net/sos/2.0 + http://www.opengis.net/wcs + http://www.opengis.net/wfs + http://www.opengis.net/wfs/2.0 + http://www.opengis.net/wms + http://www.opengis.net/wmts/1.0 + http://www.opengis.net/wps/1.0.0 + http://www.w3.org/2005/Atom + urn:geoss:waf + + + + + + CSW + + + + + 2.0.2 + 3.0.0 + + + + + csw:AnyText + dc:contributor + dc:creator + dc:date + dc:format + dc:identifier + dc:language + dc:publisher + dc:relation + dc:rights + dc:source + dc:subject + dc:title + dc:type + dct:abstract + dct:modified + ows:BoundingBox + + + + + http://geo.data.gov/geoportal/csw/discovery + + + + + 10 + + + + + SOAP + XML + + + + + allowed + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + http://www.opengis.net/gml + + + + + TRUE + + + + + en + + + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + xs:string + + + xs:string + + + xs:string + + + xs:string + + + xs:string + + + xs:string + + + + diff --git a/tests/functionaltests/suites/cite/expected/get_9bfd17fa-15dc-4a10-8fa7-b3cff7013dd7.xml b/tests/functionaltests/suites/cite/expected/get_9bfd17fa-15dc-4a10-8fa7-b3cff7013dd7.xml new file mode 100644 index 000000000..3ac20591f --- /dev/null +++ b/tests/functionaltests/suites/cite/expected/get_9bfd17fa-15dc-4a10-8fa7-b3cff7013dd7.xml @@ -0,0 +1,13 @@ + + + + + urn:uuid:e9330592-0932-474b-be34-c3a3bb67c7db + http://purl.org/dc/dcmitype/Text + Fuscé vitae ligulä + 2003-05-09 + Land titles + text/rtf + Morbi ultriçes, dui suscipit vestibulum prètium, velit ante pretium tortor, egët tincidunt pede odio ac nulla. + + diff --git a/tests/functionaltests/suites/cite/expected/get_b81c3595-06d6-4693-82ea-1ff8650755ac.xml b/tests/functionaltests/suites/cite/expected/get_b81c3595-06d6-4693-82ea-1ff8650755ac.xml new file mode 100644 index 000000000..9bf61df8e --- /dev/null +++ b/tests/functionaltests/suites/cite/expected/get_b81c3595-06d6-4693-82ea-1ff8650755ac.xml @@ -0,0 +1,3 @@ + + + diff --git a/tests/functionaltests/suites/cite/expected/get_ba5fc729-3b71-47a0-b7d0-42ec565cd185.xml b/tests/functionaltests/suites/cite/expected/get_ba5fc729-3b71-47a0-b7d0-42ec565cd185.xml new file mode 100644 index 000000000..369f8d8d5 --- /dev/null +++ b/tests/functionaltests/suites/cite/expected/get_ba5fc729-3b71-47a0-b7d0-42ec565cd185.xml @@ -0,0 +1,310 @@ + + + + + pycsw Geospatial Catalogue + pycsw is an OGC CSW server implementation written in Python + + catalogue + discovery + theme + + CSW + 2.0.2 + 3.0.0 + None + None + + + pycsw + + + Kralidis, Tom + Senior Systems Scientist + + + +01-416-xxx-xxxx + +01-416-xxx-xxxx + + + TBA + Toronto + Ontario + M9C 3Z9 + Canada + tomkralidis@gmail.com + + + 0800h - 1600h EST + During hours of service. Off on weekends. + + pointOfContact + + + + + + + + + + + + Filter_Capabilities + OperationsMetadata + ServiceIdentification + ServiceProvider + + + + + + + + + + + application/json + application/xml + + + http://www.w3.org/2001/XMLSchema + http://www.w3.org/TR/xmlschema-1/ + http://www.w3.org/XML/Schema + + + csw:Record + + + + + + + + + + + DescribeRecord.outputFormat + DescribeRecord.schemaLanguage + DescribeRecord.typeName + GetCapabilities.sections + GetRecordById.ElementSetName + GetRecordById.outputFormat + GetRecordById.outputSchema + GetRecords.CONSTRAINTLANGUAGE + GetRecords.ElementSetName + GetRecords.outputFormat + GetRecords.outputSchema + GetRecords.resultType + GetRecords.typeNames + Harvest.ResourceType + Transaction.TransactionSchemas + + + + + + + + + + + CQL_TEXT + FILTER + + + brief + full + summary + + + application/json + application/xml + + + http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ + http://www.interlis.ch/INTERLIS2.3 + http://www.opengis.net/cat/csw/2.0.2 + http://www.opengis.net/cat/csw/csdgm + http://www.w3.org/2005/Atom + + + hits + results + validate + + + csw:Record + + + csw:AnyText + dc:contributor + dc:creator + dc:date + dc:format + dc:identifier + dc:language + dc:publisher + dc:relation + dc:rights + dc:source + dc:subject + dc:title + dc:type + dct:abstract + dct:modified + ows:BoundingBox + + + + + + + + + + + brief + full + summary + + + application/json + application/xml + + + http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ + http://www.interlis.ch/INTERLIS2.3 + http://www.opengis.net/cat/csw/2.0.2 + http://www.opengis.net/cat/csw/csdgm + http://www.w3.org/2005/Atom + + + + + + + + + + + + + + + + + http://www.isotc211.org/2005/gmi + http://www.opengis.net/cat/csw/2.0.2 + http://www.opengis.net/cat/csw/3.0 + http://www.opengis.net/sos/1.0 + http://www.opengis.net/sos/2.0 + http://www.opengis.net/wcs + http://www.opengis.net/wfs + http://www.opengis.net/wfs/2.0 + http://www.opengis.net/wms + http://www.opengis.net/wmts/1.0 + http://www.opengis.net/wps/1.0.0 + urn:geoss:waf + + + + + + + + + + http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ + http://www.interlis.ch/INTERLIS2.3 + http://www.isotc211.org/2005/gmi + http://www.opengis.net/cat/csw/2.0.2 + http://www.opengis.net/cat/csw/3.0 + http://www.opengis.net/cat/csw/csdgm + http://www.opengis.net/sos/1.0 + http://www.opengis.net/sos/2.0 + http://www.opengis.net/wcs + http://www.opengis.net/wfs + http://www.opengis.net/wfs/2.0 + http://www.opengis.net/wms + http://www.opengis.net/wmts/1.0 + http://www.opengis.net/wps/1.0.0 + http://www.w3.org/2005/Atom + urn:geoss:waf + + + + CSW + + + 2.0.2 + 3.0.0 + + + http://geo.data.gov/geoportal/csw/discovery + + + 10 + + + XML + SOAP + + + allowed + + + + + + gml:Point + gml:LineString + gml:Polygon + gml:Envelope + + + + + + + + + + + + + + + + + + + Between + EqualTo + GreaterThan + GreaterThanEqualTo + LessThan + LessThanEqualTo + Like + NotEqualTo + NullCheck + + + + + length + lower + ltrim + rtrim + trim + upper + + + + + + + + + + diff --git a/tests/functionaltests/suites/cite/expected/get_c4ea754f-c158-4d8d-8253-dc8f86021b52.xml b/tests/functionaltests/suites/cite/expected/get_c4ea754f-c158-4d8d-8253-dc8f86021b52.xml new file mode 100644 index 000000000..42a76d4fd --- /dev/null +++ b/tests/functionaltests/suites/cite/expected/get_c4ea754f-c158-4d8d-8253-dc8f86021b52.xml @@ -0,0 +1,7 @@ + + + + + Missing keyword: service + + diff --git a/tests/functionaltests/suites/cite/expected/get_f4692ec5-9547-4a05-88ab-e6154af2640a.xml b/tests/functionaltests/suites/cite/expected/get_f4692ec5-9547-4a05-88ab-e6154af2640a.xml new file mode 100644 index 000000000..369f8d8d5 --- /dev/null +++ b/tests/functionaltests/suites/cite/expected/get_f4692ec5-9547-4a05-88ab-e6154af2640a.xml @@ -0,0 +1,310 @@ + + + + + pycsw Geospatial Catalogue + pycsw is an OGC CSW server implementation written in Python + + catalogue + discovery + theme + + CSW + 2.0.2 + 3.0.0 + None + None + + + pycsw + + + Kralidis, Tom + Senior Systems Scientist + + + +01-416-xxx-xxxx + +01-416-xxx-xxxx + + + TBA + Toronto + Ontario + M9C 3Z9 + Canada + tomkralidis@gmail.com + + + 0800h - 1600h EST + During hours of service. Off on weekends. + + pointOfContact + + + + + + + + + + + + Filter_Capabilities + OperationsMetadata + ServiceIdentification + ServiceProvider + + + + + + + + + + + application/json + application/xml + + + http://www.w3.org/2001/XMLSchema + http://www.w3.org/TR/xmlschema-1/ + http://www.w3.org/XML/Schema + + + csw:Record + + + + + + + + + + + DescribeRecord.outputFormat + DescribeRecord.schemaLanguage + DescribeRecord.typeName + GetCapabilities.sections + GetRecordById.ElementSetName + GetRecordById.outputFormat + GetRecordById.outputSchema + GetRecords.CONSTRAINTLANGUAGE + GetRecords.ElementSetName + GetRecords.outputFormat + GetRecords.outputSchema + GetRecords.resultType + GetRecords.typeNames + Harvest.ResourceType + Transaction.TransactionSchemas + + + + + + + + + + + CQL_TEXT + FILTER + + + brief + full + summary + + + application/json + application/xml + + + http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ + http://www.interlis.ch/INTERLIS2.3 + http://www.opengis.net/cat/csw/2.0.2 + http://www.opengis.net/cat/csw/csdgm + http://www.w3.org/2005/Atom + + + hits + results + validate + + + csw:Record + + + csw:AnyText + dc:contributor + dc:creator + dc:date + dc:format + dc:identifier + dc:language + dc:publisher + dc:relation + dc:rights + dc:source + dc:subject + dc:title + dc:type + dct:abstract + dct:modified + ows:BoundingBox + + + + + + + + + + + brief + full + summary + + + application/json + application/xml + + + http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ + http://www.interlis.ch/INTERLIS2.3 + http://www.opengis.net/cat/csw/2.0.2 + http://www.opengis.net/cat/csw/csdgm + http://www.w3.org/2005/Atom + + + + + + + + + + + + + + + + + http://www.isotc211.org/2005/gmi + http://www.opengis.net/cat/csw/2.0.2 + http://www.opengis.net/cat/csw/3.0 + http://www.opengis.net/sos/1.0 + http://www.opengis.net/sos/2.0 + http://www.opengis.net/wcs + http://www.opengis.net/wfs + http://www.opengis.net/wfs/2.0 + http://www.opengis.net/wms + http://www.opengis.net/wmts/1.0 + http://www.opengis.net/wps/1.0.0 + urn:geoss:waf + + + + + + + + + + http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ + http://www.interlis.ch/INTERLIS2.3 + http://www.isotc211.org/2005/gmi + http://www.opengis.net/cat/csw/2.0.2 + http://www.opengis.net/cat/csw/3.0 + http://www.opengis.net/cat/csw/csdgm + http://www.opengis.net/sos/1.0 + http://www.opengis.net/sos/2.0 + http://www.opengis.net/wcs + http://www.opengis.net/wfs + http://www.opengis.net/wfs/2.0 + http://www.opengis.net/wms + http://www.opengis.net/wmts/1.0 + http://www.opengis.net/wps/1.0.0 + http://www.w3.org/2005/Atom + urn:geoss:waf + + + + CSW + + + 2.0.2 + 3.0.0 + + + http://geo.data.gov/geoportal/csw/discovery + + + 10 + + + XML + SOAP + + + allowed + + + + + + gml:Point + gml:LineString + gml:Polygon + gml:Envelope + + + + + + + + + + + + + + + + + + + Between + EqualTo + GreaterThan + GreaterThanEqualTo + LessThan + LessThanEqualTo + Like + NotEqualTo + NullCheck + + + + + length + lower + ltrim + rtrim + trim + upper + + + + + + + + + + diff --git a/tests/functionaltests/suites/cite/expected/get_f997f25e-c865-4d53-a362-0ed1846337f2.xml b/tests/functionaltests/suites/cite/expected/get_f997f25e-c865-4d53-a362-0ed1846337f2.xml new file mode 100644 index 000000000..6cddad959 --- /dev/null +++ b/tests/functionaltests/suites/cite/expected/get_f997f25e-c865-4d53-a362-0ed1846337f2.xml @@ -0,0 +1,15 @@ + + + + + urn:uuid:94bc9c83-97f6-4b40-9eb8-a8e8787a5c63 + Mauris sed neque + http://purl.org/dc/dcmitype/Dataset + Vegetation-Cropland + Curabitur lacinia, ante non porta tempus, mi lorem feugiat odio, eget suscipit eros pede ac velit. + + 47.59 -4.1 + 51.22 0.89 + + + diff --git a/tests/functionaltests/suites/cite/expected/post_0c976d98-c896-4b10-b1fe-a22ef50434e7.xml b/tests/functionaltests/suites/cite/expected/post_0c976d98-c896-4b10-b1fe-a22ef50434e7.xml new file mode 100644 index 000000000..ce7aca9f6 --- /dev/null +++ b/tests/functionaltests/suites/cite/expected/post_0c976d98-c896-4b10-b1fe-a22ef50434e7.xml @@ -0,0 +1,6 @@ + + + + + + diff --git a/tests/functionaltests/suites/cite/expected/post_19d2a6ed-be28-4866-ae15-e3bb634486cb.xml b/tests/functionaltests/suites/cite/expected/post_19d2a6ed-be28-4866-ae15-e3bb634486cb.xml new file mode 100644 index 000000000..b80c3b546 --- /dev/null +++ b/tests/functionaltests/suites/cite/expected/post_19d2a6ed-be28-4866-ae15-e3bb634486cb.xml @@ -0,0 +1,55 @@ + + + + + + + urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f + Lorem ipsum + http://purl.org/dc/dcmitype/Image + + + urn:uuid:a06af396-3105-442d-8b40-22b57a90d2f2 + Lorem ipsum dolor sit amet + http://purl.org/dc/dcmitype/Image + + + urn:uuid:829babb0-b2f1-49e1-8cd5-7b489fe71a1e + Vestibulum massa purus + http://purl.org/dc/dcmitype/Image + + + urn:uuid:66ae76b7-54ba-489b-a582-0f0633d96493 + Maecenas enim + http://purl.org/dc/dcmitype/Text + + + urn:uuid:784e2afd-a9fd-44a6-9a92-a3848371c8ec + Aliquam fermentum purus quis arcu + http://purl.org/dc/dcmitype/Text + + + urn:uuid:9a669547-b69b-469f-a11f-2d875366bbdc + Ñunç elementum + http://purl.org/dc/dcmitype/Dataset + + 44.79 -6.17 + 51.13 -2.23 + + + + urn:uuid:94bc9c83-97f6-4b40-9eb8-a8e8787a5c63 + Mauris sed neque + http://purl.org/dc/dcmitype/Dataset + + 47.59 -4.1 + 51.22 0.89 + + + + urn:uuid:6a3de50b-fa66-4b58-a0e6-ca146fdd18d4 + Ut facilisis justo ut lacus + http://purl.org/dc/dcmitype/Service + + + diff --git a/tests/functionaltests/suites/cite/expected/post_1ab55aa3-6685-4595-8ecd-45987a7b8b59.xml b/tests/functionaltests/suites/cite/expected/post_1ab55aa3-6685-4595-8ecd-45987a7b8b59.xml new file mode 100644 index 000000000..a78d68a8c --- /dev/null +++ b/tests/functionaltests/suites/cite/expected/post_1ab55aa3-6685-4595-8ecd-45987a7b8b59.xml @@ -0,0 +1,19 @@ + + + + + + + full + + + + csw:AnyText + *lorem* + + + + + + + diff --git a/tests/functionaltests/suites/cite/expected/post_1c958b7a-ca09-4c38-98bd-ef1d1d28cc14.xml b/tests/functionaltests/suites/cite/expected/post_1c958b7a-ca09-4c38-98bd-ef1d1d28cc14.xml new file mode 100644 index 000000000..a1691f473 --- /dev/null +++ b/tests/functionaltests/suites/cite/expected/post_1c958b7a-ca09-4c38-98bd-ef1d1d28cc14.xml @@ -0,0 +1,7 @@ + + + + + Invalid outputFormat parameter value: application/xhtml+xml + + diff --git a/tests/functionaltests/suites/cite/expected/post_1c97fc1a-61cd-4c1d-8054-933e17a6c5ee.xml b/tests/functionaltests/suites/cite/expected/post_1c97fc1a-61cd-4c1d-8054-933e17a6c5ee.xml new file mode 100644 index 000000000..2b0eebed4 --- /dev/null +++ b/tests/functionaltests/suites/cite/expected/post_1c97fc1a-61cd-4c1d-8054-933e17a6c5ee.xml @@ -0,0 +1,7 @@ + + + + + Invalid Constraint: Invalid Filter request: Invalid PropertyName: /dc:title. '/dc:title' + + diff --git a/tests/functionaltests/suites/cite/expected/post_2102a460-5d62-465f-9668-d70b3faafbfa.xml b/tests/functionaltests/suites/cite/expected/post_2102a460-5d62-465f-9668-d70b3faafbfa.xml new file mode 100644 index 000000000..5c7ef391f --- /dev/null +++ b/tests/functionaltests/suites/cite/expected/post_2102a460-5d62-465f-9668-d70b3faafbfa.xml @@ -0,0 +1,12 @@ + + + + + + + urn:uuid:ab42a8c4-95e8-4630-bf79-33e59241605a + + http://purl.org/dc/dcmitype/Service + + + diff --git a/tests/functionaltests/suites/cite/expected/post_225f455a-0035-486b-a94e-fee7ae881b2b.xml b/tests/functionaltests/suites/cite/expected/post_225f455a-0035-486b-a94e-fee7ae881b2b.xml new file mode 100644 index 000000000..a9d06ca89 --- /dev/null +++ b/tests/functionaltests/suites/cite/expected/post_225f455a-0035-486b-a94e-fee7ae881b2b.xml @@ -0,0 +1,17 @@ + + + + + + + urn:uuid:94bc9c83-97f6-4b40-9eb8-a8e8787a5c63 + http://purl.org/dc/dcmitype/Dataset + 2006-03-26 + + + urn:uuid:784e2afd-a9fd-44a6-9a92-a3848371c8ec + http://purl.org/dc/dcmitype/Text + 2006-05-12 + + + diff --git a/tests/functionaltests/suites/cite/expected/post_2d53ffea-60e4-4652-abf5-36eb23042fd5.xml b/tests/functionaltests/suites/cite/expected/post_2d53ffea-60e4-4652-abf5-36eb23042fd5.xml new file mode 100644 index 000000000..fb722adad --- /dev/null +++ b/tests/functionaltests/suites/cite/expected/post_2d53ffea-60e4-4652-abf5-36eb23042fd5.xml @@ -0,0 +1,69 @@ + + + + + + + urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f + Lorem ipsum + http://purl.org/dc/dcmitype/Image + + + urn:uuid:1ef30a8b-876d-4828-9246-c37ab4510bbd + + http://purl.org/dc/dcmitype/Service + + 60.04 13.75 + 68.41 17.92 + + + + urn:uuid:66ae76b7-54ba-489b-a582-0f0633d96493 + Maecenas enim + http://purl.org/dc/dcmitype/Text + + + urn:uuid:6a3de50b-fa66-4b58-a0e6-ca146fdd18d4 + Ut facilisis justo ut lacus + http://purl.org/dc/dcmitype/Service + + + urn:uuid:784e2afd-a9fd-44a6-9a92-a3848371c8ec + Aliquam fermentum purus quis arcu + http://purl.org/dc/dcmitype/Text + + + urn:uuid:829babb0-b2f1-49e1-8cd5-7b489fe71a1e + Vestibulum massa purus + http://purl.org/dc/dcmitype/Image + + + urn:uuid:88247b56-4cbc-4df9-9860-db3f8042e357 + + http://purl.org/dc/dcmitype/Dataset + + + urn:uuid:94bc9c83-97f6-4b40-9eb8-a8e8787a5c63 + Mauris sed neque + http://purl.org/dc/dcmitype/Dataset + + 47.59 -4.1 + 51.22 0.89 + + + + urn:uuid:9a669547-b69b-469f-a11f-2d875366bbdc + Ñunç elementum + http://purl.org/dc/dcmitype/Dataset + + 44.79 -6.17 + 51.13 -2.23 + + + + urn:uuid:a06af396-3105-442d-8b40-22b57a90d2f2 + Lorem ipsum dolor sit amet + http://purl.org/dc/dcmitype/Image + + + diff --git a/tests/functionaltests/suites/cite/expected/post_34a019a9-1581-42cb-9827-fbfdda2773b7.xml b/tests/functionaltests/suites/cite/expected/post_34a019a9-1581-42cb-9827-fbfdda2773b7.xml new file mode 100644 index 000000000..a22dee078 --- /dev/null +++ b/tests/functionaltests/suites/cite/expected/post_34a019a9-1581-42cb-9827-fbfdda2773b7.xml @@ -0,0 +1,6 @@ + + + + + + diff --git a/tests/functionaltests/suites/cite/expected/post_3e76fd38-e035-41c9-83dc-61356f680c97.xml b/tests/functionaltests/suites/cite/expected/post_3e76fd38-e035-41c9-83dc-61356f680c97.xml new file mode 100644 index 000000000..c8ed32a33 --- /dev/null +++ b/tests/functionaltests/suites/cite/expected/post_3e76fd38-e035-41c9-83dc-61356f680c97.xml @@ -0,0 +1,7 @@ + + + + + Invalid value for schemalanguage: http://purl.oclc.org/dsdl/schematron + + diff --git a/tests/functionaltests/suites/cite/expected/post_418a6fb0-a89c-4a94-afc9-3f8168eb2980.xml b/tests/functionaltests/suites/cite/expected/post_418a6fb0-a89c-4a94-afc9-3f8168eb2980.xml new file mode 100644 index 000000000..a53001dc4 --- /dev/null +++ b/tests/functionaltests/suites/cite/expected/post_418a6fb0-a89c-4a94-afc9-3f8168eb2980.xml @@ -0,0 +1,15 @@ + + + + + + + urn:uuid:94bc9c83-97f6-4b40-9eb8-a8e8787a5c63 + 2006-03-26 + + 47.59 -4.1 + 51.22 0.89 + + + + diff --git a/tests/functionaltests/suites/cite/expected/post_420b745e-0c4b-404e-9f2d-61fa580ff05a.xml b/tests/functionaltests/suites/cite/expected/post_420b745e-0c4b-404e-9f2d-61fa580ff05a.xml new file mode 100644 index 000000000..25097018b --- /dev/null +++ b/tests/functionaltests/suites/cite/expected/post_420b745e-0c4b-404e-9f2d-61fa580ff05a.xml @@ -0,0 +1,22 @@ + + + + + + + urn:uuid:9a669547-b69b-469f-a11f-2d875366bbdc + http://purl.org/dc/dcmitype/Dataset + 2005-10-24 + + + urn:uuid:94bc9c83-97f6-4b40-9eb8-a8e8787a5c63 + http://purl.org/dc/dcmitype/Dataset + 2006-03-26 + + + urn:uuid:784e2afd-a9fd-44a6-9a92-a3848371c8ec + http://purl.org/dc/dcmitype/Text + 2006-05-12 + + + diff --git a/tests/functionaltests/suites/cite/expected/post_4735d649-a2b1-42fd-a101-14e1d7e4607f.xml b/tests/functionaltests/suites/cite/expected/post_4735d649-a2b1-42fd-a101-14e1d7e4607f.xml new file mode 100644 index 000000000..a70706709 --- /dev/null +++ b/tests/functionaltests/suites/cite/expected/post_4735d649-a2b1-42fd-a101-14e1d7e4607f.xml @@ -0,0 +1,44 @@ + + + + + + + urn:uuid:66ae76b7-54ba-489b-a582-0f0633d96493 + Maecenas enim + http://purl.org/dc/dcmitype/Text + Marine sediments + application/xhtml+xml + Pellentesque tempus magna non sapien fringilla blandit. + + + urn:uuid:6a3de50b-fa66-4b58-a0e6-ca146fdd18d4 + Ut facilisis justo ut lacus + http://purl.org/dc/dcmitype/Service + Vegetation + urn:uuid:94bc9c83-97f6-4b40-9eb8-a8e8787a5c63 + + + urn:uuid:784e2afd-a9fd-44a6-9a92-a3848371c8ec + Aliquam fermentum purus quis arcu + http://purl.org/dc/dcmitype/Text + Hydrography--Dictionaries + application/pdf + Vestibulum quis ipsum sit amet metus imperdiet vehicula. Nulla scelerisque cursus mi. + + + urn:uuid:829babb0-b2f1-49e1-8cd5-7b489fe71a1e + Vestibulum massa purus + http://purl.org/dc/dcmitype/Image + image/jp2 + urn:uuid:9a669547-b69b-469f-a11f-2d875366bbdc + + + urn:uuid:88247b56-4cbc-4df9-9860-db3f8042e357 + + http://purl.org/dc/dcmitype/Dataset + Physiography-Landforms + Donec scelerisque pede ut nisl luctus accumsan. Quisque ultrices, lorem eget feugiat fringilla, lorem dui porttitor ante, cursus ultrices magna odio eu neque. + + + diff --git a/tests/functionaltests/suites/cite/expected/post_5c5861bc-f742-40a5-9998-5342615d674b.xml b/tests/functionaltests/suites/cite/expected/post_5c5861bc-f742-40a5-9998-5342615d674b.xml new file mode 100644 index 000000000..7d1cd623e --- /dev/null +++ b/tests/functionaltests/suites/cite/expected/post_5c5861bc-f742-40a5-9998-5342615d674b.xml @@ -0,0 +1,49 @@ + + + + + + + urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f + http://purl.org/dc/dcmitype/Image + image/svg+xml + Lorem ipsum + GR-22 + Tourism--Greece + Quisque lacus diam, placerat mollis, pharetra in, commodo sed, augue. Duis iaculis arcu vel arcu. + + + urn:uuid:88247b56-4cbc-4df9-9860-db3f8042e357 + http://purl.org/dc/dcmitype/Dataset + Physiography-Landforms + FI-ES + Donec scelerisque pede ut nisl luctus accumsan. Quisque ultrices, lorem eget feugiat fringilla, lorem dui porttitor ante, cursus ultrices magna odio eu neque. + + + urn:uuid:94bc9c83-97f6-4b40-9eb8-a8e8787a5c63 + http://purl.org/dc/dcmitype/Dataset + Mauris sed neque + Vegetation-Cropland + Curabitur lacinia, ante non porta tempus, mi lorem feugiat odio, eget suscipit eros pede ac velit. + 2006-03-26 + + 47.595 -4.097 + 51.217 0.889 + + + + urn:uuid:a06af396-3105-442d-8b40-22b57a90d2f2 + http://purl.org/dc/dcmitype/Image + Lorem ipsum dolor sit amet + image/jpeg + IT-FI + + + urn:uuid:ab42a8c4-95e8-4630-bf79-33e59241605a + http://purl.org/dc/dcmitype/Service + Physiography + Suspendisse accumsan molestie lorem. Nullam velit turpis, mattis ut, varius bibendum, laoreet non, quam. + urn:uuid:88247b56-4cbc-4df9-9860-db3f8042e357 + + + diff --git a/tests/functionaltests/suites/cite/expected/post_6e736fd0-c266-4852-9eb3-0656f5d0f5c4.xml b/tests/functionaltests/suites/cite/expected/post_6e736fd0-c266-4852-9eb3-0656f5d0f5c4.xml new file mode 100644 index 000000000..e96a0237f --- /dev/null +++ b/tests/functionaltests/suites/cite/expected/post_6e736fd0-c266-4852-9eb3-0656f5d0f5c4.xml @@ -0,0 +1,89 @@ + + + + + + + urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f + Lorem ipsum + http://purl.org/dc/dcmitype/Image + Tourism--Greece + image/svg+xml + Quisque lacus diam, placerat mollis, pharetra in, commodo sed, augue. Duis iaculis arcu vel arcu. + + + urn:uuid:1ef30a8b-876d-4828-9246-c37ab4510bbd + + http://purl.org/dc/dcmitype/Service + Proin sit amet justo. In justo. Aenean adipiscing nulla id tellus. + + 60.04 13.75 + 68.41 17.92 + + + + urn:uuid:66ae76b7-54ba-489b-a582-0f0633d96493 + Maecenas enim + http://purl.org/dc/dcmitype/Text + Marine sediments + application/xhtml+xml + Pellentesque tempus magna non sapien fringilla blandit. + + + urn:uuid:6a3de50b-fa66-4b58-a0e6-ca146fdd18d4 + Ut facilisis justo ut lacus + http://purl.org/dc/dcmitype/Service + Vegetation + urn:uuid:94bc9c83-97f6-4b40-9eb8-a8e8787a5c63 + + + urn:uuid:784e2afd-a9fd-44a6-9a92-a3848371c8ec + Aliquam fermentum purus quis arcu + http://purl.org/dc/dcmitype/Text + Hydrography--Dictionaries + application/pdf + Vestibulum quis ipsum sit amet metus imperdiet vehicula. Nulla scelerisque cursus mi. + + + urn:uuid:829babb0-b2f1-49e1-8cd5-7b489fe71a1e + Vestibulum massa purus + http://purl.org/dc/dcmitype/Image + image/jp2 + urn:uuid:9a669547-b69b-469f-a11f-2d875366bbdc + + + urn:uuid:88247b56-4cbc-4df9-9860-db3f8042e357 + + http://purl.org/dc/dcmitype/Dataset + Physiography-Landforms + Donec scelerisque pede ut nisl luctus accumsan. Quisque ultrices, lorem eget feugiat fringilla, lorem dui porttitor ante, cursus ultrices magna odio eu neque. + + + urn:uuid:94bc9c83-97f6-4b40-9eb8-a8e8787a5c63 + Mauris sed neque + http://purl.org/dc/dcmitype/Dataset + Vegetation-Cropland + Curabitur lacinia, ante non porta tempus, mi lorem feugiat odio, eget suscipit eros pede ac velit. + + 47.59 -4.1 + 51.22 0.89 + + + + urn:uuid:9a669547-b69b-469f-a11f-2d875366bbdc + Ñunç elementum + http://purl.org/dc/dcmitype/Dataset + Hydrography-Oceanographic + + 44.79 -6.17 + 51.13 -2.23 + + + + urn:uuid:a06af396-3105-442d-8b40-22b57a90d2f2 + Lorem ipsum dolor sit amet + http://purl.org/dc/dcmitype/Image + image/jpeg + + + diff --git a/tests/functionaltests/suites/cite/expected/post_73f1551c-e269-4ef9-9dae-e535b5eebfc7.xml b/tests/functionaltests/suites/cite/expected/post_73f1551c-e269-4ef9-9dae-e535b5eebfc7.xml new file mode 100644 index 000000000..4060ee230 --- /dev/null +++ b/tests/functionaltests/suites/cite/expected/post_73f1551c-e269-4ef9-9dae-e535b5eebfc7.xml @@ -0,0 +1,18 @@ + + + + + + + urn:uuid:9a669547-b69b-469f-a11f-2d875366bbdc + http://purl.org/dc/dcmitype/Dataset + Ñunç elementum + Hydrography-Oceanographic + 2005-10-24 + + 44.792 -6.171 + 51.126 -2.228 + + + + diff --git a/tests/functionaltests/suites/cite/expected/post_78297c88-4850-4927-adc6-511cd9a3d539.xml b/tests/functionaltests/suites/cite/expected/post_78297c88-4850-4927-adc6-511cd9a3d539.xml new file mode 100644 index 000000000..76101a6bb --- /dev/null +++ b/tests/functionaltests/suites/cite/expected/post_78297c88-4850-4927-adc6-511cd9a3d539.xml @@ -0,0 +1,115 @@ + + + + + + + + http://schemas.opengis.net/csw/2.0.2/record.xsd + + + This schema defines the basic record types that must be supported + by all CSW implementations. These correspond to full, summary, and + brief views based on DCMI metadata terms. + + CSW is an OGC Standard. + Copyright (c) 2004,2010 Open Geospatial Consortium, Inc. All Rights Reserved. + To obtain additional rights of use, visit http://www.opengeospatial.org/legal/ . + + + + + + + + + + + + + + + This type encapsulates all of the standard DCMI metadata terms, + including the Dublin Core refinements; these terms may be mapped + to the profile-specific information model. + + + + + + + + + + + + + + + + This type defines a brief representation of the common record + format. It extends AbstractRecordType to include only the + dc:identifier and dc:type properties. + + + + + + + + + + + + + + + + + + + This type defines a summary representation of the common record + format. It extends AbstractRecordType to include the core + properties. + + + + + + + + + + + + + + + + + + + + + + + + + This type extends DCMIRecordType to add ows:BoundingBox; + it may be used to specify a spatial envelope for the + catalogued resource. + + + + + + + + + + + + + + + diff --git a/tests/functionaltests/suites/cite/expected/post_7c89cdf5-0def-4cfb-8c55-2b8ffea5d92f.xml b/tests/functionaltests/suites/cite/expected/post_7c89cdf5-0def-4cfb-8c55-2b8ffea5d92f.xml new file mode 100644 index 000000000..4d9e1fd3d --- /dev/null +++ b/tests/functionaltests/suites/cite/expected/post_7c89cdf5-0def-4cfb-8c55-2b8ffea5d92f.xml @@ -0,0 +1,56 @@ + + + + + + + + urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f + urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f + + Lorem ipsum + PYCSW_TIMESTAMP + Quisque lacus diam, placerat mollis, pharetra in, commodo sed, augue. Duis iaculis arcu vel arcu. + + + urn:uuid:1ef30a8b-876d-4828-9246-c37ab4510bbd + urn:uuid:1ef30a8b-876d-4828-9246-c37ab4510bbd + + + PYCSW_TIMESTAMP + Proin sit amet justo. In justo. Aenean adipiscing nulla id tellus. + + + 60.04 13.75 + 68.41 17.92 + + + + + + urn:uuid:66ae76b7-54ba-489b-a582-0f0633d96493 + urn:uuid:66ae76b7-54ba-489b-a582-0f0633d96493 + + Maecenas enim + PYCSW_TIMESTAMP + Pellentesque tempus magna non sapien fringilla blandit. + + + + urn:uuid:6a3de50b-fa66-4b58-a0e6-ca146fdd18d4 + urn:uuid:6a3de50b-fa66-4b58-a0e6-ca146fdd18d4 + + Ut facilisis justo ut lacus + PYCSW_TIMESTAMP + + + + urn:uuid:784e2afd-a9fd-44a6-9a92-a3848371c8ec + urn:uuid:784e2afd-a9fd-44a6-9a92-a3848371c8ec + + Aliquam fermentum purus quis arcu + PYCSW_TIMESTAMP + Vestibulum quis ipsum sit amet metus imperdiet vehicula. Nulla scelerisque cursus mi. + + + diff --git a/tests/functionaltests/suites/cite/expected/post_7e2cd105-daec-4d25-bc8e-d49d21364912.xml b/tests/functionaltests/suites/cite/expected/post_7e2cd105-daec-4d25-bc8e-d49d21364912.xml new file mode 100644 index 000000000..5f82a7d41 --- /dev/null +++ b/tests/functionaltests/suites/cite/expected/post_7e2cd105-daec-4d25-bc8e-d49d21364912.xml @@ -0,0 +1,3 @@ + + + diff --git a/tests/functionaltests/suites/cite/expected/post_87f2f670-9cd6-4907-b82c-1b46a7dd2a78.xml b/tests/functionaltests/suites/cite/expected/post_87f2f670-9cd6-4907-b82c-1b46a7dd2a78.xml new file mode 100644 index 000000000..d81b5493e --- /dev/null +++ b/tests/functionaltests/suites/cite/expected/post_87f2f670-9cd6-4907-b82c-1b46a7dd2a78.xml @@ -0,0 +1,50 @@ + + + + + + + urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f + http://purl.org/dc/dcmitype/Image + + + urn:uuid:1ef30a8b-876d-4828-9246-c37ab4510bbd + http://purl.org/dc/dcmitype/Service + + + urn:uuid:66ae76b7-54ba-489b-a582-0f0633d96493 + http://purl.org/dc/dcmitype/Text + + + urn:uuid:6a3de50b-fa66-4b58-a0e6-ca146fdd18d4 + http://purl.org/dc/dcmitype/Service + + + urn:uuid:784e2afd-a9fd-44a6-9a92-a3848371c8ec + http://purl.org/dc/dcmitype/Text + 2006-05-12 + + + urn:uuid:829babb0-b2f1-49e1-8cd5-7b489fe71a1e + http://purl.org/dc/dcmitype/Image + + + urn:uuid:88247b56-4cbc-4df9-9860-db3f8042e357 + http://purl.org/dc/dcmitype/Dataset + + + urn:uuid:94bc9c83-97f6-4b40-9eb8-a8e8787a5c63 + http://purl.org/dc/dcmitype/Dataset + 2006-03-26 + + + urn:uuid:9a669547-b69b-469f-a11f-2d875366bbdc + http://purl.org/dc/dcmitype/Dataset + 2005-10-24 + + + urn:uuid:a06af396-3105-442d-8b40-22b57a90d2f2 + http://purl.org/dc/dcmitype/Image + + + diff --git a/tests/functionaltests/suites/cite/expected/post_88b4e1ba-3bd4-4cbe-81e5-e004056d6ca3.xml b/tests/functionaltests/suites/cite/expected/post_88b4e1ba-3bd4-4cbe-81e5-e004056d6ca3.xml new file mode 100644 index 000000000..ef7576e15 --- /dev/null +++ b/tests/functionaltests/suites/cite/expected/post_88b4e1ba-3bd4-4cbe-81e5-e004056d6ca3.xml @@ -0,0 +1,7 @@ + + + + + Invalid value for outputformat: text/sgml + + diff --git a/tests/functionaltests/suites/cite/expected/post_898cd63b-2585-4ec0-8720-d554bd324174.xml b/tests/functionaltests/suites/cite/expected/post_898cd63b-2585-4ec0-8720-d554bd324174.xml new file mode 100644 index 000000000..f77acfc5c --- /dev/null +++ b/tests/functionaltests/suites/cite/expected/post_898cd63b-2585-4ec0-8720-d554bd324174.xml @@ -0,0 +1,14 @@ + + + + + + + urn:uuid:829babb0-b2f1-49e1-8cd5-7b489fe71a1e + Vestibulum massa purus + http://purl.org/dc/dcmitype/Image + image/jp2 + urn:uuid:9a669547-b69b-469f-a11f-2d875366bbdc + + + diff --git a/tests/functionaltests/suites/cite/expected/post_8fb13dc3-5818-45e2-9e29-46abc16e7d38.xml b/tests/functionaltests/suites/cite/expected/post_8fb13dc3-5818-45e2-9e29-46abc16e7d38.xml new file mode 100644 index 000000000..9c08c604e --- /dev/null +++ b/tests/functionaltests/suites/cite/expected/post_8fb13dc3-5818-45e2-9e29-46abc16e7d38.xml @@ -0,0 +1,48 @@ + + + + + + + urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f + + + urn:uuid:66ae76b7-54ba-489b-a582-0f0633d96493 + + + urn:uuid:6a3de50b-fa66-4b58-a0e6-ca146fdd18d4 + + + urn:uuid:784e2afd-a9fd-44a6-9a92-a3848371c8ec + + + urn:uuid:829babb0-b2f1-49e1-8cd5-7b489fe71a1e + + + urn:uuid:88247b56-4cbc-4df9-9860-db3f8042e357 + + + urn:uuid:94bc9c83-97f6-4b40-9eb8-a8e8787a5c63 + + 47.59 -4.1 + 51.22 0.89 + + + + urn:uuid:9a669547-b69b-469f-a11f-2d875366bbdc + + 44.79 -6.17 + 51.13 -2.23 + + + + urn:uuid:a06af396-3105-442d-8b40-22b57a90d2f2 + + + urn:uuid:ab42a8c4-95e8-4630-bf79-33e59241605a + + + urn:uuid:e9330592-0932-474b-be34-c3a3bb67c7db + + + diff --git a/tests/functionaltests/suites/cite/expected/post_928c1896-52d4-4ac7-9832-f98e3eb65f02.xml b/tests/functionaltests/suites/cite/expected/post_928c1896-52d4-4ac7-9832-f98e3eb65f02.xml new file mode 100644 index 000000000..baf37aaf2 --- /dev/null +++ b/tests/functionaltests/suites/cite/expected/post_928c1896-52d4-4ac7-9832-f98e3eb65f02.xml @@ -0,0 +1,17 @@ + + + + + + + urn:uuid:e9330592-0932-474b-be34-c3a3bb67c7db + http://purl.org/dc/dcmitype/Text + 2003-05-09 + + + urn:uuid:9a669547-b69b-469f-a11f-2d875366bbdc + http://purl.org/dc/dcmitype/Dataset + 2005-10-24 + + + diff --git a/tests/functionaltests/suites/cite/expected/post_93bdbb9d-2734-4f01-92fb-48634cca41de.xml b/tests/functionaltests/suites/cite/expected/post_93bdbb9d-2734-4f01-92fb-48634cca41de.xml new file mode 100644 index 000000000..9a5d49e55 --- /dev/null +++ b/tests/functionaltests/suites/cite/expected/post_93bdbb9d-2734-4f01-92fb-48634cca41de.xml @@ -0,0 +1,21 @@ + + + + + + + urn:uuid:94bc9c83-97f6-4b40-9eb8-a8e8787a5c63 + + 47.59 -4.1 + 51.22 0.89 + + + + urn:uuid:9a669547-b69b-469f-a11f-2d875366bbdc + + 44.79 -6.17 + 51.13 -2.23 + + + + diff --git a/tests/functionaltests/suites/cite/expected/post_948b39d5-bb4f-45b8-a8f2-4ff9501aaedd.xml b/tests/functionaltests/suites/cite/expected/post_948b39d5-bb4f-45b8-a8f2-4ff9501aaedd.xml new file mode 100644 index 000000000..b214975bc --- /dev/null +++ b/tests/functionaltests/suites/cite/expected/post_948b39d5-bb4f-45b8-a8f2-4ff9501aaedd.xml @@ -0,0 +1,51 @@ + + + + + + + urn:uuid:784e2afd-a9fd-44a6-9a92-a3848371c8ec + http://purl.org/dc/dcmitype/Text + 2006-05-12 + + + urn:uuid:94bc9c83-97f6-4b40-9eb8-a8e8787a5c63 + http://purl.org/dc/dcmitype/Dataset + 2006-03-26 + + + urn:uuid:9a669547-b69b-469f-a11f-2d875366bbdc + http://purl.org/dc/dcmitype/Dataset + 2005-10-24 + + + urn:uuid:e9330592-0932-474b-be34-c3a3bb67c7db + http://purl.org/dc/dcmitype/Text + 2003-05-09 + + + urn:uuid:ab42a8c4-95e8-4630-bf79-33e59241605a + http://purl.org/dc/dcmitype/Service + + + urn:uuid:a06af396-3105-442d-8b40-22b57a90d2f2 + http://purl.org/dc/dcmitype/Image + + + urn:uuid:88247b56-4cbc-4df9-9860-db3f8042e357 + http://purl.org/dc/dcmitype/Dataset + + + urn:uuid:829babb0-b2f1-49e1-8cd5-7b489fe71a1e + http://purl.org/dc/dcmitype/Image + + + urn:uuid:6a3de50b-fa66-4b58-a0e6-ca146fdd18d4 + http://purl.org/dc/dcmitype/Service + + + urn:uuid:66ae76b7-54ba-489b-a582-0f0633d96493 + http://purl.org/dc/dcmitype/Text + + + diff --git a/tests/functionaltests/suites/cite/expected/post_9fd64fcc-f69c-4626-b72e-5c7776a29aa9.xml b/tests/functionaltests/suites/cite/expected/post_9fd64fcc-f69c-4626-b72e-5c7776a29aa9.xml new file mode 100644 index 000000000..214379d29 --- /dev/null +++ b/tests/functionaltests/suites/cite/expected/post_9fd64fcc-f69c-4626-b72e-5c7776a29aa9.xml @@ -0,0 +1,7 @@ + + + + + Typename not qualified: Record + + diff --git a/tests/functionaltests/suites/cite/expected/post_a06d04ab-e0d0-4a86-bfe8-71460f41fe37.xml b/tests/functionaltests/suites/cite/expected/post_a06d04ab-e0d0-4a86-bfe8-71460f41fe37.xml new file mode 100644 index 000000000..fb722adad --- /dev/null +++ b/tests/functionaltests/suites/cite/expected/post_a06d04ab-e0d0-4a86-bfe8-71460f41fe37.xml @@ -0,0 +1,69 @@ + + + + + + + urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f + Lorem ipsum + http://purl.org/dc/dcmitype/Image + + + urn:uuid:1ef30a8b-876d-4828-9246-c37ab4510bbd + + http://purl.org/dc/dcmitype/Service + + 60.04 13.75 + 68.41 17.92 + + + + urn:uuid:66ae76b7-54ba-489b-a582-0f0633d96493 + Maecenas enim + http://purl.org/dc/dcmitype/Text + + + urn:uuid:6a3de50b-fa66-4b58-a0e6-ca146fdd18d4 + Ut facilisis justo ut lacus + http://purl.org/dc/dcmitype/Service + + + urn:uuid:784e2afd-a9fd-44a6-9a92-a3848371c8ec + Aliquam fermentum purus quis arcu + http://purl.org/dc/dcmitype/Text + + + urn:uuid:829babb0-b2f1-49e1-8cd5-7b489fe71a1e + Vestibulum massa purus + http://purl.org/dc/dcmitype/Image + + + urn:uuid:88247b56-4cbc-4df9-9860-db3f8042e357 + + http://purl.org/dc/dcmitype/Dataset + + + urn:uuid:94bc9c83-97f6-4b40-9eb8-a8e8787a5c63 + Mauris sed neque + http://purl.org/dc/dcmitype/Dataset + + 47.59 -4.1 + 51.22 0.89 + + + + urn:uuid:9a669547-b69b-469f-a11f-2d875366bbdc + Ñunç elementum + http://purl.org/dc/dcmitype/Dataset + + 44.79 -6.17 + 51.13 -2.23 + + + + urn:uuid:a06af396-3105-442d-8b40-22b57a90d2f2 + Lorem ipsum dolor sit amet + http://purl.org/dc/dcmitype/Image + + + diff --git a/tests/functionaltests/suites/cite/expected/post_ad61686c-d304-42d1-b845-8c1f3070c83e.xml b/tests/functionaltests/suites/cite/expected/post_ad61686c-d304-42d1-b845-8c1f3070c83e.xml new file mode 100644 index 000000000..71d14fa61 --- /dev/null +++ b/tests/functionaltests/suites/cite/expected/post_ad61686c-d304-42d1-b845-8c1f3070c83e.xml @@ -0,0 +1,8 @@ + + + + + Exception: the document is not valid. +Error: Element '{http://www.opengis.net/foo}Filter': This element is not expected. Expected is one of ( {http://www.opengis.net/ogc}Filter, {http://www.opengis.net/cat/csw/2.0.2}CqlText ). + + diff --git a/tests/functionaltests/suites/cite/expected/post_af39c020-7b1d-429c-b474-f45c3164cb79.xml b/tests/functionaltests/suites/cite/expected/post_af39c020-7b1d-429c-b474-f45c3164cb79.xml new file mode 100644 index 000000000..960d5f57d --- /dev/null +++ b/tests/functionaltests/suites/cite/expected/post_af39c020-7b1d-429c-b474-f45c3164cb79.xml @@ -0,0 +1,21 @@ + + + + + + + urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f + Lorem ipsum + http://purl.org/dc/dcmitype/Image + Tourism--Greece + image/svg+xml + Quisque lacus diam, placerat mollis, pharetra in, commodo sed, augue. Duis iaculis arcu vel arcu. + + + urn:uuid:a06af396-3105-442d-8b40-22b57a90d2f2 + Lorem ipsum dolor sit amet + http://purl.org/dc/dcmitype/Image + image/jpeg + + + diff --git a/tests/functionaltests/suites/cite/expected/post_b90e2de6-3d25-4298-a13e-dc9492a8fc73.xml b/tests/functionaltests/suites/cite/expected/post_b90e2de6-3d25-4298-a13e-dc9492a8fc73.xml new file mode 100644 index 000000000..0c5581f88 --- /dev/null +++ b/tests/functionaltests/suites/cite/expected/post_b90e2de6-3d25-4298-a13e-dc9492a8fc73.xml @@ -0,0 +1,91 @@ + + + + + + + urn:uuid:1ef30a8b-876d-4828-9246-c37ab4510bbd + + http://purl.org/dc/dcmitype/Service + Proin sit amet justo. In justo. Aenean adipiscing nulla id tellus. + + 60.04 13.75 + 68.41 17.92 + + + + urn:uuid:66ae76b7-54ba-489b-a582-0f0633d96493 + Maecenas enim + http://purl.org/dc/dcmitype/Text + Marine sediments + application/xhtml+xml + Pellentesque tempus magna non sapien fringilla blandit. + + + urn:uuid:6a3de50b-fa66-4b58-a0e6-ca146fdd18d4 + Ut facilisis justo ut lacus + http://purl.org/dc/dcmitype/Service + Vegetation + urn:uuid:94bc9c83-97f6-4b40-9eb8-a8e8787a5c63 + + + urn:uuid:784e2afd-a9fd-44a6-9a92-a3848371c8ec + Aliquam fermentum purus quis arcu + http://purl.org/dc/dcmitype/Text + Hydrography--Dictionaries + application/pdf + Vestibulum quis ipsum sit amet metus imperdiet vehicula. Nulla scelerisque cursus mi. + + + urn:uuid:829babb0-b2f1-49e1-8cd5-7b489fe71a1e + Vestibulum massa purus + http://purl.org/dc/dcmitype/Image + image/jp2 + urn:uuid:9a669547-b69b-469f-a11f-2d875366bbdc + + + urn:uuid:88247b56-4cbc-4df9-9860-db3f8042e357 + + http://purl.org/dc/dcmitype/Dataset + Physiography-Landforms + Donec scelerisque pede ut nisl luctus accumsan. Quisque ultrices, lorem eget feugiat fringilla, lorem dui porttitor ante, cursus ultrices magna odio eu neque. + + + urn:uuid:94bc9c83-97f6-4b40-9eb8-a8e8787a5c63 + Mauris sed neque + http://purl.org/dc/dcmitype/Dataset + Vegetation-Cropland + Curabitur lacinia, ante non porta tempus, mi lorem feugiat odio, eget suscipit eros pede ac velit. + + 47.59 -4.1 + 51.22 0.89 + + + + urn:uuid:9a669547-b69b-469f-a11f-2d875366bbdc + Ñunç elementum + http://purl.org/dc/dcmitype/Dataset + Hydrography-Oceanographic + + 44.79 -6.17 + 51.13 -2.23 + + + + urn:uuid:ab42a8c4-95e8-4630-bf79-33e59241605a + + http://purl.org/dc/dcmitype/Service + Physiography + urn:uuid:88247b56-4cbc-4df9-9860-db3f8042e357 + Suspendisse accumsan molestie lorem. Nullam velit turpis, mattis ut, varius bibendum, laoreet non, quam. + + + urn:uuid:e9330592-0932-474b-be34-c3a3bb67c7db + Fuscé vitae ligulä + http://purl.org/dc/dcmitype/Text + Land titles + text/rtf + Morbi ultriçes, dui suscipit vestibulum prètium, velit ante pretium tortor, egët tincidunt pede odio ac nulla. + + + diff --git a/tests/functionaltests/suites/cite/expected/post_ba9b0107-dcee-46ef-823a-a2e25a911a96.xml b/tests/functionaltests/suites/cite/expected/post_ba9b0107-dcee-46ef-823a-a2e25a911a96.xml new file mode 100644 index 000000000..98e2c78c5 --- /dev/null +++ b/tests/functionaltests/suites/cite/expected/post_ba9b0107-dcee-46ef-823a-a2e25a911a96.xml @@ -0,0 +1,36 @@ + + + + + + + urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f + Lorem ipsum + http://purl.org/dc/dcmitype/Image + Tourism--Greece + image/svg+xml + Quisque lacus diam, placerat mollis, pharetra in, commodo sed, augue. Duis iaculis arcu vel arcu. + + + urn:uuid:66ae76b7-54ba-489b-a582-0f0633d96493 + Maecenas enim + http://purl.org/dc/dcmitype/Text + Marine sediments + application/xhtml+xml + Pellentesque tempus magna non sapien fringilla blandit. + + + urn:uuid:829babb0-b2f1-49e1-8cd5-7b489fe71a1e + Vestibulum massa purus + http://purl.org/dc/dcmitype/Image + image/jp2 + urn:uuid:9a669547-b69b-469f-a11f-2d875366bbdc + + + urn:uuid:a06af396-3105-442d-8b40-22b57a90d2f2 + Lorem ipsum dolor sit amet + http://purl.org/dc/dcmitype/Image + image/jpeg + + + diff --git a/tests/functionaltests/suites/cite/expected/post_bb66ebc5-7121-48b5-9f53-b56537d9561b.xml b/tests/functionaltests/suites/cite/expected/post_bb66ebc5-7121-48b5-9f53-b56537d9561b.xml new file mode 100644 index 000000000..0a392cbdd --- /dev/null +++ b/tests/functionaltests/suites/cite/expected/post_bb66ebc5-7121-48b5-9f53-b56537d9561b.xml @@ -0,0 +1,19 @@ + + + + + + + urn:uuid:88247b56-4cbc-4df9-9860-db3f8042e357 + http://purl.org/dc/dcmitype/Dataset + + + urn:uuid:94bc9c83-97f6-4b40-9eb8-a8e8787a5c63 + http://purl.org/dc/dcmitype/Dataset + + 47.59 -4.1 + 51.22 0.89 + + + + diff --git a/tests/functionaltests/suites/cite/expected/post_c02d1c85-df9f-45ee-bea7-345c35e02a98.xml b/tests/functionaltests/suites/cite/expected/post_c02d1c85-df9f-45ee-bea7-345c35e02a98.xml new file mode 100644 index 000000000..26bfbf2b7 --- /dev/null +++ b/tests/functionaltests/suites/cite/expected/post_c02d1c85-df9f-45ee-bea7-345c35e02a98.xml @@ -0,0 +1,7 @@ + + + + + Invalid Constraint: Invalid Filter request: 'NoneType' object has no attribute 'text' + + diff --git a/tests/functionaltests/suites/cite/expected/post_c311a342-72e3-4983-be39-868e6ed9740f.xml b/tests/functionaltests/suites/cite/expected/post_c311a342-72e3-4983-be39-868e6ed9740f.xml new file mode 100644 index 000000000..76101a6bb --- /dev/null +++ b/tests/functionaltests/suites/cite/expected/post_c311a342-72e3-4983-be39-868e6ed9740f.xml @@ -0,0 +1,115 @@ + + + + + + + + http://schemas.opengis.net/csw/2.0.2/record.xsd + + + This schema defines the basic record types that must be supported + by all CSW implementations. These correspond to full, summary, and + brief views based on DCMI metadata terms. + + CSW is an OGC Standard. + Copyright (c) 2004,2010 Open Geospatial Consortium, Inc. All Rights Reserved. + To obtain additional rights of use, visit http://www.opengeospatial.org/legal/ . + + + + + + + + + + + + + + + This type encapsulates all of the standard DCMI metadata terms, + including the Dublin Core refinements; these terms may be mapped + to the profile-specific information model. + + + + + + + + + + + + + + + + This type defines a brief representation of the common record + format. It extends AbstractRecordType to include only the + dc:identifier and dc:type properties. + + + + + + + + + + + + + + + + + + + This type defines a summary representation of the common record + format. It extends AbstractRecordType to include the core + properties. + + + + + + + + + + + + + + + + + + + + + + + + + This type extends DCMIRecordType to add ows:BoundingBox; + it may be used to specify a spatial envelope for the + catalogued resource. + + + + + + + + + + + + + + + diff --git a/tests/functionaltests/suites/cite/expected/post_c38916c2-4bc6-446d-b7aa-ab006d6ba31c.xml b/tests/functionaltests/suites/cite/expected/post_c38916c2-4bc6-446d-b7aa-ab006d6ba31c.xml new file mode 100644 index 000000000..d9c18a038 --- /dev/null +++ b/tests/functionaltests/suites/cite/expected/post_c38916c2-4bc6-446d-b7aa-ab006d6ba31c.xml @@ -0,0 +1,27 @@ + + + + + + + urn:uuid:784e2afd-a9fd-44a6-9a92-a3848371c8ec + 2006-05-12 + + + urn:uuid:94bc9c83-97f6-4b40-9eb8-a8e8787a5c63 + 2006-03-26 + + 47.59 -4.1 + 51.22 0.89 + + + + urn:uuid:9a669547-b69b-469f-a11f-2d875366bbdc + 2005-10-24 + + 44.79 -6.17 + 51.13 -2.23 + + + + diff --git a/tests/functionaltests/suites/cite/expected/post_c8588f47-8e65-45f5-ad34-ff4524cad84d.xml b/tests/functionaltests/suites/cite/expected/post_c8588f47-8e65-45f5-ad34-ff4524cad84d.xml new file mode 100644 index 000000000..12342af16 --- /dev/null +++ b/tests/functionaltests/suites/cite/expected/post_c8588f47-8e65-45f5-ad34-ff4524cad84d.xml @@ -0,0 +1,7 @@ + + + + + Invalid Constraint: Invalid Filter request: Invalid ogc:PropertyName in spatial filter: dct:spatial + + diff --git a/tests/functionaltests/suites/cite/expected/post_da228d4c-e1be-43d7-9ccb-c3f27ee32541.xml b/tests/functionaltests/suites/cite/expected/post_da228d4c-e1be-43d7-9ccb-c3f27ee32541.xml new file mode 100644 index 000000000..2b0eebed4 --- /dev/null +++ b/tests/functionaltests/suites/cite/expected/post_da228d4c-e1be-43d7-9ccb-c3f27ee32541.xml @@ -0,0 +1,7 @@ + + + + + Invalid Constraint: Invalid Filter request: Invalid PropertyName: /dc:title. '/dc:title' + + diff --git a/tests/functionaltests/suites/cite/expected/post_dc92c2c4-87d8-4a13-964e-ff9b0e0c27b3.xml b/tests/functionaltests/suites/cite/expected/post_dc92c2c4-87d8-4a13-964e-ff9b0e0c27b3.xml new file mode 100644 index 000000000..371b26a4c --- /dev/null +++ b/tests/functionaltests/suites/cite/expected/post_dc92c2c4-87d8-4a13-964e-ff9b0e0c27b3.xml @@ -0,0 +1,22 @@ + + + + + + + urn:uuid:e9330592-0932-474b-be34-c3a3bb67c7db + http://purl.org/dc/dcmitype/Text + 2003-05-09 + + + urn:uuid:9a669547-b69b-469f-a11f-2d875366bbdc + http://purl.org/dc/dcmitype/Dataset + 2005-10-24 + + + urn:uuid:94bc9c83-97f6-4b40-9eb8-a8e8787a5c63 + http://purl.org/dc/dcmitype/Dataset + 2006-03-26 + + + diff --git a/tests/functionaltests/suites/cite/expected/post_dcb13791-379e-4739-bcd4-dbaa69f0efdb.xml b/tests/functionaltests/suites/cite/expected/post_dcb13791-379e-4739-bcd4-dbaa69f0efdb.xml new file mode 100644 index 000000000..fb722adad --- /dev/null +++ b/tests/functionaltests/suites/cite/expected/post_dcb13791-379e-4739-bcd4-dbaa69f0efdb.xml @@ -0,0 +1,69 @@ + + + + + + + urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f + Lorem ipsum + http://purl.org/dc/dcmitype/Image + + + urn:uuid:1ef30a8b-876d-4828-9246-c37ab4510bbd + + http://purl.org/dc/dcmitype/Service + + 60.04 13.75 + 68.41 17.92 + + + + urn:uuid:66ae76b7-54ba-489b-a582-0f0633d96493 + Maecenas enim + http://purl.org/dc/dcmitype/Text + + + urn:uuid:6a3de50b-fa66-4b58-a0e6-ca146fdd18d4 + Ut facilisis justo ut lacus + http://purl.org/dc/dcmitype/Service + + + urn:uuid:784e2afd-a9fd-44a6-9a92-a3848371c8ec + Aliquam fermentum purus quis arcu + http://purl.org/dc/dcmitype/Text + + + urn:uuid:829babb0-b2f1-49e1-8cd5-7b489fe71a1e + Vestibulum massa purus + http://purl.org/dc/dcmitype/Image + + + urn:uuid:88247b56-4cbc-4df9-9860-db3f8042e357 + + http://purl.org/dc/dcmitype/Dataset + + + urn:uuid:94bc9c83-97f6-4b40-9eb8-a8e8787a5c63 + Mauris sed neque + http://purl.org/dc/dcmitype/Dataset + + 47.59 -4.1 + 51.22 0.89 + + + + urn:uuid:9a669547-b69b-469f-a11f-2d875366bbdc + Ñunç elementum + http://purl.org/dc/dcmitype/Dataset + + 44.79 -6.17 + 51.13 -2.23 + + + + urn:uuid:a06af396-3105-442d-8b40-22b57a90d2f2 + Lorem ipsum dolor sit amet + http://purl.org/dc/dcmitype/Image + + + diff --git a/tests/functionaltests/suites/cite/expected/post_e308f030-c097-4036-a838-44bad74c9ef7.xml b/tests/functionaltests/suites/cite/expected/post_e308f030-c097-4036-a838-44bad74c9ef7.xml new file mode 100644 index 000000000..fb722adad --- /dev/null +++ b/tests/functionaltests/suites/cite/expected/post_e308f030-c097-4036-a838-44bad74c9ef7.xml @@ -0,0 +1,69 @@ + + + + + + + urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f + Lorem ipsum + http://purl.org/dc/dcmitype/Image + + + urn:uuid:1ef30a8b-876d-4828-9246-c37ab4510bbd + + http://purl.org/dc/dcmitype/Service + + 60.04 13.75 + 68.41 17.92 + + + + urn:uuid:66ae76b7-54ba-489b-a582-0f0633d96493 + Maecenas enim + http://purl.org/dc/dcmitype/Text + + + urn:uuid:6a3de50b-fa66-4b58-a0e6-ca146fdd18d4 + Ut facilisis justo ut lacus + http://purl.org/dc/dcmitype/Service + + + urn:uuid:784e2afd-a9fd-44a6-9a92-a3848371c8ec + Aliquam fermentum purus quis arcu + http://purl.org/dc/dcmitype/Text + + + urn:uuid:829babb0-b2f1-49e1-8cd5-7b489fe71a1e + Vestibulum massa purus + http://purl.org/dc/dcmitype/Image + + + urn:uuid:88247b56-4cbc-4df9-9860-db3f8042e357 + + http://purl.org/dc/dcmitype/Dataset + + + urn:uuid:94bc9c83-97f6-4b40-9eb8-a8e8787a5c63 + Mauris sed neque + http://purl.org/dc/dcmitype/Dataset + + 47.59 -4.1 + 51.22 0.89 + + + + urn:uuid:9a669547-b69b-469f-a11f-2d875366bbdc + Ñunç elementum + http://purl.org/dc/dcmitype/Dataset + + 44.79 -6.17 + 51.13 -2.23 + + + + urn:uuid:a06af396-3105-442d-8b40-22b57a90d2f2 + Lorem ipsum dolor sit amet + http://purl.org/dc/dcmitype/Image + + + diff --git a/tests/functionaltests/suites/cite/expected/post_e6e9efb2-e2b7-4b0a-a3a2-7deea3f9b8e2.xml b/tests/functionaltests/suites/cite/expected/post_e6e9efb2-e2b7-4b0a-a3a2-7deea3f9b8e2.xml new file mode 100644 index 000000000..fb722adad --- /dev/null +++ b/tests/functionaltests/suites/cite/expected/post_e6e9efb2-e2b7-4b0a-a3a2-7deea3f9b8e2.xml @@ -0,0 +1,69 @@ + + + + + + + urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f + Lorem ipsum + http://purl.org/dc/dcmitype/Image + + + urn:uuid:1ef30a8b-876d-4828-9246-c37ab4510bbd + + http://purl.org/dc/dcmitype/Service + + 60.04 13.75 + 68.41 17.92 + + + + urn:uuid:66ae76b7-54ba-489b-a582-0f0633d96493 + Maecenas enim + http://purl.org/dc/dcmitype/Text + + + urn:uuid:6a3de50b-fa66-4b58-a0e6-ca146fdd18d4 + Ut facilisis justo ut lacus + http://purl.org/dc/dcmitype/Service + + + urn:uuid:784e2afd-a9fd-44a6-9a92-a3848371c8ec + Aliquam fermentum purus quis arcu + http://purl.org/dc/dcmitype/Text + + + urn:uuid:829babb0-b2f1-49e1-8cd5-7b489fe71a1e + Vestibulum massa purus + http://purl.org/dc/dcmitype/Image + + + urn:uuid:88247b56-4cbc-4df9-9860-db3f8042e357 + + http://purl.org/dc/dcmitype/Dataset + + + urn:uuid:94bc9c83-97f6-4b40-9eb8-a8e8787a5c63 + Mauris sed neque + http://purl.org/dc/dcmitype/Dataset + + 47.59 -4.1 + 51.22 0.89 + + + + urn:uuid:9a669547-b69b-469f-a11f-2d875366bbdc + Ñunç elementum + http://purl.org/dc/dcmitype/Dataset + + 44.79 -6.17 + 51.13 -2.23 + + + + urn:uuid:a06af396-3105-442d-8b40-22b57a90d2f2 + Lorem ipsum dolor sit amet + http://purl.org/dc/dcmitype/Image + + + diff --git a/tests/functionaltests/suites/cite/expected/post_f7976c55-a156-4421-8199-bc0487da4b0f.xml b/tests/functionaltests/suites/cite/expected/post_f7976c55-a156-4421-8199-bc0487da4b0f.xml new file mode 100644 index 000000000..76101a6bb --- /dev/null +++ b/tests/functionaltests/suites/cite/expected/post_f7976c55-a156-4421-8199-bc0487da4b0f.xml @@ -0,0 +1,115 @@ + + + + + + + + http://schemas.opengis.net/csw/2.0.2/record.xsd + + + This schema defines the basic record types that must be supported + by all CSW implementations. These correspond to full, summary, and + brief views based on DCMI metadata terms. + + CSW is an OGC Standard. + Copyright (c) 2004,2010 Open Geospatial Consortium, Inc. All Rights Reserved. + To obtain additional rights of use, visit http://www.opengeospatial.org/legal/ . + + + + + + + + + + + + + + + This type encapsulates all of the standard DCMI metadata terms, + including the Dublin Core refinements; these terms may be mapped + to the profile-specific information model. + + + + + + + + + + + + + + + + This type defines a brief representation of the common record + format. It extends AbstractRecordType to include only the + dc:identifier and dc:type properties. + + + + + + + + + + + + + + + + + + + This type defines a summary representation of the common record + format. It extends AbstractRecordType to include the core + properties. + + + + + + + + + + + + + + + + + + + + + + + + + This type extends DCMIRecordType to add ows:BoundingBox; + it may be used to specify a spatial envelope for the + catalogued resource. + + + + + + + + + + + + + + + diff --git a/tests/functionaltests/suites/cite/expected/post_f7d79701-f10b-4087-a33c-f62df0a04fd1.xml b/tests/functionaltests/suites/cite/expected/post_f7d79701-f10b-4087-a33c-f62df0a04fd1.xml new file mode 100644 index 000000000..fb722adad --- /dev/null +++ b/tests/functionaltests/suites/cite/expected/post_f7d79701-f10b-4087-a33c-f62df0a04fd1.xml @@ -0,0 +1,69 @@ + + + + + + + urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f + Lorem ipsum + http://purl.org/dc/dcmitype/Image + + + urn:uuid:1ef30a8b-876d-4828-9246-c37ab4510bbd + + http://purl.org/dc/dcmitype/Service + + 60.04 13.75 + 68.41 17.92 + + + + urn:uuid:66ae76b7-54ba-489b-a582-0f0633d96493 + Maecenas enim + http://purl.org/dc/dcmitype/Text + + + urn:uuid:6a3de50b-fa66-4b58-a0e6-ca146fdd18d4 + Ut facilisis justo ut lacus + http://purl.org/dc/dcmitype/Service + + + urn:uuid:784e2afd-a9fd-44a6-9a92-a3848371c8ec + Aliquam fermentum purus quis arcu + http://purl.org/dc/dcmitype/Text + + + urn:uuid:829babb0-b2f1-49e1-8cd5-7b489fe71a1e + Vestibulum massa purus + http://purl.org/dc/dcmitype/Image + + + urn:uuid:88247b56-4cbc-4df9-9860-db3f8042e357 + + http://purl.org/dc/dcmitype/Dataset + + + urn:uuid:94bc9c83-97f6-4b40-9eb8-a8e8787a5c63 + Mauris sed neque + http://purl.org/dc/dcmitype/Dataset + + 47.59 -4.1 + 51.22 0.89 + + + + urn:uuid:9a669547-b69b-469f-a11f-2d875366bbdc + Ñunç elementum + http://purl.org/dc/dcmitype/Dataset + + 44.79 -6.17 + 51.13 -2.23 + + + + urn:uuid:a06af396-3105-442d-8b40-22b57a90d2f2 + Lorem ipsum dolor sit amet + http://purl.org/dc/dcmitype/Image + + + diff --git a/tests/functionaltests/suites/cite/expected/post_fc1bc094-88f1-4851-bc2b-dfc56be9f3c7.xml b/tests/functionaltests/suites/cite/expected/post_fc1bc094-88f1-4851-bc2b-dfc56be9f3c7.xml new file mode 100644 index 000000000..b3eb8b2c7 --- /dev/null +++ b/tests/functionaltests/suites/cite/expected/post_fc1bc094-88f1-4851-bc2b-dfc56be9f3c7.xml @@ -0,0 +1,12 @@ + + + + + + + urn:uuid:e9330592-0932-474b-be34-c3a3bb67c7db + Fuscé vitae ligulä + http://purl.org/dc/dcmitype/Text + + + diff --git a/tests/functionaltests/suites/cite/expected/post_fe20960f-a26c-4f13-852d-470a0d3233f9.xml b/tests/functionaltests/suites/cite/expected/post_fe20960f-a26c-4f13-852d-470a0d3233f9.xml new file mode 100644 index 000000000..5c7ef391f --- /dev/null +++ b/tests/functionaltests/suites/cite/expected/post_fe20960f-a26c-4f13-852d-470a0d3233f9.xml @@ -0,0 +1,12 @@ + + + + + + + urn:uuid:ab42a8c4-95e8-4630-bf79-33e59241605a + + http://purl.org/dc/dcmitype/Service + + + diff --git a/tests/functionaltests/suites/cite/get/requests.txt b/tests/functionaltests/suites/cite/get/requests.txt new file mode 100644 index 000000000..271982886 --- /dev/null +++ b/tests/functionaltests/suites/cite/get/requests.txt @@ -0,0 +1,22 @@ +27e17158-c57a-4493-92ac-dba8934cf462,service=CSW&version=2.0.2&request=GetCapabilities +27f69b66-5f05-4311-a89c-73ca55c2686b,Service=CSW&Version=2.0.2&Request=GetRecordById&ElementSetName=brief&ID=urn%3Auuid%3A19887a8a-f6b0-4a63-ae56-7fba0e17801f +2ab7d1fa-885b-459f-80e4-b6282eab4f8c,service=CSW&request=GetCapabilities&acceptversions=2.0.2&date=2006-10-20 +37aa90e2-6ff0-420c-af15-8b9463099a73,service=CSW&version=2.0.2&request=GetRecordById&id=urn%3Auuid%3A9a669547-b69b-469f-a11f-2d875366bbdc +3a8a3c47-455f-4f49-9078-03119f3e70b3,service=CSW&request=GetCapabilities&acceptformats=message/example +4515831f-834a-4699-95f6-ab0c2cbfcfd0,service=CSW&version=2.0.2&request=GetRecordById +477b23a3-baa9-47c8-9541-5fe27735ed49,service=CSW&request=GetCapabilities§ions= +48f26761-3a9d-48db-bee1-da089f5fb857,sErViCe=CSW&REQUEST=GetCapabilities&version=2.0.2 +4e38092f-1586-44b8-988e-0acfa5855916,Service=CSW&Version=2.0.2&Request=GetRecordById&OutputFormat=application/bogus_xml&id=urn:uuid:a06af396-3105-442d-8b40-22b57a90d2f2,urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f,urn:uuid:ab42a8c4-95e8-4630-bf79-33e59241605a +55c38f00-2553-42c1-99ab-33edbb561ad7,service=CSW&request=GetCapabilities§ions=OperationsMetadata,ServiceIdentification +5ab5db18-c87a-4fbf-a8d8-b7289b09ac81,service=FOO&request=GetCapabilities +6a4f57ca-a1bd-4802-89c2-44860dbdb0f0,service=CSW&version=2.0.2&request=GetRecordById&id=urn:uuid:ce8627a0-685c-11db-bd13-0800200c9a66,urn:uuid:6a3de50b-fa66-4b58-a0e6-ca146fdd18d4 +6c375703-9c00-4aef-bec7-d2e964f849eb,Service=CSW&Version=2.0.2&Request=GetRecordById&OutputSchema=http://www.w3.org/2005/Atom&Id=urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f +80f31def-4185-48b9-983a-960566918eae,service=CSW&request=GetCapabilities +8e2232ed-05d9-44ae-8b04-0911cbe6a507,SERVICE=CSW&REQUEST=GetCapabilities&ACCEPTVERSIONS=2006.10.29 +9697f0aa-3b6a-4125-83a5-61e8826127c4,service=CSW&request=GetCapabilities +9bfd17fa-15dc-4a10-8fa7-b3cff7013dd7,Service=CSW&Version=2.0.2&Request=GetRecordById&ElementSetName=full&ID=urn%3Auuid%3Ae9330592-0932-474b-be34-c3a3bb67c7db +b81c3595-06d6-4693-82ea-1ff8650755ac,service=CSW&version=2.0.2&request=GetRecordById&id=urn:uuid:ce8627a0-685c-11db-bd13-0800200c9a66 +ba5fc729-3b71-47a0-b7d0-42ec565cd185,SERVICE=CSW&REQUEST=GetCapabilities&ACCEPTVERSIONS=2.0.2,2.0.0 +c4ea754f-c158-4d8d-8253-dc8f86021b52,request=GetCapabilities +f4692ec5-9547-4a05-88ab-e6154af2640a,service=CSW&version=2.0.2&request=GetCapabilities +f997f25e-c865-4d53-a362-0ed1846337f2,service=CSW&version=2.0.2&request=GetRecordById&id=urn:uuid:94bc9c83-97f6-4b40-9eb8-a8e8787a5c63 diff --git a/tests/functionaltests/suites/cite/post/0c976d98-c896-4b10-b1fe-a22ef50434e7.xml b/tests/functionaltests/suites/cite/post/0c976d98-c896-4b10-b1fe-a22ef50434e7.xml new file mode 100644 index 000000000..c73f51141 --- /dev/null +++ b/tests/functionaltests/suites/cite/post/0c976d98-c896-4b10-b1fe-a22ef50434e7.xml @@ -0,0 +1,20 @@ + + + + dc:identifier + ows:BoundingBox + + + + + ows:BoundingBox + + 60.0 12.0 + 70.0 20.0 + + + + + + + diff --git a/tests/functionaltests/suites/cite/post/19d2a6ed-be28-4866-ae15-e3bb634486cb.xml b/tests/functionaltests/suites/cite/post/19d2a6ed-be28-4866-ae15-e3bb634486cb.xml new file mode 100644 index 000000000..6823bcfce --- /dev/null +++ b/tests/functionaltests/suites/cite/post/19d2a6ed-be28-4866-ae15-e3bb634486cb.xml @@ -0,0 +1,20 @@ + + + + brief + + + + dc:title + Fuscé vitae ligulä + + + + + + dc:format + DESC + + + + diff --git a/tests/functionaltests/suites/cite/post/1ab55aa3-6685-4595-8ecd-45987a7b8b59.xml b/tests/functionaltests/suites/cite/post/1ab55aa3-6685-4595-8ecd-45987a7b8b59.xml new file mode 100644 index 000000000..cd46b042d --- /dev/null +++ b/tests/functionaltests/suites/cite/post/1ab55aa3-6685-4595-8ecd-45987a7b8b59.xml @@ -0,0 +1,14 @@ + + + + full + + + + csw:AnyText + *lorem* + + + + + diff --git a/tests/functionaltests/suites/cite/post/1c958b7a-ca09-4c38-98bd-ef1d1d28cc14.xml b/tests/functionaltests/suites/cite/post/1c958b7a-ca09-4c38-98bd-ef1d1d28cc14.xml new file mode 100644 index 000000000..dabb279ee --- /dev/null +++ b/tests/functionaltests/suites/cite/post/1c958b7a-ca09-4c38-98bd-ef1d1d28cc14.xml @@ -0,0 +1,6 @@ + + + + summary + + diff --git a/tests/functionaltests/suites/cite/post/1c97fc1a-61cd-4c1d-8054-933e17a6c5ee.xml b/tests/functionaltests/suites/cite/post/1c97fc1a-61cd-4c1d-8054-933e17a6c5ee.xml new file mode 100644 index 000000000..d2e53427e --- /dev/null +++ b/tests/functionaltests/suites/cite/post/1c97fc1a-61cd-4c1d-8054-933e17a6c5ee.xml @@ -0,0 +1,14 @@ + + + + brief + + + + /dc:title + *lorem* + + + + + diff --git a/tests/functionaltests/suites/cite/post/2102a460-5d62-465f-9668-d70b3faafbfa.xml b/tests/functionaltests/suites/cite/post/2102a460-5d62-465f-9668-d70b3faafbfa.xml new file mode 100644 index 000000000..da787a01f --- /dev/null +++ b/tests/functionaltests/suites/cite/post/2102a460-5d62-465f-9668-d70b3faafbfa.xml @@ -0,0 +1,14 @@ + + + + brief + + + + dc:subject + pHYSIOGRAPHy + + + + + diff --git a/tests/functionaltests/suites/cite/post/225f455a-0035-486b-a94e-fee7ae881b2b.xml b/tests/functionaltests/suites/cite/post/225f455a-0035-486b-a94e-fee7ae881b2b.xml new file mode 100644 index 000000000..d83d4883e --- /dev/null +++ b/tests/functionaltests/suites/cite/post/225f455a-0035-486b-a94e-fee7ae881b2b.xml @@ -0,0 +1,16 @@ + + + + dc:identifier + dc:type + dc:date + + + + dc:date + 2006-03-26 + + + + + diff --git a/tests/functionaltests/suites/cite/post/2d53ffea-60e4-4652-abf5-36eb23042fd5.xml b/tests/functionaltests/suites/cite/post/2d53ffea-60e4-4652-abf5-36eb23042fd5.xml new file mode 100644 index 000000000..19bb2e0a6 --- /dev/null +++ b/tests/functionaltests/suites/cite/post/2d53ffea-60e4-4652-abf5-36eb23042fd5.xml @@ -0,0 +1,6 @@ + + + + brief + + diff --git a/tests/functionaltests/suites/cite/post/34a019a9-1581-42cb-9827-fbfdda2773b7.xml b/tests/functionaltests/suites/cite/post/34a019a9-1581-42cb-9827-fbfdda2773b7.xml new file mode 100644 index 000000000..4451d7c05 --- /dev/null +++ b/tests/functionaltests/suites/cite/post/34a019a9-1581-42cb-9827-fbfdda2773b7.xml @@ -0,0 +1,6 @@ + + + + brief + + diff --git a/tests/functionaltests/suites/cite/post/3e76fd38-e035-41c9-83dc-61356f680c97.xml b/tests/functionaltests/suites/cite/post/3e76fd38-e035-41c9-83dc-61356f680c97.xml new file mode 100644 index 000000000..cfa0b1c60 --- /dev/null +++ b/tests/functionaltests/suites/cite/post/3e76fd38-e035-41c9-83dc-61356f680c97.xml @@ -0,0 +1,4 @@ + + + csw:Record + diff --git a/tests/functionaltests/suites/cite/post/418a6fb0-a89c-4a94-afc9-3f8168eb2980.xml b/tests/functionaltests/suites/cite/post/418a6fb0-a89c-4a94-afc9-3f8168eb2980.xml new file mode 100644 index 000000000..84a7fc7de --- /dev/null +++ b/tests/functionaltests/suites/cite/post/418a6fb0-a89c-4a94-afc9-3f8168eb2980.xml @@ -0,0 +1,25 @@ + + + + dc:identifier + dc:date + ows:BoundingBox + + + + + ows:BoundingBox + + 47.0 -4.5 + 52.0 1.0 + + + + dc:date + 2006-01-01 + + + + + + diff --git a/tests/functionaltests/suites/cite/post/420b745e-0c4b-404e-9f2d-61fa580ff05a.xml b/tests/functionaltests/suites/cite/post/420b745e-0c4b-404e-9f2d-61fa580ff05a.xml new file mode 100644 index 000000000..f31dca0ba --- /dev/null +++ b/tests/functionaltests/suites/cite/post/420b745e-0c4b-404e-9f2d-61fa580ff05a.xml @@ -0,0 +1,16 @@ + + + + dc:identifier + dc:type + dc:date + + + + dc:date + 2004-01-01 + + + + + diff --git a/tests/functionaltests/suites/cite/post/4735d649-a2b1-42fd-a101-14e1d7e4607f.xml b/tests/functionaltests/suites/cite/post/4735d649-a2b1-42fd-a101-14e1d7e4607f.xml new file mode 100644 index 000000000..44672f629 --- /dev/null +++ b/tests/functionaltests/suites/cite/post/4735d649-a2b1-42fd-a101-14e1d7e4607f.xml @@ -0,0 +1,6 @@ + + + + summary + + diff --git a/tests/functionaltests/suites/cite/post/5c5861bc-f742-40a5-9998-5342615d674b.xml b/tests/functionaltests/suites/cite/post/5c5861bc-f742-40a5-9998-5342615d674b.xml new file mode 100644 index 000000000..b127a7dcf --- /dev/null +++ b/tests/functionaltests/suites/cite/post/5c5861bc-f742-40a5-9998-5342615d674b.xml @@ -0,0 +1,14 @@ + + + + full + + + + csw:AnyText + *lorem* + + + + + diff --git a/tests/functionaltests/suites/cite/post/6e736fd0-c266-4852-9eb3-0656f5d0f5c4.xml b/tests/functionaltests/suites/cite/post/6e736fd0-c266-4852-9eb3-0656f5d0f5c4.xml new file mode 100644 index 000000000..28e25bfaf --- /dev/null +++ b/tests/functionaltests/suites/cite/post/6e736fd0-c266-4852-9eb3-0656f5d0f5c4.xml @@ -0,0 +1,6 @@ + + + + summary + + diff --git a/tests/functionaltests/suites/cite/post/73f1551c-e269-4ef9-9dae-e535b5eebfc7.xml b/tests/functionaltests/suites/cite/post/73f1551c-e269-4ef9-9dae-e535b5eebfc7.xml new file mode 100644 index 000000000..160cf6d18 --- /dev/null +++ b/tests/functionaltests/suites/cite/post/73f1551c-e269-4ef9-9dae-e535b5eebfc7.xml @@ -0,0 +1,14 @@ + + + + full + + + + dc:date + 200?-10-* + + + + + diff --git a/tests/functionaltests/suites/cite/post/78297c88-4850-4927-adc6-511cd9a3d539.xml b/tests/functionaltests/suites/cite/post/78297c88-4850-4927-adc6-511cd9a3d539.xml new file mode 100644 index 000000000..5b0e1b92c --- /dev/null +++ b/tests/functionaltests/suites/cite/post/78297c88-4850-4927-adc6-511cd9a3d539.xml @@ -0,0 +1,2 @@ + + \ No newline at end of file diff --git a/tests/functionaltests/suites/cite/post/7c89cdf5-0def-4cfb-8c55-2b8ffea5d92f.xml b/tests/functionaltests/suites/cite/post/7c89cdf5-0def-4cfb-8c55-2b8ffea5d92f.xml new file mode 100644 index 000000000..0ea98491e --- /dev/null +++ b/tests/functionaltests/suites/cite/post/7c89cdf5-0def-4cfb-8c55-2b8ffea5d92f.xml @@ -0,0 +1,6 @@ + + + + summary + + diff --git a/tests/functionaltests/suites/cite/post/7e2cd105-daec-4d25-bc8e-d49d21364912.xml b/tests/functionaltests/suites/cite/post/7e2cd105-daec-4d25-bc8e-d49d21364912.xml new file mode 100644 index 000000000..81865e378 --- /dev/null +++ b/tests/functionaltests/suites/cite/post/7e2cd105-daec-4d25-bc8e-d49d21364912.xml @@ -0,0 +1,4 @@ + + + csw:DummyRecord + diff --git a/tests/functionaltests/suites/cite/post/87f2f670-9cd6-4907-b82c-1b46a7dd2a78.xml b/tests/functionaltests/suites/cite/post/87f2f670-9cd6-4907-b82c-1b46a7dd2a78.xml new file mode 100644 index 000000000..4c03f7935 --- /dev/null +++ b/tests/functionaltests/suites/cite/post/87f2f670-9cd6-4907-b82c-1b46a7dd2a78.xml @@ -0,0 +1,8 @@ + + + + dc:identifier + dc:type + dc:date + + diff --git a/tests/functionaltests/suites/cite/post/88b4e1ba-3bd4-4cbe-81e5-e004056d6ca3.xml b/tests/functionaltests/suites/cite/post/88b4e1ba-3bd4-4cbe-81e5-e004056d6ca3.xml new file mode 100644 index 000000000..b683c9954 --- /dev/null +++ b/tests/functionaltests/suites/cite/post/88b4e1ba-3bd4-4cbe-81e5-e004056d6ca3.xml @@ -0,0 +1,4 @@ + + + csw:Record + diff --git a/tests/functionaltests/suites/cite/post/898cd63b-2585-4ec0-8720-d554bd324174.xml b/tests/functionaltests/suites/cite/post/898cd63b-2585-4ec0-8720-d554bd324174.xml new file mode 100644 index 000000000..6c0e09407 --- /dev/null +++ b/tests/functionaltests/suites/cite/post/898cd63b-2585-4ec0-8720-d554bd324174.xml @@ -0,0 +1,20 @@ + + + + summary + + + + + dc:format + image/* + + + dc:relation + urn:uuid:9a669547-b69b-469f-a11f-2d875366bbdc + + + + + + diff --git a/tests/functionaltests/suites/cite/post/8fb13dc3-5818-45e2-9e29-46abc16e7d38.xml b/tests/functionaltests/suites/cite/post/8fb13dc3-5818-45e2-9e29-46abc16e7d38.xml new file mode 100644 index 000000000..9a4bd54d6 --- /dev/null +++ b/tests/functionaltests/suites/cite/post/8fb13dc3-5818-45e2-9e29-46abc16e7d38.xml @@ -0,0 +1,20 @@ + + + + dc:identifier + ows:BoundingBox + + + + + ows:BoundingBox + + 60.0 12.0 + 70.0 20.0 + + + + + + + diff --git a/tests/functionaltests/suites/cite/post/928c1896-52d4-4ac7-9832-f98e3eb65f02.xml b/tests/functionaltests/suites/cite/post/928c1896-52d4-4ac7-9832-f98e3eb65f02.xml new file mode 100644 index 000000000..d1d69e9cd --- /dev/null +++ b/tests/functionaltests/suites/cite/post/928c1896-52d4-4ac7-9832-f98e3eb65f02.xml @@ -0,0 +1,16 @@ + + + + dc:identifier + dc:type + dc:date + + + + dc:date + 2005-10-24 + + + + + diff --git a/tests/functionaltests/suites/cite/post/93bdbb9d-2734-4f01-92fb-48634cca41de.xml b/tests/functionaltests/suites/cite/post/93bdbb9d-2734-4f01-92fb-48634cca41de.xml new file mode 100644 index 000000000..f2389b702 --- /dev/null +++ b/tests/functionaltests/suites/cite/post/93bdbb9d-2734-4f01-92fb-48634cca41de.xml @@ -0,0 +1,18 @@ + + + + dc:identifier + ows:BoundingBox + + + + /ows:BoundingBox + + 47.0 -4.5 + 52.0 1.0 + + + + + + diff --git a/tests/functionaltests/suites/cite/post/948b39d5-bb4f-45b8-a8f2-4ff9501aaedd.xml b/tests/functionaltests/suites/cite/post/948b39d5-bb4f-45b8-a8f2-4ff9501aaedd.xml new file mode 100644 index 000000000..14c9935af --- /dev/null +++ b/tests/functionaltests/suites/cite/post/948b39d5-bb4f-45b8-a8f2-4ff9501aaedd.xml @@ -0,0 +1,14 @@ + + + + dc:identifier + dc:type + dc:date + + + dc:date + DESC + + + + diff --git a/tests/functionaltests/suites/cite/post/9fd64fcc-f69c-4626-b72e-5c7776a29aa9.xml b/tests/functionaltests/suites/cite/post/9fd64fcc-f69c-4626-b72e-5c7776a29aa9.xml new file mode 100644 index 000000000..c90f2b69e --- /dev/null +++ b/tests/functionaltests/suites/cite/post/9fd64fcc-f69c-4626-b72e-5c7776a29aa9.xml @@ -0,0 +1,4 @@ + + + Record + diff --git a/tests/functionaltests/suites/cite/post/a06d04ab-e0d0-4a86-bfe8-71460f41fe37.xml b/tests/functionaltests/suites/cite/post/a06d04ab-e0d0-4a86-bfe8-71460f41fe37.xml new file mode 100644 index 000000000..19bb2e0a6 --- /dev/null +++ b/tests/functionaltests/suites/cite/post/a06d04ab-e0d0-4a86-bfe8-71460f41fe37.xml @@ -0,0 +1,6 @@ + + + + brief + + diff --git a/tests/functionaltests/suites/cite/post/ad61686c-d304-42d1-b845-8c1f3070c83e.xml b/tests/functionaltests/suites/cite/post/ad61686c-d304-42d1-b845-8c1f3070c83e.xml new file mode 100644 index 000000000..843265b2d --- /dev/null +++ b/tests/functionaltests/suites/cite/post/ad61686c-d304-42d1-b845-8c1f3070c83e.xml @@ -0,0 +1,14 @@ + + + + brief + + + + dc:title + Maecenas enim + + + + + diff --git a/tests/functionaltests/suites/cite/post/af39c020-7b1d-429c-b474-f45c3164cb79.xml b/tests/functionaltests/suites/cite/post/af39c020-7b1d-429c-b474-f45c3164cb79.xml new file mode 100644 index 000000000..50566b7fb --- /dev/null +++ b/tests/functionaltests/suites/cite/post/af39c020-7b1d-429c-b474-f45c3164cb79.xml @@ -0,0 +1,14 @@ + + + + summary + + + + dc:title + Lorem ipsum* + + + + + diff --git a/tests/functionaltests/suites/cite/post/b90e2de6-3d25-4298-a13e-dc9492a8fc73.xml b/tests/functionaltests/suites/cite/post/b90e2de6-3d25-4298-a13e-dc9492a8fc73.xml new file mode 100644 index 000000000..aa555faa6 --- /dev/null +++ b/tests/functionaltests/suites/cite/post/b90e2de6-3d25-4298-a13e-dc9492a8fc73.xml @@ -0,0 +1,16 @@ + + + + summary + + + + + dc:title + Lorem ipsum* + + + + + + diff --git a/tests/functionaltests/suites/cite/post/ba9b0107-dcee-46ef-823a-a2e25a911a96.xml b/tests/functionaltests/suites/cite/post/ba9b0107-dcee-46ef-823a-a2e25a911a96.xml new file mode 100644 index 000000000..53e552d24 --- /dev/null +++ b/tests/functionaltests/suites/cite/post/ba9b0107-dcee-46ef-823a-a2e25a911a96.xml @@ -0,0 +1,20 @@ + + + + summary + + + + + dc:format + application/*xml + + + dc:type + http://purl.org/dc/dcmitype/Image + + + + + + diff --git a/tests/functionaltests/suites/cite/post/bb66ebc5-7121-48b5-9f53-b56537d9561b.xml b/tests/functionaltests/suites/cite/post/bb66ebc5-7121-48b5-9f53-b56537d9561b.xml new file mode 100644 index 000000000..873cda46f --- /dev/null +++ b/tests/functionaltests/suites/cite/post/bb66ebc5-7121-48b5-9f53-b56537d9561b.xml @@ -0,0 +1,27 @@ + + + + dc:identifier + dc:type + ows:BoundingBox + + + + + + ows:BoundingBox + + 40.0 -9.0 + 50.0 -5.0 + + + + + dc:type + HTTP://purl.org/dc/dcmitype/dataset + + + + + + diff --git a/tests/functionaltests/suites/cite/post/c02d1c85-df9f-45ee-bea7-345c35e02a98.xml b/tests/functionaltests/suites/cite/post/c02d1c85-df9f-45ee-bea7-345c35e02a98.xml new file mode 100644 index 000000000..dde6f18da --- /dev/null +++ b/tests/functionaltests/suites/cite/post/c02d1c85-df9f-45ee-bea7-345c35e02a98.xml @@ -0,0 +1,16 @@ + + + + brief + + + + dc:title + + input.argument + + + + + + diff --git a/tests/functionaltests/suites/cite/post/c311a342-72e3-4983-be39-868e6ed9740f.xml b/tests/functionaltests/suites/cite/post/c311a342-72e3-4983-be39-868e6ed9740f.xml new file mode 100644 index 000000000..52008563a --- /dev/null +++ b/tests/functionaltests/suites/cite/post/c311a342-72e3-4983-be39-868e6ed9740f.xml @@ -0,0 +1,4 @@ + + + csw:Record + diff --git a/tests/functionaltests/suites/cite/post/c38916c2-4bc6-446d-b7aa-ab006d6ba31c.xml b/tests/functionaltests/suites/cite/post/c38916c2-4bc6-446d-b7aa-ab006d6ba31c.xml new file mode 100644 index 000000000..b58e172a0 --- /dev/null +++ b/tests/functionaltests/suites/cite/post/c38916c2-4bc6-446d-b7aa-ab006d6ba31c.xml @@ -0,0 +1,25 @@ + + + + dc:identifier + dc:date + ows:BoundingBox + + + + + ows:BoundingBox + + 47.0 -4.5 + 52.0 1.0 + + + + dc:date + 2006-01-01 + + + + + + diff --git a/tests/functionaltests/suites/cite/post/c8588f47-8e65-45f5-ad34-ff4524cad84d.xml b/tests/functionaltests/suites/cite/post/c8588f47-8e65-45f5-ad34-ff4524cad84d.xml new file mode 100644 index 000000000..0b55fed66 --- /dev/null +++ b/tests/functionaltests/suites/cite/post/c8588f47-8e65-45f5-ad34-ff4524cad84d.xml @@ -0,0 +1,17 @@ + + + + brief + + + + dct:spatial + + 47.0 -4.5 + 52.0 1.0 + + + + + + diff --git a/tests/functionaltests/suites/cite/post/da228d4c-e1be-43d7-9ccb-c3f27ee32541.xml b/tests/functionaltests/suites/cite/post/da228d4c-e1be-43d7-9ccb-c3f27ee32541.xml new file mode 100644 index 000000000..a694ce4e5 --- /dev/null +++ b/tests/functionaltests/suites/cite/post/da228d4c-e1be-43d7-9ccb-c3f27ee32541.xml @@ -0,0 +1,14 @@ + + + + summary + + + + /dc:title + *lorem* + + + + + diff --git a/tests/functionaltests/suites/cite/post/dc92c2c4-87d8-4a13-964e-ff9b0e0c27b3.xml b/tests/functionaltests/suites/cite/post/dc92c2c4-87d8-4a13-964e-ff9b0e0c27b3.xml new file mode 100644 index 000000000..de0ae7a91 --- /dev/null +++ b/tests/functionaltests/suites/cite/post/dc92c2c4-87d8-4a13-964e-ff9b0e0c27b3.xml @@ -0,0 +1,16 @@ + + + + dc:identifier + dc:type + dc:date + + + + dc:date + 2006-05-01 + + + + + diff --git a/tests/functionaltests/suites/cite/post/dcb13791-379e-4739-bcd4-dbaa69f0efdb.xml b/tests/functionaltests/suites/cite/post/dcb13791-379e-4739-bcd4-dbaa69f0efdb.xml new file mode 100644 index 000000000..81aea41d7 --- /dev/null +++ b/tests/functionaltests/suites/cite/post/dcb13791-379e-4739-bcd4-dbaa69f0efdb.xml @@ -0,0 +1,6 @@ + + + + brief + + diff --git a/tests/functionaltests/suites/cite/post/e308f030-c097-4036-a838-44bad74c9ef7.xml b/tests/functionaltests/suites/cite/post/e308f030-c097-4036-a838-44bad74c9ef7.xml new file mode 100644 index 000000000..19bb2e0a6 --- /dev/null +++ b/tests/functionaltests/suites/cite/post/e308f030-c097-4036-a838-44bad74c9ef7.xml @@ -0,0 +1,6 @@ + + + + brief + + diff --git a/tests/functionaltests/suites/cite/post/e6e9efb2-e2b7-4b0a-a3a2-7deea3f9b8e2.xml b/tests/functionaltests/suites/cite/post/e6e9efb2-e2b7-4b0a-a3a2-7deea3f9b8e2.xml new file mode 100644 index 000000000..6dc06f199 --- /dev/null +++ b/tests/functionaltests/suites/cite/post/e6e9efb2-e2b7-4b0a-a3a2-7deea3f9b8e2.xml @@ -0,0 +1,12 @@ + + + + brief + + + dc:identifier + ASC + + + + diff --git a/tests/functionaltests/suites/cite/post/f7976c55-a156-4421-8199-bc0487da4b0f.xml b/tests/functionaltests/suites/cite/post/f7976c55-a156-4421-8199-bc0487da4b0f.xml new file mode 100644 index 000000000..52008563a --- /dev/null +++ b/tests/functionaltests/suites/cite/post/f7976c55-a156-4421-8199-bc0487da4b0f.xml @@ -0,0 +1,4 @@ + + + csw:Record + diff --git a/tests/functionaltests/suites/cite/post/f7d79701-f10b-4087-a33c-f62df0a04fd1.xml b/tests/functionaltests/suites/cite/post/f7d79701-f10b-4087-a33c-f62df0a04fd1.xml new file mode 100644 index 000000000..19bb2e0a6 --- /dev/null +++ b/tests/functionaltests/suites/cite/post/f7d79701-f10b-4087-a33c-f62df0a04fd1.xml @@ -0,0 +1,6 @@ + + + + brief + + diff --git a/tests/functionaltests/suites/cite/post/fc1bc094-88f1-4851-bc2b-dfc56be9f3c7.xml b/tests/functionaltests/suites/cite/post/fc1bc094-88f1-4851-bc2b-dfc56be9f3c7.xml new file mode 100644 index 000000000..186beb174 --- /dev/null +++ b/tests/functionaltests/suites/cite/post/fc1bc094-88f1-4851-bc2b-dfc56be9f3c7.xml @@ -0,0 +1,14 @@ + + + + brief + + + + dc:title + Fuscé vitae ligulä + + + + + diff --git a/tests/functionaltests/suites/cite/post/fe20960f-a26c-4f13-852d-470a0d3233f9.xml b/tests/functionaltests/suites/cite/post/fe20960f-a26c-4f13-852d-470a0d3233f9.xml new file mode 100644 index 000000000..d011b2e68 --- /dev/null +++ b/tests/functionaltests/suites/cite/post/fe20960f-a26c-4f13-852d-470a0d3233f9.xml @@ -0,0 +1,14 @@ + + + + brief + + + + dc:subject + pHYSIOGRAPHy + + + + + diff --git a/tests/functionaltests/suites/csw30/default.cfg b/tests/functionaltests/suites/csw30/default.cfg new file mode 100644 index 000000000..328045bb4 --- /dev/null +++ b/tests/functionaltests/suites/csw30/default.cfg @@ -0,0 +1,90 @@ +# ================================================================= +# +# Authors: Tom Kralidis +# +# Copyright (c) 2011 Tom Kralidis +# +# Permission is hereby granted, free of charge, to any person +# obtaining a copy of this software and associated documentation +# files (the "Software"), to deal in the Software without +# restriction, including without limitation the rights to use, +# copy, modify, merge, publish, distribute, sublicense, and/or sell +# copies of the Software, and to permit persons to whom the +# Software is furnished to do so, subject to the following +# conditions: +# +# The above copyright notice and this permission notice shall be +# included in all copies or substantial portions of the Software. +# +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +# EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES +# OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +# NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT +# HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, +# WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR +# OTHER DEALINGS IN THE SOFTWARE. +# +# ================================================================= + +[server] +home=. +url=http://localhost/pycsw/csw.py?config=tests/suites/csw30/default.cfg +mimetype=application/xml; charset=UTF-8 +encoding=UTF-8 +language=en-US +maxrecords=10 +#loglevel=DEBUG +#logfile=/tmp/pycsw.log +#ogc_schemas_base=http://foo +federatedcatalogues=http://demo.pycsw.org/gisdata/csw +pretty_print=true +#gzip_compresslevel=8 +#spatial_ranking=true + +[manager] +transactions=false +allowed_ips=127.0.0.1 + +[metadata:main] +identification_title=pycsw Geospatial Catalogue +identification_abstract=pycsw is an OGC CSW server implementation written in Python +identification_keywords=catalogue,discovery +identification_keywords_type=theme +identification_fees=None +identification_accessconstraints=None +provider_name=pycsw +provider_url=http://pycsw.org/ +contact_name=Kralidis, Tom +contact_position=Senior Systems Scientist +contact_address=TBA +contact_city=Toronto +contact_stateorprovince=Ontario +contact_postalcode=M9C 3Z9 +contact_country=Canada +contact_phone=+01-416-xxx-xxxx +contact_fax=+01-416-xxx-xxxx +contact_email=tomkralidis@gmail.com +contact_url=http://kralidis.ca/ +contact_hours=0800h - 1600h EST +contact_instructions=During hours of service. Off on weekends. +contact_role=pointOfContact + +[repository] +# sqlite +database=sqlite:///tests/suites/cite/data/records.db +# postgres +#database=postgres://username:password@localhost/pycsw +table=records + +[metadata:inspire] +enabled=false +languages_supported=eng,gre +default_language=eng +date=2011-03-29 +gemet_keywords=Utility and governmental services +conformity_service=notEvaluated +contact_name=National Technical University of Athens +contact_email=tzotsos@gmail.com +temp_extent=2011-02-01/2011-03-30 + diff --git a/tests/functionaltests/suites/csw30/expected/get_002258f0-627f-457f-b2ad-025777c77ac8.xml b/tests/functionaltests/suites/csw30/expected/get_002258f0-627f-457f-b2ad-025777c77ac8.xml new file mode 100644 index 000000000..60ffc8d10 --- /dev/null +++ b/tests/functionaltests/suites/csw30/expected/get_002258f0-627f-457f-b2ad-025777c77ac8.xml @@ -0,0 +1,15 @@ + + + + pycsw Geospatial + pycsw Geospatial Catalogue + pycsw is an OGC CSW server implementation written in Python + catalogue discovery + + + http://pycsw.org/img/favicon.ico + + Kralidis, Tom + tomkralidis@gmail.com + pycsw + diff --git a/tests/functionaltests/suites/csw30/expected/get_045c600d-973d-41eb-9f60-eba1b717b720.xml b/tests/functionaltests/suites/csw30/expected/get_045c600d-973d-41eb-9f60-eba1b717b720.xml new file mode 100644 index 000000000..5caeab5ae --- /dev/null +++ b/tests/functionaltests/suites/csw30/expected/get_045c600d-973d-41eb-9f60-eba1b717b720.xml @@ -0,0 +1,24 @@ + + + + http://localhost/pycsw/csw.py?config=tests/suites/csw30/default.cfg + pycsw Geospatial Catalogue + + pycsw + + diff --git a/tests/functionaltests/suites/csw30/expected/get_0bbcf862-5211-4351-9988-63f8bec49c98.xml b/tests/functionaltests/suites/csw30/expected/get_0bbcf862-5211-4351-9988-63f8bec49c98.xml new file mode 100644 index 000000000..c1b666067 --- /dev/null +++ b/tests/functionaltests/suites/csw30/expected/get_0bbcf862-5211-4351-9988-63f8bec49c98.xml @@ -0,0 +1,116 @@ + + + + http://localhost/pycsw/csw.py?config=tests/suites/csw30/default.cfg + pycsw Geospatial Catalogue + + pycsw + + diff --git a/tests/functionaltests/suites/csw30/expected/get_0bdf8457-971e-4ed1-be4a-5feca4dcd8fa.xml b/tests/functionaltests/suites/csw30/expected/get_0bdf8457-971e-4ed1-be4a-5feca4dcd8fa.xml new file mode 100644 index 000000000..ce9c9355d --- /dev/null +++ b/tests/functionaltests/suites/csw30/expected/get_0bdf8457-971e-4ed1-be4a-5feca4dcd8fa.xml @@ -0,0 +1,491 @@ + + + + + pycsw Geospatial Catalogue + pycsw is an OGC CSW server implementation written in Python + + catalogue + discovery + theme + + CSW + 2.0.2 + 3.0.0 + None + None + + + pycsw + + + Kralidis, Tom + Senior Systems Scientist + + + +01-416-xxx-xxxx + +01-416-xxx-xxxx + + + TBA + Toronto + Ontario + M9C 3Z9 + Canada + tomkralidis@gmail.com + + + 0800h - 1600h EST + During hours of service. Off on weekends. + + pointOfContact + + + + + + + + + + + + + application/xml + text/xml + + + + + 2.0.2 + 3.0.0 + + + + + All + Filter_Capabilities + OperationsMetadata + ServiceIdentification + ServiceProvider + + + + + + + + + + + + + GetCapabilities.acceptFormats + GetCapabilities.acceptVersions + GetCapabilities.sections + GetRecordById.ElementSetName + GetRecordById.outputFormat + GetRecordById.outputSchema + GetRecords.CONSTRAINTLANGUAGE + GetRecords.ElementSetName + GetRecords.outputFormat + GetRecords.outputSchema + GetRecords.typeNames + + + + + + + + + + + + + CQL_TEXT + FILTER + + + + + brief + full + summary + + + + + application/atom+xml + application/json + application/xml + + + + + http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ + http://www.interlis.ch/INTERLIS2.3 + http://www.opengis.net/cat/csw/3.0 + http://www.opengis.net/cat/csw/csdgm + http://www.w3.org/2005/Atom + + + + + csw:Record + + + + + 10 + + + + + http://localhost/pycsw/csw.py?config=tests/suites/csw30/default.cfg?mode=opensearch&service=CSW&version=3.0.0&request=GetCapabilities + + + + + http://demo.pycsw.org/gisdata/csw + + + + + + + + + + + + + brief + full + summary + + + + + application/atom+xml + application/json + application/xml + + + + + http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ + http://www.interlis.ch/INTERLIS2.3 + http://www.opengis.net/cat/csw/3.0 + http://www.opengis.net/cat/csw/csdgm + http://www.w3.org/2005/Atom + + + + + + + + + + + + + CSW + + + + + 2.0.2 + 3.0.0 + + + + + csw:AnyText + dc:contributor + dc:creator + dc:date + dc:format + dc:identifier + dc:language + dc:publisher + dc:relation + dc:rights + dc:source + dc:subject + dc:title + dc:type + dct:abstract + dct:modified + ows:BoundingBox + + + + + http://demo.pycsw.org/gisdata/csw + + + + + 10 + + + + + SOAP + XML + + + + + allowed + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + http://www.opengis.net/gml + + + + + TRUE + + + + + en + + + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + xs:string + + + xs:string + + + xs:string + + + xs:string + + + xs:string + + + xs:string + + + + diff --git a/tests/functionaltests/suites/csw30/expected/get_0d8bbdec-0846-42ca-8dc8-b7f4cba41d67.xml b/tests/functionaltests/suites/csw30/expected/get_0d8bbdec-0846-42ca-8dc8-b7f4cba41d67.xml new file mode 100644 index 000000000..21edd2682 --- /dev/null +++ b/tests/functionaltests/suites/csw30/expected/get_0d8bbdec-0846-42ca-8dc8-b7f4cba41d67.xml @@ -0,0 +1,47 @@ + + + + + + + urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f + Lorem ipsum + + + urn:uuid:1ef30a8b-876d-4828-9246-c37ab4510bbd + + + + urn:uuid:66ae76b7-54ba-489b-a582-0f0633d96493 + Maecenas enim + + + urn:uuid:6a3de50b-fa66-4b58-a0e6-ca146fdd18d4 + Ut facilisis justo ut lacus + + + urn:uuid:784e2afd-a9fd-44a6-9a92-a3848371c8ec + Aliquam fermentum purus quis arcu + + + urn:uuid:829babb0-b2f1-49e1-8cd5-7b489fe71a1e + Vestibulum massa purus + + + urn:uuid:88247b56-4cbc-4df9-9860-db3f8042e357 + + + + urn:uuid:94bc9c83-97f6-4b40-9eb8-a8e8787a5c63 + Mauris sed neque + + + urn:uuid:9a669547-b69b-469f-a11f-2d875366bbdc + Ñunç elementum + + + urn:uuid:a06af396-3105-442d-8b40-22b57a90d2f2 + Lorem ipsum dolor sit amet + + + diff --git a/tests/functionaltests/suites/csw30/expected/get_0e1dca37-477a-4060-99fe-7799b52d656c.xml b/tests/functionaltests/suites/csw30/expected/get_0e1dca37-477a-4060-99fe-7799b52d656c.xml new file mode 100644 index 000000000..b6869d887 --- /dev/null +++ b/tests/functionaltests/suites/csw30/expected/get_0e1dca37-477a-4060-99fe-7799b52d656c.xml @@ -0,0 +1,15 @@ + + + + http://localhost/pycsw/csw.py?config=tests/suites/csw30/default.cfg + pycsw Geospatial Catalogue + + pycsw + + diff --git a/tests/functionaltests/suites/csw30/expected/get_13c87956-51a4-4780-a8e9-6e0b5c0bb473.xml b/tests/functionaltests/suites/csw30/expected/get_13c87956-51a4-4780-a8e9-6e0b5c0bb473.xml new file mode 100644 index 000000000..3ce950bca --- /dev/null +++ b/tests/functionaltests/suites/csw30/expected/get_13c87956-51a4-4780-a8e9-6e0b5c0bb473.xml @@ -0,0 +1,92 @@ + + + + + + + urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f + Lorem ipsum + http://purl.org/dc/dcmitype/Image + Tourism--Greece + image/svg+xml + Quisque lacus diam, placerat mollis, pharetra in, commodo sed, augue. Duis iaculis arcu vel arcu. + + + urn:uuid:1ef30a8b-876d-4828-9246-c37ab4510bbd + + http://purl.org/dc/dcmitype/Service + Proin sit amet justo. In justo. Aenean adipiscing nulla id tellus. + + 60.04 13.75 + 68.41 17.92 + + + + urn:uuid:66ae76b7-54ba-489b-a582-0f0633d96493 + Maecenas enim + http://purl.org/dc/dcmitype/Text + Marine sediments + application/xhtml+xml + Pellentesque tempus magna non sapien fringilla blandit. + + + urn:uuid:6a3de50b-fa66-4b58-a0e6-ca146fdd18d4 + Ut facilisis justo ut lacus + http://purl.org/dc/dcmitype/Service + Vegetation + urn:uuid:94bc9c83-97f6-4b40-9eb8-a8e8787a5c63 + + + urn:uuid:784e2afd-a9fd-44a6-9a92-a3848371c8ec + Aliquam fermentum purus quis arcu + http://purl.org/dc/dcmitype/Text + Hydrography--Dictionaries + application/pdf + Vestibulum quis ipsum sit amet metus imperdiet vehicula. Nulla scelerisque cursus mi. + 2006-05-12 + + + urn:uuid:829babb0-b2f1-49e1-8cd5-7b489fe71a1e + Vestibulum massa purus + http://purl.org/dc/dcmitype/Image + image/jp2 + urn:uuid:9a669547-b69b-469f-a11f-2d875366bbdc + + + urn:uuid:88247b56-4cbc-4df9-9860-db3f8042e357 + + http://purl.org/dc/dcmitype/Dataset + Physiography-Landforms + Donec scelerisque pede ut nisl luctus accumsan. Quisque ultrices, lorem eget feugiat fringilla, lorem dui porttitor ante, cursus ultrices magna odio eu neque. + + + urn:uuid:94bc9c83-97f6-4b40-9eb8-a8e8787a5c63 + Mauris sed neque + http://purl.org/dc/dcmitype/Dataset + Vegetation-Cropland + Curabitur lacinia, ante non porta tempus, mi lorem feugiat odio, eget suscipit eros pede ac velit. + 2006-03-26 + + 47.59 -4.1 + 51.22 0.89 + + + + urn:uuid:9a669547-b69b-469f-a11f-2d875366bbdc + Ñunç elementum + http://purl.org/dc/dcmitype/Dataset + Hydrography-Oceanographic + 2005-10-24 + + 44.79 -6.17 + 51.13 -2.23 + + + + urn:uuid:a06af396-3105-442d-8b40-22b57a90d2f2 + Lorem ipsum dolor sit amet + http://purl.org/dc/dcmitype/Image + image/jpeg + + + diff --git a/tests/functionaltests/suites/csw30/expected/get_151d982f-ebd3-4cb2-b507-a667713a1e92.xml b/tests/functionaltests/suites/csw30/expected/get_151d982f-ebd3-4cb2-b507-a667713a1e92.xml new file mode 100644 index 000000000..633f7c9ae --- /dev/null +++ b/tests/functionaltests/suites/csw30/expected/get_151d982f-ebd3-4cb2-b507-a667713a1e92.xml @@ -0,0 +1,7 @@ + + + + + Invalid acceptFormats parameter value: model/x3d+xml + + diff --git a/tests/functionaltests/suites/csw30/expected/get_1869e495-1a61-4713-8285-76d1336ee1a6.xml b/tests/functionaltests/suites/csw30/expected/get_1869e495-1a61-4713-8285-76d1336ee1a6.xml new file mode 100644 index 000000000..42a76d4fd --- /dev/null +++ b/tests/functionaltests/suites/csw30/expected/get_1869e495-1a61-4713-8285-76d1336ee1a6.xml @@ -0,0 +1,7 @@ + + + + + Missing keyword: service + + diff --git a/tests/functionaltests/suites/csw30/expected/get_1bcb42a9-538c-4f0a-9d4c-d6f10b720aa6.xml b/tests/functionaltests/suites/csw30/expected/get_1bcb42a9-538c-4f0a-9d4c-d6f10b720aa6.xml new file mode 100644 index 000000000..dd5dfc621 --- /dev/null +++ b/tests/functionaltests/suites/csw30/expected/get_1bcb42a9-538c-4f0a-9d4c-d6f10b720aa6.xml @@ -0,0 +1,7 @@ + + + + + Missing id parameter + + diff --git a/tests/functionaltests/suites/csw30/expected/get_22f44168-2ccf-4801-ad96-204212566d56.xml b/tests/functionaltests/suites/csw30/expected/get_22f44168-2ccf-4801-ad96-204212566d56.xml new file mode 100644 index 000000000..ce9c9355d --- /dev/null +++ b/tests/functionaltests/suites/csw30/expected/get_22f44168-2ccf-4801-ad96-204212566d56.xml @@ -0,0 +1,491 @@ + + + + + pycsw Geospatial Catalogue + pycsw is an OGC CSW server implementation written in Python + + catalogue + discovery + theme + + CSW + 2.0.2 + 3.0.0 + None + None + + + pycsw + + + Kralidis, Tom + Senior Systems Scientist + + + +01-416-xxx-xxxx + +01-416-xxx-xxxx + + + TBA + Toronto + Ontario + M9C 3Z9 + Canada + tomkralidis@gmail.com + + + 0800h - 1600h EST + During hours of service. Off on weekends. + + pointOfContact + + + + + + + + + + + + + application/xml + text/xml + + + + + 2.0.2 + 3.0.0 + + + + + All + Filter_Capabilities + OperationsMetadata + ServiceIdentification + ServiceProvider + + + + + + + + + + + + + GetCapabilities.acceptFormats + GetCapabilities.acceptVersions + GetCapabilities.sections + GetRecordById.ElementSetName + GetRecordById.outputFormat + GetRecordById.outputSchema + GetRecords.CONSTRAINTLANGUAGE + GetRecords.ElementSetName + GetRecords.outputFormat + GetRecords.outputSchema + GetRecords.typeNames + + + + + + + + + + + + + CQL_TEXT + FILTER + + + + + brief + full + summary + + + + + application/atom+xml + application/json + application/xml + + + + + http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ + http://www.interlis.ch/INTERLIS2.3 + http://www.opengis.net/cat/csw/3.0 + http://www.opengis.net/cat/csw/csdgm + http://www.w3.org/2005/Atom + + + + + csw:Record + + + + + 10 + + + + + http://localhost/pycsw/csw.py?config=tests/suites/csw30/default.cfg?mode=opensearch&service=CSW&version=3.0.0&request=GetCapabilities + + + + + http://demo.pycsw.org/gisdata/csw + + + + + + + + + + + + + brief + full + summary + + + + + application/atom+xml + application/json + application/xml + + + + + http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ + http://www.interlis.ch/INTERLIS2.3 + http://www.opengis.net/cat/csw/3.0 + http://www.opengis.net/cat/csw/csdgm + http://www.w3.org/2005/Atom + + + + + + + + + + + + + CSW + + + + + 2.0.2 + 3.0.0 + + + + + csw:AnyText + dc:contributor + dc:creator + dc:date + dc:format + dc:identifier + dc:language + dc:publisher + dc:relation + dc:rights + dc:source + dc:subject + dc:title + dc:type + dct:abstract + dct:modified + ows:BoundingBox + + + + + http://demo.pycsw.org/gisdata/csw + + + + + 10 + + + + + SOAP + XML + + + + + allowed + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + http://www.opengis.net/gml + + + + + TRUE + + + + + en + + + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + xs:string + + + xs:string + + + xs:string + + + xs:string + + + xs:string + + + xs:string + + + + diff --git a/tests/functionaltests/suites/csw30/expected/get_2499a9c9-8d33-449c-bc92-d494adfcc84d.xml b/tests/functionaltests/suites/csw30/expected/get_2499a9c9-8d33-449c-bc92-d494adfcc84d.xml new file mode 100644 index 000000000..ce9c9355d --- /dev/null +++ b/tests/functionaltests/suites/csw30/expected/get_2499a9c9-8d33-449c-bc92-d494adfcc84d.xml @@ -0,0 +1,491 @@ + + + + + pycsw Geospatial Catalogue + pycsw is an OGC CSW server implementation written in Python + + catalogue + discovery + theme + + CSW + 2.0.2 + 3.0.0 + None + None + + + pycsw + + + Kralidis, Tom + Senior Systems Scientist + + + +01-416-xxx-xxxx + +01-416-xxx-xxxx + + + TBA + Toronto + Ontario + M9C 3Z9 + Canada + tomkralidis@gmail.com + + + 0800h - 1600h EST + During hours of service. Off on weekends. + + pointOfContact + + + + + + + + + + + + + application/xml + text/xml + + + + + 2.0.2 + 3.0.0 + + + + + All + Filter_Capabilities + OperationsMetadata + ServiceIdentification + ServiceProvider + + + + + + + + + + + + + GetCapabilities.acceptFormats + GetCapabilities.acceptVersions + GetCapabilities.sections + GetRecordById.ElementSetName + GetRecordById.outputFormat + GetRecordById.outputSchema + GetRecords.CONSTRAINTLANGUAGE + GetRecords.ElementSetName + GetRecords.outputFormat + GetRecords.outputSchema + GetRecords.typeNames + + + + + + + + + + + + + CQL_TEXT + FILTER + + + + + brief + full + summary + + + + + application/atom+xml + application/json + application/xml + + + + + http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ + http://www.interlis.ch/INTERLIS2.3 + http://www.opengis.net/cat/csw/3.0 + http://www.opengis.net/cat/csw/csdgm + http://www.w3.org/2005/Atom + + + + + csw:Record + + + + + 10 + + + + + http://localhost/pycsw/csw.py?config=tests/suites/csw30/default.cfg?mode=opensearch&service=CSW&version=3.0.0&request=GetCapabilities + + + + + http://demo.pycsw.org/gisdata/csw + + + + + + + + + + + + + brief + full + summary + + + + + application/atom+xml + application/json + application/xml + + + + + http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ + http://www.interlis.ch/INTERLIS2.3 + http://www.opengis.net/cat/csw/3.0 + http://www.opengis.net/cat/csw/csdgm + http://www.w3.org/2005/Atom + + + + + + + + + + + + + CSW + + + + + 2.0.2 + 3.0.0 + + + + + csw:AnyText + dc:contributor + dc:creator + dc:date + dc:format + dc:identifier + dc:language + dc:publisher + dc:relation + dc:rights + dc:source + dc:subject + dc:title + dc:type + dct:abstract + dct:modified + ows:BoundingBox + + + + + http://demo.pycsw.org/gisdata/csw + + + + + 10 + + + + + SOAP + XML + + + + + allowed + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + http://www.opengis.net/gml + + + + + TRUE + + + + + en + + + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + xs:string + + + xs:string + + + xs:string + + + xs:string + + + xs:string + + + xs:string + + + + diff --git a/tests/functionaltests/suites/csw30/expected/get_27f4f39c-d92a-4e3c-b961-c6aa8c24e513.xml b/tests/functionaltests/suites/csw30/expected/get_27f4f39c-d92a-4e3c-b961-c6aa8c24e513.xml new file mode 100644 index 000000000..ce9c9355d --- /dev/null +++ b/tests/functionaltests/suites/csw30/expected/get_27f4f39c-d92a-4e3c-b961-c6aa8c24e513.xml @@ -0,0 +1,491 @@ + + + + + pycsw Geospatial Catalogue + pycsw is an OGC CSW server implementation written in Python + + catalogue + discovery + theme + + CSW + 2.0.2 + 3.0.0 + None + None + + + pycsw + + + Kralidis, Tom + Senior Systems Scientist + + + +01-416-xxx-xxxx + +01-416-xxx-xxxx + + + TBA + Toronto + Ontario + M9C 3Z9 + Canada + tomkralidis@gmail.com + + + 0800h - 1600h EST + During hours of service. Off on weekends. + + pointOfContact + + + + + + + + + + + + + application/xml + text/xml + + + + + 2.0.2 + 3.0.0 + + + + + All + Filter_Capabilities + OperationsMetadata + ServiceIdentification + ServiceProvider + + + + + + + + + + + + + GetCapabilities.acceptFormats + GetCapabilities.acceptVersions + GetCapabilities.sections + GetRecordById.ElementSetName + GetRecordById.outputFormat + GetRecordById.outputSchema + GetRecords.CONSTRAINTLANGUAGE + GetRecords.ElementSetName + GetRecords.outputFormat + GetRecords.outputSchema + GetRecords.typeNames + + + + + + + + + + + + + CQL_TEXT + FILTER + + + + + brief + full + summary + + + + + application/atom+xml + application/json + application/xml + + + + + http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ + http://www.interlis.ch/INTERLIS2.3 + http://www.opengis.net/cat/csw/3.0 + http://www.opengis.net/cat/csw/csdgm + http://www.w3.org/2005/Atom + + + + + csw:Record + + + + + 10 + + + + + http://localhost/pycsw/csw.py?config=tests/suites/csw30/default.cfg?mode=opensearch&service=CSW&version=3.0.0&request=GetCapabilities + + + + + http://demo.pycsw.org/gisdata/csw + + + + + + + + + + + + + brief + full + summary + + + + + application/atom+xml + application/json + application/xml + + + + + http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ + http://www.interlis.ch/INTERLIS2.3 + http://www.opengis.net/cat/csw/3.0 + http://www.opengis.net/cat/csw/csdgm + http://www.w3.org/2005/Atom + + + + + + + + + + + + + CSW + + + + + 2.0.2 + 3.0.0 + + + + + csw:AnyText + dc:contributor + dc:creator + dc:date + dc:format + dc:identifier + dc:language + dc:publisher + dc:relation + dc:rights + dc:source + dc:subject + dc:title + dc:type + dct:abstract + dct:modified + ows:BoundingBox + + + + + http://demo.pycsw.org/gisdata/csw + + + + + 10 + + + + + SOAP + XML + + + + + allowed + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + http://www.opengis.net/gml + + + + + TRUE + + + + + en + + + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + xs:string + + + xs:string + + + xs:string + + + xs:string + + + xs:string + + + xs:string + + + + diff --git a/tests/functionaltests/suites/csw30/expected/get_28e569df-8596-4128-8d9a-29ad03138915.xml b/tests/functionaltests/suites/csw30/expected/get_28e569df-8596-4128-8d9a-29ad03138915.xml new file mode 100644 index 000000000..c998b50af --- /dev/null +++ b/tests/functionaltests/suites/csw30/expected/get_28e569df-8596-4128-8d9a-29ad03138915.xml @@ -0,0 +1,8 @@ + + + + urn:uuid:a06af396-3105-442d-8b40-22b57a90d2f2 + Lorem ipsum dolor sit amet + http://purl.org/dc/dcmitype/Image + image/jpeg + diff --git a/tests/functionaltests/suites/csw30/expected/get_2b06a5c8-0df2-4af1-8d2e-a425de11c845.xml b/tests/functionaltests/suites/csw30/expected/get_2b06a5c8-0df2-4af1-8d2e-a425de11c845.xml new file mode 100644 index 000000000..ce9c9355d --- /dev/null +++ b/tests/functionaltests/suites/csw30/expected/get_2b06a5c8-0df2-4af1-8d2e-a425de11c845.xml @@ -0,0 +1,491 @@ + + + + + pycsw Geospatial Catalogue + pycsw is an OGC CSW server implementation written in Python + + catalogue + discovery + theme + + CSW + 2.0.2 + 3.0.0 + None + None + + + pycsw + + + Kralidis, Tom + Senior Systems Scientist + + + +01-416-xxx-xxxx + +01-416-xxx-xxxx + + + TBA + Toronto + Ontario + M9C 3Z9 + Canada + tomkralidis@gmail.com + + + 0800h - 1600h EST + During hours of service. Off on weekends. + + pointOfContact + + + + + + + + + + + + + application/xml + text/xml + + + + + 2.0.2 + 3.0.0 + + + + + All + Filter_Capabilities + OperationsMetadata + ServiceIdentification + ServiceProvider + + + + + + + + + + + + + GetCapabilities.acceptFormats + GetCapabilities.acceptVersions + GetCapabilities.sections + GetRecordById.ElementSetName + GetRecordById.outputFormat + GetRecordById.outputSchema + GetRecords.CONSTRAINTLANGUAGE + GetRecords.ElementSetName + GetRecords.outputFormat + GetRecords.outputSchema + GetRecords.typeNames + + + + + + + + + + + + + CQL_TEXT + FILTER + + + + + brief + full + summary + + + + + application/atom+xml + application/json + application/xml + + + + + http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ + http://www.interlis.ch/INTERLIS2.3 + http://www.opengis.net/cat/csw/3.0 + http://www.opengis.net/cat/csw/csdgm + http://www.w3.org/2005/Atom + + + + + csw:Record + + + + + 10 + + + + + http://localhost/pycsw/csw.py?config=tests/suites/csw30/default.cfg?mode=opensearch&service=CSW&version=3.0.0&request=GetCapabilities + + + + + http://demo.pycsw.org/gisdata/csw + + + + + + + + + + + + + brief + full + summary + + + + + application/atom+xml + application/json + application/xml + + + + + http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ + http://www.interlis.ch/INTERLIS2.3 + http://www.opengis.net/cat/csw/3.0 + http://www.opengis.net/cat/csw/csdgm + http://www.w3.org/2005/Atom + + + + + + + + + + + + + CSW + + + + + 2.0.2 + 3.0.0 + + + + + csw:AnyText + dc:contributor + dc:creator + dc:date + dc:format + dc:identifier + dc:language + dc:publisher + dc:relation + dc:rights + dc:source + dc:subject + dc:title + dc:type + dct:abstract + dct:modified + ows:BoundingBox + + + + + http://demo.pycsw.org/gisdata/csw + + + + + 10 + + + + + SOAP + XML + + + + + allowed + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + http://www.opengis.net/gml + + + + + TRUE + + + + + en + + + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + xs:string + + + xs:string + + + xs:string + + + xs:string + + + xs:string + + + xs:string + + + + diff --git a/tests/functionaltests/suites/csw30/expected/get_2ba1418a-444d-4cce-9cfe-4c94efcf8b55.xml b/tests/functionaltests/suites/csw30/expected/get_2ba1418a-444d-4cce-9cfe-4c94efcf8b55.xml new file mode 100644 index 000000000..06869ee15 --- /dev/null +++ b/tests/functionaltests/suites/csw30/expected/get_2ba1418a-444d-4cce-9cfe-4c94efcf8b55.xml @@ -0,0 +1,32 @@ + + + + http://localhost/pycsw/csw.py?config=tests/suites/csw30/default.cfg + pycsw Geospatial Catalogue + + pycsw + + diff --git a/tests/functionaltests/suites/csw30/expected/get_397fe17a-d5b4-4f96-8cc4-4ce467ed4d0a.xml b/tests/functionaltests/suites/csw30/expected/get_397fe17a-d5b4-4f96-8cc4-4ce467ed4d0a.xml new file mode 100644 index 000000000..a2f3d5785 --- /dev/null +++ b/tests/functionaltests/suites/csw30/expected/get_397fe17a-d5b4-4f96-8cc4-4ce467ed4d0a.xml @@ -0,0 +1,30 @@ + + + + + + + urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f + Lorem ipsum + http://purl.org/dc/dcmitype/Image + Tourism--Greece + image/svg+xml + Quisque lacus diam, placerat mollis, pharetra in, commodo sed, augue. Duis iaculis arcu vel arcu. + + + urn:uuid:784e2afd-a9fd-44a6-9a92-a3848371c8ec + Aliquam fermentum purus quis arcu + http://purl.org/dc/dcmitype/Text + Hydrography--Dictionaries + application/pdf + Vestibulum quis ipsum sit amet metus imperdiet vehicula. Nulla scelerisque cursus mi. + 2006-05-12 + + + urn:uuid:a06af396-3105-442d-8b40-22b57a90d2f2 + Lorem ipsum dolor sit amet + http://purl.org/dc/dcmitype/Image + image/jpeg + + + diff --git a/tests/functionaltests/suites/csw30/expected/get_3dcd1b15-73d2-4b7d-a3e3-ff15bf14aae4.xml b/tests/functionaltests/suites/csw30/expected/get_3dcd1b15-73d2-4b7d-a3e3-ff15bf14aae4.xml new file mode 100644 index 000000000..4d7f6b1bf --- /dev/null +++ b/tests/functionaltests/suites/csw30/expected/get_3dcd1b15-73d2-4b7d-a3e3-ff15bf14aae4.xml @@ -0,0 +1,69 @@ + + + + + + + urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f + Lorem ipsum + http://purl.org/dc/dcmitype/Image + + + urn:uuid:1ef30a8b-876d-4828-9246-c37ab4510bbd + + http://purl.org/dc/dcmitype/Service + + 60.04 13.75 + 68.41 17.92 + + + + urn:uuid:66ae76b7-54ba-489b-a582-0f0633d96493 + Maecenas enim + http://purl.org/dc/dcmitype/Text + + + urn:uuid:6a3de50b-fa66-4b58-a0e6-ca146fdd18d4 + Ut facilisis justo ut lacus + http://purl.org/dc/dcmitype/Service + + + urn:uuid:784e2afd-a9fd-44a6-9a92-a3848371c8ec + Aliquam fermentum purus quis arcu + http://purl.org/dc/dcmitype/Text + + + urn:uuid:829babb0-b2f1-49e1-8cd5-7b489fe71a1e + Vestibulum massa purus + http://purl.org/dc/dcmitype/Image + + + urn:uuid:88247b56-4cbc-4df9-9860-db3f8042e357 + + http://purl.org/dc/dcmitype/Dataset + + + urn:uuid:94bc9c83-97f6-4b40-9eb8-a8e8787a5c63 + Mauris sed neque + http://purl.org/dc/dcmitype/Dataset + + 47.59 -4.1 + 51.22 0.89 + + + + urn:uuid:9a669547-b69b-469f-a11f-2d875366bbdc + Ñunç elementum + http://purl.org/dc/dcmitype/Dataset + + 44.79 -6.17 + 51.13 -2.23 + + + + urn:uuid:a06af396-3105-442d-8b40-22b57a90d2f2 + Lorem ipsum dolor sit amet + http://purl.org/dc/dcmitype/Image + + + diff --git a/tests/functionaltests/suites/csw30/expected/get_405e1ff1-5c75-4846-a28b-cfaff2a6921a.xml b/tests/functionaltests/suites/csw30/expected/get_405e1ff1-5c75-4846-a28b-cfaff2a6921a.xml new file mode 100644 index 000000000..22bdf2c6f --- /dev/null +++ b/tests/functionaltests/suites/csw30/expected/get_405e1ff1-5c75-4846-a28b-cfaff2a6921a.xml @@ -0,0 +1,23 @@ + + + + + + + urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f + Lorem ipsum + http://purl.org/dc/dcmitype/Image + Tourism--Greece + image/svg+xml + Quisque lacus diam, placerat mollis, pharetra in, commodo sed, augue. Duis iaculis arcu vel arcu. + + + urn:uuid:e9330592-0932-474b-be34-c3a3bb67c7db + Fuscé vitae ligulä + http://purl.org/dc/dcmitype/Text + Land titles + text/rtf + Morbi ultriçes, dui suscipit vestibulum prètium, velit ante pretium tortor, egët tincidunt pede odio ac nulla. + + + diff --git a/tests/functionaltests/suites/csw30/expected/get_43cd6471-6ac7-45bd-8ff9-148cb2de9a52.xml b/tests/functionaltests/suites/csw30/expected/get_43cd6471-6ac7-45bd-8ff9-148cb2de9a52.xml new file mode 100644 index 000000000..ce9c9355d --- /dev/null +++ b/tests/functionaltests/suites/csw30/expected/get_43cd6471-6ac7-45bd-8ff9-148cb2de9a52.xml @@ -0,0 +1,491 @@ + + + + + pycsw Geospatial Catalogue + pycsw is an OGC CSW server implementation written in Python + + catalogue + discovery + theme + + CSW + 2.0.2 + 3.0.0 + None + None + + + pycsw + + + Kralidis, Tom + Senior Systems Scientist + + + +01-416-xxx-xxxx + +01-416-xxx-xxxx + + + TBA + Toronto + Ontario + M9C 3Z9 + Canada + tomkralidis@gmail.com + + + 0800h - 1600h EST + During hours of service. Off on weekends. + + pointOfContact + + + + + + + + + + + + + application/xml + text/xml + + + + + 2.0.2 + 3.0.0 + + + + + All + Filter_Capabilities + OperationsMetadata + ServiceIdentification + ServiceProvider + + + + + + + + + + + + + GetCapabilities.acceptFormats + GetCapabilities.acceptVersions + GetCapabilities.sections + GetRecordById.ElementSetName + GetRecordById.outputFormat + GetRecordById.outputSchema + GetRecords.CONSTRAINTLANGUAGE + GetRecords.ElementSetName + GetRecords.outputFormat + GetRecords.outputSchema + GetRecords.typeNames + + + + + + + + + + + + + CQL_TEXT + FILTER + + + + + brief + full + summary + + + + + application/atom+xml + application/json + application/xml + + + + + http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ + http://www.interlis.ch/INTERLIS2.3 + http://www.opengis.net/cat/csw/3.0 + http://www.opengis.net/cat/csw/csdgm + http://www.w3.org/2005/Atom + + + + + csw:Record + + + + + 10 + + + + + http://localhost/pycsw/csw.py?config=tests/suites/csw30/default.cfg?mode=opensearch&service=CSW&version=3.0.0&request=GetCapabilities + + + + + http://demo.pycsw.org/gisdata/csw + + + + + + + + + + + + + brief + full + summary + + + + + application/atom+xml + application/json + application/xml + + + + + http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ + http://www.interlis.ch/INTERLIS2.3 + http://www.opengis.net/cat/csw/3.0 + http://www.opengis.net/cat/csw/csdgm + http://www.w3.org/2005/Atom + + + + + + + + + + + + + CSW + + + + + 2.0.2 + 3.0.0 + + + + + csw:AnyText + dc:contributor + dc:creator + dc:date + dc:format + dc:identifier + dc:language + dc:publisher + dc:relation + dc:rights + dc:source + dc:subject + dc:title + dc:type + dct:abstract + dct:modified + ows:BoundingBox + + + + + http://demo.pycsw.org/gisdata/csw + + + + + 10 + + + + + SOAP + XML + + + + + allowed + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + http://www.opengis.net/gml + + + + + TRUE + + + + + en + + + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + xs:string + + + xs:string + + + xs:string + + + xs:string + + + xs:string + + + xs:string + + + + diff --git a/tests/functionaltests/suites/csw30/expected/get_4566d2ec-1283-4a02-baed-a74fc5b47e37.xml b/tests/functionaltests/suites/csw30/expected/get_4566d2ec-1283-4a02-baed-a74fc5b47e37.xml new file mode 100644 index 000000000..e907a5144 --- /dev/null +++ b/tests/functionaltests/suites/csw30/expected/get_4566d2ec-1283-4a02-baed-a74fc5b47e37.xml @@ -0,0 +1,18 @@ + + + + + pycsw Geospatial Catalogue + pycsw is an OGC CSW server implementation written in Python + + catalogue + discovery + theme + + CSW + 2.0.2 + 3.0.0 + None + None + + diff --git a/tests/functionaltests/suites/csw30/expected/get_461bd4c5-6623-490d-9036-d91a2201e87b.xml b/tests/functionaltests/suites/csw30/expected/get_461bd4c5-6623-490d-9036-d91a2201e87b.xml new file mode 100644 index 000000000..cd2d3db66 --- /dev/null +++ b/tests/functionaltests/suites/csw30/expected/get_461bd4c5-6623-490d-9036-d91a2201e87b.xml @@ -0,0 +1,3 @@ + + + diff --git a/tests/functionaltests/suites/csw30/expected/get_5496894a-3877-4f62-a20b-5d7126f94925.xml b/tests/functionaltests/suites/csw30/expected/get_5496894a-3877-4f62-a20b-5d7126f94925.xml new file mode 100644 index 000000000..f0c8bac70 --- /dev/null +++ b/tests/functionaltests/suites/csw30/expected/get_5496894a-3877-4f62-a20b-5d7126f94925.xml @@ -0,0 +1,7 @@ + + + + + 4326 coordinates out of range: ['514432', '5429689', '529130', '5451619'] + + diff --git a/tests/functionaltests/suites/csw30/expected/get_5a015f6a-bf14-4977-b1e3-6577eb0223c8.xml b/tests/functionaltests/suites/csw30/expected/get_5a015f6a-bf14-4977-b1e3-6577eb0223c8.xml new file mode 100644 index 000000000..73b0f786a --- /dev/null +++ b/tests/functionaltests/suites/csw30/expected/get_5a015f6a-bf14-4977-b1e3-6577eb0223c8.xml @@ -0,0 +1,40 @@ + + + + + + + urn:uuid:1ef30a8b-876d-4828-9246-c37ab4510bbd + + http://purl.org/dc/dcmitype/Service + Proin sit amet justo. In justo. Aenean adipiscing nulla id tellus. + + 60.04 13.75 + 68.41 17.92 + + + + urn:uuid:94bc9c83-97f6-4b40-9eb8-a8e8787a5c63 + Mauris sed neque + http://purl.org/dc/dcmitype/Dataset + Vegetation-Cropland + Curabitur lacinia, ante non porta tempus, mi lorem feugiat odio, eget suscipit eros pede ac velit. + 2006-03-26 + + 47.59 -4.1 + 51.22 0.89 + + + + urn:uuid:9a669547-b69b-469f-a11f-2d875366bbdc + Ñunç elementum + http://purl.org/dc/dcmitype/Dataset + Hydrography-Oceanographic + 2005-10-24 + + 44.79 -6.17 + 51.13 -2.23 + + + + diff --git a/tests/functionaltests/suites/csw30/expected/get_5c3a2390-1fb9-43f0-b96c-f48c7a69c990.xml b/tests/functionaltests/suites/csw30/expected/get_5c3a2390-1fb9-43f0-b96c-f48c7a69c990.xml new file mode 100644 index 000000000..ffd1bd085 --- /dev/null +++ b/tests/functionaltests/suites/csw30/expected/get_5c3a2390-1fb9-43f0-b96c-f48c7a69c990.xml @@ -0,0 +1,7 @@ + + + + + Invalid outputformat parameter model/vnd.collada+xml + + diff --git a/tests/functionaltests/suites/csw30/expected/get_5e9e67dc-18d6-4645-8111-c6263c88a61f.xml b/tests/functionaltests/suites/csw30/expected/get_5e9e67dc-18d6-4645-8111-c6263c88a61f.xml new file mode 100644 index 000000000..4d3fed27a --- /dev/null +++ b/tests/functionaltests/suites/csw30/expected/get_5e9e67dc-18d6-4645-8111-c6263c88a61f.xml @@ -0,0 +1,326 @@ + + + + + + + + + + + + + + application/xml + text/xml + + + + + 2.0.2 + 3.0.0 + + + + + All + Filter_Capabilities + OperationsMetadata + ServiceIdentification + ServiceProvider + + + + + + + + + + + + + GetCapabilities.acceptFormats + GetCapabilities.acceptVersions + GetCapabilities.sections + GetRecordById.ElementSetName + GetRecordById.outputFormat + GetRecordById.outputSchema + GetRecords.CONSTRAINTLANGUAGE + GetRecords.ElementSetName + GetRecords.outputFormat + GetRecords.outputSchema + GetRecords.typeNames + + + + + + + + + + + + + CQL_TEXT + FILTER + + + + + brief + full + summary + + + + + application/atom+xml + application/json + application/xml + + + + + http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ + http://www.interlis.ch/INTERLIS2.3 + http://www.opengis.net/cat/csw/3.0 + http://www.opengis.net/cat/csw/csdgm + http://www.w3.org/2005/Atom + + + + + csw:Record + + + + + 10 + + + + + http://localhost/pycsw/csw.py?config=tests/suites/csw30/default.cfg?mode=opensearch&service=CSW&version=3.0.0&request=GetCapabilities + + + + + http://demo.pycsw.org/gisdata/csw + + + + + + + + + + + + + brief + full + summary + + + + + application/atom+xml + application/json + application/xml + + + + + http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ + http://www.interlis.ch/INTERLIS2.3 + http://www.opengis.net/cat/csw/3.0 + http://www.opengis.net/cat/csw/csdgm + http://www.w3.org/2005/Atom + + + + + + + + + + + + + CSW + + + + + 2.0.2 + 3.0.0 + + + + + csw:AnyText + dc:contributor + dc:creator + dc:date + dc:format + dc:identifier + dc:language + dc:publisher + dc:relation + dc:rights + dc:source + dc:subject + dc:title + dc:type + dct:abstract + dct:modified + ows:BoundingBox + + + + + http://demo.pycsw.org/gisdata/csw + + + + + 10 + + + + + SOAP + XML + + + + + allowed + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + http://www.opengis.net/gml + + + + + TRUE + + + + diff --git a/tests/functionaltests/suites/csw30/expected/get_604d9379-741c-42e5-b4cf-92e56c87fa64.xml b/tests/functionaltests/suites/csw30/expected/get_604d9379-741c-42e5-b4cf-92e56c87fa64.xml new file mode 100644 index 000000000..17019ae5c --- /dev/null +++ b/tests/functionaltests/suites/csw30/expected/get_604d9379-741c-42e5-b4cf-92e56c87fa64.xml @@ -0,0 +1,32 @@ + + + + + + + urn:uuid:1ef30a8b-876d-4828-9246-c37ab4510bbd + + http://purl.org/dc/dcmitype/Service + Proin sit amet justo. In justo. Aenean adipiscing nulla id tellus. + + 60.04 13.75 + 68.41 17.92 + + + + urn:uuid:784e2afd-a9fd-44a6-9a92-a3848371c8ec + Aliquam fermentum purus quis arcu + http://purl.org/dc/dcmitype/Text + Hydrography--Dictionaries + application/pdf + Vestibulum quis ipsum sit amet metus imperdiet vehicula. Nulla scelerisque cursus mi. + 2006-05-12 + + + urn:uuid:a06af396-3105-442d-8b40-22b57a90d2f2 + Lorem ipsum dolor sit amet + http://purl.org/dc/dcmitype/Image + image/jpeg + + + diff --git a/tests/functionaltests/suites/csw30/expected/get_60e6af95-d5fc-465a-82e2-fd2e6d85e4af.xml b/tests/functionaltests/suites/csw30/expected/get_60e6af95-d5fc-465a-82e2-fd2e6d85e4af.xml new file mode 100644 index 000000000..d4ac1d550 --- /dev/null +++ b/tests/functionaltests/suites/csw30/expected/get_60e6af95-d5fc-465a-82e2-fd2e6d85e4af.xml @@ -0,0 +1,7 @@ + + + + + Invalid typeNames parameter value: UnknownType + + diff --git a/tests/functionaltests/suites/csw30/expected/get_62ad94c2-b558-4265-a427-23d6677975d6.xml b/tests/functionaltests/suites/csw30/expected/get_62ad94c2-b558-4265-a427-23d6677975d6.xml new file mode 100644 index 000000000..faf07a500 --- /dev/null +++ b/tests/functionaltests/suites/csw30/expected/get_62ad94c2-b558-4265-a427-23d6677975d6.xml @@ -0,0 +1,7 @@ + + + + + No records found for 'uid-bc5017e6-5cc8-4b03-aee7-d88f88caba0a' + + diff --git a/tests/functionaltests/suites/csw30/expected/get_6a5e247b-0961-4b8a-a0d6-35a491d9cfe7.xml b/tests/functionaltests/suites/csw30/expected/get_6a5e247b-0961-4b8a-a0d6-35a491d9cfe7.xml new file mode 100644 index 000000000..5912e69e9 --- /dev/null +++ b/tests/functionaltests/suites/csw30/expected/get_6a5e247b-0961-4b8a-a0d6-35a491d9cfe7.xml @@ -0,0 +1,7 @@ + + + + + Invalid ElementSetName parameter value: undefined-view + + diff --git a/tests/functionaltests/suites/csw30/expected/get_6a9d0558-9d87-495b-b999-b49a3ef1cf99.xml b/tests/functionaltests/suites/csw30/expected/get_6a9d0558-9d87-495b-b999-b49a3ef1cf99.xml new file mode 100644 index 000000000..ce9c9355d --- /dev/null +++ b/tests/functionaltests/suites/csw30/expected/get_6a9d0558-9d87-495b-b999-b49a3ef1cf99.xml @@ -0,0 +1,491 @@ + + + + + pycsw Geospatial Catalogue + pycsw is an OGC CSW server implementation written in Python + + catalogue + discovery + theme + + CSW + 2.0.2 + 3.0.0 + None + None + + + pycsw + + + Kralidis, Tom + Senior Systems Scientist + + + +01-416-xxx-xxxx + +01-416-xxx-xxxx + + + TBA + Toronto + Ontario + M9C 3Z9 + Canada + tomkralidis@gmail.com + + + 0800h - 1600h EST + During hours of service. Off on weekends. + + pointOfContact + + + + + + + + + + + + + application/xml + text/xml + + + + + 2.0.2 + 3.0.0 + + + + + All + Filter_Capabilities + OperationsMetadata + ServiceIdentification + ServiceProvider + + + + + + + + + + + + + GetCapabilities.acceptFormats + GetCapabilities.acceptVersions + GetCapabilities.sections + GetRecordById.ElementSetName + GetRecordById.outputFormat + GetRecordById.outputSchema + GetRecords.CONSTRAINTLANGUAGE + GetRecords.ElementSetName + GetRecords.outputFormat + GetRecords.outputSchema + GetRecords.typeNames + + + + + + + + + + + + + CQL_TEXT + FILTER + + + + + brief + full + summary + + + + + application/atom+xml + application/json + application/xml + + + + + http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ + http://www.interlis.ch/INTERLIS2.3 + http://www.opengis.net/cat/csw/3.0 + http://www.opengis.net/cat/csw/csdgm + http://www.w3.org/2005/Atom + + + + + csw:Record + + + + + 10 + + + + + http://localhost/pycsw/csw.py?config=tests/suites/csw30/default.cfg?mode=opensearch&service=CSW&version=3.0.0&request=GetCapabilities + + + + + http://demo.pycsw.org/gisdata/csw + + + + + + + + + + + + + brief + full + summary + + + + + application/atom+xml + application/json + application/xml + + + + + http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ + http://www.interlis.ch/INTERLIS2.3 + http://www.opengis.net/cat/csw/3.0 + http://www.opengis.net/cat/csw/csdgm + http://www.w3.org/2005/Atom + + + + + + + + + + + + + CSW + + + + + 2.0.2 + 3.0.0 + + + + + csw:AnyText + dc:contributor + dc:creator + dc:date + dc:format + dc:identifier + dc:language + dc:publisher + dc:relation + dc:rights + dc:source + dc:subject + dc:title + dc:type + dct:abstract + dct:modified + ows:BoundingBox + + + + + http://demo.pycsw.org/gisdata/csw + + + + + 10 + + + + + SOAP + XML + + + + + allowed + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + http://www.opengis.net/gml + + + + + TRUE + + + + + en + + + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + xs:string + + + xs:string + + + xs:string + + + xs:string + + + xs:string + + + xs:string + + + + diff --git a/tests/functionaltests/suites/csw30/expected/get_6bd790c9-6019-4652-9c91-330a894d6700.xml b/tests/functionaltests/suites/csw30/expected/get_6bd790c9-6019-4652-9c91-330a894d6700.xml new file mode 100644 index 000000000..1430fc363 --- /dev/null +++ b/tests/functionaltests/suites/csw30/expected/get_6bd790c9-6019-4652-9c91-330a894d6700.xml @@ -0,0 +1,16 @@ + + + + + + + urn:uuid:e9330592-0932-474b-be34-c3a3bb67c7db + Fuscé vitae ligulä + http://purl.org/dc/dcmitype/Text + Land titles + text/rtf + Morbi ultriçes, dui suscipit vestibulum prètium, velit ante pretium tortor, egët tincidunt pede odio ac nulla. + 2003-05-09 + + + diff --git a/tests/functionaltests/suites/csw30/expected/get_6e9cba43-5e27-415d-adbd-a92851c2c173.xml b/tests/functionaltests/suites/csw30/expected/get_6e9cba43-5e27-415d-adbd-a92851c2c173.xml new file mode 100644 index 000000000..ce9c9355d --- /dev/null +++ b/tests/functionaltests/suites/csw30/expected/get_6e9cba43-5e27-415d-adbd-a92851c2c173.xml @@ -0,0 +1,491 @@ + + + + + pycsw Geospatial Catalogue + pycsw is an OGC CSW server implementation written in Python + + catalogue + discovery + theme + + CSW + 2.0.2 + 3.0.0 + None + None + + + pycsw + + + Kralidis, Tom + Senior Systems Scientist + + + +01-416-xxx-xxxx + +01-416-xxx-xxxx + + + TBA + Toronto + Ontario + M9C 3Z9 + Canada + tomkralidis@gmail.com + + + 0800h - 1600h EST + During hours of service. Off on weekends. + + pointOfContact + + + + + + + + + + + + + application/xml + text/xml + + + + + 2.0.2 + 3.0.0 + + + + + All + Filter_Capabilities + OperationsMetadata + ServiceIdentification + ServiceProvider + + + + + + + + + + + + + GetCapabilities.acceptFormats + GetCapabilities.acceptVersions + GetCapabilities.sections + GetRecordById.ElementSetName + GetRecordById.outputFormat + GetRecordById.outputSchema + GetRecords.CONSTRAINTLANGUAGE + GetRecords.ElementSetName + GetRecords.outputFormat + GetRecords.outputSchema + GetRecords.typeNames + + + + + + + + + + + + + CQL_TEXT + FILTER + + + + + brief + full + summary + + + + + application/atom+xml + application/json + application/xml + + + + + http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ + http://www.interlis.ch/INTERLIS2.3 + http://www.opengis.net/cat/csw/3.0 + http://www.opengis.net/cat/csw/csdgm + http://www.w3.org/2005/Atom + + + + + csw:Record + + + + + 10 + + + + + http://localhost/pycsw/csw.py?config=tests/suites/csw30/default.cfg?mode=opensearch&service=CSW&version=3.0.0&request=GetCapabilities + + + + + http://demo.pycsw.org/gisdata/csw + + + + + + + + + + + + + brief + full + summary + + + + + application/atom+xml + application/json + application/xml + + + + + http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ + http://www.interlis.ch/INTERLIS2.3 + http://www.opengis.net/cat/csw/3.0 + http://www.opengis.net/cat/csw/csdgm + http://www.w3.org/2005/Atom + + + + + + + + + + + + + CSW + + + + + 2.0.2 + 3.0.0 + + + + + csw:AnyText + dc:contributor + dc:creator + dc:date + dc:format + dc:identifier + dc:language + dc:publisher + dc:relation + dc:rights + dc:source + dc:subject + dc:title + dc:type + dct:abstract + dct:modified + ows:BoundingBox + + + + + http://demo.pycsw.org/gisdata/csw + + + + + 10 + + + + + SOAP + XML + + + + + allowed + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + http://www.opengis.net/gml + + + + + TRUE + + + + + en + + + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + xs:string + + + xs:string + + + xs:string + + + xs:string + + + xs:string + + + xs:string + + + + diff --git a/tests/functionaltests/suites/csw30/expected/get_7630d230-e142-4a09-accf-f091000b90cd.xml b/tests/functionaltests/suites/csw30/expected/get_7630d230-e142-4a09-accf-f091000b90cd.xml new file mode 100644 index 000000000..9a891dc4d --- /dev/null +++ b/tests/functionaltests/suites/csw30/expected/get_7630d230-e142-4a09-accf-f091000b90cd.xml @@ -0,0 +1,10 @@ + + + + urn:uuid:66ae76b7-54ba-489b-a582-0f0633d96493 + Maecenas enim + http://purl.org/dc/dcmitype/Text + Marine sediments + application/xhtml+xml + Pellentesque tempus magna non sapien fringilla blandit. + diff --git a/tests/functionaltests/suites/csw30/expected/get_7e82446a-b5dc-43fe-9a73-4cc1f2f2f0bf.xml b/tests/functionaltests/suites/csw30/expected/get_7e82446a-b5dc-43fe-9a73-4cc1f2f2f0bf.xml new file mode 100644 index 000000000..ce9c9355d --- /dev/null +++ b/tests/functionaltests/suites/csw30/expected/get_7e82446a-b5dc-43fe-9a73-4cc1f2f2f0bf.xml @@ -0,0 +1,491 @@ + + + + + pycsw Geospatial Catalogue + pycsw is an OGC CSW server implementation written in Python + + catalogue + discovery + theme + + CSW + 2.0.2 + 3.0.0 + None + None + + + pycsw + + + Kralidis, Tom + Senior Systems Scientist + + + +01-416-xxx-xxxx + +01-416-xxx-xxxx + + + TBA + Toronto + Ontario + M9C 3Z9 + Canada + tomkralidis@gmail.com + + + 0800h - 1600h EST + During hours of service. Off on weekends. + + pointOfContact + + + + + + + + + + + + + application/xml + text/xml + + + + + 2.0.2 + 3.0.0 + + + + + All + Filter_Capabilities + OperationsMetadata + ServiceIdentification + ServiceProvider + + + + + + + + + + + + + GetCapabilities.acceptFormats + GetCapabilities.acceptVersions + GetCapabilities.sections + GetRecordById.ElementSetName + GetRecordById.outputFormat + GetRecordById.outputSchema + GetRecords.CONSTRAINTLANGUAGE + GetRecords.ElementSetName + GetRecords.outputFormat + GetRecords.outputSchema + GetRecords.typeNames + + + + + + + + + + + + + CQL_TEXT + FILTER + + + + + brief + full + summary + + + + + application/atom+xml + application/json + application/xml + + + + + http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ + http://www.interlis.ch/INTERLIS2.3 + http://www.opengis.net/cat/csw/3.0 + http://www.opengis.net/cat/csw/csdgm + http://www.w3.org/2005/Atom + + + + + csw:Record + + + + + 10 + + + + + http://localhost/pycsw/csw.py?config=tests/suites/csw30/default.cfg?mode=opensearch&service=CSW&version=3.0.0&request=GetCapabilities + + + + + http://demo.pycsw.org/gisdata/csw + + + + + + + + + + + + + brief + full + summary + + + + + application/atom+xml + application/json + application/xml + + + + + http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ + http://www.interlis.ch/INTERLIS2.3 + http://www.opengis.net/cat/csw/3.0 + http://www.opengis.net/cat/csw/csdgm + http://www.w3.org/2005/Atom + + + + + + + + + + + + + CSW + + + + + 2.0.2 + 3.0.0 + + + + + csw:AnyText + dc:contributor + dc:creator + dc:date + dc:format + dc:identifier + dc:language + dc:publisher + dc:relation + dc:rights + dc:source + dc:subject + dc:title + dc:type + dct:abstract + dct:modified + ows:BoundingBox + + + + + http://demo.pycsw.org/gisdata/csw + + + + + 10 + + + + + SOAP + XML + + + + + allowed + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + http://www.opengis.net/gml + + + + + TRUE + + + + + en + + + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + xs:string + + + xs:string + + + xs:string + + + xs:string + + + xs:string + + + xs:string + + + + diff --git a/tests/functionaltests/suites/csw30/expected/get_8025978e-1a35-4d70-80c2-e8329e0c7864.xml b/tests/functionaltests/suites/csw30/expected/get_8025978e-1a35-4d70-80c2-e8329e0c7864.xml new file mode 100644 index 000000000..ce9c9355d --- /dev/null +++ b/tests/functionaltests/suites/csw30/expected/get_8025978e-1a35-4d70-80c2-e8329e0c7864.xml @@ -0,0 +1,491 @@ + + + + + pycsw Geospatial Catalogue + pycsw is an OGC CSW server implementation written in Python + + catalogue + discovery + theme + + CSW + 2.0.2 + 3.0.0 + None + None + + + pycsw + + + Kralidis, Tom + Senior Systems Scientist + + + +01-416-xxx-xxxx + +01-416-xxx-xxxx + + + TBA + Toronto + Ontario + M9C 3Z9 + Canada + tomkralidis@gmail.com + + + 0800h - 1600h EST + During hours of service. Off on weekends. + + pointOfContact + + + + + + + + + + + + + application/xml + text/xml + + + + + 2.0.2 + 3.0.0 + + + + + All + Filter_Capabilities + OperationsMetadata + ServiceIdentification + ServiceProvider + + + + + + + + + + + + + GetCapabilities.acceptFormats + GetCapabilities.acceptVersions + GetCapabilities.sections + GetRecordById.ElementSetName + GetRecordById.outputFormat + GetRecordById.outputSchema + GetRecords.CONSTRAINTLANGUAGE + GetRecords.ElementSetName + GetRecords.outputFormat + GetRecords.outputSchema + GetRecords.typeNames + + + + + + + + + + + + + CQL_TEXT + FILTER + + + + + brief + full + summary + + + + + application/atom+xml + application/json + application/xml + + + + + http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ + http://www.interlis.ch/INTERLIS2.3 + http://www.opengis.net/cat/csw/3.0 + http://www.opengis.net/cat/csw/csdgm + http://www.w3.org/2005/Atom + + + + + csw:Record + + + + + 10 + + + + + http://localhost/pycsw/csw.py?config=tests/suites/csw30/default.cfg?mode=opensearch&service=CSW&version=3.0.0&request=GetCapabilities + + + + + http://demo.pycsw.org/gisdata/csw + + + + + + + + + + + + + brief + full + summary + + + + + application/atom+xml + application/json + application/xml + + + + + http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ + http://www.interlis.ch/INTERLIS2.3 + http://www.opengis.net/cat/csw/3.0 + http://www.opengis.net/cat/csw/csdgm + http://www.w3.org/2005/Atom + + + + + + + + + + + + + CSW + + + + + 2.0.2 + 3.0.0 + + + + + csw:AnyText + dc:contributor + dc:creator + dc:date + dc:format + dc:identifier + dc:language + dc:publisher + dc:relation + dc:rights + dc:source + dc:subject + dc:title + dc:type + dct:abstract + dct:modified + ows:BoundingBox + + + + + http://demo.pycsw.org/gisdata/csw + + + + + 10 + + + + + SOAP + XML + + + + + allowed + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + http://www.opengis.net/gml + + + + + TRUE + + + + + en + + + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + xs:string + + + xs:string + + + xs:string + + + xs:string + + + xs:string + + + xs:string + + + + diff --git a/tests/functionaltests/suites/csw30/expected/get_8184ae4f-536d-4978-8b28-ad703be96967.xml b/tests/functionaltests/suites/csw30/expected/get_8184ae4f-536d-4978-8b28-ad703be96967.xml new file mode 100644 index 000000000..0965e0534 --- /dev/null +++ b/tests/functionaltests/suites/csw30/expected/get_8184ae4f-536d-4978-8b28-ad703be96967.xml @@ -0,0 +1,34 @@ + + + + + + + urn:uuid:1ef30a8b-876d-4828-9246-c37ab4510bbd + + http://purl.org/dc/dcmitype/Service + + 60.04 13.75 + 68.41 17.92 + + + + urn:uuid:94bc9c83-97f6-4b40-9eb8-a8e8787a5c63 + Mauris sed neque + http://purl.org/dc/dcmitype/Dataset + + 47.59 -4.1 + 51.22 0.89 + + + + urn:uuid:9a669547-b69b-469f-a11f-2d875366bbdc + Ñunç elementum + http://purl.org/dc/dcmitype/Dataset + + 44.79 -6.17 + 51.13 -2.23 + + + + diff --git a/tests/functionaltests/suites/csw30/expected/get_88f63a89-664f-4315-b4f8-04a0b33803a7.xml b/tests/functionaltests/suites/csw30/expected/get_88f63a89-664f-4315-b4f8-04a0b33803a7.xml new file mode 100644 index 000000000..63e215121 --- /dev/null +++ b/tests/functionaltests/suites/csw30/expected/get_88f63a89-664f-4315-b4f8-04a0b33803a7.xml @@ -0,0 +1,18 @@ + + + + + + + urn:uuid:94bc9c83-97f6-4b40-9eb8-a8e8787a5c63 + Mauris sed neque + http://purl.org/dc/dcmitype/Dataset + Vegetation-Cropland + Curabitur lacinia, ante non porta tempus, mi lorem feugiat odio, eget suscipit eros pede ac velit. + + 47.59 -4.1 + 51.22 0.89 + + + + diff --git a/tests/functionaltests/suites/csw30/expected/get_8987f8f0-4d93-4481-968c-a2ccbd6b8be2.xml b/tests/functionaltests/suites/csw30/expected/get_8987f8f0-4d93-4481-968c-a2ccbd6b8be2.xml new file mode 100644 index 000000000..d40a39ab3 --- /dev/null +++ b/tests/functionaltests/suites/csw30/expected/get_8987f8f0-4d93-4481-968c-a2ccbd6b8be2.xml @@ -0,0 +1,7 @@ + + + + + No repository item found for 'urn:example:1461546298217' + + diff --git a/tests/functionaltests/suites/csw30/expected/get_8e5fa0f6-3f29-4d1f-abe2-d9866f3def98.xml b/tests/functionaltests/suites/csw30/expected/get_8e5fa0f6-3f29-4d1f-abe2-d9866f3def98.xml new file mode 100644 index 000000000..6a8e4b02d --- /dev/null +++ b/tests/functionaltests/suites/csw30/expected/get_8e5fa0f6-3f29-4d1f-abe2-d9866f3def98.xml @@ -0,0 +1,58 @@ + + + + http://localhost/pycsw/csw.py?config=tests/suites/csw30/default.cfg + pycsw Geospatial Catalogue + + pycsw + + diff --git a/tests/functionaltests/suites/csw30/expected/get_9000ec29-5649-474e-b2d6-55c00f8a52c0.xml b/tests/functionaltests/suites/csw30/expected/get_9000ec29-5649-474e-b2d6-55c00f8a52c0.xml new file mode 100644 index 000000000..3e5a418e8 --- /dev/null +++ b/tests/functionaltests/suites/csw30/expected/get_9000ec29-5649-474e-b2d6-55c00f8a52c0.xml @@ -0,0 +1,7 @@ + + + + + Invalid parameter value in acceptversions: 9999.12.31. Value MUST be 2.0.2 or 3.0.0 + + diff --git a/tests/functionaltests/suites/csw30/expected/get_91914d35-7bbf-45e6-9b37-5ef484869a4e.xml b/tests/functionaltests/suites/csw30/expected/get_91914d35-7bbf-45e6-9b37-5ef484869a4e.xml new file mode 100644 index 000000000..ef58aa944 --- /dev/null +++ b/tests/functionaltests/suites/csw30/expected/get_91914d35-7bbf-45e6-9b37-5ef484869a4e.xml @@ -0,0 +1,38 @@ + + + + + + + urn:uuid:1ef30a8b-876d-4828-9246-c37ab4510bbd + + http://purl.org/dc/dcmitype/Service + Proin sit amet justo. In justo. Aenean adipiscing nulla id tellus. + + 60.04 13.75 + 68.41 17.92 + + + + urn:uuid:94bc9c83-97f6-4b40-9eb8-a8e8787a5c63 + Mauris sed neque + http://purl.org/dc/dcmitype/Dataset + Vegetation-Cropland + Curabitur lacinia, ante non porta tempus, mi lorem feugiat odio, eget suscipit eros pede ac velit. + + 47.59 -4.1 + 51.22 0.89 + + + + urn:uuid:9a669547-b69b-469f-a11f-2d875366bbdc + Ñunç elementum + http://purl.org/dc/dcmitype/Dataset + Hydrography-Oceanographic + + 44.79 -6.17 + 51.13 -2.23 + + + + diff --git a/tests/functionaltests/suites/csw30/expected/get_92d4844d-57d5-4cf3-8f47-ba50e369dc04.xml b/tests/functionaltests/suites/csw30/expected/get_92d4844d-57d5-4cf3-8f47-ba50e369dc04.xml new file mode 100644 index 000000000..d91c31b05 --- /dev/null +++ b/tests/functionaltests/suites/csw30/expected/get_92d4844d-57d5-4cf3-8f47-ba50e369dc04.xml @@ -0,0 +1,6 @@ + + + + + + diff --git a/tests/functionaltests/suites/csw30/expected/get_9c0e2a4b-b4e6-41c0-b630-c8c99fc89ff3.xml b/tests/functionaltests/suites/csw30/expected/get_9c0e2a4b-b4e6-41c0-b630-c8c99fc89ff3.xml new file mode 100644 index 000000000..e01594260 --- /dev/null +++ b/tests/functionaltests/suites/csw30/expected/get_9c0e2a4b-b4e6-41c0-b630-c8c99fc89ff3.xml @@ -0,0 +1,7 @@ + + + + + Invalid outputSchema parameter value: urn:uuid:6a29d2a8-9651-47a6-9b14-f05d2b5644f0 + + diff --git a/tests/functionaltests/suites/csw30/expected/get_9d7ffac8-9798-428d-8e27-3cd12497ee6b.xml b/tests/functionaltests/suites/csw30/expected/get_9d7ffac8-9798-428d-8e27-3cd12497ee6b.xml new file mode 100644 index 000000000..e57613754 --- /dev/null +++ b/tests/functionaltests/suites/csw30/expected/get_9d7ffac8-9798-428d-8e27-3cd12497ee6b.xml @@ -0,0 +1,7 @@ + + + + + Invalid outputschema parameter http://www.example.org/ns/alpha + + diff --git a/tests/functionaltests/suites/csw30/expected/get_Exception-GetDomain-value-reference.xml b/tests/functionaltests/suites/csw30/expected/get_Exception-GetDomain-value-reference.xml new file mode 100644 index 000000000..3c1621b02 --- /dev/null +++ b/tests/functionaltests/suites/csw30/expected/get_Exception-GetDomain-value-reference.xml @@ -0,0 +1,7 @@ + + + + + dc:title2 + + diff --git a/tests/functionaltests/suites/csw30/expected/get_Exception-GetDomain.xml b/tests/functionaltests/suites/csw30/expected/get_Exception-GetDomain.xml new file mode 100644 index 000000000..ead68239e --- /dev/null +++ b/tests/functionaltests/suites/csw30/expected/get_Exception-GetDomain.xml @@ -0,0 +1,7 @@ + + + + + Missing value. One of valuereference or parametername must be specified + + diff --git a/tests/functionaltests/suites/csw30/expected/get_Exception-GetRecordById-404.xml b/tests/functionaltests/suites/csw30/expected/get_Exception-GetRecordById-404.xml new file mode 100644 index 000000000..bd41e1dfd --- /dev/null +++ b/tests/functionaltests/suites/csw30/expected/get_Exception-GetRecordById-404.xml @@ -0,0 +1,7 @@ + + + + + No repository item found for 'does_not_exist2' + + diff --git a/tests/functionaltests/suites/csw30/expected/get_Exception-GetRecordById-dc.xml.xml b/tests/functionaltests/suites/csw30/expected/get_Exception-GetRecordById-dc.xml.xml new file mode 100644 index 000000000..536321c2f --- /dev/null +++ b/tests/functionaltests/suites/csw30/expected/get_Exception-GetRecordById-dc.xml.xml @@ -0,0 +1,9 @@ + + + + urn:uuid:829babb0-b2f1-49e1-8cd5-7b489fe71a1e + Vestibulum massa purus + http://purl.org/dc/dcmitype/Image + image/jp2 + urn:uuid:9a669547-b69b-469f-a11f-2d875366bbdc + diff --git a/tests/functionaltests/suites/csw30/expected/get_Exception-GetRepositoryItem-notfound.xml b/tests/functionaltests/suites/csw30/expected/get_Exception-GetRepositoryItem-notfound.xml new file mode 100644 index 000000000..04c7e9c7d --- /dev/null +++ b/tests/functionaltests/suites/csw30/expected/get_Exception-GetRepositoryItem-notfound.xml @@ -0,0 +1,7 @@ + + + + + No repository item found for 'NOTFOUND' + + diff --git a/tests/functionaltests/suites/csw30/expected/get_Exception-invalid-request.xml b/tests/functionaltests/suites/csw30/expected/get_Exception-invalid-request.xml new file mode 100644 index 000000000..4cd3418d0 --- /dev/null +++ b/tests/functionaltests/suites/csw30/expected/get_Exception-invalid-request.xml @@ -0,0 +1,7 @@ + + + + + Invalid value for request: GetCapabilities-foo + + diff --git a/tests/functionaltests/suites/csw30/expected/get_GetCapabilities-base-url.xml b/tests/functionaltests/suites/csw30/expected/get_GetCapabilities-base-url.xml new file mode 100644 index 000000000..ce9c9355d --- /dev/null +++ b/tests/functionaltests/suites/csw30/expected/get_GetCapabilities-base-url.xml @@ -0,0 +1,491 @@ + + + + + pycsw Geospatial Catalogue + pycsw is an OGC CSW server implementation written in Python + + catalogue + discovery + theme + + CSW + 2.0.2 + 3.0.0 + None + None + + + pycsw + + + Kralidis, Tom + Senior Systems Scientist + + + +01-416-xxx-xxxx + +01-416-xxx-xxxx + + + TBA + Toronto + Ontario + M9C 3Z9 + Canada + tomkralidis@gmail.com + + + 0800h - 1600h EST + During hours of service. Off on weekends. + + pointOfContact + + + + + + + + + + + + + application/xml + text/xml + + + + + 2.0.2 + 3.0.0 + + + + + All + Filter_Capabilities + OperationsMetadata + ServiceIdentification + ServiceProvider + + + + + + + + + + + + + GetCapabilities.acceptFormats + GetCapabilities.acceptVersions + GetCapabilities.sections + GetRecordById.ElementSetName + GetRecordById.outputFormat + GetRecordById.outputSchema + GetRecords.CONSTRAINTLANGUAGE + GetRecords.ElementSetName + GetRecords.outputFormat + GetRecords.outputSchema + GetRecords.typeNames + + + + + + + + + + + + + CQL_TEXT + FILTER + + + + + brief + full + summary + + + + + application/atom+xml + application/json + application/xml + + + + + http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ + http://www.interlis.ch/INTERLIS2.3 + http://www.opengis.net/cat/csw/3.0 + http://www.opengis.net/cat/csw/csdgm + http://www.w3.org/2005/Atom + + + + + csw:Record + + + + + 10 + + + + + http://localhost/pycsw/csw.py?config=tests/suites/csw30/default.cfg?mode=opensearch&service=CSW&version=3.0.0&request=GetCapabilities + + + + + http://demo.pycsw.org/gisdata/csw + + + + + + + + + + + + + brief + full + summary + + + + + application/atom+xml + application/json + application/xml + + + + + http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ + http://www.interlis.ch/INTERLIS2.3 + http://www.opengis.net/cat/csw/3.0 + http://www.opengis.net/cat/csw/csdgm + http://www.w3.org/2005/Atom + + + + + + + + + + + + + CSW + + + + + 2.0.2 + 3.0.0 + + + + + csw:AnyText + dc:contributor + dc:creator + dc:date + dc:format + dc:identifier + dc:language + dc:publisher + dc:relation + dc:rights + dc:source + dc:subject + dc:title + dc:type + dct:abstract + dct:modified + ows:BoundingBox + + + + + http://demo.pycsw.org/gisdata/csw + + + + + 10 + + + + + SOAP + XML + + + + + allowed + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + http://www.opengis.net/gml + + + + + TRUE + + + + + en + + + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + xs:string + + + xs:string + + + xs:string + + + xs:string + + + xs:string + + + xs:string + + + + diff --git a/tests/functionaltests/suites/csw30/expected/get_GetCapabilities-no-version.xml b/tests/functionaltests/suites/csw30/expected/get_GetCapabilities-no-version.xml new file mode 100644 index 000000000..ce9c9355d --- /dev/null +++ b/tests/functionaltests/suites/csw30/expected/get_GetCapabilities-no-version.xml @@ -0,0 +1,491 @@ + + + + + pycsw Geospatial Catalogue + pycsw is an OGC CSW server implementation written in Python + + catalogue + discovery + theme + + CSW + 2.0.2 + 3.0.0 + None + None + + + pycsw + + + Kralidis, Tom + Senior Systems Scientist + + + +01-416-xxx-xxxx + +01-416-xxx-xxxx + + + TBA + Toronto + Ontario + M9C 3Z9 + Canada + tomkralidis@gmail.com + + + 0800h - 1600h EST + During hours of service. Off on weekends. + + pointOfContact + + + + + + + + + + + + + application/xml + text/xml + + + + + 2.0.2 + 3.0.0 + + + + + All + Filter_Capabilities + OperationsMetadata + ServiceIdentification + ServiceProvider + + + + + + + + + + + + + GetCapabilities.acceptFormats + GetCapabilities.acceptVersions + GetCapabilities.sections + GetRecordById.ElementSetName + GetRecordById.outputFormat + GetRecordById.outputSchema + GetRecords.CONSTRAINTLANGUAGE + GetRecords.ElementSetName + GetRecords.outputFormat + GetRecords.outputSchema + GetRecords.typeNames + + + + + + + + + + + + + CQL_TEXT + FILTER + + + + + brief + full + summary + + + + + application/atom+xml + application/json + application/xml + + + + + http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ + http://www.interlis.ch/INTERLIS2.3 + http://www.opengis.net/cat/csw/3.0 + http://www.opengis.net/cat/csw/csdgm + http://www.w3.org/2005/Atom + + + + + csw:Record + + + + + 10 + + + + + http://localhost/pycsw/csw.py?config=tests/suites/csw30/default.cfg?mode=opensearch&service=CSW&version=3.0.0&request=GetCapabilities + + + + + http://demo.pycsw.org/gisdata/csw + + + + + + + + + + + + + brief + full + summary + + + + + application/atom+xml + application/json + application/xml + + + + + http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ + http://www.interlis.ch/INTERLIS2.3 + http://www.opengis.net/cat/csw/3.0 + http://www.opengis.net/cat/csw/csdgm + http://www.w3.org/2005/Atom + + + + + + + + + + + + + CSW + + + + + 2.0.2 + 3.0.0 + + + + + csw:AnyText + dc:contributor + dc:creator + dc:date + dc:format + dc:identifier + dc:language + dc:publisher + dc:relation + dc:rights + dc:source + dc:subject + dc:title + dc:type + dct:abstract + dct:modified + ows:BoundingBox + + + + + http://demo.pycsw.org/gisdata/csw + + + + + 10 + + + + + SOAP + XML + + + + + allowed + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + http://www.opengis.net/gml + + + + + TRUE + + + + + en + + + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + xs:string + + + xs:string + + + xs:string + + + xs:string + + + xs:string + + + xs:string + + + + diff --git a/tests/functionaltests/suites/csw30/expected/get_GetCapabilities.xml b/tests/functionaltests/suites/csw30/expected/get_GetCapabilities.xml new file mode 100644 index 000000000..ce9c9355d --- /dev/null +++ b/tests/functionaltests/suites/csw30/expected/get_GetCapabilities.xml @@ -0,0 +1,491 @@ + + + + + pycsw Geospatial Catalogue + pycsw is an OGC CSW server implementation written in Python + + catalogue + discovery + theme + + CSW + 2.0.2 + 3.0.0 + None + None + + + pycsw + + + Kralidis, Tom + Senior Systems Scientist + + + +01-416-xxx-xxxx + +01-416-xxx-xxxx + + + TBA + Toronto + Ontario + M9C 3Z9 + Canada + tomkralidis@gmail.com + + + 0800h - 1600h EST + During hours of service. Off on weekends. + + pointOfContact + + + + + + + + + + + + + application/xml + text/xml + + + + + 2.0.2 + 3.0.0 + + + + + All + Filter_Capabilities + OperationsMetadata + ServiceIdentification + ServiceProvider + + + + + + + + + + + + + GetCapabilities.acceptFormats + GetCapabilities.acceptVersions + GetCapabilities.sections + GetRecordById.ElementSetName + GetRecordById.outputFormat + GetRecordById.outputSchema + GetRecords.CONSTRAINTLANGUAGE + GetRecords.ElementSetName + GetRecords.outputFormat + GetRecords.outputSchema + GetRecords.typeNames + + + + + + + + + + + + + CQL_TEXT + FILTER + + + + + brief + full + summary + + + + + application/atom+xml + application/json + application/xml + + + + + http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ + http://www.interlis.ch/INTERLIS2.3 + http://www.opengis.net/cat/csw/3.0 + http://www.opengis.net/cat/csw/csdgm + http://www.w3.org/2005/Atom + + + + + csw:Record + + + + + 10 + + + + + http://localhost/pycsw/csw.py?config=tests/suites/csw30/default.cfg?mode=opensearch&service=CSW&version=3.0.0&request=GetCapabilities + + + + + http://demo.pycsw.org/gisdata/csw + + + + + + + + + + + + + brief + full + summary + + + + + application/atom+xml + application/json + application/xml + + + + + http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ + http://www.interlis.ch/INTERLIS2.3 + http://www.opengis.net/cat/csw/3.0 + http://www.opengis.net/cat/csw/csdgm + http://www.w3.org/2005/Atom + + + + + + + + + + + + + CSW + + + + + 2.0.2 + 3.0.0 + + + + + csw:AnyText + dc:contributor + dc:creator + dc:date + dc:format + dc:identifier + dc:language + dc:publisher + dc:relation + dc:rights + dc:source + dc:subject + dc:title + dc:type + dct:abstract + dct:modified + ows:BoundingBox + + + + + http://demo.pycsw.org/gisdata/csw + + + + + 10 + + + + + SOAP + XML + + + + + allowed + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + http://www.opengis.net/gml + + + + + TRUE + + + + + en + + + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + xs:string + + + xs:string + + + xs:string + + + xs:string + + + xs:string + + + xs:string + + + + diff --git a/tests/functionaltests/suites/csw30/expected/get_GetDomain-parameter.xml b/tests/functionaltests/suites/csw30/expected/get_GetDomain-parameter.xml new file mode 100644 index 000000000..6b8227f71 --- /dev/null +++ b/tests/functionaltests/suites/csw30/expected/get_GetDomain-parameter.xml @@ -0,0 +1,12 @@ + + + + + GetRecords.ElementSetName + + brief + full + summary + + + diff --git a/tests/functionaltests/suites/csw30/expected/get_GetDomain-value-reference.xml b/tests/functionaltests/suites/csw30/expected/get_GetDomain-value-reference.xml new file mode 100644 index 000000000..3775ee212 --- /dev/null +++ b/tests/functionaltests/suites/csw30/expected/get_GetDomain-value-reference.xml @@ -0,0 +1,18 @@ + + + + + dc:title + + Aliquam fermentum purus quis arcu + Fuscé vitae ligulä + Lorem ipsum + Lorem ipsum dolor sit amet + Maecenas enim + Mauris sed neque + Ut facilisis justo ut lacus + Vestibulum massa purus + Ñunç elementum + + + diff --git a/tests/functionaltests/suites/csw30/expected/get_GetRepositoryItem.xml b/tests/functionaltests/suites/csw30/expected/get_GetRepositoryItem.xml new file mode 100644 index 000000000..862e439da --- /dev/null +++ b/tests/functionaltests/suites/csw30/expected/get_GetRepositoryItem.xml @@ -0,0 +1,11 @@ + + + + urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f + http://purl.org/dc/dcmitype/Image + image/svg+xml + Lorem ipsum + GR-22 + Tourism--Greece + Quisque lacus diam, placerat mollis, pharetra in, commodo sed, augue. Duis iaculis arcu vel arcu. + diff --git a/tests/functionaltests/suites/csw30/expected/get_OpenSearch-description.xml b/tests/functionaltests/suites/csw30/expected/get_OpenSearch-description.xml new file mode 100644 index 000000000..60ffc8d10 --- /dev/null +++ b/tests/functionaltests/suites/csw30/expected/get_OpenSearch-description.xml @@ -0,0 +1,15 @@ + + + + pycsw Geospatial + pycsw Geospatial Catalogue + pycsw is an OGC CSW server implementation written in Python + catalogue discovery + + + http://pycsw.org/img/favicon.ico + + Kralidis, Tom + tomkralidis@gmail.com + pycsw + diff --git a/tests/functionaltests/suites/csw30/expected/get_a2f18643-e24e-4fa5-b780-6de4a2dbc814.xml b/tests/functionaltests/suites/csw30/expected/get_a2f18643-e24e-4fa5-b780-6de4a2dbc814.xml new file mode 100644 index 000000000..96afaaf6f --- /dev/null +++ b/tests/functionaltests/suites/csw30/expected/get_a2f18643-e24e-4fa5-b780-6de4a2dbc814.xml @@ -0,0 +1,9 @@ + + + + urn:uuid:829babb0-b2f1-49e1-8cd5-7b489fe71a1e + urn:uuid:829babb0-b2f1-49e1-8cd5-7b489fe71a1e + + Vestibulum massa purus + PYCSW_TIMESTAMP + diff --git a/tests/functionaltests/suites/csw30/expected/get_abc90c8c-5868-4405-a73e-64c849be3b2a.xml b/tests/functionaltests/suites/csw30/expected/get_abc90c8c-5868-4405-a73e-64c849be3b2a.xml new file mode 100644 index 000000000..f0c8bac70 --- /dev/null +++ b/tests/functionaltests/suites/csw30/expected/get_abc90c8c-5868-4405-a73e-64c849be3b2a.xml @@ -0,0 +1,7 @@ + + + + + 4326 coordinates out of range: ['514432', '5429689', '529130', '5451619'] + + diff --git a/tests/functionaltests/suites/csw30/expected/get_ad0c0571-09ed-436a-9a4f-a5de744c88fe.xml b/tests/functionaltests/suites/csw30/expected/get_ad0c0571-09ed-436a-9a4f-a5de744c88fe.xml new file mode 100644 index 000000000..fb39b0b33 --- /dev/null +++ b/tests/functionaltests/suites/csw30/expected/get_ad0c0571-09ed-436a-9a4f-a5de744c88fe.xml @@ -0,0 +1,22 @@ + + + + + + + urn:uuid:66ae76b7-54ba-489b-a582-0f0633d96493 + Maecenas enim + http://purl.org/dc/dcmitype/Text + Marine sediments + application/xhtml+xml + Pellentesque tempus magna non sapien fringilla blandit. + + + urn:uuid:6a3de50b-fa66-4b58-a0e6-ca146fdd18d4 + Ut facilisis justo ut lacus + http://purl.org/dc/dcmitype/Service + Vegetation + urn:uuid:94bc9c83-97f6-4b40-9eb8-a8e8787a5c63 + + + diff --git a/tests/functionaltests/suites/csw30/expected/get_af502903-f4ee-47ee-b76e-af878d238bcc.xml b/tests/functionaltests/suites/csw30/expected/get_af502903-f4ee-47ee-b76e-af878d238bcc.xml new file mode 100644 index 000000000..73b0f786a --- /dev/null +++ b/tests/functionaltests/suites/csw30/expected/get_af502903-f4ee-47ee-b76e-af878d238bcc.xml @@ -0,0 +1,40 @@ + + + + + + + urn:uuid:1ef30a8b-876d-4828-9246-c37ab4510bbd + + http://purl.org/dc/dcmitype/Service + Proin sit amet justo. In justo. Aenean adipiscing nulla id tellus. + + 60.04 13.75 + 68.41 17.92 + + + + urn:uuid:94bc9c83-97f6-4b40-9eb8-a8e8787a5c63 + Mauris sed neque + http://purl.org/dc/dcmitype/Dataset + Vegetation-Cropland + Curabitur lacinia, ante non porta tempus, mi lorem feugiat odio, eget suscipit eros pede ac velit. + 2006-03-26 + + 47.59 -4.1 + 51.22 0.89 + + + + urn:uuid:9a669547-b69b-469f-a11f-2d875366bbdc + Ñunç elementum + http://purl.org/dc/dcmitype/Dataset + Hydrography-Oceanographic + 2005-10-24 + + 44.79 -6.17 + 51.13 -2.23 + + + + diff --git a/tests/functionaltests/suites/csw30/expected/get_b2aafc3f-4f35-47bc-affd-08590972deae.xml b/tests/functionaltests/suites/csw30/expected/get_b2aafc3f-4f35-47bc-affd-08590972deae.xml new file mode 100644 index 000000000..6a8e4b02d --- /dev/null +++ b/tests/functionaltests/suites/csw30/expected/get_b2aafc3f-4f35-47bc-affd-08590972deae.xml @@ -0,0 +1,58 @@ + + + + http://localhost/pycsw/csw.py?config=tests/suites/csw30/default.cfg + pycsw Geospatial Catalogue + + pycsw + + diff --git a/tests/functionaltests/suites/csw30/expected/get_b6069623-f7d8-4021-8582-98f0aea0f763.xml b/tests/functionaltests/suites/csw30/expected/get_b6069623-f7d8-4021-8582-98f0aea0f763.xml new file mode 100644 index 000000000..0ed0b0644 --- /dev/null +++ b/tests/functionaltests/suites/csw30/expected/get_b6069623-f7d8-4021-8582-98f0aea0f763.xml @@ -0,0 +1,48 @@ + + + + http://localhost/pycsw/csw.py?config=tests/suites/csw30/default.cfg + pycsw Geospatial Catalogue + + pycsw + + diff --git a/tests/functionaltests/suites/csw30/expected/get_b9a07a54-75a8-45bd-b341-2823600211e3.xml b/tests/functionaltests/suites/csw30/expected/get_b9a07a54-75a8-45bd-b341-2823600211e3.xml new file mode 100644 index 000000000..93cf54af2 --- /dev/null +++ b/tests/functionaltests/suites/csw30/expected/get_b9a07a54-75a8-45bd-b341-2823600211e3.xml @@ -0,0 +1,8 @@ + + + + + Invalid Filter query: Exception: document not valid. +Error: Reprojection error: Invalid srsName "urn:ogc:def:crs:EPSG::0000": Invalid source projection. + + diff --git a/tests/functionaltests/suites/csw30/expected/get_baa4a7d0-0c01-42b6-adc3-0d03e9949fa3.xml b/tests/functionaltests/suites/csw30/expected/get_baa4a7d0-0c01-42b6-adc3-0d03e9949fa3.xml new file mode 100644 index 000000000..4953497e2 --- /dev/null +++ b/tests/functionaltests/suites/csw30/expected/get_baa4a7d0-0c01-42b6-adc3-0d03e9949fa3.xml @@ -0,0 +1,7 @@ + + + + + Invalid value for request: getCapabilities + + diff --git a/tests/functionaltests/suites/csw30/expected/get_bfbe6409-f64a-4c89-acb3-50f260a5c743.xml b/tests/functionaltests/suites/csw30/expected/get_bfbe6409-f64a-4c89-acb3-50f260a5c743.xml new file mode 100644 index 000000000..c6809c5c5 --- /dev/null +++ b/tests/functionaltests/suites/csw30/expected/get_bfbe6409-f64a-4c89-acb3-50f260a5c743.xml @@ -0,0 +1,15 @@ + + + + + + + urn:uuid:e9330592-0932-474b-be34-c3a3bb67c7db + Fuscé vitae ligulä + http://purl.org/dc/dcmitype/Text + Land titles + text/rtf + Morbi ultriçes, dui suscipit vestibulum prètium, velit ante pretium tortor, egët tincidunt pede odio ac nulla. + + + diff --git a/tests/functionaltests/suites/csw30/expected/get_bfe20134-d1da-42ef-9c0f-8e1307bbf92b.xml b/tests/functionaltests/suites/csw30/expected/get_bfe20134-d1da-42ef-9c0f-8e1307bbf92b.xml new file mode 100644 index 000000000..4dd660139 --- /dev/null +++ b/tests/functionaltests/suites/csw30/expected/get_bfe20134-d1da-42ef-9c0f-8e1307bbf92b.xml @@ -0,0 +1,38 @@ + + + + + + + urn:uuid:66ae76b7-54ba-489b-a582-0f0633d96493 + Maecenas enim + http://purl.org/dc/dcmitype/Text + Marine sediments + application/xhtml+xml + Pellentesque tempus magna non sapien fringilla blandit. + + + urn:uuid:6a3de50b-fa66-4b58-a0e6-ca146fdd18d4 + Ut facilisis justo ut lacus + http://purl.org/dc/dcmitype/Service + Vegetation + urn:uuid:94bc9c83-97f6-4b40-9eb8-a8e8787a5c63 + + + urn:uuid:784e2afd-a9fd-44a6-9a92-a3848371c8ec + Aliquam fermentum purus quis arcu + http://purl.org/dc/dcmitype/Text + Hydrography--Dictionaries + application/pdf + Vestibulum quis ipsum sit amet metus imperdiet vehicula. Nulla scelerisque cursus mi. + 2006-05-12 + + + urn:uuid:829babb0-b2f1-49e1-8cd5-7b489fe71a1e + Vestibulum massa purus + http://purl.org/dc/dcmitype/Image + image/jp2 + urn:uuid:9a669547-b69b-469f-a11f-2d875366bbdc + + + diff --git a/tests/functionaltests/suites/csw30/expected/get_c03d173a-3f42-4956-89c8-1fe02c3a0873.xml b/tests/functionaltests/suites/csw30/expected/get_c03d173a-3f42-4956-89c8-1fe02c3a0873.xml new file mode 100644 index 000000000..ce9c9355d --- /dev/null +++ b/tests/functionaltests/suites/csw30/expected/get_c03d173a-3f42-4956-89c8-1fe02c3a0873.xml @@ -0,0 +1,491 @@ + + + + + pycsw Geospatial Catalogue + pycsw is an OGC CSW server implementation written in Python + + catalogue + discovery + theme + + CSW + 2.0.2 + 3.0.0 + None + None + + + pycsw + + + Kralidis, Tom + Senior Systems Scientist + + + +01-416-xxx-xxxx + +01-416-xxx-xxxx + + + TBA + Toronto + Ontario + M9C 3Z9 + Canada + tomkralidis@gmail.com + + + 0800h - 1600h EST + During hours of service. Off on weekends. + + pointOfContact + + + + + + + + + + + + + application/xml + text/xml + + + + + 2.0.2 + 3.0.0 + + + + + All + Filter_Capabilities + OperationsMetadata + ServiceIdentification + ServiceProvider + + + + + + + + + + + + + GetCapabilities.acceptFormats + GetCapabilities.acceptVersions + GetCapabilities.sections + GetRecordById.ElementSetName + GetRecordById.outputFormat + GetRecordById.outputSchema + GetRecords.CONSTRAINTLANGUAGE + GetRecords.ElementSetName + GetRecords.outputFormat + GetRecords.outputSchema + GetRecords.typeNames + + + + + + + + + + + + + CQL_TEXT + FILTER + + + + + brief + full + summary + + + + + application/atom+xml + application/json + application/xml + + + + + http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ + http://www.interlis.ch/INTERLIS2.3 + http://www.opengis.net/cat/csw/3.0 + http://www.opengis.net/cat/csw/csdgm + http://www.w3.org/2005/Atom + + + + + csw:Record + + + + + 10 + + + + + http://localhost/pycsw/csw.py?config=tests/suites/csw30/default.cfg?mode=opensearch&service=CSW&version=3.0.0&request=GetCapabilities + + + + + http://demo.pycsw.org/gisdata/csw + + + + + + + + + + + + + brief + full + summary + + + + + application/atom+xml + application/json + application/xml + + + + + http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ + http://www.interlis.ch/INTERLIS2.3 + http://www.opengis.net/cat/csw/3.0 + http://www.opengis.net/cat/csw/csdgm + http://www.w3.org/2005/Atom + + + + + + + + + + + + + CSW + + + + + 2.0.2 + 3.0.0 + + + + + csw:AnyText + dc:contributor + dc:creator + dc:date + dc:format + dc:identifier + dc:language + dc:publisher + dc:relation + dc:rights + dc:source + dc:subject + dc:title + dc:type + dct:abstract + dct:modified + ows:BoundingBox + + + + + http://demo.pycsw.org/gisdata/csw + + + + + 10 + + + + + SOAP + XML + + + + + allowed + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + http://www.opengis.net/gml + + + + + TRUE + + + + + en + + + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + xs:string + + + xs:string + + + xs:string + + + xs:string + + + xs:string + + + xs:string + + + + diff --git a/tests/functionaltests/suites/csw30/expected/get_cb43d8c3-e14c-4a9f-9231-4384b7dd21f3.xml b/tests/functionaltests/suites/csw30/expected/get_cb43d8c3-e14c-4a9f-9231-4384b7dd21f3.xml new file mode 100644 index 000000000..8affab58f --- /dev/null +++ b/tests/functionaltests/suites/csw30/expected/get_cb43d8c3-e14c-4a9f-9231-4384b7dd21f3.xml @@ -0,0 +1,7 @@ + + + + + Invalid ElementName parameter value: u + + diff --git a/tests/functionaltests/suites/csw30/expected/get_d03c6fd3-e821-4a26-b62f-d20a474e25af.xml b/tests/functionaltests/suites/csw30/expected/get_d03c6fd3-e821-4a26-b62f-d20a474e25af.xml new file mode 100644 index 000000000..770e62fe8 --- /dev/null +++ b/tests/functionaltests/suites/csw30/expected/get_d03c6fd3-e821-4a26-b62f-d20a474e25af.xml @@ -0,0 +1,30 @@ + + + + + pycsw + + + Kralidis, Tom + Senior Systems Scientist + + + +01-416-xxx-xxxx + +01-416-xxx-xxxx + + + TBA + Toronto + Ontario + M9C 3Z9 + Canada + tomkralidis@gmail.com + + + 0800h - 1600h EST + During hours of service. Off on weekends. + + pointOfContact + + + diff --git a/tests/functionaltests/suites/csw30/expected/get_d4ccbf96-a529-480e-a53d-5b88dc1dea7f.xml b/tests/functionaltests/suites/csw30/expected/get_d4ccbf96-a529-480e-a53d-5b88dc1dea7f.xml new file mode 100644 index 000000000..faf07a500 --- /dev/null +++ b/tests/functionaltests/suites/csw30/expected/get_d4ccbf96-a529-480e-a53d-5b88dc1dea7f.xml @@ -0,0 +1,7 @@ + + + + + No records found for 'uid-bc5017e6-5cc8-4b03-aee7-d88f88caba0a' + + diff --git a/tests/functionaltests/suites/csw30/expected/get_d94c801a-1207-4897-b84a-53f3a192515b.xml b/tests/functionaltests/suites/csw30/expected/get_d94c801a-1207-4897-b84a-53f3a192515b.xml new file mode 100644 index 000000000..d91c31b05 --- /dev/null +++ b/tests/functionaltests/suites/csw30/expected/get_d94c801a-1207-4897-b84a-53f3a192515b.xml @@ -0,0 +1,6 @@ + + + + + + diff --git a/tests/functionaltests/suites/csw30/expected/get_da859e34-91fc-495a-8c09-285a40c0900b.xml b/tests/functionaltests/suites/csw30/expected/get_da859e34-91fc-495a-8c09-285a40c0900b.xml new file mode 100644 index 000000000..d85e801e6 --- /dev/null +++ b/tests/functionaltests/suites/csw30/expected/get_da859e34-91fc-495a-8c09-285a40c0900b.xml @@ -0,0 +1,14 @@ + + + + urn:uuid:94bc9c83-97f6-4b40-9eb8-a8e8787a5c63 + Mauris sed neque + http://purl.org/dc/dcmitype/Dataset + Vegetation-Cropland + Curabitur lacinia, ante non porta tempus, mi lorem feugiat odio, eget suscipit eros pede ac velit. + 2006-03-26 + + 47.59 -4.1 + 51.22 0.89 + + diff --git a/tests/functionaltests/suites/csw30/expected/get_dc246fb8-5af5-4fda-82bb-c18b3ecd439c.xml b/tests/functionaltests/suites/csw30/expected/get_dc246fb8-5af5-4fda-82bb-c18b3ecd439c.xml new file mode 100644 index 000000000..530b79be6 --- /dev/null +++ b/tests/functionaltests/suites/csw30/expected/get_dc246fb8-5af5-4fda-82bb-c18b3ecd439c.xml @@ -0,0 +1,40 @@ + + + + http://localhost/pycsw/csw.py?config=tests/suites/csw30/default.cfg + pycsw Geospatial Catalogue + + pycsw + + diff --git a/tests/functionaltests/suites/csw30/expected/get_de016645-6d5c-4855-943c-2db07ae9f49a.xml b/tests/functionaltests/suites/csw30/expected/get_de016645-6d5c-4855-943c-2db07ae9f49a.xml new file mode 100644 index 000000000..4cdb06187 --- /dev/null +++ b/tests/functionaltests/suites/csw30/expected/get_de016645-6d5c-4855-943c-2db07ae9f49a.xml @@ -0,0 +1,30 @@ + + + + http://localhost/pycsw/csw.py?config=tests/suites/csw30/default.cfg + pycsw Geospatial Catalogue + + pycsw + + diff --git a/tests/functionaltests/suites/csw30/expected/get_dff3ec6b-bb2d-4887-bd17-8fcf15def042.xml b/tests/functionaltests/suites/csw30/expected/get_dff3ec6b-bb2d-4887-bd17-8fcf15def042.xml new file mode 100644 index 000000000..81409198c --- /dev/null +++ b/tests/functionaltests/suites/csw30/expected/get_dff3ec6b-bb2d-4887-bd17-8fcf15def042.xml @@ -0,0 +1,89 @@ + + + + + + + urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f + Lorem ipsum + http://purl.org/dc/dcmitype/Image + Tourism--Greece + image/svg+xml + Quisque lacus diam, placerat mollis, pharetra in, commodo sed, augue. Duis iaculis arcu vel arcu. + + + urn:uuid:1ef30a8b-876d-4828-9246-c37ab4510bbd + + http://purl.org/dc/dcmitype/Service + Proin sit amet justo. In justo. Aenean adipiscing nulla id tellus. + + 60.04 13.75 + 68.41 17.92 + + + + urn:uuid:66ae76b7-54ba-489b-a582-0f0633d96493 + Maecenas enim + http://purl.org/dc/dcmitype/Text + Marine sediments + application/xhtml+xml + Pellentesque tempus magna non sapien fringilla blandit. + + + urn:uuid:6a3de50b-fa66-4b58-a0e6-ca146fdd18d4 + Ut facilisis justo ut lacus + http://purl.org/dc/dcmitype/Service + Vegetation + urn:uuid:94bc9c83-97f6-4b40-9eb8-a8e8787a5c63 + + + urn:uuid:784e2afd-a9fd-44a6-9a92-a3848371c8ec + Aliquam fermentum purus quis arcu + http://purl.org/dc/dcmitype/Text + Hydrography--Dictionaries + application/pdf + Vestibulum quis ipsum sit amet metus imperdiet vehicula. Nulla scelerisque cursus mi. + + + urn:uuid:829babb0-b2f1-49e1-8cd5-7b489fe71a1e + Vestibulum massa purus + http://purl.org/dc/dcmitype/Image + image/jp2 + urn:uuid:9a669547-b69b-469f-a11f-2d875366bbdc + + + urn:uuid:88247b56-4cbc-4df9-9860-db3f8042e357 + + http://purl.org/dc/dcmitype/Dataset + Physiography-Landforms + Donec scelerisque pede ut nisl luctus accumsan. Quisque ultrices, lorem eget feugiat fringilla, lorem dui porttitor ante, cursus ultrices magna odio eu neque. + + + urn:uuid:94bc9c83-97f6-4b40-9eb8-a8e8787a5c63 + Mauris sed neque + http://purl.org/dc/dcmitype/Dataset + Vegetation-Cropland + Curabitur lacinia, ante non porta tempus, mi lorem feugiat odio, eget suscipit eros pede ac velit. + + 47.59 -4.1 + 51.22 0.89 + + + + urn:uuid:9a669547-b69b-469f-a11f-2d875366bbdc + Ñunç elementum + http://purl.org/dc/dcmitype/Dataset + Hydrography-Oceanographic + + 44.79 -6.17 + 51.13 -2.23 + + + + urn:uuid:a06af396-3105-442d-8b40-22b57a90d2f2 + Lorem ipsum dolor sit amet + http://purl.org/dc/dcmitype/Image + image/jpeg + + + diff --git a/tests/functionaltests/suites/csw30/expected/get_e38e6bfb-8ac4-4ae4-8b87-0aafbc8d3c6b.xml b/tests/functionaltests/suites/csw30/expected/get_e38e6bfb-8ac4-4ae4-8b87-0aafbc8d3c6b.xml new file mode 100644 index 000000000..2a3f20b3b --- /dev/null +++ b/tests/functionaltests/suites/csw30/expected/get_e38e6bfb-8ac4-4ae4-8b87-0aafbc8d3c6b.xml @@ -0,0 +1,11 @@ + + + + urn:uuid:1ef30a8b-876d-4828-9246-c37ab4510bbd + + http://purl.org/dc/dcmitype/Service + + 60.04 13.75 + 68.41 17.92 + + diff --git a/tests/functionaltests/suites/csw30/expected/get_e67ca935-d65d-4d8c-8302-1405333dded0.xml b/tests/functionaltests/suites/csw30/expected/get_e67ca935-d65d-4d8c-8302-1405333dded0.xml new file mode 100644 index 000000000..ce9c9355d --- /dev/null +++ b/tests/functionaltests/suites/csw30/expected/get_e67ca935-d65d-4d8c-8302-1405333dded0.xml @@ -0,0 +1,491 @@ + + + + + pycsw Geospatial Catalogue + pycsw is an OGC CSW server implementation written in Python + + catalogue + discovery + theme + + CSW + 2.0.2 + 3.0.0 + None + None + + + pycsw + + + Kralidis, Tom + Senior Systems Scientist + + + +01-416-xxx-xxxx + +01-416-xxx-xxxx + + + TBA + Toronto + Ontario + M9C 3Z9 + Canada + tomkralidis@gmail.com + + + 0800h - 1600h EST + During hours of service. Off on weekends. + + pointOfContact + + + + + + + + + + + + + application/xml + text/xml + + + + + 2.0.2 + 3.0.0 + + + + + All + Filter_Capabilities + OperationsMetadata + ServiceIdentification + ServiceProvider + + + + + + + + + + + + + GetCapabilities.acceptFormats + GetCapabilities.acceptVersions + GetCapabilities.sections + GetRecordById.ElementSetName + GetRecordById.outputFormat + GetRecordById.outputSchema + GetRecords.CONSTRAINTLANGUAGE + GetRecords.ElementSetName + GetRecords.outputFormat + GetRecords.outputSchema + GetRecords.typeNames + + + + + + + + + + + + + CQL_TEXT + FILTER + + + + + brief + full + summary + + + + + application/atom+xml + application/json + application/xml + + + + + http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ + http://www.interlis.ch/INTERLIS2.3 + http://www.opengis.net/cat/csw/3.0 + http://www.opengis.net/cat/csw/csdgm + http://www.w3.org/2005/Atom + + + + + csw:Record + + + + + 10 + + + + + http://localhost/pycsw/csw.py?config=tests/suites/csw30/default.cfg?mode=opensearch&service=CSW&version=3.0.0&request=GetCapabilities + + + + + http://demo.pycsw.org/gisdata/csw + + + + + + + + + + + + + brief + full + summary + + + + + application/atom+xml + application/json + application/xml + + + + + http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ + http://www.interlis.ch/INTERLIS2.3 + http://www.opengis.net/cat/csw/3.0 + http://www.opengis.net/cat/csw/csdgm + http://www.w3.org/2005/Atom + + + + + + + + + + + + + CSW + + + + + 2.0.2 + 3.0.0 + + + + + csw:AnyText + dc:contributor + dc:creator + dc:date + dc:format + dc:identifier + dc:language + dc:publisher + dc:relation + dc:rights + dc:source + dc:subject + dc:title + dc:type + dct:abstract + dct:modified + ows:BoundingBox + + + + + http://demo.pycsw.org/gisdata/csw + + + + + 10 + + + + + SOAP + XML + + + + + allowed + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + http://www.opengis.net/gml + + + + + TRUE + + + + + en + + + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + xs:string + + + xs:string + + + xs:string + + + xs:string + + + xs:string + + + xs:string + + + + diff --git a/tests/functionaltests/suites/csw30/expected/get_e7704509-3441-458f-8ef0-e333c6b6043f.xml b/tests/functionaltests/suites/csw30/expected/get_e7704509-3441-458f-8ef0-e333c6b6043f.xml new file mode 100644 index 000000000..d1dbd3ab1 --- /dev/null +++ b/tests/functionaltests/suites/csw30/expected/get_e7704509-3441-458f-8ef0-e333c6b6043f.xml @@ -0,0 +1,7 @@ + + + + + Only ONE of ElementSetName or ElementName parameter(s) is permitted + + diff --git a/tests/functionaltests/suites/csw30/expected/get_f1223a49-6d08-44ff-97fe-4c32cbbfad82.xml b/tests/functionaltests/suites/csw30/expected/get_f1223a49-6d08-44ff-97fe-4c32cbbfad82.xml new file mode 100644 index 000000000..6520e5212 --- /dev/null +++ b/tests/functionaltests/suites/csw30/expected/get_f1223a49-6d08-44ff-97fe-4c32cbbfad82.xml @@ -0,0 +1,6 @@ + + + + + + diff --git a/tests/functionaltests/suites/csw30/expected/get_f89dd4e1-3a81-4433-afd2-a3fa1bdb1e18.xml b/tests/functionaltests/suites/csw30/expected/get_f89dd4e1-3a81-4433-afd2-a3fa1bdb1e18.xml new file mode 100644 index 000000000..2b5272833 --- /dev/null +++ b/tests/functionaltests/suites/csw30/expected/get_f89dd4e1-3a81-4433-afd2-a3fa1bdb1e18.xml @@ -0,0 +1,7 @@ + + + + + Invalid outputFormat parameter value: text/example + + diff --git a/tests/functionaltests/suites/csw30/expected/post_Exception-GetDomain-parametername-bad.xml b/tests/functionaltests/suites/csw30/expected/post_Exception-GetDomain-parametername-bad.xml new file mode 100644 index 000000000..759884ffd --- /dev/null +++ b/tests/functionaltests/suites/csw30/expected/post_Exception-GetDomain-parametername-bad.xml @@ -0,0 +1,7 @@ + + + + + GetRecords.outputFormat-something + + diff --git a/tests/functionaltests/suites/csw30/expected/post_Exception-GetDomain-valuereference-bad.xml b/tests/functionaltests/suites/csw30/expected/post_Exception-GetDomain-valuereference-bad.xml new file mode 100644 index 000000000..6aa6d9a40 --- /dev/null +++ b/tests/functionaltests/suites/csw30/expected/post_Exception-GetDomain-valuereference-bad.xml @@ -0,0 +1,7 @@ + + + + + dc:titlena + + diff --git a/tests/functionaltests/suites/csw30/expected/post_Exception-GetRecordById-404.xml b/tests/functionaltests/suites/csw30/expected/post_Exception-GetRecordById-404.xml new file mode 100644 index 000000000..992d6f29c --- /dev/null +++ b/tests/functionaltests/suites/csw30/expected/post_Exception-GetRecordById-404.xml @@ -0,0 +1,7 @@ + + + + + No repository item found for 'does_not_exist' + + diff --git a/tests/functionaltests/suites/csw30/expected/post_Exception-GetRecordById-bad-esn.xml b/tests/functionaltests/suites/csw30/expected/post_Exception-GetRecordById-bad-esn.xml new file mode 100644 index 000000000..3b7e2b9ee --- /dev/null +++ b/tests/functionaltests/suites/csw30/expected/post_Exception-GetRecordById-bad-esn.xml @@ -0,0 +1,7 @@ + + + + + Invalid elementsetname parameter bad + + diff --git a/tests/functionaltests/suites/csw30/expected/post_Exception-bad-xml.xml b/tests/functionaltests/suites/csw30/expected/post_Exception-bad-xml.xml new file mode 100644 index 000000000..76e5b29f7 --- /dev/null +++ b/tests/functionaltests/suites/csw30/expected/post_Exception-bad-xml.xml @@ -0,0 +1,8 @@ + + + + + Exception: document not well-formed. +Error: Opening and ending tag mismatch: GetCapabilities line 2 and GetCapabilities-bad, line 9, column 29. + + diff --git a/tests/functionaltests/suites/csw30/expected/post_Exception-not-xml.xml b/tests/functionaltests/suites/csw30/expected/post_Exception-not-xml.xml new file mode 100644 index 000000000..632a1d8cd --- /dev/null +++ b/tests/functionaltests/suites/csw30/expected/post_Exception-not-xml.xml @@ -0,0 +1,8 @@ + + + + + Exception: document not well-formed. +Error: Start tag expected, '<' not found, line 1, column 1. + + diff --git a/tests/functionaltests/suites/csw30/expected/post_GetCapabilities.xml b/tests/functionaltests/suites/csw30/expected/post_GetCapabilities.xml new file mode 100644 index 000000000..ce9c9355d --- /dev/null +++ b/tests/functionaltests/suites/csw30/expected/post_GetCapabilities.xml @@ -0,0 +1,491 @@ + + + + + pycsw Geospatial Catalogue + pycsw is an OGC CSW server implementation written in Python + + catalogue + discovery + theme + + CSW + 2.0.2 + 3.0.0 + None + None + + + pycsw + + + Kralidis, Tom + Senior Systems Scientist + + + +01-416-xxx-xxxx + +01-416-xxx-xxxx + + + TBA + Toronto + Ontario + M9C 3Z9 + Canada + tomkralidis@gmail.com + + + 0800h - 1600h EST + During hours of service. Off on weekends. + + pointOfContact + + + + + + + + + + + + + application/xml + text/xml + + + + + 2.0.2 + 3.0.0 + + + + + All + Filter_Capabilities + OperationsMetadata + ServiceIdentification + ServiceProvider + + + + + + + + + + + + + GetCapabilities.acceptFormats + GetCapabilities.acceptVersions + GetCapabilities.sections + GetRecordById.ElementSetName + GetRecordById.outputFormat + GetRecordById.outputSchema + GetRecords.CONSTRAINTLANGUAGE + GetRecords.ElementSetName + GetRecords.outputFormat + GetRecords.outputSchema + GetRecords.typeNames + + + + + + + + + + + + + CQL_TEXT + FILTER + + + + + brief + full + summary + + + + + application/atom+xml + application/json + application/xml + + + + + http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ + http://www.interlis.ch/INTERLIS2.3 + http://www.opengis.net/cat/csw/3.0 + http://www.opengis.net/cat/csw/csdgm + http://www.w3.org/2005/Atom + + + + + csw:Record + + + + + 10 + + + + + http://localhost/pycsw/csw.py?config=tests/suites/csw30/default.cfg?mode=opensearch&service=CSW&version=3.0.0&request=GetCapabilities + + + + + http://demo.pycsw.org/gisdata/csw + + + + + + + + + + + + + brief + full + summary + + + + + application/atom+xml + application/json + application/xml + + + + + http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ + http://www.interlis.ch/INTERLIS2.3 + http://www.opengis.net/cat/csw/3.0 + http://www.opengis.net/cat/csw/csdgm + http://www.w3.org/2005/Atom + + + + + + + + + + + + + CSW + + + + + 2.0.2 + 3.0.0 + + + + + csw:AnyText + dc:contributor + dc:creator + dc:date + dc:format + dc:identifier + dc:language + dc:publisher + dc:relation + dc:rights + dc:source + dc:subject + dc:title + dc:type + dct:abstract + dct:modified + ows:BoundingBox + + + + + http://demo.pycsw.org/gisdata/csw + + + + + 10 + + + + + SOAP + XML + + + + + allowed + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + http://www.opengis.net/gml + + + + + TRUE + + + + + en + + + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + xs:string + + + xs:string + + + xs:string + + + xs:string + + + xs:string + + + xs:string + + + + diff --git a/tests/functionaltests/suites/csw30/expected/post_GetDomain-parametername.xml b/tests/functionaltests/suites/csw30/expected/post_GetDomain-parametername.xml new file mode 100644 index 000000000..d9cd1c604 --- /dev/null +++ b/tests/functionaltests/suites/csw30/expected/post_GetDomain-parametername.xml @@ -0,0 +1,12 @@ + + + + + GetRecords.outputFormat + + application/atom+xml + application/json + application/xml + + + diff --git a/tests/functionaltests/suites/csw30/expected/post_GetDomain-valuereference.xml b/tests/functionaltests/suites/csw30/expected/post_GetDomain-valuereference.xml new file mode 100644 index 000000000..3775ee212 --- /dev/null +++ b/tests/functionaltests/suites/csw30/expected/post_GetDomain-valuereference.xml @@ -0,0 +1,18 @@ + + + + + dc:title + + Aliquam fermentum purus quis arcu + Fuscé vitae ligulä + Lorem ipsum + Lorem ipsum dolor sit amet + Maecenas enim + Mauris sed neque + Ut facilisis justo ut lacus + Vestibulum massa purus + Ñunç elementum + + + diff --git a/tests/functionaltests/suites/csw30/expected/post_GetRecordById-dc-full.xml b/tests/functionaltests/suites/csw30/expected/post_GetRecordById-dc-full.xml new file mode 100644 index 000000000..ae4a178b2 --- /dev/null +++ b/tests/functionaltests/suites/csw30/expected/post_GetRecordById-dc-full.xml @@ -0,0 +1,10 @@ + + + + urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f + Lorem ipsum + http://purl.org/dc/dcmitype/Image + Tourism--Greece + image/svg+xml + Quisque lacus diam, placerat mollis, pharetra in, commodo sed, augue. Duis iaculis arcu vel arcu. + diff --git a/tests/functionaltests/suites/csw30/expected/post_GetRecordById-dc.xml b/tests/functionaltests/suites/csw30/expected/post_GetRecordById-dc.xml new file mode 100644 index 000000000..731f3ba9e --- /dev/null +++ b/tests/functionaltests/suites/csw30/expected/post_GetRecordById-dc.xml @@ -0,0 +1,10 @@ + + + + urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f + Lorem ipsum + http://purl.org/dc/dcmitype/Image + Tourism--Greece + image/svg+xml + Quisque lacus diam, placerat mollis, pharetra in, commodo sed, augue. Duis iaculis arcu vel arcu. + diff --git a/tests/functionaltests/suites/csw30/get/requests.txt b/tests/functionaltests/suites/csw30/get/requests.txt new file mode 100644 index 000000000..d93dd98d0 --- /dev/null +++ b/tests/functionaltests/suites/csw30/get/requests.txt @@ -0,0 +1,82 @@ +GetCapabilities-base-url,PYCSW_SERVER?config=tests/suites/csw30/default.cfg +GetCapabilities-no-version,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&service=CSW&request=GetCapabilities +GetCapabilities,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&service=CSW&version=3.0.0&request=GetCapabilities +Exception-invalid-request,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&service=CSW&version=3.0.0&request=GetCapabilities-foo +Exception-GetDomain,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&service=CSW&version=3.0.0&request=GetDomain +GetDomain-parameter,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&service=CSW&version=3.0.0&request=GetDomain¶metername=GetRecords.ElementSetName +GetDomain-value-reference,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&service=CSW&version=3.0.0&request=GetDomain&valuereference=dc:title +Exception-GetDomain-value-reference,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&service=CSW&version=3.0.0&request=GetDomain&valuereference=dc:title2 +Exception-GetRecordById-dc.xml,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&service=CSW&version=3.0.0&request=GetRecordById&id=urn:uuid:829babb0-b2f1-49e1-8cd5-7b489fe71a1e +Exception-GetRecordById-404,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&service=CSW&version=3.0.0&request=GetRecordById&id=does_not_exist2 +OpenSearch-description,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&mode=opensearch&service=CSW&version=3.0.0&request=GetCapabilities +GetRepositoryItem,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&service=CSW&version=3.0.0&request=GetRepositoryItem&id=urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f +Exception-GetRepositoryItem-notfound,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&service=CSW&version=3.0.0&request=GetRepositoryItem&id=NOTFOUND +002258f0-627f-457f-b2ad-025777c77ac8,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&mode=opensearch&service=CSW&version=3.0.0&request=GetCapabilities +045c600d-973d-41eb-9f60-eba1b717b720,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&mode=opensearch&service=CSW&version=3.0.0&request=GetRecords&elementsetname=full&typenames=csw:Record&resulttype=results&q=Fusc%C3%A9%20Land&bbox=&time=/&outputformat=application/atom%2Bxml&startposition=1&maxrecords=&recordids= +0bbcf862-5211-4351-9988-63f8bec49c98,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&elementSetName=summary&outputFormat=application/atom%2Bxml&request=GetRecords&service=CSW&typeNames=Record&version=3.0.0 +0bdf8457-971e-4ed1-be4a-5feca4dcd8fa,PYCSW_SERVER?config=tests/suites/csw30/default.cfg +0d8bbdec-0846-42ca-8dc8-b7f4cba41d67,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&elementName=tns:title&request=GetRecords&service=CSW&typeNames=Record&namespace=xmlns(tns%3Dhttp://purl.org/dc/elements/1.1/)&version=3.0.0 +0e1dca37-477a-4060-99fe-7799b52d656c,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&mode=opensearch&service=CSW&version=3.0.0&request=GetRecords&elementsetname=full&typenames=csw:Record&resulttype=results&q=lpppclq&bbox=&time=/&outputformat=application/atom%2Bxml&startposition=1&maxrecords=&recordids= +13c87956-51a4-4780-a8e9-6e0b5c0bb473,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&elementSetName=full&maxRecords=20&request=GetRecords&service=CSW&typeNames=Record&version=3.0.0 +151d982f-ebd3-4cb2-b507-a667713a1e92,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&acceptFormats=model/x3d%2Bxml&acceptVersions=3.0.0&request=GetCapabilities&service=CSW +1869e495-1a61-4713-8285-76d1336ee1a6,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&acceptVersions=3.0.0&request=GetCapabilities +1bcb42a9-538c-4f0a-9d4c-d6f10b720aa6,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&request=GetRecordById&service=CSW&version=3.0.0 +22f44168-2ccf-4801-ad96-204212566d56,PYCSW_SERVER?config=tests/suites/csw30/default.cfg +2499a9c9-8d33-449c-bc92-d494adfcc84d,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&acceptVersions=3.0.0§ions=All&request=GetCapabilities&service=CSW +27f4f39c-d92a-4e3c-b961-c6aa8c24e513,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&acceptFormats=application/xml&acceptVersions=3.0.0&request=GetCapabilities&service=CSW +28e569df-8596-4128-8d9a-29ad03138915,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&id=urn:uuid:a06af396-3105-442d-8b40-22b57a90d2f2&request=GetRecordById&service=CSW&version=3.0.0 +2b06a5c8-0df2-4af1-8d2e-a425de11c845,PYCSW_SERVER?config=tests/suites/csw30/default.cfg +2ba1418a-444d-4cce-9cfe-4c94efcf8b55,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&maxRecords=2&elementSetName=summary&outputFormat=application/atom%2Bxml&request=GetRecords&service=CSW&typeNames=csw3:Record&startPosition=3&namespace=xmlns(csw3%3Dhttp://www.opengis.net/cat/csw/3.0)&version=3.0.0 +397fe17a-d5b4-4f96-8cc4-4ce467ed4d0a,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&service=CSW&version=3.0.0&request=GetRecords&elementsetname=full&typenames=csw:Record&resulttype=results&q=ipsum&bbox=&time=/&outputformat=application/xml&outputschema=http://www.opengis.net/cat/csw/3.0&startposition=1&maxrecords=&recordids= +3dcd1b15-73d2-4b7d-a3e3-ff15bf14aae4,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&elementSetName=brief&request=GetRecords&service=CSW&typeNames=tns:Record&namespace=xmlns(tns%3Dhttp://www.opengis.net/cat/csw/3.0)&version=3.0.0 +405e1ff1-5c75-4846-a28b-cfaff2a6921a,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&elementSetName=summary&recordIds=urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f,urn:uuid:e9330592-0932-474b-be34-c3a3bb67c7db&request=GetRecords&service=CSW&typeNames=Record&version=3.0.0 +43cd6471-6ac7-45bd-8ff9-148cb2de9a52,PYCSW_SERVER?config=tests/suites/csw30/default.cfg +4566d2ec-1283-4a02-baed-a74fc5b47e37,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&acceptVersions=3.0.0§ions=ServiceIdentification&request=GetCapabilities&service=CSW +461bd4c5-6623-490d-9036-d91a2201e87b,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&acceptVersions=3.0.0§ions=Filter_Capabilities&request=GetCapabilities&service=CSW +5496894a-3877-4f62-a20b-5d7126f94925,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&service=CSW&version=3.0.0&request=GetRecords&elementsetname=full&typenames=csw:Record&resulttype=results&q=&bbox=514432,5429689,529130,5451619&time=/&outputformat=application/xml&outputschema=http://www.opengis.net/cat/csw/3.0&startposition=1&maxrecords=&recordids= +5a015f6a-bf14-4977-b1e3-6577eb0223c8,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&service=CSW&version=3.0.0&request=GetRecords&elementsetname=full&typenames=csw:Record&resulttype=results&q=&bbox=-6.17,44.79,17.92,68.41&time=/&outputformat=application/xml&outputschema=http://www.opengis.net/cat/csw/3.0&startposition=1&maxrecords=&recordids= +5c3a2390-1fb9-43f0-b96c-f48c7a69c990,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&id=urn:uuid:88247b56-4cbc-4df9-9860-db3f8042e357&outputFormat=model/vnd.collada%2Bxml&request=GetRecordById&service=CSW&version=3.0.0 +5e9e67dc-18d6-4645-8111-c6263c88a61f,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&acceptVersions=3.0.0§ions=OperationsMetadata&request=GetCapabilities&service=CSW +604d9379-741c-42e5-b4cf-92e56c87fa64,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&elementSetName=full&q=amet&request=GetRecords&service=CSW&typeNames=Record&version=3.0.0 +60e6af95-d5fc-465a-82e2-fd2e6d85e4af,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&request=GetRecords&service=CSW&typeNames=UnknownType&version=3.0.0 +62ad94c2-b558-4265-a427-23d6677975d6,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&mode=opensearch&service=CSW&version=3.0.0&request=GetRecords&elementsetname=full&typenames=csw:Record&resulttype=results&q=&bbox=&time=/&outputformat=application/atom%2Bxml&startposition=1&maxrecords=&recordids=uid-bc5017e6-5cc8-4b03-aee7-d88f88caba0a +6a5e247b-0961-4b8a-a0d6-35a491d9cfe7,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&elementSetName=undefined-view&request=GetRecords&service=CSW&typeNames=Record&version=3.0.0 +6a9d0558-9d87-495b-b999-b49a3ef1cf99,PYCSW_SERVER?config=tests/suites/csw30/default.cfg +6bd790c9-6019-4652-9c91-330a894d6700,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&service=CSW&version=3.0.0&request=GetRecords&elementsetname=full&typenames=csw:Record&resulttype=results&q=Fusc%C3%A9%20Land&bbox=&time=/&outputformat=application/xml&outputschema=http://www.opengis.net/cat/csw/3.0&startposition=1&maxrecords=&recordids= +6e9cba43-5e27-415d-adbd-a92851c2c173,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&acceptVersions=3.0.0&request=GetCapabilities&service=CSW +7630d230-e142-4a09-accf-f091000b90cd,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&id=urn:uuid:66ae76b7-54ba-489b-a582-0f0633d96493&request=GetRecordById&service=CSW&version=3.0.0 +7e82446a-b5dc-43fe-9a73-4cc1f2f2f0bf,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&acceptFormats=text/xml&acceptVersions=3.0.0&request=GetCapabilities&service=CSW +8025978e-1a35-4d70-80c2-e8329e0c7864,PYCSW_SERVER?config=tests/suites/csw30/default.cfg +8184ae4f-536d-4978-8b28-ad703be96967,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&elementSetName=brief&bbox=44.79,-6.17,68.41,17.92,urn:ogc:def:crs:EPSG::4326&request=GetRecords&service=CSW&typeNames=Record&version=3.0.0 +88f63a89-664f-4315-b4f8-04a0b33803a7,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&maxRecords=15&elementSetName=summary&q=Mauris&bbox=-6.17,44.79,17.92,68.41&request=GetRecords&service=CSW&typeNames=Record&version=3.0.0 +8987f8f0-4d93-4481-968c-a2ccbd6b8be2,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&id=urn:example:1461546298217&request=GetRecordById&service=CSW&version=3.0.0 +8e5fa0f6-3f29-4d1f-abe2-d9866f3def98,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&mode=opensearch&service=CSW&version=3.0.0&request=GetRecords&elementsetname=full&typenames=csw:Record&resulttype=results&q=&bbox=-180,-90,180,90&time=/&outputformat=application/atom%2Bxml&startposition=1&maxrecords=&recordids= +9000ec29-5649-474e-b2d6-55c00f8a52c0,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&acceptVersions=9999.12.31&request=GetCapabilities&service=CSW +91914d35-7bbf-45e6-9b37-5ef484869a4e,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&elementSetName=summary&bbox=-6.17,44.79,17.92,68.41&request=GetRecords&service=CSW&typeNames=Record&version=3.0.0 +92d4844d-57d5-4cf3-8f47-ba50e369dc04,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&elementSetName=full&q=atkovxqmf&request=GetRecords&service=CSW&typeNames=Record&version=3.0.0 +9c0e2a4b-b4e6-41c0-b630-c8c99fc89ff3,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&elementSetName=brief&outputSchema=urn:uuid:6a29d2a8-9651-47a6-9b14-f05d2b5644f0&request=GetRecords&service=CSW&typeNames=Record&version=3.0.0 +9d7ffac8-9798-428d-8e27-3cd12497ee6b,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&id=urn:uuid:1ef30a8b-876d-4828-9246-c37ab4510bbd&outputSchema=http://www.example.org/ns/alpha&request=GetRecordById&service=CSW&version=3.0.0 +a2f18643-e24e-4fa5-b780-6de4a2dbc814,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&id=urn:uuid:829babb0-b2f1-49e1-8cd5-7b489fe71a1e&outputFormat=application/atom%2Bxml&request=GetRecordById&service=CSW&version=3.0.0 +abc90c8c-5868-4405-a73e-64c849be3b2a,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&mode=opensearch&service=CSW&version=3.0.0&request=GetRecords&elementsetname=full&typenames=csw:Record&resulttype=results&q=&bbox=514432,5429689,529130,5451619&time=/&outputformat=application/atom%2Bxml&startposition=1&maxrecords=&recordids= +ad0c0571-09ed-436a-9a4f-a5de744c88fe,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&maxRecords=2&elementSetName=summary&request=GetRecords&service=CSW&typeNames=csw3:Record&startPosition=3&namespace=xmlns(csw3%3Dhttp://www.opengis.net/cat/csw/3.0)&version=3.0.0 +af502903-f4ee-47ee-b76e-af878d238bcc,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&service=CSW&version=3.0.0&request=GetRecords&elementsetname=full&typenames=csw:Record&resulttype=results&q=&bbox=-180,-90,180,90&time=/&outputformat=application/xml&outputschema=http://www.opengis.net/cat/csw/3.0&startposition=1&maxrecords=&recordids= +b2aafc3f-4f35-47bc-affd-08590972deae,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&mode=opensearch&service=CSW&version=3.0.0&request=GetRecords&elementsetname=full&typenames=csw:Record&resulttype=results&q=&bbox=-6.17,44.79,17.92,68.41&time=/&outputformat=application/atom%2Bxml&startposition=1&maxrecords=&recordids= +b6069623-f7d8-4021-8582-98f0aea0f763,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&mode=opensearch&service=CSW&version=3.0.0&request=GetRecords&elementsetname=full&typenames=csw:Record&resulttype=results&q=&bbox=&time=/&outputformat=application/atom%2Bxml&startposition=3&maxrecords=4&recordids= +b9a07a54-75a8-45bd-b341-2823600211e3,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&elementSetName=brief&bbox=472944,5363287,492722,5455253,urn:ogc:def:crs:EPSG::0000&request=GetRecords&service=CSW&typeNames=Record&version=3.0.0 +baa4a7d0-0c01-42b6-adc3-0d03e9949fa3,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&acceptVersions=3.0.0&request=getCapabilities&service=CSW +bfbe6409-f64a-4c89-acb3-50f260a5c743,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&elementSetName=summary&q=Fusc%C3%A9%20Land&request=GetRecords&service=CSW&typeNames=Record&version=3.0.0 +bfe20134-d1da-42ef-9c0f-8e1307bbf92b,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&service=CSW&version=3.0.0&request=GetRecords&elementsetname=full&typenames=csw:Record&resulttype=results&q=&bbox=&time=/&outputformat=application/xml&outputschema=http://www.opengis.net/cat/csw/3.0&startposition=3&maxrecords=4&recordids= +c03d173a-3f42-4956-89c8-1fe02c3a0873,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&SERVICE=CSW&Request=GetCapabilities&acceptversions=3.0.0 +cb43d8c3-e14c-4a9f-9231-4384b7dd21f3,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&elementName=undefined&request=GetRecords&service=CSW&typeNames=Record&version=3.0.0 +d03c6fd3-e821-4a26-b62f-d20a474e25af,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&acceptVersions=3.0.0§ions=ServiceProvider&request=GetCapabilities&service=CSW +d4ccbf96-a529-480e-a53d-5b88dc1dea7f,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&service=CSW&version=3.0.0&request=GetRecords&elementsetname=full&typenames=csw:Record&resulttype=results&q=&bbox=&time=/&outputformat=application/xml&outputschema=http://www.opengis.net/cat/csw/3.0&startposition=1&maxrecords=&recordids=uid-bc5017e6-5cc8-4b03-aee7-d88f88caba0a +d94c801a-1207-4897-b84a-53f3a192515b,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&service=CSW&version=3.0.0&request=GetRecords&elementsetname=full&typenames=csw:Record&resulttype=results&q=lpppclq&bbox=&time=/&outputformat=application/xml&outputschema=http://www.opengis.net/cat/csw/3.0&startposition=1&maxrecords=&recordids= +da859e34-91fc-495a-8c09-285a40c0900b,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&id=urn:uuid:94bc9c83-97f6-4b40-9eb8-a8e8787a5c63&elementSetName=full&request=GetRecordById&service=CSW&version=3.0.0 +dc246fb8-5af5-4fda-82bb-c18b3ecd439c,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&mode=opensearch&service=CSW&version=3.0.0&request=GetRecords&elementsetname=full&typenames=csw:Record&resulttype=results&q=ipsum&bbox=&time=/&outputformat=application/atom%2Bxml&startposition=1&maxrecords=&recordids= +de016645-6d5c-4855-943c-2db07ae9f49a,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&mode=opensearch&service=CSW&version=3.0.0&request=GetRecords&elementsetname=full&typenames=csw:Record&resulttype=results&q=&bbox=&time=/&outputformat=application/atom%2Bxml&startposition=1&maxrecords=&recordids=urn%3Auuid%3A94bc9c83-97f6-4b40-9eb8-a8e8787a5c63 +dff3ec6b-bb2d-4887-bd17-8fcf15def042,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&elementSetName=summary&request=GetRecords&service=CSW&typeNames=Record&version=3.0.0 +e38e6bfb-8ac4-4ae4-8b87-0aafbc8d3c6b,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&id=urn:uuid:1ef30a8b-876d-4828-9246-c37ab4510bbd&elementSetName=brief&request=GetRecordById&service=CSW&version=3.0.0 +e67ca935-d65d-4d8c-8302-1405333dded0,PYCSW_SERVER?config=tests/suites/csw30/default.cfg +e7704509-3441-458f-8ef0-e333c6b6043f,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&elementName=ns1:subject&elementSetName=brief&request=GetRecords&service=CSW&typeNames=Record&namespace=xmlns(ns1%3Dhttp://purl.org/dc/elements/1.1/)&version=3.0.0 +f1223a49-6d08-44ff-97fe-4c32cbbfad82,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&elementSetName=summary&maxRecords=0&q=titles&request=GetRecords&service=CSW&typeNames=Record&version=3.0.0 +f89dd4e1-3a81-4433-afd2-a3fa1bdb1e18,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&elementSetName=full&outputFormat=text/example&request=GetRecords&service=CSW&typeNames=Record&version=3.0.0 diff --git a/tests/functionaltests/suites/csw30/post/Exception-GetDomain-parametername-bad.xml b/tests/functionaltests/suites/csw30/post/Exception-GetDomain-parametername-bad.xml new file mode 100644 index 000000000..beeda8211 --- /dev/null +++ b/tests/functionaltests/suites/csw30/post/Exception-GetDomain-parametername-bad.xml @@ -0,0 +1,4 @@ + + + GetRecords.outputFormat-something + diff --git a/tests/functionaltests/suites/csw30/post/Exception-GetDomain-valuereference-bad.xml b/tests/functionaltests/suites/csw30/post/Exception-GetDomain-valuereference-bad.xml new file mode 100644 index 000000000..64184b6f0 --- /dev/null +++ b/tests/functionaltests/suites/csw30/post/Exception-GetDomain-valuereference-bad.xml @@ -0,0 +1,4 @@ + + + dc:titlena + diff --git a/tests/functionaltests/suites/csw30/post/Exception-GetRecordById-404.xml b/tests/functionaltests/suites/csw30/post/Exception-GetRecordById-404.xml new file mode 100644 index 000000000..41528ed0f --- /dev/null +++ b/tests/functionaltests/suites/csw30/post/Exception-GetRecordById-404.xml @@ -0,0 +1,4 @@ + + + does_not_exist + diff --git a/tests/functionaltests/suites/csw30/post/Exception-GetRecordById-bad-esn.xml b/tests/functionaltests/suites/csw30/post/Exception-GetRecordById-bad-esn.xml new file mode 100644 index 000000000..2ab71279c --- /dev/null +++ b/tests/functionaltests/suites/csw30/post/Exception-GetRecordById-bad-esn.xml @@ -0,0 +1,5 @@ + + + urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f + bad + diff --git a/tests/functionaltests/suites/csw30/post/Exception-bad-xml.xml b/tests/functionaltests/suites/csw30/post/Exception-bad-xml.xml new file mode 100644 index 000000000..6ba741f83 --- /dev/null +++ b/tests/functionaltests/suites/csw30/post/Exception-bad-xml.xml @@ -0,0 +1,9 @@ + + + + 3.0.0 + + + application/xml + + diff --git a/tests/functionaltests/suites/csw30/post/Exception-not-xml.xml b/tests/functionaltests/suites/csw30/post/Exception-not-xml.xml new file mode 100644 index 000000000..2b2530072 --- /dev/null +++ b/tests/functionaltests/suites/csw30/post/Exception-not-xml.xml @@ -0,0 +1 @@ +not an XML payload diff --git a/tests/functionaltests/suites/csw30/post/GetCapabilities.xml b/tests/functionaltests/suites/csw30/post/GetCapabilities.xml new file mode 100644 index 000000000..3e80d5ccc --- /dev/null +++ b/tests/functionaltests/suites/csw30/post/GetCapabilities.xml @@ -0,0 +1,9 @@ + + + + 3.0.0 + + + application/xml + + diff --git a/tests/functionaltests/suites/csw30/post/GetDomain-parametername.xml b/tests/functionaltests/suites/csw30/post/GetDomain-parametername.xml new file mode 100644 index 000000000..00ca59f16 --- /dev/null +++ b/tests/functionaltests/suites/csw30/post/GetDomain-parametername.xml @@ -0,0 +1,4 @@ + + + GetRecords.outputFormat + diff --git a/tests/functionaltests/suites/csw30/post/GetDomain-valuereference.xml b/tests/functionaltests/suites/csw30/post/GetDomain-valuereference.xml new file mode 100644 index 000000000..7cfd0eb87 --- /dev/null +++ b/tests/functionaltests/suites/csw30/post/GetDomain-valuereference.xml @@ -0,0 +1,4 @@ + + + dc:title + diff --git a/tests/functionaltests/suites/csw30/post/GetRecordById-dc-full.xml b/tests/functionaltests/suites/csw30/post/GetRecordById-dc-full.xml new file mode 100644 index 000000000..925049056 --- /dev/null +++ b/tests/functionaltests/suites/csw30/post/GetRecordById-dc-full.xml @@ -0,0 +1,5 @@ + + + urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f + full + diff --git a/tests/functionaltests/suites/csw30/post/GetRecordById-dc.xml b/tests/functionaltests/suites/csw30/post/GetRecordById-dc.xml new file mode 100644 index 000000000..148f0e4f3 --- /dev/null +++ b/tests/functionaltests/suites/csw30/post/GetRecordById-dc.xml @@ -0,0 +1,4 @@ + + + urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f + diff --git a/tests/functionaltests/suites/default/default.cfg b/tests/functionaltests/suites/default/default.cfg new file mode 100644 index 000000000..952454c13 --- /dev/null +++ b/tests/functionaltests/suites/default/default.cfg @@ -0,0 +1,90 @@ +# ================================================================= +# +# Authors: Tom Kralidis +# +# Copyright (c) 2011 Tom Kralidis +# +# Permission is hereby granted, free of charge, to any person +# obtaining a copy of this software and associated documentation +# files (the "Software"), to deal in the Software without +# restriction, including without limitation the rights to use, +# copy, modify, merge, publish, distribute, sublicense, and/or sell +# copies of the Software, and to permit persons to whom the +# Software is furnished to do so, subject to the following +# conditions: +# +# The above copyright notice and this permission notice shall be +# included in all copies or substantial portions of the Software. +# +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +# EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES +# OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +# NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT +# HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, +# WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR +# OTHER DEALINGS IN THE SOFTWARE. +# +# ================================================================= + +[server] +home=. +url=http://localhost/pycsw/csw.py?config=tests/suites/default/default.cfg +mimetype=application/xml; charset=UTF-8 +encoding=UTF-8 +language=en-US +maxrecords=10 +#loglevel=DEBUG +#logfile=/tmp/pycsw.log +#ogc_schemas_base=http://foo +federatedcatalogues=http://demo.pycsw.org/gisdata/csw +pretty_print=true +#gzip_compresslevel=8 +#spatial_ranking=true + +[manager] +transactions=false +allowed_ips=127.0.0.1 + +[metadata:main] +identification_title=pycsw Geospatial Catalogue +identification_abstract=pycsw is an OGC CSW server implementation written in Python +identification_keywords=catalogue,discovery +identification_keywords_type=theme +identification_fees=None +identification_accessconstraints=None +provider_name=pycsw +provider_url=http://pycsw.org/ +contact_name=Kralidis, Tom +contact_position=Senior Systems Scientist +contact_address=TBA +contact_city=Toronto +contact_stateorprovince=Ontario +contact_postalcode=M9C 3Z9 +contact_country=Canada +contact_phone=+01-416-xxx-xxxx +contact_fax=+01-416-xxx-xxxx +contact_email=tomkralidis@gmail.com +contact_url=http://kralidis.ca/ +contact_hours=0800h - 1600h EST +contact_instructions=During hours of service. Off on weekends. +contact_role=pointOfContact + +[repository] +# sqlite +database=sqlite:///tests/suites/cite/data/records.db +# postgres +#database=postgres://username:password@localhost/pycsw +table=records + +[metadata:inspire] +enabled=false +languages_supported=eng,gre +default_language=eng +date=2011-03-29 +gemet_keywords=Utility and governmental services +conformity_service=notEvaluated +contact_name=National Technical University of Athens +contact_email=tzotsos@gmail.com +temp_extent=2011-02-01/2011-03-30 + diff --git a/tests/functionaltests/suites/default/expected/get_Exception-GetRepositoryItem-notfound.xml b/tests/functionaltests/suites/default/expected/get_Exception-GetRepositoryItem-notfound.xml new file mode 100644 index 000000000..5607c7589 --- /dev/null +++ b/tests/functionaltests/suites/default/expected/get_Exception-GetRepositoryItem-notfound.xml @@ -0,0 +1,7 @@ + + + + + No repository item found for '['NOTFOUND']' + + diff --git a/tests/functionaltests/suites/default/expected/get_Exception-GetRepositoryItem-service-invalid1.xml b/tests/functionaltests/suites/default/expected/get_Exception-GetRepositoryItem-service-invalid1.xml new file mode 100644 index 000000000..4e35a17da --- /dev/null +++ b/tests/functionaltests/suites/default/expected/get_Exception-GetRepositoryItem-service-invalid1.xml @@ -0,0 +1,7 @@ + + + + + 'Invalid value for service: CSW\x00. Value MUST be CSW' + + diff --git a/tests/functionaltests/suites/default/expected/get_Exception-GetRepositoryItem-service-invalid2.xml b/tests/functionaltests/suites/default/expected/get_Exception-GetRepositoryItem-service-invalid2.xml new file mode 100644 index 000000000..97ec989fa --- /dev/null +++ b/tests/functionaltests/suites/default/expected/get_Exception-GetRepositoryItem-service-invalid2.xml @@ -0,0 +1,7 @@ + + + + + "Invalid value for service: CSW\x00'. Value MUST be CSW" + + diff --git a/tests/functionaltests/suites/default/expected/get_Exception-GetRepositoryItem-version-invalid.xml b/tests/functionaltests/suites/default/expected/get_Exception-GetRepositoryItem-version-invalid.xml new file mode 100644 index 000000000..fd7123387 --- /dev/null +++ b/tests/functionaltests/suites/default/expected/get_Exception-GetRepositoryItem-version-invalid.xml @@ -0,0 +1,7 @@ + + + + + Invalid value for version: 2.0.2'. Value MUST be 2.0.2 or 3.0.0 + + diff --git a/tests/functionaltests/suites/default/expected/get_GetCapabilities-invalid-request.xml b/tests/functionaltests/suites/default/expected/get_GetCapabilities-invalid-request.xml new file mode 100644 index 000000000..03450eb2d --- /dev/null +++ b/tests/functionaltests/suites/default/expected/get_GetCapabilities-invalid-request.xml @@ -0,0 +1,7 @@ + + + + + Invalid value for request: GetCapabilitiese + + diff --git a/tests/functionaltests/suites/default/expected/get_GetCapabilities.xml b/tests/functionaltests/suites/default/expected/get_GetCapabilities.xml new file mode 100644 index 000000000..8026e1b3b --- /dev/null +++ b/tests/functionaltests/suites/default/expected/get_GetCapabilities.xml @@ -0,0 +1,262 @@ + + + + + pycsw Geospatial Catalogue + pycsw is an OGC CSW server implementation written in Python + + catalogue + discovery + theme + + CSW + 2.0.2 + 3.0.0 + None + None + + + pycsw + + + Kralidis, Tom + Senior Systems Scientist + + + +01-416-xxx-xxxx + +01-416-xxx-xxxx + + + TBA + Toronto + Ontario + M9C 3Z9 + Canada + tomkralidis@gmail.com + + + 0800h - 1600h EST + During hours of service. Off on weekends. + + pointOfContact + + + + + + + + + + + + Filter_Capabilities + OperationsMetadata + ServiceIdentification + ServiceProvider + + + + + + + + + + + application/json + application/xml + + + http://www.w3.org/2001/XMLSchema + http://www.w3.org/TR/xmlschema-1/ + http://www.w3.org/XML/Schema + + + csw:Record + + + + + + + + + + + DescribeRecord.outputFormat + DescribeRecord.schemaLanguage + DescribeRecord.typeName + GetCapabilities.sections + GetRecordById.ElementSetName + GetRecordById.outputFormat + GetRecordById.outputSchema + GetRecords.CONSTRAINTLANGUAGE + GetRecords.ElementSetName + GetRecords.outputFormat + GetRecords.outputSchema + GetRecords.resultType + GetRecords.typeNames + + + + + + + + + + + CQL_TEXT + FILTER + + + brief + full + summary + + + application/json + application/xml + + + http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ + http://www.interlis.ch/INTERLIS2.3 + http://www.opengis.net/cat/csw/2.0.2 + http://www.opengis.net/cat/csw/csdgm + http://www.w3.org/2005/Atom + + + hits + results + validate + + + csw:Record + + + csw:AnyText + dc:contributor + dc:creator + dc:date + dc:format + dc:identifier + dc:language + dc:publisher + dc:relation + dc:rights + dc:source + dc:subject + dc:title + dc:type + dct:abstract + dct:modified + ows:BoundingBox + + + + + + + + + + + brief + full + summary + + + application/json + application/xml + + + http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ + http://www.interlis.ch/INTERLIS2.3 + http://www.opengis.net/cat/csw/2.0.2 + http://www.opengis.net/cat/csw/csdgm + http://www.w3.org/2005/Atom + + + + + + + + + + + CSW + + + 2.0.2 + 3.0.0 + + + http://demo.pycsw.org/gisdata/csw + + + 10 + + + XML + SOAP + + + allowed + + + + + + gml:Point + gml:LineString + gml:Polygon + gml:Envelope + + + + + + + + + + + + + + + + + + + Between + EqualTo + GreaterThan + GreaterThanEqualTo + LessThan + LessThanEqualTo + Like + NotEqualTo + NullCheck + + + + + length + lower + ltrim + rtrim + trim + upper + + + + + + + + + + diff --git a/tests/functionaltests/suites/default/expected/get_GetRecords-all.xml b/tests/functionaltests/suites/default/expected/get_GetRecords-all.xml new file mode 100644 index 000000000..9b45c7898 --- /dev/null +++ b/tests/functionaltests/suites/default/expected/get_GetRecords-all.xml @@ -0,0 +1,6 @@ + + + + + + diff --git a/tests/functionaltests/suites/default/expected/get_GetRecords-empty-maxrecords.xml b/tests/functionaltests/suites/default/expected/get_GetRecords-empty-maxrecords.xml new file mode 100644 index 000000000..9b45c7898 --- /dev/null +++ b/tests/functionaltests/suites/default/expected/get_GetRecords-empty-maxrecords.xml @@ -0,0 +1,6 @@ + + + + + + diff --git a/tests/functionaltests/suites/default/expected/get_GetRecords-filter-cql-title-or-abstract-with-spaces.xml b/tests/functionaltests/suites/default/expected/get_GetRecords-filter-cql-title-or-abstract-with-spaces.xml new file mode 100644 index 000000000..2b1accdf9 --- /dev/null +++ b/tests/functionaltests/suites/default/expected/get_GetRecords-filter-cql-title-or-abstract-with-spaces.xml @@ -0,0 +1,23 @@ + + + + + + + urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f + http://purl.org/dc/dcmitype/Image + image/svg+xml + Lorem ipsum + GR-22 + Tourism--Greece + Quisque lacus diam, placerat mollis, pharetra in, commodo sed, augue. Duis iaculis arcu vel arcu. + + + urn:uuid:a06af396-3105-442d-8b40-22b57a90d2f2 + http://purl.org/dc/dcmitype/Image + Lorem ipsum dolor sit amet + image/jpeg + IT-FI + + + diff --git a/tests/functionaltests/suites/default/expected/get_GetRecords-filter-cql-title-or-abstract.xml b/tests/functionaltests/suites/default/expected/get_GetRecords-filter-cql-title-or-abstract.xml new file mode 100644 index 000000000..2b1accdf9 --- /dev/null +++ b/tests/functionaltests/suites/default/expected/get_GetRecords-filter-cql-title-or-abstract.xml @@ -0,0 +1,23 @@ + + + + + + + urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f + http://purl.org/dc/dcmitype/Image + image/svg+xml + Lorem ipsum + GR-22 + Tourism--Greece + Quisque lacus diam, placerat mollis, pharetra in, commodo sed, augue. Duis iaculis arcu vel arcu. + + + urn:uuid:a06af396-3105-442d-8b40-22b57a90d2f2 + http://purl.org/dc/dcmitype/Image + Lorem ipsum dolor sit amet + image/jpeg + IT-FI + + + diff --git a/tests/functionaltests/suites/default/expected/get_GetRecords-filter-cql-title-with-spaces-or-abstract-with-spaces.xml b/tests/functionaltests/suites/default/expected/get_GetRecords-filter-cql-title-with-spaces-or-abstract-with-spaces.xml new file mode 100644 index 000000000..2b1accdf9 --- /dev/null +++ b/tests/functionaltests/suites/default/expected/get_GetRecords-filter-cql-title-with-spaces-or-abstract-with-spaces.xml @@ -0,0 +1,23 @@ + + + + + + + urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f + http://purl.org/dc/dcmitype/Image + image/svg+xml + Lorem ipsum + GR-22 + Tourism--Greece + Quisque lacus diam, placerat mollis, pharetra in, commodo sed, augue. Duis iaculis arcu vel arcu. + + + urn:uuid:a06af396-3105-442d-8b40-22b57a90d2f2 + http://purl.org/dc/dcmitype/Image + Lorem ipsum dolor sit amet + image/jpeg + IT-FI + + + diff --git a/tests/functionaltests/suites/default/expected/get_GetRecords-filter-cql-title-with-spaces-or-abstract.xml b/tests/functionaltests/suites/default/expected/get_GetRecords-filter-cql-title-with-spaces-or-abstract.xml new file mode 100644 index 000000000..2b1accdf9 --- /dev/null +++ b/tests/functionaltests/suites/default/expected/get_GetRecords-filter-cql-title-with-spaces-or-abstract.xml @@ -0,0 +1,23 @@ + + + + + + + urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f + http://purl.org/dc/dcmitype/Image + image/svg+xml + Lorem ipsum + GR-22 + Tourism--Greece + Quisque lacus diam, placerat mollis, pharetra in, commodo sed, augue. Duis iaculis arcu vel arcu. + + + urn:uuid:a06af396-3105-442d-8b40-22b57a90d2f2 + http://purl.org/dc/dcmitype/Image + Lorem ipsum dolor sit amet + image/jpeg + IT-FI + + + diff --git a/tests/functionaltests/suites/default/expected/get_GetRecords-filter-cql-title-with-spaces.xml b/tests/functionaltests/suites/default/expected/get_GetRecords-filter-cql-title-with-spaces.xml new file mode 100644 index 000000000..2b1accdf9 --- /dev/null +++ b/tests/functionaltests/suites/default/expected/get_GetRecords-filter-cql-title-with-spaces.xml @@ -0,0 +1,23 @@ + + + + + + + urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f + http://purl.org/dc/dcmitype/Image + image/svg+xml + Lorem ipsum + GR-22 + Tourism--Greece + Quisque lacus diam, placerat mollis, pharetra in, commodo sed, augue. Duis iaculis arcu vel arcu. + + + urn:uuid:a06af396-3105-442d-8b40-22b57a90d2f2 + http://purl.org/dc/dcmitype/Image + Lorem ipsum dolor sit amet + image/jpeg + IT-FI + + + diff --git a/tests/functionaltests/suites/default/expected/get_GetRecords-filter-cql-title.xml b/tests/functionaltests/suites/default/expected/get_GetRecords-filter-cql-title.xml new file mode 100644 index 000000000..2b1accdf9 --- /dev/null +++ b/tests/functionaltests/suites/default/expected/get_GetRecords-filter-cql-title.xml @@ -0,0 +1,23 @@ + + + + + + + urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f + http://purl.org/dc/dcmitype/Image + image/svg+xml + Lorem ipsum + GR-22 + Tourism--Greece + Quisque lacus diam, placerat mollis, pharetra in, commodo sed, augue. Duis iaculis arcu vel arcu. + + + urn:uuid:a06af396-3105-442d-8b40-22b57a90d2f2 + http://purl.org/dc/dcmitype/Image + Lorem ipsum dolor sit amet + image/jpeg + IT-FI + + + diff --git a/tests/functionaltests/suites/default/expected/get_GetRecords-filter.xml b/tests/functionaltests/suites/default/expected/get_GetRecords-filter.xml new file mode 100644 index 000000000..163bcd640 --- /dev/null +++ b/tests/functionaltests/suites/default/expected/get_GetRecords-filter.xml @@ -0,0 +1,16 @@ + + + + + + + urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f + http://purl.org/dc/dcmitype/Image + image/svg+xml + Lorem ipsum + GR-22 + Tourism--Greece + Quisque lacus diam, placerat mollis, pharetra in, commodo sed, augue. Duis iaculis arcu vel arcu. + + + diff --git a/tests/functionaltests/suites/default/expected/get_GetRecords-sortby-asc.xml b/tests/functionaltests/suites/default/expected/get_GetRecords-sortby-asc.xml new file mode 100644 index 000000000..9a5c0f935 --- /dev/null +++ b/tests/functionaltests/suites/default/expected/get_GetRecords-sortby-asc.xml @@ -0,0 +1,91 @@ + + + + + + + urn:uuid:1ef30a8b-876d-4828-9246-c37ab4510bbd + http://purl.org/dc/dcmitype/Service + Proin sit amet justo. In justo. Aenean adipiscing nulla id tellus. + + 60.042 13.754 + 68.410 17.920 + + + + urn:uuid:88247b56-4cbc-4df9-9860-db3f8042e357 + http://purl.org/dc/dcmitype/Dataset + Physiography-Landforms + FI-ES + Donec scelerisque pede ut nisl luctus accumsan. Quisque ultrices, lorem eget feugiat fringilla, lorem dui porttitor ante, cursus ultrices magna odio eu neque. + + + urn:uuid:ab42a8c4-95e8-4630-bf79-33e59241605a + http://purl.org/dc/dcmitype/Service + Physiography + Suspendisse accumsan molestie lorem. Nullam velit turpis, mattis ut, varius bibendum, laoreet non, quam. + urn:uuid:88247b56-4cbc-4df9-9860-db3f8042e357 + + + urn:uuid:784e2afd-a9fd-44a6-9a92-a3848371c8ec + Aliquam fermentum purus quis arcu + http://purl.org/dc/dcmitype/Text + Hydrography--Dictionaries + application/pdf + 2006-05-12 + Vestibulum quis ipsum sit amet metus imperdiet vehicula. Nulla scelerisque cursus mi. + + + urn:uuid:e9330592-0932-474b-be34-c3a3bb67c7db + http://purl.org/dc/dcmitype/Text + Fuscé vitae ligulä + 2003-05-09 + Land titles + text/rtf + Morbi ultriçes, dui suscipit vestibulum prètium, velit ante pretium tortor, egët tincidunt pede odio ac nulla. + + + urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f + http://purl.org/dc/dcmitype/Image + image/svg+xml + Lorem ipsum + GR-22 + Tourism--Greece + Quisque lacus diam, placerat mollis, pharetra in, commodo sed, augue. Duis iaculis arcu vel arcu. + + + urn:uuid:a06af396-3105-442d-8b40-22b57a90d2f2 + http://purl.org/dc/dcmitype/Image + Lorem ipsum dolor sit amet + image/jpeg + IT-FI + + + urn:uuid:66ae76b7-54ba-489b-a582-0f0633d96493 + Maecenas enim + http://purl.org/dc/dcmitype/Text + application/xhtml+xml + Marine sediments + Pellentesque tempus magna non sapien fringilla blandit. + + + urn:uuid:94bc9c83-97f6-4b40-9eb8-a8e8787a5c63 + http://purl.org/dc/dcmitype/Dataset + Mauris sed neque + Vegetation-Cropland + Curabitur lacinia, ante non porta tempus, mi lorem feugiat odio, eget suscipit eros pede ac velit. + 2006-03-26 + + 47.595 -4.097 + 51.217 0.889 + + + + urn:uuid:6a3de50b-fa66-4b58-a0e6-ca146fdd18d4 + http://purl.org/dc/dcmitype/Service + Ut facilisis justo ut lacus + Vegetation + urn:uuid:94bc9c83-97f6-4b40-9eb8-a8e8787a5c63 + + + diff --git a/tests/functionaltests/suites/default/expected/get_GetRecords-sortby-desc.xml b/tests/functionaltests/suites/default/expected/get_GetRecords-sortby-desc.xml new file mode 100644 index 000000000..1bf8d4e5a --- /dev/null +++ b/tests/functionaltests/suites/default/expected/get_GetRecords-sortby-desc.xml @@ -0,0 +1,93 @@ + + + + + + + urn:uuid:9a669547-b69b-469f-a11f-2d875366bbdc + http://purl.org/dc/dcmitype/Dataset + Ñunç elementum + Hydrography-Oceanographic + 2005-10-24 + + 44.792 -6.171 + 51.126 -2.228 + + + + urn:uuid:829babb0-b2f1-49e1-8cd5-7b489fe71a1e + http://purl.org/dc/dcmitype/Image + image/jp2 + Vestibulum massa purus + urn:uuid:9a669547-b69b-469f-a11f-2d875366bbdc + + + urn:uuid:6a3de50b-fa66-4b58-a0e6-ca146fdd18d4 + http://purl.org/dc/dcmitype/Service + Ut facilisis justo ut lacus + Vegetation + urn:uuid:94bc9c83-97f6-4b40-9eb8-a8e8787a5c63 + + + urn:uuid:94bc9c83-97f6-4b40-9eb8-a8e8787a5c63 + http://purl.org/dc/dcmitype/Dataset + Mauris sed neque + Vegetation-Cropland + Curabitur lacinia, ante non porta tempus, mi lorem feugiat odio, eget suscipit eros pede ac velit. + 2006-03-26 + + 47.595 -4.097 + 51.217 0.889 + + + + urn:uuid:66ae76b7-54ba-489b-a582-0f0633d96493 + Maecenas enim + http://purl.org/dc/dcmitype/Text + application/xhtml+xml + Marine sediments + Pellentesque tempus magna non sapien fringilla blandit. + + + urn:uuid:a06af396-3105-442d-8b40-22b57a90d2f2 + http://purl.org/dc/dcmitype/Image + Lorem ipsum dolor sit amet + image/jpeg + IT-FI + + + urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f + http://purl.org/dc/dcmitype/Image + image/svg+xml + Lorem ipsum + GR-22 + Tourism--Greece + Quisque lacus diam, placerat mollis, pharetra in, commodo sed, augue. Duis iaculis arcu vel arcu. + + + urn:uuid:e9330592-0932-474b-be34-c3a3bb67c7db + http://purl.org/dc/dcmitype/Text + Fuscé vitae ligulä + 2003-05-09 + Land titles + text/rtf + Morbi ultriçes, dui suscipit vestibulum prètium, velit ante pretium tortor, egët tincidunt pede odio ac nulla. + + + urn:uuid:784e2afd-a9fd-44a6-9a92-a3848371c8ec + Aliquam fermentum purus quis arcu + http://purl.org/dc/dcmitype/Text + Hydrography--Dictionaries + application/pdf + 2006-05-12 + Vestibulum quis ipsum sit amet metus imperdiet vehicula. Nulla scelerisque cursus mi. + + + urn:uuid:ab42a8c4-95e8-4630-bf79-33e59241605a + http://purl.org/dc/dcmitype/Service + Physiography + Suspendisse accumsan molestie lorem. Nullam velit turpis, mattis ut, varius bibendum, laoreet non, quam. + urn:uuid:88247b56-4cbc-4df9-9860-db3f8042e357 + + + diff --git a/tests/functionaltests/suites/default/expected/get_GetRecords-sortby-invalid-order.xml b/tests/functionaltests/suites/default/expected/get_GetRecords-sortby-invalid-order.xml new file mode 100644 index 000000000..85457f69f --- /dev/null +++ b/tests/functionaltests/suites/default/expected/get_GetRecords-sortby-invalid-order.xml @@ -0,0 +1,7 @@ + + + + + Invalid SortBy value: sort order must be "A" or "D" + + diff --git a/tests/functionaltests/suites/default/expected/get_GetRecords-sortby-invalid-propertyname.xml b/tests/functionaltests/suites/default/expected/get_GetRecords-sortby-invalid-propertyname.xml new file mode 100644 index 000000000..25c7b6f80 --- /dev/null +++ b/tests/functionaltests/suites/default/expected/get_GetRecords-sortby-invalid-propertyname.xml @@ -0,0 +1,7 @@ + + + + + Invalid SortBy propertyname: dc:titlei + + diff --git a/tests/functionaltests/suites/default/expected/get_GetRepositoryItem.xml b/tests/functionaltests/suites/default/expected/get_GetRepositoryItem.xml new file mode 100644 index 000000000..77fae8b66 --- /dev/null +++ b/tests/functionaltests/suites/default/expected/get_GetRepositoryItem.xml @@ -0,0 +1,14 @@ + + + + urn:uuid:94bc9c83-97f6-4b40-9eb8-a8e8787a5c63 + http://purl.org/dc/dcmitype/Dataset + Mauris sed neque + Vegetation-Cropland + Curabitur lacinia, ante non porta tempus, mi lorem feugiat odio, eget suscipit eros pede ac velit. + 2006-03-26 + + 47.595 -4.097 + 51.217 0.889 + + diff --git a/tests/functionaltests/suites/default/expected/post_DescribeRecord-json.xml b/tests/functionaltests/suites/default/expected/post_DescribeRecord-json.xml new file mode 100644 index 000000000..19f117bee --- /dev/null +++ b/tests/functionaltests/suites/default/expected/post_DescribeRecord-json.xml @@ -0,0 +1,231 @@ +{ + "csw:DescribeRecordResponse": { + "@xsi:schemaLocation": "http://www.opengis.net/cat/csw/2.0.2 http://schemas.opengis.net/csw/2.0.2/CSW-discovery.xsd", + "csw:SchemaComponent": { + "@schemaLanguage": "XMLSCHEMA", + "@targetNamespace": "http://www.opengis.net/cat/csw/2.0.2", + "xs:schema": { + "@id": "csw-record", + "@targetNamespace": "http://www.opengis.net/cat/csw/2.0.2", + "@elementFormDefault": "qualified", + "@version": "2.0.2 2010-01-22", + "xs:annotation": { + "xs:appinfo": { + "dc:identifier": "http://schemas.opengis.net/csw/2.0.2/record.xsd" + }, + "xs:documentation": { + "@http://www.w3.org/XML/1998/namespace:lang": "en", + "#text": "This schema defines the basic record types that must be supported\n by all CSW implementations. These correspond to full, summary, and\n brief views based on DCMI metadata terms.\n \n CSW is an OGC Standard.\n Copyright (c) 2004,2010 Open Geospatial Consortium, Inc. All Rights Reserved.\n To obtain additional rights of use, visit http://www.opengeospatial.org/legal/ ." + } + }, + "xs:import": [ + { + "@namespace": "http://purl.org/dc/terms/", + "@schemaLocation": "rec-dcterms.xsd" + }, + { + "@namespace": "http://purl.org/dc/elements/1.1/", + "@schemaLocation": "rec-dcmes.xsd" + }, + { + "@namespace": "http://www.opengis.net/ows", + "@schemaLocation": "../../ows/1.0.0/owsAll.xsd" + } + ], + "xs:element": [ + { + "@name": "AbstractRecord", + "@id": "AbstractRecord", + "@type": "csw:AbstractRecordType", + "@abstract": "true" + }, + { + "@name": "DCMIRecord", + "@type": "csw:DCMIRecordType", + "@substitutionGroup": "csw:AbstractRecord" + }, + { + "@name": "BriefRecord", + "@type": "csw:BriefRecordType", + "@substitutionGroup": "csw:AbstractRecord" + }, + { + "@name": "SummaryRecord", + "@type": "csw:SummaryRecordType", + "@substitutionGroup": "csw:AbstractRecord" + }, + { + "@name": "Record", + "@type": "csw:RecordType", + "@substitutionGroup": "csw:AbstractRecord" + } + ], + "xs:complexType": [ + { + "@name": "AbstractRecordType", + "@id": "AbstractRecordType", + "@abstract": "true" + }, + { + "@name": "DCMIRecordType", + "xs:annotation": { + "xs:documentation": { + "@http://www.w3.org/XML/1998/namespace:lang": "en", + "#text": "This type encapsulates all of the standard DCMI metadata terms,\n including the Dublin Core refinements; these terms may be mapped\n to the profile-specific information model." + } + }, + "xs:complexContent": { + "xs:extension": { + "@base": "csw:AbstractRecordType", + "xs:sequence": { + "xs:group": { + "@ref": "dct:DCMI-terms" + } + } + } + } + }, + { + "@name": "BriefRecordType", + "@final": "#all", + "xs:annotation": { + "xs:documentation": { + "@http://www.w3.org/XML/1998/namespace:lang": "en", + "#text": "This type defines a brief representation of the common record\n format. It extends AbstractRecordType to include only the\n dc:identifier and dc:type properties." + } + }, + "xs:complexContent": { + "xs:extension": { + "@base": "csw:AbstractRecordType", + "xs:sequence": { + "xs:element": [ + { + "@ref": "dc:identifier", + "@minOccurs": "1", + "@maxOccurs": "unbounded" + }, + { + "@ref": "dc:title", + "@minOccurs": "1", + "@maxOccurs": "unbounded" + }, + { + "@ref": "dc:type", + "@minOccurs": "0" + }, + { + "@ref": "ows:BoundingBox", + "@minOccurs": "0", + "@maxOccurs": "unbounded" + } + ] + } + } + } + }, + { + "@name": "SummaryRecordType", + "@final": "#all", + "xs:annotation": { + "xs:documentation": { + "@http://www.w3.org/XML/1998/namespace:lang": "en", + "#text": "This type defines a summary representation of the common record\n format. It extends AbstractRecordType to include the core\n properties." + } + }, + "xs:complexContent": { + "xs:extension": { + "@base": "csw:AbstractRecordType", + "xs:sequence": { + "xs:element": [ + { + "@ref": "dc:identifier", + "@minOccurs": "1", + "@maxOccurs": "unbounded" + }, + { + "@ref": "dc:title", + "@minOccurs": "1", + "@maxOccurs": "unbounded" + }, + { + "@ref": "dc:type", + "@minOccurs": "0" + }, + { + "@ref": "dc:subject", + "@minOccurs": "0", + "@maxOccurs": "unbounded" + }, + { + "@ref": "dc:format", + "@minOccurs": "0", + "@maxOccurs": "unbounded" + }, + { + "@ref": "dc:relation", + "@minOccurs": "0", + "@maxOccurs": "unbounded" + }, + { + "@ref": "dct:modified", + "@minOccurs": "0", + "@maxOccurs": "unbounded" + }, + { + "@ref": "dct:abstract", + "@minOccurs": "0", + "@maxOccurs": "unbounded" + }, + { + "@ref": "dct:spatial", + "@minOccurs": "0", + "@maxOccurs": "unbounded" + }, + { + "@ref": "ows:BoundingBox", + "@minOccurs": "0", + "@maxOccurs": "unbounded" + } + ] + } + } + } + }, + { + "@name": "RecordType", + "@final": "#all", + "xs:annotation": { + "xs:documentation": { + "@http://www.w3.org/XML/1998/namespace:lang": "en", + "#text": "This type extends DCMIRecordType to add ows:BoundingBox;\n it may be used to specify a spatial envelope for the\n catalogued resource." + } + }, + "xs:complexContent": { + "xs:extension": { + "@base": "csw:DCMIRecordType", + "xs:sequence": { + "xs:element": [ + { + "@name": "AnyText", + "@type": "csw:EmptyType", + "@minOccurs": "0", + "@maxOccurs": "unbounded" + }, + { + "@ref": "ows:BoundingBox", + "@minOccurs": "0", + "@maxOccurs": "unbounded" + } + ] + } + } + } + }, + { + "@name": "EmptyType" + } + ] + } + } + } +} \ No newline at end of file diff --git a/tests/functionaltests/suites/default/expected/post_DescribeRecord.xml b/tests/functionaltests/suites/default/expected/post_DescribeRecord.xml new file mode 100644 index 000000000..76101a6bb --- /dev/null +++ b/tests/functionaltests/suites/default/expected/post_DescribeRecord.xml @@ -0,0 +1,115 @@ + + + + + + + + http://schemas.opengis.net/csw/2.0.2/record.xsd + + + This schema defines the basic record types that must be supported + by all CSW implementations. These correspond to full, summary, and + brief views based on DCMI metadata terms. + + CSW is an OGC Standard. + Copyright (c) 2004,2010 Open Geospatial Consortium, Inc. All Rights Reserved. + To obtain additional rights of use, visit http://www.opengeospatial.org/legal/ . + + + + + + + + + + + + + + + This type encapsulates all of the standard DCMI metadata terms, + including the Dublin Core refinements; these terms may be mapped + to the profile-specific information model. + + + + + + + + + + + + + + + + This type defines a brief representation of the common record + format. It extends AbstractRecordType to include only the + dc:identifier and dc:type properties. + + + + + + + + + + + + + + + + + + + This type defines a summary representation of the common record + format. It extends AbstractRecordType to include the core + properties. + + + + + + + + + + + + + + + + + + + + + + + + + This type extends DCMIRecordType to add ows:BoundingBox; + it may be used to specify a spatial envelope for the + catalogued resource. + + + + + + + + + + + + + + + diff --git a/tests/functionaltests/suites/default/expected/post_Exception-GetRecords-badsrsname.xml b/tests/functionaltests/suites/default/expected/post_Exception-GetRecords-badsrsname.xml new file mode 100644 index 000000000..fe0c923f3 --- /dev/null +++ b/tests/functionaltests/suites/default/expected/post_Exception-GetRecords-badsrsname.xml @@ -0,0 +1,7 @@ + + + + + Invalid Constraint: Invalid Filter request: Reprojection error: Invalid srsName "EPSG:226": Invalid source projection + + diff --git a/tests/functionaltests/suites/default/expected/post_Exception-GetRecords-elementname.xml b/tests/functionaltests/suites/default/expected/post_Exception-GetRecords-elementname.xml new file mode 100644 index 000000000..3654684e2 --- /dev/null +++ b/tests/functionaltests/suites/default/expected/post_Exception-GetRecords-elementname.xml @@ -0,0 +1,7 @@ + + + + + Invalid ElementName parameter value: dc:foo + + diff --git a/tests/functionaltests/suites/default/expected/post_Exception-GetRecords-invalid-xml.xml b/tests/functionaltests/suites/default/expected/post_Exception-GetRecords-invalid-xml.xml new file mode 100644 index 000000000..f21f6db74 --- /dev/null +++ b/tests/functionaltests/suites/default/expected/post_Exception-GetRecords-invalid-xml.xml @@ -0,0 +1,8 @@ + + + + + Exception: the document is not valid. +Error: Element '{http://www.opengis.net/cat/csw/2.0.2}ElementNamefoo': This element is not expected. Expected is one of ( {http://www.opengis.net/cat/csw/2.0.2}ElementSetName, {http://www.opengis.net/cat/csw/2.0.2}ElementName ). + + diff --git a/tests/functionaltests/suites/default/expected/post_GetCapabilities-SOAP.xml b/tests/functionaltests/suites/default/expected/post_GetCapabilities-SOAP.xml new file mode 100644 index 000000000..ae7b31029 --- /dev/null +++ b/tests/functionaltests/suites/default/expected/post_GetCapabilities-SOAP.xml @@ -0,0 +1,266 @@ + + + + + + + pycsw Geospatial Catalogue + pycsw is an OGC CSW server implementation written in Python + + catalogue + discovery + theme + + CSW + 2.0.2 + 3.0.0 + None + None + + + pycsw + + + Kralidis, Tom + Senior Systems Scientist + + + +01-416-xxx-xxxx + +01-416-xxx-xxxx + + + TBA + Toronto + Ontario + M9C 3Z9 + Canada + tomkralidis@gmail.com + + + 0800h - 1600h EST + During hours of service. Off on weekends. + + pointOfContact + + + + + + + + + + + + Filter_Capabilities + OperationsMetadata + ServiceIdentification + ServiceProvider + + + + + + + + + + + application/json + application/xml + + + http://www.w3.org/2001/XMLSchema + http://www.w3.org/TR/xmlschema-1/ + http://www.w3.org/XML/Schema + + + csw:Record + + + + + + + + + + + DescribeRecord.outputFormat + DescribeRecord.schemaLanguage + DescribeRecord.typeName + GetCapabilities.sections + GetRecordById.ElementSetName + GetRecordById.outputFormat + GetRecordById.outputSchema + GetRecords.CONSTRAINTLANGUAGE + GetRecords.ElementSetName + GetRecords.outputFormat + GetRecords.outputSchema + GetRecords.resultType + GetRecords.typeNames + + + + + + + + + + + CQL_TEXT + FILTER + + + brief + full + summary + + + application/json + application/xml + + + http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ + http://www.interlis.ch/INTERLIS2.3 + http://www.opengis.net/cat/csw/2.0.2 + http://www.opengis.net/cat/csw/csdgm + http://www.w3.org/2005/Atom + + + hits + results + validate + + + csw:Record + + + csw:AnyText + dc:contributor + dc:creator + dc:date + dc:format + dc:identifier + dc:language + dc:publisher + dc:relation + dc:rights + dc:source + dc:subject + dc:title + dc:type + dct:abstract + dct:modified + ows:BoundingBox + + + + + + + + + + + brief + full + summary + + + application/json + application/xml + + + http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ + http://www.interlis.ch/INTERLIS2.3 + http://www.opengis.net/cat/csw/2.0.2 + http://www.opengis.net/cat/csw/csdgm + http://www.w3.org/2005/Atom + + + + + + + + + + + CSW + + + 2.0.2 + 3.0.0 + + + http://demo.pycsw.org/gisdata/csw + + + 10 + + + XML + SOAP + + + allowed + + + + + + gml:Point + gml:LineString + gml:Polygon + gml:Envelope + + + + + + + + + + + + + + + + + + + Between + EqualTo + GreaterThan + GreaterThanEqualTo + LessThan + LessThanEqualTo + Like + NotEqualTo + NullCheck + + + + + length + lower + ltrim + rtrim + trim + upper + + + + + + + + + + + + diff --git a/tests/functionaltests/suites/default/expected/post_GetCapabilities-sections.xml b/tests/functionaltests/suites/default/expected/post_GetCapabilities-sections.xml new file mode 100644 index 000000000..9c51855de --- /dev/null +++ b/tests/functionaltests/suites/default/expected/post_GetCapabilities-sections.xml @@ -0,0 +1,83 @@ + + + + + pycsw + + + Kralidis, Tom + Senior Systems Scientist + + + +01-416-xxx-xxxx + +01-416-xxx-xxxx + + + TBA + Toronto + Ontario + M9C 3Z9 + Canada + tomkralidis@gmail.com + + + 0800h - 1600h EST + During hours of service. Off on weekends. + + pointOfContact + + + + + + gml:Point + gml:LineString + gml:Polygon + gml:Envelope + + + + + + + + + + + + + + + + + + + Between + EqualTo + GreaterThan + GreaterThanEqualTo + LessThan + LessThanEqualTo + Like + NotEqualTo + NullCheck + + + + + length + lower + ltrim + rtrim + trim + upper + + + + + + + + + + diff --git a/tests/functionaltests/suites/default/expected/post_GetCapabilities-updatesequence.xml b/tests/functionaltests/suites/default/expected/post_GetCapabilities-updatesequence.xml new file mode 100644 index 000000000..8026e1b3b --- /dev/null +++ b/tests/functionaltests/suites/default/expected/post_GetCapabilities-updatesequence.xml @@ -0,0 +1,262 @@ + + + + + pycsw Geospatial Catalogue + pycsw is an OGC CSW server implementation written in Python + + catalogue + discovery + theme + + CSW + 2.0.2 + 3.0.0 + None + None + + + pycsw + + + Kralidis, Tom + Senior Systems Scientist + + + +01-416-xxx-xxxx + +01-416-xxx-xxxx + + + TBA + Toronto + Ontario + M9C 3Z9 + Canada + tomkralidis@gmail.com + + + 0800h - 1600h EST + During hours of service. Off on weekends. + + pointOfContact + + + + + + + + + + + + Filter_Capabilities + OperationsMetadata + ServiceIdentification + ServiceProvider + + + + + + + + + + + application/json + application/xml + + + http://www.w3.org/2001/XMLSchema + http://www.w3.org/TR/xmlschema-1/ + http://www.w3.org/XML/Schema + + + csw:Record + + + + + + + + + + + DescribeRecord.outputFormat + DescribeRecord.schemaLanguage + DescribeRecord.typeName + GetCapabilities.sections + GetRecordById.ElementSetName + GetRecordById.outputFormat + GetRecordById.outputSchema + GetRecords.CONSTRAINTLANGUAGE + GetRecords.ElementSetName + GetRecords.outputFormat + GetRecords.outputSchema + GetRecords.resultType + GetRecords.typeNames + + + + + + + + + + + CQL_TEXT + FILTER + + + brief + full + summary + + + application/json + application/xml + + + http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ + http://www.interlis.ch/INTERLIS2.3 + http://www.opengis.net/cat/csw/2.0.2 + http://www.opengis.net/cat/csw/csdgm + http://www.w3.org/2005/Atom + + + hits + results + validate + + + csw:Record + + + csw:AnyText + dc:contributor + dc:creator + dc:date + dc:format + dc:identifier + dc:language + dc:publisher + dc:relation + dc:rights + dc:source + dc:subject + dc:title + dc:type + dct:abstract + dct:modified + ows:BoundingBox + + + + + + + + + + + brief + full + summary + + + application/json + application/xml + + + http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ + http://www.interlis.ch/INTERLIS2.3 + http://www.opengis.net/cat/csw/2.0.2 + http://www.opengis.net/cat/csw/csdgm + http://www.w3.org/2005/Atom + + + + + + + + + + + CSW + + + 2.0.2 + 3.0.0 + + + http://demo.pycsw.org/gisdata/csw + + + 10 + + + XML + SOAP + + + allowed + + + + + + gml:Point + gml:LineString + gml:Polygon + gml:Envelope + + + + + + + + + + + + + + + + + + + Between + EqualTo + GreaterThan + GreaterThanEqualTo + LessThan + LessThanEqualTo + Like + NotEqualTo + NullCheck + + + + + length + lower + ltrim + rtrim + trim + upper + + + + + + + + + + diff --git a/tests/functionaltests/suites/default/expected/post_GetCapabilities.xml b/tests/functionaltests/suites/default/expected/post_GetCapabilities.xml new file mode 100644 index 000000000..8026e1b3b --- /dev/null +++ b/tests/functionaltests/suites/default/expected/post_GetCapabilities.xml @@ -0,0 +1,262 @@ + + + + + pycsw Geospatial Catalogue + pycsw is an OGC CSW server implementation written in Python + + catalogue + discovery + theme + + CSW + 2.0.2 + 3.0.0 + None + None + + + pycsw + + + Kralidis, Tom + Senior Systems Scientist + + + +01-416-xxx-xxxx + +01-416-xxx-xxxx + + + TBA + Toronto + Ontario + M9C 3Z9 + Canada + tomkralidis@gmail.com + + + 0800h - 1600h EST + During hours of service. Off on weekends. + + pointOfContact + + + + + + + + + + + + Filter_Capabilities + OperationsMetadata + ServiceIdentification + ServiceProvider + + + + + + + + + + + application/json + application/xml + + + http://www.w3.org/2001/XMLSchema + http://www.w3.org/TR/xmlschema-1/ + http://www.w3.org/XML/Schema + + + csw:Record + + + + + + + + + + + DescribeRecord.outputFormat + DescribeRecord.schemaLanguage + DescribeRecord.typeName + GetCapabilities.sections + GetRecordById.ElementSetName + GetRecordById.outputFormat + GetRecordById.outputSchema + GetRecords.CONSTRAINTLANGUAGE + GetRecords.ElementSetName + GetRecords.outputFormat + GetRecords.outputSchema + GetRecords.resultType + GetRecords.typeNames + + + + + + + + + + + CQL_TEXT + FILTER + + + brief + full + summary + + + application/json + application/xml + + + http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ + http://www.interlis.ch/INTERLIS2.3 + http://www.opengis.net/cat/csw/2.0.2 + http://www.opengis.net/cat/csw/csdgm + http://www.w3.org/2005/Atom + + + hits + results + validate + + + csw:Record + + + csw:AnyText + dc:contributor + dc:creator + dc:date + dc:format + dc:identifier + dc:language + dc:publisher + dc:relation + dc:rights + dc:source + dc:subject + dc:title + dc:type + dct:abstract + dct:modified + ows:BoundingBox + + + + + + + + + + + brief + full + summary + + + application/json + application/xml + + + http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ + http://www.interlis.ch/INTERLIS2.3 + http://www.opengis.net/cat/csw/2.0.2 + http://www.opengis.net/cat/csw/csdgm + http://www.w3.org/2005/Atom + + + + + + + + + + + CSW + + + 2.0.2 + 3.0.0 + + + http://demo.pycsw.org/gisdata/csw + + + 10 + + + XML + SOAP + + + allowed + + + + + + gml:Point + gml:LineString + gml:Polygon + gml:Envelope + + + + + + + + + + + + + + + + + + + Between + EqualTo + GreaterThan + GreaterThanEqualTo + LessThan + LessThanEqualTo + Like + NotEqualTo + NullCheck + + + + + length + lower + ltrim + rtrim + trim + upper + + + + + + + + + + diff --git a/tests/functionaltests/suites/default/expected/post_GetDomain-parameter.xml b/tests/functionaltests/suites/default/expected/post_GetDomain-parameter.xml new file mode 100644 index 000000000..71bdb8a76 --- /dev/null +++ b/tests/functionaltests/suites/default/expected/post_GetDomain-parameter.xml @@ -0,0 +1,11 @@ + + + + + GetRecords.CONSTRAINTLANGUAGE + + CQL_TEXT + FILTER + + + diff --git a/tests/functionaltests/suites/default/expected/post_GetDomain-property.xml b/tests/functionaltests/suites/default/expected/post_GetDomain-property.xml new file mode 100644 index 000000000..257726071 --- /dev/null +++ b/tests/functionaltests/suites/default/expected/post_GetDomain-property.xml @@ -0,0 +1,18 @@ + + + + + dc:title + + Aliquam fermentum purus quis arcu + Fuscé vitae ligulä + Lorem ipsum + Lorem ipsum dolor sit amet + Maecenas enim + Mauris sed neque + Ut facilisis justo ut lacus + Vestibulum massa purus + Ñunç elementum + + + diff --git a/tests/functionaltests/suites/default/expected/post_GetRecordById-json.xml b/tests/functionaltests/suites/default/expected/post_GetRecordById-json.xml new file mode 100644 index 000000000..e8d687f71 --- /dev/null +++ b/tests/functionaltests/suites/default/expected/post_GetRecordById-json.xml @@ -0,0 +1,18 @@ +{ + "csw:GetRecordByIdResponse": { + "@xsi:schemaLocation": "http://www.opengis.net/cat/csw/2.0.2 http://schemas.opengis.net/csw/2.0.2/CSW-discovery.xsd", + "csw:SummaryRecord": { + "dc:identifier": "urn:uuid:94bc9c83-97f6-4b40-9eb8-a8e8787a5c63", + "dc:title": "Mauris sed neque", + "dc:type": "http://purl.org/dc/dcmitype/Dataset", + "dc:subject": "Vegetation-Cropland", + "dct:abstract": "Curabitur lacinia, ante non porta tempus, mi lorem feugiat odio, eget suscipit eros pede ac velit.", + "ows:BoundingBox": { + "@crs": "urn:x-ogc:def:crs:EPSG:6.11:4326", + "@dimensions": "2", + "ows:LowerCorner": "47.59 -4.1", + "ows:UpperCorner": "51.22 0.89" + } + } + } +} \ No newline at end of file diff --git a/tests/functionaltests/suites/default/expected/post_GetRecordById.xml b/tests/functionaltests/suites/default/expected/post_GetRecordById.xml new file mode 100644 index 000000000..6cddad959 --- /dev/null +++ b/tests/functionaltests/suites/default/expected/post_GetRecordById.xml @@ -0,0 +1,15 @@ + + + + + urn:uuid:94bc9c83-97f6-4b40-9eb8-a8e8787a5c63 + Mauris sed neque + http://purl.org/dc/dcmitype/Dataset + Vegetation-Cropland + Curabitur lacinia, ante non porta tempus, mi lorem feugiat odio, eget suscipit eros pede ac velit. + + 47.59 -4.1 + 51.22 0.89 + + + diff --git a/tests/functionaltests/suites/default/expected/post_GetRecords-all-json.xml b/tests/functionaltests/suites/default/expected/post_GetRecords-all-json.xml new file mode 100644 index 000000000..20fbf3798 --- /dev/null +++ b/tests/functionaltests/suites/default/expected/post_GetRecords-all-json.xml @@ -0,0 +1,64 @@ +{ + "csw:GetRecordsResponse": { + "@version": "2.0.2", + "@xsi:schemaLocation": "http://www.opengis.net/cat/csw/2.0.2 http://schemas.opengis.net/csw/2.0.2/CSW-discovery.xsd", + "csw:SearchStatus": { + "@timestamp": "PYCSW_TIMESTAMP" + }, + "csw:SearchResults": { + "@nextRecord": "6", + "@numberOfRecordsMatched": "12", + "@numberOfRecordsReturned": "5", + "@recordSchema": "http://www.opengis.net/cat/csw/2.0.2", + "@elementSet": "full", + "csw:Record": [ + { + "dc:identifier": "urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f", + "dc:type": "http://purl.org/dc/dcmitype/Image", + "dc:format": "image/svg+xml", + "dc:title": "Lorem ipsum", + "dct:spatial": "GR-22", + "dc:subject": "Tourism--Greece", + "dct:abstract": "Quisque lacus diam, placerat mollis, pharetra in, commodo sed, augue. Duis iaculis arcu vel arcu." + }, + { + "dc:identifier": "urn:uuid:1ef30a8b-876d-4828-9246-c37ab4510bbd", + "dc:type": "http://purl.org/dc/dcmitype/Service", + "dct:abstract": "Proin sit amet justo. In justo. Aenean adipiscing nulla id tellus.", + "ows:BoundingBox": { + "@crs": "urn:x-ogc:def:crs:EPSG:6.11:4326", + "ows:LowerCorner": "60.042 13.754", + "ows:UpperCorner": "68.410 17.920" + } + }, + { + "dc:identifier": "urn:uuid:66ae76b7-54ba-489b-a582-0f0633d96493", + "dc:title": "Maecenas enim", + "dc:type": "http://purl.org/dc/dcmitype/Text", + "dc:format": "application/xhtml+xml", + "dc:subject": "Marine sediments", + "dct:abstract": "Pellentesque tempus magna non sapien fringilla blandit." + }, + { + "dc:identifier": "urn:uuid:6a3de50b-fa66-4b58-a0e6-ca146fdd18d4", + "dc:type": "http://purl.org/dc/dcmitype/Service", + "dc:title": "Ut facilisis justo ut lacus", + "dc:subject": { + "@scheme": "http://www.digest.org/2.1", + "#text": "Vegetation" + }, + "dc:relation": "urn:uuid:94bc9c83-97f6-4b40-9eb8-a8e8787a5c63" + }, + { + "dc:identifier": "urn:uuid:784e2afd-a9fd-44a6-9a92-a3848371c8ec", + "dc:title": "Aliquam fermentum purus quis arcu", + "dc:type": "http://purl.org/dc/dcmitype/Text", + "dc:subject": "Hydrography--Dictionaries", + "dc:format": "application/pdf", + "dc:date": "2006-05-12", + "dct:abstract": "Vestibulum quis ipsum sit amet metus imperdiet vehicula. Nulla scelerisque cursus mi." + } + ] + } + } +} \ No newline at end of file diff --git a/tests/functionaltests/suites/default/expected/post_GetRecords-all-resulttype-hits.xml b/tests/functionaltests/suites/default/expected/post_GetRecords-all-resulttype-hits.xml new file mode 100644 index 000000000..b93efb288 --- /dev/null +++ b/tests/functionaltests/suites/default/expected/post_GetRecords-all-resulttype-hits.xml @@ -0,0 +1,6 @@ + + + + + + diff --git a/tests/functionaltests/suites/default/expected/post_GetRecords-all-resulttype-validate.xml b/tests/functionaltests/suites/default/expected/post_GetRecords-all-resulttype-validate.xml new file mode 100644 index 000000000..40bc3449b --- /dev/null +++ b/tests/functionaltests/suites/default/expected/post_GetRecords-all-resulttype-validate.xml @@ -0,0 +1,11 @@ + + + + + + + full + + + + diff --git a/tests/functionaltests/suites/default/expected/post_GetRecords-all-sortby-bbox.xml b/tests/functionaltests/suites/default/expected/post_GetRecords-all-sortby-bbox.xml new file mode 100644 index 000000000..e6bb27292 --- /dev/null +++ b/tests/functionaltests/suites/default/expected/post_GetRecords-all-sortby-bbox.xml @@ -0,0 +1,56 @@ + + + + + + + urn:uuid:1ef30a8b-876d-4828-9246-c37ab4510bbd + http://purl.org/dc/dcmitype/Service + Proin sit amet justo. In justo. Aenean adipiscing nulla id tellus. + + 60.042 13.754 + 68.410 17.920 + + + + urn:uuid:9a669547-b69b-469f-a11f-2d875366bbdc + http://purl.org/dc/dcmitype/Dataset + Ñunç elementum + Hydrography-Oceanographic + 2005-10-24 + + 44.792 -6.171 + 51.126 -2.228 + + + + urn:uuid:94bc9c83-97f6-4b40-9eb8-a8e8787a5c63 + http://purl.org/dc/dcmitype/Dataset + Mauris sed neque + Vegetation-Cropland + Curabitur lacinia, ante non porta tempus, mi lorem feugiat odio, eget suscipit eros pede ac velit. + 2006-03-26 + + 47.595 -4.097 + 51.217 0.889 + + + + urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f + http://purl.org/dc/dcmitype/Image + image/svg+xml + Lorem ipsum + GR-22 + Tourism--Greece + Quisque lacus diam, placerat mollis, pharetra in, commodo sed, augue. Duis iaculis arcu vel arcu. + + + urn:uuid:66ae76b7-54ba-489b-a582-0f0633d96493 + Maecenas enim + http://purl.org/dc/dcmitype/Text + application/xhtml+xml + Marine sediments + Pellentesque tempus magna non sapien fringilla blandit. + + + diff --git a/tests/functionaltests/suites/default/expected/post_GetRecords-all.xml b/tests/functionaltests/suites/default/expected/post_GetRecords-all.xml new file mode 100644 index 000000000..97ead2e33 --- /dev/null +++ b/tests/functionaltests/suites/default/expected/post_GetRecords-all.xml @@ -0,0 +1,49 @@ + + + + + + + urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f + http://purl.org/dc/dcmitype/Image + image/svg+xml + Lorem ipsum + GR-22 + Tourism--Greece + Quisque lacus diam, placerat mollis, pharetra in, commodo sed, augue. Duis iaculis arcu vel arcu. + + + urn:uuid:1ef30a8b-876d-4828-9246-c37ab4510bbd + http://purl.org/dc/dcmitype/Service + Proin sit amet justo. In justo. Aenean adipiscing nulla id tellus. + + 60.042 13.754 + 68.410 17.920 + + + + urn:uuid:66ae76b7-54ba-489b-a582-0f0633d96493 + Maecenas enim + http://purl.org/dc/dcmitype/Text + application/xhtml+xml + Marine sediments + Pellentesque tempus magna non sapien fringilla blandit. + + + urn:uuid:6a3de50b-fa66-4b58-a0e6-ca146fdd18d4 + http://purl.org/dc/dcmitype/Service + Ut facilisis justo ut lacus + Vegetation + urn:uuid:94bc9c83-97f6-4b40-9eb8-a8e8787a5c63 + + + urn:uuid:784e2afd-a9fd-44a6-9a92-a3848371c8ec + Aliquam fermentum purus quis arcu + http://purl.org/dc/dcmitype/Text + Hydrography--Dictionaries + application/pdf + 2006-05-12 + Vestibulum quis ipsum sit amet metus imperdiet vehicula. Nulla scelerisque cursus mi. + + + diff --git a/tests/functionaltests/suites/default/expected/post_GetRecords-bbox-filter-crs84.xml b/tests/functionaltests/suites/default/expected/post_GetRecords-bbox-filter-crs84.xml new file mode 100644 index 000000000..97de18a9a --- /dev/null +++ b/tests/functionaltests/suites/default/expected/post_GetRecords-bbox-filter-crs84.xml @@ -0,0 +1,34 @@ + + + + + + + urn:uuid:1ef30a8b-876d-4828-9246-c37ab4510bbd + + http://purl.org/dc/dcmitype/Service + + 60.04 13.75 + 68.41 17.92 + + + + urn:uuid:94bc9c83-97f6-4b40-9eb8-a8e8787a5c63 + Mauris sed neque + http://purl.org/dc/dcmitype/Dataset + + 47.59 -4.1 + 51.22 0.89 + + + + urn:uuid:9a669547-b69b-469f-a11f-2d875366bbdc + Ñunç elementum + http://purl.org/dc/dcmitype/Dataset + + 44.79 -6.17 + 51.13 -2.23 + + + + diff --git a/tests/functionaltests/suites/default/expected/post_GetRecords-cql-title-and-abstract.xml b/tests/functionaltests/suites/default/expected/post_GetRecords-cql-title-and-abstract.xml new file mode 100644 index 000000000..4ed61a2ee --- /dev/null +++ b/tests/functionaltests/suites/default/expected/post_GetRecords-cql-title-and-abstract.xml @@ -0,0 +1,12 @@ + + + + + + + urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f + Lorem ipsum + http://purl.org/dc/dcmitype/Image + + + diff --git a/tests/functionaltests/suites/default/expected/post_GetRecords-cql-title.xml b/tests/functionaltests/suites/default/expected/post_GetRecords-cql-title.xml new file mode 100644 index 000000000..47493bb32 --- /dev/null +++ b/tests/functionaltests/suites/default/expected/post_GetRecords-cql-title.xml @@ -0,0 +1,17 @@ + + + + + + + urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f + Lorem ipsum + http://purl.org/dc/dcmitype/Image + + + urn:uuid:a06af396-3105-442d-8b40-22b57a90d2f2 + Lorem ipsum dolor sit amet + http://purl.org/dc/dcmitype/Image + + + diff --git a/tests/functionaltests/suites/default/expected/post_GetRecords-distributedsearch.xml b/tests/functionaltests/suites/default/expected/post_GetRecords-distributedsearch.xml new file mode 100644 index 000000000..d8f0c0f9f --- /dev/null +++ b/tests/functionaltests/suites/default/expected/post_GetRecords-distributedsearch.xml @@ -0,0 +1,17 @@ + + + + + + + + urn:uuid:dd87919a-e399-11e5-8327-aa0000ae6bfc + Aquifers + vector digital data + + 32.55 -117.6 + 33.51 -116.08 + + + + diff --git a/tests/functionaltests/suites/default/expected/post_GetRecords-elementname.xml b/tests/functionaltests/suites/default/expected/post_GetRecords-elementname.xml new file mode 100644 index 000000000..29fbf6340 --- /dev/null +++ b/tests/functionaltests/suites/default/expected/post_GetRecords-elementname.xml @@ -0,0 +1,20 @@ + + + + + + + Lorem ipsum + + + + Maecenas enim + + + Ut facilisis justo ut lacus + + + Aliquam fermentum purus quis arcu + + + diff --git a/tests/functionaltests/suites/default/expected/post_GetRecords-end.xml b/tests/functionaltests/suites/default/expected/post_GetRecords-end.xml new file mode 100644 index 000000000..814be1f3d --- /dev/null +++ b/tests/functionaltests/suites/default/expected/post_GetRecords-end.xml @@ -0,0 +1,30 @@ + + + + + + + urn:uuid:a06af396-3105-442d-8b40-22b57a90d2f2 + http://purl.org/dc/dcmitype/Image + Lorem ipsum dolor sit amet + image/jpeg + IT-FI + + + urn:uuid:ab42a8c4-95e8-4630-bf79-33e59241605a + http://purl.org/dc/dcmitype/Service + Physiography + Suspendisse accumsan molestie lorem. Nullam velit turpis, mattis ut, varius bibendum, laoreet non, quam. + urn:uuid:88247b56-4cbc-4df9-9860-db3f8042e357 + + + urn:uuid:e9330592-0932-474b-be34-c3a3bb67c7db + http://purl.org/dc/dcmitype/Text + Fuscé vitae ligulä + 2003-05-09 + Land titles + text/rtf + Morbi ultriçes, dui suscipit vestibulum prètium, velit ante pretium tortor, egët tincidunt pede odio ac nulla. + + + diff --git a/tests/functionaltests/suites/default/expected/post_GetRecords-filter-and-bbox-freetext.xml b/tests/functionaltests/suites/default/expected/post_GetRecords-filter-and-bbox-freetext.xml new file mode 100644 index 000000000..e45a6a273 --- /dev/null +++ b/tests/functionaltests/suites/default/expected/post_GetRecords-filter-and-bbox-freetext.xml @@ -0,0 +1,16 @@ + + + + + + + urn:uuid:94bc9c83-97f6-4b40-9eb8-a8e8787a5c63 + Mauris sed neque + http://purl.org/dc/dcmitype/Dataset + + 47.59 -4.1 + 51.22 0.89 + + + + diff --git a/tests/functionaltests/suites/default/expected/post_GetRecords-filter-and-nested-or.xml b/tests/functionaltests/suites/default/expected/post_GetRecords-filter-and-nested-or.xml new file mode 100644 index 000000000..a05b8561a --- /dev/null +++ b/tests/functionaltests/suites/default/expected/post_GetRecords-filter-and-nested-or.xml @@ -0,0 +1,16 @@ + + + + + + + urn:uuid:784e2afd-a9fd-44a6-9a92-a3848371c8ec + Aliquam fermentum purus quis arcu + http://purl.org/dc/dcmitype/Text + Hydrography--Dictionaries + application/pdf + 2006-05-12 + Vestibulum quis ipsum sit amet metus imperdiet vehicula. Nulla scelerisque cursus mi. + + + diff --git a/tests/functionaltests/suites/default/expected/post_GetRecords-filter-and-nested-or2.xml b/tests/functionaltests/suites/default/expected/post_GetRecords-filter-and-nested-or2.xml new file mode 100644 index 000000000..2b1accdf9 --- /dev/null +++ b/tests/functionaltests/suites/default/expected/post_GetRecords-filter-and-nested-or2.xml @@ -0,0 +1,23 @@ + + + + + + + urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f + http://purl.org/dc/dcmitype/Image + image/svg+xml + Lorem ipsum + GR-22 + Tourism--Greece + Quisque lacus diam, placerat mollis, pharetra in, commodo sed, augue. Duis iaculis arcu vel arcu. + + + urn:uuid:a06af396-3105-442d-8b40-22b57a90d2f2 + http://purl.org/dc/dcmitype/Image + Lorem ipsum dolor sit amet + image/jpeg + IT-FI + + + diff --git a/tests/functionaltests/suites/default/expected/post_GetRecords-filter-anytext-and-not.xml b/tests/functionaltests/suites/default/expected/post_GetRecords-filter-anytext-and-not.xml new file mode 100644 index 000000000..d758ab92b --- /dev/null +++ b/tests/functionaltests/suites/default/expected/post_GetRecords-filter-anytext-and-not.xml @@ -0,0 +1,15 @@ + + + + + + + urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f + Lorem ipsum + http://purl.org/dc/dcmitype/Image + Tourism--Greece + image/svg+xml + Quisque lacus diam, placerat mollis, pharetra in, commodo sed, augue. Duis iaculis arcu vel arcu. + + + diff --git a/tests/functionaltests/suites/default/expected/post_GetRecords-filter-anytext-equal.xml b/tests/functionaltests/suites/default/expected/post_GetRecords-filter-anytext-equal.xml new file mode 100644 index 000000000..3b348919b --- /dev/null +++ b/tests/functionaltests/suites/default/expected/post_GetRecords-filter-anytext-equal.xml @@ -0,0 +1,36 @@ + + + + + + + urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f + Lorem ipsum + http://purl.org/dc/dcmitype/Image + + + urn:uuid:88247b56-4cbc-4df9-9860-db3f8042e357 + + http://purl.org/dc/dcmitype/Dataset + + + urn:uuid:94bc9c83-97f6-4b40-9eb8-a8e8787a5c63 + Mauris sed neque + http://purl.org/dc/dcmitype/Dataset + + 47.59 -4.1 + 51.22 0.89 + + + + urn:uuid:a06af396-3105-442d-8b40-22b57a90d2f2 + Lorem ipsum dolor sit amet + http://purl.org/dc/dcmitype/Image + + + urn:uuid:ab42a8c4-95e8-4630-bf79-33e59241605a + + http://purl.org/dc/dcmitype/Service + + + diff --git a/tests/functionaltests/suites/default/expected/post_GetRecords-filter-anytext.xml b/tests/functionaltests/suites/default/expected/post_GetRecords-filter-anytext.xml new file mode 100644 index 000000000..3b348919b --- /dev/null +++ b/tests/functionaltests/suites/default/expected/post_GetRecords-filter-anytext.xml @@ -0,0 +1,36 @@ + + + + + + + urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f + Lorem ipsum + http://purl.org/dc/dcmitype/Image + + + urn:uuid:88247b56-4cbc-4df9-9860-db3f8042e357 + + http://purl.org/dc/dcmitype/Dataset + + + urn:uuid:94bc9c83-97f6-4b40-9eb8-a8e8787a5c63 + Mauris sed neque + http://purl.org/dc/dcmitype/Dataset + + 47.59 -4.1 + 51.22 0.89 + + + + urn:uuid:a06af396-3105-442d-8b40-22b57a90d2f2 + Lorem ipsum dolor sit amet + http://purl.org/dc/dcmitype/Image + + + urn:uuid:ab42a8c4-95e8-4630-bf79-33e59241605a + + http://purl.org/dc/dcmitype/Service + + + diff --git a/tests/functionaltests/suites/default/expected/post_GetRecords-filter-bbox-reproject.xml b/tests/functionaltests/suites/default/expected/post_GetRecords-filter-bbox-reproject.xml new file mode 100644 index 000000000..8f98b1d0e --- /dev/null +++ b/tests/functionaltests/suites/default/expected/post_GetRecords-filter-bbox-reproject.xml @@ -0,0 +1,25 @@ + + + + + + + urn:uuid:94bc9c83-97f6-4b40-9eb8-a8e8787a5c63 + Mauris sed neque + http://purl.org/dc/dcmitype/Dataset + + 47.59 -4.1 + 51.22 0.89 + + + + urn:uuid:9a669547-b69b-469f-a11f-2d875366bbdc + Ñunç elementum + http://purl.org/dc/dcmitype/Dataset + + 44.79 -6.17 + 51.13 -2.23 + + + + diff --git a/tests/functionaltests/suites/default/expected/post_GetRecords-filter-bbox-sortby.xml b/tests/functionaltests/suites/default/expected/post_GetRecords-filter-bbox-sortby.xml new file mode 100644 index 000000000..bb2e92067 --- /dev/null +++ b/tests/functionaltests/suites/default/expected/post_GetRecords-filter-bbox-sortby.xml @@ -0,0 +1,25 @@ + + + + + + + urn:uuid:9a669547-b69b-469f-a11f-2d875366bbdc + Ñunç elementum + http://purl.org/dc/dcmitype/Dataset + + 44.79 -6.17 + 51.13 -2.23 + + + + urn:uuid:94bc9c83-97f6-4b40-9eb8-a8e8787a5c63 + Mauris sed neque + http://purl.org/dc/dcmitype/Dataset + + 47.59 -4.1 + 51.22 0.89 + + + + diff --git a/tests/functionaltests/suites/default/expected/post_GetRecords-filter-bbox.xml b/tests/functionaltests/suites/default/expected/post_GetRecords-filter-bbox.xml new file mode 100644 index 000000000..8f98b1d0e --- /dev/null +++ b/tests/functionaltests/suites/default/expected/post_GetRecords-filter-bbox.xml @@ -0,0 +1,25 @@ + + + + + + + urn:uuid:94bc9c83-97f6-4b40-9eb8-a8e8787a5c63 + Mauris sed neque + http://purl.org/dc/dcmitype/Dataset + + 47.59 -4.1 + 51.22 0.89 + + + + urn:uuid:9a669547-b69b-469f-a11f-2d875366bbdc + Ñunç elementum + http://purl.org/dc/dcmitype/Dataset + + 44.79 -6.17 + 51.13 -2.23 + + + + diff --git a/tests/functionaltests/suites/default/expected/post_GetRecords-filter-between.xml b/tests/functionaltests/suites/default/expected/post_GetRecords-filter-between.xml new file mode 100644 index 000000000..37d75866e --- /dev/null +++ b/tests/functionaltests/suites/default/expected/post_GetRecords-filter-between.xml @@ -0,0 +1,49 @@ + + + + + + + urn:uuid:784e2afd-a9fd-44a6-9a92-a3848371c8ec + Aliquam fermentum purus quis arcu + http://purl.org/dc/dcmitype/Text + Hydrography--Dictionaries + application/pdf + 2006-05-12 + Vestibulum quis ipsum sit amet metus imperdiet vehicula. Nulla scelerisque cursus mi. + + + urn:uuid:e9330592-0932-474b-be34-c3a3bb67c7db + http://purl.org/dc/dcmitype/Text + Fuscé vitae ligulä + 2003-05-09 + Land titles + text/rtf + Morbi ultriçes, dui suscipit vestibulum prètium, velit ante pretium tortor, egët tincidunt pede odio ac nulla. + + + urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f + http://purl.org/dc/dcmitype/Image + image/svg+xml + Lorem ipsum + GR-22 + Tourism--Greece + Quisque lacus diam, placerat mollis, pharetra in, commodo sed, augue. Duis iaculis arcu vel arcu. + + + urn:uuid:a06af396-3105-442d-8b40-22b57a90d2f2 + http://purl.org/dc/dcmitype/Image + Lorem ipsum dolor sit amet + image/jpeg + IT-FI + + + urn:uuid:66ae76b7-54ba-489b-a582-0f0633d96493 + Maecenas enim + http://purl.org/dc/dcmitype/Text + application/xhtml+xml + Marine sediments + Pellentesque tempus magna non sapien fringilla blandit. + + + diff --git a/tests/functionaltests/suites/default/expected/post_GetRecords-filter-function-bad.xml b/tests/functionaltests/suites/default/expected/post_GetRecords-filter-function-bad.xml new file mode 100644 index 000000000..bc63e8426 --- /dev/null +++ b/tests/functionaltests/suites/default/expected/post_GetRecords-filter-function-bad.xml @@ -0,0 +1,7 @@ + + + + + Invalid Constraint: Invalid Filter request: Invalid ogc:Function: foo + + diff --git a/tests/functionaltests/suites/default/expected/post_GetRecords-filter-function.xml b/tests/functionaltests/suites/default/expected/post_GetRecords-filter-function.xml new file mode 100644 index 000000000..4ed61a2ee --- /dev/null +++ b/tests/functionaltests/suites/default/expected/post_GetRecords-filter-function.xml @@ -0,0 +1,12 @@ + + + + + + + urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f + Lorem ipsum + http://purl.org/dc/dcmitype/Image + + + diff --git a/tests/functionaltests/suites/default/expected/post_GetRecords-filter-not-bbox.xml b/tests/functionaltests/suites/default/expected/post_GetRecords-filter-not-bbox.xml new file mode 100644 index 000000000..03686d45d --- /dev/null +++ b/tests/functionaltests/suites/default/expected/post_GetRecords-filter-not-bbox.xml @@ -0,0 +1,36 @@ + + + + + + + urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f + Lorem ipsum + http://purl.org/dc/dcmitype/Image + + + urn:uuid:1ef30a8b-876d-4828-9246-c37ab4510bbd + + http://purl.org/dc/dcmitype/Service + + 60.04 13.75 + 68.41 17.92 + + + + urn:uuid:66ae76b7-54ba-489b-a582-0f0633d96493 + Maecenas enim + http://purl.org/dc/dcmitype/Text + + + urn:uuid:6a3de50b-fa66-4b58-a0e6-ca146fdd18d4 + Ut facilisis justo ut lacus + http://purl.org/dc/dcmitype/Service + + + urn:uuid:784e2afd-a9fd-44a6-9a92-a3848371c8ec + Aliquam fermentum purus quis arcu + http://purl.org/dc/dcmitype/Text + + + diff --git a/tests/functionaltests/suites/default/expected/post_GetRecords-filter-or-bbox-freetext.xml b/tests/functionaltests/suites/default/expected/post_GetRecords-filter-or-bbox-freetext.xml new file mode 100644 index 000000000..8f98b1d0e --- /dev/null +++ b/tests/functionaltests/suites/default/expected/post_GetRecords-filter-or-bbox-freetext.xml @@ -0,0 +1,25 @@ + + + + + + + urn:uuid:94bc9c83-97f6-4b40-9eb8-a8e8787a5c63 + Mauris sed neque + http://purl.org/dc/dcmitype/Dataset + + 47.59 -4.1 + 51.22 0.89 + + + + urn:uuid:9a669547-b69b-469f-a11f-2d875366bbdc + Ñunç elementum + http://purl.org/dc/dcmitype/Dataset + + 44.79 -6.17 + 51.13 -2.23 + + + + diff --git a/tests/functionaltests/suites/default/expected/post_GetRecords-filter-or-nested-and.xml b/tests/functionaltests/suites/default/expected/post_GetRecords-filter-or-nested-and.xml new file mode 100644 index 000000000..077ef2fb1 --- /dev/null +++ b/tests/functionaltests/suites/default/expected/post_GetRecords-filter-or-nested-and.xml @@ -0,0 +1,60 @@ + + + + + + + urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f + http://purl.org/dc/dcmitype/Image + image/svg+xml + Lorem ipsum + GR-22 + Tourism--Greece + Quisque lacus diam, placerat mollis, pharetra in, commodo sed, augue. Duis iaculis arcu vel arcu. + + + urn:uuid:829babb0-b2f1-49e1-8cd5-7b489fe71a1e + http://purl.org/dc/dcmitype/Image + image/jp2 + Vestibulum massa purus + urn:uuid:9a669547-b69b-469f-a11f-2d875366bbdc + + + urn:uuid:88247b56-4cbc-4df9-9860-db3f8042e357 + http://purl.org/dc/dcmitype/Dataset + Physiography-Landforms + FI-ES + Donec scelerisque pede ut nisl luctus accumsan. Quisque ultrices, lorem eget feugiat fringilla, lorem dui porttitor ante, cursus ultrices magna odio eu neque. + + + urn:uuid:94bc9c83-97f6-4b40-9eb8-a8e8787a5c63 + http://purl.org/dc/dcmitype/Dataset + Mauris sed neque + Vegetation-Cropland + Curabitur lacinia, ante non porta tempus, mi lorem feugiat odio, eget suscipit eros pede ac velit. + 2006-03-26 + + 47.595 -4.097 + 51.217 0.889 + + + + urn:uuid:9a669547-b69b-469f-a11f-2d875366bbdc + http://purl.org/dc/dcmitype/Dataset + Ñunç elementum + Hydrography-Oceanographic + 2005-10-24 + + 44.792 -6.171 + 51.126 -2.228 + + + + urn:uuid:a06af396-3105-442d-8b40-22b57a90d2f2 + http://purl.org/dc/dcmitype/Image + Lorem ipsum dolor sit amet + image/jpeg + IT-FI + + + diff --git a/tests/functionaltests/suites/default/expected/post_GetRecords-filter-or-title-abstract.xml b/tests/functionaltests/suites/default/expected/post_GetRecords-filter-or-title-abstract.xml new file mode 100644 index 000000000..0f34eb38b --- /dev/null +++ b/tests/functionaltests/suites/default/expected/post_GetRecords-filter-or-title-abstract.xml @@ -0,0 +1,19 @@ + + + + + + + urn:uuid:94bc9c83-97f6-4b40-9eb8-a8e8787a5c63 + http://purl.org/dc/dcmitype/Dataset + Mauris sed neque + Vegetation-Cropland + Curabitur lacinia, ante non porta tempus, mi lorem feugiat odio, eget suscipit eros pede ac velit. + 2006-03-26 + + 47.595 -4.097 + 51.217 0.889 + + + + diff --git a/tests/functionaltests/suites/default/expected/post_GetRecords-maxrecords.xml b/tests/functionaltests/suites/default/expected/post_GetRecords-maxrecords.xml new file mode 100644 index 000000000..bd4275d63 --- /dev/null +++ b/tests/functionaltests/suites/default/expected/post_GetRecords-maxrecords.xml @@ -0,0 +1,16 @@ + + + + + + + urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f + http://purl.org/dc/dcmitype/Image + image/svg+xml + Lorem ipsum + GR-22 + Tourism--Greece + Quisque lacus diam, placerat mollis, pharetra in, commodo sed, augue. Duis iaculis arcu vel arcu. + + + diff --git a/tests/functionaltests/suites/default/expected/post_GetRecords-requestid.xml b/tests/functionaltests/suites/default/expected/post_GetRecords-requestid.xml new file mode 100644 index 000000000..31d201904 --- /dev/null +++ b/tests/functionaltests/suites/default/expected/post_GetRecords-requestid.xml @@ -0,0 +1,50 @@ + + + + ce74a6c8-677a-42b3-a07c-ce44df8ce7ab + + + + urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f + http://purl.org/dc/dcmitype/Image + image/svg+xml + Lorem ipsum + GR-22 + Tourism--Greece + Quisque lacus diam, placerat mollis, pharetra in, commodo sed, augue. Duis iaculis arcu vel arcu. + + + urn:uuid:1ef30a8b-876d-4828-9246-c37ab4510bbd + http://purl.org/dc/dcmitype/Service + Proin sit amet justo. In justo. Aenean adipiscing nulla id tellus. + + 60.042 13.754 + 68.410 17.920 + + + + urn:uuid:66ae76b7-54ba-489b-a582-0f0633d96493 + Maecenas enim + http://purl.org/dc/dcmitype/Text + application/xhtml+xml + Marine sediments + Pellentesque tempus magna non sapien fringilla blandit. + + + urn:uuid:6a3de50b-fa66-4b58-a0e6-ca146fdd18d4 + http://purl.org/dc/dcmitype/Service + Ut facilisis justo ut lacus + Vegetation + urn:uuid:94bc9c83-97f6-4b40-9eb8-a8e8787a5c63 + + + urn:uuid:784e2afd-a9fd-44a6-9a92-a3848371c8ec + Aliquam fermentum purus quis arcu + http://purl.org/dc/dcmitype/Text + Hydrography--Dictionaries + application/pdf + 2006-05-12 + Vestibulum quis ipsum sit amet metus imperdiet vehicula. Nulla scelerisque cursus mi. + + + diff --git a/tests/functionaltests/suites/default/expected/post_Harvest-default.xml b/tests/functionaltests/suites/default/expected/post_Harvest-default.xml new file mode 100644 index 000000000..169151fb0 --- /dev/null +++ b/tests/functionaltests/suites/default/expected/post_Harvest-default.xml @@ -0,0 +1,7 @@ + + + + + Harvest operations are not supported + + diff --git a/tests/functionaltests/suites/default/expected/post_Harvest-response-handler.xml b/tests/functionaltests/suites/default/expected/post_Harvest-response-handler.xml new file mode 100644 index 000000000..169151fb0 --- /dev/null +++ b/tests/functionaltests/suites/default/expected/post_Harvest-response-handler.xml @@ -0,0 +1,7 @@ + + + + + Harvest operations are not supported + + diff --git a/tests/functionaltests/suites/default/expected/post_Transaction-delete.xml b/tests/functionaltests/suites/default/expected/post_Transaction-delete.xml new file mode 100644 index 000000000..2b4a6e3fd --- /dev/null +++ b/tests/functionaltests/suites/default/expected/post_Transaction-delete.xml @@ -0,0 +1,7 @@ + + + + + Invalid Constraint: Invalid Filter request: Invalid PropertyName: apiso:Identifier. 'apiso:Identifier' + + diff --git a/tests/functionaltests/suites/default/expected/post_Transaction-insert.xml b/tests/functionaltests/suites/default/expected/post_Transaction-insert.xml new file mode 100644 index 000000000..f5df4c66c --- /dev/null +++ b/tests/functionaltests/suites/default/expected/post_Transaction-insert.xml @@ -0,0 +1,7 @@ + + + + + Transaction operations are not supported + + diff --git a/tests/functionaltests/suites/default/expected/post_Transaction-update-full.xml b/tests/functionaltests/suites/default/expected/post_Transaction-update-full.xml new file mode 100644 index 000000000..f5df4c66c --- /dev/null +++ b/tests/functionaltests/suites/default/expected/post_Transaction-update-full.xml @@ -0,0 +1,7 @@ + + + + + Transaction operations are not supported + + diff --git a/tests/functionaltests/suites/default/expected/post_Transaction-update-recordproperty.xml b/tests/functionaltests/suites/default/expected/post_Transaction-update-recordproperty.xml new file mode 100644 index 000000000..f5df4c66c --- /dev/null +++ b/tests/functionaltests/suites/default/expected/post_Transaction-update-recordproperty.xml @@ -0,0 +1,7 @@ + + + + + Transaction operations are not supported + + diff --git a/tests/functionaltests/suites/default/get/requests.txt b/tests/functionaltests/suites/default/get/requests.txt new file mode 100644 index 000000000..ee368671b --- /dev/null +++ b/tests/functionaltests/suites/default/get/requests.txt @@ -0,0 +1,20 @@ +GetCapabilities,PYCSW_SERVER?config=tests/suites/default/default.cfg&service=CSW&version=2.0.2&request=GetCapabilities +GetCapabilities-invalid-request,PYCSW_SERVER?config=tests/suites/default/default.cfg&service=CSW&version=2.0.2&request=GetCapabilitiese +GetRecords-all,PYCSW_SERVER?config=tests/suites/default/default.cfg&service=CSW&version=2.0.2&request=GetRecords&typenames=csw:Record&elementsetname=full +GetRecords-sortby-asc,PYCSW_SERVER?config=tests/suites/default/default.cfg&service=CSW&version=2.0.2&request=GetRecords&typenames=csw:Record&elementsetname=full&resulttype=results&sortby=dc:title:A +GetRecords-sortby-desc,PYCSW_SERVER?config=tests/suites/default/default.cfg&service=CSW&version=2.0.2&request=GetRecords&typenames=csw:Record&elementsetname=full&resulttype=results&sortby=dc:title:D +GetRecords-sortby-invalid-propertyname,PYCSW_SERVER?config=tests/suites/default/default.cfg&service=CSW&version=2.0.2&request=GetRecords&typenames=csw:Record&elementsetname=full&resulttype=results&sortby=dc:titlei:A +GetRecords-sortby-invalid-order,PYCSW_SERVER?config=tests/suites/default/default.cfg&service=CSW&version=2.0.2&request=GetRecords&typenames=csw:Record&elementsetname=full&resulttype=results&sortby=dc:title:FOO +GetRecords-filter,PYCSW_SERVER?config=tests/suites/default/default.cfg&service=CSW&version=2.0.2&request=GetRecords&typenames=csw:Record&elementsetname=full&resulttype=results&constraintlanguage=FILTER&constraint=%3Cogc%3AFilter%20xmlns%3Aogc%3D%22http%3A%2F%2Fwww.opengis.net%2Fogc%22%3E%3Cogc%3APropertyIsEqualTo%3E%3Cogc%3APropertyName%3Edc%3Atitle%3C%2Fogc%3APropertyName%3E%3Cogc%3ALiteral%3ELorem%20ipsum%3C%2Fogc%3ALiteral%3E%3C%2Fogc%3APropertyIsEqualTo%3E%3C%2Fogc%3AFilter%3E +GetRecords-filter-cql-title,PYCSW_SERVER?config=tests/suites/default/default.cfg&service=CSW&version=2.0.2&request=GetRecords&typenames=csw:Record&elementsetname=full&resulttype=results&constraintlanguage=CQL_TEXT&constraint=dc%3Atitle%20like%20%27%25lor%25%27 +GetRecords-filter-cql-title-with-spaces,PYCSW_SERVER?config=tests/suites/default/default.cfg&service=CSW&version=2.0.2&request=GetRecords&typenames=csw:Record&elementsetname=full&resulttype=results&constraintlanguage=CQL_TEXT&constraint=dc%3Atitle%20like%20%27%25Lorem%20ipsum%25%27 +GetRecords-filter-cql-title-or-abstract,PYCSW_SERVER?config=tests/suites/default/default.cfg&service=CSW&version=2.0.2&request=GetRecords&typenames=csw:Record&elementsetname=full&resulttype=results&constraintlanguage=CQL_TEXT&constraint=dc%3Atitle%20like%20%27%25lor%25%27%20or%20dct%3Aabstract%20like%20%27%25pharetra%25%27 +GetRecords-filter-cql-title-with-spaces-or-abstract,PYCSW_SERVER?config=tests/suites/default/default.cfg&service=CSW&version=2.0.2&request=GetRecords&typenames=csw:Record&elementsetname=full&resulttype=results&constraintlanguage=CQL_TEXT&constraint=dc%3Atitle%20like%20%27%25dolor%20sit%25%27%20or%20dct%3Aabstract%20like%20%27%25pharetra%25%27 +GetRecords-filter-cql-title-or-abstract-with-spaces,PYCSW_SERVER?config=tests/suites/default/default.cfg&service=CSW&version=2.0.2&request=GetRecords&typenames=csw:Record&elementsetname=full&resulttype=results&constraintlanguage=CQL_TEXT&constraint=dc%3Atitle%20like%20%27%25lor%25%27%20or%20dct%3Aabstract%20like%20%27%25pharetra%20in%25%27 +GetRecords-filter-cql-title-with-spaces-or-abstract-with-spaces,PYCSW_SERVER?config=tests/suites/default/default.cfg&service=CSW&version=2.0.2&request=GetRecords&typenames=csw:Record&elementsetname=full&resulttype=results&constraintlanguage=CQL_TEXT&constraint=dc%3Atitle%20like%20%27%25dolor%20sit%25%27%20or%20dct%3Aabstract%20like%20%27%25pharetra%20in%25%27 +GetRecords-empty-maxrecords,PYCSW_SERVER?config=tests/suites/default/default.cfg&service=CSW&version=2.0.2&request=GetRecords&typenames=csw:Record&elementsetname=full&maxrecords= +GetRepositoryItem,PYCSW_SERVER?config=tests/suites/default/default.cfg&service=CSW&version=2.0.2&request=GetRepositoryItem&id=urn:uuid:94bc9c83-97f6-4b40-9eb8-a8e8787a5c63 +Exception-GetRepositoryItem-notfound,PYCSW_SERVER?config=tests/suites/default/default.cfg&service=CSW&version=2.0.2&request=GetRepositoryItem&id=NOTFOUND +Exception-GetRepositoryItem-service-invalid1,PYCSW_SERVER?config=tests/suites/default/default.cfg&service=CSW%00&version=2.0.2&request=GetRepositoryItem&id=123 +Exception-GetRepositoryItem-service-invalid2,PYCSW_SERVER?config=tests/suites/default/default.cfg&service=CSW%00'&version=2.0.2&request=GetRepositoryItem&id=123 +Exception-GetRepositoryItem-version-invalid,PYCSW_SERVER?config=tests/suites/default/default.cfg&service=CSW&version=2.0.2'&request=GetRepositoryItem&id=123 diff --git a/tests/functionaltests/suites/default/post/DescribeRecord-json.xml b/tests/functionaltests/suites/default/post/DescribeRecord-json.xml new file mode 100644 index 000000000..35c176c91 --- /dev/null +++ b/tests/functionaltests/suites/default/post/DescribeRecord-json.xml @@ -0,0 +1,4 @@ + + + csw:Record + diff --git a/tests/functionaltests/suites/default/post/DescribeRecord.xml b/tests/functionaltests/suites/default/post/DescribeRecord.xml new file mode 100644 index 000000000..102443e47 --- /dev/null +++ b/tests/functionaltests/suites/default/post/DescribeRecord.xml @@ -0,0 +1,4 @@ + + + csw:Record + diff --git a/tests/functionaltests/suites/default/post/Exception-GetRecords-badsrsname.xml b/tests/functionaltests/suites/default/post/Exception-GetRecords-badsrsname.xml new file mode 100644 index 000000000..61f4b2da5 --- /dev/null +++ b/tests/functionaltests/suites/default/post/Exception-GetRecords-badsrsname.xml @@ -0,0 +1,19 @@ + + + + brief + + + + + ows:BoundingBox + + -90 -180 + 90 180 + + + + + + + diff --git a/tests/functionaltests/suites/default/post/Exception-GetRecords-elementname.xml b/tests/functionaltests/suites/default/post/Exception-GetRecords-elementname.xml new file mode 100644 index 000000000..2dc8935e2 --- /dev/null +++ b/tests/functionaltests/suites/default/post/Exception-GetRecords-elementname.xml @@ -0,0 +1,6 @@ + + + + dc:foo + + diff --git a/tests/functionaltests/suites/default/post/Exception-GetRecords-invalid-xml.xml b/tests/functionaltests/suites/default/post/Exception-GetRecords-invalid-xml.xml new file mode 100644 index 000000000..0bdf07fb3 --- /dev/null +++ b/tests/functionaltests/suites/default/post/Exception-GetRecords-invalid-xml.xml @@ -0,0 +1,6 @@ + + + + dc:foo + + diff --git a/tests/functionaltests/suites/default/post/GetCapabilities-SOAP.xml b/tests/functionaltests/suites/default/post/GetCapabilities-SOAP.xml new file mode 100644 index 000000000..906918983 --- /dev/null +++ b/tests/functionaltests/suites/default/post/GetCapabilities-SOAP.xml @@ -0,0 +1,13 @@ + + + + + + 2.0.2 + + + application/xml + + + + diff --git a/tests/functionaltests/suites/default/post/GetCapabilities-sections.xml b/tests/functionaltests/suites/default/post/GetCapabilities-sections.xml new file mode 100644 index 000000000..b3390dee5 --- /dev/null +++ b/tests/functionaltests/suites/default/post/GetCapabilities-sections.xml @@ -0,0 +1,12 @@ + + + + 2.0.2 + + + ServiceProvider + + + application/xml + + diff --git a/tests/functionaltests/suites/default/post/GetCapabilities-updatesequence.xml b/tests/functionaltests/suites/default/post/GetCapabilities-updatesequence.xml new file mode 100644 index 000000000..d2f329611 --- /dev/null +++ b/tests/functionaltests/suites/default/post/GetCapabilities-updatesequence.xml @@ -0,0 +1,9 @@ + + + + 2.0.2 + + + application/xml + + diff --git a/tests/functionaltests/suites/default/post/GetCapabilities.xml b/tests/functionaltests/suites/default/post/GetCapabilities.xml new file mode 100644 index 000000000..e4dc8070b --- /dev/null +++ b/tests/functionaltests/suites/default/post/GetCapabilities.xml @@ -0,0 +1,9 @@ + + + + 2.0.2 + + + application/xml + + diff --git a/tests/functionaltests/suites/default/post/GetDomain-parameter.xml b/tests/functionaltests/suites/default/post/GetDomain-parameter.xml new file mode 100644 index 000000000..2d1dd2d4a --- /dev/null +++ b/tests/functionaltests/suites/default/post/GetDomain-parameter.xml @@ -0,0 +1,4 @@ + + + GetRecords.CONSTRAINTLANGUAGE + diff --git a/tests/functionaltests/suites/default/post/GetDomain-property.xml b/tests/functionaltests/suites/default/post/GetDomain-property.xml new file mode 100644 index 000000000..c6ca09c8c --- /dev/null +++ b/tests/functionaltests/suites/default/post/GetDomain-property.xml @@ -0,0 +1,4 @@ + + + dc:title + diff --git a/tests/functionaltests/suites/default/post/GetRecordById-json.xml b/tests/functionaltests/suites/default/post/GetRecordById-json.xml new file mode 100644 index 000000000..887e6d186 --- /dev/null +++ b/tests/functionaltests/suites/default/post/GetRecordById-json.xml @@ -0,0 +1,5 @@ + + + urn:uuid:94bc9c83-97f6-4b40-9eb8-a8e8787a5c63 + summary + diff --git a/tests/functionaltests/suites/default/post/GetRecordById.xml b/tests/functionaltests/suites/default/post/GetRecordById.xml new file mode 100644 index 000000000..af59d786b --- /dev/null +++ b/tests/functionaltests/suites/default/post/GetRecordById.xml @@ -0,0 +1,5 @@ + + + urn:uuid:94bc9c83-97f6-4b40-9eb8-a8e8787a5c63 + summary + diff --git a/tests/functionaltests/suites/default/post/GetRecords-all-json.xml b/tests/functionaltests/suites/default/post/GetRecords-all-json.xml new file mode 100644 index 000000000..3e17c97ca --- /dev/null +++ b/tests/functionaltests/suites/default/post/GetRecords-all-json.xml @@ -0,0 +1,6 @@ + + + + full + + diff --git a/tests/functionaltests/suites/default/post/GetRecords-all-resulttype-hits.xml b/tests/functionaltests/suites/default/post/GetRecords-all-resulttype-hits.xml new file mode 100644 index 000000000..c91e92ec7 --- /dev/null +++ b/tests/functionaltests/suites/default/post/GetRecords-all-resulttype-hits.xml @@ -0,0 +1,6 @@ + + + + full + + diff --git a/tests/functionaltests/suites/default/post/GetRecords-all-resulttype-validate.xml b/tests/functionaltests/suites/default/post/GetRecords-all-resulttype-validate.xml new file mode 100644 index 000000000..c977bda36 --- /dev/null +++ b/tests/functionaltests/suites/default/post/GetRecords-all-resulttype-validate.xml @@ -0,0 +1,6 @@ + + + + full + + diff --git a/tests/functionaltests/suites/default/post/GetRecords-all-sortby-bbox.xml b/tests/functionaltests/suites/default/post/GetRecords-all-sortby-bbox.xml new file mode 100644 index 000000000..eace825a6 --- /dev/null +++ b/tests/functionaltests/suites/default/post/GetRecords-all-sortby-bbox.xml @@ -0,0 +1,12 @@ + + + + full + + + ows:BoundingBox + DESC + + + + diff --git a/tests/functionaltests/suites/default/post/GetRecords-all.xml b/tests/functionaltests/suites/default/post/GetRecords-all.xml new file mode 100644 index 000000000..6bb353cf4 --- /dev/null +++ b/tests/functionaltests/suites/default/post/GetRecords-all.xml @@ -0,0 +1,6 @@ + + + + full + + diff --git a/tests/functionaltests/suites/default/post/GetRecords-bbox-filter-crs84.xml b/tests/functionaltests/suites/default/post/GetRecords-bbox-filter-crs84.xml new file mode 100644 index 000000000..ca1674dfc --- /dev/null +++ b/tests/functionaltests/suites/default/post/GetRecords-bbox-filter-crs84.xml @@ -0,0 +1,17 @@ + + + + brief + + + + ows:BoundingBox + + -180 -90 + 180 90 + + + + + + diff --git a/tests/functionaltests/suites/default/post/GetRecords-cql-title-and-abstract.xml b/tests/functionaltests/suites/default/post/GetRecords-cql-title-and-abstract.xml new file mode 100644 index 000000000..9bdb5795c --- /dev/null +++ b/tests/functionaltests/suites/default/post/GetRecords-cql-title-and-abstract.xml @@ -0,0 +1,9 @@ + + + + brief + + dc:title like '%ips%' and dct:abstract like '%pharetra%' + + + diff --git a/tests/functionaltests/suites/default/post/GetRecords-cql-title.xml b/tests/functionaltests/suites/default/post/GetRecords-cql-title.xml new file mode 100644 index 000000000..929722324 --- /dev/null +++ b/tests/functionaltests/suites/default/post/GetRecords-cql-title.xml @@ -0,0 +1,9 @@ + + + + brief + + dc:title like '%ips%' + + + diff --git a/tests/functionaltests/suites/default/post/GetRecords-distributedsearch.xml b/tests/functionaltests/suites/default/post/GetRecords-distributedsearch.xml new file mode 100644 index 000000000..b64549a2e --- /dev/null +++ b/tests/functionaltests/suites/default/post/GetRecords-distributedsearch.xml @@ -0,0 +1,15 @@ + + + + + brief + + + + dc:title + Aquifers + + + + + diff --git a/tests/functionaltests/suites/default/post/GetRecords-elementname.xml b/tests/functionaltests/suites/default/post/GetRecords-elementname.xml new file mode 100644 index 000000000..2acf2ae34 --- /dev/null +++ b/tests/functionaltests/suites/default/post/GetRecords-elementname.xml @@ -0,0 +1,6 @@ + + + + dc:title + + diff --git a/tests/functionaltests/suites/default/post/GetRecords-end.xml b/tests/functionaltests/suites/default/post/GetRecords-end.xml new file mode 100644 index 000000000..e03137ea9 --- /dev/null +++ b/tests/functionaltests/suites/default/post/GetRecords-end.xml @@ -0,0 +1,6 @@ + + + + full + + diff --git a/tests/functionaltests/suites/default/post/GetRecords-filter-and-bbox-freetext.xml b/tests/functionaltests/suites/default/post/GetRecords-filter-and-bbox-freetext.xml new file mode 100644 index 000000000..ce787131c --- /dev/null +++ b/tests/functionaltests/suites/default/post/GetRecords-filter-and-bbox-freetext.xml @@ -0,0 +1,23 @@ + + + + brief + + + + + csw:AnyText + %lor% + + + ows:BoundingBox + + 47 -5 + 55 20 + + + + + + + diff --git a/tests/functionaltests/suites/default/post/GetRecords-filter-and-nested-or.xml b/tests/functionaltests/suites/default/post/GetRecords-filter-and-nested-or.xml new file mode 100644 index 000000000..46884d195 --- /dev/null +++ b/tests/functionaltests/suites/default/post/GetRecords-filter-and-nested-or.xml @@ -0,0 +1,38 @@ + + + + full + + + + + dc:title + Aliquam fermentum purus quis arcu + + + dc:format + application/pdf + + + + dc:type + http://purl.org/dc/dcmitype/Dataset + + + dc:type + http://purl.org/dc/dcmitype/Service + + + dc:type + http://purl.org/dc/dcmitype/Image + + + dc:type + http://purl.org/dc/dcmitype/Text + + + + + + + diff --git a/tests/functionaltests/suites/default/post/GetRecords-filter-and-nested-or2.xml b/tests/functionaltests/suites/default/post/GetRecords-filter-and-nested-or2.xml new file mode 100644 index 000000000..729113817 --- /dev/null +++ b/tests/functionaltests/suites/default/post/GetRecords-filter-and-nested-or2.xml @@ -0,0 +1,34 @@ + + + + full + + + + + dc:title + Lorem% + + + + dc:type + http://purl.org/dc/dcmitype/Dataset + + + dc:type + http://purl.org/dc/dcmitype/Service + + + dc:type + http://purl.org/dc/dcmitype/Image + + + dc:type + http://purl.org/dc/dcmitype/Text + + + + + + + diff --git a/tests/functionaltests/suites/default/post/GetRecords-filter-anytext-and-not.xml b/tests/functionaltests/suites/default/post/GetRecords-filter-anytext-and-not.xml new file mode 100644 index 000000000..d3125b6f7 --- /dev/null +++ b/tests/functionaltests/suites/default/post/GetRecords-filter-anytext-and-not.xml @@ -0,0 +1,26 @@ + + + + summary + + + + + csw:AnyText + *lorem* + + + csw:AnyText + *ipsum* + + + + csw:AnyText + *dolor* + + + + + + + diff --git a/tests/functionaltests/suites/default/post/GetRecords-filter-anytext-equal.xml b/tests/functionaltests/suites/default/post/GetRecords-filter-anytext-equal.xml new file mode 100644 index 000000000..0c64e7112 --- /dev/null +++ b/tests/functionaltests/suites/default/post/GetRecords-filter-anytext-equal.xml @@ -0,0 +1,14 @@ + + + + brief + + + + csw:AnyText + Lor + + + + + diff --git a/tests/functionaltests/suites/default/post/GetRecords-filter-anytext.xml b/tests/functionaltests/suites/default/post/GetRecords-filter-anytext.xml new file mode 100644 index 000000000..8ab5bff9d --- /dev/null +++ b/tests/functionaltests/suites/default/post/GetRecords-filter-anytext.xml @@ -0,0 +1,14 @@ + + + + brief + + + + csw:AnyText + %Lor% + + + + + diff --git a/tests/functionaltests/suites/default/post/GetRecords-filter-bbox-reproject.xml b/tests/functionaltests/suites/default/post/GetRecords-filter-bbox-reproject.xml new file mode 100644 index 000000000..73d60ef00 --- /dev/null +++ b/tests/functionaltests/suites/default/post/GetRecords-filter-bbox-reproject.xml @@ -0,0 +1,17 @@ + + + + brief + + + + ows:BoundingBox + + -72310.84768270838 2013215.2698528299 + 279667.74290441966 2690819.5081175645 + + + + + + diff --git a/tests/functionaltests/suites/default/post/GetRecords-filter-bbox-sortby.xml b/tests/functionaltests/suites/default/post/GetRecords-filter-bbox-sortby.xml new file mode 100644 index 000000000..9e7b7ef73 --- /dev/null +++ b/tests/functionaltests/suites/default/post/GetRecords-filter-bbox-sortby.xml @@ -0,0 +1,23 @@ + + + + brief + + + + ows:BoundingBox + + 47 -5 + 55 20 + + + + + + + dc:title + DESC + + + + diff --git a/tests/functionaltests/suites/default/post/GetRecords-filter-bbox.xml b/tests/functionaltests/suites/default/post/GetRecords-filter-bbox.xml new file mode 100644 index 000000000..9df955319 --- /dev/null +++ b/tests/functionaltests/suites/default/post/GetRecords-filter-bbox.xml @@ -0,0 +1,17 @@ + + + + brief + + + + ows:BoundingBox + + 47 -5 + 55 20 + + + + + + diff --git a/tests/functionaltests/suites/default/post/GetRecords-filter-between.xml b/tests/functionaltests/suites/default/post/GetRecords-filter-between.xml new file mode 100644 index 000000000..ea00efbe8 --- /dev/null +++ b/tests/functionaltests/suites/default/post/GetRecords-filter-between.xml @@ -0,0 +1,20 @@ + + + + full + + + + dc:title + + Aliquam fermentum purus quis arcu + + + Maecenas enim + + + + + + + diff --git a/tests/functionaltests/suites/default/post/GetRecords-filter-function-bad.xml b/tests/functionaltests/suites/default/post/GetRecords-filter-function-bad.xml new file mode 100644 index 000000000..75dbacc10 --- /dev/null +++ b/tests/functionaltests/suites/default/post/GetRecords-filter-function-bad.xml @@ -0,0 +1,17 @@ + + + + brief + + + + + dc:title + + LOREM IPSUM + + + + + + diff --git a/tests/functionaltests/suites/default/post/GetRecords-filter-function.xml b/tests/functionaltests/suites/default/post/GetRecords-filter-function.xml new file mode 100644 index 000000000..68cb04564 --- /dev/null +++ b/tests/functionaltests/suites/default/post/GetRecords-filter-function.xml @@ -0,0 +1,17 @@ + + + + brief + + + + + dc:title + + LOREM IPSUM + + + + + + diff --git a/tests/functionaltests/suites/default/post/GetRecords-filter-not-bbox.xml b/tests/functionaltests/suites/default/post/GetRecords-filter-not-bbox.xml new file mode 100644 index 000000000..6adb4cf1f --- /dev/null +++ b/tests/functionaltests/suites/default/post/GetRecords-filter-not-bbox.xml @@ -0,0 +1,19 @@ + + + + brief + + + + + ows:BoundingBox + + 47 -5 + 55 20 + + + + + + + diff --git a/tests/functionaltests/suites/default/post/GetRecords-filter-or-bbox-freetext.xml b/tests/functionaltests/suites/default/post/GetRecords-filter-or-bbox-freetext.xml new file mode 100644 index 000000000..bdfc60ea7 --- /dev/null +++ b/tests/functionaltests/suites/default/post/GetRecords-filter-or-bbox-freetext.xml @@ -0,0 +1,23 @@ + + + + brief + + + + + dc:title + foo + + + ows:BoundingBox + + 47 -5 + 55 20 + + + + + + + diff --git a/tests/functionaltests/suites/default/post/GetRecords-filter-or-nested-and.xml b/tests/functionaltests/suites/default/post/GetRecords-filter-or-nested-and.xml new file mode 100644 index 000000000..1ff37fa31 --- /dev/null +++ b/tests/functionaltests/suites/default/post/GetRecords-filter-or-nested-and.xml @@ -0,0 +1,30 @@ + + + + full + + + + + dc:type + http://purl.org/dc/dcmitype/Image + + + dc:type + http://purl.org/dc/dcmitype/Dataset + + + + dc:title + Mauris% + + + dc:title + %neque + + + + + + + diff --git a/tests/functionaltests/suites/default/post/GetRecords-filter-or-title-abstract.xml b/tests/functionaltests/suites/default/post/GetRecords-filter-or-title-abstract.xml new file mode 100644 index 000000000..331dca256 --- /dev/null +++ b/tests/functionaltests/suites/default/post/GetRecords-filter-or-title-abstract.xml @@ -0,0 +1,20 @@ + + + + full + + + + + dc:title + Mauris% + + + dct:abstract + foo + + + + + + \ No newline at end of file diff --git a/tests/functionaltests/suites/default/post/GetRecords-maxrecords.xml b/tests/functionaltests/suites/default/post/GetRecords-maxrecords.xml new file mode 100644 index 000000000..1379ea6f9 --- /dev/null +++ b/tests/functionaltests/suites/default/post/GetRecords-maxrecords.xml @@ -0,0 +1,6 @@ + + + + full + + diff --git a/tests/functionaltests/suites/default/post/GetRecords-requestid.xml b/tests/functionaltests/suites/default/post/GetRecords-requestid.xml new file mode 100644 index 000000000..186d04e3b --- /dev/null +++ b/tests/functionaltests/suites/default/post/GetRecords-requestid.xml @@ -0,0 +1,6 @@ + + + + full + + diff --git a/tests/functionaltests/suites/default/post/Harvest-default.xml b/tests/functionaltests/suites/default/post/Harvest-default.xml new file mode 100644 index 000000000..599ba769c --- /dev/null +++ b/tests/functionaltests/suites/default/post/Harvest-default.xml @@ -0,0 +1,6 @@ + + + http://schemas.opengis.net/csw/2.0.2/profiles/apiso/1.0.0/examples-ISO19139/dataset2_minimalst.xml + http://www.isotc211.org/schemas/2005/gmd/ + application/xml + diff --git a/tests/functionaltests/suites/default/post/Harvest-response-handler.xml b/tests/functionaltests/suites/default/post/Harvest-response-handler.xml new file mode 100644 index 000000000..9d4351727 --- /dev/null +++ b/tests/functionaltests/suites/default/post/Harvest-response-handler.xml @@ -0,0 +1,7 @@ + + + http://kralidis.ca/pycsw/trunk/tests/test_iso.xml + http://www.isotc211.org/schemas/2005/gmd/ + application/xml + mailto:tkralidi + diff --git a/tests/functionaltests/suites/default/post/Transaction-delete.xml b/tests/functionaltests/suites/default/post/Transaction-delete.xml new file mode 100644 index 000000000..675a8690e --- /dev/null +++ b/tests/functionaltests/suites/default/post/Transaction-delete.xml @@ -0,0 +1,13 @@ + + + + + + + apiso:Identifier + 12345 + + + + + diff --git a/tests/functionaltests/suites/default/post/Transaction-insert.xml b/tests/functionaltests/suites/default/post/Transaction-insert.xml new file mode 100644 index 000000000..1b238dd4d --- /dev/null +++ b/tests/functionaltests/suites/default/post/Transaction-insert.xml @@ -0,0 +1,73 @@ + + + + + + 12345 + + + + + + + + pycsw + + + + + + + + 2011-05-17 + + + + + + + pycsw record + + + + + 2011-05-17 + + + + + + + + + + Sample metadata record + + + eng + + + + + + + -180 + + + 180 + + + -90 + + + 90 + + + + + + + + + + diff --git a/tests/functionaltests/suites/default/post/Transaction-update-full.xml b/tests/functionaltests/suites/default/post/Transaction-update-full.xml new file mode 100644 index 000000000..2ff6604ea --- /dev/null +++ b/tests/functionaltests/suites/default/post/Transaction-update-full.xml @@ -0,0 +1,73 @@ + + + + + + 12345 + + + + + + + + pycsw + + + + + + + + 2011-05-17 + + + + + + + pycsw record + + + + + 2011-05-17 + + + + + + + + + + Sample metadata record + + + eng + + + + + + + -180 + + + 180 + + + -90 + + + 90 + + + + + + + + + + diff --git a/tests/functionaltests/suites/default/post/Transaction-update-recordproperty.xml b/tests/functionaltests/suites/default/post/Transaction-update-recordproperty.xml new file mode 100644 index 000000000..a130a5f25 --- /dev/null +++ b/tests/functionaltests/suites/default/post/Transaction-update-recordproperty.xml @@ -0,0 +1,17 @@ + + + + + apiso:Title + NEW_TITLE + + + + + apiso:Identifier + 12345 + + + + + diff --git a/tests/functionaltests/suites/dif/default.cfg b/tests/functionaltests/suites/dif/default.cfg new file mode 100644 index 000000000..08d69c6ed --- /dev/null +++ b/tests/functionaltests/suites/dif/default.cfg @@ -0,0 +1,90 @@ +# ================================================================= +# +# Authors: Tom Kralidis +# +# Copyright (c) 2011 Tom Kralidis +# +# Permission is hereby granted, free of charge, to any person +# obtaining a copy of this software and associated documentation +# files (the "Software"), to deal in the Software without +# restriction, including without limitation the rights to use, +# copy, modify, merge, publish, distribute, sublicense, and/or sell +# copies of the Software, and to permit persons to whom the +# Software is furnished to do so, subject to the following +# conditions: +# +# The above copyright notice and this permission notice shall be +# included in all copies or substantial portions of the Software. +# +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +# EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES +# OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +# NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT +# HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, +# WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR +# OTHER DEALINGS IN THE SOFTWARE. +# +# ================================================================= + +[server] +home=. +url=http://localhost/pycsw/csw.py?config=tests/suites/dif/default.cfg +mimetype=application/xml; charset=UTF-8 +encoding=UTF-8 +language=en-US +maxrecords=10 +#loglevel=DEBUG +#logfile=/tmp/pycsw.log +#ogc_schemas_base=http://foo +federatedcatalogues=http://geo.data.gov/geoportal/csw/discovery +pretty_print=true +#gzip_compresslevel=8 +#spatial_ranking=true + +[manager] +transactions=false +allowed_ips=127.0.0.1 + +[metadata:main] +identification_title=pycsw Geospatial Catalogue +identification_abstract=pycsw is an OGC CSW server implementation written in Python +identification_keywords=catalogue,discovery +identification_keywords_type=theme +identification_fees=None +identification_accessconstraints=None +provider_name=pycsw +provider_url=http://pycsw.org/ +contact_name=Kralidis, Tom +contact_position=Senior Systems Scientist +contact_address=TBA +contact_city=Toronto +contact_stateorprovince=Ontario +contact_postalcode=M9C 3Z9 +contact_country=Canada +contact_phone=+01-416-xxx-xxxx +contact_fax=+01-416-xxx-xxxx +contact_email=tomkralidis@gmail.com +contact_url=http://kralidis.ca/ +contact_hours=0800h - 1600h EST +contact_instructions=During hours of service. Off on weekends. +contact_role=pointOfContact + +[repository] +# sqlite +database=sqlite:///tests/suites/cite/data/records.db +# postgres +#database=postgres://username:password@localhost/pycsw +table=records + +[metadata:inspire] +enabled=false +languages_supported=eng,gre +default_language=eng +date=2011-03-29 +gemet_keywords=Utility and governmental services +conformity_service=notEvaluated +contact_name=National Technical University of Athens +contact_email=tzotsos@gmail.com +temp_extent=2011-02-01/2011-03-30 + diff --git a/tests/functionaltests/suites/dif/expected/post_DescribeRecord.xml b/tests/functionaltests/suites/dif/expected/post_DescribeRecord.xml new file mode 100644 index 000000000..5f82a7d41 --- /dev/null +++ b/tests/functionaltests/suites/dif/expected/post_DescribeRecord.xml @@ -0,0 +1,3 @@ + + + diff --git a/tests/functionaltests/suites/dif/expected/post_GetCapabilities.xml b/tests/functionaltests/suites/dif/expected/post_GetCapabilities.xml new file mode 100644 index 000000000..e062f2209 --- /dev/null +++ b/tests/functionaltests/suites/dif/expected/post_GetCapabilities.xml @@ -0,0 +1,262 @@ + + + + + pycsw Geospatial Catalogue + pycsw is an OGC CSW server implementation written in Python + + catalogue + discovery + theme + + CSW + 2.0.2 + 3.0.0 + None + None + + + pycsw + + + Kralidis, Tom + Senior Systems Scientist + + + +01-416-xxx-xxxx + +01-416-xxx-xxxx + + + TBA + Toronto + Ontario + M9C 3Z9 + Canada + tomkralidis@gmail.com + + + 0800h - 1600h EST + During hours of service. Off on weekends. + + pointOfContact + + + + + + + + + + + + Filter_Capabilities + OperationsMetadata + ServiceIdentification + ServiceProvider + + + + + + + + + + + application/json + application/xml + + + http://www.w3.org/2001/XMLSchema + http://www.w3.org/TR/xmlschema-1/ + http://www.w3.org/XML/Schema + + + csw:Record + + + + + + + + + + + DescribeRecord.outputFormat + DescribeRecord.schemaLanguage + DescribeRecord.typeName + GetCapabilities.sections + GetRecordById.ElementSetName + GetRecordById.outputFormat + GetRecordById.outputSchema + GetRecords.CONSTRAINTLANGUAGE + GetRecords.ElementSetName + GetRecords.outputFormat + GetRecords.outputSchema + GetRecords.resultType + GetRecords.typeNames + + + + + + + + + + + CQL_TEXT + FILTER + + + brief + full + summary + + + application/json + application/xml + + + http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ + http://www.interlis.ch/INTERLIS2.3 + http://www.opengis.net/cat/csw/2.0.2 + http://www.opengis.net/cat/csw/csdgm + http://www.w3.org/2005/Atom + + + hits + results + validate + + + csw:Record + + + csw:AnyText + dc:contributor + dc:creator + dc:date + dc:format + dc:identifier + dc:language + dc:publisher + dc:relation + dc:rights + dc:source + dc:subject + dc:title + dc:type + dct:abstract + dct:modified + ows:BoundingBox + + + + + + + + + + + brief + full + summary + + + application/json + application/xml + + + http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ + http://www.interlis.ch/INTERLIS2.3 + http://www.opengis.net/cat/csw/2.0.2 + http://www.opengis.net/cat/csw/csdgm + http://www.w3.org/2005/Atom + + + + + + + + + + + CSW + + + 2.0.2 + 3.0.0 + + + http://geo.data.gov/geoportal/csw/discovery + + + 10 + + + XML + SOAP + + + allowed + + + + + + gml:Point + gml:LineString + gml:Polygon + gml:Envelope + + + + + + + + + + + + + + + + + + + Between + EqualTo + GreaterThan + GreaterThanEqualTo + LessThan + LessThanEqualTo + Like + NotEqualTo + NullCheck + + + + + length + lower + ltrim + rtrim + trim + upper + + + + + + + + + + diff --git a/tests/functionaltests/suites/dif/expected/post_GetRecords-filter-bbox.xml b/tests/functionaltests/suites/dif/expected/post_GetRecords-filter-bbox.xml new file mode 100644 index 000000000..d6a763d1f --- /dev/null +++ b/tests/functionaltests/suites/dif/expected/post_GetRecords-filter-bbox.xml @@ -0,0 +1,71 @@ + + + + + + + urn:uuid:94bc9c83-97f6-4b40-9eb8-a8e8787a5c63 + Mauris sed neque + + + + + + + + Vegetation-Cropland + + + + + + 47.59 + 51.22 + -4.1 + 0.89 + + + + + Curabitur lacinia, ante non porta tempus, mi lorem feugiat odio, eget suscipit eros pede ac velit. + + + + + CEOS IDN DIF + 9.7 + + + urn:uuid:9a669547-b69b-469f-a11f-2d875366bbdc + Ñunç elementum + + + + + + + + Hydrography-Oceanographic + + + + + + 44.79 + 51.13 + -6.17 + -2.23 + + + + + + + + + + CEOS IDN DIF + 9.7 + + + diff --git a/tests/functionaltests/suites/dif/post/DescribeRecord.xml b/tests/functionaltests/suites/dif/post/DescribeRecord.xml new file mode 100644 index 000000000..2408da75b --- /dev/null +++ b/tests/functionaltests/suites/dif/post/DescribeRecord.xml @@ -0,0 +1,4 @@ + + + dif:DIF + diff --git a/tests/functionaltests/suites/dif/post/GetCapabilities.xml b/tests/functionaltests/suites/dif/post/GetCapabilities.xml new file mode 100644 index 000000000..e4dc8070b --- /dev/null +++ b/tests/functionaltests/suites/dif/post/GetCapabilities.xml @@ -0,0 +1,9 @@ + + + + 2.0.2 + + + application/xml + + diff --git a/tests/functionaltests/suites/dif/post/GetRecords-filter-bbox.xml b/tests/functionaltests/suites/dif/post/GetRecords-filter-bbox.xml new file mode 100644 index 000000000..8804efe60 --- /dev/null +++ b/tests/functionaltests/suites/dif/post/GetRecords-filter-bbox.xml @@ -0,0 +1,17 @@ + + + + brief + + + + ows:BoundingBox + + 47 -5 + 55 20 + + + + + + diff --git a/tests/functionaltests/suites/ebrim/default.cfg b/tests/functionaltests/suites/ebrim/default.cfg new file mode 100644 index 000000000..048432616 --- /dev/null +++ b/tests/functionaltests/suites/ebrim/default.cfg @@ -0,0 +1,93 @@ +# ================================================================= +# +# $Id: default.cfg 366 2011-11-24 21:52:13Z tomkralidis $ +# +# Authors: Tom Kralidis +# +# Copyright (c) 2011 Tom Kralidis +# +# Permission is hereby granted, free of charge, to any person +# obtaining a copy of this software and associated documentation +# files (the "Software"), to deal in the Software without +# restriction, including without limitation the rights to use, +# copy, modify, merge, publish, distribute, sublicense, and/or sell +# copies of the Software, and to permit persons to whom the +# Software is furnished to do so, subject to the following +# conditions: +# +# The above copyright notice and this permission notice shall be +# included in all copies or substantial portions of the Software. +# +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +# EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES +# OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +# NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT +# HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, +# WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR +# OTHER DEALINGS IN THE SOFTWARE. +# +# ================================================================= + +[server] +home=. +url=http://localhost/pycsw/csw.py?config=tests/suites/fgdc/default.cfg +mimetype=application/xml; charset=UTF-8 +encoding=UTF-8 +language=en-US +maxrecords=10 +#loglevel=DEBUG +#logfile=/tmp/pycsw.log +#ogc_schemas_base=http://foo +federatedcatalogues=http://geo.data.gov/geoportal/csw/discovery +pretty_print=true +#gzip_compresslevel=8 +#spatial_ranking=true +profiles=ebrim + +[manager] +transactions=false +allowed_ips=127.0.0.1 + +[metadata:main] +identification_title=pycsw Geospatial Catalogue +identification_abstract=pycsw is an OGC CSW server implementation written in Python +identification_keywords=catalogue,discovery +identification_keywords_type=theme +identification_fees=None +identification_accessconstraints=None +provider_name=pycsw +provider_url=http://pycsw.org/ +contact_name=Kralidis, Tom +contact_position=Senior Systems Scientist +contact_address=TBA +contact_city=Toronto +contact_stateorprovince=Ontario +contact_postalcode=M9C 3Z9 +contact_country=Canada +contact_phone=+01-416-xxx-xxxx +contact_fax=+01-416-xxx-xxxx +contact_email=tomkralidis@gmail.com +contact_url=http://kralidis.ca/ +contact_hours=0800h - 1600h EST +contact_instructions=During hours of service. Off on weekends. +contact_role=pointOfContact + +[repository] +# sqlite +database=sqlite:///tests/suites/cite/data/records.db +# postgres +#database=postgres://username:password@localhost/pycsw +table=records + +[metadata:inspire] +enabled=false +languages_supported=eng,gre +default_language=eng +date=2011-03-29 +gemet_keywords=Utility and governmental services +conformity_service=notEvaluated +contact_name=National Technical University of Athens +contact_email=tzotsos@gmail.com +temp_extent=2011-02-01/2011-03-30 + diff --git a/tests/functionaltests/suites/ebrim/expected/post_DescribeRecord.xml b/tests/functionaltests/suites/ebrim/expected/post_DescribeRecord.xml new file mode 100644 index 000000000..87e4d86a2 --- /dev/null +++ b/tests/functionaltests/suites/ebrim/expected/post_DescribeRecord.xml @@ -0,0 +1,93 @@ + + + + + + + + + + + rim:Value not allowed in this context: expected wrs:AnyValue. + + + + + Schema for CSW-ebRIM catalogue profile (OGC 07-110r3). + + + + + + + + + + + + + A general record identifier, expressed as an absolute URI that maps to + the rim:RegistryObject/@id attribute. It substitutes for the ogc:_Id + element in an OGC filter expression. + + + + + + + + + + + + + + Extends rim:ExtrinsicObjectType to add the following: + 1. MTOM/XOP based attachment support. + 2. XLink based reference to a part in a multipart/related message + structure. + NOTE: This content model is planned for RegRep 4.0. + + + + + + + + + + + + + + + + Allows complex slot values. + + + + + + + + + + + + + + + + + + + + + Incorporates the attributes defined for use in simple XLink elements. + + + + + + + diff --git a/tests/functionaltests/suites/ebrim/expected/post_GetCapabilities.xml b/tests/functionaltests/suites/ebrim/expected/post_GetCapabilities.xml new file mode 100644 index 000000000..41b60a20a --- /dev/null +++ b/tests/functionaltests/suites/ebrim/expected/post_GetCapabilities.xml @@ -0,0 +1,266 @@ + + + + + pycsw Geospatial Catalogue + pycsw is an OGC CSW server implementation written in Python + + catalogue + discovery + theme + + CSW + 2.0.2 + 3.0.0 + None + None + + + pycsw + + + Kralidis, Tom + Senior Systems Scientist + + + +01-416-xxx-xxxx + +01-416-xxx-xxxx + + + TBA + Toronto + Ontario + M9C 3Z9 + Canada + tomkralidis@gmail.com + + + 0800h - 1600h EST + During hours of service. Off on weekends. + + pointOfContact + + + + + + + + + + + + Filter_Capabilities + OperationsMetadata + ServiceIdentification + ServiceProvider + + + + + + + + + + + application/json + application/xml + + + http://www.w3.org/2001/XMLSchema + http://www.w3.org/TR/xmlschema-1/ + http://www.w3.org/XML/Schema + + + csw:Record + rim:RegistryObject + + + + + + + + + + + DescribeRecord.outputFormat + DescribeRecord.schemaLanguage + DescribeRecord.typeName + GetCapabilities.sections + GetRecordById.ElementSetName + GetRecordById.outputFormat + GetRecordById.outputSchema + GetRecords.CONSTRAINTLANGUAGE + GetRecords.ElementSetName + GetRecords.outputFormat + GetRecords.outputSchema + GetRecords.resultType + GetRecords.typeNames + + + + + + + + + + + CQL_TEXT + FILTER + + + brief + full + summary + + + application/json + application/xml + + + http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ + http://www.interlis.ch/INTERLIS2.3 + http://www.opengis.net/cat/csw/2.0.2 + http://www.opengis.net/cat/csw/csdgm + http://www.w3.org/2005/Atom + urn:oasis:names:tc:ebxml-regrep:xsd:rim:3.0 + + + hits + results + validate + + + csw:Record + rim:RegistryObject + + + csw:AnyText + dc:contributor + dc:creator + dc:date + dc:format + dc:identifier + dc:language + dc:publisher + dc:relation + dc:rights + dc:source + dc:subject + dc:title + dc:type + dct:abstract + dct:modified + ows:BoundingBox + + + + + + + + + + + brief + full + summary + + + application/json + application/xml + + + http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ + http://www.interlis.ch/INTERLIS2.3 + http://www.opengis.net/cat/csw/2.0.2 + http://www.opengis.net/cat/csw/csdgm + http://www.w3.org/2005/Atom + urn:oasis:names:tc:ebxml-regrep:xsd:rim:3.0 + + + + + + + + + + + CSW + + + 2.0.2 + 3.0.0 + + + http://geo.data.gov/geoportal/csw/discovery + + + 10 + + + XML + SOAP + + + allowed + + + + + + gml:Point + gml:LineString + gml:Polygon + gml:Envelope + + + + + + + + + + + + + + + + + + + Between + EqualTo + GreaterThan + GreaterThanEqualTo + LessThan + LessThanEqualTo + Like + NotEqualTo + NullCheck + + + + + length + lower + ltrim + rtrim + trim + upper + + + + + + + + + + diff --git a/tests/functionaltests/suites/ebrim/expected/post_GetRecords-filter-bbox-full.xml b/tests/functionaltests/suites/ebrim/expected/post_GetRecords-filter-bbox-full.xml new file mode 100644 index 000000000..5b2074c47 --- /dev/null +++ b/tests/functionaltests/suites/ebrim/expected/post_GetRecords-filter-bbox-full.xml @@ -0,0 +1,57 @@ + + + + + + + + + + + + + + + + + + + 47.59 -4.1 + 51.22 0.89 + + + + + + + Vegetation-Cropland + + + + + + + + + + + + + + + + + 44.79 -6.17 + 51.13 -2.23 + + + + + + + Hydrography-Oceanographic + + + + + diff --git a/tests/functionaltests/suites/ebrim/expected/post_GetRecords-filter-bbox.xml b/tests/functionaltests/suites/ebrim/expected/post_GetRecords-filter-bbox.xml new file mode 100644 index 000000000..fdc31f2c3 --- /dev/null +++ b/tests/functionaltests/suites/ebrim/expected/post_GetRecords-filter-bbox.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + diff --git a/tests/functionaltests/suites/ebrim/post/DescribeRecord.xml b/tests/functionaltests/suites/ebrim/post/DescribeRecord.xml new file mode 100644 index 000000000..cd708816b --- /dev/null +++ b/tests/functionaltests/suites/ebrim/post/DescribeRecord.xml @@ -0,0 +1,4 @@ + + + rim:RegistryObject + diff --git a/tests/functionaltests/suites/ebrim/post/GetCapabilities.xml b/tests/functionaltests/suites/ebrim/post/GetCapabilities.xml new file mode 100644 index 000000000..e4dc8070b --- /dev/null +++ b/tests/functionaltests/suites/ebrim/post/GetCapabilities.xml @@ -0,0 +1,9 @@ + + + + 2.0.2 + + + application/xml + + diff --git a/tests/functionaltests/suites/ebrim/post/GetRecords-filter-bbox-full.xml b/tests/functionaltests/suites/ebrim/post/GetRecords-filter-bbox-full.xml new file mode 100644 index 000000000..6b6f84942 --- /dev/null +++ b/tests/functionaltests/suites/ebrim/post/GetRecords-filter-bbox-full.xml @@ -0,0 +1,17 @@ + + + + full + + + + ows:BoundingBox + + 47 -5 + 55 20 + + + + + + diff --git a/tests/functionaltests/suites/ebrim/post/GetRecords-filter-bbox.xml b/tests/functionaltests/suites/ebrim/post/GetRecords-filter-bbox.xml new file mode 100644 index 000000000..ddb68ce96 --- /dev/null +++ b/tests/functionaltests/suites/ebrim/post/GetRecords-filter-bbox.xml @@ -0,0 +1,17 @@ + + + + brief + + + + ows:BoundingBox + + 47 -5 + 55 20 + + + + + + diff --git a/tests/functionaltests/suites/fgdc/default.cfg b/tests/functionaltests/suites/fgdc/default.cfg new file mode 100644 index 000000000..da6707ac7 --- /dev/null +++ b/tests/functionaltests/suites/fgdc/default.cfg @@ -0,0 +1,90 @@ +# ================================================================= +# +# Authors: Tom Kralidis +# +# Copyright (c) 2011 Tom Kralidis +# +# Permission is hereby granted, free of charge, to any person +# obtaining a copy of this software and associated documentation +# files (the "Software"), to deal in the Software without +# restriction, including without limitation the rights to use, +# copy, modify, merge, publish, distribute, sublicense, and/or sell +# copies of the Software, and to permit persons to whom the +# Software is furnished to do so, subject to the following +# conditions: +# +# The above copyright notice and this permission notice shall be +# included in all copies or substantial portions of the Software. +# +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +# EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES +# OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +# NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT +# HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, +# WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR +# OTHER DEALINGS IN THE SOFTWARE. +# +# ================================================================= + +[server] +home=. +url=http://localhost/pycsw/csw.py?config=tests/suites/fgdc/default.cfg +mimetype=application/xml; charset=UTF-8 +encoding=UTF-8 +language=en-US +maxrecords=10 +#loglevel=DEBUG +#logfile=/tmp/pycsw.log +#ogc_schemas_base=http://foo +federatedcatalogues=http://geo.data.gov/geoportal/csw/discovery +pretty_print=true +#gzip_compresslevel=8 +#spatial_ranking=true + +[manager] +transactions=false +allowed_ips=127.0.0.1 + +[metadata:main] +identification_title=pycsw Geospatial Catalogue +identification_abstract=pycsw is an OGC CSW server implementation written in Python +identification_keywords=catalogue,discovery +identification_keywords_type=theme +identification_fees=None +identification_accessconstraints=None +provider_name=pycsw +provider_url=http://pycsw.org/ +contact_name=Kralidis, Tom +contact_position=Senior Systems Scientist +contact_address=TBA +contact_city=Toronto +contact_stateorprovince=Ontario +contact_postalcode=M9C 3Z9 +contact_country=Canada +contact_phone=+01-416-xxx-xxxx +contact_fax=+01-416-xxx-xxxx +contact_email=tomkralidis@gmail.com +contact_url=http://kralidis.ca/ +contact_hours=0800h - 1600h EST +contact_instructions=During hours of service. Off on weekends. +contact_role=pointOfContact + +[repository] +# sqlite +database=sqlite:///tests/suites/cite/data/records.db +# postgres +#database=postgres://username:password@localhost/pycsw +table=records + +[metadata:inspire] +enabled=false +languages_supported=eng,gre +default_language=eng +date=2011-03-29 +gemet_keywords=Utility and governmental services +conformity_service=notEvaluated +contact_name=National Technical University of Athens +contact_email=tzotsos@gmail.com +temp_extent=2011-02-01/2011-03-30 + diff --git a/tests/functionaltests/suites/fgdc/expected/post_DescribeRecord.xml b/tests/functionaltests/suites/fgdc/expected/post_DescribeRecord.xml new file mode 100644 index 000000000..5f82a7d41 --- /dev/null +++ b/tests/functionaltests/suites/fgdc/expected/post_DescribeRecord.xml @@ -0,0 +1,3 @@ + + + diff --git a/tests/functionaltests/suites/fgdc/expected/post_GetCapabilities.xml b/tests/functionaltests/suites/fgdc/expected/post_GetCapabilities.xml new file mode 100644 index 000000000..e4ea071fe --- /dev/null +++ b/tests/functionaltests/suites/fgdc/expected/post_GetCapabilities.xml @@ -0,0 +1,262 @@ + + + + + pycsw Geospatial Catalogue + pycsw is an OGC CSW server implementation written in Python + + catalogue + discovery + theme + + CSW + 2.0.2 + 3.0.0 + None + None + + + pycsw + + + Kralidis, Tom + Senior Systems Scientist + + + +01-416-xxx-xxxx + +01-416-xxx-xxxx + + + TBA + Toronto + Ontario + M9C 3Z9 + Canada + tomkralidis@gmail.com + + + 0800h - 1600h EST + During hours of service. Off on weekends. + + pointOfContact + + + + + + + + + + + + Filter_Capabilities + OperationsMetadata + ServiceIdentification + ServiceProvider + + + + + + + + + + + application/json + application/xml + + + http://www.w3.org/2001/XMLSchema + http://www.w3.org/TR/xmlschema-1/ + http://www.w3.org/XML/Schema + + + csw:Record + + + + + + + + + + + DescribeRecord.outputFormat + DescribeRecord.schemaLanguage + DescribeRecord.typeName + GetCapabilities.sections + GetRecordById.ElementSetName + GetRecordById.outputFormat + GetRecordById.outputSchema + GetRecords.CONSTRAINTLANGUAGE + GetRecords.ElementSetName + GetRecords.outputFormat + GetRecords.outputSchema + GetRecords.resultType + GetRecords.typeNames + + + + + + + + + + + CQL_TEXT + FILTER + + + brief + full + summary + + + application/json + application/xml + + + http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ + http://www.interlis.ch/INTERLIS2.3 + http://www.opengis.net/cat/csw/2.0.2 + http://www.opengis.net/cat/csw/csdgm + http://www.w3.org/2005/Atom + + + hits + results + validate + + + csw:Record + + + csw:AnyText + dc:contributor + dc:creator + dc:date + dc:format + dc:identifier + dc:language + dc:publisher + dc:relation + dc:rights + dc:source + dc:subject + dc:title + dc:type + dct:abstract + dct:modified + ows:BoundingBox + + + + + + + + + + + brief + full + summary + + + application/json + application/xml + + + http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ + http://www.interlis.ch/INTERLIS2.3 + http://www.opengis.net/cat/csw/2.0.2 + http://www.opengis.net/cat/csw/csdgm + http://www.w3.org/2005/Atom + + + + + + + + + + + CSW + + + 2.0.2 + 3.0.0 + + + http://geo.data.gov/geoportal/csw/discovery + + + 10 + + + XML + SOAP + + + allowed + + + + + + gml:Point + gml:LineString + gml:Polygon + gml:Envelope + + + + + + + + + + + + + + + + + + + Between + EqualTo + GreaterThan + GreaterThanEqualTo + LessThan + LessThanEqualTo + Like + NotEqualTo + NullCheck + + + + + length + lower + ltrim + rtrim + trim + upper + + + + + + + + + + diff --git a/tests/functionaltests/suites/fgdc/expected/post_GetRecords-filter-bbox.xml b/tests/functionaltests/suites/fgdc/expected/post_GetRecords-filter-bbox.xml new file mode 100644 index 000000000..5f8c20dc1 --- /dev/null +++ b/tests/functionaltests/suites/fgdc/expected/post_GetRecords-filter-bbox.xml @@ -0,0 +1,123 @@ + + + + + + + + urn:uuid:94bc9c83-97f6-4b40-9eb8-a8e8787a5c63 + + + Mauris sed neque + + + + + + + + + + + Vegetation-Cropland + + + + + Curabitur lacinia, ante non porta tempus, mi lorem feugiat odio, eget suscipit eros pede ac velit. + + + + -4.1 + 0.89 + 51.22 + 47.59 + + + + + http://purl.org/dc/dcmitype/Dataset + + + + + + + + + + + + + + + + + + + + + + + + + + + urn:uuid:9a669547-b69b-469f-a11f-2d875366bbdc + + + Ñunç elementum + + + + + + + + + + + Hydrography-Oceanographic + + + + + + + + + -6.17 + -2.23 + 51.13 + 44.79 + + + + + http://purl.org/dc/dcmitype/Dataset + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/tests/functionaltests/suites/fgdc/post/DescribeRecord.xml b/tests/functionaltests/suites/fgdc/post/DescribeRecord.xml new file mode 100644 index 000000000..11dec8922 --- /dev/null +++ b/tests/functionaltests/suites/fgdc/post/DescribeRecord.xml @@ -0,0 +1,4 @@ + + + fgdc:metadata + diff --git a/tests/functionaltests/suites/fgdc/post/GetCapabilities.xml b/tests/functionaltests/suites/fgdc/post/GetCapabilities.xml new file mode 100644 index 000000000..e4dc8070b --- /dev/null +++ b/tests/functionaltests/suites/fgdc/post/GetCapabilities.xml @@ -0,0 +1,9 @@ + + + + 2.0.2 + + + application/xml + + diff --git a/tests/functionaltests/suites/fgdc/post/GetRecords-filter-bbox.xml b/tests/functionaltests/suites/fgdc/post/GetRecords-filter-bbox.xml new file mode 100644 index 000000000..47060cbcc --- /dev/null +++ b/tests/functionaltests/suites/fgdc/post/GetRecords-filter-bbox.xml @@ -0,0 +1,17 @@ + + + + brief + + + + ows:BoundingBox + + 47 -5 + 55 20 + + + + + + diff --git a/tests/functionaltests/suites/gm03/default.cfg b/tests/functionaltests/suites/gm03/default.cfg new file mode 100644 index 000000000..c67325399 --- /dev/null +++ b/tests/functionaltests/suites/gm03/default.cfg @@ -0,0 +1,90 @@ +# ================================================================= +# +# Authors: Tom Kralidis +# +# Copyright (c) 2011 Tom Kralidis +# +# Permission is hereby granted, free of charge, to any person +# obtaining a copy of this software and associated documentation +# files (the "Software"), to deal in the Software without +# restriction, including without limitation the rights to use, +# copy, modify, merge, publish, distribute, sublicense, and/or sell +# copies of the Software, and to permit persons to whom the +# Software is furnished to do so, subject to the following +# conditions: +# +# The above copyright notice and this permission notice shall be +# included in all copies or substantial portions of the Software. +# +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +# EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES +# OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +# NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT +# HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, +# WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR +# OTHER DEALINGS IN THE SOFTWARE. +# +# ================================================================= + +[server] +home=. +url=http://localhost/pycsw/csw.py?config=tests/suites/gm03/default.cfg +mimetype=application/xml; charset=UTF-8 +encoding=UTF-8 +language=en-US +maxrecords=10 +#loglevel=DEBUG +#logfile=/tmp/pycsw.log +#ogc_schemas_base=http://foo +federatedcatalogues=http://geo.data.gov/geoportal/csw/discovery +pretty_print=true +#gzip_compresslevel=8 +#spatial_ranking=true + +[manager] +transactions=false +allowed_ips=127.0.0.1 + +[metadata:main] +identification_title=pycsw Geospatial Catalogue +identification_abstract=pycsw is an OGC CSW server implementation written in Python +identification_keywords=catalogue,discovery +identification_keywords_type=theme +identification_fees=None +identification_accessconstraints=None +provider_name=pycsw +provider_url=http://pycsw.org/ +contact_name=Kralidis, Tom +contact_position=Senior Systems Scientist +contact_address=TBA +contact_city=Toronto +contact_stateorprovince=Ontario +contact_postalcode=M9C 3Z9 +contact_country=Canada +contact_phone=+01-416-xxx-xxxx +contact_fax=+01-416-xxx-xxxx +contact_email=tomkralidis@gmail.com +contact_url=http://kralidis.ca/ +contact_hours=0800h - 1600h EST +contact_instructions=During hours of service. Off on weekends. +contact_role=pointOfContact + +[repository] +# sqlite +database=sqlite:///tests/suites/cite/data/records.db +# postgres +#database=postgres://username:password@localhost/pycsw +table=records + +[metadata:inspire] +enabled=false +languages_supported=eng,gre +default_language=eng +date=2011-03-29 +gemet_keywords=Utility and governmental services +conformity_service=notEvaluated +contact_name=National Technical University of Athens +contact_email=tzotsos@gmail.com +temp_extent=2011-02-01/2011-03-30 + diff --git a/tests/functionaltests/suites/gm03/expected/post_GetCapabilities.xml b/tests/functionaltests/suites/gm03/expected/post_GetCapabilities.xml new file mode 100644 index 000000000..46b77ba68 --- /dev/null +++ b/tests/functionaltests/suites/gm03/expected/post_GetCapabilities.xml @@ -0,0 +1,262 @@ + + + + + pycsw Geospatial Catalogue + pycsw is an OGC CSW server implementation written in Python + + catalogue + discovery + theme + + CSW + 2.0.2 + 3.0.0 + None + None + + + pycsw + + + Kralidis, Tom + Senior Systems Scientist + + + +01-416-xxx-xxxx + +01-416-xxx-xxxx + + + TBA + Toronto + Ontario + M9C 3Z9 + Canada + tomkralidis@gmail.com + + + 0800h - 1600h EST + During hours of service. Off on weekends. + + pointOfContact + + + + + + + + + + + + Filter_Capabilities + OperationsMetadata + ServiceIdentification + ServiceProvider + + + + + + + + + + + application/json + application/xml + + + http://www.w3.org/2001/XMLSchema + http://www.w3.org/TR/xmlschema-1/ + http://www.w3.org/XML/Schema + + + csw:Record + + + + + + + + + + + DescribeRecord.outputFormat + DescribeRecord.schemaLanguage + DescribeRecord.typeName + GetCapabilities.sections + GetRecordById.ElementSetName + GetRecordById.outputFormat + GetRecordById.outputSchema + GetRecords.CONSTRAINTLANGUAGE + GetRecords.ElementSetName + GetRecords.outputFormat + GetRecords.outputSchema + GetRecords.resultType + GetRecords.typeNames + + + + + + + + + + + CQL_TEXT + FILTER + + + brief + full + summary + + + application/json + application/xml + + + http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ + http://www.interlis.ch/INTERLIS2.3 + http://www.opengis.net/cat/csw/2.0.2 + http://www.opengis.net/cat/csw/csdgm + http://www.w3.org/2005/Atom + + + hits + results + validate + + + csw:Record + + + csw:AnyText + dc:contributor + dc:creator + dc:date + dc:format + dc:identifier + dc:language + dc:publisher + dc:relation + dc:rights + dc:source + dc:subject + dc:title + dc:type + dct:abstract + dct:modified + ows:BoundingBox + + + + + + + + + + + brief + full + summary + + + application/json + application/xml + + + http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ + http://www.interlis.ch/INTERLIS2.3 + http://www.opengis.net/cat/csw/2.0.2 + http://www.opengis.net/cat/csw/csdgm + http://www.w3.org/2005/Atom + + + + + + + + + + + CSW + + + 2.0.2 + 3.0.0 + + + http://geo.data.gov/geoportal/csw/discovery + + + 10 + + + XML + SOAP + + + allowed + + + + + + gml:Point + gml:LineString + gml:Polygon + gml:Envelope + + + + + + + + + + + + + + + + + + + Between + EqualTo + GreaterThan + GreaterThanEqualTo + LessThan + LessThanEqualTo + Like + NotEqualTo + NullCheck + + + + + length + lower + ltrim + rtrim + trim + upper + + + + + + + + + + diff --git a/tests/functionaltests/suites/gm03/expected/post_GetRecords-filter-bbox.xml b/tests/functionaltests/suites/gm03/expected/post_GetRecords-filter-bbox.xml new file mode 100644 index 000000000..55213c6e1 --- /dev/null +++ b/tests/functionaltests/suites/gm03/expected/post_GetRecords-filter-bbox.xml @@ -0,0 +1,137 @@ + + + + + + + + + + + + + urn:uuid:94bc9c83-97f6-4b40-9eb8-a8e8787a5c63 + + + GM03 + 2.3 + + + http://purl.org/dc/dcmitype/Dataset + + + + + + + + + + + + + + Mauris sed neque + + + + + + + + + + + Curabitur lacinia, ante non porta tempus, mi lorem feugiat odio, eget suscipit eros pede ac velit. + + + + + + + + + + + Vegetation-Cropland + + + + + + + 51.22 + 47.59 + -4.1 + 0.89 + + + + + + + + + + + + urn:uuid:9a669547-b69b-469f-a11f-2d875366bbdc + + + GM03 + 2.3 + + + http://purl.org/dc/dcmitype/Dataset + + + + + + + + + + + + + + Ñunç elementum + + + + + + + + + + + + + + + + + + + + + + Hydrography-Oceanographic + + + + + + + 51.13 + 44.79 + -6.17 + -2.23 + + + + + + diff --git a/tests/functionaltests/suites/gm03/post/GetCapabilities.xml b/tests/functionaltests/suites/gm03/post/GetCapabilities.xml new file mode 100644 index 000000000..e4dc8070b --- /dev/null +++ b/tests/functionaltests/suites/gm03/post/GetCapabilities.xml @@ -0,0 +1,9 @@ + + + + 2.0.2 + + + application/xml + + diff --git a/tests/functionaltests/suites/gm03/post/GetRecords-filter-bbox.xml b/tests/functionaltests/suites/gm03/post/GetRecords-filter-bbox.xml new file mode 100644 index 000000000..4b2319124 --- /dev/null +++ b/tests/functionaltests/suites/gm03/post/GetRecords-filter-bbox.xml @@ -0,0 +1,17 @@ + + + + brief + + + + ows:BoundingBox + + 47 -5 + 55 20 + + + + + + diff --git a/tests/functionaltests/suites/harvesting/default.cfg b/tests/functionaltests/suites/harvesting/default.cfg new file mode 100644 index 000000000..78f00ea1c --- /dev/null +++ b/tests/functionaltests/suites/harvesting/default.cfg @@ -0,0 +1,91 @@ +# ================================================================= +# +# Authors: Tom Kralidis +# +# Copyright (c) 2012 Tom Kralidis +# +# Permission is hereby granted, free of charge, to any person +# obtaining a copy of this software and associated documentation +# files (the "Software"), to deal in the Software without +# restriction, including without limitation the rights to use, +# copy, modify, merge, publish, distribute, sublicense, and/or sell +# copies of the Software, and to permit persons to whom the +# Software is furnished to do so, subject to the following +# conditions: +# +# The above copyright notice and this permission notice shall be +# included in all copies or substantial portions of the Software. +# +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +# EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES +# OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +# NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT +# HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, +# WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR +# OTHER DEALINGS IN THE SOFTWARE. +# +# ================================================================= + +[server] +home=. +url=http://localhost/pycsw/csw.py?config=tests/suites/harvesting/default.cfg +mimetype=application/xml; charset=UTF-8 +encoding=UTF-8 +language=en-US +maxrecords=10 +#loglevel=DEBUG +#logfile=/tmp/pycsw.log +#ogc_schemas_base=http://foo +federatedcatalogues=http://geo.data.gov/geoportal/csw/discovery +pretty_print=true +#gzip_compresslevel=8 +#spatial_ranking=true +profiles=apiso + +[manager] +transactions=true +allowed_ips=127.0.0.1 + +[metadata:main] +identification_title=pycsw Geospatial Catalogue +identification_abstract=pycsw is an OGC CSW server implementation written in Python +identification_keywords=catalogue,discovery +identification_keywords_type=theme +identification_fees=None +identification_accessconstraints=None +provider_name=pycsw +provider_url=http://pycsw.org/ +contact_name=Kralidis, Tom +contact_position=Senior Systems Scientist +contact_address=TBA +contact_city=Toronto +contact_stateorprovince=Ontario +contact_postalcode=M9C 3Z9 +contact_country=Canada +contact_phone=+01-416-xxx-xxxx +contact_fax=+01-416-xxx-xxxx +contact_email=tomkralidis@gmail.com +contact_url=http://kralidis.ca/ +contact_hours=0800h - 1600h EST +contact_instructions=During hours of service. Off on weekends. +contact_role=pointOfContact + +[repository] +# sqlite +database=sqlite:///tests/suites/harvesting/data/records.db +# postgres +#database=postgres://username:password@localhost/pycsw +table=records + +[metadata:inspire] +enabled=false +languages_supported=eng,gre +default_language=eng +date=2011-03-29 +gemet_keywords=Utility and governmental services +conformity_service=notEvaluated +contact_name=National Technical University of Athens +contact_email=tzotsos@gmail.com +temp_extent=2011-02-01/2011-03-30 + diff --git a/tests/functionaltests/suites/harvesting/expected/get_Exception-Harvest-invalid-resourcetype.xml b/tests/functionaltests/suites/harvesting/expected/get_Exception-Harvest-invalid-resourcetype.xml new file mode 100644 index 000000000..4e1e40cd8 --- /dev/null +++ b/tests/functionaltests/suites/harvesting/expected/get_Exception-Harvest-invalid-resourcetype.xml @@ -0,0 +1,7 @@ + + + + + Invalid resource type parameter: http://www.opengis.net/wms1234. Allowable resourcetype values: http://www.opengis.net/cat/csw/2.0.2,http://www.opengis.net/cat/csw/3.0,http://www.opengis.net/wms,http://www.opengis.net/wmts/1.0,http://www.opengis.net/wfs,http://www.opengis.net/wfs/2.0,http://www.opengis.net/wcs,http://www.opengis.net/wps/1.0.0,http://www.opengis.net/sos/1.0,http://www.opengis.net/sos/2.0,http://www.isotc211.org/2005/gmi,urn:geoss:waf,http://www.interlis.ch/INTERLIS2.3,http://www.opengis.net/cat/csw/csdgm,http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/,http://www.w3.org/2005/Atom,http://www.isotc211.org/2005/gmd,http://www.isotc211.org/schemas/2005/gmd/ + + diff --git a/tests/functionaltests/suites/harvesting/expected/get_Exception-Harvest-missing-resourcetype.xml b/tests/functionaltests/suites/harvesting/expected/get_Exception-Harvest-missing-resourcetype.xml new file mode 100644 index 000000000..36852c4f6 --- /dev/null +++ b/tests/functionaltests/suites/harvesting/expected/get_Exception-Harvest-missing-resourcetype.xml @@ -0,0 +1,7 @@ + + + + + Missing resourcetype parameter + + diff --git a/tests/functionaltests/suites/harvesting/expected/get_Exception-Harvest-missing-source.xml b/tests/functionaltests/suites/harvesting/expected/get_Exception-Harvest-missing-source.xml new file mode 100644 index 000000000..250afe73d --- /dev/null +++ b/tests/functionaltests/suites/harvesting/expected/get_Exception-Harvest-missing-source.xml @@ -0,0 +1,7 @@ + + + + + Missing source parameter + + diff --git a/tests/functionaltests/suites/harvesting/expected/get_Exception-Harvest-waf-bad-value.xml b/tests/functionaltests/suites/harvesting/expected/get_Exception-Harvest-waf-bad-value.xml new file mode 100644 index 000000000..4739bff30 --- /dev/null +++ b/tests/functionaltests/suites/harvesting/expected/get_Exception-Harvest-waf-bad-value.xml @@ -0,0 +1,7 @@ + + + + + Harvest failed: record parsing failed: unknown url type: badvalue + + diff --git a/tests/functionaltests/suites/harvesting/expected/get_Exception-Harvest-waf-no-records-found.xml b/tests/functionaltests/suites/harvesting/expected/get_Exception-Harvest-waf-no-records-found.xml new file mode 100644 index 000000000..177601c6b --- /dev/null +++ b/tests/functionaltests/suites/harvesting/expected/get_Exception-Harvest-waf-no-records-found.xml @@ -0,0 +1,11 @@ + + + + + + 0 + 0 + 0 + + + diff --git a/tests/functionaltests/suites/harvesting/expected/post_Clear-000-delete-all.xml b/tests/functionaltests/suites/harvesting/expected/post_Clear-000-delete-all.xml new file mode 100644 index 000000000..01ccdf629 --- /dev/null +++ b/tests/functionaltests/suites/harvesting/expected/post_Clear-000-delete-all.xml @@ -0,0 +1,9 @@ + + + + + 0 + 0 + 0 + + diff --git a/tests/functionaltests/suites/harvesting/expected/post_Exception-Havest-csw-404.xml b/tests/functionaltests/suites/harvesting/expected/post_Exception-Havest-csw-404.xml new file mode 100644 index 000000000..371aae9c0 --- /dev/null +++ b/tests/functionaltests/suites/harvesting/expected/post_Exception-Havest-csw-404.xml @@ -0,0 +1,7 @@ + + + + + Harvest failed: record parsing failed: HTTP error: HTTP Error 404: Not Found + + diff --git a/tests/functionaltests/suites/harvesting/expected/post_GetCapabilities.xml b/tests/functionaltests/suites/harvesting/expected/post_GetCapabilities.xml new file mode 100644 index 000000000..731b83f90 --- /dev/null +++ b/tests/functionaltests/suites/harvesting/expected/post_GetCapabilities.xml @@ -0,0 +1,368 @@ + + + + + pycsw Geospatial Catalogue + pycsw is an OGC CSW server implementation written in Python + + catalogue + discovery + theme + + CSW + 2.0.2 + 3.0.0 + None + None + + + pycsw + + + Kralidis, Tom + Senior Systems Scientist + + + +01-416-xxx-xxxx + +01-416-xxx-xxxx + + + TBA + Toronto + Ontario + M9C 3Z9 + Canada + tomkralidis@gmail.com + + + 0800h - 1600h EST + During hours of service. Off on weekends. + + pointOfContact + + + + + + + + + + + + Filter_Capabilities + OperationsMetadata + ServiceIdentification + ServiceProvider + + + + + + + + + + + application/json + application/xml + + + http://www.w3.org/2001/XMLSchema + http://www.w3.org/TR/xmlschema-1/ + http://www.w3.org/XML/Schema + + + csw:Record + gmd:MD_Metadata + + + + + + + + + + + DescribeRecord.outputFormat + DescribeRecord.schemaLanguage + DescribeRecord.typeName + GetCapabilities.sections + GetRecordById.ElementSetName + GetRecordById.outputFormat + GetRecordById.outputSchema + GetRecords.CONSTRAINTLANGUAGE + GetRecords.ElementSetName + GetRecords.outputFormat + GetRecords.outputSchema + GetRecords.resultType + GetRecords.typeNames + Harvest.ResourceType + Transaction.TransactionSchemas + + + + + + + + + + + CQL_TEXT + FILTER + + + brief + full + summary + + + application/json + application/xml + + + http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ + http://www.interlis.ch/INTERLIS2.3 + http://www.isotc211.org/2005/gmd + http://www.opengis.net/cat/csw/2.0.2 + http://www.opengis.net/cat/csw/csdgm + http://www.w3.org/2005/Atom + + + hits + results + validate + + + csw:Record + gmd:MD_Metadata + + + apiso:AccessConstraints + apiso:Classification + apiso:ConditionApplyingToAccessAndUse + apiso:Contributor + apiso:Creator + apiso:Degree + apiso:Lineage + apiso:OtherConstraints + apiso:Publisher + apiso:Relation + apiso:ResponsiblePartyRole + apiso:SpecificationDate + apiso:SpecificationDateType + apiso:SpecificationTitle + + + csw:AnyText + dc:contributor + dc:creator + dc:date + dc:format + dc:identifier + dc:language + dc:publisher + dc:relation + dc:rights + dc:source + dc:subject + dc:title + dc:type + dct:abstract + dct:modified + ows:BoundingBox + + + apiso:Abstract + apiso:AlternateTitle + apiso:AnyText + apiso:BoundingBox + apiso:CRS + apiso:CouplingType + apiso:CreationDate + apiso:Denominator + apiso:DistanceUOM + apiso:DistanceValue + apiso:Format + apiso:GeographicDescriptionCode + apiso:HasSecurityConstraints + apiso:Identifier + apiso:KeywordType + apiso:Language + apiso:Modified + apiso:OperatesOn + apiso:OperatesOnIdentifier + apiso:OperatesOnName + apiso:Operation + apiso:OrganisationName + apiso:ParentIdentifier + apiso:PublicationDate + apiso:ResourceLanguage + apiso:RevisionDate + apiso:ServiceType + apiso:ServiceTypeVersion + apiso:Subject + apiso:TempExtent_begin + apiso:TempExtent_end + apiso:Title + apiso:TopicCategory + apiso:Type + + + + + + + + + + + brief + full + summary + + + application/json + application/xml + + + http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ + http://www.interlis.ch/INTERLIS2.3 + http://www.isotc211.org/2005/gmd + http://www.opengis.net/cat/csw/2.0.2 + http://www.opengis.net/cat/csw/csdgm + http://www.w3.org/2005/Atom + + + + + + + + + + + + + + + + + http://www.isotc211.org/2005/gmi + http://www.opengis.net/cat/csw/2.0.2 + http://www.opengis.net/cat/csw/3.0 + http://www.opengis.net/sos/1.0 + http://www.opengis.net/sos/2.0 + http://www.opengis.net/wcs + http://www.opengis.net/wfs + http://www.opengis.net/wfs/2.0 + http://www.opengis.net/wms + http://www.opengis.net/wmts/1.0 + http://www.opengis.net/wps/1.0.0 + urn:geoss:waf + + + + + + + + + + http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ + http://www.interlis.ch/INTERLIS2.3 + http://www.isotc211.org/2005/gmd + http://www.isotc211.org/2005/gmi + http://www.isotc211.org/schemas/2005/gmd/ + http://www.opengis.net/cat/csw/2.0.2 + http://www.opengis.net/cat/csw/3.0 + http://www.opengis.net/cat/csw/csdgm + http://www.opengis.net/sos/1.0 + http://www.opengis.net/sos/2.0 + http://www.opengis.net/wcs + http://www.opengis.net/wfs + http://www.opengis.net/wfs/2.0 + http://www.opengis.net/wms + http://www.opengis.net/wmts/1.0 + http://www.opengis.net/wps/1.0.0 + http://www.w3.org/2005/Atom + urn:geoss:waf + + + + CSW + + + 2.0.2 + 3.0.0 + + + http://geo.data.gov/geoportal/csw/discovery + + + 10 + + + XML + SOAP + + + allowed + + + + + + gml:Point + gml:LineString + gml:Polygon + gml:Envelope + + + + + + + + + + + + + + + + + + + Between + EqualTo + GreaterThan + GreaterThanEqualTo + LessThan + LessThanEqualTo + Like + NotEqualTo + NullCheck + + + + + length + lower + ltrim + rtrim + trim + upper + + + + + + + + + + diff --git a/tests/functionaltests/suites/harvesting/expected/post_GetDomain-parameter.xml b/tests/functionaltests/suites/harvesting/expected/post_GetDomain-parameter.xml new file mode 100644 index 000000000..b47402ca2 --- /dev/null +++ b/tests/functionaltests/suites/harvesting/expected/post_GetDomain-parameter.xml @@ -0,0 +1,27 @@ + + + + + Harvest.ResourceType + + http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ + http://www.interlis.ch/INTERLIS2.3 + http://www.isotc211.org/2005/gmd + http://www.isotc211.org/2005/gmi + http://www.isotc211.org/schemas/2005/gmd/ + http://www.opengis.net/cat/csw/2.0.2 + http://www.opengis.net/cat/csw/3.0 + http://www.opengis.net/cat/csw/csdgm + http://www.opengis.net/sos/1.0 + http://www.opengis.net/sos/2.0 + http://www.opengis.net/wcs + http://www.opengis.net/wfs + http://www.opengis.net/wfs/2.0 + http://www.opengis.net/wms + http://www.opengis.net/wmts/1.0 + http://www.opengis.net/wps/1.0.0 + http://www.w3.org/2005/Atom + urn:geoss:waf + + + diff --git a/tests/functionaltests/suites/harvesting/expected/post_Harvest-csw-iso.xml b/tests/functionaltests/suites/harvesting/expected/post_Harvest-csw-iso.xml new file mode 100644 index 000000000..1aa0f2bfc --- /dev/null +++ b/tests/functionaltests/suites/harvesting/expected/post_Harvest-csw-iso.xml @@ -0,0 +1,149 @@ + + + + + + 34 + 0 + 0 + + + + PYCSW_IDENTIFIER + pycsw Geospatial Catalogue OGC services demo + + + PYCSW_IDENTIFIER + 1 Million Scale WMS Layers from the National Atlas of the United States + + + PYCSW_IDENTIFIER-ports1m + 1 Million Scale - Ports + + + PYCSW_IDENTIFIER-national1m + 1 Million Scale - National Boundary + + + PYCSW_IDENTIFIER-elevation + 1 Million Scale - Elevation 100 Meter Resolution + + + PYCSW_IDENTIFIER-impervious + 1 Million Scale - Impervious Surface 100 Meter Resolution + + + PYCSW_IDENTIFIER-coast1m + 1 Million Scale - Coastlines + + + PYCSW_IDENTIFIER-cdl + 1 Million Scale - 113th Congressional Districts + + + PYCSW_IDENTIFIER-states1m + 1 Million Scale - States + + + PYCSW_IDENTIFIER-elsli0100g + 1 Million Scale - Color-Sliced Elevation 100 Meter Resolution + + + PYCSW_IDENTIFIER-landcov100m + 1 Million Scale - Land Cover 100 Meter Resolution + + + PYCSW_IDENTIFIER-cdp + 1 Million Scale - 113th Congressional Districts by Party + + + PYCSW_IDENTIFIER-amtrak1m + 1 Million Scale - Railroad and Bus Passenger Stations + + + PYCSW_IDENTIFIER-airports1m + 1 Million Scale - Airports + + + PYCSW_IDENTIFIER-one_million + 1 Million Scale WMS Layers from the National Atlas of the United States + + + PYCSW_IDENTIFIER-satvi0100g + 1 Million Scale - Satellite View 100 Meter Resolution + + + PYCSW_IDENTIFIER-srcoi0100g + 1 Million Scale - Color Shaded Relief 100 Meter Resolution + + + PYCSW_IDENTIFIER-srgri0100g + 1 Million Scale - Gray Shaded Relief 100 Meter Resolution + + + PYCSW_IDENTIFIER-treecanopy + 1 Million Scale - Tree Canopy 100 Meter Resolution + + + PYCSW_IDENTIFIER-svsri0100g + 1 Million Scale - Satellite View with Shaded Relief 100 Meter Resolution + + + PYCSW_IDENTIFIER + Wisconsin Lake Clarity + + + PYCSW_IDENTIFIER-Highways + Highways + + + PYCSW_IDENTIFIER-LakesTSI + LakesTSI + + + PYCSW_IDENTIFIER-LakeClarity + Wisconsin Lake Clarity + + + PYCSW_IDENTIFIER-LakesTSI_0305 + LakesTSI_0305 + + + PYCSW_IDENTIFIER-Relief + Relief + + + PYCSW_IDENTIFIER-LakeNames_0305 + LakeNames_0305 + + + PYCSW_IDENTIFIER-Roads + Roads + + + PYCSW_IDENTIFIER-LakeNames + LakeNames + + + PYCSW_IDENTIFIER-Counties + Counties + + + PYCSW_IDENTIFIER + View & download service for EU-DEM data provided by EOX + + + PYCSW_IDENTIFIER-EU-DEM + EU-DEM + + + PYCSW_IDENTIFIER-MS + View & download service for EU-DEM data provided by EOX + + + PYCSW_IDENTIFIER-eudem_color + EU-DEM color shaded + + + + diff --git a/tests/functionaltests/suites/harvesting/expected/post_Harvest-csw-run1.xml b/tests/functionaltests/suites/harvesting/expected/post_Harvest-csw-run1.xml new file mode 100644 index 000000000..5786b5423 --- /dev/null +++ b/tests/functionaltests/suites/harvesting/expected/post_Harvest-csw-run1.xml @@ -0,0 +1,65 @@ + + + + + + 13 + 0 + 0 + + + + PYCSW_IDENTIFIER + pycsw OGC CITE demo and Reference Implementation + + + PYCSW_IDENTIFIER + Lorem ipsum + + + PYCSW_IDENTIFIER + + + + PYCSW_IDENTIFIER + Maecenas enim + + + PYCSW_IDENTIFIER + Ut facilisis justo ut lacus + + + PYCSW_IDENTIFIER + Aliquam fermentum purus quis arcu + + + PYCSW_IDENTIFIER + Vestibulum massa purus + + + PYCSW_IDENTIFIER + + + + PYCSW_IDENTIFIER + Mauris sed neque + + + PYCSW_IDENTIFIER + Ñunç elementum + + + PYCSW_IDENTIFIER + Lorem ipsum dolor sit amet + + + PYCSW_IDENTIFIER + + + + PYCSW_IDENTIFIER + Fuscé vitae ligulä + + + + diff --git a/tests/functionaltests/suites/harvesting/expected/post_Harvest-csw-run2.xml b/tests/functionaltests/suites/harvesting/expected/post_Harvest-csw-run2.xml new file mode 100644 index 000000000..4362f5264 --- /dev/null +++ b/tests/functionaltests/suites/harvesting/expected/post_Harvest-csw-run2.xml @@ -0,0 +1,11 @@ + + + + + + 13 + 13 + 0 + + + diff --git a/tests/functionaltests/suites/harvesting/expected/post_Harvest-dc.xml b/tests/functionaltests/suites/harvesting/expected/post_Harvest-dc.xml new file mode 100644 index 000000000..58d6d5044 --- /dev/null +++ b/tests/functionaltests/suites/harvesting/expected/post_Harvest-dc.xml @@ -0,0 +1,17 @@ + + + + + + 1 + 0 + 0 + + + + PYCSW_IDENTIFIER + Image2000 Product 1 (at1) Multispectral + + + + diff --git a/tests/functionaltests/suites/harvesting/expected/post_Harvest-fgdc.xml b/tests/functionaltests/suites/harvesting/expected/post_Harvest-fgdc.xml new file mode 100644 index 000000000..c12247fcb --- /dev/null +++ b/tests/functionaltests/suites/harvesting/expected/post_Harvest-fgdc.xml @@ -0,0 +1,17 @@ + + + + + + 1 + 0 + 0 + + + + PYCSW_IDENTIFIER + CPC Merged Analysis of Precipitation Standard [POL 88.75 -88.75 180 -180] + + + + diff --git a/tests/functionaltests/suites/harvesting/expected/post_Harvest-iso.xml b/tests/functionaltests/suites/harvesting/expected/post_Harvest-iso.xml new file mode 100644 index 000000000..98b9770f4 --- /dev/null +++ b/tests/functionaltests/suites/harvesting/expected/post_Harvest-iso.xml @@ -0,0 +1,17 @@ + + + + + + 1 + 0 + 0 + + + + PYCSW_IDENTIFIER + Wasserkörper Linien + + + + diff --git a/tests/functionaltests/suites/harvesting/expected/post_Harvest-rdf.xml b/tests/functionaltests/suites/harvesting/expected/post_Harvest-rdf.xml new file mode 100644 index 000000000..2e926c2c4 --- /dev/null +++ b/tests/functionaltests/suites/harvesting/expected/post_Harvest-rdf.xml @@ -0,0 +1,17 @@ + + + + + + 1 + 0 + 0 + + + + PYCSW_IDENTIFIER + Website_gdb + + + + diff --git a/tests/functionaltests/suites/harvesting/expected/post_Harvest-sos100.xml b/tests/functionaltests/suites/harvesting/expected/post_Harvest-sos100.xml new file mode 100644 index 000000000..25e56a48b --- /dev/null +++ b/tests/functionaltests/suites/harvesting/expected/post_Harvest-sos100.xml @@ -0,0 +1,133 @@ + + + + + + 30 + 0 + 0 + + + + PYCSW_IDENTIFIER + Northeastern Regional Association of Coastal Ocean Observing Systems + + + PYCSW_IDENTIFIER-CML + Mooring CML data from the COOA (UNH-COOA) located UNH Coastal Marine Lab Field Station + + + PYCSW_IDENTIFIER-F01 + Mooring F01 data from the Northeastern Regional Association of Coastal Ocean Observing Systems (Univ. of Maine) located Penobscot Bay + + + PYCSW_IDENTIFIER-F02 + Mooring F02 data from the Northeastern Regional Association of Coastal Ocean Observing Systems (Univ. of Maine) located DeepCwind Castine Test Site + + + PYCSW_IDENTIFIER-SMB-MO-04 + Mooring SMB-MO-04 data from the Northeastern Regional Association of Coastal Ocean Observing Systems (SmartBay) located Pilot Boarding Station, Red Island Shoal, Placentia Bay, NL, CA + + + PYCSW_IDENTIFIER-LDLC3 + Mooring LDLC3 data from the LISICOS (LISICOS) located New London Ledge Light + + + PYCSW_IDENTIFIER-CDIP154 + Mooring CDIP154 data from the COOA (UNH-COOA-CDIP) located Block Island, RI + + + PYCSW_IDENTIFIER-CDIP176 + Mooring CDIP176 data from the COOA (UNH-COOA-CDIP) located Halifax Harbor, CA + + + PYCSW_IDENTIFIER-ARTG + Mooring ARTG data from the LISICOS (LISICOS) located North of Smithtown Bay + + + PYCSW_IDENTIFIER-M01 + Mooring M01 data from the Northeastern Regional Association of Coastal Ocean Observing Systems (Univ. of Maine) located Jordan Basin + + + PYCSW_IDENTIFIER-N01 + Mooring N01 data from the Northeastern Regional Association of Coastal Ocean Observing Systems (Univ. of Maine) located Northeast Channel + + + PYCSW_IDENTIFIER-44039 + Mooring 44039 data from the LISICOS (LISICOS) located Central Long Island Sound + + + PYCSW_IDENTIFIER-SMB-MO-01 + Mooring SMB-MO-01 data from the Northeastern Regional Association of Coastal Ocean Observing Systems (SmartBay) located Mouth of Placentia Bay, NL, Canada + + + PYCSW_IDENTIFIER-SMB-MO-05 + Mooring SMB-MO-05 data from the Northeastern Regional Association of Coastal Ocean Observing Systems (SmartBay) located Come By Chance Point, Placentia Bay, NL, CA + + + PYCSW_IDENTIFIER-D02 + Mooring D02 data from the Northeastern Regional Association of Coastal Ocean Observing Systems (Univ. of Maine) located Lower Harpswell Sound + + + PYCSW_IDENTIFIER-E02 + Mooring E02 data from the Northeastern Regional Association of Coastal Ocean Observing Systems (Univ. of Maine) located DeepCwind Test Site + + + PYCSW_IDENTIFIER-E01 + Mooring E01 data from the Northeastern Regional Association of Coastal Ocean Observing Systems (Univ. of Maine) located Central Maine Shelf + + + PYCSW_IDENTIFIER-B01 + Mooring B01 data from the Northeastern Regional Association of Coastal Ocean Observing Systems (Univ. of Maine) located Western Maine Shelf + + + PYCSW_IDENTIFIER-EXRX + Mooring EXRX data from the LISICOS (LISICOS) located Execution Rocks Long Island Sound + + + PYCSW_IDENTIFIER-44098 + Mooring 44098 data from the COOA (UNH-COOA) located Jeffrey's Ledge + + + PYCSW_IDENTIFIER-WLIS + Mooring WLIS data from the LISICOS (LISICOS) located Western Long Island Sound + + + PYCSW_IDENTIFIER-CO2 + Mooring CO2 data from the COOA (UNH-COOA) located Appledore Island + + + PYCSW_IDENTIFIER-CDIP221 + Mooring CDIP221 data from the COOA (UNH-COOA-CDIP) located Cape Cod Bay, MA + + + PYCSW_IDENTIFIER-ALL_PLATFORMS + Mooring data for all buoys from the Northeastern Regional Association of Coastal Ocean Observing Systems (NERACOOS) located in the NERACOOS Region + + + PYCSW_IDENTIFIER-A01 + Mooring A01 data from the Northeastern Regional Association of Coastal Ocean Observing Systems (Univ. of Maine) located Massachusetts Bay + + + PYCSW_IDENTIFIER-MDS02 + Mooring MDS02 data from the URI (Univ. of Rhode Is.) located SAMP MD S + + + PYCSW_IDENTIFIER-GREAT_BAY + Mooring GREAT_BAY data from the COOA (UNH-COOA) located Great Bay, NH + + + PYCSW_IDENTIFIER-I01 + Mooring I01 data from the Northeastern Regional Association of Coastal Ocean Observing Systems (Univ. of Maine) located Eastern Maine Shelf + + + PYCSW_IDENTIFIER-CDIP207 + Mooring CDIP207 data from the COOA (UNH-COOA-CDIP) located Fire Island, NY + + + PYCSW_IDENTIFIER-44060 + Mooring 44060 data from the LISICOS (LISICOS) located Eastern Long Island Sound + + + + diff --git a/tests/functionaltests/suites/harvesting/expected/post_Harvest-sos200.xml b/tests/functionaltests/suites/harvesting/expected/post_Harvest-sos200.xml new file mode 100644 index 000000000..b41170b20 --- /dev/null +++ b/tests/functionaltests/suites/harvesting/expected/post_Harvest-sos200.xml @@ -0,0 +1,21 @@ + + + + + + 2 + 0 + 0 + + + + PYCSW_IDENTIFIER + GIN SOS + + + PYCSW_IDENTIFIER-GW_LEVEL + + + + + diff --git a/tests/functionaltests/suites/harvesting/expected/post_Harvest-waf.xml b/tests/functionaltests/suites/harvesting/expected/post_Harvest-waf.xml new file mode 100644 index 000000000..75b60273f --- /dev/null +++ b/tests/functionaltests/suites/harvesting/expected/post_Harvest-waf.xml @@ -0,0 +1,25 @@ + + + + + + 3 + 0 + 0 + + + + PYCSW_IDENTIFIER + CPC Merged Analysis of Precipitation Standard [POL 88.75 -88.75 180 -180] + + + PYCSW_IDENTIFIER + Image2000 Product 1 (at1) Multispectral + + + PYCSW_IDENTIFIER + NOAA_RNC + + + + diff --git a/tests/functionaltests/suites/harvesting/expected/post_Harvest-wcs.xml b/tests/functionaltests/suites/harvesting/expected/post_Harvest-wcs.xml new file mode 100644 index 000000000..a5dcbed6f --- /dev/null +++ b/tests/functionaltests/suites/harvesting/expected/post_Harvest-wcs.xml @@ -0,0 +1,33 @@ + + + + + + 5 + 0 + 0 + + + + PYCSW_IDENTIFIER + WCS Demo Server for MapServer + + + PYCSW_IDENTIFIER-ndvi + North Central US MODIS-based NDVI Images for 2002 + + + PYCSW_IDENTIFIER-modis-001 + North Central US MODIS Images for 2002-001 + + + PYCSW_IDENTIFIER-fpar + North Central US MODIS-based FPAR Images for 2002 + + + PYCSW_IDENTIFIER-modis + North Central US MODIS Images for 2002 + + + + diff --git a/tests/functionaltests/suites/harvesting/expected/post_Harvest-wfs110.xml b/tests/functionaltests/suites/harvesting/expected/post_Harvest-wfs110.xml new file mode 100644 index 000000000..96ec6feb3 --- /dev/null +++ b/tests/functionaltests/suites/harvesting/expected/post_Harvest-wfs110.xml @@ -0,0 +1,37 @@ + + + + + + 6 + 0 + 0 + + + + PYCSW_IDENTIFIER + GeoServer Web Feature Service + + + PYCSW_IDENTIFIER-geoss_water_sba:Reservoir + Reservoir + + + PYCSW_IDENTIFIER-geoss_water_sba:glwd_1 + glwd_1 + + + PYCSW_IDENTIFIER-geoss_water_sba:Dams + Dams + + + PYCSW_IDENTIFIER-geoss_water_sba:glwd_2 + glwd_2 + + + PYCSW_IDENTIFIER-geoss_water_sba:Lakes + Lakes + + + + diff --git a/tests/functionaltests/suites/harvesting/expected/post_Harvest-wfs200.xml b/tests/functionaltests/suites/harvesting/expected/post_Harvest-wfs200.xml new file mode 100644 index 000000000..d73153e77 --- /dev/null +++ b/tests/functionaltests/suites/harvesting/expected/post_Harvest-wfs200.xml @@ -0,0 +1,57 @@ + + + + + + 11 + 0 + 0 + + + + PYCSW_IDENTIFIER + CERA_CERA_TechClasses_WGS84 + + + PYCSW_IDENTIFIER-CERA_CERA_TechClasses_WGS84:MBIE_Technical_Classes_WGS84_2012-08-16 + MBIE_Technical_Classes_WGS84_2012-08-16 + + + PYCSW_IDENTIFIER-CERA_CERA_TechClasses_WGS84:MBIE_Technical_Classes_WGS84_2012-05-18 + MBIE_Technical_Classes_WGS84_2012-05-18 + + + PYCSW_IDENTIFIER-CERA_CERA_TechClasses_WGS84:MBIE_Technical_Classes_WGS84_2013-12-04 + MBIE_Technical_Classes_WGS84_2013-12-04 + + + PYCSW_IDENTIFIER-CERA_CERA_TechClasses_WGS84:MBIE_Technical_Classes_WGS84_2011-10-28 + MBIE_Technical_Classes_WGS84_2011-10-28 + + + PYCSW_IDENTIFIER-CERA_CERA_TechClasses_WGS84:MBIE_Technical_Classes_WGS84_2012-02-10 + MBIE_Technical_Classes_WGS84_2012-02-10 + + + PYCSW_IDENTIFIER-CERA_CERA_TechClasses_WGS84:MBIE_Technical_Classes_WGS84_2012-09-14 + MBIE_Technical_Classes_WGS84_2012-09-14 + + + PYCSW_IDENTIFIER-CERA_CERA_TechClasses_WGS84:MBIE_Technical_Classes_WGS84_2012-03-23 + MBIE_Technical_Classes_WGS84_2012-03-23 + + + PYCSW_IDENTIFIER-CERA_CERA_TechClasses_WGS84:MBIE_Technical_Classes_WGS84_2011-11-17 + MBIE_Technical_Classes_WGS84_2011-11-17 + + + PYCSW_IDENTIFIER-CERA_CERA_TechClasses_WGS84:MBIE_Technical_Classes_WGS84_2012-08-24 + MBIE_Technical_Classes_WGS84_2012-08-24 + + + PYCSW_IDENTIFIER-CERA_CERA_TechClasses_WGS84:MBIE_Technical_Classes_WGS84_2012-10-31 + MBIE_Technical_Classes_WGS84_2012-10-31 + + + + diff --git a/tests/functionaltests/suites/harvesting/expected/post_Harvest-wms-run1.xml b/tests/functionaltests/suites/harvesting/expected/post_Harvest-wms-run1.xml new file mode 100644 index 000000000..d75519d7d --- /dev/null +++ b/tests/functionaltests/suites/harvesting/expected/post_Harvest-wms-run1.xml @@ -0,0 +1,29 @@ + + + + + + 4 + 0 + 0 + + + + PYCSW_IDENTIFIER + IEM WMS Service + + + PYCSW_IDENTIFIER-nexrad_base_reflect + IEM WMS Service + + + PYCSW_IDENTIFIER-time_idx + NEXRAD BASE REFLECT + + + PYCSW_IDENTIFIER-nexrad-n0r-wmst + NEXRAD BASE REFLECT + + + + diff --git a/tests/functionaltests/suites/harvesting/expected/post_Harvest-wms-run2.xml b/tests/functionaltests/suites/harvesting/expected/post_Harvest-wms-run2.xml new file mode 100644 index 000000000..19e8d8623 --- /dev/null +++ b/tests/functionaltests/suites/harvesting/expected/post_Harvest-wms-run2.xml @@ -0,0 +1,11 @@ + + + + + + 4 + 4 + 0 + + + diff --git a/tests/functionaltests/suites/harvesting/expected/post_Harvest-wmts.xml b/tests/functionaltests/suites/harvesting/expected/post_Harvest-wmts.xml new file mode 100644 index 000000000..372bad712 --- /dev/null +++ b/tests/functionaltests/suites/harvesting/expected/post_Harvest-wmts.xml @@ -0,0 +1,45 @@ + + + + + + 8 + 0 + 0 + + + + PYCSW_IDENTIFIER + Web Map Tile Service + + + PYCSW_IDENTIFIER-flwbplmzk + Flächenwidmungs- und Bebauungsplan + + + PYCSW_IDENTIFIER-lb + Luftbild + + + PYCSW_IDENTIFIER-lb2014 + Luftbild 2014 + + + PYCSW_IDENTIFIER-beschriftung + Beschriftung + + + PYCSW_IDENTIFIER-lb1938 + Luftbild 1938 + + + PYCSW_IDENTIFIER-fmzk + MZK Flächen + + + PYCSW_IDENTIFIER-lb1956 + Luftbild 1956 + + + + diff --git a/tests/functionaltests/suites/harvesting/expected/post_Harvest-wps.xml b/tests/functionaltests/suites/harvesting/expected/post_Harvest-wps.xml new file mode 100644 index 000000000..12381ec1e --- /dev/null +++ b/tests/functionaltests/suites/harvesting/expected/post_Harvest-wps.xml @@ -0,0 +1,57 @@ + + + + + + 11 + 0 + 0 + + + + PYCSW_IDENTIFIER + Geo Data Portal WPS Implementation + + + PYCSW_IDENTIFIER-gov.usgs.cida.gdp.wps.algorithm.filemanagement.CreateNewShapefileDataStore + gov.usgs.cida.gdp.wps.algorithm.filemanagement.CreateNewShapefileDataStore + + + PYCSW_IDENTIFIER-gov.usgs.cida.gdp.wps.algorithm.discovery.GetGridTimeRange + Get Grid Time Range + + + PYCSW_IDENTIFIER-gov.usgs.cida.gdp.wps.algorithm.filemanagement.ReceiveFiles + gov.usgs.cida.gdp.wps.algorithm.filemanagement.ReceiveFiles + + + PYCSW_IDENTIFIER-gov.usgs.cida.gdp.wps.algorithm.discovery.GetWcsCoverages + gov.usgs.cida.gdp.wps.algorithm.discovery.GetWcsCoverages + + + PYCSW_IDENTIFIER-gov.usgs.cida.gdp.wps.algorithm.filemanagement.GetWatersGeom + gov.usgs.cida.gdp.wps.algorithm.filemanagement.GetWatersGeom + + + PYCSW_IDENTIFIER-gov.usgs.cida.gdp.wps.algorithm.communication.GeoserverManagementAlgorithm + gov.usgs.cida.gdp.wps.algorithm.communication.GeoserverManagementAlgorithm + + + PYCSW_IDENTIFIER-gov.usgs.cida.gdp.wps.algorithm.communication.EmailWhenFinishedAlgorithm + gov.usgs.cida.gdp.wps.algorithm.communication.EmailWhenFinishedAlgorithm + + + PYCSW_IDENTIFIER-gov.usgs.cida.gdp.wps.algorithm.discovery.InterrogateDataset + Interogate Dataset URI + + + PYCSW_IDENTIFIER-gov.usgs.cida.gdp.wps.algorithm.discovery.ListOpendapGrids + List OpendDAP Grids + + + PYCSW_IDENTIFIER-gov.usgs.cida.gdp.wps.algorithm.discovery.CalculateWCSCoverageInfo + gov.usgs.cida.gdp.wps.algorithm.discovery.CalculateWCSCoverageInfo + + + + diff --git a/tests/functionaltests/suites/harvesting/expected/post_Harvest-zzz-post-GetRecords-filter-ows-dc.xml b/tests/functionaltests/suites/harvesting/expected/post_Harvest-zzz-post-GetRecords-filter-ows-dc.xml new file mode 100644 index 000000000..2b2887b5d --- /dev/null +++ b/tests/functionaltests/suites/harvesting/expected/post_Harvest-zzz-post-GetRecords-filter-ows-dc.xml @@ -0,0 +1,125 @@ + + + + + + + PYCSW_IDENTIFIER + pycsw Geospatial Catalogue OGC services demo + service + catalogue + discovery + metadata + services + CSW + http://demo.pycsw.org/services/csw + pycsw is an OGC CSW server implementation written in Python + Lastname, Firstname + Organization Name + Lastname, Firstname + http://demo.pycsw.org/services/csw + None + + + PYCSW_IDENTIFIER + pycsw OGC CITE demo and Reference Implementation + service + ogc + cite + compliance + interoperability + reference implementation + CSW + http://demo.pycsw.org/cite/csw + pycsw is an OGC CSW server implementation written in Python. pycsw fully implements the OpenGIS Catalogue Service Implementation Specification (Catalogue Service for the Web). Initial development started in 2010 (more formally announced in 2011). The project is certified OGC Compliant, and is an OGC Reference Implementation. Since 2015, pycsw is an official OSGeo Project. pycsw allows for the publishing and discovery of [[geospatial]] metadata via numerous APIs (CSW 2/CSW 3, OpenSearch, OAI-PMH, SRU). Existing repositories of geospatial metadata can also be exposed, providing a standards-based metadata and catalogue component of spatial data infrastructures. pycsw is Open Source, released under an MIT license, and runs on all major platforms (Windows, Linux, Mac OS X) + Lastname, Firstname + Organization Name + Lastname, Firstname + http://demo.pycsw.org/cite/csw + None + + + PYCSW_IDENTIFIER + Northeastern Regional Association of Coastal Ocean Observing Systems + service + NERACOOS + SOS + OCEANOGRAPHY + Ocean Observations + Gulf of Maine + Long Island Sound + Narragansett Bay + Cape Cod + Boston Harbor + Buzzards Bay + Weather + Ocean Currents + Water Temperature + Salinity + Winds + Waves + Ocean Color + GoMOOS + LISICOS + Univ. of New Hampshire + MVCO + Air Temperature + OGC:SOS + http://www.neracoos.org/cgi-bin/sos/V1.0/oostethys_sos.cgi + NERACOOS supports data collected from buoys in the Gulf of Maine and Long Island Sound. The six Gulf of Maine buoys carry a comprehensive sensor suite that includes the full complement of meteorological sensors carried by the standard NDBC buoys, and in addition commonly include atmospheric visibility, surface currents, water-column current profiles, temperature and conductivity, and fluorescence (for chlorophyll a estimation) and backscatter at multiple depths. In Long Island Sound, three buoys that measure wind speed and direction, circulation, salinity, temperature and dissolved oxygen. Two buoys will be located in western LIS (WLIS and EXRK stations) and the third will be in the Central Sound (CLIS). The buoys will be equipped with three YSI-SeaBird sensors to measure conductivity, temperature, pressure and dissolved oxygen concentration near the surface, bottom and mid-depth. A buoy in Great Bay measures physical, optical, meteorological and wave data. + Eric Bridger + NERACOOS + Eric Bridger + http://www.neracoos.org/cgi-bin/sos/V1.0/oostethys_sos.cgi + NONE + + 40.58 -73.73 + 47.79 -54.05 + + + + PYCSW_IDENTIFIER + GIN SOS + service + groundwater level + monitoring + timeseries + Alberta + Ontario + Nova Scotia + OGC:SOS + http://ngwd-bdnes.cits.nrcan.gc.ca/GinService/sos/gw + Historical groundwater level monitoring stations from Alberta, Ontario and Nova Scotia. This SOS web service delivers the data using OGC's WaterML 2.0. The SOS service federates data from various provincial sources and publishes them as a single service. Many monitoring stations also have water well characteristics available through the GIN WFS web service. + Boyan Brodaric + Geological Survey of Canada, Earth Sciences Sector, Natural Resources Canada, Government of Canada + Boyan Brodaric + http://ngwd-bdnes.cits.nrcan.gc.ca/GinService/sos/gw + NONE + + 41.0 -120.0 + 60.0 -60.0 + + + + PYCSW_IDENTIFIER + WCS Demo Server for MapServer + service + WCS + MODIS + NDVI + OGC:WCS + http://demo.mapserver.org/cgi-bin/wcs + Steve Lime + Minnesota DNR + Steve Lime + http://demo.mapserver.org/cgi-bin/wcs + + NONE + + + 41.03 -97.71 + 49.67 -80.68 + + + + diff --git a/tests/functionaltests/suites/harvesting/expected/post_Harvest-zzz-post-GetRecords-filter-sos-abstract-dc.xml b/tests/functionaltests/suites/harvesting/expected/post_Harvest-zzz-post-GetRecords-filter-sos-abstract-dc.xml new file mode 100644 index 000000000..f5af5079a --- /dev/null +++ b/tests/functionaltests/suites/harvesting/expected/post_Harvest-zzz-post-GetRecords-filter-sos-abstract-dc.xml @@ -0,0 +1,30 @@ + + + + + + + PYCSW_IDENTIFIER + GIN SOS + service + groundwater level + monitoring + timeseries + Alberta + Ontario + Nova Scotia + OGC:SOS + http://ngwd-bdnes.cits.nrcan.gc.ca/GinService/sos/gw + Historical groundwater level monitoring stations from Alberta, Ontario and Nova Scotia. This SOS web service delivers the data using OGC's WaterML 2.0. The SOS service federates data from various provincial sources and publishes them as a single service. Many monitoring stations also have water well characteristics available through the GIN WFS web service. + Boyan Brodaric + Geological Survey of Canada, Earth Sciences Sector, Natural Resources Canada, Government of Canada + Boyan Brodaric + http://ngwd-bdnes.cits.nrcan.gc.ca/GinService/sos/gw + NONE + + 41.0 -120.0 + 60.0 -60.0 + + + + diff --git a/tests/functionaltests/suites/harvesting/expected/post_Harvest-zzz-post-GetRecords-filter-sos-dc.xml b/tests/functionaltests/suites/harvesting/expected/post_Harvest-zzz-post-GetRecords-filter-sos-dc.xml new file mode 100644 index 000000000..8523426f5 --- /dev/null +++ b/tests/functionaltests/suites/harvesting/expected/post_Harvest-zzz-post-GetRecords-filter-sos-dc.xml @@ -0,0 +1,69 @@ + + + + + + + PYCSW_IDENTIFIER + Northeastern Regional Association of Coastal Ocean Observing Systems + service + NERACOOS + SOS + OCEANOGRAPHY + Ocean Observations + Gulf of Maine + Long Island Sound + Narragansett Bay + Cape Cod + Boston Harbor + Buzzards Bay + Weather + Ocean Currents + Water Temperature + Salinity + Winds + Waves + Ocean Color + GoMOOS + LISICOS + Univ. of New Hampshire + MVCO + Air Temperature + OGC:SOS + http://www.neracoos.org/cgi-bin/sos/V1.0/oostethys_sos.cgi + NERACOOS supports data collected from buoys in the Gulf of Maine and Long Island Sound. The six Gulf of Maine buoys carry a comprehensive sensor suite that includes the full complement of meteorological sensors carried by the standard NDBC buoys, and in addition commonly include atmospheric visibility, surface currents, water-column current profiles, temperature and conductivity, and fluorescence (for chlorophyll a estimation) and backscatter at multiple depths. In Long Island Sound, three buoys that measure wind speed and direction, circulation, salinity, temperature and dissolved oxygen. Two buoys will be located in western LIS (WLIS and EXRK stations) and the third will be in the Central Sound (CLIS). The buoys will be equipped with three YSI-SeaBird sensors to measure conductivity, temperature, pressure and dissolved oxygen concentration near the surface, bottom and mid-depth. A buoy in Great Bay measures physical, optical, meteorological and wave data. + Eric Bridger + NERACOOS + Eric Bridger + http://www.neracoos.org/cgi-bin/sos/V1.0/oostethys_sos.cgi + NONE + + 40.58 -73.73 + 47.79 -54.05 + + + + PYCSW_IDENTIFIER + GIN SOS + service + groundwater level + monitoring + timeseries + Alberta + Ontario + Nova Scotia + OGC:SOS + http://ngwd-bdnes.cits.nrcan.gc.ca/GinService/sos/gw + Historical groundwater level monitoring stations from Alberta, Ontario and Nova Scotia. This SOS web service delivers the data using OGC's WaterML 2.0. The SOS service federates data from various provincial sources and publishes them as a single service. Many monitoring stations also have water well characteristics available through the GIN WFS web service. + Boyan Brodaric + Geological Survey of Canada, Earth Sciences Sector, Natural Resources Canada, Government of Canada + Boyan Brodaric + http://ngwd-bdnes.cits.nrcan.gc.ca/GinService/sos/gw + NONE + + 41.0 -120.0 + 60.0 -60.0 + + + + diff --git a/tests/functionaltests/suites/harvesting/expected/post_Harvest-zzz-post-GetRecords-filter-sos-iso.xml b/tests/functionaltests/suites/harvesting/expected/post_Harvest-zzz-post-GetRecords-filter-sos-iso.xml new file mode 100644 index 000000000..71064f191 --- /dev/null +++ b/tests/functionaltests/suites/harvesting/expected/post_Harvest-zzz-post-GetRecords-filter-sos-iso.xml @@ -0,0 +1,955 @@ + + + + + + + + PYCSW_IDENTIFIER + + + + + + service + + + + + Eric Bridger + + + NERACOOS + + + DMAC Coordinator + + + + + + + 207 228-1662 + + + + + + + + + + 350 Commercial St. + + + Portland + + + ME + + + 04101 + + + US + + + ebridger@gmri.org + + + + + + http://www.neracoos.org/ + + + + + + pointOfContact + + + + + + + + ISO19119 + + + 2005/PDAM 1 + + + + + + + Northeastern Regional Association of Coastal Ocean Observing Systems + + + + + NERACOOS supports data collected from buoys in the Gulf of Maine and Long Island Sound. The six Gulf of Maine buoys carry a comprehensive sensor suite that includes the full complement of meteorological sensors carried by the standard NDBC buoys, and in addition commonly include atmospheric visibility, surface currents, water-column current profiles, temperature and conductivity, and fluorescence (for chlorophyll a estimation) and backscatter at multiple depths. In Long Island Sound, three buoys that measure wind speed and direction, circulation, salinity, temperature and dissolved oxygen. Two buoys will be located in western LIS (WLIS and EXRK stations) and the third will be in the Central Sound (CLIS). The buoys will be equipped with three YSI-SeaBird sensors to measure conductivity, temperature, pressure and dissolved oxygen concentration near the surface, bottom and mid-depth. A buoy in Great Bay measures physical, optical, meteorological and wave data. + + + + + NERACOOS + + + SOS + + + OCEANOGRAPHY + + + Ocean Observations + + + Gulf of Maine + + + Long Island Sound + + + Narragansett Bay + + + Cape Cod + + + Boston Harbor + + + Buzzards Bay + + + Weather + + + Ocean Currents + + + Water Temperature + + + Salinity + + + Winds + + + Waves + + + Ocean Color + + + GoMOOS + + + LISICOS + + + Univ. of New Hampshire + + + MVCO + + + Air Temperature + + + + + + + + OGC:SOS + + + 1.0.0 + + + + + NERACOOS + + + SOS + + + OCEANOGRAPHY + + + Ocean Observations + + + Gulf of Maine + + + Long Island Sound + + + Narragansett Bay + + + Cape Cod + + + Boston Harbor + + + Buzzards Bay + + + Weather + + + Ocean Currents + + + Water Temperature + + + Salinity + + + Winds + + + Waves + + + Ocean Color + + + GoMOOS + + + LISICOS + + + Univ. of New Hampshire + + + MVCO + + + Air Temperature + + + + + + + + + -73.73 + + + -54.05 + + + 40.58 + + + 47.79 + + + + + + + tight + + + + + GetObservation + + + CML + + + + + + + GetObservation + + + F01 + + + + + + + GetObservation + + + F02 + + + + + + + GetObservation + + + SMB-MO-04 + + + + + + + GetObservation + + + LDLC3 + + + + + + + GetObservation + + + CDIP154 + + + + + + + GetObservation + + + CDIP176 + + + + + + + GetObservation + + + ARTG + + + + + + + GetObservation + + + M01 + + + + + + + GetObservation + + + N01 + + + + + + + GetObservation + + + 44039 + + + + + + + GetObservation + + + SMB-MO-01 + + + + + + + GetObservation + + + SMB-MO-05 + + + + + + + GetObservation + + + D02 + + + + + + + GetObservation + + + E02 + + + + + + + GetObservation + + + E01 + + + + + + + GetObservation + + + B01 + + + + + + + GetObservation + + + EXRX + + + + + + + GetObservation + + + 44098 + + + + + + + GetObservation + + + WLIS + + + + + + + GetObservation + + + CO2 + + + + + + + GetObservation + + + CDIP221 + + + + + + + GetObservation + + + ALL_PLATFORMS + + + + + + + GetObservation + + + A01 + + + + + + + GetObservation + + + MDS02 + + + + + + + GetObservation + + + GREAT_BAY + + + + + + + GetObservation + + + I01 + + + + + + + GetObservation + + + CDIP207 + + + + + + + GetObservation + + + 44060 + + + + + + + GetCapabilities + + + HTTPGet + + + HTTPPost + + + + + http://www.neracoos.org/cgi-bin/sos/V1.0/oostethys_sos.cgi + + + + + + + + + GetObservation + + + HTTPGet + + + HTTPPost + + + + + http://www.neracoos.org/cgi-bin/sos/V1.0/oostethys_sos.cgi + + + + + + + + + DescribeSensor + + + HTTPGet + + + HTTPPost + + + + + http://www.neracoos.org/cgi-bin/sos/V1.0/oostethys_sos.cgi + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + http://www.neracoos.org/cgi-bin/sos/V1.0/oostethys_sos.cgi + + + OGC:SOS + + + PYCSW_IDENTIFIER + + + OGC-SOS Sensor Observation Service + + + + + + + + + + + PYCSW_IDENTIFIER + + + + + + service + + + + + Boyan Brodaric + + + Geological Survey of Canada, Earth Sciences Sector, Natural Resources Canada, Government of Canada + + + Research Scientist + + + + + + + +1-613-992-3562 + + + +1-613-995-9273 + + + + + + + 615 Booth Street + + + Ottawa + + + + + + K1A 0E9 + + + Canada + + + brodaric at nrcan dot gc dot ca + + + + + + http://gw-info.net + + + + + + pointOfContact + + + + + + + + ISO19119 + + + 2005/PDAM 1 + + + + + + + GIN SOS + + + + + Historical groundwater level monitoring stations from Alberta, Ontario and Nova Scotia. This SOS web service delivers the data using OGC's WaterML 2.0. The SOS service federates data from various provincial sources and publishes them as a single service. Many monitoring stations also have water well characteristics available through the GIN WFS web service. + + + + + groundwater level + + + monitoring + + + timeseries + + + Alberta + + + Ontario + + + Nova Scotia + + + + + + + + OGC:SOS + + + 2.0.0 + + + + + groundwater level + + + monitoring + + + timeseries + + + Alberta + + + Ontario + + + Nova Scotia + + + + + + + + + -120.0 + + + -60.0 + + + 41.0 + + + 60.0 + + + + + + + tight + + + + + GetObservation + + + GW_LEVEL + + + + + + + GetCapabilities + + + HTTPGet + + + HTTPPost + + + + + http://ngwd-bdnes.cits.nrcan.gc.ca/GinService/sos/gw + + + + + + + + + DescribeSensor + + + HTTPGet + + + HTTPPost + + + + + http://ngwd-bdnes.cits.nrcan.gc.ca/GinService/sos/gw + + + + + + + + + GetObservation + + + HTTPGet + + + HTTPPost + + + + + http://ngwd-bdnes.cits.nrcan.gc.ca/GinService/sos/gw + + + + + + + + + GetFeatureOfInterest + + + HTTPGet + + + HTTPPost + + + + + http://ngwd-bdnes.cits.nrcan.gc.ca/GinService/sos/gw + + + + + + + + + + + + + + + + http://ngwd-bdnes.cits.nrcan.gc.ca/GinService/sos/gw + + + OGC:SOS + + + PYCSW_IDENTIFIER + + + OGC-SOS Sensor Observation Service + + + + + + + + + + diff --git a/tests/functionaltests/suites/harvesting/expected/post_Harvest-zzz-post-GetRecords-filter-wfs-iso.xml b/tests/functionaltests/suites/harvesting/expected/post_Harvest-zzz-post-GetRecords-filter-wfs-iso.xml new file mode 100644 index 000000000..fe8c5f2d5 --- /dev/null +++ b/tests/functionaltests/suites/harvesting/expected/post_Harvest-zzz-post-GetRecords-filter-wfs-iso.xml @@ -0,0 +1,1061 @@ + + + + + + + + PYCSW_IDENTIFIER + + + + + + service + + + + + Matt Austin + + + National Oceanic and Atmospheric Administration + + + + + + + + + + + + + + + + + + + + + + + Silver Spring + + + Maryland + + + 20910 + + + USA + + + + + + + + + + pointOfContact + + + + + + + + ISO19119 + + + 2005/PDAM 1 + + + + + + + GeoServer Web Feature Service + + + + + This is the reference implementation of WFS 1.0.0 and WFS 1.1.0, supports all WFS operations including Transaction. + + + + + WFS + + + WMS + + + GEOSERVER + + + + + + + + OGC:WFS + + + 1.1.0 + + + + + WFS + + + WMS + + + GEOSERVER + + + + + + + + + -179.87 + + + 179.99 + + + -54.61 + + + 83.46 + + + + + + + tight + + + + + GetFeature + + + geoss_water_sba:Reservoir + + + + + + + GetFeature + + + geoss_water_sba:glwd_1 + + + + + + + GetFeature + + + geoss_water_sba:Dams + + + + + + + GetFeature + + + geoss_water_sba:glwd_2 + + + + + + + GetFeature + + + geoss_water_sba:Lakes + + + + + + + GetCapabilities + + + HTTPGet + + + HTTPPost + + + + + http://services.ogc.noaa.gov/geoserver/geoss_water_sba/wfs + + + + + + + + + DescribeFeatureType + + + HTTPGet + + + HTTPPost + + + + + http://services.ogc.noaa.gov/geoserver/geoss_water_sba/wfs + + + + + + + + + GetFeature + + + HTTPGet + + + HTTPPost + + + + + http://services.ogc.noaa.gov/geoserver/geoss_water_sba/wfs + + + + + + + + + GetGmlObject + + + HTTPGet + + + HTTPPost + + + + + http://services.ogc.noaa.gov/geoserver/geoss_water_sba/wfs + + + + + + + + + LockFeature + + + HTTPGet + + + HTTPPost + + + + + http://services.ogc.noaa.gov/geoserver/geoss_water_sba/wfs + + + + + + + + + GetFeatureWithLock + + + HTTPGet + + + HTTPPost + + + + + http://services.ogc.noaa.gov/geoserver/geoss_water_sba/wfs + + + + + + + + + Transaction + + + HTTPGet + + + HTTPPost + + + + + http://services.ogc.noaa.gov/geoserver/geoss_water_sba/wfs + + + + + + + + + + + + + + + + + + + + http://services.ogc.noaa.gov/geoserver/geoss_water_sba/wfs + + + OGC:WFS + + + PYCSW_IDENTIFIER + + + OGC-WFS Web Feature Service + + + + + + + + + + + PYCSW_IDENTIFIER + + + + + + service + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + http://maps.cera.govt.nz/arcgis/services/CERA/CERA_TechClasses_WGS84/MapServer/WFSServer + + + + + + pointOfContact + + + + + + + + ISO19119 + + + 2005/PDAM 1 + + + + + + + CERA_CERA_TechClasses_WGS84 + + + + + + + + + + + + + + + + + + OGC:WFS + + + 2.0.0 + + + + + + + + + + + + + + 171.11 + + + 173.13 + + + -43.9 + + + -42.74 + + + + + + + tight + + + + + GetFeature + + + CERA_CERA_TechClasses_WGS84:MBIE_Technical_Classes_WGS84_2012-08-16 + + + + + + + GetFeature + + + CERA_CERA_TechClasses_WGS84:MBIE_Technical_Classes_WGS84_2012-05-18 + + + + + + + GetFeature + + + CERA_CERA_TechClasses_WGS84:MBIE_Technical_Classes_WGS84_2013-12-04 + + + + + + + GetFeature + + + CERA_CERA_TechClasses_WGS84:MBIE_Technical_Classes_WGS84_2011-10-28 + + + + + + + GetFeature + + + CERA_CERA_TechClasses_WGS84:MBIE_Technical_Classes_WGS84_2012-02-10 + + + + + + + GetFeature + + + CERA_CERA_TechClasses_WGS84:MBIE_Technical_Classes_WGS84_2012-09-14 + + + + + + + GetFeature + + + CERA_CERA_TechClasses_WGS84:MBIE_Technical_Classes_WGS84_2012-03-23 + + + + + + + GetFeature + + + CERA_CERA_TechClasses_WGS84:MBIE_Technical_Classes_WGS84_2011-11-17 + + + + + + + GetFeature + + + CERA_CERA_TechClasses_WGS84:MBIE_Technical_Classes_WGS84_2012-08-24 + + + + + + + GetFeature + + + CERA_CERA_TechClasses_WGS84:MBIE_Technical_Classes_WGS84_2012-10-31 + + + + + + + GetCapabilities + + + HTTPGet + + + HTTPPost + + + + + http://maps.cera.govt.nz/arcgis/services/CERA/CERA_TechClasses_WGS84/MapServer/WFSServer + + + + + + + + + DescribeFeatureType + + + HTTPGet + + + HTTPPost + + + + + http://maps.cera.govt.nz/arcgis/services/CERA/CERA_TechClasses_WGS84/MapServer/WFSServer + + + + + + + + + GetFeature + + + HTTPGet + + + HTTPPost + + + + + http://maps.cera.govt.nz/arcgis/services/CERA/CERA_TechClasses_WGS84/MapServer/WFSServer + + + + + + + + + ListStoredQueries + + + HTTPGet + + + HTTPPost + + + + + http://maps.cera.govt.nz/arcgis/services/CERA/CERA_TechClasses_WGS84/MapServer/WFSServer + + + + + + + + + DescribeStoredQueries + + + HTTPGet + + + HTTPPost + + + + + http://maps.cera.govt.nz/arcgis/services/CERA/CERA_TechClasses_WGS84/MapServer/WFSServer + + + + + + + + + DefaultMaxFeatures + + + HTTPGet + + + HTTPPost + + + + + http://maps.cera.govt.nz/arcgis/services/CERA/CERA_TechClasses_WGS84/MapServer/WFSServer + + + + + + + + + ImplementsSimpleWFS + + + HTTPGet + + + HTTPPost + + + + + http://maps.cera.govt.nz/arcgis/services/CERA/CERA_TechClasses_WGS84/MapServer/WFSServer + + + + + + + + + ImplementsBasicWFS + + + HTTPGet + + + HTTPPost + + + + + http://maps.cera.govt.nz/arcgis/services/CERA/CERA_TechClasses_WGS84/MapServer/WFSServer + + + + + + + + + ImplementsTransactionalWFS + + + HTTPGet + + + HTTPPost + + + + + http://maps.cera.govt.nz/arcgis/services/CERA/CERA_TechClasses_WGS84/MapServer/WFSServer + + + + + + + + + ImplementsLockingWFS + + + HTTPGet + + + HTTPPost + + + + + http://maps.cera.govt.nz/arcgis/services/CERA/CERA_TechClasses_WGS84/MapServer/WFSServer + + + + + + + + + ImplementsInheritance + + + HTTPGet + + + HTTPPost + + + + + http://maps.cera.govt.nz/arcgis/services/CERA/CERA_TechClasses_WGS84/MapServer/WFSServer + + + + + + + + + ImplementsRemoteResolve + + + HTTPGet + + + HTTPPost + + + + + http://maps.cera.govt.nz/arcgis/services/CERA/CERA_TechClasses_WGS84/MapServer/WFSServer + + + + + + + + + ImplementsResultPaging + + + HTTPGet + + + HTTPPost + + + + + http://maps.cera.govt.nz/arcgis/services/CERA/CERA_TechClasses_WGS84/MapServer/WFSServer + + + + + + + + + ImplementsStandardJoins + + + HTTPGet + + + HTTPPost + + + + + http://maps.cera.govt.nz/arcgis/services/CERA/CERA_TechClasses_WGS84/MapServer/WFSServer + + + + + + + + + ImplementsSpatialJoins + + + HTTPGet + + + HTTPPost + + + + + http://maps.cera.govt.nz/arcgis/services/CERA/CERA_TechClasses_WGS84/MapServer/WFSServer + + + + + + + + + ImplementsTemporalJoins + + + HTTPGet + + + HTTPPost + + + + + http://maps.cera.govt.nz/arcgis/services/CERA/CERA_TechClasses_WGS84/MapServer/WFSServer + + + + + + + + + ImplementsFeatureVersioning + + + HTTPGet + + + HTTPPost + + + + + http://maps.cera.govt.nz/arcgis/services/CERA/CERA_TechClasses_WGS84/MapServer/WFSServer + + + + + + + + + ManageStoredQueries + + + HTTPGet + + + HTTPPost + + + + + http://maps.cera.govt.nz/arcgis/services/CERA/CERA_TechClasses_WGS84/MapServer/WFSServer + + + + + + + + + KVPEncoding + + + HTTPGet + + + HTTPPost + + + + + http://maps.cera.govt.nz/arcgis/services/CERA/CERA_TechClasses_WGS84/MapServer/WFSServer + + + + + + + + + XMLEncoding + + + HTTPGet + + + HTTPPost + + + + + http://maps.cera.govt.nz/arcgis/services/CERA/CERA_TechClasses_WGS84/MapServer/WFSServer + + + + + + + + + SOAPEncoding + + + HTTPGet + + + HTTPPost + + + + + http://maps.cera.govt.nz/arcgis/services/CERA/CERA_TechClasses_WGS84/MapServer/WFSServer + + + + + + + + + + + + + + + + + + + + + + + + + http://maps.cera.govt.nz/arcgis/services/CERA/CERA_TechClasses_WGS84/MapServer/WFSServer + + + OGC:WFS + + + PYCSW_IDENTIFIER + + + OGC-WFS Web Feature Service + + + + + + + + + + diff --git a/tests/functionaltests/suites/harvesting/expected/post_Harvest-zzz-post-GetRecords-filter-wms-dc.xml b/tests/functionaltests/suites/harvesting/expected/post_Harvest-zzz-post-GetRecords-filter-wms-dc.xml new file mode 100644 index 000000000..e39d7cb23 --- /dev/null +++ b/tests/functionaltests/suites/harvesting/expected/post_Harvest-zzz-post-GetRecords-filter-wms-dc.xml @@ -0,0 +1,89 @@ + + + + + + + PYCSW_IDENTIFIER + 1 Million Scale WMS Layers from the National Atlas of the United States + service + + http://webservices.nationalatlas.gov/wms/1million + http://webservices.nationalatlas.gov/wms/1million?version=1.1.1&request=GetCapabilities&service=WMS + http://webservices.nationalatlas.gov/wms/1million + http://webservices.nationalatlas.gov/wms/1million + http://webservices.nationalatlas.gov/wms/1million + http://webservices.nationalatlas.gov/wms/1million + http://webservices.nationalatlas.gov/wms/1million + http://webservices.nationalatlas.gov/wms/1million + http://demo.pycsw.org/services/csw + + 18.92 -179.13 + 71.4 179.79 + + + + PYCSW_IDENTIFIER + Wisconsin Lake Clarity + service + SSEC + PAW + remote sensing + meteorology + atmospheric science + University of Wisconsin + Madison + weather + land + http://wms.ssec.wisc.edu/cgi-bin/mapserv?map=/home/wms/data/mapfiles/lakestsi.map + http://wms.ssec.wisc.edu/cgi-bin/mapserv?map=%2Fhome%2Fwms%2Fdata%2Fmapfiles%2Flakestsi.map&version=1.1.1&request=GetCapabilities&service=WMS + http://wms.ssec.wisc.edu/cgi-bin/mapserv?map=/home/wms/data/mapfiles/lakestsi.map + http://wms.ssec.wisc.edu/cgi-bin/mapserv?map=/home/wms/data/mapfiles/lakestsi.map + http://wms.ssec.wisc.edu/cgi-bin/mapserv?map=/home/wms/data/mapfiles/lakestsi.map + General: This server hosts a set of experimental OGC Web Services of remote sensing data products for use in a broad range of both desktop and mobile device clients. + http://demo.pycsw.org/services/csw + + 42.41 -93.03 + 47.13 -86.64 + + + + PYCSW_IDENTIFIER + View & download service for EU-DEM data provided by EOX + service + EU-DEM + http://data.eox.at/eudem_ows + http://data.eox.at/eudem_ows?version=1.1.1&request=GetCapabilities&service=WMS + http://data.eox.at/eudem_ows + http://data.eox.at/eudem_ows + http://data.eox.at/eudem_ows + http://data.eox.at/eudem_ows + http://data.eox.at/eudem_ows + http://data.eox.at/eudem_ows + Produced using Copernicus data and information funded by the European Union - EU-DEM layers. + http://demo.pycsw.org/services/csw + + 12.99 -29.09 + 12.99 -29.09 + + + + PYCSW_IDENTIFIER + IEM WMS Service + service + + WMS + http://mesonet.agron.iastate.edu/cgi-bin/wms/nexrad/n0r-t.cgi + IEM generated CONUS composite of NWS WSR-88D level III base reflectivity. + Daryl Herzmann + Iowa State University + Daryl Herzmann + http://mesonet.agron.iastate.edu/cgi-bin/wms/nexrad/n0r-t.cgi + None + + 24.0 -126.0 + 50.0 -66.0 + + + + diff --git a/tests/functionaltests/suites/harvesting/expected/post_Harvest-zzz-post-GetRecords-filter-wms-iso.xml b/tests/functionaltests/suites/harvesting/expected/post_Harvest-zzz-post-GetRecords-filter-wms-iso.xml new file mode 100644 index 000000000..0dc4ec4da --- /dev/null +++ b/tests/functionaltests/suites/harvesting/expected/post_Harvest-zzz-post-GetRecords-filter-wms-iso.xml @@ -0,0 +1,1361 @@ + + + + + + + + PYCSW_IDENTIFIER + + + + + + service + + + + + + + ISO19119 + + + 2005/PDAM 1 + + + + + + + 1 Million Scale WMS Layers from the National Atlas of the United States + + + + + + + + + + + + + + + + + + OGC:WMS + + + 1.1.1 + + + + + + + + + + + + + + -179.13 + + + 179.79 + + + 18.92 + + + 71.4 + + + + + + + tight + + + + + GetMap + + + ports1m + + + + + + + GetMap + + + national1m + + + + + + + GetMap + + + elevation + + + + + + + GetMap + + + impervious + + + + + + + GetMap + + + coast1m + + + + + + + GetMap + + + cdl + + + + + + + GetMap + + + states1m + + + + + + + GetMap + + + elsli0100g + + + + + + + GetMap + + + landcov100m + + + + + + + GetMap + + + cdp + + + + + + + GetMap + + + amtrak1m + + + + + + + GetMap + + + airports1m + + + + + + + GetMap + + + one_million + + + + + + + GetMap + + + satvi0100g + + + + + + + GetMap + + + srcoi0100g + + + + + + + GetMap + + + srgri0100g + + + + + + + GetMap + + + treecanopy + + + + + + + GetMap + + + svsri0100g + + + + + + + GetCapabilities + + + HTTPGet + + + HTTPPost + + + + + http://webservices.nationalatlas.gov/wms/1million + + + + + + + + + GetMap + + + HTTPGet + + + HTTPPost + + + + + http://webservices.nationalatlas.gov/wms/1million + + + + + + + + + GetFeatureInfo + + + HTTPGet + + + HTTPPost + + + + + http://webservices.nationalatlas.gov/wms/1million + + + + + + + + + DescribeLayer + + + HTTPGet + + + HTTPPost + + + + + http://webservices.nationalatlas.gov/wms/1million + + + + + + + + + GetLegendGraphic + + + HTTPGet + + + HTTPPost + + + + + http://webservices.nationalatlas.gov/wms/1million + + + + + + + + + GetStyles + + + HTTPGet + + + HTTPPost + + + + + http://webservices.nationalatlas.gov/wms/1million + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + http://webservices.nationalatlas.gov/wms/1million + + + OGC:WMS + + + PYCSW_IDENTIFIER + + + OGC-WMS Web Map Service + + + + + + + http://webservices.nationalatlas.gov/wms/1million?version=1.1.1&request=GetCapabilities&service=WMS + + + OGC:WMS-1.1.1-http-get-capabilities + + + PYCSW_IDENTIFIER + + + OGC-WMS Capabilities service (ver 1.1.1) + + + + + + + + + + + PYCSW_IDENTIFIER + + + + + + service + + + + + Dr. Sam Batzli + + + + + + + + ISO19119 + + + 2005/PDAM 1 + + + + + + + Wisconsin Lake Clarity + + + + + General: This server hosts a set of experimental OGC Web Services of remote sensing data products for use in a broad range of both desktop and mobile device clients. + + + + + SSEC + + + PAW + + + remote sensing + + + meteorology + + + atmospheric science + + + University of Wisconsin + + + Madison + + + weather + + + land + + + + + + + + OGC:WMS + + + 1.1.1 + + + + + SSEC + + + PAW + + + remote sensing + + + meteorology + + + atmospheric science + + + University of Wisconsin + + + Madison + + + weather + + + land + + + + + + + + + -93.03 + + + -86.64 + + + 42.41 + + + 47.13 + + + + + + + tight + + + + + GetMap + + + Highways + + + + + + + GetMap + + + LakesTSI + + + + + + + GetMap + + + LakeClarity + + + + + + + GetMap + + + LakesTSI_0305 + + + + + + + GetMap + + + Relief + + + + + + + GetMap + + + LakeNames_0305 + + + + + + + GetMap + + + Roads + + + + + + + GetMap + + + LakeNames + + + + + + + GetMap + + + Counties + + + + + + + GetCapabilities + + + HTTPGet + + + HTTPPost + + + + + http://wms.ssec.wisc.edu/cgi-bin/mapserv?map=/home/wms/data/mapfiles/lakestsi.map + + + + + + + + + GetMap + + + HTTPGet + + + HTTPPost + + + + + http://wms.ssec.wisc.edu/cgi-bin/mapserv?map=/home/wms/data/mapfiles/lakestsi.map + + + + + + + + + GetFeatureInfo + + + HTTPGet + + + HTTPPost + + + + + http://wms.ssec.wisc.edu/cgi-bin/mapserv?map=/home/wms/data/mapfiles/lakestsi.map + + + + + + + + + + + + + + + + + + + + + + + + http://wms.ssec.wisc.edu/cgi-bin/mapserv?map=/home/wms/data/mapfiles/lakestsi.map + + + OGC:WMS + + + PYCSW_IDENTIFIER + + + OGC-WMS Web Map Service + + + + + + + http://wms.ssec.wisc.edu/cgi-bin/mapserv?map=%2Fhome%2Fwms%2Fdata%2Fmapfiles%2Flakestsi.map&version=1.1.1&request=GetCapabilities&service=WMS + + + OGC:WMS-1.1.1-http-get-capabilities + + + PYCSW_IDENTIFIER + + + OGC-WMS Capabilities service (ver 1.1.1) + + + + + + + + + + + PYCSW_IDENTIFIER + + + + + + service + + + + + Stephan Meissl + + + + + + + + ISO19119 + + + 2005/PDAM 1 + + + + + + + View & download service for EU-DEM data provided by EOX + + + + + Produced using Copernicus data and information funded by the European Union - EU-DEM layers. + + + + + EU-DEM + + + + + + + + OGC:WMS + + + 1.1.1 + + + + + EU-DEM + + + + + + + + + -29.09 + + + -29.09 + + + 12.99 + + + 12.99 + + + + + + + tight + + + + + GetMap + + + EU-DEM + + + + + + + GetMap + + + MS + + + + + + + GetMap + + + eudem_color + + + + + + + GetCapabilities + + + HTTPGet + + + HTTPPost + + + + + http://data.eox.at/eudem_ows + + + + + + + + + GetMap + + + HTTPGet + + + HTTPPost + + + + + http://data.eox.at/eudem_ows + + + + + + + + + GetFeatureInfo + + + HTTPGet + + + HTTPPost + + + + + http://data.eox.at/eudem_ows + + + + + + + + + DescribeLayer + + + HTTPGet + + + HTTPPost + + + + + http://data.eox.at/eudem_ows + + + + + + + + + GetLegendGraphic + + + HTTPGet + + + HTTPPost + + + + + http://data.eox.at/eudem_ows + + + + + + + + + GetStyles + + + HTTPGet + + + HTTPPost + + + + + http://data.eox.at/eudem_ows + + + + + + + + + + + + + + + + + + http://data.eox.at/eudem_ows + + + OGC:WMS + + + PYCSW_IDENTIFIER + + + OGC-WMS Web Map Service + + + + + + + http://data.eox.at/eudem_ows?version=1.1.1&request=GetCapabilities&service=WMS + + + OGC:WMS-1.1.1-http-get-capabilities + + + PYCSW_IDENTIFIER + + + OGC-WMS Capabilities service (ver 1.1.1) + + + + + + + + + + + PYCSW_IDENTIFIER + + + + + + service + + + + + Daryl Herzmann + + + Iowa State University + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + http://mesonet.agron.iastate.edu/cgi-bin/wms/nexrad/n0r-t.cgi? + + + + + + + + + + + ISO19119 + + + 2005/PDAM 1 + + + + + + + IEM WMS Service + + + + + IEM generated CONUS composite of NWS WSR-88D level III base reflectivity. + + + + + + + + + + + + + OGC:WMS + + + 1.3.0 + + + + + + + + + + + + + + -126.0 + + + -66.0 + + + 24.0 + + + 50.0 + + + + + + + tight + + + + + GetMap + + + nexrad_base_reflect + + + + + + + GetMap + + + time_idx + + + + + + + GetMap + + + nexrad-n0r-wmst + + + + + + + GetCapabilities + + + HTTPGet + + + HTTPPost + + + + + http://mesonet.agron.iastate.edu/cgi-bin/wms/nexrad/n0r-t.cgi + + + + + + + + + GetMap + + + HTTPGet + + + HTTPPost + + + + + http://mesonet.agron.iastate.edu/cgi-bin/wms/nexrad/n0r-t.cgi + + + + + + + + + GetFeatureInfo + + + HTTPGet + + + HTTPPost + + + + + http://mesonet.agron.iastate.edu/cgi-bin/wms/nexrad/n0r-t.cgi + + + + + + + + + DescribeLayer + + + HTTPGet + + + HTTPPost + + + + + http://mesonet.agron.iastate.edu/cgi-bin/wms/nexrad/n0r-t.cgi + + + + + + + + + GetLegendGraphic + + + HTTPGet + + + HTTPPost + + + + + http://mesonet.agron.iastate.edu/cgi-bin/wms/nexrad/n0r-t.cgi + + + + + + + + + GetStyles + + + HTTPGet + + + HTTPPost + + + + + http://mesonet.agron.iastate.edu/cgi-bin/wms/nexrad/n0r-t.cgi + + + + + + + + + + + + + + + + + + http://mesonet.agron.iastate.edu/cgi-bin/wms/nexrad/n0r-t.cgi + + + OGC:WMS + + + PYCSW_IDENTIFIER + + + OGC-WMS Web Map Service + + + + + + + + + + diff --git a/tests/functionaltests/suites/harvesting/expected/post_Harvest-zzz-post-GetRecords-filter-wms-layer.xml b/tests/functionaltests/suites/harvesting/expected/post_Harvest-zzz-post-GetRecords-filter-wms-layer.xml new file mode 100644 index 000000000..1bc09e79a --- /dev/null +++ b/tests/functionaltests/suites/harvesting/expected/post_Harvest-zzz-post-GetRecords-filter-wms-layer.xml @@ -0,0 +1,33 @@ + + + + + + + PYCSW_IDENTIFIER + NEXRAD BASE REFLECT + dataset + + http://mesonet.agron.iastate.edu/cgi-bin/wms/nexrad/n0r-t.cgi + http://mesonet.agron.iastate.edu/cgi-bin/wms/nexrad/n0r-t.cgi?layers=time_idx&width=200&version=1.1.1&bbox=-126.0%2C24.0%2C-66.0%2C50.0&service=WMS&format=image%2Fpng&styles=&srs=EPSG%3A4326&request=GetMap&height=200 + http://mesonet.agron.iastate.edu/cgi-bin/wms/nexrad/n0r-t.cgi + + 24.0 -126.0 + 50.0 -66.0 + + + + PYCSW_IDENTIFIER + NEXRAD BASE REFLECT + dataset + + http://mesonet.agron.iastate.edu/cgi-bin/wms/nexrad/n0r-t.cgi + http://mesonet.agron.iastate.edu/cgi-bin/wms/nexrad/n0r-t.cgi?layers=nexrad-n0r-wmst&width=200&version=1.1.1&bbox=-126.0%2C24.0%2C-66.0%2C50.0&service=WMS&format=image%2Fpng&styles=&srs=EPSG%3A4326&request=GetMap&height=200 + http://mesonet.agron.iastate.edu/cgi-bin/wms/nexrad/n0r-t.cgi + + 24.0 -126.0 + 50.0 -66.0 + + + + diff --git a/tests/functionaltests/suites/harvesting/expected/post_Harvest-zzz-post-GetRecords-filter-wps-process.xml b/tests/functionaltests/suites/harvesting/expected/post_Harvest-zzz-post-GetRecords-filter-wps-process.xml new file mode 100644 index 000000000..0d0761488 --- /dev/null +++ b/tests/functionaltests/suites/harvesting/expected/post_Harvest-zzz-post-GetRecords-filter-wps-process.xml @@ -0,0 +1,62 @@ + + + + + + + PYCSW_IDENTIFIER + gov.usgs.cida.gdp.wps.algorithm.filemanagement.CreateNewShapefileDataStore + software + http://cida.usgs.gov/gdp/utility/WebProcessingService + http://cida.usgs.gov/gdp/utility/WebProcessingService?version=1.0.0&request=GetCapabilities&service=WPS + http://cida.usgs.gov/gdp/utility/WebProcessingService?identifier=gov.usgs.cida.gdp.wps.algorithm.filemanagement.CreateNewShapefileDataStore&version=1.0.0&request=DescribeProcess&service=WPS + http://cida.usgs.gov/gdp/utility/WebProcessingService + + + PYCSW_IDENTIFIER + Get Grid Time Range + software + http://cida.usgs.gov/gdp/utility/WebProcessingService + http://cida.usgs.gov/gdp/utility/WebProcessingService?version=1.0.0&request=GetCapabilities&service=WPS + http://cida.usgs.gov/gdp/utility/WebProcessingService?identifier=gov.usgs.cida.gdp.wps.algorithm.filemanagement.CreateNewShapefileDataStore&version=1.0.0&request=DescribeProcess&service=WPS + http://cida.usgs.gov/gdp/utility/WebProcessingService?identifier=gov.usgs.cida.gdp.wps.algorithm.discovery.GetGridTimeRange&version=1.0.0&request=DescribeProcess&service=WPS + http://cida.usgs.gov/gdp/utility/WebProcessingService + + + PYCSW_IDENTIFIER + gov.usgs.cida.gdp.wps.algorithm.filemanagement.ReceiveFiles + software + http://cida.usgs.gov/gdp/utility/WebProcessingService + http://cida.usgs.gov/gdp/utility/WebProcessingService?version=1.0.0&request=GetCapabilities&service=WPS + http://cida.usgs.gov/gdp/utility/WebProcessingService?identifier=gov.usgs.cida.gdp.wps.algorithm.filemanagement.CreateNewShapefileDataStore&version=1.0.0&request=DescribeProcess&service=WPS + http://cida.usgs.gov/gdp/utility/WebProcessingService?identifier=gov.usgs.cida.gdp.wps.algorithm.discovery.GetGridTimeRange&version=1.0.0&request=DescribeProcess&service=WPS + http://cida.usgs.gov/gdp/utility/WebProcessingService?identifier=gov.usgs.cida.gdp.wps.algorithm.filemanagement.ReceiveFiles&version=1.0.0&request=DescribeProcess&service=WPS + http://cida.usgs.gov/gdp/utility/WebProcessingService + + + PYCSW_IDENTIFIER + gov.usgs.cida.gdp.wps.algorithm.discovery.GetWcsCoverages + software + http://cida.usgs.gov/gdp/utility/WebProcessingService + http://cida.usgs.gov/gdp/utility/WebProcessingService?version=1.0.0&request=GetCapabilities&service=WPS + http://cida.usgs.gov/gdp/utility/WebProcessingService?identifier=gov.usgs.cida.gdp.wps.algorithm.filemanagement.CreateNewShapefileDataStore&version=1.0.0&request=DescribeProcess&service=WPS + http://cida.usgs.gov/gdp/utility/WebProcessingService?identifier=gov.usgs.cida.gdp.wps.algorithm.discovery.GetGridTimeRange&version=1.0.0&request=DescribeProcess&service=WPS + http://cida.usgs.gov/gdp/utility/WebProcessingService?identifier=gov.usgs.cida.gdp.wps.algorithm.filemanagement.ReceiveFiles&version=1.0.0&request=DescribeProcess&service=WPS + http://cida.usgs.gov/gdp/utility/WebProcessingService?identifier=gov.usgs.cida.gdp.wps.algorithm.discovery.GetWcsCoverages&version=1.0.0&request=DescribeProcess&service=WPS + http://cida.usgs.gov/gdp/utility/WebProcessingService + + + PYCSW_IDENTIFIER + gov.usgs.cida.gdp.wps.algorithm.filemanagement.GetWatersGeom + software + http://cida.usgs.gov/gdp/utility/WebProcessingService + http://cida.usgs.gov/gdp/utility/WebProcessingService?version=1.0.0&request=GetCapabilities&service=WPS + http://cida.usgs.gov/gdp/utility/WebProcessingService?identifier=gov.usgs.cida.gdp.wps.algorithm.filemanagement.CreateNewShapefileDataStore&version=1.0.0&request=DescribeProcess&service=WPS + http://cida.usgs.gov/gdp/utility/WebProcessingService?identifier=gov.usgs.cida.gdp.wps.algorithm.discovery.GetGridTimeRange&version=1.0.0&request=DescribeProcess&service=WPS + http://cida.usgs.gov/gdp/utility/WebProcessingService?identifier=gov.usgs.cida.gdp.wps.algorithm.filemanagement.ReceiveFiles&version=1.0.0&request=DescribeProcess&service=WPS + http://cida.usgs.gov/gdp/utility/WebProcessingService?identifier=gov.usgs.cida.gdp.wps.algorithm.discovery.GetWcsCoverages&version=1.0.0&request=DescribeProcess&service=WPS + http://cida.usgs.gov/gdp/utility/WebProcessingService?identifier=gov.usgs.cida.gdp.wps.algorithm.filemanagement.GetWatersGeom&version=1.0.0&request=DescribeProcess&service=WPS + http://cida.usgs.gov/gdp/utility/WebProcessingService + + + diff --git a/tests/functionaltests/suites/harvesting/expected/post_Transaction-000-delete-all.xml b/tests/functionaltests/suites/harvesting/expected/post_Transaction-000-delete-all.xml new file mode 100644 index 000000000..c400e312a --- /dev/null +++ b/tests/functionaltests/suites/harvesting/expected/post_Transaction-000-delete-all.xml @@ -0,0 +1,9 @@ + + + + + 0 + 0 + 131 + + diff --git a/tests/functionaltests/suites/harvesting/get/requests.txt b/tests/functionaltests/suites/harvesting/get/requests.txt new file mode 100644 index 000000000..3b13c3b11 --- /dev/null +++ b/tests/functionaltests/suites/harvesting/get/requests.txt @@ -0,0 +1,5 @@ +Exception-Harvest-missing-resourcetype,service=CSW&version=2.0.2&request=Harvest +Exception-Harvest-missing-source,service=CSW&version=2.0.2&request=Harvest&resourcetype=http://www.opengis.net/wms +Exception-Harvest-invalid-resourcetype,service=CSW&version=2.0.2&request=Harvest&resourcetype=http://www.opengis.net/wms1234&source=http://demo.pycsw.org/cite/csw +Exception-Harvest-waf-no-records-found,service=CSW&version=2.0.2&request=Harvest&resourcetype=urn:geoss:waf&source=http://demo.pycsw.org +Exception-Harvest-waf-bad-value,service=CSW&version=2.0.2&request=Harvest&resourcetype=urn:geoss:waf&source=badvalue diff --git a/tests/functionaltests/suites/harvesting/post/Clear-000-delete-all.xml b/tests/functionaltests/suites/harvesting/post/Clear-000-delete-all.xml new file mode 100644 index 000000000..827ccc7f0 --- /dev/null +++ b/tests/functionaltests/suites/harvesting/post/Clear-000-delete-all.xml @@ -0,0 +1,13 @@ + + + + + + + dc:identifier + % + + + + + diff --git a/tests/functionaltests/suites/harvesting/post/Exception-Havest-csw-404.xml b/tests/functionaltests/suites/harvesting/post/Exception-Havest-csw-404.xml new file mode 100644 index 000000000..dc660970b --- /dev/null +++ b/tests/functionaltests/suites/harvesting/post/Exception-Havest-csw-404.xml @@ -0,0 +1,6 @@ + + + http://demo.pycsw.org/gisdata/cswBAD + http://www.opengis.net/cat/csw/2.0.2 + application/xml + diff --git a/tests/functionaltests/suites/harvesting/post/GetCapabilities.xml b/tests/functionaltests/suites/harvesting/post/GetCapabilities.xml new file mode 100644 index 000000000..e4dc8070b --- /dev/null +++ b/tests/functionaltests/suites/harvesting/post/GetCapabilities.xml @@ -0,0 +1,9 @@ + + + + 2.0.2 + + + application/xml + + diff --git a/tests/functionaltests/suites/harvesting/post/GetDomain-parameter.xml b/tests/functionaltests/suites/harvesting/post/GetDomain-parameter.xml new file mode 100644 index 000000000..3779a0555 --- /dev/null +++ b/tests/functionaltests/suites/harvesting/post/GetDomain-parameter.xml @@ -0,0 +1,4 @@ + + + Harvest.ResourceType + diff --git a/tests/functionaltests/suites/harvesting/post/Harvest-csw-iso.xml b/tests/functionaltests/suites/harvesting/post/Harvest-csw-iso.xml new file mode 100644 index 000000000..b5ce58274 --- /dev/null +++ b/tests/functionaltests/suites/harvesting/post/Harvest-csw-iso.xml @@ -0,0 +1,6 @@ + + + http://demo.pycsw.org/services/csw + http://www.opengis.net/cat/csw/2.0.2 + application/xml + diff --git a/tests/functionaltests/suites/harvesting/post/Harvest-csw-run1.xml b/tests/functionaltests/suites/harvesting/post/Harvest-csw-run1.xml new file mode 100644 index 000000000..a3514f77c --- /dev/null +++ b/tests/functionaltests/suites/harvesting/post/Harvest-csw-run1.xml @@ -0,0 +1,6 @@ + + + http://demo.pycsw.org/cite/csw + http://www.opengis.net/cat/csw/2.0.2 + application/xml + diff --git a/tests/functionaltests/suites/harvesting/post/Harvest-csw-run2.xml b/tests/functionaltests/suites/harvesting/post/Harvest-csw-run2.xml new file mode 100644 index 000000000..a3514f77c --- /dev/null +++ b/tests/functionaltests/suites/harvesting/post/Harvest-csw-run2.xml @@ -0,0 +1,6 @@ + + + http://demo.pycsw.org/cite/csw + http://www.opengis.net/cat/csw/2.0.2 + application/xml + diff --git a/tests/functionaltests/suites/harvesting/post/Harvest-dc.xml b/tests/functionaltests/suites/harvesting/post/Harvest-dc.xml new file mode 100644 index 000000000..bd94c7241 --- /dev/null +++ b/tests/functionaltests/suites/harvesting/post/Harvest-dc.xml @@ -0,0 +1,6 @@ + + + http://demo.pycsw.org/metadata/Clause_10.2.5.3.2_Example03_Full.xml + http://www.opengis.net/cat/csw/2.0.2 + application/xml + diff --git a/tests/functionaltests/suites/harvesting/post/Harvest-fgdc.xml b/tests/functionaltests/suites/harvesting/post/Harvest-fgdc.xml new file mode 100644 index 000000000..a9a48b540 --- /dev/null +++ b/tests/functionaltests/suites/harvesting/post/Harvest-fgdc.xml @@ -0,0 +1,6 @@ + + + http://demo.pycsw.org/metadata/CDC008.xml + http://www.opengis.net/cat/csw/csdgm + application/xml + diff --git a/tests/functionaltests/suites/harvesting/post/Harvest-iso.xml b/tests/functionaltests/suites/harvesting/post/Harvest-iso.xml new file mode 100644 index 000000000..54492757f --- /dev/null +++ b/tests/functionaltests/suites/harvesting/post/Harvest-iso.xml @@ -0,0 +1,6 @@ + + + http://demo.pycsw.org/metadata/dataset2_minimalst.xml + http://www.isotc211.org/schemas/2005/gmd/ + application/xml + diff --git a/tests/functionaltests/suites/harvesting/post/Harvest-rdf.xml b/tests/functionaltests/suites/harvesting/post/Harvest-rdf.xml new file mode 100644 index 000000000..cd6415171 --- /dev/null +++ b/tests/functionaltests/suites/harvesting/post/Harvest-rdf.xml @@ -0,0 +1,6 @@ + + + http://demo.pycsw.org/metadata/dc-rdf.xml + http://www.opengis.net/cat/csw/2.0.2 + application/xml + diff --git a/tests/functionaltests/suites/harvesting/post/Harvest-sos100.xml b/tests/functionaltests/suites/harvesting/post/Harvest-sos100.xml new file mode 100644 index 000000000..a7de0a332 --- /dev/null +++ b/tests/functionaltests/suites/harvesting/post/Harvest-sos100.xml @@ -0,0 +1,5 @@ + + + http://www.neracoos.org/cgi-bin/sos/V1.0/oostethys_sos.cgi + http://www.opengis.net/sos/1.0 + diff --git a/tests/functionaltests/suites/harvesting/post/Harvest-sos200.xml b/tests/functionaltests/suites/harvesting/post/Harvest-sos200.xml new file mode 100644 index 000000000..37e3db12a --- /dev/null +++ b/tests/functionaltests/suites/harvesting/post/Harvest-sos200.xml @@ -0,0 +1,5 @@ + + + http://ngwd-bdnes.cits.nrcan.gc.ca/GinService/sos/gw + http://www.opengis.net/sos/2.0 + diff --git a/tests/functionaltests/suites/harvesting/post/Harvest-waf.xml b/tests/functionaltests/suites/harvesting/post/Harvest-waf.xml new file mode 100644 index 000000000..9ecd86f59 --- /dev/null +++ b/tests/functionaltests/suites/harvesting/post/Harvest-waf.xml @@ -0,0 +1,5 @@ + + + http://demo.pycsw.org/waf + urn:geoss:waf + diff --git a/tests/functionaltests/suites/harvesting/post/Harvest-wcs.xml b/tests/functionaltests/suites/harvesting/post/Harvest-wcs.xml new file mode 100644 index 000000000..f59f4cc29 --- /dev/null +++ b/tests/functionaltests/suites/harvesting/post/Harvest-wcs.xml @@ -0,0 +1,6 @@ + + + http://demo.mapserver.org/cgi-bin/wcs + http://www.opengis.net/wcs + application/xml + diff --git a/tests/functionaltests/suites/harvesting/post/Harvest-wfs110.xml b/tests/functionaltests/suites/harvesting/post/Harvest-wfs110.xml new file mode 100644 index 000000000..72e28fbb2 --- /dev/null +++ b/tests/functionaltests/suites/harvesting/post/Harvest-wfs110.xml @@ -0,0 +1,6 @@ + + + http://services.ogc.noaa.gov/geoserver/geoss_water_sba/wfs + http://www.opengis.net/wfs + application/xml + diff --git a/tests/functionaltests/suites/harvesting/post/Harvest-wfs200.xml b/tests/functionaltests/suites/harvesting/post/Harvest-wfs200.xml new file mode 100644 index 000000000..9968eb702 --- /dev/null +++ b/tests/functionaltests/suites/harvesting/post/Harvest-wfs200.xml @@ -0,0 +1,6 @@ + + + http://maps.cera.govt.nz/arcgis/services/CERA/CERA_TechClasses_WGS84/MapServer/WFSServer + http://www.opengis.net/wfs/2.0 + application/xml + diff --git a/tests/functionaltests/suites/harvesting/post/Harvest-wms-run1.xml b/tests/functionaltests/suites/harvesting/post/Harvest-wms-run1.xml new file mode 100644 index 000000000..a67274f81 --- /dev/null +++ b/tests/functionaltests/suites/harvesting/post/Harvest-wms-run1.xml @@ -0,0 +1,6 @@ + + + http://mesonet.agron.iastate.edu/cgi-bin/wms/nexrad/n0r-t.cgi + http://www.opengis.net/wms + application/xml + diff --git a/tests/functionaltests/suites/harvesting/post/Harvest-wms-run2.xml b/tests/functionaltests/suites/harvesting/post/Harvest-wms-run2.xml new file mode 100644 index 000000000..a67274f81 --- /dev/null +++ b/tests/functionaltests/suites/harvesting/post/Harvest-wms-run2.xml @@ -0,0 +1,6 @@ + + + http://mesonet.agron.iastate.edu/cgi-bin/wms/nexrad/n0r-t.cgi + http://www.opengis.net/wms + application/xml + diff --git a/tests/functionaltests/suites/harvesting/post/Harvest-wmts.xml b/tests/functionaltests/suites/harvesting/post/Harvest-wmts.xml new file mode 100644 index 000000000..6d8339354 --- /dev/null +++ b/tests/functionaltests/suites/harvesting/post/Harvest-wmts.xml @@ -0,0 +1,6 @@ + + + http://maps.wien.gv.at/wmts/1.0.0/WMTSCapabilities.xml + http://www.opengis.net/wmts/1.0 + application/xml + diff --git a/tests/functionaltests/suites/harvesting/post/Harvest-wps.xml b/tests/functionaltests/suites/harvesting/post/Harvest-wps.xml new file mode 100644 index 000000000..0a38c61dc --- /dev/null +++ b/tests/functionaltests/suites/harvesting/post/Harvest-wps.xml @@ -0,0 +1,6 @@ + + + http://cida.usgs.gov/gdp/utility/WebProcessingService + http://www.opengis.net/wps/1.0.0 + application/xml + diff --git a/tests/functionaltests/suites/harvesting/post/Harvest-zzz-post-GetRecords-filter-ows-dc.xml b/tests/functionaltests/suites/harvesting/post/Harvest-zzz-post-GetRecords-filter-ows-dc.xml new file mode 100644 index 000000000..5fe7eff25 --- /dev/null +++ b/tests/functionaltests/suites/harvesting/post/Harvest-zzz-post-GetRecords-filter-ows-dc.xml @@ -0,0 +1,36 @@ + + + + full + + + + + apiso:ServiceType + OGC:SOS + + + apiso:ServiceType + OGC:WPS + + + apiso:ServiceType + OGC:WMS + + + apiso:ServiceType + OGC:WFS + + + apiso:ServiceType + OGC:CSW + + + apiso:ServiceType + OGC:WCS + + + + + + diff --git a/tests/functionaltests/suites/harvesting/post/Harvest-zzz-post-GetRecords-filter-sos-abstract-dc.xml b/tests/functionaltests/suites/harvesting/post/Harvest-zzz-post-GetRecords-filter-sos-abstract-dc.xml new file mode 100644 index 000000000..294218008 --- /dev/null +++ b/tests/functionaltests/suites/harvesting/post/Harvest-zzz-post-GetRecords-filter-sos-abstract-dc.xml @@ -0,0 +1,24 @@ + + + + full + + + + + apiso:Type + service + + + apiso:ServiceType + OGC:SOS + + + apiso:Abstract + (groundwater( + + + + + + diff --git a/tests/functionaltests/suites/harvesting/post/Harvest-zzz-post-GetRecords-filter-sos-dc.xml b/tests/functionaltests/suites/harvesting/post/Harvest-zzz-post-GetRecords-filter-sos-dc.xml new file mode 100644 index 000000000..caf43cc26 --- /dev/null +++ b/tests/functionaltests/suites/harvesting/post/Harvest-zzz-post-GetRecords-filter-sos-dc.xml @@ -0,0 +1,20 @@ + + + + full + + + + + apiso:Type + service + + + apiso:ServiceType + OGC:SOS + + + + + + diff --git a/tests/functionaltests/suites/harvesting/post/Harvest-zzz-post-GetRecords-filter-sos-iso.xml b/tests/functionaltests/suites/harvesting/post/Harvest-zzz-post-GetRecords-filter-sos-iso.xml new file mode 100644 index 000000000..edc45b3fa --- /dev/null +++ b/tests/functionaltests/suites/harvesting/post/Harvest-zzz-post-GetRecords-filter-sos-iso.xml @@ -0,0 +1,20 @@ + + + + full + + + + + apiso:Type + service + + + apiso:ServiceType + OGC:SOS + + + + + + diff --git a/tests/functionaltests/suites/harvesting/post/Harvest-zzz-post-GetRecords-filter-wfs-iso.xml b/tests/functionaltests/suites/harvesting/post/Harvest-zzz-post-GetRecords-filter-wfs-iso.xml new file mode 100644 index 000000000..3e26f62db --- /dev/null +++ b/tests/functionaltests/suites/harvesting/post/Harvest-zzz-post-GetRecords-filter-wfs-iso.xml @@ -0,0 +1,20 @@ + + + + full + + + + + apiso:Type + service + + + apiso:ServiceType + OGC:WFS + + + + + + diff --git a/tests/functionaltests/suites/harvesting/post/Harvest-zzz-post-GetRecords-filter-wms-dc.xml b/tests/functionaltests/suites/harvesting/post/Harvest-zzz-post-GetRecords-filter-wms-dc.xml new file mode 100644 index 000000000..c67d38186 --- /dev/null +++ b/tests/functionaltests/suites/harvesting/post/Harvest-zzz-post-GetRecords-filter-wms-dc.xml @@ -0,0 +1,20 @@ + + + + full + + + + + apiso:Type + service + + + apiso:ServiceType + OGC:WMS + + + + + + diff --git a/tests/functionaltests/suites/harvesting/post/Harvest-zzz-post-GetRecords-filter-wms-iso.xml b/tests/functionaltests/suites/harvesting/post/Harvest-zzz-post-GetRecords-filter-wms-iso.xml new file mode 100644 index 000000000..f4300e7ef --- /dev/null +++ b/tests/functionaltests/suites/harvesting/post/Harvest-zzz-post-GetRecords-filter-wms-iso.xml @@ -0,0 +1,20 @@ + + + + full + + + + + apiso:Type + service + + + apiso:ServiceType + OGC:WMS + + + + + + diff --git a/tests/functionaltests/suites/harvesting/post/Harvest-zzz-post-GetRecords-filter-wms-layer.xml b/tests/functionaltests/suites/harvesting/post/Harvest-zzz-post-GetRecords-filter-wms-layer.xml new file mode 100644 index 000000000..ab70e4b8b --- /dev/null +++ b/tests/functionaltests/suites/harvesting/post/Harvest-zzz-post-GetRecords-filter-wms-layer.xml @@ -0,0 +1,20 @@ + + + + full + + + + + dc:type + dataset + + + csw:AnyText + %nexrad% + + + + + + diff --git a/tests/functionaltests/suites/harvesting/post/Harvest-zzz-post-GetRecords-filter-wps-process.xml b/tests/functionaltests/suites/harvesting/post/Harvest-zzz-post-GetRecords-filter-wps-process.xml new file mode 100644 index 000000000..3c87edd95 --- /dev/null +++ b/tests/functionaltests/suites/harvesting/post/Harvest-zzz-post-GetRecords-filter-wps-process.xml @@ -0,0 +1,14 @@ + + + + full + + + + dc:type + software + + + + + diff --git a/tests/functionaltests/suites/harvesting/post/Transaction-000-delete-all.xml b/tests/functionaltests/suites/harvesting/post/Transaction-000-delete-all.xml new file mode 100644 index 000000000..827ccc7f0 --- /dev/null +++ b/tests/functionaltests/suites/harvesting/post/Transaction-000-delete-all.xml @@ -0,0 +1,13 @@ + + + + + + + dc:identifier + % + + + + + diff --git a/tests/functionaltests/suites/manager/default.cfg b/tests/functionaltests/suites/manager/default.cfg new file mode 100644 index 000000000..3e9c1f8f5 --- /dev/null +++ b/tests/functionaltests/suites/manager/default.cfg @@ -0,0 +1,91 @@ +# ================================================================= +# +# Authors: Tom Kralidis +# +# Copyright (c) 2012 Tom Kralidis +# +# Permission is hereby granted, free of charge, to any person +# obtaining a copy of this software and associated documentation +# files (the "Software"), to deal in the Software without +# restriction, including without limitation the rights to use, +# copy, modify, merge, publish, distribute, sublicense, and/or sell +# copies of the Software, and to permit persons to whom the +# Software is furnished to do so, subject to the following +# conditions: +# +# The above copyright notice and this permission notice shall be +# included in all copies or substantial portions of the Software. +# +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +# EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES +# OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +# NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT +# HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, +# WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR +# OTHER DEALINGS IN THE SOFTWARE. +# +# ================================================================= + +[server] +home=. +url=http://localhost/pycsw/csw.py?config=tests/suites/manager/default.cfg +mimetype=application/xml; charset=UTF-8 +encoding=UTF-8 +language=en-US +maxrecords=10 +#loglevel=DEBUG +#logfile=/tmp/pycsw.log +#ogc_schemas_base=http://foo +federatedcatalogues=http://geo.data.gov/geoportal/csw/discovery +pretty_print=true +#gzip_compresslevel=8 +#spatial_ranking=true +profiles=apiso + +[manager] +transactions=true +allowed_ips=127.0.0.1 + +[metadata:main] +identification_title=pycsw Geospatial Catalogue +identification_abstract=pycsw is an OGC CSW server implementation written in Python +identification_keywords=catalogue,discovery +identification_keywords_type=theme +identification_fees=None +identification_accessconstraints=None +provider_name=pycsw +provider_url=http://pycsw.org/ +contact_name=Kralidis, Tom +contact_position=Senior Systems Scientist +contact_address=TBA +contact_city=Toronto +contact_stateorprovince=Ontario +contact_postalcode=M9C 3Z9 +contact_country=Canada +contact_phone=+01-416-xxx-xxxx +contact_fax=+01-416-xxx-xxxx +contact_email=tomkralidis@gmail.com +contact_url=http://kralidis.ca/ +contact_hours=0800h - 1600h EST +contact_instructions=During hours of service. Off on weekends. +contact_role=pointOfContact + +[repository] +# sqlite +database=sqlite:///tests/suites/manager/data/records.db +# postgres +#database=postgres://username:password@localhost/pycsw +table=records + +[metadata:inspire] +enabled=false +languages_supported=eng,gre +default_language=eng +date=2011-03-29 +gemet_keywords=Utility and governmental services +conformity_service=notEvaluated +contact_name=National Technical University of Athens +contact_email=tzotsos@gmail.com +temp_extent=2011-02-01/2011-03-30 + diff --git a/tests/functionaltests/suites/manager/expected/post_Clear-000-delete-all.xml b/tests/functionaltests/suites/manager/expected/post_Clear-000-delete-all.xml new file mode 100644 index 000000000..01ccdf629 --- /dev/null +++ b/tests/functionaltests/suites/manager/expected/post_Clear-000-delete-all.xml @@ -0,0 +1,9 @@ + + + + + 0 + 0 + 0 + + diff --git a/tests/functionaltests/suites/manager/expected/post_GetCapabilities.xml b/tests/functionaltests/suites/manager/expected/post_GetCapabilities.xml new file mode 100644 index 000000000..1fc931575 --- /dev/null +++ b/tests/functionaltests/suites/manager/expected/post_GetCapabilities.xml @@ -0,0 +1,368 @@ + + + + + pycsw Geospatial Catalogue + pycsw is an OGC CSW server implementation written in Python + + catalogue + discovery + theme + + CSW + 2.0.2 + 3.0.0 + None + None + + + pycsw + + + Kralidis, Tom + Senior Systems Scientist + + + +01-416-xxx-xxxx + +01-416-xxx-xxxx + + + TBA + Toronto + Ontario + M9C 3Z9 + Canada + tomkralidis@gmail.com + + + 0800h - 1600h EST + During hours of service. Off on weekends. + + pointOfContact + + + + + + + + + + + + Filter_Capabilities + OperationsMetadata + ServiceIdentification + ServiceProvider + + + + + + + + + + + application/json + application/xml + + + http://www.w3.org/2001/XMLSchema + http://www.w3.org/TR/xmlschema-1/ + http://www.w3.org/XML/Schema + + + csw:Record + gmd:MD_Metadata + + + + + + + + + + + DescribeRecord.outputFormat + DescribeRecord.schemaLanguage + DescribeRecord.typeName + GetCapabilities.sections + GetRecordById.ElementSetName + GetRecordById.outputFormat + GetRecordById.outputSchema + GetRecords.CONSTRAINTLANGUAGE + GetRecords.ElementSetName + GetRecords.outputFormat + GetRecords.outputSchema + GetRecords.resultType + GetRecords.typeNames + Harvest.ResourceType + Transaction.TransactionSchemas + + + + + + + + + + + CQL_TEXT + FILTER + + + brief + full + summary + + + application/json + application/xml + + + http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ + http://www.interlis.ch/INTERLIS2.3 + http://www.isotc211.org/2005/gmd + http://www.opengis.net/cat/csw/2.0.2 + http://www.opengis.net/cat/csw/csdgm + http://www.w3.org/2005/Atom + + + hits + results + validate + + + csw:Record + gmd:MD_Metadata + + + apiso:AccessConstraints + apiso:Classification + apiso:ConditionApplyingToAccessAndUse + apiso:Contributor + apiso:Creator + apiso:Degree + apiso:Lineage + apiso:OtherConstraints + apiso:Publisher + apiso:Relation + apiso:ResponsiblePartyRole + apiso:SpecificationDate + apiso:SpecificationDateType + apiso:SpecificationTitle + + + csw:AnyText + dc:contributor + dc:creator + dc:date + dc:format + dc:identifier + dc:language + dc:publisher + dc:relation + dc:rights + dc:source + dc:subject + dc:title + dc:type + dct:abstract + dct:modified + ows:BoundingBox + + + apiso:Abstract + apiso:AlternateTitle + apiso:AnyText + apiso:BoundingBox + apiso:CRS + apiso:CouplingType + apiso:CreationDate + apiso:Denominator + apiso:DistanceUOM + apiso:DistanceValue + apiso:Format + apiso:GeographicDescriptionCode + apiso:HasSecurityConstraints + apiso:Identifier + apiso:KeywordType + apiso:Language + apiso:Modified + apiso:OperatesOn + apiso:OperatesOnIdentifier + apiso:OperatesOnName + apiso:Operation + apiso:OrganisationName + apiso:ParentIdentifier + apiso:PublicationDate + apiso:ResourceLanguage + apiso:RevisionDate + apiso:ServiceType + apiso:ServiceTypeVersion + apiso:Subject + apiso:TempExtent_begin + apiso:TempExtent_end + apiso:Title + apiso:TopicCategory + apiso:Type + + + + + + + + + + + brief + full + summary + + + application/json + application/xml + + + http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ + http://www.interlis.ch/INTERLIS2.3 + http://www.isotc211.org/2005/gmd + http://www.opengis.net/cat/csw/2.0.2 + http://www.opengis.net/cat/csw/csdgm + http://www.w3.org/2005/Atom + + + + + + + + + + + + + + + + + http://www.isotc211.org/2005/gmi + http://www.opengis.net/cat/csw/2.0.2 + http://www.opengis.net/cat/csw/3.0 + http://www.opengis.net/sos/1.0 + http://www.opengis.net/sos/2.0 + http://www.opengis.net/wcs + http://www.opengis.net/wfs + http://www.opengis.net/wfs/2.0 + http://www.opengis.net/wms + http://www.opengis.net/wmts/1.0 + http://www.opengis.net/wps/1.0.0 + urn:geoss:waf + + + + + + + + + + http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ + http://www.interlis.ch/INTERLIS2.3 + http://www.isotc211.org/2005/gmd + http://www.isotc211.org/2005/gmi + http://www.isotc211.org/schemas/2005/gmd/ + http://www.opengis.net/cat/csw/2.0.2 + http://www.opengis.net/cat/csw/3.0 + http://www.opengis.net/cat/csw/csdgm + http://www.opengis.net/sos/1.0 + http://www.opengis.net/sos/2.0 + http://www.opengis.net/wcs + http://www.opengis.net/wfs + http://www.opengis.net/wfs/2.0 + http://www.opengis.net/wms + http://www.opengis.net/wmts/1.0 + http://www.opengis.net/wps/1.0.0 + http://www.w3.org/2005/Atom + urn:geoss:waf + + + + CSW + + + 2.0.2 + 3.0.0 + + + http://geo.data.gov/geoportal/csw/discovery + + + 10 + + + XML + SOAP + + + allowed + + + + + + gml:Point + gml:LineString + gml:Polygon + gml:Envelope + + + + + + + + + + + + + + + + + + + Between + EqualTo + GreaterThan + GreaterThanEqualTo + LessThan + LessThanEqualTo + Like + NotEqualTo + NullCheck + + + + + length + lower + ltrim + rtrim + trim + upper + + + + + + + + + + diff --git a/tests/functionaltests/suites/manager/expected/post_GetDomain-parameter.xml b/tests/functionaltests/suites/manager/expected/post_GetDomain-parameter.xml new file mode 100644 index 000000000..b47402ca2 --- /dev/null +++ b/tests/functionaltests/suites/manager/expected/post_GetDomain-parameter.xml @@ -0,0 +1,27 @@ + + + + + Harvest.ResourceType + + http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ + http://www.interlis.ch/INTERLIS2.3 + http://www.isotc211.org/2005/gmd + http://www.isotc211.org/2005/gmi + http://www.isotc211.org/schemas/2005/gmd/ + http://www.opengis.net/cat/csw/2.0.2 + http://www.opengis.net/cat/csw/3.0 + http://www.opengis.net/cat/csw/csdgm + http://www.opengis.net/sos/1.0 + http://www.opengis.net/sos/2.0 + http://www.opengis.net/wcs + http://www.opengis.net/wfs + http://www.opengis.net/wfs/2.0 + http://www.opengis.net/wms + http://www.opengis.net/wmts/1.0 + http://www.opengis.net/wps/1.0.0 + http://www.w3.org/2005/Atom + urn:geoss:waf + + + diff --git a/tests/functionaltests/suites/manager/expected/post_Transaction-000-delete-all.xml b/tests/functionaltests/suites/manager/expected/post_Transaction-000-delete-all.xml new file mode 100644 index 000000000..01ccdf629 --- /dev/null +++ b/tests/functionaltests/suites/manager/expected/post_Transaction-000-delete-all.xml @@ -0,0 +1,9 @@ + + + + + 0 + 0 + 0 + + diff --git a/tests/functionaltests/suites/manager/expected/post_Transaction-dc-01-insert.xml b/tests/functionaltests/suites/manager/expected/post_Transaction-dc-01-insert.xml new file mode 100644 index 000000000..07d452a06 --- /dev/null +++ b/tests/functionaltests/suites/manager/expected/post_Transaction-dc-01-insert.xml @@ -0,0 +1,15 @@ + + + + + 1 + 0 + 0 + + + + xyz + pycsw Catalogue + + + diff --git a/tests/functionaltests/suites/manager/expected/post_Transaction-dc-02-update-full.xml b/tests/functionaltests/suites/manager/expected/post_Transaction-dc-02-update-full.xml new file mode 100644 index 000000000..0b9104ebe --- /dev/null +++ b/tests/functionaltests/suites/manager/expected/post_Transaction-dc-02-update-full.xml @@ -0,0 +1,9 @@ + + + + + 0 + 1 + 0 + + diff --git a/tests/functionaltests/suites/manager/expected/post_Transaction-fgdc-01-insert.xml b/tests/functionaltests/suites/manager/expected/post_Transaction-fgdc-01-insert.xml new file mode 100644 index 000000000..c44db37b3 --- /dev/null +++ b/tests/functionaltests/suites/manager/expected/post_Transaction-fgdc-01-insert.xml @@ -0,0 +1,15 @@ + + + + + 1 + 0 + 0 + + + + foorecord + NCEP + + + diff --git a/tests/functionaltests/suites/manager/expected/post_Transaction-fgdc-02-update-recprop.xml b/tests/functionaltests/suites/manager/expected/post_Transaction-fgdc-02-update-recprop.xml new file mode 100644 index 000000000..0b9104ebe --- /dev/null +++ b/tests/functionaltests/suites/manager/expected/post_Transaction-fgdc-02-update-recprop.xml @@ -0,0 +1,9 @@ + + + + + 0 + 1 + 0 + + diff --git a/tests/functionaltests/suites/manager/expected/post_Transaction-fgdc-03-delete-all.xml b/tests/functionaltests/suites/manager/expected/post_Transaction-fgdc-03-delete-all.xml new file mode 100644 index 000000000..a788564e4 --- /dev/null +++ b/tests/functionaltests/suites/manager/expected/post_Transaction-fgdc-03-delete-all.xml @@ -0,0 +1,9 @@ + + + + + 0 + 0 + 2 + + diff --git a/tests/functionaltests/suites/manager/expected/post_Transaction-iso-00-delete-all.xml b/tests/functionaltests/suites/manager/expected/post_Transaction-iso-00-delete-all.xml new file mode 100644 index 000000000..01ccdf629 --- /dev/null +++ b/tests/functionaltests/suites/manager/expected/post_Transaction-iso-00-delete-all.xml @@ -0,0 +1,9 @@ + + + + + 0 + 0 + 0 + + diff --git a/tests/functionaltests/suites/manager/expected/post_Transaction-iso-01-insert.xml b/tests/functionaltests/suites/manager/expected/post_Transaction-iso-01-insert.xml new file mode 100644 index 000000000..2e3a528d5 --- /dev/null +++ b/tests/functionaltests/suites/manager/expected/post_Transaction-iso-01-insert.xml @@ -0,0 +1,15 @@ + + + + + 1 + 0 + 0 + + + + 12345 + pycsw record + + + diff --git a/tests/functionaltests/suites/manager/expected/post_Transaction-iso-02-update-full.xml b/tests/functionaltests/suites/manager/expected/post_Transaction-iso-02-update-full.xml new file mode 100644 index 000000000..0b9104ebe --- /dev/null +++ b/tests/functionaltests/suites/manager/expected/post_Transaction-iso-02-update-full.xml @@ -0,0 +1,9 @@ + + + + + 0 + 1 + 0 + + diff --git a/tests/functionaltests/suites/manager/expected/post_Transaction-iso-03-update-recprop.xml b/tests/functionaltests/suites/manager/expected/post_Transaction-iso-03-update-recprop.xml new file mode 100644 index 000000000..0b9104ebe --- /dev/null +++ b/tests/functionaltests/suites/manager/expected/post_Transaction-iso-03-update-recprop.xml @@ -0,0 +1,9 @@ + + + + + 0 + 1 + 0 + + diff --git a/tests/functionaltests/suites/manager/expected/post_Transaction-iso-04-update-recprop-no-matches.xml b/tests/functionaltests/suites/manager/expected/post_Transaction-iso-04-update-recprop-no-matches.xml new file mode 100644 index 000000000..01ccdf629 --- /dev/null +++ b/tests/functionaltests/suites/manager/expected/post_Transaction-iso-04-update-recprop-no-matches.xml @@ -0,0 +1,9 @@ + + + + + 0 + 0 + 0 + + diff --git a/tests/functionaltests/suites/manager/expected/post_Transaction-iso-05-delete.xml b/tests/functionaltests/suites/manager/expected/post_Transaction-iso-05-delete.xml new file mode 100644 index 000000000..0e48fd530 --- /dev/null +++ b/tests/functionaltests/suites/manager/expected/post_Transaction-iso-05-delete.xml @@ -0,0 +1,9 @@ + + + + + 0 + 0 + 1 + + diff --git a/tests/functionaltests/suites/manager/expected/post_Transaction-xxx-delete-all.xml b/tests/functionaltests/suites/manager/expected/post_Transaction-xxx-delete-all.xml new file mode 100644 index 000000000..01ccdf629 --- /dev/null +++ b/tests/functionaltests/suites/manager/expected/post_Transaction-xxx-delete-all.xml @@ -0,0 +1,9 @@ + + + + + 0 + 0 + 0 + + diff --git a/tests/functionaltests/suites/manager/post/Clear-000-delete-all.xml b/tests/functionaltests/suites/manager/post/Clear-000-delete-all.xml new file mode 100644 index 000000000..827ccc7f0 --- /dev/null +++ b/tests/functionaltests/suites/manager/post/Clear-000-delete-all.xml @@ -0,0 +1,13 @@ + + + + + + + dc:identifier + % + + + + + diff --git a/tests/functionaltests/suites/manager/post/GetCapabilities.xml b/tests/functionaltests/suites/manager/post/GetCapabilities.xml new file mode 100644 index 000000000..e4dc8070b --- /dev/null +++ b/tests/functionaltests/suites/manager/post/GetCapabilities.xml @@ -0,0 +1,9 @@ + + + + 2.0.2 + + + application/xml + + diff --git a/tests/functionaltests/suites/manager/post/GetDomain-parameter.xml b/tests/functionaltests/suites/manager/post/GetDomain-parameter.xml new file mode 100644 index 000000000..3779a0555 --- /dev/null +++ b/tests/functionaltests/suites/manager/post/GetDomain-parameter.xml @@ -0,0 +1,4 @@ + + + Harvest.ResourceType + diff --git a/tests/functionaltests/suites/manager/post/Transaction-000-delete-all.xml b/tests/functionaltests/suites/manager/post/Transaction-000-delete-all.xml new file mode 100644 index 000000000..827ccc7f0 --- /dev/null +++ b/tests/functionaltests/suites/manager/post/Transaction-000-delete-all.xml @@ -0,0 +1,13 @@ + + + + + + + dc:identifier + % + + + + + diff --git a/tests/functionaltests/suites/manager/post/Transaction-dc-01-insert.xml b/tests/functionaltests/suites/manager/post/Transaction-dc-01-insert.xml new file mode 100644 index 000000000..1fca1e266 --- /dev/null +++ b/tests/functionaltests/suites/manager/post/Transaction-dc-01-insert.xml @@ -0,0 +1,22 @@ + + + + + xyz + pycsw Catalogue + 2012-06-05 + Sample metadata + dataset + imagery + baseMaps + earthCover + BIL + Vanda Lima + en + + -90 -180 + 90 180 + + + + diff --git a/tests/functionaltests/suites/manager/post/Transaction-dc-02-update-full.xml b/tests/functionaltests/suites/manager/post/Transaction-dc-02-update-full.xml new file mode 100644 index 000000000..3d3bf1a75 --- /dev/null +++ b/tests/functionaltests/suites/manager/post/Transaction-dc-02-update-full.xml @@ -0,0 +1,22 @@ + + + + + xyz + THIS HAS BEEN UPDATED + 2012-06-05 + Sample metadata + dataset + imagery + baseMaps + earthCover + BIL + Vanda Lima + en + + -90 -180 + 90 180 + + + + diff --git a/tests/functionaltests/suites/manager/post/Transaction-fgdc-01-insert.xml b/tests/functionaltests/suites/manager/post/Transaction-fgdc-01-insert.xml new file mode 100644 index 000000000..3a7c368df --- /dev/null +++ b/tests/functionaltests/suites/manager/post/Transaction-fgdc-01-insert.xml @@ -0,0 +1,214 @@ + + + + + +foorecord + + +NOAA/ESRL Physical Sciences Division +20001201 +NCEP + +Boulder, CO +NOAA/ESRL Physical Sciences Division + +ftp://ftp.cdc.noaa.gov/Datasets/ncep/ +http://www.esrl.noaa.gov/psd/thredds/dodsC/Datasets/ncep/ +http://www.esrl.noaa.gov/psd/data/gridded/data.ncep.html + + + +NCEP's twice-daily global analysis at 2.5&#176; resolution on pressure levels which is a product of their operational forecast system. +Scientific research. + +Additional Fields: +-----------------: +StartDate: 19790101 +StopDate: 20001201 +Storage_Medium: online +PSD Search Fields: +Entry_ID: ncep.fgdc + + + + + +19790101 +20001201 + + +Publication_Date: 20001201 + + +Complete +Irregular + + + +-180 +180 +90.00 +-90.00 + + + + +GCMD DIF 5.33 +NCEP +Air temperature +Geopotential height +Precipitable Water Content +Precipitable water Content +Relative humidity +Sea level pressure +Station pressure +Surface potential temperature +Surface Pressure +Tropopause Pressure +Tropopause temperature +u-wind +v-wind + + +none +Global + + +none +none + + +none +19790101, 20001201 + + +None +None. Acknowledgement of PSD would appreciated in products derived from these data. + + + +PSD Data Management + + +mailing address +
NOAA/ESRL Physical Sciences Division
+
U.S. Dept. of Commerce
+
NOAA, R/PSD
+
325 Broadway
+Boulder +CO +80305 +USA +
+(303) 497-6640 +(303) 497-6020 +esrl.psd.data@noaa.gov +
+
+ +None +Unclassified +None + +Data resides in netCDF files at PSD +
+ + +Data QC'd at source. We have checked our stored values. + +None +None + + +None + + + + + + +None +20001201 +None +None +None + + +None + + + +9999 +9999 + + +None + +None +None + + +None +9999 + + + + + + + +PSD Data Management + + +mailing address +
NOAA/ESRL Physical Sciences Division
+
U.S. Dept. of Commerce
+
NOAA, Code R/PSD
+
325 Broadway
+Boulder +CO +80305 +USA +
+(303) 497-7200 +(303) 497-6020 +esrl.psd.data@noaa.gov +
+
+No warranty expressed or implied. +
+ +20001201 + + + +PSD Data Management + + +mailing address +
NOAA/ESRL Physical Sciences Division
+
U.S. Dept. of Commerce
+
NOAA, Code R/PSD
+
325 Broadway
+Boulder +CO +80305 +USA +
+(303) 497-7200 +(303) 497-6020 +esrl.psd.data@noaa.gov +
+
+FGDC Content Standards for Digital Geospatial Metadata +FGDC-STD-001-1998 + +None +Unclassified +None + +
+
+
+
diff --git a/tests/functionaltests/suites/manager/post/Transaction-fgdc-02-update-recprop.xml b/tests/functionaltests/suites/manager/post/Transaction-fgdc-02-update-recprop.xml new file mode 100644 index 000000000..252beb6be --- /dev/null +++ b/tests/functionaltests/suites/manager/post/Transaction-fgdc-02-update-recprop.xml @@ -0,0 +1,17 @@ + + + + + idinfo/citation/citeinfo/title + NEW_TITLE + + + + + dct:abstract + NCEP% + + + + + diff --git a/tests/functionaltests/suites/manager/post/Transaction-fgdc-03-delete-all.xml b/tests/functionaltests/suites/manager/post/Transaction-fgdc-03-delete-all.xml new file mode 100644 index 000000000..9e0fba0d7 --- /dev/null +++ b/tests/functionaltests/suites/manager/post/Transaction-fgdc-03-delete-all.xml @@ -0,0 +1,13 @@ + + + + + + + dc:identifier + % + + + + + diff --git a/tests/functionaltests/suites/manager/post/Transaction-iso-00-delete-all.xml b/tests/functionaltests/suites/manager/post/Transaction-iso-00-delete-all.xml new file mode 100644 index 000000000..0fb063efc --- /dev/null +++ b/tests/functionaltests/suites/manager/post/Transaction-iso-00-delete-all.xml @@ -0,0 +1,13 @@ + + + + + + + apiso:Identifier + % + + + + + diff --git a/tests/functionaltests/suites/manager/post/Transaction-iso-01-insert.xml b/tests/functionaltests/suites/manager/post/Transaction-iso-01-insert.xml new file mode 100644 index 000000000..1b238dd4d --- /dev/null +++ b/tests/functionaltests/suites/manager/post/Transaction-iso-01-insert.xml @@ -0,0 +1,73 @@ + + + + + + 12345 + + + + + + + + pycsw + + + + + + + + 2011-05-17 + + + + + + + pycsw record + + + + + 2011-05-17 + + + + + + + + + + Sample metadata record + + + eng + + + + + + + -180 + + + 180 + + + -90 + + + 90 + + + + + + + + + + diff --git a/tests/functionaltests/suites/manager/post/Transaction-iso-02-update-full.xml b/tests/functionaltests/suites/manager/post/Transaction-iso-02-update-full.xml new file mode 100644 index 000000000..a5a5d0019 --- /dev/null +++ b/tests/functionaltests/suites/manager/post/Transaction-iso-02-update-full.xml @@ -0,0 +1,73 @@ + + + + + + 12345 + + + + + + + + pycsw + + + + + + + + 2011-05-17 + + + + + + + pycsw record UPDATED + + + + + 2011-05-17 + + + + + + + + + + Sample metadata record + + + eng + + + + + + + -180 + + + 180 + + + -90 + + + 90 + + + + + + + + + + diff --git a/tests/functionaltests/suites/manager/post/Transaction-iso-03-update-recprop.xml b/tests/functionaltests/suites/manager/post/Transaction-iso-03-update-recprop.xml new file mode 100644 index 000000000..a130a5f25 --- /dev/null +++ b/tests/functionaltests/suites/manager/post/Transaction-iso-03-update-recprop.xml @@ -0,0 +1,17 @@ + + + + + apiso:Title + NEW_TITLE + + + + + apiso:Identifier + 12345 + + + + + diff --git a/tests/functionaltests/suites/manager/post/Transaction-iso-04-update-recprop-no-matches.xml b/tests/functionaltests/suites/manager/post/Transaction-iso-04-update-recprop-no-matches.xml new file mode 100644 index 000000000..e1ff7ac3a --- /dev/null +++ b/tests/functionaltests/suites/manager/post/Transaction-iso-04-update-recprop-no-matches.xml @@ -0,0 +1,17 @@ + + + + + apiso:Title + NEW_TITLE + + + + + apiso:Identifier + non-existent + + + + + diff --git a/tests/functionaltests/suites/manager/post/Transaction-iso-05-delete.xml b/tests/functionaltests/suites/manager/post/Transaction-iso-05-delete.xml new file mode 100644 index 000000000..675a8690e --- /dev/null +++ b/tests/functionaltests/suites/manager/post/Transaction-iso-05-delete.xml @@ -0,0 +1,13 @@ + + + + + + + apiso:Identifier + 12345 + + + + + diff --git a/tests/functionaltests/suites/manager/post/Transaction-xxx-delete-all.xml b/tests/functionaltests/suites/manager/post/Transaction-xxx-delete-all.xml new file mode 100644 index 000000000..827ccc7f0 --- /dev/null +++ b/tests/functionaltests/suites/manager/post/Transaction-xxx-delete-all.xml @@ -0,0 +1,13 @@ + + + + + + + dc:identifier + % + + + + + diff --git a/tests/functionaltests/suites/oaipmh/default.cfg b/tests/functionaltests/suites/oaipmh/default.cfg new file mode 100644 index 000000000..18a08989f --- /dev/null +++ b/tests/functionaltests/suites/oaipmh/default.cfg @@ -0,0 +1,91 @@ +# ================================================================= +# +# Authors: Tom Kralidis +# +# Copyright (c) 2011 Tom Kralidis +# +# Permission is hereby granted, free of charge, to any person +# obtaining a copy of this software and associated documentation +# files (the "Software"), to deal in the Software without +# restriction, including without limitation the rights to use, +# copy, modify, merge, publish, distribute, sublicense, and/or sell +# copies of the Software, and to permit persons to whom the +# Software is furnished to do so, subject to the following +# conditions: +# +# The above copyright notice and this permission notice shall be +# included in all copies or substantial portions of the Software. +# +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +# EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES +# OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +# NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT +# HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, +# WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR +# OTHER DEALINGS IN THE SOFTWARE. +# +# ================================================================= + +[server] +home=. +url=http://localhost/pycsw/csw.py?config=tests/suites/oaipmh/default.cfg +mimetype=application/xml; charset=UTF-8 +encoding=UTF-8 +language=en-US +maxrecords=10 +#loglevel=DEBUG +#logfile=/tmp/pycsw.log +#ogc_schemas_base=http://foo +federatedcatalogues=http://geo.data.gov/geoportal/csw/discovery +pretty_print=true +profiles=apiso +#gzip_compresslevel=8 +#spatial_ranking=true + +[manager] +transactions=false +allowed_ips=127.0.0.1 + +[metadata:main] +identification_title=pycsw Geospatial Catalogue +identification_abstract=pycsw is an OGC CSW server implementation written in Python +identification_keywords=catalogue,discovery +identification_keywords_type=theme +identification_fees=None +identification_accessconstraints=None +provider_name=pycsw +provider_url=http://pycsw.org/ +contact_name=Kralidis, Tom +contact_position=Senior Systems Scientist +contact_address=TBA +contact_city=Toronto +contact_stateorprovince=Ontario +contact_postalcode=M9C 3Z9 +contact_country=Canada +contact_phone=+01-416-xxx-xxxx +contact_fax=+01-416-xxx-xxxx +contact_email=tomkralidis@gmail.com +contact_url=http://kralidis.ca/ +contact_hours=0800h - 1600h EST +contact_instructions=During hours of service. Off on weekends. +contact_role=pointOfContact + +[repository] +# sqlite +database=sqlite:///tests/suites/cite/data/records.db +# postgres +#database=postgres://username:password@localhost/pycsw +table=records + +[metadata:inspire] +enabled=false +languages_supported=eng,gre +default_language=eng +date=2011-03-29 +gemet_keywords=Utility and governmental services +conformity_service=notEvaluated +contact_name=National Technical University of Athens +contact_email=tzotsos@gmail.com +temp_extent=2011-02-01/2011-03-30 + diff --git a/tests/functionaltests/suites/oaipmh/expected/get_GetRecord_bad_metadata_prefix.xml b/tests/functionaltests/suites/oaipmh/expected/get_GetRecord_bad_metadata_prefix.xml new file mode 100644 index 000000000..8633a422d --- /dev/null +++ b/tests/functionaltests/suites/oaipmh/expected/get_GetRecord_bad_metadata_prefix.xml @@ -0,0 +1,7 @@ + + + + PYCSW_TIMESTAMP + http://localhost/pycsw/csw.py?config=tests/suites/oaipmh/default.cfg&mode=oaipmh + Invalid outputschema parameter csw-recordd + diff --git a/tests/functionaltests/suites/oaipmh/expected/get_GetRecord_dc.xml b/tests/functionaltests/suites/oaipmh/expected/get_GetRecord_dc.xml new file mode 100644 index 000000000..367da8832 --- /dev/null +++ b/tests/functionaltests/suites/oaipmh/expected/get_GetRecord_dc.xml @@ -0,0 +1,26 @@ + + + + PYCSW_TIMESTAMP + http://localhost/pycsw/csw.py?config=tests/suites/oaipmh/default.cfg&mode=oaipmh + + + + urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f + + + + + + urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f + http://purl.org/dc/dcmitype/Image + image/svg+xml + Lorem ipsum + GR-22 + Tourism--Greece + Quisque lacus diam, placerat mollis, pharetra in, commodo sed, augue. Duis iaculis arcu vel arcu. + + + + + diff --git a/tests/functionaltests/suites/oaipmh/expected/get_GetRecord_iso.xml b/tests/functionaltests/suites/oaipmh/expected/get_GetRecord_iso.xml new file mode 100644 index 000000000..8a482b63e --- /dev/null +++ b/tests/functionaltests/suites/oaipmh/expected/get_GetRecord_iso.xml @@ -0,0 +1,62 @@ + + + + PYCSW_TIMESTAMP + http://localhost/pycsw/csw.py?config=tests/suites/oaipmh/default.cfg&mode=oaipmh + + + + urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f + + + + + + + urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f + + + + + + http://purl.org/dc/dcmitype/Image + + + + + + + ISO19115 + + + 2003/Cor.1:2006 + + + + + + + Lorem ipsum + + + + + Quisque lacus diam, placerat mollis, pharetra in, commodo sed, augue. Duis iaculis arcu vel arcu. + + + + + Tourism--Greece + + + + + + + + + + + + + diff --git a/tests/functionaltests/suites/oaipmh/expected/get_GetRecord_oai_dc.xml b/tests/functionaltests/suites/oaipmh/expected/get_GetRecord_oai_dc.xml new file mode 100644 index 000000000..c8840efba --- /dev/null +++ b/tests/functionaltests/suites/oaipmh/expected/get_GetRecord_oai_dc.xml @@ -0,0 +1,26 @@ + + + + PYCSW_TIMESTAMP + http://localhost/pycsw/csw.py?config=tests/suites/oaipmh/default.cfg&mode=oaipmh + + + + urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f + + + + + + urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f + http://purl.org/dc/dcmitype/Image + image/svg+xml + Lorem ipsum + GR-22 + Tourism--Greece + Quisque lacus diam, placerat mollis, pharetra in, commodo sed, augue. Duis iaculis arcu vel arcu. + + + + + diff --git a/tests/functionaltests/suites/oaipmh/expected/get_Identify.xml b/tests/functionaltests/suites/oaipmh/expected/get_Identify.xml new file mode 100644 index 000000000..967a385c5 --- /dev/null +++ b/tests/functionaltests/suites/oaipmh/expected/get_Identify.xml @@ -0,0 +1,15 @@ + + + + PYCSW_TIMESTAMP + http://localhost/pycsw/csw.py?config=tests/suites/oaipmh/default.cfg&mode=oaipmh + + pycsw Geospatial Catalogue + http://localhost/pycsw/csw.py?config=tests/suites/oaipmh/default.cfg&mode=oaipmh + 2.0 + tomkralidis@gmail.com + PYCSW_TIMESTAMP + no + YYYY-MM-DDThh:mm:ssZ + + diff --git a/tests/functionaltests/suites/oaipmh/expected/get_ListIdentifiers_bad_metadata_prefix.xml b/tests/functionaltests/suites/oaipmh/expected/get_ListIdentifiers_bad_metadata_prefix.xml new file mode 100644 index 000000000..3eaa03c66 --- /dev/null +++ b/tests/functionaltests/suites/oaipmh/expected/get_ListIdentifiers_bad_metadata_prefix.xml @@ -0,0 +1,7 @@ + + + + PYCSW_TIMESTAMP + http://localhost/pycsw/csw.py?config=tests/suites/oaipmh/default.cfg&mode=oaipmh + Invalid outputSchema parameter value: foo + diff --git a/tests/functionaltests/suites/oaipmh/expected/get_ListIdentifiers_dc.xml b/tests/functionaltests/suites/oaipmh/expected/get_ListIdentifiers_dc.xml new file mode 100644 index 000000000..388be64cd --- /dev/null +++ b/tests/functionaltests/suites/oaipmh/expected/get_ListIdentifiers_dc.xml @@ -0,0 +1,79 @@ + + + + PYCSW_TIMESTAMP + http://localhost/pycsw/csw.py?config=tests/suites/oaipmh/default.cfg&mode=oaipmh + + + + urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f + + + + + + + urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f + + + + + + + urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f + + + + + + + urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f + + + + + + + urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f + + + + + + + urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f + + + + + + + urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f + + + + + + + urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f + + + + + + + urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f + + + + + + + urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f + + + + + 11 + + diff --git a/tests/functionaltests/suites/oaipmh/expected/get_ListIdentifiers_iso.xml b/tests/functionaltests/suites/oaipmh/expected/get_ListIdentifiers_iso.xml new file mode 100644 index 000000000..1ab8be85c --- /dev/null +++ b/tests/functionaltests/suites/oaipmh/expected/get_ListIdentifiers_iso.xml @@ -0,0 +1,79 @@ + + + + PYCSW_TIMESTAMP + http://localhost/pycsw/csw.py?config=tests/suites/oaipmh/default.cfg&mode=oaipmh + + + + urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f + + + + + + + urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f + + + + + + + urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f + + + + + + + urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f + + + + + + + urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f + + + + + + + urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f + + + + + + + urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f + + + + + + + urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f + + + + + + + urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f + + + + + + + urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f + + + + + 11 + + diff --git a/tests/functionaltests/suites/oaipmh/expected/get_ListIdentifiers_missing_metadata_prefix.xml b/tests/functionaltests/suites/oaipmh/expected/get_ListIdentifiers_missing_metadata_prefix.xml new file mode 100644 index 000000000..4104799d7 --- /dev/null +++ b/tests/functionaltests/suites/oaipmh/expected/get_ListIdentifiers_missing_metadata_prefix.xml @@ -0,0 +1,7 @@ + + + + PYCSW_TIMESTAMP + http://localhost/pycsw/csw.py?config=tests/suites/oaipmh/default.cfg&mode=oaipmh + Missing metadataPrefix parameter + diff --git a/tests/functionaltests/suites/oaipmh/expected/get_ListIdentifiers_oai_dc.xml b/tests/functionaltests/suites/oaipmh/expected/get_ListIdentifiers_oai_dc.xml new file mode 100644 index 000000000..a41a083ab --- /dev/null +++ b/tests/functionaltests/suites/oaipmh/expected/get_ListIdentifiers_oai_dc.xml @@ -0,0 +1,79 @@ + + + + PYCSW_TIMESTAMP + http://localhost/pycsw/csw.py?config=tests/suites/oaipmh/default.cfg&mode=oaipmh + + + + urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f + + + + + + + urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f + + + + + + + urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f + + + + + + + urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f + + + + + + + urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f + + + + + + + urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f + + + + + + + urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f + + + + + + + urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f + + + + + + + urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f + + + + + + + urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f + + + + + 11 + + diff --git a/tests/functionaltests/suites/oaipmh/expected/get_ListMetadataFormats.xml b/tests/functionaltests/suites/oaipmh/expected/get_ListMetadataFormats.xml new file mode 100644 index 000000000..2549bc963 --- /dev/null +++ b/tests/functionaltests/suites/oaipmh/expected/get_ListMetadataFormats.xml @@ -0,0 +1,38 @@ + + + + PYCSW_TIMESTAMP + http://localhost/pycsw/csw.py?config=tests/suites/oaipmh/default.cfg&mode=oaipmh + + + csw-record + http://schemas.opengis.net/csw/2.0.2/record.xsd + http://www.opengis.net/cat/csw/2.0.2 + + + dif + http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/dif.xsd + http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ + + + fgdc-std + http://www.fgdc.gov/metadata/fgdc-std-001-1998.xsd + http://www.opengis.net/cat/csw/csdgm + + + gm03 + http://www.geocat.ch/internet/geocat/en/home/documentation/gm03.parsys.50316.downloadList.86742.DownloadFile.tmp/gm0321.zip + http://www.interlis.ch/INTERLIS2.3 + + + iso19139 + http://www.isotc211.org/2005/gmd/gmd.xsd + http://www.isotc211.org/2005/gmd + + + oai_dc + http://www.openarchives.org/OAI/2.0/oai_dc.xsd + http://www.openarchives.org/OAI/2.0/oai_dc/ + + + diff --git a/tests/functionaltests/suites/oaipmh/expected/get_ListRecords_dc.xml b/tests/functionaltests/suites/oaipmh/expected/get_ListRecords_dc.xml new file mode 100644 index 000000000..43a853d38 --- /dev/null +++ b/tests/functionaltests/suites/oaipmh/expected/get_ListRecords_dc.xml @@ -0,0 +1,185 @@ + + + + PYCSW_TIMESTAMP + http://localhost/pycsw/csw.py?config=tests/suites/oaipmh/default.cfg&mode=oaipmh + + + + urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f + + + + + + urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f + http://purl.org/dc/dcmitype/Image + image/svg+xml + Lorem ipsum + GR-22 + Tourism--Greece + Quisque lacus diam, placerat mollis, pharetra in, commodo sed, augue. Duis iaculis arcu vel arcu. + + + + + + urn:uuid:1ef30a8b-876d-4828-9246-c37ab4510bbd + + + + + + urn:uuid:1ef30a8b-876d-4828-9246-c37ab4510bbd + http://purl.org/dc/dcmitype/Service + Proin sit amet justo. In justo. Aenean adipiscing nulla id tellus. + + 60.042 13.754 + 68.410 17.920 + + + + + + + urn:uuid:66ae76b7-54ba-489b-a582-0f0633d96493 + + + + + + urn:uuid:66ae76b7-54ba-489b-a582-0f0633d96493 + Maecenas enim + http://purl.org/dc/dcmitype/Text + application/xhtml+xml + Marine sediments + Pellentesque tempus magna non sapien fringilla blandit. + + + + + + urn:uuid:6a3de50b-fa66-4b58-a0e6-ca146fdd18d4 + + + + + + urn:uuid:6a3de50b-fa66-4b58-a0e6-ca146fdd18d4 + http://purl.org/dc/dcmitype/Service + Ut facilisis justo ut lacus + Vegetation + urn:uuid:94bc9c83-97f6-4b40-9eb8-a8e8787a5c63 + + + + + + urn:uuid:784e2afd-a9fd-44a6-9a92-a3848371c8ec + + + + + + urn:uuid:784e2afd-a9fd-44a6-9a92-a3848371c8ec + Aliquam fermentum purus quis arcu + http://purl.org/dc/dcmitype/Text + Hydrography--Dictionaries + application/pdf + 2006-05-12 + Vestibulum quis ipsum sit amet metus imperdiet vehicula. Nulla scelerisque cursus mi. + + + + + + urn:uuid:829babb0-b2f1-49e1-8cd5-7b489fe71a1e + + + + + + urn:uuid:829babb0-b2f1-49e1-8cd5-7b489fe71a1e + http://purl.org/dc/dcmitype/Image + image/jp2 + Vestibulum massa purus + urn:uuid:9a669547-b69b-469f-a11f-2d875366bbdc + + + + + + urn:uuid:88247b56-4cbc-4df9-9860-db3f8042e357 + + + + + + urn:uuid:88247b56-4cbc-4df9-9860-db3f8042e357 + http://purl.org/dc/dcmitype/Dataset + Physiography-Landforms + FI-ES + Donec scelerisque pede ut nisl luctus accumsan. Quisque ultrices, lorem eget feugiat fringilla, lorem dui porttitor ante, cursus ultrices magna odio eu neque. + + + + + + urn:uuid:94bc9c83-97f6-4b40-9eb8-a8e8787a5c63 + + + + + + urn:uuid:94bc9c83-97f6-4b40-9eb8-a8e8787a5c63 + http://purl.org/dc/dcmitype/Dataset + Mauris sed neque + Vegetation-Cropland + Curabitur lacinia, ante non porta tempus, mi lorem feugiat odio, eget suscipit eros pede ac velit. + 2006-03-26 + + 47.595 -4.097 + 51.217 0.889 + + + + + + + urn:uuid:9a669547-b69b-469f-a11f-2d875366bbdc + + + + + + urn:uuid:9a669547-b69b-469f-a11f-2d875366bbdc + http://purl.org/dc/dcmitype/Dataset + Ñunç elementum + Hydrography-Oceanographic + 2005-10-24 + + 44.792 -6.171 + 51.126 -2.228 + + + + + + + urn:uuid:a06af396-3105-442d-8b40-22b57a90d2f2 + + + + + + urn:uuid:a06af396-3105-442d-8b40-22b57a90d2f2 + http://purl.org/dc/dcmitype/Image + Lorem ipsum dolor sit amet + image/jpeg + IT-FI + + + + 11 + + diff --git a/tests/functionaltests/suites/oaipmh/expected/get_ListRecords_dc_bad_metadata_prefix.xml b/tests/functionaltests/suites/oaipmh/expected/get_ListRecords_dc_bad_metadata_prefix.xml new file mode 100644 index 000000000..6ed9a9c58 --- /dev/null +++ b/tests/functionaltests/suites/oaipmh/expected/get_ListRecords_dc_bad_metadata_prefix.xml @@ -0,0 +1,7 @@ + + + + PYCSW_TIMESTAMP + http://localhost/pycsw/csw.py?config=tests/suites/oaipmh/default.cfg&mode=oaipmh + Invalid outputSchema parameter value: csw-recording + diff --git a/tests/functionaltests/suites/oaipmh/expected/get_ListRecords_iso19139.xml b/tests/functionaltests/suites/oaipmh/expected/get_ListRecords_iso19139.xml new file mode 100644 index 000000000..58bd0023a --- /dev/null +++ b/tests/functionaltests/suites/oaipmh/expected/get_ListRecords_iso19139.xml @@ -0,0 +1,588 @@ + + + + PYCSW_TIMESTAMP + http://localhost/pycsw/csw.py?config=tests/suites/oaipmh/default.cfg&mode=oaipmh + + + + urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f + + + + + + + urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f + + + + + + http://purl.org/dc/dcmitype/Image + + + + + + + ISO19115 + + + 2003/Cor.1:2006 + + + + + + + Lorem ipsum + + + + + Quisque lacus diam, placerat mollis, pharetra in, commodo sed, augue. Duis iaculis arcu vel arcu. + + + + + Tourism--Greece + + + + + + + + + + + + + + urn:uuid:1ef30a8b-876d-4828-9246-c37ab4510bbd + + + + + + + urn:uuid:1ef30a8b-876d-4828-9246-c37ab4510bbd + + + + + + http://purl.org/dc/dcmitype/Service + + + + + + + ISO19115 + + + 2003/Cor.1:2006 + + + + + + + + + + + + Proin sit amet justo. In justo. Aenean adipiscing nulla id tellus. + + + + + + + + + + 13.75 + + + 17.92 + + + 60.04 + + + 68.41 + + + + + + + + + + + + + urn:uuid:66ae76b7-54ba-489b-a582-0f0633d96493 + + + + + + + urn:uuid:66ae76b7-54ba-489b-a582-0f0633d96493 + + + + + + http://purl.org/dc/dcmitype/Text + + + + + + + ISO19115 + + + 2003/Cor.1:2006 + + + + + + + Maecenas enim + + + + + Pellentesque tempus magna non sapien fringilla blandit. + + + + + Marine sediments + + + + + + + + + + + + + + urn:uuid:6a3de50b-fa66-4b58-a0e6-ca146fdd18d4 + + + + + + + urn:uuid:6a3de50b-fa66-4b58-a0e6-ca146fdd18d4 + + + + + + http://purl.org/dc/dcmitype/Service + + + + + + + ISO19115 + + + 2003/Cor.1:2006 + + + + + + + Ut facilisis justo ut lacus + + + + + + + + + + Vegetation + + + + + + + + + + + + + + urn:uuid:784e2afd-a9fd-44a6-9a92-a3848371c8ec + + + + + + + urn:uuid:784e2afd-a9fd-44a6-9a92-a3848371c8ec + + + + + + http://purl.org/dc/dcmitype/Text + + + + + + + ISO19115 + + + 2003/Cor.1:2006 + + + + + + + Aliquam fermentum purus quis arcu + + + + + Vestibulum quis ipsum sit amet metus imperdiet vehicula. Nulla scelerisque cursus mi. + + + + + Hydrography--Dictionaries + + + + + + + + + + + + + + urn:uuid:829babb0-b2f1-49e1-8cd5-7b489fe71a1e + + + + + + + urn:uuid:829babb0-b2f1-49e1-8cd5-7b489fe71a1e + + + + + + http://purl.org/dc/dcmitype/Image + + + + + + + ISO19115 + + + 2003/Cor.1:2006 + + + + + + + Vestibulum massa purus + + + + + + + + + + + + + + + + + urn:uuid:88247b56-4cbc-4df9-9860-db3f8042e357 + + + + + + + urn:uuid:88247b56-4cbc-4df9-9860-db3f8042e357 + + + + + + dataset + + + + + + + ISO19115 + + + 2003/Cor.1:2006 + + + + + + + + + + + + Donec scelerisque pede ut nisl luctus accumsan. Quisque ultrices, lorem eget feugiat fringilla, lorem dui porttitor ante, cursus ultrices magna odio eu neque. + + + + + Physiography-Landforms + + + + + + + + + + + + + + urn:uuid:94bc9c83-97f6-4b40-9eb8-a8e8787a5c63 + + + + + + + urn:uuid:94bc9c83-97f6-4b40-9eb8-a8e8787a5c63 + + + + + + dataset + + + + + + + ISO19115 + + + 2003/Cor.1:2006 + + + + + + + Mauris sed neque + + + + + Curabitur lacinia, ante non porta tempus, mi lorem feugiat odio, eget suscipit eros pede ac velit. + + + + + Vegetation-Cropland + + + + + + + + + + + + -4.1 + + + 0.89 + + + 47.59 + + + 51.22 + + + + + + + + + + + + + urn:uuid:9a669547-b69b-469f-a11f-2d875366bbdc + + + + + + + urn:uuid:9a669547-b69b-469f-a11f-2d875366bbdc + + + + + + dataset + + + + + + + ISO19115 + + + 2003/Cor.1:2006 + + + + + + + Ñunç elementum + + + + + + + + + + Hydrography-Oceanographic + + + + + + + + + + + + -6.17 + + + -2.23 + + + 44.79 + + + 51.13 + + + + + + + + + + + + + urn:uuid:a06af396-3105-442d-8b40-22b57a90d2f2 + + + + + + + urn:uuid:a06af396-3105-442d-8b40-22b57a90d2f2 + + + + + + http://purl.org/dc/dcmitype/Image + + + + + + + ISO19115 + + + 2003/Cor.1:2006 + + + + + + + Lorem ipsum dolor sit amet + + + + + + + + + + + + + + + 11 + + diff --git a/tests/functionaltests/suites/oaipmh/expected/get_ListRecords_oai_dc.xml b/tests/functionaltests/suites/oaipmh/expected/get_ListRecords_oai_dc.xml new file mode 100644 index 000000000..a5dc39975 --- /dev/null +++ b/tests/functionaltests/suites/oaipmh/expected/get_ListRecords_oai_dc.xml @@ -0,0 +1,185 @@ + + + + PYCSW_TIMESTAMP + http://localhost/pycsw/csw.py?config=tests/suites/oaipmh/default.cfg&mode=oaipmh + + + + urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f + + + + + + urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f + http://purl.org/dc/dcmitype/Image + image/svg+xml + Lorem ipsum + GR-22 + Tourism--Greece + Quisque lacus diam, placerat mollis, pharetra in, commodo sed, augue. Duis iaculis arcu vel arcu. + + + + + + urn:uuid:1ef30a8b-876d-4828-9246-c37ab4510bbd + + + + + + urn:uuid:1ef30a8b-876d-4828-9246-c37ab4510bbd + http://purl.org/dc/dcmitype/Service + Proin sit amet justo. In justo. Aenean adipiscing nulla id tellus. + + 60.042 13.754 + 68.410 17.920 + + + + + + + urn:uuid:66ae76b7-54ba-489b-a582-0f0633d96493 + + + + + + urn:uuid:66ae76b7-54ba-489b-a582-0f0633d96493 + Maecenas enim + http://purl.org/dc/dcmitype/Text + application/xhtml+xml + Marine sediments + Pellentesque tempus magna non sapien fringilla blandit. + + + + + + urn:uuid:6a3de50b-fa66-4b58-a0e6-ca146fdd18d4 + + + + + + urn:uuid:6a3de50b-fa66-4b58-a0e6-ca146fdd18d4 + http://purl.org/dc/dcmitype/Service + Ut facilisis justo ut lacus + Vegetation + urn:uuid:94bc9c83-97f6-4b40-9eb8-a8e8787a5c63 + + + + + + urn:uuid:784e2afd-a9fd-44a6-9a92-a3848371c8ec + + + + + + urn:uuid:784e2afd-a9fd-44a6-9a92-a3848371c8ec + Aliquam fermentum purus quis arcu + http://purl.org/dc/dcmitype/Text + Hydrography--Dictionaries + application/pdf + 2006-05-12 + Vestibulum quis ipsum sit amet metus imperdiet vehicula. Nulla scelerisque cursus mi. + + + + + + urn:uuid:829babb0-b2f1-49e1-8cd5-7b489fe71a1e + + + + + + urn:uuid:829babb0-b2f1-49e1-8cd5-7b489fe71a1e + http://purl.org/dc/dcmitype/Image + image/jp2 + Vestibulum massa purus + urn:uuid:9a669547-b69b-469f-a11f-2d875366bbdc + + + + + + urn:uuid:88247b56-4cbc-4df9-9860-db3f8042e357 + + + + + + urn:uuid:88247b56-4cbc-4df9-9860-db3f8042e357 + http://purl.org/dc/dcmitype/Dataset + Physiography-Landforms + FI-ES + Donec scelerisque pede ut nisl luctus accumsan. Quisque ultrices, lorem eget feugiat fringilla, lorem dui porttitor ante, cursus ultrices magna odio eu neque. + + + + + + urn:uuid:94bc9c83-97f6-4b40-9eb8-a8e8787a5c63 + + + + + + urn:uuid:94bc9c83-97f6-4b40-9eb8-a8e8787a5c63 + http://purl.org/dc/dcmitype/Dataset + Mauris sed neque + Vegetation-Cropland + Curabitur lacinia, ante non porta tempus, mi lorem feugiat odio, eget suscipit eros pede ac velit. + 2006-03-26 + + 47.595 -4.097 + 51.217 0.889 + + + + + + + urn:uuid:9a669547-b69b-469f-a11f-2d875366bbdc + + + + + + urn:uuid:9a669547-b69b-469f-a11f-2d875366bbdc + http://purl.org/dc/dcmitype/Dataset + Ñunç elementum + Hydrography-Oceanographic + 2005-10-24 + + 44.792 -6.171 + 51.126 -2.228 + + + + + + + urn:uuid:a06af396-3105-442d-8b40-22b57a90d2f2 + + + + + + urn:uuid:a06af396-3105-442d-8b40-22b57a90d2f2 + http://purl.org/dc/dcmitype/Image + Lorem ipsum dolor sit amet + image/jpeg + IT-FI + + + + 11 + + diff --git a/tests/functionaltests/suites/oaipmh/expected/get_ListSets.xml b/tests/functionaltests/suites/oaipmh/expected/get_ListSets.xml new file mode 100644 index 000000000..2be90809f --- /dev/null +++ b/tests/functionaltests/suites/oaipmh/expected/get_ListSets.xml @@ -0,0 +1,16 @@ + + + + PYCSW_TIMESTAMP + http://localhost/pycsw/csw.py?config=tests/suites/oaipmh/default.cfg&mode=oaipmh + + + datasets + Datasets + + + interactiveResources + Interactive Resources + + + diff --git a/tests/functionaltests/suites/oaipmh/expected/get_bad_verb.xml b/tests/functionaltests/suites/oaipmh/expected/get_bad_verb.xml new file mode 100644 index 000000000..0e3dfba47 --- /dev/null +++ b/tests/functionaltests/suites/oaipmh/expected/get_bad_verb.xml @@ -0,0 +1,7 @@ + + + + PYCSW_TIMESTAMP + http://localhost/pycsw/csw.py?config=tests/suites/oaipmh/default.cfg&mode=oaipmh + Unknown verb 'foo' + diff --git a/tests/functionaltests/suites/oaipmh/expected/get_empty.xml b/tests/functionaltests/suites/oaipmh/expected/get_empty.xml new file mode 100644 index 000000000..1f6d54ab8 --- /dev/null +++ b/tests/functionaltests/suites/oaipmh/expected/get_empty.xml @@ -0,0 +1,7 @@ + + + + PYCSW_TIMESTAMP + http://localhost/pycsw/csw.py?config=tests/suites/oaipmh/default.cfg&mode=oaipmh + Missing 'verb' parameter + diff --git a/tests/functionaltests/suites/oaipmh/expected/get_empty_with_amp.xml b/tests/functionaltests/suites/oaipmh/expected/get_empty_with_amp.xml new file mode 100644 index 000000000..1f6d54ab8 --- /dev/null +++ b/tests/functionaltests/suites/oaipmh/expected/get_empty_with_amp.xml @@ -0,0 +1,7 @@ + + + + PYCSW_TIMESTAMP + http://localhost/pycsw/csw.py?config=tests/suites/oaipmh/default.cfg&mode=oaipmh + Missing 'verb' parameter + diff --git a/tests/functionaltests/suites/oaipmh/expected/get_illegal_verb.xml b/tests/functionaltests/suites/oaipmh/expected/get_illegal_verb.xml new file mode 100644 index 000000000..4a88ffe48 --- /dev/null +++ b/tests/functionaltests/suites/oaipmh/expected/get_illegal_verb.xml @@ -0,0 +1,7 @@ + + + + PYCSW_TIMESTAMP + http://localhost/pycsw/csw.py?config=tests/suites/oaipmh/default.cfg&mode=oaipmh + Unknown verb 'foo' + diff --git a/tests/functionaltests/suites/oaipmh/get/requests.txt b/tests/functionaltests/suites/oaipmh/get/requests.txt new file mode 100644 index 000000000..bf6955232 --- /dev/null +++ b/tests/functionaltests/suites/oaipmh/get/requests.txt @@ -0,0 +1,20 @@ +empty,mode=oaipmh +empty_with_amp,mode=oaipmh& +bad_verb,mode=oaipmh&verb=foo +illegal_verb,mode=oaipmh&verb=foo&foo=bar +Identify,mode=oaipmh&verb=Identify +ListSets,mode=oaipmh&verb=ListSets +ListMetadataFormats,mode=oaipmh&verb=ListMetadataFormats +GetRecord_dc,mode=oaipmh&verb=GetRecord&identifier=urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f&metadataPrefix=csw-record +GetRecord_bad_metadata_prefix,mode=oaipmh&verb=GetRecord&identifier=urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f&metadataPrefix=csw-recordd +GetRecord_oai_dc,mode=oaipmh&verb=GetRecord&identifier=urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f&metadataPrefix=oai_dc +GetRecord_iso,mode=oaipmh&verb=GetRecord&identifier=urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f&metadataPrefix=iso19139 +ListIdentifiers_missing_metadata_prefix,mode=oaipmh&verb=ListIdentifiers +ListIdentifiers_dc,mode=oaipmh&verb=ListIdentifiers&metadataPrefix=csw-record +ListIdentifiers_iso,mode=oaipmh&verb=ListIdentifiers&metadataPrefix=iso19139 +ListIdentifiers_oai_dc,mode=oaipmh&verb=ListIdentifiers&metadataPrefix=oai_dc +ListIdentifiers_bad_metadata_prefix,mode=oaipmh&verb=ListIdentifiers&metadataPrefix=foo +ListRecords_dc,mode=oaipmh&verb=ListRecords&metadataPrefix=csw-record +ListRecords_dc_bad_metadata_prefix,mode=oaipmh&verb=ListRecords&metadataPrefix=csw-recording +ListRecords_oai_dc,mode=oaipmh&verb=ListRecords&metadataPrefix=oai_dc +ListRecords_iso19139,mode=oaipmh&verb=ListRecords&metadataPrefix=iso19139 diff --git a/tests/functionaltests/suites/repofilter/default.cfg b/tests/functionaltests/suites/repofilter/default.cfg new file mode 100644 index 000000000..63339ccbb --- /dev/null +++ b/tests/functionaltests/suites/repofilter/default.cfg @@ -0,0 +1,91 @@ +# ================================================================= +# +# Authors: Tom Kralidis +# +# Copyright (c) 2011 Tom Kralidis +# +# Permission is hereby granted, free of charge, to any person +# obtaining a copy of this software and associated documentation +# files (the "Software"), to deal in the Software without +# restriction, including without limitation the rights to use, +# copy, modify, merge, publish, distribute, sublicense, and/or sell +# copies of the Software, and to permit persons to whom the +# Software is furnished to do so, subject to the following +# conditions: +# +# The above copyright notice and this permission notice shall be +# included in all copies or substantial portions of the Software. +# +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +# EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES +# OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +# NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT +# HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, +# WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR +# OTHER DEALINGS IN THE SOFTWARE. +# +# ================================================================= + +[server] +home=. +url=http://localhost/pycsw/csw.py?config=tests/suites/repofilter/default.cfg +mimetype=application/xml; charset=UTF-8 +encoding=UTF-8 +language=en-US +maxrecords=10 +#loglevel=DEBUG +#logfile=/tmp/pycsw.log +#ogc_schemas_base=http://foo +federatedcatalogues=http://geo.data.gov/geoportal/csw/discovery +pretty_print=true +#gzip_compresslevel=8 +#spatial_ranking=true + +[manager] +transactions=false +allowed_ips=127.0.0.1 + +[metadata:main] +identification_title=pycsw Geospatial Catalogue +identification_abstract=pycsw is an OGC CSW server implementation written in Python +identification_keywords=catalogue,discovery +identification_keywords_type=theme +identification_fees=None +identification_accessconstraints=None +provider_name=pycsw +provider_url=http://pycsw.org/ +contact_name=Kralidis, Tom +contact_position=Senior Systems Scientist +contact_address=TBA +contact_city=Toronto +contact_stateorprovince=Ontario +contact_postalcode=M9C 3Z9 +contact_country=Canada +contact_phone=+01-416-xxx-xxxx +contact_fax=+01-416-xxx-xxxx +contact_email=tomkralidis@gmail.com +contact_url=http://kralidis.ca/ +contact_hours=0800h - 1600h EST +contact_instructions=During hours of service. Off on weekends. +contact_role=pointOfContact + +[repository] +# sqlite +database=sqlite:///tests/suites/cite/data/records.db +# postgres +#database=postgres://username:password@localhost/pycsw +table=records +filter=type = 'http://purl.org/dc/dcmitype/Dataset' + +[metadata:inspire] +enabled=false +languages_supported=eng,gre +default_language=eng +date=2011-03-29 +gemet_keywords=Utility and governmental services +conformity_service=notEvaluated +contact_name=National Technical University of Athens +contact_email=tzotsos@gmail.com +temp_extent=2011-02-01/2011-03-30 + diff --git a/tests/functionaltests/suites/repofilter/expected/post_GetRecordById-masked.xml b/tests/functionaltests/suites/repofilter/expected/post_GetRecordById-masked.xml new file mode 100644 index 000000000..9bf61df8e --- /dev/null +++ b/tests/functionaltests/suites/repofilter/expected/post_GetRecordById-masked.xml @@ -0,0 +1,3 @@ + + + diff --git a/tests/functionaltests/suites/repofilter/expected/post_GetRecords-all.xml b/tests/functionaltests/suites/repofilter/expected/post_GetRecords-all.xml new file mode 100644 index 000000000..99af61e73 --- /dev/null +++ b/tests/functionaltests/suites/repofilter/expected/post_GetRecords-all.xml @@ -0,0 +1,37 @@ + + + + + + + urn:uuid:88247b56-4cbc-4df9-9860-db3f8042e357 + http://purl.org/dc/dcmitype/Dataset + Physiography-Landforms + FI-ES + Donec scelerisque pede ut nisl luctus accumsan. Quisque ultrices, lorem eget feugiat fringilla, lorem dui porttitor ante, cursus ultrices magna odio eu neque. + + + urn:uuid:94bc9c83-97f6-4b40-9eb8-a8e8787a5c63 + http://purl.org/dc/dcmitype/Dataset + Mauris sed neque + Vegetation-Cropland + Curabitur lacinia, ante non porta tempus, mi lorem feugiat odio, eget suscipit eros pede ac velit. + 2006-03-26 + + 47.595 -4.097 + 51.217 0.889 + + + + urn:uuid:9a669547-b69b-469f-a11f-2d875366bbdc + http://purl.org/dc/dcmitype/Dataset + Ñunç elementum + Hydrography-Oceanographic + 2005-10-24 + + 44.792 -6.171 + 51.126 -2.228 + + + + diff --git a/tests/functionaltests/suites/repofilter/post/GetRecordById-masked.xml b/tests/functionaltests/suites/repofilter/post/GetRecordById-masked.xml new file mode 100644 index 000000000..1a61c85a8 --- /dev/null +++ b/tests/functionaltests/suites/repofilter/post/GetRecordById-masked.xml @@ -0,0 +1,5 @@ + + + urn:uuid:784e2afd-a9fd-44a6-9a92-a3848371c8ec + summary + diff --git a/tests/functionaltests/suites/repofilter/post/GetRecords-all.xml b/tests/functionaltests/suites/repofilter/post/GetRecords-all.xml new file mode 100644 index 000000000..ecae692a0 --- /dev/null +++ b/tests/functionaltests/suites/repofilter/post/GetRecords-all.xml @@ -0,0 +1,6 @@ + + + + full + + diff --git a/tests/functionaltests/suites/sru/default.cfg b/tests/functionaltests/suites/sru/default.cfg new file mode 100644 index 000000000..0140efaf4 --- /dev/null +++ b/tests/functionaltests/suites/sru/default.cfg @@ -0,0 +1,90 @@ +# ================================================================= +# +# Authors: Tom Kralidis +# +# Copyright (c) 2011 Tom Kralidis +# +# Permission is hereby granted, free of charge, to any person +# obtaining a copy of this software and associated documentation +# files (the "Software"), to deal in the Software without +# restriction, including without limitation the rights to use, +# copy, modify, merge, publish, distribute, sublicense, and/or sell +# copies of the Software, and to permit persons to whom the +# Software is furnished to do so, subject to the following +# conditions: +# +# The above copyright notice and this permission notice shall be +# included in all copies or substantial portions of the Software. +# +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +# EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES +# OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +# NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT +# HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, +# WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR +# OTHER DEALINGS IN THE SOFTWARE. +# +# ================================================================= + +[server] +home=. +url=http://localhost/pycsw/csw.py?config=tests/suites/sru/default.cfg +mimetype=application/xml; charset=UTF-8 +encoding=UTF-8 +language=en-US +maxrecords=10 +#loglevel=DEBUG +#logfile=/tmp/pycsw.log +#ogc_schemas_base=http://foo +federatedcatalogues=http://geo.data.gov/geoportal/csw/discovery +pretty_print=true +#gzip_compresslevel=8 +#spatial_ranking=true + +[manager] +transactions=false +allowed_ips=127.0.0.1 + +[metadata:main] +identification_title=pycsw Geospatial Catalogue +identification_abstract=pycsw is an OGC CSW server implementation written in Python +identification_keywords=catalogue,discovery +identification_keywords_type=theme +identification_fees=None +identification_accessconstraints=None +provider_name=pycsw +provider_url=http://pycsw.org/ +contact_name=Kralidis, Tom +contact_position=Senior Systems Scientist +contact_address=TBA +contact_city=Toronto +contact_stateorprovince=Ontario +contact_postalcode=M9C 3Z9 +contact_country=Canada +contact_phone=+01-416-xxx-xxxx +contact_fax=+01-416-xxx-xxxx +contact_email=tomkralidis@gmail.com +contact_url=http://kralidis.ca/ +contact_hours=0800h - 1600h EST +contact_instructions=During hours of service. Off on weekends. +contact_role=pointOfContact + +[repository] +# sqlite +database=sqlite:///tests/suites/cite/data/records.db +# postgres +#database=postgres://username:password@localhost/pycsw +table=records + +[metadata:inspire] +enabled=false +languages_supported=eng,gre +default_language=eng +date=2011-03-29 +gemet_keywords=Utility and governmental services +conformity_service=notEvaluated +contact_name=National Technical University of Athens +contact_email=tzotsos@gmail.com +temp_extent=2011-02-01/2011-03-30 + diff --git a/tests/functionaltests/suites/sru/expected/get_explain.xml b/tests/functionaltests/suites/sru/expected/get_explain.xml new file mode 100644 index 000000000..34103909d --- /dev/null +++ b/tests/functionaltests/suites/sru/expected/get_explain.xml @@ -0,0 +1,128 @@ + + + + 1.1 + + XML + http://explain.z3950.org/dtd/2.1/ + + + + PYCSW_HOST + PYCSW_PORT + pycsw + + + pycsw Geospatial Catalogue + pycsw is an OGC CSW server implementation written in Python + + + + + abstract + + abstract + + + + contributor + + contributor + + + + creator + + creator + + + + date + + date + + + + format + + format + + + + identifier + + identifier + + + + language + + language + + + + modified + + modified + + + + publisher + + publisher + + + + relation + + relation + + + + rights + + rights + + + + source + + source + + + + subject + + subject + + + + title + + title + + + + type + + type + + + + + title222 + + + + + + Simple Dublin Core + + + + 0 + + + + + diff --git a/tests/functionaltests/suites/sru/expected/get_search.xml b/tests/functionaltests/suites/sru/expected/get_search.xml new file mode 100644 index 000000000..ce70bc154 --- /dev/null +++ b/tests/functionaltests/suites/sru/expected/get_search.xml @@ -0,0 +1,6 @@ + + + + 1.1 + 5 + diff --git a/tests/functionaltests/suites/sru/expected/get_search_cql.xml b/tests/functionaltests/suites/sru/expected/get_search_cql.xml new file mode 100644 index 000000000..9a98be980 --- /dev/null +++ b/tests/functionaltests/suites/sru/expected/get_search_cql.xml @@ -0,0 +1,30 @@ + + + + 1.1 + 2 + + + + urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f + Lorem ipsum + http://purl.org/dc/dcmitype/Image + + + -2 + + info:srw/schema/1/dc-v1.1 + xml + + + + urn:uuid:a06af396-3105-442d-8b40-22b57a90d2f2 + Lorem ipsum dolor sit amet + http://purl.org/dc/dcmitype/Image + + + -1 + + info:srw/schema/1/dc-v1.1 + xml + diff --git a/tests/functionaltests/suites/sru/expected/get_search_maxrecords.xml b/tests/functionaltests/suites/sru/expected/get_search_maxrecords.xml new file mode 100644 index 000000000..cba2314eb --- /dev/null +++ b/tests/functionaltests/suites/sru/expected/get_search_maxrecords.xml @@ -0,0 +1,30 @@ + + + + 1.1 + 5 + + + + urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f + Lorem ipsum + http://purl.org/dc/dcmitype/Image + + + 1 + + info:srw/schema/1/dc-v1.1 + xml + + + + urn:uuid:88247b56-4cbc-4df9-9860-db3f8042e357 + + http://purl.org/dc/dcmitype/Dataset + + + 2 + + info:srw/schema/1/dc-v1.1 + xml + diff --git a/tests/functionaltests/suites/sru/expected/get_search_startrecord_maxrecords.xml b/tests/functionaltests/suites/sru/expected/get_search_startrecord_maxrecords.xml new file mode 100644 index 000000000..cba2314eb --- /dev/null +++ b/tests/functionaltests/suites/sru/expected/get_search_startrecord_maxrecords.xml @@ -0,0 +1,30 @@ + + + + 1.1 + 5 + + + + urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f + Lorem ipsum + http://purl.org/dc/dcmitype/Image + + + 1 + + info:srw/schema/1/dc-v1.1 + xml + + + + urn:uuid:88247b56-4cbc-4df9-9860-db3f8042e357 + + http://purl.org/dc/dcmitype/Dataset + + + 2 + + info:srw/schema/1/dc-v1.1 + xml + diff --git a/tests/functionaltests/suites/sru/get/requests.txt b/tests/functionaltests/suites/sru/get/requests.txt new file mode 100644 index 000000000..3db4b8cd0 --- /dev/null +++ b/tests/functionaltests/suites/sru/get/requests.txt @@ -0,0 +1,5 @@ +explain,mode=sru +search,mode=sru&version=1.1&operation=searchRetrieve&query=lor +search_maxrecords,mode=sru&operation=searchRetrieve&query=lor&maximumRecords=2 +search_startrecord_maxrecords,mode=sru&operation=searchRetrieve&query=lor&maximumRecords=2&startRecord=1 +search_cql,mode=sru&operation=searchRetrieve&query=dc:title%20like%20'%lor%'&maximumRecords=5 diff --git a/tests/functionaltests/suites/utf-8/default.cfg b/tests/functionaltests/suites/utf-8/default.cfg new file mode 100644 index 000000000..d68bfbdcb --- /dev/null +++ b/tests/functionaltests/suites/utf-8/default.cfg @@ -0,0 +1,89 @@ +# ================================================================= +# +# Authors: Tom Kralidis +# +# Copyright (c) 2011 Tom Kralidis +# +# Permission is hereby granted, free of charge, to any person +# obtaining a copy of this software and associated documentation +# files (the "Software"), to deal in the Software without +# restriction, including without limitation the rights to use, +# copy, modify, merge, publish, distribute, sublicense, and/or sell +# copies of the Software, and to permit persons to whom the +# Software is furnished to do so, subject to the following +# conditions: +# +# The above copyright notice and this permission notice shall be +# included in all copies or substantial portions of the Software. +# +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +# EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES +# OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +# NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT +# HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, +# WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR +# OTHER DEALINGS IN THE SOFTWARE. +# +# ================================================================= + +[server] +home=. +url=http://localhost/pycsw/csw.py?config=tests/suites/utf-8/default.cfg +mimetype=application/xml; charset=UTF-8 +encoding=UTF-8 +language=en-US +maxrecords=10 +#loglevel=DEBUG +#logfile=/tmp/pycsw.log +#ogc_schemas_base=http://foo +federatedcatalogues=http://demo.pycsw.org/gisdata/csw +pretty_print=true +#gzip_compresslevel=8 +#spatial_ranking=true + +[manager] +transactions=false +allowed_ips=127.0.0.1 + +[metadata:main] +identification_title=ErrŹĆŁÓdd +identification_abstract=pycsw is an OGC CSW server implementation written in Python +identification_keywords=catalogue,discovery +identification_keywords_type=theme +identification_fees=None +identification_accessconstraints=None +provider_name=pycsw +provider_url=http://pycsw.org/ +contact_name=Kralidis, Tom +contact_position=Senior Systems Scientist +contact_address=TBA +contact_city=Toronto +contact_stateorprovince=Ontario +contact_postalcode=M9C 3Z9 +contact_country=Canada +contact_phone=+01-416-xxx-xxxx +contact_fax=+01-416-xxx-xxxx +contact_email=tomkralidis@gmail.com +contact_url=http://kralidis.ca/ +contact_hours=0800h - 1600h EST +contact_instructions=During hours of service. Off on weekends. +contact_role=pointOfContact + +[repository] +# sqlite +database=sqlite:///tests/suites/cite/data/records.db +# postgres +#database=postgres://username:password@localhost/pycsw +table=records + +[metadata:inspire] +enabled=false +languages_supported=eng,gre +default_language=eng +date=2011-03-29 +gemet_keywords=Utility and governmental services +conformity_service=notEvaluated +contact_name=National Technical University of Athens +contact_email=tzotsos@gmail.com +temp_extent=2011-02-01/2011-03-30 diff --git a/tests/functionaltests/suites/utf-8/expected/post_GetCapabilities.xml b/tests/functionaltests/suites/utf-8/expected/post_GetCapabilities.xml new file mode 100644 index 000000000..094ce1123 --- /dev/null +++ b/tests/functionaltests/suites/utf-8/expected/post_GetCapabilities.xml @@ -0,0 +1,262 @@ + + + + + ErrŹĆŁÓdd + pycsw is an OGC CSW server implementation written in Python + + catalogue + discovery + theme + + CSW + 2.0.2 + 3.0.0 + None + None + + + pycsw + + + Kralidis, Tom + Senior Systems Scientist + + + +01-416-xxx-xxxx + +01-416-xxx-xxxx + + + TBA + Toronto + Ontario + M9C 3Z9 + Canada + tomkralidis@gmail.com + + + 0800h - 1600h EST + During hours of service. Off on weekends. + + pointOfContact + + + + + + + + + + + + Filter_Capabilities + OperationsMetadata + ServiceIdentification + ServiceProvider + + + + + + + + + + + application/json + application/xml + + + http://www.w3.org/2001/XMLSchema + http://www.w3.org/TR/xmlschema-1/ + http://www.w3.org/XML/Schema + + + csw:Record + + + + + + + + + + + DescribeRecord.outputFormat + DescribeRecord.schemaLanguage + DescribeRecord.typeName + GetCapabilities.sections + GetRecordById.ElementSetName + GetRecordById.outputFormat + GetRecordById.outputSchema + GetRecords.CONSTRAINTLANGUAGE + GetRecords.ElementSetName + GetRecords.outputFormat + GetRecords.outputSchema + GetRecords.resultType + GetRecords.typeNames + + + + + + + + + + + CQL_TEXT + FILTER + + + brief + full + summary + + + application/json + application/xml + + + http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ + http://www.interlis.ch/INTERLIS2.3 + http://www.opengis.net/cat/csw/2.0.2 + http://www.opengis.net/cat/csw/csdgm + http://www.w3.org/2005/Atom + + + hits + results + validate + + + csw:Record + + + csw:AnyText + dc:contributor + dc:creator + dc:date + dc:format + dc:identifier + dc:language + dc:publisher + dc:relation + dc:rights + dc:source + dc:subject + dc:title + dc:type + dct:abstract + dct:modified + ows:BoundingBox + + + + + + + + + + + brief + full + summary + + + application/json + application/xml + + + http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ + http://www.interlis.ch/INTERLIS2.3 + http://www.opengis.net/cat/csw/2.0.2 + http://www.opengis.net/cat/csw/csdgm + http://www.w3.org/2005/Atom + + + + + + + + + + + CSW + + + 2.0.2 + 3.0.0 + + + http://demo.pycsw.org/gisdata/csw + + + 10 + + + XML + SOAP + + + allowed + + + + + + gml:Point + gml:LineString + gml:Polygon + gml:Envelope + + + + + + + + + + + + + + + + + + + Between + EqualTo + GreaterThan + GreaterThanEqualTo + LessThan + LessThanEqualTo + Like + NotEqualTo + NullCheck + + + + + length + lower + ltrim + rtrim + trim + upper + + + + + + + + + + diff --git a/tests/functionaltests/suites/utf-8/post/GetCapabilities.xml b/tests/functionaltests/suites/utf-8/post/GetCapabilities.xml new file mode 100644 index 000000000..e4dc8070b --- /dev/null +++ b/tests/functionaltests/suites/utf-8/post/GetCapabilities.xml @@ -0,0 +1,9 @@ + + + + 2.0.2 + + + application/xml + + From 852347dc68e8efc478f3cc64c161dafdb74b32a4 Mon Sep 17 00:00:00 2001 From: Ricardo Garcia Silva Date: Fri, 18 Nov 2016 14:37:53 +0000 Subject: [PATCH 023/119] changed test parameters --- .../suites/default/get/requests.txt | 40 +++++++++---------- 1 file changed, 20 insertions(+), 20 deletions(-) diff --git a/tests/functionaltests/suites/default/get/requests.txt b/tests/functionaltests/suites/default/get/requests.txt index ee368671b..299790a0f 100644 --- a/tests/functionaltests/suites/default/get/requests.txt +++ b/tests/functionaltests/suites/default/get/requests.txt @@ -1,20 +1,20 @@ -GetCapabilities,PYCSW_SERVER?config=tests/suites/default/default.cfg&service=CSW&version=2.0.2&request=GetCapabilities -GetCapabilities-invalid-request,PYCSW_SERVER?config=tests/suites/default/default.cfg&service=CSW&version=2.0.2&request=GetCapabilitiese -GetRecords-all,PYCSW_SERVER?config=tests/suites/default/default.cfg&service=CSW&version=2.0.2&request=GetRecords&typenames=csw:Record&elementsetname=full -GetRecords-sortby-asc,PYCSW_SERVER?config=tests/suites/default/default.cfg&service=CSW&version=2.0.2&request=GetRecords&typenames=csw:Record&elementsetname=full&resulttype=results&sortby=dc:title:A -GetRecords-sortby-desc,PYCSW_SERVER?config=tests/suites/default/default.cfg&service=CSW&version=2.0.2&request=GetRecords&typenames=csw:Record&elementsetname=full&resulttype=results&sortby=dc:title:D -GetRecords-sortby-invalid-propertyname,PYCSW_SERVER?config=tests/suites/default/default.cfg&service=CSW&version=2.0.2&request=GetRecords&typenames=csw:Record&elementsetname=full&resulttype=results&sortby=dc:titlei:A -GetRecords-sortby-invalid-order,PYCSW_SERVER?config=tests/suites/default/default.cfg&service=CSW&version=2.0.2&request=GetRecords&typenames=csw:Record&elementsetname=full&resulttype=results&sortby=dc:title:FOO -GetRecords-filter,PYCSW_SERVER?config=tests/suites/default/default.cfg&service=CSW&version=2.0.2&request=GetRecords&typenames=csw:Record&elementsetname=full&resulttype=results&constraintlanguage=FILTER&constraint=%3Cogc%3AFilter%20xmlns%3Aogc%3D%22http%3A%2F%2Fwww.opengis.net%2Fogc%22%3E%3Cogc%3APropertyIsEqualTo%3E%3Cogc%3APropertyName%3Edc%3Atitle%3C%2Fogc%3APropertyName%3E%3Cogc%3ALiteral%3ELorem%20ipsum%3C%2Fogc%3ALiteral%3E%3C%2Fogc%3APropertyIsEqualTo%3E%3C%2Fogc%3AFilter%3E -GetRecords-filter-cql-title,PYCSW_SERVER?config=tests/suites/default/default.cfg&service=CSW&version=2.0.2&request=GetRecords&typenames=csw:Record&elementsetname=full&resulttype=results&constraintlanguage=CQL_TEXT&constraint=dc%3Atitle%20like%20%27%25lor%25%27 -GetRecords-filter-cql-title-with-spaces,PYCSW_SERVER?config=tests/suites/default/default.cfg&service=CSW&version=2.0.2&request=GetRecords&typenames=csw:Record&elementsetname=full&resulttype=results&constraintlanguage=CQL_TEXT&constraint=dc%3Atitle%20like%20%27%25Lorem%20ipsum%25%27 -GetRecords-filter-cql-title-or-abstract,PYCSW_SERVER?config=tests/suites/default/default.cfg&service=CSW&version=2.0.2&request=GetRecords&typenames=csw:Record&elementsetname=full&resulttype=results&constraintlanguage=CQL_TEXT&constraint=dc%3Atitle%20like%20%27%25lor%25%27%20or%20dct%3Aabstract%20like%20%27%25pharetra%25%27 -GetRecords-filter-cql-title-with-spaces-or-abstract,PYCSW_SERVER?config=tests/suites/default/default.cfg&service=CSW&version=2.0.2&request=GetRecords&typenames=csw:Record&elementsetname=full&resulttype=results&constraintlanguage=CQL_TEXT&constraint=dc%3Atitle%20like%20%27%25dolor%20sit%25%27%20or%20dct%3Aabstract%20like%20%27%25pharetra%25%27 -GetRecords-filter-cql-title-or-abstract-with-spaces,PYCSW_SERVER?config=tests/suites/default/default.cfg&service=CSW&version=2.0.2&request=GetRecords&typenames=csw:Record&elementsetname=full&resulttype=results&constraintlanguage=CQL_TEXT&constraint=dc%3Atitle%20like%20%27%25lor%25%27%20or%20dct%3Aabstract%20like%20%27%25pharetra%20in%25%27 -GetRecords-filter-cql-title-with-spaces-or-abstract-with-spaces,PYCSW_SERVER?config=tests/suites/default/default.cfg&service=CSW&version=2.0.2&request=GetRecords&typenames=csw:Record&elementsetname=full&resulttype=results&constraintlanguage=CQL_TEXT&constraint=dc%3Atitle%20like%20%27%25dolor%20sit%25%27%20or%20dct%3Aabstract%20like%20%27%25pharetra%20in%25%27 -GetRecords-empty-maxrecords,PYCSW_SERVER?config=tests/suites/default/default.cfg&service=CSW&version=2.0.2&request=GetRecords&typenames=csw:Record&elementsetname=full&maxrecords= -GetRepositoryItem,PYCSW_SERVER?config=tests/suites/default/default.cfg&service=CSW&version=2.0.2&request=GetRepositoryItem&id=urn:uuid:94bc9c83-97f6-4b40-9eb8-a8e8787a5c63 -Exception-GetRepositoryItem-notfound,PYCSW_SERVER?config=tests/suites/default/default.cfg&service=CSW&version=2.0.2&request=GetRepositoryItem&id=NOTFOUND -Exception-GetRepositoryItem-service-invalid1,PYCSW_SERVER?config=tests/suites/default/default.cfg&service=CSW%00&version=2.0.2&request=GetRepositoryItem&id=123 -Exception-GetRepositoryItem-service-invalid2,PYCSW_SERVER?config=tests/suites/default/default.cfg&service=CSW%00'&version=2.0.2&request=GetRepositoryItem&id=123 -Exception-GetRepositoryItem-version-invalid,PYCSW_SERVER?config=tests/suites/default/default.cfg&service=CSW&version=2.0.2'&request=GetRepositoryItem&id=123 +GetCapabilities,service=CSW&version=2.0.2&request=GetCapabilities +GetCapabilities-invalid-request,service=CSW&version=2.0.2&request=GetCapabilitiese +GetRecords-all,service=CSW&version=2.0.2&request=GetRecords&typenames=csw:Record&elementsetname=full +GetRecords-sortby-asc,service=CSW&version=2.0.2&request=GetRecords&typenames=csw:Record&elementsetname=full&resulttype=results&sortby=dc:title:A +GetRecords-sortby-desc,service=CSW&version=2.0.2&request=GetRecords&typenames=csw:Record&elementsetname=full&resulttype=results&sortby=dc:title:D +GetRecords-sortby-invalid-propertyname,service=CSW&version=2.0.2&request=GetRecords&typenames=csw:Record&elementsetname=full&resulttype=results&sortby=dc:titlei:A +GetRecords-sortby-invalid-order,service=CSW&version=2.0.2&request=GetRecords&typenames=csw:Record&elementsetname=full&resulttype=results&sortby=dc:title:FOO +GetRecords-filter,service=CSW&version=2.0.2&request=GetRecords&typenames=csw:Record&elementsetname=full&resulttype=results&constraintlanguage=FILTER&constraint=%3Cogc%3AFilter%20xmlns%3Aogc%3D%22http%3A%2F%2Fwww.opengis.net%2Fogc%22%3E%3Cogc%3APropertyIsEqualTo%3E%3Cogc%3APropertyName%3Edc%3Atitle%3C%2Fogc%3APropertyName%3E%3Cogc%3ALiteral%3ELorem%20ipsum%3C%2Fogc%3ALiteral%3E%3C%2Fogc%3APropertyIsEqualTo%3E%3C%2Fogc%3AFilter%3E +GetRecords-filter-cql-title,service=CSW&version=2.0.2&request=GetRecords&typenames=csw:Record&elementsetname=full&resulttype=results&constraintlanguage=CQL_TEXT&constraint=dc%3Atitle%20like%20%27%25lor%25%27 +GetRecords-filter-cql-title-with-spaces,service=CSW&version=2.0.2&request=GetRecords&typenames=csw:Record&elementsetname=full&resulttype=results&constraintlanguage=CQL_TEXT&constraint=dc%3Atitle%20like%20%27%25Lorem%20ipsum%25%27 +GetRecords-filter-cql-title-or-abstract,service=CSW&version=2.0.2&request=GetRecords&typenames=csw:Record&elementsetname=full&resulttype=results&constraintlanguage=CQL_TEXT&constraint=dc%3Atitle%20like%20%27%25lor%25%27%20or%20dct%3Aabstract%20like%20%27%25pharetra%25%27 +GetRecords-filter-cql-title-with-spaces-or-abstract,service=CSW&version=2.0.2&request=GetRecords&typenames=csw:Record&elementsetname=full&resulttype=results&constraintlanguage=CQL_TEXT&constraint=dc%3Atitle%20like%20%27%25dolor%20sit%25%27%20or%20dct%3Aabstract%20like%20%27%25pharetra%25%27 +GetRecords-filter-cql-title-or-abstract-with-spaces,service=CSW&version=2.0.2&request=GetRecords&typenames=csw:Record&elementsetname=full&resulttype=results&constraintlanguage=CQL_TEXT&constraint=dc%3Atitle%20like%20%27%25lor%25%27%20or%20dct%3Aabstract%20like%20%27%25pharetra%20in%25%27 +GetRecords-filter-cql-title-with-spaces-or-abstract-with-spaces,service=CSW&version=2.0.2&request=GetRecords&typenames=csw:Record&elementsetname=full&resulttype=results&constraintlanguage=CQL_TEXT&constraint=dc%3Atitle%20like%20%27%25dolor%20sit%25%27%20or%20dct%3Aabstract%20like%20%27%25pharetra%20in%25%27 +GetRecords-empty-maxrecords,service=CSW&version=2.0.2&request=GetRecords&typenames=csw:Record&elementsetname=full&maxrecords= +GetRepositoryItem,service=CSW&version=2.0.2&request=GetRepositoryItem&id=urn:uuid:94bc9c83-97f6-4b40-9eb8-a8e8787a5c63 +Exception-GetRepositoryItem-notfound,service=CSW&version=2.0.2&request=GetRepositoryItem&id=NOTFOUND +Exception-GetRepositoryItem-service-invalid1,service=CSW%00&version=2.0.2&request=GetRepositoryItem&id=123 +Exception-GetRepositoryItem-service-invalid2,service=CSW%00'&version=2.0.2&request=GetRepositoryItem&id=123 +Exception-GetRepositoryItem-version-invalid,service=CSW&version=2.0.2'&request=GetRepositoryItem&id=123 From 6ba89afc1a9394386a2b5bb56c5d329faf9269fb Mon Sep 17 00:00:00 2001 From: Ricardo Garcia Silva Date: Fri, 18 Nov 2016 14:51:22 +0000 Subject: [PATCH 024/119] updated failing harvesting tests like in master --- ...est-zzz-post-GetRecords-filter-wfs-iso.xml | 20 ------------------- ...est-zzz-post-GetRecords-filter-wms-iso.xml | 2 +- 2 files changed, 1 insertion(+), 21 deletions(-) diff --git a/tests/functionaltests/suites/harvesting/expected/post_Harvest-zzz-post-GetRecords-filter-wfs-iso.xml b/tests/functionaltests/suites/harvesting/expected/post_Harvest-zzz-post-GetRecords-filter-wfs-iso.xml index fe8c5f2d5..c264459b3 100644 --- a/tests/functionaltests/suites/harvesting/expected/post_Harvest-zzz-post-GetRecords-filter-wfs-iso.xml +++ b/tests/functionaltests/suites/harvesting/expected/post_Harvest-zzz-post-GetRecords-filter-wfs-iso.xml @@ -700,26 +700,6 @@ - - - - DefaultMaxFeatures - - - HTTPGet - - - HTTPPost - - - - - http://maps.cera.govt.nz/arcgis/services/CERA/CERA_TechClasses_WGS84/MapServer/WFSServer - - - - - diff --git a/tests/functionaltests/suites/harvesting/expected/post_Harvest-zzz-post-GetRecords-filter-wms-iso.xml b/tests/functionaltests/suites/harvesting/expected/post_Harvest-zzz-post-GetRecords-filter-wms-iso.xml index 0dc4ec4da..b17cbca72 100644 --- a/tests/functionaltests/suites/harvesting/expected/post_Harvest-zzz-post-GetRecords-filter-wms-iso.xml +++ b/tests/functionaltests/suites/harvesting/expected/post_Harvest-zzz-post-GetRecords-filter-wms-iso.xml @@ -1103,7 +1103,7 @@ - http://mesonet.agron.iastate.edu/cgi-bin/wms/nexrad/n0r-t.cgi? + https://mesonet.agron.iastate.edu/cgi-bin/wms/nexrad/n0r-t.cgi? From 094f6025315973b71a992720dee196bdd4b594e5 Mon Sep 17 00:00:00 2001 From: Ricardo Garcia Silva Date: Fri, 18 Nov 2016 17:20:40 +0000 Subject: [PATCH 025/119] Added docstrings to all functions --- tests/conftest.py | 14 ++ tests/functionaltests/conftest.py | 52 +++++- .../functionaltests/test_suites_functional.py | 151 +++++++++++++----- 3 files changed, 172 insertions(+), 45 deletions(-) diff --git a/tests/conftest.py b/tests/conftest.py index 4295d53f1..d02fcf1bd 100644 --- a/tests/conftest.py +++ b/tests/conftest.py @@ -32,6 +32,12 @@ def pytest_configure(config): + """Configure pytest + + This function adds additional markers to pytest. + + """ + config.addinivalue_line( "markers", "functional: Run only functional tests" @@ -43,6 +49,7 @@ def pytest_configure(config): def pytest_addoption(parser): + """Add additional command-line parameters to pytest""" parser.addoption( "--database-backend", choices=["sqlite", "postgres"], @@ -70,5 +77,12 @@ def pytest_addoption(parser): @pytest.fixture(scope="session") def log_level(request): + """Log level to use when instantiating a new pycsw server. + + The value for this fixture is retrieved from the `--pycsw.loglevel` + command-line parameter. + + """ + return request.config.getoption("pycsw_loglevel").upper() diff --git a/tests/functionaltests/conftest.py b/tests/functionaltests/conftest.py index addc7e035..dc4996a30 100644 --- a/tests/functionaltests/conftest.py +++ b/tests/functionaltests/conftest.py @@ -53,7 +53,39 @@ def pytest_generate_tests(metafunc): """Parametrize tests programatically. - Check pytest's documentation for information on this function: + This function scans the filesystem directories under + ``tests/functionaltests/suites`` and automatically generates pytest tests + based on the available test suites. Each suite directory has the + following structure: + + * A mandatory ``default.cfg`` file specifying the configuration for the + pycsw instance to use in the tests of the suite. + + * An optional ``get`` subdirectory containing a ``requests.txt`` file + with any HTTP GET requests for which to generate tests for. Each request + is specified in a new line, with the following pattern: + + * , + + * An optional ``post`` subdirectory containing files that are used as the + payload for HTTP POST requests. The name of each file is used as the name + of the test (without the file's extension); + + * An optional ``data`` subdirectory. This directory, if present, indicates + that the suite uses a custom database. The database is populated with any + additional files that are contained inside this directory. If the + ``data`` directory does not exist then the suite's tests will use the + CITE database; + + * An ``expected`` subdirectory containing a file for each of the expected + test outcomes. + + The tests are autogenerated by parametrizing the + ``tests/functionaltests/test_suites_functional::test_suites`` function + + Check pytest's documentation for information on autogenerating + parametrized tests for further details on how the + ``pytest_generate_tests`` function can be used: http://pytest.org/latest/parametrize.html#basic-pytest-generate-tests-example @@ -108,6 +140,7 @@ def pytest_generate_tests(metafunc): def _get_get_parameters(get_tests_dir, expected_tests_dir, config_path, suite_name, normalize_ids): + """Return the parameters suitable for parametrizing HTTP GET tests""" method = "GET" test_argvalues = [] test_ids = [] @@ -134,6 +167,7 @@ def _get_get_parameters(get_tests_dir, expected_tests_dir, config_path, def _get_post_parameters(post_tests_dir, expected_tests_dir, config_path, suite_name, normalize_ids): + """Return the parameters suitable for parametrizing HTTP POST tests""" method = "POST" test_argvalues = [] test_ids = [] @@ -169,7 +203,7 @@ def _get_post_parameters(post_tests_dir, expected_tests_dir, config_path, def configuration(request, tests_directory, log_level): """Return a SafeConfigParser with the configuration for use in tests. - The config_parser is read from the ordiginal location and then adjusted + The config_parser is read from the original location and then adjusted to match the test's temporary directory. The repository will also be created and populated if it is not already present in the tests_directory. @@ -201,6 +235,18 @@ def configuration(request, tests_directory, log_level): @pytest.fixture(scope="session", name="tests_directory") def fixture_tests_directory(tmpdir_factory): + """Create a temporary directory for each test session. + + This directory is typicaly situated under ``/tmp`` adn is used to create + eventual sqlite databases for each suite. + + This functionality is mostly provided by pytest's built-in + ``tmpdir_factory`` fixture. More information on this is available at: + + http://doc.pytest.org/en/2.9.0/tmpdir.html#the-tmpdir-factory-fixture + + """ + tests_dir = tmpdir_factory.mktemp("functional_tests") return tests_dir @@ -226,6 +272,7 @@ def _get_suite_dirs(suite_name): def _get_cite_suite_data_dir(): + """Return the path to the data directry of the CITE test suite.""" global TESTS_ROOT suites_root_dir = os.path.join(TESTS_ROOT, "functionaltests", "suites") suite_dir = os.path.join(suites_root_dir, "cite") @@ -245,6 +292,7 @@ def _repository_exists(repository_url): def _get_repository_url(request, suite_name, test_dir): + """Return the repository_url for the input parameters.""" db_type = request.config.getoption("--database-backend") if db_type == "sqlite": repository_url = "sqlite:///{test_dir}/{suite}.db".format( diff --git a/tests/functionaltests/test_suites_functional.py b/tests/functionaltests/test_suites_functional.py index 3d93b20c6..f9ebd9133 100644 --- a/tests/functionaltests/test_suites_functional.py +++ b/tests/functionaltests/test_suites_functional.py @@ -51,6 +51,11 @@ def test_suites(configuration, request_method, request_data, expected_result, """ Test suites. + This function is automatically parametrized by pytest as a result of the + ``conftest:pytest_Generate_tests`` function. The input parameters are thus + supplied by pytest as a result of discovering and parsing the existing + test suites located under ``tests/functionaltests/suites``. + Parameters ---------- configuration: SafeConfigParser @@ -68,6 +73,49 @@ def test_suites(configuration, request_method, request_data, expected_result, """ + request_environment = _prepare_wsgi_test_environment(request_method, + request_data) + pycsw_server = server.Csw(rtconfig=configuration, env=request_environment) + status, contents = pycsw_server.dispatch_wsgi() + with codecs.open(expected_result, encoding="utf-8") as fh: + expected = fh.read() + normalized_result = _normalize( + contents, + normalize_identifiers=normalize_identifier_fields + ) + try: + matches_expected = _test_xml_result(normalized_result, expected) + except etree.XMLSyntaxError: + # the file is either not XML (perhaps JSON?) or malformed + matches_expected = _test_json_result(normalized_result, expected) + except etree.C14NError: + print("XML canonicalization has failed. Trying to compare result " + "with expected using difflib") + matches_expected = _test_xml_diff(normalized_result, expected) + if not matches_expected: + print("expected: {0}".format(expected)) + print("response: {0}".format(normalized_result)) + assert matches_expected + + +def _prepare_wsgi_test_environment(request_method, request_data): + """Set up a testing environment for tests. + + Parameters + ---------- + request_method: str + The HTTP method of the request. Sould be either GET or POST. + request_data: str + Either the path to the request file, for POST requests or the request + parameters for GET requests. + + Returns + ------- + dict + A dict with the environment variables to use in the test + + """ + request_environment = { "REQUEST_METHOD": request_method.upper(), "QUERY_STRING": "", @@ -87,36 +135,15 @@ def test_suites(configuration, request_method, request_data, expected_result, print("Request contents: {0}".format(request_data)) request_environment["QUERY_STRING"] = request_data wsgiref.util.setup_testing_defaults(request_environment) - pycsw_server = server.Csw(rtconfig=configuration, env=request_environment) - status, contents = pycsw_server.dispatch_wsgi() - with codecs.open(expected_result, encoding="utf-8") as fh: - expected = fh.read() - _compare_response(contents, expected, - normalize_id_fields=normalize_identifier_fields) - - -def _compare_response(response, expected, normalize_id_fields): - normalized_result = _normalize(response, force_id_mask=normalize_id_fields) - try: - matches_expected = _test_xml_result(normalized_result, expected) - except etree.XMLSyntaxError: - # the file is either not XML (perhaps JSON?) or malformed - matches_expected = _test_json_result(normalized_result, expected) - except etree.C14NError: - print("XML canonicalization has failed. Trying to compare result " - "with expected using difflib") - matches_expected = _test_xml_diff(normalized_result, expected) - if not matches_expected: - print("expected: {0}".format(expected)) - print("response: {0}".format(normalized_result)) - assert matches_expected + return request_environment def _test_xml_result(result, expected, encoding="utf-8"): """Compare the XML test results with an expected value. This function compares the test result with the expected values by - performing XML canonicalization (c14n)[1]_. + performing XML canonicalization (c14n)[1]_, which compares the semantic + meanings of both XML files. Parameters ---------- @@ -182,28 +209,65 @@ def _test_json_result(result, expected, encoding="utf-8"): def _test_xml_diff(result, expected): + """Compare two XML strings by using python's ``difflib.SequenceMatcher``. + + This is a character-by-cahracter comparison and does not take into account + the semantic meaning of XML elements and attributes. + + Parameters + ---------- + result: str + The result of running the test. + expected: str + The expected outcome. + + Returns + ------- + bool + Whether the result matches the expectations or not. + + """ + sequence_matcher = SequenceMatcher(None, result, expected) ratio = sequence_matcher.ratio() return ratio == pytest.approx(1.0) -def _normalize(sresult, force_id_mask=False): - """Replace time, updateSequence and version specific values with generic - values""" +def _normalize(sresult, normalize_identifiers=False): + """ + Normalize test output so that it can be compared with the expected result. + + Several dynamic elements of a pycsw response (such as time, + updateSequence, etc) are replaced with static constants to ease comparison. + + Parameters + ---------- + sresult: str + The test result. + normalize_identifiers: bool, optional + Whether identifier fields should be normalized. + + Returns + ------- + str + The normalized response. + + """ # XML responses version = re.search(r'', sresult) updatesequence = re.search(r'updateSequence="(\S+)"', sresult) timestamp = re.search(r'timestamp="(.*)"', sresult) timestamp2 = re.search(r'timeStamp="(.*)"', sresult) - timestamp3 = re.search(r'(.*)', sresult) - timestamp4 = re.search(r'(.*)', sresult) + timestamp3 = re.search(r'(.*)', + sresult) + timestamp4 = re.search( + r'(.*)', sresult) zrhost = re.search(r'(.*)', sresult) zrport = re.search(r'(.*)', sresult) elapsed_time = re.search(r'elapsedTime="(.*)"', sresult) expires = re.search(r'expires="(.*?)"', sresult) atom_updated = re.findall(r'(.*)', sresult) - if version: sresult = sresult.replace(version.group(0), r'') if updatesequence: @@ -216,11 +280,15 @@ def _normalize(sresult, force_id_mask=False): sresult = sresult.replace(timestamp2.group(0), r'timeStamp="PYCSW_TIMESTAMP"') if timestamp3: - sresult = sresult.replace(timestamp3.group(0), - r'PYCSW_TIMESTAMP') + sresult = sresult.replace( + timestamp3.group(0), + r'PYCSW_TIMESTAMP' + ) if timestamp4: - sresult = sresult.replace(timestamp4.group(0), - r'PYCSW_TIMESTAMP') + sresult = sresult.replace( + timestamp4.group(0), + r'PYCSW_TIMESTAMP' + ) if zrport: sresult = sresult.replace(zrport.group(0), r'PYCSW_PORT') @@ -235,7 +303,6 @@ def _normalize(sresult, force_id_mask=False): r'expires="PYCSW_EXPIRES"') for au in atom_updated: sresult = sresult.replace(au, r'PYCSW_TIMESTAMP') - # for csw:HarvestResponse documents, mask identifiers # which are dynamically generated for OWS endpoints if sresult.find(r'HarvestResponse') != -1: @@ -243,25 +310,23 @@ def _normalize(sresult, force_id_mask=False): sresult) for i in identifier: sresult = sresult.replace(i, r'PYCSW_IDENTIFIER') - # JSON responses timestamp = re.search(r'"@timestamp": "(.*?)"', sresult) if timestamp: sresult = sresult.replace(timestamp.group(0), r'"@timestamp": "PYCSW_TIMESTAMP"') - # harvesting-based GetRecords/GetRecordById responses - if force_id_mask: - dcid = re.findall(r'(urn:uuid.*)', sresult) + if normalize_identifiers: + dcid = re.findall(r'(urn:uuid.*)', + sresult) isoid = re.findall(r'id="(urn:uuid.*)"', sresult) - isoid2 = re.findall(r'(urn:uuid.*)(urn:uuid.*) Date: Fri, 18 Nov 2016 18:01:36 +0000 Subject: [PATCH 026/119] refactored gen_html to account for the change in location for test suites --- tests/gen_html.py | 25 ++++++++++++++----------- 1 file changed, 14 insertions(+), 11 deletions(-) diff --git a/tests/gen_html.py b/tests/gen_html.py index b8f4ebec3..373b577a5 100644 --- a/tests/gen_html.py +++ b/tests/gen_html.py @@ -28,9 +28,7 @@ # # ================================================================= -import csv import os -from six.moves.urllib.parse import quote JQUERY_VERSION = '1.9.0' @@ -104,12 +102,12 @@ @@ -133,16 +131,21 @@
    ''') -for root, dirs, files in os.walk('suites'): +for root, dirs, files in os.walk('functionaltests/suites'): if files: for sfile in files: if sfile == 'requests.txt': # it's a list of GET requests - with open('%s%s%s' % (root.replace(os.sep, '/'), '/', sfile)) as f: - gets = csv.reader(f) - for row in gets: - baseurl, query_string = row[1].split('?') - query = '%s?%s' % (baseurl.replace('PYCSW_SERVER', '../csw.py'), query_string.replace('&', '&')) - print('
  • %s
  • ' % (query, row[0])) + file_path = os.path.join(root, sfile) + with open(file_path) as f: + for line in f: + name, query_string = line.strip().partition(",")[::2] + baseurl = "../csw.py" + query = "{baseurl}?{query_string}".format( + baseurl=baseurl, + query_string=query_string.replace("&", "&") + ) + print('
  • {name}
  • '.format( + query=query, name=name)) print('''

From ed8b3842a6c21cf8874308e542319f63f3b9ee36 Mon Sep 17 00:00:00 2001 From: Ricardo Garcia Silva Date: Tue, 13 Dec 2016 20:24:36 +0000 Subject: [PATCH 027/119] Added support for postgresql in tests --- tests/conftest.py | 22 +- tests/functionaltests/conftest.py | 387 +++++++++++++++++++++--------- 2 files changed, 287 insertions(+), 122 deletions(-) diff --git a/tests/conftest.py b/tests/conftest.py index d02fcf1bd..cee443413 100644 --- a/tests/conftest.py +++ b/tests/conftest.py @@ -52,22 +52,38 @@ def pytest_addoption(parser): """Add additional command-line parameters to pytest""" parser.addoption( "--database-backend", - choices=["sqlite", "postgres"], + choices=["sqlite", "postgresql"], default="sqlite", help="Database backend to use when performing functional tests" ) parser.addoption( - "--database-user-postgres", + "--database-user-postgresql", default="postgres", help="Username to use for creating and accessing local postgres " "databases used for functional tests." ) parser.addoption( - "--database-password-postgres", + "--database-password-postgresql", default="", help="Password to use for creating and accessing local postgres " "databases used for functional tests." ) + parser.addoption( + "--database-name-postgresql", + default="test_pycsw", + help="Name of the postgres database that is to be used for testing." + ) + parser.addoption( + "--database-host-postgresql", + default="127.0.0.1", + help="hostname or ip of the host that is running the postgres " + "database server to use in testing." + ) + parser.addoption( + "--database-port-postgresql", + default="5432", + help="Port where the postgres server is listening for connections." + ) parser.addoption( "--pycsw-loglevel", default="warning", diff --git a/tests/functionaltests/conftest.py b/tests/functionaltests/conftest.py index dc4996a30..7470f4810 100644 --- a/tests/functionaltests/conftest.py +++ b/tests/functionaltests/conftest.py @@ -30,9 +30,12 @@ import codecs from collections import namedtuple +import logging import os +import re from six.moves import configparser +import psycopg2 import pytest from pycsw.core import admin @@ -40,7 +43,6 @@ TESTS_ROOT = os.path.dirname(os.path.dirname(os.path.abspath(__file__))) - SuiteDirs = namedtuple("SuiteDirs", [ "get_tests_dir", "post_tests_dir", @@ -49,9 +51,8 @@ ]) - def pytest_generate_tests(metafunc): - """Parametrize tests programatically. + """Parametrize tests programmatically. This function scans the filesystem directories under ``tests/functionaltests/suites`` and automatically generates pytest tests @@ -61,23 +62,23 @@ def pytest_generate_tests(metafunc): * A mandatory ``default.cfg`` file specifying the configuration for the pycsw instance to use in the tests of the suite. - * An optional ``get`` subdirectory containing a ``requests.txt`` file + * An optional ``get/`` subdirectory containing a ``requests.txt`` file with any HTTP GET requests for which to generate tests for. Each request is specified in a new line, with the following pattern: * , - * An optional ``post`` subdirectory containing files that are used as the + * An optional ``post/`` subdirectory containing files that are used as the payload for HTTP POST requests. The name of each file is used as the name of the test (without the file's extension); - * An optional ``data`` subdirectory. This directory, if present, indicates + * An optional ``data/`` subdirectory. This directory, if present, indicates that the suite uses a custom database. The database is populated with any additional files that are contained inside this directory. If the ``data`` directory does not exist then the suite's tests will use the CITE database; - * An ``expected`` subdirectory containing a file for each of the expected + * An ``expected/`` subdirectory containing a file for each of the expected test outcomes. The tests are autogenerated by parametrizing the @@ -97,38 +98,41 @@ def pytest_generate_tests(metafunc): suite_names = os.listdir(suites_root_dir) arg_values = [] test_ids = [] + logging.basicConfig(level=getattr( + logging, metafunc.config.getoption("--pycsw-loglevel").upper())) + if metafunc.config.getoption("--database-backend") == "postgresql": + _recreate_postgresql_database(metafunc.config) for suite in suite_names: - normalize_ids = True if suite in ("harvesting", - "manager") else False suite_dir = os.path.join(suites_root_dir, suite) config_path = os.path.join(suite_dir, "default.cfg") if not os.path.isfile(config_path): print("Directory {0!r} does not have a suite " "configuration file".format(suite_dir)) continue - else: - print("Generating tests for suite {0!r}".format(suite)) - suite_dirs = _get_suite_dirs(suite) - if suite_dirs.post_tests_dir is not None: - post_argvalues, post_ids = _get_post_parameters( - post_tests_dir=suite_dirs.post_tests_dir, - expected_tests_dir=suite_dirs.expected_results_dir, - config_path=config_path, - suite_name=suite, - normalize_ids=normalize_ids - ) - arg_values.extend(post_argvalues) - test_ids.extend(post_ids) - if suite_dirs.get_tests_dir is not None: - get_argvalues, get_ids = _get_get_parameters( - get_tests_dir=suite_dirs.get_tests_dir, - expected_tests_dir=suite_dirs.expected_results_dir, - config_path=config_path, - suite_name=suite, - normalize_ids=normalize_ids - ) - arg_values.extend(get_argvalues) - test_ids.extend(get_ids) + print("Generating tests for suite {0!r}...".format(suite)) + normalize_ids = True if suite in ("harvesting", + "manager") else False + suite_dirs = _get_suite_dirs(suite) + if suite_dirs.post_tests_dir is not None: + post_argvalues, post_ids = _get_post_parameters( + post_tests_dir=suite_dirs.post_tests_dir, + expected_tests_dir=suite_dirs.expected_results_dir, + config_path=config_path, + suite_name=suite, + normalize_ids=normalize_ids + ) + arg_values.extend(post_argvalues) + test_ids.extend(post_ids) + if suite_dirs.get_tests_dir is not None: + get_argvalues, get_ids = _get_get_parameters( + get_tests_dir=suite_dirs.get_tests_dir, + expected_tests_dir=suite_dirs.expected_results_dir, + config_path=config_path, + suite_name=suite, + normalize_ids=normalize_ids + ) + arg_values.extend(get_argvalues) + test_ids.extend(get_ids) metafunc.parametrize( argnames=["configuration", "request_method", "request_data", "expected_result", "normalize_identifier_fields"], @@ -138,6 +142,83 @@ def pytest_generate_tests(metafunc): ) +@pytest.fixture() +def configuration(request, tests_directory, log_level): + """Return a SafeConfigParser with the configuration for use in tests. + + This function is executed once for each individual test request, after + tests have been collected. + + The config_parser is read from the original location and then adjusted + to match the test's temporary directory. The repository will also be + created and populated if it is not already present in the tests_directory. + + Parameters + ---------- + request: pytest.fixtures.FixtureRequest + tests_directory: py.path.local + Directory created by pytest where any test artifacts are to be saved + log_level: str + Log level for the pycsw server instance that will be created during + tests. + + """ + + config_path = request.param + config = configparser.SafeConfigParser() + with codecs.open(config_path, encoding="utf-8") as fh: + config.readfp(fh) + suite_name = config_path.split(os.path.sep)[-2] + suite_dirs = _get_suite_dirs(suite_name) + data_dir = suite_dirs.data_tests_dir + if data_dir is not None: # suite has its own database + repository_url = _get_repository_url(request.config, suite_name, + tests_directory) + else: # suite uses the CITE database + data_dir = _get_cite_suite_data_dir() + repository_url = _get_repository_url(request.config, "cite", + tests_directory) + table_name = _get_table_name(suite_name, config, repository_url) + if not _repository_exists(repository_url, table_name): + _initialize_database(repository_url=repository_url, + table_name=table_name, + data_dir=data_dir, + test_dir=tests_directory) + config.set("server", "loglevel", log_level) + config.set("server", "logfile", "") + config.set("repository", "database", repository_url) + config.set("repository", "table", table_name) + return config + + +@pytest.fixture(scope="session", name="tests_directory") +def fixture_tests_directory(tmpdir_factory): + """Create a temporary directory for each test session. + + This directory is typicaly situated under ``/tmp`` and is used to create + eventual sqlite databases for each suite. + + This functionality is mostly provided by pytest's built-in + ``tmpdir_factory`` fixture. More information on this is available at: + + http://doc.pytest.org/en/2.9.0/tmpdir.html#the-tmpdir-factory-fixture + + """ + + tests_dir = tmpdir_factory.mktemp("functional_tests") + return tests_dir + + +def _get_cite_suite_data_dir(): + """Return the path to the data directry of the CITE test suite.""" + global TESTS_ROOT + suites_root_dir = os.path.join(TESTS_ROOT, "functionaltests", "suites") + suite_dir = os.path.join(suites_root_dir, "cite") + data_tests_dir = os.path.join(suite_dir, "data") + data_dir = data_tests_dir if os.path.isdir(data_tests_dir) else None + return data_dir + + def _get_get_parameters(get_tests_dir, expected_tests_dir, config_path, suite_name, normalize_ids): """Return the parameters suitable for parametrizing HTTP GET tests""" @@ -159,8 +240,9 @@ def _get_get_parameters(get_tests_dir, expected_tests_dir, config_path, normalize_ids) ) test_ids.append( - "{suite}_{http_method}_{name}".format(suite=suite_name, - http_method=method.lower(), name=test_name) + "{suite}_{http_method}_{name}".format( + suite=suite_name, http_method=method.lower(), + name=test_name) ) return test_argvalues, test_ids @@ -184,7 +266,6 @@ def _get_post_parameters(post_tests_dir, expected_tests_dir, config_path, filename=request_file_name ) ) - # TODO - make sure the expected result path exists test_argvalues.append( (config_path, method, request_path, expected_result_path, normalize_ids) @@ -199,56 +280,24 @@ def _get_post_parameters(post_tests_dir, expected_tests_dir, config_path, return test_argvalues, test_ids -@pytest.fixture() -def configuration(request, tests_directory, log_level): - """Return a SafeConfigParser with the configuration for use in tests. - - The config_parser is read from the original location and then adjusted - to match the test's temporary directory. The repository will also be - created and populated if it is not already present in the tests_directory. - - """ - - config_path = request.param - config = configparser.SafeConfigParser() - with codecs.open(config_path, encoding="utf-8") as fh: - config.readfp(fh) - suite_name = config_path.split(os.path.sep)[-2] - suite_dirs = _get_suite_dirs(suite_name) - data_dir = suite_dirs.data_tests_dir - if data_dir is not None: # suite has its own database - repository_url = _get_repository_url(request, suite_name, - tests_directory) - else: # suite uses the CITE database - data_dir = _get_cite_suite_data_dir() - repository_url = _get_repository_url(request, "cite", tests_directory) - if not _repository_exists(repository_url): - _initialize_database(repository_url=repository_url, - table_name=config.get("repository", "table"), - data_dir=data_dir, - test_dir=tests_directory) - config.set("server", "loglevel", log_level) - config.set("server", "logfile", "") - config.set("repository", "database", repository_url) - return config - - -@pytest.fixture(scope="session", name="tests_directory") -def fixture_tests_directory(tmpdir_factory): - """Create a temporary directory for each test session. - - This directory is typicaly situated under ``/tmp`` adn is used to create - eventual sqlite databases for each suite. - - This functionality is mostly provided by pytest's built-in - ``tmpdir_factory`` fixture. More information on this is available at: - - http://doc.pytest.org/en/2.9.0/tmpdir.html#the-tmpdir-factory-fixture - - """ - - tests_dir = tmpdir_factory.mktemp("functional_tests") - return tests_dir +def _get_repository_url(conf, suite_name, test_dir): + """Return the repository_url for the input parameters.""" + db_type = conf.getoption("--database-backend") + if db_type == "sqlite": + repository_url = "sqlite:///{test_dir}/{suite}.db".format( + test_dir=test_dir, suite=suite_name) + elif db_type == "postgresql": + repository_url = ( + "postgresql://{user}:{password}@{host}:{port}/{database}".format( + user=conf.getoption("--database-user-postgresql"), + password=conf.getoption("--database-password-postgresql"), + host=conf.getoption("--database-host-postgresql"), + port=conf.getoption("--database-port-postgresql"), + database=conf.getoption("--database-name-postgresql")) + ) + else: + raise NotImplementedError + return repository_url def _get_suite_dirs(suite_name): @@ -271,46 +320,36 @@ def _get_suite_dirs(suite_name): expected_results_dir=expected_dir) -def _get_cite_suite_data_dir(): - """Return the path to the data directry of the CITE test suite.""" - global TESTS_ROOT - suites_root_dir = os.path.join(TESTS_ROOT, "functionaltests", "suites") - suite_dir = os.path.join(suites_root_dir, "cite") - data_tests_dir = os.path.join(suite_dir, "data") - data_dir = data_tests_dir if os.path.isdir(data_tests_dir) else None - return data_dir +def _get_table_name(suite, config, repository_url): + """Get the name of the table used to store records in the database. + Parameters + ---------- + suite: str + Name of the suite. + config: SafeConfigParser + Configuration for the suite. + repository_url: str + SQLAlchemy URL for the repository in use. -def _repository_exists(repository_url): - """Test if the database already exists""" - if repository_url.startswith("sqlite"): - repository_path = repository_url.replace("sqlite:///", "") - result = os.path.isfile(repository_path) - else: - raise NotImplementedError - return result + Returns + ------- + str + Name of the table to use in the database + """ -def _get_repository_url(request, suite_name, test_dir): - """Return the repository_url for the input parameters.""" - db_type = request.config.getoption("--database-backend") - if db_type == "sqlite": - repository_url = "sqlite:///{test_dir}/{suite}.db".format( - test_dir=test_dir, suite=suite_name) - elif db_type == "postgres": - user = request.config.getoption("--database-user-postgres") - password = request.config.getoption("--database-password-postgres") - repository_url = ("postgres://{user}:{password}@localhost/" - "pycsw_test_{suite}".format(user=user, - password=password, - suite=suite_name)) + if repository_url.startswith("sqlite"): + result = config.get("repository", "table") + elif repository_url.startswith("postgresql"): + result = "{suite}_records".format(suite=suite) else: raise NotImplementedError - return repository_url + return result def _initialize_database(repository_url, table_name, data_dir, test_dir): - """Initialize local database for tests. + """Initialize database for tests. This function will create the database and load any test data that the suite may require. @@ -318,8 +357,118 @@ def _initialize_database(repository_url, table_name, data_dir, test_dir): """ print("Setting up {0!r} repository...".format(repository_url)) - admin.setup_db(repository_url, table_name, test_dir) + if repository_url.startswith("postgresql"): + extra_kwargs = { + "create_sfsql_tables": True, + "create_plpythonu_functions": False + } + else: + extra_kwargs = {} + admin.setup_db(database=repository_url, table=table_name, home=test_dir, + **extra_kwargs) if len(os.listdir(data_dir)) > 0: print("Loading database data...") - admin.load_records(StaticContext(), repository_url, table_name, - data_dir) + admin.load_records(context=StaticContext(), database=repository_url, + table=table_name, xml_dirpath=data_dir) + + +def _parse_postgresql_repository_url(repository_url): + info_re = re.search(r"postgresql://(?P[\w_]+):(?P.*?)@" + r"(?P[\w_.]+):(?P\d+)/" + r"(?P[\w_]+)", + repository_url, + flags=re.UNICODE) + try: + db_info = info_re.groupdict() + except AttributeError: + raise RuntimeError("Could not parse repository url {0!r}".format( + repository_url)) + else: + return db_info + + +def _recreate_postgresql_database(configuration): + """Recreate a postgresql database. + + This function will try to create a new postgresql database for testing + purposes. If the database already exists it is deleted and then recreated. + + Parameters + ---------- + configuration: _pytest.config.Config + The configuration object used by pytest + create_plpythonu_extension: bool, optional + Whether the `plpythonu` language is to bre created for the database + + Raises + ------ + RuntimeError + If a connection to the postgresql server cannot be made + + """ + + connection = psycopg2.connect( + database="postgres", + user=configuration.getoption("--database-user-postgresql"), + password=configuration.getoption("--database-password-postgresql"), + host=configuration.getoption("--database-host-postgresql"), + port=configuration.getoption("--database-port-postgresql") + ) + connection.set_isolation_level( + psycopg2.extensions.ISOLATION_LEVEL_AUTOCOMMIT) + cursor = connection.cursor() + db_name = configuration.getoption("--database-name-postgresql") + cursor.execute("DROP DATABASE IF EXISTS {database}".format( + database=db_name)) + cursor.execute("CREATE DATABASE {database}".format(database=db_name)) + cursor.execute( + "SELECT COUNT(1) FROM pg_available_extensions WHERE name='postgis'") + postgis_available = bool(cursor.fetchone()[0]) + cursor.close() + connection.close() + if postgis_available: + _create_postgresql_extension(configuration, extension="postgis") + else: + _create_postgresql_extension(configuration, extension="plpythonu") + + +def _create_postgresql_extension(configuration, extension): + connection = psycopg2.connect( + database=configuration.getoption("--database-name-postgresql"), + user=configuration.getoption("--database-user-postgresql"), + password=configuration.getoption("--database-password-postgresql"), + host=configuration.getoption("--database-host-postgresql"), + port=configuration.getoption("--database-port-postgresql") + ) + connection.set_isolation_level( + psycopg2.extensions.ISOLATION_LEVEL_AUTOCOMMIT) + cursor = connection.cursor() + cursor.execute("CREATE EXTENSION {0}".format(extension)) + cursor.close() + connection.close() + + +def _repository_exists(repository_url, table_name): + """Test if the database already exists.""" + if repository_url.startswith("sqlite"): + repository_path = repository_url.replace("sqlite:///", "") + result = os.path.isfile(repository_path) + elif repository_url.startswith("postgresql"): + db_info = _parse_postgresql_repository_url(repository_url) + try: + connection = psycopg2.connect(user=db_info["user"], + password=db_info["password"], + host=db_info["host"], + port=db_info["port"], + database=db_info["database"]) + cursor = connection.cursor() + cursor.execute("SELECT COUNT(1) FROM {table_name}".format( + table_name=table_name)) + except (psycopg2.OperationalError, psycopg2.ProgrammingError): + # database or table does not exist yet + result = False + else: + result = True + else: + raise NotImplementedError + return result From e7233b3261d4a231782d7cf9f07701081deeaefe Mon Sep 17 00:00:00 2001 From: Ricardo Garcia Silva Date: Tue, 13 Dec 2016 20:25:24 +0000 Subject: [PATCH 028/119] Changed some tests in order to have uniform sorting --- .../suites/csw30/get/requests.txt | 164 +++++++++--------- 1 file changed, 82 insertions(+), 82 deletions(-) diff --git a/tests/functionaltests/suites/csw30/get/requests.txt b/tests/functionaltests/suites/csw30/get/requests.txt index d93dd98d0..5b2c3dfaf 100644 --- a/tests/functionaltests/suites/csw30/get/requests.txt +++ b/tests/functionaltests/suites/csw30/get/requests.txt @@ -1,82 +1,82 @@ -GetCapabilities-base-url,PYCSW_SERVER?config=tests/suites/csw30/default.cfg -GetCapabilities-no-version,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&service=CSW&request=GetCapabilities -GetCapabilities,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&service=CSW&version=3.0.0&request=GetCapabilities -Exception-invalid-request,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&service=CSW&version=3.0.0&request=GetCapabilities-foo -Exception-GetDomain,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&service=CSW&version=3.0.0&request=GetDomain -GetDomain-parameter,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&service=CSW&version=3.0.0&request=GetDomain¶metername=GetRecords.ElementSetName -GetDomain-value-reference,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&service=CSW&version=3.0.0&request=GetDomain&valuereference=dc:title -Exception-GetDomain-value-reference,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&service=CSW&version=3.0.0&request=GetDomain&valuereference=dc:title2 -Exception-GetRecordById-dc.xml,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&service=CSW&version=3.0.0&request=GetRecordById&id=urn:uuid:829babb0-b2f1-49e1-8cd5-7b489fe71a1e -Exception-GetRecordById-404,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&service=CSW&version=3.0.0&request=GetRecordById&id=does_not_exist2 -OpenSearch-description,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&mode=opensearch&service=CSW&version=3.0.0&request=GetCapabilities -GetRepositoryItem,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&service=CSW&version=3.0.0&request=GetRepositoryItem&id=urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f -Exception-GetRepositoryItem-notfound,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&service=CSW&version=3.0.0&request=GetRepositoryItem&id=NOTFOUND -002258f0-627f-457f-b2ad-025777c77ac8,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&mode=opensearch&service=CSW&version=3.0.0&request=GetCapabilities -045c600d-973d-41eb-9f60-eba1b717b720,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&mode=opensearch&service=CSW&version=3.0.0&request=GetRecords&elementsetname=full&typenames=csw:Record&resulttype=results&q=Fusc%C3%A9%20Land&bbox=&time=/&outputformat=application/atom%2Bxml&startposition=1&maxrecords=&recordids= -0bbcf862-5211-4351-9988-63f8bec49c98,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&elementSetName=summary&outputFormat=application/atom%2Bxml&request=GetRecords&service=CSW&typeNames=Record&version=3.0.0 -0bdf8457-971e-4ed1-be4a-5feca4dcd8fa,PYCSW_SERVER?config=tests/suites/csw30/default.cfg -0d8bbdec-0846-42ca-8dc8-b7f4cba41d67,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&elementName=tns:title&request=GetRecords&service=CSW&typeNames=Record&namespace=xmlns(tns%3Dhttp://purl.org/dc/elements/1.1/)&version=3.0.0 -0e1dca37-477a-4060-99fe-7799b52d656c,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&mode=opensearch&service=CSW&version=3.0.0&request=GetRecords&elementsetname=full&typenames=csw:Record&resulttype=results&q=lpppclq&bbox=&time=/&outputformat=application/atom%2Bxml&startposition=1&maxrecords=&recordids= -13c87956-51a4-4780-a8e9-6e0b5c0bb473,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&elementSetName=full&maxRecords=20&request=GetRecords&service=CSW&typeNames=Record&version=3.0.0 -151d982f-ebd3-4cb2-b507-a667713a1e92,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&acceptFormats=model/x3d%2Bxml&acceptVersions=3.0.0&request=GetCapabilities&service=CSW -1869e495-1a61-4713-8285-76d1336ee1a6,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&acceptVersions=3.0.0&request=GetCapabilities -1bcb42a9-538c-4f0a-9d4c-d6f10b720aa6,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&request=GetRecordById&service=CSW&version=3.0.0 -22f44168-2ccf-4801-ad96-204212566d56,PYCSW_SERVER?config=tests/suites/csw30/default.cfg -2499a9c9-8d33-449c-bc92-d494adfcc84d,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&acceptVersions=3.0.0§ions=All&request=GetCapabilities&service=CSW -27f4f39c-d92a-4e3c-b961-c6aa8c24e513,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&acceptFormats=application/xml&acceptVersions=3.0.0&request=GetCapabilities&service=CSW -28e569df-8596-4128-8d9a-29ad03138915,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&id=urn:uuid:a06af396-3105-442d-8b40-22b57a90d2f2&request=GetRecordById&service=CSW&version=3.0.0 -2b06a5c8-0df2-4af1-8d2e-a425de11c845,PYCSW_SERVER?config=tests/suites/csw30/default.cfg -2ba1418a-444d-4cce-9cfe-4c94efcf8b55,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&maxRecords=2&elementSetName=summary&outputFormat=application/atom%2Bxml&request=GetRecords&service=CSW&typeNames=csw3:Record&startPosition=3&namespace=xmlns(csw3%3Dhttp://www.opengis.net/cat/csw/3.0)&version=3.0.0 -397fe17a-d5b4-4f96-8cc4-4ce467ed4d0a,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&service=CSW&version=3.0.0&request=GetRecords&elementsetname=full&typenames=csw:Record&resulttype=results&q=ipsum&bbox=&time=/&outputformat=application/xml&outputschema=http://www.opengis.net/cat/csw/3.0&startposition=1&maxrecords=&recordids= -3dcd1b15-73d2-4b7d-a3e3-ff15bf14aae4,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&elementSetName=brief&request=GetRecords&service=CSW&typeNames=tns:Record&namespace=xmlns(tns%3Dhttp://www.opengis.net/cat/csw/3.0)&version=3.0.0 -405e1ff1-5c75-4846-a28b-cfaff2a6921a,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&elementSetName=summary&recordIds=urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f,urn:uuid:e9330592-0932-474b-be34-c3a3bb67c7db&request=GetRecords&service=CSW&typeNames=Record&version=3.0.0 -43cd6471-6ac7-45bd-8ff9-148cb2de9a52,PYCSW_SERVER?config=tests/suites/csw30/default.cfg -4566d2ec-1283-4a02-baed-a74fc5b47e37,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&acceptVersions=3.0.0§ions=ServiceIdentification&request=GetCapabilities&service=CSW -461bd4c5-6623-490d-9036-d91a2201e87b,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&acceptVersions=3.0.0§ions=Filter_Capabilities&request=GetCapabilities&service=CSW -5496894a-3877-4f62-a20b-5d7126f94925,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&service=CSW&version=3.0.0&request=GetRecords&elementsetname=full&typenames=csw:Record&resulttype=results&q=&bbox=514432,5429689,529130,5451619&time=/&outputformat=application/xml&outputschema=http://www.opengis.net/cat/csw/3.0&startposition=1&maxrecords=&recordids= -5a015f6a-bf14-4977-b1e3-6577eb0223c8,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&service=CSW&version=3.0.0&request=GetRecords&elementsetname=full&typenames=csw:Record&resulttype=results&q=&bbox=-6.17,44.79,17.92,68.41&time=/&outputformat=application/xml&outputschema=http://www.opengis.net/cat/csw/3.0&startposition=1&maxrecords=&recordids= -5c3a2390-1fb9-43f0-b96c-f48c7a69c990,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&id=urn:uuid:88247b56-4cbc-4df9-9860-db3f8042e357&outputFormat=model/vnd.collada%2Bxml&request=GetRecordById&service=CSW&version=3.0.0 -5e9e67dc-18d6-4645-8111-c6263c88a61f,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&acceptVersions=3.0.0§ions=OperationsMetadata&request=GetCapabilities&service=CSW -604d9379-741c-42e5-b4cf-92e56c87fa64,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&elementSetName=full&q=amet&request=GetRecords&service=CSW&typeNames=Record&version=3.0.0 -60e6af95-d5fc-465a-82e2-fd2e6d85e4af,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&request=GetRecords&service=CSW&typeNames=UnknownType&version=3.0.0 -62ad94c2-b558-4265-a427-23d6677975d6,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&mode=opensearch&service=CSW&version=3.0.0&request=GetRecords&elementsetname=full&typenames=csw:Record&resulttype=results&q=&bbox=&time=/&outputformat=application/atom%2Bxml&startposition=1&maxrecords=&recordids=uid-bc5017e6-5cc8-4b03-aee7-d88f88caba0a -6a5e247b-0961-4b8a-a0d6-35a491d9cfe7,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&elementSetName=undefined-view&request=GetRecords&service=CSW&typeNames=Record&version=3.0.0 -6a9d0558-9d87-495b-b999-b49a3ef1cf99,PYCSW_SERVER?config=tests/suites/csw30/default.cfg -6bd790c9-6019-4652-9c91-330a894d6700,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&service=CSW&version=3.0.0&request=GetRecords&elementsetname=full&typenames=csw:Record&resulttype=results&q=Fusc%C3%A9%20Land&bbox=&time=/&outputformat=application/xml&outputschema=http://www.opengis.net/cat/csw/3.0&startposition=1&maxrecords=&recordids= -6e9cba43-5e27-415d-adbd-a92851c2c173,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&acceptVersions=3.0.0&request=GetCapabilities&service=CSW -7630d230-e142-4a09-accf-f091000b90cd,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&id=urn:uuid:66ae76b7-54ba-489b-a582-0f0633d96493&request=GetRecordById&service=CSW&version=3.0.0 -7e82446a-b5dc-43fe-9a73-4cc1f2f2f0bf,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&acceptFormats=text/xml&acceptVersions=3.0.0&request=GetCapabilities&service=CSW -8025978e-1a35-4d70-80c2-e8329e0c7864,PYCSW_SERVER?config=tests/suites/csw30/default.cfg -8184ae4f-536d-4978-8b28-ad703be96967,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&elementSetName=brief&bbox=44.79,-6.17,68.41,17.92,urn:ogc:def:crs:EPSG::4326&request=GetRecords&service=CSW&typeNames=Record&version=3.0.0 -88f63a89-664f-4315-b4f8-04a0b33803a7,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&maxRecords=15&elementSetName=summary&q=Mauris&bbox=-6.17,44.79,17.92,68.41&request=GetRecords&service=CSW&typeNames=Record&version=3.0.0 -8987f8f0-4d93-4481-968c-a2ccbd6b8be2,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&id=urn:example:1461546298217&request=GetRecordById&service=CSW&version=3.0.0 -8e5fa0f6-3f29-4d1f-abe2-d9866f3def98,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&mode=opensearch&service=CSW&version=3.0.0&request=GetRecords&elementsetname=full&typenames=csw:Record&resulttype=results&q=&bbox=-180,-90,180,90&time=/&outputformat=application/atom%2Bxml&startposition=1&maxrecords=&recordids= -9000ec29-5649-474e-b2d6-55c00f8a52c0,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&acceptVersions=9999.12.31&request=GetCapabilities&service=CSW -91914d35-7bbf-45e6-9b37-5ef484869a4e,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&elementSetName=summary&bbox=-6.17,44.79,17.92,68.41&request=GetRecords&service=CSW&typeNames=Record&version=3.0.0 -92d4844d-57d5-4cf3-8f47-ba50e369dc04,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&elementSetName=full&q=atkovxqmf&request=GetRecords&service=CSW&typeNames=Record&version=3.0.0 -9c0e2a4b-b4e6-41c0-b630-c8c99fc89ff3,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&elementSetName=brief&outputSchema=urn:uuid:6a29d2a8-9651-47a6-9b14-f05d2b5644f0&request=GetRecords&service=CSW&typeNames=Record&version=3.0.0 -9d7ffac8-9798-428d-8e27-3cd12497ee6b,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&id=urn:uuid:1ef30a8b-876d-4828-9246-c37ab4510bbd&outputSchema=http://www.example.org/ns/alpha&request=GetRecordById&service=CSW&version=3.0.0 -a2f18643-e24e-4fa5-b780-6de4a2dbc814,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&id=urn:uuid:829babb0-b2f1-49e1-8cd5-7b489fe71a1e&outputFormat=application/atom%2Bxml&request=GetRecordById&service=CSW&version=3.0.0 -abc90c8c-5868-4405-a73e-64c849be3b2a,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&mode=opensearch&service=CSW&version=3.0.0&request=GetRecords&elementsetname=full&typenames=csw:Record&resulttype=results&q=&bbox=514432,5429689,529130,5451619&time=/&outputformat=application/atom%2Bxml&startposition=1&maxrecords=&recordids= -ad0c0571-09ed-436a-9a4f-a5de744c88fe,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&maxRecords=2&elementSetName=summary&request=GetRecords&service=CSW&typeNames=csw3:Record&startPosition=3&namespace=xmlns(csw3%3Dhttp://www.opengis.net/cat/csw/3.0)&version=3.0.0 -af502903-f4ee-47ee-b76e-af878d238bcc,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&service=CSW&version=3.0.0&request=GetRecords&elementsetname=full&typenames=csw:Record&resulttype=results&q=&bbox=-180,-90,180,90&time=/&outputformat=application/xml&outputschema=http://www.opengis.net/cat/csw/3.0&startposition=1&maxrecords=&recordids= -b2aafc3f-4f35-47bc-affd-08590972deae,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&mode=opensearch&service=CSW&version=3.0.0&request=GetRecords&elementsetname=full&typenames=csw:Record&resulttype=results&q=&bbox=-6.17,44.79,17.92,68.41&time=/&outputformat=application/atom%2Bxml&startposition=1&maxrecords=&recordids= -b6069623-f7d8-4021-8582-98f0aea0f763,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&mode=opensearch&service=CSW&version=3.0.0&request=GetRecords&elementsetname=full&typenames=csw:Record&resulttype=results&q=&bbox=&time=/&outputformat=application/atom%2Bxml&startposition=3&maxrecords=4&recordids= -b9a07a54-75a8-45bd-b341-2823600211e3,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&elementSetName=brief&bbox=472944,5363287,492722,5455253,urn:ogc:def:crs:EPSG::0000&request=GetRecords&service=CSW&typeNames=Record&version=3.0.0 -baa4a7d0-0c01-42b6-adc3-0d03e9949fa3,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&acceptVersions=3.0.0&request=getCapabilities&service=CSW -bfbe6409-f64a-4c89-acb3-50f260a5c743,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&elementSetName=summary&q=Fusc%C3%A9%20Land&request=GetRecords&service=CSW&typeNames=Record&version=3.0.0 -bfe20134-d1da-42ef-9c0f-8e1307bbf92b,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&service=CSW&version=3.0.0&request=GetRecords&elementsetname=full&typenames=csw:Record&resulttype=results&q=&bbox=&time=/&outputformat=application/xml&outputschema=http://www.opengis.net/cat/csw/3.0&startposition=3&maxrecords=4&recordids= -c03d173a-3f42-4956-89c8-1fe02c3a0873,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&SERVICE=CSW&Request=GetCapabilities&acceptversions=3.0.0 -cb43d8c3-e14c-4a9f-9231-4384b7dd21f3,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&elementName=undefined&request=GetRecords&service=CSW&typeNames=Record&version=3.0.0 -d03c6fd3-e821-4a26-b62f-d20a474e25af,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&acceptVersions=3.0.0§ions=ServiceProvider&request=GetCapabilities&service=CSW -d4ccbf96-a529-480e-a53d-5b88dc1dea7f,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&service=CSW&version=3.0.0&request=GetRecords&elementsetname=full&typenames=csw:Record&resulttype=results&q=&bbox=&time=/&outputformat=application/xml&outputschema=http://www.opengis.net/cat/csw/3.0&startposition=1&maxrecords=&recordids=uid-bc5017e6-5cc8-4b03-aee7-d88f88caba0a -d94c801a-1207-4897-b84a-53f3a192515b,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&service=CSW&version=3.0.0&request=GetRecords&elementsetname=full&typenames=csw:Record&resulttype=results&q=lpppclq&bbox=&time=/&outputformat=application/xml&outputschema=http://www.opengis.net/cat/csw/3.0&startposition=1&maxrecords=&recordids= -da859e34-91fc-495a-8c09-285a40c0900b,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&id=urn:uuid:94bc9c83-97f6-4b40-9eb8-a8e8787a5c63&elementSetName=full&request=GetRecordById&service=CSW&version=3.0.0 -dc246fb8-5af5-4fda-82bb-c18b3ecd439c,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&mode=opensearch&service=CSW&version=3.0.0&request=GetRecords&elementsetname=full&typenames=csw:Record&resulttype=results&q=ipsum&bbox=&time=/&outputformat=application/atom%2Bxml&startposition=1&maxrecords=&recordids= -de016645-6d5c-4855-943c-2db07ae9f49a,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&mode=opensearch&service=CSW&version=3.0.0&request=GetRecords&elementsetname=full&typenames=csw:Record&resulttype=results&q=&bbox=&time=/&outputformat=application/atom%2Bxml&startposition=1&maxrecords=&recordids=urn%3Auuid%3A94bc9c83-97f6-4b40-9eb8-a8e8787a5c63 -dff3ec6b-bb2d-4887-bd17-8fcf15def042,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&elementSetName=summary&request=GetRecords&service=CSW&typeNames=Record&version=3.0.0 -e38e6bfb-8ac4-4ae4-8b87-0aafbc8d3c6b,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&id=urn:uuid:1ef30a8b-876d-4828-9246-c37ab4510bbd&elementSetName=brief&request=GetRecordById&service=CSW&version=3.0.0 -e67ca935-d65d-4d8c-8302-1405333dded0,PYCSW_SERVER?config=tests/suites/csw30/default.cfg -e7704509-3441-458f-8ef0-e333c6b6043f,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&elementName=ns1:subject&elementSetName=brief&request=GetRecords&service=CSW&typeNames=Record&namespace=xmlns(ns1%3Dhttp://purl.org/dc/elements/1.1/)&version=3.0.0 -f1223a49-6d08-44ff-97fe-4c32cbbfad82,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&elementSetName=summary&maxRecords=0&q=titles&request=GetRecords&service=CSW&typeNames=Record&version=3.0.0 -f89dd4e1-3a81-4433-afd2-a3fa1bdb1e18,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&elementSetName=full&outputFormat=text/example&request=GetRecords&service=CSW&typeNames=Record&version=3.0.0 +GetCapabilities-base-url, +GetCapabilities-no-version,service=CSW&request=GetCapabilities +GetCapabilities,service=CSW&version=3.0.0&request=GetCapabilities +Exception-invalid-request,service=CSW&version=3.0.0&request=GetCapabilities-foo +Exception-GetDomain,service=CSW&version=3.0.0&request=GetDomain +GetDomain-parameter,service=CSW&version=3.0.0&request=GetDomain¶metername=GetRecords.ElementSetName +GetDomain-value-reference,service=CSW&version=3.0.0&request=GetDomain&valuereference=dc:title +Exception-GetDomain-value-reference,service=CSW&version=3.0.0&request=GetDomain&valuereference=dc:title2 +Exception-GetRecordById-dc.xml,service=CSW&version=3.0.0&request=GetRecordById&id=urn:uuid:829babb0-b2f1-49e1-8cd5-7b489fe71a1e +Exception-GetRecordById-404,service=CSW&version=3.0.0&request=GetRecordById&id=does_not_exist2 +OpenSearch-description,mode=opensearch&service=CSW&version=3.0.0&request=GetCapabilities +GetRepositoryItem,service=CSW&version=3.0.0&request=GetRepositoryItem&id=urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f +Exception-GetRepositoryItem-notfound,service=CSW&version=3.0.0&request=GetRepositoryItem&id=NOTFOUND +002258f0-627f-457f-b2ad-025777c77ac8,mode=opensearch&service=CSW&version=3.0.0&request=GetCapabilities +045c600d-973d-41eb-9f60-eba1b717b720,mode=opensearch&service=CSW&version=3.0.0&request=GetRecords&elementsetname=full&typenames=csw:Record&resulttype=results&q=Fusc%C3%A9%20Land&bbox=&time=/&outputformat=application/atom%2Bxml&startposition=1&maxrecords=&recordids= +0bbcf862-5211-4351-9988-63f8bec49c98,elementSetName=summary&outputFormat=application/atom%2Bxml&request=GetRecords&service=CSW&typeNames=Record&version=3.0.0&SortBy=dc:identifier:A +0bdf8457-971e-4ed1-be4a-5feca4dcd8fa, +0d8bbdec-0846-42ca-8dc8-b7f4cba41d67,elementName=tns:title&request=GetRecords&service=CSW&typeNames=Record&namespace=xmlns(tns%3Dhttp://purl.org/dc/elements/1.1/)&version=3.0.0&SortBy=dc:identifier:A +0e1dca37-477a-4060-99fe-7799b52d656c,mode=opensearch&service=CSW&version=3.0.0&request=GetRecords&elementsetname=full&typenames=csw:Record&resulttype=results&q=lpppclq&bbox=&time=/&outputformat=application/atom%2Bxml&startposition=1&maxrecords=&recordids= +13c87956-51a4-4780-a8e9-6e0b5c0bb473,elementSetName=full&maxRecords=20&request=GetRecords&service=CSW&typeNames=Record&version=3.0.0&SortBy=dc:identifier:A +151d982f-ebd3-4cb2-b507-a667713a1e92,acceptFormats=model/x3d%2Bxml&acceptVersions=3.0.0&request=GetCapabilities&service=CSW +1869e495-1a61-4713-8285-76d1336ee1a6,acceptVersions=3.0.0&request=GetCapabilities +1bcb42a9-538c-4f0a-9d4c-d6f10b720aa6,request=GetRecordById&service=CSW&version=3.0.0 +22f44168-2ccf-4801-ad96-204212566d56, +2499a9c9-8d33-449c-bc92-d494adfcc84d,acceptVersions=3.0.0§ions=All&request=GetCapabilities&service=CSW +27f4f39c-d92a-4e3c-b961-c6aa8c24e513,acceptFormats=application/xml&acceptVersions=3.0.0&request=GetCapabilities&service=CSW +28e569df-8596-4128-8d9a-29ad03138915,id=urn:uuid:a06af396-3105-442d-8b40-22b57a90d2f2&request=GetRecordById&service=CSW&version=3.0.0 +2b06a5c8-0df2-4af1-8d2e-a425de11c845, +2ba1418a-444d-4cce-9cfe-4c94efcf8b55,maxRecords=2&elementSetName=summary&outputFormat=application/atom%2Bxml&request=GetRecords&service=CSW&typeNames=csw3:Record&startPosition=3&namespace=xmlns(csw3%3Dhttp://www.opengis.net/cat/csw/3.0)&version=3.0.0 +397fe17a-d5b4-4f96-8cc4-4ce467ed4d0a,service=CSW&version=3.0.0&request=GetRecords&elementsetname=full&typenames=csw:Record&resulttype=results&q=ipsum&bbox=&time=/&outputformat=application/xml&outputschema=http://www.opengis.net/cat/csw/3.0&startposition=1&maxrecords=&recordids= +3dcd1b15-73d2-4b7d-a3e3-ff15bf14aae4,elementSetName=brief&request=GetRecords&service=CSW&typeNames=tns:Record&namespace=xmlns(tns%3Dhttp://www.opengis.net/cat/csw/3.0)&version=3.0.0&SortBy=dc:identifier:A +405e1ff1-5c75-4846-a28b-cfaff2a6921a,elementSetName=summary&recordIds=urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f,urn:uuid:e9330592-0932-474b-be34-c3a3bb67c7db&request=GetRecords&service=CSW&typeNames=Record&version=3.0.0 +43cd6471-6ac7-45bd-8ff9-148cb2de9a52, +4566d2ec-1283-4a02-baed-a74fc5b47e37,acceptVersions=3.0.0§ions=ServiceIdentification&request=GetCapabilities&service=CSW +461bd4c5-6623-490d-9036-d91a2201e87b,acceptVersions=3.0.0§ions=Filter_Capabilities&request=GetCapabilities&service=CSW +5496894a-3877-4f62-a20b-5d7126f94925,service=CSW&version=3.0.0&request=GetRecords&elementsetname=full&typenames=csw:Record&resulttype=results&q=&bbox=514432,5429689,529130,5451619&time=/&outputformat=application/xml&outputschema=http://www.opengis.net/cat/csw/3.0&startposition=1&maxrecords=&recordids= +5a015f6a-bf14-4977-b1e3-6577eb0223c8,service=CSW&version=3.0.0&request=GetRecords&elementsetname=full&typenames=csw:Record&resulttype=results&q=&bbox=-6.17,44.79,17.92,68.41&time=/&outputformat=application/xml&outputschema=http://www.opengis.net/cat/csw/3.0&startposition=1&maxrecords=&recordids=&SortBy=dc:identifier:A +5c3a2390-1fb9-43f0-b96c-f48c7a69c990,id=urn:uuid:88247b56-4cbc-4df9-9860-db3f8042e357&outputFormat=model/vnd.collada%2Bxml&request=GetRecordById&service=CSW&version=3.0.0 +5e9e67dc-18d6-4645-8111-c6263c88a61f,acceptVersions=3.0.0§ions=OperationsMetadata&request=GetCapabilities&service=CSW +604d9379-741c-42e5-b4cf-92e56c87fa64,elementSetName=full&q=amet&request=GetRecords&service=CSW&typeNames=Record&version=3.0.0 +60e6af95-d5fc-465a-82e2-fd2e6d85e4af,request=GetRecords&service=CSW&typeNames=UnknownType&version=3.0.0 +62ad94c2-b558-4265-a427-23d6677975d6,mode=opensearch&service=CSW&version=3.0.0&request=GetRecords&elementsetname=full&typenames=csw:Record&resulttype=results&q=&bbox=&time=/&outputformat=application/atom%2Bxml&startposition=1&maxrecords=&recordids=uid-bc5017e6-5cc8-4b03-aee7-d88f88caba0a +6a5e247b-0961-4b8a-a0d6-35a491d9cfe7,elementSetName=undefined-view&request=GetRecords&service=CSW&typeNames=Record&version=3.0.0 +6a9d0558-9d87-495b-b999-b49a3ef1cf99, +6bd790c9-6019-4652-9c91-330a894d6700,service=CSW&version=3.0.0&request=GetRecords&elementsetname=full&typenames=csw:Record&resulttype=results&q=Fusc%C3%A9%20Land&bbox=&time=/&outputformat=application/xml&outputschema=http://www.opengis.net/cat/csw/3.0&startposition=1&maxrecords=&recordids= +6e9cba43-5e27-415d-adbd-a92851c2c173,acceptVersions=3.0.0&request=GetCapabilities&service=CSW +7630d230-e142-4a09-accf-f091000b90cd,id=urn:uuid:66ae76b7-54ba-489b-a582-0f0633d96493&request=GetRecordById&service=CSW&version=3.0.0 +7e82446a-b5dc-43fe-9a73-4cc1f2f2f0bf,acceptFormats=text/xml&acceptVersions=3.0.0&request=GetCapabilities&service=CSW +8025978e-1a35-4d70-80c2-e8329e0c7864, +8184ae4f-536d-4978-8b28-ad703be96967,elementSetName=brief&bbox=44.79,-6.17,68.41,17.92,urn:ogc:def:crs:EPSG::4326&request=GetRecords&service=CSW&typeNames=Record&version=3.0.0&SortBy=dc:identifier:A +88f63a89-664f-4315-b4f8-04a0b33803a7,maxRecords=15&elementSetName=summary&q=Mauris&bbox=-6.17,44.79,17.92,68.41&request=GetRecords&service=CSW&typeNames=Record&version=3.0.0 +8987f8f0-4d93-4481-968c-a2ccbd6b8be2,id=urn:example:1461546298217&request=GetRecordById&service=CSW&version=3.0.0 +8e5fa0f6-3f29-4d1f-abe2-d9866f3def98,mode=opensearch&service=CSW&version=3.0.0&request=GetRecords&elementsetname=full&typenames=csw:Record&resulttype=results&q=&bbox=-180,-90,180,90&time=/&outputformat=application/atom%2Bxml&startposition=1&maxrecords=&recordids=&SortBy=dc:identifier:A +9000ec29-5649-474e-b2d6-55c00f8a52c0,acceptVersions=9999.12.31&request=GetCapabilities&service=CSW +91914d35-7bbf-45e6-9b37-5ef484869a4e,elementSetName=summary&bbox=-6.17,44.79,17.92,68.41&request=GetRecords&service=CSW&typeNames=Record&version=3.0.0&SortBy=dc:identifier:A +92d4844d-57d5-4cf3-8f47-ba50e369dc04,elementSetName=full&q=atkovxqmf&request=GetRecords&service=CSW&typeNames=Record&version=3.0.0 +9c0e2a4b-b4e6-41c0-b630-c8c99fc89ff3,elementSetName=brief&outputSchema=urn:uuid:6a29d2a8-9651-47a6-9b14-f05d2b5644f0&request=GetRecords&service=CSW&typeNames=Record&version=3.0.0 +9d7ffac8-9798-428d-8e27-3cd12497ee6b,id=urn:uuid:1ef30a8b-876d-4828-9246-c37ab4510bbd&outputSchema=http://www.example.org/ns/alpha&request=GetRecordById&service=CSW&version=3.0.0 +a2f18643-e24e-4fa5-b780-6de4a2dbc814,id=urn:uuid:829babb0-b2f1-49e1-8cd5-7b489fe71a1e&outputFormat=application/atom%2Bxml&request=GetRecordById&service=CSW&version=3.0.0 +abc90c8c-5868-4405-a73e-64c849be3b2a,mode=opensearch&service=CSW&version=3.0.0&request=GetRecords&elementsetname=full&typenames=csw:Record&resulttype=results&q=&bbox=514432,5429689,529130,5451619&time=/&outputformat=application/atom%2Bxml&startposition=1&maxrecords=&recordids= +ad0c0571-09ed-436a-9a4f-a5de744c88fe,maxRecords=2&elementSetName=summary&request=GetRecords&service=CSW&typeNames=csw3:Record&startPosition=3&namespace=xmlns(csw3%3Dhttp://www.opengis.net/cat/csw/3.0)&version=3.0.0 +af502903-f4ee-47ee-b76e-af878d238bcc,service=CSW&version=3.0.0&request=GetRecords&elementsetname=full&typenames=csw:Record&resulttype=results&q=&bbox=-180,-90,180,90&time=/&outputformat=application/xml&outputschema=http://www.opengis.net/cat/csw/3.0&startposition=1&maxrecords=&recordids=&SortBy=dc:identifier:A +b2aafc3f-4f35-47bc-affd-08590972deae,mode=opensearch&service=CSW&version=3.0.0&request=GetRecords&elementsetname=full&typenames=csw:Record&resulttype=results&q=&bbox=-6.17,44.79,17.92,68.41&time=/&outputformat=application/atom%2Bxml&startposition=1&maxrecords=&recordids=&SortBy=dc:identifier:A +b6069623-f7d8-4021-8582-98f0aea0f763,mode=opensearch&service=CSW&version=3.0.0&request=GetRecords&elementsetname=full&typenames=csw:Record&resulttype=results&q=&bbox=&time=/&outputformat=application/atom%2Bxml&startposition=3&maxrecords=4&recordids=&SortBy=dc:identifier:A +b9a07a54-75a8-45bd-b341-2823600211e3,elementSetName=brief&bbox=472944,5363287,492722,5455253,urn:ogc:def:crs:EPSG::0000&request=GetRecords&service=CSW&typeNames=Record&version=3.0.0 +baa4a7d0-0c01-42b6-adc3-0d03e9949fa3,acceptVersions=3.0.0&request=getCapabilities&service=CSW +bfbe6409-f64a-4c89-acb3-50f260a5c743,elementSetName=summary&q=Fusc%C3%A9%20Land&request=GetRecords&service=CSW&typeNames=Record&version=3.0.0 +bfe20134-d1da-42ef-9c0f-8e1307bbf92b,service=CSW&version=3.0.0&request=GetRecords&elementsetname=full&typenames=csw:Record&resulttype=results&q=&bbox=&time=/&outputformat=application/xml&outputschema=http://www.opengis.net/cat/csw/3.0&startposition=3&maxrecords=4&recordids=&SortBy=dc:identifier:A +c03d173a-3f42-4956-89c8-1fe02c3a0873,SERVICE=CSW&Request=GetCapabilities&acceptversions=3.0.0 +cb43d8c3-e14c-4a9f-9231-4384b7dd21f3,elementName=undefined&request=GetRecords&service=CSW&typeNames=Record&version=3.0.0 +d03c6fd3-e821-4a26-b62f-d20a474e25af,acceptVersions=3.0.0§ions=ServiceProvider&request=GetCapabilities&service=CSW +d4ccbf96-a529-480e-a53d-5b88dc1dea7f,service=CSW&version=3.0.0&request=GetRecords&elementsetname=full&typenames=csw:Record&resulttype=results&q=&bbox=&time=/&outputformat=application/xml&outputschema=http://www.opengis.net/cat/csw/3.0&startposition=1&maxrecords=&recordids=uid-bc5017e6-5cc8-4b03-aee7-d88f88caba0a +d94c801a-1207-4897-b84a-53f3a192515b,service=CSW&version=3.0.0&request=GetRecords&elementsetname=full&typenames=csw:Record&resulttype=results&q=lpppclq&bbox=&time=/&outputformat=application/xml&outputschema=http://www.opengis.net/cat/csw/3.0&startposition=1&maxrecords=&recordids= +da859e34-91fc-495a-8c09-285a40c0900b,id=urn:uuid:94bc9c83-97f6-4b40-9eb8-a8e8787a5c63&elementSetName=full&request=GetRecordById&service=CSW&version=3.0.0 +dc246fb8-5af5-4fda-82bb-c18b3ecd439c,mode=opensearch&service=CSW&version=3.0.0&request=GetRecords&elementsetname=full&typenames=csw:Record&resulttype=results&q=ipsum&bbox=&time=/&outputformat=application/atom%2Bxml&startposition=1&maxrecords=&recordids= +de016645-6d5c-4855-943c-2db07ae9f49a,mode=opensearch&service=CSW&version=3.0.0&request=GetRecords&elementsetname=full&typenames=csw:Record&resulttype=results&q=&bbox=&time=/&outputformat=application/atom%2Bxml&startposition=1&maxrecords=&recordids=urn%3Auuid%3A94bc9c83-97f6-4b40-9eb8-a8e8787a5c63 +dff3ec6b-bb2d-4887-bd17-8fcf15def042,elementSetName=summary&request=GetRecords&service=CSW&typeNames=Record&version=3.0.0&SortBy=dc:identifier:A +e38e6bfb-8ac4-4ae4-8b87-0aafbc8d3c6b,id=urn:uuid:1ef30a8b-876d-4828-9246-c37ab4510bbd&elementSetName=brief&request=GetRecordById&service=CSW&version=3.0.0 +e67ca935-d65d-4d8c-8302-1405333dded0, +e7704509-3441-458f-8ef0-e333c6b6043f,elementName=ns1:subject&elementSetName=brief&request=GetRecords&service=CSW&typeNames=Record&namespace=xmlns(ns1%3Dhttp://purl.org/dc/elements/1.1/)&version=3.0.0 +f1223a49-6d08-44ff-97fe-4c32cbbfad82,elementSetName=summary&maxRecords=0&q=titles&request=GetRecords&service=CSW&typeNames=Record&version=3.0.0 +f89dd4e1-3a81-4433-afd2-a3fa1bdb1e18,elementSetName=full&outputFormat=text/example&request=GetRecords&service=CSW&typeNames=Record&version=3.0.0 From 546c87a9a8594cf73a87dcf6879b7e2a7e61a7e5 Mon Sep 17 00:00:00 2001 From: Ricardo Garcia Silva Date: Wed, 14 Dec 2016 15:15:37 +0000 Subject: [PATCH 029/119] Added support for tox --- .gitignore | 1 + tox.ini | 20 ++++++++++++++++++++ 2 files changed, 21 insertions(+) create mode 100644 tox.ini diff --git a/.gitignore b/.gitignore index ac267ca17..592f31da8 100644 --- a/.gitignore +++ b/.gitignore @@ -11,6 +11,7 @@ tests/index.html tests/results **.cache .coverage +.tox # test configurations /default.cfg diff --git a/tox.ini b/tox.ini new file mode 100644 index 000000000..bf143db74 --- /dev/null +++ b/tox.ini @@ -0,0 +1,20 @@ +# Tox (http://tox.testrun.org/) is a tool for running tests +# in multiple virtualenvs. This configuration file will run the +# test suite on all supported python versions. To use it, "pip install tox" +# and then run "tox" from this directory. + +[tox] +#envlist = py27, py34, py35 +envlist = {py27,py34,py35}-{sqlite,postgresql} +skip_missing_interpreters = True + +[testenv] +deps = + -rrequirements.txt + -rrequirements-standalone.txt + -rrequirements-dev.txt + -rrequirements-pg.txt + +commands = + sqlite: py.test {posargs} + postgresql: py.test --database-backend postgresql {posargs} From 7c71a0ce3656914d6ecc6890f03a0f356a9d844f Mon Sep 17 00:00:00 2001 From: Ricardo Garcia Silva Date: Wed, 14 Dec 2016 15:17:07 +0000 Subject: [PATCH 030/119] Using unicode strings instead of bytes in test function --- .../functionaltests/test_suites_functional.py | 63 +++++++++++-------- 1 file changed, 38 insertions(+), 25 deletions(-) diff --git a/tests/functionaltests/test_suites_functional.py b/tests/functionaltests/test_suites_functional.py index f9ebd9133..da52b12ed 100644 --- a/tests/functionaltests/test_suites_functional.py +++ b/tests/functionaltests/test_suites_functional.py @@ -76,8 +76,10 @@ def test_suites(configuration, request_method, request_data, expected_result, request_environment = _prepare_wsgi_test_environment(request_method, request_data) pycsw_server = server.Csw(rtconfig=configuration, env=request_environment) - status, contents = pycsw_server.dispatch_wsgi() - with codecs.open(expected_result, encoding="utf-8") as fh: + encoding = "utf-8" + status, raw_contents = pycsw_server.dispatch_wsgi() + contents = raw_contents.decode(encoding) + with codecs.open(expected_result, encoding=encoding) as fh: expected = fh.read() normalized_result = _normalize( contents, @@ -93,8 +95,8 @@ def test_suites(configuration, request_method, request_data, expected_result, "with expected using difflib") matches_expected = _test_xml_diff(normalized_result, expected) if not matches_expected: - print("expected: {0}".format(expected)) - print("response: {0}".format(normalized_result)) + print("expected: {0}".format(expected.encode(encoding))) + print("response: {0}".format(normalized_result.encode(encoding))) assert matches_expected @@ -124,10 +126,10 @@ def _prepare_wsgi_test_environment(request_method, request_data): if request_method == "POST": print("request_path: {0}".format(request_data)) request_buffer = BytesIO() - with open(request_data) as fh: + encoding = "utf-8" + with codecs.open(request_data, encoding=encoding) as fh: contents = fh.read() - print("Request contents: {}".format(contents)) - request_buffer.write(contents) + request_buffer.write(contents.encode(encoding)) request_environment["CONTENT_LENGTH"] = request_buffer.tell() request_buffer.seek(0) request_environment["wsgi.input"] = request_buffer @@ -148,9 +150,9 @@ def _test_xml_result(result, expected, encoding="utf-8"): Parameters ---------- result: str - The result of running the test. + The result of running the test as a unicode string expected: str - The expected outcome. + The expected outcome as a unicode string. Returns ------- @@ -172,7 +174,7 @@ def _test_xml_result(result, expected, encoding="utf-8"): """ - result_element = etree.fromstring(result) + result_element = etree.fromstring(result.encode(encoding)) expected_element = etree.fromstring(expected.encode(encoding)) result_buffer = BytesIO() result_tree = result_element.getroottree() @@ -234,8 +236,7 @@ def _test_xml_diff(result, expected): def _normalize(sresult, normalize_identifiers=False): - """ - Normalize test output so that it can be compared with the expected result. + """Normalize test output so it can be compared with the expected result. Several dynamic elements of a pycsw response (such as time, updateSequence, etc) are replaced with static constants to ease comparison. @@ -243,7 +244,7 @@ def _normalize(sresult, normalize_identifiers=False): Parameters ---------- sresult: str - The test result. + The test result as a unicode string. normalize_identifiers: bool, optional Whether identifier fields should be normalized. @@ -259,17 +260,23 @@ def _normalize(sresult, normalize_identifiers=False): updatesequence = re.search(r'updateSequence="(\S+)"', sresult) timestamp = re.search(r'timestamp="(.*)"', sresult) timestamp2 = re.search(r'timeStamp="(.*)"', sresult) - timestamp3 = re.search(r'(.*)', - sresult) + timestamp3 = re.search( + r'(.*)', + sresult + ) timestamp4 = re.search( - r'(.*)', sresult) + r'(.*)', + sresult + ) zrhost = re.search(r'(.*)', sresult) zrport = re.search(r'(.*)', sresult) elapsed_time = re.search(r'elapsedTime="(.*)"', sresult) expires = re.search(r'expires="(.*?)"', sresult) - atom_updated = re.findall(r'(.*)', sresult) + atom_updated = re.findall(r'(.*)', + sresult) if version: - sresult = sresult.replace(version.group(0), r'') + sresult = sresult.replace(version.group(0), + r'') if updatesequence: sresult = sresult.replace(updatesequence.group(0), r'updateSequence="PYCSW_UPDATESEQUENCE"') @@ -306,8 +313,10 @@ def _normalize(sresult, normalize_identifiers=False): # for csw:HarvestResponse documents, mask identifiers # which are dynamically generated for OWS endpoints if sresult.find(r'HarvestResponse') != -1: - identifier = re.findall(r'(\S+)', - sresult) + identifier = re.findall( + r'(\S+)', + sresult + ) for i in identifier: sresult = sresult.replace(i, r'PYCSW_IDENTIFIER') # JSON responses @@ -318,15 +327,19 @@ def _normalize(sresult, normalize_identifiers=False): r'"@timestamp": "PYCSW_TIMESTAMP"') # harvesting-based GetRecords/GetRecordById responses if normalize_identifiers: - dcid = re.findall(r'(urn:uuid.*)', - sresult) + dcid = re.findall( + r'(urn:uuid.*)', + sresult + ) isoid = re.findall(r'id="(urn:uuid.*)"', sresult) - isoid2 = re.findall(r'(urn:uuid.*)(urn:uuid.*) Date: Wed, 14 Dec 2016 15:17:26 +0000 Subject: [PATCH 031/119] fixed version for pytest --- requirements-dev.txt | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/requirements-dev.txt b/requirements-dev.txt index 9ca8ca353..1ffc07358 100644 --- a/requirements-dev.txt +++ b/requirements-dev.txt @@ -1,6 +1,7 @@ Paver==1.2.4 -pytest==2.9.1 +pytest==3.0.3 pytest-cov==2.4.0 +pytest-flake8==0.8.1 pytest-timeout==1.2.0 requests==2.10.0 sphinx From 5dd93791b867447e232f57d8ff94ef1477917149 Mon Sep 17 00:00:00 2001 From: Ricardo Garcia Silva Date: Wed, 14 Dec 2016 15:17:46 +0000 Subject: [PATCH 032/119] improved docs on testing --- docs/testing.rst | 80 ++++++++++++++++++++++++++++++++---------------- 1 file changed, 53 insertions(+), 27 deletions(-) diff --git a/docs/testing.rst b/docs/testing.rst index b17a3b4f3..5d2fe1d13 100644 --- a/docs/testing.rst +++ b/docs/testing.rst @@ -11,8 +11,8 @@ The tests can be run locally as part of the development cycle. They are also run on pycsw's `Travis`_ continuous integration server against all pushes and pull requests to the code repository. -.. _ogc-cite: +.. _ogc-cite: OGC CITE -------- @@ -21,12 +21,6 @@ In addition to pycsw's own tests, all public releases are also tested via the OGC `Compliance & Interoperability Testing & Evaluation Initiative`_ (CITE). The pycsw `wiki`_ documents CITE testing procedures and status. -.. _pytest: http://pytest.org/latest/ -.. _Travis: http://travis-ci.org/geopython/pycsw -.. _Compliance & Interoperability Testing & Evaluation Initiative: - http://cite.opengeospatial.org/ -.. _wiki: https://github.com/geopython/pycsw/wiki/OGC-CITE-Compliance - Test suites ----------- @@ -38,7 +32,7 @@ that pycsw works as expected. Each test follows the same workflow: -* Instantiate a pycsw instance with a custom configuration and data repository +* Create a new pycsw instance with a custom configuration and data repository for each suite of tests; * Perform a series of GET and POST requests to the running pycsw instance; @@ -55,7 +49,7 @@ Each suite specifies the following structure: used by the test suite; * A mandatory ``expected/`` directory containing the expected results for each - request + request; * An optional ``data/`` directory that contains ``.xml`` files with testing data that is to be loaded into the suite's database before running the tests. @@ -69,7 +63,7 @@ Each suite specifies the following structure: new empty database is used in the tests; * If ``data/`` directory is absent, the suite will use a database populated - with test data from the CITE suite. + with test data from the ``CITE`` suite. * An optional ``get/requests.txt`` file that holds request parameters used for making HTTP GET requests. @@ -80,7 +74,7 @@ Each suite specifies the following structure: For example: - GetCapabilities,service=CSW&version=2.0.2&request=GetCapabilities + TestGetCapabilities,service=CSW&version=2.0.2&request=GetCapabilities When tests are run, the *test_id* is used for naming each test and for finding the expected result. @@ -88,6 +82,7 @@ Each suite specifies the following structure: * An optional ``post/`` directory that holds ``.xml`` files used for making HTTP POST requests + Test identifiers ^^^^^^^^^^^^^^^^ @@ -99,8 +94,6 @@ For example: test_suites[default_post_GetRecords-end] -.. _functional tests: https://en.wikipedia.org/wiki/Functional_testing - Running tests ------------- @@ -123,29 +116,27 @@ running: py.test --help -.. _pytest's invocation documentation: http://docs.pytest.org/en/latest/usage.html Running specific suites and test cases ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -Use the `-k name expression` flag to select which tests to run. Since each +Use the ``-k `` flag to select which tests to run. Since each test's name includes the suite name, http method and an identifier for the test, it is easy to run only certain tests. .. code:: bash - py.test -k "apiso and GetRecords" # run only tests from the `apiso` suite that have `GetRecords` in their name - py.test -k "post and GetRecords" # run only tests that use HTTP POST and `GetRecords` in their name - py.test -k "not harvesting" # run all tests except those from the `harvesting` suite - + py.test -k "apiso and GetRecords" # run only tests from the apiso suite that have GetRecords in their name + py.test -k "post and GetRecords" # run only tests that use HTTP POST and GetRecords in their name + py.test -k "not harvesting" # run all tests except those from the harvesting suite Exiting fast ^^^^^^^^^^^^ -The `--exitfirst` (or `-x`) flag can be used to stop the test runner -immediately if some test case fails. +The ``--exitfirst`` (or ``-x``) flag can be used to stop the test runner +immediately as soon as a test case fails. .. code:: bash @@ -157,21 +148,21 @@ Seeing more output There are three main ways to get more output from running tests: -* The `--verbose` (or `-v`) flag +* The ``--verbose`` (or ``-v``) flag; -* The `--capture=no` flag - Messages sent to stdout by a test are not +* The ``--capture=no`` flag - Messages sent to stdout by a test are not suppressed; -* The `--pycsw-loglevel` flag - Sets the log level of the pycsw instance under - test. Set this value to `debug` in order to see all debug messages sent by - pycsw while processing a request +* The ``--pycsw-loglevel`` flag - Sets the log level of the pycsw instance + under test. Set this value to ``debug`` in order to see all debug messages + sent by pycsw while processing a request. .. code:: bash py.test --verbose py.test --pycsw-loglevel=debug - py.test --capture=no --pycsw-loglevel=debug + py.test -v --capture=no --pycsw-loglevel=debug Test coverage @@ -208,6 +199,33 @@ guide py.test --flake8 +Testing multiple python versions +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +For testing multiple python versions and configurations simultaneously you can +use `tox`_. pycsw includes a `tox.ini` file with a suitable configuration. It +can be used to run tests against multiple python versions and also multiple +database backends. When running `tox` you can send arguments to the `py.test` +runner by using the invocation `tox -- `. +Examples: + +.. code:: bash + + # install tox on your system + sudo pip install tox + + # run all tests on multiple python versions against all databases, + # with default arguments + tox + + # run tests only with python2.7 and using sqlite as backend + tox -e py27-sqlite + + # run only csw30 suite tests with python3.5 and postgresql as backend + tox -e py35-postgresql -- -k 'csw30' + + + Running tests against a remote server ------------------------------------- @@ -334,4 +352,12 @@ requests against your pycsw install. The tests are is located in Then navigate to ``http://host/path/to/pycsw/tests/index.html``. +.. _Compliance & Interoperability Testing & Evaluation Initiative: http://cite.opengeospatial.org/ +.. _functional tests: https://en.wikipedia.org/wiki/Functional_testing .. _`Paver`: http://paver.github.io/paver/ +.. _pytest's invocation documentation: http://docs.pytest.org/en/latest/usage.html +.. _pytest: http://pytest.org/latest/ +.. _Travis: http://travis-ci.org/geopython/pycsw +.. _tox: https://tox.readthedocs.io +.. _wiki: https://github.com/geopython/pycsw/wiki/OGC-CITE-Compliance + From 850a63ad3e014112d023926ec9f0b7e43c87d394 Mon Sep 17 00:00:00 2001 From: Ricardo Garcia Silva Date: Wed, 14 Dec 2016 15:26:10 +0000 Subject: [PATCH 033/119] Removed old testing tasks from pavement file --- pavement.py | 206 +--------------------------------------------------- 1 file changed, 3 insertions(+), 203 deletions(-) diff --git a/pavement.py b/pavement.py index e9d70f536..664aaffe6 100644 --- a/pavement.py +++ b/pavement.py @@ -2,8 +2,10 @@ # ================================================================= # # Authors: Tom Kralidis +# Ricardo Garcia Silva # # Copyright (c) 2015 Tom Kralidis +# Copyright (c) 2016 Ricardo Garcia Silva # # Permission is hereby granted, free of charge, to any person # obtaining a copy of this software and associated documentation @@ -28,17 +30,10 @@ # # ================================================================= -from __future__ import (absolute_import, division, print_function) - -import glob import os -import sys -import time - -from six.moves import configparser from paver.easy import task, cmdopts, needs, \ - pushd, sh, call_task, path, info, BuildFailure + pushd, sh, call_task, path, info DOCS = 'docs' STAGE_DIR = '/tmp' @@ -145,198 +140,3 @@ def package_tar_gz(options): tar = tarfile.open(filename, 'w:gz') tar.add(package_name) tar.close() - -@task -def setup_testdata(): - """Create test databases and load test data""" - - test_database_parameters = { - # suite: has_testdata - 'apiso': True, - 'cite': True, - 'harvesting': False, - 'manager': False - } - - for suite in test_database_parameters.keys(): - dbfile = 'tests/suites/%s/data/records.db' % suite - if os.path.isfile(dbfile): - os.remove(dbfile) - - for database, has_testdata in test_database_parameters.items(): - info('Setting up test database %s' % database) - cfg = path('tests/suites/%s/default.cfg' % database) - sh('pycsw-admin.py -c setup_db -f %s' % cfg) - if has_testdata: - datapath = path('tests/suites/%s/data' % database) - info('Loading test data from %s' % datapath) - sh('pycsw-admin.py -c load_records -f %s -p %s' % (cfg, datapath)) - - -@task -@cmdopts([ - ('url=', 'u', 'pycsw endpoint'), - ('suites=', 's', 'comma-separated list of testsuites'), - ('database=', 'd', 'database (SQLite3 [default], PostgreSQL, MySQL)'), - ('user=', 'U', 'database username'), - ('pass=', 'p', 'database password'), - ('pedantic', 'P', 'run tests in pedantic mode (byte level diff check) (default: c14n mode)'), - ('remote', 'r', 'remote testing (harvesting)'), - ('time=', 't', 'time (milliseconds) in which requests should complete') -]) -def test(options): - """Run unit tests""" - - db_setup = False - db_conn = None - cfg_files = [] - status = 0 - - url = options.get('url', None) - suites = options.get('suites', None) - database = options.get('database', 'SQLite3') - remote = options.get('remote') - timems = options.get('time', None) - pedantic = options.get('pedantic', False) - - if url is None: - # run against default server - call_task('stop') - call_task('reset') - if database == 'SQLite3': - call_task('setup_testdata') - call_task('start') - url = 'http://localhost:8000' - - if suites is not None: - cmd = 'python run_tests.py -u %s -s %s' % (url, suites) - else: - cmd = 'python run_tests.py -u %s' % url - - if remote: - cmd = '%s -r' % cmd - - if pedantic: - cmd = '%s -p' % cmd - - if timems: - cmd = '%s -t %s' % (cmd, timems) - - # configure/setup database if not default - if database != 'SQLite3': - db_setup = True - temp_db = 'pycsw_ci_test_pid_%d' % os.getpid() - - if database == 'PostgreSQL': # configure PG - - from pycsw.admin import setup_db, load_records - from pycsw.config import StaticContext - - cmd = '%s -d %s' % (cmd, database) - - init_sfsql = True - home = os.path.abspath(os.path.dirname(__file__)) - user = options.get('user', 'postgres') - password = options.get('pass', '') - context = StaticContext() - - db_conn = 'postgresql://%s:%s@localhost/%s' % ( - user, password, temp_db) - - if password: - sh('set PGPASSWORD=%s' % password) - - sh('createdb %s -U %s' % (temp_db, user)) - sh('createlang --dbname=%s plpythonu -U %s' % (temp_db, user)) - - # update all default.cfg files to point to test DB - cfg_files = glob.glob('tests%ssuites%s*%s*.cfg' % (3*(os.sep,))) - - for cfg in cfg_files: - # generate table - suite = cfg.split(os.sep)[2] - - tablename = 'records_cite' - - if suite == 'manager': - tablename = 'records_manager' - elif suite == 'apiso': - tablename = 'records_apiso' - - config = configparser.SafeConfigParser() - with open(cfg) as read_data: - config.readfp(read_data) - config.set('repository', 'database', db_conn) - config.set('repository', 'table', tablename) - with open(cfg, 'wb') as config2: - config.write(config2) - - if suite in ['cite', 'manager', 'apiso']: # setup tables - setup_db(db_conn, tablename, home, init_sfsql, init_sfsql) - init_sfsql = False - - if suite in ['cite', 'apiso']: # load test data - dirname = '%s%sdata' % (os.path.dirname(cfg), os.sep) - load_records(context, db_conn, tablename, dirname) - - else: - raise Exception('Invalid database specified') - - with pushd('tests'): - try: - sh(cmd) - except BuildFailure as err: - status = 1 - # stop pycsw instance - call_task('stop') - - if db_setup: # tearDown - for cfg in cfg_files: - sh('git checkout %s' % cfg) - if database == 'PostgreSQL': - sh("psql -c \"select pg_terminate_backend(procpid) from pg_stat_activity where datname='%s';\" -U %s" % (temp_db, user)) - sh('dropdb %s -U %s' % (temp_db, user)) - sh('unset PGPASSWORD') - - sys.exit(status) - - -@task -def start(options): - """Start local WSGI server instance""" - sh('python pycsw/wsgi.py 8000 &') - time.sleep(10) - - -@task -def stop(): - """Stop local WSGI server instance""" - - kill_process('python', 'pycsw/wsgi.py') - - -@task -@cmdopts([ - ('force', 'f', 'forces git clean'), -]) -def reset(options): - """Return codebase to pristine state""" - - force = options.get('force') - if force: - sh('git clean -dxf') - - -def kill_process(procname, scriptname): - """kill WSGI processes that may be running in development""" - - # from http://stackoverflow.com/a/2940878 - import subprocess, signal - p = subprocess.Popen(['ps', 'aux'], stdout=subprocess.PIPE) - out, err = p.communicate() - - for line in out.decode().splitlines(): - if procname in line and scriptname in line: - pid = int(line.split()[1]) - info('Stopping %s %s %d' % (procname, scriptname, pid)) - os.kill(pid, signal.SIGKILL) From 93e6c14843687d3ac269b690f8bae4e4aba9dc77 Mon Sep 17 00:00:00 2001 From: Ricardo Silva Date: Wed, 25 May 2016 02:15:27 +0100 Subject: [PATCH 034/119] moving tests to pytest --- requirements-dev.txt | 2 + tests/conftest.py | 105 ++++++++++++++++++ tests/test_suites.py | 248 +++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 355 insertions(+) create mode 100644 tests/conftest.py create mode 100644 tests/test_suites.py diff --git a/requirements-dev.txt b/requirements-dev.txt index 2f58df10a..6a9fc46a7 100644 --- a/requirements-dev.txt +++ b/requirements-dev.txt @@ -1,2 +1,4 @@ Paver==1.2.4 +pytest==2.9.1 +requests==2.10.0 sphinx diff --git a/tests/conftest.py b/tests/conftest.py new file mode 100644 index 000000000..1db583ac9 --- /dev/null +++ b/tests/conftest.py @@ -0,0 +1,105 @@ +"""pytest configuration file""" + +import glob +import os +import subprocess +import random +import shlex +import time + +import pytest + +TESTS_ROOT = os.path.dirname(os.path.abspath(__file__)) + + +# This list holds the names of the suites that are available for functional +# testing +FUNCTIONAL_SUITES = [ + "apiso", + "apiso-inspire", + "atom", + "cite", + "csw30", + "default", + "dif", + "ebrim", + "fgdc", + "gm03", + "harvesting", + "oaipmh", + "repofilter", + "sru", + "utf-8", +] + + +def pytest_configure(config): + config.addinivalue_line( + "markers", + "functional: Run only functional tests" + ) + + +def pytest_addoption(parser): + parser.addoption( + "--suite", + action="append", + choices=FUNCTIONAL_SUITES, + default=[], + help="Suites to run functional tests against. Specify this parameter " + "multiple times in order to include several suites. If not " + "specified, all available suites are tested" + ) + + +def pytest_generate_tests(metafunc): + """Parametrize tests programatically. + + Check pytest's documentation for information on this function: + + http://pytest.org/latest/parametrize.html#basic-pytest-generate-tests-example + + """ + + expected_dir = os.path.join(TESTS_ROOT, "expected") + if metafunc.function.__name__ == "test_suites_post": + test_data, test_names = _configure_functional_post_tests(metafunc, + expected_dir) + metafunc.parametrize(["test_request", "expected_result", "config"], + test_data, ids=test_names) + + +def _configure_functional_post_tests(metafunc, expected_dir): + test_data = [] + test_names = [] + for suite in metafunc.config.getoption("suite") or FUNCTIONAL_SUITES: + suite_dir = os.path.join(TESTS_ROOT, "suites", suite) + configuration_path = os.path.join(suite_dir, "default.cfg") + post_requests_dir = os.path.join(suite_dir, "post") + for item in glob.iglob(os.path.join(post_requests_dir, "*")): + test_id = os.path.splitext(os.path.basename(item))[0] + expected = os.path.join( + expected_dir, "suites_{0}_post_{1}.xml".format(suite, test_id)) + if os.path.isfile(item) and os.path.isfile(expected): + test_data.append((item, expected, configuration_path)) + test_names.append("{0}_{1}".format(suite, test_id)) + return test_data, test_names + + +@pytest.fixture(scope="session") +def local_server(request): + """A local pycsw server using Python's wsgiref server""" + + port = random.randint(8000, 8050) + command = "python pycsw/wsgi.py {}".format(port) + working_dir = os.path.dirname(TESTS_ROOT) + pycsw_process = subprocess.Popen(shlex.split(command), cwd=working_dir) + time.sleep(2) # give the external process some time to start + + def finalizer(): + pycsw_process.terminate() + pycsw_process.wait() + + request.addfinalizer(finalizer) + return "http://localhost:{}".format(port) + diff --git a/tests/test_suites.py b/tests/test_suites.py new file mode 100644 index 000000000..6b7cd1f25 --- /dev/null +++ b/tests/test_suites.py @@ -0,0 +1,248 @@ +# ================================================================= +# +# Authors: Tom Kralidis +# Ricardo Garcia Silva +# +# Copyright (c) 2016 Tom Kralidis +# Copyright (c) 2016 Ricardo Garcia Silva +# +# Permission is hereby granted, free of charge, to any person +# obtaining a copy of this software and associated documentation +# files (the "Software"), to deal in the Software without +# restriction, including without limitation the rights to use, +# copy, modify, merge, publish, distribute, sublicense, and/or sell +# copies of the Software, and to permit persons to whom the +# Software is furnished to do so, subject to the following +# conditions: +# +# The above copyright notice and this permission notice shall be +# included in all copies or substantial portions of the Software. +# +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +# EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES +# OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +# NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT +# HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, +# WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR +# OTHER DEALINGS IN THE SOFTWARE. +# +# ================================================================= +"""Functional tests for pycsw. + +These tests are based on the execution of the requests defined in the suites +under the `suites` directory. + +""" + +import codecs +from io import BytesIO +import json +from lxml import etree +from lxml import objectify +import os +import pytest +import re +import requests + +ENCODING = "utf-8" + + +@pytest.mark.functional +class TestSuites(object): + + def test_suites_post(self, local_server, test_request, expected_result, + config): + print("locals: {0}".format(locals())) + with open(test_request, encoding=ENCODING) as request_fh: + request_data = request_fh.read() + with open(expected_result, encoding=ENCODING) as expected_fh: + expected = expected_fh.read() + response = requests.post(local_server, + params={"config": config}, + data=request_data) + response_data = response.text + assert _get_validity(expected, response_data) + #assert response.status_code == 200 + + +def _test_xml_result(result, expected): + """Compare the XML test results with an expected value. + + This function compares the test result with the expected values by + performing XML canonicalization (c14n)[1]_. + + Parameters + ---------- + result: str + The result of running the test. + expected: str + The expected outcome. + + Returns + ------- + bool + Whether the result matches the expectations or not. + + Raises + ------ + etree.XMLSyntaxError + If any of the input parameters is not a valid XMl. + etree.C14NError + If any of the input parameters cannot be canonicalized. This may + happen if there are relative namespace URIs in any of the XML + documents, as they are explicitly not allowed when doing XML c14n + + References + ---------- + .. [1] http://www.w3.org/TR/xml-c14n + + """ + + result_element = etree.fromstring(result.encode(ENCODING)) + expected_element = etree.fromstring(expected.encode(ENCODING)) + result_buffer = BytesIO() + result_tree = result_element.getroottree() + objectify.deannotate(result_tree, cleanup_namespaces=True) + result_tree.write_c14n(result_buffer) + expected_buffer = BytesIO() + expected_tree = expected_element.getroottree() + objectify.deannotate(expected_tree, cleanup_namespaces=True) + expected_tree.write_c14n(expected_buffer) + matches = result_buffer.getvalue() == expected_buffer.getvalue() + return matches + + +def _test_json_result(result, expected): + """Compare the JSON test results with an expected value. + + Parameters + ---------- + result: str + The result of running the test. + expected: str + The expected outcome. + + Returns + ------- + bool + Whether the result matches the expectations or not. + + """ + + result_dict = json.loads(result, encoding=ENCODING) + expected_dict = json.loads(expected, encoding=ENCODING) + return result_dict == expected_dict + + +def _get_validity(expected, result, force_id_mask=False): + """Test whether the test result matches the expected outcome. + + This function deals with both XML and JSON results. It first tries to + parse the result and the expected outcome as XML and evaluates them using + XML canonicalization (c14n). If the result cannot be parsed as XML, it then + tries to load it as JSON and does a sorted comparison. + + Parameters + ---------- + expected: str + The expected outcome of the test + result: str + The actual result that was generated by running the test code + force_id_mask: bool, optional + Whether to apply result normalization to id fields + + Returns + ------- + bool + Whether the result matches the expected values + + """ + + normalized_result = _normalize(result, force_id_mask=force_id_mask) + try: + matches_expected = _test_xml_result(normalized_result, expected) + except etree.XMLSyntaxError: + # the file is either not XML (perhaps JSON?) or malformed + matches_expected = _test_json_result(normalized_result, expected) + return matches_expected + + +def _normalize(sresult, force_id_mask=False): + """Replace time, updateSequence and version specific values with generic + values""" + + # XML responses + version = re.search(r'', sresult) + updatesequence = re.search(r'updateSequence="(\S+)"', sresult) + timestamp = re.search(r'timestamp="(.*)"', sresult) + timestamp2 = re.search(r'timeStamp="(.*)"', sresult) + timestamp3 = re.search(r'(.*)', sresult) + timestamp4 = re.search(r'(.*)', sresult) + zrhost = re.search(r'(.*)', sresult) + zrport = re.search(r'(.*)', sresult) + elapsed_time = re.search(r'elapsedTime="(.*)"', sresult) + expires = re.search(r'expires="(.*?)"', sresult) + atom_updated = re.findall(r'(.*)', sresult) + + if version: + sresult = sresult.replace(version.group(0), r'') + if updatesequence: + sresult = sresult.replace(updatesequence.group(0), + r'updateSequence="PYCSW_UPDATESEQUENCE"') + if timestamp: + sresult = sresult.replace(timestamp.group(0), + r'timestamp="PYCSW_TIMESTAMP"') + if timestamp2: + sresult = sresult.replace(timestamp2.group(0), + r'timeStamp="PYCSW_TIMESTAMP"') + if timestamp3: + sresult = sresult.replace(timestamp3.group(0), + r'PYCSW_TIMESTAMP') + if timestamp4: + sresult = sresult.replace(timestamp4.group(0), + r'PYCSW_TIMESTAMP') + if zrport: + sresult = sresult.replace(zrport.group(0), + r'PYCSW_PORT') + if zrhost: + sresult = sresult.replace(zrhost.group(0), + r'PYCSW_HOST') + if elapsed_time: + sresult = sresult.replace(elapsed_time.group(0), + r'elapsedTime="PYCSW_ELAPSED_TIME"') + if expires: + sresult = sresult.replace(expires.group(0), + r'expires="PYCSW_EXPIRES"') + for au in atom_updated: + sresult = sresult.replace(au, r'PYCSW_TIMESTAMP') + + # for csw:HarvestResponse documents, mask identifiers + # which are dynamically generated for OWS endpoints + if sresult.find(r'HarvestResponse') != -1: + identifier = re.findall(r'(\S+)', + sresult) + for i in identifier: + sresult = sresult.replace(i, r'PYCSW_IDENTIFIER') + + # JSON responses + timestamp = re.search(r'"@timestamp": "(.*?)"', sresult) + + if timestamp: + sresult = sresult.replace(timestamp.group(0), + r'"@timestamp": "PYCSW_TIMESTAMP"') + + # harvesting-based GetRecords/GetRecordById responses + if force_id_mask: + dcid = re.findall(r'(urn:uuid.*)', sresult) + isoid = re.findall(r'id="(urn:uuid.*)"', sresult) + isoid2 = re.findall(r'(urn:uuid.*) Date: Wed, 25 May 2016 18:42:12 +0100 Subject: [PATCH 035/119] working on POST tests --- tests/conftest.py | 180 ++++++++++++++++++++++++++++++++++++------- tests/test_suites.py | 115 +++++++++++++++++---------- 2 files changed, 226 insertions(+), 69 deletions(-) diff --git a/tests/conftest.py b/tests/conftest.py index 1db583ac9..f36f616d0 100644 --- a/tests/conftest.py +++ b/tests/conftest.py @@ -42,14 +42,19 @@ def pytest_configure(config): def pytest_addoption(parser): parser.addoption( - "--suite", - action="append", - choices=FUNCTIONAL_SUITES, - default=[], - help="Suites to run functional tests against. Specify this parameter " - "multiple times in order to include several suites. If not " - "specified, all available suites are tested" + "--database-backend", + choices=["sqlite", "postgres"], + default="sqlite", + help="Database backend to use when performing functional tests" ) + for suite_name in FUNCTIONAL_SUITES: + parser.addoption( + "--server-url-{0}-suite".format(suite_name), + help="URL to perform functional tests for the {0!r} suite. If not " + "specified, a local pycsw instance is spawned, configured " + "with the {0!r} suite settings and used " + "in tests.".format(suite_name) + ) def pytest_generate_tests(metafunc): @@ -62,38 +67,156 @@ def pytest_generate_tests(metafunc): """ expected_dir = os.path.join(TESTS_ROOT, "expected") - if metafunc.function.__name__ == "test_suites_post": - test_data, test_names = _configure_functional_post_tests(metafunc, - expected_dir) - metafunc.parametrize(["test_request", "expected_result", "config"], - test_data, ids=test_names) + for suite_name in FUNCTIONAL_SUITES: + safe_suite_name = suite_name.replace("-", "_") + option_name = "--server-url-{0}-suite".format(suite_name) + fixture_name = "server_{0}_suite".format(safe_suite_name) + test_name = "test_{0}_suite".format(safe_suite_name) + uses_fixture = fixture_name in metafunc.fixturenames + test_name_matches = metafunc.function.__name__ == test_name + if uses_fixture and test_name_matches: + test_data, test_names = _configure_functional_post_tests( + expected_dir, safe_suite_name) + metafunc.parametrize( + ["test_request", "expected_result"], + test_data, + ids=test_names, + scope="session" + ) + break -def _configure_functional_post_tests(metafunc, expected_dir): +@pytest.fixture(scope="session") +def suite_info(request): + suite_name = request.param test_data = [] test_names = [] - for suite in metafunc.config.getoption("suite") or FUNCTIONAL_SUITES: - suite_dir = os.path.join(TESTS_ROOT, "suites", suite) - configuration_path = os.path.join(suite_dir, "default.cfg") - post_requests_dir = os.path.join(suite_dir, "post") - for item in glob.iglob(os.path.join(post_requests_dir, "*")): - test_id = os.path.splitext(os.path.basename(item))[0] - expected = os.path.join( - expected_dir, "suites_{0}_post_{1}.xml".format(suite, test_id)) - if os.path.isfile(item) and os.path.isfile(expected): - test_data.append((item, expected, configuration_path)) - test_names.append("{0}_{1}".format(suite, test_id)) - return test_data, test_names + expected_dir = os.path.join(TESTS_ROOT, "expected") + suite_dir = os.path.join(TESTS_ROOT, "suites", suite_name) + configuration_path = os.path.join(suite_dir, "default.cfg") + post_requests_dir = os.path.join(suite_dir, "post") + for item in glob.iglob(os.path.join(post_requests_dir, "*")): + test_id = os.path.splitext(os.path.basename(item))[0] + expected = os.path.join( + expected_dir, + "suites_{0}_post_{1}.xml".format(suite_name, test_id) + ) + if os.path.isfile(item) and os.path.isfile(expected): + test_data.append((item, expected, configuration_path)) + test_names.append("{0}_{1}".format(suite_name, test_id)) + return configuration_path, test_data, test_names + + +@pytest.fixture(scope="session") +def server_apiso_suite(request): + return _get_server_with_config(request, "apiso") + + +@pytest.fixture(scope="session") +def server_apiso_inspire_suite(request): + return _get_server_with_config(request, "apiso-inspire") + + +@pytest.fixture(scope="session") +def server_atom_suite(request): + return _get_server_with_config(request, "atom") + + +@pytest.fixture(scope="session") +def server_cite_suite(request): + return _get_server_with_config(request, "cite") + + +@pytest.fixture(scope="session") +def server_csw30_suite(request): + return _get_server_with_config(request, "csw30") + + +@pytest.fixture(scope="session") +def server_default_suite(request): + return _get_server_with_config(request, "default") + + +@pytest.fixture(scope="session") +def server_dif_suite(request): + return _get_server_with_config(request, "dif") + + +@pytest.fixture(scope="session") +def server_ebrim_suite(request): + return _get_server_with_config(request, "ebrim") @pytest.fixture(scope="session") -def local_server(request): - """A local pycsw server using Python's wsgiref server""" +def server_fgdc_suite(request): + return _get_server_with_config(request, "fgdc") + +@pytest.fixture(scope="session") +def server_gm03_suite(request): + return _get_server_with_config(request, "gm03") + + +@pytest.fixture(scope="session") +def server_harvesting_suite(request): + return _get_server_with_config(request, "harvesting") + + +@pytest.fixture(scope="session") +def server_oaipmh_suite(request): + return _get_server_with_config(request, "oaipmh") + + +@pytest.fixture(scope="session") +def server_repofilter_suite(request): + return _get_server_with_config(request, "repofilter") + + +@pytest.fixture(scope="session") +def server_sru_suite(request): + return _get_server_with_config(request, "sru") + + +@pytest.fixture(scope="session") +def server_utf_8_suite(request): + return _get_server_with_config(request, "utf-8") + + +def _configure_functional_post_tests(expected_dir, suite_name): + test_data = [] + test_names = [] + suite_dir = os.path.join(TESTS_ROOT, "suites", suite_name) + post_requests_dir = os.path.join(suite_dir, "post") + for item in glob.iglob(os.path.join(post_requests_dir, "*")): + test_id = os.path.splitext(os.path.basename(item))[0] + expected = os.path.join( + expected_dir, + "suites_{0}_post_{1}.xml".format(suite_name, test_id) + ) + if os.path.isfile(item) and os.path.isfile(expected): + test_data.append((item, expected)) + test_names.append("{0}_{1}".format(suite_name, test_id)) + return test_data, test_names + + +def _get_server_with_config(request, suite_name): + url = request.config.getoption("--server-url-{0}-suite".format(suite_name)) + config = os.path.join(TESTS_ROOT, "suites", suite_name, "default.cfg") + if url is None: + url = _start_local_server(request, config) + else: # use the provided url and assume the config has been set + url = url + return url + + +def _start_local_server(request, config_path): port = random.randint(8000, 8050) command = "python pycsw/wsgi.py {}".format(port) working_dir = os.path.dirname(TESTS_ROOT) - pycsw_process = subprocess.Popen(shlex.split(command), cwd=working_dir) + env = os.environ.copy() + env["PYCSW_CONFIG"] = config_path + pycsw_process = subprocess.Popen(shlex.split(command), cwd=working_dir, + env=env) time.sleep(2) # give the external process some time to start def finalizer(): @@ -102,4 +225,3 @@ def finalizer(): request.addfinalizer(finalizer) return "http://localhost:{}".format(port) - diff --git a/tests/test_suites.py b/tests/test_suites.py index 6b7cd1f25..2ef12c82a 100644 --- a/tests/test_suites.py +++ b/tests/test_suites.py @@ -51,19 +51,87 @@ @pytest.mark.functional class TestSuites(object): - def test_suites_post(self, local_server, test_request, expected_result, - config): - print("locals: {0}".format(locals())) + def test_apiso_suite(self, server_apiso_suite, test_request, + expected_result): + self._test_request(server_apiso_suite, test_request, expected_result) + + def test_apiso_inspire_suite(self, server_apiso_inspire_suite, + test_request, expected_result): + self._test_request(server_apiso_inspire_suite, test_request, + expected_result) + + def test_atom_suite(self, server_atom_suite, test_request, + expected_result): + self._test_request(server_atom_suite, test_request, expected_result) + + def test_cite_suite(self, server_cite_suite, test_request, + expected_result): + self._test_request(server_cite_suite, test_request, expected_result) + + def test_csw30_suite(self, server_csw30_suite, test_request, + expected_result): + self._test_request(server_csw30_suite, test_request, expected_result) + + def test_default_suite(self, server_default_suite, test_request, + expected_result): + self._test_request(server_default_suite, test_request, expected_result) + + def test_dif_suite(self, server_dif_suite, test_request, + expected_result): + self._test_request(server_dif_suite, test_request, expected_result) + + def test_ebrim_suite(self, server_ebrim_suite, test_request, + expected_result): + self._test_request(server_ebrim_suite, test_request, expected_result) + + def test_fgdc_suite(self, server_fgdc_suite, test_request, + expected_result): + self._test_request(server_fgdc_suite, test_request, expected_result) + + def test_gm03_suite(self, server_gm03_suite, test_request, + expected_result): + self._test_request(server_gm03_suite, test_request, expected_result) + + def test_harvesting_suite(self, server_harvesting_suite, test_request, + expected_result): + self._test_request(server_harvesting_suite, test_request, + expected_result) + + def test_oaipmh_suite(self, server_oaipmh_suite, test_request, + expected_result): + self._test_request(server_oaipmh_suite, test_request, expected_result) + + def test_repofilter_suite(self, server_repofilter_suite, test_request, + expected_result): + self._test_request(server_repofilter_suite, test_request, + expected_result) + + def test_sru_suite(self, server_sru_suite, test_request, + expected_result): + self._test_request(server_sru_suite, test_request, expected_result) + + def test_utf_8_suite(self, server_utf_8_suite, test_request, + expected_result): + self._test_request(server_utf_8_suite, test_request, expected_result) + + def _test_request(self, pycsw_server_url, test_request, expected_result): with open(test_request, encoding=ENCODING) as request_fh: request_data = request_fh.read() with open(expected_result, encoding=ENCODING) as expected_fh: expected = expected_fh.read() - response = requests.post(local_server, - params={"config": config}, + response = requests.post(pycsw_server_url, data=request_data) response_data = response.text - assert _get_validity(expected, response_data) - #assert response.status_code == 200 + + normalized_result = _normalize(response_data, force_id_mask=False) + print("expected: {0}".format(expected)) + print("response: {0}".format(normalized_result)) + try: + matches_expected = _test_xml_result(normalized_result, expected) + except etree.XMLSyntaxError: + # the file is either not XML (perhaps JSON?) or malformed + matches_expected = _test_json_result(normalized_result, expected) + assert matches_expected def _test_xml_result(result, expected): @@ -135,39 +203,6 @@ def _test_json_result(result, expected): return result_dict == expected_dict -def _get_validity(expected, result, force_id_mask=False): - """Test whether the test result matches the expected outcome. - - This function deals with both XML and JSON results. It first tries to - parse the result and the expected outcome as XML and evaluates them using - XML canonicalization (c14n). If the result cannot be parsed as XML, it then - tries to load it as JSON and does a sorted comparison. - - Parameters - ---------- - expected: str - The expected outcome of the test - result: str - The actual result that was generated by running the test code - force_id_mask: bool, optional - Whether to apply result normalization to id fields - - Returns - ------- - bool - Whether the result matches the expected values - - """ - - normalized_result = _normalize(result, force_id_mask=force_id_mask) - try: - matches_expected = _test_xml_result(normalized_result, expected) - except etree.XMLSyntaxError: - # the file is either not XML (perhaps JSON?) or malformed - matches_expected = _test_json_result(normalized_result, expected) - return matches_expected - - def _normalize(sresult, force_id_mask=False): """Replace time, updateSequence and version specific values with generic values""" From 936d5b583f99c0ee07e640ded3b0bd14ed827acf Mon Sep 17 00:00:00 2001 From: Ricardo Silva Date: Sun, 29 May 2016 11:32:39 +0100 Subject: [PATCH 036/119] adding ports for each suite --- tests/conftest.py | 141 +++++++++++++++++++++++++++++++++------------- 1 file changed, 101 insertions(+), 40 deletions(-) diff --git a/tests/conftest.py b/tests/conftest.py index f36f616d0..82ac736bf 100644 --- a/tests/conftest.py +++ b/tests/conftest.py @@ -1,9 +1,9 @@ """pytest configuration file""" +from configparser import ConfigParser import glob import os import subprocess -import random import shlex import time @@ -47,6 +47,18 @@ def pytest_addoption(parser): default="sqlite", help="Database backend to use when performing functional tests" ) + parser.addoption( + "--database-user-postgres", + default="postgres", + help="Username to use for creating and accessing local postgres " + "databases used for functional tests." + ) + parser.addoption( + "--database-password-postgres", + default="", + help="Password to use for creating and accessing local postgres " + "databases used for functional tests." + ) for suite_name in FUNCTIONAL_SUITES: parser.addoption( "--server-url-{0}-suite".format(suite_name), @@ -68,7 +80,7 @@ def pytest_generate_tests(metafunc): expected_dir = os.path.join(TESTS_ROOT, "expected") for suite_name in FUNCTIONAL_SUITES: - safe_suite_name = suite_name.replace("-", "_") + safe_suite_name = _get_suite_safe_name(suite_name) option_name = "--server-url-{0}-suite".format(suite_name) fixture_name = "server_{0}_suite".format(safe_suite_name) test_name = "test_{0}_suite".format(safe_suite_name) @@ -108,78 +120,93 @@ def suite_info(request): @pytest.fixture(scope="session") -def server_apiso_suite(request): - return _get_server_with_config(request, "apiso") +def server_apiso_suite(request, tmpdir_factory): + return _get_server_with_config(request, "apiso", + tmpdir_factory, 8010) @pytest.fixture(scope="session") -def server_apiso_inspire_suite(request): - return _get_server_with_config(request, "apiso-inspire") +def server_apiso_inspire_suite(request, tmpdir_factory): + return _get_server_with_config(request, "apiso-inspire", + tmpdir_factory, 8011) @pytest.fixture(scope="session") -def server_atom_suite(request): - return _get_server_with_config(request, "atom") +def server_atom_suite(request, tmpdir_factory): + return _get_server_with_config(request, "atom", + tmpdir_factory, 8012) @pytest.fixture(scope="session") -def server_cite_suite(request): - return _get_server_with_config(request, "cite") +def server_cite_suite(request, tmpdir_factory): + return _get_server_with_config(request, "cite", + tmpdir_factory, 8013) @pytest.fixture(scope="session") -def server_csw30_suite(request): - return _get_server_with_config(request, "csw30") +def server_csw30_suite(request, tmpdir_factory): + return _get_server_with_config(request, "csw30", + tmpdir_factory, 8014) @pytest.fixture(scope="session") -def server_default_suite(request): - return _get_server_with_config(request, "default") +def server_default_suite(request, tmpdir_factory): + return _get_server_with_config(request, "default", + tmpdir_factory, 8015) @pytest.fixture(scope="session") -def server_dif_suite(request): - return _get_server_with_config(request, "dif") +def server_dif_suite(request, tmpdir_factory): + return _get_server_with_config(request, "dif", + tmpdir_factory, 8016) @pytest.fixture(scope="session") -def server_ebrim_suite(request): - return _get_server_with_config(request, "ebrim") +def server_ebrim_suite(request, tmpdir_factory): + return _get_server_with_config(request, "ebrim", + tmpdir_factory, 8017) @pytest.fixture(scope="session") -def server_fgdc_suite(request): - return _get_server_with_config(request, "fgdc") +def server_fgdc_suite(request, tmpdir_factory): + return _get_server_with_config(request, "fgdc", + tmpdir_factory, 8018) @pytest.fixture(scope="session") -def server_gm03_suite(request): - return _get_server_with_config(request, "gm03") +def server_gm03_suite(request, tmpdir_factory): + return _get_server_with_config(request, "gm03", + tmpdir_factory, 8019) @pytest.fixture(scope="session") -def server_harvesting_suite(request): - return _get_server_with_config(request, "harvesting") +def server_harvesting_suite(request, tmpdir_factory): + return _get_server_with_config(request, "harvesting", + tmpdir_factory, 8020) @pytest.fixture(scope="session") -def server_oaipmh_suite(request): - return _get_server_with_config(request, "oaipmh") +def server_oaipmh_suite(request, tmpdir_factory): + return _get_server_with_config(request, "oaipmh", + tmpdir_factory, 8021) @pytest.fixture(scope="session") -def server_repofilter_suite(request): - return _get_server_with_config(request, "repofilter") +def server_repofilter_suite(request, tmpdir_factory): + return _get_server_with_config(request, "repofilter", + tmpdir_factory, 8022) @pytest.fixture(scope="session") -def server_sru_suite(request): - return _get_server_with_config(request, "sru") +def server_sru_suite(request, tmpdir_factory): + return _get_server_with_config(request, "sru", + tmpdir_factory, 8023) @pytest.fixture(scope="session") -def server_utf_8_suite(request): - return _get_server_with_config(request, "utf-8") +def server_utf_8_suite(request, tmpdir_factory): + return _get_server_with_config(request, "utf-8", + tmpdir_factory, 8024) def _configure_functional_post_tests(expected_dir, suite_name): @@ -199,29 +226,63 @@ def _configure_functional_post_tests(expected_dir, suite_name): return test_data, test_names -def _get_server_with_config(request, suite_name): +def _get_suite_safe_name(suite_name): + return suite_name.replace("-", "_") + + +def _get_server_with_config(request, suite_name, tmpdir_factory, port_number): url = request.config.getoption("--server-url-{0}-suite".format(suite_name)) - config = os.path.join(TESTS_ROOT, "suites", suite_name, "default.cfg") if url is None: - url = _start_local_server(request, config) + print("Initializing server for {0} suite...".format(suite_name)) + original_config_path = os.path.join(TESTS_ROOT, "suites", + suite_name, "default.cfg") + safe_suite_name = _get_suite_safe_name(suite_name) + config = ConfigParser() + config.read(original_config_path) + test_temp_directory = tmpdir_factory.mktemp(safe_suite_name, + numbered=True) + db_url = _get_database_url(request, safe_suite_name, + test_temp_directory) + # now we can change the config as needed + config.set("repository", "database", db_url) + new_config = test_temp_directory.join("default.cfg") + fh = new_config.open("w") + config.write(fh) + fh.close() + # create the database, if needed + # load records, if any + url = _start_local_server(request, str(new_config), port_number) else: # use the provided url and assume the config has been set url = url return url -def _start_local_server(request, config_path): - port = random.randint(8000, 8050) - command = "python pycsw/wsgi.py {}".format(port) +def _get_database_url(request, suite_name, test_dir): + db_type = request.config.getoption("--database-backend") + if db_type == "sqlite": + db_url = "sqlite:///{0}/records.db".format(test_dir) + elif db_type == "postgres": + user = request.config.getoption("--database-user-postgres") + password = request.config.getoption("--database-password-postgres") + db_url = "postgres://{0}:{1}@localhost/pycsw_test_{2}".format( + user, password, suite_name) + else: + raise NotImplementedError + return db_url + + +def _start_local_server(request, config_path, port_number): + command = "python pycsw/wsgi.py {}".format(port_number) working_dir = os.path.dirname(TESTS_ROOT) env = os.environ.copy() env["PYCSW_CONFIG"] = config_path pycsw_process = subprocess.Popen(shlex.split(command), cwd=working_dir, env=env) - time.sleep(2) # give the external process some time to start + time.sleep(3) # give the external process some time to start def finalizer(): pycsw_process.terminate() pycsw_process.wait() request.addfinalizer(finalizer) - return "http://localhost:{}".format(port) + return "http://localhost:{}".format(port_number) From 9eae009711b3c61f06d760bc0739cff5877c7be5 Mon Sep 17 00:00:00 2001 From: Ricardo Garcia Silva Date: Sun, 29 May 2016 13:31:07 +0100 Subject: [PATCH 037/119] refactoring tests to use py.test --- tests/conftest.py | 147 +++++++++++++++++++++++--- tests/test_suites.py | 239 ++++++++++++++++++++++++++++++------------- 2 files changed, 302 insertions(+), 84 deletions(-) diff --git a/tests/conftest.py b/tests/conftest.py index 82ac736bf..52730e275 100644 --- a/tests/conftest.py +++ b/tests/conftest.py @@ -9,6 +9,9 @@ import pytest +from pycsw.core import admin +from pycsw.core.config import StaticContext + TESTS_ROOT = os.path.dirname(os.path.abspath(__file__)) @@ -81,12 +84,13 @@ def pytest_generate_tests(metafunc): expected_dir = os.path.join(TESTS_ROOT, "expected") for suite_name in FUNCTIONAL_SUITES: safe_suite_name = _get_suite_safe_name(suite_name) - option_name = "--server-url-{0}-suite".format(suite_name) fixture_name = "server_{0}_suite".format(safe_suite_name) - test_name = "test_{0}_suite".format(safe_suite_name) uses_fixture = fixture_name in metafunc.fixturenames - test_name_matches = metafunc.function.__name__ == test_name - if uses_fixture and test_name_matches: + test_name_post = "test_post_requests" + test_name_get = "test_get_requests" + test_name_get_matches = metafunc.function.__name__ == test_name_get + test_name_post_matches = metafunc.function.__name__ == test_name_post + if uses_fixture and test_name_post_matches: test_data, test_names = _configure_functional_post_tests( expected_dir, safe_suite_name) metafunc.parametrize( @@ -96,6 +100,16 @@ def pytest_generate_tests(metafunc): scope="session" ) break + elif uses_fixture and test_name_get_matches: + test_data, test_names = _configure_functional_get_tests( + expected_dir, suite_name) + metafunc.parametrize( + ["test_request_parameters", "expected_result"], + test_data, + ids=test_names, + scope="session" + ) + break @pytest.fixture(scope="session") @@ -226,38 +240,114 @@ def _configure_functional_post_tests(expected_dir, suite_name): return test_data, test_names +def _configure_functional_get_tests(expected_dir, suite_name): + test_data = [] + test_names = [] + request_file_path = os.path.join(TESTS_ROOT, "suites", suite_name, + "get", "requests.txt") + try: + with open(request_file_path, encoding="utf-8") as fh: + for line in fh: + test_name, sep, test_params = line.partition(",") + expected = os.path.join( + expected_dir, + "suites_{0}_get_{1}.xml".format(suite_name, test_name) + ) + if os.path.isfile(expected): + test_data.append((test_params, expected)) + test_names.append("{0}_{1}".format(suite_name, test_name)) + except IOError: + pass # this suite does not have GET tests + return test_data, test_names + + def _get_suite_safe_name(suite_name): return suite_name.replace("-", "_") def _get_server_with_config(request, suite_name, tmpdir_factory, port_number): + """Provide a pycsw server to execute tests for the input suite name + + This function introspects the test context. If tests are to be run against + a user-provided url, it does nothing. If there is no user-provided url, + a new pycsw instance is created locally and its URL is returned. + + Parameters + ---------- + request: FixtureRequest + Pytest's FixtureRequest object, holding information about the test + context + suite_name: str + The safe name of the current suite + tmpdir_factory: TempDirFactory + Pytest's TempDirFactory fixture object, that is used to create + temporary directories for tests + port_number: int + Port where a local server shall be started for the input suite_name + + Returns + ------- + str + The pycsw URL that can be used in tests for the input suite_name + + """ + url = request.config.getoption("--server-url-{0}-suite".format(suite_name)) if url is None: - print("Initializing server for {0} suite...".format(suite_name)) + print("Initializing server for {0!r} suite...".format(suite_name)) original_config_path = os.path.join(TESTS_ROOT, "suites", suite_name, "default.cfg") - safe_suite_name = _get_suite_safe_name(suite_name) config = ConfigParser() config.read(original_config_path) + safe_suite_name = _get_suite_safe_name(suite_name) test_temp_directory = tmpdir_factory.mktemp(safe_suite_name, numbered=True) - db_url = _get_database_url(request, safe_suite_name, - test_temp_directory) + db_url = _initialize_database( + request, safe_suite_name, test_temp_directory, + config.get("repository", "table"), + os.path.join(TESTS_ROOT, "suites", suite_name, "data") + ) # now we can change the config as needed config.set("repository", "database", db_url) new_config = test_temp_directory.join("default.cfg") fh = new_config.open("w") config.write(fh) fh.close() - # create the database, if needed - # load records, if any - url = _start_local_server(request, str(new_config), port_number) + server_url = _start_local_server(request, str(new_config), port_number) else: # use the provided url and assume the config has been set - url = url - return url + server_url = url + return server_url + + +def _initialize_database(request, suite_name, test_dir, table_name, data_path): + """Initialize local database for functional tests. + + This function will: + + * Configure the correct database url + * Create the database + * Load any test data that the suite may require + + Parameters + ---------- + request: FixtureRequest + Pytest's FixtureRequest object, holding information about the test + context + suite_name: str + The safe name of the current suite + test_dir: str + Full path to the temporary directory being used in the suite's tests + data_path: str + Full path to a directory that has test data to be loaded up into + the suite's database + + Returns + ------- + str + The SQLAlchemy engine URL for the database. + """ -def _get_database_url(request, suite_name, test_dir): db_type = request.config.getoption("--database-backend") if db_type == "sqlite": db_url = "sqlite:///{0}/records.db".format(test_dir) @@ -268,10 +358,39 @@ def _get_database_url(request, suite_name, test_dir): user, password, suite_name) else: raise NotImplementedError + print("Setting up {0!r} database for suite {1!r}...".format(db_type, + suite_name)) + admin.setup_db(db_url, table_name, test_dir) + print("Loading database data...") + admin.load_records(StaticContext(), db_url, table_name, data_path) return db_url def _start_local_server(request, config_path, port_number): + """Start a local pycsw instance + + This function starts a new pycsw instance and also + registers a pytest finalizer function that takes care of stopping the + server when the tests are finished. + + Parameters + ---------- + + request: FixtureRequest + Pytest's FixtureRequest object, holding information about the test + context + config_path: str + Full path to pycsw's configuration file + port_number: int + Port where the server will be listening + + Returns + ------- + str + The URL of the newly started pycsw instance + + """ + command = "python pycsw/wsgi.py {}".format(port_number) working_dir = os.path.dirname(TESTS_ROOT) env = os.environ.copy() diff --git a/tests/test_suites.py b/tests/test_suites.py index 2ef12c82a..48a374059 100644 --- a/tests/test_suites.py +++ b/tests/test_suites.py @@ -47,91 +47,190 @@ ENCODING = "utf-8" +pytestmark = pytest.mark.functional -@pytest.mark.functional -class TestSuites(object): - def test_apiso_suite(self, server_apiso_suite, test_request, - expected_result): - self._test_request(server_apiso_suite, test_request, expected_result) +class TestApisoSuite(object): + + def test_post_requests(self, server_apiso_suite, test_request, + expected_result): + pass + + def test_get_requests(self, server_apiso_suite, test_request_parameters, + expected_result): + pass + + +class TestApisoInspireSuite(object): + + def test_post_requests(self, server_apiso_inspire_suite, test_request, + expected_result): + pass + + def test_get_requests(self, server_apiso_inspire_suite, + test_request_parameters, expected_result): + pass + + +class TestAtomSuite(object): + + def test_post_requests(self, server_atom_suite, test_request, + expected_result): + pass + + def test_get_requests(self, server_atom_suite, + test_request_parameters, expected_result): + pass + + +class TestCiteSuite(object): + + def test_post_requests(self, server_cite_suite, test_request, + expected_result): + pass + + def test_get_requests(self, server_cite_suite, + test_request_parameters, expected_result): + pass + + +class TestCsw30Suite(object): + + def test_post_requests(self, server_csw30_suite, test_request, + expected_result): + pass + + def test_get_requests(self, server_csw30_suite, + test_request_parameters, expected_result): + pass - def test_apiso_inspire_suite(self, server_apiso_inspire_suite, - test_request, expected_result): - self._test_request(server_apiso_inspire_suite, test_request, - expected_result) - def test_atom_suite(self, server_atom_suite, test_request, - expected_result): - self._test_request(server_atom_suite, test_request, expected_result) +class TestDefaultSuite(object): + + def test_post_requests(self, server_default_suite, test_request, + expected_result): + pass + + def test_get_requests(self, server_default_suite, test_request_parameters, + expected_result): + pass - def test_cite_suite(self, server_cite_suite, test_request, - expected_result): - self._test_request(server_cite_suite, test_request, expected_result) - def test_csw30_suite(self, server_csw30_suite, test_request, - expected_result): - self._test_request(server_csw30_suite, test_request, expected_result) +class TestDifSuite(object): - def test_default_suite(self, server_default_suite, test_request, + def test_post_requests(self, server_dif_suite, test_request, expected_result): - self._test_request(server_default_suite, test_request, expected_result) + pass + + def test_get_requests(self, server_dif_suite, test_request_parameters, + expected_result): + pass - def test_dif_suite(self, server_dif_suite, test_request, - expected_result): - self._test_request(server_dif_suite, test_request, expected_result) - def test_ebrim_suite(self, server_ebrim_suite, test_request, - expected_result): - self._test_request(server_ebrim_suite, test_request, expected_result) +class TestEbrimSuite(object): - def test_fgdc_suite(self, server_fgdc_suite, test_request, - expected_result): - self._test_request(server_fgdc_suite, test_request, expected_result) + def test_post_requests(self, server_ebrim_suite, test_request, + expected_result): + pass - def test_gm03_suite(self, server_gm03_suite, test_request, - expected_result): - self._test_request(server_gm03_suite, test_request, expected_result) + def test_get_requests(self, server_ebrim_suite, test_request_parameters, + expected_result): + pass - def test_harvesting_suite(self, server_harvesting_suite, test_request, - expected_result): - self._test_request(server_harvesting_suite, test_request, - expected_result) - def test_oaipmh_suite(self, server_oaipmh_suite, test_request, +class TestFgdcSuite(object): + + def test_post_requests(self, server_fgdc_suite, test_request, + expected_result): + pass + + def test_get_requests(self, server_fgdc_suite, test_request_parameters, + expected_result): + pass + +class TestGm03Suite(object): + + def test_post_requests(self, server_gm03_suite, test_request, + expected_result): + pass + + def test_get_requests(self, server_gm03_suite, test_request_parameters, + expected_result): + pass + +class TestHarvestingSuite(object): + + def test_post_requests(self, server_harvesting_suite, test_request, + expected_result): + pass + + def test_get_requests(self, server_harvesting_suite, + test_request_parameters, expected_result): + pass + +class TestOaipmhSuite(object): + + def test_post_requests(self, server_oaipmh_suite, test_request, + expected_result): + pass + + def test_get_requests(self, server_oaipmh_suite, test_request_parameters, + expected_result): + pass + +class TestRepofilterSuite(object): + + def test_post_requests(self, server_repofilter_suite, test_request, + expected_result): + pass + + def test_get_requests(self, server_repofilter_suite, + test_request_parameters, expected_result): + pass + +class TestSruSuite(object): + + def test_post_requests(self, server_sru_suite, test_request, + expected_result): + pass + + def test_get_requests(self, server_sru_suite, test_request_parameters, + expected_result): + pass + +class TestUtf8Suite(object): + + def test_post_requests(self, server_utf_8_suite, test_request, + expected_result): + pass + + def test_get_requests(self, server_utf_8_suite, test_request_parameters, expected_result): - self._test_request(server_oaipmh_suite, test_request, expected_result) - - def test_repofilter_suite(self, server_repofilter_suite, test_request, - expected_result): - self._test_request(server_repofilter_suite, test_request, - expected_result) - - def test_sru_suite(self, server_sru_suite, test_request, - expected_result): - self._test_request(server_sru_suite, test_request, expected_result) - - def test_utf_8_suite(self, server_utf_8_suite, test_request, - expected_result): - self._test_request(server_utf_8_suite, test_request, expected_result) - - def _test_request(self, pycsw_server_url, test_request, expected_result): - with open(test_request, encoding=ENCODING) as request_fh: - request_data = request_fh.read() - with open(expected_result, encoding=ENCODING) as expected_fh: - expected = expected_fh.read() - response = requests.post(pycsw_server_url, - data=request_data) - response_data = response.text - - normalized_result = _normalize(response_data, force_id_mask=False) - print("expected: {0}".format(expected)) - print("response: {0}".format(normalized_result)) - try: - matches_expected = _test_xml_result(normalized_result, expected) - except etree.XMLSyntaxError: - # the file is either not XML (perhaps JSON?) or malformed - matches_expected = _test_json_result(normalized_result, expected) - assert matches_expected + pass + + +def _test_post_request(pycsw_server_url, test_request, expected_result): + with open(test_request, encoding=ENCODING) as request_fh: + request_data = request_fh.read() + with open(expected_result, encoding=ENCODING) as expected_fh: + expected = expected_fh.read() + response = requests.post(pycsw_server_url, + data=request_data) + response_data = response.text + + normalized_result = _normalize(response_data, force_id_mask=False) + print("expected: {0}".format(expected)) + print("response: {0}".format(normalized_result)) + try: + matches_expected = _test_xml_result(normalized_result, expected) + except etree.XMLSyntaxError: + # the file is either not XML (perhaps JSON?) or malformed + matches_expected = _test_json_result(normalized_result, expected) + assert matches_expected + + +def _test_get_request(pycsw_server_url, parameters, expected_result): + pass def _test_xml_result(result, expected): From 657bcf5bcbe7761d197c6ae3f30cceb1e59ed74c Mon Sep 17 00:00:00 2001 From: Ricardo Silva Date: Tue, 31 May 2016 01:09:34 +0100 Subject: [PATCH 038/119] Removed pycsw placeholder text and unnecessary config KVP param These are not needed anymore on GET requests --- tests/suites/apiso-inspire/get/requests.txt | 4 +- tests/suites/atom/get/requests.txt | 24 +-- tests/suites/cite/get/requests.txt | 44 +++--- tests/suites/csw30/get/requests.txt | 164 ++++++++++---------- tests/suites/default/get/requests.txt | 40 ++--- tests/suites/harvesting/get/requests.txt | 10 +- tests/suites/oaipmh/get/requests.txt | 40 ++--- tests/suites/sru/get/requests.txt | 10 +- 8 files changed, 168 insertions(+), 168 deletions(-) diff --git a/tests/suites/apiso-inspire/get/requests.txt b/tests/suites/apiso-inspire/get/requests.txt index 862e409d5..09816a219 100644 --- a/tests/suites/apiso-inspire/get/requests.txt +++ b/tests/suites/apiso-inspire/get/requests.txt @@ -1,2 +1,2 @@ -GetCapabilities,PYCSW_SERVER?config=tests/suites/apiso-inspire/default.cfg&service=CSW&version=2.0.2&request=GetCapabilities -GetCapabilities-lang,PYCSW_SERVER?config=tests/suites/apiso-inspire/default.cfg&service=CSW&version=2.0.2&request=GetCapabilities&lang=gre +GetCapabilities,service=CSW&version=2.0.2&request=GetCapabilities +GetCapabilities-lang,service=CSW&version=2.0.2&request=GetCapabilities&lang=gre diff --git a/tests/suites/atom/get/requests.txt b/tests/suites/atom/get/requests.txt index ba73cf845..6734cd5a7 100644 --- a/tests/suites/atom/get/requests.txt +++ b/tests/suites/atom/get/requests.txt @@ -1,12 +1,12 @@ -opensearch,PYCSW_SERVER?config=tests/suites/atom/default.cfg&mode=opensearch&service=CSW&version=2.0.2&request=GetRecords&typenames=csw:Record&resulttype=results&elementsetname=brief -opensearch-description,PYCSW_SERVER?config=tests/suites/atom/default.cfg&mode=opensearch&service=CSW&version=2.0.2&request=GetCapabilities -opensearch-ogc-q,PYCSW_SERVER?config=tests/suites/atom/default.cfg&mode=opensearch&service=CSW&version=2.0.2&request=GetRecords&elementsetname=full&resulttype=results&typenames=csw:Record&q=greece -opensearch-ogc-bbox,"PYCSW_SERVER?config=tests/suites/atom/default.cfg&mode=opensearch&service=CSW&version=2.0.2&request=GetRecords&elementsetname=full&resulttype=results&typenames=csw:Record&bbox=-180,-90,180,90" -opensearch-ogc-time,PYCSW_SERVER?config=tests/suites/atom/default.cfg&mode=opensearch&service=CSW&version=2.0.2&request=GetRecords&elementsetname=full&resulttype=results&typenames=csw:Record&time=2001/2004 -opensearch-ogc-timestart,PYCSW_SERVER?config=tests/suites/atom/default.cfg&mode=opensearch&service=CSW&version=2.0.2&request=GetRecords&elementsetname=full&resulttype=results&typenames=csw:Record&time=2004/ -opensearch-ogc-timeend,PYCSW_SERVER?config=tests/suites/atom/default.cfg&mode=opensearch&service=CSW&version=2.0.2&request=GetRecords&elementsetname=full&resulttype=results&typenames=csw:Record&time=/2004 -opensearch-ogc-q-and-time,PYCSW_SERVER?config=tests/suites/atom/default.cfg&mode=opensearch&service=CSW&version=2.0.2&request=GetRecords&elementsetname=full&resulttype=results&typenames=csw:Record&time=2001/2007&q=vitae -opensearch-ogc-bbox-and-time,"PYCSW_SERVER?config=tests/suites/atom/default.cfg&mode=opensearch&service=CSW&version=2.0.2&request=GetRecords&elementsetname=full&resulttype=results&typenames=csw:Record&time=2001/2007&bbox=-180,-90,180,90" -opensearch-ogc-q-and-bbox,"PYCSW_SERVER?config=tests/suites/atom/default.cfg&mode=opensearch&service=CSW&version=2.0.2&request=GetRecords&elementsetname=full&resulttype=results&typenames=csw:Record&q=vegetation&bbox=-180,-90,180,90" -opensearch-ogc-count-and-page1,"PYCSW_SERVER?config=tests/suites/atom/default.cfg&mode=opensearch&service=CSW&version=2.0.2&request=GetRecords&elementsetname=full&resulttype=results&typenames=csw:Record&q=vegetation&startposition=1" -opensearch-ogc-count-and-page2,"PYCSW_SERVER?config=tests/suites/atom/default.cfg&mode=opensearch&service=CSW&version=2.0.2&request=GetRecords&elementsetname=full&resulttype=results&typenames=csw:Record&q=vegetation&startposition=1&maxrecords=1" +opensearch,mode=opensearch&service=CSW&version=2.0.2&request=GetRecords&typenames=csw:Record&resulttype=results&elementsetname=brief +opensearch-description,mode=opensearch&service=CSW&version=2.0.2&request=GetCapabilities +opensearch-ogc-q,mode=opensearch&service=CSW&version=2.0.2&request=GetRecords&elementsetname=full&resulttype=results&typenames=csw:Record&q=greece +opensearch-ogc-bbox,mode=opensearch&service=CSW&version=2.0.2&request=GetRecords&elementsetname=full&resulttype=results&typenames=csw:Record&bbox=-180,-90,180,90 +opensearch-ogc-time,mode=opensearch&service=CSW&version=2.0.2&request=GetRecords&elementsetname=full&resulttype=results&typenames=csw:Record&time=2001/2004 +opensearch-ogc-timestart,mode=opensearch&service=CSW&version=2.0.2&request=GetRecords&elementsetname=full&resulttype=results&typenames=csw:Record&time=2004/ +opensearch-ogc-timeend,mode=opensearch&service=CSW&version=2.0.2&request=GetRecords&elementsetname=full&resulttype=results&typenames=csw:Record&time=/2004 +opensearch-ogc-q-and-time,mode=opensearch&service=CSW&version=2.0.2&request=GetRecords&elementsetname=full&resulttype=results&typenames=csw:Record&time=2001/2007&q=vitae +opensearch-ogc-bbox-and-time,mode=opensearch&service=CSW&version=2.0.2&request=GetRecords&elementsetname=full&resulttype=results&typenames=csw:Record&time=2001/2007&bbox=-180,-90,180,90 +opensearch-ogc-q-and-bbox,mode=opensearch&service=CSW&version=2.0.2&request=GetRecords&elementsetname=full&resulttype=results&typenames=csw:Record&q=vegetation&bbox=-180,-90,180,90 +opensearch-ogc-count-and-page1,mode=opensearch&service=CSW&version=2.0.2&request=GetRecords&elementsetname=full&resulttype=results&typenames=csw:Record&q=vegetation&startposition=1 +opensearch-ogc-count-and-page2,mode=opensearch&service=CSW&version=2.0.2&request=GetRecords&elementsetname=full&resulttype=results&typenames=csw:Record&q=vegetation&startposition=1&maxrecords=1 diff --git a/tests/suites/cite/get/requests.txt b/tests/suites/cite/get/requests.txt index 9eb5bc23f..271982886 100644 --- a/tests/suites/cite/get/requests.txt +++ b/tests/suites/cite/get/requests.txt @@ -1,22 +1,22 @@ -27e17158-c57a-4493-92ac-dba8934cf462,PYCSW_SERVER?config=tests/suites/cite/default.cfg&service=CSW&version=2.0.2&request=GetCapabilities -27f69b66-5f05-4311-a89c-73ca55c2686b,PYCSW_SERVER?config=tests/suites/cite/default.cfg&Service=CSW&Version=2.0.2&Request=GetRecordById&ElementSetName=brief&ID=urn%3Auuid%3A19887a8a-f6b0-4a63-ae56-7fba0e17801f -2ab7d1fa-885b-459f-80e4-b6282eab4f8c,PYCSW_SERVER?config=tests/suites/cite/default.cfg&service=CSW&request=GetCapabilities&acceptversions=2.0.2&date=2006-10-20 -37aa90e2-6ff0-420c-af15-8b9463099a73,PYCSW_SERVER?config=tests/suites/cite/default.cfg&service=CSW&version=2.0.2&request=GetRecordById&id=urn%3Auuid%3A9a669547-b69b-469f-a11f-2d875366bbdc -3a8a3c47-455f-4f49-9078-03119f3e70b3,PYCSW_SERVER?config=tests/suites/cite/default.cfg&service=CSW&request=GetCapabilities&acceptformats=message/example -4515831f-834a-4699-95f6-ab0c2cbfcfd0,PYCSW_SERVER?config=tests/suites/cite/default.cfg&service=CSW&version=2.0.2&request=GetRecordById -477b23a3-baa9-47c8-9541-5fe27735ed49,PYCSW_SERVER?config=tests/suites/cite/default.cfg&service=CSW&request=GetCapabilities§ions= -48f26761-3a9d-48db-bee1-da089f5fb857,PYCSW_SERVER?config=tests/suites/cite/default.cfg&sErViCe=CSW&REQUEST=GetCapabilities&version=2.0.2 -4e38092f-1586-44b8-988e-0acfa5855916,PYCSW_SERVER?config=tests/suites/cite/default.cfg&Service=CSW&Version=2.0.2&Request=GetRecordById&OutputFormat=application/bogus_xml&id=urn:uuid:a06af396-3105-442d-8b40-22b57a90d2f2,urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f,urn:uuid:ab42a8c4-95e8-4630-bf79-33e59241605a -55c38f00-2553-42c1-99ab-33edbb561ad7,PYCSW_SERVER?config=tests/suites/cite/default.cfg&service=CSW&request=GetCapabilities§ions=OperationsMetadata,ServiceIdentification -5ab5db18-c87a-4fbf-a8d8-b7289b09ac81,PYCSW_SERVER?config=tests/suites/cite/default.cfg&service=FOO&request=GetCapabilities -6a4f57ca-a1bd-4802-89c2-44860dbdb0f0,PYCSW_SERVER?config=tests/suites/cite/default.cfg&service=CSW&version=2.0.2&request=GetRecordById&id=urn:uuid:ce8627a0-685c-11db-bd13-0800200c9a66,urn:uuid:6a3de50b-fa66-4b58-a0e6-ca146fdd18d4 -6c375703-9c00-4aef-bec7-d2e964f849eb,PYCSW_SERVER?config=tests/suites/cite/default.cfg&Service=CSW&Version=2.0.2&Request=GetRecordById&OutputSchema=http://www.w3.org/2005/Atom&Id=urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f -80f31def-4185-48b9-983a-960566918eae,PYCSW_SERVER?config=tests/suites/cite/default.cfg&service=CSW&request=GetCapabilities -8e2232ed-05d9-44ae-8b04-0911cbe6a507,PYCSW_SERVER?config=tests/suites/cite/default.cfg&SERVICE=CSW&REQUEST=GetCapabilities&ACCEPTVERSIONS=2006.10.29 -9697f0aa-3b6a-4125-83a5-61e8826127c4,PYCSW_SERVER?config=tests/suites/cite/default.cfg&service=CSW&request=GetCapabilities -9bfd17fa-15dc-4a10-8fa7-b3cff7013dd7,PYCSW_SERVER?config=tests/suites/cite/default.cfg&Service=CSW&Version=2.0.2&Request=GetRecordById&ElementSetName=full&ID=urn%3Auuid%3Ae9330592-0932-474b-be34-c3a3bb67c7db -b81c3595-06d6-4693-82ea-1ff8650755ac,PYCSW_SERVER?config=tests/suites/cite/default.cfg&service=CSW&version=2.0.2&request=GetRecordById&id=urn:uuid:ce8627a0-685c-11db-bd13-0800200c9a66 -ba5fc729-3b71-47a0-b7d0-42ec565cd185,PYCSW_SERVER?config=tests/suites/cite/default.cfg&SERVICE=CSW&REQUEST=GetCapabilities&ACCEPTVERSIONS=2.0.2,2.0.0 -c4ea754f-c158-4d8d-8253-dc8f86021b52,PYCSW_SERVER?config=tests/suites/cite/default.cfg&request=GetCapabilities -f4692ec5-9547-4a05-88ab-e6154af2640a,PYCSW_SERVER?config=tests/suites/cite/default.cfg&service=CSW&version=2.0.2&request=GetCapabilities -f997f25e-c865-4d53-a362-0ed1846337f2,PYCSW_SERVER?config=tests/suites/cite/default.cfg&service=CSW&version=2.0.2&request=GetRecordById&id=urn:uuid:94bc9c83-97f6-4b40-9eb8-a8e8787a5c63 +27e17158-c57a-4493-92ac-dba8934cf462,service=CSW&version=2.0.2&request=GetCapabilities +27f69b66-5f05-4311-a89c-73ca55c2686b,Service=CSW&Version=2.0.2&Request=GetRecordById&ElementSetName=brief&ID=urn%3Auuid%3A19887a8a-f6b0-4a63-ae56-7fba0e17801f +2ab7d1fa-885b-459f-80e4-b6282eab4f8c,service=CSW&request=GetCapabilities&acceptversions=2.0.2&date=2006-10-20 +37aa90e2-6ff0-420c-af15-8b9463099a73,service=CSW&version=2.0.2&request=GetRecordById&id=urn%3Auuid%3A9a669547-b69b-469f-a11f-2d875366bbdc +3a8a3c47-455f-4f49-9078-03119f3e70b3,service=CSW&request=GetCapabilities&acceptformats=message/example +4515831f-834a-4699-95f6-ab0c2cbfcfd0,service=CSW&version=2.0.2&request=GetRecordById +477b23a3-baa9-47c8-9541-5fe27735ed49,service=CSW&request=GetCapabilities§ions= +48f26761-3a9d-48db-bee1-da089f5fb857,sErViCe=CSW&REQUEST=GetCapabilities&version=2.0.2 +4e38092f-1586-44b8-988e-0acfa5855916,Service=CSW&Version=2.0.2&Request=GetRecordById&OutputFormat=application/bogus_xml&id=urn:uuid:a06af396-3105-442d-8b40-22b57a90d2f2,urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f,urn:uuid:ab42a8c4-95e8-4630-bf79-33e59241605a +55c38f00-2553-42c1-99ab-33edbb561ad7,service=CSW&request=GetCapabilities§ions=OperationsMetadata,ServiceIdentification +5ab5db18-c87a-4fbf-a8d8-b7289b09ac81,service=FOO&request=GetCapabilities +6a4f57ca-a1bd-4802-89c2-44860dbdb0f0,service=CSW&version=2.0.2&request=GetRecordById&id=urn:uuid:ce8627a0-685c-11db-bd13-0800200c9a66,urn:uuid:6a3de50b-fa66-4b58-a0e6-ca146fdd18d4 +6c375703-9c00-4aef-bec7-d2e964f849eb,Service=CSW&Version=2.0.2&Request=GetRecordById&OutputSchema=http://www.w3.org/2005/Atom&Id=urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f +80f31def-4185-48b9-983a-960566918eae,service=CSW&request=GetCapabilities +8e2232ed-05d9-44ae-8b04-0911cbe6a507,SERVICE=CSW&REQUEST=GetCapabilities&ACCEPTVERSIONS=2006.10.29 +9697f0aa-3b6a-4125-83a5-61e8826127c4,service=CSW&request=GetCapabilities +9bfd17fa-15dc-4a10-8fa7-b3cff7013dd7,Service=CSW&Version=2.0.2&Request=GetRecordById&ElementSetName=full&ID=urn%3Auuid%3Ae9330592-0932-474b-be34-c3a3bb67c7db +b81c3595-06d6-4693-82ea-1ff8650755ac,service=CSW&version=2.0.2&request=GetRecordById&id=urn:uuid:ce8627a0-685c-11db-bd13-0800200c9a66 +ba5fc729-3b71-47a0-b7d0-42ec565cd185,SERVICE=CSW&REQUEST=GetCapabilities&ACCEPTVERSIONS=2.0.2,2.0.0 +c4ea754f-c158-4d8d-8253-dc8f86021b52,request=GetCapabilities +f4692ec5-9547-4a05-88ab-e6154af2640a,service=CSW&version=2.0.2&request=GetCapabilities +f997f25e-c865-4d53-a362-0ed1846337f2,service=CSW&version=2.0.2&request=GetRecordById&id=urn:uuid:94bc9c83-97f6-4b40-9eb8-a8e8787a5c63 diff --git a/tests/suites/csw30/get/requests.txt b/tests/suites/csw30/get/requests.txt index d93dd98d0..57b9acf43 100644 --- a/tests/suites/csw30/get/requests.txt +++ b/tests/suites/csw30/get/requests.txt @@ -1,82 +1,82 @@ -GetCapabilities-base-url,PYCSW_SERVER?config=tests/suites/csw30/default.cfg -GetCapabilities-no-version,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&service=CSW&request=GetCapabilities -GetCapabilities,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&service=CSW&version=3.0.0&request=GetCapabilities -Exception-invalid-request,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&service=CSW&version=3.0.0&request=GetCapabilities-foo -Exception-GetDomain,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&service=CSW&version=3.0.0&request=GetDomain -GetDomain-parameter,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&service=CSW&version=3.0.0&request=GetDomain¶metername=GetRecords.ElementSetName -GetDomain-value-reference,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&service=CSW&version=3.0.0&request=GetDomain&valuereference=dc:title -Exception-GetDomain-value-reference,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&service=CSW&version=3.0.0&request=GetDomain&valuereference=dc:title2 -Exception-GetRecordById-dc.xml,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&service=CSW&version=3.0.0&request=GetRecordById&id=urn:uuid:829babb0-b2f1-49e1-8cd5-7b489fe71a1e -Exception-GetRecordById-404,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&service=CSW&version=3.0.0&request=GetRecordById&id=does_not_exist2 -OpenSearch-description,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&mode=opensearch&service=CSW&version=3.0.0&request=GetCapabilities -GetRepositoryItem,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&service=CSW&version=3.0.0&request=GetRepositoryItem&id=urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f -Exception-GetRepositoryItem-notfound,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&service=CSW&version=3.0.0&request=GetRepositoryItem&id=NOTFOUND -002258f0-627f-457f-b2ad-025777c77ac8,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&mode=opensearch&service=CSW&version=3.0.0&request=GetCapabilities -045c600d-973d-41eb-9f60-eba1b717b720,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&mode=opensearch&service=CSW&version=3.0.0&request=GetRecords&elementsetname=full&typenames=csw:Record&resulttype=results&q=Fusc%C3%A9%20Land&bbox=&time=/&outputformat=application/atom%2Bxml&startposition=1&maxrecords=&recordids= -0bbcf862-5211-4351-9988-63f8bec49c98,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&elementSetName=summary&outputFormat=application/atom%2Bxml&request=GetRecords&service=CSW&typeNames=Record&version=3.0.0 -0bdf8457-971e-4ed1-be4a-5feca4dcd8fa,PYCSW_SERVER?config=tests/suites/csw30/default.cfg -0d8bbdec-0846-42ca-8dc8-b7f4cba41d67,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&elementName=tns:title&request=GetRecords&service=CSW&typeNames=Record&namespace=xmlns(tns%3Dhttp://purl.org/dc/elements/1.1/)&version=3.0.0 -0e1dca37-477a-4060-99fe-7799b52d656c,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&mode=opensearch&service=CSW&version=3.0.0&request=GetRecords&elementsetname=full&typenames=csw:Record&resulttype=results&q=lpppclq&bbox=&time=/&outputformat=application/atom%2Bxml&startposition=1&maxrecords=&recordids= -13c87956-51a4-4780-a8e9-6e0b5c0bb473,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&elementSetName=full&maxRecords=20&request=GetRecords&service=CSW&typeNames=Record&version=3.0.0 -151d982f-ebd3-4cb2-b507-a667713a1e92,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&acceptFormats=model/x3d%2Bxml&acceptVersions=3.0.0&request=GetCapabilities&service=CSW -1869e495-1a61-4713-8285-76d1336ee1a6,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&acceptVersions=3.0.0&request=GetCapabilities -1bcb42a9-538c-4f0a-9d4c-d6f10b720aa6,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&request=GetRecordById&service=CSW&version=3.0.0 -22f44168-2ccf-4801-ad96-204212566d56,PYCSW_SERVER?config=tests/suites/csw30/default.cfg -2499a9c9-8d33-449c-bc92-d494adfcc84d,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&acceptVersions=3.0.0§ions=All&request=GetCapabilities&service=CSW -27f4f39c-d92a-4e3c-b961-c6aa8c24e513,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&acceptFormats=application/xml&acceptVersions=3.0.0&request=GetCapabilities&service=CSW -28e569df-8596-4128-8d9a-29ad03138915,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&id=urn:uuid:a06af396-3105-442d-8b40-22b57a90d2f2&request=GetRecordById&service=CSW&version=3.0.0 -2b06a5c8-0df2-4af1-8d2e-a425de11c845,PYCSW_SERVER?config=tests/suites/csw30/default.cfg -2ba1418a-444d-4cce-9cfe-4c94efcf8b55,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&maxRecords=2&elementSetName=summary&outputFormat=application/atom%2Bxml&request=GetRecords&service=CSW&typeNames=csw3:Record&startPosition=3&namespace=xmlns(csw3%3Dhttp://www.opengis.net/cat/csw/3.0)&version=3.0.0 -397fe17a-d5b4-4f96-8cc4-4ce467ed4d0a,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&service=CSW&version=3.0.0&request=GetRecords&elementsetname=full&typenames=csw:Record&resulttype=results&q=ipsum&bbox=&time=/&outputformat=application/xml&outputschema=http://www.opengis.net/cat/csw/3.0&startposition=1&maxrecords=&recordids= -3dcd1b15-73d2-4b7d-a3e3-ff15bf14aae4,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&elementSetName=brief&request=GetRecords&service=CSW&typeNames=tns:Record&namespace=xmlns(tns%3Dhttp://www.opengis.net/cat/csw/3.0)&version=3.0.0 -405e1ff1-5c75-4846-a28b-cfaff2a6921a,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&elementSetName=summary&recordIds=urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f,urn:uuid:e9330592-0932-474b-be34-c3a3bb67c7db&request=GetRecords&service=CSW&typeNames=Record&version=3.0.0 -43cd6471-6ac7-45bd-8ff9-148cb2de9a52,PYCSW_SERVER?config=tests/suites/csw30/default.cfg -4566d2ec-1283-4a02-baed-a74fc5b47e37,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&acceptVersions=3.0.0§ions=ServiceIdentification&request=GetCapabilities&service=CSW -461bd4c5-6623-490d-9036-d91a2201e87b,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&acceptVersions=3.0.0§ions=Filter_Capabilities&request=GetCapabilities&service=CSW -5496894a-3877-4f62-a20b-5d7126f94925,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&service=CSW&version=3.0.0&request=GetRecords&elementsetname=full&typenames=csw:Record&resulttype=results&q=&bbox=514432,5429689,529130,5451619&time=/&outputformat=application/xml&outputschema=http://www.opengis.net/cat/csw/3.0&startposition=1&maxrecords=&recordids= -5a015f6a-bf14-4977-b1e3-6577eb0223c8,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&service=CSW&version=3.0.0&request=GetRecords&elementsetname=full&typenames=csw:Record&resulttype=results&q=&bbox=-6.17,44.79,17.92,68.41&time=/&outputformat=application/xml&outputschema=http://www.opengis.net/cat/csw/3.0&startposition=1&maxrecords=&recordids= -5c3a2390-1fb9-43f0-b96c-f48c7a69c990,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&id=urn:uuid:88247b56-4cbc-4df9-9860-db3f8042e357&outputFormat=model/vnd.collada%2Bxml&request=GetRecordById&service=CSW&version=3.0.0 -5e9e67dc-18d6-4645-8111-c6263c88a61f,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&acceptVersions=3.0.0§ions=OperationsMetadata&request=GetCapabilities&service=CSW -604d9379-741c-42e5-b4cf-92e56c87fa64,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&elementSetName=full&q=amet&request=GetRecords&service=CSW&typeNames=Record&version=3.0.0 -60e6af95-d5fc-465a-82e2-fd2e6d85e4af,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&request=GetRecords&service=CSW&typeNames=UnknownType&version=3.0.0 -62ad94c2-b558-4265-a427-23d6677975d6,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&mode=opensearch&service=CSW&version=3.0.0&request=GetRecords&elementsetname=full&typenames=csw:Record&resulttype=results&q=&bbox=&time=/&outputformat=application/atom%2Bxml&startposition=1&maxrecords=&recordids=uid-bc5017e6-5cc8-4b03-aee7-d88f88caba0a -6a5e247b-0961-4b8a-a0d6-35a491d9cfe7,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&elementSetName=undefined-view&request=GetRecords&service=CSW&typeNames=Record&version=3.0.0 -6a9d0558-9d87-495b-b999-b49a3ef1cf99,PYCSW_SERVER?config=tests/suites/csw30/default.cfg -6bd790c9-6019-4652-9c91-330a894d6700,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&service=CSW&version=3.0.0&request=GetRecords&elementsetname=full&typenames=csw:Record&resulttype=results&q=Fusc%C3%A9%20Land&bbox=&time=/&outputformat=application/xml&outputschema=http://www.opengis.net/cat/csw/3.0&startposition=1&maxrecords=&recordids= -6e9cba43-5e27-415d-adbd-a92851c2c173,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&acceptVersions=3.0.0&request=GetCapabilities&service=CSW -7630d230-e142-4a09-accf-f091000b90cd,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&id=urn:uuid:66ae76b7-54ba-489b-a582-0f0633d96493&request=GetRecordById&service=CSW&version=3.0.0 -7e82446a-b5dc-43fe-9a73-4cc1f2f2f0bf,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&acceptFormats=text/xml&acceptVersions=3.0.0&request=GetCapabilities&service=CSW -8025978e-1a35-4d70-80c2-e8329e0c7864,PYCSW_SERVER?config=tests/suites/csw30/default.cfg -8184ae4f-536d-4978-8b28-ad703be96967,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&elementSetName=brief&bbox=44.79,-6.17,68.41,17.92,urn:ogc:def:crs:EPSG::4326&request=GetRecords&service=CSW&typeNames=Record&version=3.0.0 -88f63a89-664f-4315-b4f8-04a0b33803a7,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&maxRecords=15&elementSetName=summary&q=Mauris&bbox=-6.17,44.79,17.92,68.41&request=GetRecords&service=CSW&typeNames=Record&version=3.0.0 -8987f8f0-4d93-4481-968c-a2ccbd6b8be2,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&id=urn:example:1461546298217&request=GetRecordById&service=CSW&version=3.0.0 -8e5fa0f6-3f29-4d1f-abe2-d9866f3def98,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&mode=opensearch&service=CSW&version=3.0.0&request=GetRecords&elementsetname=full&typenames=csw:Record&resulttype=results&q=&bbox=-180,-90,180,90&time=/&outputformat=application/atom%2Bxml&startposition=1&maxrecords=&recordids= -9000ec29-5649-474e-b2d6-55c00f8a52c0,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&acceptVersions=9999.12.31&request=GetCapabilities&service=CSW -91914d35-7bbf-45e6-9b37-5ef484869a4e,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&elementSetName=summary&bbox=-6.17,44.79,17.92,68.41&request=GetRecords&service=CSW&typeNames=Record&version=3.0.0 -92d4844d-57d5-4cf3-8f47-ba50e369dc04,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&elementSetName=full&q=atkovxqmf&request=GetRecords&service=CSW&typeNames=Record&version=3.0.0 -9c0e2a4b-b4e6-41c0-b630-c8c99fc89ff3,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&elementSetName=brief&outputSchema=urn:uuid:6a29d2a8-9651-47a6-9b14-f05d2b5644f0&request=GetRecords&service=CSW&typeNames=Record&version=3.0.0 -9d7ffac8-9798-428d-8e27-3cd12497ee6b,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&id=urn:uuid:1ef30a8b-876d-4828-9246-c37ab4510bbd&outputSchema=http://www.example.org/ns/alpha&request=GetRecordById&service=CSW&version=3.0.0 -a2f18643-e24e-4fa5-b780-6de4a2dbc814,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&id=urn:uuid:829babb0-b2f1-49e1-8cd5-7b489fe71a1e&outputFormat=application/atom%2Bxml&request=GetRecordById&service=CSW&version=3.0.0 -abc90c8c-5868-4405-a73e-64c849be3b2a,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&mode=opensearch&service=CSW&version=3.0.0&request=GetRecords&elementsetname=full&typenames=csw:Record&resulttype=results&q=&bbox=514432,5429689,529130,5451619&time=/&outputformat=application/atom%2Bxml&startposition=1&maxrecords=&recordids= -ad0c0571-09ed-436a-9a4f-a5de744c88fe,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&maxRecords=2&elementSetName=summary&request=GetRecords&service=CSW&typeNames=csw3:Record&startPosition=3&namespace=xmlns(csw3%3Dhttp://www.opengis.net/cat/csw/3.0)&version=3.0.0 -af502903-f4ee-47ee-b76e-af878d238bcc,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&service=CSW&version=3.0.0&request=GetRecords&elementsetname=full&typenames=csw:Record&resulttype=results&q=&bbox=-180,-90,180,90&time=/&outputformat=application/xml&outputschema=http://www.opengis.net/cat/csw/3.0&startposition=1&maxrecords=&recordids= -b2aafc3f-4f35-47bc-affd-08590972deae,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&mode=opensearch&service=CSW&version=3.0.0&request=GetRecords&elementsetname=full&typenames=csw:Record&resulttype=results&q=&bbox=-6.17,44.79,17.92,68.41&time=/&outputformat=application/atom%2Bxml&startposition=1&maxrecords=&recordids= -b6069623-f7d8-4021-8582-98f0aea0f763,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&mode=opensearch&service=CSW&version=3.0.0&request=GetRecords&elementsetname=full&typenames=csw:Record&resulttype=results&q=&bbox=&time=/&outputformat=application/atom%2Bxml&startposition=3&maxrecords=4&recordids= -b9a07a54-75a8-45bd-b341-2823600211e3,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&elementSetName=brief&bbox=472944,5363287,492722,5455253,urn:ogc:def:crs:EPSG::0000&request=GetRecords&service=CSW&typeNames=Record&version=3.0.0 -baa4a7d0-0c01-42b6-adc3-0d03e9949fa3,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&acceptVersions=3.0.0&request=getCapabilities&service=CSW -bfbe6409-f64a-4c89-acb3-50f260a5c743,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&elementSetName=summary&q=Fusc%C3%A9%20Land&request=GetRecords&service=CSW&typeNames=Record&version=3.0.0 -bfe20134-d1da-42ef-9c0f-8e1307bbf92b,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&service=CSW&version=3.0.0&request=GetRecords&elementsetname=full&typenames=csw:Record&resulttype=results&q=&bbox=&time=/&outputformat=application/xml&outputschema=http://www.opengis.net/cat/csw/3.0&startposition=3&maxrecords=4&recordids= -c03d173a-3f42-4956-89c8-1fe02c3a0873,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&SERVICE=CSW&Request=GetCapabilities&acceptversions=3.0.0 -cb43d8c3-e14c-4a9f-9231-4384b7dd21f3,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&elementName=undefined&request=GetRecords&service=CSW&typeNames=Record&version=3.0.0 -d03c6fd3-e821-4a26-b62f-d20a474e25af,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&acceptVersions=3.0.0§ions=ServiceProvider&request=GetCapabilities&service=CSW -d4ccbf96-a529-480e-a53d-5b88dc1dea7f,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&service=CSW&version=3.0.0&request=GetRecords&elementsetname=full&typenames=csw:Record&resulttype=results&q=&bbox=&time=/&outputformat=application/xml&outputschema=http://www.opengis.net/cat/csw/3.0&startposition=1&maxrecords=&recordids=uid-bc5017e6-5cc8-4b03-aee7-d88f88caba0a -d94c801a-1207-4897-b84a-53f3a192515b,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&service=CSW&version=3.0.0&request=GetRecords&elementsetname=full&typenames=csw:Record&resulttype=results&q=lpppclq&bbox=&time=/&outputformat=application/xml&outputschema=http://www.opengis.net/cat/csw/3.0&startposition=1&maxrecords=&recordids= -da859e34-91fc-495a-8c09-285a40c0900b,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&id=urn:uuid:94bc9c83-97f6-4b40-9eb8-a8e8787a5c63&elementSetName=full&request=GetRecordById&service=CSW&version=3.0.0 -dc246fb8-5af5-4fda-82bb-c18b3ecd439c,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&mode=opensearch&service=CSW&version=3.0.0&request=GetRecords&elementsetname=full&typenames=csw:Record&resulttype=results&q=ipsum&bbox=&time=/&outputformat=application/atom%2Bxml&startposition=1&maxrecords=&recordids= -de016645-6d5c-4855-943c-2db07ae9f49a,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&mode=opensearch&service=CSW&version=3.0.0&request=GetRecords&elementsetname=full&typenames=csw:Record&resulttype=results&q=&bbox=&time=/&outputformat=application/atom%2Bxml&startposition=1&maxrecords=&recordids=urn%3Auuid%3A94bc9c83-97f6-4b40-9eb8-a8e8787a5c63 -dff3ec6b-bb2d-4887-bd17-8fcf15def042,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&elementSetName=summary&request=GetRecords&service=CSW&typeNames=Record&version=3.0.0 -e38e6bfb-8ac4-4ae4-8b87-0aafbc8d3c6b,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&id=urn:uuid:1ef30a8b-876d-4828-9246-c37ab4510bbd&elementSetName=brief&request=GetRecordById&service=CSW&version=3.0.0 -e67ca935-d65d-4d8c-8302-1405333dded0,PYCSW_SERVER?config=tests/suites/csw30/default.cfg -e7704509-3441-458f-8ef0-e333c6b6043f,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&elementName=ns1:subject&elementSetName=brief&request=GetRecords&service=CSW&typeNames=Record&namespace=xmlns(ns1%3Dhttp://purl.org/dc/elements/1.1/)&version=3.0.0 -f1223a49-6d08-44ff-97fe-4c32cbbfad82,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&elementSetName=summary&maxRecords=0&q=titles&request=GetRecords&service=CSW&typeNames=Record&version=3.0.0 -f89dd4e1-3a81-4433-afd2-a3fa1bdb1e18,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&elementSetName=full&outputFormat=text/example&request=GetRecords&service=CSW&typeNames=Record&version=3.0.0 +GetCapabilities-base-url, +GetCapabilities-no-version,service=CSW&request=GetCapabilities +GetCapabilities,service=CSW&version=3.0.0&request=GetCapabilities +Exception-invalid-request,service=CSW&version=3.0.0&request=GetCapabilities-foo +Exception-GetDomain,service=CSW&version=3.0.0&request=GetDomain +GetDomain-parameter,service=CSW&version=3.0.0&request=GetDomain¶metername=GetRecords.ElementSetName +GetDomain-value-reference,service=CSW&version=3.0.0&request=GetDomain&valuereference=dc:title +Exception-GetDomain-value-reference,service=CSW&version=3.0.0&request=GetDomain&valuereference=dc:title2 +Exception-GetRecordById-dc.xml,service=CSW&version=3.0.0&request=GetRecordById&id=urn:uuid:829babb0-b2f1-49e1-8cd5-7b489fe71a1e +Exception-GetRecordById-404,service=CSW&version=3.0.0&request=GetRecordById&id=does_not_exist2 +OpenSearch-description,mode=opensearch&service=CSW&version=3.0.0&request=GetCapabilities +GetRepositoryItem,service=CSW&version=3.0.0&request=GetRepositoryItem&id=urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f +Exception-GetRepositoryItem-notfound,service=CSW&version=3.0.0&request=GetRepositoryItem&id=NOTFOUND +002258f0-627f-457f-b2ad-025777c77ac8,mode=opensearch&service=CSW&version=3.0.0&request=GetCapabilities +045c600d-973d-41eb-9f60-eba1b717b720,mode=opensearch&service=CSW&version=3.0.0&request=GetRecords&elementsetname=full&typenames=csw:Record&resulttype=results&q=Fusc%C3%A9%20Land&bbox=&time=/&outputformat=application/atom%2Bxml&startposition=1&maxrecords=&recordids= +0bbcf862-5211-4351-9988-63f8bec49c98,elementSetName=summary&outputFormat=application/atom%2Bxml&request=GetRecords&service=CSW&typeNames=Record&version=3.0.0 +0bdf8457-971e-4ed1-be4a-5feca4dcd8fa, +0d8bbdec-0846-42ca-8dc8-b7f4cba41d67,elementName=tns:title&request=GetRecords&service=CSW&typeNames=Record&namespace=xmlns(tns%3Dhttp://purl.org/dc/elements/1.1/)&version=3.0.0 +0e1dca37-477a-4060-99fe-7799b52d656c,mode=opensearch&service=CSW&version=3.0.0&request=GetRecords&elementsetname=full&typenames=csw:Record&resulttype=results&q=lpppclq&bbox=&time=/&outputformat=application/atom%2Bxml&startposition=1&maxrecords=&recordids= +13c87956-51a4-4780-a8e9-6e0b5c0bb473,elementSetName=full&maxRecords=20&request=GetRecords&service=CSW&typeNames=Record&version=3.0.0 +151d982f-ebd3-4cb2-b507-a667713a1e92,acceptFormats=model/x3d%2Bxml&acceptVersions=3.0.0&request=GetCapabilities&service=CSW +1869e495-1a61-4713-8285-76d1336ee1a6,acceptVersions=3.0.0&request=GetCapabilities +1bcb42a9-538c-4f0a-9d4c-d6f10b720aa6,request=GetRecordById&service=CSW&version=3.0.0 +22f44168-2ccf-4801-ad96-204212566d56, +2499a9c9-8d33-449c-bc92-d494adfcc84d,acceptVersions=3.0.0§ions=All&request=GetCapabilities&service=CSW +27f4f39c-d92a-4e3c-b961-c6aa8c24e513,acceptFormats=application/xml&acceptVersions=3.0.0&request=GetCapabilities&service=CSW +28e569df-8596-4128-8d9a-29ad03138915,id=urn:uuid:a06af396-3105-442d-8b40-22b57a90d2f2&request=GetRecordById&service=CSW&version=3.0.0 +2b06a5c8-0df2-4af1-8d2e-a425de11c845, +2ba1418a-444d-4cce-9cfe-4c94efcf8b55,maxRecords=2&elementSetName=summary&outputFormat=application/atom%2Bxml&request=GetRecords&service=CSW&typeNames=csw3:Record&startPosition=3&namespace=xmlns(csw3%3Dhttp://www.opengis.net/cat/csw/3.0)&version=3.0.0 +397fe17a-d5b4-4f96-8cc4-4ce467ed4d0a,service=CSW&version=3.0.0&request=GetRecords&elementsetname=full&typenames=csw:Record&resulttype=results&q=ipsum&bbox=&time=/&outputformat=application/xml&outputschema=http://www.opengis.net/cat/csw/3.0&startposition=1&maxrecords=&recordids= +3dcd1b15-73d2-4b7d-a3e3-ff15bf14aae4,elementSetName=brief&request=GetRecords&service=CSW&typeNames=tns:Record&namespace=xmlns(tns%3Dhttp://www.opengis.net/cat/csw/3.0)&version=3.0.0 +405e1ff1-5c75-4846-a28b-cfaff2a6921a,elementSetName=summary&recordIds=urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f,urn:uuid:e9330592-0932-474b-be34-c3a3bb67c7db&request=GetRecords&service=CSW&typeNames=Record&version=3.0.0 +43cd6471-6ac7-45bd-8ff9-148cb2de9a52, +4566d2ec-1283-4a02-baed-a74fc5b47e37,acceptVersions=3.0.0§ions=ServiceIdentification&request=GetCapabilities&service=CSW +461bd4c5-6623-490d-9036-d91a2201e87b,acceptVersions=3.0.0§ions=Filter_Capabilities&request=GetCapabilities&service=CSW +5496894a-3877-4f62-a20b-5d7126f94925,service=CSW&version=3.0.0&request=GetRecords&elementsetname=full&typenames=csw:Record&resulttype=results&q=&bbox=514432,5429689,529130,5451619&time=/&outputformat=application/xml&outputschema=http://www.opengis.net/cat/csw/3.0&startposition=1&maxrecords=&recordids= +5a015f6a-bf14-4977-b1e3-6577eb0223c8,service=CSW&version=3.0.0&request=GetRecords&elementsetname=full&typenames=csw:Record&resulttype=results&q=&bbox=-6.17,44.79,17.92,68.41&time=/&outputformat=application/xml&outputschema=http://www.opengis.net/cat/csw/3.0&startposition=1&maxrecords=&recordids= +5c3a2390-1fb9-43f0-b96c-f48c7a69c990,id=urn:uuid:88247b56-4cbc-4df9-9860-db3f8042e357&outputFormat=model/vnd.collada%2Bxml&request=GetRecordById&service=CSW&version=3.0.0 +5e9e67dc-18d6-4645-8111-c6263c88a61f,acceptVersions=3.0.0§ions=OperationsMetadata&request=GetCapabilities&service=CSW +604d9379-741c-42e5-b4cf-92e56c87fa64,elementSetName=full&q=amet&request=GetRecords&service=CSW&typeNames=Record&version=3.0.0 +60e6af95-d5fc-465a-82e2-fd2e6d85e4af,request=GetRecords&service=CSW&typeNames=UnknownType&version=3.0.0 +62ad94c2-b558-4265-a427-23d6677975d6,mode=opensearch&service=CSW&version=3.0.0&request=GetRecords&elementsetname=full&typenames=csw:Record&resulttype=results&q=&bbox=&time=/&outputformat=application/atom%2Bxml&startposition=1&maxrecords=&recordids=uid-bc5017e6-5cc8-4b03-aee7-d88f88caba0a +6a5e247b-0961-4b8a-a0d6-35a491d9cfe7,elementSetName=undefined-view&request=GetRecords&service=CSW&typeNames=Record&version=3.0.0 +6a9d0558-9d87-495b-b999-b49a3ef1cf99, +6bd790c9-6019-4652-9c91-330a894d6700,service=CSW&version=3.0.0&request=GetRecords&elementsetname=full&typenames=csw:Record&resulttype=results&q=Fusc%C3%A9%20Land&bbox=&time=/&outputformat=application/xml&outputschema=http://www.opengis.net/cat/csw/3.0&startposition=1&maxrecords=&recordids= +6e9cba43-5e27-415d-adbd-a92851c2c173,acceptVersions=3.0.0&request=GetCapabilities&service=CSW +7630d230-e142-4a09-accf-f091000b90cd,id=urn:uuid:66ae76b7-54ba-489b-a582-0f0633d96493&request=GetRecordById&service=CSW&version=3.0.0 +7e82446a-b5dc-43fe-9a73-4cc1f2f2f0bf,acceptFormats=text/xml&acceptVersions=3.0.0&request=GetCapabilities&service=CSW +8025978e-1a35-4d70-80c2-e8329e0c7864, +8184ae4f-536d-4978-8b28-ad703be96967,elementSetName=brief&bbox=44.79,-6.17,68.41,17.92,urn:ogc:def:crs:EPSG::4326&request=GetRecords&service=CSW&typeNames=Record&version=3.0.0 +88f63a89-664f-4315-b4f8-04a0b33803a7,maxRecords=15&elementSetName=summary&q=Mauris&bbox=-6.17,44.79,17.92,68.41&request=GetRecords&service=CSW&typeNames=Record&version=3.0.0 +8987f8f0-4d93-4481-968c-a2ccbd6b8be2,id=urn:example:1461546298217&request=GetRecordById&service=CSW&version=3.0.0 +8e5fa0f6-3f29-4d1f-abe2-d9866f3def98,mode=opensearch&service=CSW&version=3.0.0&request=GetRecords&elementsetname=full&typenames=csw:Record&resulttype=results&q=&bbox=-180,-90,180,90&time=/&outputformat=application/atom%2Bxml&startposition=1&maxrecords=&recordids= +9000ec29-5649-474e-b2d6-55c00f8a52c0,acceptVersions=9999.12.31&request=GetCapabilities&service=CSW +91914d35-7bbf-45e6-9b37-5ef484869a4e,elementSetName=summary&bbox=-6.17,44.79,17.92,68.41&request=GetRecords&service=CSW&typeNames=Record&version=3.0.0 +92d4844d-57d5-4cf3-8f47-ba50e369dc04,elementSetName=full&q=atkovxqmf&request=GetRecords&service=CSW&typeNames=Record&version=3.0.0 +9c0e2a4b-b4e6-41c0-b630-c8c99fc89ff3,elementSetName=brief&outputSchema=urn:uuid:6a29d2a8-9651-47a6-9b14-f05d2b5644f0&request=GetRecords&service=CSW&typeNames=Record&version=3.0.0 +9d7ffac8-9798-428d-8e27-3cd12497ee6b,id=urn:uuid:1ef30a8b-876d-4828-9246-c37ab4510bbd&outputSchema=http://www.example.org/ns/alpha&request=GetRecordById&service=CSW&version=3.0.0 +a2f18643-e24e-4fa5-b780-6de4a2dbc814,id=urn:uuid:829babb0-b2f1-49e1-8cd5-7b489fe71a1e&outputFormat=application/atom%2Bxml&request=GetRecordById&service=CSW&version=3.0.0 +abc90c8c-5868-4405-a73e-64c849be3b2a,mode=opensearch&service=CSW&version=3.0.0&request=GetRecords&elementsetname=full&typenames=csw:Record&resulttype=results&q=&bbox=514432,5429689,529130,5451619&time=/&outputformat=application/atom%2Bxml&startposition=1&maxrecords=&recordids= +ad0c0571-09ed-436a-9a4f-a5de744c88fe,maxRecords=2&elementSetName=summary&request=GetRecords&service=CSW&typeNames=csw3:Record&startPosition=3&namespace=xmlns(csw3%3Dhttp://www.opengis.net/cat/csw/3.0)&version=3.0.0 +af502903-f4ee-47ee-b76e-af878d238bcc,service=CSW&version=3.0.0&request=GetRecords&elementsetname=full&typenames=csw:Record&resulttype=results&q=&bbox=-180,-90,180,90&time=/&outputformat=application/xml&outputschema=http://www.opengis.net/cat/csw/3.0&startposition=1&maxrecords=&recordids= +b2aafc3f-4f35-47bc-affd-08590972deae,mode=opensearch&service=CSW&version=3.0.0&request=GetRecords&elementsetname=full&typenames=csw:Record&resulttype=results&q=&bbox=-6.17,44.79,17.92,68.41&time=/&outputformat=application/atom%2Bxml&startposition=1&maxrecords=&recordids= +b6069623-f7d8-4021-8582-98f0aea0f763,mode=opensearch&service=CSW&version=3.0.0&request=GetRecords&elementsetname=full&typenames=csw:Record&resulttype=results&q=&bbox=&time=/&outputformat=application/atom%2Bxml&startposition=3&maxrecords=4&recordids= +b9a07a54-75a8-45bd-b341-2823600211e3,elementSetName=brief&bbox=472944,5363287,492722,5455253,urn:ogc:def:crs:EPSG::0000&request=GetRecords&service=CSW&typeNames=Record&version=3.0.0 +baa4a7d0-0c01-42b6-adc3-0d03e9949fa3,acceptVersions=3.0.0&request=getCapabilities&service=CSW +bfbe6409-f64a-4c89-acb3-50f260a5c743,elementSetName=summary&q=Fusc%C3%A9%20Land&request=GetRecords&service=CSW&typeNames=Record&version=3.0.0 +bfe20134-d1da-42ef-9c0f-8e1307bbf92b,service=CSW&version=3.0.0&request=GetRecords&elementsetname=full&typenames=csw:Record&resulttype=results&q=&bbox=&time=/&outputformat=application/xml&outputschema=http://www.opengis.net/cat/csw/3.0&startposition=3&maxrecords=4&recordids= +c03d173a-3f42-4956-89c8-1fe02c3a0873,SERVICE=CSW&Request=GetCapabilities&acceptversions=3.0.0 +cb43d8c3-e14c-4a9f-9231-4384b7dd21f3,elementName=undefined&request=GetRecords&service=CSW&typeNames=Record&version=3.0.0 +d03c6fd3-e821-4a26-b62f-d20a474e25af,acceptVersions=3.0.0§ions=ServiceProvider&request=GetCapabilities&service=CSW +d4ccbf96-a529-480e-a53d-5b88dc1dea7f,service=CSW&version=3.0.0&request=GetRecords&elementsetname=full&typenames=csw:Record&resulttype=results&q=&bbox=&time=/&outputformat=application/xml&outputschema=http://www.opengis.net/cat/csw/3.0&startposition=1&maxrecords=&recordids=uid-bc5017e6-5cc8-4b03-aee7-d88f88caba0a +d94c801a-1207-4897-b84a-53f3a192515b,service=CSW&version=3.0.0&request=GetRecords&elementsetname=full&typenames=csw:Record&resulttype=results&q=lpppclq&bbox=&time=/&outputformat=application/xml&outputschema=http://www.opengis.net/cat/csw/3.0&startposition=1&maxrecords=&recordids= +da859e34-91fc-495a-8c09-285a40c0900b,id=urn:uuid:94bc9c83-97f6-4b40-9eb8-a8e8787a5c63&elementSetName=full&request=GetRecordById&service=CSW&version=3.0.0 +dc246fb8-5af5-4fda-82bb-c18b3ecd439c,mode=opensearch&service=CSW&version=3.0.0&request=GetRecords&elementsetname=full&typenames=csw:Record&resulttype=results&q=ipsum&bbox=&time=/&outputformat=application/atom%2Bxml&startposition=1&maxrecords=&recordids= +de016645-6d5c-4855-943c-2db07ae9f49a,mode=opensearch&service=CSW&version=3.0.0&request=GetRecords&elementsetname=full&typenames=csw:Record&resulttype=results&q=&bbox=&time=/&outputformat=application/atom%2Bxml&startposition=1&maxrecords=&recordids=urn%3Auuid%3A94bc9c83-97f6-4b40-9eb8-a8e8787a5c63 +dff3ec6b-bb2d-4887-bd17-8fcf15def042,elementSetName=summary&request=GetRecords&service=CSW&typeNames=Record&version=3.0.0 +e38e6bfb-8ac4-4ae4-8b87-0aafbc8d3c6b,id=urn:uuid:1ef30a8b-876d-4828-9246-c37ab4510bbd&elementSetName=brief&request=GetRecordById&service=CSW&version=3.0.0 +e67ca935-d65d-4d8c-8302-1405333dded0, +e7704509-3441-458f-8ef0-e333c6b6043f,elementName=ns1:subject&elementSetName=brief&request=GetRecords&service=CSW&typeNames=Record&namespace=xmlns(ns1%3Dhttp://purl.org/dc/elements/1.1/)&version=3.0.0 +f1223a49-6d08-44ff-97fe-4c32cbbfad82,elementSetName=summary&maxRecords=0&q=titles&request=GetRecords&service=CSW&typeNames=Record&version=3.0.0 +f89dd4e1-3a81-4433-afd2-a3fa1bdb1e18,elementSetName=full&outputFormat=text/example&request=GetRecords&service=CSW&typeNames=Record&version=3.0.0 diff --git a/tests/suites/default/get/requests.txt b/tests/suites/default/get/requests.txt index ee368671b..299790a0f 100644 --- a/tests/suites/default/get/requests.txt +++ b/tests/suites/default/get/requests.txt @@ -1,20 +1,20 @@ -GetCapabilities,PYCSW_SERVER?config=tests/suites/default/default.cfg&service=CSW&version=2.0.2&request=GetCapabilities -GetCapabilities-invalid-request,PYCSW_SERVER?config=tests/suites/default/default.cfg&service=CSW&version=2.0.2&request=GetCapabilitiese -GetRecords-all,PYCSW_SERVER?config=tests/suites/default/default.cfg&service=CSW&version=2.0.2&request=GetRecords&typenames=csw:Record&elementsetname=full -GetRecords-sortby-asc,PYCSW_SERVER?config=tests/suites/default/default.cfg&service=CSW&version=2.0.2&request=GetRecords&typenames=csw:Record&elementsetname=full&resulttype=results&sortby=dc:title:A -GetRecords-sortby-desc,PYCSW_SERVER?config=tests/suites/default/default.cfg&service=CSW&version=2.0.2&request=GetRecords&typenames=csw:Record&elementsetname=full&resulttype=results&sortby=dc:title:D -GetRecords-sortby-invalid-propertyname,PYCSW_SERVER?config=tests/suites/default/default.cfg&service=CSW&version=2.0.2&request=GetRecords&typenames=csw:Record&elementsetname=full&resulttype=results&sortby=dc:titlei:A -GetRecords-sortby-invalid-order,PYCSW_SERVER?config=tests/suites/default/default.cfg&service=CSW&version=2.0.2&request=GetRecords&typenames=csw:Record&elementsetname=full&resulttype=results&sortby=dc:title:FOO -GetRecords-filter,PYCSW_SERVER?config=tests/suites/default/default.cfg&service=CSW&version=2.0.2&request=GetRecords&typenames=csw:Record&elementsetname=full&resulttype=results&constraintlanguage=FILTER&constraint=%3Cogc%3AFilter%20xmlns%3Aogc%3D%22http%3A%2F%2Fwww.opengis.net%2Fogc%22%3E%3Cogc%3APropertyIsEqualTo%3E%3Cogc%3APropertyName%3Edc%3Atitle%3C%2Fogc%3APropertyName%3E%3Cogc%3ALiteral%3ELorem%20ipsum%3C%2Fogc%3ALiteral%3E%3C%2Fogc%3APropertyIsEqualTo%3E%3C%2Fogc%3AFilter%3E -GetRecords-filter-cql-title,PYCSW_SERVER?config=tests/suites/default/default.cfg&service=CSW&version=2.0.2&request=GetRecords&typenames=csw:Record&elementsetname=full&resulttype=results&constraintlanguage=CQL_TEXT&constraint=dc%3Atitle%20like%20%27%25lor%25%27 -GetRecords-filter-cql-title-with-spaces,PYCSW_SERVER?config=tests/suites/default/default.cfg&service=CSW&version=2.0.2&request=GetRecords&typenames=csw:Record&elementsetname=full&resulttype=results&constraintlanguage=CQL_TEXT&constraint=dc%3Atitle%20like%20%27%25Lorem%20ipsum%25%27 -GetRecords-filter-cql-title-or-abstract,PYCSW_SERVER?config=tests/suites/default/default.cfg&service=CSW&version=2.0.2&request=GetRecords&typenames=csw:Record&elementsetname=full&resulttype=results&constraintlanguage=CQL_TEXT&constraint=dc%3Atitle%20like%20%27%25lor%25%27%20or%20dct%3Aabstract%20like%20%27%25pharetra%25%27 -GetRecords-filter-cql-title-with-spaces-or-abstract,PYCSW_SERVER?config=tests/suites/default/default.cfg&service=CSW&version=2.0.2&request=GetRecords&typenames=csw:Record&elementsetname=full&resulttype=results&constraintlanguage=CQL_TEXT&constraint=dc%3Atitle%20like%20%27%25dolor%20sit%25%27%20or%20dct%3Aabstract%20like%20%27%25pharetra%25%27 -GetRecords-filter-cql-title-or-abstract-with-spaces,PYCSW_SERVER?config=tests/suites/default/default.cfg&service=CSW&version=2.0.2&request=GetRecords&typenames=csw:Record&elementsetname=full&resulttype=results&constraintlanguage=CQL_TEXT&constraint=dc%3Atitle%20like%20%27%25lor%25%27%20or%20dct%3Aabstract%20like%20%27%25pharetra%20in%25%27 -GetRecords-filter-cql-title-with-spaces-or-abstract-with-spaces,PYCSW_SERVER?config=tests/suites/default/default.cfg&service=CSW&version=2.0.2&request=GetRecords&typenames=csw:Record&elementsetname=full&resulttype=results&constraintlanguage=CQL_TEXT&constraint=dc%3Atitle%20like%20%27%25dolor%20sit%25%27%20or%20dct%3Aabstract%20like%20%27%25pharetra%20in%25%27 -GetRecords-empty-maxrecords,PYCSW_SERVER?config=tests/suites/default/default.cfg&service=CSW&version=2.0.2&request=GetRecords&typenames=csw:Record&elementsetname=full&maxrecords= -GetRepositoryItem,PYCSW_SERVER?config=tests/suites/default/default.cfg&service=CSW&version=2.0.2&request=GetRepositoryItem&id=urn:uuid:94bc9c83-97f6-4b40-9eb8-a8e8787a5c63 -Exception-GetRepositoryItem-notfound,PYCSW_SERVER?config=tests/suites/default/default.cfg&service=CSW&version=2.0.2&request=GetRepositoryItem&id=NOTFOUND -Exception-GetRepositoryItem-service-invalid1,PYCSW_SERVER?config=tests/suites/default/default.cfg&service=CSW%00&version=2.0.2&request=GetRepositoryItem&id=123 -Exception-GetRepositoryItem-service-invalid2,PYCSW_SERVER?config=tests/suites/default/default.cfg&service=CSW%00'&version=2.0.2&request=GetRepositoryItem&id=123 -Exception-GetRepositoryItem-version-invalid,PYCSW_SERVER?config=tests/suites/default/default.cfg&service=CSW&version=2.0.2'&request=GetRepositoryItem&id=123 +GetCapabilities,service=CSW&version=2.0.2&request=GetCapabilities +GetCapabilities-invalid-request,service=CSW&version=2.0.2&request=GetCapabilitiese +GetRecords-all,service=CSW&version=2.0.2&request=GetRecords&typenames=csw:Record&elementsetname=full +GetRecords-sortby-asc,service=CSW&version=2.0.2&request=GetRecords&typenames=csw:Record&elementsetname=full&resulttype=results&sortby=dc:title:A +GetRecords-sortby-desc,service=CSW&version=2.0.2&request=GetRecords&typenames=csw:Record&elementsetname=full&resulttype=results&sortby=dc:title:D +GetRecords-sortby-invalid-propertyname,service=CSW&version=2.0.2&request=GetRecords&typenames=csw:Record&elementsetname=full&resulttype=results&sortby=dc:titlei:A +GetRecords-sortby-invalid-order,service=CSW&version=2.0.2&request=GetRecords&typenames=csw:Record&elementsetname=full&resulttype=results&sortby=dc:title:FOO +GetRecords-filter,service=CSW&version=2.0.2&request=GetRecords&typenames=csw:Record&elementsetname=full&resulttype=results&constraintlanguage=FILTER&constraint=%3Cogc%3AFilter%20xmlns%3Aogc%3D%22http%3A%2F%2Fwww.opengis.net%2Fogc%22%3E%3Cogc%3APropertyIsEqualTo%3E%3Cogc%3APropertyName%3Edc%3Atitle%3C%2Fogc%3APropertyName%3E%3Cogc%3ALiteral%3ELorem%20ipsum%3C%2Fogc%3ALiteral%3E%3C%2Fogc%3APropertyIsEqualTo%3E%3C%2Fogc%3AFilter%3E +GetRecords-filter-cql-title,service=CSW&version=2.0.2&request=GetRecords&typenames=csw:Record&elementsetname=full&resulttype=results&constraintlanguage=CQL_TEXT&constraint=dc%3Atitle%20like%20%27%25lor%25%27 +GetRecords-filter-cql-title-with-spaces,service=CSW&version=2.0.2&request=GetRecords&typenames=csw:Record&elementsetname=full&resulttype=results&constraintlanguage=CQL_TEXT&constraint=dc%3Atitle%20like%20%27%25Lorem%20ipsum%25%27 +GetRecords-filter-cql-title-or-abstract,service=CSW&version=2.0.2&request=GetRecords&typenames=csw:Record&elementsetname=full&resulttype=results&constraintlanguage=CQL_TEXT&constraint=dc%3Atitle%20like%20%27%25lor%25%27%20or%20dct%3Aabstract%20like%20%27%25pharetra%25%27 +GetRecords-filter-cql-title-with-spaces-or-abstract,service=CSW&version=2.0.2&request=GetRecords&typenames=csw:Record&elementsetname=full&resulttype=results&constraintlanguage=CQL_TEXT&constraint=dc%3Atitle%20like%20%27%25dolor%20sit%25%27%20or%20dct%3Aabstract%20like%20%27%25pharetra%25%27 +GetRecords-filter-cql-title-or-abstract-with-spaces,service=CSW&version=2.0.2&request=GetRecords&typenames=csw:Record&elementsetname=full&resulttype=results&constraintlanguage=CQL_TEXT&constraint=dc%3Atitle%20like%20%27%25lor%25%27%20or%20dct%3Aabstract%20like%20%27%25pharetra%20in%25%27 +GetRecords-filter-cql-title-with-spaces-or-abstract-with-spaces,service=CSW&version=2.0.2&request=GetRecords&typenames=csw:Record&elementsetname=full&resulttype=results&constraintlanguage=CQL_TEXT&constraint=dc%3Atitle%20like%20%27%25dolor%20sit%25%27%20or%20dct%3Aabstract%20like%20%27%25pharetra%20in%25%27 +GetRecords-empty-maxrecords,service=CSW&version=2.0.2&request=GetRecords&typenames=csw:Record&elementsetname=full&maxrecords= +GetRepositoryItem,service=CSW&version=2.0.2&request=GetRepositoryItem&id=urn:uuid:94bc9c83-97f6-4b40-9eb8-a8e8787a5c63 +Exception-GetRepositoryItem-notfound,service=CSW&version=2.0.2&request=GetRepositoryItem&id=NOTFOUND +Exception-GetRepositoryItem-service-invalid1,service=CSW%00&version=2.0.2&request=GetRepositoryItem&id=123 +Exception-GetRepositoryItem-service-invalid2,service=CSW%00'&version=2.0.2&request=GetRepositoryItem&id=123 +Exception-GetRepositoryItem-version-invalid,service=CSW&version=2.0.2'&request=GetRepositoryItem&id=123 diff --git a/tests/suites/harvesting/get/requests.txt b/tests/suites/harvesting/get/requests.txt index 9033d798f..3b13c3b11 100644 --- a/tests/suites/harvesting/get/requests.txt +++ b/tests/suites/harvesting/get/requests.txt @@ -1,5 +1,5 @@ -Exception-Harvest-missing-resourcetype,PYCSW_SERVER?config=tests/suites/manager/default.cfg&service=CSW&version=2.0.2&request=Harvest -Exception-Harvest-missing-source,PYCSW_SERVER?config=tests/suites/manager/default.cfg&service=CSW&version=2.0.2&request=Harvest&resourcetype=http://www.opengis.net/wms -Exception-Harvest-invalid-resourcetype,PYCSW_SERVER?config=tests/suites/manager/default.cfg&service=CSW&version=2.0.2&request=Harvest&resourcetype=http://www.opengis.net/wms1234&source=http://demo.pycsw.org/cite/csw -Exception-Harvest-waf-no-records-found,PYCSW_SERVER?config=tests/suites/manager/default.cfg&service=CSW&version=2.0.2&request=Harvest&resourcetype=urn:geoss:waf&source=http://demo.pycsw.org -Exception-Harvest-waf-bad-value,PYCSW_SERVER?config=tests/suites/manager/default.cfg&service=CSW&version=2.0.2&request=Harvest&resourcetype=urn:geoss:waf&source=badvalue +Exception-Harvest-missing-resourcetype,service=CSW&version=2.0.2&request=Harvest +Exception-Harvest-missing-source,service=CSW&version=2.0.2&request=Harvest&resourcetype=http://www.opengis.net/wms +Exception-Harvest-invalid-resourcetype,service=CSW&version=2.0.2&request=Harvest&resourcetype=http://www.opengis.net/wms1234&source=http://demo.pycsw.org/cite/csw +Exception-Harvest-waf-no-records-found,service=CSW&version=2.0.2&request=Harvest&resourcetype=urn:geoss:waf&source=http://demo.pycsw.org +Exception-Harvest-waf-bad-value,service=CSW&version=2.0.2&request=Harvest&resourcetype=urn:geoss:waf&source=badvalue diff --git a/tests/suites/oaipmh/get/requests.txt b/tests/suites/oaipmh/get/requests.txt index e9f859c16..bf6955232 100644 --- a/tests/suites/oaipmh/get/requests.txt +++ b/tests/suites/oaipmh/get/requests.txt @@ -1,20 +1,20 @@ -empty,PYCSW_SERVER?config=tests/suites/oaipmh/default.cfg&mode=oaipmh -empty_with_amp,PYCSW_SERVER?config=tests/suites/oaipmh/default.cfg&mode=oaipmh& -bad_verb,PYCSW_SERVER?config=tests/suites/oaipmh/default.cfg&mode=oaipmh&verb=foo -illegal_verb,PYCSW_SERVER?config=tests/suites/oaipmh/default.cfg&mode=oaipmh&verb=foo&foo=bar -Identify,PYCSW_SERVER?config=tests/suites/oaipmh/default.cfg&mode=oaipmh&verb=Identify -ListSets,PYCSW_SERVER?config=tests/suites/oaipmh/default.cfg&mode=oaipmh&verb=ListSets -ListMetadataFormats,PYCSW_SERVER?config=tests/suites/oaipmh/default.cfg&mode=oaipmh&verb=ListMetadataFormats -GetRecord_dc,PYCSW_SERVER?config=tests/suites/oaipmh/default.cfg&mode=oaipmh&verb=GetRecord&identifier=urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f&metadataPrefix=csw-record -GetRecord_bad_metadata_prefix,PYCSW_SERVER?config=tests/suites/oaipmh/default.cfg&mode=oaipmh&verb=GetRecord&identifier=urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f&metadataPrefix=csw-recordd -GetRecord_oai_dc,PYCSW_SERVER?config=tests/suites/oaipmh/default.cfg&mode=oaipmh&verb=GetRecord&identifier=urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f&metadataPrefix=oai_dc -GetRecord_iso,PYCSW_SERVER?config=tests/suites/oaipmh/default.cfg&mode=oaipmh&verb=GetRecord&identifier=urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f&metadataPrefix=iso19139 -ListIdentifiers_missing_metadata_prefix,PYCSW_SERVER?config=tests/suites/oaipmh/default.cfg&mode=oaipmh&verb=ListIdentifiers -ListIdentifiers_dc,PYCSW_SERVER?config=tests/suites/oaipmh/default.cfg&mode=oaipmh&verb=ListIdentifiers&metadataPrefix=csw-record -ListIdentifiers_iso,PYCSW_SERVER?config=tests/suites/oaipmh/default.cfg&mode=oaipmh&verb=ListIdentifiers&metadataPrefix=iso19139 -ListIdentifiers_oai_dc,PYCSW_SERVER?config=tests/suites/oaipmh/default.cfg&mode=oaipmh&verb=ListIdentifiers&metadataPrefix=oai_dc -ListIdentifiers_bad_metadata_prefix,PYCSW_SERVER?config=tests/suites/oaipmh/default.cfg&mode=oaipmh&verb=ListIdentifiers&metadataPrefix=foo -ListRecords_dc,PYCSW_SERVER?config=tests/suites/oaipmh/default.cfg&mode=oaipmh&verb=ListRecords&metadataPrefix=csw-record -ListRecords_dc_bad_metadata_prefix,PYCSW_SERVER?config=tests/suites/oaipmh/default.cfg&mode=oaipmh&verb=ListRecords&metadataPrefix=csw-recording -ListRecords_oai_dc,PYCSW_SERVER?config=tests/suites/oaipmh/default.cfg&mode=oaipmh&verb=ListRecords&metadataPrefix=oai_dc -ListRecords_iso19139,PYCSW_SERVER?config=tests/suites/oaipmh/default.cfg&mode=oaipmh&verb=ListRecords&metadataPrefix=iso19139 +empty,mode=oaipmh +empty_with_amp,mode=oaipmh& +bad_verb,mode=oaipmh&verb=foo +illegal_verb,mode=oaipmh&verb=foo&foo=bar +Identify,mode=oaipmh&verb=Identify +ListSets,mode=oaipmh&verb=ListSets +ListMetadataFormats,mode=oaipmh&verb=ListMetadataFormats +GetRecord_dc,mode=oaipmh&verb=GetRecord&identifier=urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f&metadataPrefix=csw-record +GetRecord_bad_metadata_prefix,mode=oaipmh&verb=GetRecord&identifier=urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f&metadataPrefix=csw-recordd +GetRecord_oai_dc,mode=oaipmh&verb=GetRecord&identifier=urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f&metadataPrefix=oai_dc +GetRecord_iso,mode=oaipmh&verb=GetRecord&identifier=urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f&metadataPrefix=iso19139 +ListIdentifiers_missing_metadata_prefix,mode=oaipmh&verb=ListIdentifiers +ListIdentifiers_dc,mode=oaipmh&verb=ListIdentifiers&metadataPrefix=csw-record +ListIdentifiers_iso,mode=oaipmh&verb=ListIdentifiers&metadataPrefix=iso19139 +ListIdentifiers_oai_dc,mode=oaipmh&verb=ListIdentifiers&metadataPrefix=oai_dc +ListIdentifiers_bad_metadata_prefix,mode=oaipmh&verb=ListIdentifiers&metadataPrefix=foo +ListRecords_dc,mode=oaipmh&verb=ListRecords&metadataPrefix=csw-record +ListRecords_dc_bad_metadata_prefix,mode=oaipmh&verb=ListRecords&metadataPrefix=csw-recording +ListRecords_oai_dc,mode=oaipmh&verb=ListRecords&metadataPrefix=oai_dc +ListRecords_iso19139,mode=oaipmh&verb=ListRecords&metadataPrefix=iso19139 diff --git a/tests/suites/sru/get/requests.txt b/tests/suites/sru/get/requests.txt index 24170ae2d..3db4b8cd0 100644 --- a/tests/suites/sru/get/requests.txt +++ b/tests/suites/sru/get/requests.txt @@ -1,5 +1,5 @@ -explain,PYCSW_SERVER?config=tests/suites/sru/default.cfg&mode=sru -search,PYCSW_SERVER?config=tests/suites/sru/default.cfg&mode=sru&version=1.1&operation=searchRetrieve&query=lor -search_maxrecords,PYCSW_SERVER?config=tests/suites/sru/default.cfg&mode=sru&operation=searchRetrieve&query=lor&maximumRecords=2 -search_startrecord_maxrecords,PYCSW_SERVER?config=tests/suites/sru/default.cfg&mode=sru&operation=searchRetrieve&query=lor&maximumRecords=2&startRecord=1 -search_cql,PYCSW_SERVER?config=tests/suites/sru/default.cfg&mode=sru&operation=searchRetrieve&query=dc:title%20like%20'%lor%'&maximumRecords=5 +explain,mode=sru +search,mode=sru&version=1.1&operation=searchRetrieve&query=lor +search_maxrecords,mode=sru&operation=searchRetrieve&query=lor&maximumRecords=2 +search_startrecord_maxrecords,mode=sru&operation=searchRetrieve&query=lor&maximumRecords=2&startRecord=1 +search_cql,mode=sru&operation=searchRetrieve&query=dc:title%20like%20'%lor%'&maximumRecords=5 From a3da2e4150dd709bd701ffc022ce5b6531f966f7 Mon Sep 17 00:00:00 2001 From: Ricardo Silva Date: Tue, 31 May 2016 01:11:19 +0100 Subject: [PATCH 039/119] Adding back test logic --- tests/conftest.py | 39 +++++--------- tests/test_suites.py | 118 ++++++++++++++++++++----------------------- 2 files changed, 66 insertions(+), 91 deletions(-) diff --git a/tests/conftest.py b/tests/conftest.py index 52730e275..895e5939f 100644 --- a/tests/conftest.py +++ b/tests/conftest.py @@ -112,27 +112,6 @@ def pytest_generate_tests(metafunc): break -@pytest.fixture(scope="session") -def suite_info(request): - suite_name = request.param - test_data = [] - test_names = [] - expected_dir = os.path.join(TESTS_ROOT, "expected") - suite_dir = os.path.join(TESTS_ROOT, "suites", suite_name) - configuration_path = os.path.join(suite_dir, "default.cfg") - post_requests_dir = os.path.join(suite_dir, "post") - for item in glob.iglob(os.path.join(post_requests_dir, "*")): - test_id = os.path.splitext(os.path.basename(item))[0] - expected = os.path.join( - expected_dir, - "suites_{0}_post_{1}.xml".format(suite_name, test_id) - ) - if os.path.isfile(item) and os.path.isfile(expected): - test_data.append((item, expected, configuration_path)) - test_names.append("{0}_{1}".format(suite_name, test_id)) - return configuration_path, test_data, test_names - - @pytest.fixture(scope="session") def server_apiso_suite(request, tmpdir_factory): return _get_server_with_config(request, "apiso", @@ -199,28 +178,34 @@ def server_harvesting_suite(request, tmpdir_factory): tmpdir_factory, 8020) +@pytest.fixture(scope="session") +def server_manager_suite(request, tmpdir_factory): + return _get_server_with_config(request, "manager", + tmpdir_factory, 8021) + + @pytest.fixture(scope="session") def server_oaipmh_suite(request, tmpdir_factory): return _get_server_with_config(request, "oaipmh", - tmpdir_factory, 8021) + tmpdir_factory, 8022) @pytest.fixture(scope="session") def server_repofilter_suite(request, tmpdir_factory): return _get_server_with_config(request, "repofilter", - tmpdir_factory, 8022) + tmpdir_factory, 8023) @pytest.fixture(scope="session") def server_sru_suite(request, tmpdir_factory): return _get_server_with_config(request, "sru", - tmpdir_factory, 8023) + tmpdir_factory, 8024) @pytest.fixture(scope="session") def server_utf_8_suite(request, tmpdir_factory): return _get_server_with_config(request, "utf-8", - tmpdir_factory, 8024) + tmpdir_factory, 8025) def _configure_functional_post_tests(expected_dir, suite_name): @@ -254,9 +239,9 @@ def _configure_functional_get_tests(expected_dir, suite_name): "suites_{0}_get_{1}.xml".format(suite_name, test_name) ) if os.path.isfile(expected): - test_data.append((test_params, expected)) + test_data.append((test_params.strip(), expected)) test_names.append("{0}_{1}".format(suite_name, test_name)) - except IOError: + except FileNotFoundError: pass # this suite does not have GET tests return test_data, test_names diff --git a/tests/test_suites.py b/tests/test_suites.py index 48a374059..536993d75 100644 --- a/tests/test_suites.py +++ b/tests/test_suites.py @@ -35,14 +35,14 @@ """ -import codecs from io import BytesIO import json from lxml import etree from lxml import objectify -import os -import pytest import re +from urllib.parse import parse_qs + +import pytest import requests ENCODING = "utf-8" @@ -54,159 +54,141 @@ class TestApisoSuite(object): def test_post_requests(self, server_apiso_suite, test_request, expected_result): - pass - - def test_get_requests(self, server_apiso_suite, test_request_parameters, - expected_result): - pass + _test_post_request(server_apiso_suite, test_request, expected_result) class TestApisoInspireSuite(object): - def test_post_requests(self, server_apiso_inspire_suite, test_request, - expected_result): - pass - def test_get_requests(self, server_apiso_inspire_suite, test_request_parameters, expected_result): - pass + print("test_request_parameters: {}".format(test_request_parameters)) + _test_get_request(server_apiso_inspire_suite, test_request_parameters, + expected_result) class TestAtomSuite(object): def test_post_requests(self, server_atom_suite, test_request, expected_result): - pass + _test_post_request(server_atom_suite, test_request, expected_result) def test_get_requests(self, server_atom_suite, test_request_parameters, expected_result): - pass + _test_get_request(server_atom_suite, test_request_parameters, + expected_result) class TestCiteSuite(object): def test_post_requests(self, server_cite_suite, test_request, expected_result): - pass + _test_post_request(server_cite_suite, test_request, expected_result) def test_get_requests(self, server_cite_suite, test_request_parameters, expected_result): - pass + _test_get_request(server_cite_suite, test_request_parameters, + expected_result) class TestCsw30Suite(object): def test_post_requests(self, server_csw30_suite, test_request, expected_result): - pass + _test_post_request(server_csw30_suite, test_request, expected_result) def test_get_requests(self, server_csw30_suite, test_request_parameters, expected_result): - pass + _test_get_request(server_csw30_suite, test_request_parameters, + expected_result) class TestDefaultSuite(object): def test_post_requests(self, server_default_suite, test_request, expected_result): - pass + _test_post_request(server_default_suite, test_request, expected_result) def test_get_requests(self, server_default_suite, test_request_parameters, expected_result): - pass + _test_get_request(server_default_suite, test_request_parameters, + expected_result) class TestDifSuite(object): def test_post_requests(self, server_dif_suite, test_request, expected_result): - pass - - def test_get_requests(self, server_dif_suite, test_request_parameters, - expected_result): - pass + _test_post_request(server_dif_suite, test_request, expected_result) class TestEbrimSuite(object): def test_post_requests(self, server_ebrim_suite, test_request, expected_result): - pass - - def test_get_requests(self, server_ebrim_suite, test_request_parameters, - expected_result): - pass + _test_post_request(server_ebrim_suite, test_request, expected_result) class TestFgdcSuite(object): def test_post_requests(self, server_fgdc_suite, test_request, expected_result): - pass + _test_post_request(server_fgdc_suite, test_request, expected_result) - def test_get_requests(self, server_fgdc_suite, test_request_parameters, - expected_result): - pass class TestGm03Suite(object): def test_post_requests(self, server_gm03_suite, test_request, expected_result): - pass + _test_post_request(server_gm03_suite, test_request, expected_result) - def test_get_requests(self, server_gm03_suite, test_request_parameters, - expected_result): - pass class TestHarvestingSuite(object): def test_post_requests(self, server_harvesting_suite, test_request, expected_result): - pass + _test_post_request(server_harvesting_suite, test_request, + expected_result) def test_get_requests(self, server_harvesting_suite, test_request_parameters, expected_result): - pass + _test_get_request(server_harvesting_suite, test_request_parameters, + expected_result) -class TestOaipmhSuite(object): - def test_post_requests(self, server_oaipmh_suite, test_request, +class TestManagerSuite(object): + + def test_post_requests(self, server_manager_suite, test_request, expected_result): - pass + _test_post_request(server_manager_suite, test_request, expected_result) + + +class TestOaipmhSuite(object): def test_get_requests(self, server_oaipmh_suite, test_request_parameters, expected_result): - pass + _test_get_request(server_oaipmh_suite, test_request_parameters, + expected_result) class TestRepofilterSuite(object): def test_post_requests(self, server_repofilter_suite, test_request, expected_result): - pass + _test_post_request(server_repofilter_suite, test_request, + expected_result) - def test_get_requests(self, server_repofilter_suite, - test_request_parameters, expected_result): - pass class TestSruSuite(object): - def test_post_requests(self, server_sru_suite, test_request, - expected_result): - pass - def test_get_requests(self, server_sru_suite, test_request_parameters, expected_result): - pass + _test_get_request(server_sru_suite, test_request_parameters, + expected_result) class TestUtf8Suite(object): def test_post_requests(self, server_utf_8_suite, test_request, expected_result): - pass - - def test_get_requests(self, server_utf_8_suite, test_request_parameters, - expected_result): - pass + _test_post_request(server_utf_8_suite, test_request, expected_result) def _test_post_request(pycsw_server_url, test_request, expected_result): @@ -216,8 +198,20 @@ def _test_post_request(pycsw_server_url, test_request, expected_result): expected = expected_fh.read() response = requests.post(pycsw_server_url, data=request_data) - response_data = response.text + _compare_response(response, expected) + +def _test_get_request(pycsw_server_url, parameters, expected_result): + with open(expected_result, encoding=ENCODING) as expected_fh: + expected = expected_fh.read() + payload = parse_qs(parameters) + print("payload: {}".format(payload)) + response = requests.get(pycsw_server_url, params=payload) + _compare_response(response, expected) + + +def _compare_response(response, expected): + response_data = response.text normalized_result = _normalize(response_data, force_id_mask=False) print("expected: {0}".format(expected)) print("response: {0}".format(normalized_result)) @@ -229,10 +223,6 @@ def _test_post_request(pycsw_server_url, test_request, expected_result): assert matches_expected -def _test_get_request(pycsw_server_url, parameters, expected_result): - pass - - def _test_xml_result(result, expected): """Compare the XML test results with an expected value. From 2e4944d71f7885eecea7c10dab61590b78676b99 Mon Sep 17 00:00:00 2001 From: Ricardo Silva Date: Fri, 10 Jun 2016 16:20:56 +0100 Subject: [PATCH 040/119] adding database stuff to test configuration --- tests/conftest.py | 62 ++++++++++++++++++++++++++++------------------- 1 file changed, 37 insertions(+), 25 deletions(-) diff --git a/tests/conftest.py b/tests/conftest.py index 895e5939f..795fe981a 100644 --- a/tests/conftest.py +++ b/tests/conftest.py @@ -15,25 +15,32 @@ TESTS_ROOT = os.path.dirname(os.path.abspath(__file__)) -# This list holds the names of the suites that are available for functional -# testing -FUNCTIONAL_SUITES = [ - "apiso", - "apiso-inspire", - "atom", - "cite", - "csw30", - "default", - "dif", - "ebrim", - "fgdc", - "gm03", - "harvesting", - "oaipmh", - "repofilter", - "sru", - "utf-8", -] +# This dict holds the names of the suites that are available for functional +# testing and also if they use a custom database or not. If a suite has a +# custom database, then a new db is created and possibly loaded with the suite's +# test data (if there is any test data). If a suite does not use a custom db, +# then it means that its tests it will have a database loaded with records +# from the CITE suite +# If you omit the "has_own_db" key from a suite's dict, it is assumed that +# the value is False +FUNCTIONAL_SUITES = { + "apiso": {"has_own_db": True}, + "apiso-inspire": {}, + "atom": {}, + "cite": {"has_own_db": True}, + "csw30": {}, + "default": {}, + "dif": {}, + "ebrim": {}, + "fgdc": {}, + "gm03": {}, + "harvesting": {"has_own_db": True}, + "manager": {"has_own_db": True}, + "oaipmh": {}, + "repofilter": {}, + "sru": {}, + "utf-8": {}, +} def pytest_configure(config): @@ -62,7 +69,7 @@ def pytest_addoption(parser): help="Password to use for creating and accessing local postgres " "databases used for functional tests." ) - for suite_name in FUNCTIONAL_SUITES: + for suite_name in FUNCTIONAL_SUITES.keys(): parser.addoption( "--server-url-{0}-suite".format(suite_name), help="URL to perform functional tests for the {0!r} suite. If not " @@ -82,7 +89,7 @@ def pytest_generate_tests(metafunc): """ expected_dir = os.path.join(TESTS_ROOT, "expected") - for suite_name in FUNCTIONAL_SUITES: + for suite_name in FUNCTIONAL_SUITES.keys(): safe_suite_name = _get_suite_safe_name(suite_name) fixture_name = "server_{0}_suite".format(safe_suite_name) uses_fixture = fixture_name in metafunc.fixturenames @@ -284,11 +291,11 @@ def _get_server_with_config(request, suite_name, tmpdir_factory, port_number): suite_name, "default.cfg") config = ConfigParser() config.read(original_config_path) - safe_suite_name = _get_suite_safe_name(suite_name) - test_temp_directory = tmpdir_factory.mktemp(safe_suite_name, + #safe_suite_name = _get_suite_safe_name(suite_name) + test_temp_directory = tmpdir_factory.mktemp(suite_name, numbered=True) db_url = _initialize_database( - request, safe_suite_name, test_temp_directory, + request, suite_name, test_temp_directory, config.get("repository", "table"), os.path.join(TESTS_ROOT, "suites", suite_name, "data") ) @@ -319,7 +326,7 @@ def _initialize_database(request, suite_name, test_dir, table_name, data_path): Pytest's FixtureRequest object, holding information about the test context suite_name: str - The safe name of the current suite + The name of the current suite test_dir: str Full path to the temporary directory being used in the suite's tests data_path: str @@ -347,6 +354,10 @@ def _initialize_database(request, suite_name, test_dir, table_name, data_path): suite_name)) admin.setup_db(db_url, table_name, test_dir) print("Loading database data...") + if not FUNCTIONAL_SUITES[suite_name].get("has_own_db", False): + print("Loading CITE data into database...") + cite_data_dir = os.path.join(TESTS_ROOT, "suites", "cite", "data") + data_path = cite_data_dir admin.load_records(StaticContext(), db_url, table_name, data_path) return db_url @@ -381,6 +392,7 @@ def _start_local_server(request, config_path, port_number): env = os.environ.copy() env["PYCSW_CONFIG"] = config_path pycsw_process = subprocess.Popen(shlex.split(command), cwd=working_dir, + stdout=subprocess.PIPE, env=env) time.sleep(3) # give the external process some time to start From c57370b83313d6602ce9d29155d8f7e342510cb9 Mon Sep 17 00:00:00 2001 From: Ricardo Garcia Silva Date: Thu, 18 Aug 2016 15:06:25 +0100 Subject: [PATCH 041/119] refactoring tests to use py.test --- docs/testing.rst | 166 ++++++++++++++++++++++++------ tests/conftest.py | 64 +++++++----- tests/test_suites.py | 240 +++++++++++++++++++++++++++++-------------- 3 files changed, 333 insertions(+), 137 deletions(-) diff --git a/docs/testing.rst b/docs/testing.rst index 8729e8aba..40dcdfa49 100644 --- a/docs/testing.rst +++ b/docs/testing.rst @@ -1,63 +1,160 @@ -.. _testing: +.. _tests: Testing ======= +Pycsw uses `pytest`_ for managing its automated tests. There are a number of +test suites that perform mostly functional testing. These tests ensure that +pycsw is compliant with the various supported standards. + +The tests can be run locally as part of the development cycle. They are also +run on pycsw's `Travis`_ continuous integration server against all pushes and +pull requests to the code repository. + .. _ogc-cite: + OGC CITE -------- -Compliance benchmarking is done via the OGC `Compliance & Interoperability Testing & Evaluation Initiative`_. The pycsw `wiki `_ documents testing procedures and status. +In addition to pycsw's own tests, all public releases are also tested via the +OGC `Compliance & Interoperability Testing & Evaluation Initiative`_ (CITE). +The pycsw `wiki`_ documents CITE testing procedures and status. -.. _tests: +.. _pytest: http://pytest.org/latest/ +.. _Travis: http://travis-ci.org/geopython/pycsw +.. _Compliance & Interoperability Testing & Evaluation Initiative: + http://cite.opengeospatial.org/ +.. _wiki: https://github.com/geopython/pycsw/wiki/OGC-CITE-Compliance + + +Test suites +----------- + +Currently most of pycsw's tests are `functional tests`_. This means that +each test case is based on the requirements mandated by the specifications of +the various standards that pycsw implements. These tests focus on making sure +that pycsw works as expected. + +Each test follows the same workflow: + +* Setup a local pycsw instance with a custom configuration and data repository + for each suite of tests; + +* Perform a series of GET and POST requests to the running pycsw instance; + +* Compare the results of each request against a previously prepared expected + result. If the test result matches the expected outcome the test passes, + otherwise it fails. + + +A number of different test suites exist under ``tests/suites``. Each suite +specifies the following structure: + +* A mandatory ``default.cfg`` file with the pycsw configuration that must be + used by the test suite + +* A mandatory ``expected/`` directory containing the expected results for each + request + +* An optional ``data/`` directory that contains ``.xml`` files with testing + data that is to be loaded into the suite's database before running the tests + +* An optional ``get/requests.txt`` file that holds request parameters used for + making HTTP GET requests. + + Each line in the file must be formatted with the following scheme: + + test_id,request_query_string + + For example: + + GetCapabilities,service=CSW&version=2.0.2&request=GetCapabilities + + When tests are run, the *test_id* is used for naming each test and for + finding the expected result. + +* An optional ``post/`` directory that holds ``.xml`` files used for making + HTTP POST requests + + +.. _functional tests: https://en.wikipedia.org/wiki/Functional_testing + + +Running tests locally +--------------------- + +Tests Tester ------ -The pycsw tests framework (in ``tests``) is a collection of testsuites to perform automated regession testing of the codebase. Test are run against all pushes to the GitHub repository via `Travis CI`_. +The pycsw tests framework (in ``tests``) is a collection of testsuites to +perform automated regression testing of the codebase. Test are run against +all pushes to the GitHub repository via Travis CI. Running Locally ^^^^^^^^^^^^^^^ -The tests framework can be run from ``tests`` using `Paver`_ (see ``pavement.py``) tasks for convenience: +The tests framework can be run from ``tests`` using `Paver`_ +(see ``pavement.py``) tasks for convenience: .. code-block:: bash - $ cd /path/to/pycsw - # run all tests (starts up http://localhost:8000) - $ paver test - # run tests only against specific testsuites - $ paver test -s apiso,fgdc - # run all tests, including harvesting (this is turned off by default given the volatility of remote services/data testing) - $ paver test -r - # run all tests with 1000ms time benchmark - $ paver test -t 1000 - -The tests perform HTTP GET and POST requests against ``http://localhost:8000``. The expected output for each test can be found in ``expected``. Results are categorized as ``passed``, ``failed``, or ``initialized``. A summary of results is output at the end of the run. + cd /path/to/pycsw + # run all tests (starts up http://localhost:8000) + paver test + # run tests only against specific testsuites + paver test -s apiso,fgdc + # run all tests, including harvesting (this is turned off by default given + # the volatility of remote services/data testing) + paver test -r + # run all tests with 1000ms time benchmark + paver test -t 1000 + +The tests perform HTTP GET and POST requests against +``http://localhost:8000``. The expected output for each test can be found +in ``expected``. Results are categorized as ``passed``, ``failed``, +or ``initialized``. A summary of results is output at the end of the run. Failed Tests ^^^^^^^^^^^^ -If a given test has failed, the output is saved in ``results``. The resulting failure can be analyzed by running ``diff tests/expected/name_of_test.xml tests/results/name_of_test.xml`` to find variances. The Paver task returns a status code which indicates the number of tests which have failed (i.e. ``echo $?``). +If a given test has failed, the output is saved in ``results``. The +resulting failure can be analyzed by running +``diff tests/expected/name_of_test.xml tests/results/name_of_test.xml`` to +find variances. The Paver task returns a status code which indicates the +number of tests which have failed (i.e. ``echo $?``). Test Suites ^^^^^^^^^^^ -The tests framework is run against a series of 'suites' (in ``tests/suites``), each of which specifies a given configuration to test various functionality of the codebase. Each suite is structured as follows: +The tests framework is run against a series of 'suites' (in ``tests/suites``), +each of which specifies a given configuration to test various functionality +of the codebase. Each suite is structured as follows: * ``tests/suites/suite/default.cfg``: the configuration for the suite -* ``tests/suites/suite/post``: directory of XML documents for HTTP POST requests -* ``tests/suites/suite/get/requests.txt``: directory and text file of KVP for HTTP GET requests -* ``tests/suites/suite/data``: directory of sample XML data required for the test suite. Database and test data are setup/loaded automatically as part of testing +* ``tests/suites/suite/post``: directory of XML documents for HTTP POST + requests +* ``tests/suites/suite/get/requests.txt``: directory and text file of KVP + for HTTP GET requests +* ``tests/suites/suite/data``: directory of sample XML data required for the + test suite. Database and test data are setup/loaded automatically as part + of testing When the tests are invoked, the following operations are run: * pycsw configuration is set to ``tests/suites/suite/default.cfg`` * HTTP POST requests are run against ``tests/suites/suite/post/*.xml`` -* HTTP GET requests are run against each request in ``tests/suites/suite/get/requests.txt`` +* HTTP GET requests are run against each request in + ``tests/suites/suite/get/requests.txt`` -The CSV format of ``tests/suites/suite/get/requests.txt`` is ``testname,request``, with one line for each test. The ``testname`` value is a unique test name (this value sets the name of the output file in the test results). The ``request`` value is the HTTP GET request. The ``PYCSW_SERVER`` token is replaced at runtime with the URL to the pycsw install. +The CSV format of ``tests/suites/suite/get/requests.txt`` is +``testname,request``, with one line for each test. The ``testname`` value +is a unique test name (this value sets the name of the output file in the +test results). The ``request`` value is the HTTP GET request. The +``PYCSW_SERVER`` token is replaced at runtime with the URL to the pycsw +install. Adding New Tests ^^^^^^^^^^^^^^^^ @@ -65,7 +162,8 @@ Adding New Tests To add tests to an existing suite: * for HTTP POST tests, add XML documents to ``tests/suites/suite/post`` -* for HTTP GET tests, add tests (one per line) to ``tests/suites/suite/get/requests.txt`` +* for HTTP GET tests, add tests (one per line) to + ``tests/suites/suite/get/requests.txt`` * run ``paver test`` To add a new test suite: @@ -74,19 +172,27 @@ To add a new test suite: * create a new configuration in ``tests/suites/foo/default.cfg`` * Ensure that all file paths are relative to ``path/to/pycsw`` - * Ensure that ``repository.database`` points to an SQLite3 database called ``tests/suites/foo/data/records.db``. The database *must* be called ``records.db`` and the directory ``tests/suites/foo/data`` *must* exist + * Ensure that ``repository.database`` points to an SQLite3 database + called ``tests/suites/foo/data/records.db``. The database *must* be + called ``records.db`` and the directory ``tests/suites/foo/data`` + *must* exist * populate HTTP POST requests in ``tests/suites/foo/post`` * populate HTTP GET requests in ``tests/suites/foo/get/requests.txt`` -* if the testsuite requires test data, create ``tests/suites/foo/data`` are store XML file there -* run ``paver test`` (or ``paver test -s foo`` to test only the new test suite) +* if the testsuite requires test data, create ``tests/suites/foo/data`` are + store XML file there +* run ``paver test`` (or ``paver test -s foo`` to test only the new test + suite) -The new test suite database will be created automatically and used as part of tests. +The new test suite database will be created automatically and used as part of +tests. Web Testing ^^^^^^^^^^^ -You can also use the pycsw tests via your web browser to perform sample requests against your pycsw install. The tests are is located in ``tests/``. To generate the HTML page: +You can also use the pycsw tests via your web browser to perform sample +requests against your pycsw install. The tests are is located in +``tests/``. To generate the HTML page: .. code-block:: bash @@ -94,6 +200,4 @@ You can also use the pycsw tests via your web browser to perform sample requests Then navigate to ``http://host/path/to/pycsw/tests/index.html``. -.. _`Compliance & Interoperability Testing & Evaluation Initiative`: http://cite.opengeospatial.org/ -.. _`Travis CI`: http://travis-ci.org/geopython/pycsw .. _`Paver`: http://paver.github.io/paver/ diff --git a/tests/conftest.py b/tests/conftest.py index 795fe981a..d3c238f55 100644 --- a/tests/conftest.py +++ b/tests/conftest.py @@ -88,30 +88,33 @@ def pytest_generate_tests(metafunc): """ - expected_dir = os.path.join(TESTS_ROOT, "expected") + test_name_get_matches = ( + metafunc.function.__name__ == "test_get_requests") + test_name_post_matches = ( + metafunc.function.__name__ == "test_post_requests") for suite_name in FUNCTIONAL_SUITES.keys(): safe_suite_name = _get_suite_safe_name(suite_name) fixture_name = "server_{0}_suite".format(safe_suite_name) - uses_fixture = fixture_name in metafunc.fixturenames - test_name_post = "test_post_requests" - test_name_get = "test_get_requests" - test_name_get_matches = metafunc.function.__name__ == test_name_get - test_name_post_matches = metafunc.function.__name__ == test_name_post - if uses_fixture and test_name_post_matches: - test_data, test_names = _configure_functional_post_tests( - expected_dir, safe_suite_name) + if fixture_name in metafunc.fixturenames and test_name_get_matches: + test_data, test_names = _configure_functional_get_tests(suite_name) metafunc.parametrize( - ["test_request", "expected_result"], + [ + "{0}_test_request_parameters".format(safe_suite_name), + "{0}_expected_get_result".format(safe_suite_name) + ], test_data, ids=test_names, scope="session" ) break - elif uses_fixture and test_name_get_matches: - test_data, test_names = _configure_functional_get_tests( - expected_dir, suite_name) + elif fixture_name in metafunc.fixturenames and test_name_post_matches: + test_data, test_names = _configure_functional_post_tests( + suite_name) metafunc.parametrize( - ["test_request_parameters", "expected_result"], + [ + "{0}_test_request".format(safe_suite_name), + "{0}_expected_post_result".format(safe_suite_name) + ], test_data, ids=test_names, scope="session" @@ -215,36 +218,33 @@ def server_utf_8_suite(request, tmpdir_factory): tmpdir_factory, 8025) -def _configure_functional_post_tests(expected_dir, suite_name): +def _configure_functional_post_tests(suite_name): test_data = [] test_names = [] suite_dir = os.path.join(TESTS_ROOT, "suites", suite_name) post_requests_dir = os.path.join(suite_dir, "post") + expected_dir = os.path.join(suite_dir, "expected") for item in glob.iglob(os.path.join(post_requests_dir, "*")): test_id = os.path.splitext(os.path.basename(item))[0] - expected = os.path.join( - expected_dir, - "suites_{0}_post_{1}.xml".format(suite_name, test_id) - ) + expected = os.path.join(expected_dir,"post_{0}.xml".format(test_id)) if os.path.isfile(item) and os.path.isfile(expected): test_data.append((item, expected)) test_names.append("{0}_{1}".format(suite_name, test_id)) return test_data, test_names -def _configure_functional_get_tests(expected_dir, suite_name): +def _configure_functional_get_tests(suite_name): test_data = [] test_names = [] request_file_path = os.path.join(TESTS_ROOT, "suites", suite_name, "get", "requests.txt") + expected_dir = os.path.join(TESTS_ROOT, "suites", suite_name, "expected") try: with open(request_file_path, encoding="utf-8") as fh: for line in fh: test_name, sep, test_params = line.partition(",") - expected = os.path.join( - expected_dir, - "suites_{0}_get_{1}.xml".format(suite_name, test_name) - ) + expected = os.path.join(expected_dir, + "get_{0}.xml".format(test_name)) if os.path.isfile(expected): test_data.append((test_params.strip(), expected)) test_names.append("{0}_{1}".format(suite_name, test_name)) @@ -286,7 +286,8 @@ def _get_server_with_config(request, suite_name, tmpdir_factory, port_number): url = request.config.getoption("--server-url-{0}-suite".format(suite_name)) if url is None: - print("Initializing server for {0!r} suite...".format(suite_name)) + print("Initializing server for {0!r} suite at port " + "{1!r}...".format(suite_name, port_number)) original_config_path = os.path.join(TESTS_ROOT, "suites", suite_name, "default.cfg") config = ConfigParser() @@ -300,6 +301,11 @@ def _get_server_with_config(request, suite_name, tmpdir_factory, port_number): os.path.join(TESTS_ROOT, "suites", suite_name, "data") ) # now we can change the config as needed + #server_url = "http://localhost:{0}".format(port_number) + #config.set("server", "url", server_url) + config.set("server", "loglevel", "DEBUG") + config.set("server", "logfile", os.path.join(test_temp_directory, + "pycsw.log")) config.set("repository", "database", db_url) new_config = test_temp_directory.join("default.cfg") fh = new_config.open("w") @@ -387,18 +393,20 @@ def _start_local_server(request, config_path, port_number): """ - command = "python pycsw/wsgi.py {}".format(port_number) + url = "http://localhost:{0}".format(port_number) + print("Starting a local server at {0}...".format(url)) + command = "python pycsw/wsgi.py {0}".format(port_number) working_dir = os.path.dirname(TESTS_ROOT) env = os.environ.copy() env["PYCSW_CONFIG"] = config_path pycsw_process = subprocess.Popen(shlex.split(command), cwd=working_dir, stdout=subprocess.PIPE, env=env) - time.sleep(3) # give the external process some time to start + time.sleep(2) # give the external process some time to start def finalizer(): pycsw_process.terminate() pycsw_process.wait() request.addfinalizer(finalizer) - return "http://localhost:{}".format(port_number) + return url diff --git a/tests/test_suites.py b/tests/test_suites.py index 536993d75..2b439f33d 100644 --- a/tests/test_suites.py +++ b/tests/test_suites.py @@ -41,6 +41,7 @@ from lxml import objectify import re from urllib.parse import parse_qs +from urllib.parse import unquote import pytest import requests @@ -52,174 +53,257 @@ class TestApisoSuite(object): - def test_post_requests(self, server_apiso_suite, test_request, - expected_result): - _test_post_request(server_apiso_suite, test_request, expected_result) + def test_post_requests(self, + server_apiso_suite, + apiso_test_request, + apiso_expected_post_result): + _test_post_request(server_apiso_suite, + apiso_test_request, + apiso_expected_post_result) class TestApisoInspireSuite(object): - def test_get_requests(self, server_apiso_inspire_suite, - test_request_parameters, expected_result): - print("test_request_parameters: {}".format(test_request_parameters)) - _test_get_request(server_apiso_inspire_suite, test_request_parameters, - expected_result) + def test_get_requests(self, + server_apiso_inspire_suite, + apiso_inspire_test_request_parameters, + apiso_inspire_expected_get_result): + _test_get_request(server_apiso_inspire_suite, + apiso_inspire_test_request_parameters, + apiso_inspire_expected_get_result) class TestAtomSuite(object): - def test_post_requests(self, server_atom_suite, test_request, - expected_result): - _test_post_request(server_atom_suite, test_request, expected_result) + def test_post_requests(self, + server_atom_suite, + atom_test_request, + atom_expected_post_result): + _test_post_request(server_atom_suite, + atom_test_request, + atom_expected_post_result) def test_get_requests(self, server_atom_suite, - test_request_parameters, expected_result): - _test_get_request(server_atom_suite, test_request_parameters, - expected_result) + atom_test_request_parameters, + atom_expected_get_result): + _test_get_request(server_atom_suite, + atom_test_request_parameters, + atom_expected_get_result) class TestCiteSuite(object): - def test_post_requests(self, server_cite_suite, test_request, - expected_result): - _test_post_request(server_cite_suite, test_request, expected_result) + def test_post_requests(self, server_cite_suite, cite_test_request, + cite_expected_post_result): + _test_post_request(server_cite_suite, cite_test_request, + cite_expected_post_result) def test_get_requests(self, server_cite_suite, - test_request_parameters, expected_result): - _test_get_request(server_cite_suite, test_request_parameters, - expected_result) + cite_test_request_parameters, + cite_expected_get_result): + print("locals: {0}".format(locals())) + _test_get_request(server_cite_suite, cite_test_request_parameters, + cite_expected_get_result) class TestCsw30Suite(object): - def test_post_requests(self, server_csw30_suite, test_request, - expected_result): - _test_post_request(server_csw30_suite, test_request, expected_result) + def test_post_requests(self, + server_csw30_suite, + csw30_test_request, + csw30_expected_post_result): + _test_post_request(server_csw30_suite, + csw30_test_request, + csw30_expected_post_result) def test_get_requests(self, server_csw30_suite, - test_request_parameters, expected_result): - _test_get_request(server_csw30_suite, test_request_parameters, - expected_result) + csw30_test_request_parameters, + csw30_expected_get_result): + _test_get_request(server_csw30_suite, + csw30_test_request_parameters, + csw30_expected_get_result) class TestDefaultSuite(object): - def test_post_requests(self, server_default_suite, test_request, - expected_result): - _test_post_request(server_default_suite, test_request, expected_result) + def test_post_requests(self, + server_default_suite, + default_test_request, + default_expected_post_result): + _test_post_request(server_default_suite, + default_test_request, + default_expected_post_result) - def test_get_requests(self, server_default_suite, test_request_parameters, - expected_result): - _test_get_request(server_default_suite, test_request_parameters, - expected_result) + def test_get_requests(self, + server_default_suite, + default_test_request_parameters, + default_expected_get_result): + _test_get_request(server_default_suite, + default_test_request_parameters, + default_expected_get_result) class TestDifSuite(object): - def test_post_requests(self, server_dif_suite, test_request, - expected_result): - _test_post_request(server_dif_suite, test_request, expected_result) + def test_post_requests(self, + server_dif_suite, + dif_test_request, + dif_expected_post_result): + _test_post_request(server_dif_suite, + dif_test_request, + dif_expected_post_result) class TestEbrimSuite(object): - def test_post_requests(self, server_ebrim_suite, test_request, - expected_result): - _test_post_request(server_ebrim_suite, test_request, expected_result) + def test_post_requests(self, server_ebrim_suite, + ebrim_test_request, + ebrim_expected_post_result): + _test_post_request(server_ebrim_suite, + ebrim_test_request, + ebrim_expected_post_result) class TestFgdcSuite(object): - def test_post_requests(self, server_fgdc_suite, test_request, - expected_result): - _test_post_request(server_fgdc_suite, test_request, expected_result) + def test_post_requests(self, + server_fgdc_suite, + fgdc_test_request, + fgdc_expected_post_result): + _test_post_request(server_fgdc_suite, + fgdc_test_request, + fgdc_expected_post_result) class TestGm03Suite(object): - def test_post_requests(self, server_gm03_suite, test_request, - expected_result): - _test_post_request(server_gm03_suite, test_request, expected_result) + def test_post_requests(self, + server_gm03_suite, + gm03_test_request, + gm03_expected_post_result): + _test_post_request(server_gm03_suite, + gm03_test_request, + gm03_expected_post_result) class TestHarvestingSuite(object): - def test_post_requests(self, server_harvesting_suite, test_request, - expected_result): - _test_post_request(server_harvesting_suite, test_request, - expected_result) + def test_post_requests(self, + server_harvesting_suite, + harvesting_test_request, + harvesting_expected_post_result): + _test_post_request(server_harvesting_suite, + harvesting_test_request, + harvesting_expected_post_result) - def test_get_requests(self, server_harvesting_suite, - test_request_parameters, expected_result): - _test_get_request(server_harvesting_suite, test_request_parameters, - expected_result) + def test_get_requests(self, + server_harvesting_suite, + harvesting_test_request_parameters, + harvesting_expected_get_result): + _test_get_request(server_harvesting_suite, + harvesting_test_request_parameters, + harvesting_expected_get_result) class TestManagerSuite(object): - def test_post_requests(self, server_manager_suite, test_request, - expected_result): - _test_post_request(server_manager_suite, test_request, expected_result) + def test_post_requests(self, + server_manager_suite, + manager_test_request, + manager_expected_post_result): + _test_post_request(server_manager_suite, + manager_test_request, + manager_expected_post_result) class TestOaipmhSuite(object): - def test_get_requests(self, server_oaipmh_suite, test_request_parameters, - expected_result): - _test_get_request(server_oaipmh_suite, test_request_parameters, - expected_result) + def test_get_requests(self, server_oaipmh_suite, + oaipmh_test_request_parameters, + oaipmh_expected_get_result): + _test_get_request(server_oaipmh_suite, + oaipmh_test_request_parameters, + oaipmh_expected_get_result) + class TestRepofilterSuite(object): - def test_post_requests(self, server_repofilter_suite, test_request, - expected_result): - _test_post_request(server_repofilter_suite, test_request, - expected_result) + def test_post_requests(self, + server_repofilter_suite, + repofilter_test_request, + repofilter_expected_post_result): + _test_post_request(server_repofilter_suite, + repofilter_test_request, + repofilter_expected_post_result) class TestSruSuite(object): - def test_get_requests(self, server_sru_suite, test_request_parameters, - expected_result): - _test_get_request(server_sru_suite, test_request_parameters, - expected_result) + def test_get_requests(self, + server_sru_suite, + sru_test_request_parameters, + sru_expected_get_result): + _test_get_request(server_sru_suite, + sru_test_request_parameters, + sru_expected_get_result) class TestUtf8Suite(object): - def test_post_requests(self, server_utf_8_suite, test_request, - expected_result): - _test_post_request(server_utf_8_suite, test_request, expected_result) + def test_post_requests(self, + server_utf_8_suite, + utf_8_test_request, + utf_8_expected_post_result): + _test_post_request(server_utf_8_suite, + utf_8_test_request, + utf_8_expected_post_result) def _test_post_request(pycsw_server_url, test_request, expected_result): with open(test_request, encoding=ENCODING) as request_fh: request_data = request_fh.read() + response = requests.post(pycsw_server_url, + data=bytes(request_data, ENCODING)) with open(expected_result, encoding=ENCODING) as expected_fh: expected = expected_fh.read() - response = requests.post(pycsw_server_url, - data=request_data) _compare_response(response, expected) def _test_get_request(pycsw_server_url, parameters, expected_result): + print("**********************") + print("EXPECTED_RESULT: {0}".format(expected_result)) + print("PARAMETERS: {0}".format(parameters)) + print("**********************") with open(expected_result, encoding=ENCODING) as expected_fh: expected = expected_fh.read() - payload = parse_qs(parameters) - print("payload: {}".format(payload)) - response = requests.get(pycsw_server_url, params=payload) + #payload = parse_qs(bytes(parameters, ENCODING)) + #payload = parse_qs(parameters) + payload = {} + for kvp in parameters.split("&"): + print("kvp: {}".format(kvp)) + parts = kvp.split("=") + payload[parts[0].lower()] = unquote(parts[1]) if len(parts) > 1 else "" + #payload[parts[0].lower()] = parts[1] if len(parts) > 1 else "" + print("payload: {0}".format(payload)) + request_headers = {} + if "outputformat" in payload.keys(): + request_headers.setdefault("Accept", payload["outputformat"]) + response = requests.get(pycsw_server_url, params=payload, + headers=request_headers) _compare_response(response, expected) def _compare_response(response, expected): + response.encoding = ENCODING response_data = response.text normalized_result = _normalize(response_data, force_id_mask=False) - print("expected: {0}".format(expected)) - print("response: {0}".format(normalized_result)) try: matches_expected = _test_xml_result(normalized_result, expected) except etree.XMLSyntaxError: # the file is either not XML (perhaps JSON?) or malformed matches_expected = _test_json_result(normalized_result, expected) + if not matches_expected: + print("expected: {0}".format(expected)) + print("response: {0}".format(normalized_result)) assert matches_expected From 7c1a230a2af3aec841f044fd98bf2257e2360dd4 Mon Sep 17 00:00:00 2001 From: Ricardo Garcia Silva Date: Sat, 5 Nov 2016 15:18:41 +0000 Subject: [PATCH 042/119] added pycharm's project files to gitignore --- .gitignore | 3 +++ 1 file changed, 3 insertions(+) diff --git a/.gitignore b/.gitignore index a30ade7c4..a443b4db4 100644 --- a/.gitignore +++ b/.gitignore @@ -15,3 +15,6 @@ tests/results # test repositories data + +# pycharm ide +.idea From 537b2ec2dd08dc68b061aa42ae2e1dbd7f4596bb Mon Sep 17 00:00:00 2001 From: Ricardo Garcia Silva Date: Wed, 16 Nov 2016 17:45:06 +0000 Subject: [PATCH 043/119] refactored the implementation Removed a lot of boiler plate code, simplifying things --- .gitignore | 5 +- docs/testing.rst | 144 +++++- requirements-dev.txt | 2 + tests/conftest.py | 416 ++-------------- tests/functionaltests/conftest.py | 277 +++++++++++ .../functionaltests/test_suites_functional.py | 267 ++++++++++ tests/test_suites.py | 456 ------------------ 7 files changed, 726 insertions(+), 841 deletions(-) create mode 100644 tests/functionaltests/conftest.py create mode 100644 tests/functionaltests/test_suites_functional.py delete mode 100644 tests/test_suites.py diff --git a/.gitignore b/.gitignore index a443b4db4..ac267ca17 100644 --- a/.gitignore +++ b/.gitignore @@ -9,12 +9,11 @@ MANIFEST # testing artifacts tests/index.html tests/results +**.cache +.coverage # test configurations /default.cfg -# test repositories -data - # pycharm ide .idea diff --git a/docs/testing.rst b/docs/testing.rst index 40dcdfa49..b17a3b4f3 100644 --- a/docs/testing.rst +++ b/docs/testing.rst @@ -38,7 +38,7 @@ that pycsw works as expected. Each test follows the same workflow: -* Setup a local pycsw instance with a custom configuration and data repository +* Instantiate a pycsw instance with a custom configuration and data repository for each suite of tests; * Perform a series of GET and POST requests to the running pycsw instance; @@ -48,17 +48,28 @@ Each test follows the same workflow: otherwise it fails. -A number of different test suites exist under ``tests/suites``. Each suite -specifies the following structure: +A number of different test suites exist under ``tests/functionaltests/suites``. +Each suite specifies the following structure: * A mandatory ``default.cfg`` file with the pycsw configuration that must be - used by the test suite + used by the test suite; * A mandatory ``expected/`` directory containing the expected results for each request * An optional ``data/`` directory that contains ``.xml`` files with testing - data that is to be loaded into the suite's database before running the tests + data that is to be loaded into the suite's database before running the tests. + The presence of this directory and its contents have the following meaning + for tests: + + * If ``data/`` directory is present and contains files, they will be loaded + into a new database for running the tests of the suite; + + * If ``data/`` directory is present and does not contain any data files, a + new empty database is used in the tests; + + * If ``data/`` directory is absent, the suite will use a database populated + with test data from the CITE suite. * An optional ``get/requests.txt`` file that holds request parameters used for making HTTP GET requests. @@ -77,10 +88,133 @@ specifies the following structure: * An optional ``post/`` directory that holds ``.xml`` files used for making HTTP POST requests +Test identifiers +^^^^^^^^^^^^^^^^ + +Each test has an identifier that is built using the following rule: + + [__] + +For example: + + test_suites[default_post_GetRecords-end] .. _functional tests: https://en.wikipedia.org/wiki/Functional_testing +Running tests +------------- + +Since pycsw uses `pytest`_, tests are run with the ``py.test`` runner. A basic +test run can be made with: + +.. code:: bash + + py.test + +This command will run all tests and report on the number of successes, failures +and also the time it took to run them. The `py.test` command accepts several +additional parameters that can be used in order to customize the execution of +tests. Look into `pytest's invocation documentation`_ for a more complete +description. You can also get a description of the available parameters by +running: + +.. code:: bash + + py.test --help + +.. _pytest's invocation documentation: http://docs.pytest.org/en/latest/usage.html + + +Running specific suites and test cases +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +Use the `-k name expression` flag to select which tests to run. Since each +test's name includes the suite name, http method and an identifier for the +test, it is easy to run only certain tests. + +.. code:: bash + + py.test -k "apiso and GetRecords" # run only tests from the `apiso` suite that have `GetRecords` in their name + py.test -k "post and GetRecords" # run only tests that use HTTP POST and `GetRecords` in their name + py.test -k "not harvesting" # run all tests except those from the `harvesting` suite + + + +Exiting fast +^^^^^^^^^^^^ + +The `--exitfirst` (or `-x`) flag can be used to stop the test runner +immediately if some test case fails. + +.. code:: bash + + py.test --exitfirst + + +Seeing more output +^^^^^^^^^^^^^^^^^^ + +There are three main ways to get more output from running tests: + +* The `--verbose` (or `-v`) flag + +* The `--capture=no` flag - Messages sent to stdout by a test are not + suppressed; + +* The `--pycsw-loglevel` flag - Sets the log level of the pycsw instance under + test. Set this value to `debug` in order to see all debug messages sent by + pycsw while processing a request + + +.. code:: bash + + py.test --verbose + py.test --pycsw-loglevel=debug + py.test --capture=no --pycsw-loglevel=debug + + +Test coverage +^^^^^^^^^^^^^ + +Use the `--cov pycsw` flag in order to see information on code coverage. It is +possible to get output in a variety of formats. + +.. code:: bash + + py.test --cov pycsw + + +Specifying a timeout for tests +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +The `--timeout ` option can be used to specify that if a test takes +more than `` to run it is considered to have failed. Seconds can be +a float, so it is possibe to specify sub-second timeouts + +.. code:: bash + + py.test --timeout=1.5 + + +Linting with flake8 +^^^^^^^^^^^^^^^^^^^ + +Use the `--flake8` flag to also check if the code complies with Python's style +guide + +.. code:: bash + + py.test --flake8 + + +Running tests against a remote server +------------------------------------- + +TBD + + + Running tests locally --------------------- diff --git a/requirements-dev.txt b/requirements-dev.txt index 6a9fc46a7..9ca8ca353 100644 --- a/requirements-dev.txt +++ b/requirements-dev.txt @@ -1,4 +1,6 @@ Paver==1.2.4 pytest==2.9.1 +pytest-cov==2.4.0 +pytest-timeout==1.2.0 requests==2.10.0 sphinx diff --git a/tests/conftest.py b/tests/conftest.py index d3c238f55..4295d53f1 100644 --- a/tests/conftest.py +++ b/tests/conftest.py @@ -1,53 +1,45 @@ +# ================================================================= +# +# Authors: Ricardo Garcia Silva +# +# Copyright (c) 2016 Ricardo Garcia Silva +# +# Permission is hereby granted, free of charge, to any person +# obtaining a copy of this software and associated documentation +# files (the "Software"), to deal in the Software without +# restriction, including without limitation the rights to use, +# copy, modify, merge, publish, distribute, sublicense, and/or sell +# copies of the Software, and to permit persons to whom the +# Software is furnished to do so, subject to the following +# conditions: +# +# The above copyright notice and this permission notice shall be +# included in all copies or substantial portions of the Software. +# +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +# EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES +# OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +# NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT +# HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, +# WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR +# OTHER DEALINGS IN THE SOFTWARE. +# +# ================================================================= """pytest configuration file""" -from configparser import ConfigParser -import glob -import os -import subprocess -import shlex -import time - import pytest -from pycsw.core import admin -from pycsw.core.config import StaticContext - -TESTS_ROOT = os.path.dirname(os.path.abspath(__file__)) - - -# This dict holds the names of the suites that are available for functional -# testing and also if they use a custom database or not. If a suite has a -# custom database, then a new db is created and possibly loaded with the suite's -# test data (if there is any test data). If a suite does not use a custom db, -# then it means that its tests it will have a database loaded with records -# from the CITE suite -# If you omit the "has_own_db" key from a suite's dict, it is assumed that -# the value is False -FUNCTIONAL_SUITES = { - "apiso": {"has_own_db": True}, - "apiso-inspire": {}, - "atom": {}, - "cite": {"has_own_db": True}, - "csw30": {}, - "default": {}, - "dif": {}, - "ebrim": {}, - "fgdc": {}, - "gm03": {}, - "harvesting": {"has_own_db": True}, - "manager": {"has_own_db": True}, - "oaipmh": {}, - "repofilter": {}, - "sru": {}, - "utf-8": {}, -} - def pytest_configure(config): config.addinivalue_line( "markers", "functional: Run only functional tests" ) + config.addinivalue_line( + "markers", + "unit: Run only unit tests" + ) def pytest_addoption(parser): @@ -69,344 +61,14 @@ def pytest_addoption(parser): help="Password to use for creating and accessing local postgres " "databases used for functional tests." ) - for suite_name in FUNCTIONAL_SUITES.keys(): - parser.addoption( - "--server-url-{0}-suite".format(suite_name), - help="URL to perform functional tests for the {0!r} suite. If not " - "specified, a local pycsw instance is spawned, configured " - "with the {0!r} suite settings and used " - "in tests.".format(suite_name) - ) - - -def pytest_generate_tests(metafunc): - """Parametrize tests programatically. - - Check pytest's documentation for information on this function: - - http://pytest.org/latest/parametrize.html#basic-pytest-generate-tests-example - - """ - - test_name_get_matches = ( - metafunc.function.__name__ == "test_get_requests") - test_name_post_matches = ( - metafunc.function.__name__ == "test_post_requests") - for suite_name in FUNCTIONAL_SUITES.keys(): - safe_suite_name = _get_suite_safe_name(suite_name) - fixture_name = "server_{0}_suite".format(safe_suite_name) - if fixture_name in metafunc.fixturenames and test_name_get_matches: - test_data, test_names = _configure_functional_get_tests(suite_name) - metafunc.parametrize( - [ - "{0}_test_request_parameters".format(safe_suite_name), - "{0}_expected_get_result".format(safe_suite_name) - ], - test_data, - ids=test_names, - scope="session" - ) - break - elif fixture_name in metafunc.fixturenames and test_name_post_matches: - test_data, test_names = _configure_functional_post_tests( - suite_name) - metafunc.parametrize( - [ - "{0}_test_request".format(safe_suite_name), - "{0}_expected_post_result".format(safe_suite_name) - ], - test_data, - ids=test_names, - scope="session" - ) - break - - -@pytest.fixture(scope="session") -def server_apiso_suite(request, tmpdir_factory): - return _get_server_with_config(request, "apiso", - tmpdir_factory, 8010) - - -@pytest.fixture(scope="session") -def server_apiso_inspire_suite(request, tmpdir_factory): - return _get_server_with_config(request, "apiso-inspire", - tmpdir_factory, 8011) - - -@pytest.fixture(scope="session") -def server_atom_suite(request, tmpdir_factory): - return _get_server_with_config(request, "atom", - tmpdir_factory, 8012) - - -@pytest.fixture(scope="session") -def server_cite_suite(request, tmpdir_factory): - return _get_server_with_config(request, "cite", - tmpdir_factory, 8013) - - -@pytest.fixture(scope="session") -def server_csw30_suite(request, tmpdir_factory): - return _get_server_with_config(request, "csw30", - tmpdir_factory, 8014) - - -@pytest.fixture(scope="session") -def server_default_suite(request, tmpdir_factory): - return _get_server_with_config(request, "default", - tmpdir_factory, 8015) - - -@pytest.fixture(scope="session") -def server_dif_suite(request, tmpdir_factory): - return _get_server_with_config(request, "dif", - tmpdir_factory, 8016) - - -@pytest.fixture(scope="session") -def server_ebrim_suite(request, tmpdir_factory): - return _get_server_with_config(request, "ebrim", - tmpdir_factory, 8017) - - -@pytest.fixture(scope="session") -def server_fgdc_suite(request, tmpdir_factory): - return _get_server_with_config(request, "fgdc", - tmpdir_factory, 8018) - - -@pytest.fixture(scope="session") -def server_gm03_suite(request, tmpdir_factory): - return _get_server_with_config(request, "gm03", - tmpdir_factory, 8019) - - -@pytest.fixture(scope="session") -def server_harvesting_suite(request, tmpdir_factory): - return _get_server_with_config(request, "harvesting", - tmpdir_factory, 8020) - - -@pytest.fixture(scope="session") -def server_manager_suite(request, tmpdir_factory): - return _get_server_with_config(request, "manager", - tmpdir_factory, 8021) - - -@pytest.fixture(scope="session") -def server_oaipmh_suite(request, tmpdir_factory): - return _get_server_with_config(request, "oaipmh", - tmpdir_factory, 8022) - - -@pytest.fixture(scope="session") -def server_repofilter_suite(request, tmpdir_factory): - return _get_server_with_config(request, "repofilter", - tmpdir_factory, 8023) - - -@pytest.fixture(scope="session") -def server_sru_suite(request, tmpdir_factory): - return _get_server_with_config(request, "sru", - tmpdir_factory, 8024) + parser.addoption( + "--pycsw-loglevel", + default="warning", + help="Log level for the pycsw server." + ) @pytest.fixture(scope="session") -def server_utf_8_suite(request, tmpdir_factory): - return _get_server_with_config(request, "utf-8", - tmpdir_factory, 8025) - - -def _configure_functional_post_tests(suite_name): - test_data = [] - test_names = [] - suite_dir = os.path.join(TESTS_ROOT, "suites", suite_name) - post_requests_dir = os.path.join(suite_dir, "post") - expected_dir = os.path.join(suite_dir, "expected") - for item in glob.iglob(os.path.join(post_requests_dir, "*")): - test_id = os.path.splitext(os.path.basename(item))[0] - expected = os.path.join(expected_dir,"post_{0}.xml".format(test_id)) - if os.path.isfile(item) and os.path.isfile(expected): - test_data.append((item, expected)) - test_names.append("{0}_{1}".format(suite_name, test_id)) - return test_data, test_names - - -def _configure_functional_get_tests(suite_name): - test_data = [] - test_names = [] - request_file_path = os.path.join(TESTS_ROOT, "suites", suite_name, - "get", "requests.txt") - expected_dir = os.path.join(TESTS_ROOT, "suites", suite_name, "expected") - try: - with open(request_file_path, encoding="utf-8") as fh: - for line in fh: - test_name, sep, test_params = line.partition(",") - expected = os.path.join(expected_dir, - "get_{0}.xml".format(test_name)) - if os.path.isfile(expected): - test_data.append((test_params.strip(), expected)) - test_names.append("{0}_{1}".format(suite_name, test_name)) - except FileNotFoundError: - pass # this suite does not have GET tests - return test_data, test_names - - -def _get_suite_safe_name(suite_name): - return suite_name.replace("-", "_") - - -def _get_server_with_config(request, suite_name, tmpdir_factory, port_number): - """Provide a pycsw server to execute tests for the input suite name - - This function introspects the test context. If tests are to be run against - a user-provided url, it does nothing. If there is no user-provided url, - a new pycsw instance is created locally and its URL is returned. - - Parameters - ---------- - request: FixtureRequest - Pytest's FixtureRequest object, holding information about the test - context - suite_name: str - The safe name of the current suite - tmpdir_factory: TempDirFactory - Pytest's TempDirFactory fixture object, that is used to create - temporary directories for tests - port_number: int - Port where a local server shall be started for the input suite_name - - Returns - ------- - str - The pycsw URL that can be used in tests for the input suite_name - - """ - - url = request.config.getoption("--server-url-{0}-suite".format(suite_name)) - if url is None: - print("Initializing server for {0!r} suite at port " - "{1!r}...".format(suite_name, port_number)) - original_config_path = os.path.join(TESTS_ROOT, "suites", - suite_name, "default.cfg") - config = ConfigParser() - config.read(original_config_path) - #safe_suite_name = _get_suite_safe_name(suite_name) - test_temp_directory = tmpdir_factory.mktemp(suite_name, - numbered=True) - db_url = _initialize_database( - request, suite_name, test_temp_directory, - config.get("repository", "table"), - os.path.join(TESTS_ROOT, "suites", suite_name, "data") - ) - # now we can change the config as needed - #server_url = "http://localhost:{0}".format(port_number) - #config.set("server", "url", server_url) - config.set("server", "loglevel", "DEBUG") - config.set("server", "logfile", os.path.join(test_temp_directory, - "pycsw.log")) - config.set("repository", "database", db_url) - new_config = test_temp_directory.join("default.cfg") - fh = new_config.open("w") - config.write(fh) - fh.close() - server_url = _start_local_server(request, str(new_config), port_number) - else: # use the provided url and assume the config has been set - server_url = url - return server_url - - -def _initialize_database(request, suite_name, test_dir, table_name, data_path): - """Initialize local database for functional tests. - - This function will: - - * Configure the correct database url - * Create the database - * Load any test data that the suite may require - - Parameters - ---------- - request: FixtureRequest - Pytest's FixtureRequest object, holding information about the test - context - suite_name: str - The name of the current suite - test_dir: str - Full path to the temporary directory being used in the suite's tests - data_path: str - Full path to a directory that has test data to be loaded up into - the suite's database - - Returns - ------- - str - The SQLAlchemy engine URL for the database. - - """ - - db_type = request.config.getoption("--database-backend") - if db_type == "sqlite": - db_url = "sqlite:///{0}/records.db".format(test_dir) - elif db_type == "postgres": - user = request.config.getoption("--database-user-postgres") - password = request.config.getoption("--database-password-postgres") - db_url = "postgres://{0}:{1}@localhost/pycsw_test_{2}".format( - user, password, suite_name) - else: - raise NotImplementedError - print("Setting up {0!r} database for suite {1!r}...".format(db_type, - suite_name)) - admin.setup_db(db_url, table_name, test_dir) - print("Loading database data...") - if not FUNCTIONAL_SUITES[suite_name].get("has_own_db", False): - print("Loading CITE data into database...") - cite_data_dir = os.path.join(TESTS_ROOT, "suites", "cite", "data") - data_path = cite_data_dir - admin.load_records(StaticContext(), db_url, table_name, data_path) - return db_url - - -def _start_local_server(request, config_path, port_number): - """Start a local pycsw instance - - This function starts a new pycsw instance and also - registers a pytest finalizer function that takes care of stopping the - server when the tests are finished. - - Parameters - ---------- - - request: FixtureRequest - Pytest's FixtureRequest object, holding information about the test - context - config_path: str - Full path to pycsw's configuration file - port_number: int - Port where the server will be listening - - Returns - ------- - str - The URL of the newly started pycsw instance - - """ - - url = "http://localhost:{0}".format(port_number) - print("Starting a local server at {0}...".format(url)) - command = "python pycsw/wsgi.py {0}".format(port_number) - working_dir = os.path.dirname(TESTS_ROOT) - env = os.environ.copy() - env["PYCSW_CONFIG"] = config_path - pycsw_process = subprocess.Popen(shlex.split(command), cwd=working_dir, - stdout=subprocess.PIPE, - env=env) - time.sleep(2) # give the external process some time to start - - def finalizer(): - pycsw_process.terminate() - pycsw_process.wait() +def log_level(request): + return request.config.getoption("pycsw_loglevel").upper() - request.addfinalizer(finalizer) - return url diff --git a/tests/functionaltests/conftest.py b/tests/functionaltests/conftest.py new file mode 100644 index 000000000..addc7e035 --- /dev/null +++ b/tests/functionaltests/conftest.py @@ -0,0 +1,277 @@ +# ================================================================= +# +# Authors: Ricardo Garcia Silva +# +# Copyright (c) 2016 Ricardo Garcia Silva +# +# Permission is hereby granted, free of charge, to any person +# obtaining a copy of this software and associated documentation +# files (the "Software"), to deal in the Software without +# restriction, including without limitation the rights to use, +# copy, modify, merge, publish, distribute, sublicense, and/or sell +# copies of the Software, and to permit persons to whom the +# Software is furnished to do so, subject to the following +# conditions: +# +# The above copyright notice and this permission notice shall be +# included in all copies or substantial portions of the Software. +# +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +# EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES +# OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +# NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT +# HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, +# WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR +# OTHER DEALINGS IN THE SOFTWARE. +# +# ================================================================= +"""pytest configuration file for functional tests""" + +import codecs +from collections import namedtuple +import os +from six.moves import configparser + +import pytest + +from pycsw.core import admin +from pycsw.core.config import StaticContext + +TESTS_ROOT = os.path.dirname(os.path.dirname(os.path.abspath(__file__))) + + +SuiteDirs = namedtuple("SuiteDirs", [ + "get_tests_dir", + "post_tests_dir", + "data_tests_dir", + "expected_results_dir", +]) + + + +def pytest_generate_tests(metafunc): + """Parametrize tests programatically. + + Check pytest's documentation for information on this function: + + http://pytest.org/latest/parametrize.html#basic-pytest-generate-tests-example + + """ + + global TESTS_ROOT + if metafunc.function.__name__ == "test_suites": + suites_root_dir = os.path.join(TESTS_ROOT, "functionaltests", "suites") + suite_names = os.listdir(suites_root_dir) + arg_values = [] + test_ids = [] + for suite in suite_names: + normalize_ids = True if suite in ("harvesting", + "manager") else False + suite_dir = os.path.join(suites_root_dir, suite) + config_path = os.path.join(suite_dir, "default.cfg") + if not os.path.isfile(config_path): + print("Directory {0!r} does not have a suite " + "configuration file".format(suite_dir)) + continue + else: + print("Generating tests for suite {0!r}".format(suite)) + suite_dirs = _get_suite_dirs(suite) + if suite_dirs.post_tests_dir is not None: + post_argvalues, post_ids = _get_post_parameters( + post_tests_dir=suite_dirs.post_tests_dir, + expected_tests_dir=suite_dirs.expected_results_dir, + config_path=config_path, + suite_name=suite, + normalize_ids=normalize_ids + ) + arg_values.extend(post_argvalues) + test_ids.extend(post_ids) + if suite_dirs.get_tests_dir is not None: + get_argvalues, get_ids = _get_get_parameters( + get_tests_dir=suite_dirs.get_tests_dir, + expected_tests_dir=suite_dirs.expected_results_dir, + config_path=config_path, + suite_name=suite, + normalize_ids=normalize_ids + ) + arg_values.extend(get_argvalues) + test_ids.extend(get_ids) + metafunc.parametrize( + argnames=["configuration", "request_method", "request_data", + "expected_result", "normalize_identifier_fields"], + argvalues=arg_values, + indirect=["configuration"], + ids=test_ids, + ) + + +def _get_get_parameters(get_tests_dir, expected_tests_dir, config_path, + suite_name, normalize_ids): + method = "GET" + test_argvalues = [] + test_ids = [] + requests_file_path = os.path.join(get_tests_dir, "requests.txt") + with open(requests_file_path) as fh: + for line in fh: + test_name, test_params = [i.strip() for i in + line.partition(",")[::2]] + expected_result_path = os.path.join( + expected_tests_dir, + "{method}_{name}.xml".format(method=method.lower(), + name=test_name) + ) + test_argvalues.append( + (config_path, method, test_params, expected_result_path, + normalize_ids) + ) + test_ids.append( + "{suite}_{http_method}_{name}".format(suite=suite_name, + http_method=method.lower(), name=test_name) + ) + return test_argvalues, test_ids + + +def _get_post_parameters(post_tests_dir, expected_tests_dir, config_path, + suite_name, normalize_ids): + method = "POST" + test_argvalues = [] + test_ids = [] + # we are sorting the directory contents because the + # `harvesting` suite requires tests to be executed in alphabetical order + directory_contents = sorted(os.listdir(post_tests_dir)) + for request_file_name in directory_contents: + request_path = os.path.join(post_tests_dir, + request_file_name) + expected_result_path = os.path.join( + expected_tests_dir, + "{method}_{filename}".format( + method=method.lower(), + filename=request_file_name + ) + ) + # TODO - make sure the expected result path exists + test_argvalues.append( + (config_path, method, request_path, + expected_result_path, normalize_ids) + ) + test_ids.append( + "{suite}_{http_method}_{file_name}".format( + suite=suite_name, + http_method=method.lower(), + file_name=os.path.splitext( + request_file_name)[0]) + ) + return test_argvalues, test_ids + + +@pytest.fixture() +def configuration(request, tests_directory, log_level): + """Return a SafeConfigParser with the configuration for use in tests. + + The config_parser is read from the ordiginal location and then adjusted + to match the test's temporary directory. The repository will also be + created and populated if it is not already present in the tests_directory. + + """ + + config_path = request.param + config = configparser.SafeConfigParser() + with codecs.open(config_path, encoding="utf-8") as fh: + config.readfp(fh) + suite_name = config_path.split(os.path.sep)[-2] + suite_dirs = _get_suite_dirs(suite_name) + data_dir = suite_dirs.data_tests_dir + if data_dir is not None: # suite has its own database + repository_url = _get_repository_url(request, suite_name, + tests_directory) + else: # suite uses the CITE database + data_dir = _get_cite_suite_data_dir() + repository_url = _get_repository_url(request, "cite", tests_directory) + if not _repository_exists(repository_url): + _initialize_database(repository_url=repository_url, + table_name=config.get("repository", "table"), + data_dir=data_dir, + test_dir=tests_directory) + config.set("server", "loglevel", log_level) + config.set("server", "logfile", "") + config.set("repository", "database", repository_url) + return config + + +@pytest.fixture(scope="session", name="tests_directory") +def fixture_tests_directory(tmpdir_factory): + tests_dir = tmpdir_factory.mktemp("functional_tests") + return tests_dir + + +def _get_suite_dirs(suite_name): + """Return a tuple with suite dirs: get, post, data, expected""" + global TESTS_ROOT + suites_root_dir = os.path.join(TESTS_ROOT, "functionaltests", "suites") + suite_dir = os.path.join(suites_root_dir, suite_name) + data_tests_dir = os.path.join(suite_dir, "data") + post_tests_dir = os.path.join(suite_dir, "post") + get_tests_dir = os.path.join(suite_dir, "get") + expected_results_dir = os.path.join(suite_dir, "expected") + data_dir = data_tests_dir if os.path.isdir(data_tests_dir) else None + posts_dir = post_tests_dir if os.path.isdir(post_tests_dir) else None + gets_dir = get_tests_dir if os.path.isdir(get_tests_dir) else None + expected_dir = (expected_results_dir if os.path.isdir( + expected_results_dir) else None) + return SuiteDirs(get_tests_dir=gets_dir, + post_tests_dir=posts_dir, + data_tests_dir=data_dir, + expected_results_dir=expected_dir) + + +def _get_cite_suite_data_dir(): + global TESTS_ROOT + suites_root_dir = os.path.join(TESTS_ROOT, "functionaltests", "suites") + suite_dir = os.path.join(suites_root_dir, "cite") + data_tests_dir = os.path.join(suite_dir, "data") + data_dir = data_tests_dir if os.path.isdir(data_tests_dir) else None + return data_dir + + +def _repository_exists(repository_url): + """Test if the database already exists""" + if repository_url.startswith("sqlite"): + repository_path = repository_url.replace("sqlite:///", "") + result = os.path.isfile(repository_path) + else: + raise NotImplementedError + return result + + +def _get_repository_url(request, suite_name, test_dir): + db_type = request.config.getoption("--database-backend") + if db_type == "sqlite": + repository_url = "sqlite:///{test_dir}/{suite}.db".format( + test_dir=test_dir, suite=suite_name) + elif db_type == "postgres": + user = request.config.getoption("--database-user-postgres") + password = request.config.getoption("--database-password-postgres") + repository_url = ("postgres://{user}:{password}@localhost/" + "pycsw_test_{suite}".format(user=user, + password=password, + suite=suite_name)) + else: + raise NotImplementedError + return repository_url + + +def _initialize_database(repository_url, table_name, data_dir, test_dir): + """Initialize local database for tests. + + This function will create the database and load any test data that + the suite may require. + + """ + + print("Setting up {0!r} repository...".format(repository_url)) + admin.setup_db(repository_url, table_name, test_dir) + if len(os.listdir(data_dir)) > 0: + print("Loading database data...") + admin.load_records(StaticContext(), repository_url, table_name, + data_dir) diff --git a/tests/functionaltests/test_suites_functional.py b/tests/functionaltests/test_suites_functional.py new file mode 100644 index 000000000..3d93b20c6 --- /dev/null +++ b/tests/functionaltests/test_suites_functional.py @@ -0,0 +1,267 @@ +# ================================================================= +# +# Authors: Tom Kralidis +# Ricardo Garcia Silva +# +# Copyright (c) 2016 Tom Kralidis +# Copyright (c) 2016 Ricardo Garcia Silva +# +# Permission is hereby granted, free of charge, to any person +# obtaining a copy of this software and associated documentation +# files (the "Software"), to deal in the Software without +# restriction, including without limitation the rights to use, +# copy, modify, merge, publish, distribute, sublicense, and/or sell +# copies of the Software, and to permit persons to whom the +# Software is furnished to do so, subject to the following +# conditions: +# +# The above copyright notice and this permission notice shall be +# included in all copies or substantial portions of the Software. +# +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +# EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES +# OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +# NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT +# HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, +# WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR +# OTHER DEALINGS IN THE SOFTWARE. +# +# ================================================================= +"""Functional tests for several test suites""" + +import codecs +from difflib import SequenceMatcher +from io import BytesIO +import json +import re +import wsgiref.util + +from lxml import etree +from lxml import objectify +import pytest + +from pycsw import server + +pytestmark = pytest.mark.functional + + +def test_suites(configuration, request_method, request_data, expected_result, + normalize_identifier_fields): + """ + Test suites. + + Parameters + ---------- + configuration: SafeConfigParser + The configuration to use with the pycsw server instance under test + request_method: str + The HTTP method of the request. Either GET or POST. + request_data: str + Either the path to the request file, for POST requests or the request + parameters for GET requests + expected_result: str + Path to the file that holds the expected result + normalize_identifier_fields: bool + Whether to normalize the identifier fields in responses. This + parameter is used only in the 'harvesting' and 'manager' suites + + """ + + request_environment = { + "REQUEST_METHOD": request_method.upper(), + "QUERY_STRING": "", + "REMOTE_ADDR": "127.0.0.1" + } + if request_method == "POST": + print("request_path: {0}".format(request_data)) + request_buffer = BytesIO() + with open(request_data) as fh: + contents = fh.read() + print("Request contents: {}".format(contents)) + request_buffer.write(contents) + request_environment["CONTENT_LENGTH"] = request_buffer.tell() + request_buffer.seek(0) + request_environment["wsgi.input"] = request_buffer + else: + print("Request contents: {0}".format(request_data)) + request_environment["QUERY_STRING"] = request_data + wsgiref.util.setup_testing_defaults(request_environment) + pycsw_server = server.Csw(rtconfig=configuration, env=request_environment) + status, contents = pycsw_server.dispatch_wsgi() + with codecs.open(expected_result, encoding="utf-8") as fh: + expected = fh.read() + _compare_response(contents, expected, + normalize_id_fields=normalize_identifier_fields) + + +def _compare_response(response, expected, normalize_id_fields): + normalized_result = _normalize(response, force_id_mask=normalize_id_fields) + try: + matches_expected = _test_xml_result(normalized_result, expected) + except etree.XMLSyntaxError: + # the file is either not XML (perhaps JSON?) or malformed + matches_expected = _test_json_result(normalized_result, expected) + except etree.C14NError: + print("XML canonicalization has failed. Trying to compare result " + "with expected using difflib") + matches_expected = _test_xml_diff(normalized_result, expected) + if not matches_expected: + print("expected: {0}".format(expected)) + print("response: {0}".format(normalized_result)) + assert matches_expected + + +def _test_xml_result(result, expected, encoding="utf-8"): + """Compare the XML test results with an expected value. + + This function compares the test result with the expected values by + performing XML canonicalization (c14n)[1]_. + + Parameters + ---------- + result: str + The result of running the test. + expected: str + The expected outcome. + + Returns + ------- + bool + Whether the result matches the expectations or not. + + Raises + ------ + etree.XMLSyntaxError + If any of the input parameters is not a valid XMl. + etree.C14NError + If any of the input parameters cannot be canonicalized. This may + happen if there are relative namespace URIs in any of the XML + documents, as they are explicitly not allowed when doing XML c14n + + References + ---------- + .. [1] http://www.w3.org/TR/xml-c14n + + """ + + result_element = etree.fromstring(result) + expected_element = etree.fromstring(expected.encode(encoding)) + result_buffer = BytesIO() + result_tree = result_element.getroottree() + objectify.deannotate(result_tree, cleanup_namespaces=True) + result_tree.write_c14n(result_buffer) + expected_buffer = BytesIO() + expected_tree = expected_element.getroottree() + objectify.deannotate(expected_tree, cleanup_namespaces=True) + expected_tree.write_c14n(expected_buffer) + matches = result_buffer.getvalue() == expected_buffer.getvalue() + return matches + + +def _test_json_result(result, expected, encoding="utf-8"): + """Compare the JSON test results with an expected value. + + Parameters + ---------- + result: str + The result of running the test. + expected: str + The expected outcome. + + Returns + ------- + bool + Whether the result matches the expectations or not. + + """ + + result_dict = json.loads(result, encoding=encoding) + expected_dict = json.loads(expected, encoding=encoding) + return result_dict == expected_dict + + +def _test_xml_diff(result, expected): + sequence_matcher = SequenceMatcher(None, result, expected) + ratio = sequence_matcher.ratio() + return ratio == pytest.approx(1.0) + + +def _normalize(sresult, force_id_mask=False): + """Replace time, updateSequence and version specific values with generic + values""" + + # XML responses + version = re.search(r'', sresult) + updatesequence = re.search(r'updateSequence="(\S+)"', sresult) + timestamp = re.search(r'timestamp="(.*)"', sresult) + timestamp2 = re.search(r'timeStamp="(.*)"', sresult) + timestamp3 = re.search(r'(.*)', sresult) + timestamp4 = re.search(r'(.*)', sresult) + zrhost = re.search(r'(.*)', sresult) + zrport = re.search(r'(.*)', sresult) + elapsed_time = re.search(r'elapsedTime="(.*)"', sresult) + expires = re.search(r'expires="(.*?)"', sresult) + atom_updated = re.findall(r'(.*)', sresult) + + if version: + sresult = sresult.replace(version.group(0), r'') + if updatesequence: + sresult = sresult.replace(updatesequence.group(0), + r'updateSequence="PYCSW_UPDATESEQUENCE"') + if timestamp: + sresult = sresult.replace(timestamp.group(0), + r'timestamp="PYCSW_TIMESTAMP"') + if timestamp2: + sresult = sresult.replace(timestamp2.group(0), + r'timeStamp="PYCSW_TIMESTAMP"') + if timestamp3: + sresult = sresult.replace(timestamp3.group(0), + r'PYCSW_TIMESTAMP') + if timestamp4: + sresult = sresult.replace(timestamp4.group(0), + r'PYCSW_TIMESTAMP') + if zrport: + sresult = sresult.replace(zrport.group(0), + r'PYCSW_PORT') + if zrhost: + sresult = sresult.replace(zrhost.group(0), + r'PYCSW_HOST') + if elapsed_time: + sresult = sresult.replace(elapsed_time.group(0), + r'elapsedTime="PYCSW_ELAPSED_TIME"') + if expires: + sresult = sresult.replace(expires.group(0), + r'expires="PYCSW_EXPIRES"') + for au in atom_updated: + sresult = sresult.replace(au, r'PYCSW_TIMESTAMP') + + # for csw:HarvestResponse documents, mask identifiers + # which are dynamically generated for OWS endpoints + if sresult.find(r'HarvestResponse') != -1: + identifier = re.findall(r'(\S+)', + sresult) + for i in identifier: + sresult = sresult.replace(i, r'PYCSW_IDENTIFIER') + + # JSON responses + timestamp = re.search(r'"@timestamp": "(.*?)"', sresult) + + if timestamp: + sresult = sresult.replace(timestamp.group(0), + r'"@timestamp": "PYCSW_TIMESTAMP"') + + # harvesting-based GetRecords/GetRecordById responses + if force_id_mask: + dcid = re.findall(r'(urn:uuid.*)', sresult) + isoid = re.findall(r'id="(urn:uuid.*)"', sresult) + isoid2 = re.findall(r'(urn:uuid.*) -# Ricardo Garcia Silva -# -# Copyright (c) 2016 Tom Kralidis -# Copyright (c) 2016 Ricardo Garcia Silva -# -# Permission is hereby granted, free of charge, to any person -# obtaining a copy of this software and associated documentation -# files (the "Software"), to deal in the Software without -# restriction, including without limitation the rights to use, -# copy, modify, merge, publish, distribute, sublicense, and/or sell -# copies of the Software, and to permit persons to whom the -# Software is furnished to do so, subject to the following -# conditions: -# -# The above copyright notice and this permission notice shall be -# included in all copies or substantial portions of the Software. -# -# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -# EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES -# OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -# NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT -# HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, -# WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING -# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR -# OTHER DEALINGS IN THE SOFTWARE. -# -# ================================================================= -"""Functional tests for pycsw. - -These tests are based on the execution of the requests defined in the suites -under the `suites` directory. - -""" - -from io import BytesIO -import json -from lxml import etree -from lxml import objectify -import re -from urllib.parse import parse_qs -from urllib.parse import unquote - -import pytest -import requests - -ENCODING = "utf-8" - -pytestmark = pytest.mark.functional - - -class TestApisoSuite(object): - - def test_post_requests(self, - server_apiso_suite, - apiso_test_request, - apiso_expected_post_result): - _test_post_request(server_apiso_suite, - apiso_test_request, - apiso_expected_post_result) - - -class TestApisoInspireSuite(object): - - def test_get_requests(self, - server_apiso_inspire_suite, - apiso_inspire_test_request_parameters, - apiso_inspire_expected_get_result): - _test_get_request(server_apiso_inspire_suite, - apiso_inspire_test_request_parameters, - apiso_inspire_expected_get_result) - - -class TestAtomSuite(object): - - def test_post_requests(self, - server_atom_suite, - atom_test_request, - atom_expected_post_result): - _test_post_request(server_atom_suite, - atom_test_request, - atom_expected_post_result) - - def test_get_requests(self, server_atom_suite, - atom_test_request_parameters, - atom_expected_get_result): - _test_get_request(server_atom_suite, - atom_test_request_parameters, - atom_expected_get_result) - - -class TestCiteSuite(object): - - def test_post_requests(self, server_cite_suite, cite_test_request, - cite_expected_post_result): - _test_post_request(server_cite_suite, cite_test_request, - cite_expected_post_result) - - def test_get_requests(self, server_cite_suite, - cite_test_request_parameters, - cite_expected_get_result): - print("locals: {0}".format(locals())) - _test_get_request(server_cite_suite, cite_test_request_parameters, - cite_expected_get_result) - - -class TestCsw30Suite(object): - - def test_post_requests(self, - server_csw30_suite, - csw30_test_request, - csw30_expected_post_result): - _test_post_request(server_csw30_suite, - csw30_test_request, - csw30_expected_post_result) - - def test_get_requests(self, server_csw30_suite, - csw30_test_request_parameters, - csw30_expected_get_result): - _test_get_request(server_csw30_suite, - csw30_test_request_parameters, - csw30_expected_get_result) - - -class TestDefaultSuite(object): - - def test_post_requests(self, - server_default_suite, - default_test_request, - default_expected_post_result): - _test_post_request(server_default_suite, - default_test_request, - default_expected_post_result) - - def test_get_requests(self, - server_default_suite, - default_test_request_parameters, - default_expected_get_result): - _test_get_request(server_default_suite, - default_test_request_parameters, - default_expected_get_result) - - -class TestDifSuite(object): - - def test_post_requests(self, - server_dif_suite, - dif_test_request, - dif_expected_post_result): - _test_post_request(server_dif_suite, - dif_test_request, - dif_expected_post_result) - - -class TestEbrimSuite(object): - - def test_post_requests(self, server_ebrim_suite, - ebrim_test_request, - ebrim_expected_post_result): - _test_post_request(server_ebrim_suite, - ebrim_test_request, - ebrim_expected_post_result) - - -class TestFgdcSuite(object): - - def test_post_requests(self, - server_fgdc_suite, - fgdc_test_request, - fgdc_expected_post_result): - _test_post_request(server_fgdc_suite, - fgdc_test_request, - fgdc_expected_post_result) - - -class TestGm03Suite(object): - - def test_post_requests(self, - server_gm03_suite, - gm03_test_request, - gm03_expected_post_result): - _test_post_request(server_gm03_suite, - gm03_test_request, - gm03_expected_post_result) - - -class TestHarvestingSuite(object): - - def test_post_requests(self, - server_harvesting_suite, - harvesting_test_request, - harvesting_expected_post_result): - _test_post_request(server_harvesting_suite, - harvesting_test_request, - harvesting_expected_post_result) - - def test_get_requests(self, - server_harvesting_suite, - harvesting_test_request_parameters, - harvesting_expected_get_result): - _test_get_request(server_harvesting_suite, - harvesting_test_request_parameters, - harvesting_expected_get_result) - - -class TestManagerSuite(object): - - def test_post_requests(self, - server_manager_suite, - manager_test_request, - manager_expected_post_result): - _test_post_request(server_manager_suite, - manager_test_request, - manager_expected_post_result) - - -class TestOaipmhSuite(object): - - def test_get_requests(self, server_oaipmh_suite, - oaipmh_test_request_parameters, - oaipmh_expected_get_result): - _test_get_request(server_oaipmh_suite, - oaipmh_test_request_parameters, - oaipmh_expected_get_result) - - -class TestRepofilterSuite(object): - - def test_post_requests(self, - server_repofilter_suite, - repofilter_test_request, - repofilter_expected_post_result): - _test_post_request(server_repofilter_suite, - repofilter_test_request, - repofilter_expected_post_result) - - -class TestSruSuite(object): - - def test_get_requests(self, - server_sru_suite, - sru_test_request_parameters, - sru_expected_get_result): - _test_get_request(server_sru_suite, - sru_test_request_parameters, - sru_expected_get_result) - -class TestUtf8Suite(object): - - def test_post_requests(self, - server_utf_8_suite, - utf_8_test_request, - utf_8_expected_post_result): - _test_post_request(server_utf_8_suite, - utf_8_test_request, - utf_8_expected_post_result) - - -def _test_post_request(pycsw_server_url, test_request, expected_result): - with open(test_request, encoding=ENCODING) as request_fh: - request_data = request_fh.read() - response = requests.post(pycsw_server_url, - data=bytes(request_data, ENCODING)) - with open(expected_result, encoding=ENCODING) as expected_fh: - expected = expected_fh.read() - _compare_response(response, expected) - - -def _test_get_request(pycsw_server_url, parameters, expected_result): - print("**********************") - print("EXPECTED_RESULT: {0}".format(expected_result)) - print("PARAMETERS: {0}".format(parameters)) - print("**********************") - with open(expected_result, encoding=ENCODING) as expected_fh: - expected = expected_fh.read() - #payload = parse_qs(bytes(parameters, ENCODING)) - #payload = parse_qs(parameters) - payload = {} - for kvp in parameters.split("&"): - print("kvp: {}".format(kvp)) - parts = kvp.split("=") - payload[parts[0].lower()] = unquote(parts[1]) if len(parts) > 1 else "" - #payload[parts[0].lower()] = parts[1] if len(parts) > 1 else "" - print("payload: {0}".format(payload)) - request_headers = {} - if "outputformat" in payload.keys(): - request_headers.setdefault("Accept", payload["outputformat"]) - response = requests.get(pycsw_server_url, params=payload, - headers=request_headers) - _compare_response(response, expected) - - -def _compare_response(response, expected): - response.encoding = ENCODING - response_data = response.text - normalized_result = _normalize(response_data, force_id_mask=False) - try: - matches_expected = _test_xml_result(normalized_result, expected) - except etree.XMLSyntaxError: - # the file is either not XML (perhaps JSON?) or malformed - matches_expected = _test_json_result(normalized_result, expected) - if not matches_expected: - print("expected: {0}".format(expected)) - print("response: {0}".format(normalized_result)) - assert matches_expected - - -def _test_xml_result(result, expected): - """Compare the XML test results with an expected value. - - This function compares the test result with the expected values by - performing XML canonicalization (c14n)[1]_. - - Parameters - ---------- - result: str - The result of running the test. - expected: str - The expected outcome. - - Returns - ------- - bool - Whether the result matches the expectations or not. - - Raises - ------ - etree.XMLSyntaxError - If any of the input parameters is not a valid XMl. - etree.C14NError - If any of the input parameters cannot be canonicalized. This may - happen if there are relative namespace URIs in any of the XML - documents, as they are explicitly not allowed when doing XML c14n - - References - ---------- - .. [1] http://www.w3.org/TR/xml-c14n - - """ - - result_element = etree.fromstring(result.encode(ENCODING)) - expected_element = etree.fromstring(expected.encode(ENCODING)) - result_buffer = BytesIO() - result_tree = result_element.getroottree() - objectify.deannotate(result_tree, cleanup_namespaces=True) - result_tree.write_c14n(result_buffer) - expected_buffer = BytesIO() - expected_tree = expected_element.getroottree() - objectify.deannotate(expected_tree, cleanup_namespaces=True) - expected_tree.write_c14n(expected_buffer) - matches = result_buffer.getvalue() == expected_buffer.getvalue() - return matches - - -def _test_json_result(result, expected): - """Compare the JSON test results with an expected value. - - Parameters - ---------- - result: str - The result of running the test. - expected: str - The expected outcome. - - Returns - ------- - bool - Whether the result matches the expectations or not. - - """ - - result_dict = json.loads(result, encoding=ENCODING) - expected_dict = json.loads(expected, encoding=ENCODING) - return result_dict == expected_dict - - -def _normalize(sresult, force_id_mask=False): - """Replace time, updateSequence and version specific values with generic - values""" - - # XML responses - version = re.search(r'', sresult) - updatesequence = re.search(r'updateSequence="(\S+)"', sresult) - timestamp = re.search(r'timestamp="(.*)"', sresult) - timestamp2 = re.search(r'timeStamp="(.*)"', sresult) - timestamp3 = re.search(r'(.*)', sresult) - timestamp4 = re.search(r'(.*)', sresult) - zrhost = re.search(r'(.*)', sresult) - zrport = re.search(r'(.*)', sresult) - elapsed_time = re.search(r'elapsedTime="(.*)"', sresult) - expires = re.search(r'expires="(.*?)"', sresult) - atom_updated = re.findall(r'(.*)', sresult) - - if version: - sresult = sresult.replace(version.group(0), r'') - if updatesequence: - sresult = sresult.replace(updatesequence.group(0), - r'updateSequence="PYCSW_UPDATESEQUENCE"') - if timestamp: - sresult = sresult.replace(timestamp.group(0), - r'timestamp="PYCSW_TIMESTAMP"') - if timestamp2: - sresult = sresult.replace(timestamp2.group(0), - r'timeStamp="PYCSW_TIMESTAMP"') - if timestamp3: - sresult = sresult.replace(timestamp3.group(0), - r'PYCSW_TIMESTAMP') - if timestamp4: - sresult = sresult.replace(timestamp4.group(0), - r'PYCSW_TIMESTAMP') - if zrport: - sresult = sresult.replace(zrport.group(0), - r'PYCSW_PORT') - if zrhost: - sresult = sresult.replace(zrhost.group(0), - r'PYCSW_HOST') - if elapsed_time: - sresult = sresult.replace(elapsed_time.group(0), - r'elapsedTime="PYCSW_ELAPSED_TIME"') - if expires: - sresult = sresult.replace(expires.group(0), - r'expires="PYCSW_EXPIRES"') - for au in atom_updated: - sresult = sresult.replace(au, r'PYCSW_TIMESTAMP') - - # for csw:HarvestResponse documents, mask identifiers - # which are dynamically generated for OWS endpoints - if sresult.find(r'HarvestResponse') != -1: - identifier = re.findall(r'(\S+)', - sresult) - for i in identifier: - sresult = sresult.replace(i, r'PYCSW_IDENTIFIER') - - # JSON responses - timestamp = re.search(r'"@timestamp": "(.*?)"', sresult) - - if timestamp: - sresult = sresult.replace(timestamp.group(0), - r'"@timestamp": "PYCSW_TIMESTAMP"') - - # harvesting-based GetRecords/GetRecordById responses - if force_id_mask: - dcid = re.findall(r'(urn:uuid.*)', sresult) - isoid = re.findall(r'id="(urn:uuid.*)"', sresult) - isoid2 = re.findall(r'(urn:uuid.*) Date: Wed, 16 Nov 2016 17:47:28 +0000 Subject: [PATCH 044/119] made new copies of the test data files under tests/functionaltests Reorganized the location of test data files. This keeps things a bit cleaner --- .../suites/apiso-inspire/default.cfg | 91 ++ .../expected/get_GetCapabilities-lang.xml | 375 +++++ .../expected/get_GetCapabilities.xml | 375 +++++ .../suites/apiso-inspire/get/requests.txt | 2 + .../suites/apiso/data/3e9a8c05.xml | 248 +++ .../suites/apiso/data/README.txt | 7 + .../T_aerfo_RAS_1991_GR800P001800000012.xml | 37 + .../T_aerfo_RAS_1991_GR800P001800000013.xml | 37 + .../T_aerfo_RAS_1991_GR800P001800000014.xml | 37 + .../T_aerfo_RAS_1991_GR800P001800000015.xml | 37 + .../apiso/data/T_ortho_RAS_1998_284404.xml | 37 + .../apiso/data/T_ortho_RAS_1998_288395.xml | 37 + .../apiso/data/T_ortho_RAS_1998_288398.xml | 37 + .../apiso/data/T_ortho_RAS_1998_288401.xml | 37 + .../apiso/data/T_ortho_RAS_1998_288404.xml | 37 + .../apiso/data/T_pmoed_DTM_1996_276395.xml | 37 + .../apiso/data/T_pmoed_DTM_1996_276398.xml | 37 + .../apiso/data/T_pmoed_DTM_1996_276401.xml | 37 + .../apiso/data/T_pmoed_DTM_1996_276404.xml | 37 + .../apiso/data/T_pmoed_DTM_1996_280395.xml | 37 + .../suites/apiso/data/pacioos-NS06agg.xml | 1182 ++++++++++++++ .../suites/apiso/data/test.xml | 39 + .../functionaltests/suites/apiso/default.cfg | 91 ++ .../apiso/expected/post_DescribeRecord.xml | 551 +++++++ .../apiso/expected/post_GetCapabilities.xml | 318 ++++ .../expected/post_GetDomain-property.xml | 12 + .../expected/post_GetRecordById-brief.xml | 77 + .../expected/post_GetRecordById-full-dc.xml | 45 + .../expected/post_GetRecordById-full.xml | 40 + .../expected/post_GetRecordById-srv-brief.xml | 93 ++ .../post_GetRecords-all-csw-output.xml | 399 +++++ .../apiso/expected/post_GetRecords-all.xml | 399 +++++ .../expected/post_GetRecords-cql-title.xml | 372 +++++ .../expected/post_GetRecords-elementname.xml | 388 +++++ ...-filter-and-nested-spatial-or-dateline.xml | 1132 ++++++++++++++ .../post_GetRecords-filter-anytext.xml | 372 +++++ ...post_GetRecords-filter-bbox-csw-output.xml | 52 + .../expected/post_GetRecords-filter-bbox.xml | 388 +++++ .../post_GetRecords-filter-servicetype.xml | 96 ++ .../suites/apiso/post/DescribeRecord.xml | 4 + .../suites/apiso/post/GetCapabilities.xml | 9 + .../suites/apiso/post/GetDomain-property.xml | 5 + .../suites/apiso/post/GetRecordById-brief.xml | 6 + .../apiso/post/GetRecordById-full-dc.xml | 6 + .../suites/apiso/post/GetRecordById-full.xml | 6 + .../apiso/post/GetRecordById-srv-brief.xml | 6 + .../apiso/post/GetRecords-all-csw-output.xml | 6 + .../suites/apiso/post/GetRecords-all.xml | 6 + .../apiso/post/GetRecords-cql-title.xml | 9 + .../apiso/post/GetRecords-elementname.xml | 6 + ...-filter-and-nested-spatial-or-dateline.xml | 45 + .../apiso/post/GetRecords-filter-anytext.xml | 15 + .../GetRecords-filter-bbox-csw-output.xml | 19 + .../apiso/post/GetRecords-filter-bbox.xml | 18 + .../post/GetRecords-filter-servicetype.xml | 14 + tests/functionaltests/suites/atom/default.cfg | 90 ++ .../expected/get_opensearch-description.xml | 13 + .../get_opensearch-ogc-bbox-and-time.xml | 38 + .../atom/expected/get_opensearch-ogc-bbox.xml | 52 + .../get_opensearch-ogc-count-and-page1.xml | 32 + .../get_opensearch-ogc-count-and-page2.xml | 17 + .../get_opensearch-ogc-q-and-bbox.xml | 24 + .../get_opensearch-ogc-q-and-time.xml | 18 + .../atom/expected/get_opensearch-ogc-q.xml | 18 + .../atom/expected/get_opensearch-ogc-time.xml | 18 + .../expected/get_opensearch-ogc-timeend.xml | 18 + .../expected/get_opensearch-ogc-timestart.xml | 47 + .../suites/atom/expected/get_opensearch.xml | 110 ++ .../atom/expected/post_DescribeRecord.xml | 3 + .../atom/expected/post_GetCapabilities.xml | 262 ++++ .../expected/post_GetRecords-filter-bbox.xml | 36 + .../suites/atom/get/requests.txt | 12 + .../suites/atom/post/DescribeRecord.xml | 4 + .../suites/atom/post/GetCapabilities.xml | 9 + .../atom/post/GetRecords-filter-bbox.xml | 17 + .../suites/cite/data/README.txt | 65 + ...d_19887a8a-f6b0-4a63-ae56-7fba0e17801f.xml | 13 + ...d_1ef30a8b-876d-4828-9246-c37ab4510bbd.xml | 13 + ...d_66ae76b7-54ba-489b-a582-0f0633d96493.xml | 12 + ...d_6a3de50b-fa66-4b58-a0e6-ca146fdd18d4.xml | 11 + ...d_784e2afd-a9fd-44a6-9a92-a3848371c8ec.xml | 14 + ...d_829babb0-b2f1-49e1-8cd5-7b489fe71a1e.xml | 11 + ...d_88247b56-4cbc-4df9-9860-db3f8042e357.xml | 11 + ...d_94bc9c83-97f6-4b40-9eb8-a8e8787a5c63.xml | 17 + ...d_9a669547-b69b-469f-a11f-2d875366bbdc.xml | 16 + ...d_a06af396-3105-442d-8b40-22b57a90d2f2.xml | 11 + ...d_ab42a8c4-95e8-4630-bf79-33e59241605a.xml | 11 + ...d_e9330592-0932-474b-be34-c3a3bb67c7db.xml | 14 + .../functionaltests/suites/cite/data/cite.db | Bin 0 -> 82944 bytes tests/functionaltests/suites/cite/default.cfg | 86 ++ ...t_27e17158-c57a-4493-92ac-dba8934cf462.xml | 310 ++++ ...t_27f69b66-5f05-4311-a89c-73ca55c2686b.xml | 9 + ...t_2ab7d1fa-885b-459f-80e4-b6282eab4f8c.xml | 310 ++++ ...t_37aa90e2-6ff0-420c-af15-8b9463099a73.xml | 14 + ...t_3a8a3c47-455f-4f49-9078-03119f3e70b3.xml | 7 + ...t_4515831f-834a-4699-95f6-ab0c2cbfcfd0.xml | 7 + ...t_477b23a3-baa9-47c8-9541-5fe27735ed49.xml | 543 +++++++ ...t_48f26761-3a9d-48db-bee1-da089f5fb857.xml | 310 ++++ ...t_4e38092f-1586-44b8-988e-0acfa5855916.xml | 7 + ...t_55c38f00-2553-42c1-99ab-33edbb561ad7.xml | 392 +++++ ...t_5ab5db18-c87a-4fbf-a8d8-b7289b09ac81.xml | 7 + ...t_6a4f57ca-a1bd-4802-89c2-44860dbdb0f0.xml | 11 + ...t_6c375703-9c00-4aef-bec7-d2e964f849eb.xml | 13 + ...t_80f31def-4185-48b9-983a-960566918eae.xml | 543 +++++++ ...t_8e2232ed-05d9-44ae-8b04-0911cbe6a507.xml | 7 + ...t_9697f0aa-3b6a-4125-83a5-61e8826127c4.xml | 543 +++++++ ...t_9bfd17fa-15dc-4a10-8fa7-b3cff7013dd7.xml | 13 + ...t_b81c3595-06d6-4693-82ea-1ff8650755ac.xml | 3 + ...t_ba5fc729-3b71-47a0-b7d0-42ec565cd185.xml | 310 ++++ ...t_c4ea754f-c158-4d8d-8253-dc8f86021b52.xml | 7 + ...t_f4692ec5-9547-4a05-88ab-e6154af2640a.xml | 310 ++++ ...t_f997f25e-c865-4d53-a362-0ed1846337f2.xml | 15 + ...t_0c976d98-c896-4b10-b1fe-a22ef50434e7.xml | 6 + ...t_19d2a6ed-be28-4866-ae15-e3bb634486cb.xml | 55 + ...t_1ab55aa3-6685-4595-8ecd-45987a7b8b59.xml | 19 + ...t_1c958b7a-ca09-4c38-98bd-ef1d1d28cc14.xml | 7 + ...t_1c97fc1a-61cd-4c1d-8054-933e17a6c5ee.xml | 7 + ...t_2102a460-5d62-465f-9668-d70b3faafbfa.xml | 12 + ...t_225f455a-0035-486b-a94e-fee7ae881b2b.xml | 17 + ...t_2d53ffea-60e4-4652-abf5-36eb23042fd5.xml | 69 + ...t_34a019a9-1581-42cb-9827-fbfdda2773b7.xml | 6 + ...t_3e76fd38-e035-41c9-83dc-61356f680c97.xml | 7 + ...t_418a6fb0-a89c-4a94-afc9-3f8168eb2980.xml | 15 + ...t_420b745e-0c4b-404e-9f2d-61fa580ff05a.xml | 22 + ...t_4735d649-a2b1-42fd-a101-14e1d7e4607f.xml | 44 + ...t_5c5861bc-f742-40a5-9998-5342615d674b.xml | 49 + ...t_6e736fd0-c266-4852-9eb3-0656f5d0f5c4.xml | 89 ++ ...t_73f1551c-e269-4ef9-9dae-e535b5eebfc7.xml | 18 + ...t_78297c88-4850-4927-adc6-511cd9a3d539.xml | 115 ++ ...t_7c89cdf5-0def-4cfb-8c55-2b8ffea5d92f.xml | 56 + ...t_7e2cd105-daec-4d25-bc8e-d49d21364912.xml | 3 + ...t_87f2f670-9cd6-4907-b82c-1b46a7dd2a78.xml | 50 + ...t_88b4e1ba-3bd4-4cbe-81e5-e004056d6ca3.xml | 7 + ...t_898cd63b-2585-4ec0-8720-d554bd324174.xml | 14 + ...t_8fb13dc3-5818-45e2-9e29-46abc16e7d38.xml | 48 + ...t_928c1896-52d4-4ac7-9832-f98e3eb65f02.xml | 17 + ...t_93bdbb9d-2734-4f01-92fb-48634cca41de.xml | 21 + ...t_948b39d5-bb4f-45b8-a8f2-4ff9501aaedd.xml | 51 + ...t_9fd64fcc-f69c-4626-b72e-5c7776a29aa9.xml | 7 + ...t_a06d04ab-e0d0-4a86-bfe8-71460f41fe37.xml | 69 + ...t_ad61686c-d304-42d1-b845-8c1f3070c83e.xml | 8 + ...t_af39c020-7b1d-429c-b474-f45c3164cb79.xml | 21 + ...t_b90e2de6-3d25-4298-a13e-dc9492a8fc73.xml | 91 ++ ...t_ba9b0107-dcee-46ef-823a-a2e25a911a96.xml | 36 + ...t_bb66ebc5-7121-48b5-9f53-b56537d9561b.xml | 19 + ...t_c02d1c85-df9f-45ee-bea7-345c35e02a98.xml | 7 + ...t_c311a342-72e3-4983-be39-868e6ed9740f.xml | 115 ++ ...t_c38916c2-4bc6-446d-b7aa-ab006d6ba31c.xml | 27 + ...t_c8588f47-8e65-45f5-ad34-ff4524cad84d.xml | 7 + ...t_da228d4c-e1be-43d7-9ccb-c3f27ee32541.xml | 7 + ...t_dc92c2c4-87d8-4a13-964e-ff9b0e0c27b3.xml | 22 + ...t_dcb13791-379e-4739-bcd4-dbaa69f0efdb.xml | 69 + ...t_e308f030-c097-4036-a838-44bad74c9ef7.xml | 69 + ...t_e6e9efb2-e2b7-4b0a-a3a2-7deea3f9b8e2.xml | 69 + ...t_f7976c55-a156-4421-8199-bc0487da4b0f.xml | 115 ++ ...t_f7d79701-f10b-4087-a33c-f62df0a04fd1.xml | 69 + ...t_fc1bc094-88f1-4851-bc2b-dfc56be9f3c7.xml | 12 + ...t_fe20960f-a26c-4f13-852d-470a0d3233f9.xml | 12 + .../suites/cite/get/requests.txt | 22 + .../0c976d98-c896-4b10-b1fe-a22ef50434e7.xml | 20 + .../19d2a6ed-be28-4866-ae15-e3bb634486cb.xml | 20 + .../1ab55aa3-6685-4595-8ecd-45987a7b8b59.xml | 14 + .../1c958b7a-ca09-4c38-98bd-ef1d1d28cc14.xml | 6 + .../1c97fc1a-61cd-4c1d-8054-933e17a6c5ee.xml | 14 + .../2102a460-5d62-465f-9668-d70b3faafbfa.xml | 14 + .../225f455a-0035-486b-a94e-fee7ae881b2b.xml | 16 + .../2d53ffea-60e4-4652-abf5-36eb23042fd5.xml | 6 + .../34a019a9-1581-42cb-9827-fbfdda2773b7.xml | 6 + .../3e76fd38-e035-41c9-83dc-61356f680c97.xml | 4 + .../418a6fb0-a89c-4a94-afc9-3f8168eb2980.xml | 25 + .../420b745e-0c4b-404e-9f2d-61fa580ff05a.xml | 16 + .../4735d649-a2b1-42fd-a101-14e1d7e4607f.xml | 6 + .../5c5861bc-f742-40a5-9998-5342615d674b.xml | 14 + .../6e736fd0-c266-4852-9eb3-0656f5d0f5c4.xml | 6 + .../73f1551c-e269-4ef9-9dae-e535b5eebfc7.xml | 14 + .../78297c88-4850-4927-adc6-511cd9a3d539.xml | 2 + .../7c89cdf5-0def-4cfb-8c55-2b8ffea5d92f.xml | 6 + .../7e2cd105-daec-4d25-bc8e-d49d21364912.xml | 4 + .../87f2f670-9cd6-4907-b82c-1b46a7dd2a78.xml | 8 + .../88b4e1ba-3bd4-4cbe-81e5-e004056d6ca3.xml | 4 + .../898cd63b-2585-4ec0-8720-d554bd324174.xml | 20 + .../8fb13dc3-5818-45e2-9e29-46abc16e7d38.xml | 20 + .../928c1896-52d4-4ac7-9832-f98e3eb65f02.xml | 16 + .../93bdbb9d-2734-4f01-92fb-48634cca41de.xml | 18 + .../948b39d5-bb4f-45b8-a8f2-4ff9501aaedd.xml | 14 + .../9fd64fcc-f69c-4626-b72e-5c7776a29aa9.xml | 4 + .../a06d04ab-e0d0-4a86-bfe8-71460f41fe37.xml | 6 + .../ad61686c-d304-42d1-b845-8c1f3070c83e.xml | 14 + .../af39c020-7b1d-429c-b474-f45c3164cb79.xml | 14 + .../b90e2de6-3d25-4298-a13e-dc9492a8fc73.xml | 16 + .../ba9b0107-dcee-46ef-823a-a2e25a911a96.xml | 20 + .../bb66ebc5-7121-48b5-9f53-b56537d9561b.xml | 27 + .../c02d1c85-df9f-45ee-bea7-345c35e02a98.xml | 16 + .../c311a342-72e3-4983-be39-868e6ed9740f.xml | 4 + .../c38916c2-4bc6-446d-b7aa-ab006d6ba31c.xml | 25 + .../c8588f47-8e65-45f5-ad34-ff4524cad84d.xml | 17 + .../da228d4c-e1be-43d7-9ccb-c3f27ee32541.xml | 14 + .../dc92c2c4-87d8-4a13-964e-ff9b0e0c27b3.xml | 16 + .../dcb13791-379e-4739-bcd4-dbaa69f0efdb.xml | 6 + .../e308f030-c097-4036-a838-44bad74c9ef7.xml | 6 + .../e6e9efb2-e2b7-4b0a-a3a2-7deea3f9b8e2.xml | 12 + .../f7976c55-a156-4421-8199-bc0487da4b0f.xml | 4 + .../f7d79701-f10b-4087-a33c-f62df0a04fd1.xml | 6 + .../fc1bc094-88f1-4851-bc2b-dfc56be9f3c7.xml | 14 + .../fe20960f-a26c-4f13-852d-470a0d3233f9.xml | 14 + .../functionaltests/suites/csw30/default.cfg | 90 ++ ...t_002258f0-627f-457f-b2ad-025777c77ac8.xml | 15 + ...t_045c600d-973d-41eb-9f60-eba1b717b720.xml | 24 + ...t_0bbcf862-5211-4351-9988-63f8bec49c98.xml | 116 ++ ...t_0bdf8457-971e-4ed1-be4a-5feca4dcd8fa.xml | 491 ++++++ ...t_0d8bbdec-0846-42ca-8dc8-b7f4cba41d67.xml | 47 + ...t_0e1dca37-477a-4060-99fe-7799b52d656c.xml | 15 + ...t_13c87956-51a4-4780-a8e9-6e0b5c0bb473.xml | 92 ++ ...t_151d982f-ebd3-4cb2-b507-a667713a1e92.xml | 7 + ...t_1869e495-1a61-4713-8285-76d1336ee1a6.xml | 7 + ...t_1bcb42a9-538c-4f0a-9d4c-d6f10b720aa6.xml | 7 + ...t_22f44168-2ccf-4801-ad96-204212566d56.xml | 491 ++++++ ...t_2499a9c9-8d33-449c-bc92-d494adfcc84d.xml | 491 ++++++ ...t_27f4f39c-d92a-4e3c-b961-c6aa8c24e513.xml | 491 ++++++ ...t_28e569df-8596-4128-8d9a-29ad03138915.xml | 8 + ...t_2b06a5c8-0df2-4af1-8d2e-a425de11c845.xml | 491 ++++++ ...t_2ba1418a-444d-4cce-9cfe-4c94efcf8b55.xml | 32 + ...t_397fe17a-d5b4-4f96-8cc4-4ce467ed4d0a.xml | 30 + ...t_3dcd1b15-73d2-4b7d-a3e3-ff15bf14aae4.xml | 69 + ...t_405e1ff1-5c75-4846-a28b-cfaff2a6921a.xml | 23 + ...t_43cd6471-6ac7-45bd-8ff9-148cb2de9a52.xml | 491 ++++++ ...t_4566d2ec-1283-4a02-baed-a74fc5b47e37.xml | 18 + ...t_461bd4c5-6623-490d-9036-d91a2201e87b.xml | 3 + ...t_5496894a-3877-4f62-a20b-5d7126f94925.xml | 7 + ...t_5a015f6a-bf14-4977-b1e3-6577eb0223c8.xml | 40 + ...t_5c3a2390-1fb9-43f0-b96c-f48c7a69c990.xml | 7 + ...t_5e9e67dc-18d6-4645-8111-c6263c88a61f.xml | 326 ++++ ...t_604d9379-741c-42e5-b4cf-92e56c87fa64.xml | 32 + ...t_60e6af95-d5fc-465a-82e2-fd2e6d85e4af.xml | 7 + ...t_62ad94c2-b558-4265-a427-23d6677975d6.xml | 7 + ...t_6a5e247b-0961-4b8a-a0d6-35a491d9cfe7.xml | 7 + ...t_6a9d0558-9d87-495b-b999-b49a3ef1cf99.xml | 491 ++++++ ...t_6bd790c9-6019-4652-9c91-330a894d6700.xml | 16 + ...t_6e9cba43-5e27-415d-adbd-a92851c2c173.xml | 491 ++++++ ...t_7630d230-e142-4a09-accf-f091000b90cd.xml | 10 + ...t_7e82446a-b5dc-43fe-9a73-4cc1f2f2f0bf.xml | 491 ++++++ ...t_8025978e-1a35-4d70-80c2-e8329e0c7864.xml | 491 ++++++ ...t_8184ae4f-536d-4978-8b28-ad703be96967.xml | 34 + ...t_88f63a89-664f-4315-b4f8-04a0b33803a7.xml | 18 + ...t_8987f8f0-4d93-4481-968c-a2ccbd6b8be2.xml | 7 + ...t_8e5fa0f6-3f29-4d1f-abe2-d9866f3def98.xml | 58 + ...t_9000ec29-5649-474e-b2d6-55c00f8a52c0.xml | 7 + ...t_91914d35-7bbf-45e6-9b37-5ef484869a4e.xml | 38 + ...t_92d4844d-57d5-4cf3-8f47-ba50e369dc04.xml | 6 + ...t_9c0e2a4b-b4e6-41c0-b630-c8c99fc89ff3.xml | 7 + ...t_9d7ffac8-9798-428d-8e27-3cd12497ee6b.xml | 7 + ...et_Exception-GetDomain-value-reference.xml | 7 + .../expected/get_Exception-GetDomain.xml | 7 + .../get_Exception-GetRecordById-404.xml | 7 + .../get_Exception-GetRecordById-dc.xml.xml | 9 + ...t_Exception-GetRepositoryItem-notfound.xml | 7 + .../get_Exception-invalid-request.xml | 7 + .../expected/get_GetCapabilities-base-url.xml | 491 ++++++ .../get_GetCapabilities-no-version.xml | 491 ++++++ .../csw30/expected/get_GetCapabilities.xml | 491 ++++++ .../expected/get_GetDomain-parameter.xml | 12 + .../get_GetDomain-value-reference.xml | 18 + .../csw30/expected/get_GetRepositoryItem.xml | 11 + .../expected/get_OpenSearch-description.xml | 15 + ...t_a2f18643-e24e-4fa5-b780-6de4a2dbc814.xml | 9 + ...t_abc90c8c-5868-4405-a73e-64c849be3b2a.xml | 7 + ...t_ad0c0571-09ed-436a-9a4f-a5de744c88fe.xml | 22 + ...t_af502903-f4ee-47ee-b76e-af878d238bcc.xml | 40 + ...t_b2aafc3f-4f35-47bc-affd-08590972deae.xml | 58 + ...t_b6069623-f7d8-4021-8582-98f0aea0f763.xml | 48 + ...t_b9a07a54-75a8-45bd-b341-2823600211e3.xml | 8 + ...t_baa4a7d0-0c01-42b6-adc3-0d03e9949fa3.xml | 7 + ...t_bfbe6409-f64a-4c89-acb3-50f260a5c743.xml | 15 + ...t_bfe20134-d1da-42ef-9c0f-8e1307bbf92b.xml | 38 + ...t_c03d173a-3f42-4956-89c8-1fe02c3a0873.xml | 491 ++++++ ...t_cb43d8c3-e14c-4a9f-9231-4384b7dd21f3.xml | 7 + ...t_d03c6fd3-e821-4a26-b62f-d20a474e25af.xml | 30 + ...t_d4ccbf96-a529-480e-a53d-5b88dc1dea7f.xml | 7 + ...t_d94c801a-1207-4897-b84a-53f3a192515b.xml | 6 + ...t_da859e34-91fc-495a-8c09-285a40c0900b.xml | 14 + ...t_dc246fb8-5af5-4fda-82bb-c18b3ecd439c.xml | 40 + ...t_de016645-6d5c-4855-943c-2db07ae9f49a.xml | 30 + ...t_dff3ec6b-bb2d-4887-bd17-8fcf15def042.xml | 89 ++ ...t_e38e6bfb-8ac4-4ae4-8b87-0aafbc8d3c6b.xml | 11 + ...t_e67ca935-d65d-4d8c-8302-1405333dded0.xml | 491 ++++++ ...t_e7704509-3441-458f-8ef0-e333c6b6043f.xml | 7 + ...t_f1223a49-6d08-44ff-97fe-4c32cbbfad82.xml | 6 + ...t_f89dd4e1-3a81-4433-afd2-a3fa1bdb1e18.xml | 7 + ..._Exception-GetDomain-parametername-bad.xml | 7 + ...Exception-GetDomain-valuereference-bad.xml | 7 + .../post_Exception-GetRecordById-404.xml | 7 + .../post_Exception-GetRecordById-bad-esn.xml | 7 + .../csw30/expected/post_Exception-bad-xml.xml | 8 + .../csw30/expected/post_Exception-not-xml.xml | 8 + .../csw30/expected/post_GetCapabilities.xml | 491 ++++++ .../expected/post_GetDomain-parametername.xml | 12 + .../post_GetDomain-valuereference.xml | 18 + .../expected/post_GetRecordById-dc-full.xml | 10 + .../csw30/expected/post_GetRecordById-dc.xml | 10 + .../suites/csw30/get/requests.txt | 82 + .../Exception-GetDomain-parametername-bad.xml | 4 + ...Exception-GetDomain-valuereference-bad.xml | 4 + .../post/Exception-GetRecordById-404.xml | 4 + .../post/Exception-GetRecordById-bad-esn.xml | 5 + .../suites/csw30/post/Exception-bad-xml.xml | 9 + .../suites/csw30/post/Exception-not-xml.xml | 1 + .../suites/csw30/post/GetCapabilities.xml | 9 + .../csw30/post/GetDomain-parametername.xml | 4 + .../csw30/post/GetDomain-valuereference.xml | 4 + .../csw30/post/GetRecordById-dc-full.xml | 5 + .../suites/csw30/post/GetRecordById-dc.xml | 4 + .../suites/default/default.cfg | 90 ++ ...t_Exception-GetRepositoryItem-notfound.xml | 7 + ...ion-GetRepositoryItem-service-invalid1.xml | 7 + ...ion-GetRepositoryItem-service-invalid2.xml | 7 + ...tion-GetRepositoryItem-version-invalid.xml | 7 + .../get_GetCapabilities-invalid-request.xml | 7 + .../default/expected/get_GetCapabilities.xml | 262 ++++ .../default/expected/get_GetRecords-all.xml | 6 + .../get_GetRecords-empty-maxrecords.xml | 6 + ...lter-cql-title-or-abstract-with-spaces.xml | 23 + ...etRecords-filter-cql-title-or-abstract.xml | 23 + ...le-with-spaces-or-abstract-with-spaces.xml | 23 + ...lter-cql-title-with-spaces-or-abstract.xml | 23 + ...etRecords-filter-cql-title-with-spaces.xml | 23 + .../get_GetRecords-filter-cql-title.xml | 23 + .../expected/get_GetRecords-filter.xml | 16 + .../expected/get_GetRecords-sortby-asc.xml | 91 ++ .../expected/get_GetRecords-sortby-desc.xml | 93 ++ .../get_GetRecords-sortby-invalid-order.xml | 7 + ...GetRecords-sortby-invalid-propertyname.xml | 7 + .../expected/get_GetRepositoryItem.xml | 14 + .../expected/post_DescribeRecord-json.xml | 231 +++ .../default/expected/post_DescribeRecord.xml | 115 ++ .../post_Exception-GetRecords-badsrsname.xml | 7 + .../post_Exception-GetRecords-elementname.xml | 7 + .../post_Exception-GetRecords-invalid-xml.xml | 8 + .../expected/post_GetCapabilities-SOAP.xml | 266 ++++ .../post_GetCapabilities-sections.xml | 83 + .../post_GetCapabilities-updatesequence.xml | 262 ++++ .../default/expected/post_GetCapabilities.xml | 262 ++++ .../expected/post_GetDomain-parameter.xml | 11 + .../expected/post_GetDomain-property.xml | 18 + .../expected/post_GetRecordById-json.xml | 18 + .../default/expected/post_GetRecordById.xml | 15 + .../expected/post_GetRecords-all-json.xml | 64 + .../post_GetRecords-all-resulttype-hits.xml | 6 + ...ost_GetRecords-all-resulttype-validate.xml | 11 + .../post_GetRecords-all-sortby-bbox.xml | 56 + .../default/expected/post_GetRecords-all.xml | 49 + .../post_GetRecords-bbox-filter-crs84.xml | 34 + ...post_GetRecords-cql-title-and-abstract.xml | 12 + .../expected/post_GetRecords-cql-title.xml | 17 + .../post_GetRecords-distributedsearch.xml | 17 + .../expected/post_GetRecords-elementname.xml | 20 + .../default/expected/post_GetRecords-end.xml | 30 + ...st_GetRecords-filter-and-bbox-freetext.xml | 16 + .../post_GetRecords-filter-and-nested-or.xml | 16 + .../post_GetRecords-filter-and-nested-or2.xml | 23 + ...post_GetRecords-filter-anytext-and-not.xml | 15 + .../post_GetRecords-filter-anytext-equal.xml | 36 + .../post_GetRecords-filter-anytext.xml | 36 + .../post_GetRecords-filter-bbox-reproject.xml | 25 + .../post_GetRecords-filter-bbox-sortby.xml | 25 + .../expected/post_GetRecords-filter-bbox.xml | 25 + .../post_GetRecords-filter-between.xml | 49 + .../post_GetRecords-filter-function-bad.xml | 7 + .../post_GetRecords-filter-function.xml | 12 + .../post_GetRecords-filter-not-bbox.xml | 36 + ...ost_GetRecords-filter-or-bbox-freetext.xml | 25 + .../post_GetRecords-filter-or-nested-and.xml | 60 + ...st_GetRecords-filter-or-title-abstract.xml | 19 + .../expected/post_GetRecords-maxrecords.xml | 16 + .../expected/post_GetRecords-requestid.xml | 50 + .../default/expected/post_Harvest-default.xml | 7 + .../post_Harvest-response-handler.xml | 7 + .../expected/post_Transaction-delete.xml | 7 + .../expected/post_Transaction-insert.xml | 7 + .../expected/post_Transaction-update-full.xml | 7 + ...post_Transaction-update-recordproperty.xml | 7 + .../suites/default/get/requests.txt | 20 + .../default/post/DescribeRecord-json.xml | 4 + .../suites/default/post/DescribeRecord.xml | 4 + .../post/Exception-GetRecords-badsrsname.xml | 19 + .../post/Exception-GetRecords-elementname.xml | 6 + .../post/Exception-GetRecords-invalid-xml.xml | 6 + .../default/post/GetCapabilities-SOAP.xml | 13 + .../default/post/GetCapabilities-sections.xml | 12 + .../post/GetCapabilities-updatesequence.xml | 9 + .../suites/default/post/GetCapabilities.xml | 9 + .../default/post/GetDomain-parameter.xml | 4 + .../default/post/GetDomain-property.xml | 4 + .../default/post/GetRecordById-json.xml | 5 + .../suites/default/post/GetRecordById.xml | 5 + .../default/post/GetRecords-all-json.xml | 6 + .../post/GetRecords-all-resulttype-hits.xml | 6 + .../GetRecords-all-resulttype-validate.xml | 6 + .../post/GetRecords-all-sortby-bbox.xml | 12 + .../suites/default/post/GetRecords-all.xml | 6 + .../post/GetRecords-bbox-filter-crs84.xml | 17 + .../GetRecords-cql-title-and-abstract.xml | 9 + .../default/post/GetRecords-cql-title.xml | 9 + .../post/GetRecords-distributedsearch.xml | 15 + .../default/post/GetRecords-elementname.xml | 6 + .../suites/default/post/GetRecords-end.xml | 6 + .../GetRecords-filter-and-bbox-freetext.xml | 23 + .../post/GetRecords-filter-and-nested-or.xml | 38 + .../post/GetRecords-filter-and-nested-or2.xml | 34 + .../GetRecords-filter-anytext-and-not.xml | 26 + .../post/GetRecords-filter-anytext-equal.xml | 14 + .../post/GetRecords-filter-anytext.xml | 14 + .../post/GetRecords-filter-bbox-reproject.xml | 17 + .../post/GetRecords-filter-bbox-sortby.xml | 23 + .../default/post/GetRecords-filter-bbox.xml | 17 + .../post/GetRecords-filter-between.xml | 20 + .../post/GetRecords-filter-function-bad.xml | 17 + .../post/GetRecords-filter-function.xml | 17 + .../post/GetRecords-filter-not-bbox.xml | 19 + .../GetRecords-filter-or-bbox-freetext.xml | 23 + .../post/GetRecords-filter-or-nested-and.xml | 30 + .../GetRecords-filter-or-title-abstract.xml | 20 + .../default/post/GetRecords-maxrecords.xml | 6 + .../default/post/GetRecords-requestid.xml | 6 + .../suites/default/post/Harvest-default.xml | 6 + .../default/post/Harvest-response-handler.xml | 7 + .../default/post/Transaction-delete.xml | 13 + .../default/post/Transaction-insert.xml | 73 + .../default/post/Transaction-update-full.xml | 73 + .../Transaction-update-recordproperty.xml | 17 + tests/functionaltests/suites/dif/default.cfg | 90 ++ .../dif/expected/post_DescribeRecord.xml | 3 + .../dif/expected/post_GetCapabilities.xml | 262 ++++ .../expected/post_GetRecords-filter-bbox.xml | 71 + .../suites/dif/post/DescribeRecord.xml | 4 + .../suites/dif/post/GetCapabilities.xml | 9 + .../dif/post/GetRecords-filter-bbox.xml | 17 + .../functionaltests/suites/ebrim/default.cfg | 93 ++ .../ebrim/expected/post_DescribeRecord.xml | 93 ++ .../ebrim/expected/post_GetCapabilities.xml | 266 ++++ .../post_GetRecords-filter-bbox-full.xml | 57 + .../expected/post_GetRecords-filter-bbox.xml | 13 + .../suites/ebrim/post/DescribeRecord.xml | 4 + .../suites/ebrim/post/GetCapabilities.xml | 9 + .../post/GetRecords-filter-bbox-full.xml | 17 + .../ebrim/post/GetRecords-filter-bbox.xml | 17 + tests/functionaltests/suites/fgdc/default.cfg | 90 ++ .../fgdc/expected/post_DescribeRecord.xml | 3 + .../fgdc/expected/post_GetCapabilities.xml | 262 ++++ .../expected/post_GetRecords-filter-bbox.xml | 123 ++ .../suites/fgdc/post/DescribeRecord.xml | 4 + .../suites/fgdc/post/GetCapabilities.xml | 9 + .../fgdc/post/GetRecords-filter-bbox.xml | 17 + tests/functionaltests/suites/gm03/default.cfg | 90 ++ .../gm03/expected/post_GetCapabilities.xml | 262 ++++ .../expected/post_GetRecords-filter-bbox.xml | 137 ++ .../suites/gm03/post/GetCapabilities.xml | 9 + .../gm03/post/GetRecords-filter-bbox.xml | 17 + .../suites/harvesting/default.cfg | 91 ++ ...Exception-Harvest-invalid-resourcetype.xml | 7 + ...Exception-Harvest-missing-resourcetype.xml | 7 + .../get_Exception-Harvest-missing-source.xml | 7 + .../get_Exception-Harvest-waf-bad-value.xml | 7 + ...Exception-Harvest-waf-no-records-found.xml | 11 + .../expected/post_Clear-000-delete-all.xml | 9 + .../post_Exception-Havest-csw-404.xml | 7 + .../expected/post_GetCapabilities.xml | 368 +++++ .../expected/post_GetDomain-parameter.xml | 27 + .../expected/post_Harvest-csw-iso.xml | 149 ++ .../expected/post_Harvest-csw-run1.xml | 65 + .../expected/post_Harvest-csw-run2.xml | 11 + .../harvesting/expected/post_Harvest-dc.xml | 17 + .../harvesting/expected/post_Harvest-fgdc.xml | 17 + .../harvesting/expected/post_Harvest-iso.xml | 17 + .../harvesting/expected/post_Harvest-rdf.xml | 17 + .../expected/post_Harvest-sos100.xml | 133 ++ .../expected/post_Harvest-sos200.xml | 21 + .../harvesting/expected/post_Harvest-waf.xml | 25 + .../harvesting/expected/post_Harvest-wcs.xml | 33 + .../expected/post_Harvest-wfs110.xml | 37 + .../expected/post_Harvest-wfs200.xml | 57 + .../expected/post_Harvest-wms-run1.xml | 29 + .../expected/post_Harvest-wms-run2.xml | 11 + .../harvesting/expected/post_Harvest-wmts.xml | 45 + .../harvesting/expected/post_Harvest-wps.xml | 57 + ...vest-zzz-post-GetRecords-filter-ows-dc.xml | 125 ++ ...post-GetRecords-filter-sos-abstract-dc.xml | 30 + ...vest-zzz-post-GetRecords-filter-sos-dc.xml | 69 + ...est-zzz-post-GetRecords-filter-sos-iso.xml | 955 ++++++++++++ ...est-zzz-post-GetRecords-filter-wfs-iso.xml | 1061 +++++++++++++ ...vest-zzz-post-GetRecords-filter-wms-dc.xml | 89 ++ ...est-zzz-post-GetRecords-filter-wms-iso.xml | 1361 +++++++++++++++++ ...t-zzz-post-GetRecords-filter-wms-layer.xml | 33 + ...zzz-post-GetRecords-filter-wps-process.xml | 62 + .../post_Transaction-000-delete-all.xml | 9 + .../suites/harvesting/get/requests.txt | 5 + .../harvesting/post/Clear-000-delete-all.xml | 13 + .../post/Exception-Havest-csw-404.xml | 6 + .../harvesting/post/GetCapabilities.xml | 9 + .../harvesting/post/GetDomain-parameter.xml | 4 + .../harvesting/post/Harvest-csw-iso.xml | 6 + .../harvesting/post/Harvest-csw-run1.xml | 6 + .../harvesting/post/Harvest-csw-run2.xml | 6 + .../suites/harvesting/post/Harvest-dc.xml | 6 + .../suites/harvesting/post/Harvest-fgdc.xml | 6 + .../suites/harvesting/post/Harvest-iso.xml | 6 + .../suites/harvesting/post/Harvest-rdf.xml | 6 + .../suites/harvesting/post/Harvest-sos100.xml | 5 + .../suites/harvesting/post/Harvest-sos200.xml | 5 + .../suites/harvesting/post/Harvest-waf.xml | 5 + .../suites/harvesting/post/Harvest-wcs.xml | 6 + .../suites/harvesting/post/Harvest-wfs110.xml | 6 + .../suites/harvesting/post/Harvest-wfs200.xml | 6 + .../harvesting/post/Harvest-wms-run1.xml | 6 + .../harvesting/post/Harvest-wms-run2.xml | 6 + .../suites/harvesting/post/Harvest-wmts.xml | 6 + .../suites/harvesting/post/Harvest-wps.xml | 6 + ...vest-zzz-post-GetRecords-filter-ows-dc.xml | 36 + ...post-GetRecords-filter-sos-abstract-dc.xml | 24 + ...vest-zzz-post-GetRecords-filter-sos-dc.xml | 20 + ...est-zzz-post-GetRecords-filter-sos-iso.xml | 20 + ...est-zzz-post-GetRecords-filter-wfs-iso.xml | 20 + ...vest-zzz-post-GetRecords-filter-wms-dc.xml | 20 + ...est-zzz-post-GetRecords-filter-wms-iso.xml | 20 + ...t-zzz-post-GetRecords-filter-wms-layer.xml | 20 + ...zzz-post-GetRecords-filter-wps-process.xml | 14 + .../post/Transaction-000-delete-all.xml | 13 + .../suites/manager/default.cfg | 91 ++ .../expected/post_Clear-000-delete-all.xml | 9 + .../manager/expected/post_GetCapabilities.xml | 368 +++++ .../expected/post_GetDomain-parameter.xml | 27 + .../post_Transaction-000-delete-all.xml | 9 + .../post_Transaction-dc-01-insert.xml | 15 + .../post_Transaction-dc-02-update-full.xml | 9 + .../post_Transaction-fgdc-01-insert.xml | 15 + ...ost_Transaction-fgdc-02-update-recprop.xml | 9 + .../post_Transaction-fgdc-03-delete-all.xml | 9 + .../post_Transaction-iso-00-delete-all.xml | 9 + .../post_Transaction-iso-01-insert.xml | 15 + .../post_Transaction-iso-02-update-full.xml | 9 + ...post_Transaction-iso-03-update-recprop.xml | 9 + ...ction-iso-04-update-recprop-no-matches.xml | 9 + .../post_Transaction-iso-05-delete.xml | 9 + .../post_Transaction-xxx-delete-all.xml | 9 + .../manager/post/Clear-000-delete-all.xml | 13 + .../suites/manager/post/GetCapabilities.xml | 9 + .../manager/post/GetDomain-parameter.xml | 4 + .../post/Transaction-000-delete-all.xml | 13 + .../manager/post/Transaction-dc-01-insert.xml | 22 + .../post/Transaction-dc-02-update-full.xml | 22 + .../post/Transaction-fgdc-01-insert.xml | 214 +++ .../Transaction-fgdc-02-update-recprop.xml | 17 + .../post/Transaction-fgdc-03-delete-all.xml | 13 + .../post/Transaction-iso-00-delete-all.xml | 13 + .../post/Transaction-iso-01-insert.xml | 73 + .../post/Transaction-iso-02-update-full.xml | 73 + .../Transaction-iso-03-update-recprop.xml | 17 + ...ction-iso-04-update-recprop-no-matches.xml | 17 + .../post/Transaction-iso-05-delete.xml | 13 + .../post/Transaction-xxx-delete-all.xml | 13 + .../functionaltests/suites/oaipmh/default.cfg | 91 ++ .../get_GetRecord_bad_metadata_prefix.xml | 7 + .../oaipmh/expected/get_GetRecord_dc.xml | 26 + .../oaipmh/expected/get_GetRecord_iso.xml | 62 + .../oaipmh/expected/get_GetRecord_oai_dc.xml | 26 + .../suites/oaipmh/expected/get_Identify.xml | 15 + ...et_ListIdentifiers_bad_metadata_prefix.xml | 7 + .../expected/get_ListIdentifiers_dc.xml | 79 + .../expected/get_ListIdentifiers_iso.xml | 79 + ...istIdentifiers_missing_metadata_prefix.xml | 7 + .../expected/get_ListIdentifiers_oai_dc.xml | 79 + .../expected/get_ListMetadataFormats.xml | 38 + .../oaipmh/expected/get_ListRecords_dc.xml | 185 +++ ...get_ListRecords_dc_bad_metadata_prefix.xml | 7 + .../expected/get_ListRecords_iso19139.xml | 588 +++++++ .../expected/get_ListRecords_oai_dc.xml | 185 +++ .../suites/oaipmh/expected/get_ListSets.xml | 16 + .../suites/oaipmh/expected/get_bad_verb.xml | 7 + .../suites/oaipmh/expected/get_empty.xml | 7 + .../oaipmh/expected/get_empty_with_amp.xml | 7 + .../oaipmh/expected/get_illegal_verb.xml | 7 + .../suites/oaipmh/get/requests.txt | 20 + .../suites/repofilter/default.cfg | 91 ++ .../expected/post_GetRecordById-masked.xml | 3 + .../expected/post_GetRecords-all.xml | 37 + .../repofilter/post/GetRecordById-masked.xml | 5 + .../suites/repofilter/post/GetRecords-all.xml | 6 + tests/functionaltests/suites/sru/default.cfg | 90 ++ .../suites/sru/expected/get_explain.xml | 128 ++ .../suites/sru/expected/get_search.xml | 6 + .../suites/sru/expected/get_search_cql.xml | 30 + .../sru/expected/get_search_maxrecords.xml | 30 + .../get_search_startrecord_maxrecords.xml | 30 + .../suites/sru/get/requests.txt | 5 + .../functionaltests/suites/utf-8/default.cfg | 89 ++ .../utf-8/expected/post_GetCapabilities.xml | 262 ++++ .../suites/utf-8/post/GetCapabilities.xml | 9 + 596 files changed, 39573 insertions(+) create mode 100644 tests/functionaltests/suites/apiso-inspire/default.cfg create mode 100644 tests/functionaltests/suites/apiso-inspire/expected/get_GetCapabilities-lang.xml create mode 100644 tests/functionaltests/suites/apiso-inspire/expected/get_GetCapabilities.xml create mode 100644 tests/functionaltests/suites/apiso-inspire/get/requests.txt create mode 100644 tests/functionaltests/suites/apiso/data/3e9a8c05.xml create mode 100644 tests/functionaltests/suites/apiso/data/README.txt create mode 100644 tests/functionaltests/suites/apiso/data/T_aerfo_RAS_1991_GR800P001800000012.xml create mode 100644 tests/functionaltests/suites/apiso/data/T_aerfo_RAS_1991_GR800P001800000013.xml create mode 100644 tests/functionaltests/suites/apiso/data/T_aerfo_RAS_1991_GR800P001800000014.xml create mode 100644 tests/functionaltests/suites/apiso/data/T_aerfo_RAS_1991_GR800P001800000015.xml create mode 100644 tests/functionaltests/suites/apiso/data/T_ortho_RAS_1998_284404.xml create mode 100644 tests/functionaltests/suites/apiso/data/T_ortho_RAS_1998_288395.xml create mode 100644 tests/functionaltests/suites/apiso/data/T_ortho_RAS_1998_288398.xml create mode 100644 tests/functionaltests/suites/apiso/data/T_ortho_RAS_1998_288401.xml create mode 100644 tests/functionaltests/suites/apiso/data/T_ortho_RAS_1998_288404.xml create mode 100644 tests/functionaltests/suites/apiso/data/T_pmoed_DTM_1996_276395.xml create mode 100644 tests/functionaltests/suites/apiso/data/T_pmoed_DTM_1996_276398.xml create mode 100644 tests/functionaltests/suites/apiso/data/T_pmoed_DTM_1996_276401.xml create mode 100644 tests/functionaltests/suites/apiso/data/T_pmoed_DTM_1996_276404.xml create mode 100644 tests/functionaltests/suites/apiso/data/T_pmoed_DTM_1996_280395.xml create mode 100644 tests/functionaltests/suites/apiso/data/pacioos-NS06agg.xml create mode 100644 tests/functionaltests/suites/apiso/data/test.xml create mode 100644 tests/functionaltests/suites/apiso/default.cfg create mode 100644 tests/functionaltests/suites/apiso/expected/post_DescribeRecord.xml create mode 100644 tests/functionaltests/suites/apiso/expected/post_GetCapabilities.xml create mode 100644 tests/functionaltests/suites/apiso/expected/post_GetDomain-property.xml create mode 100644 tests/functionaltests/suites/apiso/expected/post_GetRecordById-brief.xml create mode 100644 tests/functionaltests/suites/apiso/expected/post_GetRecordById-full-dc.xml create mode 100644 tests/functionaltests/suites/apiso/expected/post_GetRecordById-full.xml create mode 100644 tests/functionaltests/suites/apiso/expected/post_GetRecordById-srv-brief.xml create mode 100644 tests/functionaltests/suites/apiso/expected/post_GetRecords-all-csw-output.xml create mode 100644 tests/functionaltests/suites/apiso/expected/post_GetRecords-all.xml create mode 100644 tests/functionaltests/suites/apiso/expected/post_GetRecords-cql-title.xml create mode 100644 tests/functionaltests/suites/apiso/expected/post_GetRecords-elementname.xml create mode 100644 tests/functionaltests/suites/apiso/expected/post_GetRecords-filter-and-nested-spatial-or-dateline.xml create mode 100644 tests/functionaltests/suites/apiso/expected/post_GetRecords-filter-anytext.xml create mode 100644 tests/functionaltests/suites/apiso/expected/post_GetRecords-filter-bbox-csw-output.xml create mode 100644 tests/functionaltests/suites/apiso/expected/post_GetRecords-filter-bbox.xml create mode 100644 tests/functionaltests/suites/apiso/expected/post_GetRecords-filter-servicetype.xml create mode 100644 tests/functionaltests/suites/apiso/post/DescribeRecord.xml create mode 100644 tests/functionaltests/suites/apiso/post/GetCapabilities.xml create mode 100644 tests/functionaltests/suites/apiso/post/GetDomain-property.xml create mode 100644 tests/functionaltests/suites/apiso/post/GetRecordById-brief.xml create mode 100644 tests/functionaltests/suites/apiso/post/GetRecordById-full-dc.xml create mode 100644 tests/functionaltests/suites/apiso/post/GetRecordById-full.xml create mode 100644 tests/functionaltests/suites/apiso/post/GetRecordById-srv-brief.xml create mode 100644 tests/functionaltests/suites/apiso/post/GetRecords-all-csw-output.xml create mode 100644 tests/functionaltests/suites/apiso/post/GetRecords-all.xml create mode 100644 tests/functionaltests/suites/apiso/post/GetRecords-cql-title.xml create mode 100644 tests/functionaltests/suites/apiso/post/GetRecords-elementname.xml create mode 100644 tests/functionaltests/suites/apiso/post/GetRecords-filter-and-nested-spatial-or-dateline.xml create mode 100644 tests/functionaltests/suites/apiso/post/GetRecords-filter-anytext.xml create mode 100644 tests/functionaltests/suites/apiso/post/GetRecords-filter-bbox-csw-output.xml create mode 100644 tests/functionaltests/suites/apiso/post/GetRecords-filter-bbox.xml create mode 100644 tests/functionaltests/suites/apiso/post/GetRecords-filter-servicetype.xml create mode 100644 tests/functionaltests/suites/atom/default.cfg create mode 100644 tests/functionaltests/suites/atom/expected/get_opensearch-description.xml create mode 100644 tests/functionaltests/suites/atom/expected/get_opensearch-ogc-bbox-and-time.xml create mode 100644 tests/functionaltests/suites/atom/expected/get_opensearch-ogc-bbox.xml create mode 100644 tests/functionaltests/suites/atom/expected/get_opensearch-ogc-count-and-page1.xml create mode 100644 tests/functionaltests/suites/atom/expected/get_opensearch-ogc-count-and-page2.xml create mode 100644 tests/functionaltests/suites/atom/expected/get_opensearch-ogc-q-and-bbox.xml create mode 100644 tests/functionaltests/suites/atom/expected/get_opensearch-ogc-q-and-time.xml create mode 100644 tests/functionaltests/suites/atom/expected/get_opensearch-ogc-q.xml create mode 100644 tests/functionaltests/suites/atom/expected/get_opensearch-ogc-time.xml create mode 100644 tests/functionaltests/suites/atom/expected/get_opensearch-ogc-timeend.xml create mode 100644 tests/functionaltests/suites/atom/expected/get_opensearch-ogc-timestart.xml create mode 100644 tests/functionaltests/suites/atom/expected/get_opensearch.xml create mode 100644 tests/functionaltests/suites/atom/expected/post_DescribeRecord.xml create mode 100644 tests/functionaltests/suites/atom/expected/post_GetCapabilities.xml create mode 100644 tests/functionaltests/suites/atom/expected/post_GetRecords-filter-bbox.xml create mode 100644 tests/functionaltests/suites/atom/get/requests.txt create mode 100644 tests/functionaltests/suites/atom/post/DescribeRecord.xml create mode 100644 tests/functionaltests/suites/atom/post/GetCapabilities.xml create mode 100644 tests/functionaltests/suites/atom/post/GetRecords-filter-bbox.xml create mode 100644 tests/functionaltests/suites/cite/data/README.txt create mode 100644 tests/functionaltests/suites/cite/data/Record_19887a8a-f6b0-4a63-ae56-7fba0e17801f.xml create mode 100644 tests/functionaltests/suites/cite/data/Record_1ef30a8b-876d-4828-9246-c37ab4510bbd.xml create mode 100644 tests/functionaltests/suites/cite/data/Record_66ae76b7-54ba-489b-a582-0f0633d96493.xml create mode 100644 tests/functionaltests/suites/cite/data/Record_6a3de50b-fa66-4b58-a0e6-ca146fdd18d4.xml create mode 100644 tests/functionaltests/suites/cite/data/Record_784e2afd-a9fd-44a6-9a92-a3848371c8ec.xml create mode 100644 tests/functionaltests/suites/cite/data/Record_829babb0-b2f1-49e1-8cd5-7b489fe71a1e.xml create mode 100644 tests/functionaltests/suites/cite/data/Record_88247b56-4cbc-4df9-9860-db3f8042e357.xml create mode 100644 tests/functionaltests/suites/cite/data/Record_94bc9c83-97f6-4b40-9eb8-a8e8787a5c63.xml create mode 100644 tests/functionaltests/suites/cite/data/Record_9a669547-b69b-469f-a11f-2d875366bbdc.xml create mode 100644 tests/functionaltests/suites/cite/data/Record_a06af396-3105-442d-8b40-22b57a90d2f2.xml create mode 100644 tests/functionaltests/suites/cite/data/Record_ab42a8c4-95e8-4630-bf79-33e59241605a.xml create mode 100644 tests/functionaltests/suites/cite/data/Record_e9330592-0932-474b-be34-c3a3bb67c7db.xml create mode 100644 tests/functionaltests/suites/cite/data/cite.db create mode 100644 tests/functionaltests/suites/cite/default.cfg create mode 100644 tests/functionaltests/suites/cite/expected/get_27e17158-c57a-4493-92ac-dba8934cf462.xml create mode 100644 tests/functionaltests/suites/cite/expected/get_27f69b66-5f05-4311-a89c-73ca55c2686b.xml create mode 100644 tests/functionaltests/suites/cite/expected/get_2ab7d1fa-885b-459f-80e4-b6282eab4f8c.xml create mode 100644 tests/functionaltests/suites/cite/expected/get_37aa90e2-6ff0-420c-af15-8b9463099a73.xml create mode 100644 tests/functionaltests/suites/cite/expected/get_3a8a3c47-455f-4f49-9078-03119f3e70b3.xml create mode 100644 tests/functionaltests/suites/cite/expected/get_4515831f-834a-4699-95f6-ab0c2cbfcfd0.xml create mode 100644 tests/functionaltests/suites/cite/expected/get_477b23a3-baa9-47c8-9541-5fe27735ed49.xml create mode 100644 tests/functionaltests/suites/cite/expected/get_48f26761-3a9d-48db-bee1-da089f5fb857.xml create mode 100644 tests/functionaltests/suites/cite/expected/get_4e38092f-1586-44b8-988e-0acfa5855916.xml create mode 100644 tests/functionaltests/suites/cite/expected/get_55c38f00-2553-42c1-99ab-33edbb561ad7.xml create mode 100644 tests/functionaltests/suites/cite/expected/get_5ab5db18-c87a-4fbf-a8d8-b7289b09ac81.xml create mode 100644 tests/functionaltests/suites/cite/expected/get_6a4f57ca-a1bd-4802-89c2-44860dbdb0f0.xml create mode 100644 tests/functionaltests/suites/cite/expected/get_6c375703-9c00-4aef-bec7-d2e964f849eb.xml create mode 100644 tests/functionaltests/suites/cite/expected/get_80f31def-4185-48b9-983a-960566918eae.xml create mode 100644 tests/functionaltests/suites/cite/expected/get_8e2232ed-05d9-44ae-8b04-0911cbe6a507.xml create mode 100644 tests/functionaltests/suites/cite/expected/get_9697f0aa-3b6a-4125-83a5-61e8826127c4.xml create mode 100644 tests/functionaltests/suites/cite/expected/get_9bfd17fa-15dc-4a10-8fa7-b3cff7013dd7.xml create mode 100644 tests/functionaltests/suites/cite/expected/get_b81c3595-06d6-4693-82ea-1ff8650755ac.xml create mode 100644 tests/functionaltests/suites/cite/expected/get_ba5fc729-3b71-47a0-b7d0-42ec565cd185.xml create mode 100644 tests/functionaltests/suites/cite/expected/get_c4ea754f-c158-4d8d-8253-dc8f86021b52.xml create mode 100644 tests/functionaltests/suites/cite/expected/get_f4692ec5-9547-4a05-88ab-e6154af2640a.xml create mode 100644 tests/functionaltests/suites/cite/expected/get_f997f25e-c865-4d53-a362-0ed1846337f2.xml create mode 100644 tests/functionaltests/suites/cite/expected/post_0c976d98-c896-4b10-b1fe-a22ef50434e7.xml create mode 100644 tests/functionaltests/suites/cite/expected/post_19d2a6ed-be28-4866-ae15-e3bb634486cb.xml create mode 100644 tests/functionaltests/suites/cite/expected/post_1ab55aa3-6685-4595-8ecd-45987a7b8b59.xml create mode 100644 tests/functionaltests/suites/cite/expected/post_1c958b7a-ca09-4c38-98bd-ef1d1d28cc14.xml create mode 100644 tests/functionaltests/suites/cite/expected/post_1c97fc1a-61cd-4c1d-8054-933e17a6c5ee.xml create mode 100644 tests/functionaltests/suites/cite/expected/post_2102a460-5d62-465f-9668-d70b3faafbfa.xml create mode 100644 tests/functionaltests/suites/cite/expected/post_225f455a-0035-486b-a94e-fee7ae881b2b.xml create mode 100644 tests/functionaltests/suites/cite/expected/post_2d53ffea-60e4-4652-abf5-36eb23042fd5.xml create mode 100644 tests/functionaltests/suites/cite/expected/post_34a019a9-1581-42cb-9827-fbfdda2773b7.xml create mode 100644 tests/functionaltests/suites/cite/expected/post_3e76fd38-e035-41c9-83dc-61356f680c97.xml create mode 100644 tests/functionaltests/suites/cite/expected/post_418a6fb0-a89c-4a94-afc9-3f8168eb2980.xml create mode 100644 tests/functionaltests/suites/cite/expected/post_420b745e-0c4b-404e-9f2d-61fa580ff05a.xml create mode 100644 tests/functionaltests/suites/cite/expected/post_4735d649-a2b1-42fd-a101-14e1d7e4607f.xml create mode 100644 tests/functionaltests/suites/cite/expected/post_5c5861bc-f742-40a5-9998-5342615d674b.xml create mode 100644 tests/functionaltests/suites/cite/expected/post_6e736fd0-c266-4852-9eb3-0656f5d0f5c4.xml create mode 100644 tests/functionaltests/suites/cite/expected/post_73f1551c-e269-4ef9-9dae-e535b5eebfc7.xml create mode 100644 tests/functionaltests/suites/cite/expected/post_78297c88-4850-4927-adc6-511cd9a3d539.xml create mode 100644 tests/functionaltests/suites/cite/expected/post_7c89cdf5-0def-4cfb-8c55-2b8ffea5d92f.xml create mode 100644 tests/functionaltests/suites/cite/expected/post_7e2cd105-daec-4d25-bc8e-d49d21364912.xml create mode 100644 tests/functionaltests/suites/cite/expected/post_87f2f670-9cd6-4907-b82c-1b46a7dd2a78.xml create mode 100644 tests/functionaltests/suites/cite/expected/post_88b4e1ba-3bd4-4cbe-81e5-e004056d6ca3.xml create mode 100644 tests/functionaltests/suites/cite/expected/post_898cd63b-2585-4ec0-8720-d554bd324174.xml create mode 100644 tests/functionaltests/suites/cite/expected/post_8fb13dc3-5818-45e2-9e29-46abc16e7d38.xml create mode 100644 tests/functionaltests/suites/cite/expected/post_928c1896-52d4-4ac7-9832-f98e3eb65f02.xml create mode 100644 tests/functionaltests/suites/cite/expected/post_93bdbb9d-2734-4f01-92fb-48634cca41de.xml create mode 100644 tests/functionaltests/suites/cite/expected/post_948b39d5-bb4f-45b8-a8f2-4ff9501aaedd.xml create mode 100644 tests/functionaltests/suites/cite/expected/post_9fd64fcc-f69c-4626-b72e-5c7776a29aa9.xml create mode 100644 tests/functionaltests/suites/cite/expected/post_a06d04ab-e0d0-4a86-bfe8-71460f41fe37.xml create mode 100644 tests/functionaltests/suites/cite/expected/post_ad61686c-d304-42d1-b845-8c1f3070c83e.xml create mode 100644 tests/functionaltests/suites/cite/expected/post_af39c020-7b1d-429c-b474-f45c3164cb79.xml create mode 100644 tests/functionaltests/suites/cite/expected/post_b90e2de6-3d25-4298-a13e-dc9492a8fc73.xml create mode 100644 tests/functionaltests/suites/cite/expected/post_ba9b0107-dcee-46ef-823a-a2e25a911a96.xml create mode 100644 tests/functionaltests/suites/cite/expected/post_bb66ebc5-7121-48b5-9f53-b56537d9561b.xml create mode 100644 tests/functionaltests/suites/cite/expected/post_c02d1c85-df9f-45ee-bea7-345c35e02a98.xml create mode 100644 tests/functionaltests/suites/cite/expected/post_c311a342-72e3-4983-be39-868e6ed9740f.xml create mode 100644 tests/functionaltests/suites/cite/expected/post_c38916c2-4bc6-446d-b7aa-ab006d6ba31c.xml create mode 100644 tests/functionaltests/suites/cite/expected/post_c8588f47-8e65-45f5-ad34-ff4524cad84d.xml create mode 100644 tests/functionaltests/suites/cite/expected/post_da228d4c-e1be-43d7-9ccb-c3f27ee32541.xml create mode 100644 tests/functionaltests/suites/cite/expected/post_dc92c2c4-87d8-4a13-964e-ff9b0e0c27b3.xml create mode 100644 tests/functionaltests/suites/cite/expected/post_dcb13791-379e-4739-bcd4-dbaa69f0efdb.xml create mode 100644 tests/functionaltests/suites/cite/expected/post_e308f030-c097-4036-a838-44bad74c9ef7.xml create mode 100644 tests/functionaltests/suites/cite/expected/post_e6e9efb2-e2b7-4b0a-a3a2-7deea3f9b8e2.xml create mode 100644 tests/functionaltests/suites/cite/expected/post_f7976c55-a156-4421-8199-bc0487da4b0f.xml create mode 100644 tests/functionaltests/suites/cite/expected/post_f7d79701-f10b-4087-a33c-f62df0a04fd1.xml create mode 100644 tests/functionaltests/suites/cite/expected/post_fc1bc094-88f1-4851-bc2b-dfc56be9f3c7.xml create mode 100644 tests/functionaltests/suites/cite/expected/post_fe20960f-a26c-4f13-852d-470a0d3233f9.xml create mode 100644 tests/functionaltests/suites/cite/get/requests.txt create mode 100644 tests/functionaltests/suites/cite/post/0c976d98-c896-4b10-b1fe-a22ef50434e7.xml create mode 100644 tests/functionaltests/suites/cite/post/19d2a6ed-be28-4866-ae15-e3bb634486cb.xml create mode 100644 tests/functionaltests/suites/cite/post/1ab55aa3-6685-4595-8ecd-45987a7b8b59.xml create mode 100644 tests/functionaltests/suites/cite/post/1c958b7a-ca09-4c38-98bd-ef1d1d28cc14.xml create mode 100644 tests/functionaltests/suites/cite/post/1c97fc1a-61cd-4c1d-8054-933e17a6c5ee.xml create mode 100644 tests/functionaltests/suites/cite/post/2102a460-5d62-465f-9668-d70b3faafbfa.xml create mode 100644 tests/functionaltests/suites/cite/post/225f455a-0035-486b-a94e-fee7ae881b2b.xml create mode 100644 tests/functionaltests/suites/cite/post/2d53ffea-60e4-4652-abf5-36eb23042fd5.xml create mode 100644 tests/functionaltests/suites/cite/post/34a019a9-1581-42cb-9827-fbfdda2773b7.xml create mode 100644 tests/functionaltests/suites/cite/post/3e76fd38-e035-41c9-83dc-61356f680c97.xml create mode 100644 tests/functionaltests/suites/cite/post/418a6fb0-a89c-4a94-afc9-3f8168eb2980.xml create mode 100644 tests/functionaltests/suites/cite/post/420b745e-0c4b-404e-9f2d-61fa580ff05a.xml create mode 100644 tests/functionaltests/suites/cite/post/4735d649-a2b1-42fd-a101-14e1d7e4607f.xml create mode 100644 tests/functionaltests/suites/cite/post/5c5861bc-f742-40a5-9998-5342615d674b.xml create mode 100644 tests/functionaltests/suites/cite/post/6e736fd0-c266-4852-9eb3-0656f5d0f5c4.xml create mode 100644 tests/functionaltests/suites/cite/post/73f1551c-e269-4ef9-9dae-e535b5eebfc7.xml create mode 100644 tests/functionaltests/suites/cite/post/78297c88-4850-4927-adc6-511cd9a3d539.xml create mode 100644 tests/functionaltests/suites/cite/post/7c89cdf5-0def-4cfb-8c55-2b8ffea5d92f.xml create mode 100644 tests/functionaltests/suites/cite/post/7e2cd105-daec-4d25-bc8e-d49d21364912.xml create mode 100644 tests/functionaltests/suites/cite/post/87f2f670-9cd6-4907-b82c-1b46a7dd2a78.xml create mode 100644 tests/functionaltests/suites/cite/post/88b4e1ba-3bd4-4cbe-81e5-e004056d6ca3.xml create mode 100644 tests/functionaltests/suites/cite/post/898cd63b-2585-4ec0-8720-d554bd324174.xml create mode 100644 tests/functionaltests/suites/cite/post/8fb13dc3-5818-45e2-9e29-46abc16e7d38.xml create mode 100644 tests/functionaltests/suites/cite/post/928c1896-52d4-4ac7-9832-f98e3eb65f02.xml create mode 100644 tests/functionaltests/suites/cite/post/93bdbb9d-2734-4f01-92fb-48634cca41de.xml create mode 100644 tests/functionaltests/suites/cite/post/948b39d5-bb4f-45b8-a8f2-4ff9501aaedd.xml create mode 100644 tests/functionaltests/suites/cite/post/9fd64fcc-f69c-4626-b72e-5c7776a29aa9.xml create mode 100644 tests/functionaltests/suites/cite/post/a06d04ab-e0d0-4a86-bfe8-71460f41fe37.xml create mode 100644 tests/functionaltests/suites/cite/post/ad61686c-d304-42d1-b845-8c1f3070c83e.xml create mode 100644 tests/functionaltests/suites/cite/post/af39c020-7b1d-429c-b474-f45c3164cb79.xml create mode 100644 tests/functionaltests/suites/cite/post/b90e2de6-3d25-4298-a13e-dc9492a8fc73.xml create mode 100644 tests/functionaltests/suites/cite/post/ba9b0107-dcee-46ef-823a-a2e25a911a96.xml create mode 100644 tests/functionaltests/suites/cite/post/bb66ebc5-7121-48b5-9f53-b56537d9561b.xml create mode 100644 tests/functionaltests/suites/cite/post/c02d1c85-df9f-45ee-bea7-345c35e02a98.xml create mode 100644 tests/functionaltests/suites/cite/post/c311a342-72e3-4983-be39-868e6ed9740f.xml create mode 100644 tests/functionaltests/suites/cite/post/c38916c2-4bc6-446d-b7aa-ab006d6ba31c.xml create mode 100644 tests/functionaltests/suites/cite/post/c8588f47-8e65-45f5-ad34-ff4524cad84d.xml create mode 100644 tests/functionaltests/suites/cite/post/da228d4c-e1be-43d7-9ccb-c3f27ee32541.xml create mode 100644 tests/functionaltests/suites/cite/post/dc92c2c4-87d8-4a13-964e-ff9b0e0c27b3.xml create mode 100644 tests/functionaltests/suites/cite/post/dcb13791-379e-4739-bcd4-dbaa69f0efdb.xml create mode 100644 tests/functionaltests/suites/cite/post/e308f030-c097-4036-a838-44bad74c9ef7.xml create mode 100644 tests/functionaltests/suites/cite/post/e6e9efb2-e2b7-4b0a-a3a2-7deea3f9b8e2.xml create mode 100644 tests/functionaltests/suites/cite/post/f7976c55-a156-4421-8199-bc0487da4b0f.xml create mode 100644 tests/functionaltests/suites/cite/post/f7d79701-f10b-4087-a33c-f62df0a04fd1.xml create mode 100644 tests/functionaltests/suites/cite/post/fc1bc094-88f1-4851-bc2b-dfc56be9f3c7.xml create mode 100644 tests/functionaltests/suites/cite/post/fe20960f-a26c-4f13-852d-470a0d3233f9.xml create mode 100644 tests/functionaltests/suites/csw30/default.cfg create mode 100644 tests/functionaltests/suites/csw30/expected/get_002258f0-627f-457f-b2ad-025777c77ac8.xml create mode 100644 tests/functionaltests/suites/csw30/expected/get_045c600d-973d-41eb-9f60-eba1b717b720.xml create mode 100644 tests/functionaltests/suites/csw30/expected/get_0bbcf862-5211-4351-9988-63f8bec49c98.xml create mode 100644 tests/functionaltests/suites/csw30/expected/get_0bdf8457-971e-4ed1-be4a-5feca4dcd8fa.xml create mode 100644 tests/functionaltests/suites/csw30/expected/get_0d8bbdec-0846-42ca-8dc8-b7f4cba41d67.xml create mode 100644 tests/functionaltests/suites/csw30/expected/get_0e1dca37-477a-4060-99fe-7799b52d656c.xml create mode 100644 tests/functionaltests/suites/csw30/expected/get_13c87956-51a4-4780-a8e9-6e0b5c0bb473.xml create mode 100644 tests/functionaltests/suites/csw30/expected/get_151d982f-ebd3-4cb2-b507-a667713a1e92.xml create mode 100644 tests/functionaltests/suites/csw30/expected/get_1869e495-1a61-4713-8285-76d1336ee1a6.xml create mode 100644 tests/functionaltests/suites/csw30/expected/get_1bcb42a9-538c-4f0a-9d4c-d6f10b720aa6.xml create mode 100644 tests/functionaltests/suites/csw30/expected/get_22f44168-2ccf-4801-ad96-204212566d56.xml create mode 100644 tests/functionaltests/suites/csw30/expected/get_2499a9c9-8d33-449c-bc92-d494adfcc84d.xml create mode 100644 tests/functionaltests/suites/csw30/expected/get_27f4f39c-d92a-4e3c-b961-c6aa8c24e513.xml create mode 100644 tests/functionaltests/suites/csw30/expected/get_28e569df-8596-4128-8d9a-29ad03138915.xml create mode 100644 tests/functionaltests/suites/csw30/expected/get_2b06a5c8-0df2-4af1-8d2e-a425de11c845.xml create mode 100644 tests/functionaltests/suites/csw30/expected/get_2ba1418a-444d-4cce-9cfe-4c94efcf8b55.xml create mode 100644 tests/functionaltests/suites/csw30/expected/get_397fe17a-d5b4-4f96-8cc4-4ce467ed4d0a.xml create mode 100644 tests/functionaltests/suites/csw30/expected/get_3dcd1b15-73d2-4b7d-a3e3-ff15bf14aae4.xml create mode 100644 tests/functionaltests/suites/csw30/expected/get_405e1ff1-5c75-4846-a28b-cfaff2a6921a.xml create mode 100644 tests/functionaltests/suites/csw30/expected/get_43cd6471-6ac7-45bd-8ff9-148cb2de9a52.xml create mode 100644 tests/functionaltests/suites/csw30/expected/get_4566d2ec-1283-4a02-baed-a74fc5b47e37.xml create mode 100644 tests/functionaltests/suites/csw30/expected/get_461bd4c5-6623-490d-9036-d91a2201e87b.xml create mode 100644 tests/functionaltests/suites/csw30/expected/get_5496894a-3877-4f62-a20b-5d7126f94925.xml create mode 100644 tests/functionaltests/suites/csw30/expected/get_5a015f6a-bf14-4977-b1e3-6577eb0223c8.xml create mode 100644 tests/functionaltests/suites/csw30/expected/get_5c3a2390-1fb9-43f0-b96c-f48c7a69c990.xml create mode 100644 tests/functionaltests/suites/csw30/expected/get_5e9e67dc-18d6-4645-8111-c6263c88a61f.xml create mode 100644 tests/functionaltests/suites/csw30/expected/get_604d9379-741c-42e5-b4cf-92e56c87fa64.xml create mode 100644 tests/functionaltests/suites/csw30/expected/get_60e6af95-d5fc-465a-82e2-fd2e6d85e4af.xml create mode 100644 tests/functionaltests/suites/csw30/expected/get_62ad94c2-b558-4265-a427-23d6677975d6.xml create mode 100644 tests/functionaltests/suites/csw30/expected/get_6a5e247b-0961-4b8a-a0d6-35a491d9cfe7.xml create mode 100644 tests/functionaltests/suites/csw30/expected/get_6a9d0558-9d87-495b-b999-b49a3ef1cf99.xml create mode 100644 tests/functionaltests/suites/csw30/expected/get_6bd790c9-6019-4652-9c91-330a894d6700.xml create mode 100644 tests/functionaltests/suites/csw30/expected/get_6e9cba43-5e27-415d-adbd-a92851c2c173.xml create mode 100644 tests/functionaltests/suites/csw30/expected/get_7630d230-e142-4a09-accf-f091000b90cd.xml create mode 100644 tests/functionaltests/suites/csw30/expected/get_7e82446a-b5dc-43fe-9a73-4cc1f2f2f0bf.xml create mode 100644 tests/functionaltests/suites/csw30/expected/get_8025978e-1a35-4d70-80c2-e8329e0c7864.xml create mode 100644 tests/functionaltests/suites/csw30/expected/get_8184ae4f-536d-4978-8b28-ad703be96967.xml create mode 100644 tests/functionaltests/suites/csw30/expected/get_88f63a89-664f-4315-b4f8-04a0b33803a7.xml create mode 100644 tests/functionaltests/suites/csw30/expected/get_8987f8f0-4d93-4481-968c-a2ccbd6b8be2.xml create mode 100644 tests/functionaltests/suites/csw30/expected/get_8e5fa0f6-3f29-4d1f-abe2-d9866f3def98.xml create mode 100644 tests/functionaltests/suites/csw30/expected/get_9000ec29-5649-474e-b2d6-55c00f8a52c0.xml create mode 100644 tests/functionaltests/suites/csw30/expected/get_91914d35-7bbf-45e6-9b37-5ef484869a4e.xml create mode 100644 tests/functionaltests/suites/csw30/expected/get_92d4844d-57d5-4cf3-8f47-ba50e369dc04.xml create mode 100644 tests/functionaltests/suites/csw30/expected/get_9c0e2a4b-b4e6-41c0-b630-c8c99fc89ff3.xml create mode 100644 tests/functionaltests/suites/csw30/expected/get_9d7ffac8-9798-428d-8e27-3cd12497ee6b.xml create mode 100644 tests/functionaltests/suites/csw30/expected/get_Exception-GetDomain-value-reference.xml create mode 100644 tests/functionaltests/suites/csw30/expected/get_Exception-GetDomain.xml create mode 100644 tests/functionaltests/suites/csw30/expected/get_Exception-GetRecordById-404.xml create mode 100644 tests/functionaltests/suites/csw30/expected/get_Exception-GetRecordById-dc.xml.xml create mode 100644 tests/functionaltests/suites/csw30/expected/get_Exception-GetRepositoryItem-notfound.xml create mode 100644 tests/functionaltests/suites/csw30/expected/get_Exception-invalid-request.xml create mode 100644 tests/functionaltests/suites/csw30/expected/get_GetCapabilities-base-url.xml create mode 100644 tests/functionaltests/suites/csw30/expected/get_GetCapabilities-no-version.xml create mode 100644 tests/functionaltests/suites/csw30/expected/get_GetCapabilities.xml create mode 100644 tests/functionaltests/suites/csw30/expected/get_GetDomain-parameter.xml create mode 100644 tests/functionaltests/suites/csw30/expected/get_GetDomain-value-reference.xml create mode 100644 tests/functionaltests/suites/csw30/expected/get_GetRepositoryItem.xml create mode 100644 tests/functionaltests/suites/csw30/expected/get_OpenSearch-description.xml create mode 100644 tests/functionaltests/suites/csw30/expected/get_a2f18643-e24e-4fa5-b780-6de4a2dbc814.xml create mode 100644 tests/functionaltests/suites/csw30/expected/get_abc90c8c-5868-4405-a73e-64c849be3b2a.xml create mode 100644 tests/functionaltests/suites/csw30/expected/get_ad0c0571-09ed-436a-9a4f-a5de744c88fe.xml create mode 100644 tests/functionaltests/suites/csw30/expected/get_af502903-f4ee-47ee-b76e-af878d238bcc.xml create mode 100644 tests/functionaltests/suites/csw30/expected/get_b2aafc3f-4f35-47bc-affd-08590972deae.xml create mode 100644 tests/functionaltests/suites/csw30/expected/get_b6069623-f7d8-4021-8582-98f0aea0f763.xml create mode 100644 tests/functionaltests/suites/csw30/expected/get_b9a07a54-75a8-45bd-b341-2823600211e3.xml create mode 100644 tests/functionaltests/suites/csw30/expected/get_baa4a7d0-0c01-42b6-adc3-0d03e9949fa3.xml create mode 100644 tests/functionaltests/suites/csw30/expected/get_bfbe6409-f64a-4c89-acb3-50f260a5c743.xml create mode 100644 tests/functionaltests/suites/csw30/expected/get_bfe20134-d1da-42ef-9c0f-8e1307bbf92b.xml create mode 100644 tests/functionaltests/suites/csw30/expected/get_c03d173a-3f42-4956-89c8-1fe02c3a0873.xml create mode 100644 tests/functionaltests/suites/csw30/expected/get_cb43d8c3-e14c-4a9f-9231-4384b7dd21f3.xml create mode 100644 tests/functionaltests/suites/csw30/expected/get_d03c6fd3-e821-4a26-b62f-d20a474e25af.xml create mode 100644 tests/functionaltests/suites/csw30/expected/get_d4ccbf96-a529-480e-a53d-5b88dc1dea7f.xml create mode 100644 tests/functionaltests/suites/csw30/expected/get_d94c801a-1207-4897-b84a-53f3a192515b.xml create mode 100644 tests/functionaltests/suites/csw30/expected/get_da859e34-91fc-495a-8c09-285a40c0900b.xml create mode 100644 tests/functionaltests/suites/csw30/expected/get_dc246fb8-5af5-4fda-82bb-c18b3ecd439c.xml create mode 100644 tests/functionaltests/suites/csw30/expected/get_de016645-6d5c-4855-943c-2db07ae9f49a.xml create mode 100644 tests/functionaltests/suites/csw30/expected/get_dff3ec6b-bb2d-4887-bd17-8fcf15def042.xml create mode 100644 tests/functionaltests/suites/csw30/expected/get_e38e6bfb-8ac4-4ae4-8b87-0aafbc8d3c6b.xml create mode 100644 tests/functionaltests/suites/csw30/expected/get_e67ca935-d65d-4d8c-8302-1405333dded0.xml create mode 100644 tests/functionaltests/suites/csw30/expected/get_e7704509-3441-458f-8ef0-e333c6b6043f.xml create mode 100644 tests/functionaltests/suites/csw30/expected/get_f1223a49-6d08-44ff-97fe-4c32cbbfad82.xml create mode 100644 tests/functionaltests/suites/csw30/expected/get_f89dd4e1-3a81-4433-afd2-a3fa1bdb1e18.xml create mode 100644 tests/functionaltests/suites/csw30/expected/post_Exception-GetDomain-parametername-bad.xml create mode 100644 tests/functionaltests/suites/csw30/expected/post_Exception-GetDomain-valuereference-bad.xml create mode 100644 tests/functionaltests/suites/csw30/expected/post_Exception-GetRecordById-404.xml create mode 100644 tests/functionaltests/suites/csw30/expected/post_Exception-GetRecordById-bad-esn.xml create mode 100644 tests/functionaltests/suites/csw30/expected/post_Exception-bad-xml.xml create mode 100644 tests/functionaltests/suites/csw30/expected/post_Exception-not-xml.xml create mode 100644 tests/functionaltests/suites/csw30/expected/post_GetCapabilities.xml create mode 100644 tests/functionaltests/suites/csw30/expected/post_GetDomain-parametername.xml create mode 100644 tests/functionaltests/suites/csw30/expected/post_GetDomain-valuereference.xml create mode 100644 tests/functionaltests/suites/csw30/expected/post_GetRecordById-dc-full.xml create mode 100644 tests/functionaltests/suites/csw30/expected/post_GetRecordById-dc.xml create mode 100644 tests/functionaltests/suites/csw30/get/requests.txt create mode 100644 tests/functionaltests/suites/csw30/post/Exception-GetDomain-parametername-bad.xml create mode 100644 tests/functionaltests/suites/csw30/post/Exception-GetDomain-valuereference-bad.xml create mode 100644 tests/functionaltests/suites/csw30/post/Exception-GetRecordById-404.xml create mode 100644 tests/functionaltests/suites/csw30/post/Exception-GetRecordById-bad-esn.xml create mode 100644 tests/functionaltests/suites/csw30/post/Exception-bad-xml.xml create mode 100644 tests/functionaltests/suites/csw30/post/Exception-not-xml.xml create mode 100644 tests/functionaltests/suites/csw30/post/GetCapabilities.xml create mode 100644 tests/functionaltests/suites/csw30/post/GetDomain-parametername.xml create mode 100644 tests/functionaltests/suites/csw30/post/GetDomain-valuereference.xml create mode 100644 tests/functionaltests/suites/csw30/post/GetRecordById-dc-full.xml create mode 100644 tests/functionaltests/suites/csw30/post/GetRecordById-dc.xml create mode 100644 tests/functionaltests/suites/default/default.cfg create mode 100644 tests/functionaltests/suites/default/expected/get_Exception-GetRepositoryItem-notfound.xml create mode 100644 tests/functionaltests/suites/default/expected/get_Exception-GetRepositoryItem-service-invalid1.xml create mode 100644 tests/functionaltests/suites/default/expected/get_Exception-GetRepositoryItem-service-invalid2.xml create mode 100644 tests/functionaltests/suites/default/expected/get_Exception-GetRepositoryItem-version-invalid.xml create mode 100644 tests/functionaltests/suites/default/expected/get_GetCapabilities-invalid-request.xml create mode 100644 tests/functionaltests/suites/default/expected/get_GetCapabilities.xml create mode 100644 tests/functionaltests/suites/default/expected/get_GetRecords-all.xml create mode 100644 tests/functionaltests/suites/default/expected/get_GetRecords-empty-maxrecords.xml create mode 100644 tests/functionaltests/suites/default/expected/get_GetRecords-filter-cql-title-or-abstract-with-spaces.xml create mode 100644 tests/functionaltests/suites/default/expected/get_GetRecords-filter-cql-title-or-abstract.xml create mode 100644 tests/functionaltests/suites/default/expected/get_GetRecords-filter-cql-title-with-spaces-or-abstract-with-spaces.xml create mode 100644 tests/functionaltests/suites/default/expected/get_GetRecords-filter-cql-title-with-spaces-or-abstract.xml create mode 100644 tests/functionaltests/suites/default/expected/get_GetRecords-filter-cql-title-with-spaces.xml create mode 100644 tests/functionaltests/suites/default/expected/get_GetRecords-filter-cql-title.xml create mode 100644 tests/functionaltests/suites/default/expected/get_GetRecords-filter.xml create mode 100644 tests/functionaltests/suites/default/expected/get_GetRecords-sortby-asc.xml create mode 100644 tests/functionaltests/suites/default/expected/get_GetRecords-sortby-desc.xml create mode 100644 tests/functionaltests/suites/default/expected/get_GetRecords-sortby-invalid-order.xml create mode 100644 tests/functionaltests/suites/default/expected/get_GetRecords-sortby-invalid-propertyname.xml create mode 100644 tests/functionaltests/suites/default/expected/get_GetRepositoryItem.xml create mode 100644 tests/functionaltests/suites/default/expected/post_DescribeRecord-json.xml create mode 100644 tests/functionaltests/suites/default/expected/post_DescribeRecord.xml create mode 100644 tests/functionaltests/suites/default/expected/post_Exception-GetRecords-badsrsname.xml create mode 100644 tests/functionaltests/suites/default/expected/post_Exception-GetRecords-elementname.xml create mode 100644 tests/functionaltests/suites/default/expected/post_Exception-GetRecords-invalid-xml.xml create mode 100644 tests/functionaltests/suites/default/expected/post_GetCapabilities-SOAP.xml create mode 100644 tests/functionaltests/suites/default/expected/post_GetCapabilities-sections.xml create mode 100644 tests/functionaltests/suites/default/expected/post_GetCapabilities-updatesequence.xml create mode 100644 tests/functionaltests/suites/default/expected/post_GetCapabilities.xml create mode 100644 tests/functionaltests/suites/default/expected/post_GetDomain-parameter.xml create mode 100644 tests/functionaltests/suites/default/expected/post_GetDomain-property.xml create mode 100644 tests/functionaltests/suites/default/expected/post_GetRecordById-json.xml create mode 100644 tests/functionaltests/suites/default/expected/post_GetRecordById.xml create mode 100644 tests/functionaltests/suites/default/expected/post_GetRecords-all-json.xml create mode 100644 tests/functionaltests/suites/default/expected/post_GetRecords-all-resulttype-hits.xml create mode 100644 tests/functionaltests/suites/default/expected/post_GetRecords-all-resulttype-validate.xml create mode 100644 tests/functionaltests/suites/default/expected/post_GetRecords-all-sortby-bbox.xml create mode 100644 tests/functionaltests/suites/default/expected/post_GetRecords-all.xml create mode 100644 tests/functionaltests/suites/default/expected/post_GetRecords-bbox-filter-crs84.xml create mode 100644 tests/functionaltests/suites/default/expected/post_GetRecords-cql-title-and-abstract.xml create mode 100644 tests/functionaltests/suites/default/expected/post_GetRecords-cql-title.xml create mode 100644 tests/functionaltests/suites/default/expected/post_GetRecords-distributedsearch.xml create mode 100644 tests/functionaltests/suites/default/expected/post_GetRecords-elementname.xml create mode 100644 tests/functionaltests/suites/default/expected/post_GetRecords-end.xml create mode 100644 tests/functionaltests/suites/default/expected/post_GetRecords-filter-and-bbox-freetext.xml create mode 100644 tests/functionaltests/suites/default/expected/post_GetRecords-filter-and-nested-or.xml create mode 100644 tests/functionaltests/suites/default/expected/post_GetRecords-filter-and-nested-or2.xml create mode 100644 tests/functionaltests/suites/default/expected/post_GetRecords-filter-anytext-and-not.xml create mode 100644 tests/functionaltests/suites/default/expected/post_GetRecords-filter-anytext-equal.xml create mode 100644 tests/functionaltests/suites/default/expected/post_GetRecords-filter-anytext.xml create mode 100644 tests/functionaltests/suites/default/expected/post_GetRecords-filter-bbox-reproject.xml create mode 100644 tests/functionaltests/suites/default/expected/post_GetRecords-filter-bbox-sortby.xml create mode 100644 tests/functionaltests/suites/default/expected/post_GetRecords-filter-bbox.xml create mode 100644 tests/functionaltests/suites/default/expected/post_GetRecords-filter-between.xml create mode 100644 tests/functionaltests/suites/default/expected/post_GetRecords-filter-function-bad.xml create mode 100644 tests/functionaltests/suites/default/expected/post_GetRecords-filter-function.xml create mode 100644 tests/functionaltests/suites/default/expected/post_GetRecords-filter-not-bbox.xml create mode 100644 tests/functionaltests/suites/default/expected/post_GetRecords-filter-or-bbox-freetext.xml create mode 100644 tests/functionaltests/suites/default/expected/post_GetRecords-filter-or-nested-and.xml create mode 100644 tests/functionaltests/suites/default/expected/post_GetRecords-filter-or-title-abstract.xml create mode 100644 tests/functionaltests/suites/default/expected/post_GetRecords-maxrecords.xml create mode 100644 tests/functionaltests/suites/default/expected/post_GetRecords-requestid.xml create mode 100644 tests/functionaltests/suites/default/expected/post_Harvest-default.xml create mode 100644 tests/functionaltests/suites/default/expected/post_Harvest-response-handler.xml create mode 100644 tests/functionaltests/suites/default/expected/post_Transaction-delete.xml create mode 100644 tests/functionaltests/suites/default/expected/post_Transaction-insert.xml create mode 100644 tests/functionaltests/suites/default/expected/post_Transaction-update-full.xml create mode 100644 tests/functionaltests/suites/default/expected/post_Transaction-update-recordproperty.xml create mode 100644 tests/functionaltests/suites/default/get/requests.txt create mode 100644 tests/functionaltests/suites/default/post/DescribeRecord-json.xml create mode 100644 tests/functionaltests/suites/default/post/DescribeRecord.xml create mode 100644 tests/functionaltests/suites/default/post/Exception-GetRecords-badsrsname.xml create mode 100644 tests/functionaltests/suites/default/post/Exception-GetRecords-elementname.xml create mode 100644 tests/functionaltests/suites/default/post/Exception-GetRecords-invalid-xml.xml create mode 100644 tests/functionaltests/suites/default/post/GetCapabilities-SOAP.xml create mode 100644 tests/functionaltests/suites/default/post/GetCapabilities-sections.xml create mode 100644 tests/functionaltests/suites/default/post/GetCapabilities-updatesequence.xml create mode 100644 tests/functionaltests/suites/default/post/GetCapabilities.xml create mode 100644 tests/functionaltests/suites/default/post/GetDomain-parameter.xml create mode 100644 tests/functionaltests/suites/default/post/GetDomain-property.xml create mode 100644 tests/functionaltests/suites/default/post/GetRecordById-json.xml create mode 100644 tests/functionaltests/suites/default/post/GetRecordById.xml create mode 100644 tests/functionaltests/suites/default/post/GetRecords-all-json.xml create mode 100644 tests/functionaltests/suites/default/post/GetRecords-all-resulttype-hits.xml create mode 100644 tests/functionaltests/suites/default/post/GetRecords-all-resulttype-validate.xml create mode 100644 tests/functionaltests/suites/default/post/GetRecords-all-sortby-bbox.xml create mode 100644 tests/functionaltests/suites/default/post/GetRecords-all.xml create mode 100644 tests/functionaltests/suites/default/post/GetRecords-bbox-filter-crs84.xml create mode 100644 tests/functionaltests/suites/default/post/GetRecords-cql-title-and-abstract.xml create mode 100644 tests/functionaltests/suites/default/post/GetRecords-cql-title.xml create mode 100644 tests/functionaltests/suites/default/post/GetRecords-distributedsearch.xml create mode 100644 tests/functionaltests/suites/default/post/GetRecords-elementname.xml create mode 100644 tests/functionaltests/suites/default/post/GetRecords-end.xml create mode 100644 tests/functionaltests/suites/default/post/GetRecords-filter-and-bbox-freetext.xml create mode 100644 tests/functionaltests/suites/default/post/GetRecords-filter-and-nested-or.xml create mode 100644 tests/functionaltests/suites/default/post/GetRecords-filter-and-nested-or2.xml create mode 100644 tests/functionaltests/suites/default/post/GetRecords-filter-anytext-and-not.xml create mode 100644 tests/functionaltests/suites/default/post/GetRecords-filter-anytext-equal.xml create mode 100644 tests/functionaltests/suites/default/post/GetRecords-filter-anytext.xml create mode 100644 tests/functionaltests/suites/default/post/GetRecords-filter-bbox-reproject.xml create mode 100644 tests/functionaltests/suites/default/post/GetRecords-filter-bbox-sortby.xml create mode 100644 tests/functionaltests/suites/default/post/GetRecords-filter-bbox.xml create mode 100644 tests/functionaltests/suites/default/post/GetRecords-filter-between.xml create mode 100644 tests/functionaltests/suites/default/post/GetRecords-filter-function-bad.xml create mode 100644 tests/functionaltests/suites/default/post/GetRecords-filter-function.xml create mode 100644 tests/functionaltests/suites/default/post/GetRecords-filter-not-bbox.xml create mode 100644 tests/functionaltests/suites/default/post/GetRecords-filter-or-bbox-freetext.xml create mode 100644 tests/functionaltests/suites/default/post/GetRecords-filter-or-nested-and.xml create mode 100644 tests/functionaltests/suites/default/post/GetRecords-filter-or-title-abstract.xml create mode 100644 tests/functionaltests/suites/default/post/GetRecords-maxrecords.xml create mode 100644 tests/functionaltests/suites/default/post/GetRecords-requestid.xml create mode 100644 tests/functionaltests/suites/default/post/Harvest-default.xml create mode 100644 tests/functionaltests/suites/default/post/Harvest-response-handler.xml create mode 100644 tests/functionaltests/suites/default/post/Transaction-delete.xml create mode 100644 tests/functionaltests/suites/default/post/Transaction-insert.xml create mode 100644 tests/functionaltests/suites/default/post/Transaction-update-full.xml create mode 100644 tests/functionaltests/suites/default/post/Transaction-update-recordproperty.xml create mode 100644 tests/functionaltests/suites/dif/default.cfg create mode 100644 tests/functionaltests/suites/dif/expected/post_DescribeRecord.xml create mode 100644 tests/functionaltests/suites/dif/expected/post_GetCapabilities.xml create mode 100644 tests/functionaltests/suites/dif/expected/post_GetRecords-filter-bbox.xml create mode 100644 tests/functionaltests/suites/dif/post/DescribeRecord.xml create mode 100644 tests/functionaltests/suites/dif/post/GetCapabilities.xml create mode 100644 tests/functionaltests/suites/dif/post/GetRecords-filter-bbox.xml create mode 100644 tests/functionaltests/suites/ebrim/default.cfg create mode 100644 tests/functionaltests/suites/ebrim/expected/post_DescribeRecord.xml create mode 100644 tests/functionaltests/suites/ebrim/expected/post_GetCapabilities.xml create mode 100644 tests/functionaltests/suites/ebrim/expected/post_GetRecords-filter-bbox-full.xml create mode 100644 tests/functionaltests/suites/ebrim/expected/post_GetRecords-filter-bbox.xml create mode 100644 tests/functionaltests/suites/ebrim/post/DescribeRecord.xml create mode 100644 tests/functionaltests/suites/ebrim/post/GetCapabilities.xml create mode 100644 tests/functionaltests/suites/ebrim/post/GetRecords-filter-bbox-full.xml create mode 100644 tests/functionaltests/suites/ebrim/post/GetRecords-filter-bbox.xml create mode 100644 tests/functionaltests/suites/fgdc/default.cfg create mode 100644 tests/functionaltests/suites/fgdc/expected/post_DescribeRecord.xml create mode 100644 tests/functionaltests/suites/fgdc/expected/post_GetCapabilities.xml create mode 100644 tests/functionaltests/suites/fgdc/expected/post_GetRecords-filter-bbox.xml create mode 100644 tests/functionaltests/suites/fgdc/post/DescribeRecord.xml create mode 100644 tests/functionaltests/suites/fgdc/post/GetCapabilities.xml create mode 100644 tests/functionaltests/suites/fgdc/post/GetRecords-filter-bbox.xml create mode 100644 tests/functionaltests/suites/gm03/default.cfg create mode 100644 tests/functionaltests/suites/gm03/expected/post_GetCapabilities.xml create mode 100644 tests/functionaltests/suites/gm03/expected/post_GetRecords-filter-bbox.xml create mode 100644 tests/functionaltests/suites/gm03/post/GetCapabilities.xml create mode 100644 tests/functionaltests/suites/gm03/post/GetRecords-filter-bbox.xml create mode 100644 tests/functionaltests/suites/harvesting/default.cfg create mode 100644 tests/functionaltests/suites/harvesting/expected/get_Exception-Harvest-invalid-resourcetype.xml create mode 100644 tests/functionaltests/suites/harvesting/expected/get_Exception-Harvest-missing-resourcetype.xml create mode 100644 tests/functionaltests/suites/harvesting/expected/get_Exception-Harvest-missing-source.xml create mode 100644 tests/functionaltests/suites/harvesting/expected/get_Exception-Harvest-waf-bad-value.xml create mode 100644 tests/functionaltests/suites/harvesting/expected/get_Exception-Harvest-waf-no-records-found.xml create mode 100644 tests/functionaltests/suites/harvesting/expected/post_Clear-000-delete-all.xml create mode 100644 tests/functionaltests/suites/harvesting/expected/post_Exception-Havest-csw-404.xml create mode 100644 tests/functionaltests/suites/harvesting/expected/post_GetCapabilities.xml create mode 100644 tests/functionaltests/suites/harvesting/expected/post_GetDomain-parameter.xml create mode 100644 tests/functionaltests/suites/harvesting/expected/post_Harvest-csw-iso.xml create mode 100644 tests/functionaltests/suites/harvesting/expected/post_Harvest-csw-run1.xml create mode 100644 tests/functionaltests/suites/harvesting/expected/post_Harvest-csw-run2.xml create mode 100644 tests/functionaltests/suites/harvesting/expected/post_Harvest-dc.xml create mode 100644 tests/functionaltests/suites/harvesting/expected/post_Harvest-fgdc.xml create mode 100644 tests/functionaltests/suites/harvesting/expected/post_Harvest-iso.xml create mode 100644 tests/functionaltests/suites/harvesting/expected/post_Harvest-rdf.xml create mode 100644 tests/functionaltests/suites/harvesting/expected/post_Harvest-sos100.xml create mode 100644 tests/functionaltests/suites/harvesting/expected/post_Harvest-sos200.xml create mode 100644 tests/functionaltests/suites/harvesting/expected/post_Harvest-waf.xml create mode 100644 tests/functionaltests/suites/harvesting/expected/post_Harvest-wcs.xml create mode 100644 tests/functionaltests/suites/harvesting/expected/post_Harvest-wfs110.xml create mode 100644 tests/functionaltests/suites/harvesting/expected/post_Harvest-wfs200.xml create mode 100644 tests/functionaltests/suites/harvesting/expected/post_Harvest-wms-run1.xml create mode 100644 tests/functionaltests/suites/harvesting/expected/post_Harvest-wms-run2.xml create mode 100644 tests/functionaltests/suites/harvesting/expected/post_Harvest-wmts.xml create mode 100644 tests/functionaltests/suites/harvesting/expected/post_Harvest-wps.xml create mode 100644 tests/functionaltests/suites/harvesting/expected/post_Harvest-zzz-post-GetRecords-filter-ows-dc.xml create mode 100644 tests/functionaltests/suites/harvesting/expected/post_Harvest-zzz-post-GetRecords-filter-sos-abstract-dc.xml create mode 100644 tests/functionaltests/suites/harvesting/expected/post_Harvest-zzz-post-GetRecords-filter-sos-dc.xml create mode 100644 tests/functionaltests/suites/harvesting/expected/post_Harvest-zzz-post-GetRecords-filter-sos-iso.xml create mode 100644 tests/functionaltests/suites/harvesting/expected/post_Harvest-zzz-post-GetRecords-filter-wfs-iso.xml create mode 100644 tests/functionaltests/suites/harvesting/expected/post_Harvest-zzz-post-GetRecords-filter-wms-dc.xml create mode 100644 tests/functionaltests/suites/harvesting/expected/post_Harvest-zzz-post-GetRecords-filter-wms-iso.xml create mode 100644 tests/functionaltests/suites/harvesting/expected/post_Harvest-zzz-post-GetRecords-filter-wms-layer.xml create mode 100644 tests/functionaltests/suites/harvesting/expected/post_Harvest-zzz-post-GetRecords-filter-wps-process.xml create mode 100644 tests/functionaltests/suites/harvesting/expected/post_Transaction-000-delete-all.xml create mode 100644 tests/functionaltests/suites/harvesting/get/requests.txt create mode 100644 tests/functionaltests/suites/harvesting/post/Clear-000-delete-all.xml create mode 100644 tests/functionaltests/suites/harvesting/post/Exception-Havest-csw-404.xml create mode 100644 tests/functionaltests/suites/harvesting/post/GetCapabilities.xml create mode 100644 tests/functionaltests/suites/harvesting/post/GetDomain-parameter.xml create mode 100644 tests/functionaltests/suites/harvesting/post/Harvest-csw-iso.xml create mode 100644 tests/functionaltests/suites/harvesting/post/Harvest-csw-run1.xml create mode 100644 tests/functionaltests/suites/harvesting/post/Harvest-csw-run2.xml create mode 100644 tests/functionaltests/suites/harvesting/post/Harvest-dc.xml create mode 100644 tests/functionaltests/suites/harvesting/post/Harvest-fgdc.xml create mode 100644 tests/functionaltests/suites/harvesting/post/Harvest-iso.xml create mode 100644 tests/functionaltests/suites/harvesting/post/Harvest-rdf.xml create mode 100644 tests/functionaltests/suites/harvesting/post/Harvest-sos100.xml create mode 100644 tests/functionaltests/suites/harvesting/post/Harvest-sos200.xml create mode 100644 tests/functionaltests/suites/harvesting/post/Harvest-waf.xml create mode 100644 tests/functionaltests/suites/harvesting/post/Harvest-wcs.xml create mode 100644 tests/functionaltests/suites/harvesting/post/Harvest-wfs110.xml create mode 100644 tests/functionaltests/suites/harvesting/post/Harvest-wfs200.xml create mode 100644 tests/functionaltests/suites/harvesting/post/Harvest-wms-run1.xml create mode 100644 tests/functionaltests/suites/harvesting/post/Harvest-wms-run2.xml create mode 100644 tests/functionaltests/suites/harvesting/post/Harvest-wmts.xml create mode 100644 tests/functionaltests/suites/harvesting/post/Harvest-wps.xml create mode 100644 tests/functionaltests/suites/harvesting/post/Harvest-zzz-post-GetRecords-filter-ows-dc.xml create mode 100644 tests/functionaltests/suites/harvesting/post/Harvest-zzz-post-GetRecords-filter-sos-abstract-dc.xml create mode 100644 tests/functionaltests/suites/harvesting/post/Harvest-zzz-post-GetRecords-filter-sos-dc.xml create mode 100644 tests/functionaltests/suites/harvesting/post/Harvest-zzz-post-GetRecords-filter-sos-iso.xml create mode 100644 tests/functionaltests/suites/harvesting/post/Harvest-zzz-post-GetRecords-filter-wfs-iso.xml create mode 100644 tests/functionaltests/suites/harvesting/post/Harvest-zzz-post-GetRecords-filter-wms-dc.xml create mode 100644 tests/functionaltests/suites/harvesting/post/Harvest-zzz-post-GetRecords-filter-wms-iso.xml create mode 100644 tests/functionaltests/suites/harvesting/post/Harvest-zzz-post-GetRecords-filter-wms-layer.xml create mode 100644 tests/functionaltests/suites/harvesting/post/Harvest-zzz-post-GetRecords-filter-wps-process.xml create mode 100644 tests/functionaltests/suites/harvesting/post/Transaction-000-delete-all.xml create mode 100644 tests/functionaltests/suites/manager/default.cfg create mode 100644 tests/functionaltests/suites/manager/expected/post_Clear-000-delete-all.xml create mode 100644 tests/functionaltests/suites/manager/expected/post_GetCapabilities.xml create mode 100644 tests/functionaltests/suites/manager/expected/post_GetDomain-parameter.xml create mode 100644 tests/functionaltests/suites/manager/expected/post_Transaction-000-delete-all.xml create mode 100644 tests/functionaltests/suites/manager/expected/post_Transaction-dc-01-insert.xml create mode 100644 tests/functionaltests/suites/manager/expected/post_Transaction-dc-02-update-full.xml create mode 100644 tests/functionaltests/suites/manager/expected/post_Transaction-fgdc-01-insert.xml create mode 100644 tests/functionaltests/suites/manager/expected/post_Transaction-fgdc-02-update-recprop.xml create mode 100644 tests/functionaltests/suites/manager/expected/post_Transaction-fgdc-03-delete-all.xml create mode 100644 tests/functionaltests/suites/manager/expected/post_Transaction-iso-00-delete-all.xml create mode 100644 tests/functionaltests/suites/manager/expected/post_Transaction-iso-01-insert.xml create mode 100644 tests/functionaltests/suites/manager/expected/post_Transaction-iso-02-update-full.xml create mode 100644 tests/functionaltests/suites/manager/expected/post_Transaction-iso-03-update-recprop.xml create mode 100644 tests/functionaltests/suites/manager/expected/post_Transaction-iso-04-update-recprop-no-matches.xml create mode 100644 tests/functionaltests/suites/manager/expected/post_Transaction-iso-05-delete.xml create mode 100644 tests/functionaltests/suites/manager/expected/post_Transaction-xxx-delete-all.xml create mode 100644 tests/functionaltests/suites/manager/post/Clear-000-delete-all.xml create mode 100644 tests/functionaltests/suites/manager/post/GetCapabilities.xml create mode 100644 tests/functionaltests/suites/manager/post/GetDomain-parameter.xml create mode 100644 tests/functionaltests/suites/manager/post/Transaction-000-delete-all.xml create mode 100644 tests/functionaltests/suites/manager/post/Transaction-dc-01-insert.xml create mode 100644 tests/functionaltests/suites/manager/post/Transaction-dc-02-update-full.xml create mode 100644 tests/functionaltests/suites/manager/post/Transaction-fgdc-01-insert.xml create mode 100644 tests/functionaltests/suites/manager/post/Transaction-fgdc-02-update-recprop.xml create mode 100644 tests/functionaltests/suites/manager/post/Transaction-fgdc-03-delete-all.xml create mode 100644 tests/functionaltests/suites/manager/post/Transaction-iso-00-delete-all.xml create mode 100644 tests/functionaltests/suites/manager/post/Transaction-iso-01-insert.xml create mode 100644 tests/functionaltests/suites/manager/post/Transaction-iso-02-update-full.xml create mode 100644 tests/functionaltests/suites/manager/post/Transaction-iso-03-update-recprop.xml create mode 100644 tests/functionaltests/suites/manager/post/Transaction-iso-04-update-recprop-no-matches.xml create mode 100644 tests/functionaltests/suites/manager/post/Transaction-iso-05-delete.xml create mode 100644 tests/functionaltests/suites/manager/post/Transaction-xxx-delete-all.xml create mode 100644 tests/functionaltests/suites/oaipmh/default.cfg create mode 100644 tests/functionaltests/suites/oaipmh/expected/get_GetRecord_bad_metadata_prefix.xml create mode 100644 tests/functionaltests/suites/oaipmh/expected/get_GetRecord_dc.xml create mode 100644 tests/functionaltests/suites/oaipmh/expected/get_GetRecord_iso.xml create mode 100644 tests/functionaltests/suites/oaipmh/expected/get_GetRecord_oai_dc.xml create mode 100644 tests/functionaltests/suites/oaipmh/expected/get_Identify.xml create mode 100644 tests/functionaltests/suites/oaipmh/expected/get_ListIdentifiers_bad_metadata_prefix.xml create mode 100644 tests/functionaltests/suites/oaipmh/expected/get_ListIdentifiers_dc.xml create mode 100644 tests/functionaltests/suites/oaipmh/expected/get_ListIdentifiers_iso.xml create mode 100644 tests/functionaltests/suites/oaipmh/expected/get_ListIdentifiers_missing_metadata_prefix.xml create mode 100644 tests/functionaltests/suites/oaipmh/expected/get_ListIdentifiers_oai_dc.xml create mode 100644 tests/functionaltests/suites/oaipmh/expected/get_ListMetadataFormats.xml create mode 100644 tests/functionaltests/suites/oaipmh/expected/get_ListRecords_dc.xml create mode 100644 tests/functionaltests/suites/oaipmh/expected/get_ListRecords_dc_bad_metadata_prefix.xml create mode 100644 tests/functionaltests/suites/oaipmh/expected/get_ListRecords_iso19139.xml create mode 100644 tests/functionaltests/suites/oaipmh/expected/get_ListRecords_oai_dc.xml create mode 100644 tests/functionaltests/suites/oaipmh/expected/get_ListSets.xml create mode 100644 tests/functionaltests/suites/oaipmh/expected/get_bad_verb.xml create mode 100644 tests/functionaltests/suites/oaipmh/expected/get_empty.xml create mode 100644 tests/functionaltests/suites/oaipmh/expected/get_empty_with_amp.xml create mode 100644 tests/functionaltests/suites/oaipmh/expected/get_illegal_verb.xml create mode 100644 tests/functionaltests/suites/oaipmh/get/requests.txt create mode 100644 tests/functionaltests/suites/repofilter/default.cfg create mode 100644 tests/functionaltests/suites/repofilter/expected/post_GetRecordById-masked.xml create mode 100644 tests/functionaltests/suites/repofilter/expected/post_GetRecords-all.xml create mode 100644 tests/functionaltests/suites/repofilter/post/GetRecordById-masked.xml create mode 100644 tests/functionaltests/suites/repofilter/post/GetRecords-all.xml create mode 100644 tests/functionaltests/suites/sru/default.cfg create mode 100644 tests/functionaltests/suites/sru/expected/get_explain.xml create mode 100644 tests/functionaltests/suites/sru/expected/get_search.xml create mode 100644 tests/functionaltests/suites/sru/expected/get_search_cql.xml create mode 100644 tests/functionaltests/suites/sru/expected/get_search_maxrecords.xml create mode 100644 tests/functionaltests/suites/sru/expected/get_search_startrecord_maxrecords.xml create mode 100644 tests/functionaltests/suites/sru/get/requests.txt create mode 100644 tests/functionaltests/suites/utf-8/default.cfg create mode 100644 tests/functionaltests/suites/utf-8/expected/post_GetCapabilities.xml create mode 100644 tests/functionaltests/suites/utf-8/post/GetCapabilities.xml diff --git a/tests/functionaltests/suites/apiso-inspire/default.cfg b/tests/functionaltests/suites/apiso-inspire/default.cfg new file mode 100644 index 000000000..a72121449 --- /dev/null +++ b/tests/functionaltests/suites/apiso-inspire/default.cfg @@ -0,0 +1,91 @@ +# ================================================================= +# +# Authors: Tom Kralidis +# +# Copyright (c) 2011 Tom Kralidis +# +# Permission is hereby granted, free of charge, to any person +# obtaining a copy of this software and associated documentation +# files (the "Software"), to deal in the Software without +# restriction, including without limitation the rights to use, +# copy, modify, merge, publish, distribute, sublicense, and/or sell +# copies of the Software, and to permit persons to whom the +# Software is furnished to do so, subject to the following +# conditions: +# +# The above copyright notice and this permission notice shall be +# included in all copies or substantial portions of the Software. +# +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +# EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES +# OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +# NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT +# HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, +# WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR +# OTHER DEALINGS IN THE SOFTWARE. +# +# ================================================================= + +[server] +home=. +url=http://localhost/pycsw/csw.py?config=tests/suites/apiso-inspire/default.cfg +mimetype=application/xml; charset=UTF-8 +encoding=UTF-8 +language=en-US +maxrecords=10 +#loglevel=DEBUG +#logfile=/tmp/pycsw.log +#ogc_schemas_base=http://foo +federatedcatalogues=http://geo.data.gov/geoportal/csw/discovery +pretty_print=true +#gzip_compresslevel=8 +#spatial_ranking=true +profiles=apiso + +[manager] +transactions=false +allowed_ips=127.0.0.1 + +[metadata:main] +identification_title=pycsw Geospatial Catalogue +identification_abstract=pycsw is an OGC CSW server implementation written in Python +identification_keywords=catalogue,discovery +identification_keywords_type=theme +identification_fees=None +identification_accessconstraints=None +provider_name=pycsw +provider_url=http://pycsw.org/ +contact_name=Kralidis, Tom +contact_position=Senior Systems Scientist +contact_address=TBA +contact_city=Toronto +contact_stateorprovince=Ontario +contact_postalcode=M9C 3Z9 +contact_country=Canada +contact_phone=+01-416-xxx-xxxx +contact_fax=+01-416-xxx-xxxx +contact_email=tomkralidis@gmail.com +contact_url=http://kralidis.ca/ +contact_hours=0800h - 1600h EST +contact_instructions=During hours of service. Off on weekends. +contact_role=pointOfContact + +[repository] +# sqlite +database=sqlite:///tests/suites/cite/data/records.db +# postgres +#database=postgres://username:password@localhost/pycsw +table=records + +[metadata:inspire] +enabled=true +languages_supported=eng,gre +default_language=eng +date=2011-03-29 +gemet_keywords=Utility and governmental services +conformity_service=notEvaluated +contact_name=National Technical University of Athens +contact_email=tzotsos@gmail.com +temp_extent=2011-02-01/2011-03-30 + diff --git a/tests/functionaltests/suites/apiso-inspire/expected/get_GetCapabilities-lang.xml b/tests/functionaltests/suites/apiso-inspire/expected/get_GetCapabilities-lang.xml new file mode 100644 index 000000000..6ecec21c6 --- /dev/null +++ b/tests/functionaltests/suites/apiso-inspire/expected/get_GetCapabilities-lang.xml @@ -0,0 +1,375 @@ + + + + + pycsw Geospatial Catalogue + pycsw is an OGC CSW server implementation written in Python + + catalogue + discovery + theme + + CSW + 2.0.2 + 3.0.0 + None + None + + + pycsw + + + Kralidis, Tom + Senior Systems Scientist + + + +01-416-xxx-xxxx + +01-416-xxx-xxxx + + + TBA + Toronto + Ontario + M9C 3Z9 + Canada + tomkralidis@gmail.com + + + 0800h - 1600h EST + During hours of service. Off on weekends. + + pointOfContact + + + + + + + + + + + + Filter_Capabilities + OperationsMetadata + ServiceIdentification + ServiceProvider + + + + + + + + + + + application/json + application/xml + + + http://www.w3.org/2001/XMLSchema + http://www.w3.org/TR/xmlschema-1/ + http://www.w3.org/XML/Schema + + + csw:Record + gmd:MD_Metadata + + + + + + + + + + + DescribeRecord.outputFormat + DescribeRecord.schemaLanguage + DescribeRecord.typeName + GetCapabilities.sections + GetRecordById.ElementSetName + GetRecordById.outputFormat + GetRecordById.outputSchema + GetRecords.CONSTRAINTLANGUAGE + GetRecords.ElementSetName + GetRecords.outputFormat + GetRecords.outputSchema + GetRecords.resultType + GetRecords.typeNames + + + + + + + + + + + CQL_TEXT + FILTER + + + brief + full + summary + + + application/json + application/xml + + + http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ + http://www.interlis.ch/INTERLIS2.3 + http://www.isotc211.org/2005/gmd + http://www.opengis.net/cat/csw/2.0.2 + http://www.opengis.net/cat/csw/csdgm + http://www.w3.org/2005/Atom + + + hits + results + validate + + + csw:Record + gmd:MD_Metadata + + + apiso:AccessConstraints + apiso:Classification + apiso:ConditionApplyingToAccessAndUse + apiso:Contributor + apiso:Creator + apiso:Degree + apiso:Lineage + apiso:OtherConstraints + apiso:Publisher + apiso:Relation + apiso:ResponsiblePartyRole + apiso:SpecificationDate + apiso:SpecificationDateType + apiso:SpecificationTitle + + + csw:AnyText + dc:contributor + dc:creator + dc:date + dc:format + dc:identifier + dc:language + dc:publisher + dc:relation + dc:rights + dc:source + dc:subject + dc:title + dc:type + dct:abstract + dct:modified + ows:BoundingBox + + + apiso:Abstract + apiso:AlternateTitle + apiso:AnyText + apiso:BoundingBox + apiso:CRS + apiso:CouplingType + apiso:CreationDate + apiso:Denominator + apiso:DistanceUOM + apiso:DistanceValue + apiso:Format + apiso:GeographicDescriptionCode + apiso:HasSecurityConstraints + apiso:Identifier + apiso:KeywordType + apiso:Language + apiso:Modified + apiso:OperatesOn + apiso:OperatesOnIdentifier + apiso:OperatesOnName + apiso:Operation + apiso:OrganisationName + apiso:ParentIdentifier + apiso:PublicationDate + apiso:ResourceLanguage + apiso:RevisionDate + apiso:ServiceType + apiso:ServiceTypeVersion + apiso:Subject + apiso:TempExtent_begin + apiso:TempExtent_end + apiso:Title + apiso:TopicCategory + apiso:Type + + + + + + + + + + + brief + full + summary + + + application/json + application/xml + + + http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ + http://www.interlis.ch/INTERLIS2.3 + http://www.isotc211.org/2005/gmd + http://www.opengis.net/cat/csw/2.0.2 + http://www.opengis.net/cat/csw/csdgm + http://www.w3.org/2005/Atom + + + + + + + + + + + CSW + + + 2.0.2 + 3.0.0 + + + http://geo.data.gov/geoportal/csw/discovery + + + 10 + + + XML + SOAP + + + allowed + + + + http://localhost/pycsw/csw.py?config=tests/suites/apiso-inspire/default.cfg&service=CSW&version=2.0.2&request=GetCapabilities + application/xml + + service + + + + 2011-02-01 + 2011-03-30 + + + + + + COMMISSION REGULATION (EU) No 1089/2010 of 23 November 2010 implementing Directive 2007/2/EC of the European Parliament and of the Council as regards interoperability of spatial data sets and services + 2010-12-08 + OJ:L:2010:323:0011:0102:EN:PDF + + http://eur-lex.europa.eu/LexUriServ/LexUriServ.do?uri=OJ:L:2010:323:0011:0102:EN:PDF + application/pdf + + + notEvaluated + + + National Technical University of Athens + tzotsos@gmail.com + + 2011-03-29 + discovery + + infoCatalogueService + + + + GEMET - INSPIRE themes + 2008-06-01 + + Utility and governmental services + + + + eng + + + eng + + + gre + + + + eng + + + + + + + gml:Point + gml:LineString + gml:Polygon + gml:Envelope + + + + + + + + + + + + + + + + + + + Between + EqualTo + GreaterThan + GreaterThanEqualTo + LessThan + LessThanEqualTo + Like + NotEqualTo + NullCheck + + + + + length + lower + ltrim + rtrim + trim + upper + + + + + + + + + + diff --git a/tests/functionaltests/suites/apiso-inspire/expected/get_GetCapabilities.xml b/tests/functionaltests/suites/apiso-inspire/expected/get_GetCapabilities.xml new file mode 100644 index 000000000..6ecec21c6 --- /dev/null +++ b/tests/functionaltests/suites/apiso-inspire/expected/get_GetCapabilities.xml @@ -0,0 +1,375 @@ + + + + + pycsw Geospatial Catalogue + pycsw is an OGC CSW server implementation written in Python + + catalogue + discovery + theme + + CSW + 2.0.2 + 3.0.0 + None + None + + + pycsw + + + Kralidis, Tom + Senior Systems Scientist + + + +01-416-xxx-xxxx + +01-416-xxx-xxxx + + + TBA + Toronto + Ontario + M9C 3Z9 + Canada + tomkralidis@gmail.com + + + 0800h - 1600h EST + During hours of service. Off on weekends. + + pointOfContact + + + + + + + + + + + + Filter_Capabilities + OperationsMetadata + ServiceIdentification + ServiceProvider + + + + + + + + + + + application/json + application/xml + + + http://www.w3.org/2001/XMLSchema + http://www.w3.org/TR/xmlschema-1/ + http://www.w3.org/XML/Schema + + + csw:Record + gmd:MD_Metadata + + + + + + + + + + + DescribeRecord.outputFormat + DescribeRecord.schemaLanguage + DescribeRecord.typeName + GetCapabilities.sections + GetRecordById.ElementSetName + GetRecordById.outputFormat + GetRecordById.outputSchema + GetRecords.CONSTRAINTLANGUAGE + GetRecords.ElementSetName + GetRecords.outputFormat + GetRecords.outputSchema + GetRecords.resultType + GetRecords.typeNames + + + + + + + + + + + CQL_TEXT + FILTER + + + brief + full + summary + + + application/json + application/xml + + + http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ + http://www.interlis.ch/INTERLIS2.3 + http://www.isotc211.org/2005/gmd + http://www.opengis.net/cat/csw/2.0.2 + http://www.opengis.net/cat/csw/csdgm + http://www.w3.org/2005/Atom + + + hits + results + validate + + + csw:Record + gmd:MD_Metadata + + + apiso:AccessConstraints + apiso:Classification + apiso:ConditionApplyingToAccessAndUse + apiso:Contributor + apiso:Creator + apiso:Degree + apiso:Lineage + apiso:OtherConstraints + apiso:Publisher + apiso:Relation + apiso:ResponsiblePartyRole + apiso:SpecificationDate + apiso:SpecificationDateType + apiso:SpecificationTitle + + + csw:AnyText + dc:contributor + dc:creator + dc:date + dc:format + dc:identifier + dc:language + dc:publisher + dc:relation + dc:rights + dc:source + dc:subject + dc:title + dc:type + dct:abstract + dct:modified + ows:BoundingBox + + + apiso:Abstract + apiso:AlternateTitle + apiso:AnyText + apiso:BoundingBox + apiso:CRS + apiso:CouplingType + apiso:CreationDate + apiso:Denominator + apiso:DistanceUOM + apiso:DistanceValue + apiso:Format + apiso:GeographicDescriptionCode + apiso:HasSecurityConstraints + apiso:Identifier + apiso:KeywordType + apiso:Language + apiso:Modified + apiso:OperatesOn + apiso:OperatesOnIdentifier + apiso:OperatesOnName + apiso:Operation + apiso:OrganisationName + apiso:ParentIdentifier + apiso:PublicationDate + apiso:ResourceLanguage + apiso:RevisionDate + apiso:ServiceType + apiso:ServiceTypeVersion + apiso:Subject + apiso:TempExtent_begin + apiso:TempExtent_end + apiso:Title + apiso:TopicCategory + apiso:Type + + + + + + + + + + + brief + full + summary + + + application/json + application/xml + + + http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ + http://www.interlis.ch/INTERLIS2.3 + http://www.isotc211.org/2005/gmd + http://www.opengis.net/cat/csw/2.0.2 + http://www.opengis.net/cat/csw/csdgm + http://www.w3.org/2005/Atom + + + + + + + + + + + CSW + + + 2.0.2 + 3.0.0 + + + http://geo.data.gov/geoportal/csw/discovery + + + 10 + + + XML + SOAP + + + allowed + + + + http://localhost/pycsw/csw.py?config=tests/suites/apiso-inspire/default.cfg&service=CSW&version=2.0.2&request=GetCapabilities + application/xml + + service + + + + 2011-02-01 + 2011-03-30 + + + + + + COMMISSION REGULATION (EU) No 1089/2010 of 23 November 2010 implementing Directive 2007/2/EC of the European Parliament and of the Council as regards interoperability of spatial data sets and services + 2010-12-08 + OJ:L:2010:323:0011:0102:EN:PDF + + http://eur-lex.europa.eu/LexUriServ/LexUriServ.do?uri=OJ:L:2010:323:0011:0102:EN:PDF + application/pdf + + + notEvaluated + + + National Technical University of Athens + tzotsos@gmail.com + + 2011-03-29 + discovery + + infoCatalogueService + + + + GEMET - INSPIRE themes + 2008-06-01 + + Utility and governmental services + + + + eng + + + eng + + + gre + + + + eng + + + + + + + gml:Point + gml:LineString + gml:Polygon + gml:Envelope + + + + + + + + + + + + + + + + + + + Between + EqualTo + GreaterThan + GreaterThanEqualTo + LessThan + LessThanEqualTo + Like + NotEqualTo + NullCheck + + + + + length + lower + ltrim + rtrim + trim + upper + + + + + + + + + + diff --git a/tests/functionaltests/suites/apiso-inspire/get/requests.txt b/tests/functionaltests/suites/apiso-inspire/get/requests.txt new file mode 100644 index 000000000..09816a219 --- /dev/null +++ b/tests/functionaltests/suites/apiso-inspire/get/requests.txt @@ -0,0 +1,2 @@ +GetCapabilities,service=CSW&version=2.0.2&request=GetCapabilities +GetCapabilities-lang,service=CSW&version=2.0.2&request=GetCapabilities&lang=gre diff --git a/tests/functionaltests/suites/apiso/data/3e9a8c05.xml b/tests/functionaltests/suites/apiso/data/3e9a8c05.xml new file mode 100644 index 000000000..3635d7c8a --- /dev/null +++ b/tests/functionaltests/suites/apiso/data/3e9a8c05.xml @@ -0,0 +1,248 @@ + + +3e9a8c05 + + +eng + + +service + + + + +NTUA + + + + + + +tzotsos@gmail.com + + + + + + +pointOfContact + + + + +2011-04-18 + + +ISO19115 + + +2003/Cor.1:2006 + + + + + + +test Title + + + + +2011-04-19 + + +creation + + + + + + +http://aiolos.survey.ntua.gr + + +ogc + + + + + + +test Abstract + + + + +NTUA + + + + + + +tzotsos@gmail.com + + + + + + +owner + + + + + + +Geographic viewer (humanGeographicViewer) + + + + + + +administration + + + + +GEMET Themes, version 2.3 + + + + +2011-04-18 + + +publication + + + + + + + + + + +Conditions unknown + + + + + + +no limitation + + + + + + + + +19.37 + + +29.61 + + +34.80 + + +41.75 + + + + + + + +2011-04-18 +2011-04-20 + + + + + + + +view + + + + + + + + + + + + + + + + + +http://aiolos.survey.ntua.gr/geoserver/wms + + + + + + + + + + + + +service + + + + + + + + +Conformity_001 + + +INSPIRE + + + + + + + + +Corrigendum to INSPIRE Metadata Regulation published in the Official Journal of the European Union, L 328, page 83 + + + + +2009-12-15 + + +publication + + + + + + +See the referenced specification + + +true + + + + + + + + diff --git a/tests/functionaltests/suites/apiso/data/README.txt b/tests/functionaltests/suites/apiso/data/README.txt new file mode 100644 index 000000000..3dd817cbc --- /dev/null +++ b/tests/functionaltests/suites/apiso/data/README.txt @@ -0,0 +1,7 @@ +APISO Data +========== + +This directory provides data used to check conformance against pycsw APISO support. + +- pacioos-NS06agg.xml: http://oos.soest.hawaii.edu/pacioos/metadata/NS06agg.html +- all other *.xml files are from the Greek National Mapping Agency (metadata submitted to the INSPIRE geoportal) diff --git a/tests/functionaltests/suites/apiso/data/T_aerfo_RAS_1991_GR800P001800000012.xml b/tests/functionaltests/suites/apiso/data/T_aerfo_RAS_1991_GR800P001800000012.xml new file mode 100644 index 000000000..701c3d9a2 --- /dev/null +++ b/tests/functionaltests/suites/apiso/data/T_aerfo_RAS_1991_GR800P001800000012.xml @@ -0,0 +1,37 @@ + + + 366f6257-19eb-4f20-ba78-0698ac4aae77 + eng + dataset + YPAATypaat@ypaat.grpointOfContact + 2009-10-09 +ISO19115 +2003/Cor.1:2006 + + + + + Aerial Photos + 2009-10-09creation + 366f6257-19eb-4f20-ba78-0698ac4aae77 + T_aerfo_RAS_1991_GR800P001800000012.tif + + + Aerial Photos +YPAATypaat@ypaat.growner + OrthoimageryGEMET - INSPIRE themes, version 1.02008-06-01publication + no conditions apply + otherRestrictionsno limitations + eng + geoscientificInformation + 20.0024.0038.0040.00 + 2009-10-092009-10-09 + + +http://www.ypaat.gr + +dataset +Conformity_001INSPIREINSPIRE2008-05-15publicationSee the referenced specificationtrue +test + + diff --git a/tests/functionaltests/suites/apiso/data/T_aerfo_RAS_1991_GR800P001800000013.xml b/tests/functionaltests/suites/apiso/data/T_aerfo_RAS_1991_GR800P001800000013.xml new file mode 100644 index 000000000..e91a4cc55 --- /dev/null +++ b/tests/functionaltests/suites/apiso/data/T_aerfo_RAS_1991_GR800P001800000013.xml @@ -0,0 +1,37 @@ + + + 75a7eb5e-336e-453d-ab06-209b1070d396 + eng + dataset + YPAATypaat@ypaat.grpointOfContact + 2009-10-09 +ISO19115 +2003/Cor.1:2006 + + + + + Aerial Photos + 2009-10-09creation + 75a7eb5e-336e-453d-ab06-209b1070d396 + T_aerfo_RAS_1991_GR800P001800000013.tif + + + Aerial Photos +YPAATypaat@ypaat.growner + OrthoimageryGEMET - INSPIRE themes, version 1.02008-06-01publication + no conditions apply + otherRestrictionsno limitations + eng + geoscientificInformation + 20.0024.0038.0040.00 + 2009-10-092009-10-09 + + +http://www.ypaat.gr + +dataset +Conformity_001INSPIREINSPIRE2008-05-15publicationSee the referenced specificationtrue +test + + diff --git a/tests/functionaltests/suites/apiso/data/T_aerfo_RAS_1991_GR800P001800000014.xml b/tests/functionaltests/suites/apiso/data/T_aerfo_RAS_1991_GR800P001800000014.xml new file mode 100644 index 000000000..88b35f749 --- /dev/null +++ b/tests/functionaltests/suites/apiso/data/T_aerfo_RAS_1991_GR800P001800000014.xml @@ -0,0 +1,37 @@ + + + a7308c0a-b748-48e2-bab7-0a608a51d416 + eng + dataset + YPAATypaat@ypaat.grpointOfContact + 2009-10-09 +ISO19115 +2003/Cor.1:2006 + + + + + Aerial Photos + 2009-10-09creation + a7308c0a-b748-48e2-bab7-0a608a51d416 + T_aerfo_RAS_1991_GR800P001800000014.tif + + + Aerial Photos +YPAATypaat@ypaat.growner + OrthoimageryGEMET - INSPIRE themes, version 1.02008-06-01publication + no conditions apply + otherRestrictionsno limitations + eng + geoscientificInformation + 20.0024.0038.0040.00 + 2009-10-092009-10-09 + + +http://www.ypaat.gr + +dataset +Conformity_001INSPIREINSPIRE2008-05-15publicationSee the referenced specificationtrue +test + + diff --git a/tests/functionaltests/suites/apiso/data/T_aerfo_RAS_1991_GR800P001800000015.xml b/tests/functionaltests/suites/apiso/data/T_aerfo_RAS_1991_GR800P001800000015.xml new file mode 100644 index 000000000..603fb0c5b --- /dev/null +++ b/tests/functionaltests/suites/apiso/data/T_aerfo_RAS_1991_GR800P001800000015.xml @@ -0,0 +1,37 @@ + + + 0173e0d7-6ea9-4407-b846-f29d6bfa9903 + eng + dataset + YPAATypaat@ypaat.grpointOfContact + 2009-10-09 +ISO19115 +2003/Cor.1:2006 + + + + + Aerial Photos + 2009-10-09creation + 0173e0d7-6ea9-4407-b846-f29d6bfa9903 + T_aerfo_RAS_1991_GR800P001800000015.tif + + + Aerial Photos +YPAATypaat@ypaat.growner + OrthoimageryGEMET - INSPIRE themes, version 1.02008-06-01publication + no conditions apply + otherRestrictionsno limitations + eng + geoscientificInformation + 20.0024.0038.0040.00 + 2009-10-092009-10-09 + + +http://www.ypaat.gr + +dataset +Conformity_001INSPIREINSPIRE2008-05-15publicationSee the referenced specificationtrue +test + + diff --git a/tests/functionaltests/suites/apiso/data/T_ortho_RAS_1998_284404.xml b/tests/functionaltests/suites/apiso/data/T_ortho_RAS_1998_284404.xml new file mode 100644 index 000000000..f9c584c34 --- /dev/null +++ b/tests/functionaltests/suites/apiso/data/T_ortho_RAS_1998_284404.xml @@ -0,0 +1,37 @@ + + + de53e931-778a-4792-94ad-9fe507aca483 + eng + dataset + YPAATypaat@ypaat.grpointOfContact + 2009-10-07 +ISO19115 +2003/Cor.1:2006 + + + + + Ortho + 2000-01-01publication + de53e931-778a-4792-94ad-9fe507aca483 + T_ortho_RAS_1998_284404.tif + + + Ortho +YPAATypaat@ypaat.growner + OrthoimageryGEMET - INSPIRE themes, version 1.02008-06-01publication + no conditions apply + otherRestrictionsno limitations + 5000 + eng + geoscientificInformation + 21.47878421.52731739.7600139.790341 + 1997-01-011999-01-01 + + +http://www.ypaat.gr + +dataset +test + + diff --git a/tests/functionaltests/suites/apiso/data/T_ortho_RAS_1998_288395.xml b/tests/functionaltests/suites/apiso/data/T_ortho_RAS_1998_288395.xml new file mode 100644 index 000000000..c9328b797 --- /dev/null +++ b/tests/functionaltests/suites/apiso/data/T_ortho_RAS_1998_288395.xml @@ -0,0 +1,37 @@ + + + 4a5109d7-9ce5-4197-a423-b5fa8c426dee + eng + dataset + YPAATypaat@ypaat.grpointOfContact + 2009-10-07 +ISO19115 +2003/Cor.1:2006 + + + + + Ortho + 2000-01-01publication + 4a5109d7-9ce5-4197-a423-b5fa8c426dee + T_ortho_RAS_1998_288395.tif + + + Ortho +YPAATypaat@ypaat.growner + OrthoimageryGEMET - INSPIRE themes, version 1.02008-06-01publication + no conditions apply + otherRestrictionsno limitations + 5000 + eng + geoscientificInformation + 21.52833321.57683439.67999939.710309 + 1997-01-011999-01-01 + + +http://www.ypaat.gr + +dataset +test + + diff --git a/tests/functionaltests/suites/apiso/data/T_ortho_RAS_1998_288398.xml b/tests/functionaltests/suites/apiso/data/T_ortho_RAS_1998_288398.xml new file mode 100644 index 000000000..2b40aa4ba --- /dev/null +++ b/tests/functionaltests/suites/apiso/data/T_ortho_RAS_1998_288398.xml @@ -0,0 +1,37 @@ + + + 5f37e0f8-4fb1-4637-b959-b415058bdb68 + eng + dataset + YPAATypaat@ypaat.grpointOfContact + 2009-10-07 +ISO19115 +2003/Cor.1:2006 + + + + + Ortho + 2000-01-01publication + 5f37e0f8-4fb1-4637-b959-b415058bdb68 + T_ortho_RAS_1998_288398.tif + + + Ortho +YPAATypaat@ypaat.growner + OrthoimageryGEMET - INSPIRE themes, version 1.02008-06-01publication + no conditions apply + otherRestrictionsno limitations + 5000 + eng + geoscientificInformation + 21.52736921.57588839.70700439.737315 + 1997-01-011999-01-01 + + +http://www.ypaat.gr + +dataset +test + + diff --git a/tests/functionaltests/suites/apiso/data/T_ortho_RAS_1998_288401.xml b/tests/functionaltests/suites/apiso/data/T_ortho_RAS_1998_288401.xml new file mode 100644 index 000000000..7cab9fab2 --- /dev/null +++ b/tests/functionaltests/suites/apiso/data/T_ortho_RAS_1998_288401.xml @@ -0,0 +1,37 @@ + + + f99cc358-f379-4e79-ab1e-cb2f7709f594 + eng + dataset + YPAATypaat@ypaat.grpointOfContact + 2009-10-07 +ISO19115 +2003/Cor.1:2006 + + + + + Ortho + 2000-01-01publication + f99cc358-f379-4e79-ab1e-cb2f7709f594 + T_ortho_RAS_1998_288401.tif + + + Ortho +YPAATypaat@ypaat.growner + OrthoimageryGEMET - INSPIRE themes, version 1.02008-06-01publication + no conditions apply + otherRestrictionsno limitations + 5000 + eng + geoscientificInformation + 21.52640421.57494139.73400939.764321 + 1997-01-011999-01-01 + + +http://www.ypaat.gr + +dataset +test + + diff --git a/tests/functionaltests/suites/apiso/data/T_ortho_RAS_1998_288404.xml b/tests/functionaltests/suites/apiso/data/T_ortho_RAS_1998_288404.xml new file mode 100644 index 000000000..eaa38230a --- /dev/null +++ b/tests/functionaltests/suites/apiso/data/T_ortho_RAS_1998_288404.xml @@ -0,0 +1,37 @@ + + + ae200a05-2800-40b8-b85d-8f8d007b9e30 + eng + dataset + YPAATypaat@ypaat.grpointOfContact + 2009-10-07 +ISO19115 +2003/Cor.1:2006 + + + + + Ortho + 2000-01-01publication + ae200a05-2800-40b8-b85d-8f8d007b9e30 + T_ortho_RAS_1998_288404.tif + + + Ortho +YPAATypaat@ypaat.growner + OrthoimageryGEMET - INSPIRE themes, version 1.02008-06-01publication + no conditions apply + otherRestrictionsno limitations + 5000 + eng + geoscientificInformation + 21.52543721.57399239.76101539.791327 + 1997-01-011999-01-01 + + +http://www.ypaat.gr + +dataset +test + + diff --git a/tests/functionaltests/suites/apiso/data/T_pmoed_DTM_1996_276395.xml b/tests/functionaltests/suites/apiso/data/T_pmoed_DTM_1996_276395.xml new file mode 100644 index 000000000..30c75bbac --- /dev/null +++ b/tests/functionaltests/suites/apiso/data/T_pmoed_DTM_1996_276395.xml @@ -0,0 +1,37 @@ + + + a2744b0c-becd-426a-95a8-46e9850ccc6d + eng + dataset + YPAATypaat@ypaat.grpointOfContact + 2009-10-07 +ISO19115 +2003/Cor.1:2006 + + + + + DTM + 2009-10-07creation + a2744b0c-becd-426a-95a8-46e9850ccc6d + T_pmoed_DTM_1996_276395.tif + + + DTM +YPAATypaat@ypaat.growner + ElevationGEMET - INSPIRE themes, version 1.02008-06-01publication + no conditions apply + otherRestrictionsno limitations + 5000 + eng + elevation + 19.0030.0034.0042.00 + 2009-10-072009-10-07 + + +http://www.ypaat.gr + +dataset +test + + diff --git a/tests/functionaltests/suites/apiso/data/T_pmoed_DTM_1996_276398.xml b/tests/functionaltests/suites/apiso/data/T_pmoed_DTM_1996_276398.xml new file mode 100644 index 000000000..29dfd6399 --- /dev/null +++ b/tests/functionaltests/suites/apiso/data/T_pmoed_DTM_1996_276398.xml @@ -0,0 +1,37 @@ + + + 0dc824a6-b555-46c1-bd7b-bc66cb91a70f + eng + dataset + YPAATypaat@ypaat.grpointOfContact + 2009-10-07 +ISO19115 +2003/Cor.1:2006 + + + + + DTM + 2009-10-07creation + 0dc824a6-b555-46c1-bd7b-bc66cb91a70f + T_pmoed_DTM_1996_276398.tif + + + DTM +YPAATypaat@ypaat.growner + ElevationGEMET - INSPIRE themes, version 1.02008-06-01publication + no conditions apply + otherRestrictionsno limitations + 5000 + eng + elevation + 19.0030.0034.0042.00 + 2009-10-072009-10-07 + + +http://www.ypaat.gr + +dataset +test + + diff --git a/tests/functionaltests/suites/apiso/data/T_pmoed_DTM_1996_276401.xml b/tests/functionaltests/suites/apiso/data/T_pmoed_DTM_1996_276401.xml new file mode 100644 index 000000000..22d507920 --- /dev/null +++ b/tests/functionaltests/suites/apiso/data/T_pmoed_DTM_1996_276401.xml @@ -0,0 +1,37 @@ + + + 42c8e55a-2bf6-476d-a7c9-be3bcd697f13 + eng + dataset + YPAATypaat@ypaat.grpointOfContact + 2009-10-07 +ISO19115 +2003/Cor.1:2006 + + + + + DTM + 2009-10-07creation + 42c8e55a-2bf6-476d-a7c9-be3bcd697f13 + T_pmoed_DTM_1996_276401.tif + + + DTM +YPAATypaat@ypaat.growner + ElevationGEMET - INSPIRE themes, version 1.02008-06-01publication + no conditions apply + otherRestrictionsno limitations + 5000 + eng + elevation + 19.0030.0034.0042.00 + 2009-10-072009-10-07 + + +http://www.ypaat.gr + +dataset +test + + diff --git a/tests/functionaltests/suites/apiso/data/T_pmoed_DTM_1996_276404.xml b/tests/functionaltests/suites/apiso/data/T_pmoed_DTM_1996_276404.xml new file mode 100644 index 000000000..1bdc099d5 --- /dev/null +++ b/tests/functionaltests/suites/apiso/data/T_pmoed_DTM_1996_276404.xml @@ -0,0 +1,37 @@ + + + c3bf29d4-d60a-4959-a415-2c03fb0d4aef + eng + dataset + YPAATypaat@ypaat.grpointOfContact + 2009-10-07 +ISO19115 +2003/Cor.1:2006 + + + + + DTM + 2009-10-07creation + c3bf29d4-d60a-4959-a415-2c03fb0d4aef + T_pmoed_DTM_1996_276404.tif + + + DTM +YPAATypaat@ypaat.growner + ElevationGEMET - INSPIRE themes, version 1.02008-06-01publication + no conditions apply + otherRestrictionsno limitations + 5000 + eng + elevation + 19.0030.0034.0042.00 + 2009-10-072009-10-07 + + +http://www.ypaat.gr + +dataset +test + + diff --git a/tests/functionaltests/suites/apiso/data/T_pmoed_DTM_1996_280395.xml b/tests/functionaltests/suites/apiso/data/T_pmoed_DTM_1996_280395.xml new file mode 100644 index 000000000..422ca581c --- /dev/null +++ b/tests/functionaltests/suites/apiso/data/T_pmoed_DTM_1996_280395.xml @@ -0,0 +1,37 @@ + + + b8cc2388-5d0a-43d8-9473-0e86dd0396da + eng + dataset + YPAATypaat@ypaat.grpointOfContact + 2009-10-07 +ISO19115 +2003/Cor.1:2006 + + + + + DTM + 2009-10-07creation + b8cc2388-5d0a-43d8-9473-0e86dd0396da + T_pmoed_DTM_1996_280395.tif + + + DTM +YPAATypaat@ypaat.growner + ElevationGEMET - INSPIRE themes, version 1.02008-06-01publication + no conditions apply + otherRestrictionsno limitations + 5000 + eng + elevation + 19.0030.0034.0042.00 + 2009-10-072009-10-07 + + +http://www.ypaat.gr + +dataset +test + + diff --git a/tests/functionaltests/suites/apiso/data/pacioos-NS06agg.xml b/tests/functionaltests/suites/apiso/data/pacioos-NS06agg.xml new file mode 100644 index 000000000..5d9636487 --- /dev/null +++ b/tests/functionaltests/suites/apiso/data/pacioos-NS06agg.xml @@ -0,0 +1,1182 @@ + + + + NS06agg + + + eng + + + UTF8 + + + dataset + + + service + + + + + Margaret McManus + + + University of Hawaii + + + + + + + mamc@hawaii.edu + + + + + + + http://www.soest.hawaii.edu/oceanography/faculty/mcmanus.html + + + http + + + web browser + + + + + + + + + information + + + + + + + pointOfContact + + + + + 2014-04-16 + + + ISO 19115-2 Geographic Information - Metadata Part 2 Extensions for imagery and gridded data + + + ISO 19115-2:2009(E) + + + + + 3 + + + + + column + + + 1 + + + 0.0 + + + + + + + row + + + 1 + + + 0.0 + + + + + + + temporal + + + 482760 + + + 252.0 + + + + + area + + + + + + + + + + PacIOOS Nearshore Sensor 06: Pohnpei, Micronesia + + + + + 2011-04-12 + + + creation + + + + + + + 2011-04-19 + + + issued + + + + + + + 2014-03-18 + + + revision + + + + + + + + + org.pacioos + + + + + + NS06agg + + + + + + + Margaret McManus + + + University of Hawaii + + + + + + + mamc@hawaii.edu + + + + + + + http://www.soest.hawaii.edu/oceanography/faculty/mcmanus.html + + + http + + + web browser + + + + + + + + + information + + + + + + + originator + + + + + + + Jim Potemra + + + + + distributor + + + + + Data produced by Dr. Margaret McManus (mamc@hawaii.edu). Point of contact: Gordon Walker (gwalker@hawaii.edu). + + + + + The nearshore sensors are part of the Pacific Islands Ocean Observing System (PacIOOS) and are designed to measure a variety of ocean parameters at fixed point locations. NS06 is located at the dock in Pohnpei lagoon and is mounted to the bottom in about 1 meter of water. The instrument is a Sea-Bird Electronics model 16+ V2 coupled with a WET Labs ECO-FLNTUS combination sensor. + + + PacIOOS provides timely, reliable, and accurate ocean information to support a safe, clean, productive ocean and resilient coastal zone in the U.S. Pacific Islands region. + + + The Pacific Islands Ocean Observing System (PacIOOS) is funded through the National Oceanic and Atmospheric Administration (NOAA) as a Regional Association within the U.S. Integrated Ocean Observing System (IOOS). PacIOOS is coordinated by the University of Hawaii School of Ocean and Earth Science and Technology (SOEST). + + + + + Margaret McManus + + + University of Hawaii + + + + + + + mamc@hawaii.edu + + + + + + + http://www.soest.hawaii.edu/oceanography/faculty/mcmanus.html + + + http + + + web browser + + + + + + + + + information + + + + + + + pointOfContact + + + + + + http://pacioos.org/metadata/browse/NS06agg.png + + Sample image. + + + + + + + Oceans > Ocean Chemistry > Chlorophyll + + + Oceans > Ocean Optics > Turbidity + + + Oceans > Ocean Temperature > Water Temperature + + + Oceans > Salinity/Density > Conductivity + + + Oceans > Salinity/Density > Salinity + + + Oceans > Water Quality + + + theme + + + + + GCMD Science Keywords + + + + + + + + + + Ocean &gt; Pacific Ocean &gt; Western Pacific Ocean &gt; Micronesia &gt; Federated States of Micronesia + + + Ocean &gt; Pacific Ocean &gt; United States of America &gt; Territories + + + Federated States of Micronesia &gt; Pohnpei &gt; Pohnpei Lagoon + + + place + + + + + GCMD Location Keywords + + + + + + + + + + Pacific Islands Ocean Observing System (PacIOOS) + + + project + + + + + GCMD Project Keywords + + + + + + + + + + Pacific Islands Ocean Observing System (PacIOOS) + + + dataCenter + + + + + GCMD Data Center Keywords + + + + + + + + + + sea_water_temperature + + + sea_water_electrical_conductivity + + + sea_water_turbidity + + + mass_concentration_of_chlorophyll_in_sea_water + + + sea_water_salinity + + + depth + + + latitude + + + longitude + + + time + + + theme + + + + + CF-1.4 + + + + + + + + + + The data may be used and redistributed for free but is not intended for legal use, since it may contain inaccuracies. Neither the data Contributor, University of Hawaii, PacIOOS, NOAA, State of Hawaii nor the United States Government, nor any of their employees or contractors, makes any warranty, express or implied, including warranties of merchantability and fitness for a particular purpose, or assumes any legal liability for the accuracy, completeness, or usefulness, of this information. + + + + + + + + + Pacific Islands Ocean Observing System (PacIOOS) + + + + + + largerWorkCitation + + + project + + + + + + + + + + + Unidata Common Data Model + + + + + + Point + + + + + largerWorkCitation + + + project + + + + + eng + + + climatologyMeteorologyAtmosphere + + + + + + + 1 + + + 158.22402954101562 + + + 158.22402954101562 + + + 6.955227375030518 + + + 6.955227375030518 + + + + + + + + seconds + 2010-05-07T00:00:00Z + 2014-03-17T23:56:00Z + + + + + + + + -1.0 + + + -1.0 + + + + + + + + + + + + + + PacIOOS Nearshore Sensor 06: Pohnpei, Micronesia + + + + + 2011-04-12 + + + creation + + + + + + + 2011-04-19 + + + issued + + + + + + + 2014-03-18 + + + revision + + + + + + + Margaret McManus + + + University of Hawaii + + + + + + + mamc@hawaii.edu + + + + + + + http://www.soest.hawaii.edu/oceanography/faculty/mcmanus.html + + + http + + + web browser + + + + + + + + + information + + + + + + + originator + + + + + + + Jim Potemra + + + + + distributor + + + + + + + The nearshore sensors are part of the Pacific Islands Ocean Observing System (PacIOOS) and are designed to measure a variety of ocean parameters at fixed point locations. NS06 is located at the dock in Pohnpei lagoon and is mounted to the bottom in about 1 meter of water. The instrument is a Sea-Bird Electronics model 16+ V2 coupled with a WET Labs ECO-FLNTUS combination sensor. + + + THREDDS OPeNDAP + + + + + + + 1 + + + 158.22402954101562 + + + 158.22402954101562 + + + 6.955227375030518 + + + 6.955227375030518 + + + + + + + + 2010-05-07T00:00:00Z + 2014-03-17T23:56:00Z + + + + + + + + -1.0 + + + -1.0 + + + + + + + + tight + + + + + OPeNDAP Client Access + + + + + + http://oos.soest.hawaii.edu/thredds/dodsC/pacioos/nss/ns06agg + + + OPeNDAP + + + THREDDS OPeNDAP + + + download + + + + + + + + + + + + + + + + + + temp + + + + + float + + + + + + + Temperature (sea_water_temperature) + + + + + + + + + + cond + + + + + float + + + + + + + Conductivity (sea_water_electrical_conductivity) + + + + + + + + + + turb + + + + + float + + + + + + + Turbidity (sea_water_turbidity) + + + + + + + + + + flor + + + + + float + + + + + + + Chlorophyll (mass_concentration_of_chlorophyll_in_sea_water) + + + + + + + + + + salt + + + + + float + + + + + + + Salinity (sea_water_salinity) + + + + + + + + + + z + + + + + float + + + + + + + depth below mean sea level (depth) + + + + + + + + + + lat + + + + + float + + + + + + + Latitude (latitude) + + + + + + + + + + lon + + + + + float + + + + + + + Longitude (longitude) + + + + + + + + + + time + + + + + float + + + + + + + Time (time) + + + + + + + + + + + + + + + Pacific Islands Ocean Observing System (PacIOOS) + + + + + + + jimp@hawaii.edu + + + + + + + http://pacioos.org + + + http + + + web browser + + + URL for the data publisher + + + This URL provides contact information for the publisher of this dataset + + + information + + + + + + + publisher + + + + + + + OPeNDAP + + + + + + + + + + http://oos.soest.hawaii.edu/thredds/idd/nss_pacioos.html?dataset=NS06agg + + + THREDDS Catalog + + + This URL provides a catalog page for this dataset within THREDDS Data Server (TDS). + + + download + + + + + + + + + + + http://oos.soest.hawaii.edu/thredds/dodsC/pacioos/nss/ns06agg.html + + + File Information + + + This URL provides a standard OPeNDAP html interface for selecting data from this dataset. Change the extension to .info for a description of the dataset. + + + download + + + + + + + + + + + http://pacioos.org/voyager/index.html?b=6.874279%2C158.077126%2C7.050468%2C158.369808&tz=pont&o=qual:2::p0NS06p1 + + + PacIOOS Voyager (Google Maps API) + + + This URL provides a viewer for this dataset. + + + download + + + + + + + + + + + http://oos.soest.hawaii.edu/dchart/index.html?dsetid=54cd0688ada08d86748b9c5762509f + + + DChart + + + This URL provides a viewer for this dataset. + + + download + + + + + + + + + + + http://oos.soest.hawaii.edu/erddap/tabledap/nss06_agg.graph?time%2Ctemperature&.draw=lines + + + ERDDAP + + + This URL provides a viewer for this dataset. + + + download + + + + + + + + + + + http://pacioos.org/focus/waterquality/wq_fsm.php + + + PacIOOS Water Quality Platforms: FSM + + + This URL provides a viewer for this dataset. + + + download + + + + + + + + + + + + + + + dataset + + + + + + + UH/SOEST (M. McManus), PacIOOS asset (05/2010) + + + + + + + + + + This record was translated from NcML using UnidataDD2MI.xsl Version 2.3 + + + + diff --git a/tests/functionaltests/suites/apiso/data/test.xml b/tests/functionaltests/suites/apiso/data/test.xml new file mode 100644 index 000000000..d492ed7a7 --- /dev/null +++ b/tests/functionaltests/suites/apiso/data/test.xml @@ -0,0 +1,39 @@ + + + 437ae0a2-06e2-4015-b296-a66e7f407bf2 + eng + dataset + YPAATypaat@ypaat.grpointOfContact + NTUAtzotsos@gmail.compointOfContact + 2009-10-09 +ISO19115 +2003/Cor.1:2006 + + + + + Aerial Photos + 2009-10-09creation + 437ae0a2-06e2-4015-b296-a66e7f407bf2 + T_aerfo_RAS_1991_GR800P001800000011.tif + + + Aerial Photos +YPAATypaat@ypaat.growner +NTUAtzotsos@hotmail.comuser + OrthoimageryGEMET - INSPIRE themes, version 1.02008-06-01publication + no conditions apply + otherRestrictionsno limitations + eng + geoscientificInformation + 20.0038.0024.0040.00 + 2009-10-092009-10-09 + + +http://www.ypaat.gr + +dataset +Conformity_001INSPIREINSPIRE2008-05-15publicationSee the referenced specificationtrue +test + + diff --git a/tests/functionaltests/suites/apiso/default.cfg b/tests/functionaltests/suites/apiso/default.cfg new file mode 100644 index 000000000..6a60f3f9e --- /dev/null +++ b/tests/functionaltests/suites/apiso/default.cfg @@ -0,0 +1,91 @@ +# ================================================================= +# +# Authors: Tom Kralidis +# +# Copyright (c) 2011 Tom Kralidis +# +# Permission is hereby granted, free of charge, to any person +# obtaining a copy of this software and associated documentation +# files (the "Software"), to deal in the Software without +# restriction, including without limitation the rights to use, +# copy, modify, merge, publish, distribute, sublicense, and/or sell +# copies of the Software, and to permit persons to whom the +# Software is furnished to do so, subject to the following +# conditions: +# +# The above copyright notice and this permission notice shall be +# included in all copies or substantial portions of the Software. +# +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +# EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES +# OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +# NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT +# HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, +# WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR +# OTHER DEALINGS IN THE SOFTWARE. +# +# ================================================================= + +[server] +home=. +url=http://localhost/pycsw/csw.py?config=tests/suites/apiso/default.cfg +mimetype=application/xml; charset=UTF-8 +encoding=UTF-8 +language=en-US +maxrecords=10 +#loglevel=DEBUG +#logfile=/tmp/pycsw.log +#ogc_schemas_base=http://foo +federatedcatalogues=http://geo.data.gov/geoportal/csw/discovery +pretty_print=true +#gzip_compresslevel=8 +#spatial_ranking=true +profiles=apiso + +[manager] +transactions=false +allowed_ips=127.0.0.1 + +[metadata:main] +identification_title=pycsw Geospatial Catalogue +identification_abstract=pycsw is an OGC CSW server implementation written in Python +identification_keywords=catalogue,discovery +identification_keywords_type=theme +identification_fees=None +identification_accessconstraints=None +provider_name=pycsw +provider_url=http://pycsw.org/ +contact_name=Kralidis, Tom +contact_position=Senior Systems Scientist +contact_address=TBA +contact_city=Toronto +contact_stateorprovince=Ontario +contact_postalcode=M9C 3Z9 +contact_country=Canada +contact_phone=+01-416-xxx-xxxx +contact_fax=+01-416-xxx-xxxx +contact_email=tomkralidis@gmail.com +contact_url=http://kralidis.ca/ +contact_hours=0800h - 1600h EST +contact_instructions=During hours of service. Off on weekends. +contact_role=pointOfContact + +[repository] +# sqlite +database=sqlite:///tests/suites/apiso/data/records.db +# postgres +#database=postgres://username:password@localhost/pycsw +table=records + +[metadata:inspire] +enabled=false +languages_supported=eng,gre +default_language=eng +date=2011-03-29 +gemet_keywords=Utility and governmental services +conformity_service=notEvaluated +contact_name=National Technical University of Athens +contact_email=tzotsos@gmail.com +temp_extent=2011-02-01/2011-03-30 + diff --git a/tests/functionaltests/suites/apiso/expected/post_DescribeRecord.xml b/tests/functionaltests/suites/apiso/expected/post_DescribeRecord.xml new file mode 100644 index 000000000..bda19c0ac --- /dev/null +++ b/tests/functionaltests/suites/apiso/expected/post_DescribeRecord.xml @@ -0,0 +1,551 @@ + + + + + + + + This file was generated from ISO TC/211 UML class diagrams == 01-26-2005 12:40:05 ====== + + + + + + + + + + + + Basic information about data + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Graphic that provides an illustration of the dataset (should include a legend for the graphic) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + See 19119 for further info + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Brief description of ways in which the dataset is currently used. + + + + + + + + + + + + + + + + + + + + + + + + + + Keywords, their type and reference source + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Encapsulates the dataset aggregation information + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + High-level geospatial data thematic classification to assist in the grouping and search of available geospatial datasets + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + This file was generated from ISO TC/211 UML class diagrams == 10-13-2006 11:14:04 ====== + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/tests/functionaltests/suites/apiso/expected/post_GetCapabilities.xml b/tests/functionaltests/suites/apiso/expected/post_GetCapabilities.xml new file mode 100644 index 000000000..00656b296 --- /dev/null +++ b/tests/functionaltests/suites/apiso/expected/post_GetCapabilities.xml @@ -0,0 +1,318 @@ + + + + + pycsw Geospatial Catalogue + pycsw is an OGC CSW server implementation written in Python + + catalogue + discovery + theme + + CSW + 2.0.2 + 3.0.0 + None + None + + + pycsw + + + Kralidis, Tom + Senior Systems Scientist + + + +01-416-xxx-xxxx + +01-416-xxx-xxxx + + + TBA + Toronto + Ontario + M9C 3Z9 + Canada + tomkralidis@gmail.com + + + 0800h - 1600h EST + During hours of service. Off on weekends. + + pointOfContact + + + + + + + + + + + + Filter_Capabilities + OperationsMetadata + ServiceIdentification + ServiceProvider + + + + + + + + + + + application/json + application/xml + + + http://www.w3.org/2001/XMLSchema + http://www.w3.org/TR/xmlschema-1/ + http://www.w3.org/XML/Schema + + + csw:Record + gmd:MD_Metadata + + + + + + + + + + + DescribeRecord.outputFormat + DescribeRecord.schemaLanguage + DescribeRecord.typeName + GetCapabilities.sections + GetRecordById.ElementSetName + GetRecordById.outputFormat + GetRecordById.outputSchema + GetRecords.CONSTRAINTLANGUAGE + GetRecords.ElementSetName + GetRecords.outputFormat + GetRecords.outputSchema + GetRecords.resultType + GetRecords.typeNames + + + + + + + + + + + CQL_TEXT + FILTER + + + brief + full + summary + + + application/json + application/xml + + + http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ + http://www.interlis.ch/INTERLIS2.3 + http://www.isotc211.org/2005/gmd + http://www.opengis.net/cat/csw/2.0.2 + http://www.opengis.net/cat/csw/csdgm + http://www.w3.org/2005/Atom + + + hits + results + validate + + + csw:Record + gmd:MD_Metadata + + + apiso:AccessConstraints + apiso:Classification + apiso:ConditionApplyingToAccessAndUse + apiso:Contributor + apiso:Creator + apiso:Degree + apiso:Lineage + apiso:OtherConstraints + apiso:Publisher + apiso:Relation + apiso:ResponsiblePartyRole + apiso:SpecificationDate + apiso:SpecificationDateType + apiso:SpecificationTitle + + + csw:AnyText + dc:contributor + dc:creator + dc:date + dc:format + dc:identifier + dc:language + dc:publisher + dc:relation + dc:rights + dc:source + dc:subject + dc:title + dc:type + dct:abstract + dct:modified + ows:BoundingBox + + + apiso:Abstract + apiso:AlternateTitle + apiso:AnyText + apiso:BoundingBox + apiso:CRS + apiso:CouplingType + apiso:CreationDate + apiso:Denominator + apiso:DistanceUOM + apiso:DistanceValue + apiso:Format + apiso:GeographicDescriptionCode + apiso:HasSecurityConstraints + apiso:Identifier + apiso:KeywordType + apiso:Language + apiso:Modified + apiso:OperatesOn + apiso:OperatesOnIdentifier + apiso:OperatesOnName + apiso:Operation + apiso:OrganisationName + apiso:ParentIdentifier + apiso:PublicationDate + apiso:ResourceLanguage + apiso:RevisionDate + apiso:ServiceType + apiso:ServiceTypeVersion + apiso:Subject + apiso:TempExtent_begin + apiso:TempExtent_end + apiso:Title + apiso:TopicCategory + apiso:Type + + + + + + + + + + + brief + full + summary + + + application/json + application/xml + + + http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ + http://www.interlis.ch/INTERLIS2.3 + http://www.isotc211.org/2005/gmd + http://www.opengis.net/cat/csw/2.0.2 + http://www.opengis.net/cat/csw/csdgm + http://www.w3.org/2005/Atom + + + + + + + + + + + CSW + + + 2.0.2 + 3.0.0 + + + http://geo.data.gov/geoportal/csw/discovery + + + 10 + + + XML + SOAP + + + allowed + + + + + + gml:Point + gml:LineString + gml:Polygon + gml:Envelope + + + + + + + + + + + + + + + + + + + Between + EqualTo + GreaterThan + GreaterThanEqualTo + LessThan + LessThanEqualTo + Like + NotEqualTo + NullCheck + + + + + length + lower + ltrim + rtrim + trim + upper + + + + + + + + + + diff --git a/tests/functionaltests/suites/apiso/expected/post_GetDomain-property.xml b/tests/functionaltests/suites/apiso/expected/post_GetDomain-property.xml new file mode 100644 index 000000000..17c50d767 --- /dev/null +++ b/tests/functionaltests/suites/apiso/expected/post_GetDomain-property.xml @@ -0,0 +1,12 @@ + + + + + apiso:TopicCategory + + climatologyMeteorologyAtmosphere + elevation + geoscientificInformation + + + diff --git a/tests/functionaltests/suites/apiso/expected/post_GetRecordById-brief.xml b/tests/functionaltests/suites/apiso/expected/post_GetRecordById-brief.xml new file mode 100644 index 000000000..ea58eb97e --- /dev/null +++ b/tests/functionaltests/suites/apiso/expected/post_GetRecordById-brief.xml @@ -0,0 +1,77 @@ + + + + + + de53e931-778a-4792-94ad-9fe507aca483 + + + dataset + + + + + + + Ortho + + + + + 2000-01-01 + + + publication + + + + + + + + + + + 21.48 + + + 21.53 + + + 39.76 + + + 39.79 + + + + + + + + + + + + + + + http://www.ypaat.gr + + + None + + + None + + + None + + + + + + + + + diff --git a/tests/functionaltests/suites/apiso/expected/post_GetRecordById-full-dc.xml b/tests/functionaltests/suites/apiso/expected/post_GetRecordById-full-dc.xml new file mode 100644 index 000000000..155b3491d --- /dev/null +++ b/tests/functionaltests/suites/apiso/expected/post_GetRecordById-full-dc.xml @@ -0,0 +1,45 @@ + + + + + NS06agg + PacIOOS Nearshore Sensor 06: Pohnpei, Micronesia + dataset + Oceans > Ocean Chemistry > Chlorophyll + Oceans > Ocean Optics > Turbidity + Oceans > Ocean Temperature > Water Temperature + Oceans > Salinity/Density > Conductivity + Oceans > Salinity/Density > Salinity + Oceans > Water Quality + Ocean &gt; Pacific Ocean &gt; Western Pacific Ocean &gt; Micronesia &gt; Federated States of Micronesia + Ocean &gt; Pacific Ocean &gt; United States of America &gt; Territories + Federated States of Micronesia &gt; Pohnpei &gt; Pohnpei Lagoon + Pacific Islands Ocean Observing System (PacIOOS) + Pacific Islands Ocean Observing System (PacIOOS) + sea_water_temperature + sea_water_electrical_conductivity + sea_water_turbidity + mass_concentration_of_chlorophyll_in_sea_water + sea_water_salinity + depth + latitude + longitude + time + climatologyMeteorologyAtmosphere + http://oos.soest.hawaii.edu/thredds/idd/nss_pacioos.html?dataset=NS06agg + http://oos.soest.hawaii.edu/thredds/dodsC/pacioos/nss/ns06agg.html + http://pacioos.org/voyager/index.html?b=6.874279%2C158.077126%2C7.050468%2C158.369808&tz=pont&o=qual:2::p0NS06p1 + http://oos.soest.hawaii.edu/dchart/index.html?dsetid=54cd0688ada08d86748b9c5762509f + http://oos.soest.hawaii.edu/erddap/tabledap/nss06_agg.graph?time%2Ctemperature&.draw=lines + http://pacioos.org/focus/waterquality/wq_fsm.php + http://oos.soest.hawaii.edu/thredds/dodsC/pacioos/nss/ns06agg + + 2014-04-16 + The nearshore sensors are part of the Pacific Islands Ocean Observing System (PacIOOS) and are designed to measure a variety of ocean parameters at fixed point locations. NS06 is located at the dock in Pohnpei lagoon and is mounted to the bottom in about 1 meter of water. The instrument is a Sea-Bird Electronics model 16+ V2 coupled with a WET Labs ECO-FLNTUS combination sensor. + 2014-04-16 + + 6.96 158.22 + 6.96 158.22 + + + diff --git a/tests/functionaltests/suites/apiso/expected/post_GetRecordById-full.xml b/tests/functionaltests/suites/apiso/expected/post_GetRecordById-full.xml new file mode 100644 index 000000000..6b88e5eef --- /dev/null +++ b/tests/functionaltests/suites/apiso/expected/post_GetRecordById-full.xml @@ -0,0 +1,40 @@ + + + + + de53e931-778a-4792-94ad-9fe507aca483 + eng + dataset + YPAATypaat@ypaat.grpointOfContact + 2009-10-07 +ISO19115 +2003/Cor.1:2006 + + + + + Ortho + 2000-01-01publication + de53e931-778a-4792-94ad-9fe507aca483 + T_ortho_RAS_1998_284404.tif + + + Ortho +YPAATypaat@ypaat.growner + OrthoimageryGEMET - INSPIRE themes, version 1.02008-06-01publication + no conditions apply + otherRestrictionsno limitations + 5000 + eng + geoscientificInformation + 21.47878421.52731739.7600139.790341 + 1997-01-011999-01-01 + + +http://www.ypaat.gr + +dataset +test + + + diff --git a/tests/functionaltests/suites/apiso/expected/post_GetRecordById-srv-brief.xml b/tests/functionaltests/suites/apiso/expected/post_GetRecordById-srv-brief.xml new file mode 100644 index 000000000..896b014c5 --- /dev/null +++ b/tests/functionaltests/suites/apiso/expected/post_GetRecordById-srv-brief.xml @@ -0,0 +1,93 @@ + + + + + + 3e9a8c05 + + + service + + + + + + + test Title + + + + + 2011-04-19 + + + creation + + + + + + + view + + + + + + + + Geographic viewer (humanGeographicViewer) + + + administration + + + + + + + + + 19.37 + + + 29.61 + + + 34.8 + + + 41.75 + + + + + + + + + + + + + + + http://aiolos.survey.ntua.gr/geoserver/wms + + + None + + + None + + + None + + + + + + + + + diff --git a/tests/functionaltests/suites/apiso/expected/post_GetRecords-all-csw-output.xml b/tests/functionaltests/suites/apiso/expected/post_GetRecords-all-csw-output.xml new file mode 100644 index 000000000..e428bacf7 --- /dev/null +++ b/tests/functionaltests/suites/apiso/expected/post_GetRecords-all-csw-output.xml @@ -0,0 +1,399 @@ + + + + + + + +3e9a8c05 + + +eng + + +service + + + + +NTUA + + + + + + +tzotsos@gmail.com + + + + + + +pointOfContact + + + + +2011-04-18 + + +ISO19115 + + +2003/Cor.1:2006 + + + + + + +test Title + + + + +2011-04-19 + + +creation + + + + + + +http://aiolos.survey.ntua.gr + + +ogc + + + + + + +test Abstract + + + + +NTUA + + + + + + +tzotsos@gmail.com + + + + + + +owner + + + + + + +Geographic viewer (humanGeographicViewer) + + + + + + +administration + + + + +GEMET Themes, version 2.3 + + + + +2011-04-18 + + +publication + + + + + + + + + + +Conditions unknown + + + + + + +no limitation + + + + + + + + +19.37 + + +29.61 + + +34.80 + + +41.75 + + + + + + + +2011-04-18 +2011-04-20 + + + + + + + +view + + + + + + + + + + + + + + + + + +http://aiolos.survey.ntua.gr/geoserver/wms + + + + + + + + + + + + +service + + + + + + + + +Conformity_001 + + +INSPIRE + + + + + + + + +Corrigendum to INSPIRE Metadata Regulation published in the Official Journal of the European Union, L 328, page 83 + + + + +2009-12-15 + + +publication + + + + + + +See the referenced specification + + +true + + + + + + + + + + 366f6257-19eb-4f20-ba78-0698ac4aae77 + eng + dataset + YPAATypaat@ypaat.grpointOfContact + 2009-10-09 +ISO19115 +2003/Cor.1:2006 + + + + + Aerial Photos + 2009-10-09creation + 366f6257-19eb-4f20-ba78-0698ac4aae77 + T_aerfo_RAS_1991_GR800P001800000012.tif + + + Aerial Photos +YPAATypaat@ypaat.growner + OrthoimageryGEMET - INSPIRE themes, version 1.02008-06-01publication + no conditions apply + otherRestrictionsno limitations + eng + geoscientificInformation + 20.0024.0038.0040.00 + 2009-10-092009-10-09 + + +http://www.ypaat.gr + +dataset +Conformity_001INSPIREINSPIRE2008-05-15publicationSee the referenced specificationtrue +test + + + + 75a7eb5e-336e-453d-ab06-209b1070d396 + eng + dataset + YPAATypaat@ypaat.grpointOfContact + 2009-10-09 +ISO19115 +2003/Cor.1:2006 + + + + + Aerial Photos + 2009-10-09creation + 75a7eb5e-336e-453d-ab06-209b1070d396 + T_aerfo_RAS_1991_GR800P001800000013.tif + + + Aerial Photos +YPAATypaat@ypaat.growner + OrthoimageryGEMET - INSPIRE themes, version 1.02008-06-01publication + no conditions apply + otherRestrictionsno limitations + eng + geoscientificInformation + 20.0024.0038.0040.00 + 2009-10-092009-10-09 + + +http://www.ypaat.gr + +dataset +Conformity_001INSPIREINSPIRE2008-05-15publicationSee the referenced specificationtrue +test + + + + a7308c0a-b748-48e2-bab7-0a608a51d416 + eng + dataset + YPAATypaat@ypaat.grpointOfContact + 2009-10-09 +ISO19115 +2003/Cor.1:2006 + + + + + Aerial Photos + 2009-10-09creation + a7308c0a-b748-48e2-bab7-0a608a51d416 + T_aerfo_RAS_1991_GR800P001800000014.tif + + + Aerial Photos +YPAATypaat@ypaat.growner + OrthoimageryGEMET - INSPIRE themes, version 1.02008-06-01publication + no conditions apply + otherRestrictionsno limitations + eng + geoscientificInformation + 20.0024.0038.0040.00 + 2009-10-092009-10-09 + + +http://www.ypaat.gr + +dataset +Conformity_001INSPIREINSPIRE2008-05-15publicationSee the referenced specificationtrue +test + + + + 0173e0d7-6ea9-4407-b846-f29d6bfa9903 + eng + dataset + YPAATypaat@ypaat.grpointOfContact + 2009-10-09 +ISO19115 +2003/Cor.1:2006 + + + + + Aerial Photos + 2009-10-09creation + 0173e0d7-6ea9-4407-b846-f29d6bfa9903 + T_aerfo_RAS_1991_GR800P001800000015.tif + + + Aerial Photos +YPAATypaat@ypaat.growner + OrthoimageryGEMET - INSPIRE themes, version 1.02008-06-01publication + no conditions apply + otherRestrictionsno limitations + eng + geoscientificInformation + 20.0024.0038.0040.00 + 2009-10-092009-10-09 + + +http://www.ypaat.gr + +dataset +Conformity_001INSPIREINSPIRE2008-05-15publicationSee the referenced specificationtrue +test + + + + diff --git a/tests/functionaltests/suites/apiso/expected/post_GetRecords-all.xml b/tests/functionaltests/suites/apiso/expected/post_GetRecords-all.xml new file mode 100644 index 000000000..e428bacf7 --- /dev/null +++ b/tests/functionaltests/suites/apiso/expected/post_GetRecords-all.xml @@ -0,0 +1,399 @@ + + + + + + + +3e9a8c05 + + +eng + + +service + + + + +NTUA + + + + + + +tzotsos@gmail.com + + + + + + +pointOfContact + + + + +2011-04-18 + + +ISO19115 + + +2003/Cor.1:2006 + + + + + + +test Title + + + + +2011-04-19 + + +creation + + + + + + +http://aiolos.survey.ntua.gr + + +ogc + + + + + + +test Abstract + + + + +NTUA + + + + + + +tzotsos@gmail.com + + + + + + +owner + + + + + + +Geographic viewer (humanGeographicViewer) + + + + + + +administration + + + + +GEMET Themes, version 2.3 + + + + +2011-04-18 + + +publication + + + + + + + + + + +Conditions unknown + + + + + + +no limitation + + + + + + + + +19.37 + + +29.61 + + +34.80 + + +41.75 + + + + + + + +2011-04-18 +2011-04-20 + + + + + + + +view + + + + + + + + + + + + + + + + + +http://aiolos.survey.ntua.gr/geoserver/wms + + + + + + + + + + + + +service + + + + + + + + +Conformity_001 + + +INSPIRE + + + + + + + + +Corrigendum to INSPIRE Metadata Regulation published in the Official Journal of the European Union, L 328, page 83 + + + + +2009-12-15 + + +publication + + + + + + +See the referenced specification + + +true + + + + + + + + + + 366f6257-19eb-4f20-ba78-0698ac4aae77 + eng + dataset + YPAATypaat@ypaat.grpointOfContact + 2009-10-09 +ISO19115 +2003/Cor.1:2006 + + + + + Aerial Photos + 2009-10-09creation + 366f6257-19eb-4f20-ba78-0698ac4aae77 + T_aerfo_RAS_1991_GR800P001800000012.tif + + + Aerial Photos +YPAATypaat@ypaat.growner + OrthoimageryGEMET - INSPIRE themes, version 1.02008-06-01publication + no conditions apply + otherRestrictionsno limitations + eng + geoscientificInformation + 20.0024.0038.0040.00 + 2009-10-092009-10-09 + + +http://www.ypaat.gr + +dataset +Conformity_001INSPIREINSPIRE2008-05-15publicationSee the referenced specificationtrue +test + + + + 75a7eb5e-336e-453d-ab06-209b1070d396 + eng + dataset + YPAATypaat@ypaat.grpointOfContact + 2009-10-09 +ISO19115 +2003/Cor.1:2006 + + + + + Aerial Photos + 2009-10-09creation + 75a7eb5e-336e-453d-ab06-209b1070d396 + T_aerfo_RAS_1991_GR800P001800000013.tif + + + Aerial Photos +YPAATypaat@ypaat.growner + OrthoimageryGEMET - INSPIRE themes, version 1.02008-06-01publication + no conditions apply + otherRestrictionsno limitations + eng + geoscientificInformation + 20.0024.0038.0040.00 + 2009-10-092009-10-09 + + +http://www.ypaat.gr + +dataset +Conformity_001INSPIREINSPIRE2008-05-15publicationSee the referenced specificationtrue +test + + + + a7308c0a-b748-48e2-bab7-0a608a51d416 + eng + dataset + YPAATypaat@ypaat.grpointOfContact + 2009-10-09 +ISO19115 +2003/Cor.1:2006 + + + + + Aerial Photos + 2009-10-09creation + a7308c0a-b748-48e2-bab7-0a608a51d416 + T_aerfo_RAS_1991_GR800P001800000014.tif + + + Aerial Photos +YPAATypaat@ypaat.growner + OrthoimageryGEMET - INSPIRE themes, version 1.02008-06-01publication + no conditions apply + otherRestrictionsno limitations + eng + geoscientificInformation + 20.0024.0038.0040.00 + 2009-10-092009-10-09 + + +http://www.ypaat.gr + +dataset +Conformity_001INSPIREINSPIRE2008-05-15publicationSee the referenced specificationtrue +test + + + + 0173e0d7-6ea9-4407-b846-f29d6bfa9903 + eng + dataset + YPAATypaat@ypaat.grpointOfContact + 2009-10-09 +ISO19115 +2003/Cor.1:2006 + + + + + Aerial Photos + 2009-10-09creation + 0173e0d7-6ea9-4407-b846-f29d6bfa9903 + T_aerfo_RAS_1991_GR800P001800000015.tif + + + Aerial Photos +YPAATypaat@ypaat.growner + OrthoimageryGEMET - INSPIRE themes, version 1.02008-06-01publication + no conditions apply + otherRestrictionsno limitations + eng + geoscientificInformation + 20.0024.0038.0040.00 + 2009-10-092009-10-09 + + +http://www.ypaat.gr + +dataset +Conformity_001INSPIREINSPIRE2008-05-15publicationSee the referenced specificationtrue +test + + + + diff --git a/tests/functionaltests/suites/apiso/expected/post_GetRecords-cql-title.xml b/tests/functionaltests/suites/apiso/expected/post_GetRecords-cql-title.xml new file mode 100644 index 000000000..86fd86cf9 --- /dev/null +++ b/tests/functionaltests/suites/apiso/expected/post_GetRecords-cql-title.xml @@ -0,0 +1,372 @@ + + + + + + + + a2744b0c-becd-426a-95a8-46e9850ccc6d + + + dataset + + + + + + + DTM + + + + + 2009-10-07 + + + creation + + + + + + + + + + + 19.0 + + + 30.0 + + + 34.0 + + + 42.0 + + + + + + + + + + + + + + + http://www.ypaat.gr + + + None + + + None + + + None + + + + + + + + + + + 0dc824a6-b555-46c1-bd7b-bc66cb91a70f + + + dataset + + + + + + + DTM + + + + + 2009-10-07 + + + creation + + + + + + + + + + + 19.0 + + + 30.0 + + + 34.0 + + + 42.0 + + + + + + + + + + + + + + + http://www.ypaat.gr + + + None + + + None + + + None + + + + + + + + + + + 42c8e55a-2bf6-476d-a7c9-be3bcd697f13 + + + dataset + + + + + + + DTM + + + + + 2009-10-07 + + + creation + + + + + + + + + + + 19.0 + + + 30.0 + + + 34.0 + + + 42.0 + + + + + + + + + + + + + + + http://www.ypaat.gr + + + None + + + None + + + None + + + + + + + + + + + c3bf29d4-d60a-4959-a415-2c03fb0d4aef + + + dataset + + + + + + + DTM + + + + + 2009-10-07 + + + creation + + + + + + + + + + + 19.0 + + + 30.0 + + + 34.0 + + + 42.0 + + + + + + + + + + + + + + + http://www.ypaat.gr + + + None + + + None + + + None + + + + + + + + + + + b8cc2388-5d0a-43d8-9473-0e86dd0396da + + + dataset + + + + + + + DTM + + + + + 2009-10-07 + + + creation + + + + + + + + + + + 19.0 + + + 30.0 + + + 34.0 + + + 42.0 + + + + + + + + + + + + + + + http://www.ypaat.gr + + + None + + + None + + + None + + + + + + + + + + diff --git a/tests/functionaltests/suites/apiso/expected/post_GetRecords-elementname.xml b/tests/functionaltests/suites/apiso/expected/post_GetRecords-elementname.xml new file mode 100644 index 000000000..97175977f --- /dev/null +++ b/tests/functionaltests/suites/apiso/expected/post_GetRecords-elementname.xml @@ -0,0 +1,388 @@ + + + + + + + + 3e9a8c05 + + + service + + + + + + + test Title + + + + + 2011-04-19 + + + creation + + + + + + + view + + + + + + + + Geographic viewer (humanGeographicViewer) + + + administration + + + + + + + + + 19.37 + + + 29.61 + + + 34.8 + + + 41.75 + + + + + + + + + + + + + + + http://aiolos.survey.ntua.gr/geoserver/wms + + + None + + + None + + + None + + + + + + + + + + + 366f6257-19eb-4f20-ba78-0698ac4aae77 + + + dataset + + + + + + + Aerial Photos + + + + + 2009-10-09 + + + creation + + + + + + + + + + + 20.0 + + + 24.0 + + + 38.0 + + + 40.0 + + + + + + + + + + + + + + + http://www.ypaat.gr + + + None + + + None + + + None + + + + + + + + + + + 75a7eb5e-336e-453d-ab06-209b1070d396 + + + dataset + + + + + + + Aerial Photos + + + + + 2009-10-09 + + + creation + + + + + + + + + + + 20.0 + + + 24.0 + + + 38.0 + + + 40.0 + + + + + + + + + + + + + + + http://www.ypaat.gr + + + None + + + None + + + None + + + + + + + + + + + a7308c0a-b748-48e2-bab7-0a608a51d416 + + + dataset + + + + + + + Aerial Photos + + + + + 2009-10-09 + + + creation + + + + + + + + + + + 20.0 + + + 24.0 + + + 38.0 + + + 40.0 + + + + + + + + + + + + + + + http://www.ypaat.gr + + + None + + + None + + + None + + + + + + + + + + + 0173e0d7-6ea9-4407-b846-f29d6bfa9903 + + + dataset + + + + + + + Aerial Photos + + + + + 2009-10-09 + + + creation + + + + + + + + + + + 20.0 + + + 24.0 + + + 38.0 + + + 40.0 + + + + + + + + + + + + + + + http://www.ypaat.gr + + + None + + + None + + + None + + + + + + + + + + diff --git a/tests/functionaltests/suites/apiso/expected/post_GetRecords-filter-and-nested-spatial-or-dateline.xml b/tests/functionaltests/suites/apiso/expected/post_GetRecords-filter-and-nested-spatial-or-dateline.xml new file mode 100644 index 000000000..4fe317617 --- /dev/null +++ b/tests/functionaltests/suites/apiso/expected/post_GetRecords-filter-and-nested-spatial-or-dateline.xml @@ -0,0 +1,1132 @@ + + + + + + + + NS06agg + + + eng + + + UTF8 + + + dataset + + + service + + + + + Margaret McManus + + + University of Hawaii + + + + + + + mamc@hawaii.edu + + + + + + + http://www.soest.hawaii.edu/oceanography/faculty/mcmanus.html + + + http + + + web browser + + + + + + + + + information + + + + + + + pointOfContact + + + + + 2014-04-16 + + + ISO 19115-2 Geographic Information - Metadata Part 2 Extensions for imagery and gridded data + + + ISO 19115-2:2009(E) + + + + + 3 + + + + + column + + + 1 + + + 0.0 + + + + + + + row + + + 1 + + + 0.0 + + + + + + + temporal + + + 482760 + + + 252.0 + + + + + area + + + + + + + + + + PacIOOS Nearshore Sensor 06: Pohnpei, Micronesia + + + + + 2011-04-12 + + + creation + + + + + + + 2011-04-19 + + + issued + + + + + + + 2014-03-18 + + + revision + + + + + + + + + org.pacioos + + + + + + NS06agg + + + + + + + Margaret McManus + + + University of Hawaii + + + + + + + mamc@hawaii.edu + + + + + + + http://www.soest.hawaii.edu/oceanography/faculty/mcmanus.html + + + http + + + web browser + + + + + + + + + information + + + + + + + originator + + + + + + + Jim Potemra + + + + + distributor + + + + + Data produced by Dr. Margaret McManus (mamc@hawaii.edu). Point of contact: Gordon Walker (gwalker@hawaii.edu). + + + + + The nearshore sensors are part of the Pacific Islands Ocean Observing System (PacIOOS) and are designed to measure a variety of ocean parameters at fixed point locations. NS06 is located at the dock in Pohnpei lagoon and is mounted to the bottom in about 1 meter of water. The instrument is a Sea-Bird Electronics model 16+ V2 coupled with a WET Labs ECO-FLNTUS combination sensor. + + + PacIOOS provides timely, reliable, and accurate ocean information to support a safe, clean, productive ocean and resilient coastal zone in the U.S. Pacific Islands region. + + + The Pacific Islands Ocean Observing System (PacIOOS) is funded through the National Oceanic and Atmospheric Administration (NOAA) as a Regional Association within the U.S. Integrated Ocean Observing System (IOOS). PacIOOS is coordinated by the University of Hawaii School of Ocean and Earth Science and Technology (SOEST). + + + + + Margaret McManus + + + University of Hawaii + + + + + + + mamc@hawaii.edu + + + + + + + http://www.soest.hawaii.edu/oceanography/faculty/mcmanus.html + + + http + + + web browser + + + + + + + + + information + + + + + + + pointOfContact + + + + + + http://pacioos.org/metadata/browse/NS06agg.png + + Sample image. + + + + + + + Oceans > Ocean Chemistry > Chlorophyll + + + Oceans > Ocean Optics > Turbidity + + + Oceans > Ocean Temperature > Water Temperature + + + Oceans > Salinity/Density > Conductivity + + + Oceans > Salinity/Density > Salinity + + + Oceans > Water Quality + + + theme + + + + + GCMD Science Keywords + + + + + + + + + + Ocean &gt; Pacific Ocean &gt; Western Pacific Ocean &gt; Micronesia &gt; Federated States of Micronesia + + + Ocean &gt; Pacific Ocean &gt; United States of America &gt; Territories + + + Federated States of Micronesia &gt; Pohnpei &gt; Pohnpei Lagoon + + + place + + + + + GCMD Location Keywords + + + + + + + + + + Pacific Islands Ocean Observing System (PacIOOS) + + + project + + + + + GCMD Project Keywords + + + + + + + + + + Pacific Islands Ocean Observing System (PacIOOS) + + + dataCenter + + + + + GCMD Data Center Keywords + + + + + + + + + + sea_water_temperature + + + sea_water_electrical_conductivity + + + sea_water_turbidity + + + mass_concentration_of_chlorophyll_in_sea_water + + + sea_water_salinity + + + depth + + + latitude + + + longitude + + + time + + + theme + + + + + CF-1.4 + + + + + + + + + + The data may be used and redistributed for free but is not intended for legal use, since it may contain inaccuracies. Neither the data Contributor, University of Hawaii, PacIOOS, NOAA, State of Hawaii nor the United States Government, nor any of their employees or contractors, makes any warranty, express or implied, including warranties of merchantability and fitness for a particular purpose, or assumes any legal liability for the accuracy, completeness, or usefulness, of this information. + + + + + + + + + Pacific Islands Ocean Observing System (PacIOOS) + + + + + + largerWorkCitation + + + project + + + + + + + + + + + Unidata Common Data Model + + + + + + Point + + + + + largerWorkCitation + + + project + + + + + eng + + + climatologyMeteorologyAtmosphere + + + + + + + 1 + + + 158.22402954101562 + + + 158.22402954101562 + + + 6.955227375030518 + + + 6.955227375030518 + + + + + + + + seconds + 2010-05-07T00:00:00Z + 2014-03-17T23:56:00Z + + + + + + + + -1.0 + + + -1.0 + + + + + + + + + + + + + + PacIOOS Nearshore Sensor 06: Pohnpei, Micronesia + + + + + 2011-04-12 + + + creation + + + + + + + 2011-04-19 + + + issued + + + + + + + 2014-03-18 + + + revision + + + + + + + Margaret McManus + + + University of Hawaii + + + + + + + mamc@hawaii.edu + + + + + + + http://www.soest.hawaii.edu/oceanography/faculty/mcmanus.html + + + http + + + web browser + + + + + + + + + information + + + + + + + originator + + + + + + + Jim Potemra + + + + + distributor + + + + + + + The nearshore sensors are part of the Pacific Islands Ocean Observing System (PacIOOS) and are designed to measure a variety of ocean parameters at fixed point locations. NS06 is located at the dock in Pohnpei lagoon and is mounted to the bottom in about 1 meter of water. The instrument is a Sea-Bird Electronics model 16+ V2 coupled with a WET Labs ECO-FLNTUS combination sensor. + + + THREDDS OPeNDAP + + + + + + + 1 + + + 158.22402954101562 + + + 158.22402954101562 + + + 6.955227375030518 + + + 6.955227375030518 + + + + + + + + 2010-05-07T00:00:00Z + 2014-03-17T23:56:00Z + + + + + + + + -1.0 + + + -1.0 + + + + + + + + tight + + + + + OPeNDAP Client Access + + + + + + http://oos.soest.hawaii.edu/thredds/dodsC/pacioos/nss/ns06agg + + + OPeNDAP + + + THREDDS OPeNDAP + + + download + + + + + + + + + + + + + + + + + + temp + + + + + float + + + + + + + Temperature (sea_water_temperature) + + + + + + + + + + cond + + + + + float + + + + + + + Conductivity (sea_water_electrical_conductivity) + + + + + + + + + + turb + + + + + float + + + + + + + Turbidity (sea_water_turbidity) + + + + + + + + + + flor + + + + + float + + + + + + + Chlorophyll (mass_concentration_of_chlorophyll_in_sea_water) + + + + + + + + + + salt + + + + + float + + + + + + + Salinity (sea_water_salinity) + + + + + + + + + + z + + + + + float + + + + + + + depth below mean sea level (depth) + + + + + + + + + + lat + + + + + float + + + + + + + Latitude (latitude) + + + + + + + + + + lon + + + + + float + + + + + + + Longitude (longitude) + + + + + + + + + + time + + + + + float + + + + + + + Time (time) + + + + + + + + + + + + + + + Pacific Islands Ocean Observing System (PacIOOS) + + + + + + + jimp@hawaii.edu + + + + + + + http://pacioos.org + + + http + + + web browser + + + URL for the data publisher + + + This URL provides contact information for the publisher of this dataset + + + information + + + + + + + publisher + + + + + + + OPeNDAP + + + + + + + + + + http://oos.soest.hawaii.edu/thredds/idd/nss_pacioos.html?dataset=NS06agg + + + THREDDS Catalog + + + This URL provides a catalog page for this dataset within THREDDS Data Server (TDS). + + + download + + + + + + + + + + + http://oos.soest.hawaii.edu/thredds/dodsC/pacioos/nss/ns06agg.html + + + File Information + + + This URL provides a standard OPeNDAP html interface for selecting data from this dataset. Change the extension to .info for a description of the dataset. + + + download + + + + + + + + + + + http://pacioos.org/voyager/index.html?b=6.874279%2C158.077126%2C7.050468%2C158.369808&tz=pont&o=qual:2::p0NS06p1 + + + PacIOOS Voyager (Google Maps API) + + + This URL provides a viewer for this dataset. + + + download + + + + + + + + + + + http://oos.soest.hawaii.edu/dchart/index.html?dsetid=54cd0688ada08d86748b9c5762509f + + + DChart + + + This URL provides a viewer for this dataset. + + + download + + + + + + + + + + + http://oos.soest.hawaii.edu/erddap/tabledap/nss06_agg.graph?time%2Ctemperature&.draw=lines + + + ERDDAP + + + This URL provides a viewer for this dataset. + + + download + + + + + + + + + + + http://pacioos.org/focus/waterquality/wq_fsm.php + + + PacIOOS Water Quality Platforms: FSM + + + This URL provides a viewer for this dataset. + + + download + + + + + + + + + + + + + + + dataset + + + + + + + UH/SOEST (M. McManus), PacIOOS asset (05/2010) + + + + + + + + + + This record was translated from NcML using UnidataDD2MI.xsl Version 2.3 + + + + + + diff --git a/tests/functionaltests/suites/apiso/expected/post_GetRecords-filter-anytext.xml b/tests/functionaltests/suites/apiso/expected/post_GetRecords-filter-anytext.xml new file mode 100644 index 000000000..96190eeb8 --- /dev/null +++ b/tests/functionaltests/suites/apiso/expected/post_GetRecords-filter-anytext.xml @@ -0,0 +1,372 @@ + + + + + + + + 366f6257-19eb-4f20-ba78-0698ac4aae77 + + + dataset + + + + + + + Aerial Photos + + + + + 2009-10-09 + + + creation + + + + + + + + + + + 20.0 + + + 24.0 + + + 38.0 + + + 40.0 + + + + + + + + + + + + + + + http://www.ypaat.gr + + + None + + + None + + + None + + + + + + + + + + + 75a7eb5e-336e-453d-ab06-209b1070d396 + + + dataset + + + + + + + Aerial Photos + + + + + 2009-10-09 + + + creation + + + + + + + + + + + 20.0 + + + 24.0 + + + 38.0 + + + 40.0 + + + + + + + + + + + + + + + http://www.ypaat.gr + + + None + + + None + + + None + + + + + + + + + + + a7308c0a-b748-48e2-bab7-0a608a51d416 + + + dataset + + + + + + + Aerial Photos + + + + + 2009-10-09 + + + creation + + + + + + + + + + + 20.0 + + + 24.0 + + + 38.0 + + + 40.0 + + + + + + + + + + + + + + + http://www.ypaat.gr + + + None + + + None + + + None + + + + + + + + + + + 0173e0d7-6ea9-4407-b846-f29d6bfa9903 + + + dataset + + + + + + + Aerial Photos + + + + + 2009-10-09 + + + creation + + + + + + + + + + + 20.0 + + + 24.0 + + + 38.0 + + + 40.0 + + + + + + + + + + + + + + + http://www.ypaat.gr + + + None + + + None + + + None + + + + + + + + + + + 437ae0a2-06e2-4015-b296-a66e7f407bf2 + + + dataset + + + + + + + Aerial Photos + + + + + 2009-10-09 + + + creation + + + + + + + + + + + 20.0 + + + 38.0 + + + 24.0 + + + 40.0 + + + + + + + + + + + + + + + http://www.ypaat.gr + + + None + + + None + + + None + + + + + + + + + + diff --git a/tests/functionaltests/suites/apiso/expected/post_GetRecords-filter-bbox-csw-output.xml b/tests/functionaltests/suites/apiso/expected/post_GetRecords-filter-bbox-csw-output.xml new file mode 100644 index 000000000..74ac35ab1 --- /dev/null +++ b/tests/functionaltests/suites/apiso/expected/post_GetRecords-filter-bbox-csw-output.xml @@ -0,0 +1,52 @@ + + + + + + + 3e9a8c05 + test Title + service + + 34.8 19.37 + 41.75 29.61 + + + + 366f6257-19eb-4f20-ba78-0698ac4aae77 + Aerial Photos + dataset + + 38.0 20.0 + 40.0 24.0 + + + + 75a7eb5e-336e-453d-ab06-209b1070d396 + Aerial Photos + dataset + + 38.0 20.0 + 40.0 24.0 + + + + a7308c0a-b748-48e2-bab7-0a608a51d416 + Aerial Photos + dataset + + 38.0 20.0 + 40.0 24.0 + + + + 0173e0d7-6ea9-4407-b846-f29d6bfa9903 + Aerial Photos + dataset + + 38.0 20.0 + 40.0 24.0 + + + + diff --git a/tests/functionaltests/suites/apiso/expected/post_GetRecords-filter-bbox.xml b/tests/functionaltests/suites/apiso/expected/post_GetRecords-filter-bbox.xml new file mode 100644 index 000000000..cd76cde90 --- /dev/null +++ b/tests/functionaltests/suites/apiso/expected/post_GetRecords-filter-bbox.xml @@ -0,0 +1,388 @@ + + + + + + + + 3e9a8c05 + + + service + + + + + + + test Title + + + + + 2011-04-19 + + + creation + + + + + + + view + + + + + + + + Geographic viewer (humanGeographicViewer) + + + administration + + + + + + + + + 19.37 + + + 29.61 + + + 34.8 + + + 41.75 + + + + + + + + + + + + + + + http://aiolos.survey.ntua.gr/geoserver/wms + + + None + + + None + + + None + + + + + + + + + + + 366f6257-19eb-4f20-ba78-0698ac4aae77 + + + dataset + + + + + + + Aerial Photos + + + + + 2009-10-09 + + + creation + + + + + + + + + + + 20.0 + + + 24.0 + + + 38.0 + + + 40.0 + + + + + + + + + + + + + + + http://www.ypaat.gr + + + None + + + None + + + None + + + + + + + + + + + 75a7eb5e-336e-453d-ab06-209b1070d396 + + + dataset + + + + + + + Aerial Photos + + + + + 2009-10-09 + + + creation + + + + + + + + + + + 20.0 + + + 24.0 + + + 38.0 + + + 40.0 + + + + + + + + + + + + + + + http://www.ypaat.gr + + + None + + + None + + + None + + + + + + + + + + + a7308c0a-b748-48e2-bab7-0a608a51d416 + + + dataset + + + + + + + Aerial Photos + + + + + 2009-10-09 + + + creation + + + + + + + + + + + 20.0 + + + 24.0 + + + 38.0 + + + 40.0 + + + + + + + + + + + + + + + http://www.ypaat.gr + + + None + + + None + + + None + + + + + + + + + + + 0173e0d7-6ea9-4407-b846-f29d6bfa9903 + + + dataset + + + + + + + Aerial Photos + + + + + 2009-10-09 + + + creation + + + + + + + + + + + 20.0 + + + 24.0 + + + 38.0 + + + 40.0 + + + + + + + + + + + + + + + http://www.ypaat.gr + + + None + + + None + + + None + + + + + + + + + + diff --git a/tests/functionaltests/suites/apiso/expected/post_GetRecords-filter-servicetype.xml b/tests/functionaltests/suites/apiso/expected/post_GetRecords-filter-servicetype.xml new file mode 100644 index 000000000..80fa7ec19 --- /dev/null +++ b/tests/functionaltests/suites/apiso/expected/post_GetRecords-filter-servicetype.xml @@ -0,0 +1,96 @@ + + + + + + + + 3e9a8c05 + + + service + + + + + + + test Title + + + + + 2011-04-19 + + + creation + + + + + + + view + + + + + + + + Geographic viewer (humanGeographicViewer) + + + administration + + + + + + + + + 19.37 + + + 29.61 + + + 34.8 + + + 41.75 + + + + + + + + + + + + + + + http://aiolos.survey.ntua.gr/geoserver/wms + + + None + + + None + + + None + + + + + + + + + + diff --git a/tests/functionaltests/suites/apiso/post/DescribeRecord.xml b/tests/functionaltests/suites/apiso/post/DescribeRecord.xml new file mode 100644 index 000000000..e449f61d2 --- /dev/null +++ b/tests/functionaltests/suites/apiso/post/DescribeRecord.xml @@ -0,0 +1,4 @@ + + + gmd:MD_Metadata + diff --git a/tests/functionaltests/suites/apiso/post/GetCapabilities.xml b/tests/functionaltests/suites/apiso/post/GetCapabilities.xml new file mode 100644 index 000000000..e4dc8070b --- /dev/null +++ b/tests/functionaltests/suites/apiso/post/GetCapabilities.xml @@ -0,0 +1,9 @@ + + + + 2.0.2 + + + application/xml + + diff --git a/tests/functionaltests/suites/apiso/post/GetDomain-property.xml b/tests/functionaltests/suites/apiso/post/GetDomain-property.xml new file mode 100644 index 000000000..a3ff1bac0 --- /dev/null +++ b/tests/functionaltests/suites/apiso/post/GetDomain-property.xml @@ -0,0 +1,5 @@ + + + apiso:TopicCategory + + diff --git a/tests/functionaltests/suites/apiso/post/GetRecordById-brief.xml b/tests/functionaltests/suites/apiso/post/GetRecordById-brief.xml new file mode 100644 index 000000000..84f6c16af --- /dev/null +++ b/tests/functionaltests/suites/apiso/post/GetRecordById-brief.xml @@ -0,0 +1,6 @@ + + + de53e931-778a-4792-94ad-9fe507aca483 + brief + + diff --git a/tests/functionaltests/suites/apiso/post/GetRecordById-full-dc.xml b/tests/functionaltests/suites/apiso/post/GetRecordById-full-dc.xml new file mode 100644 index 000000000..c58520a66 --- /dev/null +++ b/tests/functionaltests/suites/apiso/post/GetRecordById-full-dc.xml @@ -0,0 +1,6 @@ + + + NS06agg + full + + diff --git a/tests/functionaltests/suites/apiso/post/GetRecordById-full.xml b/tests/functionaltests/suites/apiso/post/GetRecordById-full.xml new file mode 100644 index 000000000..2fe6e2d4c --- /dev/null +++ b/tests/functionaltests/suites/apiso/post/GetRecordById-full.xml @@ -0,0 +1,6 @@ + + + de53e931-778a-4792-94ad-9fe507aca483 + full + + diff --git a/tests/functionaltests/suites/apiso/post/GetRecordById-srv-brief.xml b/tests/functionaltests/suites/apiso/post/GetRecordById-srv-brief.xml new file mode 100644 index 000000000..88ec9dec5 --- /dev/null +++ b/tests/functionaltests/suites/apiso/post/GetRecordById-srv-brief.xml @@ -0,0 +1,6 @@ + + + 3e9a8c05 + brief + + diff --git a/tests/functionaltests/suites/apiso/post/GetRecords-all-csw-output.xml b/tests/functionaltests/suites/apiso/post/GetRecords-all-csw-output.xml new file mode 100644 index 000000000..1cdb55562 --- /dev/null +++ b/tests/functionaltests/suites/apiso/post/GetRecords-all-csw-output.xml @@ -0,0 +1,6 @@ + + + + full + + diff --git a/tests/functionaltests/suites/apiso/post/GetRecords-all.xml b/tests/functionaltests/suites/apiso/post/GetRecords-all.xml new file mode 100644 index 000000000..1cdb55562 --- /dev/null +++ b/tests/functionaltests/suites/apiso/post/GetRecords-all.xml @@ -0,0 +1,6 @@ + + + + full + + diff --git a/tests/functionaltests/suites/apiso/post/GetRecords-cql-title.xml b/tests/functionaltests/suites/apiso/post/GetRecords-cql-title.xml new file mode 100644 index 000000000..a8d37e802 --- /dev/null +++ b/tests/functionaltests/suites/apiso/post/GetRecords-cql-title.xml @@ -0,0 +1,9 @@ + + + + brief + + apiso:TopicCategory like '%elevation%' + + + diff --git a/tests/functionaltests/suites/apiso/post/GetRecords-elementname.xml b/tests/functionaltests/suites/apiso/post/GetRecords-elementname.xml new file mode 100644 index 000000000..ff191228e --- /dev/null +++ b/tests/functionaltests/suites/apiso/post/GetRecords-elementname.xml @@ -0,0 +1,6 @@ + + + + apiso:Title + + diff --git a/tests/functionaltests/suites/apiso/post/GetRecords-filter-and-nested-spatial-or-dateline.xml b/tests/functionaltests/suites/apiso/post/GetRecords-filter-and-nested-spatial-or-dateline.xml new file mode 100644 index 000000000..3074a10e6 --- /dev/null +++ b/tests/functionaltests/suites/apiso/post/GetRecords-filter-and-nested-spatial-or-dateline.xml @@ -0,0 +1,45 @@ + + + full + + + + + csw:AnyText + *pacioos* + + + + ows:BoundingBox + + 5.0721 17.8247 + 31.7842 180 + + + + ows:BoundingBox + + 15.0721 -180 + 31.7842 -151.2378 + + + + + + + + + dc:title + ASC + + + + diff --git a/tests/functionaltests/suites/apiso/post/GetRecords-filter-anytext.xml b/tests/functionaltests/suites/apiso/post/GetRecords-filter-anytext.xml new file mode 100644 index 000000000..4bb8d9cbd --- /dev/null +++ b/tests/functionaltests/suites/apiso/post/GetRecords-filter-anytext.xml @@ -0,0 +1,15 @@ + + + + brief + + + + apiso:AnyText + Aerial% + + + + + + diff --git a/tests/functionaltests/suites/apiso/post/GetRecords-filter-bbox-csw-output.xml b/tests/functionaltests/suites/apiso/post/GetRecords-filter-bbox-csw-output.xml new file mode 100644 index 000000000..f7e47c78e --- /dev/null +++ b/tests/functionaltests/suites/apiso/post/GetRecords-filter-bbox-csw-output.xml @@ -0,0 +1,19 @@ + + + + brief + + + + apiso:BoundingBox + + 35 18 + 42 28 + + + + + + + + diff --git a/tests/functionaltests/suites/apiso/post/GetRecords-filter-bbox.xml b/tests/functionaltests/suites/apiso/post/GetRecords-filter-bbox.xml new file mode 100644 index 000000000..2444873bf --- /dev/null +++ b/tests/functionaltests/suites/apiso/post/GetRecords-filter-bbox.xml @@ -0,0 +1,18 @@ + + + + brief + + + + apiso:BoundingBox + + 35 18 + 42 28 + + + + + + + diff --git a/tests/functionaltests/suites/apiso/post/GetRecords-filter-servicetype.xml b/tests/functionaltests/suites/apiso/post/GetRecords-filter-servicetype.xml new file mode 100644 index 000000000..02078b62e --- /dev/null +++ b/tests/functionaltests/suites/apiso/post/GetRecords-filter-servicetype.xml @@ -0,0 +1,14 @@ + + + + brief + + + + apiso:ServiceType + view + + + + + diff --git a/tests/functionaltests/suites/atom/default.cfg b/tests/functionaltests/suites/atom/default.cfg new file mode 100644 index 000000000..b97c23e6b --- /dev/null +++ b/tests/functionaltests/suites/atom/default.cfg @@ -0,0 +1,90 @@ +# ================================================================= +# +# Authors: Tom Kralidis +# +# Copyright (c) 2012 Tom Kralidis +# +# Permission is hereby granted, free of charge, to any person +# obtaining a copy of this software and associated documentation +# files (the "Software"), to deal in the Software without +# restriction, including without limitation the rights to use, +# copy, modify, merge, publish, distribute, sublicense, and/or sell +# copies of the Software, and to permit persons to whom the +# Software is furnished to do so, subject to the following +# conditions: +# +# The above copyright notice and this permission notice shall be +# included in all copies or substantial portions of the Software. +# +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +# EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES +# OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +# NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT +# HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, +# WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR +# OTHER DEALINGS IN THE SOFTWARE. +# +# ================================================================= + +[server] +home=. +url=http://localhost/pycsw/csw.py?config=tests/suites/atom/default.cfg +mimetype=application/xml; charset=UTF-8 +encoding=UTF-8 +language=en-US +maxrecords=10 +#loglevel=DEBUG +#logfile=/tmp/pycsw.log +#ogc_schemas_base=http://foo +federatedcatalogues=http://geo.data.gov/geoportal/csw/discovery +pretty_print=true +#gzip_compresslevel=8 +#spatial_ranking=true + +[manager] +transactions=false +allowed_ips=127.0.0.1 + +[metadata:main] +identification_title=pycsw Geospatial Catalogue +identification_abstract=pycsw is an OGC CSW server implementation written in Python +identification_keywords=catalogue,discovery +identification_keywords_type=theme +identification_fees=None +identification_accessconstraints=None +provider_name=pycsw +provider_url=http://pycsw.org/ +contact_name=Kralidis, Tom +contact_position=Senior Systems Scientist +contact_address=TBA +contact_city=Toronto +contact_stateorprovince=Ontario +contact_postalcode=M9C 3Z9 +contact_country=Canada +contact_phone=+01-416-xxx-xxxx +contact_fax=+01-416-xxx-xxxx +contact_email=tomkralidis@gmail.com +contact_url=http://kralidis.ca/ +contact_hours=0800h - 1600h EST +contact_instructions=During hours of service. Off on weekends. +contact_role=pointOfContact + +[repository] +# sqlite +database=sqlite:///tests/suites/cite/data/records.db +# postgres +#database=postgres://username:password@localhost/pycsw +table=records + +[metadata:inspire] +enabled=false +languages_supported=eng,gre +default_language=eng +date=2011-03-29 +gemet_keywords=Utility and governmental services +conformity_service=notEvaluated +contact_name=National Technical University of Athens +contact_email=tzotsos@gmail.com +temp_extent=2011-02-01/2011-03-30 + diff --git a/tests/functionaltests/suites/atom/expected/get_opensearch-description.xml b/tests/functionaltests/suites/atom/expected/get_opensearch-description.xml new file mode 100644 index 000000000..d9af17447 --- /dev/null +++ b/tests/functionaltests/suites/atom/expected/get_opensearch-description.xml @@ -0,0 +1,13 @@ + + + + pycsw Geospatial Catalogue + pycsw Geospatial Catalogue + pycsw is an OGC CSW server implementation written in Python + catalogue discovery + + http://pycsw.org/img/favicon.ico + Kralidis, Tom + tomkralidis@gmail.com + pycsw + diff --git a/tests/functionaltests/suites/atom/expected/get_opensearch-ogc-bbox-and-time.xml b/tests/functionaltests/suites/atom/expected/get_opensearch-ogc-bbox-and-time.xml new file mode 100644 index 000000000..1b8a63a22 --- /dev/null +++ b/tests/functionaltests/suites/atom/expected/get_opensearch-ogc-bbox-and-time.xml @@ -0,0 +1,38 @@ + + + + http://localhost/pycsw/csw.py?config=tests/suites/atom/default.cfg + pycsw Geospatial Catalogue + 2 + 1 + 2 + + + urn:uuid:9a669547-b69b-469f-a11f-2d875366bbdc + urn:uuid:9a669547-b69b-469f-a11f-2d875366bbdc + + Ñunç elementum + PYCSW_TIMESTAMP + + + 44.79 -6.17 + 51.13 -2.23 + + + + + + urn:uuid:94bc9c83-97f6-4b40-9eb8-a8e8787a5c63 + urn:uuid:94bc9c83-97f6-4b40-9eb8-a8e8787a5c63 + + Mauris sed neque + PYCSW_TIMESTAMP + Curabitur lacinia, ante non porta tempus, mi lorem feugiat odio, eget suscipit eros pede ac velit. + + + 47.59 -4.1 + 51.22 0.89 + + + + diff --git a/tests/functionaltests/suites/atom/expected/get_opensearch-ogc-bbox.xml b/tests/functionaltests/suites/atom/expected/get_opensearch-ogc-bbox.xml new file mode 100644 index 000000000..cb6309ae5 --- /dev/null +++ b/tests/functionaltests/suites/atom/expected/get_opensearch-ogc-bbox.xml @@ -0,0 +1,52 @@ + + + + http://localhost/pycsw/csw.py?config=tests/suites/atom/default.cfg + pycsw Geospatial Catalogue + 3 + 1 + 3 + + urn:uuid:1ef30a8b-876d-4828-9246-c37ab4510bbd + urn:uuid:1ef30a8b-876d-4828-9246-c37ab4510bbd + + + PYCSW_TIMESTAMP + Proin sit amet justo. In justo. Aenean adipiscing nulla id tellus. + + + 60.04 13.75 + 68.41 17.92 + + + + + + urn:uuid:94bc9c83-97f6-4b40-9eb8-a8e8787a5c63 + urn:uuid:94bc9c83-97f6-4b40-9eb8-a8e8787a5c63 + + Mauris sed neque + PYCSW_TIMESTAMP + Curabitur lacinia, ante non porta tempus, mi lorem feugiat odio, eget suscipit eros pede ac velit. + + + 47.59 -4.1 + 51.22 0.89 + + + + + + urn:uuid:9a669547-b69b-469f-a11f-2d875366bbdc + urn:uuid:9a669547-b69b-469f-a11f-2d875366bbdc + + Ñunç elementum + PYCSW_TIMESTAMP + + + 44.79 -6.17 + 51.13 -2.23 + + + + diff --git a/tests/functionaltests/suites/atom/expected/get_opensearch-ogc-count-and-page1.xml b/tests/functionaltests/suites/atom/expected/get_opensearch-ogc-count-and-page1.xml new file mode 100644 index 000000000..abc2039e2 --- /dev/null +++ b/tests/functionaltests/suites/atom/expected/get_opensearch-ogc-count-and-page1.xml @@ -0,0 +1,32 @@ + + + + http://localhost/pycsw/csw.py?config=tests/suites/atom/default.cfg + pycsw Geospatial Catalogue + 2 + 1 + 2 + + + urn:uuid:6a3de50b-fa66-4b58-a0e6-ca146fdd18d4 + urn:uuid:6a3de50b-fa66-4b58-a0e6-ca146fdd18d4 + + Ut facilisis justo ut lacus + PYCSW_TIMESTAMP + + + + urn:uuid:94bc9c83-97f6-4b40-9eb8-a8e8787a5c63 + urn:uuid:94bc9c83-97f6-4b40-9eb8-a8e8787a5c63 + + Mauris sed neque + PYCSW_TIMESTAMP + Curabitur lacinia, ante non porta tempus, mi lorem feugiat odio, eget suscipit eros pede ac velit. + + + 47.59 -4.1 + 51.22 0.89 + + + + diff --git a/tests/functionaltests/suites/atom/expected/get_opensearch-ogc-count-and-page2.xml b/tests/functionaltests/suites/atom/expected/get_opensearch-ogc-count-and-page2.xml new file mode 100644 index 000000000..709921a3f --- /dev/null +++ b/tests/functionaltests/suites/atom/expected/get_opensearch-ogc-count-and-page2.xml @@ -0,0 +1,17 @@ + + + + http://localhost/pycsw/csw.py?config=tests/suites/atom/default.cfg + pycsw Geospatial Catalogue + 2 + 1 + 1 + + + urn:uuid:6a3de50b-fa66-4b58-a0e6-ca146fdd18d4 + urn:uuid:6a3de50b-fa66-4b58-a0e6-ca146fdd18d4 + + Ut facilisis justo ut lacus + PYCSW_TIMESTAMP + + diff --git a/tests/functionaltests/suites/atom/expected/get_opensearch-ogc-q-and-bbox.xml b/tests/functionaltests/suites/atom/expected/get_opensearch-ogc-q-and-bbox.xml new file mode 100644 index 000000000..ed8c2a30c --- /dev/null +++ b/tests/functionaltests/suites/atom/expected/get_opensearch-ogc-q-and-bbox.xml @@ -0,0 +1,24 @@ + + + + http://localhost/pycsw/csw.py?config=tests/suites/atom/default.cfg + pycsw Geospatial Catalogue + 1 + 1 + 1 + + + urn:uuid:94bc9c83-97f6-4b40-9eb8-a8e8787a5c63 + urn:uuid:94bc9c83-97f6-4b40-9eb8-a8e8787a5c63 + + Mauris sed neque + PYCSW_TIMESTAMP + Curabitur lacinia, ante non porta tempus, mi lorem feugiat odio, eget suscipit eros pede ac velit. + + + 47.59 -4.1 + 51.22 0.89 + + + + diff --git a/tests/functionaltests/suites/atom/expected/get_opensearch-ogc-q-and-time.xml b/tests/functionaltests/suites/atom/expected/get_opensearch-ogc-q-and-time.xml new file mode 100644 index 000000000..281c6df53 --- /dev/null +++ b/tests/functionaltests/suites/atom/expected/get_opensearch-ogc-q-and-time.xml @@ -0,0 +1,18 @@ + + + + http://localhost/pycsw/csw.py?config=tests/suites/atom/default.cfg + pycsw Geospatial Catalogue + 1 + 1 + 1 + + + urn:uuid:e9330592-0932-474b-be34-c3a3bb67c7db + urn:uuid:e9330592-0932-474b-be34-c3a3bb67c7db + + Fuscé vitae ligulä + PYCSW_TIMESTAMP + Morbi ultriçes, dui suscipit vestibulum prètium, velit ante pretium tortor, egët tincidunt pede odio ac nulla. + + diff --git a/tests/functionaltests/suites/atom/expected/get_opensearch-ogc-q.xml b/tests/functionaltests/suites/atom/expected/get_opensearch-ogc-q.xml new file mode 100644 index 000000000..7aaae428f --- /dev/null +++ b/tests/functionaltests/suites/atom/expected/get_opensearch-ogc-q.xml @@ -0,0 +1,18 @@ + + + + http://localhost/pycsw/csw.py?config=tests/suites/atom/default.cfg + pycsw Geospatial Catalogue + 1 + 1 + 1 + + + urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f + urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f + + Lorem ipsum + PYCSW_TIMESTAMP + Quisque lacus diam, placerat mollis, pharetra in, commodo sed, augue. Duis iaculis arcu vel arcu. + + diff --git a/tests/functionaltests/suites/atom/expected/get_opensearch-ogc-time.xml b/tests/functionaltests/suites/atom/expected/get_opensearch-ogc-time.xml new file mode 100644 index 000000000..281c6df53 --- /dev/null +++ b/tests/functionaltests/suites/atom/expected/get_opensearch-ogc-time.xml @@ -0,0 +1,18 @@ + + + + http://localhost/pycsw/csw.py?config=tests/suites/atom/default.cfg + pycsw Geospatial Catalogue + 1 + 1 + 1 + + + urn:uuid:e9330592-0932-474b-be34-c3a3bb67c7db + urn:uuid:e9330592-0932-474b-be34-c3a3bb67c7db + + Fuscé vitae ligulä + PYCSW_TIMESTAMP + Morbi ultriçes, dui suscipit vestibulum prètium, velit ante pretium tortor, egët tincidunt pede odio ac nulla. + + diff --git a/tests/functionaltests/suites/atom/expected/get_opensearch-ogc-timeend.xml b/tests/functionaltests/suites/atom/expected/get_opensearch-ogc-timeend.xml new file mode 100644 index 000000000..281c6df53 --- /dev/null +++ b/tests/functionaltests/suites/atom/expected/get_opensearch-ogc-timeend.xml @@ -0,0 +1,18 @@ + + + + http://localhost/pycsw/csw.py?config=tests/suites/atom/default.cfg + pycsw Geospatial Catalogue + 1 + 1 + 1 + + + urn:uuid:e9330592-0932-474b-be34-c3a3bb67c7db + urn:uuid:e9330592-0932-474b-be34-c3a3bb67c7db + + Fuscé vitae ligulä + PYCSW_TIMESTAMP + Morbi ultriçes, dui suscipit vestibulum prètium, velit ante pretium tortor, egët tincidunt pede odio ac nulla. + + diff --git a/tests/functionaltests/suites/atom/expected/get_opensearch-ogc-timestart.xml b/tests/functionaltests/suites/atom/expected/get_opensearch-ogc-timestart.xml new file mode 100644 index 000000000..6e1694835 --- /dev/null +++ b/tests/functionaltests/suites/atom/expected/get_opensearch-ogc-timestart.xml @@ -0,0 +1,47 @@ + + + + http://localhost/pycsw/csw.py?config=tests/suites/atom/default.cfg + pycsw Geospatial Catalogue + 3 + 1 + 3 + + + urn:uuid:9a669547-b69b-469f-a11f-2d875366bbdc + urn:uuid:9a669547-b69b-469f-a11f-2d875366bbdc + + Ñunç elementum + PYCSW_TIMESTAMP + + + 44.79 -6.17 + 51.13 -2.23 + + + + + + urn:uuid:94bc9c83-97f6-4b40-9eb8-a8e8787a5c63 + urn:uuid:94bc9c83-97f6-4b40-9eb8-a8e8787a5c63 + + Mauris sed neque + PYCSW_TIMESTAMP + Curabitur lacinia, ante non porta tempus, mi lorem feugiat odio, eget suscipit eros pede ac velit. + + + 47.59 -4.1 + 51.22 0.89 + + + + + + urn:uuid:784e2afd-a9fd-44a6-9a92-a3848371c8ec + urn:uuid:784e2afd-a9fd-44a6-9a92-a3848371c8ec + + Aliquam fermentum purus quis arcu + PYCSW_TIMESTAMP + Vestibulum quis ipsum sit amet metus imperdiet vehicula. Nulla scelerisque cursus mi. + + diff --git a/tests/functionaltests/suites/atom/expected/get_opensearch.xml b/tests/functionaltests/suites/atom/expected/get_opensearch.xml new file mode 100644 index 000000000..68fbf0f78 --- /dev/null +++ b/tests/functionaltests/suites/atom/expected/get_opensearch.xml @@ -0,0 +1,110 @@ + + + + http://localhost/pycsw/csw.py?config=tests/suites/atom/default.cfg + pycsw Geospatial Catalogue + 12 + 1 + 10 + + + urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f + urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f + + Lorem ipsum + PYCSW_TIMESTAMP + Quisque lacus diam, placerat mollis, pharetra in, commodo sed, augue. Duis iaculis arcu vel arcu. + + + urn:uuid:1ef30a8b-876d-4828-9246-c37ab4510bbd + urn:uuid:1ef30a8b-876d-4828-9246-c37ab4510bbd + + + PYCSW_TIMESTAMP + Proin sit amet justo. In justo. Aenean adipiscing nulla id tellus. + + + 60.04 13.75 + 68.41 17.92 + + + + + + urn:uuid:66ae76b7-54ba-489b-a582-0f0633d96493 + urn:uuid:66ae76b7-54ba-489b-a582-0f0633d96493 + + Maecenas enim + PYCSW_TIMESTAMP + Pellentesque tempus magna non sapien fringilla blandit. + + + + urn:uuid:6a3de50b-fa66-4b58-a0e6-ca146fdd18d4 + urn:uuid:6a3de50b-fa66-4b58-a0e6-ca146fdd18d4 + + Ut facilisis justo ut lacus + PYCSW_TIMESTAMP + + + + urn:uuid:784e2afd-a9fd-44a6-9a92-a3848371c8ec + urn:uuid:784e2afd-a9fd-44a6-9a92-a3848371c8ec + + Aliquam fermentum purus quis arcu + PYCSW_TIMESTAMP + Vestibulum quis ipsum sit amet metus imperdiet vehicula. Nulla scelerisque cursus mi. + + + urn:uuid:829babb0-b2f1-49e1-8cd5-7b489fe71a1e + urn:uuid:829babb0-b2f1-49e1-8cd5-7b489fe71a1e + + Vestibulum massa purus + PYCSW_TIMESTAMP + + + + urn:uuid:88247b56-4cbc-4df9-9860-db3f8042e357 + urn:uuid:88247b56-4cbc-4df9-9860-db3f8042e357 + + + PYCSW_TIMESTAMP + Donec scelerisque pede ut nisl luctus accumsan. Quisque ultrices, lorem eget feugiat fringilla, lorem dui porttitor ante, cursus ultrices magna odio eu neque. + + + + urn:uuid:94bc9c83-97f6-4b40-9eb8-a8e8787a5c63 + urn:uuid:94bc9c83-97f6-4b40-9eb8-a8e8787a5c63 + + Mauris sed neque + PYCSW_TIMESTAMP + Curabitur lacinia, ante non porta tempus, mi lorem feugiat odio, eget suscipit eros pede ac velit. + + + 47.59 -4.1 + 51.22 0.89 + + + + + + urn:uuid:9a669547-b69b-469f-a11f-2d875366bbdc + urn:uuid:9a669547-b69b-469f-a11f-2d875366bbdc + + Ñunç elementum + PYCSW_TIMESTAMP + + + 44.79 -6.17 + 51.13 -2.23 + + + + + urn:uuid:a06af396-3105-442d-8b40-22b57a90d2f2 + urn:uuid:a06af396-3105-442d-8b40-22b57a90d2f2 + + Lorem ipsum dolor sit amet + PYCSW_TIMESTAMP + + diff --git a/tests/functionaltests/suites/atom/expected/post_DescribeRecord.xml b/tests/functionaltests/suites/atom/expected/post_DescribeRecord.xml new file mode 100644 index 000000000..5f82a7d41 --- /dev/null +++ b/tests/functionaltests/suites/atom/expected/post_DescribeRecord.xml @@ -0,0 +1,3 @@ + + + diff --git a/tests/functionaltests/suites/atom/expected/post_GetCapabilities.xml b/tests/functionaltests/suites/atom/expected/post_GetCapabilities.xml new file mode 100644 index 000000000..7ce6b5663 --- /dev/null +++ b/tests/functionaltests/suites/atom/expected/post_GetCapabilities.xml @@ -0,0 +1,262 @@ + + + + + pycsw Geospatial Catalogue + pycsw is an OGC CSW server implementation written in Python + + catalogue + discovery + theme + + CSW + 2.0.2 + 3.0.0 + None + None + + + pycsw + + + Kralidis, Tom + Senior Systems Scientist + + + +01-416-xxx-xxxx + +01-416-xxx-xxxx + + + TBA + Toronto + Ontario + M9C 3Z9 + Canada + tomkralidis@gmail.com + + + 0800h - 1600h EST + During hours of service. Off on weekends. + + pointOfContact + + + + + + + + + + + + Filter_Capabilities + OperationsMetadata + ServiceIdentification + ServiceProvider + + + + + + + + + + + application/json + application/xml + + + http://www.w3.org/2001/XMLSchema + http://www.w3.org/TR/xmlschema-1/ + http://www.w3.org/XML/Schema + + + csw:Record + + + + + + + + + + + DescribeRecord.outputFormat + DescribeRecord.schemaLanguage + DescribeRecord.typeName + GetCapabilities.sections + GetRecordById.ElementSetName + GetRecordById.outputFormat + GetRecordById.outputSchema + GetRecords.CONSTRAINTLANGUAGE + GetRecords.ElementSetName + GetRecords.outputFormat + GetRecords.outputSchema + GetRecords.resultType + GetRecords.typeNames + + + + + + + + + + + CQL_TEXT + FILTER + + + brief + full + summary + + + application/json + application/xml + + + http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ + http://www.interlis.ch/INTERLIS2.3 + http://www.opengis.net/cat/csw/2.0.2 + http://www.opengis.net/cat/csw/csdgm + http://www.w3.org/2005/Atom + + + hits + results + validate + + + csw:Record + + + csw:AnyText + dc:contributor + dc:creator + dc:date + dc:format + dc:identifier + dc:language + dc:publisher + dc:relation + dc:rights + dc:source + dc:subject + dc:title + dc:type + dct:abstract + dct:modified + ows:BoundingBox + + + + + + + + + + + brief + full + summary + + + application/json + application/xml + + + http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ + http://www.interlis.ch/INTERLIS2.3 + http://www.opengis.net/cat/csw/2.0.2 + http://www.opengis.net/cat/csw/csdgm + http://www.w3.org/2005/Atom + + + + + + + + + + + CSW + + + 2.0.2 + 3.0.0 + + + http://geo.data.gov/geoportal/csw/discovery + + + 10 + + + XML + SOAP + + + allowed + + + + + + gml:Point + gml:LineString + gml:Polygon + gml:Envelope + + + + + + + + + + + + + + + + + + + Between + EqualTo + GreaterThan + GreaterThanEqualTo + LessThan + LessThanEqualTo + Like + NotEqualTo + NullCheck + + + + + length + lower + ltrim + rtrim + trim + upper + + + + + + + + + + diff --git a/tests/functionaltests/suites/atom/expected/post_GetRecords-filter-bbox.xml b/tests/functionaltests/suites/atom/expected/post_GetRecords-filter-bbox.xml new file mode 100644 index 000000000..c345e05d9 --- /dev/null +++ b/tests/functionaltests/suites/atom/expected/post_GetRecords-filter-bbox.xml @@ -0,0 +1,36 @@ + + + + + + + + urn:uuid:94bc9c83-97f6-4b40-9eb8-a8e8787a5c63 + urn:uuid:94bc9c83-97f6-4b40-9eb8-a8e8787a5c63 + + Mauris sed neque + PYCSW_TIMESTAMP + Curabitur lacinia, ante non porta tempus, mi lorem feugiat odio, eget suscipit eros pede ac velit. + + + 47.59 -4.1 + 51.22 0.89 + + + + + + urn:uuid:9a669547-b69b-469f-a11f-2d875366bbdc + urn:uuid:9a669547-b69b-469f-a11f-2d875366bbdc + + Ñunç elementum + PYCSW_TIMESTAMP + + + 44.79 -6.17 + 51.13 -2.23 + + + + + diff --git a/tests/functionaltests/suites/atom/get/requests.txt b/tests/functionaltests/suites/atom/get/requests.txt new file mode 100644 index 000000000..6734cd5a7 --- /dev/null +++ b/tests/functionaltests/suites/atom/get/requests.txt @@ -0,0 +1,12 @@ +opensearch,mode=opensearch&service=CSW&version=2.0.2&request=GetRecords&typenames=csw:Record&resulttype=results&elementsetname=brief +opensearch-description,mode=opensearch&service=CSW&version=2.0.2&request=GetCapabilities +opensearch-ogc-q,mode=opensearch&service=CSW&version=2.0.2&request=GetRecords&elementsetname=full&resulttype=results&typenames=csw:Record&q=greece +opensearch-ogc-bbox,mode=opensearch&service=CSW&version=2.0.2&request=GetRecords&elementsetname=full&resulttype=results&typenames=csw:Record&bbox=-180,-90,180,90 +opensearch-ogc-time,mode=opensearch&service=CSW&version=2.0.2&request=GetRecords&elementsetname=full&resulttype=results&typenames=csw:Record&time=2001/2004 +opensearch-ogc-timestart,mode=opensearch&service=CSW&version=2.0.2&request=GetRecords&elementsetname=full&resulttype=results&typenames=csw:Record&time=2004/ +opensearch-ogc-timeend,mode=opensearch&service=CSW&version=2.0.2&request=GetRecords&elementsetname=full&resulttype=results&typenames=csw:Record&time=/2004 +opensearch-ogc-q-and-time,mode=opensearch&service=CSW&version=2.0.2&request=GetRecords&elementsetname=full&resulttype=results&typenames=csw:Record&time=2001/2007&q=vitae +opensearch-ogc-bbox-and-time,mode=opensearch&service=CSW&version=2.0.2&request=GetRecords&elementsetname=full&resulttype=results&typenames=csw:Record&time=2001/2007&bbox=-180,-90,180,90 +opensearch-ogc-q-and-bbox,mode=opensearch&service=CSW&version=2.0.2&request=GetRecords&elementsetname=full&resulttype=results&typenames=csw:Record&q=vegetation&bbox=-180,-90,180,90 +opensearch-ogc-count-and-page1,mode=opensearch&service=CSW&version=2.0.2&request=GetRecords&elementsetname=full&resulttype=results&typenames=csw:Record&q=vegetation&startposition=1 +opensearch-ogc-count-and-page2,mode=opensearch&service=CSW&version=2.0.2&request=GetRecords&elementsetname=full&resulttype=results&typenames=csw:Record&q=vegetation&startposition=1&maxrecords=1 diff --git a/tests/functionaltests/suites/atom/post/DescribeRecord.xml b/tests/functionaltests/suites/atom/post/DescribeRecord.xml new file mode 100644 index 000000000..cd923b8c8 --- /dev/null +++ b/tests/functionaltests/suites/atom/post/DescribeRecord.xml @@ -0,0 +1,4 @@ + + + atom:entry + diff --git a/tests/functionaltests/suites/atom/post/GetCapabilities.xml b/tests/functionaltests/suites/atom/post/GetCapabilities.xml new file mode 100644 index 000000000..e4dc8070b --- /dev/null +++ b/tests/functionaltests/suites/atom/post/GetCapabilities.xml @@ -0,0 +1,9 @@ + + + + 2.0.2 + + + application/xml + + diff --git a/tests/functionaltests/suites/atom/post/GetRecords-filter-bbox.xml b/tests/functionaltests/suites/atom/post/GetRecords-filter-bbox.xml new file mode 100644 index 000000000..1c431c21f --- /dev/null +++ b/tests/functionaltests/suites/atom/post/GetRecords-filter-bbox.xml @@ -0,0 +1,17 @@ + + + + brief + + + + ows:BoundingBox + + 47 -5 + 55 20 + + + + + + diff --git a/tests/functionaltests/suites/cite/data/README.txt b/tests/functionaltests/suites/cite/data/README.txt new file mode 100644 index 000000000..67996869c --- /dev/null +++ b/tests/functionaltests/suites/cite/data/README.txt @@ -0,0 +1,65 @@ +CITE Data +========= + +This directory provides data used to check conformance against the +Open Geospatial Consortium Compliance and Interoperability Testing Initiative (CITE). + +* http://cite.opengeospatial.org/teamengine/ + +The CITE team engine does not offer a specific license for re-distribution, as such it falls +under the general guidance provided by the OGC legal page (http://www.opengeospatial.org/legal/) +and the following license: + +* http://www.opengeospatial.org/ogc/software + +DATA LICENSE +------------ + +The data directory includes information provided by the Open Geospatial Consortium:: + + Copyright © 2012 Open Geospatial Consortium, Inc. + All Rights Reserved. http://www.opengeospatial.org/ogc/legal + +The test data is available directly from the following link: + +* http://cite.opengeospatial.org/teamengine/about/csw/2.0.2/web/ + +This content has been format shifted from CSW record format into a text based +"property file" for release testing. + +Software Notice +--------------- + +This OGC work (including software, documents, or other related items) is being provided by the +copyright holders under the following license. By obtaining, using and/or copying this work, you +(the licensee) agree that you have read, understood, and will comply with the following terms and +conditions: + +Permission to use, copy, and modify this software and its documentation, with or without +modification, for any purpose and without fee or royalty is hereby granted, provided that you +include the following on ALL copies of the software and documentation or portions thereof, including +modifications, that you make: + +1. The full text of this NOTICE in a location viewable to users of the redistributed or derivative +work. + +2. Any pre-existing intellectual property disclaimers, notices, or terms and conditions. If none exist, +a short notice of the following form (hypertext is preferred, text is permitted) should be used +within the body of any redistributed or derivative code: "Copyright © [$date-of-document] Open +Geospatial Consortium, Inc. All Rights Reserved. http://www.opengeospatial.org/ogc/legal (Hypertext +is preferred, but a textual representation is permitted.) + +3. Notice of any changes or modifications to the OGC files, including the date changes were made. (We +recommend you provide URIs to the location from which the code is derived.) + +THIS SOFTWARE AND DOCUMENTATION IS PROVIDED "AS IS," AND COPYRIGHT HOLDERS MAKE NO REPRESENTATIONS +OR WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO, WARRANTIES OF MERCHANTABILITY OR +FITNESS FOR ANY PARTICULAR PURPOSE OR THAT THE USE OF THE SOFTWARE OR DOCUMENTATION WILL NOT +INFRINGE ANY THIRD PARTY PATENTS, COPYRIGHTS, TRADEMARKS OR OTHER RIGHTS. + +COPYRIGHT HOLDERS WILL NOT BE LIABLE FOR ANY DIRECT, INDIRECT, SPECIAL OR CONSEQUENTIAL DAMAGES +ARISING OUT OF ANY USE OF THE SOFTWARE OR DOCUMENTATION. + +The name and trademarks of copyright holders may NOT be used in advertising or publicity pertaining +to the software without specific, written prior permission. Title to copyright in this software and +any associated documentation will at all times remain with copyright holders. diff --git a/tests/functionaltests/suites/cite/data/Record_19887a8a-f6b0-4a63-ae56-7fba0e17801f.xml b/tests/functionaltests/suites/cite/data/Record_19887a8a-f6b0-4a63-ae56-7fba0e17801f.xml new file mode 100644 index 000000000..7292511ed --- /dev/null +++ b/tests/functionaltests/suites/cite/data/Record_19887a8a-f6b0-4a63-ae56-7fba0e17801f.xml @@ -0,0 +1,13 @@ + + + urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f + http://purl.org/dc/dcmitype/Image + image/svg+xml + Lorem ipsum + GR-22 + Tourism--Greece + Quisque lacus diam, placerat mollis, pharetra in, commodo sed, augue. Duis iaculis arcu vel arcu. + \ No newline at end of file diff --git a/tests/functionaltests/suites/cite/data/Record_1ef30a8b-876d-4828-9246-c37ab4510bbd.xml b/tests/functionaltests/suites/cite/data/Record_1ef30a8b-876d-4828-9246-c37ab4510bbd.xml new file mode 100644 index 000000000..97c595793 --- /dev/null +++ b/tests/functionaltests/suites/cite/data/Record_1ef30a8b-876d-4828-9246-c37ab4510bbd.xml @@ -0,0 +1,13 @@ + + + urn:uuid:1ef30a8b-876d-4828-9246-c37ab4510bbd + http://purl.org/dc/dcmitype/Service + Proin sit amet justo. In justo. Aenean adipiscing nulla id tellus. + + 60.042 13.754 + 68.410 17.920 + + \ No newline at end of file diff --git a/tests/functionaltests/suites/cite/data/Record_66ae76b7-54ba-489b-a582-0f0633d96493.xml b/tests/functionaltests/suites/cite/data/Record_66ae76b7-54ba-489b-a582-0f0633d96493.xml new file mode 100644 index 000000000..b58bcdbb0 --- /dev/null +++ b/tests/functionaltests/suites/cite/data/Record_66ae76b7-54ba-489b-a582-0f0633d96493.xml @@ -0,0 +1,12 @@ + + + urn:uuid:66ae76b7-54ba-489b-a582-0f0633d96493 + Maecenas enim + http://purl.org/dc/dcmitype/Text + application/xhtml+xml + Marine sediments + Pellentesque tempus magna non sapien fringilla blandit. + \ No newline at end of file diff --git a/tests/functionaltests/suites/cite/data/Record_6a3de50b-fa66-4b58-a0e6-ca146fdd18d4.xml b/tests/functionaltests/suites/cite/data/Record_6a3de50b-fa66-4b58-a0e6-ca146fdd18d4.xml new file mode 100644 index 000000000..13f973a1c --- /dev/null +++ b/tests/functionaltests/suites/cite/data/Record_6a3de50b-fa66-4b58-a0e6-ca146fdd18d4.xml @@ -0,0 +1,11 @@ + + + urn:uuid:6a3de50b-fa66-4b58-a0e6-ca146fdd18d4 + http://purl.org/dc/dcmitype/Service + Ut facilisis justo ut lacus + Vegetation + urn:uuid:94bc9c83-97f6-4b40-9eb8-a8e8787a5c63 + \ No newline at end of file diff --git a/tests/functionaltests/suites/cite/data/Record_784e2afd-a9fd-44a6-9a92-a3848371c8ec.xml b/tests/functionaltests/suites/cite/data/Record_784e2afd-a9fd-44a6-9a92-a3848371c8ec.xml new file mode 100644 index 000000000..cb2d08b38 --- /dev/null +++ b/tests/functionaltests/suites/cite/data/Record_784e2afd-a9fd-44a6-9a92-a3848371c8ec.xml @@ -0,0 +1,14 @@ + + + urn:uuid:784e2afd-a9fd-44a6-9a92-a3848371c8ec + Aliquam fermentum purus quis arcu + http://purl.org/dc/dcmitype/Text + Hydrography--Dictionaries + application/pdf + 2006-05-12 + Vestibulum quis ipsum sit amet metus imperdiet vehicula. Nulla scelerisque cursus mi. + diff --git a/tests/functionaltests/suites/cite/data/Record_829babb0-b2f1-49e1-8cd5-7b489fe71a1e.xml b/tests/functionaltests/suites/cite/data/Record_829babb0-b2f1-49e1-8cd5-7b489fe71a1e.xml new file mode 100644 index 000000000..83a96d20f --- /dev/null +++ b/tests/functionaltests/suites/cite/data/Record_829babb0-b2f1-49e1-8cd5-7b489fe71a1e.xml @@ -0,0 +1,11 @@ + + + urn:uuid:829babb0-b2f1-49e1-8cd5-7b489fe71a1e + http://purl.org/dc/dcmitype/Image + image/jp2 + Vestibulum massa purus + urn:uuid:9a669547-b69b-469f-a11f-2d875366bbdc + \ No newline at end of file diff --git a/tests/functionaltests/suites/cite/data/Record_88247b56-4cbc-4df9-9860-db3f8042e357.xml b/tests/functionaltests/suites/cite/data/Record_88247b56-4cbc-4df9-9860-db3f8042e357.xml new file mode 100644 index 000000000..2771e6a49 --- /dev/null +++ b/tests/functionaltests/suites/cite/data/Record_88247b56-4cbc-4df9-9860-db3f8042e357.xml @@ -0,0 +1,11 @@ + + + urn:uuid:88247b56-4cbc-4df9-9860-db3f8042e357 + http://purl.org/dc/dcmitype/Dataset + Physiography-Landforms + FI-ES + Donec scelerisque pede ut nisl luctus accumsan. Quisque ultrices, lorem eget feugiat fringilla, lorem dui porttitor ante, cursus ultrices magna odio eu neque. + \ No newline at end of file diff --git a/tests/functionaltests/suites/cite/data/Record_94bc9c83-97f6-4b40-9eb8-a8e8787a5c63.xml b/tests/functionaltests/suites/cite/data/Record_94bc9c83-97f6-4b40-9eb8-a8e8787a5c63.xml new file mode 100644 index 000000000..ccf590fa7 --- /dev/null +++ b/tests/functionaltests/suites/cite/data/Record_94bc9c83-97f6-4b40-9eb8-a8e8787a5c63.xml @@ -0,0 +1,17 @@ + + + urn:uuid:94bc9c83-97f6-4b40-9eb8-a8e8787a5c63 + http://purl.org/dc/dcmitype/Dataset + Mauris sed neque + Vegetation-Cropland + Curabitur lacinia, ante non porta tempus, mi lorem feugiat odio, eget suscipit eros pede ac velit. + 2006-03-26 + + 47.595 -4.097 + 51.217 0.889 + + diff --git a/tests/functionaltests/suites/cite/data/Record_9a669547-b69b-469f-a11f-2d875366bbdc.xml b/tests/functionaltests/suites/cite/data/Record_9a669547-b69b-469f-a11f-2d875366bbdc.xml new file mode 100644 index 000000000..577f2c4ef --- /dev/null +++ b/tests/functionaltests/suites/cite/data/Record_9a669547-b69b-469f-a11f-2d875366bbdc.xml @@ -0,0 +1,16 @@ + + + urn:uuid:9a669547-b69b-469f-a11f-2d875366bbdc + http://purl.org/dc/dcmitype/Dataset + Ñunç elementum + Hydrography-Oceanographic + 2005-10-24 + + 44.792 -6.171 + 51.126 -2.228 + + diff --git a/tests/functionaltests/suites/cite/data/Record_a06af396-3105-442d-8b40-22b57a90d2f2.xml b/tests/functionaltests/suites/cite/data/Record_a06af396-3105-442d-8b40-22b57a90d2f2.xml new file mode 100644 index 000000000..a7ba06c7a --- /dev/null +++ b/tests/functionaltests/suites/cite/data/Record_a06af396-3105-442d-8b40-22b57a90d2f2.xml @@ -0,0 +1,11 @@ + + + urn:uuid:a06af396-3105-442d-8b40-22b57a90d2f2 + http://purl.org/dc/dcmitype/Image + Lorem ipsum dolor sit amet + image/jpeg + IT-FI + \ No newline at end of file diff --git a/tests/functionaltests/suites/cite/data/Record_ab42a8c4-95e8-4630-bf79-33e59241605a.xml b/tests/functionaltests/suites/cite/data/Record_ab42a8c4-95e8-4630-bf79-33e59241605a.xml new file mode 100644 index 000000000..b4d2a23b4 --- /dev/null +++ b/tests/functionaltests/suites/cite/data/Record_ab42a8c4-95e8-4630-bf79-33e59241605a.xml @@ -0,0 +1,11 @@ + + + urn:uuid:ab42a8c4-95e8-4630-bf79-33e59241605a + http://purl.org/dc/dcmitype/Service + Physiography + Suspendisse accumsan molestie lorem. Nullam velit turpis, mattis ut, varius bibendum, laoreet non, quam. + urn:uuid:88247b56-4cbc-4df9-9860-db3f8042e357 + \ No newline at end of file diff --git a/tests/functionaltests/suites/cite/data/Record_e9330592-0932-474b-be34-c3a3bb67c7db.xml b/tests/functionaltests/suites/cite/data/Record_e9330592-0932-474b-be34-c3a3bb67c7db.xml new file mode 100644 index 000000000..1e6bdc2da --- /dev/null +++ b/tests/functionaltests/suites/cite/data/Record_e9330592-0932-474b-be34-c3a3bb67c7db.xml @@ -0,0 +1,14 @@ + + + urn:uuid:e9330592-0932-474b-be34-c3a3bb67c7db + http://purl.org/dc/dcmitype/Text + Fuscé vitae ligulä + 2003-05-09 + Land titles + text/rtf + Morbi ultriçes, dui suscipit vestibulum prètium, velit ante pretium tortor, egët tincidunt pede odio ac nulla. + diff --git a/tests/functionaltests/suites/cite/data/cite.db b/tests/functionaltests/suites/cite/data/cite.db new file mode 100644 index 0000000000000000000000000000000000000000..6bbd3f18ca39cc0bbe41fb4bba50998ec26da50e GIT binary patch literal 82944 zcmeHwdyE{%d1v?3KDbL#Z+R^+P-2HK1b@%jRc6ztTA?aPR2Fqr5)mQaZ{p$7AS6@|~f8(_2QrxoaE^)CeObDVV z{3OPLAS}bbH{jpk*MOIa!3X>=Cf>7Nmj&qu)05ykh5nY&97X>Z{crR?(SJuj3>>lo za(9jZN8k=2pj05D7hi-2o`=V$o`T2TN8m9twI7~h;YR}e@gGOven;T?{$FoR2~QSo zJiL7N{K-dtaB_L|!o?N;bFHE>hx2D&TRyjX>O@RZmmAHB z+*qip%~G}2s8;1#U0yhL@xp7X=T2RC>x=U&=J|#BMp-V;zx(b8pSoPFGoQ2PPOU5h zx05!dy{o2vX?~$Rg1o7gD~$Z&nNt_OIB(E4kOO6@TxlpZxvExc6;)N_YI8(bwNkB) zP6PyCiSXM$`knxP{KpaC2<&bI7R8yTo;vWHC>9>?ds@fTgQrb(%Ql>=@4IVlYIUh= zucN{vKltg_FEH7B68(_n`fMzl?`{xy>Nx@&fnfyB%!13x3_N~n4?JF*g2%~8=D1J% z7{-6}Yv_HXqUpl-3%^mgTzI*#U;JzE;J=-LKn1l$&+aXGo@p#mRhG*&wJMcWxhg3Q zMUyltE0Qh~S<~tby^|HBt@kasi_+^si7%NwM82hQlV3+5RIlntE6Q} zM1_Z&oswFUk0Suc&YSkh8kPTTP6rgLgG)P^g(JWV5ta6)fhvEy%U%0SIj&7~H*$ENu3u$B#U=-Ly&nhb6Pxy2(_oL5N$rT*rXAv%RxfgJ z%`RQjXxkieqCF#~vHGSCscKvHdgN$R$MS3);_J0N(vErSHYKhVv-D*l=TagOy47=S zQ}dEkmfa>j^JmhDbExjwrn?RS7z}35jq^=(ojT4aAIk-1qdbfxvg~8crdLcS35W0M z=U|g-Ak(E2=#zIXgMl356{>XyWfCO|ASC}hHj;e#@>x+YYD1cZj^xTL4k zE2QHkC_`7z>PC?#WzERZq4pJ1r>Po}aJxe76b4qG+UacSme=o?y>=>wfDCFuTytWl z5mhhtB;7!6ehs`{kU|Qrs3GRxA5!BZ{ZhWM2fRT zfBZ)u2f;|v>6c7?-nEroC_!KM( z3V&RfLXV+i=o^BtQ4*);4j&e;KkgEcSe!lxL8JphYHQ6|cZNO-$ImSvyReKe9DC*T zG9L28FU-z3wrSu~XD%$CTt0`-tX{xpE}lNk<{HFvFRk^GLYVK8q-SJ~?b2)U#3Lol zFj^2}uD?{6o|7c;#$i9f110C0ZgsqF&l&zksU#2kvNX5W{D{^-{39K!?aO1Sv=0az z{SxhxZ2u^GL!pP5ZjK-#@a4J?J_d(w!L)15fawy*lOXdZypqVJ_(hQ=W&{zzZ1F=8 zP0t-TApY`Oey&4xaroav3arqPVH69Jn^VscJv!@IfOU<;^dw3f%dpvlIfAwTNJlose!i1o70F6U$$~Bk1tz8606d2wYs7nwqN}5WhSedo(i& zgY3zQJ|axTAGwC|KOg_c>VJ7)j=+x-0XCYCG5*gAFM@fH@T5k-^JF<^qdNbpB#>FpwI% zC23Qfk{-piy`zVQNXr?rc{qzrM3~|cxfWadGB8Vw$03hLvUns&Q(O}6#n%1|J_!Y6 z$mh{4J_*tkpM-nyt%s)ODhEVwQ_%!!;*iB-Su6(Hs6uUSacdTj* zqklXr`j|46f!Mit{*kFU>3|3-*>u(N6^3E-Ph>?OXcd!b_g(n-pYG)N7e`?CAuz`H z&-H)1uef=NIRYsJc>7Pm!9O?x4-^8t{XbB}%`?jpNFgw8`!9T7fOY@xq3?jr&ke8w zJ_mNd7%YMR0X+DRBe2^L_%y1C)pDgKmFrTqexaf))zl@W@%FwfkG)wQvsoT9qdn?x z@5%C*&hnVb@|eu>m>BI*dmCkW6y{KEW-}zUxB2{kw^eSQUXH*J0^^SVVCKi||AsK- zpB#bRf&g#-yQQRfIynM&9)Ypj|9$~Z`(;Q?D7Q_a>h~$Hj{-ZV}z=z}8U*zvnrwg*_K{ zi0(NPkD^1sn(APN?O@t7yMfXFL+II=L@xOJe}~pZo-B?)UIfM%|JnYZ8Q~QH{(eRH zk+>rMapCpCchG0izs$@0{G+4I68#;>p;_XSS!RjBHsz#QqVH0C^RcP9#RKByVOz&w zi%1yjTvn{%Mv`Q-fm89F$4Bqh80-rPWBznj%mccVjpo3ycxRRsVqL5Hg~5OZt^W|h)+(>y$-C4!>nTi(s;X0$o(@}+((5;C14am(fm|~?Q`-( zg^=}uOxDTM7m@{-jHK9_%P<*+?fHWP9YRh&k;N%Nn#x#NV0{0;Ty#3#Yh03$U5y*)EZ~r-g;$$3w`w#)%{_n#=+k|MWA{bEm)t>bYSXs1bMKgjPwy;O5*#SJi~q(u9oWvlxxI$R=sPw%NP*=F_9C9D_Sv zLw?U@@e8O@*$SMB*FKwJhq&pgqL9buvUqF?kYcyVxA@L8qYG@BZMY*^xoWost(I$-a4^CRjkV8b)91G_iOK5WUj5^t^O+c$s9HNEZvIKpY}nDpRU zv%XE48-~lR;BNub_RVj(*fo2)X?Q&s_bJ?j1=nd=nCQ6YbvmT9uRF2vu6W)9>sz=3 z%7M$Cp#FPZhxBk4ZgYaI9I#=8?GGv8Gb}(i5>4U77@Eforg;Dt>0XLyRX8cVuKEFW{S~gsjWdbMzUshNw*o!EF|APi!>A#O@h?S4^-gXRsd!!=4<7% zzd|pWx(DSLlujy#A?L1H3hu}_g1#i4rJW9J;-P-#0&K$+F~}X#H)#(?`NA4lfy2#U zC3JFP<5BUf4fh2^dxL_lIVF6mH+VZn;d-zhCI(bisIk3vP{%M_l;Hwj&nXq?#K!8( z09=1d4>n8!b)^p<>|Qih>tN>(I9!5D_TW}JY(nMHtu9;xXR+-@P(!@7M@#qw+cadt zt{@=yHxIEA_g_lf{%=S2a6C~Qf&2)JA^-FCpC4vU$r0F*2=Mm5Ba4M6iX(7O5E#4t zzsS!2{B`s?`b~5ey@>u4Euo)fMv{b0!>t9go1n=vnbJ%<(}<kVaG^{Iz^;jOo#5<`$I#)K z3l=+#q$^1$LE)rRF8}ZNipLYk5!f1mvB!UY{^!;Jb6<|Y4n}~t{~cU7JZT((yNm#D z|92T+9z9232O}^>`)BrldxU=?z~7&XuZSNNP8a?SdNTj%f8(I?*0ZB8WQHREDQORm zI4fouI)!8@`=-#XXnrokQfy#L=B|TX2-Pjya1LiNNYbXbBt44ya~XF(x2a`NM~6qq zXd#PHOqpU6I~Oh<$(st1DnGjk5U%v zZGxxLvkh(W?4hZ-!v{ojIEje^4@+6;U^FRa%%SMLkYN#SZM_}ys|7-F6e}9So41F8@ zJGcq>JLnViH@h4eo_vnL?nQtZ_EgJdSt`R-#%gd25o_zSp+`-sl%=XN6MohuAg$Je z`-K?YRO|ty)nIQE^9am=5E5p%{J(pv2TwUiz(-*0@t@oO@S4OC*tH1o_P=Y3jwhTW zFg60?w*Nv|DEzO&pA>!r{WUsJ_%ixk)GAy=zle^32mf&d5(s<_t%#Rgx4*Qw2$$7% zN^mXTqM^fI*JLIYix=oMci$m&eoLbB)IVEkFT3b=tH@5l2_STKyVy<;mpIg&$w{{- zC*5?e)J^39WO6%}As`cZB11VND|`;E&TNk^l$g=hV`?oclUV*FK ztzKwlCTGRXjO8NY6qA%s@f~UO@q8>Pz4%tyS{9!HU5drPvG`7DbnG_m`1@VMT-38- zAJC;@A2=4h#SB|On+BIV!%o_^7u$_Cve~5RhuEb(i*J@kpV8>(muMHP5PcKUW)`o2 zD#amiDsD_vrsr0`qEi|+mrU6Nvhrg9hm6!rMoG)WL7+6>Q52#5-->|#5&a#k{Cxte zejlMe4yCSJ;>S+?)RN*YILue+@7G+><7r zPJjCAdNHwo06_dXktRmz&%%Cma3&@W*8h$U*8jhYZlHe#ZQnyj(Q))g@hQN&ykvOt zIRbY90blU0ptk7Qy(P~xjiqL@sx-7(T~c&SmlUI=N@}xSmJCg9HOoqs%C$z~Xjc|N zuwI{vMJ4sRT2mU5R#!DisjDrCR4Og0YBU=)xn9>aL!V+{C)2?cO;`1%EUAqaq(D>3 zl1jCvM4GhOXf{YqugeoG7+?Rt3zdOK$r1SRAmDdH>@l)uVIDze!QMu-|H6|3`U~{$ z;moghk%IOX{SDE2 zE>-vCCES~ra5gXDOkTo0c?qZU5>DkMoXkr&k(UtVB`h357YEA!EsK!b|2=rko9FmG zLtxzTpRfPjXBC2H=Yc|ixBmyKxOrwd0x1M|`%l5aKR5yp6au{cKTyTZGs_W3AuvY! z5A6S*5DLc%pCB3iYw^E`UlX55#s0v3c+Ct;GvAo5?`a(q)ZnpM-mxsBtYP|;J=U;i z@twwK^Enr;a9D$TLPHajQi!RxC5$G%z;yJL#$5E zy$*J4#bG-(u*>UPJ;&5K6i(Q4*KN2YHRQ9D#b;EQ6xUG%#g4p{5v6X^WN97A;_Vm6 zfH=i8m zJBRjv>jL_(=ugl$(Kpc7VHNQA(SJrCqpzVKaZBI_uJhv=zBdT$Lr;q?Y?fNI-Bxh2 z2eZ>N*^Z~h_xiLw%Lers_6Y2Q_M>Ma-|E!k=&;BRd<_Sp#lF!BPWN~UHBuheF1g*# z;cMMaVDj?_Iy4jTaIUnOGhhF^H^t4la0Koe0%OSky#3#`QsEJE1nvz2W3+#kK(>Vm zgDlW@^Yh`R;Vtck=EDHiRVOn5_zlPmJ)%l(8>b!WUr)GLDODC@T6ZL|OW{7m z#rdPN7=AAq`ci!S`_ah$x}rA0(78#ZR$VJg3aQHyp#7WyF@g{wF!{F;hD~5kKzu|JqH^m=`LWn zgHoq9adFq`bW8^vF2Tk&pvPu!0qa(`YZ(^1OL74dukFziJ^`^{6QTfeOl;l5S7^t7 zDFw-m_|3k=%mu?8F-P$&l@rF>mIcNs%rQr&_MSQG<0jMessJS*oc^O6~2J;sU&HdI{Q+%cQAE%|_jjlxDRlsa2&e z>2iZ;O080c4HkY&N^~)U#girMb zZ^tOyfzrdoF#D#X!?hl`=XE;JBH{j7+Ua=CriSMCiqPdQy<&NAB}lLRiggX^HgwOd z(Or|Qw!UQ0))F`^EuTGqa;aXbRF)LES`WKa=u}zo)7DjLAGhotwU5@zCD^lqD{`q( zQ(jse_VytOgI(;yCe=Z(W=W}(aivjGtK}eA(mO!Xk1dhbqnTYrj>6iys|X7O*VU07hdp7CP>jjP)tF3;Ddob^ubCqB4Z!LB5VJ0+`#h; z{SQ({QLhu)sA~hF?O(w&s9hoWCgva_RcclH-??*wQPGp1D%9_-I9htDBvId(e%M=6!Qc>zH z!>BY37#DAMI*}v-2@>U#B5(gz@8h3?m>T$nl~(kO&I$pOwec!#pZE_ z*`|)`pVn0^RpyVzm(Y)F{7ZvVH{ywvnqzONA6FDKYdp_`>DDbg8qc=?2;(@9IG%Up z$;OsVJLJ6u=a_Fa+sVUqtR_5GV14m+=HcO7;F@EkYT8vfsAc7HW$_Cur_cMxq--;3 zZ!{HJB`rfDDm)aJwM!~ds}hl$N>grB^d{A_TbbVoj&;n-9_iv1C<$P!^12xG3@}bz zW;0bbLmky%ww2^FM&7|#`P#Z+TWy>4FRe?`2~+p4;j>NZjBZpT25eZj@o9&LYPRBh z6pns}Bi-4_?LLj~Hez^w6I!;Zc^$~JpIcwA5Kk>&dI30?T@cR=6Q&wh=p_>-?xcjz z_%jMehtjtLt$^;?4jbIfyn}b1lEZl0!r8jH2LpO0*y*tz5XCq~j&%cf0iG?p2$tS$ zvwT;Qm5EUdNK%9VteE}Jr0^>OdZqAj;fVO3;B_bbK0G}6Qv2Y=x!Q-_8;=VstHMU( z<#f6Zvd_b5x9BVCc=OcH`$PJHyubR@?!*xvwVykAoeJlV3j(0jj!@a=B?2wS01Z(s z|J?H^we&Lt}&+bBeibKg9y_6CXTO_`ILD57w`LSvW5U8;@qh%$zs; z>X9Uf_*HVK6Y^FGU~v2cSq!S`2i8~Cgwg;IwJzj)+^^~-Hp7D*HM#$wStRB^2G9HW9eQHoPgYTJ62X{Q33FdHFx7T$@uN19H zc^%g_bqecn9e(#W zVd~)?g$2O80)Cz%+`5^B#RQ7Bkx*moqlxj(hHJ}K8D?>3=U_DaZ2T_>zatdB2alcp z`}w&&feiQyZ`?R2oR@@+H{^7hlVab-(`mni%$Y|Y^B_wYcTl&J2kJXB20&@Q{^9e} z;k@y=8#0?ETt5{^p~F>S^!F`|T)V!400yTR4rxg)5YkqN2Rb2U^bw2~!6=&+&u(Fu zjdh~ZaoYlelU}gCKG39%7(S1CHqlJivzfx%?3o0tPhfQO*PPgZM_?hGEk!MWx+)wg z2ZJOV=@zg*Zh|^Xhb43uQ`>T|KL8V*S*wg#pz>GHL6`3<+5(LUyHC;2y6+aG@(!=D zD~(c3tzk(imDNW6HTGJiRIM~{xzuc`V=uAiX{0$v`QeI_)Wb(*kMZ3v-GLU66(N*t z3TBLx@a4+caK7$-21c}*xKc(I08nqh)WXl*0;@#u!SYsJU{ym+y{Cx$k6``ZxBP=z zozmkc4}Al_*f=ku8rP8TP7X3T=2drQkQvoiKL2dBtRC@t@V{I+g2Q>#NZY#}el-7xQ7(nT(Xt$n@CW|zXKC8rRfEfyH^ z=qT^V+@Ue1#SLWTwBP=P?+Wa1m;HYBmDzB$;n4Mmh1FxDlb_TGBq^e)9x2yJOIGWW zT!HRYQL2X2WGAOrt6Hr=)Ur`+Rd+;j{g}kGtyR2v(7S!f%U5^%!AHqm2^)HBSfDJ8 zj2?m@>Dg+y7%|X%)3#4Ev_ugrbWdH7UOmM~VyCR7ggh8*EeZJfOmALDXDD7~plyu( zv~8)8^drp1CkBBv33in8K)%2C(|~R2m!?!nQ&%LlMw@UGf()yIt%fSeGOdBhex+Wn z5x*dBYc(s|0Phxb8%f2gpOj(IJYha7Ex7}%h1O`btlbKm=8T9Uh z)q;p(F!nQ30_=w#ZA>sQm~p{YlpO)%N3}^9jkeLQShi+je?dRcGBWc3w)7vZZ(NDZ zT>CbosUC4nCLH){9l_E`A9nSE8wN`O_+u+1jIegZg_QPm)9`w3utegU3cxyvzvpn1 zFp;s5Cr>$UJ^lxVzN}Dgew-|jo8R?lc c-`WP4EhPY!nNeA}=c!Df1scQ +# +# Copyright (c) 2012 Tom Kralidis +# +# Permission is hereby granted, free of charge, to any person +# obtaining a copy of this software and associated documentation +# files (the "Software"), to deal in the Software without +# restriction, including without limitation the rights to use, +# copy, modify, merge, publish, distribute, sublicense, and/or sell +# copies of the Software, and to permit persons to whom the +# Software is furnished to do so, subject to the following +# conditions: +# +# The above copyright notice and this permission notice shall be +# included in all copies or substantial portions of the Software. +# +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +# EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES +# OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +# NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT +# HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, +# WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR +# OTHER DEALINGS IN THE SOFTWARE. +# +# ================================================================= + +[server] +home=. +url=http://localhost/pycsw/csw.py?config=tests/suites/cite/default.cfg +mimetype=application/xml; charset=UTF-8 +encoding=UTF-8 +language=en-US +#maxrecords=10 +federatedcatalogues=http://geo.data.gov/geoportal/csw/discovery +pretty_print=true +#spatial_ranking=true +gzip_compresslevel=9 + +[manager] +transactions=true +allowed_ips=127.0.0.1 +csw_harvest_pagination_size=10 + +[metadata:main] +identification_title=pycsw Geospatial Catalogue +identification_abstract=pycsw is an OGC CSW server implementation written in Python +identification_keywords=catalogue,discovery +identification_keywords_type=theme +identification_fees=None +identification_accessconstraints=None +provider_name=pycsw +provider_url=http://pycsw.org/ +contact_name=Kralidis, Tom +contact_position=Senior Systems Scientist +contact_address=TBA +contact_city=Toronto +contact_stateorprovince=Ontario +contact_postalcode=M9C 3Z9 +contact_country=Canada +contact_phone=+01-416-xxx-xxxx +contact_fax=+01-416-xxx-xxxx +contact_email=tomkralidis@gmail.com +contact_url=http://kralidis.ca/ +contact_hours=0800h - 1600h EST +contact_instructions=During hours of service. Off on weekends. +contact_role=pointOfContact + +[repository] +# sqlite +database=sqlite:///tests/suites/cite/data/records.db +table=records + +[metadata:inspire] +#enabled=true +languages_supported=eng,gre +default_language=eng +date=2011-03-29 +gemet_keywords=Utility and governmental services +conformity_service=notEvaluated +contact_name=National Technical University of Athens +contact_email=tzotsos@gmail.com +temp_extent=2011-02-01/2011-03-30 + diff --git a/tests/functionaltests/suites/cite/expected/get_27e17158-c57a-4493-92ac-dba8934cf462.xml b/tests/functionaltests/suites/cite/expected/get_27e17158-c57a-4493-92ac-dba8934cf462.xml new file mode 100644 index 000000000..369f8d8d5 --- /dev/null +++ b/tests/functionaltests/suites/cite/expected/get_27e17158-c57a-4493-92ac-dba8934cf462.xml @@ -0,0 +1,310 @@ + + + + + pycsw Geospatial Catalogue + pycsw is an OGC CSW server implementation written in Python + + catalogue + discovery + theme + + CSW + 2.0.2 + 3.0.0 + None + None + + + pycsw + + + Kralidis, Tom + Senior Systems Scientist + + + +01-416-xxx-xxxx + +01-416-xxx-xxxx + + + TBA + Toronto + Ontario + M9C 3Z9 + Canada + tomkralidis@gmail.com + + + 0800h - 1600h EST + During hours of service. Off on weekends. + + pointOfContact + + + + + + + + + + + + Filter_Capabilities + OperationsMetadata + ServiceIdentification + ServiceProvider + + + + + + + + + + + application/json + application/xml + + + http://www.w3.org/2001/XMLSchema + http://www.w3.org/TR/xmlschema-1/ + http://www.w3.org/XML/Schema + + + csw:Record + + + + + + + + + + + DescribeRecord.outputFormat + DescribeRecord.schemaLanguage + DescribeRecord.typeName + GetCapabilities.sections + GetRecordById.ElementSetName + GetRecordById.outputFormat + GetRecordById.outputSchema + GetRecords.CONSTRAINTLANGUAGE + GetRecords.ElementSetName + GetRecords.outputFormat + GetRecords.outputSchema + GetRecords.resultType + GetRecords.typeNames + Harvest.ResourceType + Transaction.TransactionSchemas + + + + + + + + + + + CQL_TEXT + FILTER + + + brief + full + summary + + + application/json + application/xml + + + http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ + http://www.interlis.ch/INTERLIS2.3 + http://www.opengis.net/cat/csw/2.0.2 + http://www.opengis.net/cat/csw/csdgm + http://www.w3.org/2005/Atom + + + hits + results + validate + + + csw:Record + + + csw:AnyText + dc:contributor + dc:creator + dc:date + dc:format + dc:identifier + dc:language + dc:publisher + dc:relation + dc:rights + dc:source + dc:subject + dc:title + dc:type + dct:abstract + dct:modified + ows:BoundingBox + + + + + + + + + + + brief + full + summary + + + application/json + application/xml + + + http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ + http://www.interlis.ch/INTERLIS2.3 + http://www.opengis.net/cat/csw/2.0.2 + http://www.opengis.net/cat/csw/csdgm + http://www.w3.org/2005/Atom + + + + + + + + + + + + + + + + + http://www.isotc211.org/2005/gmi + http://www.opengis.net/cat/csw/2.0.2 + http://www.opengis.net/cat/csw/3.0 + http://www.opengis.net/sos/1.0 + http://www.opengis.net/sos/2.0 + http://www.opengis.net/wcs + http://www.opengis.net/wfs + http://www.opengis.net/wfs/2.0 + http://www.opengis.net/wms + http://www.opengis.net/wmts/1.0 + http://www.opengis.net/wps/1.0.0 + urn:geoss:waf + + + + + + + + + + http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ + http://www.interlis.ch/INTERLIS2.3 + http://www.isotc211.org/2005/gmi + http://www.opengis.net/cat/csw/2.0.2 + http://www.opengis.net/cat/csw/3.0 + http://www.opengis.net/cat/csw/csdgm + http://www.opengis.net/sos/1.0 + http://www.opengis.net/sos/2.0 + http://www.opengis.net/wcs + http://www.opengis.net/wfs + http://www.opengis.net/wfs/2.0 + http://www.opengis.net/wms + http://www.opengis.net/wmts/1.0 + http://www.opengis.net/wps/1.0.0 + http://www.w3.org/2005/Atom + urn:geoss:waf + + + + CSW + + + 2.0.2 + 3.0.0 + + + http://geo.data.gov/geoportal/csw/discovery + + + 10 + + + XML + SOAP + + + allowed + + + + + + gml:Point + gml:LineString + gml:Polygon + gml:Envelope + + + + + + + + + + + + + + + + + + + Between + EqualTo + GreaterThan + GreaterThanEqualTo + LessThan + LessThanEqualTo + Like + NotEqualTo + NullCheck + + + + + length + lower + ltrim + rtrim + trim + upper + + + + + + + + + + diff --git a/tests/functionaltests/suites/cite/expected/get_27f69b66-5f05-4311-a89c-73ca55c2686b.xml b/tests/functionaltests/suites/cite/expected/get_27f69b66-5f05-4311-a89c-73ca55c2686b.xml new file mode 100644 index 000000000..ccdc8dc66 --- /dev/null +++ b/tests/functionaltests/suites/cite/expected/get_27f69b66-5f05-4311-a89c-73ca55c2686b.xml @@ -0,0 +1,9 @@ + + + + + urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f + Lorem ipsum + http://purl.org/dc/dcmitype/Image + + diff --git a/tests/functionaltests/suites/cite/expected/get_2ab7d1fa-885b-459f-80e4-b6282eab4f8c.xml b/tests/functionaltests/suites/cite/expected/get_2ab7d1fa-885b-459f-80e4-b6282eab4f8c.xml new file mode 100644 index 000000000..369f8d8d5 --- /dev/null +++ b/tests/functionaltests/suites/cite/expected/get_2ab7d1fa-885b-459f-80e4-b6282eab4f8c.xml @@ -0,0 +1,310 @@ + + + + + pycsw Geospatial Catalogue + pycsw is an OGC CSW server implementation written in Python + + catalogue + discovery + theme + + CSW + 2.0.2 + 3.0.0 + None + None + + + pycsw + + + Kralidis, Tom + Senior Systems Scientist + + + +01-416-xxx-xxxx + +01-416-xxx-xxxx + + + TBA + Toronto + Ontario + M9C 3Z9 + Canada + tomkralidis@gmail.com + + + 0800h - 1600h EST + During hours of service. Off on weekends. + + pointOfContact + + + + + + + + + + + + Filter_Capabilities + OperationsMetadata + ServiceIdentification + ServiceProvider + + + + + + + + + + + application/json + application/xml + + + http://www.w3.org/2001/XMLSchema + http://www.w3.org/TR/xmlschema-1/ + http://www.w3.org/XML/Schema + + + csw:Record + + + + + + + + + + + DescribeRecord.outputFormat + DescribeRecord.schemaLanguage + DescribeRecord.typeName + GetCapabilities.sections + GetRecordById.ElementSetName + GetRecordById.outputFormat + GetRecordById.outputSchema + GetRecords.CONSTRAINTLANGUAGE + GetRecords.ElementSetName + GetRecords.outputFormat + GetRecords.outputSchema + GetRecords.resultType + GetRecords.typeNames + Harvest.ResourceType + Transaction.TransactionSchemas + + + + + + + + + + + CQL_TEXT + FILTER + + + brief + full + summary + + + application/json + application/xml + + + http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ + http://www.interlis.ch/INTERLIS2.3 + http://www.opengis.net/cat/csw/2.0.2 + http://www.opengis.net/cat/csw/csdgm + http://www.w3.org/2005/Atom + + + hits + results + validate + + + csw:Record + + + csw:AnyText + dc:contributor + dc:creator + dc:date + dc:format + dc:identifier + dc:language + dc:publisher + dc:relation + dc:rights + dc:source + dc:subject + dc:title + dc:type + dct:abstract + dct:modified + ows:BoundingBox + + + + + + + + + + + brief + full + summary + + + application/json + application/xml + + + http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ + http://www.interlis.ch/INTERLIS2.3 + http://www.opengis.net/cat/csw/2.0.2 + http://www.opengis.net/cat/csw/csdgm + http://www.w3.org/2005/Atom + + + + + + + + + + + + + + + + + http://www.isotc211.org/2005/gmi + http://www.opengis.net/cat/csw/2.0.2 + http://www.opengis.net/cat/csw/3.0 + http://www.opengis.net/sos/1.0 + http://www.opengis.net/sos/2.0 + http://www.opengis.net/wcs + http://www.opengis.net/wfs + http://www.opengis.net/wfs/2.0 + http://www.opengis.net/wms + http://www.opengis.net/wmts/1.0 + http://www.opengis.net/wps/1.0.0 + urn:geoss:waf + + + + + + + + + + http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ + http://www.interlis.ch/INTERLIS2.3 + http://www.isotc211.org/2005/gmi + http://www.opengis.net/cat/csw/2.0.2 + http://www.opengis.net/cat/csw/3.0 + http://www.opengis.net/cat/csw/csdgm + http://www.opengis.net/sos/1.0 + http://www.opengis.net/sos/2.0 + http://www.opengis.net/wcs + http://www.opengis.net/wfs + http://www.opengis.net/wfs/2.0 + http://www.opengis.net/wms + http://www.opengis.net/wmts/1.0 + http://www.opengis.net/wps/1.0.0 + http://www.w3.org/2005/Atom + urn:geoss:waf + + + + CSW + + + 2.0.2 + 3.0.0 + + + http://geo.data.gov/geoportal/csw/discovery + + + 10 + + + XML + SOAP + + + allowed + + + + + + gml:Point + gml:LineString + gml:Polygon + gml:Envelope + + + + + + + + + + + + + + + + + + + Between + EqualTo + GreaterThan + GreaterThanEqualTo + LessThan + LessThanEqualTo + Like + NotEqualTo + NullCheck + + + + + length + lower + ltrim + rtrim + trim + upper + + + + + + + + + + diff --git a/tests/functionaltests/suites/cite/expected/get_37aa90e2-6ff0-420c-af15-8b9463099a73.xml b/tests/functionaltests/suites/cite/expected/get_37aa90e2-6ff0-420c-af15-8b9463099a73.xml new file mode 100644 index 000000000..fb6934aaa --- /dev/null +++ b/tests/functionaltests/suites/cite/expected/get_37aa90e2-6ff0-420c-af15-8b9463099a73.xml @@ -0,0 +1,14 @@ + + + + + urn:uuid:9a669547-b69b-469f-a11f-2d875366bbdc + Ñunç elementum + http://purl.org/dc/dcmitype/Dataset + Hydrography-Oceanographic + + 44.79 -6.17 + 51.13 -2.23 + + + diff --git a/tests/functionaltests/suites/cite/expected/get_3a8a3c47-455f-4f49-9078-03119f3e70b3.xml b/tests/functionaltests/suites/cite/expected/get_3a8a3c47-455f-4f49-9078-03119f3e70b3.xml new file mode 100644 index 000000000..29f606bb3 --- /dev/null +++ b/tests/functionaltests/suites/cite/expected/get_3a8a3c47-455f-4f49-9078-03119f3e70b3.xml @@ -0,0 +1,7 @@ + + + + + Invalid acceptFormats parameter value: message/example + + diff --git a/tests/functionaltests/suites/cite/expected/get_4515831f-834a-4699-95f6-ab0c2cbfcfd0.xml b/tests/functionaltests/suites/cite/expected/get_4515831f-834a-4699-95f6-ab0c2cbfcfd0.xml new file mode 100644 index 000000000..95a2f2803 --- /dev/null +++ b/tests/functionaltests/suites/cite/expected/get_4515831f-834a-4699-95f6-ab0c2cbfcfd0.xml @@ -0,0 +1,7 @@ + + + + + Missing id parameter + + diff --git a/tests/functionaltests/suites/cite/expected/get_477b23a3-baa9-47c8-9541-5fe27735ed49.xml b/tests/functionaltests/suites/cite/expected/get_477b23a3-baa9-47c8-9541-5fe27735ed49.xml new file mode 100644 index 000000000..77dd76c6b --- /dev/null +++ b/tests/functionaltests/suites/cite/expected/get_477b23a3-baa9-47c8-9541-5fe27735ed49.xml @@ -0,0 +1,543 @@ + + + + + pycsw Geospatial Catalogue + pycsw is an OGC CSW server implementation written in Python + + catalogue + discovery + theme + + CSW + 2.0.2 + 3.0.0 + None + None + + + pycsw + + + Kralidis, Tom + Senior Systems Scientist + + + +01-416-xxx-xxxx + +01-416-xxx-xxxx + + + TBA + Toronto + Ontario + M9C 3Z9 + Canada + tomkralidis@gmail.com + + + 0800h - 1600h EST + During hours of service. Off on weekends. + + pointOfContact + + + + + + + + + + + + + application/xml + text/xml + + + + + 2.0.2 + 3.0.0 + + + + + All + Filter_Capabilities + OperationsMetadata + ServiceIdentification + ServiceProvider + + + + + + + + + + + + + GetCapabilities.acceptFormats + GetCapabilities.acceptVersions + GetCapabilities.sections + GetRecordById.ElementSetName + GetRecordById.outputFormat + GetRecordById.outputSchema + GetRecords.CONSTRAINTLANGUAGE + GetRecords.ElementSetName + GetRecords.outputFormat + GetRecords.outputSchema + GetRecords.typeNames + Harvest.ResourceType + Transaction.TransactionSchemas + + + + + + + + + + + + + CQL_TEXT + FILTER + + + + + brief + full + summary + + + + + application/atom+xml + application/json + application/xml + + + + + http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ + http://www.interlis.ch/INTERLIS2.3 + http://www.opengis.net/cat/csw/3.0 + http://www.opengis.net/cat/csw/csdgm + http://www.w3.org/2005/Atom + + + + + csw:Record + + + + + 10 + + + + + http://localhost/pycsw/csw.py?config=tests/suites/cite/default.cfg?mode=opensearch&service=CSW&version=3.0.0&request=GetCapabilities + + + + + http://geo.data.gov/geoportal/csw/discovery + + + + + + + + + + + + + brief + full + summary + + + + + application/atom+xml + application/json + application/xml + + + + + http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ + http://www.interlis.ch/INTERLIS2.3 + http://www.opengis.net/cat/csw/3.0 + http://www.opengis.net/cat/csw/csdgm + http://www.w3.org/2005/Atom + + + + + + + + + + + + + + + + + + + http://www.isotc211.org/2005/gmi + http://www.opengis.net/cat/csw/2.0.2 + http://www.opengis.net/cat/csw/3.0 + http://www.opengis.net/sos/1.0 + http://www.opengis.net/sos/2.0 + http://www.opengis.net/wcs + http://www.opengis.net/wfs + http://www.opengis.net/wfs/2.0 + http://www.opengis.net/wms + http://www.opengis.net/wmts/1.0 + http://www.opengis.net/wps/1.0.0 + urn:geoss:waf + + + + + + + + + + + + http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ + http://www.interlis.ch/INTERLIS2.3 + http://www.isotc211.org/2005/gmi + http://www.opengis.net/cat/csw/2.0.2 + http://www.opengis.net/cat/csw/3.0 + http://www.opengis.net/cat/csw/csdgm + http://www.opengis.net/sos/1.0 + http://www.opengis.net/sos/2.0 + http://www.opengis.net/wcs + http://www.opengis.net/wfs + http://www.opengis.net/wfs/2.0 + http://www.opengis.net/wms + http://www.opengis.net/wmts/1.0 + http://www.opengis.net/wps/1.0.0 + http://www.w3.org/2005/Atom + urn:geoss:waf + + + + + + CSW + + + + + 2.0.2 + 3.0.0 + + + + + csw:AnyText + dc:contributor + dc:creator + dc:date + dc:format + dc:identifier + dc:language + dc:publisher + dc:relation + dc:rights + dc:source + dc:subject + dc:title + dc:type + dct:abstract + dct:modified + ows:BoundingBox + + + + + http://geo.data.gov/geoportal/csw/discovery + + + + + 10 + + + + + SOAP + XML + + + + + allowed + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + http://www.opengis.net/gml + + + + + TRUE + + + + + en + + + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + xs:string + + + xs:string + + + xs:string + + + xs:string + + + xs:string + + + xs:string + + + + diff --git a/tests/functionaltests/suites/cite/expected/get_48f26761-3a9d-48db-bee1-da089f5fb857.xml b/tests/functionaltests/suites/cite/expected/get_48f26761-3a9d-48db-bee1-da089f5fb857.xml new file mode 100644 index 000000000..369f8d8d5 --- /dev/null +++ b/tests/functionaltests/suites/cite/expected/get_48f26761-3a9d-48db-bee1-da089f5fb857.xml @@ -0,0 +1,310 @@ + + + + + pycsw Geospatial Catalogue + pycsw is an OGC CSW server implementation written in Python + + catalogue + discovery + theme + + CSW + 2.0.2 + 3.0.0 + None + None + + + pycsw + + + Kralidis, Tom + Senior Systems Scientist + + + +01-416-xxx-xxxx + +01-416-xxx-xxxx + + + TBA + Toronto + Ontario + M9C 3Z9 + Canada + tomkralidis@gmail.com + + + 0800h - 1600h EST + During hours of service. Off on weekends. + + pointOfContact + + + + + + + + + + + + Filter_Capabilities + OperationsMetadata + ServiceIdentification + ServiceProvider + + + + + + + + + + + application/json + application/xml + + + http://www.w3.org/2001/XMLSchema + http://www.w3.org/TR/xmlschema-1/ + http://www.w3.org/XML/Schema + + + csw:Record + + + + + + + + + + + DescribeRecord.outputFormat + DescribeRecord.schemaLanguage + DescribeRecord.typeName + GetCapabilities.sections + GetRecordById.ElementSetName + GetRecordById.outputFormat + GetRecordById.outputSchema + GetRecords.CONSTRAINTLANGUAGE + GetRecords.ElementSetName + GetRecords.outputFormat + GetRecords.outputSchema + GetRecords.resultType + GetRecords.typeNames + Harvest.ResourceType + Transaction.TransactionSchemas + + + + + + + + + + + CQL_TEXT + FILTER + + + brief + full + summary + + + application/json + application/xml + + + http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ + http://www.interlis.ch/INTERLIS2.3 + http://www.opengis.net/cat/csw/2.0.2 + http://www.opengis.net/cat/csw/csdgm + http://www.w3.org/2005/Atom + + + hits + results + validate + + + csw:Record + + + csw:AnyText + dc:contributor + dc:creator + dc:date + dc:format + dc:identifier + dc:language + dc:publisher + dc:relation + dc:rights + dc:source + dc:subject + dc:title + dc:type + dct:abstract + dct:modified + ows:BoundingBox + + + + + + + + + + + brief + full + summary + + + application/json + application/xml + + + http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ + http://www.interlis.ch/INTERLIS2.3 + http://www.opengis.net/cat/csw/2.0.2 + http://www.opengis.net/cat/csw/csdgm + http://www.w3.org/2005/Atom + + + + + + + + + + + + + + + + + http://www.isotc211.org/2005/gmi + http://www.opengis.net/cat/csw/2.0.2 + http://www.opengis.net/cat/csw/3.0 + http://www.opengis.net/sos/1.0 + http://www.opengis.net/sos/2.0 + http://www.opengis.net/wcs + http://www.opengis.net/wfs + http://www.opengis.net/wfs/2.0 + http://www.opengis.net/wms + http://www.opengis.net/wmts/1.0 + http://www.opengis.net/wps/1.0.0 + urn:geoss:waf + + + + + + + + + + http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ + http://www.interlis.ch/INTERLIS2.3 + http://www.isotc211.org/2005/gmi + http://www.opengis.net/cat/csw/2.0.2 + http://www.opengis.net/cat/csw/3.0 + http://www.opengis.net/cat/csw/csdgm + http://www.opengis.net/sos/1.0 + http://www.opengis.net/sos/2.0 + http://www.opengis.net/wcs + http://www.opengis.net/wfs + http://www.opengis.net/wfs/2.0 + http://www.opengis.net/wms + http://www.opengis.net/wmts/1.0 + http://www.opengis.net/wps/1.0.0 + http://www.w3.org/2005/Atom + urn:geoss:waf + + + + CSW + + + 2.0.2 + 3.0.0 + + + http://geo.data.gov/geoportal/csw/discovery + + + 10 + + + XML + SOAP + + + allowed + + + + + + gml:Point + gml:LineString + gml:Polygon + gml:Envelope + + + + + + + + + + + + + + + + + + + Between + EqualTo + GreaterThan + GreaterThanEqualTo + LessThan + LessThanEqualTo + Like + NotEqualTo + NullCheck + + + + + length + lower + ltrim + rtrim + trim + upper + + + + + + + + + + diff --git a/tests/functionaltests/suites/cite/expected/get_4e38092f-1586-44b8-988e-0acfa5855916.xml b/tests/functionaltests/suites/cite/expected/get_4e38092f-1586-44b8-988e-0acfa5855916.xml new file mode 100644 index 000000000..82bbd70d8 --- /dev/null +++ b/tests/functionaltests/suites/cite/expected/get_4e38092f-1586-44b8-988e-0acfa5855916.xml @@ -0,0 +1,7 @@ + + + + + Invalid outputformat parameter application/bogus_xml + + diff --git a/tests/functionaltests/suites/cite/expected/get_55c38f00-2553-42c1-99ab-33edbb561ad7.xml b/tests/functionaltests/suites/cite/expected/get_55c38f00-2553-42c1-99ab-33edbb561ad7.xml new file mode 100644 index 000000000..14d595bc3 --- /dev/null +++ b/tests/functionaltests/suites/cite/expected/get_55c38f00-2553-42c1-99ab-33edbb561ad7.xml @@ -0,0 +1,392 @@ + + + + + pycsw Geospatial Catalogue + pycsw is an OGC CSW server implementation written in Python + + catalogue + discovery + theme + + CSW + 2.0.2 + 3.0.0 + None + None + + + + + + + + + + + + application/xml + text/xml + + + + + 2.0.2 + 3.0.0 + + + + + All + Filter_Capabilities + OperationsMetadata + ServiceIdentification + ServiceProvider + + + + + + + + + + + + + GetCapabilities.acceptFormats + GetCapabilities.acceptVersions + GetCapabilities.sections + GetRecordById.ElementSetName + GetRecordById.outputFormat + GetRecordById.outputSchema + GetRecords.CONSTRAINTLANGUAGE + GetRecords.ElementSetName + GetRecords.outputFormat + GetRecords.outputSchema + GetRecords.typeNames + Harvest.ResourceType + Transaction.TransactionSchemas + + + + + + + + + + + + + CQL_TEXT + FILTER + + + + + brief + full + summary + + + + + application/atom+xml + application/json + application/xml + + + + + http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ + http://www.interlis.ch/INTERLIS2.3 + http://www.opengis.net/cat/csw/3.0 + http://www.opengis.net/cat/csw/csdgm + http://www.w3.org/2005/Atom + + + + + csw:Record + + + + + 10 + + + + + http://localhost/pycsw/csw.py?config=tests/suites/cite/default.cfg?mode=opensearch&service=CSW&version=3.0.0&request=GetCapabilities + + + + + http://geo.data.gov/geoportal/csw/discovery + + + + + + + + + + + + + brief + full + summary + + + + + application/atom+xml + application/json + application/xml + + + + + http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ + http://www.interlis.ch/INTERLIS2.3 + http://www.opengis.net/cat/csw/3.0 + http://www.opengis.net/cat/csw/csdgm + http://www.w3.org/2005/Atom + + + + + + + + + + + + + + + + + + + http://www.isotc211.org/2005/gmi + http://www.opengis.net/cat/csw/2.0.2 + http://www.opengis.net/cat/csw/3.0 + http://www.opengis.net/sos/1.0 + http://www.opengis.net/sos/2.0 + http://www.opengis.net/wcs + http://www.opengis.net/wfs + http://www.opengis.net/wfs/2.0 + http://www.opengis.net/wms + http://www.opengis.net/wmts/1.0 + http://www.opengis.net/wps/1.0.0 + urn:geoss:waf + + + + + + + + + + + + http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ + http://www.interlis.ch/INTERLIS2.3 + http://www.isotc211.org/2005/gmi + http://www.opengis.net/cat/csw/2.0.2 + http://www.opengis.net/cat/csw/3.0 + http://www.opengis.net/cat/csw/csdgm + http://www.opengis.net/sos/1.0 + http://www.opengis.net/sos/2.0 + http://www.opengis.net/wcs + http://www.opengis.net/wfs + http://www.opengis.net/wfs/2.0 + http://www.opengis.net/wms + http://www.opengis.net/wmts/1.0 + http://www.opengis.net/wps/1.0.0 + http://www.w3.org/2005/Atom + urn:geoss:waf + + + + + + CSW + + + + + 2.0.2 + 3.0.0 + + + + + csw:AnyText + dc:contributor + dc:creator + dc:date + dc:format + dc:identifier + dc:language + dc:publisher + dc:relation + dc:rights + dc:source + dc:subject + dc:title + dc:type + dct:abstract + dct:modified + ows:BoundingBox + + + + + http://geo.data.gov/geoportal/csw/discovery + + + + + 10 + + + + + SOAP + XML + + + + + allowed + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + http://www.opengis.net/gml + + + + + TRUE + + + + diff --git a/tests/functionaltests/suites/cite/expected/get_5ab5db18-c87a-4fbf-a8d8-b7289b09ac81.xml b/tests/functionaltests/suites/cite/expected/get_5ab5db18-c87a-4fbf-a8d8-b7289b09ac81.xml new file mode 100644 index 000000000..407b97b9a --- /dev/null +++ b/tests/functionaltests/suites/cite/expected/get_5ab5db18-c87a-4fbf-a8d8-b7289b09ac81.xml @@ -0,0 +1,7 @@ + + + + + Invalid value for service: FOO. Value MUST be CSW + + diff --git a/tests/functionaltests/suites/cite/expected/get_6a4f57ca-a1bd-4802-89c2-44860dbdb0f0.xml b/tests/functionaltests/suites/cite/expected/get_6a4f57ca-a1bd-4802-89c2-44860dbdb0f0.xml new file mode 100644 index 000000000..5ef23a7ab --- /dev/null +++ b/tests/functionaltests/suites/cite/expected/get_6a4f57ca-a1bd-4802-89c2-44860dbdb0f0.xml @@ -0,0 +1,11 @@ + + + + + urn:uuid:6a3de50b-fa66-4b58-a0e6-ca146fdd18d4 + Ut facilisis justo ut lacus + http://purl.org/dc/dcmitype/Service + Vegetation + urn:uuid:94bc9c83-97f6-4b40-9eb8-a8e8787a5c63 + + diff --git a/tests/functionaltests/suites/cite/expected/get_6c375703-9c00-4aef-bec7-d2e964f849eb.xml b/tests/functionaltests/suites/cite/expected/get_6c375703-9c00-4aef-bec7-d2e964f849eb.xml new file mode 100644 index 000000000..6ac70554f --- /dev/null +++ b/tests/functionaltests/suites/cite/expected/get_6c375703-9c00-4aef-bec7-d2e964f849eb.xml @@ -0,0 +1,13 @@ + + + + + + urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f + urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f + + Lorem ipsum + PYCSW_TIMESTAMP + Quisque lacus diam, placerat mollis, pharetra in, commodo sed, augue. Duis iaculis arcu vel arcu. + + diff --git a/tests/functionaltests/suites/cite/expected/get_80f31def-4185-48b9-983a-960566918eae.xml b/tests/functionaltests/suites/cite/expected/get_80f31def-4185-48b9-983a-960566918eae.xml new file mode 100644 index 000000000..77dd76c6b --- /dev/null +++ b/tests/functionaltests/suites/cite/expected/get_80f31def-4185-48b9-983a-960566918eae.xml @@ -0,0 +1,543 @@ + + + + + pycsw Geospatial Catalogue + pycsw is an OGC CSW server implementation written in Python + + catalogue + discovery + theme + + CSW + 2.0.2 + 3.0.0 + None + None + + + pycsw + + + Kralidis, Tom + Senior Systems Scientist + + + +01-416-xxx-xxxx + +01-416-xxx-xxxx + + + TBA + Toronto + Ontario + M9C 3Z9 + Canada + tomkralidis@gmail.com + + + 0800h - 1600h EST + During hours of service. Off on weekends. + + pointOfContact + + + + + + + + + + + + + application/xml + text/xml + + + + + 2.0.2 + 3.0.0 + + + + + All + Filter_Capabilities + OperationsMetadata + ServiceIdentification + ServiceProvider + + + + + + + + + + + + + GetCapabilities.acceptFormats + GetCapabilities.acceptVersions + GetCapabilities.sections + GetRecordById.ElementSetName + GetRecordById.outputFormat + GetRecordById.outputSchema + GetRecords.CONSTRAINTLANGUAGE + GetRecords.ElementSetName + GetRecords.outputFormat + GetRecords.outputSchema + GetRecords.typeNames + Harvest.ResourceType + Transaction.TransactionSchemas + + + + + + + + + + + + + CQL_TEXT + FILTER + + + + + brief + full + summary + + + + + application/atom+xml + application/json + application/xml + + + + + http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ + http://www.interlis.ch/INTERLIS2.3 + http://www.opengis.net/cat/csw/3.0 + http://www.opengis.net/cat/csw/csdgm + http://www.w3.org/2005/Atom + + + + + csw:Record + + + + + 10 + + + + + http://localhost/pycsw/csw.py?config=tests/suites/cite/default.cfg?mode=opensearch&service=CSW&version=3.0.0&request=GetCapabilities + + + + + http://geo.data.gov/geoportal/csw/discovery + + + + + + + + + + + + + brief + full + summary + + + + + application/atom+xml + application/json + application/xml + + + + + http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ + http://www.interlis.ch/INTERLIS2.3 + http://www.opengis.net/cat/csw/3.0 + http://www.opengis.net/cat/csw/csdgm + http://www.w3.org/2005/Atom + + + + + + + + + + + + + + + + + + + http://www.isotc211.org/2005/gmi + http://www.opengis.net/cat/csw/2.0.2 + http://www.opengis.net/cat/csw/3.0 + http://www.opengis.net/sos/1.0 + http://www.opengis.net/sos/2.0 + http://www.opengis.net/wcs + http://www.opengis.net/wfs + http://www.opengis.net/wfs/2.0 + http://www.opengis.net/wms + http://www.opengis.net/wmts/1.0 + http://www.opengis.net/wps/1.0.0 + urn:geoss:waf + + + + + + + + + + + + http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ + http://www.interlis.ch/INTERLIS2.3 + http://www.isotc211.org/2005/gmi + http://www.opengis.net/cat/csw/2.0.2 + http://www.opengis.net/cat/csw/3.0 + http://www.opengis.net/cat/csw/csdgm + http://www.opengis.net/sos/1.0 + http://www.opengis.net/sos/2.0 + http://www.opengis.net/wcs + http://www.opengis.net/wfs + http://www.opengis.net/wfs/2.0 + http://www.opengis.net/wms + http://www.opengis.net/wmts/1.0 + http://www.opengis.net/wps/1.0.0 + http://www.w3.org/2005/Atom + urn:geoss:waf + + + + + + CSW + + + + + 2.0.2 + 3.0.0 + + + + + csw:AnyText + dc:contributor + dc:creator + dc:date + dc:format + dc:identifier + dc:language + dc:publisher + dc:relation + dc:rights + dc:source + dc:subject + dc:title + dc:type + dct:abstract + dct:modified + ows:BoundingBox + + + + + http://geo.data.gov/geoportal/csw/discovery + + + + + 10 + + + + + SOAP + XML + + + + + allowed + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + http://www.opengis.net/gml + + + + + TRUE + + + + + en + + + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + xs:string + + + xs:string + + + xs:string + + + xs:string + + + xs:string + + + xs:string + + + + diff --git a/tests/functionaltests/suites/cite/expected/get_8e2232ed-05d9-44ae-8b04-0911cbe6a507.xml b/tests/functionaltests/suites/cite/expected/get_8e2232ed-05d9-44ae-8b04-0911cbe6a507.xml new file mode 100644 index 000000000..6dd138f50 --- /dev/null +++ b/tests/functionaltests/suites/cite/expected/get_8e2232ed-05d9-44ae-8b04-0911cbe6a507.xml @@ -0,0 +1,7 @@ + + + + + Invalid parameter value in acceptversions: 2006.10.29. Value MUST be 2.0.2 or 3.0.0 + + diff --git a/tests/functionaltests/suites/cite/expected/get_9697f0aa-3b6a-4125-83a5-61e8826127c4.xml b/tests/functionaltests/suites/cite/expected/get_9697f0aa-3b6a-4125-83a5-61e8826127c4.xml new file mode 100644 index 000000000..77dd76c6b --- /dev/null +++ b/tests/functionaltests/suites/cite/expected/get_9697f0aa-3b6a-4125-83a5-61e8826127c4.xml @@ -0,0 +1,543 @@ + + + + + pycsw Geospatial Catalogue + pycsw is an OGC CSW server implementation written in Python + + catalogue + discovery + theme + + CSW + 2.0.2 + 3.0.0 + None + None + + + pycsw + + + Kralidis, Tom + Senior Systems Scientist + + + +01-416-xxx-xxxx + +01-416-xxx-xxxx + + + TBA + Toronto + Ontario + M9C 3Z9 + Canada + tomkralidis@gmail.com + + + 0800h - 1600h EST + During hours of service. Off on weekends. + + pointOfContact + + + + + + + + + + + + + application/xml + text/xml + + + + + 2.0.2 + 3.0.0 + + + + + All + Filter_Capabilities + OperationsMetadata + ServiceIdentification + ServiceProvider + + + + + + + + + + + + + GetCapabilities.acceptFormats + GetCapabilities.acceptVersions + GetCapabilities.sections + GetRecordById.ElementSetName + GetRecordById.outputFormat + GetRecordById.outputSchema + GetRecords.CONSTRAINTLANGUAGE + GetRecords.ElementSetName + GetRecords.outputFormat + GetRecords.outputSchema + GetRecords.typeNames + Harvest.ResourceType + Transaction.TransactionSchemas + + + + + + + + + + + + + CQL_TEXT + FILTER + + + + + brief + full + summary + + + + + application/atom+xml + application/json + application/xml + + + + + http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ + http://www.interlis.ch/INTERLIS2.3 + http://www.opengis.net/cat/csw/3.0 + http://www.opengis.net/cat/csw/csdgm + http://www.w3.org/2005/Atom + + + + + csw:Record + + + + + 10 + + + + + http://localhost/pycsw/csw.py?config=tests/suites/cite/default.cfg?mode=opensearch&service=CSW&version=3.0.0&request=GetCapabilities + + + + + http://geo.data.gov/geoportal/csw/discovery + + + + + + + + + + + + + brief + full + summary + + + + + application/atom+xml + application/json + application/xml + + + + + http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ + http://www.interlis.ch/INTERLIS2.3 + http://www.opengis.net/cat/csw/3.0 + http://www.opengis.net/cat/csw/csdgm + http://www.w3.org/2005/Atom + + + + + + + + + + + + + + + + + + + http://www.isotc211.org/2005/gmi + http://www.opengis.net/cat/csw/2.0.2 + http://www.opengis.net/cat/csw/3.0 + http://www.opengis.net/sos/1.0 + http://www.opengis.net/sos/2.0 + http://www.opengis.net/wcs + http://www.opengis.net/wfs + http://www.opengis.net/wfs/2.0 + http://www.opengis.net/wms + http://www.opengis.net/wmts/1.0 + http://www.opengis.net/wps/1.0.0 + urn:geoss:waf + + + + + + + + + + + + http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ + http://www.interlis.ch/INTERLIS2.3 + http://www.isotc211.org/2005/gmi + http://www.opengis.net/cat/csw/2.0.2 + http://www.opengis.net/cat/csw/3.0 + http://www.opengis.net/cat/csw/csdgm + http://www.opengis.net/sos/1.0 + http://www.opengis.net/sos/2.0 + http://www.opengis.net/wcs + http://www.opengis.net/wfs + http://www.opengis.net/wfs/2.0 + http://www.opengis.net/wms + http://www.opengis.net/wmts/1.0 + http://www.opengis.net/wps/1.0.0 + http://www.w3.org/2005/Atom + urn:geoss:waf + + + + + + CSW + + + + + 2.0.2 + 3.0.0 + + + + + csw:AnyText + dc:contributor + dc:creator + dc:date + dc:format + dc:identifier + dc:language + dc:publisher + dc:relation + dc:rights + dc:source + dc:subject + dc:title + dc:type + dct:abstract + dct:modified + ows:BoundingBox + + + + + http://geo.data.gov/geoportal/csw/discovery + + + + + 10 + + + + + SOAP + XML + + + + + allowed + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + http://www.opengis.net/gml + + + + + TRUE + + + + + en + + + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + xs:string + + + xs:string + + + xs:string + + + xs:string + + + xs:string + + + xs:string + + + + diff --git a/tests/functionaltests/suites/cite/expected/get_9bfd17fa-15dc-4a10-8fa7-b3cff7013dd7.xml b/tests/functionaltests/suites/cite/expected/get_9bfd17fa-15dc-4a10-8fa7-b3cff7013dd7.xml new file mode 100644 index 000000000..3ac20591f --- /dev/null +++ b/tests/functionaltests/suites/cite/expected/get_9bfd17fa-15dc-4a10-8fa7-b3cff7013dd7.xml @@ -0,0 +1,13 @@ + + + + + urn:uuid:e9330592-0932-474b-be34-c3a3bb67c7db + http://purl.org/dc/dcmitype/Text + Fuscé vitae ligulä + 2003-05-09 + Land titles + text/rtf + Morbi ultriçes, dui suscipit vestibulum prètium, velit ante pretium tortor, egët tincidunt pede odio ac nulla. + + diff --git a/tests/functionaltests/suites/cite/expected/get_b81c3595-06d6-4693-82ea-1ff8650755ac.xml b/tests/functionaltests/suites/cite/expected/get_b81c3595-06d6-4693-82ea-1ff8650755ac.xml new file mode 100644 index 000000000..9bf61df8e --- /dev/null +++ b/tests/functionaltests/suites/cite/expected/get_b81c3595-06d6-4693-82ea-1ff8650755ac.xml @@ -0,0 +1,3 @@ + + + diff --git a/tests/functionaltests/suites/cite/expected/get_ba5fc729-3b71-47a0-b7d0-42ec565cd185.xml b/tests/functionaltests/suites/cite/expected/get_ba5fc729-3b71-47a0-b7d0-42ec565cd185.xml new file mode 100644 index 000000000..369f8d8d5 --- /dev/null +++ b/tests/functionaltests/suites/cite/expected/get_ba5fc729-3b71-47a0-b7d0-42ec565cd185.xml @@ -0,0 +1,310 @@ + + + + + pycsw Geospatial Catalogue + pycsw is an OGC CSW server implementation written in Python + + catalogue + discovery + theme + + CSW + 2.0.2 + 3.0.0 + None + None + + + pycsw + + + Kralidis, Tom + Senior Systems Scientist + + + +01-416-xxx-xxxx + +01-416-xxx-xxxx + + + TBA + Toronto + Ontario + M9C 3Z9 + Canada + tomkralidis@gmail.com + + + 0800h - 1600h EST + During hours of service. Off on weekends. + + pointOfContact + + + + + + + + + + + + Filter_Capabilities + OperationsMetadata + ServiceIdentification + ServiceProvider + + + + + + + + + + + application/json + application/xml + + + http://www.w3.org/2001/XMLSchema + http://www.w3.org/TR/xmlschema-1/ + http://www.w3.org/XML/Schema + + + csw:Record + + + + + + + + + + + DescribeRecord.outputFormat + DescribeRecord.schemaLanguage + DescribeRecord.typeName + GetCapabilities.sections + GetRecordById.ElementSetName + GetRecordById.outputFormat + GetRecordById.outputSchema + GetRecords.CONSTRAINTLANGUAGE + GetRecords.ElementSetName + GetRecords.outputFormat + GetRecords.outputSchema + GetRecords.resultType + GetRecords.typeNames + Harvest.ResourceType + Transaction.TransactionSchemas + + + + + + + + + + + CQL_TEXT + FILTER + + + brief + full + summary + + + application/json + application/xml + + + http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ + http://www.interlis.ch/INTERLIS2.3 + http://www.opengis.net/cat/csw/2.0.2 + http://www.opengis.net/cat/csw/csdgm + http://www.w3.org/2005/Atom + + + hits + results + validate + + + csw:Record + + + csw:AnyText + dc:contributor + dc:creator + dc:date + dc:format + dc:identifier + dc:language + dc:publisher + dc:relation + dc:rights + dc:source + dc:subject + dc:title + dc:type + dct:abstract + dct:modified + ows:BoundingBox + + + + + + + + + + + brief + full + summary + + + application/json + application/xml + + + http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ + http://www.interlis.ch/INTERLIS2.3 + http://www.opengis.net/cat/csw/2.0.2 + http://www.opengis.net/cat/csw/csdgm + http://www.w3.org/2005/Atom + + + + + + + + + + + + + + + + + http://www.isotc211.org/2005/gmi + http://www.opengis.net/cat/csw/2.0.2 + http://www.opengis.net/cat/csw/3.0 + http://www.opengis.net/sos/1.0 + http://www.opengis.net/sos/2.0 + http://www.opengis.net/wcs + http://www.opengis.net/wfs + http://www.opengis.net/wfs/2.0 + http://www.opengis.net/wms + http://www.opengis.net/wmts/1.0 + http://www.opengis.net/wps/1.0.0 + urn:geoss:waf + + + + + + + + + + http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ + http://www.interlis.ch/INTERLIS2.3 + http://www.isotc211.org/2005/gmi + http://www.opengis.net/cat/csw/2.0.2 + http://www.opengis.net/cat/csw/3.0 + http://www.opengis.net/cat/csw/csdgm + http://www.opengis.net/sos/1.0 + http://www.opengis.net/sos/2.0 + http://www.opengis.net/wcs + http://www.opengis.net/wfs + http://www.opengis.net/wfs/2.0 + http://www.opengis.net/wms + http://www.opengis.net/wmts/1.0 + http://www.opengis.net/wps/1.0.0 + http://www.w3.org/2005/Atom + urn:geoss:waf + + + + CSW + + + 2.0.2 + 3.0.0 + + + http://geo.data.gov/geoportal/csw/discovery + + + 10 + + + XML + SOAP + + + allowed + + + + + + gml:Point + gml:LineString + gml:Polygon + gml:Envelope + + + + + + + + + + + + + + + + + + + Between + EqualTo + GreaterThan + GreaterThanEqualTo + LessThan + LessThanEqualTo + Like + NotEqualTo + NullCheck + + + + + length + lower + ltrim + rtrim + trim + upper + + + + + + + + + + diff --git a/tests/functionaltests/suites/cite/expected/get_c4ea754f-c158-4d8d-8253-dc8f86021b52.xml b/tests/functionaltests/suites/cite/expected/get_c4ea754f-c158-4d8d-8253-dc8f86021b52.xml new file mode 100644 index 000000000..42a76d4fd --- /dev/null +++ b/tests/functionaltests/suites/cite/expected/get_c4ea754f-c158-4d8d-8253-dc8f86021b52.xml @@ -0,0 +1,7 @@ + + + + + Missing keyword: service + + diff --git a/tests/functionaltests/suites/cite/expected/get_f4692ec5-9547-4a05-88ab-e6154af2640a.xml b/tests/functionaltests/suites/cite/expected/get_f4692ec5-9547-4a05-88ab-e6154af2640a.xml new file mode 100644 index 000000000..369f8d8d5 --- /dev/null +++ b/tests/functionaltests/suites/cite/expected/get_f4692ec5-9547-4a05-88ab-e6154af2640a.xml @@ -0,0 +1,310 @@ + + + + + pycsw Geospatial Catalogue + pycsw is an OGC CSW server implementation written in Python + + catalogue + discovery + theme + + CSW + 2.0.2 + 3.0.0 + None + None + + + pycsw + + + Kralidis, Tom + Senior Systems Scientist + + + +01-416-xxx-xxxx + +01-416-xxx-xxxx + + + TBA + Toronto + Ontario + M9C 3Z9 + Canada + tomkralidis@gmail.com + + + 0800h - 1600h EST + During hours of service. Off on weekends. + + pointOfContact + + + + + + + + + + + + Filter_Capabilities + OperationsMetadata + ServiceIdentification + ServiceProvider + + + + + + + + + + + application/json + application/xml + + + http://www.w3.org/2001/XMLSchema + http://www.w3.org/TR/xmlschema-1/ + http://www.w3.org/XML/Schema + + + csw:Record + + + + + + + + + + + DescribeRecord.outputFormat + DescribeRecord.schemaLanguage + DescribeRecord.typeName + GetCapabilities.sections + GetRecordById.ElementSetName + GetRecordById.outputFormat + GetRecordById.outputSchema + GetRecords.CONSTRAINTLANGUAGE + GetRecords.ElementSetName + GetRecords.outputFormat + GetRecords.outputSchema + GetRecords.resultType + GetRecords.typeNames + Harvest.ResourceType + Transaction.TransactionSchemas + + + + + + + + + + + CQL_TEXT + FILTER + + + brief + full + summary + + + application/json + application/xml + + + http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ + http://www.interlis.ch/INTERLIS2.3 + http://www.opengis.net/cat/csw/2.0.2 + http://www.opengis.net/cat/csw/csdgm + http://www.w3.org/2005/Atom + + + hits + results + validate + + + csw:Record + + + csw:AnyText + dc:contributor + dc:creator + dc:date + dc:format + dc:identifier + dc:language + dc:publisher + dc:relation + dc:rights + dc:source + dc:subject + dc:title + dc:type + dct:abstract + dct:modified + ows:BoundingBox + + + + + + + + + + + brief + full + summary + + + application/json + application/xml + + + http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ + http://www.interlis.ch/INTERLIS2.3 + http://www.opengis.net/cat/csw/2.0.2 + http://www.opengis.net/cat/csw/csdgm + http://www.w3.org/2005/Atom + + + + + + + + + + + + + + + + + http://www.isotc211.org/2005/gmi + http://www.opengis.net/cat/csw/2.0.2 + http://www.opengis.net/cat/csw/3.0 + http://www.opengis.net/sos/1.0 + http://www.opengis.net/sos/2.0 + http://www.opengis.net/wcs + http://www.opengis.net/wfs + http://www.opengis.net/wfs/2.0 + http://www.opengis.net/wms + http://www.opengis.net/wmts/1.0 + http://www.opengis.net/wps/1.0.0 + urn:geoss:waf + + + + + + + + + + http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ + http://www.interlis.ch/INTERLIS2.3 + http://www.isotc211.org/2005/gmi + http://www.opengis.net/cat/csw/2.0.2 + http://www.opengis.net/cat/csw/3.0 + http://www.opengis.net/cat/csw/csdgm + http://www.opengis.net/sos/1.0 + http://www.opengis.net/sos/2.0 + http://www.opengis.net/wcs + http://www.opengis.net/wfs + http://www.opengis.net/wfs/2.0 + http://www.opengis.net/wms + http://www.opengis.net/wmts/1.0 + http://www.opengis.net/wps/1.0.0 + http://www.w3.org/2005/Atom + urn:geoss:waf + + + + CSW + + + 2.0.2 + 3.0.0 + + + http://geo.data.gov/geoportal/csw/discovery + + + 10 + + + XML + SOAP + + + allowed + + + + + + gml:Point + gml:LineString + gml:Polygon + gml:Envelope + + + + + + + + + + + + + + + + + + + Between + EqualTo + GreaterThan + GreaterThanEqualTo + LessThan + LessThanEqualTo + Like + NotEqualTo + NullCheck + + + + + length + lower + ltrim + rtrim + trim + upper + + + + + + + + + + diff --git a/tests/functionaltests/suites/cite/expected/get_f997f25e-c865-4d53-a362-0ed1846337f2.xml b/tests/functionaltests/suites/cite/expected/get_f997f25e-c865-4d53-a362-0ed1846337f2.xml new file mode 100644 index 000000000..6cddad959 --- /dev/null +++ b/tests/functionaltests/suites/cite/expected/get_f997f25e-c865-4d53-a362-0ed1846337f2.xml @@ -0,0 +1,15 @@ + + + + + urn:uuid:94bc9c83-97f6-4b40-9eb8-a8e8787a5c63 + Mauris sed neque + http://purl.org/dc/dcmitype/Dataset + Vegetation-Cropland + Curabitur lacinia, ante non porta tempus, mi lorem feugiat odio, eget suscipit eros pede ac velit. + + 47.59 -4.1 + 51.22 0.89 + + + diff --git a/tests/functionaltests/suites/cite/expected/post_0c976d98-c896-4b10-b1fe-a22ef50434e7.xml b/tests/functionaltests/suites/cite/expected/post_0c976d98-c896-4b10-b1fe-a22ef50434e7.xml new file mode 100644 index 000000000..ce7aca9f6 --- /dev/null +++ b/tests/functionaltests/suites/cite/expected/post_0c976d98-c896-4b10-b1fe-a22ef50434e7.xml @@ -0,0 +1,6 @@ + + + + + + diff --git a/tests/functionaltests/suites/cite/expected/post_19d2a6ed-be28-4866-ae15-e3bb634486cb.xml b/tests/functionaltests/suites/cite/expected/post_19d2a6ed-be28-4866-ae15-e3bb634486cb.xml new file mode 100644 index 000000000..b80c3b546 --- /dev/null +++ b/tests/functionaltests/suites/cite/expected/post_19d2a6ed-be28-4866-ae15-e3bb634486cb.xml @@ -0,0 +1,55 @@ + + + + + + + urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f + Lorem ipsum + http://purl.org/dc/dcmitype/Image + + + urn:uuid:a06af396-3105-442d-8b40-22b57a90d2f2 + Lorem ipsum dolor sit amet + http://purl.org/dc/dcmitype/Image + + + urn:uuid:829babb0-b2f1-49e1-8cd5-7b489fe71a1e + Vestibulum massa purus + http://purl.org/dc/dcmitype/Image + + + urn:uuid:66ae76b7-54ba-489b-a582-0f0633d96493 + Maecenas enim + http://purl.org/dc/dcmitype/Text + + + urn:uuid:784e2afd-a9fd-44a6-9a92-a3848371c8ec + Aliquam fermentum purus quis arcu + http://purl.org/dc/dcmitype/Text + + + urn:uuid:9a669547-b69b-469f-a11f-2d875366bbdc + Ñunç elementum + http://purl.org/dc/dcmitype/Dataset + + 44.79 -6.17 + 51.13 -2.23 + + + + urn:uuid:94bc9c83-97f6-4b40-9eb8-a8e8787a5c63 + Mauris sed neque + http://purl.org/dc/dcmitype/Dataset + + 47.59 -4.1 + 51.22 0.89 + + + + urn:uuid:6a3de50b-fa66-4b58-a0e6-ca146fdd18d4 + Ut facilisis justo ut lacus + http://purl.org/dc/dcmitype/Service + + + diff --git a/tests/functionaltests/suites/cite/expected/post_1ab55aa3-6685-4595-8ecd-45987a7b8b59.xml b/tests/functionaltests/suites/cite/expected/post_1ab55aa3-6685-4595-8ecd-45987a7b8b59.xml new file mode 100644 index 000000000..a78d68a8c --- /dev/null +++ b/tests/functionaltests/suites/cite/expected/post_1ab55aa3-6685-4595-8ecd-45987a7b8b59.xml @@ -0,0 +1,19 @@ + + + + + + + full + + + + csw:AnyText + *lorem* + + + + + + + diff --git a/tests/functionaltests/suites/cite/expected/post_1c958b7a-ca09-4c38-98bd-ef1d1d28cc14.xml b/tests/functionaltests/suites/cite/expected/post_1c958b7a-ca09-4c38-98bd-ef1d1d28cc14.xml new file mode 100644 index 000000000..a1691f473 --- /dev/null +++ b/tests/functionaltests/suites/cite/expected/post_1c958b7a-ca09-4c38-98bd-ef1d1d28cc14.xml @@ -0,0 +1,7 @@ + + + + + Invalid outputFormat parameter value: application/xhtml+xml + + diff --git a/tests/functionaltests/suites/cite/expected/post_1c97fc1a-61cd-4c1d-8054-933e17a6c5ee.xml b/tests/functionaltests/suites/cite/expected/post_1c97fc1a-61cd-4c1d-8054-933e17a6c5ee.xml new file mode 100644 index 000000000..2b0eebed4 --- /dev/null +++ b/tests/functionaltests/suites/cite/expected/post_1c97fc1a-61cd-4c1d-8054-933e17a6c5ee.xml @@ -0,0 +1,7 @@ + + + + + Invalid Constraint: Invalid Filter request: Invalid PropertyName: /dc:title. '/dc:title' + + diff --git a/tests/functionaltests/suites/cite/expected/post_2102a460-5d62-465f-9668-d70b3faafbfa.xml b/tests/functionaltests/suites/cite/expected/post_2102a460-5d62-465f-9668-d70b3faafbfa.xml new file mode 100644 index 000000000..5c7ef391f --- /dev/null +++ b/tests/functionaltests/suites/cite/expected/post_2102a460-5d62-465f-9668-d70b3faafbfa.xml @@ -0,0 +1,12 @@ + + + + + + + urn:uuid:ab42a8c4-95e8-4630-bf79-33e59241605a + + http://purl.org/dc/dcmitype/Service + + + diff --git a/tests/functionaltests/suites/cite/expected/post_225f455a-0035-486b-a94e-fee7ae881b2b.xml b/tests/functionaltests/suites/cite/expected/post_225f455a-0035-486b-a94e-fee7ae881b2b.xml new file mode 100644 index 000000000..a9d06ca89 --- /dev/null +++ b/tests/functionaltests/suites/cite/expected/post_225f455a-0035-486b-a94e-fee7ae881b2b.xml @@ -0,0 +1,17 @@ + + + + + + + urn:uuid:94bc9c83-97f6-4b40-9eb8-a8e8787a5c63 + http://purl.org/dc/dcmitype/Dataset + 2006-03-26 + + + urn:uuid:784e2afd-a9fd-44a6-9a92-a3848371c8ec + http://purl.org/dc/dcmitype/Text + 2006-05-12 + + + diff --git a/tests/functionaltests/suites/cite/expected/post_2d53ffea-60e4-4652-abf5-36eb23042fd5.xml b/tests/functionaltests/suites/cite/expected/post_2d53ffea-60e4-4652-abf5-36eb23042fd5.xml new file mode 100644 index 000000000..fb722adad --- /dev/null +++ b/tests/functionaltests/suites/cite/expected/post_2d53ffea-60e4-4652-abf5-36eb23042fd5.xml @@ -0,0 +1,69 @@ + + + + + + + urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f + Lorem ipsum + http://purl.org/dc/dcmitype/Image + + + urn:uuid:1ef30a8b-876d-4828-9246-c37ab4510bbd + + http://purl.org/dc/dcmitype/Service + + 60.04 13.75 + 68.41 17.92 + + + + urn:uuid:66ae76b7-54ba-489b-a582-0f0633d96493 + Maecenas enim + http://purl.org/dc/dcmitype/Text + + + urn:uuid:6a3de50b-fa66-4b58-a0e6-ca146fdd18d4 + Ut facilisis justo ut lacus + http://purl.org/dc/dcmitype/Service + + + urn:uuid:784e2afd-a9fd-44a6-9a92-a3848371c8ec + Aliquam fermentum purus quis arcu + http://purl.org/dc/dcmitype/Text + + + urn:uuid:829babb0-b2f1-49e1-8cd5-7b489fe71a1e + Vestibulum massa purus + http://purl.org/dc/dcmitype/Image + + + urn:uuid:88247b56-4cbc-4df9-9860-db3f8042e357 + + http://purl.org/dc/dcmitype/Dataset + + + urn:uuid:94bc9c83-97f6-4b40-9eb8-a8e8787a5c63 + Mauris sed neque + http://purl.org/dc/dcmitype/Dataset + + 47.59 -4.1 + 51.22 0.89 + + + + urn:uuid:9a669547-b69b-469f-a11f-2d875366bbdc + Ñunç elementum + http://purl.org/dc/dcmitype/Dataset + + 44.79 -6.17 + 51.13 -2.23 + + + + urn:uuid:a06af396-3105-442d-8b40-22b57a90d2f2 + Lorem ipsum dolor sit amet + http://purl.org/dc/dcmitype/Image + + + diff --git a/tests/functionaltests/suites/cite/expected/post_34a019a9-1581-42cb-9827-fbfdda2773b7.xml b/tests/functionaltests/suites/cite/expected/post_34a019a9-1581-42cb-9827-fbfdda2773b7.xml new file mode 100644 index 000000000..a22dee078 --- /dev/null +++ b/tests/functionaltests/suites/cite/expected/post_34a019a9-1581-42cb-9827-fbfdda2773b7.xml @@ -0,0 +1,6 @@ + + + + + + diff --git a/tests/functionaltests/suites/cite/expected/post_3e76fd38-e035-41c9-83dc-61356f680c97.xml b/tests/functionaltests/suites/cite/expected/post_3e76fd38-e035-41c9-83dc-61356f680c97.xml new file mode 100644 index 000000000..c8ed32a33 --- /dev/null +++ b/tests/functionaltests/suites/cite/expected/post_3e76fd38-e035-41c9-83dc-61356f680c97.xml @@ -0,0 +1,7 @@ + + + + + Invalid value for schemalanguage: http://purl.oclc.org/dsdl/schematron + + diff --git a/tests/functionaltests/suites/cite/expected/post_418a6fb0-a89c-4a94-afc9-3f8168eb2980.xml b/tests/functionaltests/suites/cite/expected/post_418a6fb0-a89c-4a94-afc9-3f8168eb2980.xml new file mode 100644 index 000000000..a53001dc4 --- /dev/null +++ b/tests/functionaltests/suites/cite/expected/post_418a6fb0-a89c-4a94-afc9-3f8168eb2980.xml @@ -0,0 +1,15 @@ + + + + + + + urn:uuid:94bc9c83-97f6-4b40-9eb8-a8e8787a5c63 + 2006-03-26 + + 47.59 -4.1 + 51.22 0.89 + + + + diff --git a/tests/functionaltests/suites/cite/expected/post_420b745e-0c4b-404e-9f2d-61fa580ff05a.xml b/tests/functionaltests/suites/cite/expected/post_420b745e-0c4b-404e-9f2d-61fa580ff05a.xml new file mode 100644 index 000000000..25097018b --- /dev/null +++ b/tests/functionaltests/suites/cite/expected/post_420b745e-0c4b-404e-9f2d-61fa580ff05a.xml @@ -0,0 +1,22 @@ + + + + + + + urn:uuid:9a669547-b69b-469f-a11f-2d875366bbdc + http://purl.org/dc/dcmitype/Dataset + 2005-10-24 + + + urn:uuid:94bc9c83-97f6-4b40-9eb8-a8e8787a5c63 + http://purl.org/dc/dcmitype/Dataset + 2006-03-26 + + + urn:uuid:784e2afd-a9fd-44a6-9a92-a3848371c8ec + http://purl.org/dc/dcmitype/Text + 2006-05-12 + + + diff --git a/tests/functionaltests/suites/cite/expected/post_4735d649-a2b1-42fd-a101-14e1d7e4607f.xml b/tests/functionaltests/suites/cite/expected/post_4735d649-a2b1-42fd-a101-14e1d7e4607f.xml new file mode 100644 index 000000000..a70706709 --- /dev/null +++ b/tests/functionaltests/suites/cite/expected/post_4735d649-a2b1-42fd-a101-14e1d7e4607f.xml @@ -0,0 +1,44 @@ + + + + + + + urn:uuid:66ae76b7-54ba-489b-a582-0f0633d96493 + Maecenas enim + http://purl.org/dc/dcmitype/Text + Marine sediments + application/xhtml+xml + Pellentesque tempus magna non sapien fringilla blandit. + + + urn:uuid:6a3de50b-fa66-4b58-a0e6-ca146fdd18d4 + Ut facilisis justo ut lacus + http://purl.org/dc/dcmitype/Service + Vegetation + urn:uuid:94bc9c83-97f6-4b40-9eb8-a8e8787a5c63 + + + urn:uuid:784e2afd-a9fd-44a6-9a92-a3848371c8ec + Aliquam fermentum purus quis arcu + http://purl.org/dc/dcmitype/Text + Hydrography--Dictionaries + application/pdf + Vestibulum quis ipsum sit amet metus imperdiet vehicula. Nulla scelerisque cursus mi. + + + urn:uuid:829babb0-b2f1-49e1-8cd5-7b489fe71a1e + Vestibulum massa purus + http://purl.org/dc/dcmitype/Image + image/jp2 + urn:uuid:9a669547-b69b-469f-a11f-2d875366bbdc + + + urn:uuid:88247b56-4cbc-4df9-9860-db3f8042e357 + + http://purl.org/dc/dcmitype/Dataset + Physiography-Landforms + Donec scelerisque pede ut nisl luctus accumsan. Quisque ultrices, lorem eget feugiat fringilla, lorem dui porttitor ante, cursus ultrices magna odio eu neque. + + + diff --git a/tests/functionaltests/suites/cite/expected/post_5c5861bc-f742-40a5-9998-5342615d674b.xml b/tests/functionaltests/suites/cite/expected/post_5c5861bc-f742-40a5-9998-5342615d674b.xml new file mode 100644 index 000000000..7d1cd623e --- /dev/null +++ b/tests/functionaltests/suites/cite/expected/post_5c5861bc-f742-40a5-9998-5342615d674b.xml @@ -0,0 +1,49 @@ + + + + + + + urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f + http://purl.org/dc/dcmitype/Image + image/svg+xml + Lorem ipsum + GR-22 + Tourism--Greece + Quisque lacus diam, placerat mollis, pharetra in, commodo sed, augue. Duis iaculis arcu vel arcu. + + + urn:uuid:88247b56-4cbc-4df9-9860-db3f8042e357 + http://purl.org/dc/dcmitype/Dataset + Physiography-Landforms + FI-ES + Donec scelerisque pede ut nisl luctus accumsan. Quisque ultrices, lorem eget feugiat fringilla, lorem dui porttitor ante, cursus ultrices magna odio eu neque. + + + urn:uuid:94bc9c83-97f6-4b40-9eb8-a8e8787a5c63 + http://purl.org/dc/dcmitype/Dataset + Mauris sed neque + Vegetation-Cropland + Curabitur lacinia, ante non porta tempus, mi lorem feugiat odio, eget suscipit eros pede ac velit. + 2006-03-26 + + 47.595 -4.097 + 51.217 0.889 + + + + urn:uuid:a06af396-3105-442d-8b40-22b57a90d2f2 + http://purl.org/dc/dcmitype/Image + Lorem ipsum dolor sit amet + image/jpeg + IT-FI + + + urn:uuid:ab42a8c4-95e8-4630-bf79-33e59241605a + http://purl.org/dc/dcmitype/Service + Physiography + Suspendisse accumsan molestie lorem. Nullam velit turpis, mattis ut, varius bibendum, laoreet non, quam. + urn:uuid:88247b56-4cbc-4df9-9860-db3f8042e357 + + + diff --git a/tests/functionaltests/suites/cite/expected/post_6e736fd0-c266-4852-9eb3-0656f5d0f5c4.xml b/tests/functionaltests/suites/cite/expected/post_6e736fd0-c266-4852-9eb3-0656f5d0f5c4.xml new file mode 100644 index 000000000..e96a0237f --- /dev/null +++ b/tests/functionaltests/suites/cite/expected/post_6e736fd0-c266-4852-9eb3-0656f5d0f5c4.xml @@ -0,0 +1,89 @@ + + + + + + + urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f + Lorem ipsum + http://purl.org/dc/dcmitype/Image + Tourism--Greece + image/svg+xml + Quisque lacus diam, placerat mollis, pharetra in, commodo sed, augue. Duis iaculis arcu vel arcu. + + + urn:uuid:1ef30a8b-876d-4828-9246-c37ab4510bbd + + http://purl.org/dc/dcmitype/Service + Proin sit amet justo. In justo. Aenean adipiscing nulla id tellus. + + 60.04 13.75 + 68.41 17.92 + + + + urn:uuid:66ae76b7-54ba-489b-a582-0f0633d96493 + Maecenas enim + http://purl.org/dc/dcmitype/Text + Marine sediments + application/xhtml+xml + Pellentesque tempus magna non sapien fringilla blandit. + + + urn:uuid:6a3de50b-fa66-4b58-a0e6-ca146fdd18d4 + Ut facilisis justo ut lacus + http://purl.org/dc/dcmitype/Service + Vegetation + urn:uuid:94bc9c83-97f6-4b40-9eb8-a8e8787a5c63 + + + urn:uuid:784e2afd-a9fd-44a6-9a92-a3848371c8ec + Aliquam fermentum purus quis arcu + http://purl.org/dc/dcmitype/Text + Hydrography--Dictionaries + application/pdf + Vestibulum quis ipsum sit amet metus imperdiet vehicula. Nulla scelerisque cursus mi. + + + urn:uuid:829babb0-b2f1-49e1-8cd5-7b489fe71a1e + Vestibulum massa purus + http://purl.org/dc/dcmitype/Image + image/jp2 + urn:uuid:9a669547-b69b-469f-a11f-2d875366bbdc + + + urn:uuid:88247b56-4cbc-4df9-9860-db3f8042e357 + + http://purl.org/dc/dcmitype/Dataset + Physiography-Landforms + Donec scelerisque pede ut nisl luctus accumsan. Quisque ultrices, lorem eget feugiat fringilla, lorem dui porttitor ante, cursus ultrices magna odio eu neque. + + + urn:uuid:94bc9c83-97f6-4b40-9eb8-a8e8787a5c63 + Mauris sed neque + http://purl.org/dc/dcmitype/Dataset + Vegetation-Cropland + Curabitur lacinia, ante non porta tempus, mi lorem feugiat odio, eget suscipit eros pede ac velit. + + 47.59 -4.1 + 51.22 0.89 + + + + urn:uuid:9a669547-b69b-469f-a11f-2d875366bbdc + Ñunç elementum + http://purl.org/dc/dcmitype/Dataset + Hydrography-Oceanographic + + 44.79 -6.17 + 51.13 -2.23 + + + + urn:uuid:a06af396-3105-442d-8b40-22b57a90d2f2 + Lorem ipsum dolor sit amet + http://purl.org/dc/dcmitype/Image + image/jpeg + + + diff --git a/tests/functionaltests/suites/cite/expected/post_73f1551c-e269-4ef9-9dae-e535b5eebfc7.xml b/tests/functionaltests/suites/cite/expected/post_73f1551c-e269-4ef9-9dae-e535b5eebfc7.xml new file mode 100644 index 000000000..4060ee230 --- /dev/null +++ b/tests/functionaltests/suites/cite/expected/post_73f1551c-e269-4ef9-9dae-e535b5eebfc7.xml @@ -0,0 +1,18 @@ + + + + + + + urn:uuid:9a669547-b69b-469f-a11f-2d875366bbdc + http://purl.org/dc/dcmitype/Dataset + Ñunç elementum + Hydrography-Oceanographic + 2005-10-24 + + 44.792 -6.171 + 51.126 -2.228 + + + + diff --git a/tests/functionaltests/suites/cite/expected/post_78297c88-4850-4927-adc6-511cd9a3d539.xml b/tests/functionaltests/suites/cite/expected/post_78297c88-4850-4927-adc6-511cd9a3d539.xml new file mode 100644 index 000000000..76101a6bb --- /dev/null +++ b/tests/functionaltests/suites/cite/expected/post_78297c88-4850-4927-adc6-511cd9a3d539.xml @@ -0,0 +1,115 @@ + + + + + + + + http://schemas.opengis.net/csw/2.0.2/record.xsd + + + This schema defines the basic record types that must be supported + by all CSW implementations. These correspond to full, summary, and + brief views based on DCMI metadata terms. + + CSW is an OGC Standard. + Copyright (c) 2004,2010 Open Geospatial Consortium, Inc. All Rights Reserved. + To obtain additional rights of use, visit http://www.opengeospatial.org/legal/ . + + + + + + + + + + + + + + + This type encapsulates all of the standard DCMI metadata terms, + including the Dublin Core refinements; these terms may be mapped + to the profile-specific information model. + + + + + + + + + + + + + + + + This type defines a brief representation of the common record + format. It extends AbstractRecordType to include only the + dc:identifier and dc:type properties. + + + + + + + + + + + + + + + + + + + This type defines a summary representation of the common record + format. It extends AbstractRecordType to include the core + properties. + + + + + + + + + + + + + + + + + + + + + + + + + This type extends DCMIRecordType to add ows:BoundingBox; + it may be used to specify a spatial envelope for the + catalogued resource. + + + + + + + + + + + + + + + diff --git a/tests/functionaltests/suites/cite/expected/post_7c89cdf5-0def-4cfb-8c55-2b8ffea5d92f.xml b/tests/functionaltests/suites/cite/expected/post_7c89cdf5-0def-4cfb-8c55-2b8ffea5d92f.xml new file mode 100644 index 000000000..4d9e1fd3d --- /dev/null +++ b/tests/functionaltests/suites/cite/expected/post_7c89cdf5-0def-4cfb-8c55-2b8ffea5d92f.xml @@ -0,0 +1,56 @@ + + + + + + + + urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f + urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f + + Lorem ipsum + PYCSW_TIMESTAMP + Quisque lacus diam, placerat mollis, pharetra in, commodo sed, augue. Duis iaculis arcu vel arcu. + + + urn:uuid:1ef30a8b-876d-4828-9246-c37ab4510bbd + urn:uuid:1ef30a8b-876d-4828-9246-c37ab4510bbd + + + PYCSW_TIMESTAMP + Proin sit amet justo. In justo. Aenean adipiscing nulla id tellus. + + + 60.04 13.75 + 68.41 17.92 + + + + + + urn:uuid:66ae76b7-54ba-489b-a582-0f0633d96493 + urn:uuid:66ae76b7-54ba-489b-a582-0f0633d96493 + + Maecenas enim + PYCSW_TIMESTAMP + Pellentesque tempus magna non sapien fringilla blandit. + + + + urn:uuid:6a3de50b-fa66-4b58-a0e6-ca146fdd18d4 + urn:uuid:6a3de50b-fa66-4b58-a0e6-ca146fdd18d4 + + Ut facilisis justo ut lacus + PYCSW_TIMESTAMP + + + + urn:uuid:784e2afd-a9fd-44a6-9a92-a3848371c8ec + urn:uuid:784e2afd-a9fd-44a6-9a92-a3848371c8ec + + Aliquam fermentum purus quis arcu + PYCSW_TIMESTAMP + Vestibulum quis ipsum sit amet metus imperdiet vehicula. Nulla scelerisque cursus mi. + + + diff --git a/tests/functionaltests/suites/cite/expected/post_7e2cd105-daec-4d25-bc8e-d49d21364912.xml b/tests/functionaltests/suites/cite/expected/post_7e2cd105-daec-4d25-bc8e-d49d21364912.xml new file mode 100644 index 000000000..5f82a7d41 --- /dev/null +++ b/tests/functionaltests/suites/cite/expected/post_7e2cd105-daec-4d25-bc8e-d49d21364912.xml @@ -0,0 +1,3 @@ + + + diff --git a/tests/functionaltests/suites/cite/expected/post_87f2f670-9cd6-4907-b82c-1b46a7dd2a78.xml b/tests/functionaltests/suites/cite/expected/post_87f2f670-9cd6-4907-b82c-1b46a7dd2a78.xml new file mode 100644 index 000000000..d81b5493e --- /dev/null +++ b/tests/functionaltests/suites/cite/expected/post_87f2f670-9cd6-4907-b82c-1b46a7dd2a78.xml @@ -0,0 +1,50 @@ + + + + + + + urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f + http://purl.org/dc/dcmitype/Image + + + urn:uuid:1ef30a8b-876d-4828-9246-c37ab4510bbd + http://purl.org/dc/dcmitype/Service + + + urn:uuid:66ae76b7-54ba-489b-a582-0f0633d96493 + http://purl.org/dc/dcmitype/Text + + + urn:uuid:6a3de50b-fa66-4b58-a0e6-ca146fdd18d4 + http://purl.org/dc/dcmitype/Service + + + urn:uuid:784e2afd-a9fd-44a6-9a92-a3848371c8ec + http://purl.org/dc/dcmitype/Text + 2006-05-12 + + + urn:uuid:829babb0-b2f1-49e1-8cd5-7b489fe71a1e + http://purl.org/dc/dcmitype/Image + + + urn:uuid:88247b56-4cbc-4df9-9860-db3f8042e357 + http://purl.org/dc/dcmitype/Dataset + + + urn:uuid:94bc9c83-97f6-4b40-9eb8-a8e8787a5c63 + http://purl.org/dc/dcmitype/Dataset + 2006-03-26 + + + urn:uuid:9a669547-b69b-469f-a11f-2d875366bbdc + http://purl.org/dc/dcmitype/Dataset + 2005-10-24 + + + urn:uuid:a06af396-3105-442d-8b40-22b57a90d2f2 + http://purl.org/dc/dcmitype/Image + + + diff --git a/tests/functionaltests/suites/cite/expected/post_88b4e1ba-3bd4-4cbe-81e5-e004056d6ca3.xml b/tests/functionaltests/suites/cite/expected/post_88b4e1ba-3bd4-4cbe-81e5-e004056d6ca3.xml new file mode 100644 index 000000000..ef7576e15 --- /dev/null +++ b/tests/functionaltests/suites/cite/expected/post_88b4e1ba-3bd4-4cbe-81e5-e004056d6ca3.xml @@ -0,0 +1,7 @@ + + + + + Invalid value for outputformat: text/sgml + + diff --git a/tests/functionaltests/suites/cite/expected/post_898cd63b-2585-4ec0-8720-d554bd324174.xml b/tests/functionaltests/suites/cite/expected/post_898cd63b-2585-4ec0-8720-d554bd324174.xml new file mode 100644 index 000000000..f77acfc5c --- /dev/null +++ b/tests/functionaltests/suites/cite/expected/post_898cd63b-2585-4ec0-8720-d554bd324174.xml @@ -0,0 +1,14 @@ + + + + + + + urn:uuid:829babb0-b2f1-49e1-8cd5-7b489fe71a1e + Vestibulum massa purus + http://purl.org/dc/dcmitype/Image + image/jp2 + urn:uuid:9a669547-b69b-469f-a11f-2d875366bbdc + + + diff --git a/tests/functionaltests/suites/cite/expected/post_8fb13dc3-5818-45e2-9e29-46abc16e7d38.xml b/tests/functionaltests/suites/cite/expected/post_8fb13dc3-5818-45e2-9e29-46abc16e7d38.xml new file mode 100644 index 000000000..9c08c604e --- /dev/null +++ b/tests/functionaltests/suites/cite/expected/post_8fb13dc3-5818-45e2-9e29-46abc16e7d38.xml @@ -0,0 +1,48 @@ + + + + + + + urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f + + + urn:uuid:66ae76b7-54ba-489b-a582-0f0633d96493 + + + urn:uuid:6a3de50b-fa66-4b58-a0e6-ca146fdd18d4 + + + urn:uuid:784e2afd-a9fd-44a6-9a92-a3848371c8ec + + + urn:uuid:829babb0-b2f1-49e1-8cd5-7b489fe71a1e + + + urn:uuid:88247b56-4cbc-4df9-9860-db3f8042e357 + + + urn:uuid:94bc9c83-97f6-4b40-9eb8-a8e8787a5c63 + + 47.59 -4.1 + 51.22 0.89 + + + + urn:uuid:9a669547-b69b-469f-a11f-2d875366bbdc + + 44.79 -6.17 + 51.13 -2.23 + + + + urn:uuid:a06af396-3105-442d-8b40-22b57a90d2f2 + + + urn:uuid:ab42a8c4-95e8-4630-bf79-33e59241605a + + + urn:uuid:e9330592-0932-474b-be34-c3a3bb67c7db + + + diff --git a/tests/functionaltests/suites/cite/expected/post_928c1896-52d4-4ac7-9832-f98e3eb65f02.xml b/tests/functionaltests/suites/cite/expected/post_928c1896-52d4-4ac7-9832-f98e3eb65f02.xml new file mode 100644 index 000000000..baf37aaf2 --- /dev/null +++ b/tests/functionaltests/suites/cite/expected/post_928c1896-52d4-4ac7-9832-f98e3eb65f02.xml @@ -0,0 +1,17 @@ + + + + + + + urn:uuid:e9330592-0932-474b-be34-c3a3bb67c7db + http://purl.org/dc/dcmitype/Text + 2003-05-09 + + + urn:uuid:9a669547-b69b-469f-a11f-2d875366bbdc + http://purl.org/dc/dcmitype/Dataset + 2005-10-24 + + + diff --git a/tests/functionaltests/suites/cite/expected/post_93bdbb9d-2734-4f01-92fb-48634cca41de.xml b/tests/functionaltests/suites/cite/expected/post_93bdbb9d-2734-4f01-92fb-48634cca41de.xml new file mode 100644 index 000000000..9a5d49e55 --- /dev/null +++ b/tests/functionaltests/suites/cite/expected/post_93bdbb9d-2734-4f01-92fb-48634cca41de.xml @@ -0,0 +1,21 @@ + + + + + + + urn:uuid:94bc9c83-97f6-4b40-9eb8-a8e8787a5c63 + + 47.59 -4.1 + 51.22 0.89 + + + + urn:uuid:9a669547-b69b-469f-a11f-2d875366bbdc + + 44.79 -6.17 + 51.13 -2.23 + + + + diff --git a/tests/functionaltests/suites/cite/expected/post_948b39d5-bb4f-45b8-a8f2-4ff9501aaedd.xml b/tests/functionaltests/suites/cite/expected/post_948b39d5-bb4f-45b8-a8f2-4ff9501aaedd.xml new file mode 100644 index 000000000..b214975bc --- /dev/null +++ b/tests/functionaltests/suites/cite/expected/post_948b39d5-bb4f-45b8-a8f2-4ff9501aaedd.xml @@ -0,0 +1,51 @@ + + + + + + + urn:uuid:784e2afd-a9fd-44a6-9a92-a3848371c8ec + http://purl.org/dc/dcmitype/Text + 2006-05-12 + + + urn:uuid:94bc9c83-97f6-4b40-9eb8-a8e8787a5c63 + http://purl.org/dc/dcmitype/Dataset + 2006-03-26 + + + urn:uuid:9a669547-b69b-469f-a11f-2d875366bbdc + http://purl.org/dc/dcmitype/Dataset + 2005-10-24 + + + urn:uuid:e9330592-0932-474b-be34-c3a3bb67c7db + http://purl.org/dc/dcmitype/Text + 2003-05-09 + + + urn:uuid:ab42a8c4-95e8-4630-bf79-33e59241605a + http://purl.org/dc/dcmitype/Service + + + urn:uuid:a06af396-3105-442d-8b40-22b57a90d2f2 + http://purl.org/dc/dcmitype/Image + + + urn:uuid:88247b56-4cbc-4df9-9860-db3f8042e357 + http://purl.org/dc/dcmitype/Dataset + + + urn:uuid:829babb0-b2f1-49e1-8cd5-7b489fe71a1e + http://purl.org/dc/dcmitype/Image + + + urn:uuid:6a3de50b-fa66-4b58-a0e6-ca146fdd18d4 + http://purl.org/dc/dcmitype/Service + + + urn:uuid:66ae76b7-54ba-489b-a582-0f0633d96493 + http://purl.org/dc/dcmitype/Text + + + diff --git a/tests/functionaltests/suites/cite/expected/post_9fd64fcc-f69c-4626-b72e-5c7776a29aa9.xml b/tests/functionaltests/suites/cite/expected/post_9fd64fcc-f69c-4626-b72e-5c7776a29aa9.xml new file mode 100644 index 000000000..214379d29 --- /dev/null +++ b/tests/functionaltests/suites/cite/expected/post_9fd64fcc-f69c-4626-b72e-5c7776a29aa9.xml @@ -0,0 +1,7 @@ + + + + + Typename not qualified: Record + + diff --git a/tests/functionaltests/suites/cite/expected/post_a06d04ab-e0d0-4a86-bfe8-71460f41fe37.xml b/tests/functionaltests/suites/cite/expected/post_a06d04ab-e0d0-4a86-bfe8-71460f41fe37.xml new file mode 100644 index 000000000..fb722adad --- /dev/null +++ b/tests/functionaltests/suites/cite/expected/post_a06d04ab-e0d0-4a86-bfe8-71460f41fe37.xml @@ -0,0 +1,69 @@ + + + + + + + urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f + Lorem ipsum + http://purl.org/dc/dcmitype/Image + + + urn:uuid:1ef30a8b-876d-4828-9246-c37ab4510bbd + + http://purl.org/dc/dcmitype/Service + + 60.04 13.75 + 68.41 17.92 + + + + urn:uuid:66ae76b7-54ba-489b-a582-0f0633d96493 + Maecenas enim + http://purl.org/dc/dcmitype/Text + + + urn:uuid:6a3de50b-fa66-4b58-a0e6-ca146fdd18d4 + Ut facilisis justo ut lacus + http://purl.org/dc/dcmitype/Service + + + urn:uuid:784e2afd-a9fd-44a6-9a92-a3848371c8ec + Aliquam fermentum purus quis arcu + http://purl.org/dc/dcmitype/Text + + + urn:uuid:829babb0-b2f1-49e1-8cd5-7b489fe71a1e + Vestibulum massa purus + http://purl.org/dc/dcmitype/Image + + + urn:uuid:88247b56-4cbc-4df9-9860-db3f8042e357 + + http://purl.org/dc/dcmitype/Dataset + + + urn:uuid:94bc9c83-97f6-4b40-9eb8-a8e8787a5c63 + Mauris sed neque + http://purl.org/dc/dcmitype/Dataset + + 47.59 -4.1 + 51.22 0.89 + + + + urn:uuid:9a669547-b69b-469f-a11f-2d875366bbdc + Ñunç elementum + http://purl.org/dc/dcmitype/Dataset + + 44.79 -6.17 + 51.13 -2.23 + + + + urn:uuid:a06af396-3105-442d-8b40-22b57a90d2f2 + Lorem ipsum dolor sit amet + http://purl.org/dc/dcmitype/Image + + + diff --git a/tests/functionaltests/suites/cite/expected/post_ad61686c-d304-42d1-b845-8c1f3070c83e.xml b/tests/functionaltests/suites/cite/expected/post_ad61686c-d304-42d1-b845-8c1f3070c83e.xml new file mode 100644 index 000000000..71d14fa61 --- /dev/null +++ b/tests/functionaltests/suites/cite/expected/post_ad61686c-d304-42d1-b845-8c1f3070c83e.xml @@ -0,0 +1,8 @@ + + + + + Exception: the document is not valid. +Error: Element '{http://www.opengis.net/foo}Filter': This element is not expected. Expected is one of ( {http://www.opengis.net/ogc}Filter, {http://www.opengis.net/cat/csw/2.0.2}CqlText ). + + diff --git a/tests/functionaltests/suites/cite/expected/post_af39c020-7b1d-429c-b474-f45c3164cb79.xml b/tests/functionaltests/suites/cite/expected/post_af39c020-7b1d-429c-b474-f45c3164cb79.xml new file mode 100644 index 000000000..960d5f57d --- /dev/null +++ b/tests/functionaltests/suites/cite/expected/post_af39c020-7b1d-429c-b474-f45c3164cb79.xml @@ -0,0 +1,21 @@ + + + + + + + urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f + Lorem ipsum + http://purl.org/dc/dcmitype/Image + Tourism--Greece + image/svg+xml + Quisque lacus diam, placerat mollis, pharetra in, commodo sed, augue. Duis iaculis arcu vel arcu. + + + urn:uuid:a06af396-3105-442d-8b40-22b57a90d2f2 + Lorem ipsum dolor sit amet + http://purl.org/dc/dcmitype/Image + image/jpeg + + + diff --git a/tests/functionaltests/suites/cite/expected/post_b90e2de6-3d25-4298-a13e-dc9492a8fc73.xml b/tests/functionaltests/suites/cite/expected/post_b90e2de6-3d25-4298-a13e-dc9492a8fc73.xml new file mode 100644 index 000000000..0c5581f88 --- /dev/null +++ b/tests/functionaltests/suites/cite/expected/post_b90e2de6-3d25-4298-a13e-dc9492a8fc73.xml @@ -0,0 +1,91 @@ + + + + + + + urn:uuid:1ef30a8b-876d-4828-9246-c37ab4510bbd + + http://purl.org/dc/dcmitype/Service + Proin sit amet justo. In justo. Aenean adipiscing nulla id tellus. + + 60.04 13.75 + 68.41 17.92 + + + + urn:uuid:66ae76b7-54ba-489b-a582-0f0633d96493 + Maecenas enim + http://purl.org/dc/dcmitype/Text + Marine sediments + application/xhtml+xml + Pellentesque tempus magna non sapien fringilla blandit. + + + urn:uuid:6a3de50b-fa66-4b58-a0e6-ca146fdd18d4 + Ut facilisis justo ut lacus + http://purl.org/dc/dcmitype/Service + Vegetation + urn:uuid:94bc9c83-97f6-4b40-9eb8-a8e8787a5c63 + + + urn:uuid:784e2afd-a9fd-44a6-9a92-a3848371c8ec + Aliquam fermentum purus quis arcu + http://purl.org/dc/dcmitype/Text + Hydrography--Dictionaries + application/pdf + Vestibulum quis ipsum sit amet metus imperdiet vehicula. Nulla scelerisque cursus mi. + + + urn:uuid:829babb0-b2f1-49e1-8cd5-7b489fe71a1e + Vestibulum massa purus + http://purl.org/dc/dcmitype/Image + image/jp2 + urn:uuid:9a669547-b69b-469f-a11f-2d875366bbdc + + + urn:uuid:88247b56-4cbc-4df9-9860-db3f8042e357 + + http://purl.org/dc/dcmitype/Dataset + Physiography-Landforms + Donec scelerisque pede ut nisl luctus accumsan. Quisque ultrices, lorem eget feugiat fringilla, lorem dui porttitor ante, cursus ultrices magna odio eu neque. + + + urn:uuid:94bc9c83-97f6-4b40-9eb8-a8e8787a5c63 + Mauris sed neque + http://purl.org/dc/dcmitype/Dataset + Vegetation-Cropland + Curabitur lacinia, ante non porta tempus, mi lorem feugiat odio, eget suscipit eros pede ac velit. + + 47.59 -4.1 + 51.22 0.89 + + + + urn:uuid:9a669547-b69b-469f-a11f-2d875366bbdc + Ñunç elementum + http://purl.org/dc/dcmitype/Dataset + Hydrography-Oceanographic + + 44.79 -6.17 + 51.13 -2.23 + + + + urn:uuid:ab42a8c4-95e8-4630-bf79-33e59241605a + + http://purl.org/dc/dcmitype/Service + Physiography + urn:uuid:88247b56-4cbc-4df9-9860-db3f8042e357 + Suspendisse accumsan molestie lorem. Nullam velit turpis, mattis ut, varius bibendum, laoreet non, quam. + + + urn:uuid:e9330592-0932-474b-be34-c3a3bb67c7db + Fuscé vitae ligulä + http://purl.org/dc/dcmitype/Text + Land titles + text/rtf + Morbi ultriçes, dui suscipit vestibulum prètium, velit ante pretium tortor, egët tincidunt pede odio ac nulla. + + + diff --git a/tests/functionaltests/suites/cite/expected/post_ba9b0107-dcee-46ef-823a-a2e25a911a96.xml b/tests/functionaltests/suites/cite/expected/post_ba9b0107-dcee-46ef-823a-a2e25a911a96.xml new file mode 100644 index 000000000..98e2c78c5 --- /dev/null +++ b/tests/functionaltests/suites/cite/expected/post_ba9b0107-dcee-46ef-823a-a2e25a911a96.xml @@ -0,0 +1,36 @@ + + + + + + + urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f + Lorem ipsum + http://purl.org/dc/dcmitype/Image + Tourism--Greece + image/svg+xml + Quisque lacus diam, placerat mollis, pharetra in, commodo sed, augue. Duis iaculis arcu vel arcu. + + + urn:uuid:66ae76b7-54ba-489b-a582-0f0633d96493 + Maecenas enim + http://purl.org/dc/dcmitype/Text + Marine sediments + application/xhtml+xml + Pellentesque tempus magna non sapien fringilla blandit. + + + urn:uuid:829babb0-b2f1-49e1-8cd5-7b489fe71a1e + Vestibulum massa purus + http://purl.org/dc/dcmitype/Image + image/jp2 + urn:uuid:9a669547-b69b-469f-a11f-2d875366bbdc + + + urn:uuid:a06af396-3105-442d-8b40-22b57a90d2f2 + Lorem ipsum dolor sit amet + http://purl.org/dc/dcmitype/Image + image/jpeg + + + diff --git a/tests/functionaltests/suites/cite/expected/post_bb66ebc5-7121-48b5-9f53-b56537d9561b.xml b/tests/functionaltests/suites/cite/expected/post_bb66ebc5-7121-48b5-9f53-b56537d9561b.xml new file mode 100644 index 000000000..0a392cbdd --- /dev/null +++ b/tests/functionaltests/suites/cite/expected/post_bb66ebc5-7121-48b5-9f53-b56537d9561b.xml @@ -0,0 +1,19 @@ + + + + + + + urn:uuid:88247b56-4cbc-4df9-9860-db3f8042e357 + http://purl.org/dc/dcmitype/Dataset + + + urn:uuid:94bc9c83-97f6-4b40-9eb8-a8e8787a5c63 + http://purl.org/dc/dcmitype/Dataset + + 47.59 -4.1 + 51.22 0.89 + + + + diff --git a/tests/functionaltests/suites/cite/expected/post_c02d1c85-df9f-45ee-bea7-345c35e02a98.xml b/tests/functionaltests/suites/cite/expected/post_c02d1c85-df9f-45ee-bea7-345c35e02a98.xml new file mode 100644 index 000000000..26bfbf2b7 --- /dev/null +++ b/tests/functionaltests/suites/cite/expected/post_c02d1c85-df9f-45ee-bea7-345c35e02a98.xml @@ -0,0 +1,7 @@ + + + + + Invalid Constraint: Invalid Filter request: 'NoneType' object has no attribute 'text' + + diff --git a/tests/functionaltests/suites/cite/expected/post_c311a342-72e3-4983-be39-868e6ed9740f.xml b/tests/functionaltests/suites/cite/expected/post_c311a342-72e3-4983-be39-868e6ed9740f.xml new file mode 100644 index 000000000..76101a6bb --- /dev/null +++ b/tests/functionaltests/suites/cite/expected/post_c311a342-72e3-4983-be39-868e6ed9740f.xml @@ -0,0 +1,115 @@ + + + + + + + + http://schemas.opengis.net/csw/2.0.2/record.xsd + + + This schema defines the basic record types that must be supported + by all CSW implementations. These correspond to full, summary, and + brief views based on DCMI metadata terms. + + CSW is an OGC Standard. + Copyright (c) 2004,2010 Open Geospatial Consortium, Inc. All Rights Reserved. + To obtain additional rights of use, visit http://www.opengeospatial.org/legal/ . + + + + + + + + + + + + + + + This type encapsulates all of the standard DCMI metadata terms, + including the Dublin Core refinements; these terms may be mapped + to the profile-specific information model. + + + + + + + + + + + + + + + + This type defines a brief representation of the common record + format. It extends AbstractRecordType to include only the + dc:identifier and dc:type properties. + + + + + + + + + + + + + + + + + + + This type defines a summary representation of the common record + format. It extends AbstractRecordType to include the core + properties. + + + + + + + + + + + + + + + + + + + + + + + + + This type extends DCMIRecordType to add ows:BoundingBox; + it may be used to specify a spatial envelope for the + catalogued resource. + + + + + + + + + + + + + + + diff --git a/tests/functionaltests/suites/cite/expected/post_c38916c2-4bc6-446d-b7aa-ab006d6ba31c.xml b/tests/functionaltests/suites/cite/expected/post_c38916c2-4bc6-446d-b7aa-ab006d6ba31c.xml new file mode 100644 index 000000000..d9c18a038 --- /dev/null +++ b/tests/functionaltests/suites/cite/expected/post_c38916c2-4bc6-446d-b7aa-ab006d6ba31c.xml @@ -0,0 +1,27 @@ + + + + + + + urn:uuid:784e2afd-a9fd-44a6-9a92-a3848371c8ec + 2006-05-12 + + + urn:uuid:94bc9c83-97f6-4b40-9eb8-a8e8787a5c63 + 2006-03-26 + + 47.59 -4.1 + 51.22 0.89 + + + + urn:uuid:9a669547-b69b-469f-a11f-2d875366bbdc + 2005-10-24 + + 44.79 -6.17 + 51.13 -2.23 + + + + diff --git a/tests/functionaltests/suites/cite/expected/post_c8588f47-8e65-45f5-ad34-ff4524cad84d.xml b/tests/functionaltests/suites/cite/expected/post_c8588f47-8e65-45f5-ad34-ff4524cad84d.xml new file mode 100644 index 000000000..12342af16 --- /dev/null +++ b/tests/functionaltests/suites/cite/expected/post_c8588f47-8e65-45f5-ad34-ff4524cad84d.xml @@ -0,0 +1,7 @@ + + + + + Invalid Constraint: Invalid Filter request: Invalid ogc:PropertyName in spatial filter: dct:spatial + + diff --git a/tests/functionaltests/suites/cite/expected/post_da228d4c-e1be-43d7-9ccb-c3f27ee32541.xml b/tests/functionaltests/suites/cite/expected/post_da228d4c-e1be-43d7-9ccb-c3f27ee32541.xml new file mode 100644 index 000000000..2b0eebed4 --- /dev/null +++ b/tests/functionaltests/suites/cite/expected/post_da228d4c-e1be-43d7-9ccb-c3f27ee32541.xml @@ -0,0 +1,7 @@ + + + + + Invalid Constraint: Invalid Filter request: Invalid PropertyName: /dc:title. '/dc:title' + + diff --git a/tests/functionaltests/suites/cite/expected/post_dc92c2c4-87d8-4a13-964e-ff9b0e0c27b3.xml b/tests/functionaltests/suites/cite/expected/post_dc92c2c4-87d8-4a13-964e-ff9b0e0c27b3.xml new file mode 100644 index 000000000..371b26a4c --- /dev/null +++ b/tests/functionaltests/suites/cite/expected/post_dc92c2c4-87d8-4a13-964e-ff9b0e0c27b3.xml @@ -0,0 +1,22 @@ + + + + + + + urn:uuid:e9330592-0932-474b-be34-c3a3bb67c7db + http://purl.org/dc/dcmitype/Text + 2003-05-09 + + + urn:uuid:9a669547-b69b-469f-a11f-2d875366bbdc + http://purl.org/dc/dcmitype/Dataset + 2005-10-24 + + + urn:uuid:94bc9c83-97f6-4b40-9eb8-a8e8787a5c63 + http://purl.org/dc/dcmitype/Dataset + 2006-03-26 + + + diff --git a/tests/functionaltests/suites/cite/expected/post_dcb13791-379e-4739-bcd4-dbaa69f0efdb.xml b/tests/functionaltests/suites/cite/expected/post_dcb13791-379e-4739-bcd4-dbaa69f0efdb.xml new file mode 100644 index 000000000..fb722adad --- /dev/null +++ b/tests/functionaltests/suites/cite/expected/post_dcb13791-379e-4739-bcd4-dbaa69f0efdb.xml @@ -0,0 +1,69 @@ + + + + + + + urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f + Lorem ipsum + http://purl.org/dc/dcmitype/Image + + + urn:uuid:1ef30a8b-876d-4828-9246-c37ab4510bbd + + http://purl.org/dc/dcmitype/Service + + 60.04 13.75 + 68.41 17.92 + + + + urn:uuid:66ae76b7-54ba-489b-a582-0f0633d96493 + Maecenas enim + http://purl.org/dc/dcmitype/Text + + + urn:uuid:6a3de50b-fa66-4b58-a0e6-ca146fdd18d4 + Ut facilisis justo ut lacus + http://purl.org/dc/dcmitype/Service + + + urn:uuid:784e2afd-a9fd-44a6-9a92-a3848371c8ec + Aliquam fermentum purus quis arcu + http://purl.org/dc/dcmitype/Text + + + urn:uuid:829babb0-b2f1-49e1-8cd5-7b489fe71a1e + Vestibulum massa purus + http://purl.org/dc/dcmitype/Image + + + urn:uuid:88247b56-4cbc-4df9-9860-db3f8042e357 + + http://purl.org/dc/dcmitype/Dataset + + + urn:uuid:94bc9c83-97f6-4b40-9eb8-a8e8787a5c63 + Mauris sed neque + http://purl.org/dc/dcmitype/Dataset + + 47.59 -4.1 + 51.22 0.89 + + + + urn:uuid:9a669547-b69b-469f-a11f-2d875366bbdc + Ñunç elementum + http://purl.org/dc/dcmitype/Dataset + + 44.79 -6.17 + 51.13 -2.23 + + + + urn:uuid:a06af396-3105-442d-8b40-22b57a90d2f2 + Lorem ipsum dolor sit amet + http://purl.org/dc/dcmitype/Image + + + diff --git a/tests/functionaltests/suites/cite/expected/post_e308f030-c097-4036-a838-44bad74c9ef7.xml b/tests/functionaltests/suites/cite/expected/post_e308f030-c097-4036-a838-44bad74c9ef7.xml new file mode 100644 index 000000000..fb722adad --- /dev/null +++ b/tests/functionaltests/suites/cite/expected/post_e308f030-c097-4036-a838-44bad74c9ef7.xml @@ -0,0 +1,69 @@ + + + + + + + urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f + Lorem ipsum + http://purl.org/dc/dcmitype/Image + + + urn:uuid:1ef30a8b-876d-4828-9246-c37ab4510bbd + + http://purl.org/dc/dcmitype/Service + + 60.04 13.75 + 68.41 17.92 + + + + urn:uuid:66ae76b7-54ba-489b-a582-0f0633d96493 + Maecenas enim + http://purl.org/dc/dcmitype/Text + + + urn:uuid:6a3de50b-fa66-4b58-a0e6-ca146fdd18d4 + Ut facilisis justo ut lacus + http://purl.org/dc/dcmitype/Service + + + urn:uuid:784e2afd-a9fd-44a6-9a92-a3848371c8ec + Aliquam fermentum purus quis arcu + http://purl.org/dc/dcmitype/Text + + + urn:uuid:829babb0-b2f1-49e1-8cd5-7b489fe71a1e + Vestibulum massa purus + http://purl.org/dc/dcmitype/Image + + + urn:uuid:88247b56-4cbc-4df9-9860-db3f8042e357 + + http://purl.org/dc/dcmitype/Dataset + + + urn:uuid:94bc9c83-97f6-4b40-9eb8-a8e8787a5c63 + Mauris sed neque + http://purl.org/dc/dcmitype/Dataset + + 47.59 -4.1 + 51.22 0.89 + + + + urn:uuid:9a669547-b69b-469f-a11f-2d875366bbdc + Ñunç elementum + http://purl.org/dc/dcmitype/Dataset + + 44.79 -6.17 + 51.13 -2.23 + + + + urn:uuid:a06af396-3105-442d-8b40-22b57a90d2f2 + Lorem ipsum dolor sit amet + http://purl.org/dc/dcmitype/Image + + + diff --git a/tests/functionaltests/suites/cite/expected/post_e6e9efb2-e2b7-4b0a-a3a2-7deea3f9b8e2.xml b/tests/functionaltests/suites/cite/expected/post_e6e9efb2-e2b7-4b0a-a3a2-7deea3f9b8e2.xml new file mode 100644 index 000000000..fb722adad --- /dev/null +++ b/tests/functionaltests/suites/cite/expected/post_e6e9efb2-e2b7-4b0a-a3a2-7deea3f9b8e2.xml @@ -0,0 +1,69 @@ + + + + + + + urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f + Lorem ipsum + http://purl.org/dc/dcmitype/Image + + + urn:uuid:1ef30a8b-876d-4828-9246-c37ab4510bbd + + http://purl.org/dc/dcmitype/Service + + 60.04 13.75 + 68.41 17.92 + + + + urn:uuid:66ae76b7-54ba-489b-a582-0f0633d96493 + Maecenas enim + http://purl.org/dc/dcmitype/Text + + + urn:uuid:6a3de50b-fa66-4b58-a0e6-ca146fdd18d4 + Ut facilisis justo ut lacus + http://purl.org/dc/dcmitype/Service + + + urn:uuid:784e2afd-a9fd-44a6-9a92-a3848371c8ec + Aliquam fermentum purus quis arcu + http://purl.org/dc/dcmitype/Text + + + urn:uuid:829babb0-b2f1-49e1-8cd5-7b489fe71a1e + Vestibulum massa purus + http://purl.org/dc/dcmitype/Image + + + urn:uuid:88247b56-4cbc-4df9-9860-db3f8042e357 + + http://purl.org/dc/dcmitype/Dataset + + + urn:uuid:94bc9c83-97f6-4b40-9eb8-a8e8787a5c63 + Mauris sed neque + http://purl.org/dc/dcmitype/Dataset + + 47.59 -4.1 + 51.22 0.89 + + + + urn:uuid:9a669547-b69b-469f-a11f-2d875366bbdc + Ñunç elementum + http://purl.org/dc/dcmitype/Dataset + + 44.79 -6.17 + 51.13 -2.23 + + + + urn:uuid:a06af396-3105-442d-8b40-22b57a90d2f2 + Lorem ipsum dolor sit amet + http://purl.org/dc/dcmitype/Image + + + diff --git a/tests/functionaltests/suites/cite/expected/post_f7976c55-a156-4421-8199-bc0487da4b0f.xml b/tests/functionaltests/suites/cite/expected/post_f7976c55-a156-4421-8199-bc0487da4b0f.xml new file mode 100644 index 000000000..76101a6bb --- /dev/null +++ b/tests/functionaltests/suites/cite/expected/post_f7976c55-a156-4421-8199-bc0487da4b0f.xml @@ -0,0 +1,115 @@ + + + + + + + + http://schemas.opengis.net/csw/2.0.2/record.xsd + + + This schema defines the basic record types that must be supported + by all CSW implementations. These correspond to full, summary, and + brief views based on DCMI metadata terms. + + CSW is an OGC Standard. + Copyright (c) 2004,2010 Open Geospatial Consortium, Inc. All Rights Reserved. + To obtain additional rights of use, visit http://www.opengeospatial.org/legal/ . + + + + + + + + + + + + + + + This type encapsulates all of the standard DCMI metadata terms, + including the Dublin Core refinements; these terms may be mapped + to the profile-specific information model. + + + + + + + + + + + + + + + + This type defines a brief representation of the common record + format. It extends AbstractRecordType to include only the + dc:identifier and dc:type properties. + + + + + + + + + + + + + + + + + + + This type defines a summary representation of the common record + format. It extends AbstractRecordType to include the core + properties. + + + + + + + + + + + + + + + + + + + + + + + + + This type extends DCMIRecordType to add ows:BoundingBox; + it may be used to specify a spatial envelope for the + catalogued resource. + + + + + + + + + + + + + + + diff --git a/tests/functionaltests/suites/cite/expected/post_f7d79701-f10b-4087-a33c-f62df0a04fd1.xml b/tests/functionaltests/suites/cite/expected/post_f7d79701-f10b-4087-a33c-f62df0a04fd1.xml new file mode 100644 index 000000000..fb722adad --- /dev/null +++ b/tests/functionaltests/suites/cite/expected/post_f7d79701-f10b-4087-a33c-f62df0a04fd1.xml @@ -0,0 +1,69 @@ + + + + + + + urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f + Lorem ipsum + http://purl.org/dc/dcmitype/Image + + + urn:uuid:1ef30a8b-876d-4828-9246-c37ab4510bbd + + http://purl.org/dc/dcmitype/Service + + 60.04 13.75 + 68.41 17.92 + + + + urn:uuid:66ae76b7-54ba-489b-a582-0f0633d96493 + Maecenas enim + http://purl.org/dc/dcmitype/Text + + + urn:uuid:6a3de50b-fa66-4b58-a0e6-ca146fdd18d4 + Ut facilisis justo ut lacus + http://purl.org/dc/dcmitype/Service + + + urn:uuid:784e2afd-a9fd-44a6-9a92-a3848371c8ec + Aliquam fermentum purus quis arcu + http://purl.org/dc/dcmitype/Text + + + urn:uuid:829babb0-b2f1-49e1-8cd5-7b489fe71a1e + Vestibulum massa purus + http://purl.org/dc/dcmitype/Image + + + urn:uuid:88247b56-4cbc-4df9-9860-db3f8042e357 + + http://purl.org/dc/dcmitype/Dataset + + + urn:uuid:94bc9c83-97f6-4b40-9eb8-a8e8787a5c63 + Mauris sed neque + http://purl.org/dc/dcmitype/Dataset + + 47.59 -4.1 + 51.22 0.89 + + + + urn:uuid:9a669547-b69b-469f-a11f-2d875366bbdc + Ñunç elementum + http://purl.org/dc/dcmitype/Dataset + + 44.79 -6.17 + 51.13 -2.23 + + + + urn:uuid:a06af396-3105-442d-8b40-22b57a90d2f2 + Lorem ipsum dolor sit amet + http://purl.org/dc/dcmitype/Image + + + diff --git a/tests/functionaltests/suites/cite/expected/post_fc1bc094-88f1-4851-bc2b-dfc56be9f3c7.xml b/tests/functionaltests/suites/cite/expected/post_fc1bc094-88f1-4851-bc2b-dfc56be9f3c7.xml new file mode 100644 index 000000000..b3eb8b2c7 --- /dev/null +++ b/tests/functionaltests/suites/cite/expected/post_fc1bc094-88f1-4851-bc2b-dfc56be9f3c7.xml @@ -0,0 +1,12 @@ + + + + + + + urn:uuid:e9330592-0932-474b-be34-c3a3bb67c7db + Fuscé vitae ligulä + http://purl.org/dc/dcmitype/Text + + + diff --git a/tests/functionaltests/suites/cite/expected/post_fe20960f-a26c-4f13-852d-470a0d3233f9.xml b/tests/functionaltests/suites/cite/expected/post_fe20960f-a26c-4f13-852d-470a0d3233f9.xml new file mode 100644 index 000000000..5c7ef391f --- /dev/null +++ b/tests/functionaltests/suites/cite/expected/post_fe20960f-a26c-4f13-852d-470a0d3233f9.xml @@ -0,0 +1,12 @@ + + + + + + + urn:uuid:ab42a8c4-95e8-4630-bf79-33e59241605a + + http://purl.org/dc/dcmitype/Service + + + diff --git a/tests/functionaltests/suites/cite/get/requests.txt b/tests/functionaltests/suites/cite/get/requests.txt new file mode 100644 index 000000000..271982886 --- /dev/null +++ b/tests/functionaltests/suites/cite/get/requests.txt @@ -0,0 +1,22 @@ +27e17158-c57a-4493-92ac-dba8934cf462,service=CSW&version=2.0.2&request=GetCapabilities +27f69b66-5f05-4311-a89c-73ca55c2686b,Service=CSW&Version=2.0.2&Request=GetRecordById&ElementSetName=brief&ID=urn%3Auuid%3A19887a8a-f6b0-4a63-ae56-7fba0e17801f +2ab7d1fa-885b-459f-80e4-b6282eab4f8c,service=CSW&request=GetCapabilities&acceptversions=2.0.2&date=2006-10-20 +37aa90e2-6ff0-420c-af15-8b9463099a73,service=CSW&version=2.0.2&request=GetRecordById&id=urn%3Auuid%3A9a669547-b69b-469f-a11f-2d875366bbdc +3a8a3c47-455f-4f49-9078-03119f3e70b3,service=CSW&request=GetCapabilities&acceptformats=message/example +4515831f-834a-4699-95f6-ab0c2cbfcfd0,service=CSW&version=2.0.2&request=GetRecordById +477b23a3-baa9-47c8-9541-5fe27735ed49,service=CSW&request=GetCapabilities§ions= +48f26761-3a9d-48db-bee1-da089f5fb857,sErViCe=CSW&REQUEST=GetCapabilities&version=2.0.2 +4e38092f-1586-44b8-988e-0acfa5855916,Service=CSW&Version=2.0.2&Request=GetRecordById&OutputFormat=application/bogus_xml&id=urn:uuid:a06af396-3105-442d-8b40-22b57a90d2f2,urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f,urn:uuid:ab42a8c4-95e8-4630-bf79-33e59241605a +55c38f00-2553-42c1-99ab-33edbb561ad7,service=CSW&request=GetCapabilities§ions=OperationsMetadata,ServiceIdentification +5ab5db18-c87a-4fbf-a8d8-b7289b09ac81,service=FOO&request=GetCapabilities +6a4f57ca-a1bd-4802-89c2-44860dbdb0f0,service=CSW&version=2.0.2&request=GetRecordById&id=urn:uuid:ce8627a0-685c-11db-bd13-0800200c9a66,urn:uuid:6a3de50b-fa66-4b58-a0e6-ca146fdd18d4 +6c375703-9c00-4aef-bec7-d2e964f849eb,Service=CSW&Version=2.0.2&Request=GetRecordById&OutputSchema=http://www.w3.org/2005/Atom&Id=urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f +80f31def-4185-48b9-983a-960566918eae,service=CSW&request=GetCapabilities +8e2232ed-05d9-44ae-8b04-0911cbe6a507,SERVICE=CSW&REQUEST=GetCapabilities&ACCEPTVERSIONS=2006.10.29 +9697f0aa-3b6a-4125-83a5-61e8826127c4,service=CSW&request=GetCapabilities +9bfd17fa-15dc-4a10-8fa7-b3cff7013dd7,Service=CSW&Version=2.0.2&Request=GetRecordById&ElementSetName=full&ID=urn%3Auuid%3Ae9330592-0932-474b-be34-c3a3bb67c7db +b81c3595-06d6-4693-82ea-1ff8650755ac,service=CSW&version=2.0.2&request=GetRecordById&id=urn:uuid:ce8627a0-685c-11db-bd13-0800200c9a66 +ba5fc729-3b71-47a0-b7d0-42ec565cd185,SERVICE=CSW&REQUEST=GetCapabilities&ACCEPTVERSIONS=2.0.2,2.0.0 +c4ea754f-c158-4d8d-8253-dc8f86021b52,request=GetCapabilities +f4692ec5-9547-4a05-88ab-e6154af2640a,service=CSW&version=2.0.2&request=GetCapabilities +f997f25e-c865-4d53-a362-0ed1846337f2,service=CSW&version=2.0.2&request=GetRecordById&id=urn:uuid:94bc9c83-97f6-4b40-9eb8-a8e8787a5c63 diff --git a/tests/functionaltests/suites/cite/post/0c976d98-c896-4b10-b1fe-a22ef50434e7.xml b/tests/functionaltests/suites/cite/post/0c976d98-c896-4b10-b1fe-a22ef50434e7.xml new file mode 100644 index 000000000..c73f51141 --- /dev/null +++ b/tests/functionaltests/suites/cite/post/0c976d98-c896-4b10-b1fe-a22ef50434e7.xml @@ -0,0 +1,20 @@ + + + + dc:identifier + ows:BoundingBox + + + + + ows:BoundingBox + + 60.0 12.0 + 70.0 20.0 + + + + + + + diff --git a/tests/functionaltests/suites/cite/post/19d2a6ed-be28-4866-ae15-e3bb634486cb.xml b/tests/functionaltests/suites/cite/post/19d2a6ed-be28-4866-ae15-e3bb634486cb.xml new file mode 100644 index 000000000..6823bcfce --- /dev/null +++ b/tests/functionaltests/suites/cite/post/19d2a6ed-be28-4866-ae15-e3bb634486cb.xml @@ -0,0 +1,20 @@ + + + + brief + + + + dc:title + Fuscé vitae ligulä + + + + + + dc:format + DESC + + + + diff --git a/tests/functionaltests/suites/cite/post/1ab55aa3-6685-4595-8ecd-45987a7b8b59.xml b/tests/functionaltests/suites/cite/post/1ab55aa3-6685-4595-8ecd-45987a7b8b59.xml new file mode 100644 index 000000000..cd46b042d --- /dev/null +++ b/tests/functionaltests/suites/cite/post/1ab55aa3-6685-4595-8ecd-45987a7b8b59.xml @@ -0,0 +1,14 @@ + + + + full + + + + csw:AnyText + *lorem* + + + + + diff --git a/tests/functionaltests/suites/cite/post/1c958b7a-ca09-4c38-98bd-ef1d1d28cc14.xml b/tests/functionaltests/suites/cite/post/1c958b7a-ca09-4c38-98bd-ef1d1d28cc14.xml new file mode 100644 index 000000000..dabb279ee --- /dev/null +++ b/tests/functionaltests/suites/cite/post/1c958b7a-ca09-4c38-98bd-ef1d1d28cc14.xml @@ -0,0 +1,6 @@ + + + + summary + + diff --git a/tests/functionaltests/suites/cite/post/1c97fc1a-61cd-4c1d-8054-933e17a6c5ee.xml b/tests/functionaltests/suites/cite/post/1c97fc1a-61cd-4c1d-8054-933e17a6c5ee.xml new file mode 100644 index 000000000..d2e53427e --- /dev/null +++ b/tests/functionaltests/suites/cite/post/1c97fc1a-61cd-4c1d-8054-933e17a6c5ee.xml @@ -0,0 +1,14 @@ + + + + brief + + + + /dc:title + *lorem* + + + + + diff --git a/tests/functionaltests/suites/cite/post/2102a460-5d62-465f-9668-d70b3faafbfa.xml b/tests/functionaltests/suites/cite/post/2102a460-5d62-465f-9668-d70b3faafbfa.xml new file mode 100644 index 000000000..da787a01f --- /dev/null +++ b/tests/functionaltests/suites/cite/post/2102a460-5d62-465f-9668-d70b3faafbfa.xml @@ -0,0 +1,14 @@ + + + + brief + + + + dc:subject + pHYSIOGRAPHy + + + + + diff --git a/tests/functionaltests/suites/cite/post/225f455a-0035-486b-a94e-fee7ae881b2b.xml b/tests/functionaltests/suites/cite/post/225f455a-0035-486b-a94e-fee7ae881b2b.xml new file mode 100644 index 000000000..d83d4883e --- /dev/null +++ b/tests/functionaltests/suites/cite/post/225f455a-0035-486b-a94e-fee7ae881b2b.xml @@ -0,0 +1,16 @@ + + + + dc:identifier + dc:type + dc:date + + + + dc:date + 2006-03-26 + + + + + diff --git a/tests/functionaltests/suites/cite/post/2d53ffea-60e4-4652-abf5-36eb23042fd5.xml b/tests/functionaltests/suites/cite/post/2d53ffea-60e4-4652-abf5-36eb23042fd5.xml new file mode 100644 index 000000000..19bb2e0a6 --- /dev/null +++ b/tests/functionaltests/suites/cite/post/2d53ffea-60e4-4652-abf5-36eb23042fd5.xml @@ -0,0 +1,6 @@ + + + + brief + + diff --git a/tests/functionaltests/suites/cite/post/34a019a9-1581-42cb-9827-fbfdda2773b7.xml b/tests/functionaltests/suites/cite/post/34a019a9-1581-42cb-9827-fbfdda2773b7.xml new file mode 100644 index 000000000..4451d7c05 --- /dev/null +++ b/tests/functionaltests/suites/cite/post/34a019a9-1581-42cb-9827-fbfdda2773b7.xml @@ -0,0 +1,6 @@ + + + + brief + + diff --git a/tests/functionaltests/suites/cite/post/3e76fd38-e035-41c9-83dc-61356f680c97.xml b/tests/functionaltests/suites/cite/post/3e76fd38-e035-41c9-83dc-61356f680c97.xml new file mode 100644 index 000000000..cfa0b1c60 --- /dev/null +++ b/tests/functionaltests/suites/cite/post/3e76fd38-e035-41c9-83dc-61356f680c97.xml @@ -0,0 +1,4 @@ + + + csw:Record + diff --git a/tests/functionaltests/suites/cite/post/418a6fb0-a89c-4a94-afc9-3f8168eb2980.xml b/tests/functionaltests/suites/cite/post/418a6fb0-a89c-4a94-afc9-3f8168eb2980.xml new file mode 100644 index 000000000..84a7fc7de --- /dev/null +++ b/tests/functionaltests/suites/cite/post/418a6fb0-a89c-4a94-afc9-3f8168eb2980.xml @@ -0,0 +1,25 @@ + + + + dc:identifier + dc:date + ows:BoundingBox + + + + + ows:BoundingBox + + 47.0 -4.5 + 52.0 1.0 + + + + dc:date + 2006-01-01 + + + + + + diff --git a/tests/functionaltests/suites/cite/post/420b745e-0c4b-404e-9f2d-61fa580ff05a.xml b/tests/functionaltests/suites/cite/post/420b745e-0c4b-404e-9f2d-61fa580ff05a.xml new file mode 100644 index 000000000..f31dca0ba --- /dev/null +++ b/tests/functionaltests/suites/cite/post/420b745e-0c4b-404e-9f2d-61fa580ff05a.xml @@ -0,0 +1,16 @@ + + + + dc:identifier + dc:type + dc:date + + + + dc:date + 2004-01-01 + + + + + diff --git a/tests/functionaltests/suites/cite/post/4735d649-a2b1-42fd-a101-14e1d7e4607f.xml b/tests/functionaltests/suites/cite/post/4735d649-a2b1-42fd-a101-14e1d7e4607f.xml new file mode 100644 index 000000000..44672f629 --- /dev/null +++ b/tests/functionaltests/suites/cite/post/4735d649-a2b1-42fd-a101-14e1d7e4607f.xml @@ -0,0 +1,6 @@ + + + + summary + + diff --git a/tests/functionaltests/suites/cite/post/5c5861bc-f742-40a5-9998-5342615d674b.xml b/tests/functionaltests/suites/cite/post/5c5861bc-f742-40a5-9998-5342615d674b.xml new file mode 100644 index 000000000..b127a7dcf --- /dev/null +++ b/tests/functionaltests/suites/cite/post/5c5861bc-f742-40a5-9998-5342615d674b.xml @@ -0,0 +1,14 @@ + + + + full + + + + csw:AnyText + *lorem* + + + + + diff --git a/tests/functionaltests/suites/cite/post/6e736fd0-c266-4852-9eb3-0656f5d0f5c4.xml b/tests/functionaltests/suites/cite/post/6e736fd0-c266-4852-9eb3-0656f5d0f5c4.xml new file mode 100644 index 000000000..28e25bfaf --- /dev/null +++ b/tests/functionaltests/suites/cite/post/6e736fd0-c266-4852-9eb3-0656f5d0f5c4.xml @@ -0,0 +1,6 @@ + + + + summary + + diff --git a/tests/functionaltests/suites/cite/post/73f1551c-e269-4ef9-9dae-e535b5eebfc7.xml b/tests/functionaltests/suites/cite/post/73f1551c-e269-4ef9-9dae-e535b5eebfc7.xml new file mode 100644 index 000000000..160cf6d18 --- /dev/null +++ b/tests/functionaltests/suites/cite/post/73f1551c-e269-4ef9-9dae-e535b5eebfc7.xml @@ -0,0 +1,14 @@ + + + + full + + + + dc:date + 200?-10-* + + + + + diff --git a/tests/functionaltests/suites/cite/post/78297c88-4850-4927-adc6-511cd9a3d539.xml b/tests/functionaltests/suites/cite/post/78297c88-4850-4927-adc6-511cd9a3d539.xml new file mode 100644 index 000000000..5b0e1b92c --- /dev/null +++ b/tests/functionaltests/suites/cite/post/78297c88-4850-4927-adc6-511cd9a3d539.xml @@ -0,0 +1,2 @@ + + \ No newline at end of file diff --git a/tests/functionaltests/suites/cite/post/7c89cdf5-0def-4cfb-8c55-2b8ffea5d92f.xml b/tests/functionaltests/suites/cite/post/7c89cdf5-0def-4cfb-8c55-2b8ffea5d92f.xml new file mode 100644 index 000000000..0ea98491e --- /dev/null +++ b/tests/functionaltests/suites/cite/post/7c89cdf5-0def-4cfb-8c55-2b8ffea5d92f.xml @@ -0,0 +1,6 @@ + + + + summary + + diff --git a/tests/functionaltests/suites/cite/post/7e2cd105-daec-4d25-bc8e-d49d21364912.xml b/tests/functionaltests/suites/cite/post/7e2cd105-daec-4d25-bc8e-d49d21364912.xml new file mode 100644 index 000000000..81865e378 --- /dev/null +++ b/tests/functionaltests/suites/cite/post/7e2cd105-daec-4d25-bc8e-d49d21364912.xml @@ -0,0 +1,4 @@ + + + csw:DummyRecord + diff --git a/tests/functionaltests/suites/cite/post/87f2f670-9cd6-4907-b82c-1b46a7dd2a78.xml b/tests/functionaltests/suites/cite/post/87f2f670-9cd6-4907-b82c-1b46a7dd2a78.xml new file mode 100644 index 000000000..4c03f7935 --- /dev/null +++ b/tests/functionaltests/suites/cite/post/87f2f670-9cd6-4907-b82c-1b46a7dd2a78.xml @@ -0,0 +1,8 @@ + + + + dc:identifier + dc:type + dc:date + + diff --git a/tests/functionaltests/suites/cite/post/88b4e1ba-3bd4-4cbe-81e5-e004056d6ca3.xml b/tests/functionaltests/suites/cite/post/88b4e1ba-3bd4-4cbe-81e5-e004056d6ca3.xml new file mode 100644 index 000000000..b683c9954 --- /dev/null +++ b/tests/functionaltests/suites/cite/post/88b4e1ba-3bd4-4cbe-81e5-e004056d6ca3.xml @@ -0,0 +1,4 @@ + + + csw:Record + diff --git a/tests/functionaltests/suites/cite/post/898cd63b-2585-4ec0-8720-d554bd324174.xml b/tests/functionaltests/suites/cite/post/898cd63b-2585-4ec0-8720-d554bd324174.xml new file mode 100644 index 000000000..6c0e09407 --- /dev/null +++ b/tests/functionaltests/suites/cite/post/898cd63b-2585-4ec0-8720-d554bd324174.xml @@ -0,0 +1,20 @@ + + + + summary + + + + + dc:format + image/* + + + dc:relation + urn:uuid:9a669547-b69b-469f-a11f-2d875366bbdc + + + + + + diff --git a/tests/functionaltests/suites/cite/post/8fb13dc3-5818-45e2-9e29-46abc16e7d38.xml b/tests/functionaltests/suites/cite/post/8fb13dc3-5818-45e2-9e29-46abc16e7d38.xml new file mode 100644 index 000000000..9a4bd54d6 --- /dev/null +++ b/tests/functionaltests/suites/cite/post/8fb13dc3-5818-45e2-9e29-46abc16e7d38.xml @@ -0,0 +1,20 @@ + + + + dc:identifier + ows:BoundingBox + + + + + ows:BoundingBox + + 60.0 12.0 + 70.0 20.0 + + + + + + + diff --git a/tests/functionaltests/suites/cite/post/928c1896-52d4-4ac7-9832-f98e3eb65f02.xml b/tests/functionaltests/suites/cite/post/928c1896-52d4-4ac7-9832-f98e3eb65f02.xml new file mode 100644 index 000000000..d1d69e9cd --- /dev/null +++ b/tests/functionaltests/suites/cite/post/928c1896-52d4-4ac7-9832-f98e3eb65f02.xml @@ -0,0 +1,16 @@ + + + + dc:identifier + dc:type + dc:date + + + + dc:date + 2005-10-24 + + + + + diff --git a/tests/functionaltests/suites/cite/post/93bdbb9d-2734-4f01-92fb-48634cca41de.xml b/tests/functionaltests/suites/cite/post/93bdbb9d-2734-4f01-92fb-48634cca41de.xml new file mode 100644 index 000000000..f2389b702 --- /dev/null +++ b/tests/functionaltests/suites/cite/post/93bdbb9d-2734-4f01-92fb-48634cca41de.xml @@ -0,0 +1,18 @@ + + + + dc:identifier + ows:BoundingBox + + + + /ows:BoundingBox + + 47.0 -4.5 + 52.0 1.0 + + + + + + diff --git a/tests/functionaltests/suites/cite/post/948b39d5-bb4f-45b8-a8f2-4ff9501aaedd.xml b/tests/functionaltests/suites/cite/post/948b39d5-bb4f-45b8-a8f2-4ff9501aaedd.xml new file mode 100644 index 000000000..14c9935af --- /dev/null +++ b/tests/functionaltests/suites/cite/post/948b39d5-bb4f-45b8-a8f2-4ff9501aaedd.xml @@ -0,0 +1,14 @@ + + + + dc:identifier + dc:type + dc:date + + + dc:date + DESC + + + + diff --git a/tests/functionaltests/suites/cite/post/9fd64fcc-f69c-4626-b72e-5c7776a29aa9.xml b/tests/functionaltests/suites/cite/post/9fd64fcc-f69c-4626-b72e-5c7776a29aa9.xml new file mode 100644 index 000000000..c90f2b69e --- /dev/null +++ b/tests/functionaltests/suites/cite/post/9fd64fcc-f69c-4626-b72e-5c7776a29aa9.xml @@ -0,0 +1,4 @@ + + + Record + diff --git a/tests/functionaltests/suites/cite/post/a06d04ab-e0d0-4a86-bfe8-71460f41fe37.xml b/tests/functionaltests/suites/cite/post/a06d04ab-e0d0-4a86-bfe8-71460f41fe37.xml new file mode 100644 index 000000000..19bb2e0a6 --- /dev/null +++ b/tests/functionaltests/suites/cite/post/a06d04ab-e0d0-4a86-bfe8-71460f41fe37.xml @@ -0,0 +1,6 @@ + + + + brief + + diff --git a/tests/functionaltests/suites/cite/post/ad61686c-d304-42d1-b845-8c1f3070c83e.xml b/tests/functionaltests/suites/cite/post/ad61686c-d304-42d1-b845-8c1f3070c83e.xml new file mode 100644 index 000000000..843265b2d --- /dev/null +++ b/tests/functionaltests/suites/cite/post/ad61686c-d304-42d1-b845-8c1f3070c83e.xml @@ -0,0 +1,14 @@ + + + + brief + + + + dc:title + Maecenas enim + + + + + diff --git a/tests/functionaltests/suites/cite/post/af39c020-7b1d-429c-b474-f45c3164cb79.xml b/tests/functionaltests/suites/cite/post/af39c020-7b1d-429c-b474-f45c3164cb79.xml new file mode 100644 index 000000000..50566b7fb --- /dev/null +++ b/tests/functionaltests/suites/cite/post/af39c020-7b1d-429c-b474-f45c3164cb79.xml @@ -0,0 +1,14 @@ + + + + summary + + + + dc:title + Lorem ipsum* + + + + + diff --git a/tests/functionaltests/suites/cite/post/b90e2de6-3d25-4298-a13e-dc9492a8fc73.xml b/tests/functionaltests/suites/cite/post/b90e2de6-3d25-4298-a13e-dc9492a8fc73.xml new file mode 100644 index 000000000..aa555faa6 --- /dev/null +++ b/tests/functionaltests/suites/cite/post/b90e2de6-3d25-4298-a13e-dc9492a8fc73.xml @@ -0,0 +1,16 @@ + + + + summary + + + + + dc:title + Lorem ipsum* + + + + + + diff --git a/tests/functionaltests/suites/cite/post/ba9b0107-dcee-46ef-823a-a2e25a911a96.xml b/tests/functionaltests/suites/cite/post/ba9b0107-dcee-46ef-823a-a2e25a911a96.xml new file mode 100644 index 000000000..53e552d24 --- /dev/null +++ b/tests/functionaltests/suites/cite/post/ba9b0107-dcee-46ef-823a-a2e25a911a96.xml @@ -0,0 +1,20 @@ + + + + summary + + + + + dc:format + application/*xml + + + dc:type + http://purl.org/dc/dcmitype/Image + + + + + + diff --git a/tests/functionaltests/suites/cite/post/bb66ebc5-7121-48b5-9f53-b56537d9561b.xml b/tests/functionaltests/suites/cite/post/bb66ebc5-7121-48b5-9f53-b56537d9561b.xml new file mode 100644 index 000000000..873cda46f --- /dev/null +++ b/tests/functionaltests/suites/cite/post/bb66ebc5-7121-48b5-9f53-b56537d9561b.xml @@ -0,0 +1,27 @@ + + + + dc:identifier + dc:type + ows:BoundingBox + + + + + + ows:BoundingBox + + 40.0 -9.0 + 50.0 -5.0 + + + + + dc:type + HTTP://purl.org/dc/dcmitype/dataset + + + + + + diff --git a/tests/functionaltests/suites/cite/post/c02d1c85-df9f-45ee-bea7-345c35e02a98.xml b/tests/functionaltests/suites/cite/post/c02d1c85-df9f-45ee-bea7-345c35e02a98.xml new file mode 100644 index 000000000..dde6f18da --- /dev/null +++ b/tests/functionaltests/suites/cite/post/c02d1c85-df9f-45ee-bea7-345c35e02a98.xml @@ -0,0 +1,16 @@ + + + + brief + + + + dc:title + + input.argument + + + + + + diff --git a/tests/functionaltests/suites/cite/post/c311a342-72e3-4983-be39-868e6ed9740f.xml b/tests/functionaltests/suites/cite/post/c311a342-72e3-4983-be39-868e6ed9740f.xml new file mode 100644 index 000000000..52008563a --- /dev/null +++ b/tests/functionaltests/suites/cite/post/c311a342-72e3-4983-be39-868e6ed9740f.xml @@ -0,0 +1,4 @@ + + + csw:Record + diff --git a/tests/functionaltests/suites/cite/post/c38916c2-4bc6-446d-b7aa-ab006d6ba31c.xml b/tests/functionaltests/suites/cite/post/c38916c2-4bc6-446d-b7aa-ab006d6ba31c.xml new file mode 100644 index 000000000..b58e172a0 --- /dev/null +++ b/tests/functionaltests/suites/cite/post/c38916c2-4bc6-446d-b7aa-ab006d6ba31c.xml @@ -0,0 +1,25 @@ + + + + dc:identifier + dc:date + ows:BoundingBox + + + + + ows:BoundingBox + + 47.0 -4.5 + 52.0 1.0 + + + + dc:date + 2006-01-01 + + + + + + diff --git a/tests/functionaltests/suites/cite/post/c8588f47-8e65-45f5-ad34-ff4524cad84d.xml b/tests/functionaltests/suites/cite/post/c8588f47-8e65-45f5-ad34-ff4524cad84d.xml new file mode 100644 index 000000000..0b55fed66 --- /dev/null +++ b/tests/functionaltests/suites/cite/post/c8588f47-8e65-45f5-ad34-ff4524cad84d.xml @@ -0,0 +1,17 @@ + + + + brief + + + + dct:spatial + + 47.0 -4.5 + 52.0 1.0 + + + + + + diff --git a/tests/functionaltests/suites/cite/post/da228d4c-e1be-43d7-9ccb-c3f27ee32541.xml b/tests/functionaltests/suites/cite/post/da228d4c-e1be-43d7-9ccb-c3f27ee32541.xml new file mode 100644 index 000000000..a694ce4e5 --- /dev/null +++ b/tests/functionaltests/suites/cite/post/da228d4c-e1be-43d7-9ccb-c3f27ee32541.xml @@ -0,0 +1,14 @@ + + + + summary + + + + /dc:title + *lorem* + + + + + diff --git a/tests/functionaltests/suites/cite/post/dc92c2c4-87d8-4a13-964e-ff9b0e0c27b3.xml b/tests/functionaltests/suites/cite/post/dc92c2c4-87d8-4a13-964e-ff9b0e0c27b3.xml new file mode 100644 index 000000000..de0ae7a91 --- /dev/null +++ b/tests/functionaltests/suites/cite/post/dc92c2c4-87d8-4a13-964e-ff9b0e0c27b3.xml @@ -0,0 +1,16 @@ + + + + dc:identifier + dc:type + dc:date + + + + dc:date + 2006-05-01 + + + + + diff --git a/tests/functionaltests/suites/cite/post/dcb13791-379e-4739-bcd4-dbaa69f0efdb.xml b/tests/functionaltests/suites/cite/post/dcb13791-379e-4739-bcd4-dbaa69f0efdb.xml new file mode 100644 index 000000000..81aea41d7 --- /dev/null +++ b/tests/functionaltests/suites/cite/post/dcb13791-379e-4739-bcd4-dbaa69f0efdb.xml @@ -0,0 +1,6 @@ + + + + brief + + diff --git a/tests/functionaltests/suites/cite/post/e308f030-c097-4036-a838-44bad74c9ef7.xml b/tests/functionaltests/suites/cite/post/e308f030-c097-4036-a838-44bad74c9ef7.xml new file mode 100644 index 000000000..19bb2e0a6 --- /dev/null +++ b/tests/functionaltests/suites/cite/post/e308f030-c097-4036-a838-44bad74c9ef7.xml @@ -0,0 +1,6 @@ + + + + brief + + diff --git a/tests/functionaltests/suites/cite/post/e6e9efb2-e2b7-4b0a-a3a2-7deea3f9b8e2.xml b/tests/functionaltests/suites/cite/post/e6e9efb2-e2b7-4b0a-a3a2-7deea3f9b8e2.xml new file mode 100644 index 000000000..6dc06f199 --- /dev/null +++ b/tests/functionaltests/suites/cite/post/e6e9efb2-e2b7-4b0a-a3a2-7deea3f9b8e2.xml @@ -0,0 +1,12 @@ + + + + brief + + + dc:identifier + ASC + + + + diff --git a/tests/functionaltests/suites/cite/post/f7976c55-a156-4421-8199-bc0487da4b0f.xml b/tests/functionaltests/suites/cite/post/f7976c55-a156-4421-8199-bc0487da4b0f.xml new file mode 100644 index 000000000..52008563a --- /dev/null +++ b/tests/functionaltests/suites/cite/post/f7976c55-a156-4421-8199-bc0487da4b0f.xml @@ -0,0 +1,4 @@ + + + csw:Record + diff --git a/tests/functionaltests/suites/cite/post/f7d79701-f10b-4087-a33c-f62df0a04fd1.xml b/tests/functionaltests/suites/cite/post/f7d79701-f10b-4087-a33c-f62df0a04fd1.xml new file mode 100644 index 000000000..19bb2e0a6 --- /dev/null +++ b/tests/functionaltests/suites/cite/post/f7d79701-f10b-4087-a33c-f62df0a04fd1.xml @@ -0,0 +1,6 @@ + + + + brief + + diff --git a/tests/functionaltests/suites/cite/post/fc1bc094-88f1-4851-bc2b-dfc56be9f3c7.xml b/tests/functionaltests/suites/cite/post/fc1bc094-88f1-4851-bc2b-dfc56be9f3c7.xml new file mode 100644 index 000000000..186beb174 --- /dev/null +++ b/tests/functionaltests/suites/cite/post/fc1bc094-88f1-4851-bc2b-dfc56be9f3c7.xml @@ -0,0 +1,14 @@ + + + + brief + + + + dc:title + Fuscé vitae ligulä + + + + + diff --git a/tests/functionaltests/suites/cite/post/fe20960f-a26c-4f13-852d-470a0d3233f9.xml b/tests/functionaltests/suites/cite/post/fe20960f-a26c-4f13-852d-470a0d3233f9.xml new file mode 100644 index 000000000..d011b2e68 --- /dev/null +++ b/tests/functionaltests/suites/cite/post/fe20960f-a26c-4f13-852d-470a0d3233f9.xml @@ -0,0 +1,14 @@ + + + + brief + + + + dc:subject + pHYSIOGRAPHy + + + + + diff --git a/tests/functionaltests/suites/csw30/default.cfg b/tests/functionaltests/suites/csw30/default.cfg new file mode 100644 index 000000000..328045bb4 --- /dev/null +++ b/tests/functionaltests/suites/csw30/default.cfg @@ -0,0 +1,90 @@ +# ================================================================= +# +# Authors: Tom Kralidis +# +# Copyright (c) 2011 Tom Kralidis +# +# Permission is hereby granted, free of charge, to any person +# obtaining a copy of this software and associated documentation +# files (the "Software"), to deal in the Software without +# restriction, including without limitation the rights to use, +# copy, modify, merge, publish, distribute, sublicense, and/or sell +# copies of the Software, and to permit persons to whom the +# Software is furnished to do so, subject to the following +# conditions: +# +# The above copyright notice and this permission notice shall be +# included in all copies or substantial portions of the Software. +# +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +# EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES +# OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +# NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT +# HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, +# WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR +# OTHER DEALINGS IN THE SOFTWARE. +# +# ================================================================= + +[server] +home=. +url=http://localhost/pycsw/csw.py?config=tests/suites/csw30/default.cfg +mimetype=application/xml; charset=UTF-8 +encoding=UTF-8 +language=en-US +maxrecords=10 +#loglevel=DEBUG +#logfile=/tmp/pycsw.log +#ogc_schemas_base=http://foo +federatedcatalogues=http://demo.pycsw.org/gisdata/csw +pretty_print=true +#gzip_compresslevel=8 +#spatial_ranking=true + +[manager] +transactions=false +allowed_ips=127.0.0.1 + +[metadata:main] +identification_title=pycsw Geospatial Catalogue +identification_abstract=pycsw is an OGC CSW server implementation written in Python +identification_keywords=catalogue,discovery +identification_keywords_type=theme +identification_fees=None +identification_accessconstraints=None +provider_name=pycsw +provider_url=http://pycsw.org/ +contact_name=Kralidis, Tom +contact_position=Senior Systems Scientist +contact_address=TBA +contact_city=Toronto +contact_stateorprovince=Ontario +contact_postalcode=M9C 3Z9 +contact_country=Canada +contact_phone=+01-416-xxx-xxxx +contact_fax=+01-416-xxx-xxxx +contact_email=tomkralidis@gmail.com +contact_url=http://kralidis.ca/ +contact_hours=0800h - 1600h EST +contact_instructions=During hours of service. Off on weekends. +contact_role=pointOfContact + +[repository] +# sqlite +database=sqlite:///tests/suites/cite/data/records.db +# postgres +#database=postgres://username:password@localhost/pycsw +table=records + +[metadata:inspire] +enabled=false +languages_supported=eng,gre +default_language=eng +date=2011-03-29 +gemet_keywords=Utility and governmental services +conformity_service=notEvaluated +contact_name=National Technical University of Athens +contact_email=tzotsos@gmail.com +temp_extent=2011-02-01/2011-03-30 + diff --git a/tests/functionaltests/suites/csw30/expected/get_002258f0-627f-457f-b2ad-025777c77ac8.xml b/tests/functionaltests/suites/csw30/expected/get_002258f0-627f-457f-b2ad-025777c77ac8.xml new file mode 100644 index 000000000..60ffc8d10 --- /dev/null +++ b/tests/functionaltests/suites/csw30/expected/get_002258f0-627f-457f-b2ad-025777c77ac8.xml @@ -0,0 +1,15 @@ + + + + pycsw Geospatial + pycsw Geospatial Catalogue + pycsw is an OGC CSW server implementation written in Python + catalogue discovery + + + http://pycsw.org/img/favicon.ico + + Kralidis, Tom + tomkralidis@gmail.com + pycsw + diff --git a/tests/functionaltests/suites/csw30/expected/get_045c600d-973d-41eb-9f60-eba1b717b720.xml b/tests/functionaltests/suites/csw30/expected/get_045c600d-973d-41eb-9f60-eba1b717b720.xml new file mode 100644 index 000000000..5caeab5ae --- /dev/null +++ b/tests/functionaltests/suites/csw30/expected/get_045c600d-973d-41eb-9f60-eba1b717b720.xml @@ -0,0 +1,24 @@ + + + + http://localhost/pycsw/csw.py?config=tests/suites/csw30/default.cfg + pycsw Geospatial Catalogue + + pycsw + + diff --git a/tests/functionaltests/suites/csw30/expected/get_0bbcf862-5211-4351-9988-63f8bec49c98.xml b/tests/functionaltests/suites/csw30/expected/get_0bbcf862-5211-4351-9988-63f8bec49c98.xml new file mode 100644 index 000000000..c1b666067 --- /dev/null +++ b/tests/functionaltests/suites/csw30/expected/get_0bbcf862-5211-4351-9988-63f8bec49c98.xml @@ -0,0 +1,116 @@ + + + + http://localhost/pycsw/csw.py?config=tests/suites/csw30/default.cfg + pycsw Geospatial Catalogue + + pycsw + + diff --git a/tests/functionaltests/suites/csw30/expected/get_0bdf8457-971e-4ed1-be4a-5feca4dcd8fa.xml b/tests/functionaltests/suites/csw30/expected/get_0bdf8457-971e-4ed1-be4a-5feca4dcd8fa.xml new file mode 100644 index 000000000..ce9c9355d --- /dev/null +++ b/tests/functionaltests/suites/csw30/expected/get_0bdf8457-971e-4ed1-be4a-5feca4dcd8fa.xml @@ -0,0 +1,491 @@ + + + + + pycsw Geospatial Catalogue + pycsw is an OGC CSW server implementation written in Python + + catalogue + discovery + theme + + CSW + 2.0.2 + 3.0.0 + None + None + + + pycsw + + + Kralidis, Tom + Senior Systems Scientist + + + +01-416-xxx-xxxx + +01-416-xxx-xxxx + + + TBA + Toronto + Ontario + M9C 3Z9 + Canada + tomkralidis@gmail.com + + + 0800h - 1600h EST + During hours of service. Off on weekends. + + pointOfContact + + + + + + + + + + + + + application/xml + text/xml + + + + + 2.0.2 + 3.0.0 + + + + + All + Filter_Capabilities + OperationsMetadata + ServiceIdentification + ServiceProvider + + + + + + + + + + + + + GetCapabilities.acceptFormats + GetCapabilities.acceptVersions + GetCapabilities.sections + GetRecordById.ElementSetName + GetRecordById.outputFormat + GetRecordById.outputSchema + GetRecords.CONSTRAINTLANGUAGE + GetRecords.ElementSetName + GetRecords.outputFormat + GetRecords.outputSchema + GetRecords.typeNames + + + + + + + + + + + + + CQL_TEXT + FILTER + + + + + brief + full + summary + + + + + application/atom+xml + application/json + application/xml + + + + + http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ + http://www.interlis.ch/INTERLIS2.3 + http://www.opengis.net/cat/csw/3.0 + http://www.opengis.net/cat/csw/csdgm + http://www.w3.org/2005/Atom + + + + + csw:Record + + + + + 10 + + + + + http://localhost/pycsw/csw.py?config=tests/suites/csw30/default.cfg?mode=opensearch&service=CSW&version=3.0.0&request=GetCapabilities + + + + + http://demo.pycsw.org/gisdata/csw + + + + + + + + + + + + + brief + full + summary + + + + + application/atom+xml + application/json + application/xml + + + + + http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ + http://www.interlis.ch/INTERLIS2.3 + http://www.opengis.net/cat/csw/3.0 + http://www.opengis.net/cat/csw/csdgm + http://www.w3.org/2005/Atom + + + + + + + + + + + + + CSW + + + + + 2.0.2 + 3.0.0 + + + + + csw:AnyText + dc:contributor + dc:creator + dc:date + dc:format + dc:identifier + dc:language + dc:publisher + dc:relation + dc:rights + dc:source + dc:subject + dc:title + dc:type + dct:abstract + dct:modified + ows:BoundingBox + + + + + http://demo.pycsw.org/gisdata/csw + + + + + 10 + + + + + SOAP + XML + + + + + allowed + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + http://www.opengis.net/gml + + + + + TRUE + + + + + en + + + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + xs:string + + + xs:string + + + xs:string + + + xs:string + + + xs:string + + + xs:string + + + + diff --git a/tests/functionaltests/suites/csw30/expected/get_0d8bbdec-0846-42ca-8dc8-b7f4cba41d67.xml b/tests/functionaltests/suites/csw30/expected/get_0d8bbdec-0846-42ca-8dc8-b7f4cba41d67.xml new file mode 100644 index 000000000..21edd2682 --- /dev/null +++ b/tests/functionaltests/suites/csw30/expected/get_0d8bbdec-0846-42ca-8dc8-b7f4cba41d67.xml @@ -0,0 +1,47 @@ + + + + + + + urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f + Lorem ipsum + + + urn:uuid:1ef30a8b-876d-4828-9246-c37ab4510bbd + + + + urn:uuid:66ae76b7-54ba-489b-a582-0f0633d96493 + Maecenas enim + + + urn:uuid:6a3de50b-fa66-4b58-a0e6-ca146fdd18d4 + Ut facilisis justo ut lacus + + + urn:uuid:784e2afd-a9fd-44a6-9a92-a3848371c8ec + Aliquam fermentum purus quis arcu + + + urn:uuid:829babb0-b2f1-49e1-8cd5-7b489fe71a1e + Vestibulum massa purus + + + urn:uuid:88247b56-4cbc-4df9-9860-db3f8042e357 + + + + urn:uuid:94bc9c83-97f6-4b40-9eb8-a8e8787a5c63 + Mauris sed neque + + + urn:uuid:9a669547-b69b-469f-a11f-2d875366bbdc + Ñunç elementum + + + urn:uuid:a06af396-3105-442d-8b40-22b57a90d2f2 + Lorem ipsum dolor sit amet + + + diff --git a/tests/functionaltests/suites/csw30/expected/get_0e1dca37-477a-4060-99fe-7799b52d656c.xml b/tests/functionaltests/suites/csw30/expected/get_0e1dca37-477a-4060-99fe-7799b52d656c.xml new file mode 100644 index 000000000..b6869d887 --- /dev/null +++ b/tests/functionaltests/suites/csw30/expected/get_0e1dca37-477a-4060-99fe-7799b52d656c.xml @@ -0,0 +1,15 @@ + + + + http://localhost/pycsw/csw.py?config=tests/suites/csw30/default.cfg + pycsw Geospatial Catalogue + + pycsw + + diff --git a/tests/functionaltests/suites/csw30/expected/get_13c87956-51a4-4780-a8e9-6e0b5c0bb473.xml b/tests/functionaltests/suites/csw30/expected/get_13c87956-51a4-4780-a8e9-6e0b5c0bb473.xml new file mode 100644 index 000000000..3ce950bca --- /dev/null +++ b/tests/functionaltests/suites/csw30/expected/get_13c87956-51a4-4780-a8e9-6e0b5c0bb473.xml @@ -0,0 +1,92 @@ + + + + + + + urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f + Lorem ipsum + http://purl.org/dc/dcmitype/Image + Tourism--Greece + image/svg+xml + Quisque lacus diam, placerat mollis, pharetra in, commodo sed, augue. Duis iaculis arcu vel arcu. + + + urn:uuid:1ef30a8b-876d-4828-9246-c37ab4510bbd + + http://purl.org/dc/dcmitype/Service + Proin sit amet justo. In justo. Aenean adipiscing nulla id tellus. + + 60.04 13.75 + 68.41 17.92 + + + + urn:uuid:66ae76b7-54ba-489b-a582-0f0633d96493 + Maecenas enim + http://purl.org/dc/dcmitype/Text + Marine sediments + application/xhtml+xml + Pellentesque tempus magna non sapien fringilla blandit. + + + urn:uuid:6a3de50b-fa66-4b58-a0e6-ca146fdd18d4 + Ut facilisis justo ut lacus + http://purl.org/dc/dcmitype/Service + Vegetation + urn:uuid:94bc9c83-97f6-4b40-9eb8-a8e8787a5c63 + + + urn:uuid:784e2afd-a9fd-44a6-9a92-a3848371c8ec + Aliquam fermentum purus quis arcu + http://purl.org/dc/dcmitype/Text + Hydrography--Dictionaries + application/pdf + Vestibulum quis ipsum sit amet metus imperdiet vehicula. Nulla scelerisque cursus mi. + 2006-05-12 + + + urn:uuid:829babb0-b2f1-49e1-8cd5-7b489fe71a1e + Vestibulum massa purus + http://purl.org/dc/dcmitype/Image + image/jp2 + urn:uuid:9a669547-b69b-469f-a11f-2d875366bbdc + + + urn:uuid:88247b56-4cbc-4df9-9860-db3f8042e357 + + http://purl.org/dc/dcmitype/Dataset + Physiography-Landforms + Donec scelerisque pede ut nisl luctus accumsan. Quisque ultrices, lorem eget feugiat fringilla, lorem dui porttitor ante, cursus ultrices magna odio eu neque. + + + urn:uuid:94bc9c83-97f6-4b40-9eb8-a8e8787a5c63 + Mauris sed neque + http://purl.org/dc/dcmitype/Dataset + Vegetation-Cropland + Curabitur lacinia, ante non porta tempus, mi lorem feugiat odio, eget suscipit eros pede ac velit. + 2006-03-26 + + 47.59 -4.1 + 51.22 0.89 + + + + urn:uuid:9a669547-b69b-469f-a11f-2d875366bbdc + Ñunç elementum + http://purl.org/dc/dcmitype/Dataset + Hydrography-Oceanographic + 2005-10-24 + + 44.79 -6.17 + 51.13 -2.23 + + + + urn:uuid:a06af396-3105-442d-8b40-22b57a90d2f2 + Lorem ipsum dolor sit amet + http://purl.org/dc/dcmitype/Image + image/jpeg + + + diff --git a/tests/functionaltests/suites/csw30/expected/get_151d982f-ebd3-4cb2-b507-a667713a1e92.xml b/tests/functionaltests/suites/csw30/expected/get_151d982f-ebd3-4cb2-b507-a667713a1e92.xml new file mode 100644 index 000000000..633f7c9ae --- /dev/null +++ b/tests/functionaltests/suites/csw30/expected/get_151d982f-ebd3-4cb2-b507-a667713a1e92.xml @@ -0,0 +1,7 @@ + + + + + Invalid acceptFormats parameter value: model/x3d+xml + + diff --git a/tests/functionaltests/suites/csw30/expected/get_1869e495-1a61-4713-8285-76d1336ee1a6.xml b/tests/functionaltests/suites/csw30/expected/get_1869e495-1a61-4713-8285-76d1336ee1a6.xml new file mode 100644 index 000000000..42a76d4fd --- /dev/null +++ b/tests/functionaltests/suites/csw30/expected/get_1869e495-1a61-4713-8285-76d1336ee1a6.xml @@ -0,0 +1,7 @@ + + + + + Missing keyword: service + + diff --git a/tests/functionaltests/suites/csw30/expected/get_1bcb42a9-538c-4f0a-9d4c-d6f10b720aa6.xml b/tests/functionaltests/suites/csw30/expected/get_1bcb42a9-538c-4f0a-9d4c-d6f10b720aa6.xml new file mode 100644 index 000000000..dd5dfc621 --- /dev/null +++ b/tests/functionaltests/suites/csw30/expected/get_1bcb42a9-538c-4f0a-9d4c-d6f10b720aa6.xml @@ -0,0 +1,7 @@ + + + + + Missing id parameter + + diff --git a/tests/functionaltests/suites/csw30/expected/get_22f44168-2ccf-4801-ad96-204212566d56.xml b/tests/functionaltests/suites/csw30/expected/get_22f44168-2ccf-4801-ad96-204212566d56.xml new file mode 100644 index 000000000..ce9c9355d --- /dev/null +++ b/tests/functionaltests/suites/csw30/expected/get_22f44168-2ccf-4801-ad96-204212566d56.xml @@ -0,0 +1,491 @@ + + + + + pycsw Geospatial Catalogue + pycsw is an OGC CSW server implementation written in Python + + catalogue + discovery + theme + + CSW + 2.0.2 + 3.0.0 + None + None + + + pycsw + + + Kralidis, Tom + Senior Systems Scientist + + + +01-416-xxx-xxxx + +01-416-xxx-xxxx + + + TBA + Toronto + Ontario + M9C 3Z9 + Canada + tomkralidis@gmail.com + + + 0800h - 1600h EST + During hours of service. Off on weekends. + + pointOfContact + + + + + + + + + + + + + application/xml + text/xml + + + + + 2.0.2 + 3.0.0 + + + + + All + Filter_Capabilities + OperationsMetadata + ServiceIdentification + ServiceProvider + + + + + + + + + + + + + GetCapabilities.acceptFormats + GetCapabilities.acceptVersions + GetCapabilities.sections + GetRecordById.ElementSetName + GetRecordById.outputFormat + GetRecordById.outputSchema + GetRecords.CONSTRAINTLANGUAGE + GetRecords.ElementSetName + GetRecords.outputFormat + GetRecords.outputSchema + GetRecords.typeNames + + + + + + + + + + + + + CQL_TEXT + FILTER + + + + + brief + full + summary + + + + + application/atom+xml + application/json + application/xml + + + + + http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ + http://www.interlis.ch/INTERLIS2.3 + http://www.opengis.net/cat/csw/3.0 + http://www.opengis.net/cat/csw/csdgm + http://www.w3.org/2005/Atom + + + + + csw:Record + + + + + 10 + + + + + http://localhost/pycsw/csw.py?config=tests/suites/csw30/default.cfg?mode=opensearch&service=CSW&version=3.0.0&request=GetCapabilities + + + + + http://demo.pycsw.org/gisdata/csw + + + + + + + + + + + + + brief + full + summary + + + + + application/atom+xml + application/json + application/xml + + + + + http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ + http://www.interlis.ch/INTERLIS2.3 + http://www.opengis.net/cat/csw/3.0 + http://www.opengis.net/cat/csw/csdgm + http://www.w3.org/2005/Atom + + + + + + + + + + + + + CSW + + + + + 2.0.2 + 3.0.0 + + + + + csw:AnyText + dc:contributor + dc:creator + dc:date + dc:format + dc:identifier + dc:language + dc:publisher + dc:relation + dc:rights + dc:source + dc:subject + dc:title + dc:type + dct:abstract + dct:modified + ows:BoundingBox + + + + + http://demo.pycsw.org/gisdata/csw + + + + + 10 + + + + + SOAP + XML + + + + + allowed + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + http://www.opengis.net/gml + + + + + TRUE + + + + + en + + + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + xs:string + + + xs:string + + + xs:string + + + xs:string + + + xs:string + + + xs:string + + + + diff --git a/tests/functionaltests/suites/csw30/expected/get_2499a9c9-8d33-449c-bc92-d494adfcc84d.xml b/tests/functionaltests/suites/csw30/expected/get_2499a9c9-8d33-449c-bc92-d494adfcc84d.xml new file mode 100644 index 000000000..ce9c9355d --- /dev/null +++ b/tests/functionaltests/suites/csw30/expected/get_2499a9c9-8d33-449c-bc92-d494adfcc84d.xml @@ -0,0 +1,491 @@ + + + + + pycsw Geospatial Catalogue + pycsw is an OGC CSW server implementation written in Python + + catalogue + discovery + theme + + CSW + 2.0.2 + 3.0.0 + None + None + + + pycsw + + + Kralidis, Tom + Senior Systems Scientist + + + +01-416-xxx-xxxx + +01-416-xxx-xxxx + + + TBA + Toronto + Ontario + M9C 3Z9 + Canada + tomkralidis@gmail.com + + + 0800h - 1600h EST + During hours of service. Off on weekends. + + pointOfContact + + + + + + + + + + + + + application/xml + text/xml + + + + + 2.0.2 + 3.0.0 + + + + + All + Filter_Capabilities + OperationsMetadata + ServiceIdentification + ServiceProvider + + + + + + + + + + + + + GetCapabilities.acceptFormats + GetCapabilities.acceptVersions + GetCapabilities.sections + GetRecordById.ElementSetName + GetRecordById.outputFormat + GetRecordById.outputSchema + GetRecords.CONSTRAINTLANGUAGE + GetRecords.ElementSetName + GetRecords.outputFormat + GetRecords.outputSchema + GetRecords.typeNames + + + + + + + + + + + + + CQL_TEXT + FILTER + + + + + brief + full + summary + + + + + application/atom+xml + application/json + application/xml + + + + + http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ + http://www.interlis.ch/INTERLIS2.3 + http://www.opengis.net/cat/csw/3.0 + http://www.opengis.net/cat/csw/csdgm + http://www.w3.org/2005/Atom + + + + + csw:Record + + + + + 10 + + + + + http://localhost/pycsw/csw.py?config=tests/suites/csw30/default.cfg?mode=opensearch&service=CSW&version=3.0.0&request=GetCapabilities + + + + + http://demo.pycsw.org/gisdata/csw + + + + + + + + + + + + + brief + full + summary + + + + + application/atom+xml + application/json + application/xml + + + + + http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ + http://www.interlis.ch/INTERLIS2.3 + http://www.opengis.net/cat/csw/3.0 + http://www.opengis.net/cat/csw/csdgm + http://www.w3.org/2005/Atom + + + + + + + + + + + + + CSW + + + + + 2.0.2 + 3.0.0 + + + + + csw:AnyText + dc:contributor + dc:creator + dc:date + dc:format + dc:identifier + dc:language + dc:publisher + dc:relation + dc:rights + dc:source + dc:subject + dc:title + dc:type + dct:abstract + dct:modified + ows:BoundingBox + + + + + http://demo.pycsw.org/gisdata/csw + + + + + 10 + + + + + SOAP + XML + + + + + allowed + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + http://www.opengis.net/gml + + + + + TRUE + + + + + en + + + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + xs:string + + + xs:string + + + xs:string + + + xs:string + + + xs:string + + + xs:string + + + + diff --git a/tests/functionaltests/suites/csw30/expected/get_27f4f39c-d92a-4e3c-b961-c6aa8c24e513.xml b/tests/functionaltests/suites/csw30/expected/get_27f4f39c-d92a-4e3c-b961-c6aa8c24e513.xml new file mode 100644 index 000000000..ce9c9355d --- /dev/null +++ b/tests/functionaltests/suites/csw30/expected/get_27f4f39c-d92a-4e3c-b961-c6aa8c24e513.xml @@ -0,0 +1,491 @@ + + + + + pycsw Geospatial Catalogue + pycsw is an OGC CSW server implementation written in Python + + catalogue + discovery + theme + + CSW + 2.0.2 + 3.0.0 + None + None + + + pycsw + + + Kralidis, Tom + Senior Systems Scientist + + + +01-416-xxx-xxxx + +01-416-xxx-xxxx + + + TBA + Toronto + Ontario + M9C 3Z9 + Canada + tomkralidis@gmail.com + + + 0800h - 1600h EST + During hours of service. Off on weekends. + + pointOfContact + + + + + + + + + + + + + application/xml + text/xml + + + + + 2.0.2 + 3.0.0 + + + + + All + Filter_Capabilities + OperationsMetadata + ServiceIdentification + ServiceProvider + + + + + + + + + + + + + GetCapabilities.acceptFormats + GetCapabilities.acceptVersions + GetCapabilities.sections + GetRecordById.ElementSetName + GetRecordById.outputFormat + GetRecordById.outputSchema + GetRecords.CONSTRAINTLANGUAGE + GetRecords.ElementSetName + GetRecords.outputFormat + GetRecords.outputSchema + GetRecords.typeNames + + + + + + + + + + + + + CQL_TEXT + FILTER + + + + + brief + full + summary + + + + + application/atom+xml + application/json + application/xml + + + + + http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ + http://www.interlis.ch/INTERLIS2.3 + http://www.opengis.net/cat/csw/3.0 + http://www.opengis.net/cat/csw/csdgm + http://www.w3.org/2005/Atom + + + + + csw:Record + + + + + 10 + + + + + http://localhost/pycsw/csw.py?config=tests/suites/csw30/default.cfg?mode=opensearch&service=CSW&version=3.0.0&request=GetCapabilities + + + + + http://demo.pycsw.org/gisdata/csw + + + + + + + + + + + + + brief + full + summary + + + + + application/atom+xml + application/json + application/xml + + + + + http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ + http://www.interlis.ch/INTERLIS2.3 + http://www.opengis.net/cat/csw/3.0 + http://www.opengis.net/cat/csw/csdgm + http://www.w3.org/2005/Atom + + + + + + + + + + + + + CSW + + + + + 2.0.2 + 3.0.0 + + + + + csw:AnyText + dc:contributor + dc:creator + dc:date + dc:format + dc:identifier + dc:language + dc:publisher + dc:relation + dc:rights + dc:source + dc:subject + dc:title + dc:type + dct:abstract + dct:modified + ows:BoundingBox + + + + + http://demo.pycsw.org/gisdata/csw + + + + + 10 + + + + + SOAP + XML + + + + + allowed + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + http://www.opengis.net/gml + + + + + TRUE + + + + + en + + + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + xs:string + + + xs:string + + + xs:string + + + xs:string + + + xs:string + + + xs:string + + + + diff --git a/tests/functionaltests/suites/csw30/expected/get_28e569df-8596-4128-8d9a-29ad03138915.xml b/tests/functionaltests/suites/csw30/expected/get_28e569df-8596-4128-8d9a-29ad03138915.xml new file mode 100644 index 000000000..c998b50af --- /dev/null +++ b/tests/functionaltests/suites/csw30/expected/get_28e569df-8596-4128-8d9a-29ad03138915.xml @@ -0,0 +1,8 @@ + + + + urn:uuid:a06af396-3105-442d-8b40-22b57a90d2f2 + Lorem ipsum dolor sit amet + http://purl.org/dc/dcmitype/Image + image/jpeg + diff --git a/tests/functionaltests/suites/csw30/expected/get_2b06a5c8-0df2-4af1-8d2e-a425de11c845.xml b/tests/functionaltests/suites/csw30/expected/get_2b06a5c8-0df2-4af1-8d2e-a425de11c845.xml new file mode 100644 index 000000000..ce9c9355d --- /dev/null +++ b/tests/functionaltests/suites/csw30/expected/get_2b06a5c8-0df2-4af1-8d2e-a425de11c845.xml @@ -0,0 +1,491 @@ + + + + + pycsw Geospatial Catalogue + pycsw is an OGC CSW server implementation written in Python + + catalogue + discovery + theme + + CSW + 2.0.2 + 3.0.0 + None + None + + + pycsw + + + Kralidis, Tom + Senior Systems Scientist + + + +01-416-xxx-xxxx + +01-416-xxx-xxxx + + + TBA + Toronto + Ontario + M9C 3Z9 + Canada + tomkralidis@gmail.com + + + 0800h - 1600h EST + During hours of service. Off on weekends. + + pointOfContact + + + + + + + + + + + + + application/xml + text/xml + + + + + 2.0.2 + 3.0.0 + + + + + All + Filter_Capabilities + OperationsMetadata + ServiceIdentification + ServiceProvider + + + + + + + + + + + + + GetCapabilities.acceptFormats + GetCapabilities.acceptVersions + GetCapabilities.sections + GetRecordById.ElementSetName + GetRecordById.outputFormat + GetRecordById.outputSchema + GetRecords.CONSTRAINTLANGUAGE + GetRecords.ElementSetName + GetRecords.outputFormat + GetRecords.outputSchema + GetRecords.typeNames + + + + + + + + + + + + + CQL_TEXT + FILTER + + + + + brief + full + summary + + + + + application/atom+xml + application/json + application/xml + + + + + http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ + http://www.interlis.ch/INTERLIS2.3 + http://www.opengis.net/cat/csw/3.0 + http://www.opengis.net/cat/csw/csdgm + http://www.w3.org/2005/Atom + + + + + csw:Record + + + + + 10 + + + + + http://localhost/pycsw/csw.py?config=tests/suites/csw30/default.cfg?mode=opensearch&service=CSW&version=3.0.0&request=GetCapabilities + + + + + http://demo.pycsw.org/gisdata/csw + + + + + + + + + + + + + brief + full + summary + + + + + application/atom+xml + application/json + application/xml + + + + + http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ + http://www.interlis.ch/INTERLIS2.3 + http://www.opengis.net/cat/csw/3.0 + http://www.opengis.net/cat/csw/csdgm + http://www.w3.org/2005/Atom + + + + + + + + + + + + + CSW + + + + + 2.0.2 + 3.0.0 + + + + + csw:AnyText + dc:contributor + dc:creator + dc:date + dc:format + dc:identifier + dc:language + dc:publisher + dc:relation + dc:rights + dc:source + dc:subject + dc:title + dc:type + dct:abstract + dct:modified + ows:BoundingBox + + + + + http://demo.pycsw.org/gisdata/csw + + + + + 10 + + + + + SOAP + XML + + + + + allowed + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + http://www.opengis.net/gml + + + + + TRUE + + + + + en + + + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + xs:string + + + xs:string + + + xs:string + + + xs:string + + + xs:string + + + xs:string + + + + diff --git a/tests/functionaltests/suites/csw30/expected/get_2ba1418a-444d-4cce-9cfe-4c94efcf8b55.xml b/tests/functionaltests/suites/csw30/expected/get_2ba1418a-444d-4cce-9cfe-4c94efcf8b55.xml new file mode 100644 index 000000000..06869ee15 --- /dev/null +++ b/tests/functionaltests/suites/csw30/expected/get_2ba1418a-444d-4cce-9cfe-4c94efcf8b55.xml @@ -0,0 +1,32 @@ + + + + http://localhost/pycsw/csw.py?config=tests/suites/csw30/default.cfg + pycsw Geospatial Catalogue + + pycsw + + diff --git a/tests/functionaltests/suites/csw30/expected/get_397fe17a-d5b4-4f96-8cc4-4ce467ed4d0a.xml b/tests/functionaltests/suites/csw30/expected/get_397fe17a-d5b4-4f96-8cc4-4ce467ed4d0a.xml new file mode 100644 index 000000000..a2f3d5785 --- /dev/null +++ b/tests/functionaltests/suites/csw30/expected/get_397fe17a-d5b4-4f96-8cc4-4ce467ed4d0a.xml @@ -0,0 +1,30 @@ + + + + + + + urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f + Lorem ipsum + http://purl.org/dc/dcmitype/Image + Tourism--Greece + image/svg+xml + Quisque lacus diam, placerat mollis, pharetra in, commodo sed, augue. Duis iaculis arcu vel arcu. + + + urn:uuid:784e2afd-a9fd-44a6-9a92-a3848371c8ec + Aliquam fermentum purus quis arcu + http://purl.org/dc/dcmitype/Text + Hydrography--Dictionaries + application/pdf + Vestibulum quis ipsum sit amet metus imperdiet vehicula. Nulla scelerisque cursus mi. + 2006-05-12 + + + urn:uuid:a06af396-3105-442d-8b40-22b57a90d2f2 + Lorem ipsum dolor sit amet + http://purl.org/dc/dcmitype/Image + image/jpeg + + + diff --git a/tests/functionaltests/suites/csw30/expected/get_3dcd1b15-73d2-4b7d-a3e3-ff15bf14aae4.xml b/tests/functionaltests/suites/csw30/expected/get_3dcd1b15-73d2-4b7d-a3e3-ff15bf14aae4.xml new file mode 100644 index 000000000..4d7f6b1bf --- /dev/null +++ b/tests/functionaltests/suites/csw30/expected/get_3dcd1b15-73d2-4b7d-a3e3-ff15bf14aae4.xml @@ -0,0 +1,69 @@ + + + + + + + urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f + Lorem ipsum + http://purl.org/dc/dcmitype/Image + + + urn:uuid:1ef30a8b-876d-4828-9246-c37ab4510bbd + + http://purl.org/dc/dcmitype/Service + + 60.04 13.75 + 68.41 17.92 + + + + urn:uuid:66ae76b7-54ba-489b-a582-0f0633d96493 + Maecenas enim + http://purl.org/dc/dcmitype/Text + + + urn:uuid:6a3de50b-fa66-4b58-a0e6-ca146fdd18d4 + Ut facilisis justo ut lacus + http://purl.org/dc/dcmitype/Service + + + urn:uuid:784e2afd-a9fd-44a6-9a92-a3848371c8ec + Aliquam fermentum purus quis arcu + http://purl.org/dc/dcmitype/Text + + + urn:uuid:829babb0-b2f1-49e1-8cd5-7b489fe71a1e + Vestibulum massa purus + http://purl.org/dc/dcmitype/Image + + + urn:uuid:88247b56-4cbc-4df9-9860-db3f8042e357 + + http://purl.org/dc/dcmitype/Dataset + + + urn:uuid:94bc9c83-97f6-4b40-9eb8-a8e8787a5c63 + Mauris sed neque + http://purl.org/dc/dcmitype/Dataset + + 47.59 -4.1 + 51.22 0.89 + + + + urn:uuid:9a669547-b69b-469f-a11f-2d875366bbdc + Ñunç elementum + http://purl.org/dc/dcmitype/Dataset + + 44.79 -6.17 + 51.13 -2.23 + + + + urn:uuid:a06af396-3105-442d-8b40-22b57a90d2f2 + Lorem ipsum dolor sit amet + http://purl.org/dc/dcmitype/Image + + + diff --git a/tests/functionaltests/suites/csw30/expected/get_405e1ff1-5c75-4846-a28b-cfaff2a6921a.xml b/tests/functionaltests/suites/csw30/expected/get_405e1ff1-5c75-4846-a28b-cfaff2a6921a.xml new file mode 100644 index 000000000..22bdf2c6f --- /dev/null +++ b/tests/functionaltests/suites/csw30/expected/get_405e1ff1-5c75-4846-a28b-cfaff2a6921a.xml @@ -0,0 +1,23 @@ + + + + + + + urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f + Lorem ipsum + http://purl.org/dc/dcmitype/Image + Tourism--Greece + image/svg+xml + Quisque lacus diam, placerat mollis, pharetra in, commodo sed, augue. Duis iaculis arcu vel arcu. + + + urn:uuid:e9330592-0932-474b-be34-c3a3bb67c7db + Fuscé vitae ligulä + http://purl.org/dc/dcmitype/Text + Land titles + text/rtf + Morbi ultriçes, dui suscipit vestibulum prètium, velit ante pretium tortor, egët tincidunt pede odio ac nulla. + + + diff --git a/tests/functionaltests/suites/csw30/expected/get_43cd6471-6ac7-45bd-8ff9-148cb2de9a52.xml b/tests/functionaltests/suites/csw30/expected/get_43cd6471-6ac7-45bd-8ff9-148cb2de9a52.xml new file mode 100644 index 000000000..ce9c9355d --- /dev/null +++ b/tests/functionaltests/suites/csw30/expected/get_43cd6471-6ac7-45bd-8ff9-148cb2de9a52.xml @@ -0,0 +1,491 @@ + + + + + pycsw Geospatial Catalogue + pycsw is an OGC CSW server implementation written in Python + + catalogue + discovery + theme + + CSW + 2.0.2 + 3.0.0 + None + None + + + pycsw + + + Kralidis, Tom + Senior Systems Scientist + + + +01-416-xxx-xxxx + +01-416-xxx-xxxx + + + TBA + Toronto + Ontario + M9C 3Z9 + Canada + tomkralidis@gmail.com + + + 0800h - 1600h EST + During hours of service. Off on weekends. + + pointOfContact + + + + + + + + + + + + + application/xml + text/xml + + + + + 2.0.2 + 3.0.0 + + + + + All + Filter_Capabilities + OperationsMetadata + ServiceIdentification + ServiceProvider + + + + + + + + + + + + + GetCapabilities.acceptFormats + GetCapabilities.acceptVersions + GetCapabilities.sections + GetRecordById.ElementSetName + GetRecordById.outputFormat + GetRecordById.outputSchema + GetRecords.CONSTRAINTLANGUAGE + GetRecords.ElementSetName + GetRecords.outputFormat + GetRecords.outputSchema + GetRecords.typeNames + + + + + + + + + + + + + CQL_TEXT + FILTER + + + + + brief + full + summary + + + + + application/atom+xml + application/json + application/xml + + + + + http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ + http://www.interlis.ch/INTERLIS2.3 + http://www.opengis.net/cat/csw/3.0 + http://www.opengis.net/cat/csw/csdgm + http://www.w3.org/2005/Atom + + + + + csw:Record + + + + + 10 + + + + + http://localhost/pycsw/csw.py?config=tests/suites/csw30/default.cfg?mode=opensearch&service=CSW&version=3.0.0&request=GetCapabilities + + + + + http://demo.pycsw.org/gisdata/csw + + + + + + + + + + + + + brief + full + summary + + + + + application/atom+xml + application/json + application/xml + + + + + http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ + http://www.interlis.ch/INTERLIS2.3 + http://www.opengis.net/cat/csw/3.0 + http://www.opengis.net/cat/csw/csdgm + http://www.w3.org/2005/Atom + + + + + + + + + + + + + CSW + + + + + 2.0.2 + 3.0.0 + + + + + csw:AnyText + dc:contributor + dc:creator + dc:date + dc:format + dc:identifier + dc:language + dc:publisher + dc:relation + dc:rights + dc:source + dc:subject + dc:title + dc:type + dct:abstract + dct:modified + ows:BoundingBox + + + + + http://demo.pycsw.org/gisdata/csw + + + + + 10 + + + + + SOAP + XML + + + + + allowed + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + http://www.opengis.net/gml + + + + + TRUE + + + + + en + + + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + xs:string + + + xs:string + + + xs:string + + + xs:string + + + xs:string + + + xs:string + + + + diff --git a/tests/functionaltests/suites/csw30/expected/get_4566d2ec-1283-4a02-baed-a74fc5b47e37.xml b/tests/functionaltests/suites/csw30/expected/get_4566d2ec-1283-4a02-baed-a74fc5b47e37.xml new file mode 100644 index 000000000..e907a5144 --- /dev/null +++ b/tests/functionaltests/suites/csw30/expected/get_4566d2ec-1283-4a02-baed-a74fc5b47e37.xml @@ -0,0 +1,18 @@ + + + + + pycsw Geospatial Catalogue + pycsw is an OGC CSW server implementation written in Python + + catalogue + discovery + theme + + CSW + 2.0.2 + 3.0.0 + None + None + + diff --git a/tests/functionaltests/suites/csw30/expected/get_461bd4c5-6623-490d-9036-d91a2201e87b.xml b/tests/functionaltests/suites/csw30/expected/get_461bd4c5-6623-490d-9036-d91a2201e87b.xml new file mode 100644 index 000000000..cd2d3db66 --- /dev/null +++ b/tests/functionaltests/suites/csw30/expected/get_461bd4c5-6623-490d-9036-d91a2201e87b.xml @@ -0,0 +1,3 @@ + + + diff --git a/tests/functionaltests/suites/csw30/expected/get_5496894a-3877-4f62-a20b-5d7126f94925.xml b/tests/functionaltests/suites/csw30/expected/get_5496894a-3877-4f62-a20b-5d7126f94925.xml new file mode 100644 index 000000000..f0c8bac70 --- /dev/null +++ b/tests/functionaltests/suites/csw30/expected/get_5496894a-3877-4f62-a20b-5d7126f94925.xml @@ -0,0 +1,7 @@ + + + + + 4326 coordinates out of range: ['514432', '5429689', '529130', '5451619'] + + diff --git a/tests/functionaltests/suites/csw30/expected/get_5a015f6a-bf14-4977-b1e3-6577eb0223c8.xml b/tests/functionaltests/suites/csw30/expected/get_5a015f6a-bf14-4977-b1e3-6577eb0223c8.xml new file mode 100644 index 000000000..73b0f786a --- /dev/null +++ b/tests/functionaltests/suites/csw30/expected/get_5a015f6a-bf14-4977-b1e3-6577eb0223c8.xml @@ -0,0 +1,40 @@ + + + + + + + urn:uuid:1ef30a8b-876d-4828-9246-c37ab4510bbd + + http://purl.org/dc/dcmitype/Service + Proin sit amet justo. In justo. Aenean adipiscing nulla id tellus. + + 60.04 13.75 + 68.41 17.92 + + + + urn:uuid:94bc9c83-97f6-4b40-9eb8-a8e8787a5c63 + Mauris sed neque + http://purl.org/dc/dcmitype/Dataset + Vegetation-Cropland + Curabitur lacinia, ante non porta tempus, mi lorem feugiat odio, eget suscipit eros pede ac velit. + 2006-03-26 + + 47.59 -4.1 + 51.22 0.89 + + + + urn:uuid:9a669547-b69b-469f-a11f-2d875366bbdc + Ñunç elementum + http://purl.org/dc/dcmitype/Dataset + Hydrography-Oceanographic + 2005-10-24 + + 44.79 -6.17 + 51.13 -2.23 + + + + diff --git a/tests/functionaltests/suites/csw30/expected/get_5c3a2390-1fb9-43f0-b96c-f48c7a69c990.xml b/tests/functionaltests/suites/csw30/expected/get_5c3a2390-1fb9-43f0-b96c-f48c7a69c990.xml new file mode 100644 index 000000000..ffd1bd085 --- /dev/null +++ b/tests/functionaltests/suites/csw30/expected/get_5c3a2390-1fb9-43f0-b96c-f48c7a69c990.xml @@ -0,0 +1,7 @@ + + + + + Invalid outputformat parameter model/vnd.collada+xml + + diff --git a/tests/functionaltests/suites/csw30/expected/get_5e9e67dc-18d6-4645-8111-c6263c88a61f.xml b/tests/functionaltests/suites/csw30/expected/get_5e9e67dc-18d6-4645-8111-c6263c88a61f.xml new file mode 100644 index 000000000..4d3fed27a --- /dev/null +++ b/tests/functionaltests/suites/csw30/expected/get_5e9e67dc-18d6-4645-8111-c6263c88a61f.xml @@ -0,0 +1,326 @@ + + + + + + + + + + + + + + application/xml + text/xml + + + + + 2.0.2 + 3.0.0 + + + + + All + Filter_Capabilities + OperationsMetadata + ServiceIdentification + ServiceProvider + + + + + + + + + + + + + GetCapabilities.acceptFormats + GetCapabilities.acceptVersions + GetCapabilities.sections + GetRecordById.ElementSetName + GetRecordById.outputFormat + GetRecordById.outputSchema + GetRecords.CONSTRAINTLANGUAGE + GetRecords.ElementSetName + GetRecords.outputFormat + GetRecords.outputSchema + GetRecords.typeNames + + + + + + + + + + + + + CQL_TEXT + FILTER + + + + + brief + full + summary + + + + + application/atom+xml + application/json + application/xml + + + + + http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ + http://www.interlis.ch/INTERLIS2.3 + http://www.opengis.net/cat/csw/3.0 + http://www.opengis.net/cat/csw/csdgm + http://www.w3.org/2005/Atom + + + + + csw:Record + + + + + 10 + + + + + http://localhost/pycsw/csw.py?config=tests/suites/csw30/default.cfg?mode=opensearch&service=CSW&version=3.0.0&request=GetCapabilities + + + + + http://demo.pycsw.org/gisdata/csw + + + + + + + + + + + + + brief + full + summary + + + + + application/atom+xml + application/json + application/xml + + + + + http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ + http://www.interlis.ch/INTERLIS2.3 + http://www.opengis.net/cat/csw/3.0 + http://www.opengis.net/cat/csw/csdgm + http://www.w3.org/2005/Atom + + + + + + + + + + + + + CSW + + + + + 2.0.2 + 3.0.0 + + + + + csw:AnyText + dc:contributor + dc:creator + dc:date + dc:format + dc:identifier + dc:language + dc:publisher + dc:relation + dc:rights + dc:source + dc:subject + dc:title + dc:type + dct:abstract + dct:modified + ows:BoundingBox + + + + + http://demo.pycsw.org/gisdata/csw + + + + + 10 + + + + + SOAP + XML + + + + + allowed + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + http://www.opengis.net/gml + + + + + TRUE + + + + diff --git a/tests/functionaltests/suites/csw30/expected/get_604d9379-741c-42e5-b4cf-92e56c87fa64.xml b/tests/functionaltests/suites/csw30/expected/get_604d9379-741c-42e5-b4cf-92e56c87fa64.xml new file mode 100644 index 000000000..17019ae5c --- /dev/null +++ b/tests/functionaltests/suites/csw30/expected/get_604d9379-741c-42e5-b4cf-92e56c87fa64.xml @@ -0,0 +1,32 @@ + + + + + + + urn:uuid:1ef30a8b-876d-4828-9246-c37ab4510bbd + + http://purl.org/dc/dcmitype/Service + Proin sit amet justo. In justo. Aenean adipiscing nulla id tellus. + + 60.04 13.75 + 68.41 17.92 + + + + urn:uuid:784e2afd-a9fd-44a6-9a92-a3848371c8ec + Aliquam fermentum purus quis arcu + http://purl.org/dc/dcmitype/Text + Hydrography--Dictionaries + application/pdf + Vestibulum quis ipsum sit amet metus imperdiet vehicula. Nulla scelerisque cursus mi. + 2006-05-12 + + + urn:uuid:a06af396-3105-442d-8b40-22b57a90d2f2 + Lorem ipsum dolor sit amet + http://purl.org/dc/dcmitype/Image + image/jpeg + + + diff --git a/tests/functionaltests/suites/csw30/expected/get_60e6af95-d5fc-465a-82e2-fd2e6d85e4af.xml b/tests/functionaltests/suites/csw30/expected/get_60e6af95-d5fc-465a-82e2-fd2e6d85e4af.xml new file mode 100644 index 000000000..d4ac1d550 --- /dev/null +++ b/tests/functionaltests/suites/csw30/expected/get_60e6af95-d5fc-465a-82e2-fd2e6d85e4af.xml @@ -0,0 +1,7 @@ + + + + + Invalid typeNames parameter value: UnknownType + + diff --git a/tests/functionaltests/suites/csw30/expected/get_62ad94c2-b558-4265-a427-23d6677975d6.xml b/tests/functionaltests/suites/csw30/expected/get_62ad94c2-b558-4265-a427-23d6677975d6.xml new file mode 100644 index 000000000..faf07a500 --- /dev/null +++ b/tests/functionaltests/suites/csw30/expected/get_62ad94c2-b558-4265-a427-23d6677975d6.xml @@ -0,0 +1,7 @@ + + + + + No records found for 'uid-bc5017e6-5cc8-4b03-aee7-d88f88caba0a' + + diff --git a/tests/functionaltests/suites/csw30/expected/get_6a5e247b-0961-4b8a-a0d6-35a491d9cfe7.xml b/tests/functionaltests/suites/csw30/expected/get_6a5e247b-0961-4b8a-a0d6-35a491d9cfe7.xml new file mode 100644 index 000000000..5912e69e9 --- /dev/null +++ b/tests/functionaltests/suites/csw30/expected/get_6a5e247b-0961-4b8a-a0d6-35a491d9cfe7.xml @@ -0,0 +1,7 @@ + + + + + Invalid ElementSetName parameter value: undefined-view + + diff --git a/tests/functionaltests/suites/csw30/expected/get_6a9d0558-9d87-495b-b999-b49a3ef1cf99.xml b/tests/functionaltests/suites/csw30/expected/get_6a9d0558-9d87-495b-b999-b49a3ef1cf99.xml new file mode 100644 index 000000000..ce9c9355d --- /dev/null +++ b/tests/functionaltests/suites/csw30/expected/get_6a9d0558-9d87-495b-b999-b49a3ef1cf99.xml @@ -0,0 +1,491 @@ + + + + + pycsw Geospatial Catalogue + pycsw is an OGC CSW server implementation written in Python + + catalogue + discovery + theme + + CSW + 2.0.2 + 3.0.0 + None + None + + + pycsw + + + Kralidis, Tom + Senior Systems Scientist + + + +01-416-xxx-xxxx + +01-416-xxx-xxxx + + + TBA + Toronto + Ontario + M9C 3Z9 + Canada + tomkralidis@gmail.com + + + 0800h - 1600h EST + During hours of service. Off on weekends. + + pointOfContact + + + + + + + + + + + + + application/xml + text/xml + + + + + 2.0.2 + 3.0.0 + + + + + All + Filter_Capabilities + OperationsMetadata + ServiceIdentification + ServiceProvider + + + + + + + + + + + + + GetCapabilities.acceptFormats + GetCapabilities.acceptVersions + GetCapabilities.sections + GetRecordById.ElementSetName + GetRecordById.outputFormat + GetRecordById.outputSchema + GetRecords.CONSTRAINTLANGUAGE + GetRecords.ElementSetName + GetRecords.outputFormat + GetRecords.outputSchema + GetRecords.typeNames + + + + + + + + + + + + + CQL_TEXT + FILTER + + + + + brief + full + summary + + + + + application/atom+xml + application/json + application/xml + + + + + http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ + http://www.interlis.ch/INTERLIS2.3 + http://www.opengis.net/cat/csw/3.0 + http://www.opengis.net/cat/csw/csdgm + http://www.w3.org/2005/Atom + + + + + csw:Record + + + + + 10 + + + + + http://localhost/pycsw/csw.py?config=tests/suites/csw30/default.cfg?mode=opensearch&service=CSW&version=3.0.0&request=GetCapabilities + + + + + http://demo.pycsw.org/gisdata/csw + + + + + + + + + + + + + brief + full + summary + + + + + application/atom+xml + application/json + application/xml + + + + + http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ + http://www.interlis.ch/INTERLIS2.3 + http://www.opengis.net/cat/csw/3.0 + http://www.opengis.net/cat/csw/csdgm + http://www.w3.org/2005/Atom + + + + + + + + + + + + + CSW + + + + + 2.0.2 + 3.0.0 + + + + + csw:AnyText + dc:contributor + dc:creator + dc:date + dc:format + dc:identifier + dc:language + dc:publisher + dc:relation + dc:rights + dc:source + dc:subject + dc:title + dc:type + dct:abstract + dct:modified + ows:BoundingBox + + + + + http://demo.pycsw.org/gisdata/csw + + + + + 10 + + + + + SOAP + XML + + + + + allowed + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + http://www.opengis.net/gml + + + + + TRUE + + + + + en + + + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + xs:string + + + xs:string + + + xs:string + + + xs:string + + + xs:string + + + xs:string + + + + diff --git a/tests/functionaltests/suites/csw30/expected/get_6bd790c9-6019-4652-9c91-330a894d6700.xml b/tests/functionaltests/suites/csw30/expected/get_6bd790c9-6019-4652-9c91-330a894d6700.xml new file mode 100644 index 000000000..1430fc363 --- /dev/null +++ b/tests/functionaltests/suites/csw30/expected/get_6bd790c9-6019-4652-9c91-330a894d6700.xml @@ -0,0 +1,16 @@ + + + + + + + urn:uuid:e9330592-0932-474b-be34-c3a3bb67c7db + Fuscé vitae ligulä + http://purl.org/dc/dcmitype/Text + Land titles + text/rtf + Morbi ultriçes, dui suscipit vestibulum prètium, velit ante pretium tortor, egët tincidunt pede odio ac nulla. + 2003-05-09 + + + diff --git a/tests/functionaltests/suites/csw30/expected/get_6e9cba43-5e27-415d-adbd-a92851c2c173.xml b/tests/functionaltests/suites/csw30/expected/get_6e9cba43-5e27-415d-adbd-a92851c2c173.xml new file mode 100644 index 000000000..ce9c9355d --- /dev/null +++ b/tests/functionaltests/suites/csw30/expected/get_6e9cba43-5e27-415d-adbd-a92851c2c173.xml @@ -0,0 +1,491 @@ + + + + + pycsw Geospatial Catalogue + pycsw is an OGC CSW server implementation written in Python + + catalogue + discovery + theme + + CSW + 2.0.2 + 3.0.0 + None + None + + + pycsw + + + Kralidis, Tom + Senior Systems Scientist + + + +01-416-xxx-xxxx + +01-416-xxx-xxxx + + + TBA + Toronto + Ontario + M9C 3Z9 + Canada + tomkralidis@gmail.com + + + 0800h - 1600h EST + During hours of service. Off on weekends. + + pointOfContact + + + + + + + + + + + + + application/xml + text/xml + + + + + 2.0.2 + 3.0.0 + + + + + All + Filter_Capabilities + OperationsMetadata + ServiceIdentification + ServiceProvider + + + + + + + + + + + + + GetCapabilities.acceptFormats + GetCapabilities.acceptVersions + GetCapabilities.sections + GetRecordById.ElementSetName + GetRecordById.outputFormat + GetRecordById.outputSchema + GetRecords.CONSTRAINTLANGUAGE + GetRecords.ElementSetName + GetRecords.outputFormat + GetRecords.outputSchema + GetRecords.typeNames + + + + + + + + + + + + + CQL_TEXT + FILTER + + + + + brief + full + summary + + + + + application/atom+xml + application/json + application/xml + + + + + http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ + http://www.interlis.ch/INTERLIS2.3 + http://www.opengis.net/cat/csw/3.0 + http://www.opengis.net/cat/csw/csdgm + http://www.w3.org/2005/Atom + + + + + csw:Record + + + + + 10 + + + + + http://localhost/pycsw/csw.py?config=tests/suites/csw30/default.cfg?mode=opensearch&service=CSW&version=3.0.0&request=GetCapabilities + + + + + http://demo.pycsw.org/gisdata/csw + + + + + + + + + + + + + brief + full + summary + + + + + application/atom+xml + application/json + application/xml + + + + + http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ + http://www.interlis.ch/INTERLIS2.3 + http://www.opengis.net/cat/csw/3.0 + http://www.opengis.net/cat/csw/csdgm + http://www.w3.org/2005/Atom + + + + + + + + + + + + + CSW + + + + + 2.0.2 + 3.0.0 + + + + + csw:AnyText + dc:contributor + dc:creator + dc:date + dc:format + dc:identifier + dc:language + dc:publisher + dc:relation + dc:rights + dc:source + dc:subject + dc:title + dc:type + dct:abstract + dct:modified + ows:BoundingBox + + + + + http://demo.pycsw.org/gisdata/csw + + + + + 10 + + + + + SOAP + XML + + + + + allowed + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + http://www.opengis.net/gml + + + + + TRUE + + + + + en + + + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + xs:string + + + xs:string + + + xs:string + + + xs:string + + + xs:string + + + xs:string + + + + diff --git a/tests/functionaltests/suites/csw30/expected/get_7630d230-e142-4a09-accf-f091000b90cd.xml b/tests/functionaltests/suites/csw30/expected/get_7630d230-e142-4a09-accf-f091000b90cd.xml new file mode 100644 index 000000000..9a891dc4d --- /dev/null +++ b/tests/functionaltests/suites/csw30/expected/get_7630d230-e142-4a09-accf-f091000b90cd.xml @@ -0,0 +1,10 @@ + + + + urn:uuid:66ae76b7-54ba-489b-a582-0f0633d96493 + Maecenas enim + http://purl.org/dc/dcmitype/Text + Marine sediments + application/xhtml+xml + Pellentesque tempus magna non sapien fringilla blandit. + diff --git a/tests/functionaltests/suites/csw30/expected/get_7e82446a-b5dc-43fe-9a73-4cc1f2f2f0bf.xml b/tests/functionaltests/suites/csw30/expected/get_7e82446a-b5dc-43fe-9a73-4cc1f2f2f0bf.xml new file mode 100644 index 000000000..ce9c9355d --- /dev/null +++ b/tests/functionaltests/suites/csw30/expected/get_7e82446a-b5dc-43fe-9a73-4cc1f2f2f0bf.xml @@ -0,0 +1,491 @@ + + + + + pycsw Geospatial Catalogue + pycsw is an OGC CSW server implementation written in Python + + catalogue + discovery + theme + + CSW + 2.0.2 + 3.0.0 + None + None + + + pycsw + + + Kralidis, Tom + Senior Systems Scientist + + + +01-416-xxx-xxxx + +01-416-xxx-xxxx + + + TBA + Toronto + Ontario + M9C 3Z9 + Canada + tomkralidis@gmail.com + + + 0800h - 1600h EST + During hours of service. Off on weekends. + + pointOfContact + + + + + + + + + + + + + application/xml + text/xml + + + + + 2.0.2 + 3.0.0 + + + + + All + Filter_Capabilities + OperationsMetadata + ServiceIdentification + ServiceProvider + + + + + + + + + + + + + GetCapabilities.acceptFormats + GetCapabilities.acceptVersions + GetCapabilities.sections + GetRecordById.ElementSetName + GetRecordById.outputFormat + GetRecordById.outputSchema + GetRecords.CONSTRAINTLANGUAGE + GetRecords.ElementSetName + GetRecords.outputFormat + GetRecords.outputSchema + GetRecords.typeNames + + + + + + + + + + + + + CQL_TEXT + FILTER + + + + + brief + full + summary + + + + + application/atom+xml + application/json + application/xml + + + + + http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ + http://www.interlis.ch/INTERLIS2.3 + http://www.opengis.net/cat/csw/3.0 + http://www.opengis.net/cat/csw/csdgm + http://www.w3.org/2005/Atom + + + + + csw:Record + + + + + 10 + + + + + http://localhost/pycsw/csw.py?config=tests/suites/csw30/default.cfg?mode=opensearch&service=CSW&version=3.0.0&request=GetCapabilities + + + + + http://demo.pycsw.org/gisdata/csw + + + + + + + + + + + + + brief + full + summary + + + + + application/atom+xml + application/json + application/xml + + + + + http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ + http://www.interlis.ch/INTERLIS2.3 + http://www.opengis.net/cat/csw/3.0 + http://www.opengis.net/cat/csw/csdgm + http://www.w3.org/2005/Atom + + + + + + + + + + + + + CSW + + + + + 2.0.2 + 3.0.0 + + + + + csw:AnyText + dc:contributor + dc:creator + dc:date + dc:format + dc:identifier + dc:language + dc:publisher + dc:relation + dc:rights + dc:source + dc:subject + dc:title + dc:type + dct:abstract + dct:modified + ows:BoundingBox + + + + + http://demo.pycsw.org/gisdata/csw + + + + + 10 + + + + + SOAP + XML + + + + + allowed + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + http://www.opengis.net/gml + + + + + TRUE + + + + + en + + + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + xs:string + + + xs:string + + + xs:string + + + xs:string + + + xs:string + + + xs:string + + + + diff --git a/tests/functionaltests/suites/csw30/expected/get_8025978e-1a35-4d70-80c2-e8329e0c7864.xml b/tests/functionaltests/suites/csw30/expected/get_8025978e-1a35-4d70-80c2-e8329e0c7864.xml new file mode 100644 index 000000000..ce9c9355d --- /dev/null +++ b/tests/functionaltests/suites/csw30/expected/get_8025978e-1a35-4d70-80c2-e8329e0c7864.xml @@ -0,0 +1,491 @@ + + + + + pycsw Geospatial Catalogue + pycsw is an OGC CSW server implementation written in Python + + catalogue + discovery + theme + + CSW + 2.0.2 + 3.0.0 + None + None + + + pycsw + + + Kralidis, Tom + Senior Systems Scientist + + + +01-416-xxx-xxxx + +01-416-xxx-xxxx + + + TBA + Toronto + Ontario + M9C 3Z9 + Canada + tomkralidis@gmail.com + + + 0800h - 1600h EST + During hours of service. Off on weekends. + + pointOfContact + + + + + + + + + + + + + application/xml + text/xml + + + + + 2.0.2 + 3.0.0 + + + + + All + Filter_Capabilities + OperationsMetadata + ServiceIdentification + ServiceProvider + + + + + + + + + + + + + GetCapabilities.acceptFormats + GetCapabilities.acceptVersions + GetCapabilities.sections + GetRecordById.ElementSetName + GetRecordById.outputFormat + GetRecordById.outputSchema + GetRecords.CONSTRAINTLANGUAGE + GetRecords.ElementSetName + GetRecords.outputFormat + GetRecords.outputSchema + GetRecords.typeNames + + + + + + + + + + + + + CQL_TEXT + FILTER + + + + + brief + full + summary + + + + + application/atom+xml + application/json + application/xml + + + + + http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ + http://www.interlis.ch/INTERLIS2.3 + http://www.opengis.net/cat/csw/3.0 + http://www.opengis.net/cat/csw/csdgm + http://www.w3.org/2005/Atom + + + + + csw:Record + + + + + 10 + + + + + http://localhost/pycsw/csw.py?config=tests/suites/csw30/default.cfg?mode=opensearch&service=CSW&version=3.0.0&request=GetCapabilities + + + + + http://demo.pycsw.org/gisdata/csw + + + + + + + + + + + + + brief + full + summary + + + + + application/atom+xml + application/json + application/xml + + + + + http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ + http://www.interlis.ch/INTERLIS2.3 + http://www.opengis.net/cat/csw/3.0 + http://www.opengis.net/cat/csw/csdgm + http://www.w3.org/2005/Atom + + + + + + + + + + + + + CSW + + + + + 2.0.2 + 3.0.0 + + + + + csw:AnyText + dc:contributor + dc:creator + dc:date + dc:format + dc:identifier + dc:language + dc:publisher + dc:relation + dc:rights + dc:source + dc:subject + dc:title + dc:type + dct:abstract + dct:modified + ows:BoundingBox + + + + + http://demo.pycsw.org/gisdata/csw + + + + + 10 + + + + + SOAP + XML + + + + + allowed + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + http://www.opengis.net/gml + + + + + TRUE + + + + + en + + + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + xs:string + + + xs:string + + + xs:string + + + xs:string + + + xs:string + + + xs:string + + + + diff --git a/tests/functionaltests/suites/csw30/expected/get_8184ae4f-536d-4978-8b28-ad703be96967.xml b/tests/functionaltests/suites/csw30/expected/get_8184ae4f-536d-4978-8b28-ad703be96967.xml new file mode 100644 index 000000000..0965e0534 --- /dev/null +++ b/tests/functionaltests/suites/csw30/expected/get_8184ae4f-536d-4978-8b28-ad703be96967.xml @@ -0,0 +1,34 @@ + + + + + + + urn:uuid:1ef30a8b-876d-4828-9246-c37ab4510bbd + + http://purl.org/dc/dcmitype/Service + + 60.04 13.75 + 68.41 17.92 + + + + urn:uuid:94bc9c83-97f6-4b40-9eb8-a8e8787a5c63 + Mauris sed neque + http://purl.org/dc/dcmitype/Dataset + + 47.59 -4.1 + 51.22 0.89 + + + + urn:uuid:9a669547-b69b-469f-a11f-2d875366bbdc + Ñunç elementum + http://purl.org/dc/dcmitype/Dataset + + 44.79 -6.17 + 51.13 -2.23 + + + + diff --git a/tests/functionaltests/suites/csw30/expected/get_88f63a89-664f-4315-b4f8-04a0b33803a7.xml b/tests/functionaltests/suites/csw30/expected/get_88f63a89-664f-4315-b4f8-04a0b33803a7.xml new file mode 100644 index 000000000..63e215121 --- /dev/null +++ b/tests/functionaltests/suites/csw30/expected/get_88f63a89-664f-4315-b4f8-04a0b33803a7.xml @@ -0,0 +1,18 @@ + + + + + + + urn:uuid:94bc9c83-97f6-4b40-9eb8-a8e8787a5c63 + Mauris sed neque + http://purl.org/dc/dcmitype/Dataset + Vegetation-Cropland + Curabitur lacinia, ante non porta tempus, mi lorem feugiat odio, eget suscipit eros pede ac velit. + + 47.59 -4.1 + 51.22 0.89 + + + + diff --git a/tests/functionaltests/suites/csw30/expected/get_8987f8f0-4d93-4481-968c-a2ccbd6b8be2.xml b/tests/functionaltests/suites/csw30/expected/get_8987f8f0-4d93-4481-968c-a2ccbd6b8be2.xml new file mode 100644 index 000000000..d40a39ab3 --- /dev/null +++ b/tests/functionaltests/suites/csw30/expected/get_8987f8f0-4d93-4481-968c-a2ccbd6b8be2.xml @@ -0,0 +1,7 @@ + + + + + No repository item found for 'urn:example:1461546298217' + + diff --git a/tests/functionaltests/suites/csw30/expected/get_8e5fa0f6-3f29-4d1f-abe2-d9866f3def98.xml b/tests/functionaltests/suites/csw30/expected/get_8e5fa0f6-3f29-4d1f-abe2-d9866f3def98.xml new file mode 100644 index 000000000..6a8e4b02d --- /dev/null +++ b/tests/functionaltests/suites/csw30/expected/get_8e5fa0f6-3f29-4d1f-abe2-d9866f3def98.xml @@ -0,0 +1,58 @@ + + + + http://localhost/pycsw/csw.py?config=tests/suites/csw30/default.cfg + pycsw Geospatial Catalogue + + pycsw + + diff --git a/tests/functionaltests/suites/csw30/expected/get_9000ec29-5649-474e-b2d6-55c00f8a52c0.xml b/tests/functionaltests/suites/csw30/expected/get_9000ec29-5649-474e-b2d6-55c00f8a52c0.xml new file mode 100644 index 000000000..3e5a418e8 --- /dev/null +++ b/tests/functionaltests/suites/csw30/expected/get_9000ec29-5649-474e-b2d6-55c00f8a52c0.xml @@ -0,0 +1,7 @@ + + + + + Invalid parameter value in acceptversions: 9999.12.31. Value MUST be 2.0.2 or 3.0.0 + + diff --git a/tests/functionaltests/suites/csw30/expected/get_91914d35-7bbf-45e6-9b37-5ef484869a4e.xml b/tests/functionaltests/suites/csw30/expected/get_91914d35-7bbf-45e6-9b37-5ef484869a4e.xml new file mode 100644 index 000000000..ef58aa944 --- /dev/null +++ b/tests/functionaltests/suites/csw30/expected/get_91914d35-7bbf-45e6-9b37-5ef484869a4e.xml @@ -0,0 +1,38 @@ + + + + + + + urn:uuid:1ef30a8b-876d-4828-9246-c37ab4510bbd + + http://purl.org/dc/dcmitype/Service + Proin sit amet justo. In justo. Aenean adipiscing nulla id tellus. + + 60.04 13.75 + 68.41 17.92 + + + + urn:uuid:94bc9c83-97f6-4b40-9eb8-a8e8787a5c63 + Mauris sed neque + http://purl.org/dc/dcmitype/Dataset + Vegetation-Cropland + Curabitur lacinia, ante non porta tempus, mi lorem feugiat odio, eget suscipit eros pede ac velit. + + 47.59 -4.1 + 51.22 0.89 + + + + urn:uuid:9a669547-b69b-469f-a11f-2d875366bbdc + Ñunç elementum + http://purl.org/dc/dcmitype/Dataset + Hydrography-Oceanographic + + 44.79 -6.17 + 51.13 -2.23 + + + + diff --git a/tests/functionaltests/suites/csw30/expected/get_92d4844d-57d5-4cf3-8f47-ba50e369dc04.xml b/tests/functionaltests/suites/csw30/expected/get_92d4844d-57d5-4cf3-8f47-ba50e369dc04.xml new file mode 100644 index 000000000..d91c31b05 --- /dev/null +++ b/tests/functionaltests/suites/csw30/expected/get_92d4844d-57d5-4cf3-8f47-ba50e369dc04.xml @@ -0,0 +1,6 @@ + + + + + + diff --git a/tests/functionaltests/suites/csw30/expected/get_9c0e2a4b-b4e6-41c0-b630-c8c99fc89ff3.xml b/tests/functionaltests/suites/csw30/expected/get_9c0e2a4b-b4e6-41c0-b630-c8c99fc89ff3.xml new file mode 100644 index 000000000..e01594260 --- /dev/null +++ b/tests/functionaltests/suites/csw30/expected/get_9c0e2a4b-b4e6-41c0-b630-c8c99fc89ff3.xml @@ -0,0 +1,7 @@ + + + + + Invalid outputSchema parameter value: urn:uuid:6a29d2a8-9651-47a6-9b14-f05d2b5644f0 + + diff --git a/tests/functionaltests/suites/csw30/expected/get_9d7ffac8-9798-428d-8e27-3cd12497ee6b.xml b/tests/functionaltests/suites/csw30/expected/get_9d7ffac8-9798-428d-8e27-3cd12497ee6b.xml new file mode 100644 index 000000000..e57613754 --- /dev/null +++ b/tests/functionaltests/suites/csw30/expected/get_9d7ffac8-9798-428d-8e27-3cd12497ee6b.xml @@ -0,0 +1,7 @@ + + + + + Invalid outputschema parameter http://www.example.org/ns/alpha + + diff --git a/tests/functionaltests/suites/csw30/expected/get_Exception-GetDomain-value-reference.xml b/tests/functionaltests/suites/csw30/expected/get_Exception-GetDomain-value-reference.xml new file mode 100644 index 000000000..3c1621b02 --- /dev/null +++ b/tests/functionaltests/suites/csw30/expected/get_Exception-GetDomain-value-reference.xml @@ -0,0 +1,7 @@ + + + + + dc:title2 + + diff --git a/tests/functionaltests/suites/csw30/expected/get_Exception-GetDomain.xml b/tests/functionaltests/suites/csw30/expected/get_Exception-GetDomain.xml new file mode 100644 index 000000000..ead68239e --- /dev/null +++ b/tests/functionaltests/suites/csw30/expected/get_Exception-GetDomain.xml @@ -0,0 +1,7 @@ + + + + + Missing value. One of valuereference or parametername must be specified + + diff --git a/tests/functionaltests/suites/csw30/expected/get_Exception-GetRecordById-404.xml b/tests/functionaltests/suites/csw30/expected/get_Exception-GetRecordById-404.xml new file mode 100644 index 000000000..bd41e1dfd --- /dev/null +++ b/tests/functionaltests/suites/csw30/expected/get_Exception-GetRecordById-404.xml @@ -0,0 +1,7 @@ + + + + + No repository item found for 'does_not_exist2' + + diff --git a/tests/functionaltests/suites/csw30/expected/get_Exception-GetRecordById-dc.xml.xml b/tests/functionaltests/suites/csw30/expected/get_Exception-GetRecordById-dc.xml.xml new file mode 100644 index 000000000..536321c2f --- /dev/null +++ b/tests/functionaltests/suites/csw30/expected/get_Exception-GetRecordById-dc.xml.xml @@ -0,0 +1,9 @@ + + + + urn:uuid:829babb0-b2f1-49e1-8cd5-7b489fe71a1e + Vestibulum massa purus + http://purl.org/dc/dcmitype/Image + image/jp2 + urn:uuid:9a669547-b69b-469f-a11f-2d875366bbdc + diff --git a/tests/functionaltests/suites/csw30/expected/get_Exception-GetRepositoryItem-notfound.xml b/tests/functionaltests/suites/csw30/expected/get_Exception-GetRepositoryItem-notfound.xml new file mode 100644 index 000000000..04c7e9c7d --- /dev/null +++ b/tests/functionaltests/suites/csw30/expected/get_Exception-GetRepositoryItem-notfound.xml @@ -0,0 +1,7 @@ + + + + + No repository item found for 'NOTFOUND' + + diff --git a/tests/functionaltests/suites/csw30/expected/get_Exception-invalid-request.xml b/tests/functionaltests/suites/csw30/expected/get_Exception-invalid-request.xml new file mode 100644 index 000000000..4cd3418d0 --- /dev/null +++ b/tests/functionaltests/suites/csw30/expected/get_Exception-invalid-request.xml @@ -0,0 +1,7 @@ + + + + + Invalid value for request: GetCapabilities-foo + + diff --git a/tests/functionaltests/suites/csw30/expected/get_GetCapabilities-base-url.xml b/tests/functionaltests/suites/csw30/expected/get_GetCapabilities-base-url.xml new file mode 100644 index 000000000..ce9c9355d --- /dev/null +++ b/tests/functionaltests/suites/csw30/expected/get_GetCapabilities-base-url.xml @@ -0,0 +1,491 @@ + + + + + pycsw Geospatial Catalogue + pycsw is an OGC CSW server implementation written in Python + + catalogue + discovery + theme + + CSW + 2.0.2 + 3.0.0 + None + None + + + pycsw + + + Kralidis, Tom + Senior Systems Scientist + + + +01-416-xxx-xxxx + +01-416-xxx-xxxx + + + TBA + Toronto + Ontario + M9C 3Z9 + Canada + tomkralidis@gmail.com + + + 0800h - 1600h EST + During hours of service. Off on weekends. + + pointOfContact + + + + + + + + + + + + + application/xml + text/xml + + + + + 2.0.2 + 3.0.0 + + + + + All + Filter_Capabilities + OperationsMetadata + ServiceIdentification + ServiceProvider + + + + + + + + + + + + + GetCapabilities.acceptFormats + GetCapabilities.acceptVersions + GetCapabilities.sections + GetRecordById.ElementSetName + GetRecordById.outputFormat + GetRecordById.outputSchema + GetRecords.CONSTRAINTLANGUAGE + GetRecords.ElementSetName + GetRecords.outputFormat + GetRecords.outputSchema + GetRecords.typeNames + + + + + + + + + + + + + CQL_TEXT + FILTER + + + + + brief + full + summary + + + + + application/atom+xml + application/json + application/xml + + + + + http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ + http://www.interlis.ch/INTERLIS2.3 + http://www.opengis.net/cat/csw/3.0 + http://www.opengis.net/cat/csw/csdgm + http://www.w3.org/2005/Atom + + + + + csw:Record + + + + + 10 + + + + + http://localhost/pycsw/csw.py?config=tests/suites/csw30/default.cfg?mode=opensearch&service=CSW&version=3.0.0&request=GetCapabilities + + + + + http://demo.pycsw.org/gisdata/csw + + + + + + + + + + + + + brief + full + summary + + + + + application/atom+xml + application/json + application/xml + + + + + http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ + http://www.interlis.ch/INTERLIS2.3 + http://www.opengis.net/cat/csw/3.0 + http://www.opengis.net/cat/csw/csdgm + http://www.w3.org/2005/Atom + + + + + + + + + + + + + CSW + + + + + 2.0.2 + 3.0.0 + + + + + csw:AnyText + dc:contributor + dc:creator + dc:date + dc:format + dc:identifier + dc:language + dc:publisher + dc:relation + dc:rights + dc:source + dc:subject + dc:title + dc:type + dct:abstract + dct:modified + ows:BoundingBox + + + + + http://demo.pycsw.org/gisdata/csw + + + + + 10 + + + + + SOAP + XML + + + + + allowed + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + http://www.opengis.net/gml + + + + + TRUE + + + + + en + + + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + xs:string + + + xs:string + + + xs:string + + + xs:string + + + xs:string + + + xs:string + + + + diff --git a/tests/functionaltests/suites/csw30/expected/get_GetCapabilities-no-version.xml b/tests/functionaltests/suites/csw30/expected/get_GetCapabilities-no-version.xml new file mode 100644 index 000000000..ce9c9355d --- /dev/null +++ b/tests/functionaltests/suites/csw30/expected/get_GetCapabilities-no-version.xml @@ -0,0 +1,491 @@ + + + + + pycsw Geospatial Catalogue + pycsw is an OGC CSW server implementation written in Python + + catalogue + discovery + theme + + CSW + 2.0.2 + 3.0.0 + None + None + + + pycsw + + + Kralidis, Tom + Senior Systems Scientist + + + +01-416-xxx-xxxx + +01-416-xxx-xxxx + + + TBA + Toronto + Ontario + M9C 3Z9 + Canada + tomkralidis@gmail.com + + + 0800h - 1600h EST + During hours of service. Off on weekends. + + pointOfContact + + + + + + + + + + + + + application/xml + text/xml + + + + + 2.0.2 + 3.0.0 + + + + + All + Filter_Capabilities + OperationsMetadata + ServiceIdentification + ServiceProvider + + + + + + + + + + + + + GetCapabilities.acceptFormats + GetCapabilities.acceptVersions + GetCapabilities.sections + GetRecordById.ElementSetName + GetRecordById.outputFormat + GetRecordById.outputSchema + GetRecords.CONSTRAINTLANGUAGE + GetRecords.ElementSetName + GetRecords.outputFormat + GetRecords.outputSchema + GetRecords.typeNames + + + + + + + + + + + + + CQL_TEXT + FILTER + + + + + brief + full + summary + + + + + application/atom+xml + application/json + application/xml + + + + + http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ + http://www.interlis.ch/INTERLIS2.3 + http://www.opengis.net/cat/csw/3.0 + http://www.opengis.net/cat/csw/csdgm + http://www.w3.org/2005/Atom + + + + + csw:Record + + + + + 10 + + + + + http://localhost/pycsw/csw.py?config=tests/suites/csw30/default.cfg?mode=opensearch&service=CSW&version=3.0.0&request=GetCapabilities + + + + + http://demo.pycsw.org/gisdata/csw + + + + + + + + + + + + + brief + full + summary + + + + + application/atom+xml + application/json + application/xml + + + + + http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ + http://www.interlis.ch/INTERLIS2.3 + http://www.opengis.net/cat/csw/3.0 + http://www.opengis.net/cat/csw/csdgm + http://www.w3.org/2005/Atom + + + + + + + + + + + + + CSW + + + + + 2.0.2 + 3.0.0 + + + + + csw:AnyText + dc:contributor + dc:creator + dc:date + dc:format + dc:identifier + dc:language + dc:publisher + dc:relation + dc:rights + dc:source + dc:subject + dc:title + dc:type + dct:abstract + dct:modified + ows:BoundingBox + + + + + http://demo.pycsw.org/gisdata/csw + + + + + 10 + + + + + SOAP + XML + + + + + allowed + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + http://www.opengis.net/gml + + + + + TRUE + + + + + en + + + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + xs:string + + + xs:string + + + xs:string + + + xs:string + + + xs:string + + + xs:string + + + + diff --git a/tests/functionaltests/suites/csw30/expected/get_GetCapabilities.xml b/tests/functionaltests/suites/csw30/expected/get_GetCapabilities.xml new file mode 100644 index 000000000..ce9c9355d --- /dev/null +++ b/tests/functionaltests/suites/csw30/expected/get_GetCapabilities.xml @@ -0,0 +1,491 @@ + + + + + pycsw Geospatial Catalogue + pycsw is an OGC CSW server implementation written in Python + + catalogue + discovery + theme + + CSW + 2.0.2 + 3.0.0 + None + None + + + pycsw + + + Kralidis, Tom + Senior Systems Scientist + + + +01-416-xxx-xxxx + +01-416-xxx-xxxx + + + TBA + Toronto + Ontario + M9C 3Z9 + Canada + tomkralidis@gmail.com + + + 0800h - 1600h EST + During hours of service. Off on weekends. + + pointOfContact + + + + + + + + + + + + + application/xml + text/xml + + + + + 2.0.2 + 3.0.0 + + + + + All + Filter_Capabilities + OperationsMetadata + ServiceIdentification + ServiceProvider + + + + + + + + + + + + + GetCapabilities.acceptFormats + GetCapabilities.acceptVersions + GetCapabilities.sections + GetRecordById.ElementSetName + GetRecordById.outputFormat + GetRecordById.outputSchema + GetRecords.CONSTRAINTLANGUAGE + GetRecords.ElementSetName + GetRecords.outputFormat + GetRecords.outputSchema + GetRecords.typeNames + + + + + + + + + + + + + CQL_TEXT + FILTER + + + + + brief + full + summary + + + + + application/atom+xml + application/json + application/xml + + + + + http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ + http://www.interlis.ch/INTERLIS2.3 + http://www.opengis.net/cat/csw/3.0 + http://www.opengis.net/cat/csw/csdgm + http://www.w3.org/2005/Atom + + + + + csw:Record + + + + + 10 + + + + + http://localhost/pycsw/csw.py?config=tests/suites/csw30/default.cfg?mode=opensearch&service=CSW&version=3.0.0&request=GetCapabilities + + + + + http://demo.pycsw.org/gisdata/csw + + + + + + + + + + + + + brief + full + summary + + + + + application/atom+xml + application/json + application/xml + + + + + http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ + http://www.interlis.ch/INTERLIS2.3 + http://www.opengis.net/cat/csw/3.0 + http://www.opengis.net/cat/csw/csdgm + http://www.w3.org/2005/Atom + + + + + + + + + + + + + CSW + + + + + 2.0.2 + 3.0.0 + + + + + csw:AnyText + dc:contributor + dc:creator + dc:date + dc:format + dc:identifier + dc:language + dc:publisher + dc:relation + dc:rights + dc:source + dc:subject + dc:title + dc:type + dct:abstract + dct:modified + ows:BoundingBox + + + + + http://demo.pycsw.org/gisdata/csw + + + + + 10 + + + + + SOAP + XML + + + + + allowed + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + http://www.opengis.net/gml + + + + + TRUE + + + + + en + + + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + xs:string + + + xs:string + + + xs:string + + + xs:string + + + xs:string + + + xs:string + + + + diff --git a/tests/functionaltests/suites/csw30/expected/get_GetDomain-parameter.xml b/tests/functionaltests/suites/csw30/expected/get_GetDomain-parameter.xml new file mode 100644 index 000000000..6b8227f71 --- /dev/null +++ b/tests/functionaltests/suites/csw30/expected/get_GetDomain-parameter.xml @@ -0,0 +1,12 @@ + + + + + GetRecords.ElementSetName + + brief + full + summary + + + diff --git a/tests/functionaltests/suites/csw30/expected/get_GetDomain-value-reference.xml b/tests/functionaltests/suites/csw30/expected/get_GetDomain-value-reference.xml new file mode 100644 index 000000000..3775ee212 --- /dev/null +++ b/tests/functionaltests/suites/csw30/expected/get_GetDomain-value-reference.xml @@ -0,0 +1,18 @@ + + + + + dc:title + + Aliquam fermentum purus quis arcu + Fuscé vitae ligulä + Lorem ipsum + Lorem ipsum dolor sit amet + Maecenas enim + Mauris sed neque + Ut facilisis justo ut lacus + Vestibulum massa purus + Ñunç elementum + + + diff --git a/tests/functionaltests/suites/csw30/expected/get_GetRepositoryItem.xml b/tests/functionaltests/suites/csw30/expected/get_GetRepositoryItem.xml new file mode 100644 index 000000000..862e439da --- /dev/null +++ b/tests/functionaltests/suites/csw30/expected/get_GetRepositoryItem.xml @@ -0,0 +1,11 @@ + + + + urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f + http://purl.org/dc/dcmitype/Image + image/svg+xml + Lorem ipsum + GR-22 + Tourism--Greece + Quisque lacus diam, placerat mollis, pharetra in, commodo sed, augue. Duis iaculis arcu vel arcu. + diff --git a/tests/functionaltests/suites/csw30/expected/get_OpenSearch-description.xml b/tests/functionaltests/suites/csw30/expected/get_OpenSearch-description.xml new file mode 100644 index 000000000..60ffc8d10 --- /dev/null +++ b/tests/functionaltests/suites/csw30/expected/get_OpenSearch-description.xml @@ -0,0 +1,15 @@ + + + + pycsw Geospatial + pycsw Geospatial Catalogue + pycsw is an OGC CSW server implementation written in Python + catalogue discovery + + + http://pycsw.org/img/favicon.ico + + Kralidis, Tom + tomkralidis@gmail.com + pycsw + diff --git a/tests/functionaltests/suites/csw30/expected/get_a2f18643-e24e-4fa5-b780-6de4a2dbc814.xml b/tests/functionaltests/suites/csw30/expected/get_a2f18643-e24e-4fa5-b780-6de4a2dbc814.xml new file mode 100644 index 000000000..96afaaf6f --- /dev/null +++ b/tests/functionaltests/suites/csw30/expected/get_a2f18643-e24e-4fa5-b780-6de4a2dbc814.xml @@ -0,0 +1,9 @@ + + + + urn:uuid:829babb0-b2f1-49e1-8cd5-7b489fe71a1e + urn:uuid:829babb0-b2f1-49e1-8cd5-7b489fe71a1e + + Vestibulum massa purus + PYCSW_TIMESTAMP + diff --git a/tests/functionaltests/suites/csw30/expected/get_abc90c8c-5868-4405-a73e-64c849be3b2a.xml b/tests/functionaltests/suites/csw30/expected/get_abc90c8c-5868-4405-a73e-64c849be3b2a.xml new file mode 100644 index 000000000..f0c8bac70 --- /dev/null +++ b/tests/functionaltests/suites/csw30/expected/get_abc90c8c-5868-4405-a73e-64c849be3b2a.xml @@ -0,0 +1,7 @@ + + + + + 4326 coordinates out of range: ['514432', '5429689', '529130', '5451619'] + + diff --git a/tests/functionaltests/suites/csw30/expected/get_ad0c0571-09ed-436a-9a4f-a5de744c88fe.xml b/tests/functionaltests/suites/csw30/expected/get_ad0c0571-09ed-436a-9a4f-a5de744c88fe.xml new file mode 100644 index 000000000..fb39b0b33 --- /dev/null +++ b/tests/functionaltests/suites/csw30/expected/get_ad0c0571-09ed-436a-9a4f-a5de744c88fe.xml @@ -0,0 +1,22 @@ + + + + + + + urn:uuid:66ae76b7-54ba-489b-a582-0f0633d96493 + Maecenas enim + http://purl.org/dc/dcmitype/Text + Marine sediments + application/xhtml+xml + Pellentesque tempus magna non sapien fringilla blandit. + + + urn:uuid:6a3de50b-fa66-4b58-a0e6-ca146fdd18d4 + Ut facilisis justo ut lacus + http://purl.org/dc/dcmitype/Service + Vegetation + urn:uuid:94bc9c83-97f6-4b40-9eb8-a8e8787a5c63 + + + diff --git a/tests/functionaltests/suites/csw30/expected/get_af502903-f4ee-47ee-b76e-af878d238bcc.xml b/tests/functionaltests/suites/csw30/expected/get_af502903-f4ee-47ee-b76e-af878d238bcc.xml new file mode 100644 index 000000000..73b0f786a --- /dev/null +++ b/tests/functionaltests/suites/csw30/expected/get_af502903-f4ee-47ee-b76e-af878d238bcc.xml @@ -0,0 +1,40 @@ + + + + + + + urn:uuid:1ef30a8b-876d-4828-9246-c37ab4510bbd + + http://purl.org/dc/dcmitype/Service + Proin sit amet justo. In justo. Aenean adipiscing nulla id tellus. + + 60.04 13.75 + 68.41 17.92 + + + + urn:uuid:94bc9c83-97f6-4b40-9eb8-a8e8787a5c63 + Mauris sed neque + http://purl.org/dc/dcmitype/Dataset + Vegetation-Cropland + Curabitur lacinia, ante non porta tempus, mi lorem feugiat odio, eget suscipit eros pede ac velit. + 2006-03-26 + + 47.59 -4.1 + 51.22 0.89 + + + + urn:uuid:9a669547-b69b-469f-a11f-2d875366bbdc + Ñunç elementum + http://purl.org/dc/dcmitype/Dataset + Hydrography-Oceanographic + 2005-10-24 + + 44.79 -6.17 + 51.13 -2.23 + + + + diff --git a/tests/functionaltests/suites/csw30/expected/get_b2aafc3f-4f35-47bc-affd-08590972deae.xml b/tests/functionaltests/suites/csw30/expected/get_b2aafc3f-4f35-47bc-affd-08590972deae.xml new file mode 100644 index 000000000..6a8e4b02d --- /dev/null +++ b/tests/functionaltests/suites/csw30/expected/get_b2aafc3f-4f35-47bc-affd-08590972deae.xml @@ -0,0 +1,58 @@ + + + + http://localhost/pycsw/csw.py?config=tests/suites/csw30/default.cfg + pycsw Geospatial Catalogue + + pycsw + + diff --git a/tests/functionaltests/suites/csw30/expected/get_b6069623-f7d8-4021-8582-98f0aea0f763.xml b/tests/functionaltests/suites/csw30/expected/get_b6069623-f7d8-4021-8582-98f0aea0f763.xml new file mode 100644 index 000000000..0ed0b0644 --- /dev/null +++ b/tests/functionaltests/suites/csw30/expected/get_b6069623-f7d8-4021-8582-98f0aea0f763.xml @@ -0,0 +1,48 @@ + + + + http://localhost/pycsw/csw.py?config=tests/suites/csw30/default.cfg + pycsw Geospatial Catalogue + + pycsw + + diff --git a/tests/functionaltests/suites/csw30/expected/get_b9a07a54-75a8-45bd-b341-2823600211e3.xml b/tests/functionaltests/suites/csw30/expected/get_b9a07a54-75a8-45bd-b341-2823600211e3.xml new file mode 100644 index 000000000..93cf54af2 --- /dev/null +++ b/tests/functionaltests/suites/csw30/expected/get_b9a07a54-75a8-45bd-b341-2823600211e3.xml @@ -0,0 +1,8 @@ + + + + + Invalid Filter query: Exception: document not valid. +Error: Reprojection error: Invalid srsName "urn:ogc:def:crs:EPSG::0000": Invalid source projection. + + diff --git a/tests/functionaltests/suites/csw30/expected/get_baa4a7d0-0c01-42b6-adc3-0d03e9949fa3.xml b/tests/functionaltests/suites/csw30/expected/get_baa4a7d0-0c01-42b6-adc3-0d03e9949fa3.xml new file mode 100644 index 000000000..4953497e2 --- /dev/null +++ b/tests/functionaltests/suites/csw30/expected/get_baa4a7d0-0c01-42b6-adc3-0d03e9949fa3.xml @@ -0,0 +1,7 @@ + + + + + Invalid value for request: getCapabilities + + diff --git a/tests/functionaltests/suites/csw30/expected/get_bfbe6409-f64a-4c89-acb3-50f260a5c743.xml b/tests/functionaltests/suites/csw30/expected/get_bfbe6409-f64a-4c89-acb3-50f260a5c743.xml new file mode 100644 index 000000000..c6809c5c5 --- /dev/null +++ b/tests/functionaltests/suites/csw30/expected/get_bfbe6409-f64a-4c89-acb3-50f260a5c743.xml @@ -0,0 +1,15 @@ + + + + + + + urn:uuid:e9330592-0932-474b-be34-c3a3bb67c7db + Fuscé vitae ligulä + http://purl.org/dc/dcmitype/Text + Land titles + text/rtf + Morbi ultriçes, dui suscipit vestibulum prètium, velit ante pretium tortor, egët tincidunt pede odio ac nulla. + + + diff --git a/tests/functionaltests/suites/csw30/expected/get_bfe20134-d1da-42ef-9c0f-8e1307bbf92b.xml b/tests/functionaltests/suites/csw30/expected/get_bfe20134-d1da-42ef-9c0f-8e1307bbf92b.xml new file mode 100644 index 000000000..4dd660139 --- /dev/null +++ b/tests/functionaltests/suites/csw30/expected/get_bfe20134-d1da-42ef-9c0f-8e1307bbf92b.xml @@ -0,0 +1,38 @@ + + + + + + + urn:uuid:66ae76b7-54ba-489b-a582-0f0633d96493 + Maecenas enim + http://purl.org/dc/dcmitype/Text + Marine sediments + application/xhtml+xml + Pellentesque tempus magna non sapien fringilla blandit. + + + urn:uuid:6a3de50b-fa66-4b58-a0e6-ca146fdd18d4 + Ut facilisis justo ut lacus + http://purl.org/dc/dcmitype/Service + Vegetation + urn:uuid:94bc9c83-97f6-4b40-9eb8-a8e8787a5c63 + + + urn:uuid:784e2afd-a9fd-44a6-9a92-a3848371c8ec + Aliquam fermentum purus quis arcu + http://purl.org/dc/dcmitype/Text + Hydrography--Dictionaries + application/pdf + Vestibulum quis ipsum sit amet metus imperdiet vehicula. Nulla scelerisque cursus mi. + 2006-05-12 + + + urn:uuid:829babb0-b2f1-49e1-8cd5-7b489fe71a1e + Vestibulum massa purus + http://purl.org/dc/dcmitype/Image + image/jp2 + urn:uuid:9a669547-b69b-469f-a11f-2d875366bbdc + + + diff --git a/tests/functionaltests/suites/csw30/expected/get_c03d173a-3f42-4956-89c8-1fe02c3a0873.xml b/tests/functionaltests/suites/csw30/expected/get_c03d173a-3f42-4956-89c8-1fe02c3a0873.xml new file mode 100644 index 000000000..ce9c9355d --- /dev/null +++ b/tests/functionaltests/suites/csw30/expected/get_c03d173a-3f42-4956-89c8-1fe02c3a0873.xml @@ -0,0 +1,491 @@ + + + + + pycsw Geospatial Catalogue + pycsw is an OGC CSW server implementation written in Python + + catalogue + discovery + theme + + CSW + 2.0.2 + 3.0.0 + None + None + + + pycsw + + + Kralidis, Tom + Senior Systems Scientist + + + +01-416-xxx-xxxx + +01-416-xxx-xxxx + + + TBA + Toronto + Ontario + M9C 3Z9 + Canada + tomkralidis@gmail.com + + + 0800h - 1600h EST + During hours of service. Off on weekends. + + pointOfContact + + + + + + + + + + + + + application/xml + text/xml + + + + + 2.0.2 + 3.0.0 + + + + + All + Filter_Capabilities + OperationsMetadata + ServiceIdentification + ServiceProvider + + + + + + + + + + + + + GetCapabilities.acceptFormats + GetCapabilities.acceptVersions + GetCapabilities.sections + GetRecordById.ElementSetName + GetRecordById.outputFormat + GetRecordById.outputSchema + GetRecords.CONSTRAINTLANGUAGE + GetRecords.ElementSetName + GetRecords.outputFormat + GetRecords.outputSchema + GetRecords.typeNames + + + + + + + + + + + + + CQL_TEXT + FILTER + + + + + brief + full + summary + + + + + application/atom+xml + application/json + application/xml + + + + + http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ + http://www.interlis.ch/INTERLIS2.3 + http://www.opengis.net/cat/csw/3.0 + http://www.opengis.net/cat/csw/csdgm + http://www.w3.org/2005/Atom + + + + + csw:Record + + + + + 10 + + + + + http://localhost/pycsw/csw.py?config=tests/suites/csw30/default.cfg?mode=opensearch&service=CSW&version=3.0.0&request=GetCapabilities + + + + + http://demo.pycsw.org/gisdata/csw + + + + + + + + + + + + + brief + full + summary + + + + + application/atom+xml + application/json + application/xml + + + + + http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ + http://www.interlis.ch/INTERLIS2.3 + http://www.opengis.net/cat/csw/3.0 + http://www.opengis.net/cat/csw/csdgm + http://www.w3.org/2005/Atom + + + + + + + + + + + + + CSW + + + + + 2.0.2 + 3.0.0 + + + + + csw:AnyText + dc:contributor + dc:creator + dc:date + dc:format + dc:identifier + dc:language + dc:publisher + dc:relation + dc:rights + dc:source + dc:subject + dc:title + dc:type + dct:abstract + dct:modified + ows:BoundingBox + + + + + http://demo.pycsw.org/gisdata/csw + + + + + 10 + + + + + SOAP + XML + + + + + allowed + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + http://www.opengis.net/gml + + + + + TRUE + + + + + en + + + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + xs:string + + + xs:string + + + xs:string + + + xs:string + + + xs:string + + + xs:string + + + + diff --git a/tests/functionaltests/suites/csw30/expected/get_cb43d8c3-e14c-4a9f-9231-4384b7dd21f3.xml b/tests/functionaltests/suites/csw30/expected/get_cb43d8c3-e14c-4a9f-9231-4384b7dd21f3.xml new file mode 100644 index 000000000..8affab58f --- /dev/null +++ b/tests/functionaltests/suites/csw30/expected/get_cb43d8c3-e14c-4a9f-9231-4384b7dd21f3.xml @@ -0,0 +1,7 @@ + + + + + Invalid ElementName parameter value: u + + diff --git a/tests/functionaltests/suites/csw30/expected/get_d03c6fd3-e821-4a26-b62f-d20a474e25af.xml b/tests/functionaltests/suites/csw30/expected/get_d03c6fd3-e821-4a26-b62f-d20a474e25af.xml new file mode 100644 index 000000000..770e62fe8 --- /dev/null +++ b/tests/functionaltests/suites/csw30/expected/get_d03c6fd3-e821-4a26-b62f-d20a474e25af.xml @@ -0,0 +1,30 @@ + + + + + pycsw + + + Kralidis, Tom + Senior Systems Scientist + + + +01-416-xxx-xxxx + +01-416-xxx-xxxx + + + TBA + Toronto + Ontario + M9C 3Z9 + Canada + tomkralidis@gmail.com + + + 0800h - 1600h EST + During hours of service. Off on weekends. + + pointOfContact + + + diff --git a/tests/functionaltests/suites/csw30/expected/get_d4ccbf96-a529-480e-a53d-5b88dc1dea7f.xml b/tests/functionaltests/suites/csw30/expected/get_d4ccbf96-a529-480e-a53d-5b88dc1dea7f.xml new file mode 100644 index 000000000..faf07a500 --- /dev/null +++ b/tests/functionaltests/suites/csw30/expected/get_d4ccbf96-a529-480e-a53d-5b88dc1dea7f.xml @@ -0,0 +1,7 @@ + + + + + No records found for 'uid-bc5017e6-5cc8-4b03-aee7-d88f88caba0a' + + diff --git a/tests/functionaltests/suites/csw30/expected/get_d94c801a-1207-4897-b84a-53f3a192515b.xml b/tests/functionaltests/suites/csw30/expected/get_d94c801a-1207-4897-b84a-53f3a192515b.xml new file mode 100644 index 000000000..d91c31b05 --- /dev/null +++ b/tests/functionaltests/suites/csw30/expected/get_d94c801a-1207-4897-b84a-53f3a192515b.xml @@ -0,0 +1,6 @@ + + + + + + diff --git a/tests/functionaltests/suites/csw30/expected/get_da859e34-91fc-495a-8c09-285a40c0900b.xml b/tests/functionaltests/suites/csw30/expected/get_da859e34-91fc-495a-8c09-285a40c0900b.xml new file mode 100644 index 000000000..d85e801e6 --- /dev/null +++ b/tests/functionaltests/suites/csw30/expected/get_da859e34-91fc-495a-8c09-285a40c0900b.xml @@ -0,0 +1,14 @@ + + + + urn:uuid:94bc9c83-97f6-4b40-9eb8-a8e8787a5c63 + Mauris sed neque + http://purl.org/dc/dcmitype/Dataset + Vegetation-Cropland + Curabitur lacinia, ante non porta tempus, mi lorem feugiat odio, eget suscipit eros pede ac velit. + 2006-03-26 + + 47.59 -4.1 + 51.22 0.89 + + diff --git a/tests/functionaltests/suites/csw30/expected/get_dc246fb8-5af5-4fda-82bb-c18b3ecd439c.xml b/tests/functionaltests/suites/csw30/expected/get_dc246fb8-5af5-4fda-82bb-c18b3ecd439c.xml new file mode 100644 index 000000000..530b79be6 --- /dev/null +++ b/tests/functionaltests/suites/csw30/expected/get_dc246fb8-5af5-4fda-82bb-c18b3ecd439c.xml @@ -0,0 +1,40 @@ + + + + http://localhost/pycsw/csw.py?config=tests/suites/csw30/default.cfg + pycsw Geospatial Catalogue + + pycsw + + diff --git a/tests/functionaltests/suites/csw30/expected/get_de016645-6d5c-4855-943c-2db07ae9f49a.xml b/tests/functionaltests/suites/csw30/expected/get_de016645-6d5c-4855-943c-2db07ae9f49a.xml new file mode 100644 index 000000000..4cdb06187 --- /dev/null +++ b/tests/functionaltests/suites/csw30/expected/get_de016645-6d5c-4855-943c-2db07ae9f49a.xml @@ -0,0 +1,30 @@ + + + + http://localhost/pycsw/csw.py?config=tests/suites/csw30/default.cfg + pycsw Geospatial Catalogue + + pycsw + + diff --git a/tests/functionaltests/suites/csw30/expected/get_dff3ec6b-bb2d-4887-bd17-8fcf15def042.xml b/tests/functionaltests/suites/csw30/expected/get_dff3ec6b-bb2d-4887-bd17-8fcf15def042.xml new file mode 100644 index 000000000..81409198c --- /dev/null +++ b/tests/functionaltests/suites/csw30/expected/get_dff3ec6b-bb2d-4887-bd17-8fcf15def042.xml @@ -0,0 +1,89 @@ + + + + + + + urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f + Lorem ipsum + http://purl.org/dc/dcmitype/Image + Tourism--Greece + image/svg+xml + Quisque lacus diam, placerat mollis, pharetra in, commodo sed, augue. Duis iaculis arcu vel arcu. + + + urn:uuid:1ef30a8b-876d-4828-9246-c37ab4510bbd + + http://purl.org/dc/dcmitype/Service + Proin sit amet justo. In justo. Aenean adipiscing nulla id tellus. + + 60.04 13.75 + 68.41 17.92 + + + + urn:uuid:66ae76b7-54ba-489b-a582-0f0633d96493 + Maecenas enim + http://purl.org/dc/dcmitype/Text + Marine sediments + application/xhtml+xml + Pellentesque tempus magna non sapien fringilla blandit. + + + urn:uuid:6a3de50b-fa66-4b58-a0e6-ca146fdd18d4 + Ut facilisis justo ut lacus + http://purl.org/dc/dcmitype/Service + Vegetation + urn:uuid:94bc9c83-97f6-4b40-9eb8-a8e8787a5c63 + + + urn:uuid:784e2afd-a9fd-44a6-9a92-a3848371c8ec + Aliquam fermentum purus quis arcu + http://purl.org/dc/dcmitype/Text + Hydrography--Dictionaries + application/pdf + Vestibulum quis ipsum sit amet metus imperdiet vehicula. Nulla scelerisque cursus mi. + + + urn:uuid:829babb0-b2f1-49e1-8cd5-7b489fe71a1e + Vestibulum massa purus + http://purl.org/dc/dcmitype/Image + image/jp2 + urn:uuid:9a669547-b69b-469f-a11f-2d875366bbdc + + + urn:uuid:88247b56-4cbc-4df9-9860-db3f8042e357 + + http://purl.org/dc/dcmitype/Dataset + Physiography-Landforms + Donec scelerisque pede ut nisl luctus accumsan. Quisque ultrices, lorem eget feugiat fringilla, lorem dui porttitor ante, cursus ultrices magna odio eu neque. + + + urn:uuid:94bc9c83-97f6-4b40-9eb8-a8e8787a5c63 + Mauris sed neque + http://purl.org/dc/dcmitype/Dataset + Vegetation-Cropland + Curabitur lacinia, ante non porta tempus, mi lorem feugiat odio, eget suscipit eros pede ac velit. + + 47.59 -4.1 + 51.22 0.89 + + + + urn:uuid:9a669547-b69b-469f-a11f-2d875366bbdc + Ñunç elementum + http://purl.org/dc/dcmitype/Dataset + Hydrography-Oceanographic + + 44.79 -6.17 + 51.13 -2.23 + + + + urn:uuid:a06af396-3105-442d-8b40-22b57a90d2f2 + Lorem ipsum dolor sit amet + http://purl.org/dc/dcmitype/Image + image/jpeg + + + diff --git a/tests/functionaltests/suites/csw30/expected/get_e38e6bfb-8ac4-4ae4-8b87-0aafbc8d3c6b.xml b/tests/functionaltests/suites/csw30/expected/get_e38e6bfb-8ac4-4ae4-8b87-0aafbc8d3c6b.xml new file mode 100644 index 000000000..2a3f20b3b --- /dev/null +++ b/tests/functionaltests/suites/csw30/expected/get_e38e6bfb-8ac4-4ae4-8b87-0aafbc8d3c6b.xml @@ -0,0 +1,11 @@ + + + + urn:uuid:1ef30a8b-876d-4828-9246-c37ab4510bbd + + http://purl.org/dc/dcmitype/Service + + 60.04 13.75 + 68.41 17.92 + + diff --git a/tests/functionaltests/suites/csw30/expected/get_e67ca935-d65d-4d8c-8302-1405333dded0.xml b/tests/functionaltests/suites/csw30/expected/get_e67ca935-d65d-4d8c-8302-1405333dded0.xml new file mode 100644 index 000000000..ce9c9355d --- /dev/null +++ b/tests/functionaltests/suites/csw30/expected/get_e67ca935-d65d-4d8c-8302-1405333dded0.xml @@ -0,0 +1,491 @@ + + + + + pycsw Geospatial Catalogue + pycsw is an OGC CSW server implementation written in Python + + catalogue + discovery + theme + + CSW + 2.0.2 + 3.0.0 + None + None + + + pycsw + + + Kralidis, Tom + Senior Systems Scientist + + + +01-416-xxx-xxxx + +01-416-xxx-xxxx + + + TBA + Toronto + Ontario + M9C 3Z9 + Canada + tomkralidis@gmail.com + + + 0800h - 1600h EST + During hours of service. Off on weekends. + + pointOfContact + + + + + + + + + + + + + application/xml + text/xml + + + + + 2.0.2 + 3.0.0 + + + + + All + Filter_Capabilities + OperationsMetadata + ServiceIdentification + ServiceProvider + + + + + + + + + + + + + GetCapabilities.acceptFormats + GetCapabilities.acceptVersions + GetCapabilities.sections + GetRecordById.ElementSetName + GetRecordById.outputFormat + GetRecordById.outputSchema + GetRecords.CONSTRAINTLANGUAGE + GetRecords.ElementSetName + GetRecords.outputFormat + GetRecords.outputSchema + GetRecords.typeNames + + + + + + + + + + + + + CQL_TEXT + FILTER + + + + + brief + full + summary + + + + + application/atom+xml + application/json + application/xml + + + + + http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ + http://www.interlis.ch/INTERLIS2.3 + http://www.opengis.net/cat/csw/3.0 + http://www.opengis.net/cat/csw/csdgm + http://www.w3.org/2005/Atom + + + + + csw:Record + + + + + 10 + + + + + http://localhost/pycsw/csw.py?config=tests/suites/csw30/default.cfg?mode=opensearch&service=CSW&version=3.0.0&request=GetCapabilities + + + + + http://demo.pycsw.org/gisdata/csw + + + + + + + + + + + + + brief + full + summary + + + + + application/atom+xml + application/json + application/xml + + + + + http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ + http://www.interlis.ch/INTERLIS2.3 + http://www.opengis.net/cat/csw/3.0 + http://www.opengis.net/cat/csw/csdgm + http://www.w3.org/2005/Atom + + + + + + + + + + + + + CSW + + + + + 2.0.2 + 3.0.0 + + + + + csw:AnyText + dc:contributor + dc:creator + dc:date + dc:format + dc:identifier + dc:language + dc:publisher + dc:relation + dc:rights + dc:source + dc:subject + dc:title + dc:type + dct:abstract + dct:modified + ows:BoundingBox + + + + + http://demo.pycsw.org/gisdata/csw + + + + + 10 + + + + + SOAP + XML + + + + + allowed + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + http://www.opengis.net/gml + + + + + TRUE + + + + + en + + + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + xs:string + + + xs:string + + + xs:string + + + xs:string + + + xs:string + + + xs:string + + + + diff --git a/tests/functionaltests/suites/csw30/expected/get_e7704509-3441-458f-8ef0-e333c6b6043f.xml b/tests/functionaltests/suites/csw30/expected/get_e7704509-3441-458f-8ef0-e333c6b6043f.xml new file mode 100644 index 000000000..d1dbd3ab1 --- /dev/null +++ b/tests/functionaltests/suites/csw30/expected/get_e7704509-3441-458f-8ef0-e333c6b6043f.xml @@ -0,0 +1,7 @@ + + + + + Only ONE of ElementSetName or ElementName parameter(s) is permitted + + diff --git a/tests/functionaltests/suites/csw30/expected/get_f1223a49-6d08-44ff-97fe-4c32cbbfad82.xml b/tests/functionaltests/suites/csw30/expected/get_f1223a49-6d08-44ff-97fe-4c32cbbfad82.xml new file mode 100644 index 000000000..6520e5212 --- /dev/null +++ b/tests/functionaltests/suites/csw30/expected/get_f1223a49-6d08-44ff-97fe-4c32cbbfad82.xml @@ -0,0 +1,6 @@ + + + + + + diff --git a/tests/functionaltests/suites/csw30/expected/get_f89dd4e1-3a81-4433-afd2-a3fa1bdb1e18.xml b/tests/functionaltests/suites/csw30/expected/get_f89dd4e1-3a81-4433-afd2-a3fa1bdb1e18.xml new file mode 100644 index 000000000..2b5272833 --- /dev/null +++ b/tests/functionaltests/suites/csw30/expected/get_f89dd4e1-3a81-4433-afd2-a3fa1bdb1e18.xml @@ -0,0 +1,7 @@ + + + + + Invalid outputFormat parameter value: text/example + + diff --git a/tests/functionaltests/suites/csw30/expected/post_Exception-GetDomain-parametername-bad.xml b/tests/functionaltests/suites/csw30/expected/post_Exception-GetDomain-parametername-bad.xml new file mode 100644 index 000000000..759884ffd --- /dev/null +++ b/tests/functionaltests/suites/csw30/expected/post_Exception-GetDomain-parametername-bad.xml @@ -0,0 +1,7 @@ + + + + + GetRecords.outputFormat-something + + diff --git a/tests/functionaltests/suites/csw30/expected/post_Exception-GetDomain-valuereference-bad.xml b/tests/functionaltests/suites/csw30/expected/post_Exception-GetDomain-valuereference-bad.xml new file mode 100644 index 000000000..6aa6d9a40 --- /dev/null +++ b/tests/functionaltests/suites/csw30/expected/post_Exception-GetDomain-valuereference-bad.xml @@ -0,0 +1,7 @@ + + + + + dc:titlena + + diff --git a/tests/functionaltests/suites/csw30/expected/post_Exception-GetRecordById-404.xml b/tests/functionaltests/suites/csw30/expected/post_Exception-GetRecordById-404.xml new file mode 100644 index 000000000..992d6f29c --- /dev/null +++ b/tests/functionaltests/suites/csw30/expected/post_Exception-GetRecordById-404.xml @@ -0,0 +1,7 @@ + + + + + No repository item found for 'does_not_exist' + + diff --git a/tests/functionaltests/suites/csw30/expected/post_Exception-GetRecordById-bad-esn.xml b/tests/functionaltests/suites/csw30/expected/post_Exception-GetRecordById-bad-esn.xml new file mode 100644 index 000000000..3b7e2b9ee --- /dev/null +++ b/tests/functionaltests/suites/csw30/expected/post_Exception-GetRecordById-bad-esn.xml @@ -0,0 +1,7 @@ + + + + + Invalid elementsetname parameter bad + + diff --git a/tests/functionaltests/suites/csw30/expected/post_Exception-bad-xml.xml b/tests/functionaltests/suites/csw30/expected/post_Exception-bad-xml.xml new file mode 100644 index 000000000..76e5b29f7 --- /dev/null +++ b/tests/functionaltests/suites/csw30/expected/post_Exception-bad-xml.xml @@ -0,0 +1,8 @@ + + + + + Exception: document not well-formed. +Error: Opening and ending tag mismatch: GetCapabilities line 2 and GetCapabilities-bad, line 9, column 29. + + diff --git a/tests/functionaltests/suites/csw30/expected/post_Exception-not-xml.xml b/tests/functionaltests/suites/csw30/expected/post_Exception-not-xml.xml new file mode 100644 index 000000000..632a1d8cd --- /dev/null +++ b/tests/functionaltests/suites/csw30/expected/post_Exception-not-xml.xml @@ -0,0 +1,8 @@ + + + + + Exception: document not well-formed. +Error: Start tag expected, '<' not found, line 1, column 1. + + diff --git a/tests/functionaltests/suites/csw30/expected/post_GetCapabilities.xml b/tests/functionaltests/suites/csw30/expected/post_GetCapabilities.xml new file mode 100644 index 000000000..ce9c9355d --- /dev/null +++ b/tests/functionaltests/suites/csw30/expected/post_GetCapabilities.xml @@ -0,0 +1,491 @@ + + + + + pycsw Geospatial Catalogue + pycsw is an OGC CSW server implementation written in Python + + catalogue + discovery + theme + + CSW + 2.0.2 + 3.0.0 + None + None + + + pycsw + + + Kralidis, Tom + Senior Systems Scientist + + + +01-416-xxx-xxxx + +01-416-xxx-xxxx + + + TBA + Toronto + Ontario + M9C 3Z9 + Canada + tomkralidis@gmail.com + + + 0800h - 1600h EST + During hours of service. Off on weekends. + + pointOfContact + + + + + + + + + + + + + application/xml + text/xml + + + + + 2.0.2 + 3.0.0 + + + + + All + Filter_Capabilities + OperationsMetadata + ServiceIdentification + ServiceProvider + + + + + + + + + + + + + GetCapabilities.acceptFormats + GetCapabilities.acceptVersions + GetCapabilities.sections + GetRecordById.ElementSetName + GetRecordById.outputFormat + GetRecordById.outputSchema + GetRecords.CONSTRAINTLANGUAGE + GetRecords.ElementSetName + GetRecords.outputFormat + GetRecords.outputSchema + GetRecords.typeNames + + + + + + + + + + + + + CQL_TEXT + FILTER + + + + + brief + full + summary + + + + + application/atom+xml + application/json + application/xml + + + + + http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ + http://www.interlis.ch/INTERLIS2.3 + http://www.opengis.net/cat/csw/3.0 + http://www.opengis.net/cat/csw/csdgm + http://www.w3.org/2005/Atom + + + + + csw:Record + + + + + 10 + + + + + http://localhost/pycsw/csw.py?config=tests/suites/csw30/default.cfg?mode=opensearch&service=CSW&version=3.0.0&request=GetCapabilities + + + + + http://demo.pycsw.org/gisdata/csw + + + + + + + + + + + + + brief + full + summary + + + + + application/atom+xml + application/json + application/xml + + + + + http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ + http://www.interlis.ch/INTERLIS2.3 + http://www.opengis.net/cat/csw/3.0 + http://www.opengis.net/cat/csw/csdgm + http://www.w3.org/2005/Atom + + + + + + + + + + + + + CSW + + + + + 2.0.2 + 3.0.0 + + + + + csw:AnyText + dc:contributor + dc:creator + dc:date + dc:format + dc:identifier + dc:language + dc:publisher + dc:relation + dc:rights + dc:source + dc:subject + dc:title + dc:type + dct:abstract + dct:modified + ows:BoundingBox + + + + + http://demo.pycsw.org/gisdata/csw + + + + + 10 + + + + + SOAP + XML + + + + + allowed + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + http://www.opengis.net/gml + + + + + TRUE + + + + + en + + + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + xs:string + + + xs:string + + + xs:string + + + xs:string + + + xs:string + + + xs:string + + + + diff --git a/tests/functionaltests/suites/csw30/expected/post_GetDomain-parametername.xml b/tests/functionaltests/suites/csw30/expected/post_GetDomain-parametername.xml new file mode 100644 index 000000000..d9cd1c604 --- /dev/null +++ b/tests/functionaltests/suites/csw30/expected/post_GetDomain-parametername.xml @@ -0,0 +1,12 @@ + + + + + GetRecords.outputFormat + + application/atom+xml + application/json + application/xml + + + diff --git a/tests/functionaltests/suites/csw30/expected/post_GetDomain-valuereference.xml b/tests/functionaltests/suites/csw30/expected/post_GetDomain-valuereference.xml new file mode 100644 index 000000000..3775ee212 --- /dev/null +++ b/tests/functionaltests/suites/csw30/expected/post_GetDomain-valuereference.xml @@ -0,0 +1,18 @@ + + + + + dc:title + + Aliquam fermentum purus quis arcu + Fuscé vitae ligulä + Lorem ipsum + Lorem ipsum dolor sit amet + Maecenas enim + Mauris sed neque + Ut facilisis justo ut lacus + Vestibulum massa purus + Ñunç elementum + + + diff --git a/tests/functionaltests/suites/csw30/expected/post_GetRecordById-dc-full.xml b/tests/functionaltests/suites/csw30/expected/post_GetRecordById-dc-full.xml new file mode 100644 index 000000000..ae4a178b2 --- /dev/null +++ b/tests/functionaltests/suites/csw30/expected/post_GetRecordById-dc-full.xml @@ -0,0 +1,10 @@ + + + + urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f + Lorem ipsum + http://purl.org/dc/dcmitype/Image + Tourism--Greece + image/svg+xml + Quisque lacus diam, placerat mollis, pharetra in, commodo sed, augue. Duis iaculis arcu vel arcu. + diff --git a/tests/functionaltests/suites/csw30/expected/post_GetRecordById-dc.xml b/tests/functionaltests/suites/csw30/expected/post_GetRecordById-dc.xml new file mode 100644 index 000000000..731f3ba9e --- /dev/null +++ b/tests/functionaltests/suites/csw30/expected/post_GetRecordById-dc.xml @@ -0,0 +1,10 @@ + + + + urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f + Lorem ipsum + http://purl.org/dc/dcmitype/Image + Tourism--Greece + image/svg+xml + Quisque lacus diam, placerat mollis, pharetra in, commodo sed, augue. Duis iaculis arcu vel arcu. + diff --git a/tests/functionaltests/suites/csw30/get/requests.txt b/tests/functionaltests/suites/csw30/get/requests.txt new file mode 100644 index 000000000..d93dd98d0 --- /dev/null +++ b/tests/functionaltests/suites/csw30/get/requests.txt @@ -0,0 +1,82 @@ +GetCapabilities-base-url,PYCSW_SERVER?config=tests/suites/csw30/default.cfg +GetCapabilities-no-version,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&service=CSW&request=GetCapabilities +GetCapabilities,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&service=CSW&version=3.0.0&request=GetCapabilities +Exception-invalid-request,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&service=CSW&version=3.0.0&request=GetCapabilities-foo +Exception-GetDomain,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&service=CSW&version=3.0.0&request=GetDomain +GetDomain-parameter,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&service=CSW&version=3.0.0&request=GetDomain¶metername=GetRecords.ElementSetName +GetDomain-value-reference,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&service=CSW&version=3.0.0&request=GetDomain&valuereference=dc:title +Exception-GetDomain-value-reference,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&service=CSW&version=3.0.0&request=GetDomain&valuereference=dc:title2 +Exception-GetRecordById-dc.xml,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&service=CSW&version=3.0.0&request=GetRecordById&id=urn:uuid:829babb0-b2f1-49e1-8cd5-7b489fe71a1e +Exception-GetRecordById-404,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&service=CSW&version=3.0.0&request=GetRecordById&id=does_not_exist2 +OpenSearch-description,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&mode=opensearch&service=CSW&version=3.0.0&request=GetCapabilities +GetRepositoryItem,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&service=CSW&version=3.0.0&request=GetRepositoryItem&id=urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f +Exception-GetRepositoryItem-notfound,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&service=CSW&version=3.0.0&request=GetRepositoryItem&id=NOTFOUND +002258f0-627f-457f-b2ad-025777c77ac8,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&mode=opensearch&service=CSW&version=3.0.0&request=GetCapabilities +045c600d-973d-41eb-9f60-eba1b717b720,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&mode=opensearch&service=CSW&version=3.0.0&request=GetRecords&elementsetname=full&typenames=csw:Record&resulttype=results&q=Fusc%C3%A9%20Land&bbox=&time=/&outputformat=application/atom%2Bxml&startposition=1&maxrecords=&recordids= +0bbcf862-5211-4351-9988-63f8bec49c98,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&elementSetName=summary&outputFormat=application/atom%2Bxml&request=GetRecords&service=CSW&typeNames=Record&version=3.0.0 +0bdf8457-971e-4ed1-be4a-5feca4dcd8fa,PYCSW_SERVER?config=tests/suites/csw30/default.cfg +0d8bbdec-0846-42ca-8dc8-b7f4cba41d67,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&elementName=tns:title&request=GetRecords&service=CSW&typeNames=Record&namespace=xmlns(tns%3Dhttp://purl.org/dc/elements/1.1/)&version=3.0.0 +0e1dca37-477a-4060-99fe-7799b52d656c,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&mode=opensearch&service=CSW&version=3.0.0&request=GetRecords&elementsetname=full&typenames=csw:Record&resulttype=results&q=lpppclq&bbox=&time=/&outputformat=application/atom%2Bxml&startposition=1&maxrecords=&recordids= +13c87956-51a4-4780-a8e9-6e0b5c0bb473,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&elementSetName=full&maxRecords=20&request=GetRecords&service=CSW&typeNames=Record&version=3.0.0 +151d982f-ebd3-4cb2-b507-a667713a1e92,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&acceptFormats=model/x3d%2Bxml&acceptVersions=3.0.0&request=GetCapabilities&service=CSW +1869e495-1a61-4713-8285-76d1336ee1a6,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&acceptVersions=3.0.0&request=GetCapabilities +1bcb42a9-538c-4f0a-9d4c-d6f10b720aa6,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&request=GetRecordById&service=CSW&version=3.0.0 +22f44168-2ccf-4801-ad96-204212566d56,PYCSW_SERVER?config=tests/suites/csw30/default.cfg +2499a9c9-8d33-449c-bc92-d494adfcc84d,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&acceptVersions=3.0.0§ions=All&request=GetCapabilities&service=CSW +27f4f39c-d92a-4e3c-b961-c6aa8c24e513,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&acceptFormats=application/xml&acceptVersions=3.0.0&request=GetCapabilities&service=CSW +28e569df-8596-4128-8d9a-29ad03138915,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&id=urn:uuid:a06af396-3105-442d-8b40-22b57a90d2f2&request=GetRecordById&service=CSW&version=3.0.0 +2b06a5c8-0df2-4af1-8d2e-a425de11c845,PYCSW_SERVER?config=tests/suites/csw30/default.cfg +2ba1418a-444d-4cce-9cfe-4c94efcf8b55,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&maxRecords=2&elementSetName=summary&outputFormat=application/atom%2Bxml&request=GetRecords&service=CSW&typeNames=csw3:Record&startPosition=3&namespace=xmlns(csw3%3Dhttp://www.opengis.net/cat/csw/3.0)&version=3.0.0 +397fe17a-d5b4-4f96-8cc4-4ce467ed4d0a,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&service=CSW&version=3.0.0&request=GetRecords&elementsetname=full&typenames=csw:Record&resulttype=results&q=ipsum&bbox=&time=/&outputformat=application/xml&outputschema=http://www.opengis.net/cat/csw/3.0&startposition=1&maxrecords=&recordids= +3dcd1b15-73d2-4b7d-a3e3-ff15bf14aae4,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&elementSetName=brief&request=GetRecords&service=CSW&typeNames=tns:Record&namespace=xmlns(tns%3Dhttp://www.opengis.net/cat/csw/3.0)&version=3.0.0 +405e1ff1-5c75-4846-a28b-cfaff2a6921a,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&elementSetName=summary&recordIds=urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f,urn:uuid:e9330592-0932-474b-be34-c3a3bb67c7db&request=GetRecords&service=CSW&typeNames=Record&version=3.0.0 +43cd6471-6ac7-45bd-8ff9-148cb2de9a52,PYCSW_SERVER?config=tests/suites/csw30/default.cfg +4566d2ec-1283-4a02-baed-a74fc5b47e37,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&acceptVersions=3.0.0§ions=ServiceIdentification&request=GetCapabilities&service=CSW +461bd4c5-6623-490d-9036-d91a2201e87b,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&acceptVersions=3.0.0§ions=Filter_Capabilities&request=GetCapabilities&service=CSW +5496894a-3877-4f62-a20b-5d7126f94925,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&service=CSW&version=3.0.0&request=GetRecords&elementsetname=full&typenames=csw:Record&resulttype=results&q=&bbox=514432,5429689,529130,5451619&time=/&outputformat=application/xml&outputschema=http://www.opengis.net/cat/csw/3.0&startposition=1&maxrecords=&recordids= +5a015f6a-bf14-4977-b1e3-6577eb0223c8,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&service=CSW&version=3.0.0&request=GetRecords&elementsetname=full&typenames=csw:Record&resulttype=results&q=&bbox=-6.17,44.79,17.92,68.41&time=/&outputformat=application/xml&outputschema=http://www.opengis.net/cat/csw/3.0&startposition=1&maxrecords=&recordids= +5c3a2390-1fb9-43f0-b96c-f48c7a69c990,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&id=urn:uuid:88247b56-4cbc-4df9-9860-db3f8042e357&outputFormat=model/vnd.collada%2Bxml&request=GetRecordById&service=CSW&version=3.0.0 +5e9e67dc-18d6-4645-8111-c6263c88a61f,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&acceptVersions=3.0.0§ions=OperationsMetadata&request=GetCapabilities&service=CSW +604d9379-741c-42e5-b4cf-92e56c87fa64,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&elementSetName=full&q=amet&request=GetRecords&service=CSW&typeNames=Record&version=3.0.0 +60e6af95-d5fc-465a-82e2-fd2e6d85e4af,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&request=GetRecords&service=CSW&typeNames=UnknownType&version=3.0.0 +62ad94c2-b558-4265-a427-23d6677975d6,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&mode=opensearch&service=CSW&version=3.0.0&request=GetRecords&elementsetname=full&typenames=csw:Record&resulttype=results&q=&bbox=&time=/&outputformat=application/atom%2Bxml&startposition=1&maxrecords=&recordids=uid-bc5017e6-5cc8-4b03-aee7-d88f88caba0a +6a5e247b-0961-4b8a-a0d6-35a491d9cfe7,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&elementSetName=undefined-view&request=GetRecords&service=CSW&typeNames=Record&version=3.0.0 +6a9d0558-9d87-495b-b999-b49a3ef1cf99,PYCSW_SERVER?config=tests/suites/csw30/default.cfg +6bd790c9-6019-4652-9c91-330a894d6700,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&service=CSW&version=3.0.0&request=GetRecords&elementsetname=full&typenames=csw:Record&resulttype=results&q=Fusc%C3%A9%20Land&bbox=&time=/&outputformat=application/xml&outputschema=http://www.opengis.net/cat/csw/3.0&startposition=1&maxrecords=&recordids= +6e9cba43-5e27-415d-adbd-a92851c2c173,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&acceptVersions=3.0.0&request=GetCapabilities&service=CSW +7630d230-e142-4a09-accf-f091000b90cd,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&id=urn:uuid:66ae76b7-54ba-489b-a582-0f0633d96493&request=GetRecordById&service=CSW&version=3.0.0 +7e82446a-b5dc-43fe-9a73-4cc1f2f2f0bf,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&acceptFormats=text/xml&acceptVersions=3.0.0&request=GetCapabilities&service=CSW +8025978e-1a35-4d70-80c2-e8329e0c7864,PYCSW_SERVER?config=tests/suites/csw30/default.cfg +8184ae4f-536d-4978-8b28-ad703be96967,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&elementSetName=brief&bbox=44.79,-6.17,68.41,17.92,urn:ogc:def:crs:EPSG::4326&request=GetRecords&service=CSW&typeNames=Record&version=3.0.0 +88f63a89-664f-4315-b4f8-04a0b33803a7,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&maxRecords=15&elementSetName=summary&q=Mauris&bbox=-6.17,44.79,17.92,68.41&request=GetRecords&service=CSW&typeNames=Record&version=3.0.0 +8987f8f0-4d93-4481-968c-a2ccbd6b8be2,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&id=urn:example:1461546298217&request=GetRecordById&service=CSW&version=3.0.0 +8e5fa0f6-3f29-4d1f-abe2-d9866f3def98,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&mode=opensearch&service=CSW&version=3.0.0&request=GetRecords&elementsetname=full&typenames=csw:Record&resulttype=results&q=&bbox=-180,-90,180,90&time=/&outputformat=application/atom%2Bxml&startposition=1&maxrecords=&recordids= +9000ec29-5649-474e-b2d6-55c00f8a52c0,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&acceptVersions=9999.12.31&request=GetCapabilities&service=CSW +91914d35-7bbf-45e6-9b37-5ef484869a4e,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&elementSetName=summary&bbox=-6.17,44.79,17.92,68.41&request=GetRecords&service=CSW&typeNames=Record&version=3.0.0 +92d4844d-57d5-4cf3-8f47-ba50e369dc04,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&elementSetName=full&q=atkovxqmf&request=GetRecords&service=CSW&typeNames=Record&version=3.0.0 +9c0e2a4b-b4e6-41c0-b630-c8c99fc89ff3,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&elementSetName=brief&outputSchema=urn:uuid:6a29d2a8-9651-47a6-9b14-f05d2b5644f0&request=GetRecords&service=CSW&typeNames=Record&version=3.0.0 +9d7ffac8-9798-428d-8e27-3cd12497ee6b,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&id=urn:uuid:1ef30a8b-876d-4828-9246-c37ab4510bbd&outputSchema=http://www.example.org/ns/alpha&request=GetRecordById&service=CSW&version=3.0.0 +a2f18643-e24e-4fa5-b780-6de4a2dbc814,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&id=urn:uuid:829babb0-b2f1-49e1-8cd5-7b489fe71a1e&outputFormat=application/atom%2Bxml&request=GetRecordById&service=CSW&version=3.0.0 +abc90c8c-5868-4405-a73e-64c849be3b2a,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&mode=opensearch&service=CSW&version=3.0.0&request=GetRecords&elementsetname=full&typenames=csw:Record&resulttype=results&q=&bbox=514432,5429689,529130,5451619&time=/&outputformat=application/atom%2Bxml&startposition=1&maxrecords=&recordids= +ad0c0571-09ed-436a-9a4f-a5de744c88fe,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&maxRecords=2&elementSetName=summary&request=GetRecords&service=CSW&typeNames=csw3:Record&startPosition=3&namespace=xmlns(csw3%3Dhttp://www.opengis.net/cat/csw/3.0)&version=3.0.0 +af502903-f4ee-47ee-b76e-af878d238bcc,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&service=CSW&version=3.0.0&request=GetRecords&elementsetname=full&typenames=csw:Record&resulttype=results&q=&bbox=-180,-90,180,90&time=/&outputformat=application/xml&outputschema=http://www.opengis.net/cat/csw/3.0&startposition=1&maxrecords=&recordids= +b2aafc3f-4f35-47bc-affd-08590972deae,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&mode=opensearch&service=CSW&version=3.0.0&request=GetRecords&elementsetname=full&typenames=csw:Record&resulttype=results&q=&bbox=-6.17,44.79,17.92,68.41&time=/&outputformat=application/atom%2Bxml&startposition=1&maxrecords=&recordids= +b6069623-f7d8-4021-8582-98f0aea0f763,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&mode=opensearch&service=CSW&version=3.0.0&request=GetRecords&elementsetname=full&typenames=csw:Record&resulttype=results&q=&bbox=&time=/&outputformat=application/atom%2Bxml&startposition=3&maxrecords=4&recordids= +b9a07a54-75a8-45bd-b341-2823600211e3,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&elementSetName=brief&bbox=472944,5363287,492722,5455253,urn:ogc:def:crs:EPSG::0000&request=GetRecords&service=CSW&typeNames=Record&version=3.0.0 +baa4a7d0-0c01-42b6-adc3-0d03e9949fa3,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&acceptVersions=3.0.0&request=getCapabilities&service=CSW +bfbe6409-f64a-4c89-acb3-50f260a5c743,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&elementSetName=summary&q=Fusc%C3%A9%20Land&request=GetRecords&service=CSW&typeNames=Record&version=3.0.0 +bfe20134-d1da-42ef-9c0f-8e1307bbf92b,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&service=CSW&version=3.0.0&request=GetRecords&elementsetname=full&typenames=csw:Record&resulttype=results&q=&bbox=&time=/&outputformat=application/xml&outputschema=http://www.opengis.net/cat/csw/3.0&startposition=3&maxrecords=4&recordids= +c03d173a-3f42-4956-89c8-1fe02c3a0873,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&SERVICE=CSW&Request=GetCapabilities&acceptversions=3.0.0 +cb43d8c3-e14c-4a9f-9231-4384b7dd21f3,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&elementName=undefined&request=GetRecords&service=CSW&typeNames=Record&version=3.0.0 +d03c6fd3-e821-4a26-b62f-d20a474e25af,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&acceptVersions=3.0.0§ions=ServiceProvider&request=GetCapabilities&service=CSW +d4ccbf96-a529-480e-a53d-5b88dc1dea7f,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&service=CSW&version=3.0.0&request=GetRecords&elementsetname=full&typenames=csw:Record&resulttype=results&q=&bbox=&time=/&outputformat=application/xml&outputschema=http://www.opengis.net/cat/csw/3.0&startposition=1&maxrecords=&recordids=uid-bc5017e6-5cc8-4b03-aee7-d88f88caba0a +d94c801a-1207-4897-b84a-53f3a192515b,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&service=CSW&version=3.0.0&request=GetRecords&elementsetname=full&typenames=csw:Record&resulttype=results&q=lpppclq&bbox=&time=/&outputformat=application/xml&outputschema=http://www.opengis.net/cat/csw/3.0&startposition=1&maxrecords=&recordids= +da859e34-91fc-495a-8c09-285a40c0900b,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&id=urn:uuid:94bc9c83-97f6-4b40-9eb8-a8e8787a5c63&elementSetName=full&request=GetRecordById&service=CSW&version=3.0.0 +dc246fb8-5af5-4fda-82bb-c18b3ecd439c,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&mode=opensearch&service=CSW&version=3.0.0&request=GetRecords&elementsetname=full&typenames=csw:Record&resulttype=results&q=ipsum&bbox=&time=/&outputformat=application/atom%2Bxml&startposition=1&maxrecords=&recordids= +de016645-6d5c-4855-943c-2db07ae9f49a,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&mode=opensearch&service=CSW&version=3.0.0&request=GetRecords&elementsetname=full&typenames=csw:Record&resulttype=results&q=&bbox=&time=/&outputformat=application/atom%2Bxml&startposition=1&maxrecords=&recordids=urn%3Auuid%3A94bc9c83-97f6-4b40-9eb8-a8e8787a5c63 +dff3ec6b-bb2d-4887-bd17-8fcf15def042,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&elementSetName=summary&request=GetRecords&service=CSW&typeNames=Record&version=3.0.0 +e38e6bfb-8ac4-4ae4-8b87-0aafbc8d3c6b,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&id=urn:uuid:1ef30a8b-876d-4828-9246-c37ab4510bbd&elementSetName=brief&request=GetRecordById&service=CSW&version=3.0.0 +e67ca935-d65d-4d8c-8302-1405333dded0,PYCSW_SERVER?config=tests/suites/csw30/default.cfg +e7704509-3441-458f-8ef0-e333c6b6043f,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&elementName=ns1:subject&elementSetName=brief&request=GetRecords&service=CSW&typeNames=Record&namespace=xmlns(ns1%3Dhttp://purl.org/dc/elements/1.1/)&version=3.0.0 +f1223a49-6d08-44ff-97fe-4c32cbbfad82,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&elementSetName=summary&maxRecords=0&q=titles&request=GetRecords&service=CSW&typeNames=Record&version=3.0.0 +f89dd4e1-3a81-4433-afd2-a3fa1bdb1e18,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&elementSetName=full&outputFormat=text/example&request=GetRecords&service=CSW&typeNames=Record&version=3.0.0 diff --git a/tests/functionaltests/suites/csw30/post/Exception-GetDomain-parametername-bad.xml b/tests/functionaltests/suites/csw30/post/Exception-GetDomain-parametername-bad.xml new file mode 100644 index 000000000..beeda8211 --- /dev/null +++ b/tests/functionaltests/suites/csw30/post/Exception-GetDomain-parametername-bad.xml @@ -0,0 +1,4 @@ + + + GetRecords.outputFormat-something + diff --git a/tests/functionaltests/suites/csw30/post/Exception-GetDomain-valuereference-bad.xml b/tests/functionaltests/suites/csw30/post/Exception-GetDomain-valuereference-bad.xml new file mode 100644 index 000000000..64184b6f0 --- /dev/null +++ b/tests/functionaltests/suites/csw30/post/Exception-GetDomain-valuereference-bad.xml @@ -0,0 +1,4 @@ + + + dc:titlena + diff --git a/tests/functionaltests/suites/csw30/post/Exception-GetRecordById-404.xml b/tests/functionaltests/suites/csw30/post/Exception-GetRecordById-404.xml new file mode 100644 index 000000000..41528ed0f --- /dev/null +++ b/tests/functionaltests/suites/csw30/post/Exception-GetRecordById-404.xml @@ -0,0 +1,4 @@ + + + does_not_exist + diff --git a/tests/functionaltests/suites/csw30/post/Exception-GetRecordById-bad-esn.xml b/tests/functionaltests/suites/csw30/post/Exception-GetRecordById-bad-esn.xml new file mode 100644 index 000000000..2ab71279c --- /dev/null +++ b/tests/functionaltests/suites/csw30/post/Exception-GetRecordById-bad-esn.xml @@ -0,0 +1,5 @@ + + + urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f + bad + diff --git a/tests/functionaltests/suites/csw30/post/Exception-bad-xml.xml b/tests/functionaltests/suites/csw30/post/Exception-bad-xml.xml new file mode 100644 index 000000000..6ba741f83 --- /dev/null +++ b/tests/functionaltests/suites/csw30/post/Exception-bad-xml.xml @@ -0,0 +1,9 @@ + + + + 3.0.0 + + + application/xml + + diff --git a/tests/functionaltests/suites/csw30/post/Exception-not-xml.xml b/tests/functionaltests/suites/csw30/post/Exception-not-xml.xml new file mode 100644 index 000000000..2b2530072 --- /dev/null +++ b/tests/functionaltests/suites/csw30/post/Exception-not-xml.xml @@ -0,0 +1 @@ +not an XML payload diff --git a/tests/functionaltests/suites/csw30/post/GetCapabilities.xml b/tests/functionaltests/suites/csw30/post/GetCapabilities.xml new file mode 100644 index 000000000..3e80d5ccc --- /dev/null +++ b/tests/functionaltests/suites/csw30/post/GetCapabilities.xml @@ -0,0 +1,9 @@ + + + + 3.0.0 + + + application/xml + + diff --git a/tests/functionaltests/suites/csw30/post/GetDomain-parametername.xml b/tests/functionaltests/suites/csw30/post/GetDomain-parametername.xml new file mode 100644 index 000000000..00ca59f16 --- /dev/null +++ b/tests/functionaltests/suites/csw30/post/GetDomain-parametername.xml @@ -0,0 +1,4 @@ + + + GetRecords.outputFormat + diff --git a/tests/functionaltests/suites/csw30/post/GetDomain-valuereference.xml b/tests/functionaltests/suites/csw30/post/GetDomain-valuereference.xml new file mode 100644 index 000000000..7cfd0eb87 --- /dev/null +++ b/tests/functionaltests/suites/csw30/post/GetDomain-valuereference.xml @@ -0,0 +1,4 @@ + + + dc:title + diff --git a/tests/functionaltests/suites/csw30/post/GetRecordById-dc-full.xml b/tests/functionaltests/suites/csw30/post/GetRecordById-dc-full.xml new file mode 100644 index 000000000..925049056 --- /dev/null +++ b/tests/functionaltests/suites/csw30/post/GetRecordById-dc-full.xml @@ -0,0 +1,5 @@ + + + urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f + full + diff --git a/tests/functionaltests/suites/csw30/post/GetRecordById-dc.xml b/tests/functionaltests/suites/csw30/post/GetRecordById-dc.xml new file mode 100644 index 000000000..148f0e4f3 --- /dev/null +++ b/tests/functionaltests/suites/csw30/post/GetRecordById-dc.xml @@ -0,0 +1,4 @@ + + + urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f + diff --git a/tests/functionaltests/suites/default/default.cfg b/tests/functionaltests/suites/default/default.cfg new file mode 100644 index 000000000..952454c13 --- /dev/null +++ b/tests/functionaltests/suites/default/default.cfg @@ -0,0 +1,90 @@ +# ================================================================= +# +# Authors: Tom Kralidis +# +# Copyright (c) 2011 Tom Kralidis +# +# Permission is hereby granted, free of charge, to any person +# obtaining a copy of this software and associated documentation +# files (the "Software"), to deal in the Software without +# restriction, including without limitation the rights to use, +# copy, modify, merge, publish, distribute, sublicense, and/or sell +# copies of the Software, and to permit persons to whom the +# Software is furnished to do so, subject to the following +# conditions: +# +# The above copyright notice and this permission notice shall be +# included in all copies or substantial portions of the Software. +# +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +# EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES +# OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +# NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT +# HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, +# WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR +# OTHER DEALINGS IN THE SOFTWARE. +# +# ================================================================= + +[server] +home=. +url=http://localhost/pycsw/csw.py?config=tests/suites/default/default.cfg +mimetype=application/xml; charset=UTF-8 +encoding=UTF-8 +language=en-US +maxrecords=10 +#loglevel=DEBUG +#logfile=/tmp/pycsw.log +#ogc_schemas_base=http://foo +federatedcatalogues=http://demo.pycsw.org/gisdata/csw +pretty_print=true +#gzip_compresslevel=8 +#spatial_ranking=true + +[manager] +transactions=false +allowed_ips=127.0.0.1 + +[metadata:main] +identification_title=pycsw Geospatial Catalogue +identification_abstract=pycsw is an OGC CSW server implementation written in Python +identification_keywords=catalogue,discovery +identification_keywords_type=theme +identification_fees=None +identification_accessconstraints=None +provider_name=pycsw +provider_url=http://pycsw.org/ +contact_name=Kralidis, Tom +contact_position=Senior Systems Scientist +contact_address=TBA +contact_city=Toronto +contact_stateorprovince=Ontario +contact_postalcode=M9C 3Z9 +contact_country=Canada +contact_phone=+01-416-xxx-xxxx +contact_fax=+01-416-xxx-xxxx +contact_email=tomkralidis@gmail.com +contact_url=http://kralidis.ca/ +contact_hours=0800h - 1600h EST +contact_instructions=During hours of service. Off on weekends. +contact_role=pointOfContact + +[repository] +# sqlite +database=sqlite:///tests/suites/cite/data/records.db +# postgres +#database=postgres://username:password@localhost/pycsw +table=records + +[metadata:inspire] +enabled=false +languages_supported=eng,gre +default_language=eng +date=2011-03-29 +gemet_keywords=Utility and governmental services +conformity_service=notEvaluated +contact_name=National Technical University of Athens +contact_email=tzotsos@gmail.com +temp_extent=2011-02-01/2011-03-30 + diff --git a/tests/functionaltests/suites/default/expected/get_Exception-GetRepositoryItem-notfound.xml b/tests/functionaltests/suites/default/expected/get_Exception-GetRepositoryItem-notfound.xml new file mode 100644 index 000000000..5607c7589 --- /dev/null +++ b/tests/functionaltests/suites/default/expected/get_Exception-GetRepositoryItem-notfound.xml @@ -0,0 +1,7 @@ + + + + + No repository item found for '['NOTFOUND']' + + diff --git a/tests/functionaltests/suites/default/expected/get_Exception-GetRepositoryItem-service-invalid1.xml b/tests/functionaltests/suites/default/expected/get_Exception-GetRepositoryItem-service-invalid1.xml new file mode 100644 index 000000000..4e35a17da --- /dev/null +++ b/tests/functionaltests/suites/default/expected/get_Exception-GetRepositoryItem-service-invalid1.xml @@ -0,0 +1,7 @@ + + + + + 'Invalid value for service: CSW\x00. Value MUST be CSW' + + diff --git a/tests/functionaltests/suites/default/expected/get_Exception-GetRepositoryItem-service-invalid2.xml b/tests/functionaltests/suites/default/expected/get_Exception-GetRepositoryItem-service-invalid2.xml new file mode 100644 index 000000000..97ec989fa --- /dev/null +++ b/tests/functionaltests/suites/default/expected/get_Exception-GetRepositoryItem-service-invalid2.xml @@ -0,0 +1,7 @@ + + + + + "Invalid value for service: CSW\x00'. Value MUST be CSW" + + diff --git a/tests/functionaltests/suites/default/expected/get_Exception-GetRepositoryItem-version-invalid.xml b/tests/functionaltests/suites/default/expected/get_Exception-GetRepositoryItem-version-invalid.xml new file mode 100644 index 000000000..fd7123387 --- /dev/null +++ b/tests/functionaltests/suites/default/expected/get_Exception-GetRepositoryItem-version-invalid.xml @@ -0,0 +1,7 @@ + + + + + Invalid value for version: 2.0.2'. Value MUST be 2.0.2 or 3.0.0 + + diff --git a/tests/functionaltests/suites/default/expected/get_GetCapabilities-invalid-request.xml b/tests/functionaltests/suites/default/expected/get_GetCapabilities-invalid-request.xml new file mode 100644 index 000000000..03450eb2d --- /dev/null +++ b/tests/functionaltests/suites/default/expected/get_GetCapabilities-invalid-request.xml @@ -0,0 +1,7 @@ + + + + + Invalid value for request: GetCapabilitiese + + diff --git a/tests/functionaltests/suites/default/expected/get_GetCapabilities.xml b/tests/functionaltests/suites/default/expected/get_GetCapabilities.xml new file mode 100644 index 000000000..8026e1b3b --- /dev/null +++ b/tests/functionaltests/suites/default/expected/get_GetCapabilities.xml @@ -0,0 +1,262 @@ + + + + + pycsw Geospatial Catalogue + pycsw is an OGC CSW server implementation written in Python + + catalogue + discovery + theme + + CSW + 2.0.2 + 3.0.0 + None + None + + + pycsw + + + Kralidis, Tom + Senior Systems Scientist + + + +01-416-xxx-xxxx + +01-416-xxx-xxxx + + + TBA + Toronto + Ontario + M9C 3Z9 + Canada + tomkralidis@gmail.com + + + 0800h - 1600h EST + During hours of service. Off on weekends. + + pointOfContact + + + + + + + + + + + + Filter_Capabilities + OperationsMetadata + ServiceIdentification + ServiceProvider + + + + + + + + + + + application/json + application/xml + + + http://www.w3.org/2001/XMLSchema + http://www.w3.org/TR/xmlschema-1/ + http://www.w3.org/XML/Schema + + + csw:Record + + + + + + + + + + + DescribeRecord.outputFormat + DescribeRecord.schemaLanguage + DescribeRecord.typeName + GetCapabilities.sections + GetRecordById.ElementSetName + GetRecordById.outputFormat + GetRecordById.outputSchema + GetRecords.CONSTRAINTLANGUAGE + GetRecords.ElementSetName + GetRecords.outputFormat + GetRecords.outputSchema + GetRecords.resultType + GetRecords.typeNames + + + + + + + + + + + CQL_TEXT + FILTER + + + brief + full + summary + + + application/json + application/xml + + + http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ + http://www.interlis.ch/INTERLIS2.3 + http://www.opengis.net/cat/csw/2.0.2 + http://www.opengis.net/cat/csw/csdgm + http://www.w3.org/2005/Atom + + + hits + results + validate + + + csw:Record + + + csw:AnyText + dc:contributor + dc:creator + dc:date + dc:format + dc:identifier + dc:language + dc:publisher + dc:relation + dc:rights + dc:source + dc:subject + dc:title + dc:type + dct:abstract + dct:modified + ows:BoundingBox + + + + + + + + + + + brief + full + summary + + + application/json + application/xml + + + http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ + http://www.interlis.ch/INTERLIS2.3 + http://www.opengis.net/cat/csw/2.0.2 + http://www.opengis.net/cat/csw/csdgm + http://www.w3.org/2005/Atom + + + + + + + + + + + CSW + + + 2.0.2 + 3.0.0 + + + http://demo.pycsw.org/gisdata/csw + + + 10 + + + XML + SOAP + + + allowed + + + + + + gml:Point + gml:LineString + gml:Polygon + gml:Envelope + + + + + + + + + + + + + + + + + + + Between + EqualTo + GreaterThan + GreaterThanEqualTo + LessThan + LessThanEqualTo + Like + NotEqualTo + NullCheck + + + + + length + lower + ltrim + rtrim + trim + upper + + + + + + + + + + diff --git a/tests/functionaltests/suites/default/expected/get_GetRecords-all.xml b/tests/functionaltests/suites/default/expected/get_GetRecords-all.xml new file mode 100644 index 000000000..9b45c7898 --- /dev/null +++ b/tests/functionaltests/suites/default/expected/get_GetRecords-all.xml @@ -0,0 +1,6 @@ + + + + + + diff --git a/tests/functionaltests/suites/default/expected/get_GetRecords-empty-maxrecords.xml b/tests/functionaltests/suites/default/expected/get_GetRecords-empty-maxrecords.xml new file mode 100644 index 000000000..9b45c7898 --- /dev/null +++ b/tests/functionaltests/suites/default/expected/get_GetRecords-empty-maxrecords.xml @@ -0,0 +1,6 @@ + + + + + + diff --git a/tests/functionaltests/suites/default/expected/get_GetRecords-filter-cql-title-or-abstract-with-spaces.xml b/tests/functionaltests/suites/default/expected/get_GetRecords-filter-cql-title-or-abstract-with-spaces.xml new file mode 100644 index 000000000..2b1accdf9 --- /dev/null +++ b/tests/functionaltests/suites/default/expected/get_GetRecords-filter-cql-title-or-abstract-with-spaces.xml @@ -0,0 +1,23 @@ + + + + + + + urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f + http://purl.org/dc/dcmitype/Image + image/svg+xml + Lorem ipsum + GR-22 + Tourism--Greece + Quisque lacus diam, placerat mollis, pharetra in, commodo sed, augue. Duis iaculis arcu vel arcu. + + + urn:uuid:a06af396-3105-442d-8b40-22b57a90d2f2 + http://purl.org/dc/dcmitype/Image + Lorem ipsum dolor sit amet + image/jpeg + IT-FI + + + diff --git a/tests/functionaltests/suites/default/expected/get_GetRecords-filter-cql-title-or-abstract.xml b/tests/functionaltests/suites/default/expected/get_GetRecords-filter-cql-title-or-abstract.xml new file mode 100644 index 000000000..2b1accdf9 --- /dev/null +++ b/tests/functionaltests/suites/default/expected/get_GetRecords-filter-cql-title-or-abstract.xml @@ -0,0 +1,23 @@ + + + + + + + urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f + http://purl.org/dc/dcmitype/Image + image/svg+xml + Lorem ipsum + GR-22 + Tourism--Greece + Quisque lacus diam, placerat mollis, pharetra in, commodo sed, augue. Duis iaculis arcu vel arcu. + + + urn:uuid:a06af396-3105-442d-8b40-22b57a90d2f2 + http://purl.org/dc/dcmitype/Image + Lorem ipsum dolor sit amet + image/jpeg + IT-FI + + + diff --git a/tests/functionaltests/suites/default/expected/get_GetRecords-filter-cql-title-with-spaces-or-abstract-with-spaces.xml b/tests/functionaltests/suites/default/expected/get_GetRecords-filter-cql-title-with-spaces-or-abstract-with-spaces.xml new file mode 100644 index 000000000..2b1accdf9 --- /dev/null +++ b/tests/functionaltests/suites/default/expected/get_GetRecords-filter-cql-title-with-spaces-or-abstract-with-spaces.xml @@ -0,0 +1,23 @@ + + + + + + + urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f + http://purl.org/dc/dcmitype/Image + image/svg+xml + Lorem ipsum + GR-22 + Tourism--Greece + Quisque lacus diam, placerat mollis, pharetra in, commodo sed, augue. Duis iaculis arcu vel arcu. + + + urn:uuid:a06af396-3105-442d-8b40-22b57a90d2f2 + http://purl.org/dc/dcmitype/Image + Lorem ipsum dolor sit amet + image/jpeg + IT-FI + + + diff --git a/tests/functionaltests/suites/default/expected/get_GetRecords-filter-cql-title-with-spaces-or-abstract.xml b/tests/functionaltests/suites/default/expected/get_GetRecords-filter-cql-title-with-spaces-or-abstract.xml new file mode 100644 index 000000000..2b1accdf9 --- /dev/null +++ b/tests/functionaltests/suites/default/expected/get_GetRecords-filter-cql-title-with-spaces-or-abstract.xml @@ -0,0 +1,23 @@ + + + + + + + urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f + http://purl.org/dc/dcmitype/Image + image/svg+xml + Lorem ipsum + GR-22 + Tourism--Greece + Quisque lacus diam, placerat mollis, pharetra in, commodo sed, augue. Duis iaculis arcu vel arcu. + + + urn:uuid:a06af396-3105-442d-8b40-22b57a90d2f2 + http://purl.org/dc/dcmitype/Image + Lorem ipsum dolor sit amet + image/jpeg + IT-FI + + + diff --git a/tests/functionaltests/suites/default/expected/get_GetRecords-filter-cql-title-with-spaces.xml b/tests/functionaltests/suites/default/expected/get_GetRecords-filter-cql-title-with-spaces.xml new file mode 100644 index 000000000..2b1accdf9 --- /dev/null +++ b/tests/functionaltests/suites/default/expected/get_GetRecords-filter-cql-title-with-spaces.xml @@ -0,0 +1,23 @@ + + + + + + + urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f + http://purl.org/dc/dcmitype/Image + image/svg+xml + Lorem ipsum + GR-22 + Tourism--Greece + Quisque lacus diam, placerat mollis, pharetra in, commodo sed, augue. Duis iaculis arcu vel arcu. + + + urn:uuid:a06af396-3105-442d-8b40-22b57a90d2f2 + http://purl.org/dc/dcmitype/Image + Lorem ipsum dolor sit amet + image/jpeg + IT-FI + + + diff --git a/tests/functionaltests/suites/default/expected/get_GetRecords-filter-cql-title.xml b/tests/functionaltests/suites/default/expected/get_GetRecords-filter-cql-title.xml new file mode 100644 index 000000000..2b1accdf9 --- /dev/null +++ b/tests/functionaltests/suites/default/expected/get_GetRecords-filter-cql-title.xml @@ -0,0 +1,23 @@ + + + + + + + urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f + http://purl.org/dc/dcmitype/Image + image/svg+xml + Lorem ipsum + GR-22 + Tourism--Greece + Quisque lacus diam, placerat mollis, pharetra in, commodo sed, augue. Duis iaculis arcu vel arcu. + + + urn:uuid:a06af396-3105-442d-8b40-22b57a90d2f2 + http://purl.org/dc/dcmitype/Image + Lorem ipsum dolor sit amet + image/jpeg + IT-FI + + + diff --git a/tests/functionaltests/suites/default/expected/get_GetRecords-filter.xml b/tests/functionaltests/suites/default/expected/get_GetRecords-filter.xml new file mode 100644 index 000000000..163bcd640 --- /dev/null +++ b/tests/functionaltests/suites/default/expected/get_GetRecords-filter.xml @@ -0,0 +1,16 @@ + + + + + + + urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f + http://purl.org/dc/dcmitype/Image + image/svg+xml + Lorem ipsum + GR-22 + Tourism--Greece + Quisque lacus diam, placerat mollis, pharetra in, commodo sed, augue. Duis iaculis arcu vel arcu. + + + diff --git a/tests/functionaltests/suites/default/expected/get_GetRecords-sortby-asc.xml b/tests/functionaltests/suites/default/expected/get_GetRecords-sortby-asc.xml new file mode 100644 index 000000000..9a5c0f935 --- /dev/null +++ b/tests/functionaltests/suites/default/expected/get_GetRecords-sortby-asc.xml @@ -0,0 +1,91 @@ + + + + + + + urn:uuid:1ef30a8b-876d-4828-9246-c37ab4510bbd + http://purl.org/dc/dcmitype/Service + Proin sit amet justo. In justo. Aenean adipiscing nulla id tellus. + + 60.042 13.754 + 68.410 17.920 + + + + urn:uuid:88247b56-4cbc-4df9-9860-db3f8042e357 + http://purl.org/dc/dcmitype/Dataset + Physiography-Landforms + FI-ES + Donec scelerisque pede ut nisl luctus accumsan. Quisque ultrices, lorem eget feugiat fringilla, lorem dui porttitor ante, cursus ultrices magna odio eu neque. + + + urn:uuid:ab42a8c4-95e8-4630-bf79-33e59241605a + http://purl.org/dc/dcmitype/Service + Physiography + Suspendisse accumsan molestie lorem. Nullam velit turpis, mattis ut, varius bibendum, laoreet non, quam. + urn:uuid:88247b56-4cbc-4df9-9860-db3f8042e357 + + + urn:uuid:784e2afd-a9fd-44a6-9a92-a3848371c8ec + Aliquam fermentum purus quis arcu + http://purl.org/dc/dcmitype/Text + Hydrography--Dictionaries + application/pdf + 2006-05-12 + Vestibulum quis ipsum sit amet metus imperdiet vehicula. Nulla scelerisque cursus mi. + + + urn:uuid:e9330592-0932-474b-be34-c3a3bb67c7db + http://purl.org/dc/dcmitype/Text + Fuscé vitae ligulä + 2003-05-09 + Land titles + text/rtf + Morbi ultriçes, dui suscipit vestibulum prètium, velit ante pretium tortor, egët tincidunt pede odio ac nulla. + + + urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f + http://purl.org/dc/dcmitype/Image + image/svg+xml + Lorem ipsum + GR-22 + Tourism--Greece + Quisque lacus diam, placerat mollis, pharetra in, commodo sed, augue. Duis iaculis arcu vel arcu. + + + urn:uuid:a06af396-3105-442d-8b40-22b57a90d2f2 + http://purl.org/dc/dcmitype/Image + Lorem ipsum dolor sit amet + image/jpeg + IT-FI + + + urn:uuid:66ae76b7-54ba-489b-a582-0f0633d96493 + Maecenas enim + http://purl.org/dc/dcmitype/Text + application/xhtml+xml + Marine sediments + Pellentesque tempus magna non sapien fringilla blandit. + + + urn:uuid:94bc9c83-97f6-4b40-9eb8-a8e8787a5c63 + http://purl.org/dc/dcmitype/Dataset + Mauris sed neque + Vegetation-Cropland + Curabitur lacinia, ante non porta tempus, mi lorem feugiat odio, eget suscipit eros pede ac velit. + 2006-03-26 + + 47.595 -4.097 + 51.217 0.889 + + + + urn:uuid:6a3de50b-fa66-4b58-a0e6-ca146fdd18d4 + http://purl.org/dc/dcmitype/Service + Ut facilisis justo ut lacus + Vegetation + urn:uuid:94bc9c83-97f6-4b40-9eb8-a8e8787a5c63 + + + diff --git a/tests/functionaltests/suites/default/expected/get_GetRecords-sortby-desc.xml b/tests/functionaltests/suites/default/expected/get_GetRecords-sortby-desc.xml new file mode 100644 index 000000000..1bf8d4e5a --- /dev/null +++ b/tests/functionaltests/suites/default/expected/get_GetRecords-sortby-desc.xml @@ -0,0 +1,93 @@ + + + + + + + urn:uuid:9a669547-b69b-469f-a11f-2d875366bbdc + http://purl.org/dc/dcmitype/Dataset + Ñunç elementum + Hydrography-Oceanographic + 2005-10-24 + + 44.792 -6.171 + 51.126 -2.228 + + + + urn:uuid:829babb0-b2f1-49e1-8cd5-7b489fe71a1e + http://purl.org/dc/dcmitype/Image + image/jp2 + Vestibulum massa purus + urn:uuid:9a669547-b69b-469f-a11f-2d875366bbdc + + + urn:uuid:6a3de50b-fa66-4b58-a0e6-ca146fdd18d4 + http://purl.org/dc/dcmitype/Service + Ut facilisis justo ut lacus + Vegetation + urn:uuid:94bc9c83-97f6-4b40-9eb8-a8e8787a5c63 + + + urn:uuid:94bc9c83-97f6-4b40-9eb8-a8e8787a5c63 + http://purl.org/dc/dcmitype/Dataset + Mauris sed neque + Vegetation-Cropland + Curabitur lacinia, ante non porta tempus, mi lorem feugiat odio, eget suscipit eros pede ac velit. + 2006-03-26 + + 47.595 -4.097 + 51.217 0.889 + + + + urn:uuid:66ae76b7-54ba-489b-a582-0f0633d96493 + Maecenas enim + http://purl.org/dc/dcmitype/Text + application/xhtml+xml + Marine sediments + Pellentesque tempus magna non sapien fringilla blandit. + + + urn:uuid:a06af396-3105-442d-8b40-22b57a90d2f2 + http://purl.org/dc/dcmitype/Image + Lorem ipsum dolor sit amet + image/jpeg + IT-FI + + + urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f + http://purl.org/dc/dcmitype/Image + image/svg+xml + Lorem ipsum + GR-22 + Tourism--Greece + Quisque lacus diam, placerat mollis, pharetra in, commodo sed, augue. Duis iaculis arcu vel arcu. + + + urn:uuid:e9330592-0932-474b-be34-c3a3bb67c7db + http://purl.org/dc/dcmitype/Text + Fuscé vitae ligulä + 2003-05-09 + Land titles + text/rtf + Morbi ultriçes, dui suscipit vestibulum prètium, velit ante pretium tortor, egët tincidunt pede odio ac nulla. + + + urn:uuid:784e2afd-a9fd-44a6-9a92-a3848371c8ec + Aliquam fermentum purus quis arcu + http://purl.org/dc/dcmitype/Text + Hydrography--Dictionaries + application/pdf + 2006-05-12 + Vestibulum quis ipsum sit amet metus imperdiet vehicula. Nulla scelerisque cursus mi. + + + urn:uuid:ab42a8c4-95e8-4630-bf79-33e59241605a + http://purl.org/dc/dcmitype/Service + Physiography + Suspendisse accumsan molestie lorem. Nullam velit turpis, mattis ut, varius bibendum, laoreet non, quam. + urn:uuid:88247b56-4cbc-4df9-9860-db3f8042e357 + + + diff --git a/tests/functionaltests/suites/default/expected/get_GetRecords-sortby-invalid-order.xml b/tests/functionaltests/suites/default/expected/get_GetRecords-sortby-invalid-order.xml new file mode 100644 index 000000000..85457f69f --- /dev/null +++ b/tests/functionaltests/suites/default/expected/get_GetRecords-sortby-invalid-order.xml @@ -0,0 +1,7 @@ + + + + + Invalid SortBy value: sort order must be "A" or "D" + + diff --git a/tests/functionaltests/suites/default/expected/get_GetRecords-sortby-invalid-propertyname.xml b/tests/functionaltests/suites/default/expected/get_GetRecords-sortby-invalid-propertyname.xml new file mode 100644 index 000000000..25c7b6f80 --- /dev/null +++ b/tests/functionaltests/suites/default/expected/get_GetRecords-sortby-invalid-propertyname.xml @@ -0,0 +1,7 @@ + + + + + Invalid SortBy propertyname: dc:titlei + + diff --git a/tests/functionaltests/suites/default/expected/get_GetRepositoryItem.xml b/tests/functionaltests/suites/default/expected/get_GetRepositoryItem.xml new file mode 100644 index 000000000..77fae8b66 --- /dev/null +++ b/tests/functionaltests/suites/default/expected/get_GetRepositoryItem.xml @@ -0,0 +1,14 @@ + + + + urn:uuid:94bc9c83-97f6-4b40-9eb8-a8e8787a5c63 + http://purl.org/dc/dcmitype/Dataset + Mauris sed neque + Vegetation-Cropland + Curabitur lacinia, ante non porta tempus, mi lorem feugiat odio, eget suscipit eros pede ac velit. + 2006-03-26 + + 47.595 -4.097 + 51.217 0.889 + + diff --git a/tests/functionaltests/suites/default/expected/post_DescribeRecord-json.xml b/tests/functionaltests/suites/default/expected/post_DescribeRecord-json.xml new file mode 100644 index 000000000..19f117bee --- /dev/null +++ b/tests/functionaltests/suites/default/expected/post_DescribeRecord-json.xml @@ -0,0 +1,231 @@ +{ + "csw:DescribeRecordResponse": { + "@xsi:schemaLocation": "http://www.opengis.net/cat/csw/2.0.2 http://schemas.opengis.net/csw/2.0.2/CSW-discovery.xsd", + "csw:SchemaComponent": { + "@schemaLanguage": "XMLSCHEMA", + "@targetNamespace": "http://www.opengis.net/cat/csw/2.0.2", + "xs:schema": { + "@id": "csw-record", + "@targetNamespace": "http://www.opengis.net/cat/csw/2.0.2", + "@elementFormDefault": "qualified", + "@version": "2.0.2 2010-01-22", + "xs:annotation": { + "xs:appinfo": { + "dc:identifier": "http://schemas.opengis.net/csw/2.0.2/record.xsd" + }, + "xs:documentation": { + "@http://www.w3.org/XML/1998/namespace:lang": "en", + "#text": "This schema defines the basic record types that must be supported\n by all CSW implementations. These correspond to full, summary, and\n brief views based on DCMI metadata terms.\n \n CSW is an OGC Standard.\n Copyright (c) 2004,2010 Open Geospatial Consortium, Inc. All Rights Reserved.\n To obtain additional rights of use, visit http://www.opengeospatial.org/legal/ ." + } + }, + "xs:import": [ + { + "@namespace": "http://purl.org/dc/terms/", + "@schemaLocation": "rec-dcterms.xsd" + }, + { + "@namespace": "http://purl.org/dc/elements/1.1/", + "@schemaLocation": "rec-dcmes.xsd" + }, + { + "@namespace": "http://www.opengis.net/ows", + "@schemaLocation": "../../ows/1.0.0/owsAll.xsd" + } + ], + "xs:element": [ + { + "@name": "AbstractRecord", + "@id": "AbstractRecord", + "@type": "csw:AbstractRecordType", + "@abstract": "true" + }, + { + "@name": "DCMIRecord", + "@type": "csw:DCMIRecordType", + "@substitutionGroup": "csw:AbstractRecord" + }, + { + "@name": "BriefRecord", + "@type": "csw:BriefRecordType", + "@substitutionGroup": "csw:AbstractRecord" + }, + { + "@name": "SummaryRecord", + "@type": "csw:SummaryRecordType", + "@substitutionGroup": "csw:AbstractRecord" + }, + { + "@name": "Record", + "@type": "csw:RecordType", + "@substitutionGroup": "csw:AbstractRecord" + } + ], + "xs:complexType": [ + { + "@name": "AbstractRecordType", + "@id": "AbstractRecordType", + "@abstract": "true" + }, + { + "@name": "DCMIRecordType", + "xs:annotation": { + "xs:documentation": { + "@http://www.w3.org/XML/1998/namespace:lang": "en", + "#text": "This type encapsulates all of the standard DCMI metadata terms,\n including the Dublin Core refinements; these terms may be mapped\n to the profile-specific information model." + } + }, + "xs:complexContent": { + "xs:extension": { + "@base": "csw:AbstractRecordType", + "xs:sequence": { + "xs:group": { + "@ref": "dct:DCMI-terms" + } + } + } + } + }, + { + "@name": "BriefRecordType", + "@final": "#all", + "xs:annotation": { + "xs:documentation": { + "@http://www.w3.org/XML/1998/namespace:lang": "en", + "#text": "This type defines a brief representation of the common record\n format. It extends AbstractRecordType to include only the\n dc:identifier and dc:type properties." + } + }, + "xs:complexContent": { + "xs:extension": { + "@base": "csw:AbstractRecordType", + "xs:sequence": { + "xs:element": [ + { + "@ref": "dc:identifier", + "@minOccurs": "1", + "@maxOccurs": "unbounded" + }, + { + "@ref": "dc:title", + "@minOccurs": "1", + "@maxOccurs": "unbounded" + }, + { + "@ref": "dc:type", + "@minOccurs": "0" + }, + { + "@ref": "ows:BoundingBox", + "@minOccurs": "0", + "@maxOccurs": "unbounded" + } + ] + } + } + } + }, + { + "@name": "SummaryRecordType", + "@final": "#all", + "xs:annotation": { + "xs:documentation": { + "@http://www.w3.org/XML/1998/namespace:lang": "en", + "#text": "This type defines a summary representation of the common record\n format. It extends AbstractRecordType to include the core\n properties." + } + }, + "xs:complexContent": { + "xs:extension": { + "@base": "csw:AbstractRecordType", + "xs:sequence": { + "xs:element": [ + { + "@ref": "dc:identifier", + "@minOccurs": "1", + "@maxOccurs": "unbounded" + }, + { + "@ref": "dc:title", + "@minOccurs": "1", + "@maxOccurs": "unbounded" + }, + { + "@ref": "dc:type", + "@minOccurs": "0" + }, + { + "@ref": "dc:subject", + "@minOccurs": "0", + "@maxOccurs": "unbounded" + }, + { + "@ref": "dc:format", + "@minOccurs": "0", + "@maxOccurs": "unbounded" + }, + { + "@ref": "dc:relation", + "@minOccurs": "0", + "@maxOccurs": "unbounded" + }, + { + "@ref": "dct:modified", + "@minOccurs": "0", + "@maxOccurs": "unbounded" + }, + { + "@ref": "dct:abstract", + "@minOccurs": "0", + "@maxOccurs": "unbounded" + }, + { + "@ref": "dct:spatial", + "@minOccurs": "0", + "@maxOccurs": "unbounded" + }, + { + "@ref": "ows:BoundingBox", + "@minOccurs": "0", + "@maxOccurs": "unbounded" + } + ] + } + } + } + }, + { + "@name": "RecordType", + "@final": "#all", + "xs:annotation": { + "xs:documentation": { + "@http://www.w3.org/XML/1998/namespace:lang": "en", + "#text": "This type extends DCMIRecordType to add ows:BoundingBox;\n it may be used to specify a spatial envelope for the\n catalogued resource." + } + }, + "xs:complexContent": { + "xs:extension": { + "@base": "csw:DCMIRecordType", + "xs:sequence": { + "xs:element": [ + { + "@name": "AnyText", + "@type": "csw:EmptyType", + "@minOccurs": "0", + "@maxOccurs": "unbounded" + }, + { + "@ref": "ows:BoundingBox", + "@minOccurs": "0", + "@maxOccurs": "unbounded" + } + ] + } + } + } + }, + { + "@name": "EmptyType" + } + ] + } + } + } +} \ No newline at end of file diff --git a/tests/functionaltests/suites/default/expected/post_DescribeRecord.xml b/tests/functionaltests/suites/default/expected/post_DescribeRecord.xml new file mode 100644 index 000000000..76101a6bb --- /dev/null +++ b/tests/functionaltests/suites/default/expected/post_DescribeRecord.xml @@ -0,0 +1,115 @@ + + + + + + + + http://schemas.opengis.net/csw/2.0.2/record.xsd + + + This schema defines the basic record types that must be supported + by all CSW implementations. These correspond to full, summary, and + brief views based on DCMI metadata terms. + + CSW is an OGC Standard. + Copyright (c) 2004,2010 Open Geospatial Consortium, Inc. All Rights Reserved. + To obtain additional rights of use, visit http://www.opengeospatial.org/legal/ . + + + + + + + + + + + + + + + This type encapsulates all of the standard DCMI metadata terms, + including the Dublin Core refinements; these terms may be mapped + to the profile-specific information model. + + + + + + + + + + + + + + + + This type defines a brief representation of the common record + format. It extends AbstractRecordType to include only the + dc:identifier and dc:type properties. + + + + + + + + + + + + + + + + + + + This type defines a summary representation of the common record + format. It extends AbstractRecordType to include the core + properties. + + + + + + + + + + + + + + + + + + + + + + + + + This type extends DCMIRecordType to add ows:BoundingBox; + it may be used to specify a spatial envelope for the + catalogued resource. + + + + + + + + + + + + + + + diff --git a/tests/functionaltests/suites/default/expected/post_Exception-GetRecords-badsrsname.xml b/tests/functionaltests/suites/default/expected/post_Exception-GetRecords-badsrsname.xml new file mode 100644 index 000000000..fe0c923f3 --- /dev/null +++ b/tests/functionaltests/suites/default/expected/post_Exception-GetRecords-badsrsname.xml @@ -0,0 +1,7 @@ + + + + + Invalid Constraint: Invalid Filter request: Reprojection error: Invalid srsName "EPSG:226": Invalid source projection + + diff --git a/tests/functionaltests/suites/default/expected/post_Exception-GetRecords-elementname.xml b/tests/functionaltests/suites/default/expected/post_Exception-GetRecords-elementname.xml new file mode 100644 index 000000000..3654684e2 --- /dev/null +++ b/tests/functionaltests/suites/default/expected/post_Exception-GetRecords-elementname.xml @@ -0,0 +1,7 @@ + + + + + Invalid ElementName parameter value: dc:foo + + diff --git a/tests/functionaltests/suites/default/expected/post_Exception-GetRecords-invalid-xml.xml b/tests/functionaltests/suites/default/expected/post_Exception-GetRecords-invalid-xml.xml new file mode 100644 index 000000000..f21f6db74 --- /dev/null +++ b/tests/functionaltests/suites/default/expected/post_Exception-GetRecords-invalid-xml.xml @@ -0,0 +1,8 @@ + + + + + Exception: the document is not valid. +Error: Element '{http://www.opengis.net/cat/csw/2.0.2}ElementNamefoo': This element is not expected. Expected is one of ( {http://www.opengis.net/cat/csw/2.0.2}ElementSetName, {http://www.opengis.net/cat/csw/2.0.2}ElementName ). + + diff --git a/tests/functionaltests/suites/default/expected/post_GetCapabilities-SOAP.xml b/tests/functionaltests/suites/default/expected/post_GetCapabilities-SOAP.xml new file mode 100644 index 000000000..ae7b31029 --- /dev/null +++ b/tests/functionaltests/suites/default/expected/post_GetCapabilities-SOAP.xml @@ -0,0 +1,266 @@ + + + + + + + pycsw Geospatial Catalogue + pycsw is an OGC CSW server implementation written in Python + + catalogue + discovery + theme + + CSW + 2.0.2 + 3.0.0 + None + None + + + pycsw + + + Kralidis, Tom + Senior Systems Scientist + + + +01-416-xxx-xxxx + +01-416-xxx-xxxx + + + TBA + Toronto + Ontario + M9C 3Z9 + Canada + tomkralidis@gmail.com + + + 0800h - 1600h EST + During hours of service. Off on weekends. + + pointOfContact + + + + + + + + + + + + Filter_Capabilities + OperationsMetadata + ServiceIdentification + ServiceProvider + + + + + + + + + + + application/json + application/xml + + + http://www.w3.org/2001/XMLSchema + http://www.w3.org/TR/xmlschema-1/ + http://www.w3.org/XML/Schema + + + csw:Record + + + + + + + + + + + DescribeRecord.outputFormat + DescribeRecord.schemaLanguage + DescribeRecord.typeName + GetCapabilities.sections + GetRecordById.ElementSetName + GetRecordById.outputFormat + GetRecordById.outputSchema + GetRecords.CONSTRAINTLANGUAGE + GetRecords.ElementSetName + GetRecords.outputFormat + GetRecords.outputSchema + GetRecords.resultType + GetRecords.typeNames + + + + + + + + + + + CQL_TEXT + FILTER + + + brief + full + summary + + + application/json + application/xml + + + http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ + http://www.interlis.ch/INTERLIS2.3 + http://www.opengis.net/cat/csw/2.0.2 + http://www.opengis.net/cat/csw/csdgm + http://www.w3.org/2005/Atom + + + hits + results + validate + + + csw:Record + + + csw:AnyText + dc:contributor + dc:creator + dc:date + dc:format + dc:identifier + dc:language + dc:publisher + dc:relation + dc:rights + dc:source + dc:subject + dc:title + dc:type + dct:abstract + dct:modified + ows:BoundingBox + + + + + + + + + + + brief + full + summary + + + application/json + application/xml + + + http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ + http://www.interlis.ch/INTERLIS2.3 + http://www.opengis.net/cat/csw/2.0.2 + http://www.opengis.net/cat/csw/csdgm + http://www.w3.org/2005/Atom + + + + + + + + + + + CSW + + + 2.0.2 + 3.0.0 + + + http://demo.pycsw.org/gisdata/csw + + + 10 + + + XML + SOAP + + + allowed + + + + + + gml:Point + gml:LineString + gml:Polygon + gml:Envelope + + + + + + + + + + + + + + + + + + + Between + EqualTo + GreaterThan + GreaterThanEqualTo + LessThan + LessThanEqualTo + Like + NotEqualTo + NullCheck + + + + + length + lower + ltrim + rtrim + trim + upper + + + + + + + + + + + + diff --git a/tests/functionaltests/suites/default/expected/post_GetCapabilities-sections.xml b/tests/functionaltests/suites/default/expected/post_GetCapabilities-sections.xml new file mode 100644 index 000000000..9c51855de --- /dev/null +++ b/tests/functionaltests/suites/default/expected/post_GetCapabilities-sections.xml @@ -0,0 +1,83 @@ + + + + + pycsw + + + Kralidis, Tom + Senior Systems Scientist + + + +01-416-xxx-xxxx + +01-416-xxx-xxxx + + + TBA + Toronto + Ontario + M9C 3Z9 + Canada + tomkralidis@gmail.com + + + 0800h - 1600h EST + During hours of service. Off on weekends. + + pointOfContact + + + + + + gml:Point + gml:LineString + gml:Polygon + gml:Envelope + + + + + + + + + + + + + + + + + + + Between + EqualTo + GreaterThan + GreaterThanEqualTo + LessThan + LessThanEqualTo + Like + NotEqualTo + NullCheck + + + + + length + lower + ltrim + rtrim + trim + upper + + + + + + + + + + diff --git a/tests/functionaltests/suites/default/expected/post_GetCapabilities-updatesequence.xml b/tests/functionaltests/suites/default/expected/post_GetCapabilities-updatesequence.xml new file mode 100644 index 000000000..8026e1b3b --- /dev/null +++ b/tests/functionaltests/suites/default/expected/post_GetCapabilities-updatesequence.xml @@ -0,0 +1,262 @@ + + + + + pycsw Geospatial Catalogue + pycsw is an OGC CSW server implementation written in Python + + catalogue + discovery + theme + + CSW + 2.0.2 + 3.0.0 + None + None + + + pycsw + + + Kralidis, Tom + Senior Systems Scientist + + + +01-416-xxx-xxxx + +01-416-xxx-xxxx + + + TBA + Toronto + Ontario + M9C 3Z9 + Canada + tomkralidis@gmail.com + + + 0800h - 1600h EST + During hours of service. Off on weekends. + + pointOfContact + + + + + + + + + + + + Filter_Capabilities + OperationsMetadata + ServiceIdentification + ServiceProvider + + + + + + + + + + + application/json + application/xml + + + http://www.w3.org/2001/XMLSchema + http://www.w3.org/TR/xmlschema-1/ + http://www.w3.org/XML/Schema + + + csw:Record + + + + + + + + + + + DescribeRecord.outputFormat + DescribeRecord.schemaLanguage + DescribeRecord.typeName + GetCapabilities.sections + GetRecordById.ElementSetName + GetRecordById.outputFormat + GetRecordById.outputSchema + GetRecords.CONSTRAINTLANGUAGE + GetRecords.ElementSetName + GetRecords.outputFormat + GetRecords.outputSchema + GetRecords.resultType + GetRecords.typeNames + + + + + + + + + + + CQL_TEXT + FILTER + + + brief + full + summary + + + application/json + application/xml + + + http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ + http://www.interlis.ch/INTERLIS2.3 + http://www.opengis.net/cat/csw/2.0.2 + http://www.opengis.net/cat/csw/csdgm + http://www.w3.org/2005/Atom + + + hits + results + validate + + + csw:Record + + + csw:AnyText + dc:contributor + dc:creator + dc:date + dc:format + dc:identifier + dc:language + dc:publisher + dc:relation + dc:rights + dc:source + dc:subject + dc:title + dc:type + dct:abstract + dct:modified + ows:BoundingBox + + + + + + + + + + + brief + full + summary + + + application/json + application/xml + + + http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ + http://www.interlis.ch/INTERLIS2.3 + http://www.opengis.net/cat/csw/2.0.2 + http://www.opengis.net/cat/csw/csdgm + http://www.w3.org/2005/Atom + + + + + + + + + + + CSW + + + 2.0.2 + 3.0.0 + + + http://demo.pycsw.org/gisdata/csw + + + 10 + + + XML + SOAP + + + allowed + + + + + + gml:Point + gml:LineString + gml:Polygon + gml:Envelope + + + + + + + + + + + + + + + + + + + Between + EqualTo + GreaterThan + GreaterThanEqualTo + LessThan + LessThanEqualTo + Like + NotEqualTo + NullCheck + + + + + length + lower + ltrim + rtrim + trim + upper + + + + + + + + + + diff --git a/tests/functionaltests/suites/default/expected/post_GetCapabilities.xml b/tests/functionaltests/suites/default/expected/post_GetCapabilities.xml new file mode 100644 index 000000000..8026e1b3b --- /dev/null +++ b/tests/functionaltests/suites/default/expected/post_GetCapabilities.xml @@ -0,0 +1,262 @@ + + + + + pycsw Geospatial Catalogue + pycsw is an OGC CSW server implementation written in Python + + catalogue + discovery + theme + + CSW + 2.0.2 + 3.0.0 + None + None + + + pycsw + + + Kralidis, Tom + Senior Systems Scientist + + + +01-416-xxx-xxxx + +01-416-xxx-xxxx + + + TBA + Toronto + Ontario + M9C 3Z9 + Canada + tomkralidis@gmail.com + + + 0800h - 1600h EST + During hours of service. Off on weekends. + + pointOfContact + + + + + + + + + + + + Filter_Capabilities + OperationsMetadata + ServiceIdentification + ServiceProvider + + + + + + + + + + + application/json + application/xml + + + http://www.w3.org/2001/XMLSchema + http://www.w3.org/TR/xmlschema-1/ + http://www.w3.org/XML/Schema + + + csw:Record + + + + + + + + + + + DescribeRecord.outputFormat + DescribeRecord.schemaLanguage + DescribeRecord.typeName + GetCapabilities.sections + GetRecordById.ElementSetName + GetRecordById.outputFormat + GetRecordById.outputSchema + GetRecords.CONSTRAINTLANGUAGE + GetRecords.ElementSetName + GetRecords.outputFormat + GetRecords.outputSchema + GetRecords.resultType + GetRecords.typeNames + + + + + + + + + + + CQL_TEXT + FILTER + + + brief + full + summary + + + application/json + application/xml + + + http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ + http://www.interlis.ch/INTERLIS2.3 + http://www.opengis.net/cat/csw/2.0.2 + http://www.opengis.net/cat/csw/csdgm + http://www.w3.org/2005/Atom + + + hits + results + validate + + + csw:Record + + + csw:AnyText + dc:contributor + dc:creator + dc:date + dc:format + dc:identifier + dc:language + dc:publisher + dc:relation + dc:rights + dc:source + dc:subject + dc:title + dc:type + dct:abstract + dct:modified + ows:BoundingBox + + + + + + + + + + + brief + full + summary + + + application/json + application/xml + + + http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ + http://www.interlis.ch/INTERLIS2.3 + http://www.opengis.net/cat/csw/2.0.2 + http://www.opengis.net/cat/csw/csdgm + http://www.w3.org/2005/Atom + + + + + + + + + + + CSW + + + 2.0.2 + 3.0.0 + + + http://demo.pycsw.org/gisdata/csw + + + 10 + + + XML + SOAP + + + allowed + + + + + + gml:Point + gml:LineString + gml:Polygon + gml:Envelope + + + + + + + + + + + + + + + + + + + Between + EqualTo + GreaterThan + GreaterThanEqualTo + LessThan + LessThanEqualTo + Like + NotEqualTo + NullCheck + + + + + length + lower + ltrim + rtrim + trim + upper + + + + + + + + + + diff --git a/tests/functionaltests/suites/default/expected/post_GetDomain-parameter.xml b/tests/functionaltests/suites/default/expected/post_GetDomain-parameter.xml new file mode 100644 index 000000000..71bdb8a76 --- /dev/null +++ b/tests/functionaltests/suites/default/expected/post_GetDomain-parameter.xml @@ -0,0 +1,11 @@ + + + + + GetRecords.CONSTRAINTLANGUAGE + + CQL_TEXT + FILTER + + + diff --git a/tests/functionaltests/suites/default/expected/post_GetDomain-property.xml b/tests/functionaltests/suites/default/expected/post_GetDomain-property.xml new file mode 100644 index 000000000..257726071 --- /dev/null +++ b/tests/functionaltests/suites/default/expected/post_GetDomain-property.xml @@ -0,0 +1,18 @@ + + + + + dc:title + + Aliquam fermentum purus quis arcu + Fuscé vitae ligulä + Lorem ipsum + Lorem ipsum dolor sit amet + Maecenas enim + Mauris sed neque + Ut facilisis justo ut lacus + Vestibulum massa purus + Ñunç elementum + + + diff --git a/tests/functionaltests/suites/default/expected/post_GetRecordById-json.xml b/tests/functionaltests/suites/default/expected/post_GetRecordById-json.xml new file mode 100644 index 000000000..e8d687f71 --- /dev/null +++ b/tests/functionaltests/suites/default/expected/post_GetRecordById-json.xml @@ -0,0 +1,18 @@ +{ + "csw:GetRecordByIdResponse": { + "@xsi:schemaLocation": "http://www.opengis.net/cat/csw/2.0.2 http://schemas.opengis.net/csw/2.0.2/CSW-discovery.xsd", + "csw:SummaryRecord": { + "dc:identifier": "urn:uuid:94bc9c83-97f6-4b40-9eb8-a8e8787a5c63", + "dc:title": "Mauris sed neque", + "dc:type": "http://purl.org/dc/dcmitype/Dataset", + "dc:subject": "Vegetation-Cropland", + "dct:abstract": "Curabitur lacinia, ante non porta tempus, mi lorem feugiat odio, eget suscipit eros pede ac velit.", + "ows:BoundingBox": { + "@crs": "urn:x-ogc:def:crs:EPSG:6.11:4326", + "@dimensions": "2", + "ows:LowerCorner": "47.59 -4.1", + "ows:UpperCorner": "51.22 0.89" + } + } + } +} \ No newline at end of file diff --git a/tests/functionaltests/suites/default/expected/post_GetRecordById.xml b/tests/functionaltests/suites/default/expected/post_GetRecordById.xml new file mode 100644 index 000000000..6cddad959 --- /dev/null +++ b/tests/functionaltests/suites/default/expected/post_GetRecordById.xml @@ -0,0 +1,15 @@ + + + + + urn:uuid:94bc9c83-97f6-4b40-9eb8-a8e8787a5c63 + Mauris sed neque + http://purl.org/dc/dcmitype/Dataset + Vegetation-Cropland + Curabitur lacinia, ante non porta tempus, mi lorem feugiat odio, eget suscipit eros pede ac velit. + + 47.59 -4.1 + 51.22 0.89 + + + diff --git a/tests/functionaltests/suites/default/expected/post_GetRecords-all-json.xml b/tests/functionaltests/suites/default/expected/post_GetRecords-all-json.xml new file mode 100644 index 000000000..20fbf3798 --- /dev/null +++ b/tests/functionaltests/suites/default/expected/post_GetRecords-all-json.xml @@ -0,0 +1,64 @@ +{ + "csw:GetRecordsResponse": { + "@version": "2.0.2", + "@xsi:schemaLocation": "http://www.opengis.net/cat/csw/2.0.2 http://schemas.opengis.net/csw/2.0.2/CSW-discovery.xsd", + "csw:SearchStatus": { + "@timestamp": "PYCSW_TIMESTAMP" + }, + "csw:SearchResults": { + "@nextRecord": "6", + "@numberOfRecordsMatched": "12", + "@numberOfRecordsReturned": "5", + "@recordSchema": "http://www.opengis.net/cat/csw/2.0.2", + "@elementSet": "full", + "csw:Record": [ + { + "dc:identifier": "urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f", + "dc:type": "http://purl.org/dc/dcmitype/Image", + "dc:format": "image/svg+xml", + "dc:title": "Lorem ipsum", + "dct:spatial": "GR-22", + "dc:subject": "Tourism--Greece", + "dct:abstract": "Quisque lacus diam, placerat mollis, pharetra in, commodo sed, augue. Duis iaculis arcu vel arcu." + }, + { + "dc:identifier": "urn:uuid:1ef30a8b-876d-4828-9246-c37ab4510bbd", + "dc:type": "http://purl.org/dc/dcmitype/Service", + "dct:abstract": "Proin sit amet justo. In justo. Aenean adipiscing nulla id tellus.", + "ows:BoundingBox": { + "@crs": "urn:x-ogc:def:crs:EPSG:6.11:4326", + "ows:LowerCorner": "60.042 13.754", + "ows:UpperCorner": "68.410 17.920" + } + }, + { + "dc:identifier": "urn:uuid:66ae76b7-54ba-489b-a582-0f0633d96493", + "dc:title": "Maecenas enim", + "dc:type": "http://purl.org/dc/dcmitype/Text", + "dc:format": "application/xhtml+xml", + "dc:subject": "Marine sediments", + "dct:abstract": "Pellentesque tempus magna non sapien fringilla blandit." + }, + { + "dc:identifier": "urn:uuid:6a3de50b-fa66-4b58-a0e6-ca146fdd18d4", + "dc:type": "http://purl.org/dc/dcmitype/Service", + "dc:title": "Ut facilisis justo ut lacus", + "dc:subject": { + "@scheme": "http://www.digest.org/2.1", + "#text": "Vegetation" + }, + "dc:relation": "urn:uuid:94bc9c83-97f6-4b40-9eb8-a8e8787a5c63" + }, + { + "dc:identifier": "urn:uuid:784e2afd-a9fd-44a6-9a92-a3848371c8ec", + "dc:title": "Aliquam fermentum purus quis arcu", + "dc:type": "http://purl.org/dc/dcmitype/Text", + "dc:subject": "Hydrography--Dictionaries", + "dc:format": "application/pdf", + "dc:date": "2006-05-12", + "dct:abstract": "Vestibulum quis ipsum sit amet metus imperdiet vehicula. Nulla scelerisque cursus mi." + } + ] + } + } +} \ No newline at end of file diff --git a/tests/functionaltests/suites/default/expected/post_GetRecords-all-resulttype-hits.xml b/tests/functionaltests/suites/default/expected/post_GetRecords-all-resulttype-hits.xml new file mode 100644 index 000000000..b93efb288 --- /dev/null +++ b/tests/functionaltests/suites/default/expected/post_GetRecords-all-resulttype-hits.xml @@ -0,0 +1,6 @@ + + + + + + diff --git a/tests/functionaltests/suites/default/expected/post_GetRecords-all-resulttype-validate.xml b/tests/functionaltests/suites/default/expected/post_GetRecords-all-resulttype-validate.xml new file mode 100644 index 000000000..40bc3449b --- /dev/null +++ b/tests/functionaltests/suites/default/expected/post_GetRecords-all-resulttype-validate.xml @@ -0,0 +1,11 @@ + + + + + + + full + + + + diff --git a/tests/functionaltests/suites/default/expected/post_GetRecords-all-sortby-bbox.xml b/tests/functionaltests/suites/default/expected/post_GetRecords-all-sortby-bbox.xml new file mode 100644 index 000000000..e6bb27292 --- /dev/null +++ b/tests/functionaltests/suites/default/expected/post_GetRecords-all-sortby-bbox.xml @@ -0,0 +1,56 @@ + + + + + + + urn:uuid:1ef30a8b-876d-4828-9246-c37ab4510bbd + http://purl.org/dc/dcmitype/Service + Proin sit amet justo. In justo. Aenean adipiscing nulla id tellus. + + 60.042 13.754 + 68.410 17.920 + + + + urn:uuid:9a669547-b69b-469f-a11f-2d875366bbdc + http://purl.org/dc/dcmitype/Dataset + Ñunç elementum + Hydrography-Oceanographic + 2005-10-24 + + 44.792 -6.171 + 51.126 -2.228 + + + + urn:uuid:94bc9c83-97f6-4b40-9eb8-a8e8787a5c63 + http://purl.org/dc/dcmitype/Dataset + Mauris sed neque + Vegetation-Cropland + Curabitur lacinia, ante non porta tempus, mi lorem feugiat odio, eget suscipit eros pede ac velit. + 2006-03-26 + + 47.595 -4.097 + 51.217 0.889 + + + + urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f + http://purl.org/dc/dcmitype/Image + image/svg+xml + Lorem ipsum + GR-22 + Tourism--Greece + Quisque lacus diam, placerat mollis, pharetra in, commodo sed, augue. Duis iaculis arcu vel arcu. + + + urn:uuid:66ae76b7-54ba-489b-a582-0f0633d96493 + Maecenas enim + http://purl.org/dc/dcmitype/Text + application/xhtml+xml + Marine sediments + Pellentesque tempus magna non sapien fringilla blandit. + + + diff --git a/tests/functionaltests/suites/default/expected/post_GetRecords-all.xml b/tests/functionaltests/suites/default/expected/post_GetRecords-all.xml new file mode 100644 index 000000000..97ead2e33 --- /dev/null +++ b/tests/functionaltests/suites/default/expected/post_GetRecords-all.xml @@ -0,0 +1,49 @@ + + + + + + + urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f + http://purl.org/dc/dcmitype/Image + image/svg+xml + Lorem ipsum + GR-22 + Tourism--Greece + Quisque lacus diam, placerat mollis, pharetra in, commodo sed, augue. Duis iaculis arcu vel arcu. + + + urn:uuid:1ef30a8b-876d-4828-9246-c37ab4510bbd + http://purl.org/dc/dcmitype/Service + Proin sit amet justo. In justo. Aenean adipiscing nulla id tellus. + + 60.042 13.754 + 68.410 17.920 + + + + urn:uuid:66ae76b7-54ba-489b-a582-0f0633d96493 + Maecenas enim + http://purl.org/dc/dcmitype/Text + application/xhtml+xml + Marine sediments + Pellentesque tempus magna non sapien fringilla blandit. + + + urn:uuid:6a3de50b-fa66-4b58-a0e6-ca146fdd18d4 + http://purl.org/dc/dcmitype/Service + Ut facilisis justo ut lacus + Vegetation + urn:uuid:94bc9c83-97f6-4b40-9eb8-a8e8787a5c63 + + + urn:uuid:784e2afd-a9fd-44a6-9a92-a3848371c8ec + Aliquam fermentum purus quis arcu + http://purl.org/dc/dcmitype/Text + Hydrography--Dictionaries + application/pdf + 2006-05-12 + Vestibulum quis ipsum sit amet metus imperdiet vehicula. Nulla scelerisque cursus mi. + + + diff --git a/tests/functionaltests/suites/default/expected/post_GetRecords-bbox-filter-crs84.xml b/tests/functionaltests/suites/default/expected/post_GetRecords-bbox-filter-crs84.xml new file mode 100644 index 000000000..97de18a9a --- /dev/null +++ b/tests/functionaltests/suites/default/expected/post_GetRecords-bbox-filter-crs84.xml @@ -0,0 +1,34 @@ + + + + + + + urn:uuid:1ef30a8b-876d-4828-9246-c37ab4510bbd + + http://purl.org/dc/dcmitype/Service + + 60.04 13.75 + 68.41 17.92 + + + + urn:uuid:94bc9c83-97f6-4b40-9eb8-a8e8787a5c63 + Mauris sed neque + http://purl.org/dc/dcmitype/Dataset + + 47.59 -4.1 + 51.22 0.89 + + + + urn:uuid:9a669547-b69b-469f-a11f-2d875366bbdc + Ñunç elementum + http://purl.org/dc/dcmitype/Dataset + + 44.79 -6.17 + 51.13 -2.23 + + + + diff --git a/tests/functionaltests/suites/default/expected/post_GetRecords-cql-title-and-abstract.xml b/tests/functionaltests/suites/default/expected/post_GetRecords-cql-title-and-abstract.xml new file mode 100644 index 000000000..4ed61a2ee --- /dev/null +++ b/tests/functionaltests/suites/default/expected/post_GetRecords-cql-title-and-abstract.xml @@ -0,0 +1,12 @@ + + + + + + + urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f + Lorem ipsum + http://purl.org/dc/dcmitype/Image + + + diff --git a/tests/functionaltests/suites/default/expected/post_GetRecords-cql-title.xml b/tests/functionaltests/suites/default/expected/post_GetRecords-cql-title.xml new file mode 100644 index 000000000..47493bb32 --- /dev/null +++ b/tests/functionaltests/suites/default/expected/post_GetRecords-cql-title.xml @@ -0,0 +1,17 @@ + + + + + + + urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f + Lorem ipsum + http://purl.org/dc/dcmitype/Image + + + urn:uuid:a06af396-3105-442d-8b40-22b57a90d2f2 + Lorem ipsum dolor sit amet + http://purl.org/dc/dcmitype/Image + + + diff --git a/tests/functionaltests/suites/default/expected/post_GetRecords-distributedsearch.xml b/tests/functionaltests/suites/default/expected/post_GetRecords-distributedsearch.xml new file mode 100644 index 000000000..d8f0c0f9f --- /dev/null +++ b/tests/functionaltests/suites/default/expected/post_GetRecords-distributedsearch.xml @@ -0,0 +1,17 @@ + + + + + + + + urn:uuid:dd87919a-e399-11e5-8327-aa0000ae6bfc + Aquifers + vector digital data + + 32.55 -117.6 + 33.51 -116.08 + + + + diff --git a/tests/functionaltests/suites/default/expected/post_GetRecords-elementname.xml b/tests/functionaltests/suites/default/expected/post_GetRecords-elementname.xml new file mode 100644 index 000000000..29fbf6340 --- /dev/null +++ b/tests/functionaltests/suites/default/expected/post_GetRecords-elementname.xml @@ -0,0 +1,20 @@ + + + + + + + Lorem ipsum + + + + Maecenas enim + + + Ut facilisis justo ut lacus + + + Aliquam fermentum purus quis arcu + + + diff --git a/tests/functionaltests/suites/default/expected/post_GetRecords-end.xml b/tests/functionaltests/suites/default/expected/post_GetRecords-end.xml new file mode 100644 index 000000000..814be1f3d --- /dev/null +++ b/tests/functionaltests/suites/default/expected/post_GetRecords-end.xml @@ -0,0 +1,30 @@ + + + + + + + urn:uuid:a06af396-3105-442d-8b40-22b57a90d2f2 + http://purl.org/dc/dcmitype/Image + Lorem ipsum dolor sit amet + image/jpeg + IT-FI + + + urn:uuid:ab42a8c4-95e8-4630-bf79-33e59241605a + http://purl.org/dc/dcmitype/Service + Physiography + Suspendisse accumsan molestie lorem. Nullam velit turpis, mattis ut, varius bibendum, laoreet non, quam. + urn:uuid:88247b56-4cbc-4df9-9860-db3f8042e357 + + + urn:uuid:e9330592-0932-474b-be34-c3a3bb67c7db + http://purl.org/dc/dcmitype/Text + Fuscé vitae ligulä + 2003-05-09 + Land titles + text/rtf + Morbi ultriçes, dui suscipit vestibulum prètium, velit ante pretium tortor, egët tincidunt pede odio ac nulla. + + + diff --git a/tests/functionaltests/suites/default/expected/post_GetRecords-filter-and-bbox-freetext.xml b/tests/functionaltests/suites/default/expected/post_GetRecords-filter-and-bbox-freetext.xml new file mode 100644 index 000000000..e45a6a273 --- /dev/null +++ b/tests/functionaltests/suites/default/expected/post_GetRecords-filter-and-bbox-freetext.xml @@ -0,0 +1,16 @@ + + + + + + + urn:uuid:94bc9c83-97f6-4b40-9eb8-a8e8787a5c63 + Mauris sed neque + http://purl.org/dc/dcmitype/Dataset + + 47.59 -4.1 + 51.22 0.89 + + + + diff --git a/tests/functionaltests/suites/default/expected/post_GetRecords-filter-and-nested-or.xml b/tests/functionaltests/suites/default/expected/post_GetRecords-filter-and-nested-or.xml new file mode 100644 index 000000000..a05b8561a --- /dev/null +++ b/tests/functionaltests/suites/default/expected/post_GetRecords-filter-and-nested-or.xml @@ -0,0 +1,16 @@ + + + + + + + urn:uuid:784e2afd-a9fd-44a6-9a92-a3848371c8ec + Aliquam fermentum purus quis arcu + http://purl.org/dc/dcmitype/Text + Hydrography--Dictionaries + application/pdf + 2006-05-12 + Vestibulum quis ipsum sit amet metus imperdiet vehicula. Nulla scelerisque cursus mi. + + + diff --git a/tests/functionaltests/suites/default/expected/post_GetRecords-filter-and-nested-or2.xml b/tests/functionaltests/suites/default/expected/post_GetRecords-filter-and-nested-or2.xml new file mode 100644 index 000000000..2b1accdf9 --- /dev/null +++ b/tests/functionaltests/suites/default/expected/post_GetRecords-filter-and-nested-or2.xml @@ -0,0 +1,23 @@ + + + + + + + urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f + http://purl.org/dc/dcmitype/Image + image/svg+xml + Lorem ipsum + GR-22 + Tourism--Greece + Quisque lacus diam, placerat mollis, pharetra in, commodo sed, augue. Duis iaculis arcu vel arcu. + + + urn:uuid:a06af396-3105-442d-8b40-22b57a90d2f2 + http://purl.org/dc/dcmitype/Image + Lorem ipsum dolor sit amet + image/jpeg + IT-FI + + + diff --git a/tests/functionaltests/suites/default/expected/post_GetRecords-filter-anytext-and-not.xml b/tests/functionaltests/suites/default/expected/post_GetRecords-filter-anytext-and-not.xml new file mode 100644 index 000000000..d758ab92b --- /dev/null +++ b/tests/functionaltests/suites/default/expected/post_GetRecords-filter-anytext-and-not.xml @@ -0,0 +1,15 @@ + + + + + + + urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f + Lorem ipsum + http://purl.org/dc/dcmitype/Image + Tourism--Greece + image/svg+xml + Quisque lacus diam, placerat mollis, pharetra in, commodo sed, augue. Duis iaculis arcu vel arcu. + + + diff --git a/tests/functionaltests/suites/default/expected/post_GetRecords-filter-anytext-equal.xml b/tests/functionaltests/suites/default/expected/post_GetRecords-filter-anytext-equal.xml new file mode 100644 index 000000000..3b348919b --- /dev/null +++ b/tests/functionaltests/suites/default/expected/post_GetRecords-filter-anytext-equal.xml @@ -0,0 +1,36 @@ + + + + + + + urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f + Lorem ipsum + http://purl.org/dc/dcmitype/Image + + + urn:uuid:88247b56-4cbc-4df9-9860-db3f8042e357 + + http://purl.org/dc/dcmitype/Dataset + + + urn:uuid:94bc9c83-97f6-4b40-9eb8-a8e8787a5c63 + Mauris sed neque + http://purl.org/dc/dcmitype/Dataset + + 47.59 -4.1 + 51.22 0.89 + + + + urn:uuid:a06af396-3105-442d-8b40-22b57a90d2f2 + Lorem ipsum dolor sit amet + http://purl.org/dc/dcmitype/Image + + + urn:uuid:ab42a8c4-95e8-4630-bf79-33e59241605a + + http://purl.org/dc/dcmitype/Service + + + diff --git a/tests/functionaltests/suites/default/expected/post_GetRecords-filter-anytext.xml b/tests/functionaltests/suites/default/expected/post_GetRecords-filter-anytext.xml new file mode 100644 index 000000000..3b348919b --- /dev/null +++ b/tests/functionaltests/suites/default/expected/post_GetRecords-filter-anytext.xml @@ -0,0 +1,36 @@ + + + + + + + urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f + Lorem ipsum + http://purl.org/dc/dcmitype/Image + + + urn:uuid:88247b56-4cbc-4df9-9860-db3f8042e357 + + http://purl.org/dc/dcmitype/Dataset + + + urn:uuid:94bc9c83-97f6-4b40-9eb8-a8e8787a5c63 + Mauris sed neque + http://purl.org/dc/dcmitype/Dataset + + 47.59 -4.1 + 51.22 0.89 + + + + urn:uuid:a06af396-3105-442d-8b40-22b57a90d2f2 + Lorem ipsum dolor sit amet + http://purl.org/dc/dcmitype/Image + + + urn:uuid:ab42a8c4-95e8-4630-bf79-33e59241605a + + http://purl.org/dc/dcmitype/Service + + + diff --git a/tests/functionaltests/suites/default/expected/post_GetRecords-filter-bbox-reproject.xml b/tests/functionaltests/suites/default/expected/post_GetRecords-filter-bbox-reproject.xml new file mode 100644 index 000000000..8f98b1d0e --- /dev/null +++ b/tests/functionaltests/suites/default/expected/post_GetRecords-filter-bbox-reproject.xml @@ -0,0 +1,25 @@ + + + + + + + urn:uuid:94bc9c83-97f6-4b40-9eb8-a8e8787a5c63 + Mauris sed neque + http://purl.org/dc/dcmitype/Dataset + + 47.59 -4.1 + 51.22 0.89 + + + + urn:uuid:9a669547-b69b-469f-a11f-2d875366bbdc + Ñunç elementum + http://purl.org/dc/dcmitype/Dataset + + 44.79 -6.17 + 51.13 -2.23 + + + + diff --git a/tests/functionaltests/suites/default/expected/post_GetRecords-filter-bbox-sortby.xml b/tests/functionaltests/suites/default/expected/post_GetRecords-filter-bbox-sortby.xml new file mode 100644 index 000000000..bb2e92067 --- /dev/null +++ b/tests/functionaltests/suites/default/expected/post_GetRecords-filter-bbox-sortby.xml @@ -0,0 +1,25 @@ + + + + + + + urn:uuid:9a669547-b69b-469f-a11f-2d875366bbdc + Ñunç elementum + http://purl.org/dc/dcmitype/Dataset + + 44.79 -6.17 + 51.13 -2.23 + + + + urn:uuid:94bc9c83-97f6-4b40-9eb8-a8e8787a5c63 + Mauris sed neque + http://purl.org/dc/dcmitype/Dataset + + 47.59 -4.1 + 51.22 0.89 + + + + diff --git a/tests/functionaltests/suites/default/expected/post_GetRecords-filter-bbox.xml b/tests/functionaltests/suites/default/expected/post_GetRecords-filter-bbox.xml new file mode 100644 index 000000000..8f98b1d0e --- /dev/null +++ b/tests/functionaltests/suites/default/expected/post_GetRecords-filter-bbox.xml @@ -0,0 +1,25 @@ + + + + + + + urn:uuid:94bc9c83-97f6-4b40-9eb8-a8e8787a5c63 + Mauris sed neque + http://purl.org/dc/dcmitype/Dataset + + 47.59 -4.1 + 51.22 0.89 + + + + urn:uuid:9a669547-b69b-469f-a11f-2d875366bbdc + Ñunç elementum + http://purl.org/dc/dcmitype/Dataset + + 44.79 -6.17 + 51.13 -2.23 + + + + diff --git a/tests/functionaltests/suites/default/expected/post_GetRecords-filter-between.xml b/tests/functionaltests/suites/default/expected/post_GetRecords-filter-between.xml new file mode 100644 index 000000000..37d75866e --- /dev/null +++ b/tests/functionaltests/suites/default/expected/post_GetRecords-filter-between.xml @@ -0,0 +1,49 @@ + + + + + + + urn:uuid:784e2afd-a9fd-44a6-9a92-a3848371c8ec + Aliquam fermentum purus quis arcu + http://purl.org/dc/dcmitype/Text + Hydrography--Dictionaries + application/pdf + 2006-05-12 + Vestibulum quis ipsum sit amet metus imperdiet vehicula. Nulla scelerisque cursus mi. + + + urn:uuid:e9330592-0932-474b-be34-c3a3bb67c7db + http://purl.org/dc/dcmitype/Text + Fuscé vitae ligulä + 2003-05-09 + Land titles + text/rtf + Morbi ultriçes, dui suscipit vestibulum prètium, velit ante pretium tortor, egët tincidunt pede odio ac nulla. + + + urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f + http://purl.org/dc/dcmitype/Image + image/svg+xml + Lorem ipsum + GR-22 + Tourism--Greece + Quisque lacus diam, placerat mollis, pharetra in, commodo sed, augue. Duis iaculis arcu vel arcu. + + + urn:uuid:a06af396-3105-442d-8b40-22b57a90d2f2 + http://purl.org/dc/dcmitype/Image + Lorem ipsum dolor sit amet + image/jpeg + IT-FI + + + urn:uuid:66ae76b7-54ba-489b-a582-0f0633d96493 + Maecenas enim + http://purl.org/dc/dcmitype/Text + application/xhtml+xml + Marine sediments + Pellentesque tempus magna non sapien fringilla blandit. + + + diff --git a/tests/functionaltests/suites/default/expected/post_GetRecords-filter-function-bad.xml b/tests/functionaltests/suites/default/expected/post_GetRecords-filter-function-bad.xml new file mode 100644 index 000000000..bc63e8426 --- /dev/null +++ b/tests/functionaltests/suites/default/expected/post_GetRecords-filter-function-bad.xml @@ -0,0 +1,7 @@ + + + + + Invalid Constraint: Invalid Filter request: Invalid ogc:Function: foo + + diff --git a/tests/functionaltests/suites/default/expected/post_GetRecords-filter-function.xml b/tests/functionaltests/suites/default/expected/post_GetRecords-filter-function.xml new file mode 100644 index 000000000..4ed61a2ee --- /dev/null +++ b/tests/functionaltests/suites/default/expected/post_GetRecords-filter-function.xml @@ -0,0 +1,12 @@ + + + + + + + urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f + Lorem ipsum + http://purl.org/dc/dcmitype/Image + + + diff --git a/tests/functionaltests/suites/default/expected/post_GetRecords-filter-not-bbox.xml b/tests/functionaltests/suites/default/expected/post_GetRecords-filter-not-bbox.xml new file mode 100644 index 000000000..03686d45d --- /dev/null +++ b/tests/functionaltests/suites/default/expected/post_GetRecords-filter-not-bbox.xml @@ -0,0 +1,36 @@ + + + + + + + urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f + Lorem ipsum + http://purl.org/dc/dcmitype/Image + + + urn:uuid:1ef30a8b-876d-4828-9246-c37ab4510bbd + + http://purl.org/dc/dcmitype/Service + + 60.04 13.75 + 68.41 17.92 + + + + urn:uuid:66ae76b7-54ba-489b-a582-0f0633d96493 + Maecenas enim + http://purl.org/dc/dcmitype/Text + + + urn:uuid:6a3de50b-fa66-4b58-a0e6-ca146fdd18d4 + Ut facilisis justo ut lacus + http://purl.org/dc/dcmitype/Service + + + urn:uuid:784e2afd-a9fd-44a6-9a92-a3848371c8ec + Aliquam fermentum purus quis arcu + http://purl.org/dc/dcmitype/Text + + + diff --git a/tests/functionaltests/suites/default/expected/post_GetRecords-filter-or-bbox-freetext.xml b/tests/functionaltests/suites/default/expected/post_GetRecords-filter-or-bbox-freetext.xml new file mode 100644 index 000000000..8f98b1d0e --- /dev/null +++ b/tests/functionaltests/suites/default/expected/post_GetRecords-filter-or-bbox-freetext.xml @@ -0,0 +1,25 @@ + + + + + + + urn:uuid:94bc9c83-97f6-4b40-9eb8-a8e8787a5c63 + Mauris sed neque + http://purl.org/dc/dcmitype/Dataset + + 47.59 -4.1 + 51.22 0.89 + + + + urn:uuid:9a669547-b69b-469f-a11f-2d875366bbdc + Ñunç elementum + http://purl.org/dc/dcmitype/Dataset + + 44.79 -6.17 + 51.13 -2.23 + + + + diff --git a/tests/functionaltests/suites/default/expected/post_GetRecords-filter-or-nested-and.xml b/tests/functionaltests/suites/default/expected/post_GetRecords-filter-or-nested-and.xml new file mode 100644 index 000000000..077ef2fb1 --- /dev/null +++ b/tests/functionaltests/suites/default/expected/post_GetRecords-filter-or-nested-and.xml @@ -0,0 +1,60 @@ + + + + + + + urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f + http://purl.org/dc/dcmitype/Image + image/svg+xml + Lorem ipsum + GR-22 + Tourism--Greece + Quisque lacus diam, placerat mollis, pharetra in, commodo sed, augue. Duis iaculis arcu vel arcu. + + + urn:uuid:829babb0-b2f1-49e1-8cd5-7b489fe71a1e + http://purl.org/dc/dcmitype/Image + image/jp2 + Vestibulum massa purus + urn:uuid:9a669547-b69b-469f-a11f-2d875366bbdc + + + urn:uuid:88247b56-4cbc-4df9-9860-db3f8042e357 + http://purl.org/dc/dcmitype/Dataset + Physiography-Landforms + FI-ES + Donec scelerisque pede ut nisl luctus accumsan. Quisque ultrices, lorem eget feugiat fringilla, lorem dui porttitor ante, cursus ultrices magna odio eu neque. + + + urn:uuid:94bc9c83-97f6-4b40-9eb8-a8e8787a5c63 + http://purl.org/dc/dcmitype/Dataset + Mauris sed neque + Vegetation-Cropland + Curabitur lacinia, ante non porta tempus, mi lorem feugiat odio, eget suscipit eros pede ac velit. + 2006-03-26 + + 47.595 -4.097 + 51.217 0.889 + + + + urn:uuid:9a669547-b69b-469f-a11f-2d875366bbdc + http://purl.org/dc/dcmitype/Dataset + Ñunç elementum + Hydrography-Oceanographic + 2005-10-24 + + 44.792 -6.171 + 51.126 -2.228 + + + + urn:uuid:a06af396-3105-442d-8b40-22b57a90d2f2 + http://purl.org/dc/dcmitype/Image + Lorem ipsum dolor sit amet + image/jpeg + IT-FI + + + diff --git a/tests/functionaltests/suites/default/expected/post_GetRecords-filter-or-title-abstract.xml b/tests/functionaltests/suites/default/expected/post_GetRecords-filter-or-title-abstract.xml new file mode 100644 index 000000000..0f34eb38b --- /dev/null +++ b/tests/functionaltests/suites/default/expected/post_GetRecords-filter-or-title-abstract.xml @@ -0,0 +1,19 @@ + + + + + + + urn:uuid:94bc9c83-97f6-4b40-9eb8-a8e8787a5c63 + http://purl.org/dc/dcmitype/Dataset + Mauris sed neque + Vegetation-Cropland + Curabitur lacinia, ante non porta tempus, mi lorem feugiat odio, eget suscipit eros pede ac velit. + 2006-03-26 + + 47.595 -4.097 + 51.217 0.889 + + + + diff --git a/tests/functionaltests/suites/default/expected/post_GetRecords-maxrecords.xml b/tests/functionaltests/suites/default/expected/post_GetRecords-maxrecords.xml new file mode 100644 index 000000000..bd4275d63 --- /dev/null +++ b/tests/functionaltests/suites/default/expected/post_GetRecords-maxrecords.xml @@ -0,0 +1,16 @@ + + + + + + + urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f + http://purl.org/dc/dcmitype/Image + image/svg+xml + Lorem ipsum + GR-22 + Tourism--Greece + Quisque lacus diam, placerat mollis, pharetra in, commodo sed, augue. Duis iaculis arcu vel arcu. + + + diff --git a/tests/functionaltests/suites/default/expected/post_GetRecords-requestid.xml b/tests/functionaltests/suites/default/expected/post_GetRecords-requestid.xml new file mode 100644 index 000000000..31d201904 --- /dev/null +++ b/tests/functionaltests/suites/default/expected/post_GetRecords-requestid.xml @@ -0,0 +1,50 @@ + + + + ce74a6c8-677a-42b3-a07c-ce44df8ce7ab + + + + urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f + http://purl.org/dc/dcmitype/Image + image/svg+xml + Lorem ipsum + GR-22 + Tourism--Greece + Quisque lacus diam, placerat mollis, pharetra in, commodo sed, augue. Duis iaculis arcu vel arcu. + + + urn:uuid:1ef30a8b-876d-4828-9246-c37ab4510bbd + http://purl.org/dc/dcmitype/Service + Proin sit amet justo. In justo. Aenean adipiscing nulla id tellus. + + 60.042 13.754 + 68.410 17.920 + + + + urn:uuid:66ae76b7-54ba-489b-a582-0f0633d96493 + Maecenas enim + http://purl.org/dc/dcmitype/Text + application/xhtml+xml + Marine sediments + Pellentesque tempus magna non sapien fringilla blandit. + + + urn:uuid:6a3de50b-fa66-4b58-a0e6-ca146fdd18d4 + http://purl.org/dc/dcmitype/Service + Ut facilisis justo ut lacus + Vegetation + urn:uuid:94bc9c83-97f6-4b40-9eb8-a8e8787a5c63 + + + urn:uuid:784e2afd-a9fd-44a6-9a92-a3848371c8ec + Aliquam fermentum purus quis arcu + http://purl.org/dc/dcmitype/Text + Hydrography--Dictionaries + application/pdf + 2006-05-12 + Vestibulum quis ipsum sit amet metus imperdiet vehicula. Nulla scelerisque cursus mi. + + + diff --git a/tests/functionaltests/suites/default/expected/post_Harvest-default.xml b/tests/functionaltests/suites/default/expected/post_Harvest-default.xml new file mode 100644 index 000000000..169151fb0 --- /dev/null +++ b/tests/functionaltests/suites/default/expected/post_Harvest-default.xml @@ -0,0 +1,7 @@ + + + + + Harvest operations are not supported + + diff --git a/tests/functionaltests/suites/default/expected/post_Harvest-response-handler.xml b/tests/functionaltests/suites/default/expected/post_Harvest-response-handler.xml new file mode 100644 index 000000000..169151fb0 --- /dev/null +++ b/tests/functionaltests/suites/default/expected/post_Harvest-response-handler.xml @@ -0,0 +1,7 @@ + + + + + Harvest operations are not supported + + diff --git a/tests/functionaltests/suites/default/expected/post_Transaction-delete.xml b/tests/functionaltests/suites/default/expected/post_Transaction-delete.xml new file mode 100644 index 000000000..2b4a6e3fd --- /dev/null +++ b/tests/functionaltests/suites/default/expected/post_Transaction-delete.xml @@ -0,0 +1,7 @@ + + + + + Invalid Constraint: Invalid Filter request: Invalid PropertyName: apiso:Identifier. 'apiso:Identifier' + + diff --git a/tests/functionaltests/suites/default/expected/post_Transaction-insert.xml b/tests/functionaltests/suites/default/expected/post_Transaction-insert.xml new file mode 100644 index 000000000..f5df4c66c --- /dev/null +++ b/tests/functionaltests/suites/default/expected/post_Transaction-insert.xml @@ -0,0 +1,7 @@ + + + + + Transaction operations are not supported + + diff --git a/tests/functionaltests/suites/default/expected/post_Transaction-update-full.xml b/tests/functionaltests/suites/default/expected/post_Transaction-update-full.xml new file mode 100644 index 000000000..f5df4c66c --- /dev/null +++ b/tests/functionaltests/suites/default/expected/post_Transaction-update-full.xml @@ -0,0 +1,7 @@ + + + + + Transaction operations are not supported + + diff --git a/tests/functionaltests/suites/default/expected/post_Transaction-update-recordproperty.xml b/tests/functionaltests/suites/default/expected/post_Transaction-update-recordproperty.xml new file mode 100644 index 000000000..f5df4c66c --- /dev/null +++ b/tests/functionaltests/suites/default/expected/post_Transaction-update-recordproperty.xml @@ -0,0 +1,7 @@ + + + + + Transaction operations are not supported + + diff --git a/tests/functionaltests/suites/default/get/requests.txt b/tests/functionaltests/suites/default/get/requests.txt new file mode 100644 index 000000000..ee368671b --- /dev/null +++ b/tests/functionaltests/suites/default/get/requests.txt @@ -0,0 +1,20 @@ +GetCapabilities,PYCSW_SERVER?config=tests/suites/default/default.cfg&service=CSW&version=2.0.2&request=GetCapabilities +GetCapabilities-invalid-request,PYCSW_SERVER?config=tests/suites/default/default.cfg&service=CSW&version=2.0.2&request=GetCapabilitiese +GetRecords-all,PYCSW_SERVER?config=tests/suites/default/default.cfg&service=CSW&version=2.0.2&request=GetRecords&typenames=csw:Record&elementsetname=full +GetRecords-sortby-asc,PYCSW_SERVER?config=tests/suites/default/default.cfg&service=CSW&version=2.0.2&request=GetRecords&typenames=csw:Record&elementsetname=full&resulttype=results&sortby=dc:title:A +GetRecords-sortby-desc,PYCSW_SERVER?config=tests/suites/default/default.cfg&service=CSW&version=2.0.2&request=GetRecords&typenames=csw:Record&elementsetname=full&resulttype=results&sortby=dc:title:D +GetRecords-sortby-invalid-propertyname,PYCSW_SERVER?config=tests/suites/default/default.cfg&service=CSW&version=2.0.2&request=GetRecords&typenames=csw:Record&elementsetname=full&resulttype=results&sortby=dc:titlei:A +GetRecords-sortby-invalid-order,PYCSW_SERVER?config=tests/suites/default/default.cfg&service=CSW&version=2.0.2&request=GetRecords&typenames=csw:Record&elementsetname=full&resulttype=results&sortby=dc:title:FOO +GetRecords-filter,PYCSW_SERVER?config=tests/suites/default/default.cfg&service=CSW&version=2.0.2&request=GetRecords&typenames=csw:Record&elementsetname=full&resulttype=results&constraintlanguage=FILTER&constraint=%3Cogc%3AFilter%20xmlns%3Aogc%3D%22http%3A%2F%2Fwww.opengis.net%2Fogc%22%3E%3Cogc%3APropertyIsEqualTo%3E%3Cogc%3APropertyName%3Edc%3Atitle%3C%2Fogc%3APropertyName%3E%3Cogc%3ALiteral%3ELorem%20ipsum%3C%2Fogc%3ALiteral%3E%3C%2Fogc%3APropertyIsEqualTo%3E%3C%2Fogc%3AFilter%3E +GetRecords-filter-cql-title,PYCSW_SERVER?config=tests/suites/default/default.cfg&service=CSW&version=2.0.2&request=GetRecords&typenames=csw:Record&elementsetname=full&resulttype=results&constraintlanguage=CQL_TEXT&constraint=dc%3Atitle%20like%20%27%25lor%25%27 +GetRecords-filter-cql-title-with-spaces,PYCSW_SERVER?config=tests/suites/default/default.cfg&service=CSW&version=2.0.2&request=GetRecords&typenames=csw:Record&elementsetname=full&resulttype=results&constraintlanguage=CQL_TEXT&constraint=dc%3Atitle%20like%20%27%25Lorem%20ipsum%25%27 +GetRecords-filter-cql-title-or-abstract,PYCSW_SERVER?config=tests/suites/default/default.cfg&service=CSW&version=2.0.2&request=GetRecords&typenames=csw:Record&elementsetname=full&resulttype=results&constraintlanguage=CQL_TEXT&constraint=dc%3Atitle%20like%20%27%25lor%25%27%20or%20dct%3Aabstract%20like%20%27%25pharetra%25%27 +GetRecords-filter-cql-title-with-spaces-or-abstract,PYCSW_SERVER?config=tests/suites/default/default.cfg&service=CSW&version=2.0.2&request=GetRecords&typenames=csw:Record&elementsetname=full&resulttype=results&constraintlanguage=CQL_TEXT&constraint=dc%3Atitle%20like%20%27%25dolor%20sit%25%27%20or%20dct%3Aabstract%20like%20%27%25pharetra%25%27 +GetRecords-filter-cql-title-or-abstract-with-spaces,PYCSW_SERVER?config=tests/suites/default/default.cfg&service=CSW&version=2.0.2&request=GetRecords&typenames=csw:Record&elementsetname=full&resulttype=results&constraintlanguage=CQL_TEXT&constraint=dc%3Atitle%20like%20%27%25lor%25%27%20or%20dct%3Aabstract%20like%20%27%25pharetra%20in%25%27 +GetRecords-filter-cql-title-with-spaces-or-abstract-with-spaces,PYCSW_SERVER?config=tests/suites/default/default.cfg&service=CSW&version=2.0.2&request=GetRecords&typenames=csw:Record&elementsetname=full&resulttype=results&constraintlanguage=CQL_TEXT&constraint=dc%3Atitle%20like%20%27%25dolor%20sit%25%27%20or%20dct%3Aabstract%20like%20%27%25pharetra%20in%25%27 +GetRecords-empty-maxrecords,PYCSW_SERVER?config=tests/suites/default/default.cfg&service=CSW&version=2.0.2&request=GetRecords&typenames=csw:Record&elementsetname=full&maxrecords= +GetRepositoryItem,PYCSW_SERVER?config=tests/suites/default/default.cfg&service=CSW&version=2.0.2&request=GetRepositoryItem&id=urn:uuid:94bc9c83-97f6-4b40-9eb8-a8e8787a5c63 +Exception-GetRepositoryItem-notfound,PYCSW_SERVER?config=tests/suites/default/default.cfg&service=CSW&version=2.0.2&request=GetRepositoryItem&id=NOTFOUND +Exception-GetRepositoryItem-service-invalid1,PYCSW_SERVER?config=tests/suites/default/default.cfg&service=CSW%00&version=2.0.2&request=GetRepositoryItem&id=123 +Exception-GetRepositoryItem-service-invalid2,PYCSW_SERVER?config=tests/suites/default/default.cfg&service=CSW%00'&version=2.0.2&request=GetRepositoryItem&id=123 +Exception-GetRepositoryItem-version-invalid,PYCSW_SERVER?config=tests/suites/default/default.cfg&service=CSW&version=2.0.2'&request=GetRepositoryItem&id=123 diff --git a/tests/functionaltests/suites/default/post/DescribeRecord-json.xml b/tests/functionaltests/suites/default/post/DescribeRecord-json.xml new file mode 100644 index 000000000..35c176c91 --- /dev/null +++ b/tests/functionaltests/suites/default/post/DescribeRecord-json.xml @@ -0,0 +1,4 @@ + + + csw:Record + diff --git a/tests/functionaltests/suites/default/post/DescribeRecord.xml b/tests/functionaltests/suites/default/post/DescribeRecord.xml new file mode 100644 index 000000000..102443e47 --- /dev/null +++ b/tests/functionaltests/suites/default/post/DescribeRecord.xml @@ -0,0 +1,4 @@ + + + csw:Record + diff --git a/tests/functionaltests/suites/default/post/Exception-GetRecords-badsrsname.xml b/tests/functionaltests/suites/default/post/Exception-GetRecords-badsrsname.xml new file mode 100644 index 000000000..61f4b2da5 --- /dev/null +++ b/tests/functionaltests/suites/default/post/Exception-GetRecords-badsrsname.xml @@ -0,0 +1,19 @@ + + + + brief + + + + + ows:BoundingBox + + -90 -180 + 90 180 + + + + + + + diff --git a/tests/functionaltests/suites/default/post/Exception-GetRecords-elementname.xml b/tests/functionaltests/suites/default/post/Exception-GetRecords-elementname.xml new file mode 100644 index 000000000..2dc8935e2 --- /dev/null +++ b/tests/functionaltests/suites/default/post/Exception-GetRecords-elementname.xml @@ -0,0 +1,6 @@ + + + + dc:foo + + diff --git a/tests/functionaltests/suites/default/post/Exception-GetRecords-invalid-xml.xml b/tests/functionaltests/suites/default/post/Exception-GetRecords-invalid-xml.xml new file mode 100644 index 000000000..0bdf07fb3 --- /dev/null +++ b/tests/functionaltests/suites/default/post/Exception-GetRecords-invalid-xml.xml @@ -0,0 +1,6 @@ + + + + dc:foo + + diff --git a/tests/functionaltests/suites/default/post/GetCapabilities-SOAP.xml b/tests/functionaltests/suites/default/post/GetCapabilities-SOAP.xml new file mode 100644 index 000000000..906918983 --- /dev/null +++ b/tests/functionaltests/suites/default/post/GetCapabilities-SOAP.xml @@ -0,0 +1,13 @@ + + + + + + 2.0.2 + + + application/xml + + + + diff --git a/tests/functionaltests/suites/default/post/GetCapabilities-sections.xml b/tests/functionaltests/suites/default/post/GetCapabilities-sections.xml new file mode 100644 index 000000000..b3390dee5 --- /dev/null +++ b/tests/functionaltests/suites/default/post/GetCapabilities-sections.xml @@ -0,0 +1,12 @@ + + + + 2.0.2 + + + ServiceProvider + + + application/xml + + diff --git a/tests/functionaltests/suites/default/post/GetCapabilities-updatesequence.xml b/tests/functionaltests/suites/default/post/GetCapabilities-updatesequence.xml new file mode 100644 index 000000000..d2f329611 --- /dev/null +++ b/tests/functionaltests/suites/default/post/GetCapabilities-updatesequence.xml @@ -0,0 +1,9 @@ + + + + 2.0.2 + + + application/xml + + diff --git a/tests/functionaltests/suites/default/post/GetCapabilities.xml b/tests/functionaltests/suites/default/post/GetCapabilities.xml new file mode 100644 index 000000000..e4dc8070b --- /dev/null +++ b/tests/functionaltests/suites/default/post/GetCapabilities.xml @@ -0,0 +1,9 @@ + + + + 2.0.2 + + + application/xml + + diff --git a/tests/functionaltests/suites/default/post/GetDomain-parameter.xml b/tests/functionaltests/suites/default/post/GetDomain-parameter.xml new file mode 100644 index 000000000..2d1dd2d4a --- /dev/null +++ b/tests/functionaltests/suites/default/post/GetDomain-parameter.xml @@ -0,0 +1,4 @@ + + + GetRecords.CONSTRAINTLANGUAGE + diff --git a/tests/functionaltests/suites/default/post/GetDomain-property.xml b/tests/functionaltests/suites/default/post/GetDomain-property.xml new file mode 100644 index 000000000..c6ca09c8c --- /dev/null +++ b/tests/functionaltests/suites/default/post/GetDomain-property.xml @@ -0,0 +1,4 @@ + + + dc:title + diff --git a/tests/functionaltests/suites/default/post/GetRecordById-json.xml b/tests/functionaltests/suites/default/post/GetRecordById-json.xml new file mode 100644 index 000000000..887e6d186 --- /dev/null +++ b/tests/functionaltests/suites/default/post/GetRecordById-json.xml @@ -0,0 +1,5 @@ + + + urn:uuid:94bc9c83-97f6-4b40-9eb8-a8e8787a5c63 + summary + diff --git a/tests/functionaltests/suites/default/post/GetRecordById.xml b/tests/functionaltests/suites/default/post/GetRecordById.xml new file mode 100644 index 000000000..af59d786b --- /dev/null +++ b/tests/functionaltests/suites/default/post/GetRecordById.xml @@ -0,0 +1,5 @@ + + + urn:uuid:94bc9c83-97f6-4b40-9eb8-a8e8787a5c63 + summary + diff --git a/tests/functionaltests/suites/default/post/GetRecords-all-json.xml b/tests/functionaltests/suites/default/post/GetRecords-all-json.xml new file mode 100644 index 000000000..3e17c97ca --- /dev/null +++ b/tests/functionaltests/suites/default/post/GetRecords-all-json.xml @@ -0,0 +1,6 @@ + + + + full + + diff --git a/tests/functionaltests/suites/default/post/GetRecords-all-resulttype-hits.xml b/tests/functionaltests/suites/default/post/GetRecords-all-resulttype-hits.xml new file mode 100644 index 000000000..c91e92ec7 --- /dev/null +++ b/tests/functionaltests/suites/default/post/GetRecords-all-resulttype-hits.xml @@ -0,0 +1,6 @@ + + + + full + + diff --git a/tests/functionaltests/suites/default/post/GetRecords-all-resulttype-validate.xml b/tests/functionaltests/suites/default/post/GetRecords-all-resulttype-validate.xml new file mode 100644 index 000000000..c977bda36 --- /dev/null +++ b/tests/functionaltests/suites/default/post/GetRecords-all-resulttype-validate.xml @@ -0,0 +1,6 @@ + + + + full + + diff --git a/tests/functionaltests/suites/default/post/GetRecords-all-sortby-bbox.xml b/tests/functionaltests/suites/default/post/GetRecords-all-sortby-bbox.xml new file mode 100644 index 000000000..eace825a6 --- /dev/null +++ b/tests/functionaltests/suites/default/post/GetRecords-all-sortby-bbox.xml @@ -0,0 +1,12 @@ + + + + full + + + ows:BoundingBox + DESC + + + + diff --git a/tests/functionaltests/suites/default/post/GetRecords-all.xml b/tests/functionaltests/suites/default/post/GetRecords-all.xml new file mode 100644 index 000000000..6bb353cf4 --- /dev/null +++ b/tests/functionaltests/suites/default/post/GetRecords-all.xml @@ -0,0 +1,6 @@ + + + + full + + diff --git a/tests/functionaltests/suites/default/post/GetRecords-bbox-filter-crs84.xml b/tests/functionaltests/suites/default/post/GetRecords-bbox-filter-crs84.xml new file mode 100644 index 000000000..ca1674dfc --- /dev/null +++ b/tests/functionaltests/suites/default/post/GetRecords-bbox-filter-crs84.xml @@ -0,0 +1,17 @@ + + + + brief + + + + ows:BoundingBox + + -180 -90 + 180 90 + + + + + + diff --git a/tests/functionaltests/suites/default/post/GetRecords-cql-title-and-abstract.xml b/tests/functionaltests/suites/default/post/GetRecords-cql-title-and-abstract.xml new file mode 100644 index 000000000..9bdb5795c --- /dev/null +++ b/tests/functionaltests/suites/default/post/GetRecords-cql-title-and-abstract.xml @@ -0,0 +1,9 @@ + + + + brief + + dc:title like '%ips%' and dct:abstract like '%pharetra%' + + + diff --git a/tests/functionaltests/suites/default/post/GetRecords-cql-title.xml b/tests/functionaltests/suites/default/post/GetRecords-cql-title.xml new file mode 100644 index 000000000..929722324 --- /dev/null +++ b/tests/functionaltests/suites/default/post/GetRecords-cql-title.xml @@ -0,0 +1,9 @@ + + + + brief + + dc:title like '%ips%' + + + diff --git a/tests/functionaltests/suites/default/post/GetRecords-distributedsearch.xml b/tests/functionaltests/suites/default/post/GetRecords-distributedsearch.xml new file mode 100644 index 000000000..b64549a2e --- /dev/null +++ b/tests/functionaltests/suites/default/post/GetRecords-distributedsearch.xml @@ -0,0 +1,15 @@ + + + + + brief + + + + dc:title + Aquifers + + + + + diff --git a/tests/functionaltests/suites/default/post/GetRecords-elementname.xml b/tests/functionaltests/suites/default/post/GetRecords-elementname.xml new file mode 100644 index 000000000..2acf2ae34 --- /dev/null +++ b/tests/functionaltests/suites/default/post/GetRecords-elementname.xml @@ -0,0 +1,6 @@ + + + + dc:title + + diff --git a/tests/functionaltests/suites/default/post/GetRecords-end.xml b/tests/functionaltests/suites/default/post/GetRecords-end.xml new file mode 100644 index 000000000..e03137ea9 --- /dev/null +++ b/tests/functionaltests/suites/default/post/GetRecords-end.xml @@ -0,0 +1,6 @@ + + + + full + + diff --git a/tests/functionaltests/suites/default/post/GetRecords-filter-and-bbox-freetext.xml b/tests/functionaltests/suites/default/post/GetRecords-filter-and-bbox-freetext.xml new file mode 100644 index 000000000..ce787131c --- /dev/null +++ b/tests/functionaltests/suites/default/post/GetRecords-filter-and-bbox-freetext.xml @@ -0,0 +1,23 @@ + + + + brief + + + + + csw:AnyText + %lor% + + + ows:BoundingBox + + 47 -5 + 55 20 + + + + + + + diff --git a/tests/functionaltests/suites/default/post/GetRecords-filter-and-nested-or.xml b/tests/functionaltests/suites/default/post/GetRecords-filter-and-nested-or.xml new file mode 100644 index 000000000..46884d195 --- /dev/null +++ b/tests/functionaltests/suites/default/post/GetRecords-filter-and-nested-or.xml @@ -0,0 +1,38 @@ + + + + full + + + + + dc:title + Aliquam fermentum purus quis arcu + + + dc:format + application/pdf + + + + dc:type + http://purl.org/dc/dcmitype/Dataset + + + dc:type + http://purl.org/dc/dcmitype/Service + + + dc:type + http://purl.org/dc/dcmitype/Image + + + dc:type + http://purl.org/dc/dcmitype/Text + + + + + + + diff --git a/tests/functionaltests/suites/default/post/GetRecords-filter-and-nested-or2.xml b/tests/functionaltests/suites/default/post/GetRecords-filter-and-nested-or2.xml new file mode 100644 index 000000000..729113817 --- /dev/null +++ b/tests/functionaltests/suites/default/post/GetRecords-filter-and-nested-or2.xml @@ -0,0 +1,34 @@ + + + + full + + + + + dc:title + Lorem% + + + + dc:type + http://purl.org/dc/dcmitype/Dataset + + + dc:type + http://purl.org/dc/dcmitype/Service + + + dc:type + http://purl.org/dc/dcmitype/Image + + + dc:type + http://purl.org/dc/dcmitype/Text + + + + + + + diff --git a/tests/functionaltests/suites/default/post/GetRecords-filter-anytext-and-not.xml b/tests/functionaltests/suites/default/post/GetRecords-filter-anytext-and-not.xml new file mode 100644 index 000000000..d3125b6f7 --- /dev/null +++ b/tests/functionaltests/suites/default/post/GetRecords-filter-anytext-and-not.xml @@ -0,0 +1,26 @@ + + + + summary + + + + + csw:AnyText + *lorem* + + + csw:AnyText + *ipsum* + + + + csw:AnyText + *dolor* + + + + + + + diff --git a/tests/functionaltests/suites/default/post/GetRecords-filter-anytext-equal.xml b/tests/functionaltests/suites/default/post/GetRecords-filter-anytext-equal.xml new file mode 100644 index 000000000..0c64e7112 --- /dev/null +++ b/tests/functionaltests/suites/default/post/GetRecords-filter-anytext-equal.xml @@ -0,0 +1,14 @@ + + + + brief + + + + csw:AnyText + Lor + + + + + diff --git a/tests/functionaltests/suites/default/post/GetRecords-filter-anytext.xml b/tests/functionaltests/suites/default/post/GetRecords-filter-anytext.xml new file mode 100644 index 000000000..8ab5bff9d --- /dev/null +++ b/tests/functionaltests/suites/default/post/GetRecords-filter-anytext.xml @@ -0,0 +1,14 @@ + + + + brief + + + + csw:AnyText + %Lor% + + + + + diff --git a/tests/functionaltests/suites/default/post/GetRecords-filter-bbox-reproject.xml b/tests/functionaltests/suites/default/post/GetRecords-filter-bbox-reproject.xml new file mode 100644 index 000000000..73d60ef00 --- /dev/null +++ b/tests/functionaltests/suites/default/post/GetRecords-filter-bbox-reproject.xml @@ -0,0 +1,17 @@ + + + + brief + + + + ows:BoundingBox + + -72310.84768270838 2013215.2698528299 + 279667.74290441966 2690819.5081175645 + + + + + + diff --git a/tests/functionaltests/suites/default/post/GetRecords-filter-bbox-sortby.xml b/tests/functionaltests/suites/default/post/GetRecords-filter-bbox-sortby.xml new file mode 100644 index 000000000..9e7b7ef73 --- /dev/null +++ b/tests/functionaltests/suites/default/post/GetRecords-filter-bbox-sortby.xml @@ -0,0 +1,23 @@ + + + + brief + + + + ows:BoundingBox + + 47 -5 + 55 20 + + + + + + + dc:title + DESC + + + + diff --git a/tests/functionaltests/suites/default/post/GetRecords-filter-bbox.xml b/tests/functionaltests/suites/default/post/GetRecords-filter-bbox.xml new file mode 100644 index 000000000..9df955319 --- /dev/null +++ b/tests/functionaltests/suites/default/post/GetRecords-filter-bbox.xml @@ -0,0 +1,17 @@ + + + + brief + + + + ows:BoundingBox + + 47 -5 + 55 20 + + + + + + diff --git a/tests/functionaltests/suites/default/post/GetRecords-filter-between.xml b/tests/functionaltests/suites/default/post/GetRecords-filter-between.xml new file mode 100644 index 000000000..ea00efbe8 --- /dev/null +++ b/tests/functionaltests/suites/default/post/GetRecords-filter-between.xml @@ -0,0 +1,20 @@ + + + + full + + + + dc:title + + Aliquam fermentum purus quis arcu + + + Maecenas enim + + + + + + + diff --git a/tests/functionaltests/suites/default/post/GetRecords-filter-function-bad.xml b/tests/functionaltests/suites/default/post/GetRecords-filter-function-bad.xml new file mode 100644 index 000000000..75dbacc10 --- /dev/null +++ b/tests/functionaltests/suites/default/post/GetRecords-filter-function-bad.xml @@ -0,0 +1,17 @@ + + + + brief + + + + + dc:title + + LOREM IPSUM + + + + + + diff --git a/tests/functionaltests/suites/default/post/GetRecords-filter-function.xml b/tests/functionaltests/suites/default/post/GetRecords-filter-function.xml new file mode 100644 index 000000000..68cb04564 --- /dev/null +++ b/tests/functionaltests/suites/default/post/GetRecords-filter-function.xml @@ -0,0 +1,17 @@ + + + + brief + + + + + dc:title + + LOREM IPSUM + + + + + + diff --git a/tests/functionaltests/suites/default/post/GetRecords-filter-not-bbox.xml b/tests/functionaltests/suites/default/post/GetRecords-filter-not-bbox.xml new file mode 100644 index 000000000..6adb4cf1f --- /dev/null +++ b/tests/functionaltests/suites/default/post/GetRecords-filter-not-bbox.xml @@ -0,0 +1,19 @@ + + + + brief + + + + + ows:BoundingBox + + 47 -5 + 55 20 + + + + + + + diff --git a/tests/functionaltests/suites/default/post/GetRecords-filter-or-bbox-freetext.xml b/tests/functionaltests/suites/default/post/GetRecords-filter-or-bbox-freetext.xml new file mode 100644 index 000000000..bdfc60ea7 --- /dev/null +++ b/tests/functionaltests/suites/default/post/GetRecords-filter-or-bbox-freetext.xml @@ -0,0 +1,23 @@ + + + + brief + + + + + dc:title + foo + + + ows:BoundingBox + + 47 -5 + 55 20 + + + + + + + diff --git a/tests/functionaltests/suites/default/post/GetRecords-filter-or-nested-and.xml b/tests/functionaltests/suites/default/post/GetRecords-filter-or-nested-and.xml new file mode 100644 index 000000000..1ff37fa31 --- /dev/null +++ b/tests/functionaltests/suites/default/post/GetRecords-filter-or-nested-and.xml @@ -0,0 +1,30 @@ + + + + full + + + + + dc:type + http://purl.org/dc/dcmitype/Image + + + dc:type + http://purl.org/dc/dcmitype/Dataset + + + + dc:title + Mauris% + + + dc:title + %neque + + + + + + + diff --git a/tests/functionaltests/suites/default/post/GetRecords-filter-or-title-abstract.xml b/tests/functionaltests/suites/default/post/GetRecords-filter-or-title-abstract.xml new file mode 100644 index 000000000..331dca256 --- /dev/null +++ b/tests/functionaltests/suites/default/post/GetRecords-filter-or-title-abstract.xml @@ -0,0 +1,20 @@ + + + + full + + + + + dc:title + Mauris% + + + dct:abstract + foo + + + + + + \ No newline at end of file diff --git a/tests/functionaltests/suites/default/post/GetRecords-maxrecords.xml b/tests/functionaltests/suites/default/post/GetRecords-maxrecords.xml new file mode 100644 index 000000000..1379ea6f9 --- /dev/null +++ b/tests/functionaltests/suites/default/post/GetRecords-maxrecords.xml @@ -0,0 +1,6 @@ + + + + full + + diff --git a/tests/functionaltests/suites/default/post/GetRecords-requestid.xml b/tests/functionaltests/suites/default/post/GetRecords-requestid.xml new file mode 100644 index 000000000..186d04e3b --- /dev/null +++ b/tests/functionaltests/suites/default/post/GetRecords-requestid.xml @@ -0,0 +1,6 @@ + + + + full + + diff --git a/tests/functionaltests/suites/default/post/Harvest-default.xml b/tests/functionaltests/suites/default/post/Harvest-default.xml new file mode 100644 index 000000000..599ba769c --- /dev/null +++ b/tests/functionaltests/suites/default/post/Harvest-default.xml @@ -0,0 +1,6 @@ + + + http://schemas.opengis.net/csw/2.0.2/profiles/apiso/1.0.0/examples-ISO19139/dataset2_minimalst.xml + http://www.isotc211.org/schemas/2005/gmd/ + application/xml + diff --git a/tests/functionaltests/suites/default/post/Harvest-response-handler.xml b/tests/functionaltests/suites/default/post/Harvest-response-handler.xml new file mode 100644 index 000000000..9d4351727 --- /dev/null +++ b/tests/functionaltests/suites/default/post/Harvest-response-handler.xml @@ -0,0 +1,7 @@ + + + http://kralidis.ca/pycsw/trunk/tests/test_iso.xml + http://www.isotc211.org/schemas/2005/gmd/ + application/xml + mailto:tkralidi + diff --git a/tests/functionaltests/suites/default/post/Transaction-delete.xml b/tests/functionaltests/suites/default/post/Transaction-delete.xml new file mode 100644 index 000000000..675a8690e --- /dev/null +++ b/tests/functionaltests/suites/default/post/Transaction-delete.xml @@ -0,0 +1,13 @@ + + + + + + + apiso:Identifier + 12345 + + + + + diff --git a/tests/functionaltests/suites/default/post/Transaction-insert.xml b/tests/functionaltests/suites/default/post/Transaction-insert.xml new file mode 100644 index 000000000..1b238dd4d --- /dev/null +++ b/tests/functionaltests/suites/default/post/Transaction-insert.xml @@ -0,0 +1,73 @@ + + + + + + 12345 + + + + + + + + pycsw + + + + + + + + 2011-05-17 + + + + + + + pycsw record + + + + + 2011-05-17 + + + + + + + + + + Sample metadata record + + + eng + + + + + + + -180 + + + 180 + + + -90 + + + 90 + + + + + + + + + + diff --git a/tests/functionaltests/suites/default/post/Transaction-update-full.xml b/tests/functionaltests/suites/default/post/Transaction-update-full.xml new file mode 100644 index 000000000..2ff6604ea --- /dev/null +++ b/tests/functionaltests/suites/default/post/Transaction-update-full.xml @@ -0,0 +1,73 @@ + + + + + + 12345 + + + + + + + + pycsw + + + + + + + + 2011-05-17 + + + + + + + pycsw record + + + + + 2011-05-17 + + + + + + + + + + Sample metadata record + + + eng + + + + + + + -180 + + + 180 + + + -90 + + + 90 + + + + + + + + + + diff --git a/tests/functionaltests/suites/default/post/Transaction-update-recordproperty.xml b/tests/functionaltests/suites/default/post/Transaction-update-recordproperty.xml new file mode 100644 index 000000000..a130a5f25 --- /dev/null +++ b/tests/functionaltests/suites/default/post/Transaction-update-recordproperty.xml @@ -0,0 +1,17 @@ + + + + + apiso:Title + NEW_TITLE + + + + + apiso:Identifier + 12345 + + + + + diff --git a/tests/functionaltests/suites/dif/default.cfg b/tests/functionaltests/suites/dif/default.cfg new file mode 100644 index 000000000..08d69c6ed --- /dev/null +++ b/tests/functionaltests/suites/dif/default.cfg @@ -0,0 +1,90 @@ +# ================================================================= +# +# Authors: Tom Kralidis +# +# Copyright (c) 2011 Tom Kralidis +# +# Permission is hereby granted, free of charge, to any person +# obtaining a copy of this software and associated documentation +# files (the "Software"), to deal in the Software without +# restriction, including without limitation the rights to use, +# copy, modify, merge, publish, distribute, sublicense, and/or sell +# copies of the Software, and to permit persons to whom the +# Software is furnished to do so, subject to the following +# conditions: +# +# The above copyright notice and this permission notice shall be +# included in all copies or substantial portions of the Software. +# +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +# EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES +# OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +# NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT +# HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, +# WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR +# OTHER DEALINGS IN THE SOFTWARE. +# +# ================================================================= + +[server] +home=. +url=http://localhost/pycsw/csw.py?config=tests/suites/dif/default.cfg +mimetype=application/xml; charset=UTF-8 +encoding=UTF-8 +language=en-US +maxrecords=10 +#loglevel=DEBUG +#logfile=/tmp/pycsw.log +#ogc_schemas_base=http://foo +federatedcatalogues=http://geo.data.gov/geoportal/csw/discovery +pretty_print=true +#gzip_compresslevel=8 +#spatial_ranking=true + +[manager] +transactions=false +allowed_ips=127.0.0.1 + +[metadata:main] +identification_title=pycsw Geospatial Catalogue +identification_abstract=pycsw is an OGC CSW server implementation written in Python +identification_keywords=catalogue,discovery +identification_keywords_type=theme +identification_fees=None +identification_accessconstraints=None +provider_name=pycsw +provider_url=http://pycsw.org/ +contact_name=Kralidis, Tom +contact_position=Senior Systems Scientist +contact_address=TBA +contact_city=Toronto +contact_stateorprovince=Ontario +contact_postalcode=M9C 3Z9 +contact_country=Canada +contact_phone=+01-416-xxx-xxxx +contact_fax=+01-416-xxx-xxxx +contact_email=tomkralidis@gmail.com +contact_url=http://kralidis.ca/ +contact_hours=0800h - 1600h EST +contact_instructions=During hours of service. Off on weekends. +contact_role=pointOfContact + +[repository] +# sqlite +database=sqlite:///tests/suites/cite/data/records.db +# postgres +#database=postgres://username:password@localhost/pycsw +table=records + +[metadata:inspire] +enabled=false +languages_supported=eng,gre +default_language=eng +date=2011-03-29 +gemet_keywords=Utility and governmental services +conformity_service=notEvaluated +contact_name=National Technical University of Athens +contact_email=tzotsos@gmail.com +temp_extent=2011-02-01/2011-03-30 + diff --git a/tests/functionaltests/suites/dif/expected/post_DescribeRecord.xml b/tests/functionaltests/suites/dif/expected/post_DescribeRecord.xml new file mode 100644 index 000000000..5f82a7d41 --- /dev/null +++ b/tests/functionaltests/suites/dif/expected/post_DescribeRecord.xml @@ -0,0 +1,3 @@ + + + diff --git a/tests/functionaltests/suites/dif/expected/post_GetCapabilities.xml b/tests/functionaltests/suites/dif/expected/post_GetCapabilities.xml new file mode 100644 index 000000000..e062f2209 --- /dev/null +++ b/tests/functionaltests/suites/dif/expected/post_GetCapabilities.xml @@ -0,0 +1,262 @@ + + + + + pycsw Geospatial Catalogue + pycsw is an OGC CSW server implementation written in Python + + catalogue + discovery + theme + + CSW + 2.0.2 + 3.0.0 + None + None + + + pycsw + + + Kralidis, Tom + Senior Systems Scientist + + + +01-416-xxx-xxxx + +01-416-xxx-xxxx + + + TBA + Toronto + Ontario + M9C 3Z9 + Canada + tomkralidis@gmail.com + + + 0800h - 1600h EST + During hours of service. Off on weekends. + + pointOfContact + + + + + + + + + + + + Filter_Capabilities + OperationsMetadata + ServiceIdentification + ServiceProvider + + + + + + + + + + + application/json + application/xml + + + http://www.w3.org/2001/XMLSchema + http://www.w3.org/TR/xmlschema-1/ + http://www.w3.org/XML/Schema + + + csw:Record + + + + + + + + + + + DescribeRecord.outputFormat + DescribeRecord.schemaLanguage + DescribeRecord.typeName + GetCapabilities.sections + GetRecordById.ElementSetName + GetRecordById.outputFormat + GetRecordById.outputSchema + GetRecords.CONSTRAINTLANGUAGE + GetRecords.ElementSetName + GetRecords.outputFormat + GetRecords.outputSchema + GetRecords.resultType + GetRecords.typeNames + + + + + + + + + + + CQL_TEXT + FILTER + + + brief + full + summary + + + application/json + application/xml + + + http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ + http://www.interlis.ch/INTERLIS2.3 + http://www.opengis.net/cat/csw/2.0.2 + http://www.opengis.net/cat/csw/csdgm + http://www.w3.org/2005/Atom + + + hits + results + validate + + + csw:Record + + + csw:AnyText + dc:contributor + dc:creator + dc:date + dc:format + dc:identifier + dc:language + dc:publisher + dc:relation + dc:rights + dc:source + dc:subject + dc:title + dc:type + dct:abstract + dct:modified + ows:BoundingBox + + + + + + + + + + + brief + full + summary + + + application/json + application/xml + + + http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ + http://www.interlis.ch/INTERLIS2.3 + http://www.opengis.net/cat/csw/2.0.2 + http://www.opengis.net/cat/csw/csdgm + http://www.w3.org/2005/Atom + + + + + + + + + + + CSW + + + 2.0.2 + 3.0.0 + + + http://geo.data.gov/geoportal/csw/discovery + + + 10 + + + XML + SOAP + + + allowed + + + + + + gml:Point + gml:LineString + gml:Polygon + gml:Envelope + + + + + + + + + + + + + + + + + + + Between + EqualTo + GreaterThan + GreaterThanEqualTo + LessThan + LessThanEqualTo + Like + NotEqualTo + NullCheck + + + + + length + lower + ltrim + rtrim + trim + upper + + + + + + + + + + diff --git a/tests/functionaltests/suites/dif/expected/post_GetRecords-filter-bbox.xml b/tests/functionaltests/suites/dif/expected/post_GetRecords-filter-bbox.xml new file mode 100644 index 000000000..d6a763d1f --- /dev/null +++ b/tests/functionaltests/suites/dif/expected/post_GetRecords-filter-bbox.xml @@ -0,0 +1,71 @@ + + + + + + + urn:uuid:94bc9c83-97f6-4b40-9eb8-a8e8787a5c63 + Mauris sed neque + + + + + + + + Vegetation-Cropland + + + + + + 47.59 + 51.22 + -4.1 + 0.89 + + + + + Curabitur lacinia, ante non porta tempus, mi lorem feugiat odio, eget suscipit eros pede ac velit. + + + + + CEOS IDN DIF + 9.7 + + + urn:uuid:9a669547-b69b-469f-a11f-2d875366bbdc + Ñunç elementum + + + + + + + + Hydrography-Oceanographic + + + + + + 44.79 + 51.13 + -6.17 + -2.23 + + + + + + + + + + CEOS IDN DIF + 9.7 + + + diff --git a/tests/functionaltests/suites/dif/post/DescribeRecord.xml b/tests/functionaltests/suites/dif/post/DescribeRecord.xml new file mode 100644 index 000000000..2408da75b --- /dev/null +++ b/tests/functionaltests/suites/dif/post/DescribeRecord.xml @@ -0,0 +1,4 @@ + + + dif:DIF + diff --git a/tests/functionaltests/suites/dif/post/GetCapabilities.xml b/tests/functionaltests/suites/dif/post/GetCapabilities.xml new file mode 100644 index 000000000..e4dc8070b --- /dev/null +++ b/tests/functionaltests/suites/dif/post/GetCapabilities.xml @@ -0,0 +1,9 @@ + + + + 2.0.2 + + + application/xml + + diff --git a/tests/functionaltests/suites/dif/post/GetRecords-filter-bbox.xml b/tests/functionaltests/suites/dif/post/GetRecords-filter-bbox.xml new file mode 100644 index 000000000..8804efe60 --- /dev/null +++ b/tests/functionaltests/suites/dif/post/GetRecords-filter-bbox.xml @@ -0,0 +1,17 @@ + + + + brief + + + + ows:BoundingBox + + 47 -5 + 55 20 + + + + + + diff --git a/tests/functionaltests/suites/ebrim/default.cfg b/tests/functionaltests/suites/ebrim/default.cfg new file mode 100644 index 000000000..048432616 --- /dev/null +++ b/tests/functionaltests/suites/ebrim/default.cfg @@ -0,0 +1,93 @@ +# ================================================================= +# +# $Id: default.cfg 366 2011-11-24 21:52:13Z tomkralidis $ +# +# Authors: Tom Kralidis +# +# Copyright (c) 2011 Tom Kralidis +# +# Permission is hereby granted, free of charge, to any person +# obtaining a copy of this software and associated documentation +# files (the "Software"), to deal in the Software without +# restriction, including without limitation the rights to use, +# copy, modify, merge, publish, distribute, sublicense, and/or sell +# copies of the Software, and to permit persons to whom the +# Software is furnished to do so, subject to the following +# conditions: +# +# The above copyright notice and this permission notice shall be +# included in all copies or substantial portions of the Software. +# +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +# EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES +# OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +# NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT +# HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, +# WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR +# OTHER DEALINGS IN THE SOFTWARE. +# +# ================================================================= + +[server] +home=. +url=http://localhost/pycsw/csw.py?config=tests/suites/fgdc/default.cfg +mimetype=application/xml; charset=UTF-8 +encoding=UTF-8 +language=en-US +maxrecords=10 +#loglevel=DEBUG +#logfile=/tmp/pycsw.log +#ogc_schemas_base=http://foo +federatedcatalogues=http://geo.data.gov/geoportal/csw/discovery +pretty_print=true +#gzip_compresslevel=8 +#spatial_ranking=true +profiles=ebrim + +[manager] +transactions=false +allowed_ips=127.0.0.1 + +[metadata:main] +identification_title=pycsw Geospatial Catalogue +identification_abstract=pycsw is an OGC CSW server implementation written in Python +identification_keywords=catalogue,discovery +identification_keywords_type=theme +identification_fees=None +identification_accessconstraints=None +provider_name=pycsw +provider_url=http://pycsw.org/ +contact_name=Kralidis, Tom +contact_position=Senior Systems Scientist +contact_address=TBA +contact_city=Toronto +contact_stateorprovince=Ontario +contact_postalcode=M9C 3Z9 +contact_country=Canada +contact_phone=+01-416-xxx-xxxx +contact_fax=+01-416-xxx-xxxx +contact_email=tomkralidis@gmail.com +contact_url=http://kralidis.ca/ +contact_hours=0800h - 1600h EST +contact_instructions=During hours of service. Off on weekends. +contact_role=pointOfContact + +[repository] +# sqlite +database=sqlite:///tests/suites/cite/data/records.db +# postgres +#database=postgres://username:password@localhost/pycsw +table=records + +[metadata:inspire] +enabled=false +languages_supported=eng,gre +default_language=eng +date=2011-03-29 +gemet_keywords=Utility and governmental services +conformity_service=notEvaluated +contact_name=National Technical University of Athens +contact_email=tzotsos@gmail.com +temp_extent=2011-02-01/2011-03-30 + diff --git a/tests/functionaltests/suites/ebrim/expected/post_DescribeRecord.xml b/tests/functionaltests/suites/ebrim/expected/post_DescribeRecord.xml new file mode 100644 index 000000000..87e4d86a2 --- /dev/null +++ b/tests/functionaltests/suites/ebrim/expected/post_DescribeRecord.xml @@ -0,0 +1,93 @@ + + + + + + + + + + + rim:Value not allowed in this context: expected wrs:AnyValue. + + + + + Schema for CSW-ebRIM catalogue profile (OGC 07-110r3). + + + + + + + + + + + + + A general record identifier, expressed as an absolute URI that maps to + the rim:RegistryObject/@id attribute. It substitutes for the ogc:_Id + element in an OGC filter expression. + + + + + + + + + + + + + + Extends rim:ExtrinsicObjectType to add the following: + 1. MTOM/XOP based attachment support. + 2. XLink based reference to a part in a multipart/related message + structure. + NOTE: This content model is planned for RegRep 4.0. + + + + + + + + + + + + + + + + Allows complex slot values. + + + + + + + + + + + + + + + + + + + + + Incorporates the attributes defined for use in simple XLink elements. + + + + + + + diff --git a/tests/functionaltests/suites/ebrim/expected/post_GetCapabilities.xml b/tests/functionaltests/suites/ebrim/expected/post_GetCapabilities.xml new file mode 100644 index 000000000..41b60a20a --- /dev/null +++ b/tests/functionaltests/suites/ebrim/expected/post_GetCapabilities.xml @@ -0,0 +1,266 @@ + + + + + pycsw Geospatial Catalogue + pycsw is an OGC CSW server implementation written in Python + + catalogue + discovery + theme + + CSW + 2.0.2 + 3.0.0 + None + None + + + pycsw + + + Kralidis, Tom + Senior Systems Scientist + + + +01-416-xxx-xxxx + +01-416-xxx-xxxx + + + TBA + Toronto + Ontario + M9C 3Z9 + Canada + tomkralidis@gmail.com + + + 0800h - 1600h EST + During hours of service. Off on weekends. + + pointOfContact + + + + + + + + + + + + Filter_Capabilities + OperationsMetadata + ServiceIdentification + ServiceProvider + + + + + + + + + + + application/json + application/xml + + + http://www.w3.org/2001/XMLSchema + http://www.w3.org/TR/xmlschema-1/ + http://www.w3.org/XML/Schema + + + csw:Record + rim:RegistryObject + + + + + + + + + + + DescribeRecord.outputFormat + DescribeRecord.schemaLanguage + DescribeRecord.typeName + GetCapabilities.sections + GetRecordById.ElementSetName + GetRecordById.outputFormat + GetRecordById.outputSchema + GetRecords.CONSTRAINTLANGUAGE + GetRecords.ElementSetName + GetRecords.outputFormat + GetRecords.outputSchema + GetRecords.resultType + GetRecords.typeNames + + + + + + + + + + + CQL_TEXT + FILTER + + + brief + full + summary + + + application/json + application/xml + + + http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ + http://www.interlis.ch/INTERLIS2.3 + http://www.opengis.net/cat/csw/2.0.2 + http://www.opengis.net/cat/csw/csdgm + http://www.w3.org/2005/Atom + urn:oasis:names:tc:ebxml-regrep:xsd:rim:3.0 + + + hits + results + validate + + + csw:Record + rim:RegistryObject + + + csw:AnyText + dc:contributor + dc:creator + dc:date + dc:format + dc:identifier + dc:language + dc:publisher + dc:relation + dc:rights + dc:source + dc:subject + dc:title + dc:type + dct:abstract + dct:modified + ows:BoundingBox + + + + + + + + + + + brief + full + summary + + + application/json + application/xml + + + http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ + http://www.interlis.ch/INTERLIS2.3 + http://www.opengis.net/cat/csw/2.0.2 + http://www.opengis.net/cat/csw/csdgm + http://www.w3.org/2005/Atom + urn:oasis:names:tc:ebxml-regrep:xsd:rim:3.0 + + + + + + + + + + + CSW + + + 2.0.2 + 3.0.0 + + + http://geo.data.gov/geoportal/csw/discovery + + + 10 + + + XML + SOAP + + + allowed + + + + + + gml:Point + gml:LineString + gml:Polygon + gml:Envelope + + + + + + + + + + + + + + + + + + + Between + EqualTo + GreaterThan + GreaterThanEqualTo + LessThan + LessThanEqualTo + Like + NotEqualTo + NullCheck + + + + + length + lower + ltrim + rtrim + trim + upper + + + + + + + + + + diff --git a/tests/functionaltests/suites/ebrim/expected/post_GetRecords-filter-bbox-full.xml b/tests/functionaltests/suites/ebrim/expected/post_GetRecords-filter-bbox-full.xml new file mode 100644 index 000000000..5b2074c47 --- /dev/null +++ b/tests/functionaltests/suites/ebrim/expected/post_GetRecords-filter-bbox-full.xml @@ -0,0 +1,57 @@ + + + + + + + + + + + + + + + + + + + 47.59 -4.1 + 51.22 0.89 + + + + + + + Vegetation-Cropland + + + + + + + + + + + + + + + + + 44.79 -6.17 + 51.13 -2.23 + + + + + + + Hydrography-Oceanographic + + + + + diff --git a/tests/functionaltests/suites/ebrim/expected/post_GetRecords-filter-bbox.xml b/tests/functionaltests/suites/ebrim/expected/post_GetRecords-filter-bbox.xml new file mode 100644 index 000000000..fdc31f2c3 --- /dev/null +++ b/tests/functionaltests/suites/ebrim/expected/post_GetRecords-filter-bbox.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + diff --git a/tests/functionaltests/suites/ebrim/post/DescribeRecord.xml b/tests/functionaltests/suites/ebrim/post/DescribeRecord.xml new file mode 100644 index 000000000..cd708816b --- /dev/null +++ b/tests/functionaltests/suites/ebrim/post/DescribeRecord.xml @@ -0,0 +1,4 @@ + + + rim:RegistryObject + diff --git a/tests/functionaltests/suites/ebrim/post/GetCapabilities.xml b/tests/functionaltests/suites/ebrim/post/GetCapabilities.xml new file mode 100644 index 000000000..e4dc8070b --- /dev/null +++ b/tests/functionaltests/suites/ebrim/post/GetCapabilities.xml @@ -0,0 +1,9 @@ + + + + 2.0.2 + + + application/xml + + diff --git a/tests/functionaltests/suites/ebrim/post/GetRecords-filter-bbox-full.xml b/tests/functionaltests/suites/ebrim/post/GetRecords-filter-bbox-full.xml new file mode 100644 index 000000000..6b6f84942 --- /dev/null +++ b/tests/functionaltests/suites/ebrim/post/GetRecords-filter-bbox-full.xml @@ -0,0 +1,17 @@ + + + + full + + + + ows:BoundingBox + + 47 -5 + 55 20 + + + + + + diff --git a/tests/functionaltests/suites/ebrim/post/GetRecords-filter-bbox.xml b/tests/functionaltests/suites/ebrim/post/GetRecords-filter-bbox.xml new file mode 100644 index 000000000..ddb68ce96 --- /dev/null +++ b/tests/functionaltests/suites/ebrim/post/GetRecords-filter-bbox.xml @@ -0,0 +1,17 @@ + + + + brief + + + + ows:BoundingBox + + 47 -5 + 55 20 + + + + + + diff --git a/tests/functionaltests/suites/fgdc/default.cfg b/tests/functionaltests/suites/fgdc/default.cfg new file mode 100644 index 000000000..da6707ac7 --- /dev/null +++ b/tests/functionaltests/suites/fgdc/default.cfg @@ -0,0 +1,90 @@ +# ================================================================= +# +# Authors: Tom Kralidis +# +# Copyright (c) 2011 Tom Kralidis +# +# Permission is hereby granted, free of charge, to any person +# obtaining a copy of this software and associated documentation +# files (the "Software"), to deal in the Software without +# restriction, including without limitation the rights to use, +# copy, modify, merge, publish, distribute, sublicense, and/or sell +# copies of the Software, and to permit persons to whom the +# Software is furnished to do so, subject to the following +# conditions: +# +# The above copyright notice and this permission notice shall be +# included in all copies or substantial portions of the Software. +# +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +# EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES +# OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +# NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT +# HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, +# WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR +# OTHER DEALINGS IN THE SOFTWARE. +# +# ================================================================= + +[server] +home=. +url=http://localhost/pycsw/csw.py?config=tests/suites/fgdc/default.cfg +mimetype=application/xml; charset=UTF-8 +encoding=UTF-8 +language=en-US +maxrecords=10 +#loglevel=DEBUG +#logfile=/tmp/pycsw.log +#ogc_schemas_base=http://foo +federatedcatalogues=http://geo.data.gov/geoportal/csw/discovery +pretty_print=true +#gzip_compresslevel=8 +#spatial_ranking=true + +[manager] +transactions=false +allowed_ips=127.0.0.1 + +[metadata:main] +identification_title=pycsw Geospatial Catalogue +identification_abstract=pycsw is an OGC CSW server implementation written in Python +identification_keywords=catalogue,discovery +identification_keywords_type=theme +identification_fees=None +identification_accessconstraints=None +provider_name=pycsw +provider_url=http://pycsw.org/ +contact_name=Kralidis, Tom +contact_position=Senior Systems Scientist +contact_address=TBA +contact_city=Toronto +contact_stateorprovince=Ontario +contact_postalcode=M9C 3Z9 +contact_country=Canada +contact_phone=+01-416-xxx-xxxx +contact_fax=+01-416-xxx-xxxx +contact_email=tomkralidis@gmail.com +contact_url=http://kralidis.ca/ +contact_hours=0800h - 1600h EST +contact_instructions=During hours of service. Off on weekends. +contact_role=pointOfContact + +[repository] +# sqlite +database=sqlite:///tests/suites/cite/data/records.db +# postgres +#database=postgres://username:password@localhost/pycsw +table=records + +[metadata:inspire] +enabled=false +languages_supported=eng,gre +default_language=eng +date=2011-03-29 +gemet_keywords=Utility and governmental services +conformity_service=notEvaluated +contact_name=National Technical University of Athens +contact_email=tzotsos@gmail.com +temp_extent=2011-02-01/2011-03-30 + diff --git a/tests/functionaltests/suites/fgdc/expected/post_DescribeRecord.xml b/tests/functionaltests/suites/fgdc/expected/post_DescribeRecord.xml new file mode 100644 index 000000000..5f82a7d41 --- /dev/null +++ b/tests/functionaltests/suites/fgdc/expected/post_DescribeRecord.xml @@ -0,0 +1,3 @@ + + + diff --git a/tests/functionaltests/suites/fgdc/expected/post_GetCapabilities.xml b/tests/functionaltests/suites/fgdc/expected/post_GetCapabilities.xml new file mode 100644 index 000000000..e4ea071fe --- /dev/null +++ b/tests/functionaltests/suites/fgdc/expected/post_GetCapabilities.xml @@ -0,0 +1,262 @@ + + + + + pycsw Geospatial Catalogue + pycsw is an OGC CSW server implementation written in Python + + catalogue + discovery + theme + + CSW + 2.0.2 + 3.0.0 + None + None + + + pycsw + + + Kralidis, Tom + Senior Systems Scientist + + + +01-416-xxx-xxxx + +01-416-xxx-xxxx + + + TBA + Toronto + Ontario + M9C 3Z9 + Canada + tomkralidis@gmail.com + + + 0800h - 1600h EST + During hours of service. Off on weekends. + + pointOfContact + + + + + + + + + + + + Filter_Capabilities + OperationsMetadata + ServiceIdentification + ServiceProvider + + + + + + + + + + + application/json + application/xml + + + http://www.w3.org/2001/XMLSchema + http://www.w3.org/TR/xmlschema-1/ + http://www.w3.org/XML/Schema + + + csw:Record + + + + + + + + + + + DescribeRecord.outputFormat + DescribeRecord.schemaLanguage + DescribeRecord.typeName + GetCapabilities.sections + GetRecordById.ElementSetName + GetRecordById.outputFormat + GetRecordById.outputSchema + GetRecords.CONSTRAINTLANGUAGE + GetRecords.ElementSetName + GetRecords.outputFormat + GetRecords.outputSchema + GetRecords.resultType + GetRecords.typeNames + + + + + + + + + + + CQL_TEXT + FILTER + + + brief + full + summary + + + application/json + application/xml + + + http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ + http://www.interlis.ch/INTERLIS2.3 + http://www.opengis.net/cat/csw/2.0.2 + http://www.opengis.net/cat/csw/csdgm + http://www.w3.org/2005/Atom + + + hits + results + validate + + + csw:Record + + + csw:AnyText + dc:contributor + dc:creator + dc:date + dc:format + dc:identifier + dc:language + dc:publisher + dc:relation + dc:rights + dc:source + dc:subject + dc:title + dc:type + dct:abstract + dct:modified + ows:BoundingBox + + + + + + + + + + + brief + full + summary + + + application/json + application/xml + + + http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ + http://www.interlis.ch/INTERLIS2.3 + http://www.opengis.net/cat/csw/2.0.2 + http://www.opengis.net/cat/csw/csdgm + http://www.w3.org/2005/Atom + + + + + + + + + + + CSW + + + 2.0.2 + 3.0.0 + + + http://geo.data.gov/geoportal/csw/discovery + + + 10 + + + XML + SOAP + + + allowed + + + + + + gml:Point + gml:LineString + gml:Polygon + gml:Envelope + + + + + + + + + + + + + + + + + + + Between + EqualTo + GreaterThan + GreaterThanEqualTo + LessThan + LessThanEqualTo + Like + NotEqualTo + NullCheck + + + + + length + lower + ltrim + rtrim + trim + upper + + + + + + + + + + diff --git a/tests/functionaltests/suites/fgdc/expected/post_GetRecords-filter-bbox.xml b/tests/functionaltests/suites/fgdc/expected/post_GetRecords-filter-bbox.xml new file mode 100644 index 000000000..5f8c20dc1 --- /dev/null +++ b/tests/functionaltests/suites/fgdc/expected/post_GetRecords-filter-bbox.xml @@ -0,0 +1,123 @@ + + + + + + + + urn:uuid:94bc9c83-97f6-4b40-9eb8-a8e8787a5c63 + + + Mauris sed neque + + + + + + + + + + + Vegetation-Cropland + + + + + Curabitur lacinia, ante non porta tempus, mi lorem feugiat odio, eget suscipit eros pede ac velit. + + + + -4.1 + 0.89 + 51.22 + 47.59 + + + + + http://purl.org/dc/dcmitype/Dataset + + + + + + + + + + + + + + + + + + + + + + + + + + + urn:uuid:9a669547-b69b-469f-a11f-2d875366bbdc + + + Ñunç elementum + + + + + + + + + + + Hydrography-Oceanographic + + + + + + + + + -6.17 + -2.23 + 51.13 + 44.79 + + + + + http://purl.org/dc/dcmitype/Dataset + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/tests/functionaltests/suites/fgdc/post/DescribeRecord.xml b/tests/functionaltests/suites/fgdc/post/DescribeRecord.xml new file mode 100644 index 000000000..11dec8922 --- /dev/null +++ b/tests/functionaltests/suites/fgdc/post/DescribeRecord.xml @@ -0,0 +1,4 @@ + + + fgdc:metadata + diff --git a/tests/functionaltests/suites/fgdc/post/GetCapabilities.xml b/tests/functionaltests/suites/fgdc/post/GetCapabilities.xml new file mode 100644 index 000000000..e4dc8070b --- /dev/null +++ b/tests/functionaltests/suites/fgdc/post/GetCapabilities.xml @@ -0,0 +1,9 @@ + + + + 2.0.2 + + + application/xml + + diff --git a/tests/functionaltests/suites/fgdc/post/GetRecords-filter-bbox.xml b/tests/functionaltests/suites/fgdc/post/GetRecords-filter-bbox.xml new file mode 100644 index 000000000..47060cbcc --- /dev/null +++ b/tests/functionaltests/suites/fgdc/post/GetRecords-filter-bbox.xml @@ -0,0 +1,17 @@ + + + + brief + + + + ows:BoundingBox + + 47 -5 + 55 20 + + + + + + diff --git a/tests/functionaltests/suites/gm03/default.cfg b/tests/functionaltests/suites/gm03/default.cfg new file mode 100644 index 000000000..c67325399 --- /dev/null +++ b/tests/functionaltests/suites/gm03/default.cfg @@ -0,0 +1,90 @@ +# ================================================================= +# +# Authors: Tom Kralidis +# +# Copyright (c) 2011 Tom Kralidis +# +# Permission is hereby granted, free of charge, to any person +# obtaining a copy of this software and associated documentation +# files (the "Software"), to deal in the Software without +# restriction, including without limitation the rights to use, +# copy, modify, merge, publish, distribute, sublicense, and/or sell +# copies of the Software, and to permit persons to whom the +# Software is furnished to do so, subject to the following +# conditions: +# +# The above copyright notice and this permission notice shall be +# included in all copies or substantial portions of the Software. +# +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +# EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES +# OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +# NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT +# HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, +# WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR +# OTHER DEALINGS IN THE SOFTWARE. +# +# ================================================================= + +[server] +home=. +url=http://localhost/pycsw/csw.py?config=tests/suites/gm03/default.cfg +mimetype=application/xml; charset=UTF-8 +encoding=UTF-8 +language=en-US +maxrecords=10 +#loglevel=DEBUG +#logfile=/tmp/pycsw.log +#ogc_schemas_base=http://foo +federatedcatalogues=http://geo.data.gov/geoportal/csw/discovery +pretty_print=true +#gzip_compresslevel=8 +#spatial_ranking=true + +[manager] +transactions=false +allowed_ips=127.0.0.1 + +[metadata:main] +identification_title=pycsw Geospatial Catalogue +identification_abstract=pycsw is an OGC CSW server implementation written in Python +identification_keywords=catalogue,discovery +identification_keywords_type=theme +identification_fees=None +identification_accessconstraints=None +provider_name=pycsw +provider_url=http://pycsw.org/ +contact_name=Kralidis, Tom +contact_position=Senior Systems Scientist +contact_address=TBA +contact_city=Toronto +contact_stateorprovince=Ontario +contact_postalcode=M9C 3Z9 +contact_country=Canada +contact_phone=+01-416-xxx-xxxx +contact_fax=+01-416-xxx-xxxx +contact_email=tomkralidis@gmail.com +contact_url=http://kralidis.ca/ +contact_hours=0800h - 1600h EST +contact_instructions=During hours of service. Off on weekends. +contact_role=pointOfContact + +[repository] +# sqlite +database=sqlite:///tests/suites/cite/data/records.db +# postgres +#database=postgres://username:password@localhost/pycsw +table=records + +[metadata:inspire] +enabled=false +languages_supported=eng,gre +default_language=eng +date=2011-03-29 +gemet_keywords=Utility and governmental services +conformity_service=notEvaluated +contact_name=National Technical University of Athens +contact_email=tzotsos@gmail.com +temp_extent=2011-02-01/2011-03-30 + diff --git a/tests/functionaltests/suites/gm03/expected/post_GetCapabilities.xml b/tests/functionaltests/suites/gm03/expected/post_GetCapabilities.xml new file mode 100644 index 000000000..46b77ba68 --- /dev/null +++ b/tests/functionaltests/suites/gm03/expected/post_GetCapabilities.xml @@ -0,0 +1,262 @@ + + + + + pycsw Geospatial Catalogue + pycsw is an OGC CSW server implementation written in Python + + catalogue + discovery + theme + + CSW + 2.0.2 + 3.0.0 + None + None + + + pycsw + + + Kralidis, Tom + Senior Systems Scientist + + + +01-416-xxx-xxxx + +01-416-xxx-xxxx + + + TBA + Toronto + Ontario + M9C 3Z9 + Canada + tomkralidis@gmail.com + + + 0800h - 1600h EST + During hours of service. Off on weekends. + + pointOfContact + + + + + + + + + + + + Filter_Capabilities + OperationsMetadata + ServiceIdentification + ServiceProvider + + + + + + + + + + + application/json + application/xml + + + http://www.w3.org/2001/XMLSchema + http://www.w3.org/TR/xmlschema-1/ + http://www.w3.org/XML/Schema + + + csw:Record + + + + + + + + + + + DescribeRecord.outputFormat + DescribeRecord.schemaLanguage + DescribeRecord.typeName + GetCapabilities.sections + GetRecordById.ElementSetName + GetRecordById.outputFormat + GetRecordById.outputSchema + GetRecords.CONSTRAINTLANGUAGE + GetRecords.ElementSetName + GetRecords.outputFormat + GetRecords.outputSchema + GetRecords.resultType + GetRecords.typeNames + + + + + + + + + + + CQL_TEXT + FILTER + + + brief + full + summary + + + application/json + application/xml + + + http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ + http://www.interlis.ch/INTERLIS2.3 + http://www.opengis.net/cat/csw/2.0.2 + http://www.opengis.net/cat/csw/csdgm + http://www.w3.org/2005/Atom + + + hits + results + validate + + + csw:Record + + + csw:AnyText + dc:contributor + dc:creator + dc:date + dc:format + dc:identifier + dc:language + dc:publisher + dc:relation + dc:rights + dc:source + dc:subject + dc:title + dc:type + dct:abstract + dct:modified + ows:BoundingBox + + + + + + + + + + + brief + full + summary + + + application/json + application/xml + + + http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ + http://www.interlis.ch/INTERLIS2.3 + http://www.opengis.net/cat/csw/2.0.2 + http://www.opengis.net/cat/csw/csdgm + http://www.w3.org/2005/Atom + + + + + + + + + + + CSW + + + 2.0.2 + 3.0.0 + + + http://geo.data.gov/geoportal/csw/discovery + + + 10 + + + XML + SOAP + + + allowed + + + + + + gml:Point + gml:LineString + gml:Polygon + gml:Envelope + + + + + + + + + + + + + + + + + + + Between + EqualTo + GreaterThan + GreaterThanEqualTo + LessThan + LessThanEqualTo + Like + NotEqualTo + NullCheck + + + + + length + lower + ltrim + rtrim + trim + upper + + + + + + + + + + diff --git a/tests/functionaltests/suites/gm03/expected/post_GetRecords-filter-bbox.xml b/tests/functionaltests/suites/gm03/expected/post_GetRecords-filter-bbox.xml new file mode 100644 index 000000000..55213c6e1 --- /dev/null +++ b/tests/functionaltests/suites/gm03/expected/post_GetRecords-filter-bbox.xml @@ -0,0 +1,137 @@ + + + + + + + + + + + + + urn:uuid:94bc9c83-97f6-4b40-9eb8-a8e8787a5c63 + + + GM03 + 2.3 + + + http://purl.org/dc/dcmitype/Dataset + + + + + + + + + + + + + + Mauris sed neque + + + + + + + + + + + Curabitur lacinia, ante non porta tempus, mi lorem feugiat odio, eget suscipit eros pede ac velit. + + + + + + + + + + + Vegetation-Cropland + + + + + + + 51.22 + 47.59 + -4.1 + 0.89 + + + + + + + + + + + + urn:uuid:9a669547-b69b-469f-a11f-2d875366bbdc + + + GM03 + 2.3 + + + http://purl.org/dc/dcmitype/Dataset + + + + + + + + + + + + + + Ñunç elementum + + + + + + + + + + + + + + + + + + + + + + Hydrography-Oceanographic + + + + + + + 51.13 + 44.79 + -6.17 + -2.23 + + + + + + diff --git a/tests/functionaltests/suites/gm03/post/GetCapabilities.xml b/tests/functionaltests/suites/gm03/post/GetCapabilities.xml new file mode 100644 index 000000000..e4dc8070b --- /dev/null +++ b/tests/functionaltests/suites/gm03/post/GetCapabilities.xml @@ -0,0 +1,9 @@ + + + + 2.0.2 + + + application/xml + + diff --git a/tests/functionaltests/suites/gm03/post/GetRecords-filter-bbox.xml b/tests/functionaltests/suites/gm03/post/GetRecords-filter-bbox.xml new file mode 100644 index 000000000..4b2319124 --- /dev/null +++ b/tests/functionaltests/suites/gm03/post/GetRecords-filter-bbox.xml @@ -0,0 +1,17 @@ + + + + brief + + + + ows:BoundingBox + + 47 -5 + 55 20 + + + + + + diff --git a/tests/functionaltests/suites/harvesting/default.cfg b/tests/functionaltests/suites/harvesting/default.cfg new file mode 100644 index 000000000..78f00ea1c --- /dev/null +++ b/tests/functionaltests/suites/harvesting/default.cfg @@ -0,0 +1,91 @@ +# ================================================================= +# +# Authors: Tom Kralidis +# +# Copyright (c) 2012 Tom Kralidis +# +# Permission is hereby granted, free of charge, to any person +# obtaining a copy of this software and associated documentation +# files (the "Software"), to deal in the Software without +# restriction, including without limitation the rights to use, +# copy, modify, merge, publish, distribute, sublicense, and/or sell +# copies of the Software, and to permit persons to whom the +# Software is furnished to do so, subject to the following +# conditions: +# +# The above copyright notice and this permission notice shall be +# included in all copies or substantial portions of the Software. +# +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +# EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES +# OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +# NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT +# HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, +# WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR +# OTHER DEALINGS IN THE SOFTWARE. +# +# ================================================================= + +[server] +home=. +url=http://localhost/pycsw/csw.py?config=tests/suites/harvesting/default.cfg +mimetype=application/xml; charset=UTF-8 +encoding=UTF-8 +language=en-US +maxrecords=10 +#loglevel=DEBUG +#logfile=/tmp/pycsw.log +#ogc_schemas_base=http://foo +federatedcatalogues=http://geo.data.gov/geoportal/csw/discovery +pretty_print=true +#gzip_compresslevel=8 +#spatial_ranking=true +profiles=apiso + +[manager] +transactions=true +allowed_ips=127.0.0.1 + +[metadata:main] +identification_title=pycsw Geospatial Catalogue +identification_abstract=pycsw is an OGC CSW server implementation written in Python +identification_keywords=catalogue,discovery +identification_keywords_type=theme +identification_fees=None +identification_accessconstraints=None +provider_name=pycsw +provider_url=http://pycsw.org/ +contact_name=Kralidis, Tom +contact_position=Senior Systems Scientist +contact_address=TBA +contact_city=Toronto +contact_stateorprovince=Ontario +contact_postalcode=M9C 3Z9 +contact_country=Canada +contact_phone=+01-416-xxx-xxxx +contact_fax=+01-416-xxx-xxxx +contact_email=tomkralidis@gmail.com +contact_url=http://kralidis.ca/ +contact_hours=0800h - 1600h EST +contact_instructions=During hours of service. Off on weekends. +contact_role=pointOfContact + +[repository] +# sqlite +database=sqlite:///tests/suites/harvesting/data/records.db +# postgres +#database=postgres://username:password@localhost/pycsw +table=records + +[metadata:inspire] +enabled=false +languages_supported=eng,gre +default_language=eng +date=2011-03-29 +gemet_keywords=Utility and governmental services +conformity_service=notEvaluated +contact_name=National Technical University of Athens +contact_email=tzotsos@gmail.com +temp_extent=2011-02-01/2011-03-30 + diff --git a/tests/functionaltests/suites/harvesting/expected/get_Exception-Harvest-invalid-resourcetype.xml b/tests/functionaltests/suites/harvesting/expected/get_Exception-Harvest-invalid-resourcetype.xml new file mode 100644 index 000000000..4e1e40cd8 --- /dev/null +++ b/tests/functionaltests/suites/harvesting/expected/get_Exception-Harvest-invalid-resourcetype.xml @@ -0,0 +1,7 @@ + + + + + Invalid resource type parameter: http://www.opengis.net/wms1234. Allowable resourcetype values: http://www.opengis.net/cat/csw/2.0.2,http://www.opengis.net/cat/csw/3.0,http://www.opengis.net/wms,http://www.opengis.net/wmts/1.0,http://www.opengis.net/wfs,http://www.opengis.net/wfs/2.0,http://www.opengis.net/wcs,http://www.opengis.net/wps/1.0.0,http://www.opengis.net/sos/1.0,http://www.opengis.net/sos/2.0,http://www.isotc211.org/2005/gmi,urn:geoss:waf,http://www.interlis.ch/INTERLIS2.3,http://www.opengis.net/cat/csw/csdgm,http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/,http://www.w3.org/2005/Atom,http://www.isotc211.org/2005/gmd,http://www.isotc211.org/schemas/2005/gmd/ + + diff --git a/tests/functionaltests/suites/harvesting/expected/get_Exception-Harvest-missing-resourcetype.xml b/tests/functionaltests/suites/harvesting/expected/get_Exception-Harvest-missing-resourcetype.xml new file mode 100644 index 000000000..36852c4f6 --- /dev/null +++ b/tests/functionaltests/suites/harvesting/expected/get_Exception-Harvest-missing-resourcetype.xml @@ -0,0 +1,7 @@ + + + + + Missing resourcetype parameter + + diff --git a/tests/functionaltests/suites/harvesting/expected/get_Exception-Harvest-missing-source.xml b/tests/functionaltests/suites/harvesting/expected/get_Exception-Harvest-missing-source.xml new file mode 100644 index 000000000..250afe73d --- /dev/null +++ b/tests/functionaltests/suites/harvesting/expected/get_Exception-Harvest-missing-source.xml @@ -0,0 +1,7 @@ + + + + + Missing source parameter + + diff --git a/tests/functionaltests/suites/harvesting/expected/get_Exception-Harvest-waf-bad-value.xml b/tests/functionaltests/suites/harvesting/expected/get_Exception-Harvest-waf-bad-value.xml new file mode 100644 index 000000000..4739bff30 --- /dev/null +++ b/tests/functionaltests/suites/harvesting/expected/get_Exception-Harvest-waf-bad-value.xml @@ -0,0 +1,7 @@ + + + + + Harvest failed: record parsing failed: unknown url type: badvalue + + diff --git a/tests/functionaltests/suites/harvesting/expected/get_Exception-Harvest-waf-no-records-found.xml b/tests/functionaltests/suites/harvesting/expected/get_Exception-Harvest-waf-no-records-found.xml new file mode 100644 index 000000000..177601c6b --- /dev/null +++ b/tests/functionaltests/suites/harvesting/expected/get_Exception-Harvest-waf-no-records-found.xml @@ -0,0 +1,11 @@ + + + + + + 0 + 0 + 0 + + + diff --git a/tests/functionaltests/suites/harvesting/expected/post_Clear-000-delete-all.xml b/tests/functionaltests/suites/harvesting/expected/post_Clear-000-delete-all.xml new file mode 100644 index 000000000..01ccdf629 --- /dev/null +++ b/tests/functionaltests/suites/harvesting/expected/post_Clear-000-delete-all.xml @@ -0,0 +1,9 @@ + + + + + 0 + 0 + 0 + + diff --git a/tests/functionaltests/suites/harvesting/expected/post_Exception-Havest-csw-404.xml b/tests/functionaltests/suites/harvesting/expected/post_Exception-Havest-csw-404.xml new file mode 100644 index 000000000..371aae9c0 --- /dev/null +++ b/tests/functionaltests/suites/harvesting/expected/post_Exception-Havest-csw-404.xml @@ -0,0 +1,7 @@ + + + + + Harvest failed: record parsing failed: HTTP error: HTTP Error 404: Not Found + + diff --git a/tests/functionaltests/suites/harvesting/expected/post_GetCapabilities.xml b/tests/functionaltests/suites/harvesting/expected/post_GetCapabilities.xml new file mode 100644 index 000000000..731b83f90 --- /dev/null +++ b/tests/functionaltests/suites/harvesting/expected/post_GetCapabilities.xml @@ -0,0 +1,368 @@ + + + + + pycsw Geospatial Catalogue + pycsw is an OGC CSW server implementation written in Python + + catalogue + discovery + theme + + CSW + 2.0.2 + 3.0.0 + None + None + + + pycsw + + + Kralidis, Tom + Senior Systems Scientist + + + +01-416-xxx-xxxx + +01-416-xxx-xxxx + + + TBA + Toronto + Ontario + M9C 3Z9 + Canada + tomkralidis@gmail.com + + + 0800h - 1600h EST + During hours of service. Off on weekends. + + pointOfContact + + + + + + + + + + + + Filter_Capabilities + OperationsMetadata + ServiceIdentification + ServiceProvider + + + + + + + + + + + application/json + application/xml + + + http://www.w3.org/2001/XMLSchema + http://www.w3.org/TR/xmlschema-1/ + http://www.w3.org/XML/Schema + + + csw:Record + gmd:MD_Metadata + + + + + + + + + + + DescribeRecord.outputFormat + DescribeRecord.schemaLanguage + DescribeRecord.typeName + GetCapabilities.sections + GetRecordById.ElementSetName + GetRecordById.outputFormat + GetRecordById.outputSchema + GetRecords.CONSTRAINTLANGUAGE + GetRecords.ElementSetName + GetRecords.outputFormat + GetRecords.outputSchema + GetRecords.resultType + GetRecords.typeNames + Harvest.ResourceType + Transaction.TransactionSchemas + + + + + + + + + + + CQL_TEXT + FILTER + + + brief + full + summary + + + application/json + application/xml + + + http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ + http://www.interlis.ch/INTERLIS2.3 + http://www.isotc211.org/2005/gmd + http://www.opengis.net/cat/csw/2.0.2 + http://www.opengis.net/cat/csw/csdgm + http://www.w3.org/2005/Atom + + + hits + results + validate + + + csw:Record + gmd:MD_Metadata + + + apiso:AccessConstraints + apiso:Classification + apiso:ConditionApplyingToAccessAndUse + apiso:Contributor + apiso:Creator + apiso:Degree + apiso:Lineage + apiso:OtherConstraints + apiso:Publisher + apiso:Relation + apiso:ResponsiblePartyRole + apiso:SpecificationDate + apiso:SpecificationDateType + apiso:SpecificationTitle + + + csw:AnyText + dc:contributor + dc:creator + dc:date + dc:format + dc:identifier + dc:language + dc:publisher + dc:relation + dc:rights + dc:source + dc:subject + dc:title + dc:type + dct:abstract + dct:modified + ows:BoundingBox + + + apiso:Abstract + apiso:AlternateTitle + apiso:AnyText + apiso:BoundingBox + apiso:CRS + apiso:CouplingType + apiso:CreationDate + apiso:Denominator + apiso:DistanceUOM + apiso:DistanceValue + apiso:Format + apiso:GeographicDescriptionCode + apiso:HasSecurityConstraints + apiso:Identifier + apiso:KeywordType + apiso:Language + apiso:Modified + apiso:OperatesOn + apiso:OperatesOnIdentifier + apiso:OperatesOnName + apiso:Operation + apiso:OrganisationName + apiso:ParentIdentifier + apiso:PublicationDate + apiso:ResourceLanguage + apiso:RevisionDate + apiso:ServiceType + apiso:ServiceTypeVersion + apiso:Subject + apiso:TempExtent_begin + apiso:TempExtent_end + apiso:Title + apiso:TopicCategory + apiso:Type + + + + + + + + + + + brief + full + summary + + + application/json + application/xml + + + http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ + http://www.interlis.ch/INTERLIS2.3 + http://www.isotc211.org/2005/gmd + http://www.opengis.net/cat/csw/2.0.2 + http://www.opengis.net/cat/csw/csdgm + http://www.w3.org/2005/Atom + + + + + + + + + + + + + + + + + http://www.isotc211.org/2005/gmi + http://www.opengis.net/cat/csw/2.0.2 + http://www.opengis.net/cat/csw/3.0 + http://www.opengis.net/sos/1.0 + http://www.opengis.net/sos/2.0 + http://www.opengis.net/wcs + http://www.opengis.net/wfs + http://www.opengis.net/wfs/2.0 + http://www.opengis.net/wms + http://www.opengis.net/wmts/1.0 + http://www.opengis.net/wps/1.0.0 + urn:geoss:waf + + + + + + + + + + http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ + http://www.interlis.ch/INTERLIS2.3 + http://www.isotc211.org/2005/gmd + http://www.isotc211.org/2005/gmi + http://www.isotc211.org/schemas/2005/gmd/ + http://www.opengis.net/cat/csw/2.0.2 + http://www.opengis.net/cat/csw/3.0 + http://www.opengis.net/cat/csw/csdgm + http://www.opengis.net/sos/1.0 + http://www.opengis.net/sos/2.0 + http://www.opengis.net/wcs + http://www.opengis.net/wfs + http://www.opengis.net/wfs/2.0 + http://www.opengis.net/wms + http://www.opengis.net/wmts/1.0 + http://www.opengis.net/wps/1.0.0 + http://www.w3.org/2005/Atom + urn:geoss:waf + + + + CSW + + + 2.0.2 + 3.0.0 + + + http://geo.data.gov/geoportal/csw/discovery + + + 10 + + + XML + SOAP + + + allowed + + + + + + gml:Point + gml:LineString + gml:Polygon + gml:Envelope + + + + + + + + + + + + + + + + + + + Between + EqualTo + GreaterThan + GreaterThanEqualTo + LessThan + LessThanEqualTo + Like + NotEqualTo + NullCheck + + + + + length + lower + ltrim + rtrim + trim + upper + + + + + + + + + + diff --git a/tests/functionaltests/suites/harvesting/expected/post_GetDomain-parameter.xml b/tests/functionaltests/suites/harvesting/expected/post_GetDomain-parameter.xml new file mode 100644 index 000000000..b47402ca2 --- /dev/null +++ b/tests/functionaltests/suites/harvesting/expected/post_GetDomain-parameter.xml @@ -0,0 +1,27 @@ + + + + + Harvest.ResourceType + + http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ + http://www.interlis.ch/INTERLIS2.3 + http://www.isotc211.org/2005/gmd + http://www.isotc211.org/2005/gmi + http://www.isotc211.org/schemas/2005/gmd/ + http://www.opengis.net/cat/csw/2.0.2 + http://www.opengis.net/cat/csw/3.0 + http://www.opengis.net/cat/csw/csdgm + http://www.opengis.net/sos/1.0 + http://www.opengis.net/sos/2.0 + http://www.opengis.net/wcs + http://www.opengis.net/wfs + http://www.opengis.net/wfs/2.0 + http://www.opengis.net/wms + http://www.opengis.net/wmts/1.0 + http://www.opengis.net/wps/1.0.0 + http://www.w3.org/2005/Atom + urn:geoss:waf + + + diff --git a/tests/functionaltests/suites/harvesting/expected/post_Harvest-csw-iso.xml b/tests/functionaltests/suites/harvesting/expected/post_Harvest-csw-iso.xml new file mode 100644 index 000000000..1aa0f2bfc --- /dev/null +++ b/tests/functionaltests/suites/harvesting/expected/post_Harvest-csw-iso.xml @@ -0,0 +1,149 @@ + + + + + + 34 + 0 + 0 + + + + PYCSW_IDENTIFIER + pycsw Geospatial Catalogue OGC services demo + + + PYCSW_IDENTIFIER + 1 Million Scale WMS Layers from the National Atlas of the United States + + + PYCSW_IDENTIFIER-ports1m + 1 Million Scale - Ports + + + PYCSW_IDENTIFIER-national1m + 1 Million Scale - National Boundary + + + PYCSW_IDENTIFIER-elevation + 1 Million Scale - Elevation 100 Meter Resolution + + + PYCSW_IDENTIFIER-impervious + 1 Million Scale - Impervious Surface 100 Meter Resolution + + + PYCSW_IDENTIFIER-coast1m + 1 Million Scale - Coastlines + + + PYCSW_IDENTIFIER-cdl + 1 Million Scale - 113th Congressional Districts + + + PYCSW_IDENTIFIER-states1m + 1 Million Scale - States + + + PYCSW_IDENTIFIER-elsli0100g + 1 Million Scale - Color-Sliced Elevation 100 Meter Resolution + + + PYCSW_IDENTIFIER-landcov100m + 1 Million Scale - Land Cover 100 Meter Resolution + + + PYCSW_IDENTIFIER-cdp + 1 Million Scale - 113th Congressional Districts by Party + + + PYCSW_IDENTIFIER-amtrak1m + 1 Million Scale - Railroad and Bus Passenger Stations + + + PYCSW_IDENTIFIER-airports1m + 1 Million Scale - Airports + + + PYCSW_IDENTIFIER-one_million + 1 Million Scale WMS Layers from the National Atlas of the United States + + + PYCSW_IDENTIFIER-satvi0100g + 1 Million Scale - Satellite View 100 Meter Resolution + + + PYCSW_IDENTIFIER-srcoi0100g + 1 Million Scale - Color Shaded Relief 100 Meter Resolution + + + PYCSW_IDENTIFIER-srgri0100g + 1 Million Scale - Gray Shaded Relief 100 Meter Resolution + + + PYCSW_IDENTIFIER-treecanopy + 1 Million Scale - Tree Canopy 100 Meter Resolution + + + PYCSW_IDENTIFIER-svsri0100g + 1 Million Scale - Satellite View with Shaded Relief 100 Meter Resolution + + + PYCSW_IDENTIFIER + Wisconsin Lake Clarity + + + PYCSW_IDENTIFIER-Highways + Highways + + + PYCSW_IDENTIFIER-LakesTSI + LakesTSI + + + PYCSW_IDENTIFIER-LakeClarity + Wisconsin Lake Clarity + + + PYCSW_IDENTIFIER-LakesTSI_0305 + LakesTSI_0305 + + + PYCSW_IDENTIFIER-Relief + Relief + + + PYCSW_IDENTIFIER-LakeNames_0305 + LakeNames_0305 + + + PYCSW_IDENTIFIER-Roads + Roads + + + PYCSW_IDENTIFIER-LakeNames + LakeNames + + + PYCSW_IDENTIFIER-Counties + Counties + + + PYCSW_IDENTIFIER + View & download service for EU-DEM data provided by EOX + + + PYCSW_IDENTIFIER-EU-DEM + EU-DEM + + + PYCSW_IDENTIFIER-MS + View & download service for EU-DEM data provided by EOX + + + PYCSW_IDENTIFIER-eudem_color + EU-DEM color shaded + + + + diff --git a/tests/functionaltests/suites/harvesting/expected/post_Harvest-csw-run1.xml b/tests/functionaltests/suites/harvesting/expected/post_Harvest-csw-run1.xml new file mode 100644 index 000000000..5786b5423 --- /dev/null +++ b/tests/functionaltests/suites/harvesting/expected/post_Harvest-csw-run1.xml @@ -0,0 +1,65 @@ + + + + + + 13 + 0 + 0 + + + + PYCSW_IDENTIFIER + pycsw OGC CITE demo and Reference Implementation + + + PYCSW_IDENTIFIER + Lorem ipsum + + + PYCSW_IDENTIFIER + + + + PYCSW_IDENTIFIER + Maecenas enim + + + PYCSW_IDENTIFIER + Ut facilisis justo ut lacus + + + PYCSW_IDENTIFIER + Aliquam fermentum purus quis arcu + + + PYCSW_IDENTIFIER + Vestibulum massa purus + + + PYCSW_IDENTIFIER + + + + PYCSW_IDENTIFIER + Mauris sed neque + + + PYCSW_IDENTIFIER + Ñunç elementum + + + PYCSW_IDENTIFIER + Lorem ipsum dolor sit amet + + + PYCSW_IDENTIFIER + + + + PYCSW_IDENTIFIER + Fuscé vitae ligulä + + + + diff --git a/tests/functionaltests/suites/harvesting/expected/post_Harvest-csw-run2.xml b/tests/functionaltests/suites/harvesting/expected/post_Harvest-csw-run2.xml new file mode 100644 index 000000000..4362f5264 --- /dev/null +++ b/tests/functionaltests/suites/harvesting/expected/post_Harvest-csw-run2.xml @@ -0,0 +1,11 @@ + + + + + + 13 + 13 + 0 + + + diff --git a/tests/functionaltests/suites/harvesting/expected/post_Harvest-dc.xml b/tests/functionaltests/suites/harvesting/expected/post_Harvest-dc.xml new file mode 100644 index 000000000..58d6d5044 --- /dev/null +++ b/tests/functionaltests/suites/harvesting/expected/post_Harvest-dc.xml @@ -0,0 +1,17 @@ + + + + + + 1 + 0 + 0 + + + + PYCSW_IDENTIFIER + Image2000 Product 1 (at1) Multispectral + + + + diff --git a/tests/functionaltests/suites/harvesting/expected/post_Harvest-fgdc.xml b/tests/functionaltests/suites/harvesting/expected/post_Harvest-fgdc.xml new file mode 100644 index 000000000..c12247fcb --- /dev/null +++ b/tests/functionaltests/suites/harvesting/expected/post_Harvest-fgdc.xml @@ -0,0 +1,17 @@ + + + + + + 1 + 0 + 0 + + + + PYCSW_IDENTIFIER + CPC Merged Analysis of Precipitation Standard [POL 88.75 -88.75 180 -180] + + + + diff --git a/tests/functionaltests/suites/harvesting/expected/post_Harvest-iso.xml b/tests/functionaltests/suites/harvesting/expected/post_Harvest-iso.xml new file mode 100644 index 000000000..98b9770f4 --- /dev/null +++ b/tests/functionaltests/suites/harvesting/expected/post_Harvest-iso.xml @@ -0,0 +1,17 @@ + + + + + + 1 + 0 + 0 + + + + PYCSW_IDENTIFIER + Wasserkörper Linien + + + + diff --git a/tests/functionaltests/suites/harvesting/expected/post_Harvest-rdf.xml b/tests/functionaltests/suites/harvesting/expected/post_Harvest-rdf.xml new file mode 100644 index 000000000..2e926c2c4 --- /dev/null +++ b/tests/functionaltests/suites/harvesting/expected/post_Harvest-rdf.xml @@ -0,0 +1,17 @@ + + + + + + 1 + 0 + 0 + + + + PYCSW_IDENTIFIER + Website_gdb + + + + diff --git a/tests/functionaltests/suites/harvesting/expected/post_Harvest-sos100.xml b/tests/functionaltests/suites/harvesting/expected/post_Harvest-sos100.xml new file mode 100644 index 000000000..25e56a48b --- /dev/null +++ b/tests/functionaltests/suites/harvesting/expected/post_Harvest-sos100.xml @@ -0,0 +1,133 @@ + + + + + + 30 + 0 + 0 + + + + PYCSW_IDENTIFIER + Northeastern Regional Association of Coastal Ocean Observing Systems + + + PYCSW_IDENTIFIER-CML + Mooring CML data from the COOA (UNH-COOA) located UNH Coastal Marine Lab Field Station + + + PYCSW_IDENTIFIER-F01 + Mooring F01 data from the Northeastern Regional Association of Coastal Ocean Observing Systems (Univ. of Maine) located Penobscot Bay + + + PYCSW_IDENTIFIER-F02 + Mooring F02 data from the Northeastern Regional Association of Coastal Ocean Observing Systems (Univ. of Maine) located DeepCwind Castine Test Site + + + PYCSW_IDENTIFIER-SMB-MO-04 + Mooring SMB-MO-04 data from the Northeastern Regional Association of Coastal Ocean Observing Systems (SmartBay) located Pilot Boarding Station, Red Island Shoal, Placentia Bay, NL, CA + + + PYCSW_IDENTIFIER-LDLC3 + Mooring LDLC3 data from the LISICOS (LISICOS) located New London Ledge Light + + + PYCSW_IDENTIFIER-CDIP154 + Mooring CDIP154 data from the COOA (UNH-COOA-CDIP) located Block Island, RI + + + PYCSW_IDENTIFIER-CDIP176 + Mooring CDIP176 data from the COOA (UNH-COOA-CDIP) located Halifax Harbor, CA + + + PYCSW_IDENTIFIER-ARTG + Mooring ARTG data from the LISICOS (LISICOS) located North of Smithtown Bay + + + PYCSW_IDENTIFIER-M01 + Mooring M01 data from the Northeastern Regional Association of Coastal Ocean Observing Systems (Univ. of Maine) located Jordan Basin + + + PYCSW_IDENTIFIER-N01 + Mooring N01 data from the Northeastern Regional Association of Coastal Ocean Observing Systems (Univ. of Maine) located Northeast Channel + + + PYCSW_IDENTIFIER-44039 + Mooring 44039 data from the LISICOS (LISICOS) located Central Long Island Sound + + + PYCSW_IDENTIFIER-SMB-MO-01 + Mooring SMB-MO-01 data from the Northeastern Regional Association of Coastal Ocean Observing Systems (SmartBay) located Mouth of Placentia Bay, NL, Canada + + + PYCSW_IDENTIFIER-SMB-MO-05 + Mooring SMB-MO-05 data from the Northeastern Regional Association of Coastal Ocean Observing Systems (SmartBay) located Come By Chance Point, Placentia Bay, NL, CA + + + PYCSW_IDENTIFIER-D02 + Mooring D02 data from the Northeastern Regional Association of Coastal Ocean Observing Systems (Univ. of Maine) located Lower Harpswell Sound + + + PYCSW_IDENTIFIER-E02 + Mooring E02 data from the Northeastern Regional Association of Coastal Ocean Observing Systems (Univ. of Maine) located DeepCwind Test Site + + + PYCSW_IDENTIFIER-E01 + Mooring E01 data from the Northeastern Regional Association of Coastal Ocean Observing Systems (Univ. of Maine) located Central Maine Shelf + + + PYCSW_IDENTIFIER-B01 + Mooring B01 data from the Northeastern Regional Association of Coastal Ocean Observing Systems (Univ. of Maine) located Western Maine Shelf + + + PYCSW_IDENTIFIER-EXRX + Mooring EXRX data from the LISICOS (LISICOS) located Execution Rocks Long Island Sound + + + PYCSW_IDENTIFIER-44098 + Mooring 44098 data from the COOA (UNH-COOA) located Jeffrey's Ledge + + + PYCSW_IDENTIFIER-WLIS + Mooring WLIS data from the LISICOS (LISICOS) located Western Long Island Sound + + + PYCSW_IDENTIFIER-CO2 + Mooring CO2 data from the COOA (UNH-COOA) located Appledore Island + + + PYCSW_IDENTIFIER-CDIP221 + Mooring CDIP221 data from the COOA (UNH-COOA-CDIP) located Cape Cod Bay, MA + + + PYCSW_IDENTIFIER-ALL_PLATFORMS + Mooring data for all buoys from the Northeastern Regional Association of Coastal Ocean Observing Systems (NERACOOS) located in the NERACOOS Region + + + PYCSW_IDENTIFIER-A01 + Mooring A01 data from the Northeastern Regional Association of Coastal Ocean Observing Systems (Univ. of Maine) located Massachusetts Bay + + + PYCSW_IDENTIFIER-MDS02 + Mooring MDS02 data from the URI (Univ. of Rhode Is.) located SAMP MD S + + + PYCSW_IDENTIFIER-GREAT_BAY + Mooring GREAT_BAY data from the COOA (UNH-COOA) located Great Bay, NH + + + PYCSW_IDENTIFIER-I01 + Mooring I01 data from the Northeastern Regional Association of Coastal Ocean Observing Systems (Univ. of Maine) located Eastern Maine Shelf + + + PYCSW_IDENTIFIER-CDIP207 + Mooring CDIP207 data from the COOA (UNH-COOA-CDIP) located Fire Island, NY + + + PYCSW_IDENTIFIER-44060 + Mooring 44060 data from the LISICOS (LISICOS) located Eastern Long Island Sound + + + + diff --git a/tests/functionaltests/suites/harvesting/expected/post_Harvest-sos200.xml b/tests/functionaltests/suites/harvesting/expected/post_Harvest-sos200.xml new file mode 100644 index 000000000..b41170b20 --- /dev/null +++ b/tests/functionaltests/suites/harvesting/expected/post_Harvest-sos200.xml @@ -0,0 +1,21 @@ + + + + + + 2 + 0 + 0 + + + + PYCSW_IDENTIFIER + GIN SOS + + + PYCSW_IDENTIFIER-GW_LEVEL + + + + + diff --git a/tests/functionaltests/suites/harvesting/expected/post_Harvest-waf.xml b/tests/functionaltests/suites/harvesting/expected/post_Harvest-waf.xml new file mode 100644 index 000000000..75b60273f --- /dev/null +++ b/tests/functionaltests/suites/harvesting/expected/post_Harvest-waf.xml @@ -0,0 +1,25 @@ + + + + + + 3 + 0 + 0 + + + + PYCSW_IDENTIFIER + CPC Merged Analysis of Precipitation Standard [POL 88.75 -88.75 180 -180] + + + PYCSW_IDENTIFIER + Image2000 Product 1 (at1) Multispectral + + + PYCSW_IDENTIFIER + NOAA_RNC + + + + diff --git a/tests/functionaltests/suites/harvesting/expected/post_Harvest-wcs.xml b/tests/functionaltests/suites/harvesting/expected/post_Harvest-wcs.xml new file mode 100644 index 000000000..a5dcbed6f --- /dev/null +++ b/tests/functionaltests/suites/harvesting/expected/post_Harvest-wcs.xml @@ -0,0 +1,33 @@ + + + + + + 5 + 0 + 0 + + + + PYCSW_IDENTIFIER + WCS Demo Server for MapServer + + + PYCSW_IDENTIFIER-ndvi + North Central US MODIS-based NDVI Images for 2002 + + + PYCSW_IDENTIFIER-modis-001 + North Central US MODIS Images for 2002-001 + + + PYCSW_IDENTIFIER-fpar + North Central US MODIS-based FPAR Images for 2002 + + + PYCSW_IDENTIFIER-modis + North Central US MODIS Images for 2002 + + + + diff --git a/tests/functionaltests/suites/harvesting/expected/post_Harvest-wfs110.xml b/tests/functionaltests/suites/harvesting/expected/post_Harvest-wfs110.xml new file mode 100644 index 000000000..96ec6feb3 --- /dev/null +++ b/tests/functionaltests/suites/harvesting/expected/post_Harvest-wfs110.xml @@ -0,0 +1,37 @@ + + + + + + 6 + 0 + 0 + + + + PYCSW_IDENTIFIER + GeoServer Web Feature Service + + + PYCSW_IDENTIFIER-geoss_water_sba:Reservoir + Reservoir + + + PYCSW_IDENTIFIER-geoss_water_sba:glwd_1 + glwd_1 + + + PYCSW_IDENTIFIER-geoss_water_sba:Dams + Dams + + + PYCSW_IDENTIFIER-geoss_water_sba:glwd_2 + glwd_2 + + + PYCSW_IDENTIFIER-geoss_water_sba:Lakes + Lakes + + + + diff --git a/tests/functionaltests/suites/harvesting/expected/post_Harvest-wfs200.xml b/tests/functionaltests/suites/harvesting/expected/post_Harvest-wfs200.xml new file mode 100644 index 000000000..d73153e77 --- /dev/null +++ b/tests/functionaltests/suites/harvesting/expected/post_Harvest-wfs200.xml @@ -0,0 +1,57 @@ + + + + + + 11 + 0 + 0 + + + + PYCSW_IDENTIFIER + CERA_CERA_TechClasses_WGS84 + + + PYCSW_IDENTIFIER-CERA_CERA_TechClasses_WGS84:MBIE_Technical_Classes_WGS84_2012-08-16 + MBIE_Technical_Classes_WGS84_2012-08-16 + + + PYCSW_IDENTIFIER-CERA_CERA_TechClasses_WGS84:MBIE_Technical_Classes_WGS84_2012-05-18 + MBIE_Technical_Classes_WGS84_2012-05-18 + + + PYCSW_IDENTIFIER-CERA_CERA_TechClasses_WGS84:MBIE_Technical_Classes_WGS84_2013-12-04 + MBIE_Technical_Classes_WGS84_2013-12-04 + + + PYCSW_IDENTIFIER-CERA_CERA_TechClasses_WGS84:MBIE_Technical_Classes_WGS84_2011-10-28 + MBIE_Technical_Classes_WGS84_2011-10-28 + + + PYCSW_IDENTIFIER-CERA_CERA_TechClasses_WGS84:MBIE_Technical_Classes_WGS84_2012-02-10 + MBIE_Technical_Classes_WGS84_2012-02-10 + + + PYCSW_IDENTIFIER-CERA_CERA_TechClasses_WGS84:MBIE_Technical_Classes_WGS84_2012-09-14 + MBIE_Technical_Classes_WGS84_2012-09-14 + + + PYCSW_IDENTIFIER-CERA_CERA_TechClasses_WGS84:MBIE_Technical_Classes_WGS84_2012-03-23 + MBIE_Technical_Classes_WGS84_2012-03-23 + + + PYCSW_IDENTIFIER-CERA_CERA_TechClasses_WGS84:MBIE_Technical_Classes_WGS84_2011-11-17 + MBIE_Technical_Classes_WGS84_2011-11-17 + + + PYCSW_IDENTIFIER-CERA_CERA_TechClasses_WGS84:MBIE_Technical_Classes_WGS84_2012-08-24 + MBIE_Technical_Classes_WGS84_2012-08-24 + + + PYCSW_IDENTIFIER-CERA_CERA_TechClasses_WGS84:MBIE_Technical_Classes_WGS84_2012-10-31 + MBIE_Technical_Classes_WGS84_2012-10-31 + + + + diff --git a/tests/functionaltests/suites/harvesting/expected/post_Harvest-wms-run1.xml b/tests/functionaltests/suites/harvesting/expected/post_Harvest-wms-run1.xml new file mode 100644 index 000000000..d75519d7d --- /dev/null +++ b/tests/functionaltests/suites/harvesting/expected/post_Harvest-wms-run1.xml @@ -0,0 +1,29 @@ + + + + + + 4 + 0 + 0 + + + + PYCSW_IDENTIFIER + IEM WMS Service + + + PYCSW_IDENTIFIER-nexrad_base_reflect + IEM WMS Service + + + PYCSW_IDENTIFIER-time_idx + NEXRAD BASE REFLECT + + + PYCSW_IDENTIFIER-nexrad-n0r-wmst + NEXRAD BASE REFLECT + + + + diff --git a/tests/functionaltests/suites/harvesting/expected/post_Harvest-wms-run2.xml b/tests/functionaltests/suites/harvesting/expected/post_Harvest-wms-run2.xml new file mode 100644 index 000000000..19e8d8623 --- /dev/null +++ b/tests/functionaltests/suites/harvesting/expected/post_Harvest-wms-run2.xml @@ -0,0 +1,11 @@ + + + + + + 4 + 4 + 0 + + + diff --git a/tests/functionaltests/suites/harvesting/expected/post_Harvest-wmts.xml b/tests/functionaltests/suites/harvesting/expected/post_Harvest-wmts.xml new file mode 100644 index 000000000..372bad712 --- /dev/null +++ b/tests/functionaltests/suites/harvesting/expected/post_Harvest-wmts.xml @@ -0,0 +1,45 @@ + + + + + + 8 + 0 + 0 + + + + PYCSW_IDENTIFIER + Web Map Tile Service + + + PYCSW_IDENTIFIER-flwbplmzk + Flächenwidmungs- und Bebauungsplan + + + PYCSW_IDENTIFIER-lb + Luftbild + + + PYCSW_IDENTIFIER-lb2014 + Luftbild 2014 + + + PYCSW_IDENTIFIER-beschriftung + Beschriftung + + + PYCSW_IDENTIFIER-lb1938 + Luftbild 1938 + + + PYCSW_IDENTIFIER-fmzk + MZK Flächen + + + PYCSW_IDENTIFIER-lb1956 + Luftbild 1956 + + + + diff --git a/tests/functionaltests/suites/harvesting/expected/post_Harvest-wps.xml b/tests/functionaltests/suites/harvesting/expected/post_Harvest-wps.xml new file mode 100644 index 000000000..12381ec1e --- /dev/null +++ b/tests/functionaltests/suites/harvesting/expected/post_Harvest-wps.xml @@ -0,0 +1,57 @@ + + + + + + 11 + 0 + 0 + + + + PYCSW_IDENTIFIER + Geo Data Portal WPS Implementation + + + PYCSW_IDENTIFIER-gov.usgs.cida.gdp.wps.algorithm.filemanagement.CreateNewShapefileDataStore + gov.usgs.cida.gdp.wps.algorithm.filemanagement.CreateNewShapefileDataStore + + + PYCSW_IDENTIFIER-gov.usgs.cida.gdp.wps.algorithm.discovery.GetGridTimeRange + Get Grid Time Range + + + PYCSW_IDENTIFIER-gov.usgs.cida.gdp.wps.algorithm.filemanagement.ReceiveFiles + gov.usgs.cida.gdp.wps.algorithm.filemanagement.ReceiveFiles + + + PYCSW_IDENTIFIER-gov.usgs.cida.gdp.wps.algorithm.discovery.GetWcsCoverages + gov.usgs.cida.gdp.wps.algorithm.discovery.GetWcsCoverages + + + PYCSW_IDENTIFIER-gov.usgs.cida.gdp.wps.algorithm.filemanagement.GetWatersGeom + gov.usgs.cida.gdp.wps.algorithm.filemanagement.GetWatersGeom + + + PYCSW_IDENTIFIER-gov.usgs.cida.gdp.wps.algorithm.communication.GeoserverManagementAlgorithm + gov.usgs.cida.gdp.wps.algorithm.communication.GeoserverManagementAlgorithm + + + PYCSW_IDENTIFIER-gov.usgs.cida.gdp.wps.algorithm.communication.EmailWhenFinishedAlgorithm + gov.usgs.cida.gdp.wps.algorithm.communication.EmailWhenFinishedAlgorithm + + + PYCSW_IDENTIFIER-gov.usgs.cida.gdp.wps.algorithm.discovery.InterrogateDataset + Interogate Dataset URI + + + PYCSW_IDENTIFIER-gov.usgs.cida.gdp.wps.algorithm.discovery.ListOpendapGrids + List OpendDAP Grids + + + PYCSW_IDENTIFIER-gov.usgs.cida.gdp.wps.algorithm.discovery.CalculateWCSCoverageInfo + gov.usgs.cida.gdp.wps.algorithm.discovery.CalculateWCSCoverageInfo + + + + diff --git a/tests/functionaltests/suites/harvesting/expected/post_Harvest-zzz-post-GetRecords-filter-ows-dc.xml b/tests/functionaltests/suites/harvesting/expected/post_Harvest-zzz-post-GetRecords-filter-ows-dc.xml new file mode 100644 index 000000000..2b2887b5d --- /dev/null +++ b/tests/functionaltests/suites/harvesting/expected/post_Harvest-zzz-post-GetRecords-filter-ows-dc.xml @@ -0,0 +1,125 @@ + + + + + + + PYCSW_IDENTIFIER + pycsw Geospatial Catalogue OGC services demo + service + catalogue + discovery + metadata + services + CSW + http://demo.pycsw.org/services/csw + pycsw is an OGC CSW server implementation written in Python + Lastname, Firstname + Organization Name + Lastname, Firstname + http://demo.pycsw.org/services/csw + None + + + PYCSW_IDENTIFIER + pycsw OGC CITE demo and Reference Implementation + service + ogc + cite + compliance + interoperability + reference implementation + CSW + http://demo.pycsw.org/cite/csw + pycsw is an OGC CSW server implementation written in Python. pycsw fully implements the OpenGIS Catalogue Service Implementation Specification (Catalogue Service for the Web). Initial development started in 2010 (more formally announced in 2011). The project is certified OGC Compliant, and is an OGC Reference Implementation. Since 2015, pycsw is an official OSGeo Project. pycsw allows for the publishing and discovery of [[geospatial]] metadata via numerous APIs (CSW 2/CSW 3, OpenSearch, OAI-PMH, SRU). Existing repositories of geospatial metadata can also be exposed, providing a standards-based metadata and catalogue component of spatial data infrastructures. pycsw is Open Source, released under an MIT license, and runs on all major platforms (Windows, Linux, Mac OS X) + Lastname, Firstname + Organization Name + Lastname, Firstname + http://demo.pycsw.org/cite/csw + None + + + PYCSW_IDENTIFIER + Northeastern Regional Association of Coastal Ocean Observing Systems + service + NERACOOS + SOS + OCEANOGRAPHY + Ocean Observations + Gulf of Maine + Long Island Sound + Narragansett Bay + Cape Cod + Boston Harbor + Buzzards Bay + Weather + Ocean Currents + Water Temperature + Salinity + Winds + Waves + Ocean Color + GoMOOS + LISICOS + Univ. of New Hampshire + MVCO + Air Temperature + OGC:SOS + http://www.neracoos.org/cgi-bin/sos/V1.0/oostethys_sos.cgi + NERACOOS supports data collected from buoys in the Gulf of Maine and Long Island Sound. The six Gulf of Maine buoys carry a comprehensive sensor suite that includes the full complement of meteorological sensors carried by the standard NDBC buoys, and in addition commonly include atmospheric visibility, surface currents, water-column current profiles, temperature and conductivity, and fluorescence (for chlorophyll a estimation) and backscatter at multiple depths. In Long Island Sound, three buoys that measure wind speed and direction, circulation, salinity, temperature and dissolved oxygen. Two buoys will be located in western LIS (WLIS and EXRK stations) and the third will be in the Central Sound (CLIS). The buoys will be equipped with three YSI-SeaBird sensors to measure conductivity, temperature, pressure and dissolved oxygen concentration near the surface, bottom and mid-depth. A buoy in Great Bay measures physical, optical, meteorological and wave data. + Eric Bridger + NERACOOS + Eric Bridger + http://www.neracoos.org/cgi-bin/sos/V1.0/oostethys_sos.cgi + NONE + + 40.58 -73.73 + 47.79 -54.05 + + + + PYCSW_IDENTIFIER + GIN SOS + service + groundwater level + monitoring + timeseries + Alberta + Ontario + Nova Scotia + OGC:SOS + http://ngwd-bdnes.cits.nrcan.gc.ca/GinService/sos/gw + Historical groundwater level monitoring stations from Alberta, Ontario and Nova Scotia. This SOS web service delivers the data using OGC's WaterML 2.0. The SOS service federates data from various provincial sources and publishes them as a single service. Many monitoring stations also have water well characteristics available through the GIN WFS web service. + Boyan Brodaric + Geological Survey of Canada, Earth Sciences Sector, Natural Resources Canada, Government of Canada + Boyan Brodaric + http://ngwd-bdnes.cits.nrcan.gc.ca/GinService/sos/gw + NONE + + 41.0 -120.0 + 60.0 -60.0 + + + + PYCSW_IDENTIFIER + WCS Demo Server for MapServer + service + WCS + MODIS + NDVI + OGC:WCS + http://demo.mapserver.org/cgi-bin/wcs + Steve Lime + Minnesota DNR + Steve Lime + http://demo.mapserver.org/cgi-bin/wcs + + NONE + + + 41.03 -97.71 + 49.67 -80.68 + + + + diff --git a/tests/functionaltests/suites/harvesting/expected/post_Harvest-zzz-post-GetRecords-filter-sos-abstract-dc.xml b/tests/functionaltests/suites/harvesting/expected/post_Harvest-zzz-post-GetRecords-filter-sos-abstract-dc.xml new file mode 100644 index 000000000..f5af5079a --- /dev/null +++ b/tests/functionaltests/suites/harvesting/expected/post_Harvest-zzz-post-GetRecords-filter-sos-abstract-dc.xml @@ -0,0 +1,30 @@ + + + + + + + PYCSW_IDENTIFIER + GIN SOS + service + groundwater level + monitoring + timeseries + Alberta + Ontario + Nova Scotia + OGC:SOS + http://ngwd-bdnes.cits.nrcan.gc.ca/GinService/sos/gw + Historical groundwater level monitoring stations from Alberta, Ontario and Nova Scotia. This SOS web service delivers the data using OGC's WaterML 2.0. The SOS service federates data from various provincial sources and publishes them as a single service. Many monitoring stations also have water well characteristics available through the GIN WFS web service. + Boyan Brodaric + Geological Survey of Canada, Earth Sciences Sector, Natural Resources Canada, Government of Canada + Boyan Brodaric + http://ngwd-bdnes.cits.nrcan.gc.ca/GinService/sos/gw + NONE + + 41.0 -120.0 + 60.0 -60.0 + + + + diff --git a/tests/functionaltests/suites/harvesting/expected/post_Harvest-zzz-post-GetRecords-filter-sos-dc.xml b/tests/functionaltests/suites/harvesting/expected/post_Harvest-zzz-post-GetRecords-filter-sos-dc.xml new file mode 100644 index 000000000..8523426f5 --- /dev/null +++ b/tests/functionaltests/suites/harvesting/expected/post_Harvest-zzz-post-GetRecords-filter-sos-dc.xml @@ -0,0 +1,69 @@ + + + + + + + PYCSW_IDENTIFIER + Northeastern Regional Association of Coastal Ocean Observing Systems + service + NERACOOS + SOS + OCEANOGRAPHY + Ocean Observations + Gulf of Maine + Long Island Sound + Narragansett Bay + Cape Cod + Boston Harbor + Buzzards Bay + Weather + Ocean Currents + Water Temperature + Salinity + Winds + Waves + Ocean Color + GoMOOS + LISICOS + Univ. of New Hampshire + MVCO + Air Temperature + OGC:SOS + http://www.neracoos.org/cgi-bin/sos/V1.0/oostethys_sos.cgi + NERACOOS supports data collected from buoys in the Gulf of Maine and Long Island Sound. The six Gulf of Maine buoys carry a comprehensive sensor suite that includes the full complement of meteorological sensors carried by the standard NDBC buoys, and in addition commonly include atmospheric visibility, surface currents, water-column current profiles, temperature and conductivity, and fluorescence (for chlorophyll a estimation) and backscatter at multiple depths. In Long Island Sound, three buoys that measure wind speed and direction, circulation, salinity, temperature and dissolved oxygen. Two buoys will be located in western LIS (WLIS and EXRK stations) and the third will be in the Central Sound (CLIS). The buoys will be equipped with three YSI-SeaBird sensors to measure conductivity, temperature, pressure and dissolved oxygen concentration near the surface, bottom and mid-depth. A buoy in Great Bay measures physical, optical, meteorological and wave data. + Eric Bridger + NERACOOS + Eric Bridger + http://www.neracoos.org/cgi-bin/sos/V1.0/oostethys_sos.cgi + NONE + + 40.58 -73.73 + 47.79 -54.05 + + + + PYCSW_IDENTIFIER + GIN SOS + service + groundwater level + monitoring + timeseries + Alberta + Ontario + Nova Scotia + OGC:SOS + http://ngwd-bdnes.cits.nrcan.gc.ca/GinService/sos/gw + Historical groundwater level monitoring stations from Alberta, Ontario and Nova Scotia. This SOS web service delivers the data using OGC's WaterML 2.0. The SOS service federates data from various provincial sources and publishes them as a single service. Many monitoring stations also have water well characteristics available through the GIN WFS web service. + Boyan Brodaric + Geological Survey of Canada, Earth Sciences Sector, Natural Resources Canada, Government of Canada + Boyan Brodaric + http://ngwd-bdnes.cits.nrcan.gc.ca/GinService/sos/gw + NONE + + 41.0 -120.0 + 60.0 -60.0 + + + + diff --git a/tests/functionaltests/suites/harvesting/expected/post_Harvest-zzz-post-GetRecords-filter-sos-iso.xml b/tests/functionaltests/suites/harvesting/expected/post_Harvest-zzz-post-GetRecords-filter-sos-iso.xml new file mode 100644 index 000000000..71064f191 --- /dev/null +++ b/tests/functionaltests/suites/harvesting/expected/post_Harvest-zzz-post-GetRecords-filter-sos-iso.xml @@ -0,0 +1,955 @@ + + + + + + + + PYCSW_IDENTIFIER + + + + + + service + + + + + Eric Bridger + + + NERACOOS + + + DMAC Coordinator + + + + + + + 207 228-1662 + + + + + + + + + + 350 Commercial St. + + + Portland + + + ME + + + 04101 + + + US + + + ebridger@gmri.org + + + + + + http://www.neracoos.org/ + + + + + + pointOfContact + + + + + + + + ISO19119 + + + 2005/PDAM 1 + + + + + + + Northeastern Regional Association of Coastal Ocean Observing Systems + + + + + NERACOOS supports data collected from buoys in the Gulf of Maine and Long Island Sound. The six Gulf of Maine buoys carry a comprehensive sensor suite that includes the full complement of meteorological sensors carried by the standard NDBC buoys, and in addition commonly include atmospheric visibility, surface currents, water-column current profiles, temperature and conductivity, and fluorescence (for chlorophyll a estimation) and backscatter at multiple depths. In Long Island Sound, three buoys that measure wind speed and direction, circulation, salinity, temperature and dissolved oxygen. Two buoys will be located in western LIS (WLIS and EXRK stations) and the third will be in the Central Sound (CLIS). The buoys will be equipped with three YSI-SeaBird sensors to measure conductivity, temperature, pressure and dissolved oxygen concentration near the surface, bottom and mid-depth. A buoy in Great Bay measures physical, optical, meteorological and wave data. + + + + + NERACOOS + + + SOS + + + OCEANOGRAPHY + + + Ocean Observations + + + Gulf of Maine + + + Long Island Sound + + + Narragansett Bay + + + Cape Cod + + + Boston Harbor + + + Buzzards Bay + + + Weather + + + Ocean Currents + + + Water Temperature + + + Salinity + + + Winds + + + Waves + + + Ocean Color + + + GoMOOS + + + LISICOS + + + Univ. of New Hampshire + + + MVCO + + + Air Temperature + + + + + + + + OGC:SOS + + + 1.0.0 + + + + + NERACOOS + + + SOS + + + OCEANOGRAPHY + + + Ocean Observations + + + Gulf of Maine + + + Long Island Sound + + + Narragansett Bay + + + Cape Cod + + + Boston Harbor + + + Buzzards Bay + + + Weather + + + Ocean Currents + + + Water Temperature + + + Salinity + + + Winds + + + Waves + + + Ocean Color + + + GoMOOS + + + LISICOS + + + Univ. of New Hampshire + + + MVCO + + + Air Temperature + + + + + + + + + -73.73 + + + -54.05 + + + 40.58 + + + 47.79 + + + + + + + tight + + + + + GetObservation + + + CML + + + + + + + GetObservation + + + F01 + + + + + + + GetObservation + + + F02 + + + + + + + GetObservation + + + SMB-MO-04 + + + + + + + GetObservation + + + LDLC3 + + + + + + + GetObservation + + + CDIP154 + + + + + + + GetObservation + + + CDIP176 + + + + + + + GetObservation + + + ARTG + + + + + + + GetObservation + + + M01 + + + + + + + GetObservation + + + N01 + + + + + + + GetObservation + + + 44039 + + + + + + + GetObservation + + + SMB-MO-01 + + + + + + + GetObservation + + + SMB-MO-05 + + + + + + + GetObservation + + + D02 + + + + + + + GetObservation + + + E02 + + + + + + + GetObservation + + + E01 + + + + + + + GetObservation + + + B01 + + + + + + + GetObservation + + + EXRX + + + + + + + GetObservation + + + 44098 + + + + + + + GetObservation + + + WLIS + + + + + + + GetObservation + + + CO2 + + + + + + + GetObservation + + + CDIP221 + + + + + + + GetObservation + + + ALL_PLATFORMS + + + + + + + GetObservation + + + A01 + + + + + + + GetObservation + + + MDS02 + + + + + + + GetObservation + + + GREAT_BAY + + + + + + + GetObservation + + + I01 + + + + + + + GetObservation + + + CDIP207 + + + + + + + GetObservation + + + 44060 + + + + + + + GetCapabilities + + + HTTPGet + + + HTTPPost + + + + + http://www.neracoos.org/cgi-bin/sos/V1.0/oostethys_sos.cgi + + + + + + + + + GetObservation + + + HTTPGet + + + HTTPPost + + + + + http://www.neracoos.org/cgi-bin/sos/V1.0/oostethys_sos.cgi + + + + + + + + + DescribeSensor + + + HTTPGet + + + HTTPPost + + + + + http://www.neracoos.org/cgi-bin/sos/V1.0/oostethys_sos.cgi + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + http://www.neracoos.org/cgi-bin/sos/V1.0/oostethys_sos.cgi + + + OGC:SOS + + + PYCSW_IDENTIFIER + + + OGC-SOS Sensor Observation Service + + + + + + + + + + + PYCSW_IDENTIFIER + + + + + + service + + + + + Boyan Brodaric + + + Geological Survey of Canada, Earth Sciences Sector, Natural Resources Canada, Government of Canada + + + Research Scientist + + + + + + + +1-613-992-3562 + + + +1-613-995-9273 + + + + + + + 615 Booth Street + + + Ottawa + + + + + + K1A 0E9 + + + Canada + + + brodaric at nrcan dot gc dot ca + + + + + + http://gw-info.net + + + + + + pointOfContact + + + + + + + + ISO19119 + + + 2005/PDAM 1 + + + + + + + GIN SOS + + + + + Historical groundwater level monitoring stations from Alberta, Ontario and Nova Scotia. This SOS web service delivers the data using OGC's WaterML 2.0. The SOS service federates data from various provincial sources and publishes them as a single service. Many monitoring stations also have water well characteristics available through the GIN WFS web service. + + + + + groundwater level + + + monitoring + + + timeseries + + + Alberta + + + Ontario + + + Nova Scotia + + + + + + + + OGC:SOS + + + 2.0.0 + + + + + groundwater level + + + monitoring + + + timeseries + + + Alberta + + + Ontario + + + Nova Scotia + + + + + + + + + -120.0 + + + -60.0 + + + 41.0 + + + 60.0 + + + + + + + tight + + + + + GetObservation + + + GW_LEVEL + + + + + + + GetCapabilities + + + HTTPGet + + + HTTPPost + + + + + http://ngwd-bdnes.cits.nrcan.gc.ca/GinService/sos/gw + + + + + + + + + DescribeSensor + + + HTTPGet + + + HTTPPost + + + + + http://ngwd-bdnes.cits.nrcan.gc.ca/GinService/sos/gw + + + + + + + + + GetObservation + + + HTTPGet + + + HTTPPost + + + + + http://ngwd-bdnes.cits.nrcan.gc.ca/GinService/sos/gw + + + + + + + + + GetFeatureOfInterest + + + HTTPGet + + + HTTPPost + + + + + http://ngwd-bdnes.cits.nrcan.gc.ca/GinService/sos/gw + + + + + + + + + + + + + + + + http://ngwd-bdnes.cits.nrcan.gc.ca/GinService/sos/gw + + + OGC:SOS + + + PYCSW_IDENTIFIER + + + OGC-SOS Sensor Observation Service + + + + + + + + + + diff --git a/tests/functionaltests/suites/harvesting/expected/post_Harvest-zzz-post-GetRecords-filter-wfs-iso.xml b/tests/functionaltests/suites/harvesting/expected/post_Harvest-zzz-post-GetRecords-filter-wfs-iso.xml new file mode 100644 index 000000000..fe8c5f2d5 --- /dev/null +++ b/tests/functionaltests/suites/harvesting/expected/post_Harvest-zzz-post-GetRecords-filter-wfs-iso.xml @@ -0,0 +1,1061 @@ + + + + + + + + PYCSW_IDENTIFIER + + + + + + service + + + + + Matt Austin + + + National Oceanic and Atmospheric Administration + + + + + + + + + + + + + + + + + + + + + + + Silver Spring + + + Maryland + + + 20910 + + + USA + + + + + + + + + + pointOfContact + + + + + + + + ISO19119 + + + 2005/PDAM 1 + + + + + + + GeoServer Web Feature Service + + + + + This is the reference implementation of WFS 1.0.0 and WFS 1.1.0, supports all WFS operations including Transaction. + + + + + WFS + + + WMS + + + GEOSERVER + + + + + + + + OGC:WFS + + + 1.1.0 + + + + + WFS + + + WMS + + + GEOSERVER + + + + + + + + + -179.87 + + + 179.99 + + + -54.61 + + + 83.46 + + + + + + + tight + + + + + GetFeature + + + geoss_water_sba:Reservoir + + + + + + + GetFeature + + + geoss_water_sba:glwd_1 + + + + + + + GetFeature + + + geoss_water_sba:Dams + + + + + + + GetFeature + + + geoss_water_sba:glwd_2 + + + + + + + GetFeature + + + geoss_water_sba:Lakes + + + + + + + GetCapabilities + + + HTTPGet + + + HTTPPost + + + + + http://services.ogc.noaa.gov/geoserver/geoss_water_sba/wfs + + + + + + + + + DescribeFeatureType + + + HTTPGet + + + HTTPPost + + + + + http://services.ogc.noaa.gov/geoserver/geoss_water_sba/wfs + + + + + + + + + GetFeature + + + HTTPGet + + + HTTPPost + + + + + http://services.ogc.noaa.gov/geoserver/geoss_water_sba/wfs + + + + + + + + + GetGmlObject + + + HTTPGet + + + HTTPPost + + + + + http://services.ogc.noaa.gov/geoserver/geoss_water_sba/wfs + + + + + + + + + LockFeature + + + HTTPGet + + + HTTPPost + + + + + http://services.ogc.noaa.gov/geoserver/geoss_water_sba/wfs + + + + + + + + + GetFeatureWithLock + + + HTTPGet + + + HTTPPost + + + + + http://services.ogc.noaa.gov/geoserver/geoss_water_sba/wfs + + + + + + + + + Transaction + + + HTTPGet + + + HTTPPost + + + + + http://services.ogc.noaa.gov/geoserver/geoss_water_sba/wfs + + + + + + + + + + + + + + + + + + + + http://services.ogc.noaa.gov/geoserver/geoss_water_sba/wfs + + + OGC:WFS + + + PYCSW_IDENTIFIER + + + OGC-WFS Web Feature Service + + + + + + + + + + + PYCSW_IDENTIFIER + + + + + + service + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + http://maps.cera.govt.nz/arcgis/services/CERA/CERA_TechClasses_WGS84/MapServer/WFSServer + + + + + + pointOfContact + + + + + + + + ISO19119 + + + 2005/PDAM 1 + + + + + + + CERA_CERA_TechClasses_WGS84 + + + + + + + + + + + + + + + + + + OGC:WFS + + + 2.0.0 + + + + + + + + + + + + + + 171.11 + + + 173.13 + + + -43.9 + + + -42.74 + + + + + + + tight + + + + + GetFeature + + + CERA_CERA_TechClasses_WGS84:MBIE_Technical_Classes_WGS84_2012-08-16 + + + + + + + GetFeature + + + CERA_CERA_TechClasses_WGS84:MBIE_Technical_Classes_WGS84_2012-05-18 + + + + + + + GetFeature + + + CERA_CERA_TechClasses_WGS84:MBIE_Technical_Classes_WGS84_2013-12-04 + + + + + + + GetFeature + + + CERA_CERA_TechClasses_WGS84:MBIE_Technical_Classes_WGS84_2011-10-28 + + + + + + + GetFeature + + + CERA_CERA_TechClasses_WGS84:MBIE_Technical_Classes_WGS84_2012-02-10 + + + + + + + GetFeature + + + CERA_CERA_TechClasses_WGS84:MBIE_Technical_Classes_WGS84_2012-09-14 + + + + + + + GetFeature + + + CERA_CERA_TechClasses_WGS84:MBIE_Technical_Classes_WGS84_2012-03-23 + + + + + + + GetFeature + + + CERA_CERA_TechClasses_WGS84:MBIE_Technical_Classes_WGS84_2011-11-17 + + + + + + + GetFeature + + + CERA_CERA_TechClasses_WGS84:MBIE_Technical_Classes_WGS84_2012-08-24 + + + + + + + GetFeature + + + CERA_CERA_TechClasses_WGS84:MBIE_Technical_Classes_WGS84_2012-10-31 + + + + + + + GetCapabilities + + + HTTPGet + + + HTTPPost + + + + + http://maps.cera.govt.nz/arcgis/services/CERA/CERA_TechClasses_WGS84/MapServer/WFSServer + + + + + + + + + DescribeFeatureType + + + HTTPGet + + + HTTPPost + + + + + http://maps.cera.govt.nz/arcgis/services/CERA/CERA_TechClasses_WGS84/MapServer/WFSServer + + + + + + + + + GetFeature + + + HTTPGet + + + HTTPPost + + + + + http://maps.cera.govt.nz/arcgis/services/CERA/CERA_TechClasses_WGS84/MapServer/WFSServer + + + + + + + + + ListStoredQueries + + + HTTPGet + + + HTTPPost + + + + + http://maps.cera.govt.nz/arcgis/services/CERA/CERA_TechClasses_WGS84/MapServer/WFSServer + + + + + + + + + DescribeStoredQueries + + + HTTPGet + + + HTTPPost + + + + + http://maps.cera.govt.nz/arcgis/services/CERA/CERA_TechClasses_WGS84/MapServer/WFSServer + + + + + + + + + DefaultMaxFeatures + + + HTTPGet + + + HTTPPost + + + + + http://maps.cera.govt.nz/arcgis/services/CERA/CERA_TechClasses_WGS84/MapServer/WFSServer + + + + + + + + + ImplementsSimpleWFS + + + HTTPGet + + + HTTPPost + + + + + http://maps.cera.govt.nz/arcgis/services/CERA/CERA_TechClasses_WGS84/MapServer/WFSServer + + + + + + + + + ImplementsBasicWFS + + + HTTPGet + + + HTTPPost + + + + + http://maps.cera.govt.nz/arcgis/services/CERA/CERA_TechClasses_WGS84/MapServer/WFSServer + + + + + + + + + ImplementsTransactionalWFS + + + HTTPGet + + + HTTPPost + + + + + http://maps.cera.govt.nz/arcgis/services/CERA/CERA_TechClasses_WGS84/MapServer/WFSServer + + + + + + + + + ImplementsLockingWFS + + + HTTPGet + + + HTTPPost + + + + + http://maps.cera.govt.nz/arcgis/services/CERA/CERA_TechClasses_WGS84/MapServer/WFSServer + + + + + + + + + ImplementsInheritance + + + HTTPGet + + + HTTPPost + + + + + http://maps.cera.govt.nz/arcgis/services/CERA/CERA_TechClasses_WGS84/MapServer/WFSServer + + + + + + + + + ImplementsRemoteResolve + + + HTTPGet + + + HTTPPost + + + + + http://maps.cera.govt.nz/arcgis/services/CERA/CERA_TechClasses_WGS84/MapServer/WFSServer + + + + + + + + + ImplementsResultPaging + + + HTTPGet + + + HTTPPost + + + + + http://maps.cera.govt.nz/arcgis/services/CERA/CERA_TechClasses_WGS84/MapServer/WFSServer + + + + + + + + + ImplementsStandardJoins + + + HTTPGet + + + HTTPPost + + + + + http://maps.cera.govt.nz/arcgis/services/CERA/CERA_TechClasses_WGS84/MapServer/WFSServer + + + + + + + + + ImplementsSpatialJoins + + + HTTPGet + + + HTTPPost + + + + + http://maps.cera.govt.nz/arcgis/services/CERA/CERA_TechClasses_WGS84/MapServer/WFSServer + + + + + + + + + ImplementsTemporalJoins + + + HTTPGet + + + HTTPPost + + + + + http://maps.cera.govt.nz/arcgis/services/CERA/CERA_TechClasses_WGS84/MapServer/WFSServer + + + + + + + + + ImplementsFeatureVersioning + + + HTTPGet + + + HTTPPost + + + + + http://maps.cera.govt.nz/arcgis/services/CERA/CERA_TechClasses_WGS84/MapServer/WFSServer + + + + + + + + + ManageStoredQueries + + + HTTPGet + + + HTTPPost + + + + + http://maps.cera.govt.nz/arcgis/services/CERA/CERA_TechClasses_WGS84/MapServer/WFSServer + + + + + + + + + KVPEncoding + + + HTTPGet + + + HTTPPost + + + + + http://maps.cera.govt.nz/arcgis/services/CERA/CERA_TechClasses_WGS84/MapServer/WFSServer + + + + + + + + + XMLEncoding + + + HTTPGet + + + HTTPPost + + + + + http://maps.cera.govt.nz/arcgis/services/CERA/CERA_TechClasses_WGS84/MapServer/WFSServer + + + + + + + + + SOAPEncoding + + + HTTPGet + + + HTTPPost + + + + + http://maps.cera.govt.nz/arcgis/services/CERA/CERA_TechClasses_WGS84/MapServer/WFSServer + + + + + + + + + + + + + + + + + + + + + + + + + http://maps.cera.govt.nz/arcgis/services/CERA/CERA_TechClasses_WGS84/MapServer/WFSServer + + + OGC:WFS + + + PYCSW_IDENTIFIER + + + OGC-WFS Web Feature Service + + + + + + + + + + diff --git a/tests/functionaltests/suites/harvesting/expected/post_Harvest-zzz-post-GetRecords-filter-wms-dc.xml b/tests/functionaltests/suites/harvesting/expected/post_Harvest-zzz-post-GetRecords-filter-wms-dc.xml new file mode 100644 index 000000000..e39d7cb23 --- /dev/null +++ b/tests/functionaltests/suites/harvesting/expected/post_Harvest-zzz-post-GetRecords-filter-wms-dc.xml @@ -0,0 +1,89 @@ + + + + + + + PYCSW_IDENTIFIER + 1 Million Scale WMS Layers from the National Atlas of the United States + service + + http://webservices.nationalatlas.gov/wms/1million + http://webservices.nationalatlas.gov/wms/1million?version=1.1.1&request=GetCapabilities&service=WMS + http://webservices.nationalatlas.gov/wms/1million + http://webservices.nationalatlas.gov/wms/1million + http://webservices.nationalatlas.gov/wms/1million + http://webservices.nationalatlas.gov/wms/1million + http://webservices.nationalatlas.gov/wms/1million + http://webservices.nationalatlas.gov/wms/1million + http://demo.pycsw.org/services/csw + + 18.92 -179.13 + 71.4 179.79 + + + + PYCSW_IDENTIFIER + Wisconsin Lake Clarity + service + SSEC + PAW + remote sensing + meteorology + atmospheric science + University of Wisconsin + Madison + weather + land + http://wms.ssec.wisc.edu/cgi-bin/mapserv?map=/home/wms/data/mapfiles/lakestsi.map + http://wms.ssec.wisc.edu/cgi-bin/mapserv?map=%2Fhome%2Fwms%2Fdata%2Fmapfiles%2Flakestsi.map&version=1.1.1&request=GetCapabilities&service=WMS + http://wms.ssec.wisc.edu/cgi-bin/mapserv?map=/home/wms/data/mapfiles/lakestsi.map + http://wms.ssec.wisc.edu/cgi-bin/mapserv?map=/home/wms/data/mapfiles/lakestsi.map + http://wms.ssec.wisc.edu/cgi-bin/mapserv?map=/home/wms/data/mapfiles/lakestsi.map + General: This server hosts a set of experimental OGC Web Services of remote sensing data products for use in a broad range of both desktop and mobile device clients. + http://demo.pycsw.org/services/csw + + 42.41 -93.03 + 47.13 -86.64 + + + + PYCSW_IDENTIFIER + View & download service for EU-DEM data provided by EOX + service + EU-DEM + http://data.eox.at/eudem_ows + http://data.eox.at/eudem_ows?version=1.1.1&request=GetCapabilities&service=WMS + http://data.eox.at/eudem_ows + http://data.eox.at/eudem_ows + http://data.eox.at/eudem_ows + http://data.eox.at/eudem_ows + http://data.eox.at/eudem_ows + http://data.eox.at/eudem_ows + Produced using Copernicus data and information funded by the European Union - EU-DEM layers. + http://demo.pycsw.org/services/csw + + 12.99 -29.09 + 12.99 -29.09 + + + + PYCSW_IDENTIFIER + IEM WMS Service + service + + WMS + http://mesonet.agron.iastate.edu/cgi-bin/wms/nexrad/n0r-t.cgi + IEM generated CONUS composite of NWS WSR-88D level III base reflectivity. + Daryl Herzmann + Iowa State University + Daryl Herzmann + http://mesonet.agron.iastate.edu/cgi-bin/wms/nexrad/n0r-t.cgi + None + + 24.0 -126.0 + 50.0 -66.0 + + + + diff --git a/tests/functionaltests/suites/harvesting/expected/post_Harvest-zzz-post-GetRecords-filter-wms-iso.xml b/tests/functionaltests/suites/harvesting/expected/post_Harvest-zzz-post-GetRecords-filter-wms-iso.xml new file mode 100644 index 000000000..0dc4ec4da --- /dev/null +++ b/tests/functionaltests/suites/harvesting/expected/post_Harvest-zzz-post-GetRecords-filter-wms-iso.xml @@ -0,0 +1,1361 @@ + + + + + + + + PYCSW_IDENTIFIER + + + + + + service + + + + + + + ISO19119 + + + 2005/PDAM 1 + + + + + + + 1 Million Scale WMS Layers from the National Atlas of the United States + + + + + + + + + + + + + + + + + + OGC:WMS + + + 1.1.1 + + + + + + + + + + + + + + -179.13 + + + 179.79 + + + 18.92 + + + 71.4 + + + + + + + tight + + + + + GetMap + + + ports1m + + + + + + + GetMap + + + national1m + + + + + + + GetMap + + + elevation + + + + + + + GetMap + + + impervious + + + + + + + GetMap + + + coast1m + + + + + + + GetMap + + + cdl + + + + + + + GetMap + + + states1m + + + + + + + GetMap + + + elsli0100g + + + + + + + GetMap + + + landcov100m + + + + + + + GetMap + + + cdp + + + + + + + GetMap + + + amtrak1m + + + + + + + GetMap + + + airports1m + + + + + + + GetMap + + + one_million + + + + + + + GetMap + + + satvi0100g + + + + + + + GetMap + + + srcoi0100g + + + + + + + GetMap + + + srgri0100g + + + + + + + GetMap + + + treecanopy + + + + + + + GetMap + + + svsri0100g + + + + + + + GetCapabilities + + + HTTPGet + + + HTTPPost + + + + + http://webservices.nationalatlas.gov/wms/1million + + + + + + + + + GetMap + + + HTTPGet + + + HTTPPost + + + + + http://webservices.nationalatlas.gov/wms/1million + + + + + + + + + GetFeatureInfo + + + HTTPGet + + + HTTPPost + + + + + http://webservices.nationalatlas.gov/wms/1million + + + + + + + + + DescribeLayer + + + HTTPGet + + + HTTPPost + + + + + http://webservices.nationalatlas.gov/wms/1million + + + + + + + + + GetLegendGraphic + + + HTTPGet + + + HTTPPost + + + + + http://webservices.nationalatlas.gov/wms/1million + + + + + + + + + GetStyles + + + HTTPGet + + + HTTPPost + + + + + http://webservices.nationalatlas.gov/wms/1million + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + http://webservices.nationalatlas.gov/wms/1million + + + OGC:WMS + + + PYCSW_IDENTIFIER + + + OGC-WMS Web Map Service + + + + + + + http://webservices.nationalatlas.gov/wms/1million?version=1.1.1&request=GetCapabilities&service=WMS + + + OGC:WMS-1.1.1-http-get-capabilities + + + PYCSW_IDENTIFIER + + + OGC-WMS Capabilities service (ver 1.1.1) + + + + + + + + + + + PYCSW_IDENTIFIER + + + + + + service + + + + + Dr. Sam Batzli + + + + + + + + ISO19119 + + + 2005/PDAM 1 + + + + + + + Wisconsin Lake Clarity + + + + + General: This server hosts a set of experimental OGC Web Services of remote sensing data products for use in a broad range of both desktop and mobile device clients. + + + + + SSEC + + + PAW + + + remote sensing + + + meteorology + + + atmospheric science + + + University of Wisconsin + + + Madison + + + weather + + + land + + + + + + + + OGC:WMS + + + 1.1.1 + + + + + SSEC + + + PAW + + + remote sensing + + + meteorology + + + atmospheric science + + + University of Wisconsin + + + Madison + + + weather + + + land + + + + + + + + + -93.03 + + + -86.64 + + + 42.41 + + + 47.13 + + + + + + + tight + + + + + GetMap + + + Highways + + + + + + + GetMap + + + LakesTSI + + + + + + + GetMap + + + LakeClarity + + + + + + + GetMap + + + LakesTSI_0305 + + + + + + + GetMap + + + Relief + + + + + + + GetMap + + + LakeNames_0305 + + + + + + + GetMap + + + Roads + + + + + + + GetMap + + + LakeNames + + + + + + + GetMap + + + Counties + + + + + + + GetCapabilities + + + HTTPGet + + + HTTPPost + + + + + http://wms.ssec.wisc.edu/cgi-bin/mapserv?map=/home/wms/data/mapfiles/lakestsi.map + + + + + + + + + GetMap + + + HTTPGet + + + HTTPPost + + + + + http://wms.ssec.wisc.edu/cgi-bin/mapserv?map=/home/wms/data/mapfiles/lakestsi.map + + + + + + + + + GetFeatureInfo + + + HTTPGet + + + HTTPPost + + + + + http://wms.ssec.wisc.edu/cgi-bin/mapserv?map=/home/wms/data/mapfiles/lakestsi.map + + + + + + + + + + + + + + + + + + + + + + + + http://wms.ssec.wisc.edu/cgi-bin/mapserv?map=/home/wms/data/mapfiles/lakestsi.map + + + OGC:WMS + + + PYCSW_IDENTIFIER + + + OGC-WMS Web Map Service + + + + + + + http://wms.ssec.wisc.edu/cgi-bin/mapserv?map=%2Fhome%2Fwms%2Fdata%2Fmapfiles%2Flakestsi.map&version=1.1.1&request=GetCapabilities&service=WMS + + + OGC:WMS-1.1.1-http-get-capabilities + + + PYCSW_IDENTIFIER + + + OGC-WMS Capabilities service (ver 1.1.1) + + + + + + + + + + + PYCSW_IDENTIFIER + + + + + + service + + + + + Stephan Meissl + + + + + + + + ISO19119 + + + 2005/PDAM 1 + + + + + + + View & download service for EU-DEM data provided by EOX + + + + + Produced using Copernicus data and information funded by the European Union - EU-DEM layers. + + + + + EU-DEM + + + + + + + + OGC:WMS + + + 1.1.1 + + + + + EU-DEM + + + + + + + + + -29.09 + + + -29.09 + + + 12.99 + + + 12.99 + + + + + + + tight + + + + + GetMap + + + EU-DEM + + + + + + + GetMap + + + MS + + + + + + + GetMap + + + eudem_color + + + + + + + GetCapabilities + + + HTTPGet + + + HTTPPost + + + + + http://data.eox.at/eudem_ows + + + + + + + + + GetMap + + + HTTPGet + + + HTTPPost + + + + + http://data.eox.at/eudem_ows + + + + + + + + + GetFeatureInfo + + + HTTPGet + + + HTTPPost + + + + + http://data.eox.at/eudem_ows + + + + + + + + + DescribeLayer + + + HTTPGet + + + HTTPPost + + + + + http://data.eox.at/eudem_ows + + + + + + + + + GetLegendGraphic + + + HTTPGet + + + HTTPPost + + + + + http://data.eox.at/eudem_ows + + + + + + + + + GetStyles + + + HTTPGet + + + HTTPPost + + + + + http://data.eox.at/eudem_ows + + + + + + + + + + + + + + + + + + http://data.eox.at/eudem_ows + + + OGC:WMS + + + PYCSW_IDENTIFIER + + + OGC-WMS Web Map Service + + + + + + + http://data.eox.at/eudem_ows?version=1.1.1&request=GetCapabilities&service=WMS + + + OGC:WMS-1.1.1-http-get-capabilities + + + PYCSW_IDENTIFIER + + + OGC-WMS Capabilities service (ver 1.1.1) + + + + + + + + + + + PYCSW_IDENTIFIER + + + + + + service + + + + + Daryl Herzmann + + + Iowa State University + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + http://mesonet.agron.iastate.edu/cgi-bin/wms/nexrad/n0r-t.cgi? + + + + + + + + + + + ISO19119 + + + 2005/PDAM 1 + + + + + + + IEM WMS Service + + + + + IEM generated CONUS composite of NWS WSR-88D level III base reflectivity. + + + + + + + + + + + + + OGC:WMS + + + 1.3.0 + + + + + + + + + + + + + + -126.0 + + + -66.0 + + + 24.0 + + + 50.0 + + + + + + + tight + + + + + GetMap + + + nexrad_base_reflect + + + + + + + GetMap + + + time_idx + + + + + + + GetMap + + + nexrad-n0r-wmst + + + + + + + GetCapabilities + + + HTTPGet + + + HTTPPost + + + + + http://mesonet.agron.iastate.edu/cgi-bin/wms/nexrad/n0r-t.cgi + + + + + + + + + GetMap + + + HTTPGet + + + HTTPPost + + + + + http://mesonet.agron.iastate.edu/cgi-bin/wms/nexrad/n0r-t.cgi + + + + + + + + + GetFeatureInfo + + + HTTPGet + + + HTTPPost + + + + + http://mesonet.agron.iastate.edu/cgi-bin/wms/nexrad/n0r-t.cgi + + + + + + + + + DescribeLayer + + + HTTPGet + + + HTTPPost + + + + + http://mesonet.agron.iastate.edu/cgi-bin/wms/nexrad/n0r-t.cgi + + + + + + + + + GetLegendGraphic + + + HTTPGet + + + HTTPPost + + + + + http://mesonet.agron.iastate.edu/cgi-bin/wms/nexrad/n0r-t.cgi + + + + + + + + + GetStyles + + + HTTPGet + + + HTTPPost + + + + + http://mesonet.agron.iastate.edu/cgi-bin/wms/nexrad/n0r-t.cgi + + + + + + + + + + + + + + + + + + http://mesonet.agron.iastate.edu/cgi-bin/wms/nexrad/n0r-t.cgi + + + OGC:WMS + + + PYCSW_IDENTIFIER + + + OGC-WMS Web Map Service + + + + + + + + + + diff --git a/tests/functionaltests/suites/harvesting/expected/post_Harvest-zzz-post-GetRecords-filter-wms-layer.xml b/tests/functionaltests/suites/harvesting/expected/post_Harvest-zzz-post-GetRecords-filter-wms-layer.xml new file mode 100644 index 000000000..1bc09e79a --- /dev/null +++ b/tests/functionaltests/suites/harvesting/expected/post_Harvest-zzz-post-GetRecords-filter-wms-layer.xml @@ -0,0 +1,33 @@ + + + + + + + PYCSW_IDENTIFIER + NEXRAD BASE REFLECT + dataset + + http://mesonet.agron.iastate.edu/cgi-bin/wms/nexrad/n0r-t.cgi + http://mesonet.agron.iastate.edu/cgi-bin/wms/nexrad/n0r-t.cgi?layers=time_idx&width=200&version=1.1.1&bbox=-126.0%2C24.0%2C-66.0%2C50.0&service=WMS&format=image%2Fpng&styles=&srs=EPSG%3A4326&request=GetMap&height=200 + http://mesonet.agron.iastate.edu/cgi-bin/wms/nexrad/n0r-t.cgi + + 24.0 -126.0 + 50.0 -66.0 + + + + PYCSW_IDENTIFIER + NEXRAD BASE REFLECT + dataset + + http://mesonet.agron.iastate.edu/cgi-bin/wms/nexrad/n0r-t.cgi + http://mesonet.agron.iastate.edu/cgi-bin/wms/nexrad/n0r-t.cgi?layers=nexrad-n0r-wmst&width=200&version=1.1.1&bbox=-126.0%2C24.0%2C-66.0%2C50.0&service=WMS&format=image%2Fpng&styles=&srs=EPSG%3A4326&request=GetMap&height=200 + http://mesonet.agron.iastate.edu/cgi-bin/wms/nexrad/n0r-t.cgi + + 24.0 -126.0 + 50.0 -66.0 + + + + diff --git a/tests/functionaltests/suites/harvesting/expected/post_Harvest-zzz-post-GetRecords-filter-wps-process.xml b/tests/functionaltests/suites/harvesting/expected/post_Harvest-zzz-post-GetRecords-filter-wps-process.xml new file mode 100644 index 000000000..0d0761488 --- /dev/null +++ b/tests/functionaltests/suites/harvesting/expected/post_Harvest-zzz-post-GetRecords-filter-wps-process.xml @@ -0,0 +1,62 @@ + + + + + + + PYCSW_IDENTIFIER + gov.usgs.cida.gdp.wps.algorithm.filemanagement.CreateNewShapefileDataStore + software + http://cida.usgs.gov/gdp/utility/WebProcessingService + http://cida.usgs.gov/gdp/utility/WebProcessingService?version=1.0.0&request=GetCapabilities&service=WPS + http://cida.usgs.gov/gdp/utility/WebProcessingService?identifier=gov.usgs.cida.gdp.wps.algorithm.filemanagement.CreateNewShapefileDataStore&version=1.0.0&request=DescribeProcess&service=WPS + http://cida.usgs.gov/gdp/utility/WebProcessingService + + + PYCSW_IDENTIFIER + Get Grid Time Range + software + http://cida.usgs.gov/gdp/utility/WebProcessingService + http://cida.usgs.gov/gdp/utility/WebProcessingService?version=1.0.0&request=GetCapabilities&service=WPS + http://cida.usgs.gov/gdp/utility/WebProcessingService?identifier=gov.usgs.cida.gdp.wps.algorithm.filemanagement.CreateNewShapefileDataStore&version=1.0.0&request=DescribeProcess&service=WPS + http://cida.usgs.gov/gdp/utility/WebProcessingService?identifier=gov.usgs.cida.gdp.wps.algorithm.discovery.GetGridTimeRange&version=1.0.0&request=DescribeProcess&service=WPS + http://cida.usgs.gov/gdp/utility/WebProcessingService + + + PYCSW_IDENTIFIER + gov.usgs.cida.gdp.wps.algorithm.filemanagement.ReceiveFiles + software + http://cida.usgs.gov/gdp/utility/WebProcessingService + http://cida.usgs.gov/gdp/utility/WebProcessingService?version=1.0.0&request=GetCapabilities&service=WPS + http://cida.usgs.gov/gdp/utility/WebProcessingService?identifier=gov.usgs.cida.gdp.wps.algorithm.filemanagement.CreateNewShapefileDataStore&version=1.0.0&request=DescribeProcess&service=WPS + http://cida.usgs.gov/gdp/utility/WebProcessingService?identifier=gov.usgs.cida.gdp.wps.algorithm.discovery.GetGridTimeRange&version=1.0.0&request=DescribeProcess&service=WPS + http://cida.usgs.gov/gdp/utility/WebProcessingService?identifier=gov.usgs.cida.gdp.wps.algorithm.filemanagement.ReceiveFiles&version=1.0.0&request=DescribeProcess&service=WPS + http://cida.usgs.gov/gdp/utility/WebProcessingService + + + PYCSW_IDENTIFIER + gov.usgs.cida.gdp.wps.algorithm.discovery.GetWcsCoverages + software + http://cida.usgs.gov/gdp/utility/WebProcessingService + http://cida.usgs.gov/gdp/utility/WebProcessingService?version=1.0.0&request=GetCapabilities&service=WPS + http://cida.usgs.gov/gdp/utility/WebProcessingService?identifier=gov.usgs.cida.gdp.wps.algorithm.filemanagement.CreateNewShapefileDataStore&version=1.0.0&request=DescribeProcess&service=WPS + http://cida.usgs.gov/gdp/utility/WebProcessingService?identifier=gov.usgs.cida.gdp.wps.algorithm.discovery.GetGridTimeRange&version=1.0.0&request=DescribeProcess&service=WPS + http://cida.usgs.gov/gdp/utility/WebProcessingService?identifier=gov.usgs.cida.gdp.wps.algorithm.filemanagement.ReceiveFiles&version=1.0.0&request=DescribeProcess&service=WPS + http://cida.usgs.gov/gdp/utility/WebProcessingService?identifier=gov.usgs.cida.gdp.wps.algorithm.discovery.GetWcsCoverages&version=1.0.0&request=DescribeProcess&service=WPS + http://cida.usgs.gov/gdp/utility/WebProcessingService + + + PYCSW_IDENTIFIER + gov.usgs.cida.gdp.wps.algorithm.filemanagement.GetWatersGeom + software + http://cida.usgs.gov/gdp/utility/WebProcessingService + http://cida.usgs.gov/gdp/utility/WebProcessingService?version=1.0.0&request=GetCapabilities&service=WPS + http://cida.usgs.gov/gdp/utility/WebProcessingService?identifier=gov.usgs.cida.gdp.wps.algorithm.filemanagement.CreateNewShapefileDataStore&version=1.0.0&request=DescribeProcess&service=WPS + http://cida.usgs.gov/gdp/utility/WebProcessingService?identifier=gov.usgs.cida.gdp.wps.algorithm.discovery.GetGridTimeRange&version=1.0.0&request=DescribeProcess&service=WPS + http://cida.usgs.gov/gdp/utility/WebProcessingService?identifier=gov.usgs.cida.gdp.wps.algorithm.filemanagement.ReceiveFiles&version=1.0.0&request=DescribeProcess&service=WPS + http://cida.usgs.gov/gdp/utility/WebProcessingService?identifier=gov.usgs.cida.gdp.wps.algorithm.discovery.GetWcsCoverages&version=1.0.0&request=DescribeProcess&service=WPS + http://cida.usgs.gov/gdp/utility/WebProcessingService?identifier=gov.usgs.cida.gdp.wps.algorithm.filemanagement.GetWatersGeom&version=1.0.0&request=DescribeProcess&service=WPS + http://cida.usgs.gov/gdp/utility/WebProcessingService + + + diff --git a/tests/functionaltests/suites/harvesting/expected/post_Transaction-000-delete-all.xml b/tests/functionaltests/suites/harvesting/expected/post_Transaction-000-delete-all.xml new file mode 100644 index 000000000..c400e312a --- /dev/null +++ b/tests/functionaltests/suites/harvesting/expected/post_Transaction-000-delete-all.xml @@ -0,0 +1,9 @@ + + + + + 0 + 0 + 131 + + diff --git a/tests/functionaltests/suites/harvesting/get/requests.txt b/tests/functionaltests/suites/harvesting/get/requests.txt new file mode 100644 index 000000000..3b13c3b11 --- /dev/null +++ b/tests/functionaltests/suites/harvesting/get/requests.txt @@ -0,0 +1,5 @@ +Exception-Harvest-missing-resourcetype,service=CSW&version=2.0.2&request=Harvest +Exception-Harvest-missing-source,service=CSW&version=2.0.2&request=Harvest&resourcetype=http://www.opengis.net/wms +Exception-Harvest-invalid-resourcetype,service=CSW&version=2.0.2&request=Harvest&resourcetype=http://www.opengis.net/wms1234&source=http://demo.pycsw.org/cite/csw +Exception-Harvest-waf-no-records-found,service=CSW&version=2.0.2&request=Harvest&resourcetype=urn:geoss:waf&source=http://demo.pycsw.org +Exception-Harvest-waf-bad-value,service=CSW&version=2.0.2&request=Harvest&resourcetype=urn:geoss:waf&source=badvalue diff --git a/tests/functionaltests/suites/harvesting/post/Clear-000-delete-all.xml b/tests/functionaltests/suites/harvesting/post/Clear-000-delete-all.xml new file mode 100644 index 000000000..827ccc7f0 --- /dev/null +++ b/tests/functionaltests/suites/harvesting/post/Clear-000-delete-all.xml @@ -0,0 +1,13 @@ + + + + + + + dc:identifier + % + + + + + diff --git a/tests/functionaltests/suites/harvesting/post/Exception-Havest-csw-404.xml b/tests/functionaltests/suites/harvesting/post/Exception-Havest-csw-404.xml new file mode 100644 index 000000000..dc660970b --- /dev/null +++ b/tests/functionaltests/suites/harvesting/post/Exception-Havest-csw-404.xml @@ -0,0 +1,6 @@ + + + http://demo.pycsw.org/gisdata/cswBAD + http://www.opengis.net/cat/csw/2.0.2 + application/xml + diff --git a/tests/functionaltests/suites/harvesting/post/GetCapabilities.xml b/tests/functionaltests/suites/harvesting/post/GetCapabilities.xml new file mode 100644 index 000000000..e4dc8070b --- /dev/null +++ b/tests/functionaltests/suites/harvesting/post/GetCapabilities.xml @@ -0,0 +1,9 @@ + + + + 2.0.2 + + + application/xml + + diff --git a/tests/functionaltests/suites/harvesting/post/GetDomain-parameter.xml b/tests/functionaltests/suites/harvesting/post/GetDomain-parameter.xml new file mode 100644 index 000000000..3779a0555 --- /dev/null +++ b/tests/functionaltests/suites/harvesting/post/GetDomain-parameter.xml @@ -0,0 +1,4 @@ + + + Harvest.ResourceType + diff --git a/tests/functionaltests/suites/harvesting/post/Harvest-csw-iso.xml b/tests/functionaltests/suites/harvesting/post/Harvest-csw-iso.xml new file mode 100644 index 000000000..b5ce58274 --- /dev/null +++ b/tests/functionaltests/suites/harvesting/post/Harvest-csw-iso.xml @@ -0,0 +1,6 @@ + + + http://demo.pycsw.org/services/csw + http://www.opengis.net/cat/csw/2.0.2 + application/xml + diff --git a/tests/functionaltests/suites/harvesting/post/Harvest-csw-run1.xml b/tests/functionaltests/suites/harvesting/post/Harvest-csw-run1.xml new file mode 100644 index 000000000..a3514f77c --- /dev/null +++ b/tests/functionaltests/suites/harvesting/post/Harvest-csw-run1.xml @@ -0,0 +1,6 @@ + + + http://demo.pycsw.org/cite/csw + http://www.opengis.net/cat/csw/2.0.2 + application/xml + diff --git a/tests/functionaltests/suites/harvesting/post/Harvest-csw-run2.xml b/tests/functionaltests/suites/harvesting/post/Harvest-csw-run2.xml new file mode 100644 index 000000000..a3514f77c --- /dev/null +++ b/tests/functionaltests/suites/harvesting/post/Harvest-csw-run2.xml @@ -0,0 +1,6 @@ + + + http://demo.pycsw.org/cite/csw + http://www.opengis.net/cat/csw/2.0.2 + application/xml + diff --git a/tests/functionaltests/suites/harvesting/post/Harvest-dc.xml b/tests/functionaltests/suites/harvesting/post/Harvest-dc.xml new file mode 100644 index 000000000..bd94c7241 --- /dev/null +++ b/tests/functionaltests/suites/harvesting/post/Harvest-dc.xml @@ -0,0 +1,6 @@ + + + http://demo.pycsw.org/metadata/Clause_10.2.5.3.2_Example03_Full.xml + http://www.opengis.net/cat/csw/2.0.2 + application/xml + diff --git a/tests/functionaltests/suites/harvesting/post/Harvest-fgdc.xml b/tests/functionaltests/suites/harvesting/post/Harvest-fgdc.xml new file mode 100644 index 000000000..a9a48b540 --- /dev/null +++ b/tests/functionaltests/suites/harvesting/post/Harvest-fgdc.xml @@ -0,0 +1,6 @@ + + + http://demo.pycsw.org/metadata/CDC008.xml + http://www.opengis.net/cat/csw/csdgm + application/xml + diff --git a/tests/functionaltests/suites/harvesting/post/Harvest-iso.xml b/tests/functionaltests/suites/harvesting/post/Harvest-iso.xml new file mode 100644 index 000000000..54492757f --- /dev/null +++ b/tests/functionaltests/suites/harvesting/post/Harvest-iso.xml @@ -0,0 +1,6 @@ + + + http://demo.pycsw.org/metadata/dataset2_minimalst.xml + http://www.isotc211.org/schemas/2005/gmd/ + application/xml + diff --git a/tests/functionaltests/suites/harvesting/post/Harvest-rdf.xml b/tests/functionaltests/suites/harvesting/post/Harvest-rdf.xml new file mode 100644 index 000000000..cd6415171 --- /dev/null +++ b/tests/functionaltests/suites/harvesting/post/Harvest-rdf.xml @@ -0,0 +1,6 @@ + + + http://demo.pycsw.org/metadata/dc-rdf.xml + http://www.opengis.net/cat/csw/2.0.2 + application/xml + diff --git a/tests/functionaltests/suites/harvesting/post/Harvest-sos100.xml b/tests/functionaltests/suites/harvesting/post/Harvest-sos100.xml new file mode 100644 index 000000000..a7de0a332 --- /dev/null +++ b/tests/functionaltests/suites/harvesting/post/Harvest-sos100.xml @@ -0,0 +1,5 @@ + + + http://www.neracoos.org/cgi-bin/sos/V1.0/oostethys_sos.cgi + http://www.opengis.net/sos/1.0 + diff --git a/tests/functionaltests/suites/harvesting/post/Harvest-sos200.xml b/tests/functionaltests/suites/harvesting/post/Harvest-sos200.xml new file mode 100644 index 000000000..37e3db12a --- /dev/null +++ b/tests/functionaltests/suites/harvesting/post/Harvest-sos200.xml @@ -0,0 +1,5 @@ + + + http://ngwd-bdnes.cits.nrcan.gc.ca/GinService/sos/gw + http://www.opengis.net/sos/2.0 + diff --git a/tests/functionaltests/suites/harvesting/post/Harvest-waf.xml b/tests/functionaltests/suites/harvesting/post/Harvest-waf.xml new file mode 100644 index 000000000..9ecd86f59 --- /dev/null +++ b/tests/functionaltests/suites/harvesting/post/Harvest-waf.xml @@ -0,0 +1,5 @@ + + + http://demo.pycsw.org/waf + urn:geoss:waf + diff --git a/tests/functionaltests/suites/harvesting/post/Harvest-wcs.xml b/tests/functionaltests/suites/harvesting/post/Harvest-wcs.xml new file mode 100644 index 000000000..f59f4cc29 --- /dev/null +++ b/tests/functionaltests/suites/harvesting/post/Harvest-wcs.xml @@ -0,0 +1,6 @@ + + + http://demo.mapserver.org/cgi-bin/wcs + http://www.opengis.net/wcs + application/xml + diff --git a/tests/functionaltests/suites/harvesting/post/Harvest-wfs110.xml b/tests/functionaltests/suites/harvesting/post/Harvest-wfs110.xml new file mode 100644 index 000000000..72e28fbb2 --- /dev/null +++ b/tests/functionaltests/suites/harvesting/post/Harvest-wfs110.xml @@ -0,0 +1,6 @@ + + + http://services.ogc.noaa.gov/geoserver/geoss_water_sba/wfs + http://www.opengis.net/wfs + application/xml + diff --git a/tests/functionaltests/suites/harvesting/post/Harvest-wfs200.xml b/tests/functionaltests/suites/harvesting/post/Harvest-wfs200.xml new file mode 100644 index 000000000..9968eb702 --- /dev/null +++ b/tests/functionaltests/suites/harvesting/post/Harvest-wfs200.xml @@ -0,0 +1,6 @@ + + + http://maps.cera.govt.nz/arcgis/services/CERA/CERA_TechClasses_WGS84/MapServer/WFSServer + http://www.opengis.net/wfs/2.0 + application/xml + diff --git a/tests/functionaltests/suites/harvesting/post/Harvest-wms-run1.xml b/tests/functionaltests/suites/harvesting/post/Harvest-wms-run1.xml new file mode 100644 index 000000000..a67274f81 --- /dev/null +++ b/tests/functionaltests/suites/harvesting/post/Harvest-wms-run1.xml @@ -0,0 +1,6 @@ + + + http://mesonet.agron.iastate.edu/cgi-bin/wms/nexrad/n0r-t.cgi + http://www.opengis.net/wms + application/xml + diff --git a/tests/functionaltests/suites/harvesting/post/Harvest-wms-run2.xml b/tests/functionaltests/suites/harvesting/post/Harvest-wms-run2.xml new file mode 100644 index 000000000..a67274f81 --- /dev/null +++ b/tests/functionaltests/suites/harvesting/post/Harvest-wms-run2.xml @@ -0,0 +1,6 @@ + + + http://mesonet.agron.iastate.edu/cgi-bin/wms/nexrad/n0r-t.cgi + http://www.opengis.net/wms + application/xml + diff --git a/tests/functionaltests/suites/harvesting/post/Harvest-wmts.xml b/tests/functionaltests/suites/harvesting/post/Harvest-wmts.xml new file mode 100644 index 000000000..6d8339354 --- /dev/null +++ b/tests/functionaltests/suites/harvesting/post/Harvest-wmts.xml @@ -0,0 +1,6 @@ + + + http://maps.wien.gv.at/wmts/1.0.0/WMTSCapabilities.xml + http://www.opengis.net/wmts/1.0 + application/xml + diff --git a/tests/functionaltests/suites/harvesting/post/Harvest-wps.xml b/tests/functionaltests/suites/harvesting/post/Harvest-wps.xml new file mode 100644 index 000000000..0a38c61dc --- /dev/null +++ b/tests/functionaltests/suites/harvesting/post/Harvest-wps.xml @@ -0,0 +1,6 @@ + + + http://cida.usgs.gov/gdp/utility/WebProcessingService + http://www.opengis.net/wps/1.0.0 + application/xml + diff --git a/tests/functionaltests/suites/harvesting/post/Harvest-zzz-post-GetRecords-filter-ows-dc.xml b/tests/functionaltests/suites/harvesting/post/Harvest-zzz-post-GetRecords-filter-ows-dc.xml new file mode 100644 index 000000000..5fe7eff25 --- /dev/null +++ b/tests/functionaltests/suites/harvesting/post/Harvest-zzz-post-GetRecords-filter-ows-dc.xml @@ -0,0 +1,36 @@ + + + + full + + + + + apiso:ServiceType + OGC:SOS + + + apiso:ServiceType + OGC:WPS + + + apiso:ServiceType + OGC:WMS + + + apiso:ServiceType + OGC:WFS + + + apiso:ServiceType + OGC:CSW + + + apiso:ServiceType + OGC:WCS + + + + + + diff --git a/tests/functionaltests/suites/harvesting/post/Harvest-zzz-post-GetRecords-filter-sos-abstract-dc.xml b/tests/functionaltests/suites/harvesting/post/Harvest-zzz-post-GetRecords-filter-sos-abstract-dc.xml new file mode 100644 index 000000000..294218008 --- /dev/null +++ b/tests/functionaltests/suites/harvesting/post/Harvest-zzz-post-GetRecords-filter-sos-abstract-dc.xml @@ -0,0 +1,24 @@ + + + + full + + + + + apiso:Type + service + + + apiso:ServiceType + OGC:SOS + + + apiso:Abstract + (groundwater( + + + + + + diff --git a/tests/functionaltests/suites/harvesting/post/Harvest-zzz-post-GetRecords-filter-sos-dc.xml b/tests/functionaltests/suites/harvesting/post/Harvest-zzz-post-GetRecords-filter-sos-dc.xml new file mode 100644 index 000000000..caf43cc26 --- /dev/null +++ b/tests/functionaltests/suites/harvesting/post/Harvest-zzz-post-GetRecords-filter-sos-dc.xml @@ -0,0 +1,20 @@ + + + + full + + + + + apiso:Type + service + + + apiso:ServiceType + OGC:SOS + + + + + + diff --git a/tests/functionaltests/suites/harvesting/post/Harvest-zzz-post-GetRecords-filter-sos-iso.xml b/tests/functionaltests/suites/harvesting/post/Harvest-zzz-post-GetRecords-filter-sos-iso.xml new file mode 100644 index 000000000..edc45b3fa --- /dev/null +++ b/tests/functionaltests/suites/harvesting/post/Harvest-zzz-post-GetRecords-filter-sos-iso.xml @@ -0,0 +1,20 @@ + + + + full + + + + + apiso:Type + service + + + apiso:ServiceType + OGC:SOS + + + + + + diff --git a/tests/functionaltests/suites/harvesting/post/Harvest-zzz-post-GetRecords-filter-wfs-iso.xml b/tests/functionaltests/suites/harvesting/post/Harvest-zzz-post-GetRecords-filter-wfs-iso.xml new file mode 100644 index 000000000..3e26f62db --- /dev/null +++ b/tests/functionaltests/suites/harvesting/post/Harvest-zzz-post-GetRecords-filter-wfs-iso.xml @@ -0,0 +1,20 @@ + + + + full + + + + + apiso:Type + service + + + apiso:ServiceType + OGC:WFS + + + + + + diff --git a/tests/functionaltests/suites/harvesting/post/Harvest-zzz-post-GetRecords-filter-wms-dc.xml b/tests/functionaltests/suites/harvesting/post/Harvest-zzz-post-GetRecords-filter-wms-dc.xml new file mode 100644 index 000000000..c67d38186 --- /dev/null +++ b/tests/functionaltests/suites/harvesting/post/Harvest-zzz-post-GetRecords-filter-wms-dc.xml @@ -0,0 +1,20 @@ + + + + full + + + + + apiso:Type + service + + + apiso:ServiceType + OGC:WMS + + + + + + diff --git a/tests/functionaltests/suites/harvesting/post/Harvest-zzz-post-GetRecords-filter-wms-iso.xml b/tests/functionaltests/suites/harvesting/post/Harvest-zzz-post-GetRecords-filter-wms-iso.xml new file mode 100644 index 000000000..f4300e7ef --- /dev/null +++ b/tests/functionaltests/suites/harvesting/post/Harvest-zzz-post-GetRecords-filter-wms-iso.xml @@ -0,0 +1,20 @@ + + + + full + + + + + apiso:Type + service + + + apiso:ServiceType + OGC:WMS + + + + + + diff --git a/tests/functionaltests/suites/harvesting/post/Harvest-zzz-post-GetRecords-filter-wms-layer.xml b/tests/functionaltests/suites/harvesting/post/Harvest-zzz-post-GetRecords-filter-wms-layer.xml new file mode 100644 index 000000000..ab70e4b8b --- /dev/null +++ b/tests/functionaltests/suites/harvesting/post/Harvest-zzz-post-GetRecords-filter-wms-layer.xml @@ -0,0 +1,20 @@ + + + + full + + + + + dc:type + dataset + + + csw:AnyText + %nexrad% + + + + + + diff --git a/tests/functionaltests/suites/harvesting/post/Harvest-zzz-post-GetRecords-filter-wps-process.xml b/tests/functionaltests/suites/harvesting/post/Harvest-zzz-post-GetRecords-filter-wps-process.xml new file mode 100644 index 000000000..3c87edd95 --- /dev/null +++ b/tests/functionaltests/suites/harvesting/post/Harvest-zzz-post-GetRecords-filter-wps-process.xml @@ -0,0 +1,14 @@ + + + + full + + + + dc:type + software + + + + + diff --git a/tests/functionaltests/suites/harvesting/post/Transaction-000-delete-all.xml b/tests/functionaltests/suites/harvesting/post/Transaction-000-delete-all.xml new file mode 100644 index 000000000..827ccc7f0 --- /dev/null +++ b/tests/functionaltests/suites/harvesting/post/Transaction-000-delete-all.xml @@ -0,0 +1,13 @@ + + + + + + + dc:identifier + % + + + + + diff --git a/tests/functionaltests/suites/manager/default.cfg b/tests/functionaltests/suites/manager/default.cfg new file mode 100644 index 000000000..3e9c1f8f5 --- /dev/null +++ b/tests/functionaltests/suites/manager/default.cfg @@ -0,0 +1,91 @@ +# ================================================================= +# +# Authors: Tom Kralidis +# +# Copyright (c) 2012 Tom Kralidis +# +# Permission is hereby granted, free of charge, to any person +# obtaining a copy of this software and associated documentation +# files (the "Software"), to deal in the Software without +# restriction, including without limitation the rights to use, +# copy, modify, merge, publish, distribute, sublicense, and/or sell +# copies of the Software, and to permit persons to whom the +# Software is furnished to do so, subject to the following +# conditions: +# +# The above copyright notice and this permission notice shall be +# included in all copies or substantial portions of the Software. +# +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +# EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES +# OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +# NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT +# HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, +# WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR +# OTHER DEALINGS IN THE SOFTWARE. +# +# ================================================================= + +[server] +home=. +url=http://localhost/pycsw/csw.py?config=tests/suites/manager/default.cfg +mimetype=application/xml; charset=UTF-8 +encoding=UTF-8 +language=en-US +maxrecords=10 +#loglevel=DEBUG +#logfile=/tmp/pycsw.log +#ogc_schemas_base=http://foo +federatedcatalogues=http://geo.data.gov/geoportal/csw/discovery +pretty_print=true +#gzip_compresslevel=8 +#spatial_ranking=true +profiles=apiso + +[manager] +transactions=true +allowed_ips=127.0.0.1 + +[metadata:main] +identification_title=pycsw Geospatial Catalogue +identification_abstract=pycsw is an OGC CSW server implementation written in Python +identification_keywords=catalogue,discovery +identification_keywords_type=theme +identification_fees=None +identification_accessconstraints=None +provider_name=pycsw +provider_url=http://pycsw.org/ +contact_name=Kralidis, Tom +contact_position=Senior Systems Scientist +contact_address=TBA +contact_city=Toronto +contact_stateorprovince=Ontario +contact_postalcode=M9C 3Z9 +contact_country=Canada +contact_phone=+01-416-xxx-xxxx +contact_fax=+01-416-xxx-xxxx +contact_email=tomkralidis@gmail.com +contact_url=http://kralidis.ca/ +contact_hours=0800h - 1600h EST +contact_instructions=During hours of service. Off on weekends. +contact_role=pointOfContact + +[repository] +# sqlite +database=sqlite:///tests/suites/manager/data/records.db +# postgres +#database=postgres://username:password@localhost/pycsw +table=records + +[metadata:inspire] +enabled=false +languages_supported=eng,gre +default_language=eng +date=2011-03-29 +gemet_keywords=Utility and governmental services +conformity_service=notEvaluated +contact_name=National Technical University of Athens +contact_email=tzotsos@gmail.com +temp_extent=2011-02-01/2011-03-30 + diff --git a/tests/functionaltests/suites/manager/expected/post_Clear-000-delete-all.xml b/tests/functionaltests/suites/manager/expected/post_Clear-000-delete-all.xml new file mode 100644 index 000000000..01ccdf629 --- /dev/null +++ b/tests/functionaltests/suites/manager/expected/post_Clear-000-delete-all.xml @@ -0,0 +1,9 @@ + + + + + 0 + 0 + 0 + + diff --git a/tests/functionaltests/suites/manager/expected/post_GetCapabilities.xml b/tests/functionaltests/suites/manager/expected/post_GetCapabilities.xml new file mode 100644 index 000000000..1fc931575 --- /dev/null +++ b/tests/functionaltests/suites/manager/expected/post_GetCapabilities.xml @@ -0,0 +1,368 @@ + + + + + pycsw Geospatial Catalogue + pycsw is an OGC CSW server implementation written in Python + + catalogue + discovery + theme + + CSW + 2.0.2 + 3.0.0 + None + None + + + pycsw + + + Kralidis, Tom + Senior Systems Scientist + + + +01-416-xxx-xxxx + +01-416-xxx-xxxx + + + TBA + Toronto + Ontario + M9C 3Z9 + Canada + tomkralidis@gmail.com + + + 0800h - 1600h EST + During hours of service. Off on weekends. + + pointOfContact + + + + + + + + + + + + Filter_Capabilities + OperationsMetadata + ServiceIdentification + ServiceProvider + + + + + + + + + + + application/json + application/xml + + + http://www.w3.org/2001/XMLSchema + http://www.w3.org/TR/xmlschema-1/ + http://www.w3.org/XML/Schema + + + csw:Record + gmd:MD_Metadata + + + + + + + + + + + DescribeRecord.outputFormat + DescribeRecord.schemaLanguage + DescribeRecord.typeName + GetCapabilities.sections + GetRecordById.ElementSetName + GetRecordById.outputFormat + GetRecordById.outputSchema + GetRecords.CONSTRAINTLANGUAGE + GetRecords.ElementSetName + GetRecords.outputFormat + GetRecords.outputSchema + GetRecords.resultType + GetRecords.typeNames + Harvest.ResourceType + Transaction.TransactionSchemas + + + + + + + + + + + CQL_TEXT + FILTER + + + brief + full + summary + + + application/json + application/xml + + + http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ + http://www.interlis.ch/INTERLIS2.3 + http://www.isotc211.org/2005/gmd + http://www.opengis.net/cat/csw/2.0.2 + http://www.opengis.net/cat/csw/csdgm + http://www.w3.org/2005/Atom + + + hits + results + validate + + + csw:Record + gmd:MD_Metadata + + + apiso:AccessConstraints + apiso:Classification + apiso:ConditionApplyingToAccessAndUse + apiso:Contributor + apiso:Creator + apiso:Degree + apiso:Lineage + apiso:OtherConstraints + apiso:Publisher + apiso:Relation + apiso:ResponsiblePartyRole + apiso:SpecificationDate + apiso:SpecificationDateType + apiso:SpecificationTitle + + + csw:AnyText + dc:contributor + dc:creator + dc:date + dc:format + dc:identifier + dc:language + dc:publisher + dc:relation + dc:rights + dc:source + dc:subject + dc:title + dc:type + dct:abstract + dct:modified + ows:BoundingBox + + + apiso:Abstract + apiso:AlternateTitle + apiso:AnyText + apiso:BoundingBox + apiso:CRS + apiso:CouplingType + apiso:CreationDate + apiso:Denominator + apiso:DistanceUOM + apiso:DistanceValue + apiso:Format + apiso:GeographicDescriptionCode + apiso:HasSecurityConstraints + apiso:Identifier + apiso:KeywordType + apiso:Language + apiso:Modified + apiso:OperatesOn + apiso:OperatesOnIdentifier + apiso:OperatesOnName + apiso:Operation + apiso:OrganisationName + apiso:ParentIdentifier + apiso:PublicationDate + apiso:ResourceLanguage + apiso:RevisionDate + apiso:ServiceType + apiso:ServiceTypeVersion + apiso:Subject + apiso:TempExtent_begin + apiso:TempExtent_end + apiso:Title + apiso:TopicCategory + apiso:Type + + + + + + + + + + + brief + full + summary + + + application/json + application/xml + + + http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ + http://www.interlis.ch/INTERLIS2.3 + http://www.isotc211.org/2005/gmd + http://www.opengis.net/cat/csw/2.0.2 + http://www.opengis.net/cat/csw/csdgm + http://www.w3.org/2005/Atom + + + + + + + + + + + + + + + + + http://www.isotc211.org/2005/gmi + http://www.opengis.net/cat/csw/2.0.2 + http://www.opengis.net/cat/csw/3.0 + http://www.opengis.net/sos/1.0 + http://www.opengis.net/sos/2.0 + http://www.opengis.net/wcs + http://www.opengis.net/wfs + http://www.opengis.net/wfs/2.0 + http://www.opengis.net/wms + http://www.opengis.net/wmts/1.0 + http://www.opengis.net/wps/1.0.0 + urn:geoss:waf + + + + + + + + + + http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ + http://www.interlis.ch/INTERLIS2.3 + http://www.isotc211.org/2005/gmd + http://www.isotc211.org/2005/gmi + http://www.isotc211.org/schemas/2005/gmd/ + http://www.opengis.net/cat/csw/2.0.2 + http://www.opengis.net/cat/csw/3.0 + http://www.opengis.net/cat/csw/csdgm + http://www.opengis.net/sos/1.0 + http://www.opengis.net/sos/2.0 + http://www.opengis.net/wcs + http://www.opengis.net/wfs + http://www.opengis.net/wfs/2.0 + http://www.opengis.net/wms + http://www.opengis.net/wmts/1.0 + http://www.opengis.net/wps/1.0.0 + http://www.w3.org/2005/Atom + urn:geoss:waf + + + + CSW + + + 2.0.2 + 3.0.0 + + + http://geo.data.gov/geoportal/csw/discovery + + + 10 + + + XML + SOAP + + + allowed + + + + + + gml:Point + gml:LineString + gml:Polygon + gml:Envelope + + + + + + + + + + + + + + + + + + + Between + EqualTo + GreaterThan + GreaterThanEqualTo + LessThan + LessThanEqualTo + Like + NotEqualTo + NullCheck + + + + + length + lower + ltrim + rtrim + trim + upper + + + + + + + + + + diff --git a/tests/functionaltests/suites/manager/expected/post_GetDomain-parameter.xml b/tests/functionaltests/suites/manager/expected/post_GetDomain-parameter.xml new file mode 100644 index 000000000..b47402ca2 --- /dev/null +++ b/tests/functionaltests/suites/manager/expected/post_GetDomain-parameter.xml @@ -0,0 +1,27 @@ + + + + + Harvest.ResourceType + + http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ + http://www.interlis.ch/INTERLIS2.3 + http://www.isotc211.org/2005/gmd + http://www.isotc211.org/2005/gmi + http://www.isotc211.org/schemas/2005/gmd/ + http://www.opengis.net/cat/csw/2.0.2 + http://www.opengis.net/cat/csw/3.0 + http://www.opengis.net/cat/csw/csdgm + http://www.opengis.net/sos/1.0 + http://www.opengis.net/sos/2.0 + http://www.opengis.net/wcs + http://www.opengis.net/wfs + http://www.opengis.net/wfs/2.0 + http://www.opengis.net/wms + http://www.opengis.net/wmts/1.0 + http://www.opengis.net/wps/1.0.0 + http://www.w3.org/2005/Atom + urn:geoss:waf + + + diff --git a/tests/functionaltests/suites/manager/expected/post_Transaction-000-delete-all.xml b/tests/functionaltests/suites/manager/expected/post_Transaction-000-delete-all.xml new file mode 100644 index 000000000..01ccdf629 --- /dev/null +++ b/tests/functionaltests/suites/manager/expected/post_Transaction-000-delete-all.xml @@ -0,0 +1,9 @@ + + + + + 0 + 0 + 0 + + diff --git a/tests/functionaltests/suites/manager/expected/post_Transaction-dc-01-insert.xml b/tests/functionaltests/suites/manager/expected/post_Transaction-dc-01-insert.xml new file mode 100644 index 000000000..07d452a06 --- /dev/null +++ b/tests/functionaltests/suites/manager/expected/post_Transaction-dc-01-insert.xml @@ -0,0 +1,15 @@ + + + + + 1 + 0 + 0 + + + + xyz + pycsw Catalogue + + + diff --git a/tests/functionaltests/suites/manager/expected/post_Transaction-dc-02-update-full.xml b/tests/functionaltests/suites/manager/expected/post_Transaction-dc-02-update-full.xml new file mode 100644 index 000000000..0b9104ebe --- /dev/null +++ b/tests/functionaltests/suites/manager/expected/post_Transaction-dc-02-update-full.xml @@ -0,0 +1,9 @@ + + + + + 0 + 1 + 0 + + diff --git a/tests/functionaltests/suites/manager/expected/post_Transaction-fgdc-01-insert.xml b/tests/functionaltests/suites/manager/expected/post_Transaction-fgdc-01-insert.xml new file mode 100644 index 000000000..c44db37b3 --- /dev/null +++ b/tests/functionaltests/suites/manager/expected/post_Transaction-fgdc-01-insert.xml @@ -0,0 +1,15 @@ + + + + + 1 + 0 + 0 + + + + foorecord + NCEP + + + diff --git a/tests/functionaltests/suites/manager/expected/post_Transaction-fgdc-02-update-recprop.xml b/tests/functionaltests/suites/manager/expected/post_Transaction-fgdc-02-update-recprop.xml new file mode 100644 index 000000000..0b9104ebe --- /dev/null +++ b/tests/functionaltests/suites/manager/expected/post_Transaction-fgdc-02-update-recprop.xml @@ -0,0 +1,9 @@ + + + + + 0 + 1 + 0 + + diff --git a/tests/functionaltests/suites/manager/expected/post_Transaction-fgdc-03-delete-all.xml b/tests/functionaltests/suites/manager/expected/post_Transaction-fgdc-03-delete-all.xml new file mode 100644 index 000000000..a788564e4 --- /dev/null +++ b/tests/functionaltests/suites/manager/expected/post_Transaction-fgdc-03-delete-all.xml @@ -0,0 +1,9 @@ + + + + + 0 + 0 + 2 + + diff --git a/tests/functionaltests/suites/manager/expected/post_Transaction-iso-00-delete-all.xml b/tests/functionaltests/suites/manager/expected/post_Transaction-iso-00-delete-all.xml new file mode 100644 index 000000000..01ccdf629 --- /dev/null +++ b/tests/functionaltests/suites/manager/expected/post_Transaction-iso-00-delete-all.xml @@ -0,0 +1,9 @@ + + + + + 0 + 0 + 0 + + diff --git a/tests/functionaltests/suites/manager/expected/post_Transaction-iso-01-insert.xml b/tests/functionaltests/suites/manager/expected/post_Transaction-iso-01-insert.xml new file mode 100644 index 000000000..2e3a528d5 --- /dev/null +++ b/tests/functionaltests/suites/manager/expected/post_Transaction-iso-01-insert.xml @@ -0,0 +1,15 @@ + + + + + 1 + 0 + 0 + + + + 12345 + pycsw record + + + diff --git a/tests/functionaltests/suites/manager/expected/post_Transaction-iso-02-update-full.xml b/tests/functionaltests/suites/manager/expected/post_Transaction-iso-02-update-full.xml new file mode 100644 index 000000000..0b9104ebe --- /dev/null +++ b/tests/functionaltests/suites/manager/expected/post_Transaction-iso-02-update-full.xml @@ -0,0 +1,9 @@ + + + + + 0 + 1 + 0 + + diff --git a/tests/functionaltests/suites/manager/expected/post_Transaction-iso-03-update-recprop.xml b/tests/functionaltests/suites/manager/expected/post_Transaction-iso-03-update-recprop.xml new file mode 100644 index 000000000..0b9104ebe --- /dev/null +++ b/tests/functionaltests/suites/manager/expected/post_Transaction-iso-03-update-recprop.xml @@ -0,0 +1,9 @@ + + + + + 0 + 1 + 0 + + diff --git a/tests/functionaltests/suites/manager/expected/post_Transaction-iso-04-update-recprop-no-matches.xml b/tests/functionaltests/suites/manager/expected/post_Transaction-iso-04-update-recprop-no-matches.xml new file mode 100644 index 000000000..01ccdf629 --- /dev/null +++ b/tests/functionaltests/suites/manager/expected/post_Transaction-iso-04-update-recprop-no-matches.xml @@ -0,0 +1,9 @@ + + + + + 0 + 0 + 0 + + diff --git a/tests/functionaltests/suites/manager/expected/post_Transaction-iso-05-delete.xml b/tests/functionaltests/suites/manager/expected/post_Transaction-iso-05-delete.xml new file mode 100644 index 000000000..0e48fd530 --- /dev/null +++ b/tests/functionaltests/suites/manager/expected/post_Transaction-iso-05-delete.xml @@ -0,0 +1,9 @@ + + + + + 0 + 0 + 1 + + diff --git a/tests/functionaltests/suites/manager/expected/post_Transaction-xxx-delete-all.xml b/tests/functionaltests/suites/manager/expected/post_Transaction-xxx-delete-all.xml new file mode 100644 index 000000000..01ccdf629 --- /dev/null +++ b/tests/functionaltests/suites/manager/expected/post_Transaction-xxx-delete-all.xml @@ -0,0 +1,9 @@ + + + + + 0 + 0 + 0 + + diff --git a/tests/functionaltests/suites/manager/post/Clear-000-delete-all.xml b/tests/functionaltests/suites/manager/post/Clear-000-delete-all.xml new file mode 100644 index 000000000..827ccc7f0 --- /dev/null +++ b/tests/functionaltests/suites/manager/post/Clear-000-delete-all.xml @@ -0,0 +1,13 @@ + + + + + + + dc:identifier + % + + + + + diff --git a/tests/functionaltests/suites/manager/post/GetCapabilities.xml b/tests/functionaltests/suites/manager/post/GetCapabilities.xml new file mode 100644 index 000000000..e4dc8070b --- /dev/null +++ b/tests/functionaltests/suites/manager/post/GetCapabilities.xml @@ -0,0 +1,9 @@ + + + + 2.0.2 + + + application/xml + + diff --git a/tests/functionaltests/suites/manager/post/GetDomain-parameter.xml b/tests/functionaltests/suites/manager/post/GetDomain-parameter.xml new file mode 100644 index 000000000..3779a0555 --- /dev/null +++ b/tests/functionaltests/suites/manager/post/GetDomain-parameter.xml @@ -0,0 +1,4 @@ + + + Harvest.ResourceType + diff --git a/tests/functionaltests/suites/manager/post/Transaction-000-delete-all.xml b/tests/functionaltests/suites/manager/post/Transaction-000-delete-all.xml new file mode 100644 index 000000000..827ccc7f0 --- /dev/null +++ b/tests/functionaltests/suites/manager/post/Transaction-000-delete-all.xml @@ -0,0 +1,13 @@ + + + + + + + dc:identifier + % + + + + + diff --git a/tests/functionaltests/suites/manager/post/Transaction-dc-01-insert.xml b/tests/functionaltests/suites/manager/post/Transaction-dc-01-insert.xml new file mode 100644 index 000000000..1fca1e266 --- /dev/null +++ b/tests/functionaltests/suites/manager/post/Transaction-dc-01-insert.xml @@ -0,0 +1,22 @@ + + + + + xyz + pycsw Catalogue + 2012-06-05 + Sample metadata + dataset + imagery + baseMaps + earthCover + BIL + Vanda Lima + en + + -90 -180 + 90 180 + + + + diff --git a/tests/functionaltests/suites/manager/post/Transaction-dc-02-update-full.xml b/tests/functionaltests/suites/manager/post/Transaction-dc-02-update-full.xml new file mode 100644 index 000000000..3d3bf1a75 --- /dev/null +++ b/tests/functionaltests/suites/manager/post/Transaction-dc-02-update-full.xml @@ -0,0 +1,22 @@ + + + + + xyz + THIS HAS BEEN UPDATED + 2012-06-05 + Sample metadata + dataset + imagery + baseMaps + earthCover + BIL + Vanda Lima + en + + -90 -180 + 90 180 + + + + diff --git a/tests/functionaltests/suites/manager/post/Transaction-fgdc-01-insert.xml b/tests/functionaltests/suites/manager/post/Transaction-fgdc-01-insert.xml new file mode 100644 index 000000000..3a7c368df --- /dev/null +++ b/tests/functionaltests/suites/manager/post/Transaction-fgdc-01-insert.xml @@ -0,0 +1,214 @@ + + + + + +foorecord + + +NOAA/ESRL Physical Sciences Division +20001201 +NCEP + +Boulder, CO +NOAA/ESRL Physical Sciences Division + +ftp://ftp.cdc.noaa.gov/Datasets/ncep/ +http://www.esrl.noaa.gov/psd/thredds/dodsC/Datasets/ncep/ +http://www.esrl.noaa.gov/psd/data/gridded/data.ncep.html + + + +NCEP's twice-daily global analysis at 2.5&#176; resolution on pressure levels which is a product of their operational forecast system. +Scientific research. + +Additional Fields: +-----------------: +StartDate: 19790101 +StopDate: 20001201 +Storage_Medium: online +PSD Search Fields: +Entry_ID: ncep.fgdc + + + + + +19790101 +20001201 + + +Publication_Date: 20001201 + + +Complete +Irregular + + + +-180 +180 +90.00 +-90.00 + + + + +GCMD DIF 5.33 +NCEP +Air temperature +Geopotential height +Precipitable Water Content +Precipitable water Content +Relative humidity +Sea level pressure +Station pressure +Surface potential temperature +Surface Pressure +Tropopause Pressure +Tropopause temperature +u-wind +v-wind + + +none +Global + + +none +none + + +none +19790101, 20001201 + + +None +None. Acknowledgement of PSD would appreciated in products derived from these data. + + + +PSD Data Management + + +mailing address +
NOAA/ESRL Physical Sciences Division
+
U.S. Dept. of Commerce
+
NOAA, R/PSD
+
325 Broadway
+Boulder +CO +80305 +USA +
+(303) 497-6640 +(303) 497-6020 +esrl.psd.data@noaa.gov +
+
+ +None +Unclassified +None + +Data resides in netCDF files at PSD +
+ + +Data QC'd at source. We have checked our stored values. + +None +None + + +None + + + + + + +None +20001201 +None +None +None + + +None + + + +9999 +9999 + + +None + +None +None + + +None +9999 + + + + + + + +PSD Data Management + + +mailing address +
NOAA/ESRL Physical Sciences Division
+
U.S. Dept. of Commerce
+
NOAA, Code R/PSD
+
325 Broadway
+Boulder +CO +80305 +USA +
+(303) 497-7200 +(303) 497-6020 +esrl.psd.data@noaa.gov +
+
+No warranty expressed or implied. +
+ +20001201 + + + +PSD Data Management + + +mailing address +
NOAA/ESRL Physical Sciences Division
+
U.S. Dept. of Commerce
+
NOAA, Code R/PSD
+
325 Broadway
+Boulder +CO +80305 +USA +
+(303) 497-7200 +(303) 497-6020 +esrl.psd.data@noaa.gov +
+
+FGDC Content Standards for Digital Geospatial Metadata +FGDC-STD-001-1998 + +None +Unclassified +None + +
+
+
+
diff --git a/tests/functionaltests/suites/manager/post/Transaction-fgdc-02-update-recprop.xml b/tests/functionaltests/suites/manager/post/Transaction-fgdc-02-update-recprop.xml new file mode 100644 index 000000000..252beb6be --- /dev/null +++ b/tests/functionaltests/suites/manager/post/Transaction-fgdc-02-update-recprop.xml @@ -0,0 +1,17 @@ + + + + + idinfo/citation/citeinfo/title + NEW_TITLE + + + + + dct:abstract + NCEP% + + + + + diff --git a/tests/functionaltests/suites/manager/post/Transaction-fgdc-03-delete-all.xml b/tests/functionaltests/suites/manager/post/Transaction-fgdc-03-delete-all.xml new file mode 100644 index 000000000..9e0fba0d7 --- /dev/null +++ b/tests/functionaltests/suites/manager/post/Transaction-fgdc-03-delete-all.xml @@ -0,0 +1,13 @@ + + + + + + + dc:identifier + % + + + + + diff --git a/tests/functionaltests/suites/manager/post/Transaction-iso-00-delete-all.xml b/tests/functionaltests/suites/manager/post/Transaction-iso-00-delete-all.xml new file mode 100644 index 000000000..0fb063efc --- /dev/null +++ b/tests/functionaltests/suites/manager/post/Transaction-iso-00-delete-all.xml @@ -0,0 +1,13 @@ + + + + + + + apiso:Identifier + % + + + + + diff --git a/tests/functionaltests/suites/manager/post/Transaction-iso-01-insert.xml b/tests/functionaltests/suites/manager/post/Transaction-iso-01-insert.xml new file mode 100644 index 000000000..1b238dd4d --- /dev/null +++ b/tests/functionaltests/suites/manager/post/Transaction-iso-01-insert.xml @@ -0,0 +1,73 @@ + + + + + + 12345 + + + + + + + + pycsw + + + + + + + + 2011-05-17 + + + + + + + pycsw record + + + + + 2011-05-17 + + + + + + + + + + Sample metadata record + + + eng + + + + + + + -180 + + + 180 + + + -90 + + + 90 + + + + + + + + + + diff --git a/tests/functionaltests/suites/manager/post/Transaction-iso-02-update-full.xml b/tests/functionaltests/suites/manager/post/Transaction-iso-02-update-full.xml new file mode 100644 index 000000000..a5a5d0019 --- /dev/null +++ b/tests/functionaltests/suites/manager/post/Transaction-iso-02-update-full.xml @@ -0,0 +1,73 @@ + + + + + + 12345 + + + + + + + + pycsw + + + + + + + + 2011-05-17 + + + + + + + pycsw record UPDATED + + + + + 2011-05-17 + + + + + + + + + + Sample metadata record + + + eng + + + + + + + -180 + + + 180 + + + -90 + + + 90 + + + + + + + + + + diff --git a/tests/functionaltests/suites/manager/post/Transaction-iso-03-update-recprop.xml b/tests/functionaltests/suites/manager/post/Transaction-iso-03-update-recprop.xml new file mode 100644 index 000000000..a130a5f25 --- /dev/null +++ b/tests/functionaltests/suites/manager/post/Transaction-iso-03-update-recprop.xml @@ -0,0 +1,17 @@ + + + + + apiso:Title + NEW_TITLE + + + + + apiso:Identifier + 12345 + + + + + diff --git a/tests/functionaltests/suites/manager/post/Transaction-iso-04-update-recprop-no-matches.xml b/tests/functionaltests/suites/manager/post/Transaction-iso-04-update-recprop-no-matches.xml new file mode 100644 index 000000000..e1ff7ac3a --- /dev/null +++ b/tests/functionaltests/suites/manager/post/Transaction-iso-04-update-recprop-no-matches.xml @@ -0,0 +1,17 @@ + + + + + apiso:Title + NEW_TITLE + + + + + apiso:Identifier + non-existent + + + + + diff --git a/tests/functionaltests/suites/manager/post/Transaction-iso-05-delete.xml b/tests/functionaltests/suites/manager/post/Transaction-iso-05-delete.xml new file mode 100644 index 000000000..675a8690e --- /dev/null +++ b/tests/functionaltests/suites/manager/post/Transaction-iso-05-delete.xml @@ -0,0 +1,13 @@ + + + + + + + apiso:Identifier + 12345 + + + + + diff --git a/tests/functionaltests/suites/manager/post/Transaction-xxx-delete-all.xml b/tests/functionaltests/suites/manager/post/Transaction-xxx-delete-all.xml new file mode 100644 index 000000000..827ccc7f0 --- /dev/null +++ b/tests/functionaltests/suites/manager/post/Transaction-xxx-delete-all.xml @@ -0,0 +1,13 @@ + + + + + + + dc:identifier + % + + + + + diff --git a/tests/functionaltests/suites/oaipmh/default.cfg b/tests/functionaltests/suites/oaipmh/default.cfg new file mode 100644 index 000000000..18a08989f --- /dev/null +++ b/tests/functionaltests/suites/oaipmh/default.cfg @@ -0,0 +1,91 @@ +# ================================================================= +# +# Authors: Tom Kralidis +# +# Copyright (c) 2011 Tom Kralidis +# +# Permission is hereby granted, free of charge, to any person +# obtaining a copy of this software and associated documentation +# files (the "Software"), to deal in the Software without +# restriction, including without limitation the rights to use, +# copy, modify, merge, publish, distribute, sublicense, and/or sell +# copies of the Software, and to permit persons to whom the +# Software is furnished to do so, subject to the following +# conditions: +# +# The above copyright notice and this permission notice shall be +# included in all copies or substantial portions of the Software. +# +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +# EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES +# OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +# NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT +# HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, +# WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR +# OTHER DEALINGS IN THE SOFTWARE. +# +# ================================================================= + +[server] +home=. +url=http://localhost/pycsw/csw.py?config=tests/suites/oaipmh/default.cfg +mimetype=application/xml; charset=UTF-8 +encoding=UTF-8 +language=en-US +maxrecords=10 +#loglevel=DEBUG +#logfile=/tmp/pycsw.log +#ogc_schemas_base=http://foo +federatedcatalogues=http://geo.data.gov/geoportal/csw/discovery +pretty_print=true +profiles=apiso +#gzip_compresslevel=8 +#spatial_ranking=true + +[manager] +transactions=false +allowed_ips=127.0.0.1 + +[metadata:main] +identification_title=pycsw Geospatial Catalogue +identification_abstract=pycsw is an OGC CSW server implementation written in Python +identification_keywords=catalogue,discovery +identification_keywords_type=theme +identification_fees=None +identification_accessconstraints=None +provider_name=pycsw +provider_url=http://pycsw.org/ +contact_name=Kralidis, Tom +contact_position=Senior Systems Scientist +contact_address=TBA +contact_city=Toronto +contact_stateorprovince=Ontario +contact_postalcode=M9C 3Z9 +contact_country=Canada +contact_phone=+01-416-xxx-xxxx +contact_fax=+01-416-xxx-xxxx +contact_email=tomkralidis@gmail.com +contact_url=http://kralidis.ca/ +contact_hours=0800h - 1600h EST +contact_instructions=During hours of service. Off on weekends. +contact_role=pointOfContact + +[repository] +# sqlite +database=sqlite:///tests/suites/cite/data/records.db +# postgres +#database=postgres://username:password@localhost/pycsw +table=records + +[metadata:inspire] +enabled=false +languages_supported=eng,gre +default_language=eng +date=2011-03-29 +gemet_keywords=Utility and governmental services +conformity_service=notEvaluated +contact_name=National Technical University of Athens +contact_email=tzotsos@gmail.com +temp_extent=2011-02-01/2011-03-30 + diff --git a/tests/functionaltests/suites/oaipmh/expected/get_GetRecord_bad_metadata_prefix.xml b/tests/functionaltests/suites/oaipmh/expected/get_GetRecord_bad_metadata_prefix.xml new file mode 100644 index 000000000..8633a422d --- /dev/null +++ b/tests/functionaltests/suites/oaipmh/expected/get_GetRecord_bad_metadata_prefix.xml @@ -0,0 +1,7 @@ + + + + PYCSW_TIMESTAMP + http://localhost/pycsw/csw.py?config=tests/suites/oaipmh/default.cfg&mode=oaipmh + Invalid outputschema parameter csw-recordd + diff --git a/tests/functionaltests/suites/oaipmh/expected/get_GetRecord_dc.xml b/tests/functionaltests/suites/oaipmh/expected/get_GetRecord_dc.xml new file mode 100644 index 000000000..367da8832 --- /dev/null +++ b/tests/functionaltests/suites/oaipmh/expected/get_GetRecord_dc.xml @@ -0,0 +1,26 @@ + + + + PYCSW_TIMESTAMP + http://localhost/pycsw/csw.py?config=tests/suites/oaipmh/default.cfg&mode=oaipmh + + + + urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f + + + + + + urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f + http://purl.org/dc/dcmitype/Image + image/svg+xml + Lorem ipsum + GR-22 + Tourism--Greece + Quisque lacus diam, placerat mollis, pharetra in, commodo sed, augue. Duis iaculis arcu vel arcu. + + + + + diff --git a/tests/functionaltests/suites/oaipmh/expected/get_GetRecord_iso.xml b/tests/functionaltests/suites/oaipmh/expected/get_GetRecord_iso.xml new file mode 100644 index 000000000..8a482b63e --- /dev/null +++ b/tests/functionaltests/suites/oaipmh/expected/get_GetRecord_iso.xml @@ -0,0 +1,62 @@ + + + + PYCSW_TIMESTAMP + http://localhost/pycsw/csw.py?config=tests/suites/oaipmh/default.cfg&mode=oaipmh + + + + urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f + + + + + + + urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f + + + + + + http://purl.org/dc/dcmitype/Image + + + + + + + ISO19115 + + + 2003/Cor.1:2006 + + + + + + + Lorem ipsum + + + + + Quisque lacus diam, placerat mollis, pharetra in, commodo sed, augue. Duis iaculis arcu vel arcu. + + + + + Tourism--Greece + + + + + + + + + + + + + diff --git a/tests/functionaltests/suites/oaipmh/expected/get_GetRecord_oai_dc.xml b/tests/functionaltests/suites/oaipmh/expected/get_GetRecord_oai_dc.xml new file mode 100644 index 000000000..c8840efba --- /dev/null +++ b/tests/functionaltests/suites/oaipmh/expected/get_GetRecord_oai_dc.xml @@ -0,0 +1,26 @@ + + + + PYCSW_TIMESTAMP + http://localhost/pycsw/csw.py?config=tests/suites/oaipmh/default.cfg&mode=oaipmh + + + + urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f + + + + + + urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f + http://purl.org/dc/dcmitype/Image + image/svg+xml + Lorem ipsum + GR-22 + Tourism--Greece + Quisque lacus diam, placerat mollis, pharetra in, commodo sed, augue. Duis iaculis arcu vel arcu. + + + + + diff --git a/tests/functionaltests/suites/oaipmh/expected/get_Identify.xml b/tests/functionaltests/suites/oaipmh/expected/get_Identify.xml new file mode 100644 index 000000000..967a385c5 --- /dev/null +++ b/tests/functionaltests/suites/oaipmh/expected/get_Identify.xml @@ -0,0 +1,15 @@ + + + + PYCSW_TIMESTAMP + http://localhost/pycsw/csw.py?config=tests/suites/oaipmh/default.cfg&mode=oaipmh + + pycsw Geospatial Catalogue + http://localhost/pycsw/csw.py?config=tests/suites/oaipmh/default.cfg&mode=oaipmh + 2.0 + tomkralidis@gmail.com + PYCSW_TIMESTAMP + no + YYYY-MM-DDThh:mm:ssZ + + diff --git a/tests/functionaltests/suites/oaipmh/expected/get_ListIdentifiers_bad_metadata_prefix.xml b/tests/functionaltests/suites/oaipmh/expected/get_ListIdentifiers_bad_metadata_prefix.xml new file mode 100644 index 000000000..3eaa03c66 --- /dev/null +++ b/tests/functionaltests/suites/oaipmh/expected/get_ListIdentifiers_bad_metadata_prefix.xml @@ -0,0 +1,7 @@ + + + + PYCSW_TIMESTAMP + http://localhost/pycsw/csw.py?config=tests/suites/oaipmh/default.cfg&mode=oaipmh + Invalid outputSchema parameter value: foo + diff --git a/tests/functionaltests/suites/oaipmh/expected/get_ListIdentifiers_dc.xml b/tests/functionaltests/suites/oaipmh/expected/get_ListIdentifiers_dc.xml new file mode 100644 index 000000000..388be64cd --- /dev/null +++ b/tests/functionaltests/suites/oaipmh/expected/get_ListIdentifiers_dc.xml @@ -0,0 +1,79 @@ + + + + PYCSW_TIMESTAMP + http://localhost/pycsw/csw.py?config=tests/suites/oaipmh/default.cfg&mode=oaipmh + + + + urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f + + + + + + + urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f + + + + + + + urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f + + + + + + + urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f + + + + + + + urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f + + + + + + + urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f + + + + + + + urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f + + + + + + + urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f + + + + + + + urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f + + + + + + + urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f + + + + + 11 + + diff --git a/tests/functionaltests/suites/oaipmh/expected/get_ListIdentifiers_iso.xml b/tests/functionaltests/suites/oaipmh/expected/get_ListIdentifiers_iso.xml new file mode 100644 index 000000000..1ab8be85c --- /dev/null +++ b/tests/functionaltests/suites/oaipmh/expected/get_ListIdentifiers_iso.xml @@ -0,0 +1,79 @@ + + + + PYCSW_TIMESTAMP + http://localhost/pycsw/csw.py?config=tests/suites/oaipmh/default.cfg&mode=oaipmh + + + + urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f + + + + + + + urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f + + + + + + + urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f + + + + + + + urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f + + + + + + + urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f + + + + + + + urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f + + + + + + + urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f + + + + + + + urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f + + + + + + + urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f + + + + + + + urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f + + + + + 11 + + diff --git a/tests/functionaltests/suites/oaipmh/expected/get_ListIdentifiers_missing_metadata_prefix.xml b/tests/functionaltests/suites/oaipmh/expected/get_ListIdentifiers_missing_metadata_prefix.xml new file mode 100644 index 000000000..4104799d7 --- /dev/null +++ b/tests/functionaltests/suites/oaipmh/expected/get_ListIdentifiers_missing_metadata_prefix.xml @@ -0,0 +1,7 @@ + + + + PYCSW_TIMESTAMP + http://localhost/pycsw/csw.py?config=tests/suites/oaipmh/default.cfg&mode=oaipmh + Missing metadataPrefix parameter + diff --git a/tests/functionaltests/suites/oaipmh/expected/get_ListIdentifiers_oai_dc.xml b/tests/functionaltests/suites/oaipmh/expected/get_ListIdentifiers_oai_dc.xml new file mode 100644 index 000000000..a41a083ab --- /dev/null +++ b/tests/functionaltests/suites/oaipmh/expected/get_ListIdentifiers_oai_dc.xml @@ -0,0 +1,79 @@ + + + + PYCSW_TIMESTAMP + http://localhost/pycsw/csw.py?config=tests/suites/oaipmh/default.cfg&mode=oaipmh + + + + urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f + + + + + + + urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f + + + + + + + urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f + + + + + + + urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f + + + + + + + urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f + + + + + + + urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f + + + + + + + urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f + + + + + + + urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f + + + + + + + urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f + + + + + + + urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f + + + + + 11 + + diff --git a/tests/functionaltests/suites/oaipmh/expected/get_ListMetadataFormats.xml b/tests/functionaltests/suites/oaipmh/expected/get_ListMetadataFormats.xml new file mode 100644 index 000000000..2549bc963 --- /dev/null +++ b/tests/functionaltests/suites/oaipmh/expected/get_ListMetadataFormats.xml @@ -0,0 +1,38 @@ + + + + PYCSW_TIMESTAMP + http://localhost/pycsw/csw.py?config=tests/suites/oaipmh/default.cfg&mode=oaipmh + + + csw-record + http://schemas.opengis.net/csw/2.0.2/record.xsd + http://www.opengis.net/cat/csw/2.0.2 + + + dif + http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/dif.xsd + http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ + + + fgdc-std + http://www.fgdc.gov/metadata/fgdc-std-001-1998.xsd + http://www.opengis.net/cat/csw/csdgm + + + gm03 + http://www.geocat.ch/internet/geocat/en/home/documentation/gm03.parsys.50316.downloadList.86742.DownloadFile.tmp/gm0321.zip + http://www.interlis.ch/INTERLIS2.3 + + + iso19139 + http://www.isotc211.org/2005/gmd/gmd.xsd + http://www.isotc211.org/2005/gmd + + + oai_dc + http://www.openarchives.org/OAI/2.0/oai_dc.xsd + http://www.openarchives.org/OAI/2.0/oai_dc/ + + + diff --git a/tests/functionaltests/suites/oaipmh/expected/get_ListRecords_dc.xml b/tests/functionaltests/suites/oaipmh/expected/get_ListRecords_dc.xml new file mode 100644 index 000000000..43a853d38 --- /dev/null +++ b/tests/functionaltests/suites/oaipmh/expected/get_ListRecords_dc.xml @@ -0,0 +1,185 @@ + + + + PYCSW_TIMESTAMP + http://localhost/pycsw/csw.py?config=tests/suites/oaipmh/default.cfg&mode=oaipmh + + + + urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f + + + + + + urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f + http://purl.org/dc/dcmitype/Image + image/svg+xml + Lorem ipsum + GR-22 + Tourism--Greece + Quisque lacus diam, placerat mollis, pharetra in, commodo sed, augue. Duis iaculis arcu vel arcu. + + + + + + urn:uuid:1ef30a8b-876d-4828-9246-c37ab4510bbd + + + + + + urn:uuid:1ef30a8b-876d-4828-9246-c37ab4510bbd + http://purl.org/dc/dcmitype/Service + Proin sit amet justo. In justo. Aenean adipiscing nulla id tellus. + + 60.042 13.754 + 68.410 17.920 + + + + + + + urn:uuid:66ae76b7-54ba-489b-a582-0f0633d96493 + + + + + + urn:uuid:66ae76b7-54ba-489b-a582-0f0633d96493 + Maecenas enim + http://purl.org/dc/dcmitype/Text + application/xhtml+xml + Marine sediments + Pellentesque tempus magna non sapien fringilla blandit. + + + + + + urn:uuid:6a3de50b-fa66-4b58-a0e6-ca146fdd18d4 + + + + + + urn:uuid:6a3de50b-fa66-4b58-a0e6-ca146fdd18d4 + http://purl.org/dc/dcmitype/Service + Ut facilisis justo ut lacus + Vegetation + urn:uuid:94bc9c83-97f6-4b40-9eb8-a8e8787a5c63 + + + + + + urn:uuid:784e2afd-a9fd-44a6-9a92-a3848371c8ec + + + + + + urn:uuid:784e2afd-a9fd-44a6-9a92-a3848371c8ec + Aliquam fermentum purus quis arcu + http://purl.org/dc/dcmitype/Text + Hydrography--Dictionaries + application/pdf + 2006-05-12 + Vestibulum quis ipsum sit amet metus imperdiet vehicula. Nulla scelerisque cursus mi. + + + + + + urn:uuid:829babb0-b2f1-49e1-8cd5-7b489fe71a1e + + + + + + urn:uuid:829babb0-b2f1-49e1-8cd5-7b489fe71a1e + http://purl.org/dc/dcmitype/Image + image/jp2 + Vestibulum massa purus + urn:uuid:9a669547-b69b-469f-a11f-2d875366bbdc + + + + + + urn:uuid:88247b56-4cbc-4df9-9860-db3f8042e357 + + + + + + urn:uuid:88247b56-4cbc-4df9-9860-db3f8042e357 + http://purl.org/dc/dcmitype/Dataset + Physiography-Landforms + FI-ES + Donec scelerisque pede ut nisl luctus accumsan. Quisque ultrices, lorem eget feugiat fringilla, lorem dui porttitor ante, cursus ultrices magna odio eu neque. + + + + + + urn:uuid:94bc9c83-97f6-4b40-9eb8-a8e8787a5c63 + + + + + + urn:uuid:94bc9c83-97f6-4b40-9eb8-a8e8787a5c63 + http://purl.org/dc/dcmitype/Dataset + Mauris sed neque + Vegetation-Cropland + Curabitur lacinia, ante non porta tempus, mi lorem feugiat odio, eget suscipit eros pede ac velit. + 2006-03-26 + + 47.595 -4.097 + 51.217 0.889 + + + + + + + urn:uuid:9a669547-b69b-469f-a11f-2d875366bbdc + + + + + + urn:uuid:9a669547-b69b-469f-a11f-2d875366bbdc + http://purl.org/dc/dcmitype/Dataset + Ñunç elementum + Hydrography-Oceanographic + 2005-10-24 + + 44.792 -6.171 + 51.126 -2.228 + + + + + + + urn:uuid:a06af396-3105-442d-8b40-22b57a90d2f2 + + + + + + urn:uuid:a06af396-3105-442d-8b40-22b57a90d2f2 + http://purl.org/dc/dcmitype/Image + Lorem ipsum dolor sit amet + image/jpeg + IT-FI + + + + 11 + + diff --git a/tests/functionaltests/suites/oaipmh/expected/get_ListRecords_dc_bad_metadata_prefix.xml b/tests/functionaltests/suites/oaipmh/expected/get_ListRecords_dc_bad_metadata_prefix.xml new file mode 100644 index 000000000..6ed9a9c58 --- /dev/null +++ b/tests/functionaltests/suites/oaipmh/expected/get_ListRecords_dc_bad_metadata_prefix.xml @@ -0,0 +1,7 @@ + + + + PYCSW_TIMESTAMP + http://localhost/pycsw/csw.py?config=tests/suites/oaipmh/default.cfg&mode=oaipmh + Invalid outputSchema parameter value: csw-recording + diff --git a/tests/functionaltests/suites/oaipmh/expected/get_ListRecords_iso19139.xml b/tests/functionaltests/suites/oaipmh/expected/get_ListRecords_iso19139.xml new file mode 100644 index 000000000..58bd0023a --- /dev/null +++ b/tests/functionaltests/suites/oaipmh/expected/get_ListRecords_iso19139.xml @@ -0,0 +1,588 @@ + + + + PYCSW_TIMESTAMP + http://localhost/pycsw/csw.py?config=tests/suites/oaipmh/default.cfg&mode=oaipmh + + + + urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f + + + + + + + urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f + + + + + + http://purl.org/dc/dcmitype/Image + + + + + + + ISO19115 + + + 2003/Cor.1:2006 + + + + + + + Lorem ipsum + + + + + Quisque lacus diam, placerat mollis, pharetra in, commodo sed, augue. Duis iaculis arcu vel arcu. + + + + + Tourism--Greece + + + + + + + + + + + + + + urn:uuid:1ef30a8b-876d-4828-9246-c37ab4510bbd + + + + + + + urn:uuid:1ef30a8b-876d-4828-9246-c37ab4510bbd + + + + + + http://purl.org/dc/dcmitype/Service + + + + + + + ISO19115 + + + 2003/Cor.1:2006 + + + + + + + + + + + + Proin sit amet justo. In justo. Aenean adipiscing nulla id tellus. + + + + + + + + + + 13.75 + + + 17.92 + + + 60.04 + + + 68.41 + + + + + + + + + + + + + urn:uuid:66ae76b7-54ba-489b-a582-0f0633d96493 + + + + + + + urn:uuid:66ae76b7-54ba-489b-a582-0f0633d96493 + + + + + + http://purl.org/dc/dcmitype/Text + + + + + + + ISO19115 + + + 2003/Cor.1:2006 + + + + + + + Maecenas enim + + + + + Pellentesque tempus magna non sapien fringilla blandit. + + + + + Marine sediments + + + + + + + + + + + + + + urn:uuid:6a3de50b-fa66-4b58-a0e6-ca146fdd18d4 + + + + + + + urn:uuid:6a3de50b-fa66-4b58-a0e6-ca146fdd18d4 + + + + + + http://purl.org/dc/dcmitype/Service + + + + + + + ISO19115 + + + 2003/Cor.1:2006 + + + + + + + Ut facilisis justo ut lacus + + + + + + + + + + Vegetation + + + + + + + + + + + + + + urn:uuid:784e2afd-a9fd-44a6-9a92-a3848371c8ec + + + + + + + urn:uuid:784e2afd-a9fd-44a6-9a92-a3848371c8ec + + + + + + http://purl.org/dc/dcmitype/Text + + + + + + + ISO19115 + + + 2003/Cor.1:2006 + + + + + + + Aliquam fermentum purus quis arcu + + + + + Vestibulum quis ipsum sit amet metus imperdiet vehicula. Nulla scelerisque cursus mi. + + + + + Hydrography--Dictionaries + + + + + + + + + + + + + + urn:uuid:829babb0-b2f1-49e1-8cd5-7b489fe71a1e + + + + + + + urn:uuid:829babb0-b2f1-49e1-8cd5-7b489fe71a1e + + + + + + http://purl.org/dc/dcmitype/Image + + + + + + + ISO19115 + + + 2003/Cor.1:2006 + + + + + + + Vestibulum massa purus + + + + + + + + + + + + + + + + + urn:uuid:88247b56-4cbc-4df9-9860-db3f8042e357 + + + + + + + urn:uuid:88247b56-4cbc-4df9-9860-db3f8042e357 + + + + + + dataset + + + + + + + ISO19115 + + + 2003/Cor.1:2006 + + + + + + + + + + + + Donec scelerisque pede ut nisl luctus accumsan. Quisque ultrices, lorem eget feugiat fringilla, lorem dui porttitor ante, cursus ultrices magna odio eu neque. + + + + + Physiography-Landforms + + + + + + + + + + + + + + urn:uuid:94bc9c83-97f6-4b40-9eb8-a8e8787a5c63 + + + + + + + urn:uuid:94bc9c83-97f6-4b40-9eb8-a8e8787a5c63 + + + + + + dataset + + + + + + + ISO19115 + + + 2003/Cor.1:2006 + + + + + + + Mauris sed neque + + + + + Curabitur lacinia, ante non porta tempus, mi lorem feugiat odio, eget suscipit eros pede ac velit. + + + + + Vegetation-Cropland + + + + + + + + + + + + -4.1 + + + 0.89 + + + 47.59 + + + 51.22 + + + + + + + + + + + + + urn:uuid:9a669547-b69b-469f-a11f-2d875366bbdc + + + + + + + urn:uuid:9a669547-b69b-469f-a11f-2d875366bbdc + + + + + + dataset + + + + + + + ISO19115 + + + 2003/Cor.1:2006 + + + + + + + Ñunç elementum + + + + + + + + + + Hydrography-Oceanographic + + + + + + + + + + + + -6.17 + + + -2.23 + + + 44.79 + + + 51.13 + + + + + + + + + + + + + urn:uuid:a06af396-3105-442d-8b40-22b57a90d2f2 + + + + + + + urn:uuid:a06af396-3105-442d-8b40-22b57a90d2f2 + + + + + + http://purl.org/dc/dcmitype/Image + + + + + + + ISO19115 + + + 2003/Cor.1:2006 + + + + + + + Lorem ipsum dolor sit amet + + + + + + + + + + + + + + + 11 + + diff --git a/tests/functionaltests/suites/oaipmh/expected/get_ListRecords_oai_dc.xml b/tests/functionaltests/suites/oaipmh/expected/get_ListRecords_oai_dc.xml new file mode 100644 index 000000000..a5dc39975 --- /dev/null +++ b/tests/functionaltests/suites/oaipmh/expected/get_ListRecords_oai_dc.xml @@ -0,0 +1,185 @@ + + + + PYCSW_TIMESTAMP + http://localhost/pycsw/csw.py?config=tests/suites/oaipmh/default.cfg&mode=oaipmh + + + + urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f + + + + + + urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f + http://purl.org/dc/dcmitype/Image + image/svg+xml + Lorem ipsum + GR-22 + Tourism--Greece + Quisque lacus diam, placerat mollis, pharetra in, commodo sed, augue. Duis iaculis arcu vel arcu. + + + + + + urn:uuid:1ef30a8b-876d-4828-9246-c37ab4510bbd + + + + + + urn:uuid:1ef30a8b-876d-4828-9246-c37ab4510bbd + http://purl.org/dc/dcmitype/Service + Proin sit amet justo. In justo. Aenean adipiscing nulla id tellus. + + 60.042 13.754 + 68.410 17.920 + + + + + + + urn:uuid:66ae76b7-54ba-489b-a582-0f0633d96493 + + + + + + urn:uuid:66ae76b7-54ba-489b-a582-0f0633d96493 + Maecenas enim + http://purl.org/dc/dcmitype/Text + application/xhtml+xml + Marine sediments + Pellentesque tempus magna non sapien fringilla blandit. + + + + + + urn:uuid:6a3de50b-fa66-4b58-a0e6-ca146fdd18d4 + + + + + + urn:uuid:6a3de50b-fa66-4b58-a0e6-ca146fdd18d4 + http://purl.org/dc/dcmitype/Service + Ut facilisis justo ut lacus + Vegetation + urn:uuid:94bc9c83-97f6-4b40-9eb8-a8e8787a5c63 + + + + + + urn:uuid:784e2afd-a9fd-44a6-9a92-a3848371c8ec + + + + + + urn:uuid:784e2afd-a9fd-44a6-9a92-a3848371c8ec + Aliquam fermentum purus quis arcu + http://purl.org/dc/dcmitype/Text + Hydrography--Dictionaries + application/pdf + 2006-05-12 + Vestibulum quis ipsum sit amet metus imperdiet vehicula. Nulla scelerisque cursus mi. + + + + + + urn:uuid:829babb0-b2f1-49e1-8cd5-7b489fe71a1e + + + + + + urn:uuid:829babb0-b2f1-49e1-8cd5-7b489fe71a1e + http://purl.org/dc/dcmitype/Image + image/jp2 + Vestibulum massa purus + urn:uuid:9a669547-b69b-469f-a11f-2d875366bbdc + + + + + + urn:uuid:88247b56-4cbc-4df9-9860-db3f8042e357 + + + + + + urn:uuid:88247b56-4cbc-4df9-9860-db3f8042e357 + http://purl.org/dc/dcmitype/Dataset + Physiography-Landforms + FI-ES + Donec scelerisque pede ut nisl luctus accumsan. Quisque ultrices, lorem eget feugiat fringilla, lorem dui porttitor ante, cursus ultrices magna odio eu neque. + + + + + + urn:uuid:94bc9c83-97f6-4b40-9eb8-a8e8787a5c63 + + + + + + urn:uuid:94bc9c83-97f6-4b40-9eb8-a8e8787a5c63 + http://purl.org/dc/dcmitype/Dataset + Mauris sed neque + Vegetation-Cropland + Curabitur lacinia, ante non porta tempus, mi lorem feugiat odio, eget suscipit eros pede ac velit. + 2006-03-26 + + 47.595 -4.097 + 51.217 0.889 + + + + + + + urn:uuid:9a669547-b69b-469f-a11f-2d875366bbdc + + + + + + urn:uuid:9a669547-b69b-469f-a11f-2d875366bbdc + http://purl.org/dc/dcmitype/Dataset + Ñunç elementum + Hydrography-Oceanographic + 2005-10-24 + + 44.792 -6.171 + 51.126 -2.228 + + + + + + + urn:uuid:a06af396-3105-442d-8b40-22b57a90d2f2 + + + + + + urn:uuid:a06af396-3105-442d-8b40-22b57a90d2f2 + http://purl.org/dc/dcmitype/Image + Lorem ipsum dolor sit amet + image/jpeg + IT-FI + + + + 11 + + diff --git a/tests/functionaltests/suites/oaipmh/expected/get_ListSets.xml b/tests/functionaltests/suites/oaipmh/expected/get_ListSets.xml new file mode 100644 index 000000000..2be90809f --- /dev/null +++ b/tests/functionaltests/suites/oaipmh/expected/get_ListSets.xml @@ -0,0 +1,16 @@ + + + + PYCSW_TIMESTAMP + http://localhost/pycsw/csw.py?config=tests/suites/oaipmh/default.cfg&mode=oaipmh + + + datasets + Datasets + + + interactiveResources + Interactive Resources + + + diff --git a/tests/functionaltests/suites/oaipmh/expected/get_bad_verb.xml b/tests/functionaltests/suites/oaipmh/expected/get_bad_verb.xml new file mode 100644 index 000000000..0e3dfba47 --- /dev/null +++ b/tests/functionaltests/suites/oaipmh/expected/get_bad_verb.xml @@ -0,0 +1,7 @@ + + + + PYCSW_TIMESTAMP + http://localhost/pycsw/csw.py?config=tests/suites/oaipmh/default.cfg&mode=oaipmh + Unknown verb 'foo' + diff --git a/tests/functionaltests/suites/oaipmh/expected/get_empty.xml b/tests/functionaltests/suites/oaipmh/expected/get_empty.xml new file mode 100644 index 000000000..1f6d54ab8 --- /dev/null +++ b/tests/functionaltests/suites/oaipmh/expected/get_empty.xml @@ -0,0 +1,7 @@ + + + + PYCSW_TIMESTAMP + http://localhost/pycsw/csw.py?config=tests/suites/oaipmh/default.cfg&mode=oaipmh + Missing 'verb' parameter + diff --git a/tests/functionaltests/suites/oaipmh/expected/get_empty_with_amp.xml b/tests/functionaltests/suites/oaipmh/expected/get_empty_with_amp.xml new file mode 100644 index 000000000..1f6d54ab8 --- /dev/null +++ b/tests/functionaltests/suites/oaipmh/expected/get_empty_with_amp.xml @@ -0,0 +1,7 @@ + + + + PYCSW_TIMESTAMP + http://localhost/pycsw/csw.py?config=tests/suites/oaipmh/default.cfg&mode=oaipmh + Missing 'verb' parameter + diff --git a/tests/functionaltests/suites/oaipmh/expected/get_illegal_verb.xml b/tests/functionaltests/suites/oaipmh/expected/get_illegal_verb.xml new file mode 100644 index 000000000..4a88ffe48 --- /dev/null +++ b/tests/functionaltests/suites/oaipmh/expected/get_illegal_verb.xml @@ -0,0 +1,7 @@ + + + + PYCSW_TIMESTAMP + http://localhost/pycsw/csw.py?config=tests/suites/oaipmh/default.cfg&mode=oaipmh + Unknown verb 'foo' + diff --git a/tests/functionaltests/suites/oaipmh/get/requests.txt b/tests/functionaltests/suites/oaipmh/get/requests.txt new file mode 100644 index 000000000..bf6955232 --- /dev/null +++ b/tests/functionaltests/suites/oaipmh/get/requests.txt @@ -0,0 +1,20 @@ +empty,mode=oaipmh +empty_with_amp,mode=oaipmh& +bad_verb,mode=oaipmh&verb=foo +illegal_verb,mode=oaipmh&verb=foo&foo=bar +Identify,mode=oaipmh&verb=Identify +ListSets,mode=oaipmh&verb=ListSets +ListMetadataFormats,mode=oaipmh&verb=ListMetadataFormats +GetRecord_dc,mode=oaipmh&verb=GetRecord&identifier=urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f&metadataPrefix=csw-record +GetRecord_bad_metadata_prefix,mode=oaipmh&verb=GetRecord&identifier=urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f&metadataPrefix=csw-recordd +GetRecord_oai_dc,mode=oaipmh&verb=GetRecord&identifier=urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f&metadataPrefix=oai_dc +GetRecord_iso,mode=oaipmh&verb=GetRecord&identifier=urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f&metadataPrefix=iso19139 +ListIdentifiers_missing_metadata_prefix,mode=oaipmh&verb=ListIdentifiers +ListIdentifiers_dc,mode=oaipmh&verb=ListIdentifiers&metadataPrefix=csw-record +ListIdentifiers_iso,mode=oaipmh&verb=ListIdentifiers&metadataPrefix=iso19139 +ListIdentifiers_oai_dc,mode=oaipmh&verb=ListIdentifiers&metadataPrefix=oai_dc +ListIdentifiers_bad_metadata_prefix,mode=oaipmh&verb=ListIdentifiers&metadataPrefix=foo +ListRecords_dc,mode=oaipmh&verb=ListRecords&metadataPrefix=csw-record +ListRecords_dc_bad_metadata_prefix,mode=oaipmh&verb=ListRecords&metadataPrefix=csw-recording +ListRecords_oai_dc,mode=oaipmh&verb=ListRecords&metadataPrefix=oai_dc +ListRecords_iso19139,mode=oaipmh&verb=ListRecords&metadataPrefix=iso19139 diff --git a/tests/functionaltests/suites/repofilter/default.cfg b/tests/functionaltests/suites/repofilter/default.cfg new file mode 100644 index 000000000..63339ccbb --- /dev/null +++ b/tests/functionaltests/suites/repofilter/default.cfg @@ -0,0 +1,91 @@ +# ================================================================= +# +# Authors: Tom Kralidis +# +# Copyright (c) 2011 Tom Kralidis +# +# Permission is hereby granted, free of charge, to any person +# obtaining a copy of this software and associated documentation +# files (the "Software"), to deal in the Software without +# restriction, including without limitation the rights to use, +# copy, modify, merge, publish, distribute, sublicense, and/or sell +# copies of the Software, and to permit persons to whom the +# Software is furnished to do so, subject to the following +# conditions: +# +# The above copyright notice and this permission notice shall be +# included in all copies or substantial portions of the Software. +# +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +# EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES +# OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +# NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT +# HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, +# WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR +# OTHER DEALINGS IN THE SOFTWARE. +# +# ================================================================= + +[server] +home=. +url=http://localhost/pycsw/csw.py?config=tests/suites/repofilter/default.cfg +mimetype=application/xml; charset=UTF-8 +encoding=UTF-8 +language=en-US +maxrecords=10 +#loglevel=DEBUG +#logfile=/tmp/pycsw.log +#ogc_schemas_base=http://foo +federatedcatalogues=http://geo.data.gov/geoportal/csw/discovery +pretty_print=true +#gzip_compresslevel=8 +#spatial_ranking=true + +[manager] +transactions=false +allowed_ips=127.0.0.1 + +[metadata:main] +identification_title=pycsw Geospatial Catalogue +identification_abstract=pycsw is an OGC CSW server implementation written in Python +identification_keywords=catalogue,discovery +identification_keywords_type=theme +identification_fees=None +identification_accessconstraints=None +provider_name=pycsw +provider_url=http://pycsw.org/ +contact_name=Kralidis, Tom +contact_position=Senior Systems Scientist +contact_address=TBA +contact_city=Toronto +contact_stateorprovince=Ontario +contact_postalcode=M9C 3Z9 +contact_country=Canada +contact_phone=+01-416-xxx-xxxx +contact_fax=+01-416-xxx-xxxx +contact_email=tomkralidis@gmail.com +contact_url=http://kralidis.ca/ +contact_hours=0800h - 1600h EST +contact_instructions=During hours of service. Off on weekends. +contact_role=pointOfContact + +[repository] +# sqlite +database=sqlite:///tests/suites/cite/data/records.db +# postgres +#database=postgres://username:password@localhost/pycsw +table=records +filter=type = 'http://purl.org/dc/dcmitype/Dataset' + +[metadata:inspire] +enabled=false +languages_supported=eng,gre +default_language=eng +date=2011-03-29 +gemet_keywords=Utility and governmental services +conformity_service=notEvaluated +contact_name=National Technical University of Athens +contact_email=tzotsos@gmail.com +temp_extent=2011-02-01/2011-03-30 + diff --git a/tests/functionaltests/suites/repofilter/expected/post_GetRecordById-masked.xml b/tests/functionaltests/suites/repofilter/expected/post_GetRecordById-masked.xml new file mode 100644 index 000000000..9bf61df8e --- /dev/null +++ b/tests/functionaltests/suites/repofilter/expected/post_GetRecordById-masked.xml @@ -0,0 +1,3 @@ + + + diff --git a/tests/functionaltests/suites/repofilter/expected/post_GetRecords-all.xml b/tests/functionaltests/suites/repofilter/expected/post_GetRecords-all.xml new file mode 100644 index 000000000..99af61e73 --- /dev/null +++ b/tests/functionaltests/suites/repofilter/expected/post_GetRecords-all.xml @@ -0,0 +1,37 @@ + + + + + + + urn:uuid:88247b56-4cbc-4df9-9860-db3f8042e357 + http://purl.org/dc/dcmitype/Dataset + Physiography-Landforms + FI-ES + Donec scelerisque pede ut nisl luctus accumsan. Quisque ultrices, lorem eget feugiat fringilla, lorem dui porttitor ante, cursus ultrices magna odio eu neque. + + + urn:uuid:94bc9c83-97f6-4b40-9eb8-a8e8787a5c63 + http://purl.org/dc/dcmitype/Dataset + Mauris sed neque + Vegetation-Cropland + Curabitur lacinia, ante non porta tempus, mi lorem feugiat odio, eget suscipit eros pede ac velit. + 2006-03-26 + + 47.595 -4.097 + 51.217 0.889 + + + + urn:uuid:9a669547-b69b-469f-a11f-2d875366bbdc + http://purl.org/dc/dcmitype/Dataset + Ñunç elementum + Hydrography-Oceanographic + 2005-10-24 + + 44.792 -6.171 + 51.126 -2.228 + + + + diff --git a/tests/functionaltests/suites/repofilter/post/GetRecordById-masked.xml b/tests/functionaltests/suites/repofilter/post/GetRecordById-masked.xml new file mode 100644 index 000000000..1a61c85a8 --- /dev/null +++ b/tests/functionaltests/suites/repofilter/post/GetRecordById-masked.xml @@ -0,0 +1,5 @@ + + + urn:uuid:784e2afd-a9fd-44a6-9a92-a3848371c8ec + summary + diff --git a/tests/functionaltests/suites/repofilter/post/GetRecords-all.xml b/tests/functionaltests/suites/repofilter/post/GetRecords-all.xml new file mode 100644 index 000000000..ecae692a0 --- /dev/null +++ b/tests/functionaltests/suites/repofilter/post/GetRecords-all.xml @@ -0,0 +1,6 @@ + + + + full + + diff --git a/tests/functionaltests/suites/sru/default.cfg b/tests/functionaltests/suites/sru/default.cfg new file mode 100644 index 000000000..0140efaf4 --- /dev/null +++ b/tests/functionaltests/suites/sru/default.cfg @@ -0,0 +1,90 @@ +# ================================================================= +# +# Authors: Tom Kralidis +# +# Copyright (c) 2011 Tom Kralidis +# +# Permission is hereby granted, free of charge, to any person +# obtaining a copy of this software and associated documentation +# files (the "Software"), to deal in the Software without +# restriction, including without limitation the rights to use, +# copy, modify, merge, publish, distribute, sublicense, and/or sell +# copies of the Software, and to permit persons to whom the +# Software is furnished to do so, subject to the following +# conditions: +# +# The above copyright notice and this permission notice shall be +# included in all copies or substantial portions of the Software. +# +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +# EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES +# OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +# NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT +# HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, +# WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR +# OTHER DEALINGS IN THE SOFTWARE. +# +# ================================================================= + +[server] +home=. +url=http://localhost/pycsw/csw.py?config=tests/suites/sru/default.cfg +mimetype=application/xml; charset=UTF-8 +encoding=UTF-8 +language=en-US +maxrecords=10 +#loglevel=DEBUG +#logfile=/tmp/pycsw.log +#ogc_schemas_base=http://foo +federatedcatalogues=http://geo.data.gov/geoportal/csw/discovery +pretty_print=true +#gzip_compresslevel=8 +#spatial_ranking=true + +[manager] +transactions=false +allowed_ips=127.0.0.1 + +[metadata:main] +identification_title=pycsw Geospatial Catalogue +identification_abstract=pycsw is an OGC CSW server implementation written in Python +identification_keywords=catalogue,discovery +identification_keywords_type=theme +identification_fees=None +identification_accessconstraints=None +provider_name=pycsw +provider_url=http://pycsw.org/ +contact_name=Kralidis, Tom +contact_position=Senior Systems Scientist +contact_address=TBA +contact_city=Toronto +contact_stateorprovince=Ontario +contact_postalcode=M9C 3Z9 +contact_country=Canada +contact_phone=+01-416-xxx-xxxx +contact_fax=+01-416-xxx-xxxx +contact_email=tomkralidis@gmail.com +contact_url=http://kralidis.ca/ +contact_hours=0800h - 1600h EST +contact_instructions=During hours of service. Off on weekends. +contact_role=pointOfContact + +[repository] +# sqlite +database=sqlite:///tests/suites/cite/data/records.db +# postgres +#database=postgres://username:password@localhost/pycsw +table=records + +[metadata:inspire] +enabled=false +languages_supported=eng,gre +default_language=eng +date=2011-03-29 +gemet_keywords=Utility and governmental services +conformity_service=notEvaluated +contact_name=National Technical University of Athens +contact_email=tzotsos@gmail.com +temp_extent=2011-02-01/2011-03-30 + diff --git a/tests/functionaltests/suites/sru/expected/get_explain.xml b/tests/functionaltests/suites/sru/expected/get_explain.xml new file mode 100644 index 000000000..34103909d --- /dev/null +++ b/tests/functionaltests/suites/sru/expected/get_explain.xml @@ -0,0 +1,128 @@ + + + + 1.1 + + XML + http://explain.z3950.org/dtd/2.1/ + + + + PYCSW_HOST + PYCSW_PORT + pycsw + + + pycsw Geospatial Catalogue + pycsw is an OGC CSW server implementation written in Python + + + + + abstract + + abstract + + + + contributor + + contributor + + + + creator + + creator + + + + date + + date + + + + format + + format + + + + identifier + + identifier + + + + language + + language + + + + modified + + modified + + + + publisher + + publisher + + + + relation + + relation + + + + rights + + rights + + + + source + + source + + + + subject + + subject + + + + title + + title + + + + type + + type + + + + + title222 + + + + + + Simple Dublin Core + + + + 0 + + + + + diff --git a/tests/functionaltests/suites/sru/expected/get_search.xml b/tests/functionaltests/suites/sru/expected/get_search.xml new file mode 100644 index 000000000..ce70bc154 --- /dev/null +++ b/tests/functionaltests/suites/sru/expected/get_search.xml @@ -0,0 +1,6 @@ + + + + 1.1 + 5 + diff --git a/tests/functionaltests/suites/sru/expected/get_search_cql.xml b/tests/functionaltests/suites/sru/expected/get_search_cql.xml new file mode 100644 index 000000000..9a98be980 --- /dev/null +++ b/tests/functionaltests/suites/sru/expected/get_search_cql.xml @@ -0,0 +1,30 @@ + + + + 1.1 + 2 + + + + urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f + Lorem ipsum + http://purl.org/dc/dcmitype/Image + + + -2 + + info:srw/schema/1/dc-v1.1 + xml + + + + urn:uuid:a06af396-3105-442d-8b40-22b57a90d2f2 + Lorem ipsum dolor sit amet + http://purl.org/dc/dcmitype/Image + + + -1 + + info:srw/schema/1/dc-v1.1 + xml + diff --git a/tests/functionaltests/suites/sru/expected/get_search_maxrecords.xml b/tests/functionaltests/suites/sru/expected/get_search_maxrecords.xml new file mode 100644 index 000000000..cba2314eb --- /dev/null +++ b/tests/functionaltests/suites/sru/expected/get_search_maxrecords.xml @@ -0,0 +1,30 @@ + + + + 1.1 + 5 + + + + urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f + Lorem ipsum + http://purl.org/dc/dcmitype/Image + + + 1 + + info:srw/schema/1/dc-v1.1 + xml + + + + urn:uuid:88247b56-4cbc-4df9-9860-db3f8042e357 + + http://purl.org/dc/dcmitype/Dataset + + + 2 + + info:srw/schema/1/dc-v1.1 + xml + diff --git a/tests/functionaltests/suites/sru/expected/get_search_startrecord_maxrecords.xml b/tests/functionaltests/suites/sru/expected/get_search_startrecord_maxrecords.xml new file mode 100644 index 000000000..cba2314eb --- /dev/null +++ b/tests/functionaltests/suites/sru/expected/get_search_startrecord_maxrecords.xml @@ -0,0 +1,30 @@ + + + + 1.1 + 5 + + + + urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f + Lorem ipsum + http://purl.org/dc/dcmitype/Image + + + 1 + + info:srw/schema/1/dc-v1.1 + xml + + + + urn:uuid:88247b56-4cbc-4df9-9860-db3f8042e357 + + http://purl.org/dc/dcmitype/Dataset + + + 2 + + info:srw/schema/1/dc-v1.1 + xml + diff --git a/tests/functionaltests/suites/sru/get/requests.txt b/tests/functionaltests/suites/sru/get/requests.txt new file mode 100644 index 000000000..3db4b8cd0 --- /dev/null +++ b/tests/functionaltests/suites/sru/get/requests.txt @@ -0,0 +1,5 @@ +explain,mode=sru +search,mode=sru&version=1.1&operation=searchRetrieve&query=lor +search_maxrecords,mode=sru&operation=searchRetrieve&query=lor&maximumRecords=2 +search_startrecord_maxrecords,mode=sru&operation=searchRetrieve&query=lor&maximumRecords=2&startRecord=1 +search_cql,mode=sru&operation=searchRetrieve&query=dc:title%20like%20'%lor%'&maximumRecords=5 diff --git a/tests/functionaltests/suites/utf-8/default.cfg b/tests/functionaltests/suites/utf-8/default.cfg new file mode 100644 index 000000000..d68bfbdcb --- /dev/null +++ b/tests/functionaltests/suites/utf-8/default.cfg @@ -0,0 +1,89 @@ +# ================================================================= +# +# Authors: Tom Kralidis +# +# Copyright (c) 2011 Tom Kralidis +# +# Permission is hereby granted, free of charge, to any person +# obtaining a copy of this software and associated documentation +# files (the "Software"), to deal in the Software without +# restriction, including without limitation the rights to use, +# copy, modify, merge, publish, distribute, sublicense, and/or sell +# copies of the Software, and to permit persons to whom the +# Software is furnished to do so, subject to the following +# conditions: +# +# The above copyright notice and this permission notice shall be +# included in all copies or substantial portions of the Software. +# +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +# EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES +# OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +# NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT +# HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, +# WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR +# OTHER DEALINGS IN THE SOFTWARE. +# +# ================================================================= + +[server] +home=. +url=http://localhost/pycsw/csw.py?config=tests/suites/utf-8/default.cfg +mimetype=application/xml; charset=UTF-8 +encoding=UTF-8 +language=en-US +maxrecords=10 +#loglevel=DEBUG +#logfile=/tmp/pycsw.log +#ogc_schemas_base=http://foo +federatedcatalogues=http://demo.pycsw.org/gisdata/csw +pretty_print=true +#gzip_compresslevel=8 +#spatial_ranking=true + +[manager] +transactions=false +allowed_ips=127.0.0.1 + +[metadata:main] +identification_title=ErrŹĆŁÓdd +identification_abstract=pycsw is an OGC CSW server implementation written in Python +identification_keywords=catalogue,discovery +identification_keywords_type=theme +identification_fees=None +identification_accessconstraints=None +provider_name=pycsw +provider_url=http://pycsw.org/ +contact_name=Kralidis, Tom +contact_position=Senior Systems Scientist +contact_address=TBA +contact_city=Toronto +contact_stateorprovince=Ontario +contact_postalcode=M9C 3Z9 +contact_country=Canada +contact_phone=+01-416-xxx-xxxx +contact_fax=+01-416-xxx-xxxx +contact_email=tomkralidis@gmail.com +contact_url=http://kralidis.ca/ +contact_hours=0800h - 1600h EST +contact_instructions=During hours of service. Off on weekends. +contact_role=pointOfContact + +[repository] +# sqlite +database=sqlite:///tests/suites/cite/data/records.db +# postgres +#database=postgres://username:password@localhost/pycsw +table=records + +[metadata:inspire] +enabled=false +languages_supported=eng,gre +default_language=eng +date=2011-03-29 +gemet_keywords=Utility and governmental services +conformity_service=notEvaluated +contact_name=National Technical University of Athens +contact_email=tzotsos@gmail.com +temp_extent=2011-02-01/2011-03-30 diff --git a/tests/functionaltests/suites/utf-8/expected/post_GetCapabilities.xml b/tests/functionaltests/suites/utf-8/expected/post_GetCapabilities.xml new file mode 100644 index 000000000..094ce1123 --- /dev/null +++ b/tests/functionaltests/suites/utf-8/expected/post_GetCapabilities.xml @@ -0,0 +1,262 @@ + + + + + ErrŹĆŁÓdd + pycsw is an OGC CSW server implementation written in Python + + catalogue + discovery + theme + + CSW + 2.0.2 + 3.0.0 + None + None + + + pycsw + + + Kralidis, Tom + Senior Systems Scientist + + + +01-416-xxx-xxxx + +01-416-xxx-xxxx + + + TBA + Toronto + Ontario + M9C 3Z9 + Canada + tomkralidis@gmail.com + + + 0800h - 1600h EST + During hours of service. Off on weekends. + + pointOfContact + + + + + + + + + + + + Filter_Capabilities + OperationsMetadata + ServiceIdentification + ServiceProvider + + + + + + + + + + + application/json + application/xml + + + http://www.w3.org/2001/XMLSchema + http://www.w3.org/TR/xmlschema-1/ + http://www.w3.org/XML/Schema + + + csw:Record + + + + + + + + + + + DescribeRecord.outputFormat + DescribeRecord.schemaLanguage + DescribeRecord.typeName + GetCapabilities.sections + GetRecordById.ElementSetName + GetRecordById.outputFormat + GetRecordById.outputSchema + GetRecords.CONSTRAINTLANGUAGE + GetRecords.ElementSetName + GetRecords.outputFormat + GetRecords.outputSchema + GetRecords.resultType + GetRecords.typeNames + + + + + + + + + + + CQL_TEXT + FILTER + + + brief + full + summary + + + application/json + application/xml + + + http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ + http://www.interlis.ch/INTERLIS2.3 + http://www.opengis.net/cat/csw/2.0.2 + http://www.opengis.net/cat/csw/csdgm + http://www.w3.org/2005/Atom + + + hits + results + validate + + + csw:Record + + + csw:AnyText + dc:contributor + dc:creator + dc:date + dc:format + dc:identifier + dc:language + dc:publisher + dc:relation + dc:rights + dc:source + dc:subject + dc:title + dc:type + dct:abstract + dct:modified + ows:BoundingBox + + + + + + + + + + + brief + full + summary + + + application/json + application/xml + + + http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ + http://www.interlis.ch/INTERLIS2.3 + http://www.opengis.net/cat/csw/2.0.2 + http://www.opengis.net/cat/csw/csdgm + http://www.w3.org/2005/Atom + + + + + + + + + + + CSW + + + 2.0.2 + 3.0.0 + + + http://demo.pycsw.org/gisdata/csw + + + 10 + + + XML + SOAP + + + allowed + + + + + + gml:Point + gml:LineString + gml:Polygon + gml:Envelope + + + + + + + + + + + + + + + + + + + Between + EqualTo + GreaterThan + GreaterThanEqualTo + LessThan + LessThanEqualTo + Like + NotEqualTo + NullCheck + + + + + length + lower + ltrim + rtrim + trim + upper + + + + + + + + + + diff --git a/tests/functionaltests/suites/utf-8/post/GetCapabilities.xml b/tests/functionaltests/suites/utf-8/post/GetCapabilities.xml new file mode 100644 index 000000000..e4dc8070b --- /dev/null +++ b/tests/functionaltests/suites/utf-8/post/GetCapabilities.xml @@ -0,0 +1,9 @@ + + + + 2.0.2 + + + application/xml + + From 425744c0757457696256b7c58536c263d46177a5 Mon Sep 17 00:00:00 2001 From: Ricardo Silva Date: Wed, 25 May 2016 02:15:27 +0100 Subject: [PATCH 045/119] moving tests to pytest --- tests/conftest.py | 2 +- tests/test_suites.py | 248 +++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 249 insertions(+), 1 deletion(-) create mode 100644 tests/test_suites.py diff --git a/tests/conftest.py b/tests/conftest.py index 4295d53f1..99691eff6 100644 --- a/tests/conftest.py +++ b/tests/conftest.py @@ -1,3 +1,4 @@ +<<<<<<< 99187d1e1f5a3245614084781cfde3d88f84dd3d # ================================================================= # # Authors: Ricardo Garcia Silva @@ -71,4 +72,3 @@ def pytest_addoption(parser): @pytest.fixture(scope="session") def log_level(request): return request.config.getoption("pycsw_loglevel").upper() - diff --git a/tests/test_suites.py b/tests/test_suites.py new file mode 100644 index 000000000..6b7cd1f25 --- /dev/null +++ b/tests/test_suites.py @@ -0,0 +1,248 @@ +# ================================================================= +# +# Authors: Tom Kralidis +# Ricardo Garcia Silva +# +# Copyright (c) 2016 Tom Kralidis +# Copyright (c) 2016 Ricardo Garcia Silva +# +# Permission is hereby granted, free of charge, to any person +# obtaining a copy of this software and associated documentation +# files (the "Software"), to deal in the Software without +# restriction, including without limitation the rights to use, +# copy, modify, merge, publish, distribute, sublicense, and/or sell +# copies of the Software, and to permit persons to whom the +# Software is furnished to do so, subject to the following +# conditions: +# +# The above copyright notice and this permission notice shall be +# included in all copies or substantial portions of the Software. +# +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +# EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES +# OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +# NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT +# HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, +# WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR +# OTHER DEALINGS IN THE SOFTWARE. +# +# ================================================================= +"""Functional tests for pycsw. + +These tests are based on the execution of the requests defined in the suites +under the `suites` directory. + +""" + +import codecs +from io import BytesIO +import json +from lxml import etree +from lxml import objectify +import os +import pytest +import re +import requests + +ENCODING = "utf-8" + + +@pytest.mark.functional +class TestSuites(object): + + def test_suites_post(self, local_server, test_request, expected_result, + config): + print("locals: {0}".format(locals())) + with open(test_request, encoding=ENCODING) as request_fh: + request_data = request_fh.read() + with open(expected_result, encoding=ENCODING) as expected_fh: + expected = expected_fh.read() + response = requests.post(local_server, + params={"config": config}, + data=request_data) + response_data = response.text + assert _get_validity(expected, response_data) + #assert response.status_code == 200 + + +def _test_xml_result(result, expected): + """Compare the XML test results with an expected value. + + This function compares the test result with the expected values by + performing XML canonicalization (c14n)[1]_. + + Parameters + ---------- + result: str + The result of running the test. + expected: str + The expected outcome. + + Returns + ------- + bool + Whether the result matches the expectations or not. + + Raises + ------ + etree.XMLSyntaxError + If any of the input parameters is not a valid XMl. + etree.C14NError + If any of the input parameters cannot be canonicalized. This may + happen if there are relative namespace URIs in any of the XML + documents, as they are explicitly not allowed when doing XML c14n + + References + ---------- + .. [1] http://www.w3.org/TR/xml-c14n + + """ + + result_element = etree.fromstring(result.encode(ENCODING)) + expected_element = etree.fromstring(expected.encode(ENCODING)) + result_buffer = BytesIO() + result_tree = result_element.getroottree() + objectify.deannotate(result_tree, cleanup_namespaces=True) + result_tree.write_c14n(result_buffer) + expected_buffer = BytesIO() + expected_tree = expected_element.getroottree() + objectify.deannotate(expected_tree, cleanup_namespaces=True) + expected_tree.write_c14n(expected_buffer) + matches = result_buffer.getvalue() == expected_buffer.getvalue() + return matches + + +def _test_json_result(result, expected): + """Compare the JSON test results with an expected value. + + Parameters + ---------- + result: str + The result of running the test. + expected: str + The expected outcome. + + Returns + ------- + bool + Whether the result matches the expectations or not. + + """ + + result_dict = json.loads(result, encoding=ENCODING) + expected_dict = json.loads(expected, encoding=ENCODING) + return result_dict == expected_dict + + +def _get_validity(expected, result, force_id_mask=False): + """Test whether the test result matches the expected outcome. + + This function deals with both XML and JSON results. It first tries to + parse the result and the expected outcome as XML and evaluates them using + XML canonicalization (c14n). If the result cannot be parsed as XML, it then + tries to load it as JSON and does a sorted comparison. + + Parameters + ---------- + expected: str + The expected outcome of the test + result: str + The actual result that was generated by running the test code + force_id_mask: bool, optional + Whether to apply result normalization to id fields + + Returns + ------- + bool + Whether the result matches the expected values + + """ + + normalized_result = _normalize(result, force_id_mask=force_id_mask) + try: + matches_expected = _test_xml_result(normalized_result, expected) + except etree.XMLSyntaxError: + # the file is either not XML (perhaps JSON?) or malformed + matches_expected = _test_json_result(normalized_result, expected) + return matches_expected + + +def _normalize(sresult, force_id_mask=False): + """Replace time, updateSequence and version specific values with generic + values""" + + # XML responses + version = re.search(r'', sresult) + updatesequence = re.search(r'updateSequence="(\S+)"', sresult) + timestamp = re.search(r'timestamp="(.*)"', sresult) + timestamp2 = re.search(r'timeStamp="(.*)"', sresult) + timestamp3 = re.search(r'(.*)', sresult) + timestamp4 = re.search(r'(.*)', sresult) + zrhost = re.search(r'(.*)', sresult) + zrport = re.search(r'(.*)', sresult) + elapsed_time = re.search(r'elapsedTime="(.*)"', sresult) + expires = re.search(r'expires="(.*?)"', sresult) + atom_updated = re.findall(r'(.*)', sresult) + + if version: + sresult = sresult.replace(version.group(0), r'') + if updatesequence: + sresult = sresult.replace(updatesequence.group(0), + r'updateSequence="PYCSW_UPDATESEQUENCE"') + if timestamp: + sresult = sresult.replace(timestamp.group(0), + r'timestamp="PYCSW_TIMESTAMP"') + if timestamp2: + sresult = sresult.replace(timestamp2.group(0), + r'timeStamp="PYCSW_TIMESTAMP"') + if timestamp3: + sresult = sresult.replace(timestamp3.group(0), + r'PYCSW_TIMESTAMP') + if timestamp4: + sresult = sresult.replace(timestamp4.group(0), + r'PYCSW_TIMESTAMP') + if zrport: + sresult = sresult.replace(zrport.group(0), + r'PYCSW_PORT') + if zrhost: + sresult = sresult.replace(zrhost.group(0), + r'PYCSW_HOST') + if elapsed_time: + sresult = sresult.replace(elapsed_time.group(0), + r'elapsedTime="PYCSW_ELAPSED_TIME"') + if expires: + sresult = sresult.replace(expires.group(0), + r'expires="PYCSW_EXPIRES"') + for au in atom_updated: + sresult = sresult.replace(au, r'PYCSW_TIMESTAMP') + + # for csw:HarvestResponse documents, mask identifiers + # which are dynamically generated for OWS endpoints + if sresult.find(r'HarvestResponse') != -1: + identifier = re.findall(r'(\S+)', + sresult) + for i in identifier: + sresult = sresult.replace(i, r'PYCSW_IDENTIFIER') + + # JSON responses + timestamp = re.search(r'"@timestamp": "(.*?)"', sresult) + + if timestamp: + sresult = sresult.replace(timestamp.group(0), + r'"@timestamp": "PYCSW_TIMESTAMP"') + + # harvesting-based GetRecords/GetRecordById responses + if force_id_mask: + dcid = re.findall(r'(urn:uuid.*)', sresult) + isoid = re.findall(r'id="(urn:uuid.*)"', sresult) + isoid2 = re.findall(r'(urn:uuid.*) Date: Wed, 25 May 2016 18:42:12 +0100 Subject: [PATCH 046/119] working on POST tests --- tests/conftest.py | 1 - tests/test_suites.py | 115 ++++++++++++++++++++++++++++--------------- 2 files changed, 75 insertions(+), 41 deletions(-) diff --git a/tests/conftest.py b/tests/conftest.py index 99691eff6..746bec16f 100644 --- a/tests/conftest.py +++ b/tests/conftest.py @@ -1,4 +1,3 @@ -<<<<<<< 99187d1e1f5a3245614084781cfde3d88f84dd3d # ================================================================= # # Authors: Ricardo Garcia Silva diff --git a/tests/test_suites.py b/tests/test_suites.py index 6b7cd1f25..2ef12c82a 100644 --- a/tests/test_suites.py +++ b/tests/test_suites.py @@ -51,19 +51,87 @@ @pytest.mark.functional class TestSuites(object): - def test_suites_post(self, local_server, test_request, expected_result, - config): - print("locals: {0}".format(locals())) + def test_apiso_suite(self, server_apiso_suite, test_request, + expected_result): + self._test_request(server_apiso_suite, test_request, expected_result) + + def test_apiso_inspire_suite(self, server_apiso_inspire_suite, + test_request, expected_result): + self._test_request(server_apiso_inspire_suite, test_request, + expected_result) + + def test_atom_suite(self, server_atom_suite, test_request, + expected_result): + self._test_request(server_atom_suite, test_request, expected_result) + + def test_cite_suite(self, server_cite_suite, test_request, + expected_result): + self._test_request(server_cite_suite, test_request, expected_result) + + def test_csw30_suite(self, server_csw30_suite, test_request, + expected_result): + self._test_request(server_csw30_suite, test_request, expected_result) + + def test_default_suite(self, server_default_suite, test_request, + expected_result): + self._test_request(server_default_suite, test_request, expected_result) + + def test_dif_suite(self, server_dif_suite, test_request, + expected_result): + self._test_request(server_dif_suite, test_request, expected_result) + + def test_ebrim_suite(self, server_ebrim_suite, test_request, + expected_result): + self._test_request(server_ebrim_suite, test_request, expected_result) + + def test_fgdc_suite(self, server_fgdc_suite, test_request, + expected_result): + self._test_request(server_fgdc_suite, test_request, expected_result) + + def test_gm03_suite(self, server_gm03_suite, test_request, + expected_result): + self._test_request(server_gm03_suite, test_request, expected_result) + + def test_harvesting_suite(self, server_harvesting_suite, test_request, + expected_result): + self._test_request(server_harvesting_suite, test_request, + expected_result) + + def test_oaipmh_suite(self, server_oaipmh_suite, test_request, + expected_result): + self._test_request(server_oaipmh_suite, test_request, expected_result) + + def test_repofilter_suite(self, server_repofilter_suite, test_request, + expected_result): + self._test_request(server_repofilter_suite, test_request, + expected_result) + + def test_sru_suite(self, server_sru_suite, test_request, + expected_result): + self._test_request(server_sru_suite, test_request, expected_result) + + def test_utf_8_suite(self, server_utf_8_suite, test_request, + expected_result): + self._test_request(server_utf_8_suite, test_request, expected_result) + + def _test_request(self, pycsw_server_url, test_request, expected_result): with open(test_request, encoding=ENCODING) as request_fh: request_data = request_fh.read() with open(expected_result, encoding=ENCODING) as expected_fh: expected = expected_fh.read() - response = requests.post(local_server, - params={"config": config}, + response = requests.post(pycsw_server_url, data=request_data) response_data = response.text - assert _get_validity(expected, response_data) - #assert response.status_code == 200 + + normalized_result = _normalize(response_data, force_id_mask=False) + print("expected: {0}".format(expected)) + print("response: {0}".format(normalized_result)) + try: + matches_expected = _test_xml_result(normalized_result, expected) + except etree.XMLSyntaxError: + # the file is either not XML (perhaps JSON?) or malformed + matches_expected = _test_json_result(normalized_result, expected) + assert matches_expected def _test_xml_result(result, expected): @@ -135,39 +203,6 @@ def _test_json_result(result, expected): return result_dict == expected_dict -def _get_validity(expected, result, force_id_mask=False): - """Test whether the test result matches the expected outcome. - - This function deals with both XML and JSON results. It first tries to - parse the result and the expected outcome as XML and evaluates them using - XML canonicalization (c14n). If the result cannot be parsed as XML, it then - tries to load it as JSON and does a sorted comparison. - - Parameters - ---------- - expected: str - The expected outcome of the test - result: str - The actual result that was generated by running the test code - force_id_mask: bool, optional - Whether to apply result normalization to id fields - - Returns - ------- - bool - Whether the result matches the expected values - - """ - - normalized_result = _normalize(result, force_id_mask=force_id_mask) - try: - matches_expected = _test_xml_result(normalized_result, expected) - except etree.XMLSyntaxError: - # the file is either not XML (perhaps JSON?) or malformed - matches_expected = _test_json_result(normalized_result, expected) - return matches_expected - - def _normalize(sresult, force_id_mask=False): """Replace time, updateSequence and version specific values with generic values""" From eccdea0dbdeb5476255c2f190029c783fa82bb20 Mon Sep 17 00:00:00 2001 From: Ricardo Garcia Silva Date: Sun, 29 May 2016 13:31:07 +0100 Subject: [PATCH 047/119] refactoring tests to use py.test --- tests/conftest.py | 1 - tests/test_suites.py | 239 ++++++++++++++++++++++++++++++------------- 2 files changed, 169 insertions(+), 71 deletions(-) diff --git a/tests/conftest.py b/tests/conftest.py index 746bec16f..095d256dc 100644 --- a/tests/conftest.py +++ b/tests/conftest.py @@ -30,7 +30,6 @@ import pytest - def pytest_configure(config): config.addinivalue_line( "markers", diff --git a/tests/test_suites.py b/tests/test_suites.py index 2ef12c82a..48a374059 100644 --- a/tests/test_suites.py +++ b/tests/test_suites.py @@ -47,91 +47,190 @@ ENCODING = "utf-8" +pytestmark = pytest.mark.functional -@pytest.mark.functional -class TestSuites(object): - def test_apiso_suite(self, server_apiso_suite, test_request, - expected_result): - self._test_request(server_apiso_suite, test_request, expected_result) +class TestApisoSuite(object): + + def test_post_requests(self, server_apiso_suite, test_request, + expected_result): + pass + + def test_get_requests(self, server_apiso_suite, test_request_parameters, + expected_result): + pass + + +class TestApisoInspireSuite(object): + + def test_post_requests(self, server_apiso_inspire_suite, test_request, + expected_result): + pass + + def test_get_requests(self, server_apiso_inspire_suite, + test_request_parameters, expected_result): + pass + + +class TestAtomSuite(object): + + def test_post_requests(self, server_atom_suite, test_request, + expected_result): + pass + + def test_get_requests(self, server_atom_suite, + test_request_parameters, expected_result): + pass + + +class TestCiteSuite(object): + + def test_post_requests(self, server_cite_suite, test_request, + expected_result): + pass + + def test_get_requests(self, server_cite_suite, + test_request_parameters, expected_result): + pass + + +class TestCsw30Suite(object): + + def test_post_requests(self, server_csw30_suite, test_request, + expected_result): + pass + + def test_get_requests(self, server_csw30_suite, + test_request_parameters, expected_result): + pass - def test_apiso_inspire_suite(self, server_apiso_inspire_suite, - test_request, expected_result): - self._test_request(server_apiso_inspire_suite, test_request, - expected_result) - def test_atom_suite(self, server_atom_suite, test_request, - expected_result): - self._test_request(server_atom_suite, test_request, expected_result) +class TestDefaultSuite(object): + + def test_post_requests(self, server_default_suite, test_request, + expected_result): + pass + + def test_get_requests(self, server_default_suite, test_request_parameters, + expected_result): + pass - def test_cite_suite(self, server_cite_suite, test_request, - expected_result): - self._test_request(server_cite_suite, test_request, expected_result) - def test_csw30_suite(self, server_csw30_suite, test_request, - expected_result): - self._test_request(server_csw30_suite, test_request, expected_result) +class TestDifSuite(object): - def test_default_suite(self, server_default_suite, test_request, + def test_post_requests(self, server_dif_suite, test_request, expected_result): - self._test_request(server_default_suite, test_request, expected_result) + pass + + def test_get_requests(self, server_dif_suite, test_request_parameters, + expected_result): + pass - def test_dif_suite(self, server_dif_suite, test_request, - expected_result): - self._test_request(server_dif_suite, test_request, expected_result) - def test_ebrim_suite(self, server_ebrim_suite, test_request, - expected_result): - self._test_request(server_ebrim_suite, test_request, expected_result) +class TestEbrimSuite(object): - def test_fgdc_suite(self, server_fgdc_suite, test_request, - expected_result): - self._test_request(server_fgdc_suite, test_request, expected_result) + def test_post_requests(self, server_ebrim_suite, test_request, + expected_result): + pass - def test_gm03_suite(self, server_gm03_suite, test_request, - expected_result): - self._test_request(server_gm03_suite, test_request, expected_result) + def test_get_requests(self, server_ebrim_suite, test_request_parameters, + expected_result): + pass - def test_harvesting_suite(self, server_harvesting_suite, test_request, - expected_result): - self._test_request(server_harvesting_suite, test_request, - expected_result) - def test_oaipmh_suite(self, server_oaipmh_suite, test_request, +class TestFgdcSuite(object): + + def test_post_requests(self, server_fgdc_suite, test_request, + expected_result): + pass + + def test_get_requests(self, server_fgdc_suite, test_request_parameters, + expected_result): + pass + +class TestGm03Suite(object): + + def test_post_requests(self, server_gm03_suite, test_request, + expected_result): + pass + + def test_get_requests(self, server_gm03_suite, test_request_parameters, + expected_result): + pass + +class TestHarvestingSuite(object): + + def test_post_requests(self, server_harvesting_suite, test_request, + expected_result): + pass + + def test_get_requests(self, server_harvesting_suite, + test_request_parameters, expected_result): + pass + +class TestOaipmhSuite(object): + + def test_post_requests(self, server_oaipmh_suite, test_request, + expected_result): + pass + + def test_get_requests(self, server_oaipmh_suite, test_request_parameters, + expected_result): + pass + +class TestRepofilterSuite(object): + + def test_post_requests(self, server_repofilter_suite, test_request, + expected_result): + pass + + def test_get_requests(self, server_repofilter_suite, + test_request_parameters, expected_result): + pass + +class TestSruSuite(object): + + def test_post_requests(self, server_sru_suite, test_request, + expected_result): + pass + + def test_get_requests(self, server_sru_suite, test_request_parameters, + expected_result): + pass + +class TestUtf8Suite(object): + + def test_post_requests(self, server_utf_8_suite, test_request, + expected_result): + pass + + def test_get_requests(self, server_utf_8_suite, test_request_parameters, expected_result): - self._test_request(server_oaipmh_suite, test_request, expected_result) - - def test_repofilter_suite(self, server_repofilter_suite, test_request, - expected_result): - self._test_request(server_repofilter_suite, test_request, - expected_result) - - def test_sru_suite(self, server_sru_suite, test_request, - expected_result): - self._test_request(server_sru_suite, test_request, expected_result) - - def test_utf_8_suite(self, server_utf_8_suite, test_request, - expected_result): - self._test_request(server_utf_8_suite, test_request, expected_result) - - def _test_request(self, pycsw_server_url, test_request, expected_result): - with open(test_request, encoding=ENCODING) as request_fh: - request_data = request_fh.read() - with open(expected_result, encoding=ENCODING) as expected_fh: - expected = expected_fh.read() - response = requests.post(pycsw_server_url, - data=request_data) - response_data = response.text - - normalized_result = _normalize(response_data, force_id_mask=False) - print("expected: {0}".format(expected)) - print("response: {0}".format(normalized_result)) - try: - matches_expected = _test_xml_result(normalized_result, expected) - except etree.XMLSyntaxError: - # the file is either not XML (perhaps JSON?) or malformed - matches_expected = _test_json_result(normalized_result, expected) - assert matches_expected + pass + + +def _test_post_request(pycsw_server_url, test_request, expected_result): + with open(test_request, encoding=ENCODING) as request_fh: + request_data = request_fh.read() + with open(expected_result, encoding=ENCODING) as expected_fh: + expected = expected_fh.read() + response = requests.post(pycsw_server_url, + data=request_data) + response_data = response.text + + normalized_result = _normalize(response_data, force_id_mask=False) + print("expected: {0}".format(expected)) + print("response: {0}".format(normalized_result)) + try: + matches_expected = _test_xml_result(normalized_result, expected) + except etree.XMLSyntaxError: + # the file is either not XML (perhaps JSON?) or malformed + matches_expected = _test_json_result(normalized_result, expected) + assert matches_expected + + +def _test_get_request(pycsw_server_url, parameters, expected_result): + pass def _test_xml_result(result, expected): From 8709622682182edebc5b8fcabfd1cef73fca88b4 Mon Sep 17 00:00:00 2001 From: Ricardo Silva Date: Tue, 31 May 2016 01:11:19 +0100 Subject: [PATCH 048/119] Adding back test logic --- tests/test_suites.py | 118 ++++++++++++++++++++----------------------- 1 file changed, 54 insertions(+), 64 deletions(-) diff --git a/tests/test_suites.py b/tests/test_suites.py index 48a374059..536993d75 100644 --- a/tests/test_suites.py +++ b/tests/test_suites.py @@ -35,14 +35,14 @@ """ -import codecs from io import BytesIO import json from lxml import etree from lxml import objectify -import os -import pytest import re +from urllib.parse import parse_qs + +import pytest import requests ENCODING = "utf-8" @@ -54,159 +54,141 @@ class TestApisoSuite(object): def test_post_requests(self, server_apiso_suite, test_request, expected_result): - pass - - def test_get_requests(self, server_apiso_suite, test_request_parameters, - expected_result): - pass + _test_post_request(server_apiso_suite, test_request, expected_result) class TestApisoInspireSuite(object): - def test_post_requests(self, server_apiso_inspire_suite, test_request, - expected_result): - pass - def test_get_requests(self, server_apiso_inspire_suite, test_request_parameters, expected_result): - pass + print("test_request_parameters: {}".format(test_request_parameters)) + _test_get_request(server_apiso_inspire_suite, test_request_parameters, + expected_result) class TestAtomSuite(object): def test_post_requests(self, server_atom_suite, test_request, expected_result): - pass + _test_post_request(server_atom_suite, test_request, expected_result) def test_get_requests(self, server_atom_suite, test_request_parameters, expected_result): - pass + _test_get_request(server_atom_suite, test_request_parameters, + expected_result) class TestCiteSuite(object): def test_post_requests(self, server_cite_suite, test_request, expected_result): - pass + _test_post_request(server_cite_suite, test_request, expected_result) def test_get_requests(self, server_cite_suite, test_request_parameters, expected_result): - pass + _test_get_request(server_cite_suite, test_request_parameters, + expected_result) class TestCsw30Suite(object): def test_post_requests(self, server_csw30_suite, test_request, expected_result): - pass + _test_post_request(server_csw30_suite, test_request, expected_result) def test_get_requests(self, server_csw30_suite, test_request_parameters, expected_result): - pass + _test_get_request(server_csw30_suite, test_request_parameters, + expected_result) class TestDefaultSuite(object): def test_post_requests(self, server_default_suite, test_request, expected_result): - pass + _test_post_request(server_default_suite, test_request, expected_result) def test_get_requests(self, server_default_suite, test_request_parameters, expected_result): - pass + _test_get_request(server_default_suite, test_request_parameters, + expected_result) class TestDifSuite(object): def test_post_requests(self, server_dif_suite, test_request, expected_result): - pass - - def test_get_requests(self, server_dif_suite, test_request_parameters, - expected_result): - pass + _test_post_request(server_dif_suite, test_request, expected_result) class TestEbrimSuite(object): def test_post_requests(self, server_ebrim_suite, test_request, expected_result): - pass - - def test_get_requests(self, server_ebrim_suite, test_request_parameters, - expected_result): - pass + _test_post_request(server_ebrim_suite, test_request, expected_result) class TestFgdcSuite(object): def test_post_requests(self, server_fgdc_suite, test_request, expected_result): - pass + _test_post_request(server_fgdc_suite, test_request, expected_result) - def test_get_requests(self, server_fgdc_suite, test_request_parameters, - expected_result): - pass class TestGm03Suite(object): def test_post_requests(self, server_gm03_suite, test_request, expected_result): - pass + _test_post_request(server_gm03_suite, test_request, expected_result) - def test_get_requests(self, server_gm03_suite, test_request_parameters, - expected_result): - pass class TestHarvestingSuite(object): def test_post_requests(self, server_harvesting_suite, test_request, expected_result): - pass + _test_post_request(server_harvesting_suite, test_request, + expected_result) def test_get_requests(self, server_harvesting_suite, test_request_parameters, expected_result): - pass + _test_get_request(server_harvesting_suite, test_request_parameters, + expected_result) -class TestOaipmhSuite(object): - def test_post_requests(self, server_oaipmh_suite, test_request, +class TestManagerSuite(object): + + def test_post_requests(self, server_manager_suite, test_request, expected_result): - pass + _test_post_request(server_manager_suite, test_request, expected_result) + + +class TestOaipmhSuite(object): def test_get_requests(self, server_oaipmh_suite, test_request_parameters, expected_result): - pass + _test_get_request(server_oaipmh_suite, test_request_parameters, + expected_result) class TestRepofilterSuite(object): def test_post_requests(self, server_repofilter_suite, test_request, expected_result): - pass + _test_post_request(server_repofilter_suite, test_request, + expected_result) - def test_get_requests(self, server_repofilter_suite, - test_request_parameters, expected_result): - pass class TestSruSuite(object): - def test_post_requests(self, server_sru_suite, test_request, - expected_result): - pass - def test_get_requests(self, server_sru_suite, test_request_parameters, expected_result): - pass + _test_get_request(server_sru_suite, test_request_parameters, + expected_result) class TestUtf8Suite(object): def test_post_requests(self, server_utf_8_suite, test_request, expected_result): - pass - - def test_get_requests(self, server_utf_8_suite, test_request_parameters, - expected_result): - pass + _test_post_request(server_utf_8_suite, test_request, expected_result) def _test_post_request(pycsw_server_url, test_request, expected_result): @@ -216,8 +198,20 @@ def _test_post_request(pycsw_server_url, test_request, expected_result): expected = expected_fh.read() response = requests.post(pycsw_server_url, data=request_data) - response_data = response.text + _compare_response(response, expected) + +def _test_get_request(pycsw_server_url, parameters, expected_result): + with open(expected_result, encoding=ENCODING) as expected_fh: + expected = expected_fh.read() + payload = parse_qs(parameters) + print("payload: {}".format(payload)) + response = requests.get(pycsw_server_url, params=payload) + _compare_response(response, expected) + + +def _compare_response(response, expected): + response_data = response.text normalized_result = _normalize(response_data, force_id_mask=False) print("expected: {0}".format(expected)) print("response: {0}".format(normalized_result)) @@ -229,10 +223,6 @@ def _test_post_request(pycsw_server_url, test_request, expected_result): assert matches_expected -def _test_get_request(pycsw_server_url, parameters, expected_result): - pass - - def _test_xml_result(result, expected): """Compare the XML test results with an expected value. From affe8470d5f40423deccae89fa8813d0f885d83d Mon Sep 17 00:00:00 2001 From: Ricardo Garcia Silva Date: Thu, 18 Aug 2016 15:06:25 +0100 Subject: [PATCH 049/119] refactoring tests to use py.test --- tests/test_suites.py | 240 +++++++++++++++++++++++++++++-------------- 1 file changed, 162 insertions(+), 78 deletions(-) diff --git a/tests/test_suites.py b/tests/test_suites.py index 536993d75..2b439f33d 100644 --- a/tests/test_suites.py +++ b/tests/test_suites.py @@ -41,6 +41,7 @@ from lxml import objectify import re from urllib.parse import parse_qs +from urllib.parse import unquote import pytest import requests @@ -52,174 +53,257 @@ class TestApisoSuite(object): - def test_post_requests(self, server_apiso_suite, test_request, - expected_result): - _test_post_request(server_apiso_suite, test_request, expected_result) + def test_post_requests(self, + server_apiso_suite, + apiso_test_request, + apiso_expected_post_result): + _test_post_request(server_apiso_suite, + apiso_test_request, + apiso_expected_post_result) class TestApisoInspireSuite(object): - def test_get_requests(self, server_apiso_inspire_suite, - test_request_parameters, expected_result): - print("test_request_parameters: {}".format(test_request_parameters)) - _test_get_request(server_apiso_inspire_suite, test_request_parameters, - expected_result) + def test_get_requests(self, + server_apiso_inspire_suite, + apiso_inspire_test_request_parameters, + apiso_inspire_expected_get_result): + _test_get_request(server_apiso_inspire_suite, + apiso_inspire_test_request_parameters, + apiso_inspire_expected_get_result) class TestAtomSuite(object): - def test_post_requests(self, server_atom_suite, test_request, - expected_result): - _test_post_request(server_atom_suite, test_request, expected_result) + def test_post_requests(self, + server_atom_suite, + atom_test_request, + atom_expected_post_result): + _test_post_request(server_atom_suite, + atom_test_request, + atom_expected_post_result) def test_get_requests(self, server_atom_suite, - test_request_parameters, expected_result): - _test_get_request(server_atom_suite, test_request_parameters, - expected_result) + atom_test_request_parameters, + atom_expected_get_result): + _test_get_request(server_atom_suite, + atom_test_request_parameters, + atom_expected_get_result) class TestCiteSuite(object): - def test_post_requests(self, server_cite_suite, test_request, - expected_result): - _test_post_request(server_cite_suite, test_request, expected_result) + def test_post_requests(self, server_cite_suite, cite_test_request, + cite_expected_post_result): + _test_post_request(server_cite_suite, cite_test_request, + cite_expected_post_result) def test_get_requests(self, server_cite_suite, - test_request_parameters, expected_result): - _test_get_request(server_cite_suite, test_request_parameters, - expected_result) + cite_test_request_parameters, + cite_expected_get_result): + print("locals: {0}".format(locals())) + _test_get_request(server_cite_suite, cite_test_request_parameters, + cite_expected_get_result) class TestCsw30Suite(object): - def test_post_requests(self, server_csw30_suite, test_request, - expected_result): - _test_post_request(server_csw30_suite, test_request, expected_result) + def test_post_requests(self, + server_csw30_suite, + csw30_test_request, + csw30_expected_post_result): + _test_post_request(server_csw30_suite, + csw30_test_request, + csw30_expected_post_result) def test_get_requests(self, server_csw30_suite, - test_request_parameters, expected_result): - _test_get_request(server_csw30_suite, test_request_parameters, - expected_result) + csw30_test_request_parameters, + csw30_expected_get_result): + _test_get_request(server_csw30_suite, + csw30_test_request_parameters, + csw30_expected_get_result) class TestDefaultSuite(object): - def test_post_requests(self, server_default_suite, test_request, - expected_result): - _test_post_request(server_default_suite, test_request, expected_result) + def test_post_requests(self, + server_default_suite, + default_test_request, + default_expected_post_result): + _test_post_request(server_default_suite, + default_test_request, + default_expected_post_result) - def test_get_requests(self, server_default_suite, test_request_parameters, - expected_result): - _test_get_request(server_default_suite, test_request_parameters, - expected_result) + def test_get_requests(self, + server_default_suite, + default_test_request_parameters, + default_expected_get_result): + _test_get_request(server_default_suite, + default_test_request_parameters, + default_expected_get_result) class TestDifSuite(object): - def test_post_requests(self, server_dif_suite, test_request, - expected_result): - _test_post_request(server_dif_suite, test_request, expected_result) + def test_post_requests(self, + server_dif_suite, + dif_test_request, + dif_expected_post_result): + _test_post_request(server_dif_suite, + dif_test_request, + dif_expected_post_result) class TestEbrimSuite(object): - def test_post_requests(self, server_ebrim_suite, test_request, - expected_result): - _test_post_request(server_ebrim_suite, test_request, expected_result) + def test_post_requests(self, server_ebrim_suite, + ebrim_test_request, + ebrim_expected_post_result): + _test_post_request(server_ebrim_suite, + ebrim_test_request, + ebrim_expected_post_result) class TestFgdcSuite(object): - def test_post_requests(self, server_fgdc_suite, test_request, - expected_result): - _test_post_request(server_fgdc_suite, test_request, expected_result) + def test_post_requests(self, + server_fgdc_suite, + fgdc_test_request, + fgdc_expected_post_result): + _test_post_request(server_fgdc_suite, + fgdc_test_request, + fgdc_expected_post_result) class TestGm03Suite(object): - def test_post_requests(self, server_gm03_suite, test_request, - expected_result): - _test_post_request(server_gm03_suite, test_request, expected_result) + def test_post_requests(self, + server_gm03_suite, + gm03_test_request, + gm03_expected_post_result): + _test_post_request(server_gm03_suite, + gm03_test_request, + gm03_expected_post_result) class TestHarvestingSuite(object): - def test_post_requests(self, server_harvesting_suite, test_request, - expected_result): - _test_post_request(server_harvesting_suite, test_request, - expected_result) + def test_post_requests(self, + server_harvesting_suite, + harvesting_test_request, + harvesting_expected_post_result): + _test_post_request(server_harvesting_suite, + harvesting_test_request, + harvesting_expected_post_result) - def test_get_requests(self, server_harvesting_suite, - test_request_parameters, expected_result): - _test_get_request(server_harvesting_suite, test_request_parameters, - expected_result) + def test_get_requests(self, + server_harvesting_suite, + harvesting_test_request_parameters, + harvesting_expected_get_result): + _test_get_request(server_harvesting_suite, + harvesting_test_request_parameters, + harvesting_expected_get_result) class TestManagerSuite(object): - def test_post_requests(self, server_manager_suite, test_request, - expected_result): - _test_post_request(server_manager_suite, test_request, expected_result) + def test_post_requests(self, + server_manager_suite, + manager_test_request, + manager_expected_post_result): + _test_post_request(server_manager_suite, + manager_test_request, + manager_expected_post_result) class TestOaipmhSuite(object): - def test_get_requests(self, server_oaipmh_suite, test_request_parameters, - expected_result): - _test_get_request(server_oaipmh_suite, test_request_parameters, - expected_result) + def test_get_requests(self, server_oaipmh_suite, + oaipmh_test_request_parameters, + oaipmh_expected_get_result): + _test_get_request(server_oaipmh_suite, + oaipmh_test_request_parameters, + oaipmh_expected_get_result) + class TestRepofilterSuite(object): - def test_post_requests(self, server_repofilter_suite, test_request, - expected_result): - _test_post_request(server_repofilter_suite, test_request, - expected_result) + def test_post_requests(self, + server_repofilter_suite, + repofilter_test_request, + repofilter_expected_post_result): + _test_post_request(server_repofilter_suite, + repofilter_test_request, + repofilter_expected_post_result) class TestSruSuite(object): - def test_get_requests(self, server_sru_suite, test_request_parameters, - expected_result): - _test_get_request(server_sru_suite, test_request_parameters, - expected_result) + def test_get_requests(self, + server_sru_suite, + sru_test_request_parameters, + sru_expected_get_result): + _test_get_request(server_sru_suite, + sru_test_request_parameters, + sru_expected_get_result) class TestUtf8Suite(object): - def test_post_requests(self, server_utf_8_suite, test_request, - expected_result): - _test_post_request(server_utf_8_suite, test_request, expected_result) + def test_post_requests(self, + server_utf_8_suite, + utf_8_test_request, + utf_8_expected_post_result): + _test_post_request(server_utf_8_suite, + utf_8_test_request, + utf_8_expected_post_result) def _test_post_request(pycsw_server_url, test_request, expected_result): with open(test_request, encoding=ENCODING) as request_fh: request_data = request_fh.read() + response = requests.post(pycsw_server_url, + data=bytes(request_data, ENCODING)) with open(expected_result, encoding=ENCODING) as expected_fh: expected = expected_fh.read() - response = requests.post(pycsw_server_url, - data=request_data) _compare_response(response, expected) def _test_get_request(pycsw_server_url, parameters, expected_result): + print("**********************") + print("EXPECTED_RESULT: {0}".format(expected_result)) + print("PARAMETERS: {0}".format(parameters)) + print("**********************") with open(expected_result, encoding=ENCODING) as expected_fh: expected = expected_fh.read() - payload = parse_qs(parameters) - print("payload: {}".format(payload)) - response = requests.get(pycsw_server_url, params=payload) + #payload = parse_qs(bytes(parameters, ENCODING)) + #payload = parse_qs(parameters) + payload = {} + for kvp in parameters.split("&"): + print("kvp: {}".format(kvp)) + parts = kvp.split("=") + payload[parts[0].lower()] = unquote(parts[1]) if len(parts) > 1 else "" + #payload[parts[0].lower()] = parts[1] if len(parts) > 1 else "" + print("payload: {0}".format(payload)) + request_headers = {} + if "outputformat" in payload.keys(): + request_headers.setdefault("Accept", payload["outputformat"]) + response = requests.get(pycsw_server_url, params=payload, + headers=request_headers) _compare_response(response, expected) def _compare_response(response, expected): + response.encoding = ENCODING response_data = response.text normalized_result = _normalize(response_data, force_id_mask=False) - print("expected: {0}".format(expected)) - print("response: {0}".format(normalized_result)) try: matches_expected = _test_xml_result(normalized_result, expected) except etree.XMLSyntaxError: # the file is either not XML (perhaps JSON?) or malformed matches_expected = _test_json_result(normalized_result, expected) + if not matches_expected: + print("expected: {0}".format(expected)) + print("response: {0}".format(normalized_result)) assert matches_expected From 4b8117fdc7d993e5ee2f435e7d78be41148330cd Mon Sep 17 00:00:00 2001 From: Ricardo Garcia Silva Date: Wed, 16 Nov 2016 17:45:06 +0000 Subject: [PATCH 050/119] refactored the implementation Removed a lot of boiler plate code, simplifying things --- tests/test_suites.py | 456 ------------------------------------------- 1 file changed, 456 deletions(-) delete mode 100644 tests/test_suites.py diff --git a/tests/test_suites.py b/tests/test_suites.py deleted file mode 100644 index 2b439f33d..000000000 --- a/tests/test_suites.py +++ /dev/null @@ -1,456 +0,0 @@ -# ================================================================= -# -# Authors: Tom Kralidis -# Ricardo Garcia Silva -# -# Copyright (c) 2016 Tom Kralidis -# Copyright (c) 2016 Ricardo Garcia Silva -# -# Permission is hereby granted, free of charge, to any person -# obtaining a copy of this software and associated documentation -# files (the "Software"), to deal in the Software without -# restriction, including without limitation the rights to use, -# copy, modify, merge, publish, distribute, sublicense, and/or sell -# copies of the Software, and to permit persons to whom the -# Software is furnished to do so, subject to the following -# conditions: -# -# The above copyright notice and this permission notice shall be -# included in all copies or substantial portions of the Software. -# -# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -# EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES -# OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -# NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT -# HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, -# WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING -# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR -# OTHER DEALINGS IN THE SOFTWARE. -# -# ================================================================= -"""Functional tests for pycsw. - -These tests are based on the execution of the requests defined in the suites -under the `suites` directory. - -""" - -from io import BytesIO -import json -from lxml import etree -from lxml import objectify -import re -from urllib.parse import parse_qs -from urllib.parse import unquote - -import pytest -import requests - -ENCODING = "utf-8" - -pytestmark = pytest.mark.functional - - -class TestApisoSuite(object): - - def test_post_requests(self, - server_apiso_suite, - apiso_test_request, - apiso_expected_post_result): - _test_post_request(server_apiso_suite, - apiso_test_request, - apiso_expected_post_result) - - -class TestApisoInspireSuite(object): - - def test_get_requests(self, - server_apiso_inspire_suite, - apiso_inspire_test_request_parameters, - apiso_inspire_expected_get_result): - _test_get_request(server_apiso_inspire_suite, - apiso_inspire_test_request_parameters, - apiso_inspire_expected_get_result) - - -class TestAtomSuite(object): - - def test_post_requests(self, - server_atom_suite, - atom_test_request, - atom_expected_post_result): - _test_post_request(server_atom_suite, - atom_test_request, - atom_expected_post_result) - - def test_get_requests(self, server_atom_suite, - atom_test_request_parameters, - atom_expected_get_result): - _test_get_request(server_atom_suite, - atom_test_request_parameters, - atom_expected_get_result) - - -class TestCiteSuite(object): - - def test_post_requests(self, server_cite_suite, cite_test_request, - cite_expected_post_result): - _test_post_request(server_cite_suite, cite_test_request, - cite_expected_post_result) - - def test_get_requests(self, server_cite_suite, - cite_test_request_parameters, - cite_expected_get_result): - print("locals: {0}".format(locals())) - _test_get_request(server_cite_suite, cite_test_request_parameters, - cite_expected_get_result) - - -class TestCsw30Suite(object): - - def test_post_requests(self, - server_csw30_suite, - csw30_test_request, - csw30_expected_post_result): - _test_post_request(server_csw30_suite, - csw30_test_request, - csw30_expected_post_result) - - def test_get_requests(self, server_csw30_suite, - csw30_test_request_parameters, - csw30_expected_get_result): - _test_get_request(server_csw30_suite, - csw30_test_request_parameters, - csw30_expected_get_result) - - -class TestDefaultSuite(object): - - def test_post_requests(self, - server_default_suite, - default_test_request, - default_expected_post_result): - _test_post_request(server_default_suite, - default_test_request, - default_expected_post_result) - - def test_get_requests(self, - server_default_suite, - default_test_request_parameters, - default_expected_get_result): - _test_get_request(server_default_suite, - default_test_request_parameters, - default_expected_get_result) - - -class TestDifSuite(object): - - def test_post_requests(self, - server_dif_suite, - dif_test_request, - dif_expected_post_result): - _test_post_request(server_dif_suite, - dif_test_request, - dif_expected_post_result) - - -class TestEbrimSuite(object): - - def test_post_requests(self, server_ebrim_suite, - ebrim_test_request, - ebrim_expected_post_result): - _test_post_request(server_ebrim_suite, - ebrim_test_request, - ebrim_expected_post_result) - - -class TestFgdcSuite(object): - - def test_post_requests(self, - server_fgdc_suite, - fgdc_test_request, - fgdc_expected_post_result): - _test_post_request(server_fgdc_suite, - fgdc_test_request, - fgdc_expected_post_result) - - -class TestGm03Suite(object): - - def test_post_requests(self, - server_gm03_suite, - gm03_test_request, - gm03_expected_post_result): - _test_post_request(server_gm03_suite, - gm03_test_request, - gm03_expected_post_result) - - -class TestHarvestingSuite(object): - - def test_post_requests(self, - server_harvesting_suite, - harvesting_test_request, - harvesting_expected_post_result): - _test_post_request(server_harvesting_suite, - harvesting_test_request, - harvesting_expected_post_result) - - def test_get_requests(self, - server_harvesting_suite, - harvesting_test_request_parameters, - harvesting_expected_get_result): - _test_get_request(server_harvesting_suite, - harvesting_test_request_parameters, - harvesting_expected_get_result) - - -class TestManagerSuite(object): - - def test_post_requests(self, - server_manager_suite, - manager_test_request, - manager_expected_post_result): - _test_post_request(server_manager_suite, - manager_test_request, - manager_expected_post_result) - - -class TestOaipmhSuite(object): - - def test_get_requests(self, server_oaipmh_suite, - oaipmh_test_request_parameters, - oaipmh_expected_get_result): - _test_get_request(server_oaipmh_suite, - oaipmh_test_request_parameters, - oaipmh_expected_get_result) - - -class TestRepofilterSuite(object): - - def test_post_requests(self, - server_repofilter_suite, - repofilter_test_request, - repofilter_expected_post_result): - _test_post_request(server_repofilter_suite, - repofilter_test_request, - repofilter_expected_post_result) - - -class TestSruSuite(object): - - def test_get_requests(self, - server_sru_suite, - sru_test_request_parameters, - sru_expected_get_result): - _test_get_request(server_sru_suite, - sru_test_request_parameters, - sru_expected_get_result) - -class TestUtf8Suite(object): - - def test_post_requests(self, - server_utf_8_suite, - utf_8_test_request, - utf_8_expected_post_result): - _test_post_request(server_utf_8_suite, - utf_8_test_request, - utf_8_expected_post_result) - - -def _test_post_request(pycsw_server_url, test_request, expected_result): - with open(test_request, encoding=ENCODING) as request_fh: - request_data = request_fh.read() - response = requests.post(pycsw_server_url, - data=bytes(request_data, ENCODING)) - with open(expected_result, encoding=ENCODING) as expected_fh: - expected = expected_fh.read() - _compare_response(response, expected) - - -def _test_get_request(pycsw_server_url, parameters, expected_result): - print("**********************") - print("EXPECTED_RESULT: {0}".format(expected_result)) - print("PARAMETERS: {0}".format(parameters)) - print("**********************") - with open(expected_result, encoding=ENCODING) as expected_fh: - expected = expected_fh.read() - #payload = parse_qs(bytes(parameters, ENCODING)) - #payload = parse_qs(parameters) - payload = {} - for kvp in parameters.split("&"): - print("kvp: {}".format(kvp)) - parts = kvp.split("=") - payload[parts[0].lower()] = unquote(parts[1]) if len(parts) > 1 else "" - #payload[parts[0].lower()] = parts[1] if len(parts) > 1 else "" - print("payload: {0}".format(payload)) - request_headers = {} - if "outputformat" in payload.keys(): - request_headers.setdefault("Accept", payload["outputformat"]) - response = requests.get(pycsw_server_url, params=payload, - headers=request_headers) - _compare_response(response, expected) - - -def _compare_response(response, expected): - response.encoding = ENCODING - response_data = response.text - normalized_result = _normalize(response_data, force_id_mask=False) - try: - matches_expected = _test_xml_result(normalized_result, expected) - except etree.XMLSyntaxError: - # the file is either not XML (perhaps JSON?) or malformed - matches_expected = _test_json_result(normalized_result, expected) - if not matches_expected: - print("expected: {0}".format(expected)) - print("response: {0}".format(normalized_result)) - assert matches_expected - - -def _test_xml_result(result, expected): - """Compare the XML test results with an expected value. - - This function compares the test result with the expected values by - performing XML canonicalization (c14n)[1]_. - - Parameters - ---------- - result: str - The result of running the test. - expected: str - The expected outcome. - - Returns - ------- - bool - Whether the result matches the expectations or not. - - Raises - ------ - etree.XMLSyntaxError - If any of the input parameters is not a valid XMl. - etree.C14NError - If any of the input parameters cannot be canonicalized. This may - happen if there are relative namespace URIs in any of the XML - documents, as they are explicitly not allowed when doing XML c14n - - References - ---------- - .. [1] http://www.w3.org/TR/xml-c14n - - """ - - result_element = etree.fromstring(result.encode(ENCODING)) - expected_element = etree.fromstring(expected.encode(ENCODING)) - result_buffer = BytesIO() - result_tree = result_element.getroottree() - objectify.deannotate(result_tree, cleanup_namespaces=True) - result_tree.write_c14n(result_buffer) - expected_buffer = BytesIO() - expected_tree = expected_element.getroottree() - objectify.deannotate(expected_tree, cleanup_namespaces=True) - expected_tree.write_c14n(expected_buffer) - matches = result_buffer.getvalue() == expected_buffer.getvalue() - return matches - - -def _test_json_result(result, expected): - """Compare the JSON test results with an expected value. - - Parameters - ---------- - result: str - The result of running the test. - expected: str - The expected outcome. - - Returns - ------- - bool - Whether the result matches the expectations or not. - - """ - - result_dict = json.loads(result, encoding=ENCODING) - expected_dict = json.loads(expected, encoding=ENCODING) - return result_dict == expected_dict - - -def _normalize(sresult, force_id_mask=False): - """Replace time, updateSequence and version specific values with generic - values""" - - # XML responses - version = re.search(r'', sresult) - updatesequence = re.search(r'updateSequence="(\S+)"', sresult) - timestamp = re.search(r'timestamp="(.*)"', sresult) - timestamp2 = re.search(r'timeStamp="(.*)"', sresult) - timestamp3 = re.search(r'(.*)', sresult) - timestamp4 = re.search(r'(.*)', sresult) - zrhost = re.search(r'(.*)', sresult) - zrport = re.search(r'(.*)', sresult) - elapsed_time = re.search(r'elapsedTime="(.*)"', sresult) - expires = re.search(r'expires="(.*?)"', sresult) - atom_updated = re.findall(r'(.*)', sresult) - - if version: - sresult = sresult.replace(version.group(0), r'') - if updatesequence: - sresult = sresult.replace(updatesequence.group(0), - r'updateSequence="PYCSW_UPDATESEQUENCE"') - if timestamp: - sresult = sresult.replace(timestamp.group(0), - r'timestamp="PYCSW_TIMESTAMP"') - if timestamp2: - sresult = sresult.replace(timestamp2.group(0), - r'timeStamp="PYCSW_TIMESTAMP"') - if timestamp3: - sresult = sresult.replace(timestamp3.group(0), - r'PYCSW_TIMESTAMP') - if timestamp4: - sresult = sresult.replace(timestamp4.group(0), - r'PYCSW_TIMESTAMP') - if zrport: - sresult = sresult.replace(zrport.group(0), - r'PYCSW_PORT') - if zrhost: - sresult = sresult.replace(zrhost.group(0), - r'PYCSW_HOST') - if elapsed_time: - sresult = sresult.replace(elapsed_time.group(0), - r'elapsedTime="PYCSW_ELAPSED_TIME"') - if expires: - sresult = sresult.replace(expires.group(0), - r'expires="PYCSW_EXPIRES"') - for au in atom_updated: - sresult = sresult.replace(au, r'PYCSW_TIMESTAMP') - - # for csw:HarvestResponse documents, mask identifiers - # which are dynamically generated for OWS endpoints - if sresult.find(r'HarvestResponse') != -1: - identifier = re.findall(r'(\S+)', - sresult) - for i in identifier: - sresult = sresult.replace(i, r'PYCSW_IDENTIFIER') - - # JSON responses - timestamp = re.search(r'"@timestamp": "(.*?)"', sresult) - - if timestamp: - sresult = sresult.replace(timestamp.group(0), - r'"@timestamp": "PYCSW_TIMESTAMP"') - - # harvesting-based GetRecords/GetRecordById responses - if force_id_mask: - dcid = re.findall(r'(urn:uuid.*)', sresult) - isoid = re.findall(r'id="(urn:uuid.*)"', sresult) - isoid2 = re.findall(r'(urn:uuid.*) Date: Fri, 18 Nov 2016 14:37:53 +0000 Subject: [PATCH 051/119] changed test parameters --- .../suites/default/get/requests.txt | 40 +++++++++---------- 1 file changed, 20 insertions(+), 20 deletions(-) diff --git a/tests/functionaltests/suites/default/get/requests.txt b/tests/functionaltests/suites/default/get/requests.txt index ee368671b..299790a0f 100644 --- a/tests/functionaltests/suites/default/get/requests.txt +++ b/tests/functionaltests/suites/default/get/requests.txt @@ -1,20 +1,20 @@ -GetCapabilities,PYCSW_SERVER?config=tests/suites/default/default.cfg&service=CSW&version=2.0.2&request=GetCapabilities -GetCapabilities-invalid-request,PYCSW_SERVER?config=tests/suites/default/default.cfg&service=CSW&version=2.0.2&request=GetCapabilitiese -GetRecords-all,PYCSW_SERVER?config=tests/suites/default/default.cfg&service=CSW&version=2.0.2&request=GetRecords&typenames=csw:Record&elementsetname=full -GetRecords-sortby-asc,PYCSW_SERVER?config=tests/suites/default/default.cfg&service=CSW&version=2.0.2&request=GetRecords&typenames=csw:Record&elementsetname=full&resulttype=results&sortby=dc:title:A -GetRecords-sortby-desc,PYCSW_SERVER?config=tests/suites/default/default.cfg&service=CSW&version=2.0.2&request=GetRecords&typenames=csw:Record&elementsetname=full&resulttype=results&sortby=dc:title:D -GetRecords-sortby-invalid-propertyname,PYCSW_SERVER?config=tests/suites/default/default.cfg&service=CSW&version=2.0.2&request=GetRecords&typenames=csw:Record&elementsetname=full&resulttype=results&sortby=dc:titlei:A -GetRecords-sortby-invalid-order,PYCSW_SERVER?config=tests/suites/default/default.cfg&service=CSW&version=2.0.2&request=GetRecords&typenames=csw:Record&elementsetname=full&resulttype=results&sortby=dc:title:FOO -GetRecords-filter,PYCSW_SERVER?config=tests/suites/default/default.cfg&service=CSW&version=2.0.2&request=GetRecords&typenames=csw:Record&elementsetname=full&resulttype=results&constraintlanguage=FILTER&constraint=%3Cogc%3AFilter%20xmlns%3Aogc%3D%22http%3A%2F%2Fwww.opengis.net%2Fogc%22%3E%3Cogc%3APropertyIsEqualTo%3E%3Cogc%3APropertyName%3Edc%3Atitle%3C%2Fogc%3APropertyName%3E%3Cogc%3ALiteral%3ELorem%20ipsum%3C%2Fogc%3ALiteral%3E%3C%2Fogc%3APropertyIsEqualTo%3E%3C%2Fogc%3AFilter%3E -GetRecords-filter-cql-title,PYCSW_SERVER?config=tests/suites/default/default.cfg&service=CSW&version=2.0.2&request=GetRecords&typenames=csw:Record&elementsetname=full&resulttype=results&constraintlanguage=CQL_TEXT&constraint=dc%3Atitle%20like%20%27%25lor%25%27 -GetRecords-filter-cql-title-with-spaces,PYCSW_SERVER?config=tests/suites/default/default.cfg&service=CSW&version=2.0.2&request=GetRecords&typenames=csw:Record&elementsetname=full&resulttype=results&constraintlanguage=CQL_TEXT&constraint=dc%3Atitle%20like%20%27%25Lorem%20ipsum%25%27 -GetRecords-filter-cql-title-or-abstract,PYCSW_SERVER?config=tests/suites/default/default.cfg&service=CSW&version=2.0.2&request=GetRecords&typenames=csw:Record&elementsetname=full&resulttype=results&constraintlanguage=CQL_TEXT&constraint=dc%3Atitle%20like%20%27%25lor%25%27%20or%20dct%3Aabstract%20like%20%27%25pharetra%25%27 -GetRecords-filter-cql-title-with-spaces-or-abstract,PYCSW_SERVER?config=tests/suites/default/default.cfg&service=CSW&version=2.0.2&request=GetRecords&typenames=csw:Record&elementsetname=full&resulttype=results&constraintlanguage=CQL_TEXT&constraint=dc%3Atitle%20like%20%27%25dolor%20sit%25%27%20or%20dct%3Aabstract%20like%20%27%25pharetra%25%27 -GetRecords-filter-cql-title-or-abstract-with-spaces,PYCSW_SERVER?config=tests/suites/default/default.cfg&service=CSW&version=2.0.2&request=GetRecords&typenames=csw:Record&elementsetname=full&resulttype=results&constraintlanguage=CQL_TEXT&constraint=dc%3Atitle%20like%20%27%25lor%25%27%20or%20dct%3Aabstract%20like%20%27%25pharetra%20in%25%27 -GetRecords-filter-cql-title-with-spaces-or-abstract-with-spaces,PYCSW_SERVER?config=tests/suites/default/default.cfg&service=CSW&version=2.0.2&request=GetRecords&typenames=csw:Record&elementsetname=full&resulttype=results&constraintlanguage=CQL_TEXT&constraint=dc%3Atitle%20like%20%27%25dolor%20sit%25%27%20or%20dct%3Aabstract%20like%20%27%25pharetra%20in%25%27 -GetRecords-empty-maxrecords,PYCSW_SERVER?config=tests/suites/default/default.cfg&service=CSW&version=2.0.2&request=GetRecords&typenames=csw:Record&elementsetname=full&maxrecords= -GetRepositoryItem,PYCSW_SERVER?config=tests/suites/default/default.cfg&service=CSW&version=2.0.2&request=GetRepositoryItem&id=urn:uuid:94bc9c83-97f6-4b40-9eb8-a8e8787a5c63 -Exception-GetRepositoryItem-notfound,PYCSW_SERVER?config=tests/suites/default/default.cfg&service=CSW&version=2.0.2&request=GetRepositoryItem&id=NOTFOUND -Exception-GetRepositoryItem-service-invalid1,PYCSW_SERVER?config=tests/suites/default/default.cfg&service=CSW%00&version=2.0.2&request=GetRepositoryItem&id=123 -Exception-GetRepositoryItem-service-invalid2,PYCSW_SERVER?config=tests/suites/default/default.cfg&service=CSW%00'&version=2.0.2&request=GetRepositoryItem&id=123 -Exception-GetRepositoryItem-version-invalid,PYCSW_SERVER?config=tests/suites/default/default.cfg&service=CSW&version=2.0.2'&request=GetRepositoryItem&id=123 +GetCapabilities,service=CSW&version=2.0.2&request=GetCapabilities +GetCapabilities-invalid-request,service=CSW&version=2.0.2&request=GetCapabilitiese +GetRecords-all,service=CSW&version=2.0.2&request=GetRecords&typenames=csw:Record&elementsetname=full +GetRecords-sortby-asc,service=CSW&version=2.0.2&request=GetRecords&typenames=csw:Record&elementsetname=full&resulttype=results&sortby=dc:title:A +GetRecords-sortby-desc,service=CSW&version=2.0.2&request=GetRecords&typenames=csw:Record&elementsetname=full&resulttype=results&sortby=dc:title:D +GetRecords-sortby-invalid-propertyname,service=CSW&version=2.0.2&request=GetRecords&typenames=csw:Record&elementsetname=full&resulttype=results&sortby=dc:titlei:A +GetRecords-sortby-invalid-order,service=CSW&version=2.0.2&request=GetRecords&typenames=csw:Record&elementsetname=full&resulttype=results&sortby=dc:title:FOO +GetRecords-filter,service=CSW&version=2.0.2&request=GetRecords&typenames=csw:Record&elementsetname=full&resulttype=results&constraintlanguage=FILTER&constraint=%3Cogc%3AFilter%20xmlns%3Aogc%3D%22http%3A%2F%2Fwww.opengis.net%2Fogc%22%3E%3Cogc%3APropertyIsEqualTo%3E%3Cogc%3APropertyName%3Edc%3Atitle%3C%2Fogc%3APropertyName%3E%3Cogc%3ALiteral%3ELorem%20ipsum%3C%2Fogc%3ALiteral%3E%3C%2Fogc%3APropertyIsEqualTo%3E%3C%2Fogc%3AFilter%3E +GetRecords-filter-cql-title,service=CSW&version=2.0.2&request=GetRecords&typenames=csw:Record&elementsetname=full&resulttype=results&constraintlanguage=CQL_TEXT&constraint=dc%3Atitle%20like%20%27%25lor%25%27 +GetRecords-filter-cql-title-with-spaces,service=CSW&version=2.0.2&request=GetRecords&typenames=csw:Record&elementsetname=full&resulttype=results&constraintlanguage=CQL_TEXT&constraint=dc%3Atitle%20like%20%27%25Lorem%20ipsum%25%27 +GetRecords-filter-cql-title-or-abstract,service=CSW&version=2.0.2&request=GetRecords&typenames=csw:Record&elementsetname=full&resulttype=results&constraintlanguage=CQL_TEXT&constraint=dc%3Atitle%20like%20%27%25lor%25%27%20or%20dct%3Aabstract%20like%20%27%25pharetra%25%27 +GetRecords-filter-cql-title-with-spaces-or-abstract,service=CSW&version=2.0.2&request=GetRecords&typenames=csw:Record&elementsetname=full&resulttype=results&constraintlanguage=CQL_TEXT&constraint=dc%3Atitle%20like%20%27%25dolor%20sit%25%27%20or%20dct%3Aabstract%20like%20%27%25pharetra%25%27 +GetRecords-filter-cql-title-or-abstract-with-spaces,service=CSW&version=2.0.2&request=GetRecords&typenames=csw:Record&elementsetname=full&resulttype=results&constraintlanguage=CQL_TEXT&constraint=dc%3Atitle%20like%20%27%25lor%25%27%20or%20dct%3Aabstract%20like%20%27%25pharetra%20in%25%27 +GetRecords-filter-cql-title-with-spaces-or-abstract-with-spaces,service=CSW&version=2.0.2&request=GetRecords&typenames=csw:Record&elementsetname=full&resulttype=results&constraintlanguage=CQL_TEXT&constraint=dc%3Atitle%20like%20%27%25dolor%20sit%25%27%20or%20dct%3Aabstract%20like%20%27%25pharetra%20in%25%27 +GetRecords-empty-maxrecords,service=CSW&version=2.0.2&request=GetRecords&typenames=csw:Record&elementsetname=full&maxrecords= +GetRepositoryItem,service=CSW&version=2.0.2&request=GetRepositoryItem&id=urn:uuid:94bc9c83-97f6-4b40-9eb8-a8e8787a5c63 +Exception-GetRepositoryItem-notfound,service=CSW&version=2.0.2&request=GetRepositoryItem&id=NOTFOUND +Exception-GetRepositoryItem-service-invalid1,service=CSW%00&version=2.0.2&request=GetRepositoryItem&id=123 +Exception-GetRepositoryItem-service-invalid2,service=CSW%00'&version=2.0.2&request=GetRepositoryItem&id=123 +Exception-GetRepositoryItem-version-invalid,service=CSW&version=2.0.2'&request=GetRepositoryItem&id=123 From f38e1fb42107dd8172f606670f20b6d3cac8deec Mon Sep 17 00:00:00 2001 From: Ricardo Garcia Silva Date: Fri, 18 Nov 2016 14:51:22 +0000 Subject: [PATCH 052/119] updated failing harvesting tests like in master --- ...est-zzz-post-GetRecords-filter-wfs-iso.xml | 20 ------------------- ...est-zzz-post-GetRecords-filter-wms-iso.xml | 2 +- 2 files changed, 1 insertion(+), 21 deletions(-) diff --git a/tests/functionaltests/suites/harvesting/expected/post_Harvest-zzz-post-GetRecords-filter-wfs-iso.xml b/tests/functionaltests/suites/harvesting/expected/post_Harvest-zzz-post-GetRecords-filter-wfs-iso.xml index fe8c5f2d5..c264459b3 100644 --- a/tests/functionaltests/suites/harvesting/expected/post_Harvest-zzz-post-GetRecords-filter-wfs-iso.xml +++ b/tests/functionaltests/suites/harvesting/expected/post_Harvest-zzz-post-GetRecords-filter-wfs-iso.xml @@ -700,26 +700,6 @@
- - - - DefaultMaxFeatures - - - HTTPGet - - - HTTPPost - - - - - http://maps.cera.govt.nz/arcgis/services/CERA/CERA_TechClasses_WGS84/MapServer/WFSServer - - - - - diff --git a/tests/functionaltests/suites/harvesting/expected/post_Harvest-zzz-post-GetRecords-filter-wms-iso.xml b/tests/functionaltests/suites/harvesting/expected/post_Harvest-zzz-post-GetRecords-filter-wms-iso.xml index 0dc4ec4da..b17cbca72 100644 --- a/tests/functionaltests/suites/harvesting/expected/post_Harvest-zzz-post-GetRecords-filter-wms-iso.xml +++ b/tests/functionaltests/suites/harvesting/expected/post_Harvest-zzz-post-GetRecords-filter-wms-iso.xml @@ -1103,7 +1103,7 @@ - http://mesonet.agron.iastate.edu/cgi-bin/wms/nexrad/n0r-t.cgi? + https://mesonet.agron.iastate.edu/cgi-bin/wms/nexrad/n0r-t.cgi? From 87a9307ef0be3ac9aee6945813ed10f68af68f6d Mon Sep 17 00:00:00 2001 From: Ricardo Garcia Silva Date: Fri, 18 Nov 2016 17:20:40 +0000 Subject: [PATCH 053/119] Added docstrings to all functions --- tests/conftest.py | 14 ++ tests/functionaltests/conftest.py | 52 +++++- .../functionaltests/test_suites_functional.py | 151 +++++++++++++----- 3 files changed, 172 insertions(+), 45 deletions(-) diff --git a/tests/conftest.py b/tests/conftest.py index 095d256dc..402630433 100644 --- a/tests/conftest.py +++ b/tests/conftest.py @@ -31,6 +31,12 @@ import pytest def pytest_configure(config): + """Configure pytest + + This function adds additional markers to pytest. + + """ + config.addinivalue_line( "markers", "functional: Run only functional tests" @@ -42,6 +48,7 @@ def pytest_configure(config): def pytest_addoption(parser): + """Add additional command-line parameters to pytest""" parser.addoption( "--database-backend", choices=["sqlite", "postgres"], @@ -69,4 +76,11 @@ def pytest_addoption(parser): @pytest.fixture(scope="session") def log_level(request): + """Log level to use when instantiating a new pycsw server. + + The value for this fixture is retrieved from the `--pycsw.loglevel` + command-line parameter. + + """ + return request.config.getoption("pycsw_loglevel").upper() diff --git a/tests/functionaltests/conftest.py b/tests/functionaltests/conftest.py index addc7e035..dc4996a30 100644 --- a/tests/functionaltests/conftest.py +++ b/tests/functionaltests/conftest.py @@ -53,7 +53,39 @@ def pytest_generate_tests(metafunc): """Parametrize tests programatically. - Check pytest's documentation for information on this function: + This function scans the filesystem directories under + ``tests/functionaltests/suites`` and automatically generates pytest tests + based on the available test suites. Each suite directory has the + following structure: + + * A mandatory ``default.cfg`` file specifying the configuration for the + pycsw instance to use in the tests of the suite. + + * An optional ``get`` subdirectory containing a ``requests.txt`` file + with any HTTP GET requests for which to generate tests for. Each request + is specified in a new line, with the following pattern: + + * , + + * An optional ``post`` subdirectory containing files that are used as the + payload for HTTP POST requests. The name of each file is used as the name + of the test (without the file's extension); + + * An optional ``data`` subdirectory. This directory, if present, indicates + that the suite uses a custom database. The database is populated with any + additional files that are contained inside this directory. If the + ``data`` directory does not exist then the suite's tests will use the + CITE database; + + * An ``expected`` subdirectory containing a file for each of the expected + test outcomes. + + The tests are autogenerated by parametrizing the + ``tests/functionaltests/test_suites_functional::test_suites`` function + + Check pytest's documentation for information on autogenerating + parametrized tests for further details on how the + ``pytest_generate_tests`` function can be used: http://pytest.org/latest/parametrize.html#basic-pytest-generate-tests-example @@ -108,6 +140,7 @@ def pytest_generate_tests(metafunc): def _get_get_parameters(get_tests_dir, expected_tests_dir, config_path, suite_name, normalize_ids): + """Return the parameters suitable for parametrizing HTTP GET tests""" method = "GET" test_argvalues = [] test_ids = [] @@ -134,6 +167,7 @@ def _get_get_parameters(get_tests_dir, expected_tests_dir, config_path, def _get_post_parameters(post_tests_dir, expected_tests_dir, config_path, suite_name, normalize_ids): + """Return the parameters suitable for parametrizing HTTP POST tests""" method = "POST" test_argvalues = [] test_ids = [] @@ -169,7 +203,7 @@ def _get_post_parameters(post_tests_dir, expected_tests_dir, config_path, def configuration(request, tests_directory, log_level): """Return a SafeConfigParser with the configuration for use in tests. - The config_parser is read from the ordiginal location and then adjusted + The config_parser is read from the original location and then adjusted to match the test's temporary directory. The repository will also be created and populated if it is not already present in the tests_directory. @@ -201,6 +235,18 @@ def configuration(request, tests_directory, log_level): @pytest.fixture(scope="session", name="tests_directory") def fixture_tests_directory(tmpdir_factory): + """Create a temporary directory for each test session. + + This directory is typicaly situated under ``/tmp`` adn is used to create + eventual sqlite databases for each suite. + + This functionality is mostly provided by pytest's built-in + ``tmpdir_factory`` fixture. More information on this is available at: + + http://doc.pytest.org/en/2.9.0/tmpdir.html#the-tmpdir-factory-fixture + + """ + tests_dir = tmpdir_factory.mktemp("functional_tests") return tests_dir @@ -226,6 +272,7 @@ def _get_suite_dirs(suite_name): def _get_cite_suite_data_dir(): + """Return the path to the data directry of the CITE test suite.""" global TESTS_ROOT suites_root_dir = os.path.join(TESTS_ROOT, "functionaltests", "suites") suite_dir = os.path.join(suites_root_dir, "cite") @@ -245,6 +292,7 @@ def _repository_exists(repository_url): def _get_repository_url(request, suite_name, test_dir): + """Return the repository_url for the input parameters.""" db_type = request.config.getoption("--database-backend") if db_type == "sqlite": repository_url = "sqlite:///{test_dir}/{suite}.db".format( diff --git a/tests/functionaltests/test_suites_functional.py b/tests/functionaltests/test_suites_functional.py index 3d93b20c6..f9ebd9133 100644 --- a/tests/functionaltests/test_suites_functional.py +++ b/tests/functionaltests/test_suites_functional.py @@ -51,6 +51,11 @@ def test_suites(configuration, request_method, request_data, expected_result, """ Test suites. + This function is automatically parametrized by pytest as a result of the + ``conftest:pytest_Generate_tests`` function. The input parameters are thus + supplied by pytest as a result of discovering and parsing the existing + test suites located under ``tests/functionaltests/suites``. + Parameters ---------- configuration: SafeConfigParser @@ -68,6 +73,49 @@ def test_suites(configuration, request_method, request_data, expected_result, """ + request_environment = _prepare_wsgi_test_environment(request_method, + request_data) + pycsw_server = server.Csw(rtconfig=configuration, env=request_environment) + status, contents = pycsw_server.dispatch_wsgi() + with codecs.open(expected_result, encoding="utf-8") as fh: + expected = fh.read() + normalized_result = _normalize( + contents, + normalize_identifiers=normalize_identifier_fields + ) + try: + matches_expected = _test_xml_result(normalized_result, expected) + except etree.XMLSyntaxError: + # the file is either not XML (perhaps JSON?) or malformed + matches_expected = _test_json_result(normalized_result, expected) + except etree.C14NError: + print("XML canonicalization has failed. Trying to compare result " + "with expected using difflib") + matches_expected = _test_xml_diff(normalized_result, expected) + if not matches_expected: + print("expected: {0}".format(expected)) + print("response: {0}".format(normalized_result)) + assert matches_expected + + +def _prepare_wsgi_test_environment(request_method, request_data): + """Set up a testing environment for tests. + + Parameters + ---------- + request_method: str + The HTTP method of the request. Sould be either GET or POST. + request_data: str + Either the path to the request file, for POST requests or the request + parameters for GET requests. + + Returns + ------- + dict + A dict with the environment variables to use in the test + + """ + request_environment = { "REQUEST_METHOD": request_method.upper(), "QUERY_STRING": "", @@ -87,36 +135,15 @@ def test_suites(configuration, request_method, request_data, expected_result, print("Request contents: {0}".format(request_data)) request_environment["QUERY_STRING"] = request_data wsgiref.util.setup_testing_defaults(request_environment) - pycsw_server = server.Csw(rtconfig=configuration, env=request_environment) - status, contents = pycsw_server.dispatch_wsgi() - with codecs.open(expected_result, encoding="utf-8") as fh: - expected = fh.read() - _compare_response(contents, expected, - normalize_id_fields=normalize_identifier_fields) - - -def _compare_response(response, expected, normalize_id_fields): - normalized_result = _normalize(response, force_id_mask=normalize_id_fields) - try: - matches_expected = _test_xml_result(normalized_result, expected) - except etree.XMLSyntaxError: - # the file is either not XML (perhaps JSON?) or malformed - matches_expected = _test_json_result(normalized_result, expected) - except etree.C14NError: - print("XML canonicalization has failed. Trying to compare result " - "with expected using difflib") - matches_expected = _test_xml_diff(normalized_result, expected) - if not matches_expected: - print("expected: {0}".format(expected)) - print("response: {0}".format(normalized_result)) - assert matches_expected + return request_environment def _test_xml_result(result, expected, encoding="utf-8"): """Compare the XML test results with an expected value. This function compares the test result with the expected values by - performing XML canonicalization (c14n)[1]_. + performing XML canonicalization (c14n)[1]_, which compares the semantic + meanings of both XML files. Parameters ---------- @@ -182,28 +209,65 @@ def _test_json_result(result, expected, encoding="utf-8"): def _test_xml_diff(result, expected): + """Compare two XML strings by using python's ``difflib.SequenceMatcher``. + + This is a character-by-cahracter comparison and does not take into account + the semantic meaning of XML elements and attributes. + + Parameters + ---------- + result: str + The result of running the test. + expected: str + The expected outcome. + + Returns + ------- + bool + Whether the result matches the expectations or not. + + """ + sequence_matcher = SequenceMatcher(None, result, expected) ratio = sequence_matcher.ratio() return ratio == pytest.approx(1.0) -def _normalize(sresult, force_id_mask=False): - """Replace time, updateSequence and version specific values with generic - values""" +def _normalize(sresult, normalize_identifiers=False): + """ + Normalize test output so that it can be compared with the expected result. + + Several dynamic elements of a pycsw response (such as time, + updateSequence, etc) are replaced with static constants to ease comparison. + + Parameters + ---------- + sresult: str + The test result. + normalize_identifiers: bool, optional + Whether identifier fields should be normalized. + + Returns + ------- + str + The normalized response. + + """ # XML responses version = re.search(r'', sresult) updatesequence = re.search(r'updateSequence="(\S+)"', sresult) timestamp = re.search(r'timestamp="(.*)"', sresult) timestamp2 = re.search(r'timeStamp="(.*)"', sresult) - timestamp3 = re.search(r'(.*)', sresult) - timestamp4 = re.search(r'(.*)', sresult) + timestamp3 = re.search(r'(.*)', + sresult) + timestamp4 = re.search( + r'(.*)', sresult) zrhost = re.search(r'(.*)', sresult) zrport = re.search(r'(.*)', sresult) elapsed_time = re.search(r'elapsedTime="(.*)"', sresult) expires = re.search(r'expires="(.*?)"', sresult) atom_updated = re.findall(r'(.*)', sresult) - if version: sresult = sresult.replace(version.group(0), r'') if updatesequence: @@ -216,11 +280,15 @@ def _normalize(sresult, force_id_mask=False): sresult = sresult.replace(timestamp2.group(0), r'timeStamp="PYCSW_TIMESTAMP"') if timestamp3: - sresult = sresult.replace(timestamp3.group(0), - r'PYCSW_TIMESTAMP') + sresult = sresult.replace( + timestamp3.group(0), + r'PYCSW_TIMESTAMP' + ) if timestamp4: - sresult = sresult.replace(timestamp4.group(0), - r'PYCSW_TIMESTAMP') + sresult = sresult.replace( + timestamp4.group(0), + r'PYCSW_TIMESTAMP' + ) if zrport: sresult = sresult.replace(zrport.group(0), r'PYCSW_PORT') @@ -235,7 +303,6 @@ def _normalize(sresult, force_id_mask=False): r'expires="PYCSW_EXPIRES"') for au in atom_updated: sresult = sresult.replace(au, r'PYCSW_TIMESTAMP') - # for csw:HarvestResponse documents, mask identifiers # which are dynamically generated for OWS endpoints if sresult.find(r'HarvestResponse') != -1: @@ -243,25 +310,23 @@ def _normalize(sresult, force_id_mask=False): sresult) for i in identifier: sresult = sresult.replace(i, r'PYCSW_IDENTIFIER') - # JSON responses timestamp = re.search(r'"@timestamp": "(.*?)"', sresult) if timestamp: sresult = sresult.replace(timestamp.group(0), r'"@timestamp": "PYCSW_TIMESTAMP"') - # harvesting-based GetRecords/GetRecordById responses - if force_id_mask: - dcid = re.findall(r'(urn:uuid.*)', sresult) + if normalize_identifiers: + dcid = re.findall(r'(urn:uuid.*)', + sresult) isoid = re.findall(r'id="(urn:uuid.*)"', sresult) - isoid2 = re.findall(r'(urn:uuid.*)(urn:uuid.*) Date: Fri, 18 Nov 2016 18:01:36 +0000 Subject: [PATCH 054/119] refactored gen_html to account for the change in location for test suites --- tests/gen_html.py | 25 ++++++++++++++----------- 1 file changed, 14 insertions(+), 11 deletions(-) diff --git a/tests/gen_html.py b/tests/gen_html.py index b8f4ebec3..373b577a5 100644 --- a/tests/gen_html.py +++ b/tests/gen_html.py @@ -28,9 +28,7 @@ # # ================================================================= -import csv import os -from six.moves.urllib.parse import quote JQUERY_VERSION = '1.9.0' @@ -104,12 +102,12 @@ @@ -133,16 +131,21 @@
    ''') -for root, dirs, files in os.walk('suites'): +for root, dirs, files in os.walk('functionaltests/suites'): if files: for sfile in files: if sfile == 'requests.txt': # it's a list of GET requests - with open('%s%s%s' % (root.replace(os.sep, '/'), '/', sfile)) as f: - gets = csv.reader(f) - for row in gets: - baseurl, query_string = row[1].split('?') - query = '%s?%s' % (baseurl.replace('PYCSW_SERVER', '../csw.py'), query_string.replace('&', '&')) - print('
  • %s
  • ' % (query, row[0])) + file_path = os.path.join(root, sfile) + with open(file_path) as f: + for line in f: + name, query_string = line.strip().partition(",")[::2] + baseurl = "../csw.py" + query = "{baseurl}?{query_string}".format( + baseurl=baseurl, + query_string=query_string.replace("&", "&") + ) + print('
  • {name}
  • '.format( + query=query, name=name)) print('''

From d21a808ae263b5cefba038c5c3aa379a03486fa1 Mon Sep 17 00:00:00 2001 From: Ricardo Garcia Silva Date: Tue, 13 Dec 2016 20:24:36 +0000 Subject: [PATCH 055/119] Added support for postgresql in tests --- tests/conftest.py | 22 +- tests/functionaltests/conftest.py | 387 +++++++++++++++++++++--------- 2 files changed, 287 insertions(+), 122 deletions(-) diff --git a/tests/conftest.py b/tests/conftest.py index 402630433..0640ca8f0 100644 --- a/tests/conftest.py +++ b/tests/conftest.py @@ -51,22 +51,38 @@ def pytest_addoption(parser): """Add additional command-line parameters to pytest""" parser.addoption( "--database-backend", - choices=["sqlite", "postgres"], + choices=["sqlite", "postgresql"], default="sqlite", help="Database backend to use when performing functional tests" ) parser.addoption( - "--database-user-postgres", + "--database-user-postgresql", default="postgres", help="Username to use for creating and accessing local postgres " "databases used for functional tests." ) parser.addoption( - "--database-password-postgres", + "--database-password-postgresql", default="", help="Password to use for creating and accessing local postgres " "databases used for functional tests." ) + parser.addoption( + "--database-name-postgresql", + default="test_pycsw", + help="Name of the postgres database that is to be used for testing." + ) + parser.addoption( + "--database-host-postgresql", + default="127.0.0.1", + help="hostname or ip of the host that is running the postgres " + "database server to use in testing." + ) + parser.addoption( + "--database-port-postgresql", + default="5432", + help="Port where the postgres server is listening for connections." + ) parser.addoption( "--pycsw-loglevel", default="warning", diff --git a/tests/functionaltests/conftest.py b/tests/functionaltests/conftest.py index dc4996a30..7470f4810 100644 --- a/tests/functionaltests/conftest.py +++ b/tests/functionaltests/conftest.py @@ -30,9 +30,12 @@ import codecs from collections import namedtuple +import logging import os +import re from six.moves import configparser +import psycopg2 import pytest from pycsw.core import admin @@ -40,7 +43,6 @@ TESTS_ROOT = os.path.dirname(os.path.dirname(os.path.abspath(__file__))) - SuiteDirs = namedtuple("SuiteDirs", [ "get_tests_dir", "post_tests_dir", @@ -49,9 +51,8 @@ ]) - def pytest_generate_tests(metafunc): - """Parametrize tests programatically. + """Parametrize tests programmatically. This function scans the filesystem directories under ``tests/functionaltests/suites`` and automatically generates pytest tests @@ -61,23 +62,23 @@ def pytest_generate_tests(metafunc): * A mandatory ``default.cfg`` file specifying the configuration for the pycsw instance to use in the tests of the suite. - * An optional ``get`` subdirectory containing a ``requests.txt`` file + * An optional ``get/`` subdirectory containing a ``requests.txt`` file with any HTTP GET requests for which to generate tests for. Each request is specified in a new line, with the following pattern: * , - * An optional ``post`` subdirectory containing files that are used as the + * An optional ``post/`` subdirectory containing files that are used as the payload for HTTP POST requests. The name of each file is used as the name of the test (without the file's extension); - * An optional ``data`` subdirectory. This directory, if present, indicates + * An optional ``data/`` subdirectory. This directory, if present, indicates that the suite uses a custom database. The database is populated with any additional files that are contained inside this directory. If the ``data`` directory does not exist then the suite's tests will use the CITE database; - * An ``expected`` subdirectory containing a file for each of the expected + * An ``expected/`` subdirectory containing a file for each of the expected test outcomes. The tests are autogenerated by parametrizing the @@ -97,38 +98,41 @@ def pytest_generate_tests(metafunc): suite_names = os.listdir(suites_root_dir) arg_values = [] test_ids = [] + logging.basicConfig(level=getattr( + logging, metafunc.config.getoption("--pycsw-loglevel").upper())) + if metafunc.config.getoption("--database-backend") == "postgresql": + _recreate_postgresql_database(metafunc.config) for suite in suite_names: - normalize_ids = True if suite in ("harvesting", - "manager") else False suite_dir = os.path.join(suites_root_dir, suite) config_path = os.path.join(suite_dir, "default.cfg") if not os.path.isfile(config_path): print("Directory {0!r} does not have a suite " "configuration file".format(suite_dir)) continue - else: - print("Generating tests for suite {0!r}".format(suite)) - suite_dirs = _get_suite_dirs(suite) - if suite_dirs.post_tests_dir is not None: - post_argvalues, post_ids = _get_post_parameters( - post_tests_dir=suite_dirs.post_tests_dir, - expected_tests_dir=suite_dirs.expected_results_dir, - config_path=config_path, - suite_name=suite, - normalize_ids=normalize_ids - ) - arg_values.extend(post_argvalues) - test_ids.extend(post_ids) - if suite_dirs.get_tests_dir is not None: - get_argvalues, get_ids = _get_get_parameters( - get_tests_dir=suite_dirs.get_tests_dir, - expected_tests_dir=suite_dirs.expected_results_dir, - config_path=config_path, - suite_name=suite, - normalize_ids=normalize_ids - ) - arg_values.extend(get_argvalues) - test_ids.extend(get_ids) + print("Generating tests for suite {0!r}...".format(suite)) + normalize_ids = True if suite in ("harvesting", + "manager") else False + suite_dirs = _get_suite_dirs(suite) + if suite_dirs.post_tests_dir is not None: + post_argvalues, post_ids = _get_post_parameters( + post_tests_dir=suite_dirs.post_tests_dir, + expected_tests_dir=suite_dirs.expected_results_dir, + config_path=config_path, + suite_name=suite, + normalize_ids=normalize_ids + ) + arg_values.extend(post_argvalues) + test_ids.extend(post_ids) + if suite_dirs.get_tests_dir is not None: + get_argvalues, get_ids = _get_get_parameters( + get_tests_dir=suite_dirs.get_tests_dir, + expected_tests_dir=suite_dirs.expected_results_dir, + config_path=config_path, + suite_name=suite, + normalize_ids=normalize_ids + ) + arg_values.extend(get_argvalues) + test_ids.extend(get_ids) metafunc.parametrize( argnames=["configuration", "request_method", "request_data", "expected_result", "normalize_identifier_fields"], @@ -138,6 +142,83 @@ def pytest_generate_tests(metafunc): ) +@pytest.fixture() +def configuration(request, tests_directory, log_level): + """Return a SafeConfigParser with the configuration for use in tests. + + This function is executed once for each individual test request, after + tests have been collected. + + The config_parser is read from the original location and then adjusted + to match the test's temporary directory. The repository will also be + created and populated if it is not already present in the tests_directory. + + Parameters + ---------- + request: pytest.fixtures.FixtureRequest + tests_directory: py.path.local + Directory created by pytest where any test artifacts are to be saved + log_level: str + Log level for the pycsw server instance that will be created during + tests. + + """ + + config_path = request.param + config = configparser.SafeConfigParser() + with codecs.open(config_path, encoding="utf-8") as fh: + config.readfp(fh) + suite_name = config_path.split(os.path.sep)[-2] + suite_dirs = _get_suite_dirs(suite_name) + data_dir = suite_dirs.data_tests_dir + if data_dir is not None: # suite has its own database + repository_url = _get_repository_url(request.config, suite_name, + tests_directory) + else: # suite uses the CITE database + data_dir = _get_cite_suite_data_dir() + repository_url = _get_repository_url(request.config, "cite", + tests_directory) + table_name = _get_table_name(suite_name, config, repository_url) + if not _repository_exists(repository_url, table_name): + _initialize_database(repository_url=repository_url, + table_name=table_name, + data_dir=data_dir, + test_dir=tests_directory) + config.set("server", "loglevel", log_level) + config.set("server", "logfile", "") + config.set("repository", "database", repository_url) + config.set("repository", "table", table_name) + return config + + +@pytest.fixture(scope="session", name="tests_directory") +def fixture_tests_directory(tmpdir_factory): + """Create a temporary directory for each test session. + + This directory is typicaly situated under ``/tmp`` and is used to create + eventual sqlite databases for each suite. + + This functionality is mostly provided by pytest's built-in + ``tmpdir_factory`` fixture. More information on this is available at: + + http://doc.pytest.org/en/2.9.0/tmpdir.html#the-tmpdir-factory-fixture + + """ + + tests_dir = tmpdir_factory.mktemp("functional_tests") + return tests_dir + + +def _get_cite_suite_data_dir(): + """Return the path to the data directry of the CITE test suite.""" + global TESTS_ROOT + suites_root_dir = os.path.join(TESTS_ROOT, "functionaltests", "suites") + suite_dir = os.path.join(suites_root_dir, "cite") + data_tests_dir = os.path.join(suite_dir, "data") + data_dir = data_tests_dir if os.path.isdir(data_tests_dir) else None + return data_dir + + def _get_get_parameters(get_tests_dir, expected_tests_dir, config_path, suite_name, normalize_ids): """Return the parameters suitable for parametrizing HTTP GET tests""" @@ -159,8 +240,9 @@ def _get_get_parameters(get_tests_dir, expected_tests_dir, config_path, normalize_ids) ) test_ids.append( - "{suite}_{http_method}_{name}".format(suite=suite_name, - http_method=method.lower(), name=test_name) + "{suite}_{http_method}_{name}".format( + suite=suite_name, http_method=method.lower(), + name=test_name) ) return test_argvalues, test_ids @@ -184,7 +266,6 @@ def _get_post_parameters(post_tests_dir, expected_tests_dir, config_path, filename=request_file_name ) ) - # TODO - make sure the expected result path exists test_argvalues.append( (config_path, method, request_path, expected_result_path, normalize_ids) @@ -199,56 +280,24 @@ def _get_post_parameters(post_tests_dir, expected_tests_dir, config_path, return test_argvalues, test_ids -@pytest.fixture() -def configuration(request, tests_directory, log_level): - """Return a SafeConfigParser with the configuration for use in tests. - - The config_parser is read from the original location and then adjusted - to match the test's temporary directory. The repository will also be - created and populated if it is not already present in the tests_directory. - - """ - - config_path = request.param - config = configparser.SafeConfigParser() - with codecs.open(config_path, encoding="utf-8") as fh: - config.readfp(fh) - suite_name = config_path.split(os.path.sep)[-2] - suite_dirs = _get_suite_dirs(suite_name) - data_dir = suite_dirs.data_tests_dir - if data_dir is not None: # suite has its own database - repository_url = _get_repository_url(request, suite_name, - tests_directory) - else: # suite uses the CITE database - data_dir = _get_cite_suite_data_dir() - repository_url = _get_repository_url(request, "cite", tests_directory) - if not _repository_exists(repository_url): - _initialize_database(repository_url=repository_url, - table_name=config.get("repository", "table"), - data_dir=data_dir, - test_dir=tests_directory) - config.set("server", "loglevel", log_level) - config.set("server", "logfile", "") - config.set("repository", "database", repository_url) - return config - - -@pytest.fixture(scope="session", name="tests_directory") -def fixture_tests_directory(tmpdir_factory): - """Create a temporary directory for each test session. - - This directory is typicaly situated under ``/tmp`` adn is used to create - eventual sqlite databases for each suite. - - This functionality is mostly provided by pytest's built-in - ``tmpdir_factory`` fixture. More information on this is available at: - - http://doc.pytest.org/en/2.9.0/tmpdir.html#the-tmpdir-factory-fixture - - """ - - tests_dir = tmpdir_factory.mktemp("functional_tests") - return tests_dir +def _get_repository_url(conf, suite_name, test_dir): + """Return the repository_url for the input parameters.""" + db_type = conf.getoption("--database-backend") + if db_type == "sqlite": + repository_url = "sqlite:///{test_dir}/{suite}.db".format( + test_dir=test_dir, suite=suite_name) + elif db_type == "postgresql": + repository_url = ( + "postgresql://{user}:{password}@{host}:{port}/{database}".format( + user=conf.getoption("--database-user-postgresql"), + password=conf.getoption("--database-password-postgresql"), + host=conf.getoption("--database-host-postgresql"), + port=conf.getoption("--database-port-postgresql"), + database=conf.getoption("--database-name-postgresql")) + ) + else: + raise NotImplementedError + return repository_url def _get_suite_dirs(suite_name): @@ -271,46 +320,36 @@ def _get_suite_dirs(suite_name): expected_results_dir=expected_dir) -def _get_cite_suite_data_dir(): - """Return the path to the data directry of the CITE test suite.""" - global TESTS_ROOT - suites_root_dir = os.path.join(TESTS_ROOT, "functionaltests", "suites") - suite_dir = os.path.join(suites_root_dir, "cite") - data_tests_dir = os.path.join(suite_dir, "data") - data_dir = data_tests_dir if os.path.isdir(data_tests_dir) else None - return data_dir +def _get_table_name(suite, config, repository_url): + """Get the name of the table used to store records in the database. + Parameters + ---------- + suite: str + Name of the suite. + config: SafeConfigParser + Configuration for the suite. + repository_url: str + SQLAlchemy URL for the repository in use. -def _repository_exists(repository_url): - """Test if the database already exists""" - if repository_url.startswith("sqlite"): - repository_path = repository_url.replace("sqlite:///", "") - result = os.path.isfile(repository_path) - else: - raise NotImplementedError - return result + Returns + ------- + str + Name of the table to use in the database + """ -def _get_repository_url(request, suite_name, test_dir): - """Return the repository_url for the input parameters.""" - db_type = request.config.getoption("--database-backend") - if db_type == "sqlite": - repository_url = "sqlite:///{test_dir}/{suite}.db".format( - test_dir=test_dir, suite=suite_name) - elif db_type == "postgres": - user = request.config.getoption("--database-user-postgres") - password = request.config.getoption("--database-password-postgres") - repository_url = ("postgres://{user}:{password}@localhost/" - "pycsw_test_{suite}".format(user=user, - password=password, - suite=suite_name)) + if repository_url.startswith("sqlite"): + result = config.get("repository", "table") + elif repository_url.startswith("postgresql"): + result = "{suite}_records".format(suite=suite) else: raise NotImplementedError - return repository_url + return result def _initialize_database(repository_url, table_name, data_dir, test_dir): - """Initialize local database for tests. + """Initialize database for tests. This function will create the database and load any test data that the suite may require. @@ -318,8 +357,118 @@ def _initialize_database(repository_url, table_name, data_dir, test_dir): """ print("Setting up {0!r} repository...".format(repository_url)) - admin.setup_db(repository_url, table_name, test_dir) + if repository_url.startswith("postgresql"): + extra_kwargs = { + "create_sfsql_tables": True, + "create_plpythonu_functions": False + } + else: + extra_kwargs = {} + admin.setup_db(database=repository_url, table=table_name, home=test_dir, + **extra_kwargs) if len(os.listdir(data_dir)) > 0: print("Loading database data...") - admin.load_records(StaticContext(), repository_url, table_name, - data_dir) + admin.load_records(context=StaticContext(), database=repository_url, + table=table_name, xml_dirpath=data_dir) + + +def _parse_postgresql_repository_url(repository_url): + info_re = re.search(r"postgresql://(?P[\w_]+):(?P.*?)@" + r"(?P[\w_.]+):(?P\d+)/" + r"(?P[\w_]+)", + repository_url, + flags=re.UNICODE) + try: + db_info = info_re.groupdict() + except AttributeError: + raise RuntimeError("Could not parse repository url {0!r}".format( + repository_url)) + else: + return db_info + + +def _recreate_postgresql_database(configuration): + """Recreate a postgresql database. + + This function will try to create a new postgresql database for testing + purposes. If the database already exists it is deleted and then recreated. + + Parameters + ---------- + configuration: _pytest.config.Config + The configuration object used by pytest + create_plpythonu_extension: bool, optional + Whether the `plpythonu` language is to bre created for the database + + Raises + ------ + RuntimeError + If a connection to the postgresql server cannot be made + + """ + + connection = psycopg2.connect( + database="postgres", + user=configuration.getoption("--database-user-postgresql"), + password=configuration.getoption("--database-password-postgresql"), + host=configuration.getoption("--database-host-postgresql"), + port=configuration.getoption("--database-port-postgresql") + ) + connection.set_isolation_level( + psycopg2.extensions.ISOLATION_LEVEL_AUTOCOMMIT) + cursor = connection.cursor() + db_name = configuration.getoption("--database-name-postgresql") + cursor.execute("DROP DATABASE IF EXISTS {database}".format( + database=db_name)) + cursor.execute("CREATE DATABASE {database}".format(database=db_name)) + cursor.execute( + "SELECT COUNT(1) FROM pg_available_extensions WHERE name='postgis'") + postgis_available = bool(cursor.fetchone()[0]) + cursor.close() + connection.close() + if postgis_available: + _create_postgresql_extension(configuration, extension="postgis") + else: + _create_postgresql_extension(configuration, extension="plpythonu") + + +def _create_postgresql_extension(configuration, extension): + connection = psycopg2.connect( + database=configuration.getoption("--database-name-postgresql"), + user=configuration.getoption("--database-user-postgresql"), + password=configuration.getoption("--database-password-postgresql"), + host=configuration.getoption("--database-host-postgresql"), + port=configuration.getoption("--database-port-postgresql") + ) + connection.set_isolation_level( + psycopg2.extensions.ISOLATION_LEVEL_AUTOCOMMIT) + cursor = connection.cursor() + cursor.execute("CREATE EXTENSION {0}".format(extension)) + cursor.close() + connection.close() + + +def _repository_exists(repository_url, table_name): + """Test if the database already exists.""" + if repository_url.startswith("sqlite"): + repository_path = repository_url.replace("sqlite:///", "") + result = os.path.isfile(repository_path) + elif repository_url.startswith("postgresql"): + db_info = _parse_postgresql_repository_url(repository_url) + try: + connection = psycopg2.connect(user=db_info["user"], + password=db_info["password"], + host=db_info["host"], + port=db_info["port"], + database=db_info["database"]) + cursor = connection.cursor() + cursor.execute("SELECT COUNT(1) FROM {table_name}".format( + table_name=table_name)) + except (psycopg2.OperationalError, psycopg2.ProgrammingError): + # database or table does not exist yet + result = False + else: + result = True + else: + raise NotImplementedError + return result From 19147b604f48efd20d64ad2022ee06eda353ab9f Mon Sep 17 00:00:00 2001 From: Ricardo Garcia Silva Date: Tue, 13 Dec 2016 20:25:24 +0000 Subject: [PATCH 056/119] Changed some tests in order to have uniform sorting --- .../suites/csw30/get/requests.txt | 164 +++++++++--------- 1 file changed, 82 insertions(+), 82 deletions(-) diff --git a/tests/functionaltests/suites/csw30/get/requests.txt b/tests/functionaltests/suites/csw30/get/requests.txt index d93dd98d0..5b2c3dfaf 100644 --- a/tests/functionaltests/suites/csw30/get/requests.txt +++ b/tests/functionaltests/suites/csw30/get/requests.txt @@ -1,82 +1,82 @@ -GetCapabilities-base-url,PYCSW_SERVER?config=tests/suites/csw30/default.cfg -GetCapabilities-no-version,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&service=CSW&request=GetCapabilities -GetCapabilities,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&service=CSW&version=3.0.0&request=GetCapabilities -Exception-invalid-request,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&service=CSW&version=3.0.0&request=GetCapabilities-foo -Exception-GetDomain,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&service=CSW&version=3.0.0&request=GetDomain -GetDomain-parameter,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&service=CSW&version=3.0.0&request=GetDomain¶metername=GetRecords.ElementSetName -GetDomain-value-reference,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&service=CSW&version=3.0.0&request=GetDomain&valuereference=dc:title -Exception-GetDomain-value-reference,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&service=CSW&version=3.0.0&request=GetDomain&valuereference=dc:title2 -Exception-GetRecordById-dc.xml,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&service=CSW&version=3.0.0&request=GetRecordById&id=urn:uuid:829babb0-b2f1-49e1-8cd5-7b489fe71a1e -Exception-GetRecordById-404,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&service=CSW&version=3.0.0&request=GetRecordById&id=does_not_exist2 -OpenSearch-description,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&mode=opensearch&service=CSW&version=3.0.0&request=GetCapabilities -GetRepositoryItem,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&service=CSW&version=3.0.0&request=GetRepositoryItem&id=urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f -Exception-GetRepositoryItem-notfound,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&service=CSW&version=3.0.0&request=GetRepositoryItem&id=NOTFOUND -002258f0-627f-457f-b2ad-025777c77ac8,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&mode=opensearch&service=CSW&version=3.0.0&request=GetCapabilities -045c600d-973d-41eb-9f60-eba1b717b720,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&mode=opensearch&service=CSW&version=3.0.0&request=GetRecords&elementsetname=full&typenames=csw:Record&resulttype=results&q=Fusc%C3%A9%20Land&bbox=&time=/&outputformat=application/atom%2Bxml&startposition=1&maxrecords=&recordids= -0bbcf862-5211-4351-9988-63f8bec49c98,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&elementSetName=summary&outputFormat=application/atom%2Bxml&request=GetRecords&service=CSW&typeNames=Record&version=3.0.0 -0bdf8457-971e-4ed1-be4a-5feca4dcd8fa,PYCSW_SERVER?config=tests/suites/csw30/default.cfg -0d8bbdec-0846-42ca-8dc8-b7f4cba41d67,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&elementName=tns:title&request=GetRecords&service=CSW&typeNames=Record&namespace=xmlns(tns%3Dhttp://purl.org/dc/elements/1.1/)&version=3.0.0 -0e1dca37-477a-4060-99fe-7799b52d656c,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&mode=opensearch&service=CSW&version=3.0.0&request=GetRecords&elementsetname=full&typenames=csw:Record&resulttype=results&q=lpppclq&bbox=&time=/&outputformat=application/atom%2Bxml&startposition=1&maxrecords=&recordids= -13c87956-51a4-4780-a8e9-6e0b5c0bb473,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&elementSetName=full&maxRecords=20&request=GetRecords&service=CSW&typeNames=Record&version=3.0.0 -151d982f-ebd3-4cb2-b507-a667713a1e92,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&acceptFormats=model/x3d%2Bxml&acceptVersions=3.0.0&request=GetCapabilities&service=CSW -1869e495-1a61-4713-8285-76d1336ee1a6,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&acceptVersions=3.0.0&request=GetCapabilities -1bcb42a9-538c-4f0a-9d4c-d6f10b720aa6,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&request=GetRecordById&service=CSW&version=3.0.0 -22f44168-2ccf-4801-ad96-204212566d56,PYCSW_SERVER?config=tests/suites/csw30/default.cfg -2499a9c9-8d33-449c-bc92-d494adfcc84d,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&acceptVersions=3.0.0§ions=All&request=GetCapabilities&service=CSW -27f4f39c-d92a-4e3c-b961-c6aa8c24e513,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&acceptFormats=application/xml&acceptVersions=3.0.0&request=GetCapabilities&service=CSW -28e569df-8596-4128-8d9a-29ad03138915,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&id=urn:uuid:a06af396-3105-442d-8b40-22b57a90d2f2&request=GetRecordById&service=CSW&version=3.0.0 -2b06a5c8-0df2-4af1-8d2e-a425de11c845,PYCSW_SERVER?config=tests/suites/csw30/default.cfg -2ba1418a-444d-4cce-9cfe-4c94efcf8b55,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&maxRecords=2&elementSetName=summary&outputFormat=application/atom%2Bxml&request=GetRecords&service=CSW&typeNames=csw3:Record&startPosition=3&namespace=xmlns(csw3%3Dhttp://www.opengis.net/cat/csw/3.0)&version=3.0.0 -397fe17a-d5b4-4f96-8cc4-4ce467ed4d0a,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&service=CSW&version=3.0.0&request=GetRecords&elementsetname=full&typenames=csw:Record&resulttype=results&q=ipsum&bbox=&time=/&outputformat=application/xml&outputschema=http://www.opengis.net/cat/csw/3.0&startposition=1&maxrecords=&recordids= -3dcd1b15-73d2-4b7d-a3e3-ff15bf14aae4,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&elementSetName=brief&request=GetRecords&service=CSW&typeNames=tns:Record&namespace=xmlns(tns%3Dhttp://www.opengis.net/cat/csw/3.0)&version=3.0.0 -405e1ff1-5c75-4846-a28b-cfaff2a6921a,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&elementSetName=summary&recordIds=urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f,urn:uuid:e9330592-0932-474b-be34-c3a3bb67c7db&request=GetRecords&service=CSW&typeNames=Record&version=3.0.0 -43cd6471-6ac7-45bd-8ff9-148cb2de9a52,PYCSW_SERVER?config=tests/suites/csw30/default.cfg -4566d2ec-1283-4a02-baed-a74fc5b47e37,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&acceptVersions=3.0.0§ions=ServiceIdentification&request=GetCapabilities&service=CSW -461bd4c5-6623-490d-9036-d91a2201e87b,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&acceptVersions=3.0.0§ions=Filter_Capabilities&request=GetCapabilities&service=CSW -5496894a-3877-4f62-a20b-5d7126f94925,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&service=CSW&version=3.0.0&request=GetRecords&elementsetname=full&typenames=csw:Record&resulttype=results&q=&bbox=514432,5429689,529130,5451619&time=/&outputformat=application/xml&outputschema=http://www.opengis.net/cat/csw/3.0&startposition=1&maxrecords=&recordids= -5a015f6a-bf14-4977-b1e3-6577eb0223c8,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&service=CSW&version=3.0.0&request=GetRecords&elementsetname=full&typenames=csw:Record&resulttype=results&q=&bbox=-6.17,44.79,17.92,68.41&time=/&outputformat=application/xml&outputschema=http://www.opengis.net/cat/csw/3.0&startposition=1&maxrecords=&recordids= -5c3a2390-1fb9-43f0-b96c-f48c7a69c990,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&id=urn:uuid:88247b56-4cbc-4df9-9860-db3f8042e357&outputFormat=model/vnd.collada%2Bxml&request=GetRecordById&service=CSW&version=3.0.0 -5e9e67dc-18d6-4645-8111-c6263c88a61f,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&acceptVersions=3.0.0§ions=OperationsMetadata&request=GetCapabilities&service=CSW -604d9379-741c-42e5-b4cf-92e56c87fa64,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&elementSetName=full&q=amet&request=GetRecords&service=CSW&typeNames=Record&version=3.0.0 -60e6af95-d5fc-465a-82e2-fd2e6d85e4af,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&request=GetRecords&service=CSW&typeNames=UnknownType&version=3.0.0 -62ad94c2-b558-4265-a427-23d6677975d6,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&mode=opensearch&service=CSW&version=3.0.0&request=GetRecords&elementsetname=full&typenames=csw:Record&resulttype=results&q=&bbox=&time=/&outputformat=application/atom%2Bxml&startposition=1&maxrecords=&recordids=uid-bc5017e6-5cc8-4b03-aee7-d88f88caba0a -6a5e247b-0961-4b8a-a0d6-35a491d9cfe7,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&elementSetName=undefined-view&request=GetRecords&service=CSW&typeNames=Record&version=3.0.0 -6a9d0558-9d87-495b-b999-b49a3ef1cf99,PYCSW_SERVER?config=tests/suites/csw30/default.cfg -6bd790c9-6019-4652-9c91-330a894d6700,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&service=CSW&version=3.0.0&request=GetRecords&elementsetname=full&typenames=csw:Record&resulttype=results&q=Fusc%C3%A9%20Land&bbox=&time=/&outputformat=application/xml&outputschema=http://www.opengis.net/cat/csw/3.0&startposition=1&maxrecords=&recordids= -6e9cba43-5e27-415d-adbd-a92851c2c173,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&acceptVersions=3.0.0&request=GetCapabilities&service=CSW -7630d230-e142-4a09-accf-f091000b90cd,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&id=urn:uuid:66ae76b7-54ba-489b-a582-0f0633d96493&request=GetRecordById&service=CSW&version=3.0.0 -7e82446a-b5dc-43fe-9a73-4cc1f2f2f0bf,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&acceptFormats=text/xml&acceptVersions=3.0.0&request=GetCapabilities&service=CSW -8025978e-1a35-4d70-80c2-e8329e0c7864,PYCSW_SERVER?config=tests/suites/csw30/default.cfg -8184ae4f-536d-4978-8b28-ad703be96967,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&elementSetName=brief&bbox=44.79,-6.17,68.41,17.92,urn:ogc:def:crs:EPSG::4326&request=GetRecords&service=CSW&typeNames=Record&version=3.0.0 -88f63a89-664f-4315-b4f8-04a0b33803a7,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&maxRecords=15&elementSetName=summary&q=Mauris&bbox=-6.17,44.79,17.92,68.41&request=GetRecords&service=CSW&typeNames=Record&version=3.0.0 -8987f8f0-4d93-4481-968c-a2ccbd6b8be2,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&id=urn:example:1461546298217&request=GetRecordById&service=CSW&version=3.0.0 -8e5fa0f6-3f29-4d1f-abe2-d9866f3def98,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&mode=opensearch&service=CSW&version=3.0.0&request=GetRecords&elementsetname=full&typenames=csw:Record&resulttype=results&q=&bbox=-180,-90,180,90&time=/&outputformat=application/atom%2Bxml&startposition=1&maxrecords=&recordids= -9000ec29-5649-474e-b2d6-55c00f8a52c0,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&acceptVersions=9999.12.31&request=GetCapabilities&service=CSW -91914d35-7bbf-45e6-9b37-5ef484869a4e,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&elementSetName=summary&bbox=-6.17,44.79,17.92,68.41&request=GetRecords&service=CSW&typeNames=Record&version=3.0.0 -92d4844d-57d5-4cf3-8f47-ba50e369dc04,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&elementSetName=full&q=atkovxqmf&request=GetRecords&service=CSW&typeNames=Record&version=3.0.0 -9c0e2a4b-b4e6-41c0-b630-c8c99fc89ff3,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&elementSetName=brief&outputSchema=urn:uuid:6a29d2a8-9651-47a6-9b14-f05d2b5644f0&request=GetRecords&service=CSW&typeNames=Record&version=3.0.0 -9d7ffac8-9798-428d-8e27-3cd12497ee6b,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&id=urn:uuid:1ef30a8b-876d-4828-9246-c37ab4510bbd&outputSchema=http://www.example.org/ns/alpha&request=GetRecordById&service=CSW&version=3.0.0 -a2f18643-e24e-4fa5-b780-6de4a2dbc814,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&id=urn:uuid:829babb0-b2f1-49e1-8cd5-7b489fe71a1e&outputFormat=application/atom%2Bxml&request=GetRecordById&service=CSW&version=3.0.0 -abc90c8c-5868-4405-a73e-64c849be3b2a,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&mode=opensearch&service=CSW&version=3.0.0&request=GetRecords&elementsetname=full&typenames=csw:Record&resulttype=results&q=&bbox=514432,5429689,529130,5451619&time=/&outputformat=application/atom%2Bxml&startposition=1&maxrecords=&recordids= -ad0c0571-09ed-436a-9a4f-a5de744c88fe,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&maxRecords=2&elementSetName=summary&request=GetRecords&service=CSW&typeNames=csw3:Record&startPosition=3&namespace=xmlns(csw3%3Dhttp://www.opengis.net/cat/csw/3.0)&version=3.0.0 -af502903-f4ee-47ee-b76e-af878d238bcc,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&service=CSW&version=3.0.0&request=GetRecords&elementsetname=full&typenames=csw:Record&resulttype=results&q=&bbox=-180,-90,180,90&time=/&outputformat=application/xml&outputschema=http://www.opengis.net/cat/csw/3.0&startposition=1&maxrecords=&recordids= -b2aafc3f-4f35-47bc-affd-08590972deae,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&mode=opensearch&service=CSW&version=3.0.0&request=GetRecords&elementsetname=full&typenames=csw:Record&resulttype=results&q=&bbox=-6.17,44.79,17.92,68.41&time=/&outputformat=application/atom%2Bxml&startposition=1&maxrecords=&recordids= -b6069623-f7d8-4021-8582-98f0aea0f763,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&mode=opensearch&service=CSW&version=3.0.0&request=GetRecords&elementsetname=full&typenames=csw:Record&resulttype=results&q=&bbox=&time=/&outputformat=application/atom%2Bxml&startposition=3&maxrecords=4&recordids= -b9a07a54-75a8-45bd-b341-2823600211e3,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&elementSetName=brief&bbox=472944,5363287,492722,5455253,urn:ogc:def:crs:EPSG::0000&request=GetRecords&service=CSW&typeNames=Record&version=3.0.0 -baa4a7d0-0c01-42b6-adc3-0d03e9949fa3,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&acceptVersions=3.0.0&request=getCapabilities&service=CSW -bfbe6409-f64a-4c89-acb3-50f260a5c743,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&elementSetName=summary&q=Fusc%C3%A9%20Land&request=GetRecords&service=CSW&typeNames=Record&version=3.0.0 -bfe20134-d1da-42ef-9c0f-8e1307bbf92b,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&service=CSW&version=3.0.0&request=GetRecords&elementsetname=full&typenames=csw:Record&resulttype=results&q=&bbox=&time=/&outputformat=application/xml&outputschema=http://www.opengis.net/cat/csw/3.0&startposition=3&maxrecords=4&recordids= -c03d173a-3f42-4956-89c8-1fe02c3a0873,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&SERVICE=CSW&Request=GetCapabilities&acceptversions=3.0.0 -cb43d8c3-e14c-4a9f-9231-4384b7dd21f3,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&elementName=undefined&request=GetRecords&service=CSW&typeNames=Record&version=3.0.0 -d03c6fd3-e821-4a26-b62f-d20a474e25af,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&acceptVersions=3.0.0§ions=ServiceProvider&request=GetCapabilities&service=CSW -d4ccbf96-a529-480e-a53d-5b88dc1dea7f,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&service=CSW&version=3.0.0&request=GetRecords&elementsetname=full&typenames=csw:Record&resulttype=results&q=&bbox=&time=/&outputformat=application/xml&outputschema=http://www.opengis.net/cat/csw/3.0&startposition=1&maxrecords=&recordids=uid-bc5017e6-5cc8-4b03-aee7-d88f88caba0a -d94c801a-1207-4897-b84a-53f3a192515b,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&service=CSW&version=3.0.0&request=GetRecords&elementsetname=full&typenames=csw:Record&resulttype=results&q=lpppclq&bbox=&time=/&outputformat=application/xml&outputschema=http://www.opengis.net/cat/csw/3.0&startposition=1&maxrecords=&recordids= -da859e34-91fc-495a-8c09-285a40c0900b,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&id=urn:uuid:94bc9c83-97f6-4b40-9eb8-a8e8787a5c63&elementSetName=full&request=GetRecordById&service=CSW&version=3.0.0 -dc246fb8-5af5-4fda-82bb-c18b3ecd439c,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&mode=opensearch&service=CSW&version=3.0.0&request=GetRecords&elementsetname=full&typenames=csw:Record&resulttype=results&q=ipsum&bbox=&time=/&outputformat=application/atom%2Bxml&startposition=1&maxrecords=&recordids= -de016645-6d5c-4855-943c-2db07ae9f49a,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&mode=opensearch&service=CSW&version=3.0.0&request=GetRecords&elementsetname=full&typenames=csw:Record&resulttype=results&q=&bbox=&time=/&outputformat=application/atom%2Bxml&startposition=1&maxrecords=&recordids=urn%3Auuid%3A94bc9c83-97f6-4b40-9eb8-a8e8787a5c63 -dff3ec6b-bb2d-4887-bd17-8fcf15def042,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&elementSetName=summary&request=GetRecords&service=CSW&typeNames=Record&version=3.0.0 -e38e6bfb-8ac4-4ae4-8b87-0aafbc8d3c6b,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&id=urn:uuid:1ef30a8b-876d-4828-9246-c37ab4510bbd&elementSetName=brief&request=GetRecordById&service=CSW&version=3.0.0 -e67ca935-d65d-4d8c-8302-1405333dded0,PYCSW_SERVER?config=tests/suites/csw30/default.cfg -e7704509-3441-458f-8ef0-e333c6b6043f,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&elementName=ns1:subject&elementSetName=brief&request=GetRecords&service=CSW&typeNames=Record&namespace=xmlns(ns1%3Dhttp://purl.org/dc/elements/1.1/)&version=3.0.0 -f1223a49-6d08-44ff-97fe-4c32cbbfad82,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&elementSetName=summary&maxRecords=0&q=titles&request=GetRecords&service=CSW&typeNames=Record&version=3.0.0 -f89dd4e1-3a81-4433-afd2-a3fa1bdb1e18,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&elementSetName=full&outputFormat=text/example&request=GetRecords&service=CSW&typeNames=Record&version=3.0.0 +GetCapabilities-base-url, +GetCapabilities-no-version,service=CSW&request=GetCapabilities +GetCapabilities,service=CSW&version=3.0.0&request=GetCapabilities +Exception-invalid-request,service=CSW&version=3.0.0&request=GetCapabilities-foo +Exception-GetDomain,service=CSW&version=3.0.0&request=GetDomain +GetDomain-parameter,service=CSW&version=3.0.0&request=GetDomain¶metername=GetRecords.ElementSetName +GetDomain-value-reference,service=CSW&version=3.0.0&request=GetDomain&valuereference=dc:title +Exception-GetDomain-value-reference,service=CSW&version=3.0.0&request=GetDomain&valuereference=dc:title2 +Exception-GetRecordById-dc.xml,service=CSW&version=3.0.0&request=GetRecordById&id=urn:uuid:829babb0-b2f1-49e1-8cd5-7b489fe71a1e +Exception-GetRecordById-404,service=CSW&version=3.0.0&request=GetRecordById&id=does_not_exist2 +OpenSearch-description,mode=opensearch&service=CSW&version=3.0.0&request=GetCapabilities +GetRepositoryItem,service=CSW&version=3.0.0&request=GetRepositoryItem&id=urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f +Exception-GetRepositoryItem-notfound,service=CSW&version=3.0.0&request=GetRepositoryItem&id=NOTFOUND +002258f0-627f-457f-b2ad-025777c77ac8,mode=opensearch&service=CSW&version=3.0.0&request=GetCapabilities +045c600d-973d-41eb-9f60-eba1b717b720,mode=opensearch&service=CSW&version=3.0.0&request=GetRecords&elementsetname=full&typenames=csw:Record&resulttype=results&q=Fusc%C3%A9%20Land&bbox=&time=/&outputformat=application/atom%2Bxml&startposition=1&maxrecords=&recordids= +0bbcf862-5211-4351-9988-63f8bec49c98,elementSetName=summary&outputFormat=application/atom%2Bxml&request=GetRecords&service=CSW&typeNames=Record&version=3.0.0&SortBy=dc:identifier:A +0bdf8457-971e-4ed1-be4a-5feca4dcd8fa, +0d8bbdec-0846-42ca-8dc8-b7f4cba41d67,elementName=tns:title&request=GetRecords&service=CSW&typeNames=Record&namespace=xmlns(tns%3Dhttp://purl.org/dc/elements/1.1/)&version=3.0.0&SortBy=dc:identifier:A +0e1dca37-477a-4060-99fe-7799b52d656c,mode=opensearch&service=CSW&version=3.0.0&request=GetRecords&elementsetname=full&typenames=csw:Record&resulttype=results&q=lpppclq&bbox=&time=/&outputformat=application/atom%2Bxml&startposition=1&maxrecords=&recordids= +13c87956-51a4-4780-a8e9-6e0b5c0bb473,elementSetName=full&maxRecords=20&request=GetRecords&service=CSW&typeNames=Record&version=3.0.0&SortBy=dc:identifier:A +151d982f-ebd3-4cb2-b507-a667713a1e92,acceptFormats=model/x3d%2Bxml&acceptVersions=3.0.0&request=GetCapabilities&service=CSW +1869e495-1a61-4713-8285-76d1336ee1a6,acceptVersions=3.0.0&request=GetCapabilities +1bcb42a9-538c-4f0a-9d4c-d6f10b720aa6,request=GetRecordById&service=CSW&version=3.0.0 +22f44168-2ccf-4801-ad96-204212566d56, +2499a9c9-8d33-449c-bc92-d494adfcc84d,acceptVersions=3.0.0§ions=All&request=GetCapabilities&service=CSW +27f4f39c-d92a-4e3c-b961-c6aa8c24e513,acceptFormats=application/xml&acceptVersions=3.0.0&request=GetCapabilities&service=CSW +28e569df-8596-4128-8d9a-29ad03138915,id=urn:uuid:a06af396-3105-442d-8b40-22b57a90d2f2&request=GetRecordById&service=CSW&version=3.0.0 +2b06a5c8-0df2-4af1-8d2e-a425de11c845, +2ba1418a-444d-4cce-9cfe-4c94efcf8b55,maxRecords=2&elementSetName=summary&outputFormat=application/atom%2Bxml&request=GetRecords&service=CSW&typeNames=csw3:Record&startPosition=3&namespace=xmlns(csw3%3Dhttp://www.opengis.net/cat/csw/3.0)&version=3.0.0 +397fe17a-d5b4-4f96-8cc4-4ce467ed4d0a,service=CSW&version=3.0.0&request=GetRecords&elementsetname=full&typenames=csw:Record&resulttype=results&q=ipsum&bbox=&time=/&outputformat=application/xml&outputschema=http://www.opengis.net/cat/csw/3.0&startposition=1&maxrecords=&recordids= +3dcd1b15-73d2-4b7d-a3e3-ff15bf14aae4,elementSetName=brief&request=GetRecords&service=CSW&typeNames=tns:Record&namespace=xmlns(tns%3Dhttp://www.opengis.net/cat/csw/3.0)&version=3.0.0&SortBy=dc:identifier:A +405e1ff1-5c75-4846-a28b-cfaff2a6921a,elementSetName=summary&recordIds=urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f,urn:uuid:e9330592-0932-474b-be34-c3a3bb67c7db&request=GetRecords&service=CSW&typeNames=Record&version=3.0.0 +43cd6471-6ac7-45bd-8ff9-148cb2de9a52, +4566d2ec-1283-4a02-baed-a74fc5b47e37,acceptVersions=3.0.0§ions=ServiceIdentification&request=GetCapabilities&service=CSW +461bd4c5-6623-490d-9036-d91a2201e87b,acceptVersions=3.0.0§ions=Filter_Capabilities&request=GetCapabilities&service=CSW +5496894a-3877-4f62-a20b-5d7126f94925,service=CSW&version=3.0.0&request=GetRecords&elementsetname=full&typenames=csw:Record&resulttype=results&q=&bbox=514432,5429689,529130,5451619&time=/&outputformat=application/xml&outputschema=http://www.opengis.net/cat/csw/3.0&startposition=1&maxrecords=&recordids= +5a015f6a-bf14-4977-b1e3-6577eb0223c8,service=CSW&version=3.0.0&request=GetRecords&elementsetname=full&typenames=csw:Record&resulttype=results&q=&bbox=-6.17,44.79,17.92,68.41&time=/&outputformat=application/xml&outputschema=http://www.opengis.net/cat/csw/3.0&startposition=1&maxrecords=&recordids=&SortBy=dc:identifier:A +5c3a2390-1fb9-43f0-b96c-f48c7a69c990,id=urn:uuid:88247b56-4cbc-4df9-9860-db3f8042e357&outputFormat=model/vnd.collada%2Bxml&request=GetRecordById&service=CSW&version=3.0.0 +5e9e67dc-18d6-4645-8111-c6263c88a61f,acceptVersions=3.0.0§ions=OperationsMetadata&request=GetCapabilities&service=CSW +604d9379-741c-42e5-b4cf-92e56c87fa64,elementSetName=full&q=amet&request=GetRecords&service=CSW&typeNames=Record&version=3.0.0 +60e6af95-d5fc-465a-82e2-fd2e6d85e4af,request=GetRecords&service=CSW&typeNames=UnknownType&version=3.0.0 +62ad94c2-b558-4265-a427-23d6677975d6,mode=opensearch&service=CSW&version=3.0.0&request=GetRecords&elementsetname=full&typenames=csw:Record&resulttype=results&q=&bbox=&time=/&outputformat=application/atom%2Bxml&startposition=1&maxrecords=&recordids=uid-bc5017e6-5cc8-4b03-aee7-d88f88caba0a +6a5e247b-0961-4b8a-a0d6-35a491d9cfe7,elementSetName=undefined-view&request=GetRecords&service=CSW&typeNames=Record&version=3.0.0 +6a9d0558-9d87-495b-b999-b49a3ef1cf99, +6bd790c9-6019-4652-9c91-330a894d6700,service=CSW&version=3.0.0&request=GetRecords&elementsetname=full&typenames=csw:Record&resulttype=results&q=Fusc%C3%A9%20Land&bbox=&time=/&outputformat=application/xml&outputschema=http://www.opengis.net/cat/csw/3.0&startposition=1&maxrecords=&recordids= +6e9cba43-5e27-415d-adbd-a92851c2c173,acceptVersions=3.0.0&request=GetCapabilities&service=CSW +7630d230-e142-4a09-accf-f091000b90cd,id=urn:uuid:66ae76b7-54ba-489b-a582-0f0633d96493&request=GetRecordById&service=CSW&version=3.0.0 +7e82446a-b5dc-43fe-9a73-4cc1f2f2f0bf,acceptFormats=text/xml&acceptVersions=3.0.0&request=GetCapabilities&service=CSW +8025978e-1a35-4d70-80c2-e8329e0c7864, +8184ae4f-536d-4978-8b28-ad703be96967,elementSetName=brief&bbox=44.79,-6.17,68.41,17.92,urn:ogc:def:crs:EPSG::4326&request=GetRecords&service=CSW&typeNames=Record&version=3.0.0&SortBy=dc:identifier:A +88f63a89-664f-4315-b4f8-04a0b33803a7,maxRecords=15&elementSetName=summary&q=Mauris&bbox=-6.17,44.79,17.92,68.41&request=GetRecords&service=CSW&typeNames=Record&version=3.0.0 +8987f8f0-4d93-4481-968c-a2ccbd6b8be2,id=urn:example:1461546298217&request=GetRecordById&service=CSW&version=3.0.0 +8e5fa0f6-3f29-4d1f-abe2-d9866f3def98,mode=opensearch&service=CSW&version=3.0.0&request=GetRecords&elementsetname=full&typenames=csw:Record&resulttype=results&q=&bbox=-180,-90,180,90&time=/&outputformat=application/atom%2Bxml&startposition=1&maxrecords=&recordids=&SortBy=dc:identifier:A +9000ec29-5649-474e-b2d6-55c00f8a52c0,acceptVersions=9999.12.31&request=GetCapabilities&service=CSW +91914d35-7bbf-45e6-9b37-5ef484869a4e,elementSetName=summary&bbox=-6.17,44.79,17.92,68.41&request=GetRecords&service=CSW&typeNames=Record&version=3.0.0&SortBy=dc:identifier:A +92d4844d-57d5-4cf3-8f47-ba50e369dc04,elementSetName=full&q=atkovxqmf&request=GetRecords&service=CSW&typeNames=Record&version=3.0.0 +9c0e2a4b-b4e6-41c0-b630-c8c99fc89ff3,elementSetName=brief&outputSchema=urn:uuid:6a29d2a8-9651-47a6-9b14-f05d2b5644f0&request=GetRecords&service=CSW&typeNames=Record&version=3.0.0 +9d7ffac8-9798-428d-8e27-3cd12497ee6b,id=urn:uuid:1ef30a8b-876d-4828-9246-c37ab4510bbd&outputSchema=http://www.example.org/ns/alpha&request=GetRecordById&service=CSW&version=3.0.0 +a2f18643-e24e-4fa5-b780-6de4a2dbc814,id=urn:uuid:829babb0-b2f1-49e1-8cd5-7b489fe71a1e&outputFormat=application/atom%2Bxml&request=GetRecordById&service=CSW&version=3.0.0 +abc90c8c-5868-4405-a73e-64c849be3b2a,mode=opensearch&service=CSW&version=3.0.0&request=GetRecords&elementsetname=full&typenames=csw:Record&resulttype=results&q=&bbox=514432,5429689,529130,5451619&time=/&outputformat=application/atom%2Bxml&startposition=1&maxrecords=&recordids= +ad0c0571-09ed-436a-9a4f-a5de744c88fe,maxRecords=2&elementSetName=summary&request=GetRecords&service=CSW&typeNames=csw3:Record&startPosition=3&namespace=xmlns(csw3%3Dhttp://www.opengis.net/cat/csw/3.0)&version=3.0.0 +af502903-f4ee-47ee-b76e-af878d238bcc,service=CSW&version=3.0.0&request=GetRecords&elementsetname=full&typenames=csw:Record&resulttype=results&q=&bbox=-180,-90,180,90&time=/&outputformat=application/xml&outputschema=http://www.opengis.net/cat/csw/3.0&startposition=1&maxrecords=&recordids=&SortBy=dc:identifier:A +b2aafc3f-4f35-47bc-affd-08590972deae,mode=opensearch&service=CSW&version=3.0.0&request=GetRecords&elementsetname=full&typenames=csw:Record&resulttype=results&q=&bbox=-6.17,44.79,17.92,68.41&time=/&outputformat=application/atom%2Bxml&startposition=1&maxrecords=&recordids=&SortBy=dc:identifier:A +b6069623-f7d8-4021-8582-98f0aea0f763,mode=opensearch&service=CSW&version=3.0.0&request=GetRecords&elementsetname=full&typenames=csw:Record&resulttype=results&q=&bbox=&time=/&outputformat=application/atom%2Bxml&startposition=3&maxrecords=4&recordids=&SortBy=dc:identifier:A +b9a07a54-75a8-45bd-b341-2823600211e3,elementSetName=brief&bbox=472944,5363287,492722,5455253,urn:ogc:def:crs:EPSG::0000&request=GetRecords&service=CSW&typeNames=Record&version=3.0.0 +baa4a7d0-0c01-42b6-adc3-0d03e9949fa3,acceptVersions=3.0.0&request=getCapabilities&service=CSW +bfbe6409-f64a-4c89-acb3-50f260a5c743,elementSetName=summary&q=Fusc%C3%A9%20Land&request=GetRecords&service=CSW&typeNames=Record&version=3.0.0 +bfe20134-d1da-42ef-9c0f-8e1307bbf92b,service=CSW&version=3.0.0&request=GetRecords&elementsetname=full&typenames=csw:Record&resulttype=results&q=&bbox=&time=/&outputformat=application/xml&outputschema=http://www.opengis.net/cat/csw/3.0&startposition=3&maxrecords=4&recordids=&SortBy=dc:identifier:A +c03d173a-3f42-4956-89c8-1fe02c3a0873,SERVICE=CSW&Request=GetCapabilities&acceptversions=3.0.0 +cb43d8c3-e14c-4a9f-9231-4384b7dd21f3,elementName=undefined&request=GetRecords&service=CSW&typeNames=Record&version=3.0.0 +d03c6fd3-e821-4a26-b62f-d20a474e25af,acceptVersions=3.0.0§ions=ServiceProvider&request=GetCapabilities&service=CSW +d4ccbf96-a529-480e-a53d-5b88dc1dea7f,service=CSW&version=3.0.0&request=GetRecords&elementsetname=full&typenames=csw:Record&resulttype=results&q=&bbox=&time=/&outputformat=application/xml&outputschema=http://www.opengis.net/cat/csw/3.0&startposition=1&maxrecords=&recordids=uid-bc5017e6-5cc8-4b03-aee7-d88f88caba0a +d94c801a-1207-4897-b84a-53f3a192515b,service=CSW&version=3.0.0&request=GetRecords&elementsetname=full&typenames=csw:Record&resulttype=results&q=lpppclq&bbox=&time=/&outputformat=application/xml&outputschema=http://www.opengis.net/cat/csw/3.0&startposition=1&maxrecords=&recordids= +da859e34-91fc-495a-8c09-285a40c0900b,id=urn:uuid:94bc9c83-97f6-4b40-9eb8-a8e8787a5c63&elementSetName=full&request=GetRecordById&service=CSW&version=3.0.0 +dc246fb8-5af5-4fda-82bb-c18b3ecd439c,mode=opensearch&service=CSW&version=3.0.0&request=GetRecords&elementsetname=full&typenames=csw:Record&resulttype=results&q=ipsum&bbox=&time=/&outputformat=application/atom%2Bxml&startposition=1&maxrecords=&recordids= +de016645-6d5c-4855-943c-2db07ae9f49a,mode=opensearch&service=CSW&version=3.0.0&request=GetRecords&elementsetname=full&typenames=csw:Record&resulttype=results&q=&bbox=&time=/&outputformat=application/atom%2Bxml&startposition=1&maxrecords=&recordids=urn%3Auuid%3A94bc9c83-97f6-4b40-9eb8-a8e8787a5c63 +dff3ec6b-bb2d-4887-bd17-8fcf15def042,elementSetName=summary&request=GetRecords&service=CSW&typeNames=Record&version=3.0.0&SortBy=dc:identifier:A +e38e6bfb-8ac4-4ae4-8b87-0aafbc8d3c6b,id=urn:uuid:1ef30a8b-876d-4828-9246-c37ab4510bbd&elementSetName=brief&request=GetRecordById&service=CSW&version=3.0.0 +e67ca935-d65d-4d8c-8302-1405333dded0, +e7704509-3441-458f-8ef0-e333c6b6043f,elementName=ns1:subject&elementSetName=brief&request=GetRecords&service=CSW&typeNames=Record&namespace=xmlns(ns1%3Dhttp://purl.org/dc/elements/1.1/)&version=3.0.0 +f1223a49-6d08-44ff-97fe-4c32cbbfad82,elementSetName=summary&maxRecords=0&q=titles&request=GetRecords&service=CSW&typeNames=Record&version=3.0.0 +f89dd4e1-3a81-4433-afd2-a3fa1bdb1e18,elementSetName=full&outputFormat=text/example&request=GetRecords&service=CSW&typeNames=Record&version=3.0.0 From 7cc7d322ac8b578e233825796c661d9a7265d3c6 Mon Sep 17 00:00:00 2001 From: Ricardo Garcia Silva Date: Wed, 14 Dec 2016 15:15:37 +0000 Subject: [PATCH 057/119] Added support for tox --- .gitignore | 1 + tox.ini | 20 ++++++++++++++++++++ 2 files changed, 21 insertions(+) create mode 100644 tox.ini diff --git a/.gitignore b/.gitignore index ac267ca17..592f31da8 100644 --- a/.gitignore +++ b/.gitignore @@ -11,6 +11,7 @@ tests/index.html tests/results **.cache .coverage +.tox # test configurations /default.cfg diff --git a/tox.ini b/tox.ini new file mode 100644 index 000000000..bf143db74 --- /dev/null +++ b/tox.ini @@ -0,0 +1,20 @@ +# Tox (http://tox.testrun.org/) is a tool for running tests +# in multiple virtualenvs. This configuration file will run the +# test suite on all supported python versions. To use it, "pip install tox" +# and then run "tox" from this directory. + +[tox] +#envlist = py27, py34, py35 +envlist = {py27,py34,py35}-{sqlite,postgresql} +skip_missing_interpreters = True + +[testenv] +deps = + -rrequirements.txt + -rrequirements-standalone.txt + -rrequirements-dev.txt + -rrequirements-pg.txt + +commands = + sqlite: py.test {posargs} + postgresql: py.test --database-backend postgresql {posargs} From aa44c1892a760656110f1dc1dcda29f1eacd82ce Mon Sep 17 00:00:00 2001 From: Ricardo Garcia Silva Date: Wed, 14 Dec 2016 15:17:07 +0000 Subject: [PATCH 058/119] Using unicode strings instead of bytes in test function --- .../functionaltests/test_suites_functional.py | 63 +++++++++++-------- 1 file changed, 38 insertions(+), 25 deletions(-) diff --git a/tests/functionaltests/test_suites_functional.py b/tests/functionaltests/test_suites_functional.py index f9ebd9133..da52b12ed 100644 --- a/tests/functionaltests/test_suites_functional.py +++ b/tests/functionaltests/test_suites_functional.py @@ -76,8 +76,10 @@ def test_suites(configuration, request_method, request_data, expected_result, request_environment = _prepare_wsgi_test_environment(request_method, request_data) pycsw_server = server.Csw(rtconfig=configuration, env=request_environment) - status, contents = pycsw_server.dispatch_wsgi() - with codecs.open(expected_result, encoding="utf-8") as fh: + encoding = "utf-8" + status, raw_contents = pycsw_server.dispatch_wsgi() + contents = raw_contents.decode(encoding) + with codecs.open(expected_result, encoding=encoding) as fh: expected = fh.read() normalized_result = _normalize( contents, @@ -93,8 +95,8 @@ def test_suites(configuration, request_method, request_data, expected_result, "with expected using difflib") matches_expected = _test_xml_diff(normalized_result, expected) if not matches_expected: - print("expected: {0}".format(expected)) - print("response: {0}".format(normalized_result)) + print("expected: {0}".format(expected.encode(encoding))) + print("response: {0}".format(normalized_result.encode(encoding))) assert matches_expected @@ -124,10 +126,10 @@ def _prepare_wsgi_test_environment(request_method, request_data): if request_method == "POST": print("request_path: {0}".format(request_data)) request_buffer = BytesIO() - with open(request_data) as fh: + encoding = "utf-8" + with codecs.open(request_data, encoding=encoding) as fh: contents = fh.read() - print("Request contents: {}".format(contents)) - request_buffer.write(contents) + request_buffer.write(contents.encode(encoding)) request_environment["CONTENT_LENGTH"] = request_buffer.tell() request_buffer.seek(0) request_environment["wsgi.input"] = request_buffer @@ -148,9 +150,9 @@ def _test_xml_result(result, expected, encoding="utf-8"): Parameters ---------- result: str - The result of running the test. + The result of running the test as a unicode string expected: str - The expected outcome. + The expected outcome as a unicode string. Returns ------- @@ -172,7 +174,7 @@ def _test_xml_result(result, expected, encoding="utf-8"): """ - result_element = etree.fromstring(result) + result_element = etree.fromstring(result.encode(encoding)) expected_element = etree.fromstring(expected.encode(encoding)) result_buffer = BytesIO() result_tree = result_element.getroottree() @@ -234,8 +236,7 @@ def _test_xml_diff(result, expected): def _normalize(sresult, normalize_identifiers=False): - """ - Normalize test output so that it can be compared with the expected result. + """Normalize test output so it can be compared with the expected result. Several dynamic elements of a pycsw response (such as time, updateSequence, etc) are replaced with static constants to ease comparison. @@ -243,7 +244,7 @@ def _normalize(sresult, normalize_identifiers=False): Parameters ---------- sresult: str - The test result. + The test result as a unicode string. normalize_identifiers: bool, optional Whether identifier fields should be normalized. @@ -259,17 +260,23 @@ def _normalize(sresult, normalize_identifiers=False): updatesequence = re.search(r'updateSequence="(\S+)"', sresult) timestamp = re.search(r'timestamp="(.*)"', sresult) timestamp2 = re.search(r'timeStamp="(.*)"', sresult) - timestamp3 = re.search(r'(.*)', - sresult) + timestamp3 = re.search( + r'(.*)', + sresult + ) timestamp4 = re.search( - r'(.*)', sresult) + r'(.*)', + sresult + ) zrhost = re.search(r'(.*)', sresult) zrport = re.search(r'(.*)', sresult) elapsed_time = re.search(r'elapsedTime="(.*)"', sresult) expires = re.search(r'expires="(.*?)"', sresult) - atom_updated = re.findall(r'(.*)', sresult) + atom_updated = re.findall(r'(.*)', + sresult) if version: - sresult = sresult.replace(version.group(0), r'') + sresult = sresult.replace(version.group(0), + r'') if updatesequence: sresult = sresult.replace(updatesequence.group(0), r'updateSequence="PYCSW_UPDATESEQUENCE"') @@ -306,8 +313,10 @@ def _normalize(sresult, normalize_identifiers=False): # for csw:HarvestResponse documents, mask identifiers # which are dynamically generated for OWS endpoints if sresult.find(r'HarvestResponse') != -1: - identifier = re.findall(r'(\S+)', - sresult) + identifier = re.findall( + r'(\S+)', + sresult + ) for i in identifier: sresult = sresult.replace(i, r'PYCSW_IDENTIFIER') # JSON responses @@ -318,15 +327,19 @@ def _normalize(sresult, normalize_identifiers=False): r'"@timestamp": "PYCSW_TIMESTAMP"') # harvesting-based GetRecords/GetRecordById responses if normalize_identifiers: - dcid = re.findall(r'(urn:uuid.*)', - sresult) + dcid = re.findall( + r'(urn:uuid.*)', + sresult + ) isoid = re.findall(r'id="(urn:uuid.*)"', sresult) - isoid2 = re.findall(r'(urn:uuid.*)(urn:uuid.*) Date: Wed, 14 Dec 2016 15:17:26 +0000 Subject: [PATCH 059/119] fixed version for pytest --- requirements-dev.txt | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/requirements-dev.txt b/requirements-dev.txt index 9ca8ca353..1ffc07358 100644 --- a/requirements-dev.txt +++ b/requirements-dev.txt @@ -1,6 +1,7 @@ Paver==1.2.4 -pytest==2.9.1 +pytest==3.0.3 pytest-cov==2.4.0 +pytest-flake8==0.8.1 pytest-timeout==1.2.0 requests==2.10.0 sphinx From e8ddd5833049bea4ca2eed589b10224b30ba8d0f Mon Sep 17 00:00:00 2001 From: Ricardo Garcia Silva Date: Wed, 14 Dec 2016 15:17:46 +0000 Subject: [PATCH 060/119] improved docs on testing --- docs/testing.rst | 80 ++++++++++++++++++++++++++++++++---------------- 1 file changed, 53 insertions(+), 27 deletions(-) diff --git a/docs/testing.rst b/docs/testing.rst index b17a3b4f3..5d2fe1d13 100644 --- a/docs/testing.rst +++ b/docs/testing.rst @@ -11,8 +11,8 @@ The tests can be run locally as part of the development cycle. They are also run on pycsw's `Travis`_ continuous integration server against all pushes and pull requests to the code repository. -.. _ogc-cite: +.. _ogc-cite: OGC CITE -------- @@ -21,12 +21,6 @@ In addition to pycsw's own tests, all public releases are also tested via the OGC `Compliance & Interoperability Testing & Evaluation Initiative`_ (CITE). The pycsw `wiki`_ documents CITE testing procedures and status. -.. _pytest: http://pytest.org/latest/ -.. _Travis: http://travis-ci.org/geopython/pycsw -.. _Compliance & Interoperability Testing & Evaluation Initiative: - http://cite.opengeospatial.org/ -.. _wiki: https://github.com/geopython/pycsw/wiki/OGC-CITE-Compliance - Test suites ----------- @@ -38,7 +32,7 @@ that pycsw works as expected. Each test follows the same workflow: -* Instantiate a pycsw instance with a custom configuration and data repository +* Create a new pycsw instance with a custom configuration and data repository for each suite of tests; * Perform a series of GET and POST requests to the running pycsw instance; @@ -55,7 +49,7 @@ Each suite specifies the following structure: used by the test suite; * A mandatory ``expected/`` directory containing the expected results for each - request + request; * An optional ``data/`` directory that contains ``.xml`` files with testing data that is to be loaded into the suite's database before running the tests. @@ -69,7 +63,7 @@ Each suite specifies the following structure: new empty database is used in the tests; * If ``data/`` directory is absent, the suite will use a database populated - with test data from the CITE suite. + with test data from the ``CITE`` suite. * An optional ``get/requests.txt`` file that holds request parameters used for making HTTP GET requests. @@ -80,7 +74,7 @@ Each suite specifies the following structure: For example: - GetCapabilities,service=CSW&version=2.0.2&request=GetCapabilities + TestGetCapabilities,service=CSW&version=2.0.2&request=GetCapabilities When tests are run, the *test_id* is used for naming each test and for finding the expected result. @@ -88,6 +82,7 @@ Each suite specifies the following structure: * An optional ``post/`` directory that holds ``.xml`` files used for making HTTP POST requests + Test identifiers ^^^^^^^^^^^^^^^^ @@ -99,8 +94,6 @@ For example: test_suites[default_post_GetRecords-end] -.. _functional tests: https://en.wikipedia.org/wiki/Functional_testing - Running tests ------------- @@ -123,29 +116,27 @@ running: py.test --help -.. _pytest's invocation documentation: http://docs.pytest.org/en/latest/usage.html Running specific suites and test cases ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -Use the `-k name expression` flag to select which tests to run. Since each +Use the ``-k `` flag to select which tests to run. Since each test's name includes the suite name, http method and an identifier for the test, it is easy to run only certain tests. .. code:: bash - py.test -k "apiso and GetRecords" # run only tests from the `apiso` suite that have `GetRecords` in their name - py.test -k "post and GetRecords" # run only tests that use HTTP POST and `GetRecords` in their name - py.test -k "not harvesting" # run all tests except those from the `harvesting` suite - + py.test -k "apiso and GetRecords" # run only tests from the apiso suite that have GetRecords in their name + py.test -k "post and GetRecords" # run only tests that use HTTP POST and GetRecords in their name + py.test -k "not harvesting" # run all tests except those from the harvesting suite Exiting fast ^^^^^^^^^^^^ -The `--exitfirst` (or `-x`) flag can be used to stop the test runner -immediately if some test case fails. +The ``--exitfirst`` (or ``-x``) flag can be used to stop the test runner +immediately as soon as a test case fails. .. code:: bash @@ -157,21 +148,21 @@ Seeing more output There are three main ways to get more output from running tests: -* The `--verbose` (or `-v`) flag +* The ``--verbose`` (or ``-v``) flag; -* The `--capture=no` flag - Messages sent to stdout by a test are not +* The ``--capture=no`` flag - Messages sent to stdout by a test are not suppressed; -* The `--pycsw-loglevel` flag - Sets the log level of the pycsw instance under - test. Set this value to `debug` in order to see all debug messages sent by - pycsw while processing a request +* The ``--pycsw-loglevel`` flag - Sets the log level of the pycsw instance + under test. Set this value to ``debug`` in order to see all debug messages + sent by pycsw while processing a request. .. code:: bash py.test --verbose py.test --pycsw-loglevel=debug - py.test --capture=no --pycsw-loglevel=debug + py.test -v --capture=no --pycsw-loglevel=debug Test coverage @@ -208,6 +199,33 @@ guide py.test --flake8 +Testing multiple python versions +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +For testing multiple python versions and configurations simultaneously you can +use `tox`_. pycsw includes a `tox.ini` file with a suitable configuration. It +can be used to run tests against multiple python versions and also multiple +database backends. When running `tox` you can send arguments to the `py.test` +runner by using the invocation `tox -- `. +Examples: + +.. code:: bash + + # install tox on your system + sudo pip install tox + + # run all tests on multiple python versions against all databases, + # with default arguments + tox + + # run tests only with python2.7 and using sqlite as backend + tox -e py27-sqlite + + # run only csw30 suite tests with python3.5 and postgresql as backend + tox -e py35-postgresql -- -k 'csw30' + + + Running tests against a remote server ------------------------------------- @@ -334,4 +352,12 @@ requests against your pycsw install. The tests are is located in Then navigate to ``http://host/path/to/pycsw/tests/index.html``. +.. _Compliance & Interoperability Testing & Evaluation Initiative: http://cite.opengeospatial.org/ +.. _functional tests: https://en.wikipedia.org/wiki/Functional_testing .. _`Paver`: http://paver.github.io/paver/ +.. _pytest's invocation documentation: http://docs.pytest.org/en/latest/usage.html +.. _pytest: http://pytest.org/latest/ +.. _Travis: http://travis-ci.org/geopython/pycsw +.. _tox: https://tox.readthedocs.io +.. _wiki: https://github.com/geopython/pycsw/wiki/OGC-CITE-Compliance + From d84f5e2075d41f5486f0c25dfe9c5524e67f726b Mon Sep 17 00:00:00 2001 From: Ricardo Garcia Silva Date: Wed, 14 Dec 2016 15:26:10 +0000 Subject: [PATCH 061/119] Removed old testing tasks from pavement file --- pavement.py | 206 +--------------------------------------------------- 1 file changed, 3 insertions(+), 203 deletions(-) diff --git a/pavement.py b/pavement.py index e9d70f536..664aaffe6 100644 --- a/pavement.py +++ b/pavement.py @@ -2,8 +2,10 @@ # ================================================================= # # Authors: Tom Kralidis +# Ricardo Garcia Silva # # Copyright (c) 2015 Tom Kralidis +# Copyright (c) 2016 Ricardo Garcia Silva # # Permission is hereby granted, free of charge, to any person # obtaining a copy of this software and associated documentation @@ -28,17 +30,10 @@ # # ================================================================= -from __future__ import (absolute_import, division, print_function) - -import glob import os -import sys -import time - -from six.moves import configparser from paver.easy import task, cmdopts, needs, \ - pushd, sh, call_task, path, info, BuildFailure + pushd, sh, call_task, path, info DOCS = 'docs' STAGE_DIR = '/tmp' @@ -145,198 +140,3 @@ def package_tar_gz(options): tar = tarfile.open(filename, 'w:gz') tar.add(package_name) tar.close() - -@task -def setup_testdata(): - """Create test databases and load test data""" - - test_database_parameters = { - # suite: has_testdata - 'apiso': True, - 'cite': True, - 'harvesting': False, - 'manager': False - } - - for suite in test_database_parameters.keys(): - dbfile = 'tests/suites/%s/data/records.db' % suite - if os.path.isfile(dbfile): - os.remove(dbfile) - - for database, has_testdata in test_database_parameters.items(): - info('Setting up test database %s' % database) - cfg = path('tests/suites/%s/default.cfg' % database) - sh('pycsw-admin.py -c setup_db -f %s' % cfg) - if has_testdata: - datapath = path('tests/suites/%s/data' % database) - info('Loading test data from %s' % datapath) - sh('pycsw-admin.py -c load_records -f %s -p %s' % (cfg, datapath)) - - -@task -@cmdopts([ - ('url=', 'u', 'pycsw endpoint'), - ('suites=', 's', 'comma-separated list of testsuites'), - ('database=', 'd', 'database (SQLite3 [default], PostgreSQL, MySQL)'), - ('user=', 'U', 'database username'), - ('pass=', 'p', 'database password'), - ('pedantic', 'P', 'run tests in pedantic mode (byte level diff check) (default: c14n mode)'), - ('remote', 'r', 'remote testing (harvesting)'), - ('time=', 't', 'time (milliseconds) in which requests should complete') -]) -def test(options): - """Run unit tests""" - - db_setup = False - db_conn = None - cfg_files = [] - status = 0 - - url = options.get('url', None) - suites = options.get('suites', None) - database = options.get('database', 'SQLite3') - remote = options.get('remote') - timems = options.get('time', None) - pedantic = options.get('pedantic', False) - - if url is None: - # run against default server - call_task('stop') - call_task('reset') - if database == 'SQLite3': - call_task('setup_testdata') - call_task('start') - url = 'http://localhost:8000' - - if suites is not None: - cmd = 'python run_tests.py -u %s -s %s' % (url, suites) - else: - cmd = 'python run_tests.py -u %s' % url - - if remote: - cmd = '%s -r' % cmd - - if pedantic: - cmd = '%s -p' % cmd - - if timems: - cmd = '%s -t %s' % (cmd, timems) - - # configure/setup database if not default - if database != 'SQLite3': - db_setup = True - temp_db = 'pycsw_ci_test_pid_%d' % os.getpid() - - if database == 'PostgreSQL': # configure PG - - from pycsw.admin import setup_db, load_records - from pycsw.config import StaticContext - - cmd = '%s -d %s' % (cmd, database) - - init_sfsql = True - home = os.path.abspath(os.path.dirname(__file__)) - user = options.get('user', 'postgres') - password = options.get('pass', '') - context = StaticContext() - - db_conn = 'postgresql://%s:%s@localhost/%s' % ( - user, password, temp_db) - - if password: - sh('set PGPASSWORD=%s' % password) - - sh('createdb %s -U %s' % (temp_db, user)) - sh('createlang --dbname=%s plpythonu -U %s' % (temp_db, user)) - - # update all default.cfg files to point to test DB - cfg_files = glob.glob('tests%ssuites%s*%s*.cfg' % (3*(os.sep,))) - - for cfg in cfg_files: - # generate table - suite = cfg.split(os.sep)[2] - - tablename = 'records_cite' - - if suite == 'manager': - tablename = 'records_manager' - elif suite == 'apiso': - tablename = 'records_apiso' - - config = configparser.SafeConfigParser() - with open(cfg) as read_data: - config.readfp(read_data) - config.set('repository', 'database', db_conn) - config.set('repository', 'table', tablename) - with open(cfg, 'wb') as config2: - config.write(config2) - - if suite in ['cite', 'manager', 'apiso']: # setup tables - setup_db(db_conn, tablename, home, init_sfsql, init_sfsql) - init_sfsql = False - - if suite in ['cite', 'apiso']: # load test data - dirname = '%s%sdata' % (os.path.dirname(cfg), os.sep) - load_records(context, db_conn, tablename, dirname) - - else: - raise Exception('Invalid database specified') - - with pushd('tests'): - try: - sh(cmd) - except BuildFailure as err: - status = 1 - # stop pycsw instance - call_task('stop') - - if db_setup: # tearDown - for cfg in cfg_files: - sh('git checkout %s' % cfg) - if database == 'PostgreSQL': - sh("psql -c \"select pg_terminate_backend(procpid) from pg_stat_activity where datname='%s';\" -U %s" % (temp_db, user)) - sh('dropdb %s -U %s' % (temp_db, user)) - sh('unset PGPASSWORD') - - sys.exit(status) - - -@task -def start(options): - """Start local WSGI server instance""" - sh('python pycsw/wsgi.py 8000 &') - time.sleep(10) - - -@task -def stop(): - """Stop local WSGI server instance""" - - kill_process('python', 'pycsw/wsgi.py') - - -@task -@cmdopts([ - ('force', 'f', 'forces git clean'), -]) -def reset(options): - """Return codebase to pristine state""" - - force = options.get('force') - if force: - sh('git clean -dxf') - - -def kill_process(procname, scriptname): - """kill WSGI processes that may be running in development""" - - # from http://stackoverflow.com/a/2940878 - import subprocess, signal - p = subprocess.Popen(['ps', 'aux'], stdout=subprocess.PIPE) - out, err = p.communicate() - - for line in out.decode().splitlines(): - if procname in line and scriptname in line: - pid = int(line.split()[1]) - info('Stopping %s %s %d' % (procname, scriptname, pid)) - os.kill(pid, signal.SIGKILL) From 5e9c231b9dad734406b3d466cf941769124c987e Mon Sep 17 00:00:00 2001 From: Ricardo Garcia Silva Date: Wed, 14 Dec 2016 17:51:00 +0000 Subject: [PATCH 062/119] Updated several expected test results These changes have to be manual, since this branch changed the location of the expected test files --- .../suites/apiso-inspire/expected/get_GetCapabilities-lang.xml | 2 ++ .../suites/apiso-inspire/expected/get_GetCapabilities.xml | 2 ++ .../suites/apiso/expected/post_GetCapabilities.xml | 2 ++ .../suites/atom/expected/post_GetCapabilities.xml | 2 ++ .../cite/expected/get_27e17158-c57a-4493-92ac-dba8934cf462.xml | 2 ++ .../cite/expected/get_2ab7d1fa-885b-459f-80e4-b6282eab4f8c.xml | 2 ++ .../cite/expected/get_477b23a3-baa9-47c8-9541-5fe27735ed49.xml | 2 ++ .../cite/expected/get_48f26761-3a9d-48db-bee1-da089f5fb857.xml | 2 ++ .../cite/expected/get_55c38f00-2553-42c1-99ab-33edbb561ad7.xml | 2 ++ .../cite/expected/get_80f31def-4185-48b9-983a-960566918eae.xml | 2 ++ .../cite/expected/get_9697f0aa-3b6a-4125-83a5-61e8826127c4.xml | 2 ++ .../cite/expected/get_ba5fc729-3b71-47a0-b7d0-42ec565cd185.xml | 2 ++ .../cite/expected/get_f4692ec5-9547-4a05-88ab-e6154af2640a.xml | 2 ++ .../expected/get_0bdf8457-971e-4ed1-be4a-5feca4dcd8fa.xml | 2 ++ .../expected/get_22f44168-2ccf-4801-ad96-204212566d56.xml | 2 ++ .../expected/get_2499a9c9-8d33-449c-bc92-d494adfcc84d.xml | 2 ++ .../expected/get_27f4f39c-d92a-4e3c-b961-c6aa8c24e513.xml | 2 ++ .../expected/get_2b06a5c8-0df2-4af1-8d2e-a425de11c845.xml | 2 ++ .../expected/get_43cd6471-6ac7-45bd-8ff9-148cb2de9a52.xml | 2 ++ .../expected/get_5e9e67dc-18d6-4645-8111-c6263c88a61f.xml | 2 ++ .../expected/get_6a9d0558-9d87-495b-b999-b49a3ef1cf99.xml | 2 ++ .../expected/get_6e9cba43-5e27-415d-adbd-a92851c2c173.xml | 2 ++ .../expected/get_7e82446a-b5dc-43fe-9a73-4cc1f2f2f0bf.xml | 2 ++ .../expected/get_8025978e-1a35-4d70-80c2-e8329e0c7864.xml | 2 ++ .../suites/csw30/expected/get_GetCapabilities-base-url.xml | 2 ++ .../suites/csw30/expected/get_GetCapabilities-no-version.xml | 2 ++ .../suites/csw30/expected/get_GetCapabilities.xml | 2 ++ .../expected/get_c03d173a-3f42-4956-89c8-1fe02c3a0873.xml | 2 ++ .../expected/get_e67ca935-d65d-4d8c-8302-1405333dded0.xml | 2 ++ .../suites/csw30/expected/post_GetCapabilities.xml | 2 ++ .../suites/default/expected/get_GetCapabilities.xml | 2 ++ .../suites/default/expected/post_GetCapabilities-SOAP.xml | 2 ++ .../default/expected/post_GetCapabilities-updatesequence.xml | 2 ++ .../suites/default/expected/post_GetCapabilities.xml | 2 ++ .../suites/dif/expected/post_GetCapabilities.xml | 2 ++ .../suites/ebrim/expected/post_GetCapabilities.xml | 2 ++ .../suites/fgdc/expected/post_GetCapabilities.xml | 2 ++ .../suites/gm03/expected/post_GetCapabilities.xml | 2 ++ .../suites/harvesting/expected/post_GetCapabilities.xml | 2 ++ .../post_Harvest-zzz-post-GetRecords-filter-ows-dc.xml | 3 +++ ...post_Harvest-zzz-post-GetRecords-filter-sos-abstract-dc.xml | 1 + .../post_Harvest-zzz-post-GetRecords-filter-sos-dc.xml | 2 ++ .../post_Harvest-zzz-post-GetRecords-filter-wms-dc.xml | 1 + .../post_Harvest-zzz-post-GetRecords-filter-wms-layer.xml | 2 ++ .../suites/manager/expected/post_GetCapabilities.xml | 2 ++ .../suites/utf-8/expected/post_GetCapabilities.xml | 2 ++ tests/functionaltests/test_suites_functional.py | 2 ++ 47 files changed, 93 insertions(+) diff --git a/tests/functionaltests/suites/apiso-inspire/expected/get_GetCapabilities-lang.xml b/tests/functionaltests/suites/apiso-inspire/expected/get_GetCapabilities-lang.xml index 6ecec21c6..0434106ff 100644 --- a/tests/functionaltests/suites/apiso-inspire/expected/get_GetCapabilities-lang.xml +++ b/tests/functionaltests/suites/apiso-inspire/expected/get_GetCapabilities-lang.xml @@ -169,7 +169,9 @@ dc:title dc:type dct:abstract + dct:alternative dct:modified + dct:spatial ows:BoundingBox diff --git a/tests/functionaltests/suites/apiso-inspire/expected/get_GetCapabilities.xml b/tests/functionaltests/suites/apiso-inspire/expected/get_GetCapabilities.xml index 6ecec21c6..0434106ff 100644 --- a/tests/functionaltests/suites/apiso-inspire/expected/get_GetCapabilities.xml +++ b/tests/functionaltests/suites/apiso-inspire/expected/get_GetCapabilities.xml @@ -169,7 +169,9 @@ dc:title dc:type dct:abstract + dct:alternative dct:modified + dct:spatial ows:BoundingBox diff --git a/tests/functionaltests/suites/apiso/expected/post_GetCapabilities.xml b/tests/functionaltests/suites/apiso/expected/post_GetCapabilities.xml index 00656b296..fdfc1b626 100644 --- a/tests/functionaltests/suites/apiso/expected/post_GetCapabilities.xml +++ b/tests/functionaltests/suites/apiso/expected/post_GetCapabilities.xml @@ -169,7 +169,9 @@ dc:title dc:type dct:abstract + dct:alternative dct:modified + dct:spatial ows:BoundingBox diff --git a/tests/functionaltests/suites/atom/expected/post_GetCapabilities.xml b/tests/functionaltests/suites/atom/expected/post_GetCapabilities.xml index 7ce6b5663..6c3bf9d86 100644 --- a/tests/functionaltests/suites/atom/expected/post_GetCapabilities.xml +++ b/tests/functionaltests/suites/atom/expected/post_GetCapabilities.xml @@ -150,7 +150,9 @@ dc:title dc:type dct:abstract + dct:alternative dct:modified + dct:spatial ows:BoundingBox diff --git a/tests/functionaltests/suites/cite/expected/get_27e17158-c57a-4493-92ac-dba8934cf462.xml b/tests/functionaltests/suites/cite/expected/get_27e17158-c57a-4493-92ac-dba8934cf462.xml index 369f8d8d5..e38229588 100644 --- a/tests/functionaltests/suites/cite/expected/get_27e17158-c57a-4493-92ac-dba8934cf462.xml +++ b/tests/functionaltests/suites/cite/expected/get_27e17158-c57a-4493-92ac-dba8934cf462.xml @@ -152,7 +152,9 @@ dc:title dc:type dct:abstract + dct:alternative dct:modified + dct:spatial ows:BoundingBox diff --git a/tests/functionaltests/suites/cite/expected/get_2ab7d1fa-885b-459f-80e4-b6282eab4f8c.xml b/tests/functionaltests/suites/cite/expected/get_2ab7d1fa-885b-459f-80e4-b6282eab4f8c.xml index 369f8d8d5..e38229588 100644 --- a/tests/functionaltests/suites/cite/expected/get_2ab7d1fa-885b-459f-80e4-b6282eab4f8c.xml +++ b/tests/functionaltests/suites/cite/expected/get_2ab7d1fa-885b-459f-80e4-b6282eab4f8c.xml @@ -152,7 +152,9 @@ dc:title dc:type dct:abstract + dct:alternative dct:modified + dct:spatial ows:BoundingBox diff --git a/tests/functionaltests/suites/cite/expected/get_477b23a3-baa9-47c8-9541-5fe27735ed49.xml b/tests/functionaltests/suites/cite/expected/get_477b23a3-baa9-47c8-9541-5fe27735ed49.xml index 77dd76c6b..b8f8f6a2e 100644 --- a/tests/functionaltests/suites/cite/expected/get_477b23a3-baa9-47c8-9541-5fe27735ed49.xml +++ b/tests/functionaltests/suites/cite/expected/get_477b23a3-baa9-47c8-9541-5fe27735ed49.xml @@ -269,7 +269,9 @@ dc:title dc:type dct:abstract + dct:alternative dct:modified + dct:spatial ows:BoundingBox diff --git a/tests/functionaltests/suites/cite/expected/get_48f26761-3a9d-48db-bee1-da089f5fb857.xml b/tests/functionaltests/suites/cite/expected/get_48f26761-3a9d-48db-bee1-da089f5fb857.xml index 369f8d8d5..e38229588 100644 --- a/tests/functionaltests/suites/cite/expected/get_48f26761-3a9d-48db-bee1-da089f5fb857.xml +++ b/tests/functionaltests/suites/cite/expected/get_48f26761-3a9d-48db-bee1-da089f5fb857.xml @@ -152,7 +152,9 @@ dc:title dc:type dct:abstract + dct:alternative dct:modified + dct:spatial ows:BoundingBox diff --git a/tests/functionaltests/suites/cite/expected/get_55c38f00-2553-42c1-99ab-33edbb561ad7.xml b/tests/functionaltests/suites/cite/expected/get_55c38f00-2553-42c1-99ab-33edbb561ad7.xml index 14d595bc3..0bf0d3145 100644 --- a/tests/functionaltests/suites/cite/expected/get_55c38f00-2553-42c1-99ab-33edbb561ad7.xml +++ b/tests/functionaltests/suites/cite/expected/get_55c38f00-2553-42c1-99ab-33edbb561ad7.xml @@ -243,7 +243,9 @@ dc:title dc:type dct:abstract + dct:alternative dct:modified + dct:spatial ows:BoundingBox diff --git a/tests/functionaltests/suites/cite/expected/get_80f31def-4185-48b9-983a-960566918eae.xml b/tests/functionaltests/suites/cite/expected/get_80f31def-4185-48b9-983a-960566918eae.xml index 77dd76c6b..b8f8f6a2e 100644 --- a/tests/functionaltests/suites/cite/expected/get_80f31def-4185-48b9-983a-960566918eae.xml +++ b/tests/functionaltests/suites/cite/expected/get_80f31def-4185-48b9-983a-960566918eae.xml @@ -269,7 +269,9 @@ dc:title dc:type dct:abstract + dct:alternative dct:modified + dct:spatial ows:BoundingBox diff --git a/tests/functionaltests/suites/cite/expected/get_9697f0aa-3b6a-4125-83a5-61e8826127c4.xml b/tests/functionaltests/suites/cite/expected/get_9697f0aa-3b6a-4125-83a5-61e8826127c4.xml index 77dd76c6b..b8f8f6a2e 100644 --- a/tests/functionaltests/suites/cite/expected/get_9697f0aa-3b6a-4125-83a5-61e8826127c4.xml +++ b/tests/functionaltests/suites/cite/expected/get_9697f0aa-3b6a-4125-83a5-61e8826127c4.xml @@ -269,7 +269,9 @@ dc:title dc:type dct:abstract + dct:alternative dct:modified + dct:spatial ows:BoundingBox diff --git a/tests/functionaltests/suites/cite/expected/get_ba5fc729-3b71-47a0-b7d0-42ec565cd185.xml b/tests/functionaltests/suites/cite/expected/get_ba5fc729-3b71-47a0-b7d0-42ec565cd185.xml index 369f8d8d5..e38229588 100644 --- a/tests/functionaltests/suites/cite/expected/get_ba5fc729-3b71-47a0-b7d0-42ec565cd185.xml +++ b/tests/functionaltests/suites/cite/expected/get_ba5fc729-3b71-47a0-b7d0-42ec565cd185.xml @@ -152,7 +152,9 @@ dc:title dc:type dct:abstract + dct:alternative dct:modified + dct:spatial ows:BoundingBox diff --git a/tests/functionaltests/suites/cite/expected/get_f4692ec5-9547-4a05-88ab-e6154af2640a.xml b/tests/functionaltests/suites/cite/expected/get_f4692ec5-9547-4a05-88ab-e6154af2640a.xml index 369f8d8d5..e38229588 100644 --- a/tests/functionaltests/suites/cite/expected/get_f4692ec5-9547-4a05-88ab-e6154af2640a.xml +++ b/tests/functionaltests/suites/cite/expected/get_f4692ec5-9547-4a05-88ab-e6154af2640a.xml @@ -152,7 +152,9 @@ dc:title dc:type dct:abstract + dct:alternative dct:modified + dct:spatial ows:BoundingBox diff --git a/tests/functionaltests/suites/csw30/expected/get_0bdf8457-971e-4ed1-be4a-5feca4dcd8fa.xml b/tests/functionaltests/suites/csw30/expected/get_0bdf8457-971e-4ed1-be4a-5feca4dcd8fa.xml index ce9c9355d..c5cb70e29 100644 --- a/tests/functionaltests/suites/csw30/expected/get_0bdf8457-971e-4ed1-be4a-5feca4dcd8fa.xml +++ b/tests/functionaltests/suites/csw30/expected/get_0bdf8457-971e-4ed1-be4a-5feca4dcd8fa.xml @@ -217,7 +217,9 @@ dc:title dc:type dct:abstract + dct:alternative dct:modified + dct:spatial ows:BoundingBox diff --git a/tests/functionaltests/suites/csw30/expected/get_22f44168-2ccf-4801-ad96-204212566d56.xml b/tests/functionaltests/suites/csw30/expected/get_22f44168-2ccf-4801-ad96-204212566d56.xml index ce9c9355d..c5cb70e29 100644 --- a/tests/functionaltests/suites/csw30/expected/get_22f44168-2ccf-4801-ad96-204212566d56.xml +++ b/tests/functionaltests/suites/csw30/expected/get_22f44168-2ccf-4801-ad96-204212566d56.xml @@ -217,7 +217,9 @@ dc:title dc:type dct:abstract + dct:alternative dct:modified + dct:spatial ows:BoundingBox diff --git a/tests/functionaltests/suites/csw30/expected/get_2499a9c9-8d33-449c-bc92-d494adfcc84d.xml b/tests/functionaltests/suites/csw30/expected/get_2499a9c9-8d33-449c-bc92-d494adfcc84d.xml index ce9c9355d..c5cb70e29 100644 --- a/tests/functionaltests/suites/csw30/expected/get_2499a9c9-8d33-449c-bc92-d494adfcc84d.xml +++ b/tests/functionaltests/suites/csw30/expected/get_2499a9c9-8d33-449c-bc92-d494adfcc84d.xml @@ -217,7 +217,9 @@ dc:title dc:type dct:abstract + dct:alternative dct:modified + dct:spatial ows:BoundingBox diff --git a/tests/functionaltests/suites/csw30/expected/get_27f4f39c-d92a-4e3c-b961-c6aa8c24e513.xml b/tests/functionaltests/suites/csw30/expected/get_27f4f39c-d92a-4e3c-b961-c6aa8c24e513.xml index ce9c9355d..c5cb70e29 100644 --- a/tests/functionaltests/suites/csw30/expected/get_27f4f39c-d92a-4e3c-b961-c6aa8c24e513.xml +++ b/tests/functionaltests/suites/csw30/expected/get_27f4f39c-d92a-4e3c-b961-c6aa8c24e513.xml @@ -217,7 +217,9 @@ dc:title dc:type dct:abstract + dct:alternative dct:modified + dct:spatial ows:BoundingBox diff --git a/tests/functionaltests/suites/csw30/expected/get_2b06a5c8-0df2-4af1-8d2e-a425de11c845.xml b/tests/functionaltests/suites/csw30/expected/get_2b06a5c8-0df2-4af1-8d2e-a425de11c845.xml index ce9c9355d..c5cb70e29 100644 --- a/tests/functionaltests/suites/csw30/expected/get_2b06a5c8-0df2-4af1-8d2e-a425de11c845.xml +++ b/tests/functionaltests/suites/csw30/expected/get_2b06a5c8-0df2-4af1-8d2e-a425de11c845.xml @@ -217,7 +217,9 @@ dc:title dc:type dct:abstract + dct:alternative dct:modified + dct:spatial ows:BoundingBox diff --git a/tests/functionaltests/suites/csw30/expected/get_43cd6471-6ac7-45bd-8ff9-148cb2de9a52.xml b/tests/functionaltests/suites/csw30/expected/get_43cd6471-6ac7-45bd-8ff9-148cb2de9a52.xml index ce9c9355d..c5cb70e29 100644 --- a/tests/functionaltests/suites/csw30/expected/get_43cd6471-6ac7-45bd-8ff9-148cb2de9a52.xml +++ b/tests/functionaltests/suites/csw30/expected/get_43cd6471-6ac7-45bd-8ff9-148cb2de9a52.xml @@ -217,7 +217,9 @@ dc:title dc:type dct:abstract + dct:alternative dct:modified + dct:spatial ows:BoundingBox diff --git a/tests/functionaltests/suites/csw30/expected/get_5e9e67dc-18d6-4645-8111-c6263c88a61f.xml b/tests/functionaltests/suites/csw30/expected/get_5e9e67dc-18d6-4645-8111-c6263c88a61f.xml index 4d3fed27a..2037f14f0 100644 --- a/tests/functionaltests/suites/csw30/expected/get_5e9e67dc-18d6-4645-8111-c6263c88a61f.xml +++ b/tests/functionaltests/suites/csw30/expected/get_5e9e67dc-18d6-4645-8111-c6263c88a61f.xml @@ -177,7 +177,9 @@ dc:title dc:type dct:abstract + dct:alternative dct:modified + dct:spatial ows:BoundingBox diff --git a/tests/functionaltests/suites/csw30/expected/get_6a9d0558-9d87-495b-b999-b49a3ef1cf99.xml b/tests/functionaltests/suites/csw30/expected/get_6a9d0558-9d87-495b-b999-b49a3ef1cf99.xml index ce9c9355d..c5cb70e29 100644 --- a/tests/functionaltests/suites/csw30/expected/get_6a9d0558-9d87-495b-b999-b49a3ef1cf99.xml +++ b/tests/functionaltests/suites/csw30/expected/get_6a9d0558-9d87-495b-b999-b49a3ef1cf99.xml @@ -217,7 +217,9 @@ dc:title dc:type dct:abstract + dct:alternative dct:modified + dct:spatial ows:BoundingBox diff --git a/tests/functionaltests/suites/csw30/expected/get_6e9cba43-5e27-415d-adbd-a92851c2c173.xml b/tests/functionaltests/suites/csw30/expected/get_6e9cba43-5e27-415d-adbd-a92851c2c173.xml index ce9c9355d..c5cb70e29 100644 --- a/tests/functionaltests/suites/csw30/expected/get_6e9cba43-5e27-415d-adbd-a92851c2c173.xml +++ b/tests/functionaltests/suites/csw30/expected/get_6e9cba43-5e27-415d-adbd-a92851c2c173.xml @@ -217,7 +217,9 @@ dc:title dc:type dct:abstract + dct:alternative dct:modified + dct:spatial ows:BoundingBox diff --git a/tests/functionaltests/suites/csw30/expected/get_7e82446a-b5dc-43fe-9a73-4cc1f2f2f0bf.xml b/tests/functionaltests/suites/csw30/expected/get_7e82446a-b5dc-43fe-9a73-4cc1f2f2f0bf.xml index ce9c9355d..c5cb70e29 100644 --- a/tests/functionaltests/suites/csw30/expected/get_7e82446a-b5dc-43fe-9a73-4cc1f2f2f0bf.xml +++ b/tests/functionaltests/suites/csw30/expected/get_7e82446a-b5dc-43fe-9a73-4cc1f2f2f0bf.xml @@ -217,7 +217,9 @@ dc:title dc:type dct:abstract + dct:alternative dct:modified + dct:spatial ows:BoundingBox diff --git a/tests/functionaltests/suites/csw30/expected/get_8025978e-1a35-4d70-80c2-e8329e0c7864.xml b/tests/functionaltests/suites/csw30/expected/get_8025978e-1a35-4d70-80c2-e8329e0c7864.xml index ce9c9355d..c5cb70e29 100644 --- a/tests/functionaltests/suites/csw30/expected/get_8025978e-1a35-4d70-80c2-e8329e0c7864.xml +++ b/tests/functionaltests/suites/csw30/expected/get_8025978e-1a35-4d70-80c2-e8329e0c7864.xml @@ -217,7 +217,9 @@ dc:title dc:type dct:abstract + dct:alternative dct:modified + dct:spatial ows:BoundingBox diff --git a/tests/functionaltests/suites/csw30/expected/get_GetCapabilities-base-url.xml b/tests/functionaltests/suites/csw30/expected/get_GetCapabilities-base-url.xml index ce9c9355d..c5cb70e29 100644 --- a/tests/functionaltests/suites/csw30/expected/get_GetCapabilities-base-url.xml +++ b/tests/functionaltests/suites/csw30/expected/get_GetCapabilities-base-url.xml @@ -217,7 +217,9 @@ dc:title dc:type dct:abstract + dct:alternative dct:modified + dct:spatial ows:BoundingBox diff --git a/tests/functionaltests/suites/csw30/expected/get_GetCapabilities-no-version.xml b/tests/functionaltests/suites/csw30/expected/get_GetCapabilities-no-version.xml index ce9c9355d..c5cb70e29 100644 --- a/tests/functionaltests/suites/csw30/expected/get_GetCapabilities-no-version.xml +++ b/tests/functionaltests/suites/csw30/expected/get_GetCapabilities-no-version.xml @@ -217,7 +217,9 @@ dc:title dc:type dct:abstract + dct:alternative dct:modified + dct:spatial ows:BoundingBox diff --git a/tests/functionaltests/suites/csw30/expected/get_GetCapabilities.xml b/tests/functionaltests/suites/csw30/expected/get_GetCapabilities.xml index ce9c9355d..c5cb70e29 100644 --- a/tests/functionaltests/suites/csw30/expected/get_GetCapabilities.xml +++ b/tests/functionaltests/suites/csw30/expected/get_GetCapabilities.xml @@ -217,7 +217,9 @@ dc:title dc:type dct:abstract + dct:alternative dct:modified + dct:spatial ows:BoundingBox diff --git a/tests/functionaltests/suites/csw30/expected/get_c03d173a-3f42-4956-89c8-1fe02c3a0873.xml b/tests/functionaltests/suites/csw30/expected/get_c03d173a-3f42-4956-89c8-1fe02c3a0873.xml index ce9c9355d..c5cb70e29 100644 --- a/tests/functionaltests/suites/csw30/expected/get_c03d173a-3f42-4956-89c8-1fe02c3a0873.xml +++ b/tests/functionaltests/suites/csw30/expected/get_c03d173a-3f42-4956-89c8-1fe02c3a0873.xml @@ -217,7 +217,9 @@ dc:title dc:type dct:abstract + dct:alternative dct:modified + dct:spatial ows:BoundingBox diff --git a/tests/functionaltests/suites/csw30/expected/get_e67ca935-d65d-4d8c-8302-1405333dded0.xml b/tests/functionaltests/suites/csw30/expected/get_e67ca935-d65d-4d8c-8302-1405333dded0.xml index ce9c9355d..c5cb70e29 100644 --- a/tests/functionaltests/suites/csw30/expected/get_e67ca935-d65d-4d8c-8302-1405333dded0.xml +++ b/tests/functionaltests/suites/csw30/expected/get_e67ca935-d65d-4d8c-8302-1405333dded0.xml @@ -217,7 +217,9 @@ dc:title dc:type dct:abstract + dct:alternative dct:modified + dct:spatial ows:BoundingBox diff --git a/tests/functionaltests/suites/csw30/expected/post_GetCapabilities.xml b/tests/functionaltests/suites/csw30/expected/post_GetCapabilities.xml index ce9c9355d..c5cb70e29 100644 --- a/tests/functionaltests/suites/csw30/expected/post_GetCapabilities.xml +++ b/tests/functionaltests/suites/csw30/expected/post_GetCapabilities.xml @@ -217,7 +217,9 @@ dc:title dc:type dct:abstract + dct:alternative dct:modified + dct:spatial ows:BoundingBox diff --git a/tests/functionaltests/suites/default/expected/get_GetCapabilities.xml b/tests/functionaltests/suites/default/expected/get_GetCapabilities.xml index 8026e1b3b..43965feec 100644 --- a/tests/functionaltests/suites/default/expected/get_GetCapabilities.xml +++ b/tests/functionaltests/suites/default/expected/get_GetCapabilities.xml @@ -150,7 +150,9 @@ dc:title dc:type dct:abstract + dct:alternative dct:modified + dct:spatial ows:BoundingBox diff --git a/tests/functionaltests/suites/default/expected/post_GetCapabilities-SOAP.xml b/tests/functionaltests/suites/default/expected/post_GetCapabilities-SOAP.xml index ae7b31029..ad05bd817 100644 --- a/tests/functionaltests/suites/default/expected/post_GetCapabilities-SOAP.xml +++ b/tests/functionaltests/suites/default/expected/post_GetCapabilities-SOAP.xml @@ -152,7 +152,9 @@ dc:title dc:type dct:abstract + dct:alternative dct:modified + dct:spatial ows:BoundingBox diff --git a/tests/functionaltests/suites/default/expected/post_GetCapabilities-updatesequence.xml b/tests/functionaltests/suites/default/expected/post_GetCapabilities-updatesequence.xml index 8026e1b3b..43965feec 100644 --- a/tests/functionaltests/suites/default/expected/post_GetCapabilities-updatesequence.xml +++ b/tests/functionaltests/suites/default/expected/post_GetCapabilities-updatesequence.xml @@ -150,7 +150,9 @@ dc:title dc:type dct:abstract + dct:alternative dct:modified + dct:spatial ows:BoundingBox diff --git a/tests/functionaltests/suites/default/expected/post_GetCapabilities.xml b/tests/functionaltests/suites/default/expected/post_GetCapabilities.xml index 8026e1b3b..43965feec 100644 --- a/tests/functionaltests/suites/default/expected/post_GetCapabilities.xml +++ b/tests/functionaltests/suites/default/expected/post_GetCapabilities.xml @@ -150,7 +150,9 @@ dc:title dc:type dct:abstract + dct:alternative dct:modified + dct:spatial ows:BoundingBox diff --git a/tests/functionaltests/suites/dif/expected/post_GetCapabilities.xml b/tests/functionaltests/suites/dif/expected/post_GetCapabilities.xml index e062f2209..deefdd1b5 100644 --- a/tests/functionaltests/suites/dif/expected/post_GetCapabilities.xml +++ b/tests/functionaltests/suites/dif/expected/post_GetCapabilities.xml @@ -150,7 +150,9 @@ dc:title dc:type dct:abstract + dct:alternative dct:modified + dct:spatial ows:BoundingBox diff --git a/tests/functionaltests/suites/ebrim/expected/post_GetCapabilities.xml b/tests/functionaltests/suites/ebrim/expected/post_GetCapabilities.xml index 41b60a20a..c9fd517d5 100644 --- a/tests/functionaltests/suites/ebrim/expected/post_GetCapabilities.xml +++ b/tests/functionaltests/suites/ebrim/expected/post_GetCapabilities.xml @@ -153,7 +153,9 @@ dc:title dc:type dct:abstract + dct:alternative dct:modified + dct:spatial ows:BoundingBox diff --git a/tests/functionaltests/suites/fgdc/expected/post_GetCapabilities.xml b/tests/functionaltests/suites/fgdc/expected/post_GetCapabilities.xml index e4ea071fe..3a83ea90d 100644 --- a/tests/functionaltests/suites/fgdc/expected/post_GetCapabilities.xml +++ b/tests/functionaltests/suites/fgdc/expected/post_GetCapabilities.xml @@ -150,7 +150,9 @@ dc:title dc:type dct:abstract + dct:alternative dct:modified + dct:spatial ows:BoundingBox diff --git a/tests/functionaltests/suites/gm03/expected/post_GetCapabilities.xml b/tests/functionaltests/suites/gm03/expected/post_GetCapabilities.xml index 46b77ba68..fe524be71 100644 --- a/tests/functionaltests/suites/gm03/expected/post_GetCapabilities.xml +++ b/tests/functionaltests/suites/gm03/expected/post_GetCapabilities.xml @@ -150,7 +150,9 @@ dc:title dc:type dct:abstract + dct:alternative dct:modified + dct:spatial ows:BoundingBox diff --git a/tests/functionaltests/suites/harvesting/expected/post_GetCapabilities.xml b/tests/functionaltests/suites/harvesting/expected/post_GetCapabilities.xml index 731b83f90..c7b5eea6b 100644 --- a/tests/functionaltests/suites/harvesting/expected/post_GetCapabilities.xml +++ b/tests/functionaltests/suites/harvesting/expected/post_GetCapabilities.xml @@ -171,7 +171,9 @@ dc:title dc:type dct:abstract + dct:alternative dct:modified + dct:spatial ows:BoundingBox diff --git a/tests/functionaltests/suites/harvesting/expected/post_Harvest-zzz-post-GetRecords-filter-ows-dc.xml b/tests/functionaltests/suites/harvesting/expected/post_Harvest-zzz-post-GetRecords-filter-ows-dc.xml index 2b2887b5d..595739551 100644 --- a/tests/functionaltests/suites/harvesting/expected/post_Harvest-zzz-post-GetRecords-filter-ows-dc.xml +++ b/tests/functionaltests/suites/harvesting/expected/post_Harvest-zzz-post-GetRecords-filter-ows-dc.xml @@ -72,6 +72,7 @@ Eric Bridger http://www.neracoos.org/cgi-bin/sos/V1.0/oostethys_sos.cgi NONE + urn:ogc:def:crs:EPSG:6.11:4326 40.58 -73.73 47.79 -54.05 @@ -95,6 +96,7 @@ Boyan Brodaric http://ngwd-bdnes.cits.nrcan.gc.ca/GinService/sos/gw NONE + urn:ogc:def:crs:EPSG:6.11:4326 41.0 -120.0 60.0 -60.0 @@ -116,6 +118,7 @@ NONE + urn:ogc:def:crs:EPSG:6.11:4326 41.03 -97.71 49.67 -80.68 diff --git a/tests/functionaltests/suites/harvesting/expected/post_Harvest-zzz-post-GetRecords-filter-sos-abstract-dc.xml b/tests/functionaltests/suites/harvesting/expected/post_Harvest-zzz-post-GetRecords-filter-sos-abstract-dc.xml index f5af5079a..da7d58075 100644 --- a/tests/functionaltests/suites/harvesting/expected/post_Harvest-zzz-post-GetRecords-filter-sos-abstract-dc.xml +++ b/tests/functionaltests/suites/harvesting/expected/post_Harvest-zzz-post-GetRecords-filter-sos-abstract-dc.xml @@ -21,6 +21,7 @@ Boyan Brodaric http://ngwd-bdnes.cits.nrcan.gc.ca/GinService/sos/gw NONE + urn:ogc:def:crs:EPSG:6.11:4326 41.0 -120.0 60.0 -60.0 diff --git a/tests/functionaltests/suites/harvesting/expected/post_Harvest-zzz-post-GetRecords-filter-sos-dc.xml b/tests/functionaltests/suites/harvesting/expected/post_Harvest-zzz-post-GetRecords-filter-sos-dc.xml index 8523426f5..47a3ac295 100644 --- a/tests/functionaltests/suites/harvesting/expected/post_Harvest-zzz-post-GetRecords-filter-sos-dc.xml +++ b/tests/functionaltests/suites/harvesting/expected/post_Harvest-zzz-post-GetRecords-filter-sos-dc.xml @@ -37,6 +37,7 @@ Eric Bridger http://www.neracoos.org/cgi-bin/sos/V1.0/oostethys_sos.cgi NONE + urn:ogc:def:crs:EPSG:6.11:4326 40.58 -73.73 47.79 -54.05 @@ -60,6 +61,7 @@ Boyan Brodaric http://ngwd-bdnes.cits.nrcan.gc.ca/GinService/sos/gw NONE + urn:ogc:def:crs:EPSG:6.11:4326 41.0 -120.0 60.0 -60.0 diff --git a/tests/functionaltests/suites/harvesting/expected/post_Harvest-zzz-post-GetRecords-filter-wms-dc.xml b/tests/functionaltests/suites/harvesting/expected/post_Harvest-zzz-post-GetRecords-filter-wms-dc.xml index e39d7cb23..c825868d8 100644 --- a/tests/functionaltests/suites/harvesting/expected/post_Harvest-zzz-post-GetRecords-filter-wms-dc.xml +++ b/tests/functionaltests/suites/harvesting/expected/post_Harvest-zzz-post-GetRecords-filter-wms-dc.xml @@ -80,6 +80,7 @@ Daryl Herzmann http://mesonet.agron.iastate.edu/cgi-bin/wms/nexrad/n0r-t.cgi None + urn:ogc:def:crs:EPSG:6.11:4326 24.0 -126.0 50.0 -66.0 diff --git a/tests/functionaltests/suites/harvesting/expected/post_Harvest-zzz-post-GetRecords-filter-wms-layer.xml b/tests/functionaltests/suites/harvesting/expected/post_Harvest-zzz-post-GetRecords-filter-wms-layer.xml index 1bc09e79a..9b6b4645a 100644 --- a/tests/functionaltests/suites/harvesting/expected/post_Harvest-zzz-post-GetRecords-filter-wms-layer.xml +++ b/tests/functionaltests/suites/harvesting/expected/post_Harvest-zzz-post-GetRecords-filter-wms-layer.xml @@ -11,6 +11,7 @@ http://mesonet.agron.iastate.edu/cgi-bin/wms/nexrad/n0r-t.cgi http://mesonet.agron.iastate.edu/cgi-bin/wms/nexrad/n0r-t.cgi?layers=time_idx&width=200&version=1.1.1&bbox=-126.0%2C24.0%2C-66.0%2C50.0&service=WMS&format=image%2Fpng&styles=&srs=EPSG%3A4326&request=GetMap&height=200 http://mesonet.agron.iastate.edu/cgi-bin/wms/nexrad/n0r-t.cgi + urn:ogc:def:crs:EPSG:6.11:4326 24.0 -126.0 50.0 -66.0 @@ -24,6 +25,7 @@ http://mesonet.agron.iastate.edu/cgi-bin/wms/nexrad/n0r-t.cgi http://mesonet.agron.iastate.edu/cgi-bin/wms/nexrad/n0r-t.cgi?layers=nexrad-n0r-wmst&width=200&version=1.1.1&bbox=-126.0%2C24.0%2C-66.0%2C50.0&service=WMS&format=image%2Fpng&styles=&srs=EPSG%3A4326&request=GetMap&height=200 http://mesonet.agron.iastate.edu/cgi-bin/wms/nexrad/n0r-t.cgi + urn:ogc:def:crs:EPSG:6.11:4326 24.0 -126.0 50.0 -66.0 diff --git a/tests/functionaltests/suites/manager/expected/post_GetCapabilities.xml b/tests/functionaltests/suites/manager/expected/post_GetCapabilities.xml index 1fc931575..4931b7d31 100644 --- a/tests/functionaltests/suites/manager/expected/post_GetCapabilities.xml +++ b/tests/functionaltests/suites/manager/expected/post_GetCapabilities.xml @@ -171,7 +171,9 @@ dc:title dc:type dct:abstract + dct:alternative dct:modified + dct:spatial ows:BoundingBox diff --git a/tests/functionaltests/suites/utf-8/expected/post_GetCapabilities.xml b/tests/functionaltests/suites/utf-8/expected/post_GetCapabilities.xml index 094ce1123..4df1e4876 100644 --- a/tests/functionaltests/suites/utf-8/expected/post_GetCapabilities.xml +++ b/tests/functionaltests/suites/utf-8/expected/post_GetCapabilities.xml @@ -150,7 +150,9 @@ dc:title dc:type dct:abstract + dct:alternative dct:modified + dct:spatial ows:BoundingBox diff --git a/tests/functionaltests/test_suites_functional.py b/tests/functionaltests/test_suites_functional.py index da52b12ed..31b6e3f70 100644 --- a/tests/functionaltests/test_suites_functional.py +++ b/tests/functionaltests/test_suites_functional.py @@ -97,6 +97,8 @@ def test_suites(configuration, request_method, request_data, expected_result, if not matches_expected: print("expected: {0}".format(expected.encode(encoding))) print("response: {0}".format(normalized_result.encode(encoding))) + #print("expected: {0}".format(expected)) + #print("response: {0}".format(normalized_result)) assert matches_expected From 1d8bbee11014d8d3af0c47e17f0f8b4c49d6bdd7 Mon Sep 17 00:00:00 2001 From: Ricardo Garcia Silva Date: Wed, 14 Dec 2016 17:53:13 +0000 Subject: [PATCH 063/119] deleted old suites and expected diectories --- ...apiso-inspire_get_GetCapabilities-lang.xml | 377 ----- ...ites_apiso-inspire_get_GetCapabilities.xml | 377 ----- .../suites_apiso_post_DescribeRecord.xml | 551 ------- .../suites_apiso_post_GetCapabilities.xml | 320 ---- .../suites_apiso_post_GetDomain-property.xml | 12 - .../suites_apiso_post_GetRecordById-brief.xml | 77 - ...uites_apiso_post_GetRecordById-full-dc.xml | 45 - .../suites_apiso_post_GetRecordById-full.xml | 40 - ...tes_apiso_post_GetRecordById-srv-brief.xml | 93 -- ...s_apiso_post_GetRecords-all-csw-output.xml | 399 ----- .../suites_apiso_post_GetRecords-all.xml | 399 ----- ...suites_apiso_post_GetRecords-cql-title.xml | 372 ----- ...ites_apiso_post_GetRecords-elementname.xml | 388 ----- ...-filter-and-nested-spatial-or-dateline.xml | 1132 -------------- ...s_apiso_post_GetRecords-filter-anytext.xml | 372 ----- ...post_GetRecords-filter-bbox-csw-output.xml | 52 - ...ites_apiso_post_GetRecords-filter-bbox.xml | 388 ----- ...iso_post_GetRecords-filter-servicetype.xml | 96 -- ...suites_atom_get_opensearch-description.xml | 13 - ..._atom_get_opensearch-ogc-bbox-and-time.xml | 38 - .../suites_atom_get_opensearch-ogc-bbox.xml | 52 - ...tom_get_opensearch-ogc-count-and-page1.xml | 32 - ...tom_get_opensearch-ogc-count-and-page2.xml | 17 - ...tes_atom_get_opensearch-ogc-q-and-bbox.xml | 24 - ...tes_atom_get_opensearch-ogc-q-and-time.xml | 18 - .../suites_atom_get_opensearch-ogc-q.xml | 18 - .../suites_atom_get_opensearch-ogc-time.xml | 18 - ...suites_atom_get_opensearch-ogc-timeend.xml | 18 - ...ites_atom_get_opensearch-ogc-timestart.xml | 47 - tests/expected/suites_atom_get_opensearch.xml | 110 -- .../suites_atom_post_DescribeRecord.xml | 3 - .../suites_atom_post_GetCapabilities.xml | 264 ---- ...uites_atom_post_GetRecords-filter-bbox.xml | 36 - ...t_27e17158-c57a-4493-92ac-dba8934cf462.xml | 312 ---- ...t_27f69b66-5f05-4311-a89c-73ca55c2686b.xml | 9 - ...t_2ab7d1fa-885b-459f-80e4-b6282eab4f8c.xml | 312 ---- ...t_37aa90e2-6ff0-420c-af15-8b9463099a73.xml | 14 - ...t_3a8a3c47-455f-4f49-9078-03119f3e70b3.xml | 7 - ...t_4515831f-834a-4699-95f6-ab0c2cbfcfd0.xml | 7 - ...t_477b23a3-baa9-47c8-9541-5fe27735ed49.xml | 545 ------- ...t_48f26761-3a9d-48db-bee1-da089f5fb857.xml | 312 ---- ...t_4e38092f-1586-44b8-988e-0acfa5855916.xml | 7 - ...t_55c38f00-2553-42c1-99ab-33edbb561ad7.xml | 394 ----- ...t_5ab5db18-c87a-4fbf-a8d8-b7289b09ac81.xml | 7 - ...t_6a4f57ca-a1bd-4802-89c2-44860dbdb0f0.xml | 11 - ...t_6c375703-9c00-4aef-bec7-d2e964f849eb.xml | 13 - ...t_80f31def-4185-48b9-983a-960566918eae.xml | 545 ------- ...t_8e2232ed-05d9-44ae-8b04-0911cbe6a507.xml | 7 - ...t_9697f0aa-3b6a-4125-83a5-61e8826127c4.xml | 545 ------- ...t_9bfd17fa-15dc-4a10-8fa7-b3cff7013dd7.xml | 13 - ...t_b81c3595-06d6-4693-82ea-1ff8650755ac.xml | 3 - ...t_ba5fc729-3b71-47a0-b7d0-42ec565cd185.xml | 312 ---- ...t_c4ea754f-c158-4d8d-8253-dc8f86021b52.xml | 7 - ...t_f4692ec5-9547-4a05-88ab-e6154af2640a.xml | 312 ---- ...t_f997f25e-c865-4d53-a362-0ed1846337f2.xml | 15 - ...t_0c976d98-c896-4b10-b1fe-a22ef50434e7.xml | 6 - ...t_19d2a6ed-be28-4866-ae15-e3bb634486cb.xml | 55 - ...t_1ab55aa3-6685-4595-8ecd-45987a7b8b59.xml | 19 - ...t_1c958b7a-ca09-4c38-98bd-ef1d1d28cc14.xml | 7 - ...t_1c97fc1a-61cd-4c1d-8054-933e17a6c5ee.xml | 7 - ...t_2102a460-5d62-465f-9668-d70b3faafbfa.xml | 12 - ...t_225f455a-0035-486b-a94e-fee7ae881b2b.xml | 17 - ...t_2d53ffea-60e4-4652-abf5-36eb23042fd5.xml | 69 - ...t_34a019a9-1581-42cb-9827-fbfdda2773b7.xml | 6 - ...t_3e76fd38-e035-41c9-83dc-61356f680c97.xml | 7 - ...t_418a6fb0-a89c-4a94-afc9-3f8168eb2980.xml | 15 - ...t_420b745e-0c4b-404e-9f2d-61fa580ff05a.xml | 22 - ...t_4735d649-a2b1-42fd-a101-14e1d7e4607f.xml | 44 - ...t_5c5861bc-f742-40a5-9998-5342615d674b.xml | 49 - ...t_6e736fd0-c266-4852-9eb3-0656f5d0f5c4.xml | 89 -- ...t_73f1551c-e269-4ef9-9dae-e535b5eebfc7.xml | 18 - ...t_78297c88-4850-4927-adc6-511cd9a3d539.xml | 115 -- ...t_7c89cdf5-0def-4cfb-8c55-2b8ffea5d92f.xml | 56 - ...t_7e2cd105-daec-4d25-bc8e-d49d21364912.xml | 3 - ...t_87f2f670-9cd6-4907-b82c-1b46a7dd2a78.xml | 50 - ...t_88b4e1ba-3bd4-4cbe-81e5-e004056d6ca3.xml | 7 - ...t_898cd63b-2585-4ec0-8720-d554bd324174.xml | 14 - ...t_8fb13dc3-5818-45e2-9e29-46abc16e7d38.xml | 48 - ...t_928c1896-52d4-4ac7-9832-f98e3eb65f02.xml | 17 - ...t_93bdbb9d-2734-4f01-92fb-48634cca41de.xml | 21 - ...t_948b39d5-bb4f-45b8-a8f2-4ff9501aaedd.xml | 51 - ...t_9fd64fcc-f69c-4626-b72e-5c7776a29aa9.xml | 7 - ...t_a06d04ab-e0d0-4a86-bfe8-71460f41fe37.xml | 69 - ...t_ad61686c-d304-42d1-b845-8c1f3070c83e.xml | 8 - ...t_af39c020-7b1d-429c-b474-f45c3164cb79.xml | 21 - ...t_b90e2de6-3d25-4298-a13e-dc9492a8fc73.xml | 91 -- ...t_ba9b0107-dcee-46ef-823a-a2e25a911a96.xml | 36 - ...t_bb66ebc5-7121-48b5-9f53-b56537d9561b.xml | 19 - ...t_c02d1c85-df9f-45ee-bea7-345c35e02a98.xml | 7 - ...t_c311a342-72e3-4983-be39-868e6ed9740f.xml | 115 -- ...t_c38916c2-4bc6-446d-b7aa-ab006d6ba31c.xml | 27 - ...t_c8588f47-8e65-45f5-ad34-ff4524cad84d.xml | 7 - ...t_da228d4c-e1be-43d7-9ccb-c3f27ee32541.xml | 7 - ...t_dc92c2c4-87d8-4a13-964e-ff9b0e0c27b3.xml | 22 - ...t_dcb13791-379e-4739-bcd4-dbaa69f0efdb.xml | 69 - ...t_e308f030-c097-4036-a838-44bad74c9ef7.xml | 69 - ...t_e6e9efb2-e2b7-4b0a-a3a2-7deea3f9b8e2.xml | 69 - ...t_f7976c55-a156-4421-8199-bc0487da4b0f.xml | 115 -- ...t_f7d79701-f10b-4087-a33c-f62df0a04fd1.xml | 69 - ...t_fc1bc094-88f1-4851-bc2b-dfc56be9f3c7.xml | 12 - ...t_fe20960f-a26c-4f13-852d-470a0d3233f9.xml | 12 - ...t_002258f0-627f-457f-b2ad-025777c77ac8.xml | 15 - ...t_045c600d-973d-41eb-9f60-eba1b717b720.xml | 24 - ...t_0bbcf862-5211-4351-9988-63f8bec49c98.xml | 116 -- ...t_0bdf8457-971e-4ed1-be4a-5feca4dcd8fa.xml | 493 ------ ...t_0d8bbdec-0846-42ca-8dc8-b7f4cba41d67.xml | 47 - ...t_0e1dca37-477a-4060-99fe-7799b52d656c.xml | 15 - ...t_13c87956-51a4-4780-a8e9-6e0b5c0bb473.xml | 92 -- ...t_151d982f-ebd3-4cb2-b507-a667713a1e92.xml | 7 - ...t_1869e495-1a61-4713-8285-76d1336ee1a6.xml | 7 - ...t_1bcb42a9-538c-4f0a-9d4c-d6f10b720aa6.xml | 7 - ...t_22f44168-2ccf-4801-ad96-204212566d56.xml | 493 ------ ...t_2499a9c9-8d33-449c-bc92-d494adfcc84d.xml | 493 ------ ...t_27f4f39c-d92a-4e3c-b961-c6aa8c24e513.xml | 493 ------ ...t_28e569df-8596-4128-8d9a-29ad03138915.xml | 8 - ...t_2b06a5c8-0df2-4af1-8d2e-a425de11c845.xml | 493 ------ ...t_2ba1418a-444d-4cce-9cfe-4c94efcf8b55.xml | 32 - ...t_397fe17a-d5b4-4f96-8cc4-4ce467ed4d0a.xml | 30 - ...t_3dcd1b15-73d2-4b7d-a3e3-ff15bf14aae4.xml | 69 - ...t_405e1ff1-5c75-4846-a28b-cfaff2a6921a.xml | 23 - ...t_43cd6471-6ac7-45bd-8ff9-148cb2de9a52.xml | 493 ------ ...t_4566d2ec-1283-4a02-baed-a74fc5b47e37.xml | 18 - ...t_461bd4c5-6623-490d-9036-d91a2201e87b.xml | 3 - ...t_5496894a-3877-4f62-a20b-5d7126f94925.xml | 7 - ...t_5a015f6a-bf14-4977-b1e3-6577eb0223c8.xml | 40 - ...t_5c3a2390-1fb9-43f0-b96c-f48c7a69c990.xml | 7 - ...t_5e9e67dc-18d6-4645-8111-c6263c88a61f.xml | 328 ---- ...t_604d9379-741c-42e5-b4cf-92e56c87fa64.xml | 32 - ...t_60e6af95-d5fc-465a-82e2-fd2e6d85e4af.xml | 7 - ...t_62ad94c2-b558-4265-a427-23d6677975d6.xml | 7 - ...t_6a5e247b-0961-4b8a-a0d6-35a491d9cfe7.xml | 7 - ...t_6a9d0558-9d87-495b-b999-b49a3ef1cf99.xml | 493 ------ ...t_6bd790c9-6019-4652-9c91-330a894d6700.xml | 16 - ...t_6e9cba43-5e27-415d-adbd-a92851c2c173.xml | 493 ------ ...t_7630d230-e142-4a09-accf-f091000b90cd.xml | 10 - ...t_7e82446a-b5dc-43fe-9a73-4cc1f2f2f0bf.xml | 493 ------ ...t_8025978e-1a35-4d70-80c2-e8329e0c7864.xml | 493 ------ ...t_8184ae4f-536d-4978-8b28-ad703be96967.xml | 34 - ...t_88f63a89-664f-4315-b4f8-04a0b33803a7.xml | 18 - ...t_8987f8f0-4d93-4481-968c-a2ccbd6b8be2.xml | 7 - ...t_8e5fa0f6-3f29-4d1f-abe2-d9866f3def98.xml | 58 - ...t_9000ec29-5649-474e-b2d6-55c00f8a52c0.xml | 7 - ...t_91914d35-7bbf-45e6-9b37-5ef484869a4e.xml | 38 - ...t_92d4844d-57d5-4cf3-8f47-ba50e369dc04.xml | 6 - ...t_9c0e2a4b-b4e6-41c0-b630-c8c99fc89ff3.xml | 7 - ...t_9d7ffac8-9798-428d-8e27-3cd12497ee6b.xml | 7 - ...et_Exception-GetDomain-value-reference.xml | 7 - .../suites_csw30_get_Exception-GetDomain.xml | 7 - ..._csw30_get_Exception-GetRecordById-404.xml | 7 - ...w30_get_Exception-GetRecordById-dc.xml.xml | 9 - ...t_Exception-GetRepositoryItem-notfound.xml | 7 - ...es_csw30_get_Exception-invalid-request.xml | 7 - ...tes_csw30_get_GetCapabilities-base-url.xml | 493 ------ ...s_csw30_get_GetCapabilities-no-version.xml | 493 ------ .../suites_csw30_get_GetCapabilities.xml | 493 ------ .../suites_csw30_get_GetDomain-parameter.xml | 12 - ...es_csw30_get_GetDomain-value-reference.xml | 18 - .../suites_csw30_get_GetRepositoryItem.xml | 11 - ...uites_csw30_get_OpenSearch-description.xml | 15 - ...t_a2f18643-e24e-4fa5-b780-6de4a2dbc814.xml | 9 - ...t_abc90c8c-5868-4405-a73e-64c849be3b2a.xml | 7 - ...t_ad0c0571-09ed-436a-9a4f-a5de744c88fe.xml | 22 - ...t_af502903-f4ee-47ee-b76e-af878d238bcc.xml | 40 - ...t_b2aafc3f-4f35-47bc-affd-08590972deae.xml | 58 - ...t_b6069623-f7d8-4021-8582-98f0aea0f763.xml | 48 - ...t_b9a07a54-75a8-45bd-b341-2823600211e3.xml | 8 - ...t_baa4a7d0-0c01-42b6-adc3-0d03e9949fa3.xml | 7 - ...t_bfbe6409-f64a-4c89-acb3-50f260a5c743.xml | 15 - ...t_bfe20134-d1da-42ef-9c0f-8e1307bbf92b.xml | 38 - ...t_c03d173a-3f42-4956-89c8-1fe02c3a0873.xml | 493 ------ ...t_cb43d8c3-e14c-4a9f-9231-4384b7dd21f3.xml | 7 - ...t_d03c6fd3-e821-4a26-b62f-d20a474e25af.xml | 30 - ...t_d4ccbf96-a529-480e-a53d-5b88dc1dea7f.xml | 7 - ...t_d94c801a-1207-4897-b84a-53f3a192515b.xml | 6 - ...t_da859e34-91fc-495a-8c09-285a40c0900b.xml | 14 - ...t_dc246fb8-5af5-4fda-82bb-c18b3ecd439c.xml | 40 - ...t_de016645-6d5c-4855-943c-2db07ae9f49a.xml | 30 - ...t_dff3ec6b-bb2d-4887-bd17-8fcf15def042.xml | 89 -- ...t_e38e6bfb-8ac4-4ae4-8b87-0aafbc8d3c6b.xml | 11 - ...t_e67ca935-d65d-4d8c-8302-1405333dded0.xml | 493 ------ ...t_e7704509-3441-458f-8ef0-e333c6b6043f.xml | 7 - ...t_f1223a49-6d08-44ff-97fe-4c32cbbfad82.xml | 6 - ...t_f89dd4e1-3a81-4433-afd2-a3fa1bdb1e18.xml | 7 - ..._Exception-GetDomain-parametername-bad.xml | 7 - ...Exception-GetDomain-valuereference-bad.xml | 7 - ...csw30_post_Exception-GetRecordById-404.xml | 7 - ...0_post_Exception-GetRecordById-bad-esn.xml | 7 - .../suites_csw30_post_Exception-bad-xml.xml | 8 - .../suites_csw30_post_Exception-not-xml.xml | 8 - .../suites_csw30_post_GetCapabilities.xml | 493 ------ ...tes_csw30_post_GetDomain-parametername.xml | 12 - ...es_csw30_post_GetDomain-valuereference.xml | 18 - ...uites_csw30_post_GetRecordById-dc-full.xml | 10 - .../suites_csw30_post_GetRecordById-dc.xml | 10 - ...t_Exception-GetRepositoryItem-notfound.xml | 7 - ...ion-GetRepositoryItem-service-invalid1.xml | 7 - ...ion-GetRepositoryItem-service-invalid2.xml | 7 - ...tion-GetRepositoryItem-version-invalid.xml | 7 - ...lt_get_GetCapabilities-invalid-request.xml | 7 - .../suites_default_get_GetCapabilities.xml | 264 ---- .../suites_default_get_GetRecords-all.xml | 6 - ...efault_get_GetRecords-empty-maxrecords.xml | 6 - ...lter-cql-title-or-abstract-with-spaces.xml | 23 - ...etRecords-filter-cql-title-or-abstract.xml | 23 - ...le-with-spaces-or-abstract-with-spaces.xml | 23 - ...lter-cql-title-with-spaces-or-abstract.xml | 23 - ...etRecords-filter-cql-title-with-spaces.xml | 23 - ...efault_get_GetRecords-filter-cql-title.xml | 23 - .../suites_default_get_GetRecords-filter.xml | 16 - ...ites_default_get_GetRecords-sortby-asc.xml | 91 -- ...tes_default_get_GetRecords-sortby-desc.xml | 93 -- ...lt_get_GetRecords-sortby-invalid-order.xml | 7 - ...GetRecords-sortby-invalid-propertyname.xml | 7 - .../suites_default_get_GetRepositoryItem.xml | 14 - ...uites_default_post_DescribeRecord-json.xml | 231 --- .../suites_default_post_DescribeRecord.xml | 115 -- ...t_post_Exception-GetRecords-badsrsname.xml | 7 - ..._post_Exception-GetRecords-elementname.xml | 7 - ..._post_Exception-GetRecords-invalid-xml.xml | 8 - ...ites_default_post_GetCapabilities-SOAP.xml | 268 ---- ..._default_post_GetCapabilities-sections.xml | 83 - ...lt_post_GetCapabilities-updatesequence.xml | 264 ---- .../suites_default_post_GetCapabilities.xml | 264 ---- ...uites_default_post_GetDomain-parameter.xml | 11 - ...suites_default_post_GetDomain-property.xml | 18 - ...suites_default_post_GetRecordById-json.xml | 18 - .../suites_default_post_GetRecordById.xml | 15 - ...uites_default_post_GetRecords-all-json.xml | 64 - ...lt_post_GetRecords-all-resulttype-hits.xml | 6 - ...ost_GetRecords-all-resulttype-validate.xml | 11 - ...efault_post_GetRecords-all-sortby-bbox.xml | 56 - .../suites_default_post_GetRecords-all.xml | 49 - ...ault_post_GetRecords-bbox-filter-crs84.xml | 34 - ...post_GetRecords-cql-title-and-abstract.xml | 12 - ...ites_default_post_GetRecords-cql-title.xml | 17 - ...ault_post_GetRecords-distributedsearch.xml | 17 - ...es_default_post_GetRecords-elementname.xml | 20 - .../suites_default_post_GetRecords-end.xml | 30 - ...st_GetRecords-filter-and-bbox-freetext.xml | 16 - ...t_post_GetRecords-filter-and-nested-or.xml | 16 - ..._post_GetRecords-filter-and-nested-or2.xml | 23 - ...post_GetRecords-filter-anytext-and-not.xml | 15 - ...t_post_GetRecords-filter-anytext-equal.xml | 36 - ...default_post_GetRecords-filter-anytext.xml | 36 - ..._post_GetRecords-filter-bbox-reproject.xml | 25 - ...ult_post_GetRecords-filter-bbox-sortby.xml | 25 - ...es_default_post_GetRecords-filter-bbox.xml | 25 - ...default_post_GetRecords-filter-between.xml | 49 - ...lt_post_GetRecords-filter-function-bad.xml | 7 - ...efault_post_GetRecords-filter-function.xml | 12 - ...efault_post_GetRecords-filter-not-bbox.xml | 36 - ...ost_GetRecords-filter-or-bbox-freetext.xml | 25 - ...t_post_GetRecords-filter-or-nested-and.xml | 60 - ...st_GetRecords-filter-or-title-abstract.xml | 19 - ...tes_default_post_GetRecords-maxrecords.xml | 16 - ...ites_default_post_GetRecords-requestid.xml | 50 - .../suites_default_post_Harvest-default.xml | 7 - ..._default_post_Harvest-response-handler.xml | 7 - ...suites_default_post_Transaction-delete.xml | 7 - ...suites_default_post_Transaction-insert.xml | 7 - ...s_default_post_Transaction-update-full.xml | 7 - ...post_Transaction-update-recordproperty.xml | 7 - .../suites_dif_post_DescribeRecord.xml | 3 - .../suites_dif_post_GetCapabilities.xml | 264 ---- ...suites_dif_post_GetRecords-filter-bbox.xml | 71 - .../suites_ebrim_post_DescribeRecord.xml | 93 -- .../suites_ebrim_post_GetCapabilities.xml | 268 ---- ...ebrim_post_GetRecords-filter-bbox-full.xml | 57 - ...ites_ebrim_post_GetRecords-filter-bbox.xml | 13 - .../suites_fgdc_post_DescribeRecord.xml | 3 - .../suites_fgdc_post_GetCapabilities.xml | 264 ---- ...uites_fgdc_post_GetRecords-filter-bbox.xml | 123 -- .../suites_gm03_post_GetCapabilities.xml | 264 ---- ...uites_gm03_post_GetRecords-filter-bbox.xml | 137 -- ...Exception-Harvest-invalid-resourcetype.xml | 7 - ...Exception-Harvest-missing-resourcetype.xml | 7 - ...g_get_Exception-Harvest-missing-source.xml | 7 - ...ng_get_Exception-Harvest-waf-bad-value.xml | 7 - ...Exception-Harvest-waf-no-records-found.xml | 11 - ...s_harvesting_post_Clear-000-delete-all.xml | 9 - ...rvesting_post_Exception-Havest-csw-404.xml | 7 - ...suites_harvesting_post_GetCapabilities.xml | 370 ----- ...es_harvesting_post_GetDomain-parameter.xml | 27 - ...suites_harvesting_post_Harvest-csw-iso.xml | 149 -- ...uites_harvesting_post_Harvest-csw-run1.xml | 65 - ...uites_harvesting_post_Harvest-csw-run2.xml | 11 - .../suites_harvesting_post_Harvest-dc.xml | 17 - .../suites_harvesting_post_Harvest-fgdc.xml | 17 - .../suites_harvesting_post_Harvest-iso.xml | 17 - .../suites_harvesting_post_Harvest-rdf.xml | 17 - .../suites_harvesting_post_Harvest-sos100.xml | 133 -- .../suites_harvesting_post_Harvest-sos200.xml | 21 - .../suites_harvesting_post_Harvest-waf.xml | 25 - .../suites_harvesting_post_Harvest-wcs.xml | 33 - .../suites_harvesting_post_Harvest-wfs110.xml | 37 - .../suites_harvesting_post_Harvest-wfs200.xml | 57 - ...uites_harvesting_post_Harvest-wms-run1.xml | 29 - ...uites_harvesting_post_Harvest-wms-run2.xml | 11 - .../suites_harvesting_post_Harvest-wmts.xml | 45 - .../suites_harvesting_post_Harvest-wps.xml | 57 - ...vest-zzz-post-GetRecords-filter-ows-dc.xml | 128 -- ...post-GetRecords-filter-sos-abstract-dc.xml | 31 - ...vest-zzz-post-GetRecords-filter-sos-dc.xml | 71 - ...est-zzz-post-GetRecords-filter-sos-iso.xml | 955 ------------ ...est-zzz-post-GetRecords-filter-wfs-iso.xml | 1041 ------------- ...vest-zzz-post-GetRecords-filter-wms-dc.xml | 90 -- ...est-zzz-post-GetRecords-filter-wms-iso.xml | 1361 ----------------- ...t-zzz-post-GetRecords-filter-wms-layer.xml | 35 - ...zzz-post-GetRecords-filter-wps-process.xml | 62 - ...esting_post_Transaction-000-delete-all.xml | 9 - ...ites_manager_post_Clear-000-delete-all.xml | 9 - .../suites_manager_post_GetCapabilities.xml | 370 ----- ...uites_manager_post_GetDomain-parameter.xml | 27 - ...anager_post_Transaction-000-delete-all.xml | 9 - ..._manager_post_Transaction-dc-01-insert.xml | 15 - ...ger_post_Transaction-dc-02-update-full.xml | 9 - ...anager_post_Transaction-fgdc-01-insert.xml | 15 - ...ost_Transaction-fgdc-02-update-recprop.xml | 9 - ...er_post_Transaction-fgdc-03-delete-all.xml | 9 - ...ger_post_Transaction-iso-00-delete-all.xml | 9 - ...manager_post_Transaction-iso-01-insert.xml | 15 - ...er_post_Transaction-iso-02-update-full.xml | 9 - ...post_Transaction-iso-03-update-recprop.xml | 9 - ...ction-iso-04-update-recprop-no-matches.xml | 9 - ...manager_post_Transaction-iso-05-delete.xml | 9 - ...anager_post_Transaction-xxx-delete-all.xml | 9 - ...ipmh_get_GetRecord_bad_metadata_prefix.xml | 7 - .../suites_oaipmh_get_GetRecord_dc.xml | 26 - .../suites_oaipmh_get_GetRecord_iso.xml | 62 - .../suites_oaipmh_get_GetRecord_oai_dc.xml | 26 - tests/expected/suites_oaipmh_get_Identify.xml | 15 - ...et_ListIdentifiers_bad_metadata_prefix.xml | 7 - .../suites_oaipmh_get_ListIdentifiers_dc.xml | 79 - .../suites_oaipmh_get_ListIdentifiers_iso.xml | 79 - ...istIdentifiers_missing_metadata_prefix.xml | 7 - ...ites_oaipmh_get_ListIdentifiers_oai_dc.xml | 79 - .../suites_oaipmh_get_ListMetadataFormats.xml | 38 - .../suites_oaipmh_get_ListRecords_dc.xml | 185 --- ...get_ListRecords_dc_bad_metadata_prefix.xml | 7 - ...suites_oaipmh_get_ListRecords_iso19139.xml | 588 ------- .../suites_oaipmh_get_ListRecords_oai_dc.xml | 185 --- tests/expected/suites_oaipmh_get_ListSets.xml | 16 - tests/expected/suites_oaipmh_get_bad_verb.xml | 7 - tests/expected/suites_oaipmh_get_empty.xml | 7 - .../suites_oaipmh_get_empty_with_amp.xml | 7 - .../suites_oaipmh_get_illegal_verb.xml | 7 - ...s_repofilter_post_GetRecordById-masked.xml | 3 - .../suites_repofilter_post_GetRecords-all.xml | 37 - tests/expected/suites_sru_get_explain.xml | 128 -- tests/expected/suites_sru_get_search.xml | 6 - tests/expected/suites_sru_get_search_cql.xml | 30 - .../suites_sru_get_search_maxrecords.xml | 30 - ..._sru_get_search_startrecord_maxrecords.xml | 30 - .../suites_utf-8_post_GetCapabilities.xml | 264 ---- tests/suites/apiso-inspire/default.cfg | 91 -- tests/suites/apiso-inspire/get/requests.txt | 2 - tests/suites/apiso/data/3e9a8c05.xml | 248 --- tests/suites/apiso/data/README.txt | 7 - .../T_aerfo_RAS_1991_GR800P001800000012.xml | 37 - .../T_aerfo_RAS_1991_GR800P001800000013.xml | 37 - .../T_aerfo_RAS_1991_GR800P001800000014.xml | 37 - .../T_aerfo_RAS_1991_GR800P001800000015.xml | 37 - .../apiso/data/T_ortho_RAS_1998_284404.xml | 37 - .../apiso/data/T_ortho_RAS_1998_288395.xml | 37 - .../apiso/data/T_ortho_RAS_1998_288398.xml | 37 - .../apiso/data/T_ortho_RAS_1998_288401.xml | 37 - .../apiso/data/T_ortho_RAS_1998_288404.xml | 37 - .../apiso/data/T_pmoed_DTM_1996_276395.xml | 37 - .../apiso/data/T_pmoed_DTM_1996_276398.xml | 37 - .../apiso/data/T_pmoed_DTM_1996_276401.xml | 37 - .../apiso/data/T_pmoed_DTM_1996_276404.xml | 37 - .../apiso/data/T_pmoed_DTM_1996_280395.xml | 37 - tests/suites/apiso/data/pacioos-NS06agg.xml | 1182 -------------- tests/suites/apiso/data/test.xml | 39 - tests/suites/apiso/default.cfg | 91 -- tests/suites/apiso/post/DescribeRecord.xml | 4 - tests/suites/apiso/post/GetCapabilities.xml | 9 - .../suites/apiso/post/GetDomain-property.xml | 5 - .../suites/apiso/post/GetRecordById-brief.xml | 6 - .../apiso/post/GetRecordById-full-dc.xml | 6 - .../suites/apiso/post/GetRecordById-full.xml | 6 - .../apiso/post/GetRecordById-srv-brief.xml | 6 - .../apiso/post/GetRecords-all-csw-output.xml | 6 - tests/suites/apiso/post/GetRecords-all.xml | 6 - .../apiso/post/GetRecords-cql-title.xml | 9 - .../apiso/post/GetRecords-elementname.xml | 6 - ...-filter-and-nested-spatial-or-dateline.xml | 45 - .../apiso/post/GetRecords-filter-anytext.xml | 15 - .../GetRecords-filter-bbox-csw-output.xml | 19 - .../apiso/post/GetRecords-filter-bbox.xml | 18 - .../post/GetRecords-filter-servicetype.xml | 14 - tests/suites/atom/default.cfg | 90 -- tests/suites/atom/get/requests.txt | 12 - tests/suites/atom/post/DescribeRecord.xml | 4 - tests/suites/atom/post/GetCapabilities.xml | 9 - .../atom/post/GetRecords-filter-bbox.xml | 17 - tests/suites/cite/data/README.txt | 65 - ...d_19887a8a-f6b0-4a63-ae56-7fba0e17801f.xml | 13 - ...d_1ef30a8b-876d-4828-9246-c37ab4510bbd.xml | 13 - ...d_66ae76b7-54ba-489b-a582-0f0633d96493.xml | 12 - ...d_6a3de50b-fa66-4b58-a0e6-ca146fdd18d4.xml | 11 - ...d_784e2afd-a9fd-44a6-9a92-a3848371c8ec.xml | 14 - ...d_829babb0-b2f1-49e1-8cd5-7b489fe71a1e.xml | 11 - ...d_88247b56-4cbc-4df9-9860-db3f8042e357.xml | 11 - ...d_94bc9c83-97f6-4b40-9eb8-a8e8787a5c63.xml | 17 - ...d_9a669547-b69b-469f-a11f-2d875366bbdc.xml | 16 - ...d_a06af396-3105-442d-8b40-22b57a90d2f2.xml | 11 - ...d_ab42a8c4-95e8-4630-bf79-33e59241605a.xml | 11 - ...d_e9330592-0932-474b-be34-c3a3bb67c7db.xml | 14 - tests/suites/cite/data/cite.db | Bin 82944 -> 0 bytes tests/suites/cite/default.cfg | 86 -- tests/suites/cite/get/requests.txt | 22 - .../0c976d98-c896-4b10-b1fe-a22ef50434e7.xml | 20 - .../19d2a6ed-be28-4866-ae15-e3bb634486cb.xml | 20 - .../1ab55aa3-6685-4595-8ecd-45987a7b8b59.xml | 14 - .../1c958b7a-ca09-4c38-98bd-ef1d1d28cc14.xml | 6 - .../1c97fc1a-61cd-4c1d-8054-933e17a6c5ee.xml | 14 - .../2102a460-5d62-465f-9668-d70b3faafbfa.xml | 14 - .../225f455a-0035-486b-a94e-fee7ae881b2b.xml | 16 - .../2d53ffea-60e4-4652-abf5-36eb23042fd5.xml | 6 - .../34a019a9-1581-42cb-9827-fbfdda2773b7.xml | 6 - .../3e76fd38-e035-41c9-83dc-61356f680c97.xml | 4 - .../418a6fb0-a89c-4a94-afc9-3f8168eb2980.xml | 25 - .../420b745e-0c4b-404e-9f2d-61fa580ff05a.xml | 16 - .../4735d649-a2b1-42fd-a101-14e1d7e4607f.xml | 6 - .../5c5861bc-f742-40a5-9998-5342615d674b.xml | 14 - .../6e736fd0-c266-4852-9eb3-0656f5d0f5c4.xml | 6 - .../73f1551c-e269-4ef9-9dae-e535b5eebfc7.xml | 14 - .../78297c88-4850-4927-adc6-511cd9a3d539.xml | 2 - .../7c89cdf5-0def-4cfb-8c55-2b8ffea5d92f.xml | 6 - .../7e2cd105-daec-4d25-bc8e-d49d21364912.xml | 4 - .../87f2f670-9cd6-4907-b82c-1b46a7dd2a78.xml | 8 - .../88b4e1ba-3bd4-4cbe-81e5-e004056d6ca3.xml | 4 - .../898cd63b-2585-4ec0-8720-d554bd324174.xml | 20 - .../8fb13dc3-5818-45e2-9e29-46abc16e7d38.xml | 20 - .../928c1896-52d4-4ac7-9832-f98e3eb65f02.xml | 16 - .../93bdbb9d-2734-4f01-92fb-48634cca41de.xml | 18 - .../948b39d5-bb4f-45b8-a8f2-4ff9501aaedd.xml | 14 - .../9fd64fcc-f69c-4626-b72e-5c7776a29aa9.xml | 4 - .../a06d04ab-e0d0-4a86-bfe8-71460f41fe37.xml | 6 - .../ad61686c-d304-42d1-b845-8c1f3070c83e.xml | 14 - .../af39c020-7b1d-429c-b474-f45c3164cb79.xml | 14 - .../b90e2de6-3d25-4298-a13e-dc9492a8fc73.xml | 16 - .../ba9b0107-dcee-46ef-823a-a2e25a911a96.xml | 20 - .../bb66ebc5-7121-48b5-9f53-b56537d9561b.xml | 27 - .../c02d1c85-df9f-45ee-bea7-345c35e02a98.xml | 16 - .../c311a342-72e3-4983-be39-868e6ed9740f.xml | 4 - .../c38916c2-4bc6-446d-b7aa-ab006d6ba31c.xml | 25 - .../c8588f47-8e65-45f5-ad34-ff4524cad84d.xml | 17 - .../da228d4c-e1be-43d7-9ccb-c3f27ee32541.xml | 14 - .../dc92c2c4-87d8-4a13-964e-ff9b0e0c27b3.xml | 16 - .../dcb13791-379e-4739-bcd4-dbaa69f0efdb.xml | 6 - .../e308f030-c097-4036-a838-44bad74c9ef7.xml | 6 - .../e6e9efb2-e2b7-4b0a-a3a2-7deea3f9b8e2.xml | 12 - .../f7976c55-a156-4421-8199-bc0487da4b0f.xml | 4 - .../f7d79701-f10b-4087-a33c-f62df0a04fd1.xml | 6 - .../fc1bc094-88f1-4851-bc2b-dfc56be9f3c7.xml | 14 - .../fe20960f-a26c-4f13-852d-470a0d3233f9.xml | 14 - tests/suites/csw30/default.cfg | 90 -- tests/suites/csw30/get/requests.txt | 82 - .../Exception-GetDomain-parametername-bad.xml | 4 - ...Exception-GetDomain-valuereference-bad.xml | 4 - .../post/Exception-GetRecordById-404.xml | 4 - .../post/Exception-GetRecordById-bad-esn.xml | 5 - tests/suites/csw30/post/Exception-bad-xml.xml | 9 - tests/suites/csw30/post/Exception-not-xml.xml | 1 - tests/suites/csw30/post/GetCapabilities.xml | 9 - .../csw30/post/GetDomain-parametername.xml | 4 - .../csw30/post/GetDomain-valuereference.xml | 4 - .../csw30/post/GetRecordById-dc-full.xml | 5 - tests/suites/csw30/post/GetRecordById-dc.xml | 4 - tests/suites/default/default.cfg | 90 -- tests/suites/default/get/requests.txt | 20 - .../default/post/DescribeRecord-json.xml | 4 - tests/suites/default/post/DescribeRecord.xml | 4 - .../post/Exception-GetRecords-badsrsname.xml | 19 - .../post/Exception-GetRecords-elementname.xml | 6 - .../post/Exception-GetRecords-invalid-xml.xml | 6 - .../default/post/GetCapabilities-SOAP.xml | 13 - .../default/post/GetCapabilities-sections.xml | 12 - .../post/GetCapabilities-updatesequence.xml | 9 - tests/suites/default/post/GetCapabilities.xml | 9 - .../default/post/GetDomain-parameter.xml | 4 - .../default/post/GetDomain-property.xml | 4 - .../default/post/GetRecordById-json.xml | 5 - tests/suites/default/post/GetRecordById.xml | 5 - .../default/post/GetRecords-all-json.xml | 6 - .../post/GetRecords-all-resulttype-hits.xml | 6 - .../GetRecords-all-resulttype-validate.xml | 6 - .../post/GetRecords-all-sortby-bbox.xml | 12 - tests/suites/default/post/GetRecords-all.xml | 6 - .../post/GetRecords-bbox-filter-crs84.xml | 17 - .../GetRecords-cql-title-and-abstract.xml | 9 - .../default/post/GetRecords-cql-title.xml | 9 - .../post/GetRecords-distributedsearch.xml | 15 - .../default/post/GetRecords-elementname.xml | 6 - tests/suites/default/post/GetRecords-end.xml | 6 - .../GetRecords-filter-and-bbox-freetext.xml | 23 - .../post/GetRecords-filter-and-nested-or.xml | 38 - .../post/GetRecords-filter-and-nested-or2.xml | 34 - .../GetRecords-filter-anytext-and-not.xml | 26 - .../post/GetRecords-filter-anytext-equal.xml | 14 - .../post/GetRecords-filter-anytext.xml | 14 - .../post/GetRecords-filter-bbox-reproject.xml | 17 - .../post/GetRecords-filter-bbox-sortby.xml | 23 - .../default/post/GetRecords-filter-bbox.xml | 17 - .../post/GetRecords-filter-between.xml | 20 - .../post/GetRecords-filter-function-bad.xml | 17 - .../post/GetRecords-filter-function.xml | 17 - .../post/GetRecords-filter-not-bbox.xml | 19 - .../GetRecords-filter-or-bbox-freetext.xml | 23 - .../post/GetRecords-filter-or-nested-and.xml | 30 - .../GetRecords-filter-or-title-abstract.xml | 20 - .../default/post/GetRecords-maxrecords.xml | 6 - .../default/post/GetRecords-requestid.xml | 6 - tests/suites/default/post/Harvest-default.xml | 6 - .../default/post/Harvest-response-handler.xml | 7 - .../default/post/Transaction-delete.xml | 13 - .../default/post/Transaction-insert.xml | 73 - .../default/post/Transaction-update-full.xml | 73 - .../Transaction-update-recordproperty.xml | 17 - tests/suites/dif/default.cfg | 90 -- tests/suites/dif/post/DescribeRecord.xml | 4 - tests/suites/dif/post/GetCapabilities.xml | 9 - .../dif/post/GetRecords-filter-bbox.xml | 17 - tests/suites/ebrim/default.cfg | 93 -- tests/suites/ebrim/post/DescribeRecord.xml | 4 - tests/suites/ebrim/post/GetCapabilities.xml | 9 - .../post/GetRecords-filter-bbox-full.xml | 17 - .../ebrim/post/GetRecords-filter-bbox.xml | 17 - tests/suites/fgdc/default.cfg | 90 -- tests/suites/fgdc/post/DescribeRecord.xml | 4 - tests/suites/fgdc/post/GetCapabilities.xml | 9 - .../fgdc/post/GetRecords-filter-bbox.xml | 17 - tests/suites/gm03/default.cfg | 90 -- tests/suites/gm03/post/GetCapabilities.xml | 9 - .../gm03/post/GetRecords-filter-bbox.xml | 17 - tests/suites/harvesting/data/.gitkeep | 0 tests/suites/harvesting/default.cfg | 91 -- tests/suites/harvesting/get/requests.txt | 5 - .../harvesting/post/Clear-000-delete-all.xml | 13 - .../post/Exception-Havest-csw-404.xml | 6 - .../harvesting/post/GetCapabilities.xml | 9 - .../harvesting/post/GetDomain-parameter.xml | 4 - .../harvesting/post/Harvest-csw-iso.xml | 6 - .../harvesting/post/Harvest-csw-run1.xml | 6 - .../harvesting/post/Harvest-csw-run2.xml | 6 - tests/suites/harvesting/post/Harvest-dc.xml | 6 - tests/suites/harvesting/post/Harvest-fgdc.xml | 6 - tests/suites/harvesting/post/Harvest-iso.xml | 6 - tests/suites/harvesting/post/Harvest-rdf.xml | 6 - .../suites/harvesting/post/Harvest-sos100.xml | 5 - .../suites/harvesting/post/Harvest-sos200.xml | 5 - tests/suites/harvesting/post/Harvest-waf.xml | 5 - tests/suites/harvesting/post/Harvest-wcs.xml | 6 - .../suites/harvesting/post/Harvest-wfs110.xml | 6 - .../suites/harvesting/post/Harvest-wfs200.xml | 6 - .../harvesting/post/Harvest-wms-run1.xml | 6 - .../harvesting/post/Harvest-wms-run2.xml | 6 - tests/suites/harvesting/post/Harvest-wmts.xml | 6 - tests/suites/harvesting/post/Harvest-wps.xml | 6 - ...vest-zzz-post-GetRecords-filter-ows-dc.xml | 36 - ...post-GetRecords-filter-sos-abstract-dc.xml | 24 - ...vest-zzz-post-GetRecords-filter-sos-dc.xml | 20 - ...est-zzz-post-GetRecords-filter-sos-iso.xml | 20 - ...est-zzz-post-GetRecords-filter-wfs-iso.xml | 20 - ...vest-zzz-post-GetRecords-filter-wms-dc.xml | 20 - ...est-zzz-post-GetRecords-filter-wms-iso.xml | 20 - ...t-zzz-post-GetRecords-filter-wms-layer.xml | 20 - ...zzz-post-GetRecords-filter-wps-process.xml | 14 - .../post/Transaction-000-delete-all.xml | 13 - tests/suites/manager/data/.gitkeep | 0 tests/suites/manager/default.cfg | 91 -- .../manager/post/Clear-000-delete-all.xml | 13 - tests/suites/manager/post/GetCapabilities.xml | 9 - .../manager/post/GetDomain-parameter.xml | 4 - .../post/Transaction-000-delete-all.xml | 13 - .../manager/post/Transaction-dc-01-insert.xml | 22 - .../post/Transaction-dc-02-update-full.xml | 22 - .../post/Transaction-fgdc-01-insert.xml | 214 --- .../Transaction-fgdc-02-update-recprop.xml | 17 - .../post/Transaction-fgdc-03-delete-all.xml | 13 - .../post/Transaction-iso-00-delete-all.xml | 13 - .../post/Transaction-iso-01-insert.xml | 73 - .../post/Transaction-iso-02-update-full.xml | 73 - .../Transaction-iso-03-update-recprop.xml | 17 - ...ction-iso-04-update-recprop-no-matches.xml | 17 - .../post/Transaction-iso-05-delete.xml | 13 - .../post/Transaction-xxx-delete-all.xml | 13 - tests/suites/oaipmh/default.cfg | 91 -- tests/suites/oaipmh/get/requests.txt | 20 - tests/suites/repofilter/default.cfg | 91 -- .../repofilter/post/GetRecordById-masked.xml | 5 - .../suites/repofilter/post/GetRecords-all.xml | 6 - tests/suites/sru/default.cfg | 90 -- tests/suites/sru/get/requests.txt | 5 - tests/suites/utf-8/default.cfg | 89 -- tests/suites/utf-8/post/GetCapabilities.xml | 9 - 598 files changed, 39644 deletions(-) delete mode 100644 tests/expected/suites_apiso-inspire_get_GetCapabilities-lang.xml delete mode 100644 tests/expected/suites_apiso-inspire_get_GetCapabilities.xml delete mode 100644 tests/expected/suites_apiso_post_DescribeRecord.xml delete mode 100644 tests/expected/suites_apiso_post_GetCapabilities.xml delete mode 100644 tests/expected/suites_apiso_post_GetDomain-property.xml delete mode 100644 tests/expected/suites_apiso_post_GetRecordById-brief.xml delete mode 100644 tests/expected/suites_apiso_post_GetRecordById-full-dc.xml delete mode 100644 tests/expected/suites_apiso_post_GetRecordById-full.xml delete mode 100644 tests/expected/suites_apiso_post_GetRecordById-srv-brief.xml delete mode 100644 tests/expected/suites_apiso_post_GetRecords-all-csw-output.xml delete mode 100644 tests/expected/suites_apiso_post_GetRecords-all.xml delete mode 100644 tests/expected/suites_apiso_post_GetRecords-cql-title.xml delete mode 100644 tests/expected/suites_apiso_post_GetRecords-elementname.xml delete mode 100644 tests/expected/suites_apiso_post_GetRecords-filter-and-nested-spatial-or-dateline.xml delete mode 100644 tests/expected/suites_apiso_post_GetRecords-filter-anytext.xml delete mode 100644 tests/expected/suites_apiso_post_GetRecords-filter-bbox-csw-output.xml delete mode 100644 tests/expected/suites_apiso_post_GetRecords-filter-bbox.xml delete mode 100644 tests/expected/suites_apiso_post_GetRecords-filter-servicetype.xml delete mode 100644 tests/expected/suites_atom_get_opensearch-description.xml delete mode 100644 tests/expected/suites_atom_get_opensearch-ogc-bbox-and-time.xml delete mode 100644 tests/expected/suites_atom_get_opensearch-ogc-bbox.xml delete mode 100644 tests/expected/suites_atom_get_opensearch-ogc-count-and-page1.xml delete mode 100644 tests/expected/suites_atom_get_opensearch-ogc-count-and-page2.xml delete mode 100644 tests/expected/suites_atom_get_opensearch-ogc-q-and-bbox.xml delete mode 100644 tests/expected/suites_atom_get_opensearch-ogc-q-and-time.xml delete mode 100644 tests/expected/suites_atom_get_opensearch-ogc-q.xml delete mode 100644 tests/expected/suites_atom_get_opensearch-ogc-time.xml delete mode 100644 tests/expected/suites_atom_get_opensearch-ogc-timeend.xml delete mode 100644 tests/expected/suites_atom_get_opensearch-ogc-timestart.xml delete mode 100644 tests/expected/suites_atom_get_opensearch.xml delete mode 100644 tests/expected/suites_atom_post_DescribeRecord.xml delete mode 100644 tests/expected/suites_atom_post_GetCapabilities.xml delete mode 100644 tests/expected/suites_atom_post_GetRecords-filter-bbox.xml delete mode 100644 tests/expected/suites_cite_get_27e17158-c57a-4493-92ac-dba8934cf462.xml delete mode 100644 tests/expected/suites_cite_get_27f69b66-5f05-4311-a89c-73ca55c2686b.xml delete mode 100644 tests/expected/suites_cite_get_2ab7d1fa-885b-459f-80e4-b6282eab4f8c.xml delete mode 100644 tests/expected/suites_cite_get_37aa90e2-6ff0-420c-af15-8b9463099a73.xml delete mode 100644 tests/expected/suites_cite_get_3a8a3c47-455f-4f49-9078-03119f3e70b3.xml delete mode 100644 tests/expected/suites_cite_get_4515831f-834a-4699-95f6-ab0c2cbfcfd0.xml delete mode 100644 tests/expected/suites_cite_get_477b23a3-baa9-47c8-9541-5fe27735ed49.xml delete mode 100644 tests/expected/suites_cite_get_48f26761-3a9d-48db-bee1-da089f5fb857.xml delete mode 100644 tests/expected/suites_cite_get_4e38092f-1586-44b8-988e-0acfa5855916.xml delete mode 100644 tests/expected/suites_cite_get_55c38f00-2553-42c1-99ab-33edbb561ad7.xml delete mode 100644 tests/expected/suites_cite_get_5ab5db18-c87a-4fbf-a8d8-b7289b09ac81.xml delete mode 100644 tests/expected/suites_cite_get_6a4f57ca-a1bd-4802-89c2-44860dbdb0f0.xml delete mode 100644 tests/expected/suites_cite_get_6c375703-9c00-4aef-bec7-d2e964f849eb.xml delete mode 100644 tests/expected/suites_cite_get_80f31def-4185-48b9-983a-960566918eae.xml delete mode 100644 tests/expected/suites_cite_get_8e2232ed-05d9-44ae-8b04-0911cbe6a507.xml delete mode 100644 tests/expected/suites_cite_get_9697f0aa-3b6a-4125-83a5-61e8826127c4.xml delete mode 100644 tests/expected/suites_cite_get_9bfd17fa-15dc-4a10-8fa7-b3cff7013dd7.xml delete mode 100644 tests/expected/suites_cite_get_b81c3595-06d6-4693-82ea-1ff8650755ac.xml delete mode 100644 tests/expected/suites_cite_get_ba5fc729-3b71-47a0-b7d0-42ec565cd185.xml delete mode 100644 tests/expected/suites_cite_get_c4ea754f-c158-4d8d-8253-dc8f86021b52.xml delete mode 100644 tests/expected/suites_cite_get_f4692ec5-9547-4a05-88ab-e6154af2640a.xml delete mode 100644 tests/expected/suites_cite_get_f997f25e-c865-4d53-a362-0ed1846337f2.xml delete mode 100644 tests/expected/suites_cite_post_0c976d98-c896-4b10-b1fe-a22ef50434e7.xml delete mode 100644 tests/expected/suites_cite_post_19d2a6ed-be28-4866-ae15-e3bb634486cb.xml delete mode 100644 tests/expected/suites_cite_post_1ab55aa3-6685-4595-8ecd-45987a7b8b59.xml delete mode 100644 tests/expected/suites_cite_post_1c958b7a-ca09-4c38-98bd-ef1d1d28cc14.xml delete mode 100644 tests/expected/suites_cite_post_1c97fc1a-61cd-4c1d-8054-933e17a6c5ee.xml delete mode 100644 tests/expected/suites_cite_post_2102a460-5d62-465f-9668-d70b3faafbfa.xml delete mode 100644 tests/expected/suites_cite_post_225f455a-0035-486b-a94e-fee7ae881b2b.xml delete mode 100644 tests/expected/suites_cite_post_2d53ffea-60e4-4652-abf5-36eb23042fd5.xml delete mode 100644 tests/expected/suites_cite_post_34a019a9-1581-42cb-9827-fbfdda2773b7.xml delete mode 100644 tests/expected/suites_cite_post_3e76fd38-e035-41c9-83dc-61356f680c97.xml delete mode 100644 tests/expected/suites_cite_post_418a6fb0-a89c-4a94-afc9-3f8168eb2980.xml delete mode 100644 tests/expected/suites_cite_post_420b745e-0c4b-404e-9f2d-61fa580ff05a.xml delete mode 100644 tests/expected/suites_cite_post_4735d649-a2b1-42fd-a101-14e1d7e4607f.xml delete mode 100644 tests/expected/suites_cite_post_5c5861bc-f742-40a5-9998-5342615d674b.xml delete mode 100644 tests/expected/suites_cite_post_6e736fd0-c266-4852-9eb3-0656f5d0f5c4.xml delete mode 100644 tests/expected/suites_cite_post_73f1551c-e269-4ef9-9dae-e535b5eebfc7.xml delete mode 100644 tests/expected/suites_cite_post_78297c88-4850-4927-adc6-511cd9a3d539.xml delete mode 100644 tests/expected/suites_cite_post_7c89cdf5-0def-4cfb-8c55-2b8ffea5d92f.xml delete mode 100644 tests/expected/suites_cite_post_7e2cd105-daec-4d25-bc8e-d49d21364912.xml delete mode 100644 tests/expected/suites_cite_post_87f2f670-9cd6-4907-b82c-1b46a7dd2a78.xml delete mode 100644 tests/expected/suites_cite_post_88b4e1ba-3bd4-4cbe-81e5-e004056d6ca3.xml delete mode 100644 tests/expected/suites_cite_post_898cd63b-2585-4ec0-8720-d554bd324174.xml delete mode 100644 tests/expected/suites_cite_post_8fb13dc3-5818-45e2-9e29-46abc16e7d38.xml delete mode 100644 tests/expected/suites_cite_post_928c1896-52d4-4ac7-9832-f98e3eb65f02.xml delete mode 100644 tests/expected/suites_cite_post_93bdbb9d-2734-4f01-92fb-48634cca41de.xml delete mode 100644 tests/expected/suites_cite_post_948b39d5-bb4f-45b8-a8f2-4ff9501aaedd.xml delete mode 100644 tests/expected/suites_cite_post_9fd64fcc-f69c-4626-b72e-5c7776a29aa9.xml delete mode 100644 tests/expected/suites_cite_post_a06d04ab-e0d0-4a86-bfe8-71460f41fe37.xml delete mode 100644 tests/expected/suites_cite_post_ad61686c-d304-42d1-b845-8c1f3070c83e.xml delete mode 100644 tests/expected/suites_cite_post_af39c020-7b1d-429c-b474-f45c3164cb79.xml delete mode 100644 tests/expected/suites_cite_post_b90e2de6-3d25-4298-a13e-dc9492a8fc73.xml delete mode 100644 tests/expected/suites_cite_post_ba9b0107-dcee-46ef-823a-a2e25a911a96.xml delete mode 100644 tests/expected/suites_cite_post_bb66ebc5-7121-48b5-9f53-b56537d9561b.xml delete mode 100644 tests/expected/suites_cite_post_c02d1c85-df9f-45ee-bea7-345c35e02a98.xml delete mode 100644 tests/expected/suites_cite_post_c311a342-72e3-4983-be39-868e6ed9740f.xml delete mode 100644 tests/expected/suites_cite_post_c38916c2-4bc6-446d-b7aa-ab006d6ba31c.xml delete mode 100644 tests/expected/suites_cite_post_c8588f47-8e65-45f5-ad34-ff4524cad84d.xml delete mode 100644 tests/expected/suites_cite_post_da228d4c-e1be-43d7-9ccb-c3f27ee32541.xml delete mode 100644 tests/expected/suites_cite_post_dc92c2c4-87d8-4a13-964e-ff9b0e0c27b3.xml delete mode 100644 tests/expected/suites_cite_post_dcb13791-379e-4739-bcd4-dbaa69f0efdb.xml delete mode 100644 tests/expected/suites_cite_post_e308f030-c097-4036-a838-44bad74c9ef7.xml delete mode 100644 tests/expected/suites_cite_post_e6e9efb2-e2b7-4b0a-a3a2-7deea3f9b8e2.xml delete mode 100644 tests/expected/suites_cite_post_f7976c55-a156-4421-8199-bc0487da4b0f.xml delete mode 100644 tests/expected/suites_cite_post_f7d79701-f10b-4087-a33c-f62df0a04fd1.xml delete mode 100644 tests/expected/suites_cite_post_fc1bc094-88f1-4851-bc2b-dfc56be9f3c7.xml delete mode 100644 tests/expected/suites_cite_post_fe20960f-a26c-4f13-852d-470a0d3233f9.xml delete mode 100644 tests/expected/suites_csw30_get_002258f0-627f-457f-b2ad-025777c77ac8.xml delete mode 100644 tests/expected/suites_csw30_get_045c600d-973d-41eb-9f60-eba1b717b720.xml delete mode 100644 tests/expected/suites_csw30_get_0bbcf862-5211-4351-9988-63f8bec49c98.xml delete mode 100644 tests/expected/suites_csw30_get_0bdf8457-971e-4ed1-be4a-5feca4dcd8fa.xml delete mode 100644 tests/expected/suites_csw30_get_0d8bbdec-0846-42ca-8dc8-b7f4cba41d67.xml delete mode 100644 tests/expected/suites_csw30_get_0e1dca37-477a-4060-99fe-7799b52d656c.xml delete mode 100644 tests/expected/suites_csw30_get_13c87956-51a4-4780-a8e9-6e0b5c0bb473.xml delete mode 100644 tests/expected/suites_csw30_get_151d982f-ebd3-4cb2-b507-a667713a1e92.xml delete mode 100644 tests/expected/suites_csw30_get_1869e495-1a61-4713-8285-76d1336ee1a6.xml delete mode 100644 tests/expected/suites_csw30_get_1bcb42a9-538c-4f0a-9d4c-d6f10b720aa6.xml delete mode 100644 tests/expected/suites_csw30_get_22f44168-2ccf-4801-ad96-204212566d56.xml delete mode 100644 tests/expected/suites_csw30_get_2499a9c9-8d33-449c-bc92-d494adfcc84d.xml delete mode 100644 tests/expected/suites_csw30_get_27f4f39c-d92a-4e3c-b961-c6aa8c24e513.xml delete mode 100644 tests/expected/suites_csw30_get_28e569df-8596-4128-8d9a-29ad03138915.xml delete mode 100644 tests/expected/suites_csw30_get_2b06a5c8-0df2-4af1-8d2e-a425de11c845.xml delete mode 100644 tests/expected/suites_csw30_get_2ba1418a-444d-4cce-9cfe-4c94efcf8b55.xml delete mode 100644 tests/expected/suites_csw30_get_397fe17a-d5b4-4f96-8cc4-4ce467ed4d0a.xml delete mode 100644 tests/expected/suites_csw30_get_3dcd1b15-73d2-4b7d-a3e3-ff15bf14aae4.xml delete mode 100644 tests/expected/suites_csw30_get_405e1ff1-5c75-4846-a28b-cfaff2a6921a.xml delete mode 100644 tests/expected/suites_csw30_get_43cd6471-6ac7-45bd-8ff9-148cb2de9a52.xml delete mode 100644 tests/expected/suites_csw30_get_4566d2ec-1283-4a02-baed-a74fc5b47e37.xml delete mode 100644 tests/expected/suites_csw30_get_461bd4c5-6623-490d-9036-d91a2201e87b.xml delete mode 100644 tests/expected/suites_csw30_get_5496894a-3877-4f62-a20b-5d7126f94925.xml delete mode 100644 tests/expected/suites_csw30_get_5a015f6a-bf14-4977-b1e3-6577eb0223c8.xml delete mode 100644 tests/expected/suites_csw30_get_5c3a2390-1fb9-43f0-b96c-f48c7a69c990.xml delete mode 100644 tests/expected/suites_csw30_get_5e9e67dc-18d6-4645-8111-c6263c88a61f.xml delete mode 100644 tests/expected/suites_csw30_get_604d9379-741c-42e5-b4cf-92e56c87fa64.xml delete mode 100644 tests/expected/suites_csw30_get_60e6af95-d5fc-465a-82e2-fd2e6d85e4af.xml delete mode 100644 tests/expected/suites_csw30_get_62ad94c2-b558-4265-a427-23d6677975d6.xml delete mode 100644 tests/expected/suites_csw30_get_6a5e247b-0961-4b8a-a0d6-35a491d9cfe7.xml delete mode 100644 tests/expected/suites_csw30_get_6a9d0558-9d87-495b-b999-b49a3ef1cf99.xml delete mode 100644 tests/expected/suites_csw30_get_6bd790c9-6019-4652-9c91-330a894d6700.xml delete mode 100644 tests/expected/suites_csw30_get_6e9cba43-5e27-415d-adbd-a92851c2c173.xml delete mode 100644 tests/expected/suites_csw30_get_7630d230-e142-4a09-accf-f091000b90cd.xml delete mode 100644 tests/expected/suites_csw30_get_7e82446a-b5dc-43fe-9a73-4cc1f2f2f0bf.xml delete mode 100644 tests/expected/suites_csw30_get_8025978e-1a35-4d70-80c2-e8329e0c7864.xml delete mode 100644 tests/expected/suites_csw30_get_8184ae4f-536d-4978-8b28-ad703be96967.xml delete mode 100644 tests/expected/suites_csw30_get_88f63a89-664f-4315-b4f8-04a0b33803a7.xml delete mode 100644 tests/expected/suites_csw30_get_8987f8f0-4d93-4481-968c-a2ccbd6b8be2.xml delete mode 100644 tests/expected/suites_csw30_get_8e5fa0f6-3f29-4d1f-abe2-d9866f3def98.xml delete mode 100644 tests/expected/suites_csw30_get_9000ec29-5649-474e-b2d6-55c00f8a52c0.xml delete mode 100644 tests/expected/suites_csw30_get_91914d35-7bbf-45e6-9b37-5ef484869a4e.xml delete mode 100644 tests/expected/suites_csw30_get_92d4844d-57d5-4cf3-8f47-ba50e369dc04.xml delete mode 100644 tests/expected/suites_csw30_get_9c0e2a4b-b4e6-41c0-b630-c8c99fc89ff3.xml delete mode 100644 tests/expected/suites_csw30_get_9d7ffac8-9798-428d-8e27-3cd12497ee6b.xml delete mode 100644 tests/expected/suites_csw30_get_Exception-GetDomain-value-reference.xml delete mode 100644 tests/expected/suites_csw30_get_Exception-GetDomain.xml delete mode 100644 tests/expected/suites_csw30_get_Exception-GetRecordById-404.xml delete mode 100644 tests/expected/suites_csw30_get_Exception-GetRecordById-dc.xml.xml delete mode 100644 tests/expected/suites_csw30_get_Exception-GetRepositoryItem-notfound.xml delete mode 100644 tests/expected/suites_csw30_get_Exception-invalid-request.xml delete mode 100644 tests/expected/suites_csw30_get_GetCapabilities-base-url.xml delete mode 100644 tests/expected/suites_csw30_get_GetCapabilities-no-version.xml delete mode 100644 tests/expected/suites_csw30_get_GetCapabilities.xml delete mode 100644 tests/expected/suites_csw30_get_GetDomain-parameter.xml delete mode 100644 tests/expected/suites_csw30_get_GetDomain-value-reference.xml delete mode 100644 tests/expected/suites_csw30_get_GetRepositoryItem.xml delete mode 100644 tests/expected/suites_csw30_get_OpenSearch-description.xml delete mode 100644 tests/expected/suites_csw30_get_a2f18643-e24e-4fa5-b780-6de4a2dbc814.xml delete mode 100644 tests/expected/suites_csw30_get_abc90c8c-5868-4405-a73e-64c849be3b2a.xml delete mode 100644 tests/expected/suites_csw30_get_ad0c0571-09ed-436a-9a4f-a5de744c88fe.xml delete mode 100644 tests/expected/suites_csw30_get_af502903-f4ee-47ee-b76e-af878d238bcc.xml delete mode 100644 tests/expected/suites_csw30_get_b2aafc3f-4f35-47bc-affd-08590972deae.xml delete mode 100644 tests/expected/suites_csw30_get_b6069623-f7d8-4021-8582-98f0aea0f763.xml delete mode 100644 tests/expected/suites_csw30_get_b9a07a54-75a8-45bd-b341-2823600211e3.xml delete mode 100644 tests/expected/suites_csw30_get_baa4a7d0-0c01-42b6-adc3-0d03e9949fa3.xml delete mode 100644 tests/expected/suites_csw30_get_bfbe6409-f64a-4c89-acb3-50f260a5c743.xml delete mode 100644 tests/expected/suites_csw30_get_bfe20134-d1da-42ef-9c0f-8e1307bbf92b.xml delete mode 100644 tests/expected/suites_csw30_get_c03d173a-3f42-4956-89c8-1fe02c3a0873.xml delete mode 100644 tests/expected/suites_csw30_get_cb43d8c3-e14c-4a9f-9231-4384b7dd21f3.xml delete mode 100644 tests/expected/suites_csw30_get_d03c6fd3-e821-4a26-b62f-d20a474e25af.xml delete mode 100644 tests/expected/suites_csw30_get_d4ccbf96-a529-480e-a53d-5b88dc1dea7f.xml delete mode 100644 tests/expected/suites_csw30_get_d94c801a-1207-4897-b84a-53f3a192515b.xml delete mode 100644 tests/expected/suites_csw30_get_da859e34-91fc-495a-8c09-285a40c0900b.xml delete mode 100644 tests/expected/suites_csw30_get_dc246fb8-5af5-4fda-82bb-c18b3ecd439c.xml delete mode 100644 tests/expected/suites_csw30_get_de016645-6d5c-4855-943c-2db07ae9f49a.xml delete mode 100644 tests/expected/suites_csw30_get_dff3ec6b-bb2d-4887-bd17-8fcf15def042.xml delete mode 100644 tests/expected/suites_csw30_get_e38e6bfb-8ac4-4ae4-8b87-0aafbc8d3c6b.xml delete mode 100644 tests/expected/suites_csw30_get_e67ca935-d65d-4d8c-8302-1405333dded0.xml delete mode 100644 tests/expected/suites_csw30_get_e7704509-3441-458f-8ef0-e333c6b6043f.xml delete mode 100644 tests/expected/suites_csw30_get_f1223a49-6d08-44ff-97fe-4c32cbbfad82.xml delete mode 100644 tests/expected/suites_csw30_get_f89dd4e1-3a81-4433-afd2-a3fa1bdb1e18.xml delete mode 100644 tests/expected/suites_csw30_post_Exception-GetDomain-parametername-bad.xml delete mode 100644 tests/expected/suites_csw30_post_Exception-GetDomain-valuereference-bad.xml delete mode 100644 tests/expected/suites_csw30_post_Exception-GetRecordById-404.xml delete mode 100644 tests/expected/suites_csw30_post_Exception-GetRecordById-bad-esn.xml delete mode 100644 tests/expected/suites_csw30_post_Exception-bad-xml.xml delete mode 100644 tests/expected/suites_csw30_post_Exception-not-xml.xml delete mode 100644 tests/expected/suites_csw30_post_GetCapabilities.xml delete mode 100644 tests/expected/suites_csw30_post_GetDomain-parametername.xml delete mode 100644 tests/expected/suites_csw30_post_GetDomain-valuereference.xml delete mode 100644 tests/expected/suites_csw30_post_GetRecordById-dc-full.xml delete mode 100644 tests/expected/suites_csw30_post_GetRecordById-dc.xml delete mode 100644 tests/expected/suites_default_get_Exception-GetRepositoryItem-notfound.xml delete mode 100644 tests/expected/suites_default_get_Exception-GetRepositoryItem-service-invalid1.xml delete mode 100644 tests/expected/suites_default_get_Exception-GetRepositoryItem-service-invalid2.xml delete mode 100644 tests/expected/suites_default_get_Exception-GetRepositoryItem-version-invalid.xml delete mode 100644 tests/expected/suites_default_get_GetCapabilities-invalid-request.xml delete mode 100644 tests/expected/suites_default_get_GetCapabilities.xml delete mode 100644 tests/expected/suites_default_get_GetRecords-all.xml delete mode 100644 tests/expected/suites_default_get_GetRecords-empty-maxrecords.xml delete mode 100644 tests/expected/suites_default_get_GetRecords-filter-cql-title-or-abstract-with-spaces.xml delete mode 100644 tests/expected/suites_default_get_GetRecords-filter-cql-title-or-abstract.xml delete mode 100644 tests/expected/suites_default_get_GetRecords-filter-cql-title-with-spaces-or-abstract-with-spaces.xml delete mode 100644 tests/expected/suites_default_get_GetRecords-filter-cql-title-with-spaces-or-abstract.xml delete mode 100644 tests/expected/suites_default_get_GetRecords-filter-cql-title-with-spaces.xml delete mode 100644 tests/expected/suites_default_get_GetRecords-filter-cql-title.xml delete mode 100644 tests/expected/suites_default_get_GetRecords-filter.xml delete mode 100644 tests/expected/suites_default_get_GetRecords-sortby-asc.xml delete mode 100644 tests/expected/suites_default_get_GetRecords-sortby-desc.xml delete mode 100644 tests/expected/suites_default_get_GetRecords-sortby-invalid-order.xml delete mode 100644 tests/expected/suites_default_get_GetRecords-sortby-invalid-propertyname.xml delete mode 100644 tests/expected/suites_default_get_GetRepositoryItem.xml delete mode 100644 tests/expected/suites_default_post_DescribeRecord-json.xml delete mode 100644 tests/expected/suites_default_post_DescribeRecord.xml delete mode 100644 tests/expected/suites_default_post_Exception-GetRecords-badsrsname.xml delete mode 100644 tests/expected/suites_default_post_Exception-GetRecords-elementname.xml delete mode 100644 tests/expected/suites_default_post_Exception-GetRecords-invalid-xml.xml delete mode 100644 tests/expected/suites_default_post_GetCapabilities-SOAP.xml delete mode 100644 tests/expected/suites_default_post_GetCapabilities-sections.xml delete mode 100644 tests/expected/suites_default_post_GetCapabilities-updatesequence.xml delete mode 100644 tests/expected/suites_default_post_GetCapabilities.xml delete mode 100644 tests/expected/suites_default_post_GetDomain-parameter.xml delete mode 100644 tests/expected/suites_default_post_GetDomain-property.xml delete mode 100644 tests/expected/suites_default_post_GetRecordById-json.xml delete mode 100644 tests/expected/suites_default_post_GetRecordById.xml delete mode 100644 tests/expected/suites_default_post_GetRecords-all-json.xml delete mode 100644 tests/expected/suites_default_post_GetRecords-all-resulttype-hits.xml delete mode 100644 tests/expected/suites_default_post_GetRecords-all-resulttype-validate.xml delete mode 100644 tests/expected/suites_default_post_GetRecords-all-sortby-bbox.xml delete mode 100644 tests/expected/suites_default_post_GetRecords-all.xml delete mode 100644 tests/expected/suites_default_post_GetRecords-bbox-filter-crs84.xml delete mode 100644 tests/expected/suites_default_post_GetRecords-cql-title-and-abstract.xml delete mode 100644 tests/expected/suites_default_post_GetRecords-cql-title.xml delete mode 100644 tests/expected/suites_default_post_GetRecords-distributedsearch.xml delete mode 100644 tests/expected/suites_default_post_GetRecords-elementname.xml delete mode 100644 tests/expected/suites_default_post_GetRecords-end.xml delete mode 100644 tests/expected/suites_default_post_GetRecords-filter-and-bbox-freetext.xml delete mode 100644 tests/expected/suites_default_post_GetRecords-filter-and-nested-or.xml delete mode 100644 tests/expected/suites_default_post_GetRecords-filter-and-nested-or2.xml delete mode 100644 tests/expected/suites_default_post_GetRecords-filter-anytext-and-not.xml delete mode 100644 tests/expected/suites_default_post_GetRecords-filter-anytext-equal.xml delete mode 100644 tests/expected/suites_default_post_GetRecords-filter-anytext.xml delete mode 100644 tests/expected/suites_default_post_GetRecords-filter-bbox-reproject.xml delete mode 100644 tests/expected/suites_default_post_GetRecords-filter-bbox-sortby.xml delete mode 100644 tests/expected/suites_default_post_GetRecords-filter-bbox.xml delete mode 100644 tests/expected/suites_default_post_GetRecords-filter-between.xml delete mode 100644 tests/expected/suites_default_post_GetRecords-filter-function-bad.xml delete mode 100644 tests/expected/suites_default_post_GetRecords-filter-function.xml delete mode 100644 tests/expected/suites_default_post_GetRecords-filter-not-bbox.xml delete mode 100644 tests/expected/suites_default_post_GetRecords-filter-or-bbox-freetext.xml delete mode 100644 tests/expected/suites_default_post_GetRecords-filter-or-nested-and.xml delete mode 100644 tests/expected/suites_default_post_GetRecords-filter-or-title-abstract.xml delete mode 100644 tests/expected/suites_default_post_GetRecords-maxrecords.xml delete mode 100644 tests/expected/suites_default_post_GetRecords-requestid.xml delete mode 100644 tests/expected/suites_default_post_Harvest-default.xml delete mode 100644 tests/expected/suites_default_post_Harvest-response-handler.xml delete mode 100644 tests/expected/suites_default_post_Transaction-delete.xml delete mode 100644 tests/expected/suites_default_post_Transaction-insert.xml delete mode 100644 tests/expected/suites_default_post_Transaction-update-full.xml delete mode 100644 tests/expected/suites_default_post_Transaction-update-recordproperty.xml delete mode 100644 tests/expected/suites_dif_post_DescribeRecord.xml delete mode 100644 tests/expected/suites_dif_post_GetCapabilities.xml delete mode 100644 tests/expected/suites_dif_post_GetRecords-filter-bbox.xml delete mode 100644 tests/expected/suites_ebrim_post_DescribeRecord.xml delete mode 100644 tests/expected/suites_ebrim_post_GetCapabilities.xml delete mode 100644 tests/expected/suites_ebrim_post_GetRecords-filter-bbox-full.xml delete mode 100644 tests/expected/suites_ebrim_post_GetRecords-filter-bbox.xml delete mode 100644 tests/expected/suites_fgdc_post_DescribeRecord.xml delete mode 100644 tests/expected/suites_fgdc_post_GetCapabilities.xml delete mode 100644 tests/expected/suites_fgdc_post_GetRecords-filter-bbox.xml delete mode 100644 tests/expected/suites_gm03_post_GetCapabilities.xml delete mode 100644 tests/expected/suites_gm03_post_GetRecords-filter-bbox.xml delete mode 100644 tests/expected/suites_harvesting_get_Exception-Harvest-invalid-resourcetype.xml delete mode 100644 tests/expected/suites_harvesting_get_Exception-Harvest-missing-resourcetype.xml delete mode 100644 tests/expected/suites_harvesting_get_Exception-Harvest-missing-source.xml delete mode 100644 tests/expected/suites_harvesting_get_Exception-Harvest-waf-bad-value.xml delete mode 100644 tests/expected/suites_harvesting_get_Exception-Harvest-waf-no-records-found.xml delete mode 100644 tests/expected/suites_harvesting_post_Clear-000-delete-all.xml delete mode 100644 tests/expected/suites_harvesting_post_Exception-Havest-csw-404.xml delete mode 100644 tests/expected/suites_harvesting_post_GetCapabilities.xml delete mode 100644 tests/expected/suites_harvesting_post_GetDomain-parameter.xml delete mode 100644 tests/expected/suites_harvesting_post_Harvest-csw-iso.xml delete mode 100644 tests/expected/suites_harvesting_post_Harvest-csw-run1.xml delete mode 100644 tests/expected/suites_harvesting_post_Harvest-csw-run2.xml delete mode 100644 tests/expected/suites_harvesting_post_Harvest-dc.xml delete mode 100644 tests/expected/suites_harvesting_post_Harvest-fgdc.xml delete mode 100644 tests/expected/suites_harvesting_post_Harvest-iso.xml delete mode 100644 tests/expected/suites_harvesting_post_Harvest-rdf.xml delete mode 100644 tests/expected/suites_harvesting_post_Harvest-sos100.xml delete mode 100644 tests/expected/suites_harvesting_post_Harvest-sos200.xml delete mode 100644 tests/expected/suites_harvesting_post_Harvest-waf.xml delete mode 100644 tests/expected/suites_harvesting_post_Harvest-wcs.xml delete mode 100644 tests/expected/suites_harvesting_post_Harvest-wfs110.xml delete mode 100644 tests/expected/suites_harvesting_post_Harvest-wfs200.xml delete mode 100644 tests/expected/suites_harvesting_post_Harvest-wms-run1.xml delete mode 100644 tests/expected/suites_harvesting_post_Harvest-wms-run2.xml delete mode 100644 tests/expected/suites_harvesting_post_Harvest-wmts.xml delete mode 100644 tests/expected/suites_harvesting_post_Harvest-wps.xml delete mode 100644 tests/expected/suites_harvesting_post_Harvest-zzz-post-GetRecords-filter-ows-dc.xml delete mode 100644 tests/expected/suites_harvesting_post_Harvest-zzz-post-GetRecords-filter-sos-abstract-dc.xml delete mode 100644 tests/expected/suites_harvesting_post_Harvest-zzz-post-GetRecords-filter-sos-dc.xml delete mode 100644 tests/expected/suites_harvesting_post_Harvest-zzz-post-GetRecords-filter-sos-iso.xml delete mode 100644 tests/expected/suites_harvesting_post_Harvest-zzz-post-GetRecords-filter-wfs-iso.xml delete mode 100644 tests/expected/suites_harvesting_post_Harvest-zzz-post-GetRecords-filter-wms-dc.xml delete mode 100644 tests/expected/suites_harvesting_post_Harvest-zzz-post-GetRecords-filter-wms-iso.xml delete mode 100644 tests/expected/suites_harvesting_post_Harvest-zzz-post-GetRecords-filter-wms-layer.xml delete mode 100644 tests/expected/suites_harvesting_post_Harvest-zzz-post-GetRecords-filter-wps-process.xml delete mode 100644 tests/expected/suites_harvesting_post_Transaction-000-delete-all.xml delete mode 100644 tests/expected/suites_manager_post_Clear-000-delete-all.xml delete mode 100644 tests/expected/suites_manager_post_GetCapabilities.xml delete mode 100644 tests/expected/suites_manager_post_GetDomain-parameter.xml delete mode 100644 tests/expected/suites_manager_post_Transaction-000-delete-all.xml delete mode 100644 tests/expected/suites_manager_post_Transaction-dc-01-insert.xml delete mode 100644 tests/expected/suites_manager_post_Transaction-dc-02-update-full.xml delete mode 100644 tests/expected/suites_manager_post_Transaction-fgdc-01-insert.xml delete mode 100644 tests/expected/suites_manager_post_Transaction-fgdc-02-update-recprop.xml delete mode 100644 tests/expected/suites_manager_post_Transaction-fgdc-03-delete-all.xml delete mode 100644 tests/expected/suites_manager_post_Transaction-iso-00-delete-all.xml delete mode 100644 tests/expected/suites_manager_post_Transaction-iso-01-insert.xml delete mode 100644 tests/expected/suites_manager_post_Transaction-iso-02-update-full.xml delete mode 100644 tests/expected/suites_manager_post_Transaction-iso-03-update-recprop.xml delete mode 100644 tests/expected/suites_manager_post_Transaction-iso-04-update-recprop-no-matches.xml delete mode 100644 tests/expected/suites_manager_post_Transaction-iso-05-delete.xml delete mode 100644 tests/expected/suites_manager_post_Transaction-xxx-delete-all.xml delete mode 100644 tests/expected/suites_oaipmh_get_GetRecord_bad_metadata_prefix.xml delete mode 100644 tests/expected/suites_oaipmh_get_GetRecord_dc.xml delete mode 100644 tests/expected/suites_oaipmh_get_GetRecord_iso.xml delete mode 100644 tests/expected/suites_oaipmh_get_GetRecord_oai_dc.xml delete mode 100644 tests/expected/suites_oaipmh_get_Identify.xml delete mode 100644 tests/expected/suites_oaipmh_get_ListIdentifiers_bad_metadata_prefix.xml delete mode 100644 tests/expected/suites_oaipmh_get_ListIdentifiers_dc.xml delete mode 100644 tests/expected/suites_oaipmh_get_ListIdentifiers_iso.xml delete mode 100644 tests/expected/suites_oaipmh_get_ListIdentifiers_missing_metadata_prefix.xml delete mode 100644 tests/expected/suites_oaipmh_get_ListIdentifiers_oai_dc.xml delete mode 100644 tests/expected/suites_oaipmh_get_ListMetadataFormats.xml delete mode 100644 tests/expected/suites_oaipmh_get_ListRecords_dc.xml delete mode 100644 tests/expected/suites_oaipmh_get_ListRecords_dc_bad_metadata_prefix.xml delete mode 100644 tests/expected/suites_oaipmh_get_ListRecords_iso19139.xml delete mode 100644 tests/expected/suites_oaipmh_get_ListRecords_oai_dc.xml delete mode 100644 tests/expected/suites_oaipmh_get_ListSets.xml delete mode 100644 tests/expected/suites_oaipmh_get_bad_verb.xml delete mode 100644 tests/expected/suites_oaipmh_get_empty.xml delete mode 100644 tests/expected/suites_oaipmh_get_empty_with_amp.xml delete mode 100644 tests/expected/suites_oaipmh_get_illegal_verb.xml delete mode 100644 tests/expected/suites_repofilter_post_GetRecordById-masked.xml delete mode 100644 tests/expected/suites_repofilter_post_GetRecords-all.xml delete mode 100644 tests/expected/suites_sru_get_explain.xml delete mode 100644 tests/expected/suites_sru_get_search.xml delete mode 100644 tests/expected/suites_sru_get_search_cql.xml delete mode 100644 tests/expected/suites_sru_get_search_maxrecords.xml delete mode 100644 tests/expected/suites_sru_get_search_startrecord_maxrecords.xml delete mode 100644 tests/expected/suites_utf-8_post_GetCapabilities.xml delete mode 100644 tests/suites/apiso-inspire/default.cfg delete mode 100644 tests/suites/apiso-inspire/get/requests.txt delete mode 100644 tests/suites/apiso/data/3e9a8c05.xml delete mode 100644 tests/suites/apiso/data/README.txt delete mode 100644 tests/suites/apiso/data/T_aerfo_RAS_1991_GR800P001800000012.xml delete mode 100644 tests/suites/apiso/data/T_aerfo_RAS_1991_GR800P001800000013.xml delete mode 100644 tests/suites/apiso/data/T_aerfo_RAS_1991_GR800P001800000014.xml delete mode 100644 tests/suites/apiso/data/T_aerfo_RAS_1991_GR800P001800000015.xml delete mode 100644 tests/suites/apiso/data/T_ortho_RAS_1998_284404.xml delete mode 100644 tests/suites/apiso/data/T_ortho_RAS_1998_288395.xml delete mode 100644 tests/suites/apiso/data/T_ortho_RAS_1998_288398.xml delete mode 100644 tests/suites/apiso/data/T_ortho_RAS_1998_288401.xml delete mode 100644 tests/suites/apiso/data/T_ortho_RAS_1998_288404.xml delete mode 100644 tests/suites/apiso/data/T_pmoed_DTM_1996_276395.xml delete mode 100644 tests/suites/apiso/data/T_pmoed_DTM_1996_276398.xml delete mode 100644 tests/suites/apiso/data/T_pmoed_DTM_1996_276401.xml delete mode 100644 tests/suites/apiso/data/T_pmoed_DTM_1996_276404.xml delete mode 100644 tests/suites/apiso/data/T_pmoed_DTM_1996_280395.xml delete mode 100644 tests/suites/apiso/data/pacioos-NS06agg.xml delete mode 100644 tests/suites/apiso/data/test.xml delete mode 100644 tests/suites/apiso/default.cfg delete mode 100644 tests/suites/apiso/post/DescribeRecord.xml delete mode 100644 tests/suites/apiso/post/GetCapabilities.xml delete mode 100644 tests/suites/apiso/post/GetDomain-property.xml delete mode 100644 tests/suites/apiso/post/GetRecordById-brief.xml delete mode 100644 tests/suites/apiso/post/GetRecordById-full-dc.xml delete mode 100644 tests/suites/apiso/post/GetRecordById-full.xml delete mode 100644 tests/suites/apiso/post/GetRecordById-srv-brief.xml delete mode 100644 tests/suites/apiso/post/GetRecords-all-csw-output.xml delete mode 100644 tests/suites/apiso/post/GetRecords-all.xml delete mode 100644 tests/suites/apiso/post/GetRecords-cql-title.xml delete mode 100644 tests/suites/apiso/post/GetRecords-elementname.xml delete mode 100644 tests/suites/apiso/post/GetRecords-filter-and-nested-spatial-or-dateline.xml delete mode 100644 tests/suites/apiso/post/GetRecords-filter-anytext.xml delete mode 100644 tests/suites/apiso/post/GetRecords-filter-bbox-csw-output.xml delete mode 100644 tests/suites/apiso/post/GetRecords-filter-bbox.xml delete mode 100644 tests/suites/apiso/post/GetRecords-filter-servicetype.xml delete mode 100644 tests/suites/atom/default.cfg delete mode 100644 tests/suites/atom/get/requests.txt delete mode 100644 tests/suites/atom/post/DescribeRecord.xml delete mode 100644 tests/suites/atom/post/GetCapabilities.xml delete mode 100644 tests/suites/atom/post/GetRecords-filter-bbox.xml delete mode 100644 tests/suites/cite/data/README.txt delete mode 100644 tests/suites/cite/data/Record_19887a8a-f6b0-4a63-ae56-7fba0e17801f.xml delete mode 100644 tests/suites/cite/data/Record_1ef30a8b-876d-4828-9246-c37ab4510bbd.xml delete mode 100644 tests/suites/cite/data/Record_66ae76b7-54ba-489b-a582-0f0633d96493.xml delete mode 100644 tests/suites/cite/data/Record_6a3de50b-fa66-4b58-a0e6-ca146fdd18d4.xml delete mode 100644 tests/suites/cite/data/Record_784e2afd-a9fd-44a6-9a92-a3848371c8ec.xml delete mode 100644 tests/suites/cite/data/Record_829babb0-b2f1-49e1-8cd5-7b489fe71a1e.xml delete mode 100644 tests/suites/cite/data/Record_88247b56-4cbc-4df9-9860-db3f8042e357.xml delete mode 100644 tests/suites/cite/data/Record_94bc9c83-97f6-4b40-9eb8-a8e8787a5c63.xml delete mode 100644 tests/suites/cite/data/Record_9a669547-b69b-469f-a11f-2d875366bbdc.xml delete mode 100644 tests/suites/cite/data/Record_a06af396-3105-442d-8b40-22b57a90d2f2.xml delete mode 100644 tests/suites/cite/data/Record_ab42a8c4-95e8-4630-bf79-33e59241605a.xml delete mode 100644 tests/suites/cite/data/Record_e9330592-0932-474b-be34-c3a3bb67c7db.xml delete mode 100644 tests/suites/cite/data/cite.db delete mode 100644 tests/suites/cite/default.cfg delete mode 100644 tests/suites/cite/get/requests.txt delete mode 100644 tests/suites/cite/post/0c976d98-c896-4b10-b1fe-a22ef50434e7.xml delete mode 100644 tests/suites/cite/post/19d2a6ed-be28-4866-ae15-e3bb634486cb.xml delete mode 100644 tests/suites/cite/post/1ab55aa3-6685-4595-8ecd-45987a7b8b59.xml delete mode 100644 tests/suites/cite/post/1c958b7a-ca09-4c38-98bd-ef1d1d28cc14.xml delete mode 100644 tests/suites/cite/post/1c97fc1a-61cd-4c1d-8054-933e17a6c5ee.xml delete mode 100644 tests/suites/cite/post/2102a460-5d62-465f-9668-d70b3faafbfa.xml delete mode 100644 tests/suites/cite/post/225f455a-0035-486b-a94e-fee7ae881b2b.xml delete mode 100644 tests/suites/cite/post/2d53ffea-60e4-4652-abf5-36eb23042fd5.xml delete mode 100644 tests/suites/cite/post/34a019a9-1581-42cb-9827-fbfdda2773b7.xml delete mode 100644 tests/suites/cite/post/3e76fd38-e035-41c9-83dc-61356f680c97.xml delete mode 100644 tests/suites/cite/post/418a6fb0-a89c-4a94-afc9-3f8168eb2980.xml delete mode 100644 tests/suites/cite/post/420b745e-0c4b-404e-9f2d-61fa580ff05a.xml delete mode 100644 tests/suites/cite/post/4735d649-a2b1-42fd-a101-14e1d7e4607f.xml delete mode 100644 tests/suites/cite/post/5c5861bc-f742-40a5-9998-5342615d674b.xml delete mode 100644 tests/suites/cite/post/6e736fd0-c266-4852-9eb3-0656f5d0f5c4.xml delete mode 100644 tests/suites/cite/post/73f1551c-e269-4ef9-9dae-e535b5eebfc7.xml delete mode 100644 tests/suites/cite/post/78297c88-4850-4927-adc6-511cd9a3d539.xml delete mode 100644 tests/suites/cite/post/7c89cdf5-0def-4cfb-8c55-2b8ffea5d92f.xml delete mode 100644 tests/suites/cite/post/7e2cd105-daec-4d25-bc8e-d49d21364912.xml delete mode 100644 tests/suites/cite/post/87f2f670-9cd6-4907-b82c-1b46a7dd2a78.xml delete mode 100644 tests/suites/cite/post/88b4e1ba-3bd4-4cbe-81e5-e004056d6ca3.xml delete mode 100644 tests/suites/cite/post/898cd63b-2585-4ec0-8720-d554bd324174.xml delete mode 100644 tests/suites/cite/post/8fb13dc3-5818-45e2-9e29-46abc16e7d38.xml delete mode 100644 tests/suites/cite/post/928c1896-52d4-4ac7-9832-f98e3eb65f02.xml delete mode 100644 tests/suites/cite/post/93bdbb9d-2734-4f01-92fb-48634cca41de.xml delete mode 100644 tests/suites/cite/post/948b39d5-bb4f-45b8-a8f2-4ff9501aaedd.xml delete mode 100644 tests/suites/cite/post/9fd64fcc-f69c-4626-b72e-5c7776a29aa9.xml delete mode 100644 tests/suites/cite/post/a06d04ab-e0d0-4a86-bfe8-71460f41fe37.xml delete mode 100644 tests/suites/cite/post/ad61686c-d304-42d1-b845-8c1f3070c83e.xml delete mode 100644 tests/suites/cite/post/af39c020-7b1d-429c-b474-f45c3164cb79.xml delete mode 100644 tests/suites/cite/post/b90e2de6-3d25-4298-a13e-dc9492a8fc73.xml delete mode 100644 tests/suites/cite/post/ba9b0107-dcee-46ef-823a-a2e25a911a96.xml delete mode 100644 tests/suites/cite/post/bb66ebc5-7121-48b5-9f53-b56537d9561b.xml delete mode 100644 tests/suites/cite/post/c02d1c85-df9f-45ee-bea7-345c35e02a98.xml delete mode 100644 tests/suites/cite/post/c311a342-72e3-4983-be39-868e6ed9740f.xml delete mode 100644 tests/suites/cite/post/c38916c2-4bc6-446d-b7aa-ab006d6ba31c.xml delete mode 100644 tests/suites/cite/post/c8588f47-8e65-45f5-ad34-ff4524cad84d.xml delete mode 100644 tests/suites/cite/post/da228d4c-e1be-43d7-9ccb-c3f27ee32541.xml delete mode 100644 tests/suites/cite/post/dc92c2c4-87d8-4a13-964e-ff9b0e0c27b3.xml delete mode 100644 tests/suites/cite/post/dcb13791-379e-4739-bcd4-dbaa69f0efdb.xml delete mode 100644 tests/suites/cite/post/e308f030-c097-4036-a838-44bad74c9ef7.xml delete mode 100644 tests/suites/cite/post/e6e9efb2-e2b7-4b0a-a3a2-7deea3f9b8e2.xml delete mode 100644 tests/suites/cite/post/f7976c55-a156-4421-8199-bc0487da4b0f.xml delete mode 100644 tests/suites/cite/post/f7d79701-f10b-4087-a33c-f62df0a04fd1.xml delete mode 100644 tests/suites/cite/post/fc1bc094-88f1-4851-bc2b-dfc56be9f3c7.xml delete mode 100644 tests/suites/cite/post/fe20960f-a26c-4f13-852d-470a0d3233f9.xml delete mode 100644 tests/suites/csw30/default.cfg delete mode 100644 tests/suites/csw30/get/requests.txt delete mode 100644 tests/suites/csw30/post/Exception-GetDomain-parametername-bad.xml delete mode 100644 tests/suites/csw30/post/Exception-GetDomain-valuereference-bad.xml delete mode 100644 tests/suites/csw30/post/Exception-GetRecordById-404.xml delete mode 100644 tests/suites/csw30/post/Exception-GetRecordById-bad-esn.xml delete mode 100644 tests/suites/csw30/post/Exception-bad-xml.xml delete mode 100644 tests/suites/csw30/post/Exception-not-xml.xml delete mode 100644 tests/suites/csw30/post/GetCapabilities.xml delete mode 100644 tests/suites/csw30/post/GetDomain-parametername.xml delete mode 100644 tests/suites/csw30/post/GetDomain-valuereference.xml delete mode 100644 tests/suites/csw30/post/GetRecordById-dc-full.xml delete mode 100644 tests/suites/csw30/post/GetRecordById-dc.xml delete mode 100644 tests/suites/default/default.cfg delete mode 100644 tests/suites/default/get/requests.txt delete mode 100644 tests/suites/default/post/DescribeRecord-json.xml delete mode 100644 tests/suites/default/post/DescribeRecord.xml delete mode 100644 tests/suites/default/post/Exception-GetRecords-badsrsname.xml delete mode 100644 tests/suites/default/post/Exception-GetRecords-elementname.xml delete mode 100644 tests/suites/default/post/Exception-GetRecords-invalid-xml.xml delete mode 100644 tests/suites/default/post/GetCapabilities-SOAP.xml delete mode 100644 tests/suites/default/post/GetCapabilities-sections.xml delete mode 100644 tests/suites/default/post/GetCapabilities-updatesequence.xml delete mode 100644 tests/suites/default/post/GetCapabilities.xml delete mode 100644 tests/suites/default/post/GetDomain-parameter.xml delete mode 100644 tests/suites/default/post/GetDomain-property.xml delete mode 100644 tests/suites/default/post/GetRecordById-json.xml delete mode 100644 tests/suites/default/post/GetRecordById.xml delete mode 100644 tests/suites/default/post/GetRecords-all-json.xml delete mode 100644 tests/suites/default/post/GetRecords-all-resulttype-hits.xml delete mode 100644 tests/suites/default/post/GetRecords-all-resulttype-validate.xml delete mode 100644 tests/suites/default/post/GetRecords-all-sortby-bbox.xml delete mode 100644 tests/suites/default/post/GetRecords-all.xml delete mode 100644 tests/suites/default/post/GetRecords-bbox-filter-crs84.xml delete mode 100644 tests/suites/default/post/GetRecords-cql-title-and-abstract.xml delete mode 100644 tests/suites/default/post/GetRecords-cql-title.xml delete mode 100644 tests/suites/default/post/GetRecords-distributedsearch.xml delete mode 100644 tests/suites/default/post/GetRecords-elementname.xml delete mode 100644 tests/suites/default/post/GetRecords-end.xml delete mode 100644 tests/suites/default/post/GetRecords-filter-and-bbox-freetext.xml delete mode 100644 tests/suites/default/post/GetRecords-filter-and-nested-or.xml delete mode 100644 tests/suites/default/post/GetRecords-filter-and-nested-or2.xml delete mode 100644 tests/suites/default/post/GetRecords-filter-anytext-and-not.xml delete mode 100644 tests/suites/default/post/GetRecords-filter-anytext-equal.xml delete mode 100644 tests/suites/default/post/GetRecords-filter-anytext.xml delete mode 100644 tests/suites/default/post/GetRecords-filter-bbox-reproject.xml delete mode 100644 tests/suites/default/post/GetRecords-filter-bbox-sortby.xml delete mode 100644 tests/suites/default/post/GetRecords-filter-bbox.xml delete mode 100644 tests/suites/default/post/GetRecords-filter-between.xml delete mode 100644 tests/suites/default/post/GetRecords-filter-function-bad.xml delete mode 100644 tests/suites/default/post/GetRecords-filter-function.xml delete mode 100644 tests/suites/default/post/GetRecords-filter-not-bbox.xml delete mode 100644 tests/suites/default/post/GetRecords-filter-or-bbox-freetext.xml delete mode 100644 tests/suites/default/post/GetRecords-filter-or-nested-and.xml delete mode 100644 tests/suites/default/post/GetRecords-filter-or-title-abstract.xml delete mode 100644 tests/suites/default/post/GetRecords-maxrecords.xml delete mode 100644 tests/suites/default/post/GetRecords-requestid.xml delete mode 100644 tests/suites/default/post/Harvest-default.xml delete mode 100644 tests/suites/default/post/Harvest-response-handler.xml delete mode 100644 tests/suites/default/post/Transaction-delete.xml delete mode 100644 tests/suites/default/post/Transaction-insert.xml delete mode 100644 tests/suites/default/post/Transaction-update-full.xml delete mode 100644 tests/suites/default/post/Transaction-update-recordproperty.xml delete mode 100644 tests/suites/dif/default.cfg delete mode 100644 tests/suites/dif/post/DescribeRecord.xml delete mode 100644 tests/suites/dif/post/GetCapabilities.xml delete mode 100644 tests/suites/dif/post/GetRecords-filter-bbox.xml delete mode 100644 tests/suites/ebrim/default.cfg delete mode 100644 tests/suites/ebrim/post/DescribeRecord.xml delete mode 100644 tests/suites/ebrim/post/GetCapabilities.xml delete mode 100644 tests/suites/ebrim/post/GetRecords-filter-bbox-full.xml delete mode 100644 tests/suites/ebrim/post/GetRecords-filter-bbox.xml delete mode 100644 tests/suites/fgdc/default.cfg delete mode 100644 tests/suites/fgdc/post/DescribeRecord.xml delete mode 100644 tests/suites/fgdc/post/GetCapabilities.xml delete mode 100644 tests/suites/fgdc/post/GetRecords-filter-bbox.xml delete mode 100644 tests/suites/gm03/default.cfg delete mode 100644 tests/suites/gm03/post/GetCapabilities.xml delete mode 100644 tests/suites/gm03/post/GetRecords-filter-bbox.xml delete mode 100644 tests/suites/harvesting/data/.gitkeep delete mode 100644 tests/suites/harvesting/default.cfg delete mode 100644 tests/suites/harvesting/get/requests.txt delete mode 100644 tests/suites/harvesting/post/Clear-000-delete-all.xml delete mode 100644 tests/suites/harvesting/post/Exception-Havest-csw-404.xml delete mode 100644 tests/suites/harvesting/post/GetCapabilities.xml delete mode 100644 tests/suites/harvesting/post/GetDomain-parameter.xml delete mode 100644 tests/suites/harvesting/post/Harvest-csw-iso.xml delete mode 100644 tests/suites/harvesting/post/Harvest-csw-run1.xml delete mode 100644 tests/suites/harvesting/post/Harvest-csw-run2.xml delete mode 100644 tests/suites/harvesting/post/Harvest-dc.xml delete mode 100644 tests/suites/harvesting/post/Harvest-fgdc.xml delete mode 100644 tests/suites/harvesting/post/Harvest-iso.xml delete mode 100644 tests/suites/harvesting/post/Harvest-rdf.xml delete mode 100644 tests/suites/harvesting/post/Harvest-sos100.xml delete mode 100644 tests/suites/harvesting/post/Harvest-sos200.xml delete mode 100644 tests/suites/harvesting/post/Harvest-waf.xml delete mode 100644 tests/suites/harvesting/post/Harvest-wcs.xml delete mode 100644 tests/suites/harvesting/post/Harvest-wfs110.xml delete mode 100644 tests/suites/harvesting/post/Harvest-wfs200.xml delete mode 100644 tests/suites/harvesting/post/Harvest-wms-run1.xml delete mode 100644 tests/suites/harvesting/post/Harvest-wms-run2.xml delete mode 100644 tests/suites/harvesting/post/Harvest-wmts.xml delete mode 100644 tests/suites/harvesting/post/Harvest-wps.xml delete mode 100644 tests/suites/harvesting/post/Harvest-zzz-post-GetRecords-filter-ows-dc.xml delete mode 100644 tests/suites/harvesting/post/Harvest-zzz-post-GetRecords-filter-sos-abstract-dc.xml delete mode 100644 tests/suites/harvesting/post/Harvest-zzz-post-GetRecords-filter-sos-dc.xml delete mode 100644 tests/suites/harvesting/post/Harvest-zzz-post-GetRecords-filter-sos-iso.xml delete mode 100644 tests/suites/harvesting/post/Harvest-zzz-post-GetRecords-filter-wfs-iso.xml delete mode 100644 tests/suites/harvesting/post/Harvest-zzz-post-GetRecords-filter-wms-dc.xml delete mode 100644 tests/suites/harvesting/post/Harvest-zzz-post-GetRecords-filter-wms-iso.xml delete mode 100644 tests/suites/harvesting/post/Harvest-zzz-post-GetRecords-filter-wms-layer.xml delete mode 100644 tests/suites/harvesting/post/Harvest-zzz-post-GetRecords-filter-wps-process.xml delete mode 100644 tests/suites/harvesting/post/Transaction-000-delete-all.xml delete mode 100644 tests/suites/manager/data/.gitkeep delete mode 100644 tests/suites/manager/default.cfg delete mode 100644 tests/suites/manager/post/Clear-000-delete-all.xml delete mode 100644 tests/suites/manager/post/GetCapabilities.xml delete mode 100644 tests/suites/manager/post/GetDomain-parameter.xml delete mode 100644 tests/suites/manager/post/Transaction-000-delete-all.xml delete mode 100644 tests/suites/manager/post/Transaction-dc-01-insert.xml delete mode 100644 tests/suites/manager/post/Transaction-dc-02-update-full.xml delete mode 100644 tests/suites/manager/post/Transaction-fgdc-01-insert.xml delete mode 100644 tests/suites/manager/post/Transaction-fgdc-02-update-recprop.xml delete mode 100644 tests/suites/manager/post/Transaction-fgdc-03-delete-all.xml delete mode 100644 tests/suites/manager/post/Transaction-iso-00-delete-all.xml delete mode 100644 tests/suites/manager/post/Transaction-iso-01-insert.xml delete mode 100644 tests/suites/manager/post/Transaction-iso-02-update-full.xml delete mode 100644 tests/suites/manager/post/Transaction-iso-03-update-recprop.xml delete mode 100644 tests/suites/manager/post/Transaction-iso-04-update-recprop-no-matches.xml delete mode 100644 tests/suites/manager/post/Transaction-iso-05-delete.xml delete mode 100644 tests/suites/manager/post/Transaction-xxx-delete-all.xml delete mode 100644 tests/suites/oaipmh/default.cfg delete mode 100644 tests/suites/oaipmh/get/requests.txt delete mode 100644 tests/suites/repofilter/default.cfg delete mode 100644 tests/suites/repofilter/post/GetRecordById-masked.xml delete mode 100644 tests/suites/repofilter/post/GetRecords-all.xml delete mode 100644 tests/suites/sru/default.cfg delete mode 100644 tests/suites/sru/get/requests.txt delete mode 100644 tests/suites/utf-8/default.cfg delete mode 100644 tests/suites/utf-8/post/GetCapabilities.xml diff --git a/tests/expected/suites_apiso-inspire_get_GetCapabilities-lang.xml b/tests/expected/suites_apiso-inspire_get_GetCapabilities-lang.xml deleted file mode 100644 index 0434106ff..000000000 --- a/tests/expected/suites_apiso-inspire_get_GetCapabilities-lang.xml +++ /dev/null @@ -1,377 +0,0 @@ - - - - - pycsw Geospatial Catalogue - pycsw is an OGC CSW server implementation written in Python - - catalogue - discovery - theme - - CSW - 2.0.2 - 3.0.0 - None - None - - - pycsw - - - Kralidis, Tom - Senior Systems Scientist - - - +01-416-xxx-xxxx - +01-416-xxx-xxxx - - - TBA - Toronto - Ontario - M9C 3Z9 - Canada - tomkralidis@gmail.com - - - 0800h - 1600h EST - During hours of service. Off on weekends. - - pointOfContact - - - - - - - - - - - - Filter_Capabilities - OperationsMetadata - ServiceIdentification - ServiceProvider - - - - - - - - - - - application/json - application/xml - - - http://www.w3.org/2001/XMLSchema - http://www.w3.org/TR/xmlschema-1/ - http://www.w3.org/XML/Schema - - - csw:Record - gmd:MD_Metadata - - - - - - - - - - - DescribeRecord.outputFormat - DescribeRecord.schemaLanguage - DescribeRecord.typeName - GetCapabilities.sections - GetRecordById.ElementSetName - GetRecordById.outputFormat - GetRecordById.outputSchema - GetRecords.CONSTRAINTLANGUAGE - GetRecords.ElementSetName - GetRecords.outputFormat - GetRecords.outputSchema - GetRecords.resultType - GetRecords.typeNames - - - - - - - - - - - CQL_TEXT - FILTER - - - brief - full - summary - - - application/json - application/xml - - - http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ - http://www.interlis.ch/INTERLIS2.3 - http://www.isotc211.org/2005/gmd - http://www.opengis.net/cat/csw/2.0.2 - http://www.opengis.net/cat/csw/csdgm - http://www.w3.org/2005/Atom - - - hits - results - validate - - - csw:Record - gmd:MD_Metadata - - - apiso:AccessConstraints - apiso:Classification - apiso:ConditionApplyingToAccessAndUse - apiso:Contributor - apiso:Creator - apiso:Degree - apiso:Lineage - apiso:OtherConstraints - apiso:Publisher - apiso:Relation - apiso:ResponsiblePartyRole - apiso:SpecificationDate - apiso:SpecificationDateType - apiso:SpecificationTitle - - - csw:AnyText - dc:contributor - dc:creator - dc:date - dc:format - dc:identifier - dc:language - dc:publisher - dc:relation - dc:rights - dc:source - dc:subject - dc:title - dc:type - dct:abstract - dct:alternative - dct:modified - dct:spatial - ows:BoundingBox - - - apiso:Abstract - apiso:AlternateTitle - apiso:AnyText - apiso:BoundingBox - apiso:CRS - apiso:CouplingType - apiso:CreationDate - apiso:Denominator - apiso:DistanceUOM - apiso:DistanceValue - apiso:Format - apiso:GeographicDescriptionCode - apiso:HasSecurityConstraints - apiso:Identifier - apiso:KeywordType - apiso:Language - apiso:Modified - apiso:OperatesOn - apiso:OperatesOnIdentifier - apiso:OperatesOnName - apiso:Operation - apiso:OrganisationName - apiso:ParentIdentifier - apiso:PublicationDate - apiso:ResourceLanguage - apiso:RevisionDate - apiso:ServiceType - apiso:ServiceTypeVersion - apiso:Subject - apiso:TempExtent_begin - apiso:TempExtent_end - apiso:Title - apiso:TopicCategory - apiso:Type - - - - - - - - - - - brief - full - summary - - - application/json - application/xml - - - http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ - http://www.interlis.ch/INTERLIS2.3 - http://www.isotc211.org/2005/gmd - http://www.opengis.net/cat/csw/2.0.2 - http://www.opengis.net/cat/csw/csdgm - http://www.w3.org/2005/Atom - - - - - - - - - - - CSW - - - 2.0.2 - 3.0.0 - - - http://geo.data.gov/geoportal/csw/discovery - - - 10 - - - XML - SOAP - - - allowed - - - - http://localhost/pycsw/csw.py?config=tests/suites/apiso-inspire/default.cfg&service=CSW&version=2.0.2&request=GetCapabilities - application/xml - - service - - - - 2011-02-01 - 2011-03-30 - - - - - - COMMISSION REGULATION (EU) No 1089/2010 of 23 November 2010 implementing Directive 2007/2/EC of the European Parliament and of the Council as regards interoperability of spatial data sets and services - 2010-12-08 - OJ:L:2010:323:0011:0102:EN:PDF - - http://eur-lex.europa.eu/LexUriServ/LexUriServ.do?uri=OJ:L:2010:323:0011:0102:EN:PDF - application/pdf - - - notEvaluated - - - National Technical University of Athens - tzotsos@gmail.com - - 2011-03-29 - discovery - - infoCatalogueService - - - - GEMET - INSPIRE themes - 2008-06-01 - - Utility and governmental services - - - - eng - - - eng - - - gre - - - - eng - - - - - - - gml:Point - gml:LineString - gml:Polygon - gml:Envelope - - - - - - - - - - - - - - - - - - - Between - EqualTo - GreaterThan - GreaterThanEqualTo - LessThan - LessThanEqualTo - Like - NotEqualTo - NullCheck - - - - - length - lower - ltrim - rtrim - trim - upper - - - - - - - - - - diff --git a/tests/expected/suites_apiso-inspire_get_GetCapabilities.xml b/tests/expected/suites_apiso-inspire_get_GetCapabilities.xml deleted file mode 100644 index 0434106ff..000000000 --- a/tests/expected/suites_apiso-inspire_get_GetCapabilities.xml +++ /dev/null @@ -1,377 +0,0 @@ - - - - - pycsw Geospatial Catalogue - pycsw is an OGC CSW server implementation written in Python - - catalogue - discovery - theme - - CSW - 2.0.2 - 3.0.0 - None - None - - - pycsw - - - Kralidis, Tom - Senior Systems Scientist - - - +01-416-xxx-xxxx - +01-416-xxx-xxxx - - - TBA - Toronto - Ontario - M9C 3Z9 - Canada - tomkralidis@gmail.com - - - 0800h - 1600h EST - During hours of service. Off on weekends. - - pointOfContact - - - - - - - - - - - - Filter_Capabilities - OperationsMetadata - ServiceIdentification - ServiceProvider - - - - - - - - - - - application/json - application/xml - - - http://www.w3.org/2001/XMLSchema - http://www.w3.org/TR/xmlschema-1/ - http://www.w3.org/XML/Schema - - - csw:Record - gmd:MD_Metadata - - - - - - - - - - - DescribeRecord.outputFormat - DescribeRecord.schemaLanguage - DescribeRecord.typeName - GetCapabilities.sections - GetRecordById.ElementSetName - GetRecordById.outputFormat - GetRecordById.outputSchema - GetRecords.CONSTRAINTLANGUAGE - GetRecords.ElementSetName - GetRecords.outputFormat - GetRecords.outputSchema - GetRecords.resultType - GetRecords.typeNames - - - - - - - - - - - CQL_TEXT - FILTER - - - brief - full - summary - - - application/json - application/xml - - - http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ - http://www.interlis.ch/INTERLIS2.3 - http://www.isotc211.org/2005/gmd - http://www.opengis.net/cat/csw/2.0.2 - http://www.opengis.net/cat/csw/csdgm - http://www.w3.org/2005/Atom - - - hits - results - validate - - - csw:Record - gmd:MD_Metadata - - - apiso:AccessConstraints - apiso:Classification - apiso:ConditionApplyingToAccessAndUse - apiso:Contributor - apiso:Creator - apiso:Degree - apiso:Lineage - apiso:OtherConstraints - apiso:Publisher - apiso:Relation - apiso:ResponsiblePartyRole - apiso:SpecificationDate - apiso:SpecificationDateType - apiso:SpecificationTitle - - - csw:AnyText - dc:contributor - dc:creator - dc:date - dc:format - dc:identifier - dc:language - dc:publisher - dc:relation - dc:rights - dc:source - dc:subject - dc:title - dc:type - dct:abstract - dct:alternative - dct:modified - dct:spatial - ows:BoundingBox - - - apiso:Abstract - apiso:AlternateTitle - apiso:AnyText - apiso:BoundingBox - apiso:CRS - apiso:CouplingType - apiso:CreationDate - apiso:Denominator - apiso:DistanceUOM - apiso:DistanceValue - apiso:Format - apiso:GeographicDescriptionCode - apiso:HasSecurityConstraints - apiso:Identifier - apiso:KeywordType - apiso:Language - apiso:Modified - apiso:OperatesOn - apiso:OperatesOnIdentifier - apiso:OperatesOnName - apiso:Operation - apiso:OrganisationName - apiso:ParentIdentifier - apiso:PublicationDate - apiso:ResourceLanguage - apiso:RevisionDate - apiso:ServiceType - apiso:ServiceTypeVersion - apiso:Subject - apiso:TempExtent_begin - apiso:TempExtent_end - apiso:Title - apiso:TopicCategory - apiso:Type - - - - - - - - - - - brief - full - summary - - - application/json - application/xml - - - http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ - http://www.interlis.ch/INTERLIS2.3 - http://www.isotc211.org/2005/gmd - http://www.opengis.net/cat/csw/2.0.2 - http://www.opengis.net/cat/csw/csdgm - http://www.w3.org/2005/Atom - - - - - - - - - - - CSW - - - 2.0.2 - 3.0.0 - - - http://geo.data.gov/geoportal/csw/discovery - - - 10 - - - XML - SOAP - - - allowed - - - - http://localhost/pycsw/csw.py?config=tests/suites/apiso-inspire/default.cfg&service=CSW&version=2.0.2&request=GetCapabilities - application/xml - - service - - - - 2011-02-01 - 2011-03-30 - - - - - - COMMISSION REGULATION (EU) No 1089/2010 of 23 November 2010 implementing Directive 2007/2/EC of the European Parliament and of the Council as regards interoperability of spatial data sets and services - 2010-12-08 - OJ:L:2010:323:0011:0102:EN:PDF - - http://eur-lex.europa.eu/LexUriServ/LexUriServ.do?uri=OJ:L:2010:323:0011:0102:EN:PDF - application/pdf - - - notEvaluated - - - National Technical University of Athens - tzotsos@gmail.com - - 2011-03-29 - discovery - - infoCatalogueService - - - - GEMET - INSPIRE themes - 2008-06-01 - - Utility and governmental services - - - - eng - - - eng - - - gre - - - - eng - - - - - - - gml:Point - gml:LineString - gml:Polygon - gml:Envelope - - - - - - - - - - - - - - - - - - - Between - EqualTo - GreaterThan - GreaterThanEqualTo - LessThan - LessThanEqualTo - Like - NotEqualTo - NullCheck - - - - - length - lower - ltrim - rtrim - trim - upper - - - - - - - - - - diff --git a/tests/expected/suites_apiso_post_DescribeRecord.xml b/tests/expected/suites_apiso_post_DescribeRecord.xml deleted file mode 100644 index bda19c0ac..000000000 --- a/tests/expected/suites_apiso_post_DescribeRecord.xml +++ /dev/null @@ -1,551 +0,0 @@ - - - - - - - - This file was generated from ISO TC/211 UML class diagrams == 01-26-2005 12:40:05 ====== - - - - - - - - - - - - Basic information about data - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Graphic that provides an illustration of the dataset (should include a legend for the graphic) - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - See 19119 for further info - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Brief description of ways in which the dataset is currently used. - - - - - - - - - - - - - - - - - - - - - - - - - - Keywords, their type and reference source - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Encapsulates the dataset aggregation information - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - High-level geospatial data thematic classification to assist in the grouping and search of available geospatial datasets - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - This file was generated from ISO TC/211 UML class diagrams == 10-13-2006 11:14:04 ====== - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/tests/expected/suites_apiso_post_GetCapabilities.xml b/tests/expected/suites_apiso_post_GetCapabilities.xml deleted file mode 100644 index fdfc1b626..000000000 --- a/tests/expected/suites_apiso_post_GetCapabilities.xml +++ /dev/null @@ -1,320 +0,0 @@ - - - - - pycsw Geospatial Catalogue - pycsw is an OGC CSW server implementation written in Python - - catalogue - discovery - theme - - CSW - 2.0.2 - 3.0.0 - None - None - - - pycsw - - - Kralidis, Tom - Senior Systems Scientist - - - +01-416-xxx-xxxx - +01-416-xxx-xxxx - - - TBA - Toronto - Ontario - M9C 3Z9 - Canada - tomkralidis@gmail.com - - - 0800h - 1600h EST - During hours of service. Off on weekends. - - pointOfContact - - - - - - - - - - - - Filter_Capabilities - OperationsMetadata - ServiceIdentification - ServiceProvider - - - - - - - - - - - application/json - application/xml - - - http://www.w3.org/2001/XMLSchema - http://www.w3.org/TR/xmlschema-1/ - http://www.w3.org/XML/Schema - - - csw:Record - gmd:MD_Metadata - - - - - - - - - - - DescribeRecord.outputFormat - DescribeRecord.schemaLanguage - DescribeRecord.typeName - GetCapabilities.sections - GetRecordById.ElementSetName - GetRecordById.outputFormat - GetRecordById.outputSchema - GetRecords.CONSTRAINTLANGUAGE - GetRecords.ElementSetName - GetRecords.outputFormat - GetRecords.outputSchema - GetRecords.resultType - GetRecords.typeNames - - - - - - - - - - - CQL_TEXT - FILTER - - - brief - full - summary - - - application/json - application/xml - - - http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ - http://www.interlis.ch/INTERLIS2.3 - http://www.isotc211.org/2005/gmd - http://www.opengis.net/cat/csw/2.0.2 - http://www.opengis.net/cat/csw/csdgm - http://www.w3.org/2005/Atom - - - hits - results - validate - - - csw:Record - gmd:MD_Metadata - - - apiso:AccessConstraints - apiso:Classification - apiso:ConditionApplyingToAccessAndUse - apiso:Contributor - apiso:Creator - apiso:Degree - apiso:Lineage - apiso:OtherConstraints - apiso:Publisher - apiso:Relation - apiso:ResponsiblePartyRole - apiso:SpecificationDate - apiso:SpecificationDateType - apiso:SpecificationTitle - - - csw:AnyText - dc:contributor - dc:creator - dc:date - dc:format - dc:identifier - dc:language - dc:publisher - dc:relation - dc:rights - dc:source - dc:subject - dc:title - dc:type - dct:abstract - dct:alternative - dct:modified - dct:spatial - ows:BoundingBox - - - apiso:Abstract - apiso:AlternateTitle - apiso:AnyText - apiso:BoundingBox - apiso:CRS - apiso:CouplingType - apiso:CreationDate - apiso:Denominator - apiso:DistanceUOM - apiso:DistanceValue - apiso:Format - apiso:GeographicDescriptionCode - apiso:HasSecurityConstraints - apiso:Identifier - apiso:KeywordType - apiso:Language - apiso:Modified - apiso:OperatesOn - apiso:OperatesOnIdentifier - apiso:OperatesOnName - apiso:Operation - apiso:OrganisationName - apiso:ParentIdentifier - apiso:PublicationDate - apiso:ResourceLanguage - apiso:RevisionDate - apiso:ServiceType - apiso:ServiceTypeVersion - apiso:Subject - apiso:TempExtent_begin - apiso:TempExtent_end - apiso:Title - apiso:TopicCategory - apiso:Type - - - - - - - - - - - brief - full - summary - - - application/json - application/xml - - - http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ - http://www.interlis.ch/INTERLIS2.3 - http://www.isotc211.org/2005/gmd - http://www.opengis.net/cat/csw/2.0.2 - http://www.opengis.net/cat/csw/csdgm - http://www.w3.org/2005/Atom - - - - - - - - - - - CSW - - - 2.0.2 - 3.0.0 - - - http://geo.data.gov/geoportal/csw/discovery - - - 10 - - - XML - SOAP - - - allowed - - - - - - gml:Point - gml:LineString - gml:Polygon - gml:Envelope - - - - - - - - - - - - - - - - - - - Between - EqualTo - GreaterThan - GreaterThanEqualTo - LessThan - LessThanEqualTo - Like - NotEqualTo - NullCheck - - - - - length - lower - ltrim - rtrim - trim - upper - - - - - - - - - - diff --git a/tests/expected/suites_apiso_post_GetDomain-property.xml b/tests/expected/suites_apiso_post_GetDomain-property.xml deleted file mode 100644 index 17c50d767..000000000 --- a/tests/expected/suites_apiso_post_GetDomain-property.xml +++ /dev/null @@ -1,12 +0,0 @@ - - - - - apiso:TopicCategory - - climatologyMeteorologyAtmosphere - elevation - geoscientificInformation - - - diff --git a/tests/expected/suites_apiso_post_GetRecordById-brief.xml b/tests/expected/suites_apiso_post_GetRecordById-brief.xml deleted file mode 100644 index ea58eb97e..000000000 --- a/tests/expected/suites_apiso_post_GetRecordById-brief.xml +++ /dev/null @@ -1,77 +0,0 @@ - - - - - - de53e931-778a-4792-94ad-9fe507aca483 - - - dataset - - - - - - - Ortho - - - - - 2000-01-01 - - - publication - - - - - - - - - - - 21.48 - - - 21.53 - - - 39.76 - - - 39.79 - - - - - - - - - - - - - - - http://www.ypaat.gr - - - None - - - None - - - None - - - - - - - - - diff --git a/tests/expected/suites_apiso_post_GetRecordById-full-dc.xml b/tests/expected/suites_apiso_post_GetRecordById-full-dc.xml deleted file mode 100644 index 155b3491d..000000000 --- a/tests/expected/suites_apiso_post_GetRecordById-full-dc.xml +++ /dev/null @@ -1,45 +0,0 @@ - - - - - NS06agg - PacIOOS Nearshore Sensor 06: Pohnpei, Micronesia - dataset - Oceans > Ocean Chemistry > Chlorophyll - Oceans > Ocean Optics > Turbidity - Oceans > Ocean Temperature > Water Temperature - Oceans > Salinity/Density > Conductivity - Oceans > Salinity/Density > Salinity - Oceans > Water Quality - Ocean &gt; Pacific Ocean &gt; Western Pacific Ocean &gt; Micronesia &gt; Federated States of Micronesia - Ocean &gt; Pacific Ocean &gt; United States of America &gt; Territories - Federated States of Micronesia &gt; Pohnpei &gt; Pohnpei Lagoon - Pacific Islands Ocean Observing System (PacIOOS) - Pacific Islands Ocean Observing System (PacIOOS) - sea_water_temperature - sea_water_electrical_conductivity - sea_water_turbidity - mass_concentration_of_chlorophyll_in_sea_water - sea_water_salinity - depth - latitude - longitude - time - climatologyMeteorologyAtmosphere - http://oos.soest.hawaii.edu/thredds/idd/nss_pacioos.html?dataset=NS06agg - http://oos.soest.hawaii.edu/thredds/dodsC/pacioos/nss/ns06agg.html - http://pacioos.org/voyager/index.html?b=6.874279%2C158.077126%2C7.050468%2C158.369808&tz=pont&o=qual:2::p0NS06p1 - http://oos.soest.hawaii.edu/dchart/index.html?dsetid=54cd0688ada08d86748b9c5762509f - http://oos.soest.hawaii.edu/erddap/tabledap/nss06_agg.graph?time%2Ctemperature&.draw=lines - http://pacioos.org/focus/waterquality/wq_fsm.php - http://oos.soest.hawaii.edu/thredds/dodsC/pacioos/nss/ns06agg - - 2014-04-16 - The nearshore sensors are part of the Pacific Islands Ocean Observing System (PacIOOS) and are designed to measure a variety of ocean parameters at fixed point locations. NS06 is located at the dock in Pohnpei lagoon and is mounted to the bottom in about 1 meter of water. The instrument is a Sea-Bird Electronics model 16+ V2 coupled with a WET Labs ECO-FLNTUS combination sensor. - 2014-04-16 - - 6.96 158.22 - 6.96 158.22 - - - diff --git a/tests/expected/suites_apiso_post_GetRecordById-full.xml b/tests/expected/suites_apiso_post_GetRecordById-full.xml deleted file mode 100644 index 6b88e5eef..000000000 --- a/tests/expected/suites_apiso_post_GetRecordById-full.xml +++ /dev/null @@ -1,40 +0,0 @@ - - - - - de53e931-778a-4792-94ad-9fe507aca483 - eng - dataset - YPAATypaat@ypaat.grpointOfContact - 2009-10-07 -ISO19115 -2003/Cor.1:2006 - - - - - Ortho - 2000-01-01publication - de53e931-778a-4792-94ad-9fe507aca483 - T_ortho_RAS_1998_284404.tif - - - Ortho -YPAATypaat@ypaat.growner - OrthoimageryGEMET - INSPIRE themes, version 1.02008-06-01publication - no conditions apply - otherRestrictionsno limitations - 5000 - eng - geoscientificInformation - 21.47878421.52731739.7600139.790341 - 1997-01-011999-01-01 - - -http://www.ypaat.gr - -dataset -test - - - diff --git a/tests/expected/suites_apiso_post_GetRecordById-srv-brief.xml b/tests/expected/suites_apiso_post_GetRecordById-srv-brief.xml deleted file mode 100644 index 896b014c5..000000000 --- a/tests/expected/suites_apiso_post_GetRecordById-srv-brief.xml +++ /dev/null @@ -1,93 +0,0 @@ - - - - - - 3e9a8c05 - - - service - - - - - - - test Title - - - - - 2011-04-19 - - - creation - - - - - - - view - - - - - - - - Geographic viewer (humanGeographicViewer) - - - administration - - - - - - - - - 19.37 - - - 29.61 - - - 34.8 - - - 41.75 - - - - - - - - - - - - - - - http://aiolos.survey.ntua.gr/geoserver/wms - - - None - - - None - - - None - - - - - - - - - diff --git a/tests/expected/suites_apiso_post_GetRecords-all-csw-output.xml b/tests/expected/suites_apiso_post_GetRecords-all-csw-output.xml deleted file mode 100644 index e428bacf7..000000000 --- a/tests/expected/suites_apiso_post_GetRecords-all-csw-output.xml +++ /dev/null @@ -1,399 +0,0 @@ - - - - - - - -3e9a8c05 - - -eng - - -service - - - - -NTUA - - - - - - -tzotsos@gmail.com - - - - - - -pointOfContact - - - - -2011-04-18 - - -ISO19115 - - -2003/Cor.1:2006 - - - - - - -test Title - - - - -2011-04-19 - - -creation - - - - - - -http://aiolos.survey.ntua.gr - - -ogc - - - - - - -test Abstract - - - - -NTUA - - - - - - -tzotsos@gmail.com - - - - - - -owner - - - - - - -Geographic viewer (humanGeographicViewer) - - - - - - -administration - - - - -GEMET Themes, version 2.3 - - - - -2011-04-18 - - -publication - - - - - - - - - - -Conditions unknown - - - - - - -no limitation - - - - - - - - -19.37 - - -29.61 - - -34.80 - - -41.75 - - - - - - - -2011-04-18 -2011-04-20 - - - - - - - -view - - - - - - - - - - - - - - - - - -http://aiolos.survey.ntua.gr/geoserver/wms - - - - - - - - - - - - -service - - - - - - - - -Conformity_001 - - -INSPIRE - - - - - - - - -Corrigendum to INSPIRE Metadata Regulation published in the Official Journal of the European Union, L 328, page 83 - - - - -2009-12-15 - - -publication - - - - - - -See the referenced specification - - -true - - - - - - - - - - 366f6257-19eb-4f20-ba78-0698ac4aae77 - eng - dataset - YPAATypaat@ypaat.grpointOfContact - 2009-10-09 -ISO19115 -2003/Cor.1:2006 - - - - - Aerial Photos - 2009-10-09creation - 366f6257-19eb-4f20-ba78-0698ac4aae77 - T_aerfo_RAS_1991_GR800P001800000012.tif - - - Aerial Photos -YPAATypaat@ypaat.growner - OrthoimageryGEMET - INSPIRE themes, version 1.02008-06-01publication - no conditions apply - otherRestrictionsno limitations - eng - geoscientificInformation - 20.0024.0038.0040.00 - 2009-10-092009-10-09 - - -http://www.ypaat.gr - -dataset -Conformity_001INSPIREINSPIRE2008-05-15publicationSee the referenced specificationtrue -test - - - - 75a7eb5e-336e-453d-ab06-209b1070d396 - eng - dataset - YPAATypaat@ypaat.grpointOfContact - 2009-10-09 -ISO19115 -2003/Cor.1:2006 - - - - - Aerial Photos - 2009-10-09creation - 75a7eb5e-336e-453d-ab06-209b1070d396 - T_aerfo_RAS_1991_GR800P001800000013.tif - - - Aerial Photos -YPAATypaat@ypaat.growner - OrthoimageryGEMET - INSPIRE themes, version 1.02008-06-01publication - no conditions apply - otherRestrictionsno limitations - eng - geoscientificInformation - 20.0024.0038.0040.00 - 2009-10-092009-10-09 - - -http://www.ypaat.gr - -dataset -Conformity_001INSPIREINSPIRE2008-05-15publicationSee the referenced specificationtrue -test - - - - a7308c0a-b748-48e2-bab7-0a608a51d416 - eng - dataset - YPAATypaat@ypaat.grpointOfContact - 2009-10-09 -ISO19115 -2003/Cor.1:2006 - - - - - Aerial Photos - 2009-10-09creation - a7308c0a-b748-48e2-bab7-0a608a51d416 - T_aerfo_RAS_1991_GR800P001800000014.tif - - - Aerial Photos -YPAATypaat@ypaat.growner - OrthoimageryGEMET - INSPIRE themes, version 1.02008-06-01publication - no conditions apply - otherRestrictionsno limitations - eng - geoscientificInformation - 20.0024.0038.0040.00 - 2009-10-092009-10-09 - - -http://www.ypaat.gr - -dataset -Conformity_001INSPIREINSPIRE2008-05-15publicationSee the referenced specificationtrue -test - - - - 0173e0d7-6ea9-4407-b846-f29d6bfa9903 - eng - dataset - YPAATypaat@ypaat.grpointOfContact - 2009-10-09 -ISO19115 -2003/Cor.1:2006 - - - - - Aerial Photos - 2009-10-09creation - 0173e0d7-6ea9-4407-b846-f29d6bfa9903 - T_aerfo_RAS_1991_GR800P001800000015.tif - - - Aerial Photos -YPAATypaat@ypaat.growner - OrthoimageryGEMET - INSPIRE themes, version 1.02008-06-01publication - no conditions apply - otherRestrictionsno limitations - eng - geoscientificInformation - 20.0024.0038.0040.00 - 2009-10-092009-10-09 - - -http://www.ypaat.gr - -dataset -Conformity_001INSPIREINSPIRE2008-05-15publicationSee the referenced specificationtrue -test - - - - diff --git a/tests/expected/suites_apiso_post_GetRecords-all.xml b/tests/expected/suites_apiso_post_GetRecords-all.xml deleted file mode 100644 index e428bacf7..000000000 --- a/tests/expected/suites_apiso_post_GetRecords-all.xml +++ /dev/null @@ -1,399 +0,0 @@ - - - - - - - -3e9a8c05 - - -eng - - -service - - - - -NTUA - - - - - - -tzotsos@gmail.com - - - - - - -pointOfContact - - - - -2011-04-18 - - -ISO19115 - - -2003/Cor.1:2006 - - - - - - -test Title - - - - -2011-04-19 - - -creation - - - - - - -http://aiolos.survey.ntua.gr - - -ogc - - - - - - -test Abstract - - - - -NTUA - - - - - - -tzotsos@gmail.com - - - - - - -owner - - - - - - -Geographic viewer (humanGeographicViewer) - - - - - - -administration - - - - -GEMET Themes, version 2.3 - - - - -2011-04-18 - - -publication - - - - - - - - - - -Conditions unknown - - - - - - -no limitation - - - - - - - - -19.37 - - -29.61 - - -34.80 - - -41.75 - - - - - - - -2011-04-18 -2011-04-20 - - - - - - - -view - - - - - - - - - - - - - - - - - -http://aiolos.survey.ntua.gr/geoserver/wms - - - - - - - - - - - - -service - - - - - - - - -Conformity_001 - - -INSPIRE - - - - - - - - -Corrigendum to INSPIRE Metadata Regulation published in the Official Journal of the European Union, L 328, page 83 - - - - -2009-12-15 - - -publication - - - - - - -See the referenced specification - - -true - - - - - - - - - - 366f6257-19eb-4f20-ba78-0698ac4aae77 - eng - dataset - YPAATypaat@ypaat.grpointOfContact - 2009-10-09 -ISO19115 -2003/Cor.1:2006 - - - - - Aerial Photos - 2009-10-09creation - 366f6257-19eb-4f20-ba78-0698ac4aae77 - T_aerfo_RAS_1991_GR800P001800000012.tif - - - Aerial Photos -YPAATypaat@ypaat.growner - OrthoimageryGEMET - INSPIRE themes, version 1.02008-06-01publication - no conditions apply - otherRestrictionsno limitations - eng - geoscientificInformation - 20.0024.0038.0040.00 - 2009-10-092009-10-09 - - -http://www.ypaat.gr - -dataset -Conformity_001INSPIREINSPIRE2008-05-15publicationSee the referenced specificationtrue -test - - - - 75a7eb5e-336e-453d-ab06-209b1070d396 - eng - dataset - YPAATypaat@ypaat.grpointOfContact - 2009-10-09 -ISO19115 -2003/Cor.1:2006 - - - - - Aerial Photos - 2009-10-09creation - 75a7eb5e-336e-453d-ab06-209b1070d396 - T_aerfo_RAS_1991_GR800P001800000013.tif - - - Aerial Photos -YPAATypaat@ypaat.growner - OrthoimageryGEMET - INSPIRE themes, version 1.02008-06-01publication - no conditions apply - otherRestrictionsno limitations - eng - geoscientificInformation - 20.0024.0038.0040.00 - 2009-10-092009-10-09 - - -http://www.ypaat.gr - -dataset -Conformity_001INSPIREINSPIRE2008-05-15publicationSee the referenced specificationtrue -test - - - - a7308c0a-b748-48e2-bab7-0a608a51d416 - eng - dataset - YPAATypaat@ypaat.grpointOfContact - 2009-10-09 -ISO19115 -2003/Cor.1:2006 - - - - - Aerial Photos - 2009-10-09creation - a7308c0a-b748-48e2-bab7-0a608a51d416 - T_aerfo_RAS_1991_GR800P001800000014.tif - - - Aerial Photos -YPAATypaat@ypaat.growner - OrthoimageryGEMET - INSPIRE themes, version 1.02008-06-01publication - no conditions apply - otherRestrictionsno limitations - eng - geoscientificInformation - 20.0024.0038.0040.00 - 2009-10-092009-10-09 - - -http://www.ypaat.gr - -dataset -Conformity_001INSPIREINSPIRE2008-05-15publicationSee the referenced specificationtrue -test - - - - 0173e0d7-6ea9-4407-b846-f29d6bfa9903 - eng - dataset - YPAATypaat@ypaat.grpointOfContact - 2009-10-09 -ISO19115 -2003/Cor.1:2006 - - - - - Aerial Photos - 2009-10-09creation - 0173e0d7-6ea9-4407-b846-f29d6bfa9903 - T_aerfo_RAS_1991_GR800P001800000015.tif - - - Aerial Photos -YPAATypaat@ypaat.growner - OrthoimageryGEMET - INSPIRE themes, version 1.02008-06-01publication - no conditions apply - otherRestrictionsno limitations - eng - geoscientificInformation - 20.0024.0038.0040.00 - 2009-10-092009-10-09 - - -http://www.ypaat.gr - -dataset -Conformity_001INSPIREINSPIRE2008-05-15publicationSee the referenced specificationtrue -test - - - - diff --git a/tests/expected/suites_apiso_post_GetRecords-cql-title.xml b/tests/expected/suites_apiso_post_GetRecords-cql-title.xml deleted file mode 100644 index 86fd86cf9..000000000 --- a/tests/expected/suites_apiso_post_GetRecords-cql-title.xml +++ /dev/null @@ -1,372 +0,0 @@ - - - - - - - - a2744b0c-becd-426a-95a8-46e9850ccc6d - - - dataset - - - - - - - DTM - - - - - 2009-10-07 - - - creation - - - - - - - - - - - 19.0 - - - 30.0 - - - 34.0 - - - 42.0 - - - - - - - - - - - - - - - http://www.ypaat.gr - - - None - - - None - - - None - - - - - - - - - - - 0dc824a6-b555-46c1-bd7b-bc66cb91a70f - - - dataset - - - - - - - DTM - - - - - 2009-10-07 - - - creation - - - - - - - - - - - 19.0 - - - 30.0 - - - 34.0 - - - 42.0 - - - - - - - - - - - - - - - http://www.ypaat.gr - - - None - - - None - - - None - - - - - - - - - - - 42c8e55a-2bf6-476d-a7c9-be3bcd697f13 - - - dataset - - - - - - - DTM - - - - - 2009-10-07 - - - creation - - - - - - - - - - - 19.0 - - - 30.0 - - - 34.0 - - - 42.0 - - - - - - - - - - - - - - - http://www.ypaat.gr - - - None - - - None - - - None - - - - - - - - - - - c3bf29d4-d60a-4959-a415-2c03fb0d4aef - - - dataset - - - - - - - DTM - - - - - 2009-10-07 - - - creation - - - - - - - - - - - 19.0 - - - 30.0 - - - 34.0 - - - 42.0 - - - - - - - - - - - - - - - http://www.ypaat.gr - - - None - - - None - - - None - - - - - - - - - - - b8cc2388-5d0a-43d8-9473-0e86dd0396da - - - dataset - - - - - - - DTM - - - - - 2009-10-07 - - - creation - - - - - - - - - - - 19.0 - - - 30.0 - - - 34.0 - - - 42.0 - - - - - - - - - - - - - - - http://www.ypaat.gr - - - None - - - None - - - None - - - - - - - - - - diff --git a/tests/expected/suites_apiso_post_GetRecords-elementname.xml b/tests/expected/suites_apiso_post_GetRecords-elementname.xml deleted file mode 100644 index 97175977f..000000000 --- a/tests/expected/suites_apiso_post_GetRecords-elementname.xml +++ /dev/null @@ -1,388 +0,0 @@ - - - - - - - - 3e9a8c05 - - - service - - - - - - - test Title - - - - - 2011-04-19 - - - creation - - - - - - - view - - - - - - - - Geographic viewer (humanGeographicViewer) - - - administration - - - - - - - - - 19.37 - - - 29.61 - - - 34.8 - - - 41.75 - - - - - - - - - - - - - - - http://aiolos.survey.ntua.gr/geoserver/wms - - - None - - - None - - - None - - - - - - - - - - - 366f6257-19eb-4f20-ba78-0698ac4aae77 - - - dataset - - - - - - - Aerial Photos - - - - - 2009-10-09 - - - creation - - - - - - - - - - - 20.0 - - - 24.0 - - - 38.0 - - - 40.0 - - - - - - - - - - - - - - - http://www.ypaat.gr - - - None - - - None - - - None - - - - - - - - - - - 75a7eb5e-336e-453d-ab06-209b1070d396 - - - dataset - - - - - - - Aerial Photos - - - - - 2009-10-09 - - - creation - - - - - - - - - - - 20.0 - - - 24.0 - - - 38.0 - - - 40.0 - - - - - - - - - - - - - - - http://www.ypaat.gr - - - None - - - None - - - None - - - - - - - - - - - a7308c0a-b748-48e2-bab7-0a608a51d416 - - - dataset - - - - - - - Aerial Photos - - - - - 2009-10-09 - - - creation - - - - - - - - - - - 20.0 - - - 24.0 - - - 38.0 - - - 40.0 - - - - - - - - - - - - - - - http://www.ypaat.gr - - - None - - - None - - - None - - - - - - - - - - - 0173e0d7-6ea9-4407-b846-f29d6bfa9903 - - - dataset - - - - - - - Aerial Photos - - - - - 2009-10-09 - - - creation - - - - - - - - - - - 20.0 - - - 24.0 - - - 38.0 - - - 40.0 - - - - - - - - - - - - - - - http://www.ypaat.gr - - - None - - - None - - - None - - - - - - - - - - diff --git a/tests/expected/suites_apiso_post_GetRecords-filter-and-nested-spatial-or-dateline.xml b/tests/expected/suites_apiso_post_GetRecords-filter-and-nested-spatial-or-dateline.xml deleted file mode 100644 index 4fe317617..000000000 --- a/tests/expected/suites_apiso_post_GetRecords-filter-and-nested-spatial-or-dateline.xml +++ /dev/null @@ -1,1132 +0,0 @@ - - - - - - - - NS06agg - - - eng - - - UTF8 - - - dataset - - - service - - - - - Margaret McManus - - - University of Hawaii - - - - - - - mamc@hawaii.edu - - - - - - - http://www.soest.hawaii.edu/oceanography/faculty/mcmanus.html - - - http - - - web browser - - - - - - - - - information - - - - - - - pointOfContact - - - - - 2014-04-16 - - - ISO 19115-2 Geographic Information - Metadata Part 2 Extensions for imagery and gridded data - - - ISO 19115-2:2009(E) - - - - - 3 - - - - - column - - - 1 - - - 0.0 - - - - - - - row - - - 1 - - - 0.0 - - - - - - - temporal - - - 482760 - - - 252.0 - - - - - area - - - - - - - - - - PacIOOS Nearshore Sensor 06: Pohnpei, Micronesia - - - - - 2011-04-12 - - - creation - - - - - - - 2011-04-19 - - - issued - - - - - - - 2014-03-18 - - - revision - - - - - - - - - org.pacioos - - - - - - NS06agg - - - - - - - Margaret McManus - - - University of Hawaii - - - - - - - mamc@hawaii.edu - - - - - - - http://www.soest.hawaii.edu/oceanography/faculty/mcmanus.html - - - http - - - web browser - - - - - - - - - information - - - - - - - originator - - - - - - - Jim Potemra - - - - - distributor - - - - - Data produced by Dr. Margaret McManus (mamc@hawaii.edu). Point of contact: Gordon Walker (gwalker@hawaii.edu). - - - - - The nearshore sensors are part of the Pacific Islands Ocean Observing System (PacIOOS) and are designed to measure a variety of ocean parameters at fixed point locations. NS06 is located at the dock in Pohnpei lagoon and is mounted to the bottom in about 1 meter of water. The instrument is a Sea-Bird Electronics model 16+ V2 coupled with a WET Labs ECO-FLNTUS combination sensor. - - - PacIOOS provides timely, reliable, and accurate ocean information to support a safe, clean, productive ocean and resilient coastal zone in the U.S. Pacific Islands region. - - - The Pacific Islands Ocean Observing System (PacIOOS) is funded through the National Oceanic and Atmospheric Administration (NOAA) as a Regional Association within the U.S. Integrated Ocean Observing System (IOOS). PacIOOS is coordinated by the University of Hawaii School of Ocean and Earth Science and Technology (SOEST). - - - - - Margaret McManus - - - University of Hawaii - - - - - - - mamc@hawaii.edu - - - - - - - http://www.soest.hawaii.edu/oceanography/faculty/mcmanus.html - - - http - - - web browser - - - - - - - - - information - - - - - - - pointOfContact - - - - - - http://pacioos.org/metadata/browse/NS06agg.png - - Sample image. - - - - - - - Oceans > Ocean Chemistry > Chlorophyll - - - Oceans > Ocean Optics > Turbidity - - - Oceans > Ocean Temperature > Water Temperature - - - Oceans > Salinity/Density > Conductivity - - - Oceans > Salinity/Density > Salinity - - - Oceans > Water Quality - - - theme - - - - - GCMD Science Keywords - - - - - - - - - - Ocean &gt; Pacific Ocean &gt; Western Pacific Ocean &gt; Micronesia &gt; Federated States of Micronesia - - - Ocean &gt; Pacific Ocean &gt; United States of America &gt; Territories - - - Federated States of Micronesia &gt; Pohnpei &gt; Pohnpei Lagoon - - - place - - - - - GCMD Location Keywords - - - - - - - - - - Pacific Islands Ocean Observing System (PacIOOS) - - - project - - - - - GCMD Project Keywords - - - - - - - - - - Pacific Islands Ocean Observing System (PacIOOS) - - - dataCenter - - - - - GCMD Data Center Keywords - - - - - - - - - - sea_water_temperature - - - sea_water_electrical_conductivity - - - sea_water_turbidity - - - mass_concentration_of_chlorophyll_in_sea_water - - - sea_water_salinity - - - depth - - - latitude - - - longitude - - - time - - - theme - - - - - CF-1.4 - - - - - - - - - - The data may be used and redistributed for free but is not intended for legal use, since it may contain inaccuracies. Neither the data Contributor, University of Hawaii, PacIOOS, NOAA, State of Hawaii nor the United States Government, nor any of their employees or contractors, makes any warranty, express or implied, including warranties of merchantability and fitness for a particular purpose, or assumes any legal liability for the accuracy, completeness, or usefulness, of this information. - - - - - - - - - Pacific Islands Ocean Observing System (PacIOOS) - - - - - - largerWorkCitation - - - project - - - - - - - - - - - Unidata Common Data Model - - - - - - Point - - - - - largerWorkCitation - - - project - - - - - eng - - - climatologyMeteorologyAtmosphere - - - - - - - 1 - - - 158.22402954101562 - - - 158.22402954101562 - - - 6.955227375030518 - - - 6.955227375030518 - - - - - - - - seconds - 2010-05-07T00:00:00Z - 2014-03-17T23:56:00Z - - - - - - - - -1.0 - - - -1.0 - - - - - - - - - - - - - - PacIOOS Nearshore Sensor 06: Pohnpei, Micronesia - - - - - 2011-04-12 - - - creation - - - - - - - 2011-04-19 - - - issued - - - - - - - 2014-03-18 - - - revision - - - - - - - Margaret McManus - - - University of Hawaii - - - - - - - mamc@hawaii.edu - - - - - - - http://www.soest.hawaii.edu/oceanography/faculty/mcmanus.html - - - http - - - web browser - - - - - - - - - information - - - - - - - originator - - - - - - - Jim Potemra - - - - - distributor - - - - - - - The nearshore sensors are part of the Pacific Islands Ocean Observing System (PacIOOS) and are designed to measure a variety of ocean parameters at fixed point locations. NS06 is located at the dock in Pohnpei lagoon and is mounted to the bottom in about 1 meter of water. The instrument is a Sea-Bird Electronics model 16+ V2 coupled with a WET Labs ECO-FLNTUS combination sensor. - - - THREDDS OPeNDAP - - - - - - - 1 - - - 158.22402954101562 - - - 158.22402954101562 - - - 6.955227375030518 - - - 6.955227375030518 - - - - - - - - 2010-05-07T00:00:00Z - 2014-03-17T23:56:00Z - - - - - - - - -1.0 - - - -1.0 - - - - - - - - tight - - - - - OPeNDAP Client Access - - - - - - http://oos.soest.hawaii.edu/thredds/dodsC/pacioos/nss/ns06agg - - - OPeNDAP - - - THREDDS OPeNDAP - - - download - - - - - - - - - - - - - - - - - - temp - - - - - float - - - - - - - Temperature (sea_water_temperature) - - - - - - - - - - cond - - - - - float - - - - - - - Conductivity (sea_water_electrical_conductivity) - - - - - - - - - - turb - - - - - float - - - - - - - Turbidity (sea_water_turbidity) - - - - - - - - - - flor - - - - - float - - - - - - - Chlorophyll (mass_concentration_of_chlorophyll_in_sea_water) - - - - - - - - - - salt - - - - - float - - - - - - - Salinity (sea_water_salinity) - - - - - - - - - - z - - - - - float - - - - - - - depth below mean sea level (depth) - - - - - - - - - - lat - - - - - float - - - - - - - Latitude (latitude) - - - - - - - - - - lon - - - - - float - - - - - - - Longitude (longitude) - - - - - - - - - - time - - - - - float - - - - - - - Time (time) - - - - - - - - - - - - - - - Pacific Islands Ocean Observing System (PacIOOS) - - - - - - - jimp@hawaii.edu - - - - - - - http://pacioos.org - - - http - - - web browser - - - URL for the data publisher - - - This URL provides contact information for the publisher of this dataset - - - information - - - - - - - publisher - - - - - - - OPeNDAP - - - - - - - - - - http://oos.soest.hawaii.edu/thredds/idd/nss_pacioos.html?dataset=NS06agg - - - THREDDS Catalog - - - This URL provides a catalog page for this dataset within THREDDS Data Server (TDS). - - - download - - - - - - - - - - - http://oos.soest.hawaii.edu/thredds/dodsC/pacioos/nss/ns06agg.html - - - File Information - - - This URL provides a standard OPeNDAP html interface for selecting data from this dataset. Change the extension to .info for a description of the dataset. - - - download - - - - - - - - - - - http://pacioos.org/voyager/index.html?b=6.874279%2C158.077126%2C7.050468%2C158.369808&tz=pont&o=qual:2::p0NS06p1 - - - PacIOOS Voyager (Google Maps API) - - - This URL provides a viewer for this dataset. - - - download - - - - - - - - - - - http://oos.soest.hawaii.edu/dchart/index.html?dsetid=54cd0688ada08d86748b9c5762509f - - - DChart - - - This URL provides a viewer for this dataset. - - - download - - - - - - - - - - - http://oos.soest.hawaii.edu/erddap/tabledap/nss06_agg.graph?time%2Ctemperature&.draw=lines - - - ERDDAP - - - This URL provides a viewer for this dataset. - - - download - - - - - - - - - - - http://pacioos.org/focus/waterquality/wq_fsm.php - - - PacIOOS Water Quality Platforms: FSM - - - This URL provides a viewer for this dataset. - - - download - - - - - - - - - - - - - - - dataset - - - - - - - UH/SOEST (M. McManus), PacIOOS asset (05/2010) - - - - - - - - - - This record was translated from NcML using UnidataDD2MI.xsl Version 2.3 - - - - - - diff --git a/tests/expected/suites_apiso_post_GetRecords-filter-anytext.xml b/tests/expected/suites_apiso_post_GetRecords-filter-anytext.xml deleted file mode 100644 index 96190eeb8..000000000 --- a/tests/expected/suites_apiso_post_GetRecords-filter-anytext.xml +++ /dev/null @@ -1,372 +0,0 @@ - - - - - - - - 366f6257-19eb-4f20-ba78-0698ac4aae77 - - - dataset - - - - - - - Aerial Photos - - - - - 2009-10-09 - - - creation - - - - - - - - - - - 20.0 - - - 24.0 - - - 38.0 - - - 40.0 - - - - - - - - - - - - - - - http://www.ypaat.gr - - - None - - - None - - - None - - - - - - - - - - - 75a7eb5e-336e-453d-ab06-209b1070d396 - - - dataset - - - - - - - Aerial Photos - - - - - 2009-10-09 - - - creation - - - - - - - - - - - 20.0 - - - 24.0 - - - 38.0 - - - 40.0 - - - - - - - - - - - - - - - http://www.ypaat.gr - - - None - - - None - - - None - - - - - - - - - - - a7308c0a-b748-48e2-bab7-0a608a51d416 - - - dataset - - - - - - - Aerial Photos - - - - - 2009-10-09 - - - creation - - - - - - - - - - - 20.0 - - - 24.0 - - - 38.0 - - - 40.0 - - - - - - - - - - - - - - - http://www.ypaat.gr - - - None - - - None - - - None - - - - - - - - - - - 0173e0d7-6ea9-4407-b846-f29d6bfa9903 - - - dataset - - - - - - - Aerial Photos - - - - - 2009-10-09 - - - creation - - - - - - - - - - - 20.0 - - - 24.0 - - - 38.0 - - - 40.0 - - - - - - - - - - - - - - - http://www.ypaat.gr - - - None - - - None - - - None - - - - - - - - - - - 437ae0a2-06e2-4015-b296-a66e7f407bf2 - - - dataset - - - - - - - Aerial Photos - - - - - 2009-10-09 - - - creation - - - - - - - - - - - 20.0 - - - 38.0 - - - 24.0 - - - 40.0 - - - - - - - - - - - - - - - http://www.ypaat.gr - - - None - - - None - - - None - - - - - - - - - - diff --git a/tests/expected/suites_apiso_post_GetRecords-filter-bbox-csw-output.xml b/tests/expected/suites_apiso_post_GetRecords-filter-bbox-csw-output.xml deleted file mode 100644 index 74ac35ab1..000000000 --- a/tests/expected/suites_apiso_post_GetRecords-filter-bbox-csw-output.xml +++ /dev/null @@ -1,52 +0,0 @@ - - - - - - - 3e9a8c05 - test Title - service - - 34.8 19.37 - 41.75 29.61 - - - - 366f6257-19eb-4f20-ba78-0698ac4aae77 - Aerial Photos - dataset - - 38.0 20.0 - 40.0 24.0 - - - - 75a7eb5e-336e-453d-ab06-209b1070d396 - Aerial Photos - dataset - - 38.0 20.0 - 40.0 24.0 - - - - a7308c0a-b748-48e2-bab7-0a608a51d416 - Aerial Photos - dataset - - 38.0 20.0 - 40.0 24.0 - - - - 0173e0d7-6ea9-4407-b846-f29d6bfa9903 - Aerial Photos - dataset - - 38.0 20.0 - 40.0 24.0 - - - - diff --git a/tests/expected/suites_apiso_post_GetRecords-filter-bbox.xml b/tests/expected/suites_apiso_post_GetRecords-filter-bbox.xml deleted file mode 100644 index cd76cde90..000000000 --- a/tests/expected/suites_apiso_post_GetRecords-filter-bbox.xml +++ /dev/null @@ -1,388 +0,0 @@ - - - - - - - - 3e9a8c05 - - - service - - - - - - - test Title - - - - - 2011-04-19 - - - creation - - - - - - - view - - - - - - - - Geographic viewer (humanGeographicViewer) - - - administration - - - - - - - - - 19.37 - - - 29.61 - - - 34.8 - - - 41.75 - - - - - - - - - - - - - - - http://aiolos.survey.ntua.gr/geoserver/wms - - - None - - - None - - - None - - - - - - - - - - - 366f6257-19eb-4f20-ba78-0698ac4aae77 - - - dataset - - - - - - - Aerial Photos - - - - - 2009-10-09 - - - creation - - - - - - - - - - - 20.0 - - - 24.0 - - - 38.0 - - - 40.0 - - - - - - - - - - - - - - - http://www.ypaat.gr - - - None - - - None - - - None - - - - - - - - - - - 75a7eb5e-336e-453d-ab06-209b1070d396 - - - dataset - - - - - - - Aerial Photos - - - - - 2009-10-09 - - - creation - - - - - - - - - - - 20.0 - - - 24.0 - - - 38.0 - - - 40.0 - - - - - - - - - - - - - - - http://www.ypaat.gr - - - None - - - None - - - None - - - - - - - - - - - a7308c0a-b748-48e2-bab7-0a608a51d416 - - - dataset - - - - - - - Aerial Photos - - - - - 2009-10-09 - - - creation - - - - - - - - - - - 20.0 - - - 24.0 - - - 38.0 - - - 40.0 - - - - - - - - - - - - - - - http://www.ypaat.gr - - - None - - - None - - - None - - - - - - - - - - - 0173e0d7-6ea9-4407-b846-f29d6bfa9903 - - - dataset - - - - - - - Aerial Photos - - - - - 2009-10-09 - - - creation - - - - - - - - - - - 20.0 - - - 24.0 - - - 38.0 - - - 40.0 - - - - - - - - - - - - - - - http://www.ypaat.gr - - - None - - - None - - - None - - - - - - - - - - diff --git a/tests/expected/suites_apiso_post_GetRecords-filter-servicetype.xml b/tests/expected/suites_apiso_post_GetRecords-filter-servicetype.xml deleted file mode 100644 index 80fa7ec19..000000000 --- a/tests/expected/suites_apiso_post_GetRecords-filter-servicetype.xml +++ /dev/null @@ -1,96 +0,0 @@ - - - - - - - - 3e9a8c05 - - - service - - - - - - - test Title - - - - - 2011-04-19 - - - creation - - - - - - - view - - - - - - - - Geographic viewer (humanGeographicViewer) - - - administration - - - - - - - - - 19.37 - - - 29.61 - - - 34.8 - - - 41.75 - - - - - - - - - - - - - - - http://aiolos.survey.ntua.gr/geoserver/wms - - - None - - - None - - - None - - - - - - - - - - diff --git a/tests/expected/suites_atom_get_opensearch-description.xml b/tests/expected/suites_atom_get_opensearch-description.xml deleted file mode 100644 index d9af17447..000000000 --- a/tests/expected/suites_atom_get_opensearch-description.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - pycsw Geospatial Catalogue - pycsw Geospatial Catalogue - pycsw is an OGC CSW server implementation written in Python - catalogue discovery - - http://pycsw.org/img/favicon.ico - Kralidis, Tom - tomkralidis@gmail.com - pycsw - diff --git a/tests/expected/suites_atom_get_opensearch-ogc-bbox-and-time.xml b/tests/expected/suites_atom_get_opensearch-ogc-bbox-and-time.xml deleted file mode 100644 index 1b8a63a22..000000000 --- a/tests/expected/suites_atom_get_opensearch-ogc-bbox-and-time.xml +++ /dev/null @@ -1,38 +0,0 @@ - - - - http://localhost/pycsw/csw.py?config=tests/suites/atom/default.cfg - pycsw Geospatial Catalogue - 2 - 1 - 2 - - - urn:uuid:9a669547-b69b-469f-a11f-2d875366bbdc - urn:uuid:9a669547-b69b-469f-a11f-2d875366bbdc - - Ñunç elementum - PYCSW_TIMESTAMP - - - 44.79 -6.17 - 51.13 -2.23 - - - - - - urn:uuid:94bc9c83-97f6-4b40-9eb8-a8e8787a5c63 - urn:uuid:94bc9c83-97f6-4b40-9eb8-a8e8787a5c63 - - Mauris sed neque - PYCSW_TIMESTAMP - Curabitur lacinia, ante non porta tempus, mi lorem feugiat odio, eget suscipit eros pede ac velit. - - - 47.59 -4.1 - 51.22 0.89 - - - - diff --git a/tests/expected/suites_atom_get_opensearch-ogc-bbox.xml b/tests/expected/suites_atom_get_opensearch-ogc-bbox.xml deleted file mode 100644 index cb6309ae5..000000000 --- a/tests/expected/suites_atom_get_opensearch-ogc-bbox.xml +++ /dev/null @@ -1,52 +0,0 @@ - - - - http://localhost/pycsw/csw.py?config=tests/suites/atom/default.cfg - pycsw Geospatial Catalogue - 3 - 1 - 3 - - urn:uuid:1ef30a8b-876d-4828-9246-c37ab4510bbd - urn:uuid:1ef30a8b-876d-4828-9246-c37ab4510bbd - - - PYCSW_TIMESTAMP - Proin sit amet justo. In justo. Aenean adipiscing nulla id tellus. - - - 60.04 13.75 - 68.41 17.92 - - - - - - urn:uuid:94bc9c83-97f6-4b40-9eb8-a8e8787a5c63 - urn:uuid:94bc9c83-97f6-4b40-9eb8-a8e8787a5c63 - - Mauris sed neque - PYCSW_TIMESTAMP - Curabitur lacinia, ante non porta tempus, mi lorem feugiat odio, eget suscipit eros pede ac velit. - - - 47.59 -4.1 - 51.22 0.89 - - - - - - urn:uuid:9a669547-b69b-469f-a11f-2d875366bbdc - urn:uuid:9a669547-b69b-469f-a11f-2d875366bbdc - - Ñunç elementum - PYCSW_TIMESTAMP - - - 44.79 -6.17 - 51.13 -2.23 - - - - diff --git a/tests/expected/suites_atom_get_opensearch-ogc-count-and-page1.xml b/tests/expected/suites_atom_get_opensearch-ogc-count-and-page1.xml deleted file mode 100644 index abc2039e2..000000000 --- a/tests/expected/suites_atom_get_opensearch-ogc-count-and-page1.xml +++ /dev/null @@ -1,32 +0,0 @@ - - - - http://localhost/pycsw/csw.py?config=tests/suites/atom/default.cfg - pycsw Geospatial Catalogue - 2 - 1 - 2 - - - urn:uuid:6a3de50b-fa66-4b58-a0e6-ca146fdd18d4 - urn:uuid:6a3de50b-fa66-4b58-a0e6-ca146fdd18d4 - - Ut facilisis justo ut lacus - PYCSW_TIMESTAMP - - - - urn:uuid:94bc9c83-97f6-4b40-9eb8-a8e8787a5c63 - urn:uuid:94bc9c83-97f6-4b40-9eb8-a8e8787a5c63 - - Mauris sed neque - PYCSW_TIMESTAMP - Curabitur lacinia, ante non porta tempus, mi lorem feugiat odio, eget suscipit eros pede ac velit. - - - 47.59 -4.1 - 51.22 0.89 - - - - diff --git a/tests/expected/suites_atom_get_opensearch-ogc-count-and-page2.xml b/tests/expected/suites_atom_get_opensearch-ogc-count-and-page2.xml deleted file mode 100644 index 709921a3f..000000000 --- a/tests/expected/suites_atom_get_opensearch-ogc-count-and-page2.xml +++ /dev/null @@ -1,17 +0,0 @@ - - - - http://localhost/pycsw/csw.py?config=tests/suites/atom/default.cfg - pycsw Geospatial Catalogue - 2 - 1 - 1 - - - urn:uuid:6a3de50b-fa66-4b58-a0e6-ca146fdd18d4 - urn:uuid:6a3de50b-fa66-4b58-a0e6-ca146fdd18d4 - - Ut facilisis justo ut lacus - PYCSW_TIMESTAMP - - diff --git a/tests/expected/suites_atom_get_opensearch-ogc-q-and-bbox.xml b/tests/expected/suites_atom_get_opensearch-ogc-q-and-bbox.xml deleted file mode 100644 index ed8c2a30c..000000000 --- a/tests/expected/suites_atom_get_opensearch-ogc-q-and-bbox.xml +++ /dev/null @@ -1,24 +0,0 @@ - - - - http://localhost/pycsw/csw.py?config=tests/suites/atom/default.cfg - pycsw Geospatial Catalogue - 1 - 1 - 1 - - - urn:uuid:94bc9c83-97f6-4b40-9eb8-a8e8787a5c63 - urn:uuid:94bc9c83-97f6-4b40-9eb8-a8e8787a5c63 - - Mauris sed neque - PYCSW_TIMESTAMP - Curabitur lacinia, ante non porta tempus, mi lorem feugiat odio, eget suscipit eros pede ac velit. - - - 47.59 -4.1 - 51.22 0.89 - - - - diff --git a/tests/expected/suites_atom_get_opensearch-ogc-q-and-time.xml b/tests/expected/suites_atom_get_opensearch-ogc-q-and-time.xml deleted file mode 100644 index 281c6df53..000000000 --- a/tests/expected/suites_atom_get_opensearch-ogc-q-and-time.xml +++ /dev/null @@ -1,18 +0,0 @@ - - - - http://localhost/pycsw/csw.py?config=tests/suites/atom/default.cfg - pycsw Geospatial Catalogue - 1 - 1 - 1 - - - urn:uuid:e9330592-0932-474b-be34-c3a3bb67c7db - urn:uuid:e9330592-0932-474b-be34-c3a3bb67c7db - - Fuscé vitae ligulä - PYCSW_TIMESTAMP - Morbi ultriçes, dui suscipit vestibulum prètium, velit ante pretium tortor, egët tincidunt pede odio ac nulla. - - diff --git a/tests/expected/suites_atom_get_opensearch-ogc-q.xml b/tests/expected/suites_atom_get_opensearch-ogc-q.xml deleted file mode 100644 index 7aaae428f..000000000 --- a/tests/expected/suites_atom_get_opensearch-ogc-q.xml +++ /dev/null @@ -1,18 +0,0 @@ - - - - http://localhost/pycsw/csw.py?config=tests/suites/atom/default.cfg - pycsw Geospatial Catalogue - 1 - 1 - 1 - - - urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f - urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f - - Lorem ipsum - PYCSW_TIMESTAMP - Quisque lacus diam, placerat mollis, pharetra in, commodo sed, augue. Duis iaculis arcu vel arcu. - - diff --git a/tests/expected/suites_atom_get_opensearch-ogc-time.xml b/tests/expected/suites_atom_get_opensearch-ogc-time.xml deleted file mode 100644 index 281c6df53..000000000 --- a/tests/expected/suites_atom_get_opensearch-ogc-time.xml +++ /dev/null @@ -1,18 +0,0 @@ - - - - http://localhost/pycsw/csw.py?config=tests/suites/atom/default.cfg - pycsw Geospatial Catalogue - 1 - 1 - 1 - - - urn:uuid:e9330592-0932-474b-be34-c3a3bb67c7db - urn:uuid:e9330592-0932-474b-be34-c3a3bb67c7db - - Fuscé vitae ligulä - PYCSW_TIMESTAMP - Morbi ultriçes, dui suscipit vestibulum prètium, velit ante pretium tortor, egët tincidunt pede odio ac nulla. - - diff --git a/tests/expected/suites_atom_get_opensearch-ogc-timeend.xml b/tests/expected/suites_atom_get_opensearch-ogc-timeend.xml deleted file mode 100644 index 281c6df53..000000000 --- a/tests/expected/suites_atom_get_opensearch-ogc-timeend.xml +++ /dev/null @@ -1,18 +0,0 @@ - - - - http://localhost/pycsw/csw.py?config=tests/suites/atom/default.cfg - pycsw Geospatial Catalogue - 1 - 1 - 1 - - - urn:uuid:e9330592-0932-474b-be34-c3a3bb67c7db - urn:uuid:e9330592-0932-474b-be34-c3a3bb67c7db - - Fuscé vitae ligulä - PYCSW_TIMESTAMP - Morbi ultriçes, dui suscipit vestibulum prètium, velit ante pretium tortor, egët tincidunt pede odio ac nulla. - - diff --git a/tests/expected/suites_atom_get_opensearch-ogc-timestart.xml b/tests/expected/suites_atom_get_opensearch-ogc-timestart.xml deleted file mode 100644 index 6e1694835..000000000 --- a/tests/expected/suites_atom_get_opensearch-ogc-timestart.xml +++ /dev/null @@ -1,47 +0,0 @@ - - - - http://localhost/pycsw/csw.py?config=tests/suites/atom/default.cfg - pycsw Geospatial Catalogue - 3 - 1 - 3 - - - urn:uuid:9a669547-b69b-469f-a11f-2d875366bbdc - urn:uuid:9a669547-b69b-469f-a11f-2d875366bbdc - - Ñunç elementum - PYCSW_TIMESTAMP - - - 44.79 -6.17 - 51.13 -2.23 - - - - - - urn:uuid:94bc9c83-97f6-4b40-9eb8-a8e8787a5c63 - urn:uuid:94bc9c83-97f6-4b40-9eb8-a8e8787a5c63 - - Mauris sed neque - PYCSW_TIMESTAMP - Curabitur lacinia, ante non porta tempus, mi lorem feugiat odio, eget suscipit eros pede ac velit. - - - 47.59 -4.1 - 51.22 0.89 - - - - - - urn:uuid:784e2afd-a9fd-44a6-9a92-a3848371c8ec - urn:uuid:784e2afd-a9fd-44a6-9a92-a3848371c8ec - - Aliquam fermentum purus quis arcu - PYCSW_TIMESTAMP - Vestibulum quis ipsum sit amet metus imperdiet vehicula. Nulla scelerisque cursus mi. - - diff --git a/tests/expected/suites_atom_get_opensearch.xml b/tests/expected/suites_atom_get_opensearch.xml deleted file mode 100644 index 68fbf0f78..000000000 --- a/tests/expected/suites_atom_get_opensearch.xml +++ /dev/null @@ -1,110 +0,0 @@ - - - - http://localhost/pycsw/csw.py?config=tests/suites/atom/default.cfg - pycsw Geospatial Catalogue - 12 - 1 - 10 - - - urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f - urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f - - Lorem ipsum - PYCSW_TIMESTAMP - Quisque lacus diam, placerat mollis, pharetra in, commodo sed, augue. Duis iaculis arcu vel arcu. - - - urn:uuid:1ef30a8b-876d-4828-9246-c37ab4510bbd - urn:uuid:1ef30a8b-876d-4828-9246-c37ab4510bbd - - - PYCSW_TIMESTAMP - Proin sit amet justo. In justo. Aenean adipiscing nulla id tellus. - - - 60.04 13.75 - 68.41 17.92 - - - - - - urn:uuid:66ae76b7-54ba-489b-a582-0f0633d96493 - urn:uuid:66ae76b7-54ba-489b-a582-0f0633d96493 - - Maecenas enim - PYCSW_TIMESTAMP - Pellentesque tempus magna non sapien fringilla blandit. - - - - urn:uuid:6a3de50b-fa66-4b58-a0e6-ca146fdd18d4 - urn:uuid:6a3de50b-fa66-4b58-a0e6-ca146fdd18d4 - - Ut facilisis justo ut lacus - PYCSW_TIMESTAMP - - - - urn:uuid:784e2afd-a9fd-44a6-9a92-a3848371c8ec - urn:uuid:784e2afd-a9fd-44a6-9a92-a3848371c8ec - - Aliquam fermentum purus quis arcu - PYCSW_TIMESTAMP - Vestibulum quis ipsum sit amet metus imperdiet vehicula. Nulla scelerisque cursus mi. - - - urn:uuid:829babb0-b2f1-49e1-8cd5-7b489fe71a1e - urn:uuid:829babb0-b2f1-49e1-8cd5-7b489fe71a1e - - Vestibulum massa purus - PYCSW_TIMESTAMP - - - - urn:uuid:88247b56-4cbc-4df9-9860-db3f8042e357 - urn:uuid:88247b56-4cbc-4df9-9860-db3f8042e357 - - - PYCSW_TIMESTAMP - Donec scelerisque pede ut nisl luctus accumsan. Quisque ultrices, lorem eget feugiat fringilla, lorem dui porttitor ante, cursus ultrices magna odio eu neque. - - - - urn:uuid:94bc9c83-97f6-4b40-9eb8-a8e8787a5c63 - urn:uuid:94bc9c83-97f6-4b40-9eb8-a8e8787a5c63 - - Mauris sed neque - PYCSW_TIMESTAMP - Curabitur lacinia, ante non porta tempus, mi lorem feugiat odio, eget suscipit eros pede ac velit. - - - 47.59 -4.1 - 51.22 0.89 - - - - - - urn:uuid:9a669547-b69b-469f-a11f-2d875366bbdc - urn:uuid:9a669547-b69b-469f-a11f-2d875366bbdc - - Ñunç elementum - PYCSW_TIMESTAMP - - - 44.79 -6.17 - 51.13 -2.23 - - - - - urn:uuid:a06af396-3105-442d-8b40-22b57a90d2f2 - urn:uuid:a06af396-3105-442d-8b40-22b57a90d2f2 - - Lorem ipsum dolor sit amet - PYCSW_TIMESTAMP - - diff --git a/tests/expected/suites_atom_post_DescribeRecord.xml b/tests/expected/suites_atom_post_DescribeRecord.xml deleted file mode 100644 index 5f82a7d41..000000000 --- a/tests/expected/suites_atom_post_DescribeRecord.xml +++ /dev/null @@ -1,3 +0,0 @@ - - - diff --git a/tests/expected/suites_atom_post_GetCapabilities.xml b/tests/expected/suites_atom_post_GetCapabilities.xml deleted file mode 100644 index 6c3bf9d86..000000000 --- a/tests/expected/suites_atom_post_GetCapabilities.xml +++ /dev/null @@ -1,264 +0,0 @@ - - - - - pycsw Geospatial Catalogue - pycsw is an OGC CSW server implementation written in Python - - catalogue - discovery - theme - - CSW - 2.0.2 - 3.0.0 - None - None - - - pycsw - - - Kralidis, Tom - Senior Systems Scientist - - - +01-416-xxx-xxxx - +01-416-xxx-xxxx - - - TBA - Toronto - Ontario - M9C 3Z9 - Canada - tomkralidis@gmail.com - - - 0800h - 1600h EST - During hours of service. Off on weekends. - - pointOfContact - - - - - - - - - - - - Filter_Capabilities - OperationsMetadata - ServiceIdentification - ServiceProvider - - - - - - - - - - - application/json - application/xml - - - http://www.w3.org/2001/XMLSchema - http://www.w3.org/TR/xmlschema-1/ - http://www.w3.org/XML/Schema - - - csw:Record - - - - - - - - - - - DescribeRecord.outputFormat - DescribeRecord.schemaLanguage - DescribeRecord.typeName - GetCapabilities.sections - GetRecordById.ElementSetName - GetRecordById.outputFormat - GetRecordById.outputSchema - GetRecords.CONSTRAINTLANGUAGE - GetRecords.ElementSetName - GetRecords.outputFormat - GetRecords.outputSchema - GetRecords.resultType - GetRecords.typeNames - - - - - - - - - - - CQL_TEXT - FILTER - - - brief - full - summary - - - application/json - application/xml - - - http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ - http://www.interlis.ch/INTERLIS2.3 - http://www.opengis.net/cat/csw/2.0.2 - http://www.opengis.net/cat/csw/csdgm - http://www.w3.org/2005/Atom - - - hits - results - validate - - - csw:Record - - - csw:AnyText - dc:contributor - dc:creator - dc:date - dc:format - dc:identifier - dc:language - dc:publisher - dc:relation - dc:rights - dc:source - dc:subject - dc:title - dc:type - dct:abstract - dct:alternative - dct:modified - dct:spatial - ows:BoundingBox - - - - - - - - - - - brief - full - summary - - - application/json - application/xml - - - http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ - http://www.interlis.ch/INTERLIS2.3 - http://www.opengis.net/cat/csw/2.0.2 - http://www.opengis.net/cat/csw/csdgm - http://www.w3.org/2005/Atom - - - - - - - - - - - CSW - - - 2.0.2 - 3.0.0 - - - http://geo.data.gov/geoportal/csw/discovery - - - 10 - - - XML - SOAP - - - allowed - - - - - - gml:Point - gml:LineString - gml:Polygon - gml:Envelope - - - - - - - - - - - - - - - - - - - Between - EqualTo - GreaterThan - GreaterThanEqualTo - LessThan - LessThanEqualTo - Like - NotEqualTo - NullCheck - - - - - length - lower - ltrim - rtrim - trim - upper - - - - - - - - - - diff --git a/tests/expected/suites_atom_post_GetRecords-filter-bbox.xml b/tests/expected/suites_atom_post_GetRecords-filter-bbox.xml deleted file mode 100644 index c345e05d9..000000000 --- a/tests/expected/suites_atom_post_GetRecords-filter-bbox.xml +++ /dev/null @@ -1,36 +0,0 @@ - - - - - - - - urn:uuid:94bc9c83-97f6-4b40-9eb8-a8e8787a5c63 - urn:uuid:94bc9c83-97f6-4b40-9eb8-a8e8787a5c63 - - Mauris sed neque - PYCSW_TIMESTAMP - Curabitur lacinia, ante non porta tempus, mi lorem feugiat odio, eget suscipit eros pede ac velit. - - - 47.59 -4.1 - 51.22 0.89 - - - - - - urn:uuid:9a669547-b69b-469f-a11f-2d875366bbdc - urn:uuid:9a669547-b69b-469f-a11f-2d875366bbdc - - Ñunç elementum - PYCSW_TIMESTAMP - - - 44.79 -6.17 - 51.13 -2.23 - - - - - diff --git a/tests/expected/suites_cite_get_27e17158-c57a-4493-92ac-dba8934cf462.xml b/tests/expected/suites_cite_get_27e17158-c57a-4493-92ac-dba8934cf462.xml deleted file mode 100644 index e38229588..000000000 --- a/tests/expected/suites_cite_get_27e17158-c57a-4493-92ac-dba8934cf462.xml +++ /dev/null @@ -1,312 +0,0 @@ - - - - - pycsw Geospatial Catalogue - pycsw is an OGC CSW server implementation written in Python - - catalogue - discovery - theme - - CSW - 2.0.2 - 3.0.0 - None - None - - - pycsw - - - Kralidis, Tom - Senior Systems Scientist - - - +01-416-xxx-xxxx - +01-416-xxx-xxxx - - - TBA - Toronto - Ontario - M9C 3Z9 - Canada - tomkralidis@gmail.com - - - 0800h - 1600h EST - During hours of service. Off on weekends. - - pointOfContact - - - - - - - - - - - - Filter_Capabilities - OperationsMetadata - ServiceIdentification - ServiceProvider - - - - - - - - - - - application/json - application/xml - - - http://www.w3.org/2001/XMLSchema - http://www.w3.org/TR/xmlschema-1/ - http://www.w3.org/XML/Schema - - - csw:Record - - - - - - - - - - - DescribeRecord.outputFormat - DescribeRecord.schemaLanguage - DescribeRecord.typeName - GetCapabilities.sections - GetRecordById.ElementSetName - GetRecordById.outputFormat - GetRecordById.outputSchema - GetRecords.CONSTRAINTLANGUAGE - GetRecords.ElementSetName - GetRecords.outputFormat - GetRecords.outputSchema - GetRecords.resultType - GetRecords.typeNames - Harvest.ResourceType - Transaction.TransactionSchemas - - - - - - - - - - - CQL_TEXT - FILTER - - - brief - full - summary - - - application/json - application/xml - - - http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ - http://www.interlis.ch/INTERLIS2.3 - http://www.opengis.net/cat/csw/2.0.2 - http://www.opengis.net/cat/csw/csdgm - http://www.w3.org/2005/Atom - - - hits - results - validate - - - csw:Record - - - csw:AnyText - dc:contributor - dc:creator - dc:date - dc:format - dc:identifier - dc:language - dc:publisher - dc:relation - dc:rights - dc:source - dc:subject - dc:title - dc:type - dct:abstract - dct:alternative - dct:modified - dct:spatial - ows:BoundingBox - - - - - - - - - - - brief - full - summary - - - application/json - application/xml - - - http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ - http://www.interlis.ch/INTERLIS2.3 - http://www.opengis.net/cat/csw/2.0.2 - http://www.opengis.net/cat/csw/csdgm - http://www.w3.org/2005/Atom - - - - - - - - - - - - - - - - - http://www.isotc211.org/2005/gmi - http://www.opengis.net/cat/csw/2.0.2 - http://www.opengis.net/cat/csw/3.0 - http://www.opengis.net/sos/1.0 - http://www.opengis.net/sos/2.0 - http://www.opengis.net/wcs - http://www.opengis.net/wfs - http://www.opengis.net/wfs/2.0 - http://www.opengis.net/wms - http://www.opengis.net/wmts/1.0 - http://www.opengis.net/wps/1.0.0 - urn:geoss:waf - - - - - - - - - - http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ - http://www.interlis.ch/INTERLIS2.3 - http://www.isotc211.org/2005/gmi - http://www.opengis.net/cat/csw/2.0.2 - http://www.opengis.net/cat/csw/3.0 - http://www.opengis.net/cat/csw/csdgm - http://www.opengis.net/sos/1.0 - http://www.opengis.net/sos/2.0 - http://www.opengis.net/wcs - http://www.opengis.net/wfs - http://www.opengis.net/wfs/2.0 - http://www.opengis.net/wms - http://www.opengis.net/wmts/1.0 - http://www.opengis.net/wps/1.0.0 - http://www.w3.org/2005/Atom - urn:geoss:waf - - - - CSW - - - 2.0.2 - 3.0.0 - - - http://geo.data.gov/geoportal/csw/discovery - - - 10 - - - XML - SOAP - - - allowed - - - - - - gml:Point - gml:LineString - gml:Polygon - gml:Envelope - - - - - - - - - - - - - - - - - - - Between - EqualTo - GreaterThan - GreaterThanEqualTo - LessThan - LessThanEqualTo - Like - NotEqualTo - NullCheck - - - - - length - lower - ltrim - rtrim - trim - upper - - - - - - - - - - diff --git a/tests/expected/suites_cite_get_27f69b66-5f05-4311-a89c-73ca55c2686b.xml b/tests/expected/suites_cite_get_27f69b66-5f05-4311-a89c-73ca55c2686b.xml deleted file mode 100644 index ccdc8dc66..000000000 --- a/tests/expected/suites_cite_get_27f69b66-5f05-4311-a89c-73ca55c2686b.xml +++ /dev/null @@ -1,9 +0,0 @@ - - - - - urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f - Lorem ipsum - http://purl.org/dc/dcmitype/Image - - diff --git a/tests/expected/suites_cite_get_2ab7d1fa-885b-459f-80e4-b6282eab4f8c.xml b/tests/expected/suites_cite_get_2ab7d1fa-885b-459f-80e4-b6282eab4f8c.xml deleted file mode 100644 index e38229588..000000000 --- a/tests/expected/suites_cite_get_2ab7d1fa-885b-459f-80e4-b6282eab4f8c.xml +++ /dev/null @@ -1,312 +0,0 @@ - - - - - pycsw Geospatial Catalogue - pycsw is an OGC CSW server implementation written in Python - - catalogue - discovery - theme - - CSW - 2.0.2 - 3.0.0 - None - None - - - pycsw - - - Kralidis, Tom - Senior Systems Scientist - - - +01-416-xxx-xxxx - +01-416-xxx-xxxx - - - TBA - Toronto - Ontario - M9C 3Z9 - Canada - tomkralidis@gmail.com - - - 0800h - 1600h EST - During hours of service. Off on weekends. - - pointOfContact - - - - - - - - - - - - Filter_Capabilities - OperationsMetadata - ServiceIdentification - ServiceProvider - - - - - - - - - - - application/json - application/xml - - - http://www.w3.org/2001/XMLSchema - http://www.w3.org/TR/xmlschema-1/ - http://www.w3.org/XML/Schema - - - csw:Record - - - - - - - - - - - DescribeRecord.outputFormat - DescribeRecord.schemaLanguage - DescribeRecord.typeName - GetCapabilities.sections - GetRecordById.ElementSetName - GetRecordById.outputFormat - GetRecordById.outputSchema - GetRecords.CONSTRAINTLANGUAGE - GetRecords.ElementSetName - GetRecords.outputFormat - GetRecords.outputSchema - GetRecords.resultType - GetRecords.typeNames - Harvest.ResourceType - Transaction.TransactionSchemas - - - - - - - - - - - CQL_TEXT - FILTER - - - brief - full - summary - - - application/json - application/xml - - - http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ - http://www.interlis.ch/INTERLIS2.3 - http://www.opengis.net/cat/csw/2.0.2 - http://www.opengis.net/cat/csw/csdgm - http://www.w3.org/2005/Atom - - - hits - results - validate - - - csw:Record - - - csw:AnyText - dc:contributor - dc:creator - dc:date - dc:format - dc:identifier - dc:language - dc:publisher - dc:relation - dc:rights - dc:source - dc:subject - dc:title - dc:type - dct:abstract - dct:alternative - dct:modified - dct:spatial - ows:BoundingBox - - - - - - - - - - - brief - full - summary - - - application/json - application/xml - - - http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ - http://www.interlis.ch/INTERLIS2.3 - http://www.opengis.net/cat/csw/2.0.2 - http://www.opengis.net/cat/csw/csdgm - http://www.w3.org/2005/Atom - - - - - - - - - - - - - - - - - http://www.isotc211.org/2005/gmi - http://www.opengis.net/cat/csw/2.0.2 - http://www.opengis.net/cat/csw/3.0 - http://www.opengis.net/sos/1.0 - http://www.opengis.net/sos/2.0 - http://www.opengis.net/wcs - http://www.opengis.net/wfs - http://www.opengis.net/wfs/2.0 - http://www.opengis.net/wms - http://www.opengis.net/wmts/1.0 - http://www.opengis.net/wps/1.0.0 - urn:geoss:waf - - - - - - - - - - http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ - http://www.interlis.ch/INTERLIS2.3 - http://www.isotc211.org/2005/gmi - http://www.opengis.net/cat/csw/2.0.2 - http://www.opengis.net/cat/csw/3.0 - http://www.opengis.net/cat/csw/csdgm - http://www.opengis.net/sos/1.0 - http://www.opengis.net/sos/2.0 - http://www.opengis.net/wcs - http://www.opengis.net/wfs - http://www.opengis.net/wfs/2.0 - http://www.opengis.net/wms - http://www.opengis.net/wmts/1.0 - http://www.opengis.net/wps/1.0.0 - http://www.w3.org/2005/Atom - urn:geoss:waf - - - - CSW - - - 2.0.2 - 3.0.0 - - - http://geo.data.gov/geoportal/csw/discovery - - - 10 - - - XML - SOAP - - - allowed - - - - - - gml:Point - gml:LineString - gml:Polygon - gml:Envelope - - - - - - - - - - - - - - - - - - - Between - EqualTo - GreaterThan - GreaterThanEqualTo - LessThan - LessThanEqualTo - Like - NotEqualTo - NullCheck - - - - - length - lower - ltrim - rtrim - trim - upper - - - - - - - - - - diff --git a/tests/expected/suites_cite_get_37aa90e2-6ff0-420c-af15-8b9463099a73.xml b/tests/expected/suites_cite_get_37aa90e2-6ff0-420c-af15-8b9463099a73.xml deleted file mode 100644 index fb6934aaa..000000000 --- a/tests/expected/suites_cite_get_37aa90e2-6ff0-420c-af15-8b9463099a73.xml +++ /dev/null @@ -1,14 +0,0 @@ - - - - - urn:uuid:9a669547-b69b-469f-a11f-2d875366bbdc - Ñunç elementum - http://purl.org/dc/dcmitype/Dataset - Hydrography-Oceanographic - - 44.79 -6.17 - 51.13 -2.23 - - - diff --git a/tests/expected/suites_cite_get_3a8a3c47-455f-4f49-9078-03119f3e70b3.xml b/tests/expected/suites_cite_get_3a8a3c47-455f-4f49-9078-03119f3e70b3.xml deleted file mode 100644 index 29f606bb3..000000000 --- a/tests/expected/suites_cite_get_3a8a3c47-455f-4f49-9078-03119f3e70b3.xml +++ /dev/null @@ -1,7 +0,0 @@ - - - - - Invalid acceptFormats parameter value: message/example - - diff --git a/tests/expected/suites_cite_get_4515831f-834a-4699-95f6-ab0c2cbfcfd0.xml b/tests/expected/suites_cite_get_4515831f-834a-4699-95f6-ab0c2cbfcfd0.xml deleted file mode 100644 index 95a2f2803..000000000 --- a/tests/expected/suites_cite_get_4515831f-834a-4699-95f6-ab0c2cbfcfd0.xml +++ /dev/null @@ -1,7 +0,0 @@ - - - - - Missing id parameter - - diff --git a/tests/expected/suites_cite_get_477b23a3-baa9-47c8-9541-5fe27735ed49.xml b/tests/expected/suites_cite_get_477b23a3-baa9-47c8-9541-5fe27735ed49.xml deleted file mode 100644 index b8f8f6a2e..000000000 --- a/tests/expected/suites_cite_get_477b23a3-baa9-47c8-9541-5fe27735ed49.xml +++ /dev/null @@ -1,545 +0,0 @@ - - - - - pycsw Geospatial Catalogue - pycsw is an OGC CSW server implementation written in Python - - catalogue - discovery - theme - - CSW - 2.0.2 - 3.0.0 - None - None - - - pycsw - - - Kralidis, Tom - Senior Systems Scientist - - - +01-416-xxx-xxxx - +01-416-xxx-xxxx - - - TBA - Toronto - Ontario - M9C 3Z9 - Canada - tomkralidis@gmail.com - - - 0800h - 1600h EST - During hours of service. Off on weekends. - - pointOfContact - - - - - - - - - - - - - application/xml - text/xml - - - - - 2.0.2 - 3.0.0 - - - - - All - Filter_Capabilities - OperationsMetadata - ServiceIdentification - ServiceProvider - - - - - - - - - - - - - GetCapabilities.acceptFormats - GetCapabilities.acceptVersions - GetCapabilities.sections - GetRecordById.ElementSetName - GetRecordById.outputFormat - GetRecordById.outputSchema - GetRecords.CONSTRAINTLANGUAGE - GetRecords.ElementSetName - GetRecords.outputFormat - GetRecords.outputSchema - GetRecords.typeNames - Harvest.ResourceType - Transaction.TransactionSchemas - - - - - - - - - - - - - CQL_TEXT - FILTER - - - - - brief - full - summary - - - - - application/atom+xml - application/json - application/xml - - - - - http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ - http://www.interlis.ch/INTERLIS2.3 - http://www.opengis.net/cat/csw/3.0 - http://www.opengis.net/cat/csw/csdgm - http://www.w3.org/2005/Atom - - - - - csw:Record - - - - - 10 - - - - - http://localhost/pycsw/csw.py?config=tests/suites/cite/default.cfg?mode=opensearch&service=CSW&version=3.0.0&request=GetCapabilities - - - - - http://geo.data.gov/geoportal/csw/discovery - - - - - - - - - - - - - brief - full - summary - - - - - application/atom+xml - application/json - application/xml - - - - - http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ - http://www.interlis.ch/INTERLIS2.3 - http://www.opengis.net/cat/csw/3.0 - http://www.opengis.net/cat/csw/csdgm - http://www.w3.org/2005/Atom - - - - - - - - - - - - - - - - - - - http://www.isotc211.org/2005/gmi - http://www.opengis.net/cat/csw/2.0.2 - http://www.opengis.net/cat/csw/3.0 - http://www.opengis.net/sos/1.0 - http://www.opengis.net/sos/2.0 - http://www.opengis.net/wcs - http://www.opengis.net/wfs - http://www.opengis.net/wfs/2.0 - http://www.opengis.net/wms - http://www.opengis.net/wmts/1.0 - http://www.opengis.net/wps/1.0.0 - urn:geoss:waf - - - - - - - - - - - - http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ - http://www.interlis.ch/INTERLIS2.3 - http://www.isotc211.org/2005/gmi - http://www.opengis.net/cat/csw/2.0.2 - http://www.opengis.net/cat/csw/3.0 - http://www.opengis.net/cat/csw/csdgm - http://www.opengis.net/sos/1.0 - http://www.opengis.net/sos/2.0 - http://www.opengis.net/wcs - http://www.opengis.net/wfs - http://www.opengis.net/wfs/2.0 - http://www.opengis.net/wms - http://www.opengis.net/wmts/1.0 - http://www.opengis.net/wps/1.0.0 - http://www.w3.org/2005/Atom - urn:geoss:waf - - - - - - CSW - - - - - 2.0.2 - 3.0.0 - - - - - csw:AnyText - dc:contributor - dc:creator - dc:date - dc:format - dc:identifier - dc:language - dc:publisher - dc:relation - dc:rights - dc:source - dc:subject - dc:title - dc:type - dct:abstract - dct:alternative - dct:modified - dct:spatial - ows:BoundingBox - - - - - http://geo.data.gov/geoportal/csw/discovery - - - - - 10 - - - - - SOAP - XML - - - - - allowed - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - http://www.opengis.net/gml - - - - - TRUE - - - - - en - - - - - - TRUE - - - - TRUE - - - - TRUE - - - - TRUE - - - - TRUE - - - - TRUE - - - - TRUE - - - - TRUE - - - - TRUE - - - - TRUE - - - - TRUE - - - - TRUE - - - - TRUE - - - - TRUE - - - - TRUE - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - xs:string - - - xs:string - - - xs:string - - - xs:string - - - xs:string - - - xs:string - - - - diff --git a/tests/expected/suites_cite_get_48f26761-3a9d-48db-bee1-da089f5fb857.xml b/tests/expected/suites_cite_get_48f26761-3a9d-48db-bee1-da089f5fb857.xml deleted file mode 100644 index e38229588..000000000 --- a/tests/expected/suites_cite_get_48f26761-3a9d-48db-bee1-da089f5fb857.xml +++ /dev/null @@ -1,312 +0,0 @@ - - - - - pycsw Geospatial Catalogue - pycsw is an OGC CSW server implementation written in Python - - catalogue - discovery - theme - - CSW - 2.0.2 - 3.0.0 - None - None - - - pycsw - - - Kralidis, Tom - Senior Systems Scientist - - - +01-416-xxx-xxxx - +01-416-xxx-xxxx - - - TBA - Toronto - Ontario - M9C 3Z9 - Canada - tomkralidis@gmail.com - - - 0800h - 1600h EST - During hours of service. Off on weekends. - - pointOfContact - - - - - - - - - - - - Filter_Capabilities - OperationsMetadata - ServiceIdentification - ServiceProvider - - - - - - - - - - - application/json - application/xml - - - http://www.w3.org/2001/XMLSchema - http://www.w3.org/TR/xmlschema-1/ - http://www.w3.org/XML/Schema - - - csw:Record - - - - - - - - - - - DescribeRecord.outputFormat - DescribeRecord.schemaLanguage - DescribeRecord.typeName - GetCapabilities.sections - GetRecordById.ElementSetName - GetRecordById.outputFormat - GetRecordById.outputSchema - GetRecords.CONSTRAINTLANGUAGE - GetRecords.ElementSetName - GetRecords.outputFormat - GetRecords.outputSchema - GetRecords.resultType - GetRecords.typeNames - Harvest.ResourceType - Transaction.TransactionSchemas - - - - - - - - - - - CQL_TEXT - FILTER - - - brief - full - summary - - - application/json - application/xml - - - http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ - http://www.interlis.ch/INTERLIS2.3 - http://www.opengis.net/cat/csw/2.0.2 - http://www.opengis.net/cat/csw/csdgm - http://www.w3.org/2005/Atom - - - hits - results - validate - - - csw:Record - - - csw:AnyText - dc:contributor - dc:creator - dc:date - dc:format - dc:identifier - dc:language - dc:publisher - dc:relation - dc:rights - dc:source - dc:subject - dc:title - dc:type - dct:abstract - dct:alternative - dct:modified - dct:spatial - ows:BoundingBox - - - - - - - - - - - brief - full - summary - - - application/json - application/xml - - - http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ - http://www.interlis.ch/INTERLIS2.3 - http://www.opengis.net/cat/csw/2.0.2 - http://www.opengis.net/cat/csw/csdgm - http://www.w3.org/2005/Atom - - - - - - - - - - - - - - - - - http://www.isotc211.org/2005/gmi - http://www.opengis.net/cat/csw/2.0.2 - http://www.opengis.net/cat/csw/3.0 - http://www.opengis.net/sos/1.0 - http://www.opengis.net/sos/2.0 - http://www.opengis.net/wcs - http://www.opengis.net/wfs - http://www.opengis.net/wfs/2.0 - http://www.opengis.net/wms - http://www.opengis.net/wmts/1.0 - http://www.opengis.net/wps/1.0.0 - urn:geoss:waf - - - - - - - - - - http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ - http://www.interlis.ch/INTERLIS2.3 - http://www.isotc211.org/2005/gmi - http://www.opengis.net/cat/csw/2.0.2 - http://www.opengis.net/cat/csw/3.0 - http://www.opengis.net/cat/csw/csdgm - http://www.opengis.net/sos/1.0 - http://www.opengis.net/sos/2.0 - http://www.opengis.net/wcs - http://www.opengis.net/wfs - http://www.opengis.net/wfs/2.0 - http://www.opengis.net/wms - http://www.opengis.net/wmts/1.0 - http://www.opengis.net/wps/1.0.0 - http://www.w3.org/2005/Atom - urn:geoss:waf - - - - CSW - - - 2.0.2 - 3.0.0 - - - http://geo.data.gov/geoportal/csw/discovery - - - 10 - - - XML - SOAP - - - allowed - - - - - - gml:Point - gml:LineString - gml:Polygon - gml:Envelope - - - - - - - - - - - - - - - - - - - Between - EqualTo - GreaterThan - GreaterThanEqualTo - LessThan - LessThanEqualTo - Like - NotEqualTo - NullCheck - - - - - length - lower - ltrim - rtrim - trim - upper - - - - - - - - - - diff --git a/tests/expected/suites_cite_get_4e38092f-1586-44b8-988e-0acfa5855916.xml b/tests/expected/suites_cite_get_4e38092f-1586-44b8-988e-0acfa5855916.xml deleted file mode 100644 index 82bbd70d8..000000000 --- a/tests/expected/suites_cite_get_4e38092f-1586-44b8-988e-0acfa5855916.xml +++ /dev/null @@ -1,7 +0,0 @@ - - - - - Invalid outputformat parameter application/bogus_xml - - diff --git a/tests/expected/suites_cite_get_55c38f00-2553-42c1-99ab-33edbb561ad7.xml b/tests/expected/suites_cite_get_55c38f00-2553-42c1-99ab-33edbb561ad7.xml deleted file mode 100644 index 0bf0d3145..000000000 --- a/tests/expected/suites_cite_get_55c38f00-2553-42c1-99ab-33edbb561ad7.xml +++ /dev/null @@ -1,394 +0,0 @@ - - - - - pycsw Geospatial Catalogue - pycsw is an OGC CSW server implementation written in Python - - catalogue - discovery - theme - - CSW - 2.0.2 - 3.0.0 - None - None - - - - - - - - - - - - application/xml - text/xml - - - - - 2.0.2 - 3.0.0 - - - - - All - Filter_Capabilities - OperationsMetadata - ServiceIdentification - ServiceProvider - - - - - - - - - - - - - GetCapabilities.acceptFormats - GetCapabilities.acceptVersions - GetCapabilities.sections - GetRecordById.ElementSetName - GetRecordById.outputFormat - GetRecordById.outputSchema - GetRecords.CONSTRAINTLANGUAGE - GetRecords.ElementSetName - GetRecords.outputFormat - GetRecords.outputSchema - GetRecords.typeNames - Harvest.ResourceType - Transaction.TransactionSchemas - - - - - - - - - - - - - CQL_TEXT - FILTER - - - - - brief - full - summary - - - - - application/atom+xml - application/json - application/xml - - - - - http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ - http://www.interlis.ch/INTERLIS2.3 - http://www.opengis.net/cat/csw/3.0 - http://www.opengis.net/cat/csw/csdgm - http://www.w3.org/2005/Atom - - - - - csw:Record - - - - - 10 - - - - - http://localhost/pycsw/csw.py?config=tests/suites/cite/default.cfg?mode=opensearch&service=CSW&version=3.0.0&request=GetCapabilities - - - - - http://geo.data.gov/geoportal/csw/discovery - - - - - - - - - - - - - brief - full - summary - - - - - application/atom+xml - application/json - application/xml - - - - - http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ - http://www.interlis.ch/INTERLIS2.3 - http://www.opengis.net/cat/csw/3.0 - http://www.opengis.net/cat/csw/csdgm - http://www.w3.org/2005/Atom - - - - - - - - - - - - - - - - - - - http://www.isotc211.org/2005/gmi - http://www.opengis.net/cat/csw/2.0.2 - http://www.opengis.net/cat/csw/3.0 - http://www.opengis.net/sos/1.0 - http://www.opengis.net/sos/2.0 - http://www.opengis.net/wcs - http://www.opengis.net/wfs - http://www.opengis.net/wfs/2.0 - http://www.opengis.net/wms - http://www.opengis.net/wmts/1.0 - http://www.opengis.net/wps/1.0.0 - urn:geoss:waf - - - - - - - - - - - - http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ - http://www.interlis.ch/INTERLIS2.3 - http://www.isotc211.org/2005/gmi - http://www.opengis.net/cat/csw/2.0.2 - http://www.opengis.net/cat/csw/3.0 - http://www.opengis.net/cat/csw/csdgm - http://www.opengis.net/sos/1.0 - http://www.opengis.net/sos/2.0 - http://www.opengis.net/wcs - http://www.opengis.net/wfs - http://www.opengis.net/wfs/2.0 - http://www.opengis.net/wms - http://www.opengis.net/wmts/1.0 - http://www.opengis.net/wps/1.0.0 - http://www.w3.org/2005/Atom - urn:geoss:waf - - - - - - CSW - - - - - 2.0.2 - 3.0.0 - - - - - csw:AnyText - dc:contributor - dc:creator - dc:date - dc:format - dc:identifier - dc:language - dc:publisher - dc:relation - dc:rights - dc:source - dc:subject - dc:title - dc:type - dct:abstract - dct:alternative - dct:modified - dct:spatial - ows:BoundingBox - - - - - http://geo.data.gov/geoportal/csw/discovery - - - - - 10 - - - - - SOAP - XML - - - - - allowed - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - http://www.opengis.net/gml - - - - - TRUE - - - - diff --git a/tests/expected/suites_cite_get_5ab5db18-c87a-4fbf-a8d8-b7289b09ac81.xml b/tests/expected/suites_cite_get_5ab5db18-c87a-4fbf-a8d8-b7289b09ac81.xml deleted file mode 100644 index 407b97b9a..000000000 --- a/tests/expected/suites_cite_get_5ab5db18-c87a-4fbf-a8d8-b7289b09ac81.xml +++ /dev/null @@ -1,7 +0,0 @@ - - - - - Invalid value for service: FOO. Value MUST be CSW - - diff --git a/tests/expected/suites_cite_get_6a4f57ca-a1bd-4802-89c2-44860dbdb0f0.xml b/tests/expected/suites_cite_get_6a4f57ca-a1bd-4802-89c2-44860dbdb0f0.xml deleted file mode 100644 index 5ef23a7ab..000000000 --- a/tests/expected/suites_cite_get_6a4f57ca-a1bd-4802-89c2-44860dbdb0f0.xml +++ /dev/null @@ -1,11 +0,0 @@ - - - - - urn:uuid:6a3de50b-fa66-4b58-a0e6-ca146fdd18d4 - Ut facilisis justo ut lacus - http://purl.org/dc/dcmitype/Service - Vegetation - urn:uuid:94bc9c83-97f6-4b40-9eb8-a8e8787a5c63 - - diff --git a/tests/expected/suites_cite_get_6c375703-9c00-4aef-bec7-d2e964f849eb.xml b/tests/expected/suites_cite_get_6c375703-9c00-4aef-bec7-d2e964f849eb.xml deleted file mode 100644 index 6ac70554f..000000000 --- a/tests/expected/suites_cite_get_6c375703-9c00-4aef-bec7-d2e964f849eb.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f - urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f - - Lorem ipsum - PYCSW_TIMESTAMP - Quisque lacus diam, placerat mollis, pharetra in, commodo sed, augue. Duis iaculis arcu vel arcu. - - diff --git a/tests/expected/suites_cite_get_80f31def-4185-48b9-983a-960566918eae.xml b/tests/expected/suites_cite_get_80f31def-4185-48b9-983a-960566918eae.xml deleted file mode 100644 index b8f8f6a2e..000000000 --- a/tests/expected/suites_cite_get_80f31def-4185-48b9-983a-960566918eae.xml +++ /dev/null @@ -1,545 +0,0 @@ - - - - - pycsw Geospatial Catalogue - pycsw is an OGC CSW server implementation written in Python - - catalogue - discovery - theme - - CSW - 2.0.2 - 3.0.0 - None - None - - - pycsw - - - Kralidis, Tom - Senior Systems Scientist - - - +01-416-xxx-xxxx - +01-416-xxx-xxxx - - - TBA - Toronto - Ontario - M9C 3Z9 - Canada - tomkralidis@gmail.com - - - 0800h - 1600h EST - During hours of service. Off on weekends. - - pointOfContact - - - - - - - - - - - - - application/xml - text/xml - - - - - 2.0.2 - 3.0.0 - - - - - All - Filter_Capabilities - OperationsMetadata - ServiceIdentification - ServiceProvider - - - - - - - - - - - - - GetCapabilities.acceptFormats - GetCapabilities.acceptVersions - GetCapabilities.sections - GetRecordById.ElementSetName - GetRecordById.outputFormat - GetRecordById.outputSchema - GetRecords.CONSTRAINTLANGUAGE - GetRecords.ElementSetName - GetRecords.outputFormat - GetRecords.outputSchema - GetRecords.typeNames - Harvest.ResourceType - Transaction.TransactionSchemas - - - - - - - - - - - - - CQL_TEXT - FILTER - - - - - brief - full - summary - - - - - application/atom+xml - application/json - application/xml - - - - - http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ - http://www.interlis.ch/INTERLIS2.3 - http://www.opengis.net/cat/csw/3.0 - http://www.opengis.net/cat/csw/csdgm - http://www.w3.org/2005/Atom - - - - - csw:Record - - - - - 10 - - - - - http://localhost/pycsw/csw.py?config=tests/suites/cite/default.cfg?mode=opensearch&service=CSW&version=3.0.0&request=GetCapabilities - - - - - http://geo.data.gov/geoportal/csw/discovery - - - - - - - - - - - - - brief - full - summary - - - - - application/atom+xml - application/json - application/xml - - - - - http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ - http://www.interlis.ch/INTERLIS2.3 - http://www.opengis.net/cat/csw/3.0 - http://www.opengis.net/cat/csw/csdgm - http://www.w3.org/2005/Atom - - - - - - - - - - - - - - - - - - - http://www.isotc211.org/2005/gmi - http://www.opengis.net/cat/csw/2.0.2 - http://www.opengis.net/cat/csw/3.0 - http://www.opengis.net/sos/1.0 - http://www.opengis.net/sos/2.0 - http://www.opengis.net/wcs - http://www.opengis.net/wfs - http://www.opengis.net/wfs/2.0 - http://www.opengis.net/wms - http://www.opengis.net/wmts/1.0 - http://www.opengis.net/wps/1.0.0 - urn:geoss:waf - - - - - - - - - - - - http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ - http://www.interlis.ch/INTERLIS2.3 - http://www.isotc211.org/2005/gmi - http://www.opengis.net/cat/csw/2.0.2 - http://www.opengis.net/cat/csw/3.0 - http://www.opengis.net/cat/csw/csdgm - http://www.opengis.net/sos/1.0 - http://www.opengis.net/sos/2.0 - http://www.opengis.net/wcs - http://www.opengis.net/wfs - http://www.opengis.net/wfs/2.0 - http://www.opengis.net/wms - http://www.opengis.net/wmts/1.0 - http://www.opengis.net/wps/1.0.0 - http://www.w3.org/2005/Atom - urn:geoss:waf - - - - - - CSW - - - - - 2.0.2 - 3.0.0 - - - - - csw:AnyText - dc:contributor - dc:creator - dc:date - dc:format - dc:identifier - dc:language - dc:publisher - dc:relation - dc:rights - dc:source - dc:subject - dc:title - dc:type - dct:abstract - dct:alternative - dct:modified - dct:spatial - ows:BoundingBox - - - - - http://geo.data.gov/geoportal/csw/discovery - - - - - 10 - - - - - SOAP - XML - - - - - allowed - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - http://www.opengis.net/gml - - - - - TRUE - - - - - en - - - - - - TRUE - - - - TRUE - - - - TRUE - - - - TRUE - - - - TRUE - - - - TRUE - - - - TRUE - - - - TRUE - - - - TRUE - - - - TRUE - - - - TRUE - - - - TRUE - - - - TRUE - - - - TRUE - - - - TRUE - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - xs:string - - - xs:string - - - xs:string - - - xs:string - - - xs:string - - - xs:string - - - - diff --git a/tests/expected/suites_cite_get_8e2232ed-05d9-44ae-8b04-0911cbe6a507.xml b/tests/expected/suites_cite_get_8e2232ed-05d9-44ae-8b04-0911cbe6a507.xml deleted file mode 100644 index 6dd138f50..000000000 --- a/tests/expected/suites_cite_get_8e2232ed-05d9-44ae-8b04-0911cbe6a507.xml +++ /dev/null @@ -1,7 +0,0 @@ - - - - - Invalid parameter value in acceptversions: 2006.10.29. Value MUST be 2.0.2 or 3.0.0 - - diff --git a/tests/expected/suites_cite_get_9697f0aa-3b6a-4125-83a5-61e8826127c4.xml b/tests/expected/suites_cite_get_9697f0aa-3b6a-4125-83a5-61e8826127c4.xml deleted file mode 100644 index b8f8f6a2e..000000000 --- a/tests/expected/suites_cite_get_9697f0aa-3b6a-4125-83a5-61e8826127c4.xml +++ /dev/null @@ -1,545 +0,0 @@ - - - - - pycsw Geospatial Catalogue - pycsw is an OGC CSW server implementation written in Python - - catalogue - discovery - theme - - CSW - 2.0.2 - 3.0.0 - None - None - - - pycsw - - - Kralidis, Tom - Senior Systems Scientist - - - +01-416-xxx-xxxx - +01-416-xxx-xxxx - - - TBA - Toronto - Ontario - M9C 3Z9 - Canada - tomkralidis@gmail.com - - - 0800h - 1600h EST - During hours of service. Off on weekends. - - pointOfContact - - - - - - - - - - - - - application/xml - text/xml - - - - - 2.0.2 - 3.0.0 - - - - - All - Filter_Capabilities - OperationsMetadata - ServiceIdentification - ServiceProvider - - - - - - - - - - - - - GetCapabilities.acceptFormats - GetCapabilities.acceptVersions - GetCapabilities.sections - GetRecordById.ElementSetName - GetRecordById.outputFormat - GetRecordById.outputSchema - GetRecords.CONSTRAINTLANGUAGE - GetRecords.ElementSetName - GetRecords.outputFormat - GetRecords.outputSchema - GetRecords.typeNames - Harvest.ResourceType - Transaction.TransactionSchemas - - - - - - - - - - - - - CQL_TEXT - FILTER - - - - - brief - full - summary - - - - - application/atom+xml - application/json - application/xml - - - - - http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ - http://www.interlis.ch/INTERLIS2.3 - http://www.opengis.net/cat/csw/3.0 - http://www.opengis.net/cat/csw/csdgm - http://www.w3.org/2005/Atom - - - - - csw:Record - - - - - 10 - - - - - http://localhost/pycsw/csw.py?config=tests/suites/cite/default.cfg?mode=opensearch&service=CSW&version=3.0.0&request=GetCapabilities - - - - - http://geo.data.gov/geoportal/csw/discovery - - - - - - - - - - - - - brief - full - summary - - - - - application/atom+xml - application/json - application/xml - - - - - http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ - http://www.interlis.ch/INTERLIS2.3 - http://www.opengis.net/cat/csw/3.0 - http://www.opengis.net/cat/csw/csdgm - http://www.w3.org/2005/Atom - - - - - - - - - - - - - - - - - - - http://www.isotc211.org/2005/gmi - http://www.opengis.net/cat/csw/2.0.2 - http://www.opengis.net/cat/csw/3.0 - http://www.opengis.net/sos/1.0 - http://www.opengis.net/sos/2.0 - http://www.opengis.net/wcs - http://www.opengis.net/wfs - http://www.opengis.net/wfs/2.0 - http://www.opengis.net/wms - http://www.opengis.net/wmts/1.0 - http://www.opengis.net/wps/1.0.0 - urn:geoss:waf - - - - - - - - - - - - http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ - http://www.interlis.ch/INTERLIS2.3 - http://www.isotc211.org/2005/gmi - http://www.opengis.net/cat/csw/2.0.2 - http://www.opengis.net/cat/csw/3.0 - http://www.opengis.net/cat/csw/csdgm - http://www.opengis.net/sos/1.0 - http://www.opengis.net/sos/2.0 - http://www.opengis.net/wcs - http://www.opengis.net/wfs - http://www.opengis.net/wfs/2.0 - http://www.opengis.net/wms - http://www.opengis.net/wmts/1.0 - http://www.opengis.net/wps/1.0.0 - http://www.w3.org/2005/Atom - urn:geoss:waf - - - - - - CSW - - - - - 2.0.2 - 3.0.0 - - - - - csw:AnyText - dc:contributor - dc:creator - dc:date - dc:format - dc:identifier - dc:language - dc:publisher - dc:relation - dc:rights - dc:source - dc:subject - dc:title - dc:type - dct:abstract - dct:alternative - dct:modified - dct:spatial - ows:BoundingBox - - - - - http://geo.data.gov/geoportal/csw/discovery - - - - - 10 - - - - - SOAP - XML - - - - - allowed - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - http://www.opengis.net/gml - - - - - TRUE - - - - - en - - - - - - TRUE - - - - TRUE - - - - TRUE - - - - TRUE - - - - TRUE - - - - TRUE - - - - TRUE - - - - TRUE - - - - TRUE - - - - TRUE - - - - TRUE - - - - TRUE - - - - TRUE - - - - TRUE - - - - TRUE - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - xs:string - - - xs:string - - - xs:string - - - xs:string - - - xs:string - - - xs:string - - - - diff --git a/tests/expected/suites_cite_get_9bfd17fa-15dc-4a10-8fa7-b3cff7013dd7.xml b/tests/expected/suites_cite_get_9bfd17fa-15dc-4a10-8fa7-b3cff7013dd7.xml deleted file mode 100644 index 3ac20591f..000000000 --- a/tests/expected/suites_cite_get_9bfd17fa-15dc-4a10-8fa7-b3cff7013dd7.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - urn:uuid:e9330592-0932-474b-be34-c3a3bb67c7db - http://purl.org/dc/dcmitype/Text - Fuscé vitae ligulä - 2003-05-09 - Land titles - text/rtf - Morbi ultriçes, dui suscipit vestibulum prètium, velit ante pretium tortor, egët tincidunt pede odio ac nulla. - - diff --git a/tests/expected/suites_cite_get_b81c3595-06d6-4693-82ea-1ff8650755ac.xml b/tests/expected/suites_cite_get_b81c3595-06d6-4693-82ea-1ff8650755ac.xml deleted file mode 100644 index 9bf61df8e..000000000 --- a/tests/expected/suites_cite_get_b81c3595-06d6-4693-82ea-1ff8650755ac.xml +++ /dev/null @@ -1,3 +0,0 @@ - - - diff --git a/tests/expected/suites_cite_get_ba5fc729-3b71-47a0-b7d0-42ec565cd185.xml b/tests/expected/suites_cite_get_ba5fc729-3b71-47a0-b7d0-42ec565cd185.xml deleted file mode 100644 index e38229588..000000000 --- a/tests/expected/suites_cite_get_ba5fc729-3b71-47a0-b7d0-42ec565cd185.xml +++ /dev/null @@ -1,312 +0,0 @@ - - - - - pycsw Geospatial Catalogue - pycsw is an OGC CSW server implementation written in Python - - catalogue - discovery - theme - - CSW - 2.0.2 - 3.0.0 - None - None - - - pycsw - - - Kralidis, Tom - Senior Systems Scientist - - - +01-416-xxx-xxxx - +01-416-xxx-xxxx - - - TBA - Toronto - Ontario - M9C 3Z9 - Canada - tomkralidis@gmail.com - - - 0800h - 1600h EST - During hours of service. Off on weekends. - - pointOfContact - - - - - - - - - - - - Filter_Capabilities - OperationsMetadata - ServiceIdentification - ServiceProvider - - - - - - - - - - - application/json - application/xml - - - http://www.w3.org/2001/XMLSchema - http://www.w3.org/TR/xmlschema-1/ - http://www.w3.org/XML/Schema - - - csw:Record - - - - - - - - - - - DescribeRecord.outputFormat - DescribeRecord.schemaLanguage - DescribeRecord.typeName - GetCapabilities.sections - GetRecordById.ElementSetName - GetRecordById.outputFormat - GetRecordById.outputSchema - GetRecords.CONSTRAINTLANGUAGE - GetRecords.ElementSetName - GetRecords.outputFormat - GetRecords.outputSchema - GetRecords.resultType - GetRecords.typeNames - Harvest.ResourceType - Transaction.TransactionSchemas - - - - - - - - - - - CQL_TEXT - FILTER - - - brief - full - summary - - - application/json - application/xml - - - http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ - http://www.interlis.ch/INTERLIS2.3 - http://www.opengis.net/cat/csw/2.0.2 - http://www.opengis.net/cat/csw/csdgm - http://www.w3.org/2005/Atom - - - hits - results - validate - - - csw:Record - - - csw:AnyText - dc:contributor - dc:creator - dc:date - dc:format - dc:identifier - dc:language - dc:publisher - dc:relation - dc:rights - dc:source - dc:subject - dc:title - dc:type - dct:abstract - dct:alternative - dct:modified - dct:spatial - ows:BoundingBox - - - - - - - - - - - brief - full - summary - - - application/json - application/xml - - - http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ - http://www.interlis.ch/INTERLIS2.3 - http://www.opengis.net/cat/csw/2.0.2 - http://www.opengis.net/cat/csw/csdgm - http://www.w3.org/2005/Atom - - - - - - - - - - - - - - - - - http://www.isotc211.org/2005/gmi - http://www.opengis.net/cat/csw/2.0.2 - http://www.opengis.net/cat/csw/3.0 - http://www.opengis.net/sos/1.0 - http://www.opengis.net/sos/2.0 - http://www.opengis.net/wcs - http://www.opengis.net/wfs - http://www.opengis.net/wfs/2.0 - http://www.opengis.net/wms - http://www.opengis.net/wmts/1.0 - http://www.opengis.net/wps/1.0.0 - urn:geoss:waf - - - - - - - - - - http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ - http://www.interlis.ch/INTERLIS2.3 - http://www.isotc211.org/2005/gmi - http://www.opengis.net/cat/csw/2.0.2 - http://www.opengis.net/cat/csw/3.0 - http://www.opengis.net/cat/csw/csdgm - http://www.opengis.net/sos/1.0 - http://www.opengis.net/sos/2.0 - http://www.opengis.net/wcs - http://www.opengis.net/wfs - http://www.opengis.net/wfs/2.0 - http://www.opengis.net/wms - http://www.opengis.net/wmts/1.0 - http://www.opengis.net/wps/1.0.0 - http://www.w3.org/2005/Atom - urn:geoss:waf - - - - CSW - - - 2.0.2 - 3.0.0 - - - http://geo.data.gov/geoportal/csw/discovery - - - 10 - - - XML - SOAP - - - allowed - - - - - - gml:Point - gml:LineString - gml:Polygon - gml:Envelope - - - - - - - - - - - - - - - - - - - Between - EqualTo - GreaterThan - GreaterThanEqualTo - LessThan - LessThanEqualTo - Like - NotEqualTo - NullCheck - - - - - length - lower - ltrim - rtrim - trim - upper - - - - - - - - - - diff --git a/tests/expected/suites_cite_get_c4ea754f-c158-4d8d-8253-dc8f86021b52.xml b/tests/expected/suites_cite_get_c4ea754f-c158-4d8d-8253-dc8f86021b52.xml deleted file mode 100644 index 42a76d4fd..000000000 --- a/tests/expected/suites_cite_get_c4ea754f-c158-4d8d-8253-dc8f86021b52.xml +++ /dev/null @@ -1,7 +0,0 @@ - - - - - Missing keyword: service - - diff --git a/tests/expected/suites_cite_get_f4692ec5-9547-4a05-88ab-e6154af2640a.xml b/tests/expected/suites_cite_get_f4692ec5-9547-4a05-88ab-e6154af2640a.xml deleted file mode 100644 index e38229588..000000000 --- a/tests/expected/suites_cite_get_f4692ec5-9547-4a05-88ab-e6154af2640a.xml +++ /dev/null @@ -1,312 +0,0 @@ - - - - - pycsw Geospatial Catalogue - pycsw is an OGC CSW server implementation written in Python - - catalogue - discovery - theme - - CSW - 2.0.2 - 3.0.0 - None - None - - - pycsw - - - Kralidis, Tom - Senior Systems Scientist - - - +01-416-xxx-xxxx - +01-416-xxx-xxxx - - - TBA - Toronto - Ontario - M9C 3Z9 - Canada - tomkralidis@gmail.com - - - 0800h - 1600h EST - During hours of service. Off on weekends. - - pointOfContact - - - - - - - - - - - - Filter_Capabilities - OperationsMetadata - ServiceIdentification - ServiceProvider - - - - - - - - - - - application/json - application/xml - - - http://www.w3.org/2001/XMLSchema - http://www.w3.org/TR/xmlschema-1/ - http://www.w3.org/XML/Schema - - - csw:Record - - - - - - - - - - - DescribeRecord.outputFormat - DescribeRecord.schemaLanguage - DescribeRecord.typeName - GetCapabilities.sections - GetRecordById.ElementSetName - GetRecordById.outputFormat - GetRecordById.outputSchema - GetRecords.CONSTRAINTLANGUAGE - GetRecords.ElementSetName - GetRecords.outputFormat - GetRecords.outputSchema - GetRecords.resultType - GetRecords.typeNames - Harvest.ResourceType - Transaction.TransactionSchemas - - - - - - - - - - - CQL_TEXT - FILTER - - - brief - full - summary - - - application/json - application/xml - - - http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ - http://www.interlis.ch/INTERLIS2.3 - http://www.opengis.net/cat/csw/2.0.2 - http://www.opengis.net/cat/csw/csdgm - http://www.w3.org/2005/Atom - - - hits - results - validate - - - csw:Record - - - csw:AnyText - dc:contributor - dc:creator - dc:date - dc:format - dc:identifier - dc:language - dc:publisher - dc:relation - dc:rights - dc:source - dc:subject - dc:title - dc:type - dct:abstract - dct:alternative - dct:modified - dct:spatial - ows:BoundingBox - - - - - - - - - - - brief - full - summary - - - application/json - application/xml - - - http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ - http://www.interlis.ch/INTERLIS2.3 - http://www.opengis.net/cat/csw/2.0.2 - http://www.opengis.net/cat/csw/csdgm - http://www.w3.org/2005/Atom - - - - - - - - - - - - - - - - - http://www.isotc211.org/2005/gmi - http://www.opengis.net/cat/csw/2.0.2 - http://www.opengis.net/cat/csw/3.0 - http://www.opengis.net/sos/1.0 - http://www.opengis.net/sos/2.0 - http://www.opengis.net/wcs - http://www.opengis.net/wfs - http://www.opengis.net/wfs/2.0 - http://www.opengis.net/wms - http://www.opengis.net/wmts/1.0 - http://www.opengis.net/wps/1.0.0 - urn:geoss:waf - - - - - - - - - - http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ - http://www.interlis.ch/INTERLIS2.3 - http://www.isotc211.org/2005/gmi - http://www.opengis.net/cat/csw/2.0.2 - http://www.opengis.net/cat/csw/3.0 - http://www.opengis.net/cat/csw/csdgm - http://www.opengis.net/sos/1.0 - http://www.opengis.net/sos/2.0 - http://www.opengis.net/wcs - http://www.opengis.net/wfs - http://www.opengis.net/wfs/2.0 - http://www.opengis.net/wms - http://www.opengis.net/wmts/1.0 - http://www.opengis.net/wps/1.0.0 - http://www.w3.org/2005/Atom - urn:geoss:waf - - - - CSW - - - 2.0.2 - 3.0.0 - - - http://geo.data.gov/geoportal/csw/discovery - - - 10 - - - XML - SOAP - - - allowed - - - - - - gml:Point - gml:LineString - gml:Polygon - gml:Envelope - - - - - - - - - - - - - - - - - - - Between - EqualTo - GreaterThan - GreaterThanEqualTo - LessThan - LessThanEqualTo - Like - NotEqualTo - NullCheck - - - - - length - lower - ltrim - rtrim - trim - upper - - - - - - - - - - diff --git a/tests/expected/suites_cite_get_f997f25e-c865-4d53-a362-0ed1846337f2.xml b/tests/expected/suites_cite_get_f997f25e-c865-4d53-a362-0ed1846337f2.xml deleted file mode 100644 index 6cddad959..000000000 --- a/tests/expected/suites_cite_get_f997f25e-c865-4d53-a362-0ed1846337f2.xml +++ /dev/null @@ -1,15 +0,0 @@ - - - - - urn:uuid:94bc9c83-97f6-4b40-9eb8-a8e8787a5c63 - Mauris sed neque - http://purl.org/dc/dcmitype/Dataset - Vegetation-Cropland - Curabitur lacinia, ante non porta tempus, mi lorem feugiat odio, eget suscipit eros pede ac velit. - - 47.59 -4.1 - 51.22 0.89 - - - diff --git a/tests/expected/suites_cite_post_0c976d98-c896-4b10-b1fe-a22ef50434e7.xml b/tests/expected/suites_cite_post_0c976d98-c896-4b10-b1fe-a22ef50434e7.xml deleted file mode 100644 index ce7aca9f6..000000000 --- a/tests/expected/suites_cite_post_0c976d98-c896-4b10-b1fe-a22ef50434e7.xml +++ /dev/null @@ -1,6 +0,0 @@ - - - - - - diff --git a/tests/expected/suites_cite_post_19d2a6ed-be28-4866-ae15-e3bb634486cb.xml b/tests/expected/suites_cite_post_19d2a6ed-be28-4866-ae15-e3bb634486cb.xml deleted file mode 100644 index b80c3b546..000000000 --- a/tests/expected/suites_cite_post_19d2a6ed-be28-4866-ae15-e3bb634486cb.xml +++ /dev/null @@ -1,55 +0,0 @@ - - - - - - - urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f - Lorem ipsum - http://purl.org/dc/dcmitype/Image - - - urn:uuid:a06af396-3105-442d-8b40-22b57a90d2f2 - Lorem ipsum dolor sit amet - http://purl.org/dc/dcmitype/Image - - - urn:uuid:829babb0-b2f1-49e1-8cd5-7b489fe71a1e - Vestibulum massa purus - http://purl.org/dc/dcmitype/Image - - - urn:uuid:66ae76b7-54ba-489b-a582-0f0633d96493 - Maecenas enim - http://purl.org/dc/dcmitype/Text - - - urn:uuid:784e2afd-a9fd-44a6-9a92-a3848371c8ec - Aliquam fermentum purus quis arcu - http://purl.org/dc/dcmitype/Text - - - urn:uuid:9a669547-b69b-469f-a11f-2d875366bbdc - Ñunç elementum - http://purl.org/dc/dcmitype/Dataset - - 44.79 -6.17 - 51.13 -2.23 - - - - urn:uuid:94bc9c83-97f6-4b40-9eb8-a8e8787a5c63 - Mauris sed neque - http://purl.org/dc/dcmitype/Dataset - - 47.59 -4.1 - 51.22 0.89 - - - - urn:uuid:6a3de50b-fa66-4b58-a0e6-ca146fdd18d4 - Ut facilisis justo ut lacus - http://purl.org/dc/dcmitype/Service - - - diff --git a/tests/expected/suites_cite_post_1ab55aa3-6685-4595-8ecd-45987a7b8b59.xml b/tests/expected/suites_cite_post_1ab55aa3-6685-4595-8ecd-45987a7b8b59.xml deleted file mode 100644 index a78d68a8c..000000000 --- a/tests/expected/suites_cite_post_1ab55aa3-6685-4595-8ecd-45987a7b8b59.xml +++ /dev/null @@ -1,19 +0,0 @@ - - - - - - - full - - - - csw:AnyText - *lorem* - - - - - - - diff --git a/tests/expected/suites_cite_post_1c958b7a-ca09-4c38-98bd-ef1d1d28cc14.xml b/tests/expected/suites_cite_post_1c958b7a-ca09-4c38-98bd-ef1d1d28cc14.xml deleted file mode 100644 index a1691f473..000000000 --- a/tests/expected/suites_cite_post_1c958b7a-ca09-4c38-98bd-ef1d1d28cc14.xml +++ /dev/null @@ -1,7 +0,0 @@ - - - - - Invalid outputFormat parameter value: application/xhtml+xml - - diff --git a/tests/expected/suites_cite_post_1c97fc1a-61cd-4c1d-8054-933e17a6c5ee.xml b/tests/expected/suites_cite_post_1c97fc1a-61cd-4c1d-8054-933e17a6c5ee.xml deleted file mode 100644 index 2b0eebed4..000000000 --- a/tests/expected/suites_cite_post_1c97fc1a-61cd-4c1d-8054-933e17a6c5ee.xml +++ /dev/null @@ -1,7 +0,0 @@ - - - - - Invalid Constraint: Invalid Filter request: Invalid PropertyName: /dc:title. '/dc:title' - - diff --git a/tests/expected/suites_cite_post_2102a460-5d62-465f-9668-d70b3faafbfa.xml b/tests/expected/suites_cite_post_2102a460-5d62-465f-9668-d70b3faafbfa.xml deleted file mode 100644 index 5c7ef391f..000000000 --- a/tests/expected/suites_cite_post_2102a460-5d62-465f-9668-d70b3faafbfa.xml +++ /dev/null @@ -1,12 +0,0 @@ - - - - - - - urn:uuid:ab42a8c4-95e8-4630-bf79-33e59241605a - - http://purl.org/dc/dcmitype/Service - - - diff --git a/tests/expected/suites_cite_post_225f455a-0035-486b-a94e-fee7ae881b2b.xml b/tests/expected/suites_cite_post_225f455a-0035-486b-a94e-fee7ae881b2b.xml deleted file mode 100644 index a9d06ca89..000000000 --- a/tests/expected/suites_cite_post_225f455a-0035-486b-a94e-fee7ae881b2b.xml +++ /dev/null @@ -1,17 +0,0 @@ - - - - - - - urn:uuid:94bc9c83-97f6-4b40-9eb8-a8e8787a5c63 - http://purl.org/dc/dcmitype/Dataset - 2006-03-26 - - - urn:uuid:784e2afd-a9fd-44a6-9a92-a3848371c8ec - http://purl.org/dc/dcmitype/Text - 2006-05-12 - - - diff --git a/tests/expected/suites_cite_post_2d53ffea-60e4-4652-abf5-36eb23042fd5.xml b/tests/expected/suites_cite_post_2d53ffea-60e4-4652-abf5-36eb23042fd5.xml deleted file mode 100644 index fb722adad..000000000 --- a/tests/expected/suites_cite_post_2d53ffea-60e4-4652-abf5-36eb23042fd5.xml +++ /dev/null @@ -1,69 +0,0 @@ - - - - - - - urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f - Lorem ipsum - http://purl.org/dc/dcmitype/Image - - - urn:uuid:1ef30a8b-876d-4828-9246-c37ab4510bbd - - http://purl.org/dc/dcmitype/Service - - 60.04 13.75 - 68.41 17.92 - - - - urn:uuid:66ae76b7-54ba-489b-a582-0f0633d96493 - Maecenas enim - http://purl.org/dc/dcmitype/Text - - - urn:uuid:6a3de50b-fa66-4b58-a0e6-ca146fdd18d4 - Ut facilisis justo ut lacus - http://purl.org/dc/dcmitype/Service - - - urn:uuid:784e2afd-a9fd-44a6-9a92-a3848371c8ec - Aliquam fermentum purus quis arcu - http://purl.org/dc/dcmitype/Text - - - urn:uuid:829babb0-b2f1-49e1-8cd5-7b489fe71a1e - Vestibulum massa purus - http://purl.org/dc/dcmitype/Image - - - urn:uuid:88247b56-4cbc-4df9-9860-db3f8042e357 - - http://purl.org/dc/dcmitype/Dataset - - - urn:uuid:94bc9c83-97f6-4b40-9eb8-a8e8787a5c63 - Mauris sed neque - http://purl.org/dc/dcmitype/Dataset - - 47.59 -4.1 - 51.22 0.89 - - - - urn:uuid:9a669547-b69b-469f-a11f-2d875366bbdc - Ñunç elementum - http://purl.org/dc/dcmitype/Dataset - - 44.79 -6.17 - 51.13 -2.23 - - - - urn:uuid:a06af396-3105-442d-8b40-22b57a90d2f2 - Lorem ipsum dolor sit amet - http://purl.org/dc/dcmitype/Image - - - diff --git a/tests/expected/suites_cite_post_34a019a9-1581-42cb-9827-fbfdda2773b7.xml b/tests/expected/suites_cite_post_34a019a9-1581-42cb-9827-fbfdda2773b7.xml deleted file mode 100644 index a22dee078..000000000 --- a/tests/expected/suites_cite_post_34a019a9-1581-42cb-9827-fbfdda2773b7.xml +++ /dev/null @@ -1,6 +0,0 @@ - - - - - - diff --git a/tests/expected/suites_cite_post_3e76fd38-e035-41c9-83dc-61356f680c97.xml b/tests/expected/suites_cite_post_3e76fd38-e035-41c9-83dc-61356f680c97.xml deleted file mode 100644 index c8ed32a33..000000000 --- a/tests/expected/suites_cite_post_3e76fd38-e035-41c9-83dc-61356f680c97.xml +++ /dev/null @@ -1,7 +0,0 @@ - - - - - Invalid value for schemalanguage: http://purl.oclc.org/dsdl/schematron - - diff --git a/tests/expected/suites_cite_post_418a6fb0-a89c-4a94-afc9-3f8168eb2980.xml b/tests/expected/suites_cite_post_418a6fb0-a89c-4a94-afc9-3f8168eb2980.xml deleted file mode 100644 index a53001dc4..000000000 --- a/tests/expected/suites_cite_post_418a6fb0-a89c-4a94-afc9-3f8168eb2980.xml +++ /dev/null @@ -1,15 +0,0 @@ - - - - - - - urn:uuid:94bc9c83-97f6-4b40-9eb8-a8e8787a5c63 - 2006-03-26 - - 47.59 -4.1 - 51.22 0.89 - - - - diff --git a/tests/expected/suites_cite_post_420b745e-0c4b-404e-9f2d-61fa580ff05a.xml b/tests/expected/suites_cite_post_420b745e-0c4b-404e-9f2d-61fa580ff05a.xml deleted file mode 100644 index 25097018b..000000000 --- a/tests/expected/suites_cite_post_420b745e-0c4b-404e-9f2d-61fa580ff05a.xml +++ /dev/null @@ -1,22 +0,0 @@ - - - - - - - urn:uuid:9a669547-b69b-469f-a11f-2d875366bbdc - http://purl.org/dc/dcmitype/Dataset - 2005-10-24 - - - urn:uuid:94bc9c83-97f6-4b40-9eb8-a8e8787a5c63 - http://purl.org/dc/dcmitype/Dataset - 2006-03-26 - - - urn:uuid:784e2afd-a9fd-44a6-9a92-a3848371c8ec - http://purl.org/dc/dcmitype/Text - 2006-05-12 - - - diff --git a/tests/expected/suites_cite_post_4735d649-a2b1-42fd-a101-14e1d7e4607f.xml b/tests/expected/suites_cite_post_4735d649-a2b1-42fd-a101-14e1d7e4607f.xml deleted file mode 100644 index a70706709..000000000 --- a/tests/expected/suites_cite_post_4735d649-a2b1-42fd-a101-14e1d7e4607f.xml +++ /dev/null @@ -1,44 +0,0 @@ - - - - - - - urn:uuid:66ae76b7-54ba-489b-a582-0f0633d96493 - Maecenas enim - http://purl.org/dc/dcmitype/Text - Marine sediments - application/xhtml+xml - Pellentesque tempus magna non sapien fringilla blandit. - - - urn:uuid:6a3de50b-fa66-4b58-a0e6-ca146fdd18d4 - Ut facilisis justo ut lacus - http://purl.org/dc/dcmitype/Service - Vegetation - urn:uuid:94bc9c83-97f6-4b40-9eb8-a8e8787a5c63 - - - urn:uuid:784e2afd-a9fd-44a6-9a92-a3848371c8ec - Aliquam fermentum purus quis arcu - http://purl.org/dc/dcmitype/Text - Hydrography--Dictionaries - application/pdf - Vestibulum quis ipsum sit amet metus imperdiet vehicula. Nulla scelerisque cursus mi. - - - urn:uuid:829babb0-b2f1-49e1-8cd5-7b489fe71a1e - Vestibulum massa purus - http://purl.org/dc/dcmitype/Image - image/jp2 - urn:uuid:9a669547-b69b-469f-a11f-2d875366bbdc - - - urn:uuid:88247b56-4cbc-4df9-9860-db3f8042e357 - - http://purl.org/dc/dcmitype/Dataset - Physiography-Landforms - Donec scelerisque pede ut nisl luctus accumsan. Quisque ultrices, lorem eget feugiat fringilla, lorem dui porttitor ante, cursus ultrices magna odio eu neque. - - - diff --git a/tests/expected/suites_cite_post_5c5861bc-f742-40a5-9998-5342615d674b.xml b/tests/expected/suites_cite_post_5c5861bc-f742-40a5-9998-5342615d674b.xml deleted file mode 100644 index 7d1cd623e..000000000 --- a/tests/expected/suites_cite_post_5c5861bc-f742-40a5-9998-5342615d674b.xml +++ /dev/null @@ -1,49 +0,0 @@ - - - - - - - urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f - http://purl.org/dc/dcmitype/Image - image/svg+xml - Lorem ipsum - GR-22 - Tourism--Greece - Quisque lacus diam, placerat mollis, pharetra in, commodo sed, augue. Duis iaculis arcu vel arcu. - - - urn:uuid:88247b56-4cbc-4df9-9860-db3f8042e357 - http://purl.org/dc/dcmitype/Dataset - Physiography-Landforms - FI-ES - Donec scelerisque pede ut nisl luctus accumsan. Quisque ultrices, lorem eget feugiat fringilla, lorem dui porttitor ante, cursus ultrices magna odio eu neque. - - - urn:uuid:94bc9c83-97f6-4b40-9eb8-a8e8787a5c63 - http://purl.org/dc/dcmitype/Dataset - Mauris sed neque - Vegetation-Cropland - Curabitur lacinia, ante non porta tempus, mi lorem feugiat odio, eget suscipit eros pede ac velit. - 2006-03-26 - - 47.595 -4.097 - 51.217 0.889 - - - - urn:uuid:a06af396-3105-442d-8b40-22b57a90d2f2 - http://purl.org/dc/dcmitype/Image - Lorem ipsum dolor sit amet - image/jpeg - IT-FI - - - urn:uuid:ab42a8c4-95e8-4630-bf79-33e59241605a - http://purl.org/dc/dcmitype/Service - Physiography - Suspendisse accumsan molestie lorem. Nullam velit turpis, mattis ut, varius bibendum, laoreet non, quam. - urn:uuid:88247b56-4cbc-4df9-9860-db3f8042e357 - - - diff --git a/tests/expected/suites_cite_post_6e736fd0-c266-4852-9eb3-0656f5d0f5c4.xml b/tests/expected/suites_cite_post_6e736fd0-c266-4852-9eb3-0656f5d0f5c4.xml deleted file mode 100644 index e96a0237f..000000000 --- a/tests/expected/suites_cite_post_6e736fd0-c266-4852-9eb3-0656f5d0f5c4.xml +++ /dev/null @@ -1,89 +0,0 @@ - - - - - - - urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f - Lorem ipsum - http://purl.org/dc/dcmitype/Image - Tourism--Greece - image/svg+xml - Quisque lacus diam, placerat mollis, pharetra in, commodo sed, augue. Duis iaculis arcu vel arcu. - - - urn:uuid:1ef30a8b-876d-4828-9246-c37ab4510bbd - - http://purl.org/dc/dcmitype/Service - Proin sit amet justo. In justo. Aenean adipiscing nulla id tellus. - - 60.04 13.75 - 68.41 17.92 - - - - urn:uuid:66ae76b7-54ba-489b-a582-0f0633d96493 - Maecenas enim - http://purl.org/dc/dcmitype/Text - Marine sediments - application/xhtml+xml - Pellentesque tempus magna non sapien fringilla blandit. - - - urn:uuid:6a3de50b-fa66-4b58-a0e6-ca146fdd18d4 - Ut facilisis justo ut lacus - http://purl.org/dc/dcmitype/Service - Vegetation - urn:uuid:94bc9c83-97f6-4b40-9eb8-a8e8787a5c63 - - - urn:uuid:784e2afd-a9fd-44a6-9a92-a3848371c8ec - Aliquam fermentum purus quis arcu - http://purl.org/dc/dcmitype/Text - Hydrography--Dictionaries - application/pdf - Vestibulum quis ipsum sit amet metus imperdiet vehicula. Nulla scelerisque cursus mi. - - - urn:uuid:829babb0-b2f1-49e1-8cd5-7b489fe71a1e - Vestibulum massa purus - http://purl.org/dc/dcmitype/Image - image/jp2 - urn:uuid:9a669547-b69b-469f-a11f-2d875366bbdc - - - urn:uuid:88247b56-4cbc-4df9-9860-db3f8042e357 - - http://purl.org/dc/dcmitype/Dataset - Physiography-Landforms - Donec scelerisque pede ut nisl luctus accumsan. Quisque ultrices, lorem eget feugiat fringilla, lorem dui porttitor ante, cursus ultrices magna odio eu neque. - - - urn:uuid:94bc9c83-97f6-4b40-9eb8-a8e8787a5c63 - Mauris sed neque - http://purl.org/dc/dcmitype/Dataset - Vegetation-Cropland - Curabitur lacinia, ante non porta tempus, mi lorem feugiat odio, eget suscipit eros pede ac velit. - - 47.59 -4.1 - 51.22 0.89 - - - - urn:uuid:9a669547-b69b-469f-a11f-2d875366bbdc - Ñunç elementum - http://purl.org/dc/dcmitype/Dataset - Hydrography-Oceanographic - - 44.79 -6.17 - 51.13 -2.23 - - - - urn:uuid:a06af396-3105-442d-8b40-22b57a90d2f2 - Lorem ipsum dolor sit amet - http://purl.org/dc/dcmitype/Image - image/jpeg - - - diff --git a/tests/expected/suites_cite_post_73f1551c-e269-4ef9-9dae-e535b5eebfc7.xml b/tests/expected/suites_cite_post_73f1551c-e269-4ef9-9dae-e535b5eebfc7.xml deleted file mode 100644 index 4060ee230..000000000 --- a/tests/expected/suites_cite_post_73f1551c-e269-4ef9-9dae-e535b5eebfc7.xml +++ /dev/null @@ -1,18 +0,0 @@ - - - - - - - urn:uuid:9a669547-b69b-469f-a11f-2d875366bbdc - http://purl.org/dc/dcmitype/Dataset - Ñunç elementum - Hydrography-Oceanographic - 2005-10-24 - - 44.792 -6.171 - 51.126 -2.228 - - - - diff --git a/tests/expected/suites_cite_post_78297c88-4850-4927-adc6-511cd9a3d539.xml b/tests/expected/suites_cite_post_78297c88-4850-4927-adc6-511cd9a3d539.xml deleted file mode 100644 index 76101a6bb..000000000 --- a/tests/expected/suites_cite_post_78297c88-4850-4927-adc6-511cd9a3d539.xml +++ /dev/null @@ -1,115 +0,0 @@ - - - - - - - - http://schemas.opengis.net/csw/2.0.2/record.xsd - - - This schema defines the basic record types that must be supported - by all CSW implementations. These correspond to full, summary, and - brief views based on DCMI metadata terms. - - CSW is an OGC Standard. - Copyright (c) 2004,2010 Open Geospatial Consortium, Inc. All Rights Reserved. - To obtain additional rights of use, visit http://www.opengeospatial.org/legal/ . - - - - - - - - - - - - - - - This type encapsulates all of the standard DCMI metadata terms, - including the Dublin Core refinements; these terms may be mapped - to the profile-specific information model. - - - - - - - - - - - - - - - - This type defines a brief representation of the common record - format. It extends AbstractRecordType to include only the - dc:identifier and dc:type properties. - - - - - - - - - - - - - - - - - - - This type defines a summary representation of the common record - format. It extends AbstractRecordType to include the core - properties. - - - - - - - - - - - - - - - - - - - - - - - - - This type extends DCMIRecordType to add ows:BoundingBox; - it may be used to specify a spatial envelope for the - catalogued resource. - - - - - - - - - - - - - - - diff --git a/tests/expected/suites_cite_post_7c89cdf5-0def-4cfb-8c55-2b8ffea5d92f.xml b/tests/expected/suites_cite_post_7c89cdf5-0def-4cfb-8c55-2b8ffea5d92f.xml deleted file mode 100644 index 4d9e1fd3d..000000000 --- a/tests/expected/suites_cite_post_7c89cdf5-0def-4cfb-8c55-2b8ffea5d92f.xml +++ /dev/null @@ -1,56 +0,0 @@ - - - - - - - - urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f - urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f - - Lorem ipsum - PYCSW_TIMESTAMP - Quisque lacus diam, placerat mollis, pharetra in, commodo sed, augue. Duis iaculis arcu vel arcu. - - - urn:uuid:1ef30a8b-876d-4828-9246-c37ab4510bbd - urn:uuid:1ef30a8b-876d-4828-9246-c37ab4510bbd - - - PYCSW_TIMESTAMP - Proin sit amet justo. In justo. Aenean adipiscing nulla id tellus. - - - 60.04 13.75 - 68.41 17.92 - - - - - - urn:uuid:66ae76b7-54ba-489b-a582-0f0633d96493 - urn:uuid:66ae76b7-54ba-489b-a582-0f0633d96493 - - Maecenas enim - PYCSW_TIMESTAMP - Pellentesque tempus magna non sapien fringilla blandit. - - - - urn:uuid:6a3de50b-fa66-4b58-a0e6-ca146fdd18d4 - urn:uuid:6a3de50b-fa66-4b58-a0e6-ca146fdd18d4 - - Ut facilisis justo ut lacus - PYCSW_TIMESTAMP - - - - urn:uuid:784e2afd-a9fd-44a6-9a92-a3848371c8ec - urn:uuid:784e2afd-a9fd-44a6-9a92-a3848371c8ec - - Aliquam fermentum purus quis arcu - PYCSW_TIMESTAMP - Vestibulum quis ipsum sit amet metus imperdiet vehicula. Nulla scelerisque cursus mi. - - - diff --git a/tests/expected/suites_cite_post_7e2cd105-daec-4d25-bc8e-d49d21364912.xml b/tests/expected/suites_cite_post_7e2cd105-daec-4d25-bc8e-d49d21364912.xml deleted file mode 100644 index 5f82a7d41..000000000 --- a/tests/expected/suites_cite_post_7e2cd105-daec-4d25-bc8e-d49d21364912.xml +++ /dev/null @@ -1,3 +0,0 @@ - - - diff --git a/tests/expected/suites_cite_post_87f2f670-9cd6-4907-b82c-1b46a7dd2a78.xml b/tests/expected/suites_cite_post_87f2f670-9cd6-4907-b82c-1b46a7dd2a78.xml deleted file mode 100644 index d81b5493e..000000000 --- a/tests/expected/suites_cite_post_87f2f670-9cd6-4907-b82c-1b46a7dd2a78.xml +++ /dev/null @@ -1,50 +0,0 @@ - - - - - - - urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f - http://purl.org/dc/dcmitype/Image - - - urn:uuid:1ef30a8b-876d-4828-9246-c37ab4510bbd - http://purl.org/dc/dcmitype/Service - - - urn:uuid:66ae76b7-54ba-489b-a582-0f0633d96493 - http://purl.org/dc/dcmitype/Text - - - urn:uuid:6a3de50b-fa66-4b58-a0e6-ca146fdd18d4 - http://purl.org/dc/dcmitype/Service - - - urn:uuid:784e2afd-a9fd-44a6-9a92-a3848371c8ec - http://purl.org/dc/dcmitype/Text - 2006-05-12 - - - urn:uuid:829babb0-b2f1-49e1-8cd5-7b489fe71a1e - http://purl.org/dc/dcmitype/Image - - - urn:uuid:88247b56-4cbc-4df9-9860-db3f8042e357 - http://purl.org/dc/dcmitype/Dataset - - - urn:uuid:94bc9c83-97f6-4b40-9eb8-a8e8787a5c63 - http://purl.org/dc/dcmitype/Dataset - 2006-03-26 - - - urn:uuid:9a669547-b69b-469f-a11f-2d875366bbdc - http://purl.org/dc/dcmitype/Dataset - 2005-10-24 - - - urn:uuid:a06af396-3105-442d-8b40-22b57a90d2f2 - http://purl.org/dc/dcmitype/Image - - - diff --git a/tests/expected/suites_cite_post_88b4e1ba-3bd4-4cbe-81e5-e004056d6ca3.xml b/tests/expected/suites_cite_post_88b4e1ba-3bd4-4cbe-81e5-e004056d6ca3.xml deleted file mode 100644 index ef7576e15..000000000 --- a/tests/expected/suites_cite_post_88b4e1ba-3bd4-4cbe-81e5-e004056d6ca3.xml +++ /dev/null @@ -1,7 +0,0 @@ - - - - - Invalid value for outputformat: text/sgml - - diff --git a/tests/expected/suites_cite_post_898cd63b-2585-4ec0-8720-d554bd324174.xml b/tests/expected/suites_cite_post_898cd63b-2585-4ec0-8720-d554bd324174.xml deleted file mode 100644 index f77acfc5c..000000000 --- a/tests/expected/suites_cite_post_898cd63b-2585-4ec0-8720-d554bd324174.xml +++ /dev/null @@ -1,14 +0,0 @@ - - - - - - - urn:uuid:829babb0-b2f1-49e1-8cd5-7b489fe71a1e - Vestibulum massa purus - http://purl.org/dc/dcmitype/Image - image/jp2 - urn:uuid:9a669547-b69b-469f-a11f-2d875366bbdc - - - diff --git a/tests/expected/suites_cite_post_8fb13dc3-5818-45e2-9e29-46abc16e7d38.xml b/tests/expected/suites_cite_post_8fb13dc3-5818-45e2-9e29-46abc16e7d38.xml deleted file mode 100644 index 9c08c604e..000000000 --- a/tests/expected/suites_cite_post_8fb13dc3-5818-45e2-9e29-46abc16e7d38.xml +++ /dev/null @@ -1,48 +0,0 @@ - - - - - - - urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f - - - urn:uuid:66ae76b7-54ba-489b-a582-0f0633d96493 - - - urn:uuid:6a3de50b-fa66-4b58-a0e6-ca146fdd18d4 - - - urn:uuid:784e2afd-a9fd-44a6-9a92-a3848371c8ec - - - urn:uuid:829babb0-b2f1-49e1-8cd5-7b489fe71a1e - - - urn:uuid:88247b56-4cbc-4df9-9860-db3f8042e357 - - - urn:uuid:94bc9c83-97f6-4b40-9eb8-a8e8787a5c63 - - 47.59 -4.1 - 51.22 0.89 - - - - urn:uuid:9a669547-b69b-469f-a11f-2d875366bbdc - - 44.79 -6.17 - 51.13 -2.23 - - - - urn:uuid:a06af396-3105-442d-8b40-22b57a90d2f2 - - - urn:uuid:ab42a8c4-95e8-4630-bf79-33e59241605a - - - urn:uuid:e9330592-0932-474b-be34-c3a3bb67c7db - - - diff --git a/tests/expected/suites_cite_post_928c1896-52d4-4ac7-9832-f98e3eb65f02.xml b/tests/expected/suites_cite_post_928c1896-52d4-4ac7-9832-f98e3eb65f02.xml deleted file mode 100644 index baf37aaf2..000000000 --- a/tests/expected/suites_cite_post_928c1896-52d4-4ac7-9832-f98e3eb65f02.xml +++ /dev/null @@ -1,17 +0,0 @@ - - - - - - - urn:uuid:e9330592-0932-474b-be34-c3a3bb67c7db - http://purl.org/dc/dcmitype/Text - 2003-05-09 - - - urn:uuid:9a669547-b69b-469f-a11f-2d875366bbdc - http://purl.org/dc/dcmitype/Dataset - 2005-10-24 - - - diff --git a/tests/expected/suites_cite_post_93bdbb9d-2734-4f01-92fb-48634cca41de.xml b/tests/expected/suites_cite_post_93bdbb9d-2734-4f01-92fb-48634cca41de.xml deleted file mode 100644 index 9a5d49e55..000000000 --- a/tests/expected/suites_cite_post_93bdbb9d-2734-4f01-92fb-48634cca41de.xml +++ /dev/null @@ -1,21 +0,0 @@ - - - - - - - urn:uuid:94bc9c83-97f6-4b40-9eb8-a8e8787a5c63 - - 47.59 -4.1 - 51.22 0.89 - - - - urn:uuid:9a669547-b69b-469f-a11f-2d875366bbdc - - 44.79 -6.17 - 51.13 -2.23 - - - - diff --git a/tests/expected/suites_cite_post_948b39d5-bb4f-45b8-a8f2-4ff9501aaedd.xml b/tests/expected/suites_cite_post_948b39d5-bb4f-45b8-a8f2-4ff9501aaedd.xml deleted file mode 100644 index b214975bc..000000000 --- a/tests/expected/suites_cite_post_948b39d5-bb4f-45b8-a8f2-4ff9501aaedd.xml +++ /dev/null @@ -1,51 +0,0 @@ - - - - - - - urn:uuid:784e2afd-a9fd-44a6-9a92-a3848371c8ec - http://purl.org/dc/dcmitype/Text - 2006-05-12 - - - urn:uuid:94bc9c83-97f6-4b40-9eb8-a8e8787a5c63 - http://purl.org/dc/dcmitype/Dataset - 2006-03-26 - - - urn:uuid:9a669547-b69b-469f-a11f-2d875366bbdc - http://purl.org/dc/dcmitype/Dataset - 2005-10-24 - - - urn:uuid:e9330592-0932-474b-be34-c3a3bb67c7db - http://purl.org/dc/dcmitype/Text - 2003-05-09 - - - urn:uuid:ab42a8c4-95e8-4630-bf79-33e59241605a - http://purl.org/dc/dcmitype/Service - - - urn:uuid:a06af396-3105-442d-8b40-22b57a90d2f2 - http://purl.org/dc/dcmitype/Image - - - urn:uuid:88247b56-4cbc-4df9-9860-db3f8042e357 - http://purl.org/dc/dcmitype/Dataset - - - urn:uuid:829babb0-b2f1-49e1-8cd5-7b489fe71a1e - http://purl.org/dc/dcmitype/Image - - - urn:uuid:6a3de50b-fa66-4b58-a0e6-ca146fdd18d4 - http://purl.org/dc/dcmitype/Service - - - urn:uuid:66ae76b7-54ba-489b-a582-0f0633d96493 - http://purl.org/dc/dcmitype/Text - - - diff --git a/tests/expected/suites_cite_post_9fd64fcc-f69c-4626-b72e-5c7776a29aa9.xml b/tests/expected/suites_cite_post_9fd64fcc-f69c-4626-b72e-5c7776a29aa9.xml deleted file mode 100644 index 214379d29..000000000 --- a/tests/expected/suites_cite_post_9fd64fcc-f69c-4626-b72e-5c7776a29aa9.xml +++ /dev/null @@ -1,7 +0,0 @@ - - - - - Typename not qualified: Record - - diff --git a/tests/expected/suites_cite_post_a06d04ab-e0d0-4a86-bfe8-71460f41fe37.xml b/tests/expected/suites_cite_post_a06d04ab-e0d0-4a86-bfe8-71460f41fe37.xml deleted file mode 100644 index fb722adad..000000000 --- a/tests/expected/suites_cite_post_a06d04ab-e0d0-4a86-bfe8-71460f41fe37.xml +++ /dev/null @@ -1,69 +0,0 @@ - - - - - - - urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f - Lorem ipsum - http://purl.org/dc/dcmitype/Image - - - urn:uuid:1ef30a8b-876d-4828-9246-c37ab4510bbd - - http://purl.org/dc/dcmitype/Service - - 60.04 13.75 - 68.41 17.92 - - - - urn:uuid:66ae76b7-54ba-489b-a582-0f0633d96493 - Maecenas enim - http://purl.org/dc/dcmitype/Text - - - urn:uuid:6a3de50b-fa66-4b58-a0e6-ca146fdd18d4 - Ut facilisis justo ut lacus - http://purl.org/dc/dcmitype/Service - - - urn:uuid:784e2afd-a9fd-44a6-9a92-a3848371c8ec - Aliquam fermentum purus quis arcu - http://purl.org/dc/dcmitype/Text - - - urn:uuid:829babb0-b2f1-49e1-8cd5-7b489fe71a1e - Vestibulum massa purus - http://purl.org/dc/dcmitype/Image - - - urn:uuid:88247b56-4cbc-4df9-9860-db3f8042e357 - - http://purl.org/dc/dcmitype/Dataset - - - urn:uuid:94bc9c83-97f6-4b40-9eb8-a8e8787a5c63 - Mauris sed neque - http://purl.org/dc/dcmitype/Dataset - - 47.59 -4.1 - 51.22 0.89 - - - - urn:uuid:9a669547-b69b-469f-a11f-2d875366bbdc - Ñunç elementum - http://purl.org/dc/dcmitype/Dataset - - 44.79 -6.17 - 51.13 -2.23 - - - - urn:uuid:a06af396-3105-442d-8b40-22b57a90d2f2 - Lorem ipsum dolor sit amet - http://purl.org/dc/dcmitype/Image - - - diff --git a/tests/expected/suites_cite_post_ad61686c-d304-42d1-b845-8c1f3070c83e.xml b/tests/expected/suites_cite_post_ad61686c-d304-42d1-b845-8c1f3070c83e.xml deleted file mode 100644 index 71d14fa61..000000000 --- a/tests/expected/suites_cite_post_ad61686c-d304-42d1-b845-8c1f3070c83e.xml +++ /dev/null @@ -1,8 +0,0 @@ - - - - - Exception: the document is not valid. -Error: Element '{http://www.opengis.net/foo}Filter': This element is not expected. Expected is one of ( {http://www.opengis.net/ogc}Filter, {http://www.opengis.net/cat/csw/2.0.2}CqlText ). - - diff --git a/tests/expected/suites_cite_post_af39c020-7b1d-429c-b474-f45c3164cb79.xml b/tests/expected/suites_cite_post_af39c020-7b1d-429c-b474-f45c3164cb79.xml deleted file mode 100644 index 960d5f57d..000000000 --- a/tests/expected/suites_cite_post_af39c020-7b1d-429c-b474-f45c3164cb79.xml +++ /dev/null @@ -1,21 +0,0 @@ - - - - - - - urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f - Lorem ipsum - http://purl.org/dc/dcmitype/Image - Tourism--Greece - image/svg+xml - Quisque lacus diam, placerat mollis, pharetra in, commodo sed, augue. Duis iaculis arcu vel arcu. - - - urn:uuid:a06af396-3105-442d-8b40-22b57a90d2f2 - Lorem ipsum dolor sit amet - http://purl.org/dc/dcmitype/Image - image/jpeg - - - diff --git a/tests/expected/suites_cite_post_b90e2de6-3d25-4298-a13e-dc9492a8fc73.xml b/tests/expected/suites_cite_post_b90e2de6-3d25-4298-a13e-dc9492a8fc73.xml deleted file mode 100644 index 0c5581f88..000000000 --- a/tests/expected/suites_cite_post_b90e2de6-3d25-4298-a13e-dc9492a8fc73.xml +++ /dev/null @@ -1,91 +0,0 @@ - - - - - - - urn:uuid:1ef30a8b-876d-4828-9246-c37ab4510bbd - - http://purl.org/dc/dcmitype/Service - Proin sit amet justo. In justo. Aenean adipiscing nulla id tellus. - - 60.04 13.75 - 68.41 17.92 - - - - urn:uuid:66ae76b7-54ba-489b-a582-0f0633d96493 - Maecenas enim - http://purl.org/dc/dcmitype/Text - Marine sediments - application/xhtml+xml - Pellentesque tempus magna non sapien fringilla blandit. - - - urn:uuid:6a3de50b-fa66-4b58-a0e6-ca146fdd18d4 - Ut facilisis justo ut lacus - http://purl.org/dc/dcmitype/Service - Vegetation - urn:uuid:94bc9c83-97f6-4b40-9eb8-a8e8787a5c63 - - - urn:uuid:784e2afd-a9fd-44a6-9a92-a3848371c8ec - Aliquam fermentum purus quis arcu - http://purl.org/dc/dcmitype/Text - Hydrography--Dictionaries - application/pdf - Vestibulum quis ipsum sit amet metus imperdiet vehicula. Nulla scelerisque cursus mi. - - - urn:uuid:829babb0-b2f1-49e1-8cd5-7b489fe71a1e - Vestibulum massa purus - http://purl.org/dc/dcmitype/Image - image/jp2 - urn:uuid:9a669547-b69b-469f-a11f-2d875366bbdc - - - urn:uuid:88247b56-4cbc-4df9-9860-db3f8042e357 - - http://purl.org/dc/dcmitype/Dataset - Physiography-Landforms - Donec scelerisque pede ut nisl luctus accumsan. Quisque ultrices, lorem eget feugiat fringilla, lorem dui porttitor ante, cursus ultrices magna odio eu neque. - - - urn:uuid:94bc9c83-97f6-4b40-9eb8-a8e8787a5c63 - Mauris sed neque - http://purl.org/dc/dcmitype/Dataset - Vegetation-Cropland - Curabitur lacinia, ante non porta tempus, mi lorem feugiat odio, eget suscipit eros pede ac velit. - - 47.59 -4.1 - 51.22 0.89 - - - - urn:uuid:9a669547-b69b-469f-a11f-2d875366bbdc - Ñunç elementum - http://purl.org/dc/dcmitype/Dataset - Hydrography-Oceanographic - - 44.79 -6.17 - 51.13 -2.23 - - - - urn:uuid:ab42a8c4-95e8-4630-bf79-33e59241605a - - http://purl.org/dc/dcmitype/Service - Physiography - urn:uuid:88247b56-4cbc-4df9-9860-db3f8042e357 - Suspendisse accumsan molestie lorem. Nullam velit turpis, mattis ut, varius bibendum, laoreet non, quam. - - - urn:uuid:e9330592-0932-474b-be34-c3a3bb67c7db - Fuscé vitae ligulä - http://purl.org/dc/dcmitype/Text - Land titles - text/rtf - Morbi ultriçes, dui suscipit vestibulum prètium, velit ante pretium tortor, egët tincidunt pede odio ac nulla. - - - diff --git a/tests/expected/suites_cite_post_ba9b0107-dcee-46ef-823a-a2e25a911a96.xml b/tests/expected/suites_cite_post_ba9b0107-dcee-46ef-823a-a2e25a911a96.xml deleted file mode 100644 index 98e2c78c5..000000000 --- a/tests/expected/suites_cite_post_ba9b0107-dcee-46ef-823a-a2e25a911a96.xml +++ /dev/null @@ -1,36 +0,0 @@ - - - - - - - urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f - Lorem ipsum - http://purl.org/dc/dcmitype/Image - Tourism--Greece - image/svg+xml - Quisque lacus diam, placerat mollis, pharetra in, commodo sed, augue. Duis iaculis arcu vel arcu. - - - urn:uuid:66ae76b7-54ba-489b-a582-0f0633d96493 - Maecenas enim - http://purl.org/dc/dcmitype/Text - Marine sediments - application/xhtml+xml - Pellentesque tempus magna non sapien fringilla blandit. - - - urn:uuid:829babb0-b2f1-49e1-8cd5-7b489fe71a1e - Vestibulum massa purus - http://purl.org/dc/dcmitype/Image - image/jp2 - urn:uuid:9a669547-b69b-469f-a11f-2d875366bbdc - - - urn:uuid:a06af396-3105-442d-8b40-22b57a90d2f2 - Lorem ipsum dolor sit amet - http://purl.org/dc/dcmitype/Image - image/jpeg - - - diff --git a/tests/expected/suites_cite_post_bb66ebc5-7121-48b5-9f53-b56537d9561b.xml b/tests/expected/suites_cite_post_bb66ebc5-7121-48b5-9f53-b56537d9561b.xml deleted file mode 100644 index 0a392cbdd..000000000 --- a/tests/expected/suites_cite_post_bb66ebc5-7121-48b5-9f53-b56537d9561b.xml +++ /dev/null @@ -1,19 +0,0 @@ - - - - - - - urn:uuid:88247b56-4cbc-4df9-9860-db3f8042e357 - http://purl.org/dc/dcmitype/Dataset - - - urn:uuid:94bc9c83-97f6-4b40-9eb8-a8e8787a5c63 - http://purl.org/dc/dcmitype/Dataset - - 47.59 -4.1 - 51.22 0.89 - - - - diff --git a/tests/expected/suites_cite_post_c02d1c85-df9f-45ee-bea7-345c35e02a98.xml b/tests/expected/suites_cite_post_c02d1c85-df9f-45ee-bea7-345c35e02a98.xml deleted file mode 100644 index 26bfbf2b7..000000000 --- a/tests/expected/suites_cite_post_c02d1c85-df9f-45ee-bea7-345c35e02a98.xml +++ /dev/null @@ -1,7 +0,0 @@ - - - - - Invalid Constraint: Invalid Filter request: 'NoneType' object has no attribute 'text' - - diff --git a/tests/expected/suites_cite_post_c311a342-72e3-4983-be39-868e6ed9740f.xml b/tests/expected/suites_cite_post_c311a342-72e3-4983-be39-868e6ed9740f.xml deleted file mode 100644 index 76101a6bb..000000000 --- a/tests/expected/suites_cite_post_c311a342-72e3-4983-be39-868e6ed9740f.xml +++ /dev/null @@ -1,115 +0,0 @@ - - - - - - - - http://schemas.opengis.net/csw/2.0.2/record.xsd - - - This schema defines the basic record types that must be supported - by all CSW implementations. These correspond to full, summary, and - brief views based on DCMI metadata terms. - - CSW is an OGC Standard. - Copyright (c) 2004,2010 Open Geospatial Consortium, Inc. All Rights Reserved. - To obtain additional rights of use, visit http://www.opengeospatial.org/legal/ . - - - - - - - - - - - - - - - This type encapsulates all of the standard DCMI metadata terms, - including the Dublin Core refinements; these terms may be mapped - to the profile-specific information model. - - - - - - - - - - - - - - - - This type defines a brief representation of the common record - format. It extends AbstractRecordType to include only the - dc:identifier and dc:type properties. - - - - - - - - - - - - - - - - - - - This type defines a summary representation of the common record - format. It extends AbstractRecordType to include the core - properties. - - - - - - - - - - - - - - - - - - - - - - - - - This type extends DCMIRecordType to add ows:BoundingBox; - it may be used to specify a spatial envelope for the - catalogued resource. - - - - - - - - - - - - - - - diff --git a/tests/expected/suites_cite_post_c38916c2-4bc6-446d-b7aa-ab006d6ba31c.xml b/tests/expected/suites_cite_post_c38916c2-4bc6-446d-b7aa-ab006d6ba31c.xml deleted file mode 100644 index d9c18a038..000000000 --- a/tests/expected/suites_cite_post_c38916c2-4bc6-446d-b7aa-ab006d6ba31c.xml +++ /dev/null @@ -1,27 +0,0 @@ - - - - - - - urn:uuid:784e2afd-a9fd-44a6-9a92-a3848371c8ec - 2006-05-12 - - - urn:uuid:94bc9c83-97f6-4b40-9eb8-a8e8787a5c63 - 2006-03-26 - - 47.59 -4.1 - 51.22 0.89 - - - - urn:uuid:9a669547-b69b-469f-a11f-2d875366bbdc - 2005-10-24 - - 44.79 -6.17 - 51.13 -2.23 - - - - diff --git a/tests/expected/suites_cite_post_c8588f47-8e65-45f5-ad34-ff4524cad84d.xml b/tests/expected/suites_cite_post_c8588f47-8e65-45f5-ad34-ff4524cad84d.xml deleted file mode 100644 index 12342af16..000000000 --- a/tests/expected/suites_cite_post_c8588f47-8e65-45f5-ad34-ff4524cad84d.xml +++ /dev/null @@ -1,7 +0,0 @@ - - - - - Invalid Constraint: Invalid Filter request: Invalid ogc:PropertyName in spatial filter: dct:spatial - - diff --git a/tests/expected/suites_cite_post_da228d4c-e1be-43d7-9ccb-c3f27ee32541.xml b/tests/expected/suites_cite_post_da228d4c-e1be-43d7-9ccb-c3f27ee32541.xml deleted file mode 100644 index 2b0eebed4..000000000 --- a/tests/expected/suites_cite_post_da228d4c-e1be-43d7-9ccb-c3f27ee32541.xml +++ /dev/null @@ -1,7 +0,0 @@ - - - - - Invalid Constraint: Invalid Filter request: Invalid PropertyName: /dc:title. '/dc:title' - - diff --git a/tests/expected/suites_cite_post_dc92c2c4-87d8-4a13-964e-ff9b0e0c27b3.xml b/tests/expected/suites_cite_post_dc92c2c4-87d8-4a13-964e-ff9b0e0c27b3.xml deleted file mode 100644 index 371b26a4c..000000000 --- a/tests/expected/suites_cite_post_dc92c2c4-87d8-4a13-964e-ff9b0e0c27b3.xml +++ /dev/null @@ -1,22 +0,0 @@ - - - - - - - urn:uuid:e9330592-0932-474b-be34-c3a3bb67c7db - http://purl.org/dc/dcmitype/Text - 2003-05-09 - - - urn:uuid:9a669547-b69b-469f-a11f-2d875366bbdc - http://purl.org/dc/dcmitype/Dataset - 2005-10-24 - - - urn:uuid:94bc9c83-97f6-4b40-9eb8-a8e8787a5c63 - http://purl.org/dc/dcmitype/Dataset - 2006-03-26 - - - diff --git a/tests/expected/suites_cite_post_dcb13791-379e-4739-bcd4-dbaa69f0efdb.xml b/tests/expected/suites_cite_post_dcb13791-379e-4739-bcd4-dbaa69f0efdb.xml deleted file mode 100644 index fb722adad..000000000 --- a/tests/expected/suites_cite_post_dcb13791-379e-4739-bcd4-dbaa69f0efdb.xml +++ /dev/null @@ -1,69 +0,0 @@ - - - - - - - urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f - Lorem ipsum - http://purl.org/dc/dcmitype/Image - - - urn:uuid:1ef30a8b-876d-4828-9246-c37ab4510bbd - - http://purl.org/dc/dcmitype/Service - - 60.04 13.75 - 68.41 17.92 - - - - urn:uuid:66ae76b7-54ba-489b-a582-0f0633d96493 - Maecenas enim - http://purl.org/dc/dcmitype/Text - - - urn:uuid:6a3de50b-fa66-4b58-a0e6-ca146fdd18d4 - Ut facilisis justo ut lacus - http://purl.org/dc/dcmitype/Service - - - urn:uuid:784e2afd-a9fd-44a6-9a92-a3848371c8ec - Aliquam fermentum purus quis arcu - http://purl.org/dc/dcmitype/Text - - - urn:uuid:829babb0-b2f1-49e1-8cd5-7b489fe71a1e - Vestibulum massa purus - http://purl.org/dc/dcmitype/Image - - - urn:uuid:88247b56-4cbc-4df9-9860-db3f8042e357 - - http://purl.org/dc/dcmitype/Dataset - - - urn:uuid:94bc9c83-97f6-4b40-9eb8-a8e8787a5c63 - Mauris sed neque - http://purl.org/dc/dcmitype/Dataset - - 47.59 -4.1 - 51.22 0.89 - - - - urn:uuid:9a669547-b69b-469f-a11f-2d875366bbdc - Ñunç elementum - http://purl.org/dc/dcmitype/Dataset - - 44.79 -6.17 - 51.13 -2.23 - - - - urn:uuid:a06af396-3105-442d-8b40-22b57a90d2f2 - Lorem ipsum dolor sit amet - http://purl.org/dc/dcmitype/Image - - - diff --git a/tests/expected/suites_cite_post_e308f030-c097-4036-a838-44bad74c9ef7.xml b/tests/expected/suites_cite_post_e308f030-c097-4036-a838-44bad74c9ef7.xml deleted file mode 100644 index fb722adad..000000000 --- a/tests/expected/suites_cite_post_e308f030-c097-4036-a838-44bad74c9ef7.xml +++ /dev/null @@ -1,69 +0,0 @@ - - - - - - - urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f - Lorem ipsum - http://purl.org/dc/dcmitype/Image - - - urn:uuid:1ef30a8b-876d-4828-9246-c37ab4510bbd - - http://purl.org/dc/dcmitype/Service - - 60.04 13.75 - 68.41 17.92 - - - - urn:uuid:66ae76b7-54ba-489b-a582-0f0633d96493 - Maecenas enim - http://purl.org/dc/dcmitype/Text - - - urn:uuid:6a3de50b-fa66-4b58-a0e6-ca146fdd18d4 - Ut facilisis justo ut lacus - http://purl.org/dc/dcmitype/Service - - - urn:uuid:784e2afd-a9fd-44a6-9a92-a3848371c8ec - Aliquam fermentum purus quis arcu - http://purl.org/dc/dcmitype/Text - - - urn:uuid:829babb0-b2f1-49e1-8cd5-7b489fe71a1e - Vestibulum massa purus - http://purl.org/dc/dcmitype/Image - - - urn:uuid:88247b56-4cbc-4df9-9860-db3f8042e357 - - http://purl.org/dc/dcmitype/Dataset - - - urn:uuid:94bc9c83-97f6-4b40-9eb8-a8e8787a5c63 - Mauris sed neque - http://purl.org/dc/dcmitype/Dataset - - 47.59 -4.1 - 51.22 0.89 - - - - urn:uuid:9a669547-b69b-469f-a11f-2d875366bbdc - Ñunç elementum - http://purl.org/dc/dcmitype/Dataset - - 44.79 -6.17 - 51.13 -2.23 - - - - urn:uuid:a06af396-3105-442d-8b40-22b57a90d2f2 - Lorem ipsum dolor sit amet - http://purl.org/dc/dcmitype/Image - - - diff --git a/tests/expected/suites_cite_post_e6e9efb2-e2b7-4b0a-a3a2-7deea3f9b8e2.xml b/tests/expected/suites_cite_post_e6e9efb2-e2b7-4b0a-a3a2-7deea3f9b8e2.xml deleted file mode 100644 index fb722adad..000000000 --- a/tests/expected/suites_cite_post_e6e9efb2-e2b7-4b0a-a3a2-7deea3f9b8e2.xml +++ /dev/null @@ -1,69 +0,0 @@ - - - - - - - urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f - Lorem ipsum - http://purl.org/dc/dcmitype/Image - - - urn:uuid:1ef30a8b-876d-4828-9246-c37ab4510bbd - - http://purl.org/dc/dcmitype/Service - - 60.04 13.75 - 68.41 17.92 - - - - urn:uuid:66ae76b7-54ba-489b-a582-0f0633d96493 - Maecenas enim - http://purl.org/dc/dcmitype/Text - - - urn:uuid:6a3de50b-fa66-4b58-a0e6-ca146fdd18d4 - Ut facilisis justo ut lacus - http://purl.org/dc/dcmitype/Service - - - urn:uuid:784e2afd-a9fd-44a6-9a92-a3848371c8ec - Aliquam fermentum purus quis arcu - http://purl.org/dc/dcmitype/Text - - - urn:uuid:829babb0-b2f1-49e1-8cd5-7b489fe71a1e - Vestibulum massa purus - http://purl.org/dc/dcmitype/Image - - - urn:uuid:88247b56-4cbc-4df9-9860-db3f8042e357 - - http://purl.org/dc/dcmitype/Dataset - - - urn:uuid:94bc9c83-97f6-4b40-9eb8-a8e8787a5c63 - Mauris sed neque - http://purl.org/dc/dcmitype/Dataset - - 47.59 -4.1 - 51.22 0.89 - - - - urn:uuid:9a669547-b69b-469f-a11f-2d875366bbdc - Ñunç elementum - http://purl.org/dc/dcmitype/Dataset - - 44.79 -6.17 - 51.13 -2.23 - - - - urn:uuid:a06af396-3105-442d-8b40-22b57a90d2f2 - Lorem ipsum dolor sit amet - http://purl.org/dc/dcmitype/Image - - - diff --git a/tests/expected/suites_cite_post_f7976c55-a156-4421-8199-bc0487da4b0f.xml b/tests/expected/suites_cite_post_f7976c55-a156-4421-8199-bc0487da4b0f.xml deleted file mode 100644 index 76101a6bb..000000000 --- a/tests/expected/suites_cite_post_f7976c55-a156-4421-8199-bc0487da4b0f.xml +++ /dev/null @@ -1,115 +0,0 @@ - - - - - - - - http://schemas.opengis.net/csw/2.0.2/record.xsd - - - This schema defines the basic record types that must be supported - by all CSW implementations. These correspond to full, summary, and - brief views based on DCMI metadata terms. - - CSW is an OGC Standard. - Copyright (c) 2004,2010 Open Geospatial Consortium, Inc. All Rights Reserved. - To obtain additional rights of use, visit http://www.opengeospatial.org/legal/ . - - - - - - - - - - - - - - - This type encapsulates all of the standard DCMI metadata terms, - including the Dublin Core refinements; these terms may be mapped - to the profile-specific information model. - - - - - - - - - - - - - - - - This type defines a brief representation of the common record - format. It extends AbstractRecordType to include only the - dc:identifier and dc:type properties. - - - - - - - - - - - - - - - - - - - This type defines a summary representation of the common record - format. It extends AbstractRecordType to include the core - properties. - - - - - - - - - - - - - - - - - - - - - - - - - This type extends DCMIRecordType to add ows:BoundingBox; - it may be used to specify a spatial envelope for the - catalogued resource. - - - - - - - - - - - - - - - diff --git a/tests/expected/suites_cite_post_f7d79701-f10b-4087-a33c-f62df0a04fd1.xml b/tests/expected/suites_cite_post_f7d79701-f10b-4087-a33c-f62df0a04fd1.xml deleted file mode 100644 index fb722adad..000000000 --- a/tests/expected/suites_cite_post_f7d79701-f10b-4087-a33c-f62df0a04fd1.xml +++ /dev/null @@ -1,69 +0,0 @@ - - - - - - - urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f - Lorem ipsum - http://purl.org/dc/dcmitype/Image - - - urn:uuid:1ef30a8b-876d-4828-9246-c37ab4510bbd - - http://purl.org/dc/dcmitype/Service - - 60.04 13.75 - 68.41 17.92 - - - - urn:uuid:66ae76b7-54ba-489b-a582-0f0633d96493 - Maecenas enim - http://purl.org/dc/dcmitype/Text - - - urn:uuid:6a3de50b-fa66-4b58-a0e6-ca146fdd18d4 - Ut facilisis justo ut lacus - http://purl.org/dc/dcmitype/Service - - - urn:uuid:784e2afd-a9fd-44a6-9a92-a3848371c8ec - Aliquam fermentum purus quis arcu - http://purl.org/dc/dcmitype/Text - - - urn:uuid:829babb0-b2f1-49e1-8cd5-7b489fe71a1e - Vestibulum massa purus - http://purl.org/dc/dcmitype/Image - - - urn:uuid:88247b56-4cbc-4df9-9860-db3f8042e357 - - http://purl.org/dc/dcmitype/Dataset - - - urn:uuid:94bc9c83-97f6-4b40-9eb8-a8e8787a5c63 - Mauris sed neque - http://purl.org/dc/dcmitype/Dataset - - 47.59 -4.1 - 51.22 0.89 - - - - urn:uuid:9a669547-b69b-469f-a11f-2d875366bbdc - Ñunç elementum - http://purl.org/dc/dcmitype/Dataset - - 44.79 -6.17 - 51.13 -2.23 - - - - urn:uuid:a06af396-3105-442d-8b40-22b57a90d2f2 - Lorem ipsum dolor sit amet - http://purl.org/dc/dcmitype/Image - - - diff --git a/tests/expected/suites_cite_post_fc1bc094-88f1-4851-bc2b-dfc56be9f3c7.xml b/tests/expected/suites_cite_post_fc1bc094-88f1-4851-bc2b-dfc56be9f3c7.xml deleted file mode 100644 index b3eb8b2c7..000000000 --- a/tests/expected/suites_cite_post_fc1bc094-88f1-4851-bc2b-dfc56be9f3c7.xml +++ /dev/null @@ -1,12 +0,0 @@ - - - - - - - urn:uuid:e9330592-0932-474b-be34-c3a3bb67c7db - Fuscé vitae ligulä - http://purl.org/dc/dcmitype/Text - - - diff --git a/tests/expected/suites_cite_post_fe20960f-a26c-4f13-852d-470a0d3233f9.xml b/tests/expected/suites_cite_post_fe20960f-a26c-4f13-852d-470a0d3233f9.xml deleted file mode 100644 index 5c7ef391f..000000000 --- a/tests/expected/suites_cite_post_fe20960f-a26c-4f13-852d-470a0d3233f9.xml +++ /dev/null @@ -1,12 +0,0 @@ - - - - - - - urn:uuid:ab42a8c4-95e8-4630-bf79-33e59241605a - - http://purl.org/dc/dcmitype/Service - - - diff --git a/tests/expected/suites_csw30_get_002258f0-627f-457f-b2ad-025777c77ac8.xml b/tests/expected/suites_csw30_get_002258f0-627f-457f-b2ad-025777c77ac8.xml deleted file mode 100644 index 60ffc8d10..000000000 --- a/tests/expected/suites_csw30_get_002258f0-627f-457f-b2ad-025777c77ac8.xml +++ /dev/null @@ -1,15 +0,0 @@ - - - - pycsw Geospatial - pycsw Geospatial Catalogue - pycsw is an OGC CSW server implementation written in Python - catalogue discovery - - - http://pycsw.org/img/favicon.ico - - Kralidis, Tom - tomkralidis@gmail.com - pycsw - diff --git a/tests/expected/suites_csw30_get_045c600d-973d-41eb-9f60-eba1b717b720.xml b/tests/expected/suites_csw30_get_045c600d-973d-41eb-9f60-eba1b717b720.xml deleted file mode 100644 index 5caeab5ae..000000000 --- a/tests/expected/suites_csw30_get_045c600d-973d-41eb-9f60-eba1b717b720.xml +++ /dev/null @@ -1,24 +0,0 @@ - - - - http://localhost/pycsw/csw.py?config=tests/suites/csw30/default.cfg - pycsw Geospatial Catalogue - - pycsw - - diff --git a/tests/expected/suites_csw30_get_0bbcf862-5211-4351-9988-63f8bec49c98.xml b/tests/expected/suites_csw30_get_0bbcf862-5211-4351-9988-63f8bec49c98.xml deleted file mode 100644 index c1b666067..000000000 --- a/tests/expected/suites_csw30_get_0bbcf862-5211-4351-9988-63f8bec49c98.xml +++ /dev/null @@ -1,116 +0,0 @@ - - - - http://localhost/pycsw/csw.py?config=tests/suites/csw30/default.cfg - pycsw Geospatial Catalogue - - pycsw - - diff --git a/tests/expected/suites_csw30_get_0bdf8457-971e-4ed1-be4a-5feca4dcd8fa.xml b/tests/expected/suites_csw30_get_0bdf8457-971e-4ed1-be4a-5feca4dcd8fa.xml deleted file mode 100644 index c5cb70e29..000000000 --- a/tests/expected/suites_csw30_get_0bdf8457-971e-4ed1-be4a-5feca4dcd8fa.xml +++ /dev/null @@ -1,493 +0,0 @@ - - - - - pycsw Geospatial Catalogue - pycsw is an OGC CSW server implementation written in Python - - catalogue - discovery - theme - - CSW - 2.0.2 - 3.0.0 - None - None - - - pycsw - - - Kralidis, Tom - Senior Systems Scientist - - - +01-416-xxx-xxxx - +01-416-xxx-xxxx - - - TBA - Toronto - Ontario - M9C 3Z9 - Canada - tomkralidis@gmail.com - - - 0800h - 1600h EST - During hours of service. Off on weekends. - - pointOfContact - - - - - - - - - - - - - application/xml - text/xml - - - - - 2.0.2 - 3.0.0 - - - - - All - Filter_Capabilities - OperationsMetadata - ServiceIdentification - ServiceProvider - - - - - - - - - - - - - GetCapabilities.acceptFormats - GetCapabilities.acceptVersions - GetCapabilities.sections - GetRecordById.ElementSetName - GetRecordById.outputFormat - GetRecordById.outputSchema - GetRecords.CONSTRAINTLANGUAGE - GetRecords.ElementSetName - GetRecords.outputFormat - GetRecords.outputSchema - GetRecords.typeNames - - - - - - - - - - - - - CQL_TEXT - FILTER - - - - - brief - full - summary - - - - - application/atom+xml - application/json - application/xml - - - - - http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ - http://www.interlis.ch/INTERLIS2.3 - http://www.opengis.net/cat/csw/3.0 - http://www.opengis.net/cat/csw/csdgm - http://www.w3.org/2005/Atom - - - - - csw:Record - - - - - 10 - - - - - http://localhost/pycsw/csw.py?config=tests/suites/csw30/default.cfg?mode=opensearch&service=CSW&version=3.0.0&request=GetCapabilities - - - - - http://demo.pycsw.org/gisdata/csw - - - - - - - - - - - - - brief - full - summary - - - - - application/atom+xml - application/json - application/xml - - - - - http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ - http://www.interlis.ch/INTERLIS2.3 - http://www.opengis.net/cat/csw/3.0 - http://www.opengis.net/cat/csw/csdgm - http://www.w3.org/2005/Atom - - - - - - - - - - - - - CSW - - - - - 2.0.2 - 3.0.0 - - - - - csw:AnyText - dc:contributor - dc:creator - dc:date - dc:format - dc:identifier - dc:language - dc:publisher - dc:relation - dc:rights - dc:source - dc:subject - dc:title - dc:type - dct:abstract - dct:alternative - dct:modified - dct:spatial - ows:BoundingBox - - - - - http://demo.pycsw.org/gisdata/csw - - - - - 10 - - - - - SOAP - XML - - - - - allowed - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - http://www.opengis.net/gml - - - - - TRUE - - - - - en - - - - - - TRUE - - - - TRUE - - - - TRUE - - - - TRUE - - - - TRUE - - - - TRUE - - - - TRUE - - - - TRUE - - - - TRUE - - - - TRUE - - - - TRUE - - - - TRUE - - - - TRUE - - - - TRUE - - - - TRUE - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - xs:string - - - xs:string - - - xs:string - - - xs:string - - - xs:string - - - xs:string - - - - diff --git a/tests/expected/suites_csw30_get_0d8bbdec-0846-42ca-8dc8-b7f4cba41d67.xml b/tests/expected/suites_csw30_get_0d8bbdec-0846-42ca-8dc8-b7f4cba41d67.xml deleted file mode 100644 index 21edd2682..000000000 --- a/tests/expected/suites_csw30_get_0d8bbdec-0846-42ca-8dc8-b7f4cba41d67.xml +++ /dev/null @@ -1,47 +0,0 @@ - - - - - - - urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f - Lorem ipsum - - - urn:uuid:1ef30a8b-876d-4828-9246-c37ab4510bbd - - - - urn:uuid:66ae76b7-54ba-489b-a582-0f0633d96493 - Maecenas enim - - - urn:uuid:6a3de50b-fa66-4b58-a0e6-ca146fdd18d4 - Ut facilisis justo ut lacus - - - urn:uuid:784e2afd-a9fd-44a6-9a92-a3848371c8ec - Aliquam fermentum purus quis arcu - - - urn:uuid:829babb0-b2f1-49e1-8cd5-7b489fe71a1e - Vestibulum massa purus - - - urn:uuid:88247b56-4cbc-4df9-9860-db3f8042e357 - - - - urn:uuid:94bc9c83-97f6-4b40-9eb8-a8e8787a5c63 - Mauris sed neque - - - urn:uuid:9a669547-b69b-469f-a11f-2d875366bbdc - Ñunç elementum - - - urn:uuid:a06af396-3105-442d-8b40-22b57a90d2f2 - Lorem ipsum dolor sit amet - - - diff --git a/tests/expected/suites_csw30_get_0e1dca37-477a-4060-99fe-7799b52d656c.xml b/tests/expected/suites_csw30_get_0e1dca37-477a-4060-99fe-7799b52d656c.xml deleted file mode 100644 index b6869d887..000000000 --- a/tests/expected/suites_csw30_get_0e1dca37-477a-4060-99fe-7799b52d656c.xml +++ /dev/null @@ -1,15 +0,0 @@ - - - - http://localhost/pycsw/csw.py?config=tests/suites/csw30/default.cfg - pycsw Geospatial Catalogue - - pycsw - - diff --git a/tests/expected/suites_csw30_get_13c87956-51a4-4780-a8e9-6e0b5c0bb473.xml b/tests/expected/suites_csw30_get_13c87956-51a4-4780-a8e9-6e0b5c0bb473.xml deleted file mode 100644 index 3ce950bca..000000000 --- a/tests/expected/suites_csw30_get_13c87956-51a4-4780-a8e9-6e0b5c0bb473.xml +++ /dev/null @@ -1,92 +0,0 @@ - - - - - - - urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f - Lorem ipsum - http://purl.org/dc/dcmitype/Image - Tourism--Greece - image/svg+xml - Quisque lacus diam, placerat mollis, pharetra in, commodo sed, augue. Duis iaculis arcu vel arcu. - - - urn:uuid:1ef30a8b-876d-4828-9246-c37ab4510bbd - - http://purl.org/dc/dcmitype/Service - Proin sit amet justo. In justo. Aenean adipiscing nulla id tellus. - - 60.04 13.75 - 68.41 17.92 - - - - urn:uuid:66ae76b7-54ba-489b-a582-0f0633d96493 - Maecenas enim - http://purl.org/dc/dcmitype/Text - Marine sediments - application/xhtml+xml - Pellentesque tempus magna non sapien fringilla blandit. - - - urn:uuid:6a3de50b-fa66-4b58-a0e6-ca146fdd18d4 - Ut facilisis justo ut lacus - http://purl.org/dc/dcmitype/Service - Vegetation - urn:uuid:94bc9c83-97f6-4b40-9eb8-a8e8787a5c63 - - - urn:uuid:784e2afd-a9fd-44a6-9a92-a3848371c8ec - Aliquam fermentum purus quis arcu - http://purl.org/dc/dcmitype/Text - Hydrography--Dictionaries - application/pdf - Vestibulum quis ipsum sit amet metus imperdiet vehicula. Nulla scelerisque cursus mi. - 2006-05-12 - - - urn:uuid:829babb0-b2f1-49e1-8cd5-7b489fe71a1e - Vestibulum massa purus - http://purl.org/dc/dcmitype/Image - image/jp2 - urn:uuid:9a669547-b69b-469f-a11f-2d875366bbdc - - - urn:uuid:88247b56-4cbc-4df9-9860-db3f8042e357 - - http://purl.org/dc/dcmitype/Dataset - Physiography-Landforms - Donec scelerisque pede ut nisl luctus accumsan. Quisque ultrices, lorem eget feugiat fringilla, lorem dui porttitor ante, cursus ultrices magna odio eu neque. - - - urn:uuid:94bc9c83-97f6-4b40-9eb8-a8e8787a5c63 - Mauris sed neque - http://purl.org/dc/dcmitype/Dataset - Vegetation-Cropland - Curabitur lacinia, ante non porta tempus, mi lorem feugiat odio, eget suscipit eros pede ac velit. - 2006-03-26 - - 47.59 -4.1 - 51.22 0.89 - - - - urn:uuid:9a669547-b69b-469f-a11f-2d875366bbdc - Ñunç elementum - http://purl.org/dc/dcmitype/Dataset - Hydrography-Oceanographic - 2005-10-24 - - 44.79 -6.17 - 51.13 -2.23 - - - - urn:uuid:a06af396-3105-442d-8b40-22b57a90d2f2 - Lorem ipsum dolor sit amet - http://purl.org/dc/dcmitype/Image - image/jpeg - - - diff --git a/tests/expected/suites_csw30_get_151d982f-ebd3-4cb2-b507-a667713a1e92.xml b/tests/expected/suites_csw30_get_151d982f-ebd3-4cb2-b507-a667713a1e92.xml deleted file mode 100644 index 633f7c9ae..000000000 --- a/tests/expected/suites_csw30_get_151d982f-ebd3-4cb2-b507-a667713a1e92.xml +++ /dev/null @@ -1,7 +0,0 @@ - - - - - Invalid acceptFormats parameter value: model/x3d+xml - - diff --git a/tests/expected/suites_csw30_get_1869e495-1a61-4713-8285-76d1336ee1a6.xml b/tests/expected/suites_csw30_get_1869e495-1a61-4713-8285-76d1336ee1a6.xml deleted file mode 100644 index 42a76d4fd..000000000 --- a/tests/expected/suites_csw30_get_1869e495-1a61-4713-8285-76d1336ee1a6.xml +++ /dev/null @@ -1,7 +0,0 @@ - - - - - Missing keyword: service - - diff --git a/tests/expected/suites_csw30_get_1bcb42a9-538c-4f0a-9d4c-d6f10b720aa6.xml b/tests/expected/suites_csw30_get_1bcb42a9-538c-4f0a-9d4c-d6f10b720aa6.xml deleted file mode 100644 index dd5dfc621..000000000 --- a/tests/expected/suites_csw30_get_1bcb42a9-538c-4f0a-9d4c-d6f10b720aa6.xml +++ /dev/null @@ -1,7 +0,0 @@ - - - - - Missing id parameter - - diff --git a/tests/expected/suites_csw30_get_22f44168-2ccf-4801-ad96-204212566d56.xml b/tests/expected/suites_csw30_get_22f44168-2ccf-4801-ad96-204212566d56.xml deleted file mode 100644 index c5cb70e29..000000000 --- a/tests/expected/suites_csw30_get_22f44168-2ccf-4801-ad96-204212566d56.xml +++ /dev/null @@ -1,493 +0,0 @@ - - - - - pycsw Geospatial Catalogue - pycsw is an OGC CSW server implementation written in Python - - catalogue - discovery - theme - - CSW - 2.0.2 - 3.0.0 - None - None - - - pycsw - - - Kralidis, Tom - Senior Systems Scientist - - - +01-416-xxx-xxxx - +01-416-xxx-xxxx - - - TBA - Toronto - Ontario - M9C 3Z9 - Canada - tomkralidis@gmail.com - - - 0800h - 1600h EST - During hours of service. Off on weekends. - - pointOfContact - - - - - - - - - - - - - application/xml - text/xml - - - - - 2.0.2 - 3.0.0 - - - - - All - Filter_Capabilities - OperationsMetadata - ServiceIdentification - ServiceProvider - - - - - - - - - - - - - GetCapabilities.acceptFormats - GetCapabilities.acceptVersions - GetCapabilities.sections - GetRecordById.ElementSetName - GetRecordById.outputFormat - GetRecordById.outputSchema - GetRecords.CONSTRAINTLANGUAGE - GetRecords.ElementSetName - GetRecords.outputFormat - GetRecords.outputSchema - GetRecords.typeNames - - - - - - - - - - - - - CQL_TEXT - FILTER - - - - - brief - full - summary - - - - - application/atom+xml - application/json - application/xml - - - - - http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ - http://www.interlis.ch/INTERLIS2.3 - http://www.opengis.net/cat/csw/3.0 - http://www.opengis.net/cat/csw/csdgm - http://www.w3.org/2005/Atom - - - - - csw:Record - - - - - 10 - - - - - http://localhost/pycsw/csw.py?config=tests/suites/csw30/default.cfg?mode=opensearch&service=CSW&version=3.0.0&request=GetCapabilities - - - - - http://demo.pycsw.org/gisdata/csw - - - - - - - - - - - - - brief - full - summary - - - - - application/atom+xml - application/json - application/xml - - - - - http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ - http://www.interlis.ch/INTERLIS2.3 - http://www.opengis.net/cat/csw/3.0 - http://www.opengis.net/cat/csw/csdgm - http://www.w3.org/2005/Atom - - - - - - - - - - - - - CSW - - - - - 2.0.2 - 3.0.0 - - - - - csw:AnyText - dc:contributor - dc:creator - dc:date - dc:format - dc:identifier - dc:language - dc:publisher - dc:relation - dc:rights - dc:source - dc:subject - dc:title - dc:type - dct:abstract - dct:alternative - dct:modified - dct:spatial - ows:BoundingBox - - - - - http://demo.pycsw.org/gisdata/csw - - - - - 10 - - - - - SOAP - XML - - - - - allowed - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - http://www.opengis.net/gml - - - - - TRUE - - - - - en - - - - - - TRUE - - - - TRUE - - - - TRUE - - - - TRUE - - - - TRUE - - - - TRUE - - - - TRUE - - - - TRUE - - - - TRUE - - - - TRUE - - - - TRUE - - - - TRUE - - - - TRUE - - - - TRUE - - - - TRUE - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - xs:string - - - xs:string - - - xs:string - - - xs:string - - - xs:string - - - xs:string - - - - diff --git a/tests/expected/suites_csw30_get_2499a9c9-8d33-449c-bc92-d494adfcc84d.xml b/tests/expected/suites_csw30_get_2499a9c9-8d33-449c-bc92-d494adfcc84d.xml deleted file mode 100644 index c5cb70e29..000000000 --- a/tests/expected/suites_csw30_get_2499a9c9-8d33-449c-bc92-d494adfcc84d.xml +++ /dev/null @@ -1,493 +0,0 @@ - - - - - pycsw Geospatial Catalogue - pycsw is an OGC CSW server implementation written in Python - - catalogue - discovery - theme - - CSW - 2.0.2 - 3.0.0 - None - None - - - pycsw - - - Kralidis, Tom - Senior Systems Scientist - - - +01-416-xxx-xxxx - +01-416-xxx-xxxx - - - TBA - Toronto - Ontario - M9C 3Z9 - Canada - tomkralidis@gmail.com - - - 0800h - 1600h EST - During hours of service. Off on weekends. - - pointOfContact - - - - - - - - - - - - - application/xml - text/xml - - - - - 2.0.2 - 3.0.0 - - - - - All - Filter_Capabilities - OperationsMetadata - ServiceIdentification - ServiceProvider - - - - - - - - - - - - - GetCapabilities.acceptFormats - GetCapabilities.acceptVersions - GetCapabilities.sections - GetRecordById.ElementSetName - GetRecordById.outputFormat - GetRecordById.outputSchema - GetRecords.CONSTRAINTLANGUAGE - GetRecords.ElementSetName - GetRecords.outputFormat - GetRecords.outputSchema - GetRecords.typeNames - - - - - - - - - - - - - CQL_TEXT - FILTER - - - - - brief - full - summary - - - - - application/atom+xml - application/json - application/xml - - - - - http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ - http://www.interlis.ch/INTERLIS2.3 - http://www.opengis.net/cat/csw/3.0 - http://www.opengis.net/cat/csw/csdgm - http://www.w3.org/2005/Atom - - - - - csw:Record - - - - - 10 - - - - - http://localhost/pycsw/csw.py?config=tests/suites/csw30/default.cfg?mode=opensearch&service=CSW&version=3.0.0&request=GetCapabilities - - - - - http://demo.pycsw.org/gisdata/csw - - - - - - - - - - - - - brief - full - summary - - - - - application/atom+xml - application/json - application/xml - - - - - http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ - http://www.interlis.ch/INTERLIS2.3 - http://www.opengis.net/cat/csw/3.0 - http://www.opengis.net/cat/csw/csdgm - http://www.w3.org/2005/Atom - - - - - - - - - - - - - CSW - - - - - 2.0.2 - 3.0.0 - - - - - csw:AnyText - dc:contributor - dc:creator - dc:date - dc:format - dc:identifier - dc:language - dc:publisher - dc:relation - dc:rights - dc:source - dc:subject - dc:title - dc:type - dct:abstract - dct:alternative - dct:modified - dct:spatial - ows:BoundingBox - - - - - http://demo.pycsw.org/gisdata/csw - - - - - 10 - - - - - SOAP - XML - - - - - allowed - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - http://www.opengis.net/gml - - - - - TRUE - - - - - en - - - - - - TRUE - - - - TRUE - - - - TRUE - - - - TRUE - - - - TRUE - - - - TRUE - - - - TRUE - - - - TRUE - - - - TRUE - - - - TRUE - - - - TRUE - - - - TRUE - - - - TRUE - - - - TRUE - - - - TRUE - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - xs:string - - - xs:string - - - xs:string - - - xs:string - - - xs:string - - - xs:string - - - - diff --git a/tests/expected/suites_csw30_get_27f4f39c-d92a-4e3c-b961-c6aa8c24e513.xml b/tests/expected/suites_csw30_get_27f4f39c-d92a-4e3c-b961-c6aa8c24e513.xml deleted file mode 100644 index c5cb70e29..000000000 --- a/tests/expected/suites_csw30_get_27f4f39c-d92a-4e3c-b961-c6aa8c24e513.xml +++ /dev/null @@ -1,493 +0,0 @@ - - - - - pycsw Geospatial Catalogue - pycsw is an OGC CSW server implementation written in Python - - catalogue - discovery - theme - - CSW - 2.0.2 - 3.0.0 - None - None - - - pycsw - - - Kralidis, Tom - Senior Systems Scientist - - - +01-416-xxx-xxxx - +01-416-xxx-xxxx - - - TBA - Toronto - Ontario - M9C 3Z9 - Canada - tomkralidis@gmail.com - - - 0800h - 1600h EST - During hours of service. Off on weekends. - - pointOfContact - - - - - - - - - - - - - application/xml - text/xml - - - - - 2.0.2 - 3.0.0 - - - - - All - Filter_Capabilities - OperationsMetadata - ServiceIdentification - ServiceProvider - - - - - - - - - - - - - GetCapabilities.acceptFormats - GetCapabilities.acceptVersions - GetCapabilities.sections - GetRecordById.ElementSetName - GetRecordById.outputFormat - GetRecordById.outputSchema - GetRecords.CONSTRAINTLANGUAGE - GetRecords.ElementSetName - GetRecords.outputFormat - GetRecords.outputSchema - GetRecords.typeNames - - - - - - - - - - - - - CQL_TEXT - FILTER - - - - - brief - full - summary - - - - - application/atom+xml - application/json - application/xml - - - - - http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ - http://www.interlis.ch/INTERLIS2.3 - http://www.opengis.net/cat/csw/3.0 - http://www.opengis.net/cat/csw/csdgm - http://www.w3.org/2005/Atom - - - - - csw:Record - - - - - 10 - - - - - http://localhost/pycsw/csw.py?config=tests/suites/csw30/default.cfg?mode=opensearch&service=CSW&version=3.0.0&request=GetCapabilities - - - - - http://demo.pycsw.org/gisdata/csw - - - - - - - - - - - - - brief - full - summary - - - - - application/atom+xml - application/json - application/xml - - - - - http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ - http://www.interlis.ch/INTERLIS2.3 - http://www.opengis.net/cat/csw/3.0 - http://www.opengis.net/cat/csw/csdgm - http://www.w3.org/2005/Atom - - - - - - - - - - - - - CSW - - - - - 2.0.2 - 3.0.0 - - - - - csw:AnyText - dc:contributor - dc:creator - dc:date - dc:format - dc:identifier - dc:language - dc:publisher - dc:relation - dc:rights - dc:source - dc:subject - dc:title - dc:type - dct:abstract - dct:alternative - dct:modified - dct:spatial - ows:BoundingBox - - - - - http://demo.pycsw.org/gisdata/csw - - - - - 10 - - - - - SOAP - XML - - - - - allowed - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - http://www.opengis.net/gml - - - - - TRUE - - - - - en - - - - - - TRUE - - - - TRUE - - - - TRUE - - - - TRUE - - - - TRUE - - - - TRUE - - - - TRUE - - - - TRUE - - - - TRUE - - - - TRUE - - - - TRUE - - - - TRUE - - - - TRUE - - - - TRUE - - - - TRUE - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - xs:string - - - xs:string - - - xs:string - - - xs:string - - - xs:string - - - xs:string - - - - diff --git a/tests/expected/suites_csw30_get_28e569df-8596-4128-8d9a-29ad03138915.xml b/tests/expected/suites_csw30_get_28e569df-8596-4128-8d9a-29ad03138915.xml deleted file mode 100644 index c998b50af..000000000 --- a/tests/expected/suites_csw30_get_28e569df-8596-4128-8d9a-29ad03138915.xml +++ /dev/null @@ -1,8 +0,0 @@ - - - - urn:uuid:a06af396-3105-442d-8b40-22b57a90d2f2 - Lorem ipsum dolor sit amet - http://purl.org/dc/dcmitype/Image - image/jpeg - diff --git a/tests/expected/suites_csw30_get_2b06a5c8-0df2-4af1-8d2e-a425de11c845.xml b/tests/expected/suites_csw30_get_2b06a5c8-0df2-4af1-8d2e-a425de11c845.xml deleted file mode 100644 index c5cb70e29..000000000 --- a/tests/expected/suites_csw30_get_2b06a5c8-0df2-4af1-8d2e-a425de11c845.xml +++ /dev/null @@ -1,493 +0,0 @@ - - - - - pycsw Geospatial Catalogue - pycsw is an OGC CSW server implementation written in Python - - catalogue - discovery - theme - - CSW - 2.0.2 - 3.0.0 - None - None - - - pycsw - - - Kralidis, Tom - Senior Systems Scientist - - - +01-416-xxx-xxxx - +01-416-xxx-xxxx - - - TBA - Toronto - Ontario - M9C 3Z9 - Canada - tomkralidis@gmail.com - - - 0800h - 1600h EST - During hours of service. Off on weekends. - - pointOfContact - - - - - - - - - - - - - application/xml - text/xml - - - - - 2.0.2 - 3.0.0 - - - - - All - Filter_Capabilities - OperationsMetadata - ServiceIdentification - ServiceProvider - - - - - - - - - - - - - GetCapabilities.acceptFormats - GetCapabilities.acceptVersions - GetCapabilities.sections - GetRecordById.ElementSetName - GetRecordById.outputFormat - GetRecordById.outputSchema - GetRecords.CONSTRAINTLANGUAGE - GetRecords.ElementSetName - GetRecords.outputFormat - GetRecords.outputSchema - GetRecords.typeNames - - - - - - - - - - - - - CQL_TEXT - FILTER - - - - - brief - full - summary - - - - - application/atom+xml - application/json - application/xml - - - - - http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ - http://www.interlis.ch/INTERLIS2.3 - http://www.opengis.net/cat/csw/3.0 - http://www.opengis.net/cat/csw/csdgm - http://www.w3.org/2005/Atom - - - - - csw:Record - - - - - 10 - - - - - http://localhost/pycsw/csw.py?config=tests/suites/csw30/default.cfg?mode=opensearch&service=CSW&version=3.0.0&request=GetCapabilities - - - - - http://demo.pycsw.org/gisdata/csw - - - - - - - - - - - - - brief - full - summary - - - - - application/atom+xml - application/json - application/xml - - - - - http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ - http://www.interlis.ch/INTERLIS2.3 - http://www.opengis.net/cat/csw/3.0 - http://www.opengis.net/cat/csw/csdgm - http://www.w3.org/2005/Atom - - - - - - - - - - - - - CSW - - - - - 2.0.2 - 3.0.0 - - - - - csw:AnyText - dc:contributor - dc:creator - dc:date - dc:format - dc:identifier - dc:language - dc:publisher - dc:relation - dc:rights - dc:source - dc:subject - dc:title - dc:type - dct:abstract - dct:alternative - dct:modified - dct:spatial - ows:BoundingBox - - - - - http://demo.pycsw.org/gisdata/csw - - - - - 10 - - - - - SOAP - XML - - - - - allowed - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - http://www.opengis.net/gml - - - - - TRUE - - - - - en - - - - - - TRUE - - - - TRUE - - - - TRUE - - - - TRUE - - - - TRUE - - - - TRUE - - - - TRUE - - - - TRUE - - - - TRUE - - - - TRUE - - - - TRUE - - - - TRUE - - - - TRUE - - - - TRUE - - - - TRUE - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - xs:string - - - xs:string - - - xs:string - - - xs:string - - - xs:string - - - xs:string - - - - diff --git a/tests/expected/suites_csw30_get_2ba1418a-444d-4cce-9cfe-4c94efcf8b55.xml b/tests/expected/suites_csw30_get_2ba1418a-444d-4cce-9cfe-4c94efcf8b55.xml deleted file mode 100644 index 06869ee15..000000000 --- a/tests/expected/suites_csw30_get_2ba1418a-444d-4cce-9cfe-4c94efcf8b55.xml +++ /dev/null @@ -1,32 +0,0 @@ - - - - http://localhost/pycsw/csw.py?config=tests/suites/csw30/default.cfg - pycsw Geospatial Catalogue - - pycsw - - diff --git a/tests/expected/suites_csw30_get_397fe17a-d5b4-4f96-8cc4-4ce467ed4d0a.xml b/tests/expected/suites_csw30_get_397fe17a-d5b4-4f96-8cc4-4ce467ed4d0a.xml deleted file mode 100644 index a2f3d5785..000000000 --- a/tests/expected/suites_csw30_get_397fe17a-d5b4-4f96-8cc4-4ce467ed4d0a.xml +++ /dev/null @@ -1,30 +0,0 @@ - - - - - - - urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f - Lorem ipsum - http://purl.org/dc/dcmitype/Image - Tourism--Greece - image/svg+xml - Quisque lacus diam, placerat mollis, pharetra in, commodo sed, augue. Duis iaculis arcu vel arcu. - - - urn:uuid:784e2afd-a9fd-44a6-9a92-a3848371c8ec - Aliquam fermentum purus quis arcu - http://purl.org/dc/dcmitype/Text - Hydrography--Dictionaries - application/pdf - Vestibulum quis ipsum sit amet metus imperdiet vehicula. Nulla scelerisque cursus mi. - 2006-05-12 - - - urn:uuid:a06af396-3105-442d-8b40-22b57a90d2f2 - Lorem ipsum dolor sit amet - http://purl.org/dc/dcmitype/Image - image/jpeg - - - diff --git a/tests/expected/suites_csw30_get_3dcd1b15-73d2-4b7d-a3e3-ff15bf14aae4.xml b/tests/expected/suites_csw30_get_3dcd1b15-73d2-4b7d-a3e3-ff15bf14aae4.xml deleted file mode 100644 index 4d7f6b1bf..000000000 --- a/tests/expected/suites_csw30_get_3dcd1b15-73d2-4b7d-a3e3-ff15bf14aae4.xml +++ /dev/null @@ -1,69 +0,0 @@ - - - - - - - urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f - Lorem ipsum - http://purl.org/dc/dcmitype/Image - - - urn:uuid:1ef30a8b-876d-4828-9246-c37ab4510bbd - - http://purl.org/dc/dcmitype/Service - - 60.04 13.75 - 68.41 17.92 - - - - urn:uuid:66ae76b7-54ba-489b-a582-0f0633d96493 - Maecenas enim - http://purl.org/dc/dcmitype/Text - - - urn:uuid:6a3de50b-fa66-4b58-a0e6-ca146fdd18d4 - Ut facilisis justo ut lacus - http://purl.org/dc/dcmitype/Service - - - urn:uuid:784e2afd-a9fd-44a6-9a92-a3848371c8ec - Aliquam fermentum purus quis arcu - http://purl.org/dc/dcmitype/Text - - - urn:uuid:829babb0-b2f1-49e1-8cd5-7b489fe71a1e - Vestibulum massa purus - http://purl.org/dc/dcmitype/Image - - - urn:uuid:88247b56-4cbc-4df9-9860-db3f8042e357 - - http://purl.org/dc/dcmitype/Dataset - - - urn:uuid:94bc9c83-97f6-4b40-9eb8-a8e8787a5c63 - Mauris sed neque - http://purl.org/dc/dcmitype/Dataset - - 47.59 -4.1 - 51.22 0.89 - - - - urn:uuid:9a669547-b69b-469f-a11f-2d875366bbdc - Ñunç elementum - http://purl.org/dc/dcmitype/Dataset - - 44.79 -6.17 - 51.13 -2.23 - - - - urn:uuid:a06af396-3105-442d-8b40-22b57a90d2f2 - Lorem ipsum dolor sit amet - http://purl.org/dc/dcmitype/Image - - - diff --git a/tests/expected/suites_csw30_get_405e1ff1-5c75-4846-a28b-cfaff2a6921a.xml b/tests/expected/suites_csw30_get_405e1ff1-5c75-4846-a28b-cfaff2a6921a.xml deleted file mode 100644 index 22bdf2c6f..000000000 --- a/tests/expected/suites_csw30_get_405e1ff1-5c75-4846-a28b-cfaff2a6921a.xml +++ /dev/null @@ -1,23 +0,0 @@ - - - - - - - urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f - Lorem ipsum - http://purl.org/dc/dcmitype/Image - Tourism--Greece - image/svg+xml - Quisque lacus diam, placerat mollis, pharetra in, commodo sed, augue. Duis iaculis arcu vel arcu. - - - urn:uuid:e9330592-0932-474b-be34-c3a3bb67c7db - Fuscé vitae ligulä - http://purl.org/dc/dcmitype/Text - Land titles - text/rtf - Morbi ultriçes, dui suscipit vestibulum prètium, velit ante pretium tortor, egët tincidunt pede odio ac nulla. - - - diff --git a/tests/expected/suites_csw30_get_43cd6471-6ac7-45bd-8ff9-148cb2de9a52.xml b/tests/expected/suites_csw30_get_43cd6471-6ac7-45bd-8ff9-148cb2de9a52.xml deleted file mode 100644 index c5cb70e29..000000000 --- a/tests/expected/suites_csw30_get_43cd6471-6ac7-45bd-8ff9-148cb2de9a52.xml +++ /dev/null @@ -1,493 +0,0 @@ - - - - - pycsw Geospatial Catalogue - pycsw is an OGC CSW server implementation written in Python - - catalogue - discovery - theme - - CSW - 2.0.2 - 3.0.0 - None - None - - - pycsw - - - Kralidis, Tom - Senior Systems Scientist - - - +01-416-xxx-xxxx - +01-416-xxx-xxxx - - - TBA - Toronto - Ontario - M9C 3Z9 - Canada - tomkralidis@gmail.com - - - 0800h - 1600h EST - During hours of service. Off on weekends. - - pointOfContact - - - - - - - - - - - - - application/xml - text/xml - - - - - 2.0.2 - 3.0.0 - - - - - All - Filter_Capabilities - OperationsMetadata - ServiceIdentification - ServiceProvider - - - - - - - - - - - - - GetCapabilities.acceptFormats - GetCapabilities.acceptVersions - GetCapabilities.sections - GetRecordById.ElementSetName - GetRecordById.outputFormat - GetRecordById.outputSchema - GetRecords.CONSTRAINTLANGUAGE - GetRecords.ElementSetName - GetRecords.outputFormat - GetRecords.outputSchema - GetRecords.typeNames - - - - - - - - - - - - - CQL_TEXT - FILTER - - - - - brief - full - summary - - - - - application/atom+xml - application/json - application/xml - - - - - http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ - http://www.interlis.ch/INTERLIS2.3 - http://www.opengis.net/cat/csw/3.0 - http://www.opengis.net/cat/csw/csdgm - http://www.w3.org/2005/Atom - - - - - csw:Record - - - - - 10 - - - - - http://localhost/pycsw/csw.py?config=tests/suites/csw30/default.cfg?mode=opensearch&service=CSW&version=3.0.0&request=GetCapabilities - - - - - http://demo.pycsw.org/gisdata/csw - - - - - - - - - - - - - brief - full - summary - - - - - application/atom+xml - application/json - application/xml - - - - - http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ - http://www.interlis.ch/INTERLIS2.3 - http://www.opengis.net/cat/csw/3.0 - http://www.opengis.net/cat/csw/csdgm - http://www.w3.org/2005/Atom - - - - - - - - - - - - - CSW - - - - - 2.0.2 - 3.0.0 - - - - - csw:AnyText - dc:contributor - dc:creator - dc:date - dc:format - dc:identifier - dc:language - dc:publisher - dc:relation - dc:rights - dc:source - dc:subject - dc:title - dc:type - dct:abstract - dct:alternative - dct:modified - dct:spatial - ows:BoundingBox - - - - - http://demo.pycsw.org/gisdata/csw - - - - - 10 - - - - - SOAP - XML - - - - - allowed - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - http://www.opengis.net/gml - - - - - TRUE - - - - - en - - - - - - TRUE - - - - TRUE - - - - TRUE - - - - TRUE - - - - TRUE - - - - TRUE - - - - TRUE - - - - TRUE - - - - TRUE - - - - TRUE - - - - TRUE - - - - TRUE - - - - TRUE - - - - TRUE - - - - TRUE - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - xs:string - - - xs:string - - - xs:string - - - xs:string - - - xs:string - - - xs:string - - - - diff --git a/tests/expected/suites_csw30_get_4566d2ec-1283-4a02-baed-a74fc5b47e37.xml b/tests/expected/suites_csw30_get_4566d2ec-1283-4a02-baed-a74fc5b47e37.xml deleted file mode 100644 index e907a5144..000000000 --- a/tests/expected/suites_csw30_get_4566d2ec-1283-4a02-baed-a74fc5b47e37.xml +++ /dev/null @@ -1,18 +0,0 @@ - - - - - pycsw Geospatial Catalogue - pycsw is an OGC CSW server implementation written in Python - - catalogue - discovery - theme - - CSW - 2.0.2 - 3.0.0 - None - None - - diff --git a/tests/expected/suites_csw30_get_461bd4c5-6623-490d-9036-d91a2201e87b.xml b/tests/expected/suites_csw30_get_461bd4c5-6623-490d-9036-d91a2201e87b.xml deleted file mode 100644 index cd2d3db66..000000000 --- a/tests/expected/suites_csw30_get_461bd4c5-6623-490d-9036-d91a2201e87b.xml +++ /dev/null @@ -1,3 +0,0 @@ - - - diff --git a/tests/expected/suites_csw30_get_5496894a-3877-4f62-a20b-5d7126f94925.xml b/tests/expected/suites_csw30_get_5496894a-3877-4f62-a20b-5d7126f94925.xml deleted file mode 100644 index f0c8bac70..000000000 --- a/tests/expected/suites_csw30_get_5496894a-3877-4f62-a20b-5d7126f94925.xml +++ /dev/null @@ -1,7 +0,0 @@ - - - - - 4326 coordinates out of range: ['514432', '5429689', '529130', '5451619'] - - diff --git a/tests/expected/suites_csw30_get_5a015f6a-bf14-4977-b1e3-6577eb0223c8.xml b/tests/expected/suites_csw30_get_5a015f6a-bf14-4977-b1e3-6577eb0223c8.xml deleted file mode 100644 index 73b0f786a..000000000 --- a/tests/expected/suites_csw30_get_5a015f6a-bf14-4977-b1e3-6577eb0223c8.xml +++ /dev/null @@ -1,40 +0,0 @@ - - - - - - - urn:uuid:1ef30a8b-876d-4828-9246-c37ab4510bbd - - http://purl.org/dc/dcmitype/Service - Proin sit amet justo. In justo. Aenean adipiscing nulla id tellus. - - 60.04 13.75 - 68.41 17.92 - - - - urn:uuid:94bc9c83-97f6-4b40-9eb8-a8e8787a5c63 - Mauris sed neque - http://purl.org/dc/dcmitype/Dataset - Vegetation-Cropland - Curabitur lacinia, ante non porta tempus, mi lorem feugiat odio, eget suscipit eros pede ac velit. - 2006-03-26 - - 47.59 -4.1 - 51.22 0.89 - - - - urn:uuid:9a669547-b69b-469f-a11f-2d875366bbdc - Ñunç elementum - http://purl.org/dc/dcmitype/Dataset - Hydrography-Oceanographic - 2005-10-24 - - 44.79 -6.17 - 51.13 -2.23 - - - - diff --git a/tests/expected/suites_csw30_get_5c3a2390-1fb9-43f0-b96c-f48c7a69c990.xml b/tests/expected/suites_csw30_get_5c3a2390-1fb9-43f0-b96c-f48c7a69c990.xml deleted file mode 100644 index ffd1bd085..000000000 --- a/tests/expected/suites_csw30_get_5c3a2390-1fb9-43f0-b96c-f48c7a69c990.xml +++ /dev/null @@ -1,7 +0,0 @@ - - - - - Invalid outputformat parameter model/vnd.collada+xml - - diff --git a/tests/expected/suites_csw30_get_5e9e67dc-18d6-4645-8111-c6263c88a61f.xml b/tests/expected/suites_csw30_get_5e9e67dc-18d6-4645-8111-c6263c88a61f.xml deleted file mode 100644 index 2037f14f0..000000000 --- a/tests/expected/suites_csw30_get_5e9e67dc-18d6-4645-8111-c6263c88a61f.xml +++ /dev/null @@ -1,328 +0,0 @@ - - - - - - - - - - - - - - application/xml - text/xml - - - - - 2.0.2 - 3.0.0 - - - - - All - Filter_Capabilities - OperationsMetadata - ServiceIdentification - ServiceProvider - - - - - - - - - - - - - GetCapabilities.acceptFormats - GetCapabilities.acceptVersions - GetCapabilities.sections - GetRecordById.ElementSetName - GetRecordById.outputFormat - GetRecordById.outputSchema - GetRecords.CONSTRAINTLANGUAGE - GetRecords.ElementSetName - GetRecords.outputFormat - GetRecords.outputSchema - GetRecords.typeNames - - - - - - - - - - - - - CQL_TEXT - FILTER - - - - - brief - full - summary - - - - - application/atom+xml - application/json - application/xml - - - - - http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ - http://www.interlis.ch/INTERLIS2.3 - http://www.opengis.net/cat/csw/3.0 - http://www.opengis.net/cat/csw/csdgm - http://www.w3.org/2005/Atom - - - - - csw:Record - - - - - 10 - - - - - http://localhost/pycsw/csw.py?config=tests/suites/csw30/default.cfg?mode=opensearch&service=CSW&version=3.0.0&request=GetCapabilities - - - - - http://demo.pycsw.org/gisdata/csw - - - - - - - - - - - - - brief - full - summary - - - - - application/atom+xml - application/json - application/xml - - - - - http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ - http://www.interlis.ch/INTERLIS2.3 - http://www.opengis.net/cat/csw/3.0 - http://www.opengis.net/cat/csw/csdgm - http://www.w3.org/2005/Atom - - - - - - - - - - - - - CSW - - - - - 2.0.2 - 3.0.0 - - - - - csw:AnyText - dc:contributor - dc:creator - dc:date - dc:format - dc:identifier - dc:language - dc:publisher - dc:relation - dc:rights - dc:source - dc:subject - dc:title - dc:type - dct:abstract - dct:alternative - dct:modified - dct:spatial - ows:BoundingBox - - - - - http://demo.pycsw.org/gisdata/csw - - - - - 10 - - - - - SOAP - XML - - - - - allowed - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - http://www.opengis.net/gml - - - - - TRUE - - - - diff --git a/tests/expected/suites_csw30_get_604d9379-741c-42e5-b4cf-92e56c87fa64.xml b/tests/expected/suites_csw30_get_604d9379-741c-42e5-b4cf-92e56c87fa64.xml deleted file mode 100644 index 17019ae5c..000000000 --- a/tests/expected/suites_csw30_get_604d9379-741c-42e5-b4cf-92e56c87fa64.xml +++ /dev/null @@ -1,32 +0,0 @@ - - - - - - - urn:uuid:1ef30a8b-876d-4828-9246-c37ab4510bbd - - http://purl.org/dc/dcmitype/Service - Proin sit amet justo. In justo. Aenean adipiscing nulla id tellus. - - 60.04 13.75 - 68.41 17.92 - - - - urn:uuid:784e2afd-a9fd-44a6-9a92-a3848371c8ec - Aliquam fermentum purus quis arcu - http://purl.org/dc/dcmitype/Text - Hydrography--Dictionaries - application/pdf - Vestibulum quis ipsum sit amet metus imperdiet vehicula. Nulla scelerisque cursus mi. - 2006-05-12 - - - urn:uuid:a06af396-3105-442d-8b40-22b57a90d2f2 - Lorem ipsum dolor sit amet - http://purl.org/dc/dcmitype/Image - image/jpeg - - - diff --git a/tests/expected/suites_csw30_get_60e6af95-d5fc-465a-82e2-fd2e6d85e4af.xml b/tests/expected/suites_csw30_get_60e6af95-d5fc-465a-82e2-fd2e6d85e4af.xml deleted file mode 100644 index d4ac1d550..000000000 --- a/tests/expected/suites_csw30_get_60e6af95-d5fc-465a-82e2-fd2e6d85e4af.xml +++ /dev/null @@ -1,7 +0,0 @@ - - - - - Invalid typeNames parameter value: UnknownType - - diff --git a/tests/expected/suites_csw30_get_62ad94c2-b558-4265-a427-23d6677975d6.xml b/tests/expected/suites_csw30_get_62ad94c2-b558-4265-a427-23d6677975d6.xml deleted file mode 100644 index faf07a500..000000000 --- a/tests/expected/suites_csw30_get_62ad94c2-b558-4265-a427-23d6677975d6.xml +++ /dev/null @@ -1,7 +0,0 @@ - - - - - No records found for 'uid-bc5017e6-5cc8-4b03-aee7-d88f88caba0a' - - diff --git a/tests/expected/suites_csw30_get_6a5e247b-0961-4b8a-a0d6-35a491d9cfe7.xml b/tests/expected/suites_csw30_get_6a5e247b-0961-4b8a-a0d6-35a491d9cfe7.xml deleted file mode 100644 index 5912e69e9..000000000 --- a/tests/expected/suites_csw30_get_6a5e247b-0961-4b8a-a0d6-35a491d9cfe7.xml +++ /dev/null @@ -1,7 +0,0 @@ - - - - - Invalid ElementSetName parameter value: undefined-view - - diff --git a/tests/expected/suites_csw30_get_6a9d0558-9d87-495b-b999-b49a3ef1cf99.xml b/tests/expected/suites_csw30_get_6a9d0558-9d87-495b-b999-b49a3ef1cf99.xml deleted file mode 100644 index c5cb70e29..000000000 --- a/tests/expected/suites_csw30_get_6a9d0558-9d87-495b-b999-b49a3ef1cf99.xml +++ /dev/null @@ -1,493 +0,0 @@ - - - - - pycsw Geospatial Catalogue - pycsw is an OGC CSW server implementation written in Python - - catalogue - discovery - theme - - CSW - 2.0.2 - 3.0.0 - None - None - - - pycsw - - - Kralidis, Tom - Senior Systems Scientist - - - +01-416-xxx-xxxx - +01-416-xxx-xxxx - - - TBA - Toronto - Ontario - M9C 3Z9 - Canada - tomkralidis@gmail.com - - - 0800h - 1600h EST - During hours of service. Off on weekends. - - pointOfContact - - - - - - - - - - - - - application/xml - text/xml - - - - - 2.0.2 - 3.0.0 - - - - - All - Filter_Capabilities - OperationsMetadata - ServiceIdentification - ServiceProvider - - - - - - - - - - - - - GetCapabilities.acceptFormats - GetCapabilities.acceptVersions - GetCapabilities.sections - GetRecordById.ElementSetName - GetRecordById.outputFormat - GetRecordById.outputSchema - GetRecords.CONSTRAINTLANGUAGE - GetRecords.ElementSetName - GetRecords.outputFormat - GetRecords.outputSchema - GetRecords.typeNames - - - - - - - - - - - - - CQL_TEXT - FILTER - - - - - brief - full - summary - - - - - application/atom+xml - application/json - application/xml - - - - - http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ - http://www.interlis.ch/INTERLIS2.3 - http://www.opengis.net/cat/csw/3.0 - http://www.opengis.net/cat/csw/csdgm - http://www.w3.org/2005/Atom - - - - - csw:Record - - - - - 10 - - - - - http://localhost/pycsw/csw.py?config=tests/suites/csw30/default.cfg?mode=opensearch&service=CSW&version=3.0.0&request=GetCapabilities - - - - - http://demo.pycsw.org/gisdata/csw - - - - - - - - - - - - - brief - full - summary - - - - - application/atom+xml - application/json - application/xml - - - - - http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ - http://www.interlis.ch/INTERLIS2.3 - http://www.opengis.net/cat/csw/3.0 - http://www.opengis.net/cat/csw/csdgm - http://www.w3.org/2005/Atom - - - - - - - - - - - - - CSW - - - - - 2.0.2 - 3.0.0 - - - - - csw:AnyText - dc:contributor - dc:creator - dc:date - dc:format - dc:identifier - dc:language - dc:publisher - dc:relation - dc:rights - dc:source - dc:subject - dc:title - dc:type - dct:abstract - dct:alternative - dct:modified - dct:spatial - ows:BoundingBox - - - - - http://demo.pycsw.org/gisdata/csw - - - - - 10 - - - - - SOAP - XML - - - - - allowed - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - http://www.opengis.net/gml - - - - - TRUE - - - - - en - - - - - - TRUE - - - - TRUE - - - - TRUE - - - - TRUE - - - - TRUE - - - - TRUE - - - - TRUE - - - - TRUE - - - - TRUE - - - - TRUE - - - - TRUE - - - - TRUE - - - - TRUE - - - - TRUE - - - - TRUE - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - xs:string - - - xs:string - - - xs:string - - - xs:string - - - xs:string - - - xs:string - - - - diff --git a/tests/expected/suites_csw30_get_6bd790c9-6019-4652-9c91-330a894d6700.xml b/tests/expected/suites_csw30_get_6bd790c9-6019-4652-9c91-330a894d6700.xml deleted file mode 100644 index 1430fc363..000000000 --- a/tests/expected/suites_csw30_get_6bd790c9-6019-4652-9c91-330a894d6700.xml +++ /dev/null @@ -1,16 +0,0 @@ - - - - - - - urn:uuid:e9330592-0932-474b-be34-c3a3bb67c7db - Fuscé vitae ligulä - http://purl.org/dc/dcmitype/Text - Land titles - text/rtf - Morbi ultriçes, dui suscipit vestibulum prètium, velit ante pretium tortor, egët tincidunt pede odio ac nulla. - 2003-05-09 - - - diff --git a/tests/expected/suites_csw30_get_6e9cba43-5e27-415d-adbd-a92851c2c173.xml b/tests/expected/suites_csw30_get_6e9cba43-5e27-415d-adbd-a92851c2c173.xml deleted file mode 100644 index c5cb70e29..000000000 --- a/tests/expected/suites_csw30_get_6e9cba43-5e27-415d-adbd-a92851c2c173.xml +++ /dev/null @@ -1,493 +0,0 @@ - - - - - pycsw Geospatial Catalogue - pycsw is an OGC CSW server implementation written in Python - - catalogue - discovery - theme - - CSW - 2.0.2 - 3.0.0 - None - None - - - pycsw - - - Kralidis, Tom - Senior Systems Scientist - - - +01-416-xxx-xxxx - +01-416-xxx-xxxx - - - TBA - Toronto - Ontario - M9C 3Z9 - Canada - tomkralidis@gmail.com - - - 0800h - 1600h EST - During hours of service. Off on weekends. - - pointOfContact - - - - - - - - - - - - - application/xml - text/xml - - - - - 2.0.2 - 3.0.0 - - - - - All - Filter_Capabilities - OperationsMetadata - ServiceIdentification - ServiceProvider - - - - - - - - - - - - - GetCapabilities.acceptFormats - GetCapabilities.acceptVersions - GetCapabilities.sections - GetRecordById.ElementSetName - GetRecordById.outputFormat - GetRecordById.outputSchema - GetRecords.CONSTRAINTLANGUAGE - GetRecords.ElementSetName - GetRecords.outputFormat - GetRecords.outputSchema - GetRecords.typeNames - - - - - - - - - - - - - CQL_TEXT - FILTER - - - - - brief - full - summary - - - - - application/atom+xml - application/json - application/xml - - - - - http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ - http://www.interlis.ch/INTERLIS2.3 - http://www.opengis.net/cat/csw/3.0 - http://www.opengis.net/cat/csw/csdgm - http://www.w3.org/2005/Atom - - - - - csw:Record - - - - - 10 - - - - - http://localhost/pycsw/csw.py?config=tests/suites/csw30/default.cfg?mode=opensearch&service=CSW&version=3.0.0&request=GetCapabilities - - - - - http://demo.pycsw.org/gisdata/csw - - - - - - - - - - - - - brief - full - summary - - - - - application/atom+xml - application/json - application/xml - - - - - http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ - http://www.interlis.ch/INTERLIS2.3 - http://www.opengis.net/cat/csw/3.0 - http://www.opengis.net/cat/csw/csdgm - http://www.w3.org/2005/Atom - - - - - - - - - - - - - CSW - - - - - 2.0.2 - 3.0.0 - - - - - csw:AnyText - dc:contributor - dc:creator - dc:date - dc:format - dc:identifier - dc:language - dc:publisher - dc:relation - dc:rights - dc:source - dc:subject - dc:title - dc:type - dct:abstract - dct:alternative - dct:modified - dct:spatial - ows:BoundingBox - - - - - http://demo.pycsw.org/gisdata/csw - - - - - 10 - - - - - SOAP - XML - - - - - allowed - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - http://www.opengis.net/gml - - - - - TRUE - - - - - en - - - - - - TRUE - - - - TRUE - - - - TRUE - - - - TRUE - - - - TRUE - - - - TRUE - - - - TRUE - - - - TRUE - - - - TRUE - - - - TRUE - - - - TRUE - - - - TRUE - - - - TRUE - - - - TRUE - - - - TRUE - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - xs:string - - - xs:string - - - xs:string - - - xs:string - - - xs:string - - - xs:string - - - - diff --git a/tests/expected/suites_csw30_get_7630d230-e142-4a09-accf-f091000b90cd.xml b/tests/expected/suites_csw30_get_7630d230-e142-4a09-accf-f091000b90cd.xml deleted file mode 100644 index 9a891dc4d..000000000 --- a/tests/expected/suites_csw30_get_7630d230-e142-4a09-accf-f091000b90cd.xml +++ /dev/null @@ -1,10 +0,0 @@ - - - - urn:uuid:66ae76b7-54ba-489b-a582-0f0633d96493 - Maecenas enim - http://purl.org/dc/dcmitype/Text - Marine sediments - application/xhtml+xml - Pellentesque tempus magna non sapien fringilla blandit. - diff --git a/tests/expected/suites_csw30_get_7e82446a-b5dc-43fe-9a73-4cc1f2f2f0bf.xml b/tests/expected/suites_csw30_get_7e82446a-b5dc-43fe-9a73-4cc1f2f2f0bf.xml deleted file mode 100644 index c5cb70e29..000000000 --- a/tests/expected/suites_csw30_get_7e82446a-b5dc-43fe-9a73-4cc1f2f2f0bf.xml +++ /dev/null @@ -1,493 +0,0 @@ - - - - - pycsw Geospatial Catalogue - pycsw is an OGC CSW server implementation written in Python - - catalogue - discovery - theme - - CSW - 2.0.2 - 3.0.0 - None - None - - - pycsw - - - Kralidis, Tom - Senior Systems Scientist - - - +01-416-xxx-xxxx - +01-416-xxx-xxxx - - - TBA - Toronto - Ontario - M9C 3Z9 - Canada - tomkralidis@gmail.com - - - 0800h - 1600h EST - During hours of service. Off on weekends. - - pointOfContact - - - - - - - - - - - - - application/xml - text/xml - - - - - 2.0.2 - 3.0.0 - - - - - All - Filter_Capabilities - OperationsMetadata - ServiceIdentification - ServiceProvider - - - - - - - - - - - - - GetCapabilities.acceptFormats - GetCapabilities.acceptVersions - GetCapabilities.sections - GetRecordById.ElementSetName - GetRecordById.outputFormat - GetRecordById.outputSchema - GetRecords.CONSTRAINTLANGUAGE - GetRecords.ElementSetName - GetRecords.outputFormat - GetRecords.outputSchema - GetRecords.typeNames - - - - - - - - - - - - - CQL_TEXT - FILTER - - - - - brief - full - summary - - - - - application/atom+xml - application/json - application/xml - - - - - http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ - http://www.interlis.ch/INTERLIS2.3 - http://www.opengis.net/cat/csw/3.0 - http://www.opengis.net/cat/csw/csdgm - http://www.w3.org/2005/Atom - - - - - csw:Record - - - - - 10 - - - - - http://localhost/pycsw/csw.py?config=tests/suites/csw30/default.cfg?mode=opensearch&service=CSW&version=3.0.0&request=GetCapabilities - - - - - http://demo.pycsw.org/gisdata/csw - - - - - - - - - - - - - brief - full - summary - - - - - application/atom+xml - application/json - application/xml - - - - - http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ - http://www.interlis.ch/INTERLIS2.3 - http://www.opengis.net/cat/csw/3.0 - http://www.opengis.net/cat/csw/csdgm - http://www.w3.org/2005/Atom - - - - - - - - - - - - - CSW - - - - - 2.0.2 - 3.0.0 - - - - - csw:AnyText - dc:contributor - dc:creator - dc:date - dc:format - dc:identifier - dc:language - dc:publisher - dc:relation - dc:rights - dc:source - dc:subject - dc:title - dc:type - dct:abstract - dct:alternative - dct:modified - dct:spatial - ows:BoundingBox - - - - - http://demo.pycsw.org/gisdata/csw - - - - - 10 - - - - - SOAP - XML - - - - - allowed - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - http://www.opengis.net/gml - - - - - TRUE - - - - - en - - - - - - TRUE - - - - TRUE - - - - TRUE - - - - TRUE - - - - TRUE - - - - TRUE - - - - TRUE - - - - TRUE - - - - TRUE - - - - TRUE - - - - TRUE - - - - TRUE - - - - TRUE - - - - TRUE - - - - TRUE - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - xs:string - - - xs:string - - - xs:string - - - xs:string - - - xs:string - - - xs:string - - - - diff --git a/tests/expected/suites_csw30_get_8025978e-1a35-4d70-80c2-e8329e0c7864.xml b/tests/expected/suites_csw30_get_8025978e-1a35-4d70-80c2-e8329e0c7864.xml deleted file mode 100644 index c5cb70e29..000000000 --- a/tests/expected/suites_csw30_get_8025978e-1a35-4d70-80c2-e8329e0c7864.xml +++ /dev/null @@ -1,493 +0,0 @@ - - - - - pycsw Geospatial Catalogue - pycsw is an OGC CSW server implementation written in Python - - catalogue - discovery - theme - - CSW - 2.0.2 - 3.0.0 - None - None - - - pycsw - - - Kralidis, Tom - Senior Systems Scientist - - - +01-416-xxx-xxxx - +01-416-xxx-xxxx - - - TBA - Toronto - Ontario - M9C 3Z9 - Canada - tomkralidis@gmail.com - - - 0800h - 1600h EST - During hours of service. Off on weekends. - - pointOfContact - - - - - - - - - - - - - application/xml - text/xml - - - - - 2.0.2 - 3.0.0 - - - - - All - Filter_Capabilities - OperationsMetadata - ServiceIdentification - ServiceProvider - - - - - - - - - - - - - GetCapabilities.acceptFormats - GetCapabilities.acceptVersions - GetCapabilities.sections - GetRecordById.ElementSetName - GetRecordById.outputFormat - GetRecordById.outputSchema - GetRecords.CONSTRAINTLANGUAGE - GetRecords.ElementSetName - GetRecords.outputFormat - GetRecords.outputSchema - GetRecords.typeNames - - - - - - - - - - - - - CQL_TEXT - FILTER - - - - - brief - full - summary - - - - - application/atom+xml - application/json - application/xml - - - - - http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ - http://www.interlis.ch/INTERLIS2.3 - http://www.opengis.net/cat/csw/3.0 - http://www.opengis.net/cat/csw/csdgm - http://www.w3.org/2005/Atom - - - - - csw:Record - - - - - 10 - - - - - http://localhost/pycsw/csw.py?config=tests/suites/csw30/default.cfg?mode=opensearch&service=CSW&version=3.0.0&request=GetCapabilities - - - - - http://demo.pycsw.org/gisdata/csw - - - - - - - - - - - - - brief - full - summary - - - - - application/atom+xml - application/json - application/xml - - - - - http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ - http://www.interlis.ch/INTERLIS2.3 - http://www.opengis.net/cat/csw/3.0 - http://www.opengis.net/cat/csw/csdgm - http://www.w3.org/2005/Atom - - - - - - - - - - - - - CSW - - - - - 2.0.2 - 3.0.0 - - - - - csw:AnyText - dc:contributor - dc:creator - dc:date - dc:format - dc:identifier - dc:language - dc:publisher - dc:relation - dc:rights - dc:source - dc:subject - dc:title - dc:type - dct:abstract - dct:alternative - dct:modified - dct:spatial - ows:BoundingBox - - - - - http://demo.pycsw.org/gisdata/csw - - - - - 10 - - - - - SOAP - XML - - - - - allowed - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - http://www.opengis.net/gml - - - - - TRUE - - - - - en - - - - - - TRUE - - - - TRUE - - - - TRUE - - - - TRUE - - - - TRUE - - - - TRUE - - - - TRUE - - - - TRUE - - - - TRUE - - - - TRUE - - - - TRUE - - - - TRUE - - - - TRUE - - - - TRUE - - - - TRUE - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - xs:string - - - xs:string - - - xs:string - - - xs:string - - - xs:string - - - xs:string - - - - diff --git a/tests/expected/suites_csw30_get_8184ae4f-536d-4978-8b28-ad703be96967.xml b/tests/expected/suites_csw30_get_8184ae4f-536d-4978-8b28-ad703be96967.xml deleted file mode 100644 index 0965e0534..000000000 --- a/tests/expected/suites_csw30_get_8184ae4f-536d-4978-8b28-ad703be96967.xml +++ /dev/null @@ -1,34 +0,0 @@ - - - - - - - urn:uuid:1ef30a8b-876d-4828-9246-c37ab4510bbd - - http://purl.org/dc/dcmitype/Service - - 60.04 13.75 - 68.41 17.92 - - - - urn:uuid:94bc9c83-97f6-4b40-9eb8-a8e8787a5c63 - Mauris sed neque - http://purl.org/dc/dcmitype/Dataset - - 47.59 -4.1 - 51.22 0.89 - - - - urn:uuid:9a669547-b69b-469f-a11f-2d875366bbdc - Ñunç elementum - http://purl.org/dc/dcmitype/Dataset - - 44.79 -6.17 - 51.13 -2.23 - - - - diff --git a/tests/expected/suites_csw30_get_88f63a89-664f-4315-b4f8-04a0b33803a7.xml b/tests/expected/suites_csw30_get_88f63a89-664f-4315-b4f8-04a0b33803a7.xml deleted file mode 100644 index 63e215121..000000000 --- a/tests/expected/suites_csw30_get_88f63a89-664f-4315-b4f8-04a0b33803a7.xml +++ /dev/null @@ -1,18 +0,0 @@ - - - - - - - urn:uuid:94bc9c83-97f6-4b40-9eb8-a8e8787a5c63 - Mauris sed neque - http://purl.org/dc/dcmitype/Dataset - Vegetation-Cropland - Curabitur lacinia, ante non porta tempus, mi lorem feugiat odio, eget suscipit eros pede ac velit. - - 47.59 -4.1 - 51.22 0.89 - - - - diff --git a/tests/expected/suites_csw30_get_8987f8f0-4d93-4481-968c-a2ccbd6b8be2.xml b/tests/expected/suites_csw30_get_8987f8f0-4d93-4481-968c-a2ccbd6b8be2.xml deleted file mode 100644 index d40a39ab3..000000000 --- a/tests/expected/suites_csw30_get_8987f8f0-4d93-4481-968c-a2ccbd6b8be2.xml +++ /dev/null @@ -1,7 +0,0 @@ - - - - - No repository item found for 'urn:example:1461546298217' - - diff --git a/tests/expected/suites_csw30_get_8e5fa0f6-3f29-4d1f-abe2-d9866f3def98.xml b/tests/expected/suites_csw30_get_8e5fa0f6-3f29-4d1f-abe2-d9866f3def98.xml deleted file mode 100644 index 6a8e4b02d..000000000 --- a/tests/expected/suites_csw30_get_8e5fa0f6-3f29-4d1f-abe2-d9866f3def98.xml +++ /dev/null @@ -1,58 +0,0 @@ - - - - http://localhost/pycsw/csw.py?config=tests/suites/csw30/default.cfg - pycsw Geospatial Catalogue - - pycsw - - diff --git a/tests/expected/suites_csw30_get_9000ec29-5649-474e-b2d6-55c00f8a52c0.xml b/tests/expected/suites_csw30_get_9000ec29-5649-474e-b2d6-55c00f8a52c0.xml deleted file mode 100644 index 3e5a418e8..000000000 --- a/tests/expected/suites_csw30_get_9000ec29-5649-474e-b2d6-55c00f8a52c0.xml +++ /dev/null @@ -1,7 +0,0 @@ - - - - - Invalid parameter value in acceptversions: 9999.12.31. Value MUST be 2.0.2 or 3.0.0 - - diff --git a/tests/expected/suites_csw30_get_91914d35-7bbf-45e6-9b37-5ef484869a4e.xml b/tests/expected/suites_csw30_get_91914d35-7bbf-45e6-9b37-5ef484869a4e.xml deleted file mode 100644 index ef58aa944..000000000 --- a/tests/expected/suites_csw30_get_91914d35-7bbf-45e6-9b37-5ef484869a4e.xml +++ /dev/null @@ -1,38 +0,0 @@ - - - - - - - urn:uuid:1ef30a8b-876d-4828-9246-c37ab4510bbd - - http://purl.org/dc/dcmitype/Service - Proin sit amet justo. In justo. Aenean adipiscing nulla id tellus. - - 60.04 13.75 - 68.41 17.92 - - - - urn:uuid:94bc9c83-97f6-4b40-9eb8-a8e8787a5c63 - Mauris sed neque - http://purl.org/dc/dcmitype/Dataset - Vegetation-Cropland - Curabitur lacinia, ante non porta tempus, mi lorem feugiat odio, eget suscipit eros pede ac velit. - - 47.59 -4.1 - 51.22 0.89 - - - - urn:uuid:9a669547-b69b-469f-a11f-2d875366bbdc - Ñunç elementum - http://purl.org/dc/dcmitype/Dataset - Hydrography-Oceanographic - - 44.79 -6.17 - 51.13 -2.23 - - - - diff --git a/tests/expected/suites_csw30_get_92d4844d-57d5-4cf3-8f47-ba50e369dc04.xml b/tests/expected/suites_csw30_get_92d4844d-57d5-4cf3-8f47-ba50e369dc04.xml deleted file mode 100644 index d91c31b05..000000000 --- a/tests/expected/suites_csw30_get_92d4844d-57d5-4cf3-8f47-ba50e369dc04.xml +++ /dev/null @@ -1,6 +0,0 @@ - - - - - - diff --git a/tests/expected/suites_csw30_get_9c0e2a4b-b4e6-41c0-b630-c8c99fc89ff3.xml b/tests/expected/suites_csw30_get_9c0e2a4b-b4e6-41c0-b630-c8c99fc89ff3.xml deleted file mode 100644 index e01594260..000000000 --- a/tests/expected/suites_csw30_get_9c0e2a4b-b4e6-41c0-b630-c8c99fc89ff3.xml +++ /dev/null @@ -1,7 +0,0 @@ - - - - - Invalid outputSchema parameter value: urn:uuid:6a29d2a8-9651-47a6-9b14-f05d2b5644f0 - - diff --git a/tests/expected/suites_csw30_get_9d7ffac8-9798-428d-8e27-3cd12497ee6b.xml b/tests/expected/suites_csw30_get_9d7ffac8-9798-428d-8e27-3cd12497ee6b.xml deleted file mode 100644 index e57613754..000000000 --- a/tests/expected/suites_csw30_get_9d7ffac8-9798-428d-8e27-3cd12497ee6b.xml +++ /dev/null @@ -1,7 +0,0 @@ - - - - - Invalid outputschema parameter http://www.example.org/ns/alpha - - diff --git a/tests/expected/suites_csw30_get_Exception-GetDomain-value-reference.xml b/tests/expected/suites_csw30_get_Exception-GetDomain-value-reference.xml deleted file mode 100644 index 3c1621b02..000000000 --- a/tests/expected/suites_csw30_get_Exception-GetDomain-value-reference.xml +++ /dev/null @@ -1,7 +0,0 @@ - - - - - dc:title2 - - diff --git a/tests/expected/suites_csw30_get_Exception-GetDomain.xml b/tests/expected/suites_csw30_get_Exception-GetDomain.xml deleted file mode 100644 index ead68239e..000000000 --- a/tests/expected/suites_csw30_get_Exception-GetDomain.xml +++ /dev/null @@ -1,7 +0,0 @@ - - - - - Missing value. One of valuereference or parametername must be specified - - diff --git a/tests/expected/suites_csw30_get_Exception-GetRecordById-404.xml b/tests/expected/suites_csw30_get_Exception-GetRecordById-404.xml deleted file mode 100644 index bd41e1dfd..000000000 --- a/tests/expected/suites_csw30_get_Exception-GetRecordById-404.xml +++ /dev/null @@ -1,7 +0,0 @@ - - - - - No repository item found for 'does_not_exist2' - - diff --git a/tests/expected/suites_csw30_get_Exception-GetRecordById-dc.xml.xml b/tests/expected/suites_csw30_get_Exception-GetRecordById-dc.xml.xml deleted file mode 100644 index 536321c2f..000000000 --- a/tests/expected/suites_csw30_get_Exception-GetRecordById-dc.xml.xml +++ /dev/null @@ -1,9 +0,0 @@ - - - - urn:uuid:829babb0-b2f1-49e1-8cd5-7b489fe71a1e - Vestibulum massa purus - http://purl.org/dc/dcmitype/Image - image/jp2 - urn:uuid:9a669547-b69b-469f-a11f-2d875366bbdc - diff --git a/tests/expected/suites_csw30_get_Exception-GetRepositoryItem-notfound.xml b/tests/expected/suites_csw30_get_Exception-GetRepositoryItem-notfound.xml deleted file mode 100644 index 04c7e9c7d..000000000 --- a/tests/expected/suites_csw30_get_Exception-GetRepositoryItem-notfound.xml +++ /dev/null @@ -1,7 +0,0 @@ - - - - - No repository item found for 'NOTFOUND' - - diff --git a/tests/expected/suites_csw30_get_Exception-invalid-request.xml b/tests/expected/suites_csw30_get_Exception-invalid-request.xml deleted file mode 100644 index 4cd3418d0..000000000 --- a/tests/expected/suites_csw30_get_Exception-invalid-request.xml +++ /dev/null @@ -1,7 +0,0 @@ - - - - - Invalid value for request: GetCapabilities-foo - - diff --git a/tests/expected/suites_csw30_get_GetCapabilities-base-url.xml b/tests/expected/suites_csw30_get_GetCapabilities-base-url.xml deleted file mode 100644 index c5cb70e29..000000000 --- a/tests/expected/suites_csw30_get_GetCapabilities-base-url.xml +++ /dev/null @@ -1,493 +0,0 @@ - - - - - pycsw Geospatial Catalogue - pycsw is an OGC CSW server implementation written in Python - - catalogue - discovery - theme - - CSW - 2.0.2 - 3.0.0 - None - None - - - pycsw - - - Kralidis, Tom - Senior Systems Scientist - - - +01-416-xxx-xxxx - +01-416-xxx-xxxx - - - TBA - Toronto - Ontario - M9C 3Z9 - Canada - tomkralidis@gmail.com - - - 0800h - 1600h EST - During hours of service. Off on weekends. - - pointOfContact - - - - - - - - - - - - - application/xml - text/xml - - - - - 2.0.2 - 3.0.0 - - - - - All - Filter_Capabilities - OperationsMetadata - ServiceIdentification - ServiceProvider - - - - - - - - - - - - - GetCapabilities.acceptFormats - GetCapabilities.acceptVersions - GetCapabilities.sections - GetRecordById.ElementSetName - GetRecordById.outputFormat - GetRecordById.outputSchema - GetRecords.CONSTRAINTLANGUAGE - GetRecords.ElementSetName - GetRecords.outputFormat - GetRecords.outputSchema - GetRecords.typeNames - - - - - - - - - - - - - CQL_TEXT - FILTER - - - - - brief - full - summary - - - - - application/atom+xml - application/json - application/xml - - - - - http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ - http://www.interlis.ch/INTERLIS2.3 - http://www.opengis.net/cat/csw/3.0 - http://www.opengis.net/cat/csw/csdgm - http://www.w3.org/2005/Atom - - - - - csw:Record - - - - - 10 - - - - - http://localhost/pycsw/csw.py?config=tests/suites/csw30/default.cfg?mode=opensearch&service=CSW&version=3.0.0&request=GetCapabilities - - - - - http://demo.pycsw.org/gisdata/csw - - - - - - - - - - - - - brief - full - summary - - - - - application/atom+xml - application/json - application/xml - - - - - http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ - http://www.interlis.ch/INTERLIS2.3 - http://www.opengis.net/cat/csw/3.0 - http://www.opengis.net/cat/csw/csdgm - http://www.w3.org/2005/Atom - - - - - - - - - - - - - CSW - - - - - 2.0.2 - 3.0.0 - - - - - csw:AnyText - dc:contributor - dc:creator - dc:date - dc:format - dc:identifier - dc:language - dc:publisher - dc:relation - dc:rights - dc:source - dc:subject - dc:title - dc:type - dct:abstract - dct:alternative - dct:modified - dct:spatial - ows:BoundingBox - - - - - http://demo.pycsw.org/gisdata/csw - - - - - 10 - - - - - SOAP - XML - - - - - allowed - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - http://www.opengis.net/gml - - - - - TRUE - - - - - en - - - - - - TRUE - - - - TRUE - - - - TRUE - - - - TRUE - - - - TRUE - - - - TRUE - - - - TRUE - - - - TRUE - - - - TRUE - - - - TRUE - - - - TRUE - - - - TRUE - - - - TRUE - - - - TRUE - - - - TRUE - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - xs:string - - - xs:string - - - xs:string - - - xs:string - - - xs:string - - - xs:string - - - - diff --git a/tests/expected/suites_csw30_get_GetCapabilities-no-version.xml b/tests/expected/suites_csw30_get_GetCapabilities-no-version.xml deleted file mode 100644 index c5cb70e29..000000000 --- a/tests/expected/suites_csw30_get_GetCapabilities-no-version.xml +++ /dev/null @@ -1,493 +0,0 @@ - - - - - pycsw Geospatial Catalogue - pycsw is an OGC CSW server implementation written in Python - - catalogue - discovery - theme - - CSW - 2.0.2 - 3.0.0 - None - None - - - pycsw - - - Kralidis, Tom - Senior Systems Scientist - - - +01-416-xxx-xxxx - +01-416-xxx-xxxx - - - TBA - Toronto - Ontario - M9C 3Z9 - Canada - tomkralidis@gmail.com - - - 0800h - 1600h EST - During hours of service. Off on weekends. - - pointOfContact - - - - - - - - - - - - - application/xml - text/xml - - - - - 2.0.2 - 3.0.0 - - - - - All - Filter_Capabilities - OperationsMetadata - ServiceIdentification - ServiceProvider - - - - - - - - - - - - - GetCapabilities.acceptFormats - GetCapabilities.acceptVersions - GetCapabilities.sections - GetRecordById.ElementSetName - GetRecordById.outputFormat - GetRecordById.outputSchema - GetRecords.CONSTRAINTLANGUAGE - GetRecords.ElementSetName - GetRecords.outputFormat - GetRecords.outputSchema - GetRecords.typeNames - - - - - - - - - - - - - CQL_TEXT - FILTER - - - - - brief - full - summary - - - - - application/atom+xml - application/json - application/xml - - - - - http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ - http://www.interlis.ch/INTERLIS2.3 - http://www.opengis.net/cat/csw/3.0 - http://www.opengis.net/cat/csw/csdgm - http://www.w3.org/2005/Atom - - - - - csw:Record - - - - - 10 - - - - - http://localhost/pycsw/csw.py?config=tests/suites/csw30/default.cfg?mode=opensearch&service=CSW&version=3.0.0&request=GetCapabilities - - - - - http://demo.pycsw.org/gisdata/csw - - - - - - - - - - - - - brief - full - summary - - - - - application/atom+xml - application/json - application/xml - - - - - http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ - http://www.interlis.ch/INTERLIS2.3 - http://www.opengis.net/cat/csw/3.0 - http://www.opengis.net/cat/csw/csdgm - http://www.w3.org/2005/Atom - - - - - - - - - - - - - CSW - - - - - 2.0.2 - 3.0.0 - - - - - csw:AnyText - dc:contributor - dc:creator - dc:date - dc:format - dc:identifier - dc:language - dc:publisher - dc:relation - dc:rights - dc:source - dc:subject - dc:title - dc:type - dct:abstract - dct:alternative - dct:modified - dct:spatial - ows:BoundingBox - - - - - http://demo.pycsw.org/gisdata/csw - - - - - 10 - - - - - SOAP - XML - - - - - allowed - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - http://www.opengis.net/gml - - - - - TRUE - - - - - en - - - - - - TRUE - - - - TRUE - - - - TRUE - - - - TRUE - - - - TRUE - - - - TRUE - - - - TRUE - - - - TRUE - - - - TRUE - - - - TRUE - - - - TRUE - - - - TRUE - - - - TRUE - - - - TRUE - - - - TRUE - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - xs:string - - - xs:string - - - xs:string - - - xs:string - - - xs:string - - - xs:string - - - - diff --git a/tests/expected/suites_csw30_get_GetCapabilities.xml b/tests/expected/suites_csw30_get_GetCapabilities.xml deleted file mode 100644 index c5cb70e29..000000000 --- a/tests/expected/suites_csw30_get_GetCapabilities.xml +++ /dev/null @@ -1,493 +0,0 @@ - - - - - pycsw Geospatial Catalogue - pycsw is an OGC CSW server implementation written in Python - - catalogue - discovery - theme - - CSW - 2.0.2 - 3.0.0 - None - None - - - pycsw - - - Kralidis, Tom - Senior Systems Scientist - - - +01-416-xxx-xxxx - +01-416-xxx-xxxx - - - TBA - Toronto - Ontario - M9C 3Z9 - Canada - tomkralidis@gmail.com - - - 0800h - 1600h EST - During hours of service. Off on weekends. - - pointOfContact - - - - - - - - - - - - - application/xml - text/xml - - - - - 2.0.2 - 3.0.0 - - - - - All - Filter_Capabilities - OperationsMetadata - ServiceIdentification - ServiceProvider - - - - - - - - - - - - - GetCapabilities.acceptFormats - GetCapabilities.acceptVersions - GetCapabilities.sections - GetRecordById.ElementSetName - GetRecordById.outputFormat - GetRecordById.outputSchema - GetRecords.CONSTRAINTLANGUAGE - GetRecords.ElementSetName - GetRecords.outputFormat - GetRecords.outputSchema - GetRecords.typeNames - - - - - - - - - - - - - CQL_TEXT - FILTER - - - - - brief - full - summary - - - - - application/atom+xml - application/json - application/xml - - - - - http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ - http://www.interlis.ch/INTERLIS2.3 - http://www.opengis.net/cat/csw/3.0 - http://www.opengis.net/cat/csw/csdgm - http://www.w3.org/2005/Atom - - - - - csw:Record - - - - - 10 - - - - - http://localhost/pycsw/csw.py?config=tests/suites/csw30/default.cfg?mode=opensearch&service=CSW&version=3.0.0&request=GetCapabilities - - - - - http://demo.pycsw.org/gisdata/csw - - - - - - - - - - - - - brief - full - summary - - - - - application/atom+xml - application/json - application/xml - - - - - http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ - http://www.interlis.ch/INTERLIS2.3 - http://www.opengis.net/cat/csw/3.0 - http://www.opengis.net/cat/csw/csdgm - http://www.w3.org/2005/Atom - - - - - - - - - - - - - CSW - - - - - 2.0.2 - 3.0.0 - - - - - csw:AnyText - dc:contributor - dc:creator - dc:date - dc:format - dc:identifier - dc:language - dc:publisher - dc:relation - dc:rights - dc:source - dc:subject - dc:title - dc:type - dct:abstract - dct:alternative - dct:modified - dct:spatial - ows:BoundingBox - - - - - http://demo.pycsw.org/gisdata/csw - - - - - 10 - - - - - SOAP - XML - - - - - allowed - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - http://www.opengis.net/gml - - - - - TRUE - - - - - en - - - - - - TRUE - - - - TRUE - - - - TRUE - - - - TRUE - - - - TRUE - - - - TRUE - - - - TRUE - - - - TRUE - - - - TRUE - - - - TRUE - - - - TRUE - - - - TRUE - - - - TRUE - - - - TRUE - - - - TRUE - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - xs:string - - - xs:string - - - xs:string - - - xs:string - - - xs:string - - - xs:string - - - - diff --git a/tests/expected/suites_csw30_get_GetDomain-parameter.xml b/tests/expected/suites_csw30_get_GetDomain-parameter.xml deleted file mode 100644 index 6b8227f71..000000000 --- a/tests/expected/suites_csw30_get_GetDomain-parameter.xml +++ /dev/null @@ -1,12 +0,0 @@ - - - - - GetRecords.ElementSetName - - brief - full - summary - - - diff --git a/tests/expected/suites_csw30_get_GetDomain-value-reference.xml b/tests/expected/suites_csw30_get_GetDomain-value-reference.xml deleted file mode 100644 index 3775ee212..000000000 --- a/tests/expected/suites_csw30_get_GetDomain-value-reference.xml +++ /dev/null @@ -1,18 +0,0 @@ - - - - - dc:title - - Aliquam fermentum purus quis arcu - Fuscé vitae ligulä - Lorem ipsum - Lorem ipsum dolor sit amet - Maecenas enim - Mauris sed neque - Ut facilisis justo ut lacus - Vestibulum massa purus - Ñunç elementum - - - diff --git a/tests/expected/suites_csw30_get_GetRepositoryItem.xml b/tests/expected/suites_csw30_get_GetRepositoryItem.xml deleted file mode 100644 index 862e439da..000000000 --- a/tests/expected/suites_csw30_get_GetRepositoryItem.xml +++ /dev/null @@ -1,11 +0,0 @@ - - - - urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f - http://purl.org/dc/dcmitype/Image - image/svg+xml - Lorem ipsum - GR-22 - Tourism--Greece - Quisque lacus diam, placerat mollis, pharetra in, commodo sed, augue. Duis iaculis arcu vel arcu. - diff --git a/tests/expected/suites_csw30_get_OpenSearch-description.xml b/tests/expected/suites_csw30_get_OpenSearch-description.xml deleted file mode 100644 index 60ffc8d10..000000000 --- a/tests/expected/suites_csw30_get_OpenSearch-description.xml +++ /dev/null @@ -1,15 +0,0 @@ - - - - pycsw Geospatial - pycsw Geospatial Catalogue - pycsw is an OGC CSW server implementation written in Python - catalogue discovery - - - http://pycsw.org/img/favicon.ico - - Kralidis, Tom - tomkralidis@gmail.com - pycsw - diff --git a/tests/expected/suites_csw30_get_a2f18643-e24e-4fa5-b780-6de4a2dbc814.xml b/tests/expected/suites_csw30_get_a2f18643-e24e-4fa5-b780-6de4a2dbc814.xml deleted file mode 100644 index 96afaaf6f..000000000 --- a/tests/expected/suites_csw30_get_a2f18643-e24e-4fa5-b780-6de4a2dbc814.xml +++ /dev/null @@ -1,9 +0,0 @@ - - - - urn:uuid:829babb0-b2f1-49e1-8cd5-7b489fe71a1e - urn:uuid:829babb0-b2f1-49e1-8cd5-7b489fe71a1e - - Vestibulum massa purus - PYCSW_TIMESTAMP - diff --git a/tests/expected/suites_csw30_get_abc90c8c-5868-4405-a73e-64c849be3b2a.xml b/tests/expected/suites_csw30_get_abc90c8c-5868-4405-a73e-64c849be3b2a.xml deleted file mode 100644 index f0c8bac70..000000000 --- a/tests/expected/suites_csw30_get_abc90c8c-5868-4405-a73e-64c849be3b2a.xml +++ /dev/null @@ -1,7 +0,0 @@ - - - - - 4326 coordinates out of range: ['514432', '5429689', '529130', '5451619'] - - diff --git a/tests/expected/suites_csw30_get_ad0c0571-09ed-436a-9a4f-a5de744c88fe.xml b/tests/expected/suites_csw30_get_ad0c0571-09ed-436a-9a4f-a5de744c88fe.xml deleted file mode 100644 index fb39b0b33..000000000 --- a/tests/expected/suites_csw30_get_ad0c0571-09ed-436a-9a4f-a5de744c88fe.xml +++ /dev/null @@ -1,22 +0,0 @@ - - - - - - - urn:uuid:66ae76b7-54ba-489b-a582-0f0633d96493 - Maecenas enim - http://purl.org/dc/dcmitype/Text - Marine sediments - application/xhtml+xml - Pellentesque tempus magna non sapien fringilla blandit. - - - urn:uuid:6a3de50b-fa66-4b58-a0e6-ca146fdd18d4 - Ut facilisis justo ut lacus - http://purl.org/dc/dcmitype/Service - Vegetation - urn:uuid:94bc9c83-97f6-4b40-9eb8-a8e8787a5c63 - - - diff --git a/tests/expected/suites_csw30_get_af502903-f4ee-47ee-b76e-af878d238bcc.xml b/tests/expected/suites_csw30_get_af502903-f4ee-47ee-b76e-af878d238bcc.xml deleted file mode 100644 index 73b0f786a..000000000 --- a/tests/expected/suites_csw30_get_af502903-f4ee-47ee-b76e-af878d238bcc.xml +++ /dev/null @@ -1,40 +0,0 @@ - - - - - - - urn:uuid:1ef30a8b-876d-4828-9246-c37ab4510bbd - - http://purl.org/dc/dcmitype/Service - Proin sit amet justo. In justo. Aenean adipiscing nulla id tellus. - - 60.04 13.75 - 68.41 17.92 - - - - urn:uuid:94bc9c83-97f6-4b40-9eb8-a8e8787a5c63 - Mauris sed neque - http://purl.org/dc/dcmitype/Dataset - Vegetation-Cropland - Curabitur lacinia, ante non porta tempus, mi lorem feugiat odio, eget suscipit eros pede ac velit. - 2006-03-26 - - 47.59 -4.1 - 51.22 0.89 - - - - urn:uuid:9a669547-b69b-469f-a11f-2d875366bbdc - Ñunç elementum - http://purl.org/dc/dcmitype/Dataset - Hydrography-Oceanographic - 2005-10-24 - - 44.79 -6.17 - 51.13 -2.23 - - - - diff --git a/tests/expected/suites_csw30_get_b2aafc3f-4f35-47bc-affd-08590972deae.xml b/tests/expected/suites_csw30_get_b2aafc3f-4f35-47bc-affd-08590972deae.xml deleted file mode 100644 index 6a8e4b02d..000000000 --- a/tests/expected/suites_csw30_get_b2aafc3f-4f35-47bc-affd-08590972deae.xml +++ /dev/null @@ -1,58 +0,0 @@ - - - - http://localhost/pycsw/csw.py?config=tests/suites/csw30/default.cfg - pycsw Geospatial Catalogue - - pycsw - - diff --git a/tests/expected/suites_csw30_get_b6069623-f7d8-4021-8582-98f0aea0f763.xml b/tests/expected/suites_csw30_get_b6069623-f7d8-4021-8582-98f0aea0f763.xml deleted file mode 100644 index 0ed0b0644..000000000 --- a/tests/expected/suites_csw30_get_b6069623-f7d8-4021-8582-98f0aea0f763.xml +++ /dev/null @@ -1,48 +0,0 @@ - - - - http://localhost/pycsw/csw.py?config=tests/suites/csw30/default.cfg - pycsw Geospatial Catalogue - - pycsw - - diff --git a/tests/expected/suites_csw30_get_b9a07a54-75a8-45bd-b341-2823600211e3.xml b/tests/expected/suites_csw30_get_b9a07a54-75a8-45bd-b341-2823600211e3.xml deleted file mode 100644 index 93cf54af2..000000000 --- a/tests/expected/suites_csw30_get_b9a07a54-75a8-45bd-b341-2823600211e3.xml +++ /dev/null @@ -1,8 +0,0 @@ - - - - - Invalid Filter query: Exception: document not valid. -Error: Reprojection error: Invalid srsName "urn:ogc:def:crs:EPSG::0000": Invalid source projection. - - diff --git a/tests/expected/suites_csw30_get_baa4a7d0-0c01-42b6-adc3-0d03e9949fa3.xml b/tests/expected/suites_csw30_get_baa4a7d0-0c01-42b6-adc3-0d03e9949fa3.xml deleted file mode 100644 index 4953497e2..000000000 --- a/tests/expected/suites_csw30_get_baa4a7d0-0c01-42b6-adc3-0d03e9949fa3.xml +++ /dev/null @@ -1,7 +0,0 @@ - - - - - Invalid value for request: getCapabilities - - diff --git a/tests/expected/suites_csw30_get_bfbe6409-f64a-4c89-acb3-50f260a5c743.xml b/tests/expected/suites_csw30_get_bfbe6409-f64a-4c89-acb3-50f260a5c743.xml deleted file mode 100644 index c6809c5c5..000000000 --- a/tests/expected/suites_csw30_get_bfbe6409-f64a-4c89-acb3-50f260a5c743.xml +++ /dev/null @@ -1,15 +0,0 @@ - - - - - - - urn:uuid:e9330592-0932-474b-be34-c3a3bb67c7db - Fuscé vitae ligulä - http://purl.org/dc/dcmitype/Text - Land titles - text/rtf - Morbi ultriçes, dui suscipit vestibulum prètium, velit ante pretium tortor, egët tincidunt pede odio ac nulla. - - - diff --git a/tests/expected/suites_csw30_get_bfe20134-d1da-42ef-9c0f-8e1307bbf92b.xml b/tests/expected/suites_csw30_get_bfe20134-d1da-42ef-9c0f-8e1307bbf92b.xml deleted file mode 100644 index 4dd660139..000000000 --- a/tests/expected/suites_csw30_get_bfe20134-d1da-42ef-9c0f-8e1307bbf92b.xml +++ /dev/null @@ -1,38 +0,0 @@ - - - - - - - urn:uuid:66ae76b7-54ba-489b-a582-0f0633d96493 - Maecenas enim - http://purl.org/dc/dcmitype/Text - Marine sediments - application/xhtml+xml - Pellentesque tempus magna non sapien fringilla blandit. - - - urn:uuid:6a3de50b-fa66-4b58-a0e6-ca146fdd18d4 - Ut facilisis justo ut lacus - http://purl.org/dc/dcmitype/Service - Vegetation - urn:uuid:94bc9c83-97f6-4b40-9eb8-a8e8787a5c63 - - - urn:uuid:784e2afd-a9fd-44a6-9a92-a3848371c8ec - Aliquam fermentum purus quis arcu - http://purl.org/dc/dcmitype/Text - Hydrography--Dictionaries - application/pdf - Vestibulum quis ipsum sit amet metus imperdiet vehicula. Nulla scelerisque cursus mi. - 2006-05-12 - - - urn:uuid:829babb0-b2f1-49e1-8cd5-7b489fe71a1e - Vestibulum massa purus - http://purl.org/dc/dcmitype/Image - image/jp2 - urn:uuid:9a669547-b69b-469f-a11f-2d875366bbdc - - - diff --git a/tests/expected/suites_csw30_get_c03d173a-3f42-4956-89c8-1fe02c3a0873.xml b/tests/expected/suites_csw30_get_c03d173a-3f42-4956-89c8-1fe02c3a0873.xml deleted file mode 100644 index c5cb70e29..000000000 --- a/tests/expected/suites_csw30_get_c03d173a-3f42-4956-89c8-1fe02c3a0873.xml +++ /dev/null @@ -1,493 +0,0 @@ - - - - - pycsw Geospatial Catalogue - pycsw is an OGC CSW server implementation written in Python - - catalogue - discovery - theme - - CSW - 2.0.2 - 3.0.0 - None - None - - - pycsw - - - Kralidis, Tom - Senior Systems Scientist - - - +01-416-xxx-xxxx - +01-416-xxx-xxxx - - - TBA - Toronto - Ontario - M9C 3Z9 - Canada - tomkralidis@gmail.com - - - 0800h - 1600h EST - During hours of service. Off on weekends. - - pointOfContact - - - - - - - - - - - - - application/xml - text/xml - - - - - 2.0.2 - 3.0.0 - - - - - All - Filter_Capabilities - OperationsMetadata - ServiceIdentification - ServiceProvider - - - - - - - - - - - - - GetCapabilities.acceptFormats - GetCapabilities.acceptVersions - GetCapabilities.sections - GetRecordById.ElementSetName - GetRecordById.outputFormat - GetRecordById.outputSchema - GetRecords.CONSTRAINTLANGUAGE - GetRecords.ElementSetName - GetRecords.outputFormat - GetRecords.outputSchema - GetRecords.typeNames - - - - - - - - - - - - - CQL_TEXT - FILTER - - - - - brief - full - summary - - - - - application/atom+xml - application/json - application/xml - - - - - http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ - http://www.interlis.ch/INTERLIS2.3 - http://www.opengis.net/cat/csw/3.0 - http://www.opengis.net/cat/csw/csdgm - http://www.w3.org/2005/Atom - - - - - csw:Record - - - - - 10 - - - - - http://localhost/pycsw/csw.py?config=tests/suites/csw30/default.cfg?mode=opensearch&service=CSW&version=3.0.0&request=GetCapabilities - - - - - http://demo.pycsw.org/gisdata/csw - - - - - - - - - - - - - brief - full - summary - - - - - application/atom+xml - application/json - application/xml - - - - - http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ - http://www.interlis.ch/INTERLIS2.3 - http://www.opengis.net/cat/csw/3.0 - http://www.opengis.net/cat/csw/csdgm - http://www.w3.org/2005/Atom - - - - - - - - - - - - - CSW - - - - - 2.0.2 - 3.0.0 - - - - - csw:AnyText - dc:contributor - dc:creator - dc:date - dc:format - dc:identifier - dc:language - dc:publisher - dc:relation - dc:rights - dc:source - dc:subject - dc:title - dc:type - dct:abstract - dct:alternative - dct:modified - dct:spatial - ows:BoundingBox - - - - - http://demo.pycsw.org/gisdata/csw - - - - - 10 - - - - - SOAP - XML - - - - - allowed - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - http://www.opengis.net/gml - - - - - TRUE - - - - - en - - - - - - TRUE - - - - TRUE - - - - TRUE - - - - TRUE - - - - TRUE - - - - TRUE - - - - TRUE - - - - TRUE - - - - TRUE - - - - TRUE - - - - TRUE - - - - TRUE - - - - TRUE - - - - TRUE - - - - TRUE - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - xs:string - - - xs:string - - - xs:string - - - xs:string - - - xs:string - - - xs:string - - - - diff --git a/tests/expected/suites_csw30_get_cb43d8c3-e14c-4a9f-9231-4384b7dd21f3.xml b/tests/expected/suites_csw30_get_cb43d8c3-e14c-4a9f-9231-4384b7dd21f3.xml deleted file mode 100644 index 8affab58f..000000000 --- a/tests/expected/suites_csw30_get_cb43d8c3-e14c-4a9f-9231-4384b7dd21f3.xml +++ /dev/null @@ -1,7 +0,0 @@ - - - - - Invalid ElementName parameter value: u - - diff --git a/tests/expected/suites_csw30_get_d03c6fd3-e821-4a26-b62f-d20a474e25af.xml b/tests/expected/suites_csw30_get_d03c6fd3-e821-4a26-b62f-d20a474e25af.xml deleted file mode 100644 index 770e62fe8..000000000 --- a/tests/expected/suites_csw30_get_d03c6fd3-e821-4a26-b62f-d20a474e25af.xml +++ /dev/null @@ -1,30 +0,0 @@ - - - - - pycsw - - - Kralidis, Tom - Senior Systems Scientist - - - +01-416-xxx-xxxx - +01-416-xxx-xxxx - - - TBA - Toronto - Ontario - M9C 3Z9 - Canada - tomkralidis@gmail.com - - - 0800h - 1600h EST - During hours of service. Off on weekends. - - pointOfContact - - - diff --git a/tests/expected/suites_csw30_get_d4ccbf96-a529-480e-a53d-5b88dc1dea7f.xml b/tests/expected/suites_csw30_get_d4ccbf96-a529-480e-a53d-5b88dc1dea7f.xml deleted file mode 100644 index faf07a500..000000000 --- a/tests/expected/suites_csw30_get_d4ccbf96-a529-480e-a53d-5b88dc1dea7f.xml +++ /dev/null @@ -1,7 +0,0 @@ - - - - - No records found for 'uid-bc5017e6-5cc8-4b03-aee7-d88f88caba0a' - - diff --git a/tests/expected/suites_csw30_get_d94c801a-1207-4897-b84a-53f3a192515b.xml b/tests/expected/suites_csw30_get_d94c801a-1207-4897-b84a-53f3a192515b.xml deleted file mode 100644 index d91c31b05..000000000 --- a/tests/expected/suites_csw30_get_d94c801a-1207-4897-b84a-53f3a192515b.xml +++ /dev/null @@ -1,6 +0,0 @@ - - - - - - diff --git a/tests/expected/suites_csw30_get_da859e34-91fc-495a-8c09-285a40c0900b.xml b/tests/expected/suites_csw30_get_da859e34-91fc-495a-8c09-285a40c0900b.xml deleted file mode 100644 index d85e801e6..000000000 --- a/tests/expected/suites_csw30_get_da859e34-91fc-495a-8c09-285a40c0900b.xml +++ /dev/null @@ -1,14 +0,0 @@ - - - - urn:uuid:94bc9c83-97f6-4b40-9eb8-a8e8787a5c63 - Mauris sed neque - http://purl.org/dc/dcmitype/Dataset - Vegetation-Cropland - Curabitur lacinia, ante non porta tempus, mi lorem feugiat odio, eget suscipit eros pede ac velit. - 2006-03-26 - - 47.59 -4.1 - 51.22 0.89 - - diff --git a/tests/expected/suites_csw30_get_dc246fb8-5af5-4fda-82bb-c18b3ecd439c.xml b/tests/expected/suites_csw30_get_dc246fb8-5af5-4fda-82bb-c18b3ecd439c.xml deleted file mode 100644 index 530b79be6..000000000 --- a/tests/expected/suites_csw30_get_dc246fb8-5af5-4fda-82bb-c18b3ecd439c.xml +++ /dev/null @@ -1,40 +0,0 @@ - - - - http://localhost/pycsw/csw.py?config=tests/suites/csw30/default.cfg - pycsw Geospatial Catalogue - - pycsw - - diff --git a/tests/expected/suites_csw30_get_de016645-6d5c-4855-943c-2db07ae9f49a.xml b/tests/expected/suites_csw30_get_de016645-6d5c-4855-943c-2db07ae9f49a.xml deleted file mode 100644 index 4cdb06187..000000000 --- a/tests/expected/suites_csw30_get_de016645-6d5c-4855-943c-2db07ae9f49a.xml +++ /dev/null @@ -1,30 +0,0 @@ - - - - http://localhost/pycsw/csw.py?config=tests/suites/csw30/default.cfg - pycsw Geospatial Catalogue - - pycsw - - diff --git a/tests/expected/suites_csw30_get_dff3ec6b-bb2d-4887-bd17-8fcf15def042.xml b/tests/expected/suites_csw30_get_dff3ec6b-bb2d-4887-bd17-8fcf15def042.xml deleted file mode 100644 index 81409198c..000000000 --- a/tests/expected/suites_csw30_get_dff3ec6b-bb2d-4887-bd17-8fcf15def042.xml +++ /dev/null @@ -1,89 +0,0 @@ - - - - - - - urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f - Lorem ipsum - http://purl.org/dc/dcmitype/Image - Tourism--Greece - image/svg+xml - Quisque lacus diam, placerat mollis, pharetra in, commodo sed, augue. Duis iaculis arcu vel arcu. - - - urn:uuid:1ef30a8b-876d-4828-9246-c37ab4510bbd - - http://purl.org/dc/dcmitype/Service - Proin sit amet justo. In justo. Aenean adipiscing nulla id tellus. - - 60.04 13.75 - 68.41 17.92 - - - - urn:uuid:66ae76b7-54ba-489b-a582-0f0633d96493 - Maecenas enim - http://purl.org/dc/dcmitype/Text - Marine sediments - application/xhtml+xml - Pellentesque tempus magna non sapien fringilla blandit. - - - urn:uuid:6a3de50b-fa66-4b58-a0e6-ca146fdd18d4 - Ut facilisis justo ut lacus - http://purl.org/dc/dcmitype/Service - Vegetation - urn:uuid:94bc9c83-97f6-4b40-9eb8-a8e8787a5c63 - - - urn:uuid:784e2afd-a9fd-44a6-9a92-a3848371c8ec - Aliquam fermentum purus quis arcu - http://purl.org/dc/dcmitype/Text - Hydrography--Dictionaries - application/pdf - Vestibulum quis ipsum sit amet metus imperdiet vehicula. Nulla scelerisque cursus mi. - - - urn:uuid:829babb0-b2f1-49e1-8cd5-7b489fe71a1e - Vestibulum massa purus - http://purl.org/dc/dcmitype/Image - image/jp2 - urn:uuid:9a669547-b69b-469f-a11f-2d875366bbdc - - - urn:uuid:88247b56-4cbc-4df9-9860-db3f8042e357 - - http://purl.org/dc/dcmitype/Dataset - Physiography-Landforms - Donec scelerisque pede ut nisl luctus accumsan. Quisque ultrices, lorem eget feugiat fringilla, lorem dui porttitor ante, cursus ultrices magna odio eu neque. - - - urn:uuid:94bc9c83-97f6-4b40-9eb8-a8e8787a5c63 - Mauris sed neque - http://purl.org/dc/dcmitype/Dataset - Vegetation-Cropland - Curabitur lacinia, ante non porta tempus, mi lorem feugiat odio, eget suscipit eros pede ac velit. - - 47.59 -4.1 - 51.22 0.89 - - - - urn:uuid:9a669547-b69b-469f-a11f-2d875366bbdc - Ñunç elementum - http://purl.org/dc/dcmitype/Dataset - Hydrography-Oceanographic - - 44.79 -6.17 - 51.13 -2.23 - - - - urn:uuid:a06af396-3105-442d-8b40-22b57a90d2f2 - Lorem ipsum dolor sit amet - http://purl.org/dc/dcmitype/Image - image/jpeg - - - diff --git a/tests/expected/suites_csw30_get_e38e6bfb-8ac4-4ae4-8b87-0aafbc8d3c6b.xml b/tests/expected/suites_csw30_get_e38e6bfb-8ac4-4ae4-8b87-0aafbc8d3c6b.xml deleted file mode 100644 index 2a3f20b3b..000000000 --- a/tests/expected/suites_csw30_get_e38e6bfb-8ac4-4ae4-8b87-0aafbc8d3c6b.xml +++ /dev/null @@ -1,11 +0,0 @@ - - - - urn:uuid:1ef30a8b-876d-4828-9246-c37ab4510bbd - - http://purl.org/dc/dcmitype/Service - - 60.04 13.75 - 68.41 17.92 - - diff --git a/tests/expected/suites_csw30_get_e67ca935-d65d-4d8c-8302-1405333dded0.xml b/tests/expected/suites_csw30_get_e67ca935-d65d-4d8c-8302-1405333dded0.xml deleted file mode 100644 index c5cb70e29..000000000 --- a/tests/expected/suites_csw30_get_e67ca935-d65d-4d8c-8302-1405333dded0.xml +++ /dev/null @@ -1,493 +0,0 @@ - - - - - pycsw Geospatial Catalogue - pycsw is an OGC CSW server implementation written in Python - - catalogue - discovery - theme - - CSW - 2.0.2 - 3.0.0 - None - None - - - pycsw - - - Kralidis, Tom - Senior Systems Scientist - - - +01-416-xxx-xxxx - +01-416-xxx-xxxx - - - TBA - Toronto - Ontario - M9C 3Z9 - Canada - tomkralidis@gmail.com - - - 0800h - 1600h EST - During hours of service. Off on weekends. - - pointOfContact - - - - - - - - - - - - - application/xml - text/xml - - - - - 2.0.2 - 3.0.0 - - - - - All - Filter_Capabilities - OperationsMetadata - ServiceIdentification - ServiceProvider - - - - - - - - - - - - - GetCapabilities.acceptFormats - GetCapabilities.acceptVersions - GetCapabilities.sections - GetRecordById.ElementSetName - GetRecordById.outputFormat - GetRecordById.outputSchema - GetRecords.CONSTRAINTLANGUAGE - GetRecords.ElementSetName - GetRecords.outputFormat - GetRecords.outputSchema - GetRecords.typeNames - - - - - - - - - - - - - CQL_TEXT - FILTER - - - - - brief - full - summary - - - - - application/atom+xml - application/json - application/xml - - - - - http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ - http://www.interlis.ch/INTERLIS2.3 - http://www.opengis.net/cat/csw/3.0 - http://www.opengis.net/cat/csw/csdgm - http://www.w3.org/2005/Atom - - - - - csw:Record - - - - - 10 - - - - - http://localhost/pycsw/csw.py?config=tests/suites/csw30/default.cfg?mode=opensearch&service=CSW&version=3.0.0&request=GetCapabilities - - - - - http://demo.pycsw.org/gisdata/csw - - - - - - - - - - - - - brief - full - summary - - - - - application/atom+xml - application/json - application/xml - - - - - http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ - http://www.interlis.ch/INTERLIS2.3 - http://www.opengis.net/cat/csw/3.0 - http://www.opengis.net/cat/csw/csdgm - http://www.w3.org/2005/Atom - - - - - - - - - - - - - CSW - - - - - 2.0.2 - 3.0.0 - - - - - csw:AnyText - dc:contributor - dc:creator - dc:date - dc:format - dc:identifier - dc:language - dc:publisher - dc:relation - dc:rights - dc:source - dc:subject - dc:title - dc:type - dct:abstract - dct:alternative - dct:modified - dct:spatial - ows:BoundingBox - - - - - http://demo.pycsw.org/gisdata/csw - - - - - 10 - - - - - SOAP - XML - - - - - allowed - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - http://www.opengis.net/gml - - - - - TRUE - - - - - en - - - - - - TRUE - - - - TRUE - - - - TRUE - - - - TRUE - - - - TRUE - - - - TRUE - - - - TRUE - - - - TRUE - - - - TRUE - - - - TRUE - - - - TRUE - - - - TRUE - - - - TRUE - - - - TRUE - - - - TRUE - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - xs:string - - - xs:string - - - xs:string - - - xs:string - - - xs:string - - - xs:string - - - - diff --git a/tests/expected/suites_csw30_get_e7704509-3441-458f-8ef0-e333c6b6043f.xml b/tests/expected/suites_csw30_get_e7704509-3441-458f-8ef0-e333c6b6043f.xml deleted file mode 100644 index d1dbd3ab1..000000000 --- a/tests/expected/suites_csw30_get_e7704509-3441-458f-8ef0-e333c6b6043f.xml +++ /dev/null @@ -1,7 +0,0 @@ - - - - - Only ONE of ElementSetName or ElementName parameter(s) is permitted - - diff --git a/tests/expected/suites_csw30_get_f1223a49-6d08-44ff-97fe-4c32cbbfad82.xml b/tests/expected/suites_csw30_get_f1223a49-6d08-44ff-97fe-4c32cbbfad82.xml deleted file mode 100644 index 6520e5212..000000000 --- a/tests/expected/suites_csw30_get_f1223a49-6d08-44ff-97fe-4c32cbbfad82.xml +++ /dev/null @@ -1,6 +0,0 @@ - - - - - - diff --git a/tests/expected/suites_csw30_get_f89dd4e1-3a81-4433-afd2-a3fa1bdb1e18.xml b/tests/expected/suites_csw30_get_f89dd4e1-3a81-4433-afd2-a3fa1bdb1e18.xml deleted file mode 100644 index 2b5272833..000000000 --- a/tests/expected/suites_csw30_get_f89dd4e1-3a81-4433-afd2-a3fa1bdb1e18.xml +++ /dev/null @@ -1,7 +0,0 @@ - - - - - Invalid outputFormat parameter value: text/example - - diff --git a/tests/expected/suites_csw30_post_Exception-GetDomain-parametername-bad.xml b/tests/expected/suites_csw30_post_Exception-GetDomain-parametername-bad.xml deleted file mode 100644 index 759884ffd..000000000 --- a/tests/expected/suites_csw30_post_Exception-GetDomain-parametername-bad.xml +++ /dev/null @@ -1,7 +0,0 @@ - - - - - GetRecords.outputFormat-something - - diff --git a/tests/expected/suites_csw30_post_Exception-GetDomain-valuereference-bad.xml b/tests/expected/suites_csw30_post_Exception-GetDomain-valuereference-bad.xml deleted file mode 100644 index 6aa6d9a40..000000000 --- a/tests/expected/suites_csw30_post_Exception-GetDomain-valuereference-bad.xml +++ /dev/null @@ -1,7 +0,0 @@ - - - - - dc:titlena - - diff --git a/tests/expected/suites_csw30_post_Exception-GetRecordById-404.xml b/tests/expected/suites_csw30_post_Exception-GetRecordById-404.xml deleted file mode 100644 index 992d6f29c..000000000 --- a/tests/expected/suites_csw30_post_Exception-GetRecordById-404.xml +++ /dev/null @@ -1,7 +0,0 @@ - - - - - No repository item found for 'does_not_exist' - - diff --git a/tests/expected/suites_csw30_post_Exception-GetRecordById-bad-esn.xml b/tests/expected/suites_csw30_post_Exception-GetRecordById-bad-esn.xml deleted file mode 100644 index 3b7e2b9ee..000000000 --- a/tests/expected/suites_csw30_post_Exception-GetRecordById-bad-esn.xml +++ /dev/null @@ -1,7 +0,0 @@ - - - - - Invalid elementsetname parameter bad - - diff --git a/tests/expected/suites_csw30_post_Exception-bad-xml.xml b/tests/expected/suites_csw30_post_Exception-bad-xml.xml deleted file mode 100644 index 76e5b29f7..000000000 --- a/tests/expected/suites_csw30_post_Exception-bad-xml.xml +++ /dev/null @@ -1,8 +0,0 @@ - - - - - Exception: document not well-formed. -Error: Opening and ending tag mismatch: GetCapabilities line 2 and GetCapabilities-bad, line 9, column 29. - - diff --git a/tests/expected/suites_csw30_post_Exception-not-xml.xml b/tests/expected/suites_csw30_post_Exception-not-xml.xml deleted file mode 100644 index 632a1d8cd..000000000 --- a/tests/expected/suites_csw30_post_Exception-not-xml.xml +++ /dev/null @@ -1,8 +0,0 @@ - - - - - Exception: document not well-formed. -Error: Start tag expected, '<' not found, line 1, column 1. - - diff --git a/tests/expected/suites_csw30_post_GetCapabilities.xml b/tests/expected/suites_csw30_post_GetCapabilities.xml deleted file mode 100644 index c5cb70e29..000000000 --- a/tests/expected/suites_csw30_post_GetCapabilities.xml +++ /dev/null @@ -1,493 +0,0 @@ - - - - - pycsw Geospatial Catalogue - pycsw is an OGC CSW server implementation written in Python - - catalogue - discovery - theme - - CSW - 2.0.2 - 3.0.0 - None - None - - - pycsw - - - Kralidis, Tom - Senior Systems Scientist - - - +01-416-xxx-xxxx - +01-416-xxx-xxxx - - - TBA - Toronto - Ontario - M9C 3Z9 - Canada - tomkralidis@gmail.com - - - 0800h - 1600h EST - During hours of service. Off on weekends. - - pointOfContact - - - - - - - - - - - - - application/xml - text/xml - - - - - 2.0.2 - 3.0.0 - - - - - All - Filter_Capabilities - OperationsMetadata - ServiceIdentification - ServiceProvider - - - - - - - - - - - - - GetCapabilities.acceptFormats - GetCapabilities.acceptVersions - GetCapabilities.sections - GetRecordById.ElementSetName - GetRecordById.outputFormat - GetRecordById.outputSchema - GetRecords.CONSTRAINTLANGUAGE - GetRecords.ElementSetName - GetRecords.outputFormat - GetRecords.outputSchema - GetRecords.typeNames - - - - - - - - - - - - - CQL_TEXT - FILTER - - - - - brief - full - summary - - - - - application/atom+xml - application/json - application/xml - - - - - http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ - http://www.interlis.ch/INTERLIS2.3 - http://www.opengis.net/cat/csw/3.0 - http://www.opengis.net/cat/csw/csdgm - http://www.w3.org/2005/Atom - - - - - csw:Record - - - - - 10 - - - - - http://localhost/pycsw/csw.py?config=tests/suites/csw30/default.cfg?mode=opensearch&service=CSW&version=3.0.0&request=GetCapabilities - - - - - http://demo.pycsw.org/gisdata/csw - - - - - - - - - - - - - brief - full - summary - - - - - application/atom+xml - application/json - application/xml - - - - - http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ - http://www.interlis.ch/INTERLIS2.3 - http://www.opengis.net/cat/csw/3.0 - http://www.opengis.net/cat/csw/csdgm - http://www.w3.org/2005/Atom - - - - - - - - - - - - - CSW - - - - - 2.0.2 - 3.0.0 - - - - - csw:AnyText - dc:contributor - dc:creator - dc:date - dc:format - dc:identifier - dc:language - dc:publisher - dc:relation - dc:rights - dc:source - dc:subject - dc:title - dc:type - dct:abstract - dct:alternative - dct:modified - dct:spatial - ows:BoundingBox - - - - - http://demo.pycsw.org/gisdata/csw - - - - - 10 - - - - - SOAP - XML - - - - - allowed - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - http://www.opengis.net/gml - - - - - TRUE - - - - - en - - - - - - TRUE - - - - TRUE - - - - TRUE - - - - TRUE - - - - TRUE - - - - TRUE - - - - TRUE - - - - TRUE - - - - TRUE - - - - TRUE - - - - TRUE - - - - TRUE - - - - TRUE - - - - TRUE - - - - TRUE - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - xs:string - - - xs:string - - - xs:string - - - xs:string - - - xs:string - - - xs:string - - - - diff --git a/tests/expected/suites_csw30_post_GetDomain-parametername.xml b/tests/expected/suites_csw30_post_GetDomain-parametername.xml deleted file mode 100644 index d9cd1c604..000000000 --- a/tests/expected/suites_csw30_post_GetDomain-parametername.xml +++ /dev/null @@ -1,12 +0,0 @@ - - - - - GetRecords.outputFormat - - application/atom+xml - application/json - application/xml - - - diff --git a/tests/expected/suites_csw30_post_GetDomain-valuereference.xml b/tests/expected/suites_csw30_post_GetDomain-valuereference.xml deleted file mode 100644 index 3775ee212..000000000 --- a/tests/expected/suites_csw30_post_GetDomain-valuereference.xml +++ /dev/null @@ -1,18 +0,0 @@ - - - - - dc:title - - Aliquam fermentum purus quis arcu - Fuscé vitae ligulä - Lorem ipsum - Lorem ipsum dolor sit amet - Maecenas enim - Mauris sed neque - Ut facilisis justo ut lacus - Vestibulum massa purus - Ñunç elementum - - - diff --git a/tests/expected/suites_csw30_post_GetRecordById-dc-full.xml b/tests/expected/suites_csw30_post_GetRecordById-dc-full.xml deleted file mode 100644 index ae4a178b2..000000000 --- a/tests/expected/suites_csw30_post_GetRecordById-dc-full.xml +++ /dev/null @@ -1,10 +0,0 @@ - - - - urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f - Lorem ipsum - http://purl.org/dc/dcmitype/Image - Tourism--Greece - image/svg+xml - Quisque lacus diam, placerat mollis, pharetra in, commodo sed, augue. Duis iaculis arcu vel arcu. - diff --git a/tests/expected/suites_csw30_post_GetRecordById-dc.xml b/tests/expected/suites_csw30_post_GetRecordById-dc.xml deleted file mode 100644 index 731f3ba9e..000000000 --- a/tests/expected/suites_csw30_post_GetRecordById-dc.xml +++ /dev/null @@ -1,10 +0,0 @@ - - - - urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f - Lorem ipsum - http://purl.org/dc/dcmitype/Image - Tourism--Greece - image/svg+xml - Quisque lacus diam, placerat mollis, pharetra in, commodo sed, augue. Duis iaculis arcu vel arcu. - diff --git a/tests/expected/suites_default_get_Exception-GetRepositoryItem-notfound.xml b/tests/expected/suites_default_get_Exception-GetRepositoryItem-notfound.xml deleted file mode 100644 index 5607c7589..000000000 --- a/tests/expected/suites_default_get_Exception-GetRepositoryItem-notfound.xml +++ /dev/null @@ -1,7 +0,0 @@ - - - - - No repository item found for '['NOTFOUND']' - - diff --git a/tests/expected/suites_default_get_Exception-GetRepositoryItem-service-invalid1.xml b/tests/expected/suites_default_get_Exception-GetRepositoryItem-service-invalid1.xml deleted file mode 100644 index 4e35a17da..000000000 --- a/tests/expected/suites_default_get_Exception-GetRepositoryItem-service-invalid1.xml +++ /dev/null @@ -1,7 +0,0 @@ - - - - - 'Invalid value for service: CSW\x00. Value MUST be CSW' - - diff --git a/tests/expected/suites_default_get_Exception-GetRepositoryItem-service-invalid2.xml b/tests/expected/suites_default_get_Exception-GetRepositoryItem-service-invalid2.xml deleted file mode 100644 index 97ec989fa..000000000 --- a/tests/expected/suites_default_get_Exception-GetRepositoryItem-service-invalid2.xml +++ /dev/null @@ -1,7 +0,0 @@ - - - - - "Invalid value for service: CSW\x00'. Value MUST be CSW" - - diff --git a/tests/expected/suites_default_get_Exception-GetRepositoryItem-version-invalid.xml b/tests/expected/suites_default_get_Exception-GetRepositoryItem-version-invalid.xml deleted file mode 100644 index fd7123387..000000000 --- a/tests/expected/suites_default_get_Exception-GetRepositoryItem-version-invalid.xml +++ /dev/null @@ -1,7 +0,0 @@ - - - - - Invalid value for version: 2.0.2'. Value MUST be 2.0.2 or 3.0.0 - - diff --git a/tests/expected/suites_default_get_GetCapabilities-invalid-request.xml b/tests/expected/suites_default_get_GetCapabilities-invalid-request.xml deleted file mode 100644 index 03450eb2d..000000000 --- a/tests/expected/suites_default_get_GetCapabilities-invalid-request.xml +++ /dev/null @@ -1,7 +0,0 @@ - - - - - Invalid value for request: GetCapabilitiese - - diff --git a/tests/expected/suites_default_get_GetCapabilities.xml b/tests/expected/suites_default_get_GetCapabilities.xml deleted file mode 100644 index 43965feec..000000000 --- a/tests/expected/suites_default_get_GetCapabilities.xml +++ /dev/null @@ -1,264 +0,0 @@ - - - - - pycsw Geospatial Catalogue - pycsw is an OGC CSW server implementation written in Python - - catalogue - discovery - theme - - CSW - 2.0.2 - 3.0.0 - None - None - - - pycsw - - - Kralidis, Tom - Senior Systems Scientist - - - +01-416-xxx-xxxx - +01-416-xxx-xxxx - - - TBA - Toronto - Ontario - M9C 3Z9 - Canada - tomkralidis@gmail.com - - - 0800h - 1600h EST - During hours of service. Off on weekends. - - pointOfContact - - - - - - - - - - - - Filter_Capabilities - OperationsMetadata - ServiceIdentification - ServiceProvider - - - - - - - - - - - application/json - application/xml - - - http://www.w3.org/2001/XMLSchema - http://www.w3.org/TR/xmlschema-1/ - http://www.w3.org/XML/Schema - - - csw:Record - - - - - - - - - - - DescribeRecord.outputFormat - DescribeRecord.schemaLanguage - DescribeRecord.typeName - GetCapabilities.sections - GetRecordById.ElementSetName - GetRecordById.outputFormat - GetRecordById.outputSchema - GetRecords.CONSTRAINTLANGUAGE - GetRecords.ElementSetName - GetRecords.outputFormat - GetRecords.outputSchema - GetRecords.resultType - GetRecords.typeNames - - - - - - - - - - - CQL_TEXT - FILTER - - - brief - full - summary - - - application/json - application/xml - - - http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ - http://www.interlis.ch/INTERLIS2.3 - http://www.opengis.net/cat/csw/2.0.2 - http://www.opengis.net/cat/csw/csdgm - http://www.w3.org/2005/Atom - - - hits - results - validate - - - csw:Record - - - csw:AnyText - dc:contributor - dc:creator - dc:date - dc:format - dc:identifier - dc:language - dc:publisher - dc:relation - dc:rights - dc:source - dc:subject - dc:title - dc:type - dct:abstract - dct:alternative - dct:modified - dct:spatial - ows:BoundingBox - - - - - - - - - - - brief - full - summary - - - application/json - application/xml - - - http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ - http://www.interlis.ch/INTERLIS2.3 - http://www.opengis.net/cat/csw/2.0.2 - http://www.opengis.net/cat/csw/csdgm - http://www.w3.org/2005/Atom - - - - - - - - - - - CSW - - - 2.0.2 - 3.0.0 - - - http://demo.pycsw.org/gisdata/csw - - - 10 - - - XML - SOAP - - - allowed - - - - - - gml:Point - gml:LineString - gml:Polygon - gml:Envelope - - - - - - - - - - - - - - - - - - - Between - EqualTo - GreaterThan - GreaterThanEqualTo - LessThan - LessThanEqualTo - Like - NotEqualTo - NullCheck - - - - - length - lower - ltrim - rtrim - trim - upper - - - - - - - - - - diff --git a/tests/expected/suites_default_get_GetRecords-all.xml b/tests/expected/suites_default_get_GetRecords-all.xml deleted file mode 100644 index 9b45c7898..000000000 --- a/tests/expected/suites_default_get_GetRecords-all.xml +++ /dev/null @@ -1,6 +0,0 @@ - - - - - - diff --git a/tests/expected/suites_default_get_GetRecords-empty-maxrecords.xml b/tests/expected/suites_default_get_GetRecords-empty-maxrecords.xml deleted file mode 100644 index 9b45c7898..000000000 --- a/tests/expected/suites_default_get_GetRecords-empty-maxrecords.xml +++ /dev/null @@ -1,6 +0,0 @@ - - - - - - diff --git a/tests/expected/suites_default_get_GetRecords-filter-cql-title-or-abstract-with-spaces.xml b/tests/expected/suites_default_get_GetRecords-filter-cql-title-or-abstract-with-spaces.xml deleted file mode 100644 index 2b1accdf9..000000000 --- a/tests/expected/suites_default_get_GetRecords-filter-cql-title-or-abstract-with-spaces.xml +++ /dev/null @@ -1,23 +0,0 @@ - - - - - - - urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f - http://purl.org/dc/dcmitype/Image - image/svg+xml - Lorem ipsum - GR-22 - Tourism--Greece - Quisque lacus diam, placerat mollis, pharetra in, commodo sed, augue. Duis iaculis arcu vel arcu. - - - urn:uuid:a06af396-3105-442d-8b40-22b57a90d2f2 - http://purl.org/dc/dcmitype/Image - Lorem ipsum dolor sit amet - image/jpeg - IT-FI - - - diff --git a/tests/expected/suites_default_get_GetRecords-filter-cql-title-or-abstract.xml b/tests/expected/suites_default_get_GetRecords-filter-cql-title-or-abstract.xml deleted file mode 100644 index 2b1accdf9..000000000 --- a/tests/expected/suites_default_get_GetRecords-filter-cql-title-or-abstract.xml +++ /dev/null @@ -1,23 +0,0 @@ - - - - - - - urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f - http://purl.org/dc/dcmitype/Image - image/svg+xml - Lorem ipsum - GR-22 - Tourism--Greece - Quisque lacus diam, placerat mollis, pharetra in, commodo sed, augue. Duis iaculis arcu vel arcu. - - - urn:uuid:a06af396-3105-442d-8b40-22b57a90d2f2 - http://purl.org/dc/dcmitype/Image - Lorem ipsum dolor sit amet - image/jpeg - IT-FI - - - diff --git a/tests/expected/suites_default_get_GetRecords-filter-cql-title-with-spaces-or-abstract-with-spaces.xml b/tests/expected/suites_default_get_GetRecords-filter-cql-title-with-spaces-or-abstract-with-spaces.xml deleted file mode 100644 index 2b1accdf9..000000000 --- a/tests/expected/suites_default_get_GetRecords-filter-cql-title-with-spaces-or-abstract-with-spaces.xml +++ /dev/null @@ -1,23 +0,0 @@ - - - - - - - urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f - http://purl.org/dc/dcmitype/Image - image/svg+xml - Lorem ipsum - GR-22 - Tourism--Greece - Quisque lacus diam, placerat mollis, pharetra in, commodo sed, augue. Duis iaculis arcu vel arcu. - - - urn:uuid:a06af396-3105-442d-8b40-22b57a90d2f2 - http://purl.org/dc/dcmitype/Image - Lorem ipsum dolor sit amet - image/jpeg - IT-FI - - - diff --git a/tests/expected/suites_default_get_GetRecords-filter-cql-title-with-spaces-or-abstract.xml b/tests/expected/suites_default_get_GetRecords-filter-cql-title-with-spaces-or-abstract.xml deleted file mode 100644 index 2b1accdf9..000000000 --- a/tests/expected/suites_default_get_GetRecords-filter-cql-title-with-spaces-or-abstract.xml +++ /dev/null @@ -1,23 +0,0 @@ - - - - - - - urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f - http://purl.org/dc/dcmitype/Image - image/svg+xml - Lorem ipsum - GR-22 - Tourism--Greece - Quisque lacus diam, placerat mollis, pharetra in, commodo sed, augue. Duis iaculis arcu vel arcu. - - - urn:uuid:a06af396-3105-442d-8b40-22b57a90d2f2 - http://purl.org/dc/dcmitype/Image - Lorem ipsum dolor sit amet - image/jpeg - IT-FI - - - diff --git a/tests/expected/suites_default_get_GetRecords-filter-cql-title-with-spaces.xml b/tests/expected/suites_default_get_GetRecords-filter-cql-title-with-spaces.xml deleted file mode 100644 index 2b1accdf9..000000000 --- a/tests/expected/suites_default_get_GetRecords-filter-cql-title-with-spaces.xml +++ /dev/null @@ -1,23 +0,0 @@ - - - - - - - urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f - http://purl.org/dc/dcmitype/Image - image/svg+xml - Lorem ipsum - GR-22 - Tourism--Greece - Quisque lacus diam, placerat mollis, pharetra in, commodo sed, augue. Duis iaculis arcu vel arcu. - - - urn:uuid:a06af396-3105-442d-8b40-22b57a90d2f2 - http://purl.org/dc/dcmitype/Image - Lorem ipsum dolor sit amet - image/jpeg - IT-FI - - - diff --git a/tests/expected/suites_default_get_GetRecords-filter-cql-title.xml b/tests/expected/suites_default_get_GetRecords-filter-cql-title.xml deleted file mode 100644 index 2b1accdf9..000000000 --- a/tests/expected/suites_default_get_GetRecords-filter-cql-title.xml +++ /dev/null @@ -1,23 +0,0 @@ - - - - - - - urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f - http://purl.org/dc/dcmitype/Image - image/svg+xml - Lorem ipsum - GR-22 - Tourism--Greece - Quisque lacus diam, placerat mollis, pharetra in, commodo sed, augue. Duis iaculis arcu vel arcu. - - - urn:uuid:a06af396-3105-442d-8b40-22b57a90d2f2 - http://purl.org/dc/dcmitype/Image - Lorem ipsum dolor sit amet - image/jpeg - IT-FI - - - diff --git a/tests/expected/suites_default_get_GetRecords-filter.xml b/tests/expected/suites_default_get_GetRecords-filter.xml deleted file mode 100644 index 163bcd640..000000000 --- a/tests/expected/suites_default_get_GetRecords-filter.xml +++ /dev/null @@ -1,16 +0,0 @@ - - - - - - - urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f - http://purl.org/dc/dcmitype/Image - image/svg+xml - Lorem ipsum - GR-22 - Tourism--Greece - Quisque lacus diam, placerat mollis, pharetra in, commodo sed, augue. Duis iaculis arcu vel arcu. - - - diff --git a/tests/expected/suites_default_get_GetRecords-sortby-asc.xml b/tests/expected/suites_default_get_GetRecords-sortby-asc.xml deleted file mode 100644 index 9a5c0f935..000000000 --- a/tests/expected/suites_default_get_GetRecords-sortby-asc.xml +++ /dev/null @@ -1,91 +0,0 @@ - - - - - - - urn:uuid:1ef30a8b-876d-4828-9246-c37ab4510bbd - http://purl.org/dc/dcmitype/Service - Proin sit amet justo. In justo. Aenean adipiscing nulla id tellus. - - 60.042 13.754 - 68.410 17.920 - - - - urn:uuid:88247b56-4cbc-4df9-9860-db3f8042e357 - http://purl.org/dc/dcmitype/Dataset - Physiography-Landforms - FI-ES - Donec scelerisque pede ut nisl luctus accumsan. Quisque ultrices, lorem eget feugiat fringilla, lorem dui porttitor ante, cursus ultrices magna odio eu neque. - - - urn:uuid:ab42a8c4-95e8-4630-bf79-33e59241605a - http://purl.org/dc/dcmitype/Service - Physiography - Suspendisse accumsan molestie lorem. Nullam velit turpis, mattis ut, varius bibendum, laoreet non, quam. - urn:uuid:88247b56-4cbc-4df9-9860-db3f8042e357 - - - urn:uuid:784e2afd-a9fd-44a6-9a92-a3848371c8ec - Aliquam fermentum purus quis arcu - http://purl.org/dc/dcmitype/Text - Hydrography--Dictionaries - application/pdf - 2006-05-12 - Vestibulum quis ipsum sit amet metus imperdiet vehicula. Nulla scelerisque cursus mi. - - - urn:uuid:e9330592-0932-474b-be34-c3a3bb67c7db - http://purl.org/dc/dcmitype/Text - Fuscé vitae ligulä - 2003-05-09 - Land titles - text/rtf - Morbi ultriçes, dui suscipit vestibulum prètium, velit ante pretium tortor, egët tincidunt pede odio ac nulla. - - - urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f - http://purl.org/dc/dcmitype/Image - image/svg+xml - Lorem ipsum - GR-22 - Tourism--Greece - Quisque lacus diam, placerat mollis, pharetra in, commodo sed, augue. Duis iaculis arcu vel arcu. - - - urn:uuid:a06af396-3105-442d-8b40-22b57a90d2f2 - http://purl.org/dc/dcmitype/Image - Lorem ipsum dolor sit amet - image/jpeg - IT-FI - - - urn:uuid:66ae76b7-54ba-489b-a582-0f0633d96493 - Maecenas enim - http://purl.org/dc/dcmitype/Text - application/xhtml+xml - Marine sediments - Pellentesque tempus magna non sapien fringilla blandit. - - - urn:uuid:94bc9c83-97f6-4b40-9eb8-a8e8787a5c63 - http://purl.org/dc/dcmitype/Dataset - Mauris sed neque - Vegetation-Cropland - Curabitur lacinia, ante non porta tempus, mi lorem feugiat odio, eget suscipit eros pede ac velit. - 2006-03-26 - - 47.595 -4.097 - 51.217 0.889 - - - - urn:uuid:6a3de50b-fa66-4b58-a0e6-ca146fdd18d4 - http://purl.org/dc/dcmitype/Service - Ut facilisis justo ut lacus - Vegetation - urn:uuid:94bc9c83-97f6-4b40-9eb8-a8e8787a5c63 - - - diff --git a/tests/expected/suites_default_get_GetRecords-sortby-desc.xml b/tests/expected/suites_default_get_GetRecords-sortby-desc.xml deleted file mode 100644 index 1bf8d4e5a..000000000 --- a/tests/expected/suites_default_get_GetRecords-sortby-desc.xml +++ /dev/null @@ -1,93 +0,0 @@ - - - - - - - urn:uuid:9a669547-b69b-469f-a11f-2d875366bbdc - http://purl.org/dc/dcmitype/Dataset - Ñunç elementum - Hydrography-Oceanographic - 2005-10-24 - - 44.792 -6.171 - 51.126 -2.228 - - - - urn:uuid:829babb0-b2f1-49e1-8cd5-7b489fe71a1e - http://purl.org/dc/dcmitype/Image - image/jp2 - Vestibulum massa purus - urn:uuid:9a669547-b69b-469f-a11f-2d875366bbdc - - - urn:uuid:6a3de50b-fa66-4b58-a0e6-ca146fdd18d4 - http://purl.org/dc/dcmitype/Service - Ut facilisis justo ut lacus - Vegetation - urn:uuid:94bc9c83-97f6-4b40-9eb8-a8e8787a5c63 - - - urn:uuid:94bc9c83-97f6-4b40-9eb8-a8e8787a5c63 - http://purl.org/dc/dcmitype/Dataset - Mauris sed neque - Vegetation-Cropland - Curabitur lacinia, ante non porta tempus, mi lorem feugiat odio, eget suscipit eros pede ac velit. - 2006-03-26 - - 47.595 -4.097 - 51.217 0.889 - - - - urn:uuid:66ae76b7-54ba-489b-a582-0f0633d96493 - Maecenas enim - http://purl.org/dc/dcmitype/Text - application/xhtml+xml - Marine sediments - Pellentesque tempus magna non sapien fringilla blandit. - - - urn:uuid:a06af396-3105-442d-8b40-22b57a90d2f2 - http://purl.org/dc/dcmitype/Image - Lorem ipsum dolor sit amet - image/jpeg - IT-FI - - - urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f - http://purl.org/dc/dcmitype/Image - image/svg+xml - Lorem ipsum - GR-22 - Tourism--Greece - Quisque lacus diam, placerat mollis, pharetra in, commodo sed, augue. Duis iaculis arcu vel arcu. - - - urn:uuid:e9330592-0932-474b-be34-c3a3bb67c7db - http://purl.org/dc/dcmitype/Text - Fuscé vitae ligulä - 2003-05-09 - Land titles - text/rtf - Morbi ultriçes, dui suscipit vestibulum prètium, velit ante pretium tortor, egët tincidunt pede odio ac nulla. - - - urn:uuid:784e2afd-a9fd-44a6-9a92-a3848371c8ec - Aliquam fermentum purus quis arcu - http://purl.org/dc/dcmitype/Text - Hydrography--Dictionaries - application/pdf - 2006-05-12 - Vestibulum quis ipsum sit amet metus imperdiet vehicula. Nulla scelerisque cursus mi. - - - urn:uuid:ab42a8c4-95e8-4630-bf79-33e59241605a - http://purl.org/dc/dcmitype/Service - Physiography - Suspendisse accumsan molestie lorem. Nullam velit turpis, mattis ut, varius bibendum, laoreet non, quam. - urn:uuid:88247b56-4cbc-4df9-9860-db3f8042e357 - - - diff --git a/tests/expected/suites_default_get_GetRecords-sortby-invalid-order.xml b/tests/expected/suites_default_get_GetRecords-sortby-invalid-order.xml deleted file mode 100644 index 85457f69f..000000000 --- a/tests/expected/suites_default_get_GetRecords-sortby-invalid-order.xml +++ /dev/null @@ -1,7 +0,0 @@ - - - - - Invalid SortBy value: sort order must be "A" or "D" - - diff --git a/tests/expected/suites_default_get_GetRecords-sortby-invalid-propertyname.xml b/tests/expected/suites_default_get_GetRecords-sortby-invalid-propertyname.xml deleted file mode 100644 index 25c7b6f80..000000000 --- a/tests/expected/suites_default_get_GetRecords-sortby-invalid-propertyname.xml +++ /dev/null @@ -1,7 +0,0 @@ - - - - - Invalid SortBy propertyname: dc:titlei - - diff --git a/tests/expected/suites_default_get_GetRepositoryItem.xml b/tests/expected/suites_default_get_GetRepositoryItem.xml deleted file mode 100644 index 77fae8b66..000000000 --- a/tests/expected/suites_default_get_GetRepositoryItem.xml +++ /dev/null @@ -1,14 +0,0 @@ - - - - urn:uuid:94bc9c83-97f6-4b40-9eb8-a8e8787a5c63 - http://purl.org/dc/dcmitype/Dataset - Mauris sed neque - Vegetation-Cropland - Curabitur lacinia, ante non porta tempus, mi lorem feugiat odio, eget suscipit eros pede ac velit. - 2006-03-26 - - 47.595 -4.097 - 51.217 0.889 - - diff --git a/tests/expected/suites_default_post_DescribeRecord-json.xml b/tests/expected/suites_default_post_DescribeRecord-json.xml deleted file mode 100644 index 19f117bee..000000000 --- a/tests/expected/suites_default_post_DescribeRecord-json.xml +++ /dev/null @@ -1,231 +0,0 @@ -{ - "csw:DescribeRecordResponse": { - "@xsi:schemaLocation": "http://www.opengis.net/cat/csw/2.0.2 http://schemas.opengis.net/csw/2.0.2/CSW-discovery.xsd", - "csw:SchemaComponent": { - "@schemaLanguage": "XMLSCHEMA", - "@targetNamespace": "http://www.opengis.net/cat/csw/2.0.2", - "xs:schema": { - "@id": "csw-record", - "@targetNamespace": "http://www.opengis.net/cat/csw/2.0.2", - "@elementFormDefault": "qualified", - "@version": "2.0.2 2010-01-22", - "xs:annotation": { - "xs:appinfo": { - "dc:identifier": "http://schemas.opengis.net/csw/2.0.2/record.xsd" - }, - "xs:documentation": { - "@http://www.w3.org/XML/1998/namespace:lang": "en", - "#text": "This schema defines the basic record types that must be supported\n by all CSW implementations. These correspond to full, summary, and\n brief views based on DCMI metadata terms.\n \n CSW is an OGC Standard.\n Copyright (c) 2004,2010 Open Geospatial Consortium, Inc. All Rights Reserved.\n To obtain additional rights of use, visit http://www.opengeospatial.org/legal/ ." - } - }, - "xs:import": [ - { - "@namespace": "http://purl.org/dc/terms/", - "@schemaLocation": "rec-dcterms.xsd" - }, - { - "@namespace": "http://purl.org/dc/elements/1.1/", - "@schemaLocation": "rec-dcmes.xsd" - }, - { - "@namespace": "http://www.opengis.net/ows", - "@schemaLocation": "../../ows/1.0.0/owsAll.xsd" - } - ], - "xs:element": [ - { - "@name": "AbstractRecord", - "@id": "AbstractRecord", - "@type": "csw:AbstractRecordType", - "@abstract": "true" - }, - { - "@name": "DCMIRecord", - "@type": "csw:DCMIRecordType", - "@substitutionGroup": "csw:AbstractRecord" - }, - { - "@name": "BriefRecord", - "@type": "csw:BriefRecordType", - "@substitutionGroup": "csw:AbstractRecord" - }, - { - "@name": "SummaryRecord", - "@type": "csw:SummaryRecordType", - "@substitutionGroup": "csw:AbstractRecord" - }, - { - "@name": "Record", - "@type": "csw:RecordType", - "@substitutionGroup": "csw:AbstractRecord" - } - ], - "xs:complexType": [ - { - "@name": "AbstractRecordType", - "@id": "AbstractRecordType", - "@abstract": "true" - }, - { - "@name": "DCMIRecordType", - "xs:annotation": { - "xs:documentation": { - "@http://www.w3.org/XML/1998/namespace:lang": "en", - "#text": "This type encapsulates all of the standard DCMI metadata terms,\n including the Dublin Core refinements; these terms may be mapped\n to the profile-specific information model." - } - }, - "xs:complexContent": { - "xs:extension": { - "@base": "csw:AbstractRecordType", - "xs:sequence": { - "xs:group": { - "@ref": "dct:DCMI-terms" - } - } - } - } - }, - { - "@name": "BriefRecordType", - "@final": "#all", - "xs:annotation": { - "xs:documentation": { - "@http://www.w3.org/XML/1998/namespace:lang": "en", - "#text": "This type defines a brief representation of the common record\n format. It extends AbstractRecordType to include only the\n dc:identifier and dc:type properties." - } - }, - "xs:complexContent": { - "xs:extension": { - "@base": "csw:AbstractRecordType", - "xs:sequence": { - "xs:element": [ - { - "@ref": "dc:identifier", - "@minOccurs": "1", - "@maxOccurs": "unbounded" - }, - { - "@ref": "dc:title", - "@minOccurs": "1", - "@maxOccurs": "unbounded" - }, - { - "@ref": "dc:type", - "@minOccurs": "0" - }, - { - "@ref": "ows:BoundingBox", - "@minOccurs": "0", - "@maxOccurs": "unbounded" - } - ] - } - } - } - }, - { - "@name": "SummaryRecordType", - "@final": "#all", - "xs:annotation": { - "xs:documentation": { - "@http://www.w3.org/XML/1998/namespace:lang": "en", - "#text": "This type defines a summary representation of the common record\n format. It extends AbstractRecordType to include the core\n properties." - } - }, - "xs:complexContent": { - "xs:extension": { - "@base": "csw:AbstractRecordType", - "xs:sequence": { - "xs:element": [ - { - "@ref": "dc:identifier", - "@minOccurs": "1", - "@maxOccurs": "unbounded" - }, - { - "@ref": "dc:title", - "@minOccurs": "1", - "@maxOccurs": "unbounded" - }, - { - "@ref": "dc:type", - "@minOccurs": "0" - }, - { - "@ref": "dc:subject", - "@minOccurs": "0", - "@maxOccurs": "unbounded" - }, - { - "@ref": "dc:format", - "@minOccurs": "0", - "@maxOccurs": "unbounded" - }, - { - "@ref": "dc:relation", - "@minOccurs": "0", - "@maxOccurs": "unbounded" - }, - { - "@ref": "dct:modified", - "@minOccurs": "0", - "@maxOccurs": "unbounded" - }, - { - "@ref": "dct:abstract", - "@minOccurs": "0", - "@maxOccurs": "unbounded" - }, - { - "@ref": "dct:spatial", - "@minOccurs": "0", - "@maxOccurs": "unbounded" - }, - { - "@ref": "ows:BoundingBox", - "@minOccurs": "0", - "@maxOccurs": "unbounded" - } - ] - } - } - } - }, - { - "@name": "RecordType", - "@final": "#all", - "xs:annotation": { - "xs:documentation": { - "@http://www.w3.org/XML/1998/namespace:lang": "en", - "#text": "This type extends DCMIRecordType to add ows:BoundingBox;\n it may be used to specify a spatial envelope for the\n catalogued resource." - } - }, - "xs:complexContent": { - "xs:extension": { - "@base": "csw:DCMIRecordType", - "xs:sequence": { - "xs:element": [ - { - "@name": "AnyText", - "@type": "csw:EmptyType", - "@minOccurs": "0", - "@maxOccurs": "unbounded" - }, - { - "@ref": "ows:BoundingBox", - "@minOccurs": "0", - "@maxOccurs": "unbounded" - } - ] - } - } - } - }, - { - "@name": "EmptyType" - } - ] - } - } - } -} \ No newline at end of file diff --git a/tests/expected/suites_default_post_DescribeRecord.xml b/tests/expected/suites_default_post_DescribeRecord.xml deleted file mode 100644 index 76101a6bb..000000000 --- a/tests/expected/suites_default_post_DescribeRecord.xml +++ /dev/null @@ -1,115 +0,0 @@ - - - - - - - - http://schemas.opengis.net/csw/2.0.2/record.xsd - - - This schema defines the basic record types that must be supported - by all CSW implementations. These correspond to full, summary, and - brief views based on DCMI metadata terms. - - CSW is an OGC Standard. - Copyright (c) 2004,2010 Open Geospatial Consortium, Inc. All Rights Reserved. - To obtain additional rights of use, visit http://www.opengeospatial.org/legal/ . - - - - - - - - - - - - - - - This type encapsulates all of the standard DCMI metadata terms, - including the Dublin Core refinements; these terms may be mapped - to the profile-specific information model. - - - - - - - - - - - - - - - - This type defines a brief representation of the common record - format. It extends AbstractRecordType to include only the - dc:identifier and dc:type properties. - - - - - - - - - - - - - - - - - - - This type defines a summary representation of the common record - format. It extends AbstractRecordType to include the core - properties. - - - - - - - - - - - - - - - - - - - - - - - - - This type extends DCMIRecordType to add ows:BoundingBox; - it may be used to specify a spatial envelope for the - catalogued resource. - - - - - - - - - - - - - - - diff --git a/tests/expected/suites_default_post_Exception-GetRecords-badsrsname.xml b/tests/expected/suites_default_post_Exception-GetRecords-badsrsname.xml deleted file mode 100644 index fe0c923f3..000000000 --- a/tests/expected/suites_default_post_Exception-GetRecords-badsrsname.xml +++ /dev/null @@ -1,7 +0,0 @@ - - - - - Invalid Constraint: Invalid Filter request: Reprojection error: Invalid srsName "EPSG:226": Invalid source projection - - diff --git a/tests/expected/suites_default_post_Exception-GetRecords-elementname.xml b/tests/expected/suites_default_post_Exception-GetRecords-elementname.xml deleted file mode 100644 index 3654684e2..000000000 --- a/tests/expected/suites_default_post_Exception-GetRecords-elementname.xml +++ /dev/null @@ -1,7 +0,0 @@ - - - - - Invalid ElementName parameter value: dc:foo - - diff --git a/tests/expected/suites_default_post_Exception-GetRecords-invalid-xml.xml b/tests/expected/suites_default_post_Exception-GetRecords-invalid-xml.xml deleted file mode 100644 index f21f6db74..000000000 --- a/tests/expected/suites_default_post_Exception-GetRecords-invalid-xml.xml +++ /dev/null @@ -1,8 +0,0 @@ - - - - - Exception: the document is not valid. -Error: Element '{http://www.opengis.net/cat/csw/2.0.2}ElementNamefoo': This element is not expected. Expected is one of ( {http://www.opengis.net/cat/csw/2.0.2}ElementSetName, {http://www.opengis.net/cat/csw/2.0.2}ElementName ). - - diff --git a/tests/expected/suites_default_post_GetCapabilities-SOAP.xml b/tests/expected/suites_default_post_GetCapabilities-SOAP.xml deleted file mode 100644 index ad05bd817..000000000 --- a/tests/expected/suites_default_post_GetCapabilities-SOAP.xml +++ /dev/null @@ -1,268 +0,0 @@ - - - - - - - pycsw Geospatial Catalogue - pycsw is an OGC CSW server implementation written in Python - - catalogue - discovery - theme - - CSW - 2.0.2 - 3.0.0 - None - None - - - pycsw - - - Kralidis, Tom - Senior Systems Scientist - - - +01-416-xxx-xxxx - +01-416-xxx-xxxx - - - TBA - Toronto - Ontario - M9C 3Z9 - Canada - tomkralidis@gmail.com - - - 0800h - 1600h EST - During hours of service. Off on weekends. - - pointOfContact - - - - - - - - - - - - Filter_Capabilities - OperationsMetadata - ServiceIdentification - ServiceProvider - - - - - - - - - - - application/json - application/xml - - - http://www.w3.org/2001/XMLSchema - http://www.w3.org/TR/xmlschema-1/ - http://www.w3.org/XML/Schema - - - csw:Record - - - - - - - - - - - DescribeRecord.outputFormat - DescribeRecord.schemaLanguage - DescribeRecord.typeName - GetCapabilities.sections - GetRecordById.ElementSetName - GetRecordById.outputFormat - GetRecordById.outputSchema - GetRecords.CONSTRAINTLANGUAGE - GetRecords.ElementSetName - GetRecords.outputFormat - GetRecords.outputSchema - GetRecords.resultType - GetRecords.typeNames - - - - - - - - - - - CQL_TEXT - FILTER - - - brief - full - summary - - - application/json - application/xml - - - http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ - http://www.interlis.ch/INTERLIS2.3 - http://www.opengis.net/cat/csw/2.0.2 - http://www.opengis.net/cat/csw/csdgm - http://www.w3.org/2005/Atom - - - hits - results - validate - - - csw:Record - - - csw:AnyText - dc:contributor - dc:creator - dc:date - dc:format - dc:identifier - dc:language - dc:publisher - dc:relation - dc:rights - dc:source - dc:subject - dc:title - dc:type - dct:abstract - dct:alternative - dct:modified - dct:spatial - ows:BoundingBox - - - - - - - - - - - brief - full - summary - - - application/json - application/xml - - - http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ - http://www.interlis.ch/INTERLIS2.3 - http://www.opengis.net/cat/csw/2.0.2 - http://www.opengis.net/cat/csw/csdgm - http://www.w3.org/2005/Atom - - - - - - - - - - - CSW - - - 2.0.2 - 3.0.0 - - - http://demo.pycsw.org/gisdata/csw - - - 10 - - - XML - SOAP - - - allowed - - - - - - gml:Point - gml:LineString - gml:Polygon - gml:Envelope - - - - - - - - - - - - - - - - - - - Between - EqualTo - GreaterThan - GreaterThanEqualTo - LessThan - LessThanEqualTo - Like - NotEqualTo - NullCheck - - - - - length - lower - ltrim - rtrim - trim - upper - - - - - - - - - - - - diff --git a/tests/expected/suites_default_post_GetCapabilities-sections.xml b/tests/expected/suites_default_post_GetCapabilities-sections.xml deleted file mode 100644 index 9c51855de..000000000 --- a/tests/expected/suites_default_post_GetCapabilities-sections.xml +++ /dev/null @@ -1,83 +0,0 @@ - - - - - pycsw - - - Kralidis, Tom - Senior Systems Scientist - - - +01-416-xxx-xxxx - +01-416-xxx-xxxx - - - TBA - Toronto - Ontario - M9C 3Z9 - Canada - tomkralidis@gmail.com - - - 0800h - 1600h EST - During hours of service. Off on weekends. - - pointOfContact - - - - - - gml:Point - gml:LineString - gml:Polygon - gml:Envelope - - - - - - - - - - - - - - - - - - - Between - EqualTo - GreaterThan - GreaterThanEqualTo - LessThan - LessThanEqualTo - Like - NotEqualTo - NullCheck - - - - - length - lower - ltrim - rtrim - trim - upper - - - - - - - - - - diff --git a/tests/expected/suites_default_post_GetCapabilities-updatesequence.xml b/tests/expected/suites_default_post_GetCapabilities-updatesequence.xml deleted file mode 100644 index 43965feec..000000000 --- a/tests/expected/suites_default_post_GetCapabilities-updatesequence.xml +++ /dev/null @@ -1,264 +0,0 @@ - - - - - pycsw Geospatial Catalogue - pycsw is an OGC CSW server implementation written in Python - - catalogue - discovery - theme - - CSW - 2.0.2 - 3.0.0 - None - None - - - pycsw - - - Kralidis, Tom - Senior Systems Scientist - - - +01-416-xxx-xxxx - +01-416-xxx-xxxx - - - TBA - Toronto - Ontario - M9C 3Z9 - Canada - tomkralidis@gmail.com - - - 0800h - 1600h EST - During hours of service. Off on weekends. - - pointOfContact - - - - - - - - - - - - Filter_Capabilities - OperationsMetadata - ServiceIdentification - ServiceProvider - - - - - - - - - - - application/json - application/xml - - - http://www.w3.org/2001/XMLSchema - http://www.w3.org/TR/xmlschema-1/ - http://www.w3.org/XML/Schema - - - csw:Record - - - - - - - - - - - DescribeRecord.outputFormat - DescribeRecord.schemaLanguage - DescribeRecord.typeName - GetCapabilities.sections - GetRecordById.ElementSetName - GetRecordById.outputFormat - GetRecordById.outputSchema - GetRecords.CONSTRAINTLANGUAGE - GetRecords.ElementSetName - GetRecords.outputFormat - GetRecords.outputSchema - GetRecords.resultType - GetRecords.typeNames - - - - - - - - - - - CQL_TEXT - FILTER - - - brief - full - summary - - - application/json - application/xml - - - http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ - http://www.interlis.ch/INTERLIS2.3 - http://www.opengis.net/cat/csw/2.0.2 - http://www.opengis.net/cat/csw/csdgm - http://www.w3.org/2005/Atom - - - hits - results - validate - - - csw:Record - - - csw:AnyText - dc:contributor - dc:creator - dc:date - dc:format - dc:identifier - dc:language - dc:publisher - dc:relation - dc:rights - dc:source - dc:subject - dc:title - dc:type - dct:abstract - dct:alternative - dct:modified - dct:spatial - ows:BoundingBox - - - - - - - - - - - brief - full - summary - - - application/json - application/xml - - - http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ - http://www.interlis.ch/INTERLIS2.3 - http://www.opengis.net/cat/csw/2.0.2 - http://www.opengis.net/cat/csw/csdgm - http://www.w3.org/2005/Atom - - - - - - - - - - - CSW - - - 2.0.2 - 3.0.0 - - - http://demo.pycsw.org/gisdata/csw - - - 10 - - - XML - SOAP - - - allowed - - - - - - gml:Point - gml:LineString - gml:Polygon - gml:Envelope - - - - - - - - - - - - - - - - - - - Between - EqualTo - GreaterThan - GreaterThanEqualTo - LessThan - LessThanEqualTo - Like - NotEqualTo - NullCheck - - - - - length - lower - ltrim - rtrim - trim - upper - - - - - - - - - - diff --git a/tests/expected/suites_default_post_GetCapabilities.xml b/tests/expected/suites_default_post_GetCapabilities.xml deleted file mode 100644 index 43965feec..000000000 --- a/tests/expected/suites_default_post_GetCapabilities.xml +++ /dev/null @@ -1,264 +0,0 @@ - - - - - pycsw Geospatial Catalogue - pycsw is an OGC CSW server implementation written in Python - - catalogue - discovery - theme - - CSW - 2.0.2 - 3.0.0 - None - None - - - pycsw - - - Kralidis, Tom - Senior Systems Scientist - - - +01-416-xxx-xxxx - +01-416-xxx-xxxx - - - TBA - Toronto - Ontario - M9C 3Z9 - Canada - tomkralidis@gmail.com - - - 0800h - 1600h EST - During hours of service. Off on weekends. - - pointOfContact - - - - - - - - - - - - Filter_Capabilities - OperationsMetadata - ServiceIdentification - ServiceProvider - - - - - - - - - - - application/json - application/xml - - - http://www.w3.org/2001/XMLSchema - http://www.w3.org/TR/xmlschema-1/ - http://www.w3.org/XML/Schema - - - csw:Record - - - - - - - - - - - DescribeRecord.outputFormat - DescribeRecord.schemaLanguage - DescribeRecord.typeName - GetCapabilities.sections - GetRecordById.ElementSetName - GetRecordById.outputFormat - GetRecordById.outputSchema - GetRecords.CONSTRAINTLANGUAGE - GetRecords.ElementSetName - GetRecords.outputFormat - GetRecords.outputSchema - GetRecords.resultType - GetRecords.typeNames - - - - - - - - - - - CQL_TEXT - FILTER - - - brief - full - summary - - - application/json - application/xml - - - http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ - http://www.interlis.ch/INTERLIS2.3 - http://www.opengis.net/cat/csw/2.0.2 - http://www.opengis.net/cat/csw/csdgm - http://www.w3.org/2005/Atom - - - hits - results - validate - - - csw:Record - - - csw:AnyText - dc:contributor - dc:creator - dc:date - dc:format - dc:identifier - dc:language - dc:publisher - dc:relation - dc:rights - dc:source - dc:subject - dc:title - dc:type - dct:abstract - dct:alternative - dct:modified - dct:spatial - ows:BoundingBox - - - - - - - - - - - brief - full - summary - - - application/json - application/xml - - - http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ - http://www.interlis.ch/INTERLIS2.3 - http://www.opengis.net/cat/csw/2.0.2 - http://www.opengis.net/cat/csw/csdgm - http://www.w3.org/2005/Atom - - - - - - - - - - - CSW - - - 2.0.2 - 3.0.0 - - - http://demo.pycsw.org/gisdata/csw - - - 10 - - - XML - SOAP - - - allowed - - - - - - gml:Point - gml:LineString - gml:Polygon - gml:Envelope - - - - - - - - - - - - - - - - - - - Between - EqualTo - GreaterThan - GreaterThanEqualTo - LessThan - LessThanEqualTo - Like - NotEqualTo - NullCheck - - - - - length - lower - ltrim - rtrim - trim - upper - - - - - - - - - - diff --git a/tests/expected/suites_default_post_GetDomain-parameter.xml b/tests/expected/suites_default_post_GetDomain-parameter.xml deleted file mode 100644 index 71bdb8a76..000000000 --- a/tests/expected/suites_default_post_GetDomain-parameter.xml +++ /dev/null @@ -1,11 +0,0 @@ - - - - - GetRecords.CONSTRAINTLANGUAGE - - CQL_TEXT - FILTER - - - diff --git a/tests/expected/suites_default_post_GetDomain-property.xml b/tests/expected/suites_default_post_GetDomain-property.xml deleted file mode 100644 index 257726071..000000000 --- a/tests/expected/suites_default_post_GetDomain-property.xml +++ /dev/null @@ -1,18 +0,0 @@ - - - - - dc:title - - Aliquam fermentum purus quis arcu - Fuscé vitae ligulä - Lorem ipsum - Lorem ipsum dolor sit amet - Maecenas enim - Mauris sed neque - Ut facilisis justo ut lacus - Vestibulum massa purus - Ñunç elementum - - - diff --git a/tests/expected/suites_default_post_GetRecordById-json.xml b/tests/expected/suites_default_post_GetRecordById-json.xml deleted file mode 100644 index e8d687f71..000000000 --- a/tests/expected/suites_default_post_GetRecordById-json.xml +++ /dev/null @@ -1,18 +0,0 @@ -{ - "csw:GetRecordByIdResponse": { - "@xsi:schemaLocation": "http://www.opengis.net/cat/csw/2.0.2 http://schemas.opengis.net/csw/2.0.2/CSW-discovery.xsd", - "csw:SummaryRecord": { - "dc:identifier": "urn:uuid:94bc9c83-97f6-4b40-9eb8-a8e8787a5c63", - "dc:title": "Mauris sed neque", - "dc:type": "http://purl.org/dc/dcmitype/Dataset", - "dc:subject": "Vegetation-Cropland", - "dct:abstract": "Curabitur lacinia, ante non porta tempus, mi lorem feugiat odio, eget suscipit eros pede ac velit.", - "ows:BoundingBox": { - "@crs": "urn:x-ogc:def:crs:EPSG:6.11:4326", - "@dimensions": "2", - "ows:LowerCorner": "47.59 -4.1", - "ows:UpperCorner": "51.22 0.89" - } - } - } -} \ No newline at end of file diff --git a/tests/expected/suites_default_post_GetRecordById.xml b/tests/expected/suites_default_post_GetRecordById.xml deleted file mode 100644 index 6cddad959..000000000 --- a/tests/expected/suites_default_post_GetRecordById.xml +++ /dev/null @@ -1,15 +0,0 @@ - - - - - urn:uuid:94bc9c83-97f6-4b40-9eb8-a8e8787a5c63 - Mauris sed neque - http://purl.org/dc/dcmitype/Dataset - Vegetation-Cropland - Curabitur lacinia, ante non porta tempus, mi lorem feugiat odio, eget suscipit eros pede ac velit. - - 47.59 -4.1 - 51.22 0.89 - - - diff --git a/tests/expected/suites_default_post_GetRecords-all-json.xml b/tests/expected/suites_default_post_GetRecords-all-json.xml deleted file mode 100644 index 20fbf3798..000000000 --- a/tests/expected/suites_default_post_GetRecords-all-json.xml +++ /dev/null @@ -1,64 +0,0 @@ -{ - "csw:GetRecordsResponse": { - "@version": "2.0.2", - "@xsi:schemaLocation": "http://www.opengis.net/cat/csw/2.0.2 http://schemas.opengis.net/csw/2.0.2/CSW-discovery.xsd", - "csw:SearchStatus": { - "@timestamp": "PYCSW_TIMESTAMP" - }, - "csw:SearchResults": { - "@nextRecord": "6", - "@numberOfRecordsMatched": "12", - "@numberOfRecordsReturned": "5", - "@recordSchema": "http://www.opengis.net/cat/csw/2.0.2", - "@elementSet": "full", - "csw:Record": [ - { - "dc:identifier": "urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f", - "dc:type": "http://purl.org/dc/dcmitype/Image", - "dc:format": "image/svg+xml", - "dc:title": "Lorem ipsum", - "dct:spatial": "GR-22", - "dc:subject": "Tourism--Greece", - "dct:abstract": "Quisque lacus diam, placerat mollis, pharetra in, commodo sed, augue. Duis iaculis arcu vel arcu." - }, - { - "dc:identifier": "urn:uuid:1ef30a8b-876d-4828-9246-c37ab4510bbd", - "dc:type": "http://purl.org/dc/dcmitype/Service", - "dct:abstract": "Proin sit amet justo. In justo. Aenean adipiscing nulla id tellus.", - "ows:BoundingBox": { - "@crs": "urn:x-ogc:def:crs:EPSG:6.11:4326", - "ows:LowerCorner": "60.042 13.754", - "ows:UpperCorner": "68.410 17.920" - } - }, - { - "dc:identifier": "urn:uuid:66ae76b7-54ba-489b-a582-0f0633d96493", - "dc:title": "Maecenas enim", - "dc:type": "http://purl.org/dc/dcmitype/Text", - "dc:format": "application/xhtml+xml", - "dc:subject": "Marine sediments", - "dct:abstract": "Pellentesque tempus magna non sapien fringilla blandit." - }, - { - "dc:identifier": "urn:uuid:6a3de50b-fa66-4b58-a0e6-ca146fdd18d4", - "dc:type": "http://purl.org/dc/dcmitype/Service", - "dc:title": "Ut facilisis justo ut lacus", - "dc:subject": { - "@scheme": "http://www.digest.org/2.1", - "#text": "Vegetation" - }, - "dc:relation": "urn:uuid:94bc9c83-97f6-4b40-9eb8-a8e8787a5c63" - }, - { - "dc:identifier": "urn:uuid:784e2afd-a9fd-44a6-9a92-a3848371c8ec", - "dc:title": "Aliquam fermentum purus quis arcu", - "dc:type": "http://purl.org/dc/dcmitype/Text", - "dc:subject": "Hydrography--Dictionaries", - "dc:format": "application/pdf", - "dc:date": "2006-05-12", - "dct:abstract": "Vestibulum quis ipsum sit amet metus imperdiet vehicula. Nulla scelerisque cursus mi." - } - ] - } - } -} \ No newline at end of file diff --git a/tests/expected/suites_default_post_GetRecords-all-resulttype-hits.xml b/tests/expected/suites_default_post_GetRecords-all-resulttype-hits.xml deleted file mode 100644 index b93efb288..000000000 --- a/tests/expected/suites_default_post_GetRecords-all-resulttype-hits.xml +++ /dev/null @@ -1,6 +0,0 @@ - - - - - - diff --git a/tests/expected/suites_default_post_GetRecords-all-resulttype-validate.xml b/tests/expected/suites_default_post_GetRecords-all-resulttype-validate.xml deleted file mode 100644 index 40bc3449b..000000000 --- a/tests/expected/suites_default_post_GetRecords-all-resulttype-validate.xml +++ /dev/null @@ -1,11 +0,0 @@ - - - - - - - full - - - - diff --git a/tests/expected/suites_default_post_GetRecords-all-sortby-bbox.xml b/tests/expected/suites_default_post_GetRecords-all-sortby-bbox.xml deleted file mode 100644 index e6bb27292..000000000 --- a/tests/expected/suites_default_post_GetRecords-all-sortby-bbox.xml +++ /dev/null @@ -1,56 +0,0 @@ - - - - - - - urn:uuid:1ef30a8b-876d-4828-9246-c37ab4510bbd - http://purl.org/dc/dcmitype/Service - Proin sit amet justo. In justo. Aenean adipiscing nulla id tellus. - - 60.042 13.754 - 68.410 17.920 - - - - urn:uuid:9a669547-b69b-469f-a11f-2d875366bbdc - http://purl.org/dc/dcmitype/Dataset - Ñunç elementum - Hydrography-Oceanographic - 2005-10-24 - - 44.792 -6.171 - 51.126 -2.228 - - - - urn:uuid:94bc9c83-97f6-4b40-9eb8-a8e8787a5c63 - http://purl.org/dc/dcmitype/Dataset - Mauris sed neque - Vegetation-Cropland - Curabitur lacinia, ante non porta tempus, mi lorem feugiat odio, eget suscipit eros pede ac velit. - 2006-03-26 - - 47.595 -4.097 - 51.217 0.889 - - - - urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f - http://purl.org/dc/dcmitype/Image - image/svg+xml - Lorem ipsum - GR-22 - Tourism--Greece - Quisque lacus diam, placerat mollis, pharetra in, commodo sed, augue. Duis iaculis arcu vel arcu. - - - urn:uuid:66ae76b7-54ba-489b-a582-0f0633d96493 - Maecenas enim - http://purl.org/dc/dcmitype/Text - application/xhtml+xml - Marine sediments - Pellentesque tempus magna non sapien fringilla blandit. - - - diff --git a/tests/expected/suites_default_post_GetRecords-all.xml b/tests/expected/suites_default_post_GetRecords-all.xml deleted file mode 100644 index 97ead2e33..000000000 --- a/tests/expected/suites_default_post_GetRecords-all.xml +++ /dev/null @@ -1,49 +0,0 @@ - - - - - - - urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f - http://purl.org/dc/dcmitype/Image - image/svg+xml - Lorem ipsum - GR-22 - Tourism--Greece - Quisque lacus diam, placerat mollis, pharetra in, commodo sed, augue. Duis iaculis arcu vel arcu. - - - urn:uuid:1ef30a8b-876d-4828-9246-c37ab4510bbd - http://purl.org/dc/dcmitype/Service - Proin sit amet justo. In justo. Aenean adipiscing nulla id tellus. - - 60.042 13.754 - 68.410 17.920 - - - - urn:uuid:66ae76b7-54ba-489b-a582-0f0633d96493 - Maecenas enim - http://purl.org/dc/dcmitype/Text - application/xhtml+xml - Marine sediments - Pellentesque tempus magna non sapien fringilla blandit. - - - urn:uuid:6a3de50b-fa66-4b58-a0e6-ca146fdd18d4 - http://purl.org/dc/dcmitype/Service - Ut facilisis justo ut lacus - Vegetation - urn:uuid:94bc9c83-97f6-4b40-9eb8-a8e8787a5c63 - - - urn:uuid:784e2afd-a9fd-44a6-9a92-a3848371c8ec - Aliquam fermentum purus quis arcu - http://purl.org/dc/dcmitype/Text - Hydrography--Dictionaries - application/pdf - 2006-05-12 - Vestibulum quis ipsum sit amet metus imperdiet vehicula. Nulla scelerisque cursus mi. - - - diff --git a/tests/expected/suites_default_post_GetRecords-bbox-filter-crs84.xml b/tests/expected/suites_default_post_GetRecords-bbox-filter-crs84.xml deleted file mode 100644 index 97de18a9a..000000000 --- a/tests/expected/suites_default_post_GetRecords-bbox-filter-crs84.xml +++ /dev/null @@ -1,34 +0,0 @@ - - - - - - - urn:uuid:1ef30a8b-876d-4828-9246-c37ab4510bbd - - http://purl.org/dc/dcmitype/Service - - 60.04 13.75 - 68.41 17.92 - - - - urn:uuid:94bc9c83-97f6-4b40-9eb8-a8e8787a5c63 - Mauris sed neque - http://purl.org/dc/dcmitype/Dataset - - 47.59 -4.1 - 51.22 0.89 - - - - urn:uuid:9a669547-b69b-469f-a11f-2d875366bbdc - Ñunç elementum - http://purl.org/dc/dcmitype/Dataset - - 44.79 -6.17 - 51.13 -2.23 - - - - diff --git a/tests/expected/suites_default_post_GetRecords-cql-title-and-abstract.xml b/tests/expected/suites_default_post_GetRecords-cql-title-and-abstract.xml deleted file mode 100644 index 4ed61a2ee..000000000 --- a/tests/expected/suites_default_post_GetRecords-cql-title-and-abstract.xml +++ /dev/null @@ -1,12 +0,0 @@ - - - - - - - urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f - Lorem ipsum - http://purl.org/dc/dcmitype/Image - - - diff --git a/tests/expected/suites_default_post_GetRecords-cql-title.xml b/tests/expected/suites_default_post_GetRecords-cql-title.xml deleted file mode 100644 index 47493bb32..000000000 --- a/tests/expected/suites_default_post_GetRecords-cql-title.xml +++ /dev/null @@ -1,17 +0,0 @@ - - - - - - - urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f - Lorem ipsum - http://purl.org/dc/dcmitype/Image - - - urn:uuid:a06af396-3105-442d-8b40-22b57a90d2f2 - Lorem ipsum dolor sit amet - http://purl.org/dc/dcmitype/Image - - - diff --git a/tests/expected/suites_default_post_GetRecords-distributedsearch.xml b/tests/expected/suites_default_post_GetRecords-distributedsearch.xml deleted file mode 100644 index d8f0c0f9f..000000000 --- a/tests/expected/suites_default_post_GetRecords-distributedsearch.xml +++ /dev/null @@ -1,17 +0,0 @@ - - - - - - - - urn:uuid:dd87919a-e399-11e5-8327-aa0000ae6bfc - Aquifers - vector digital data - - 32.55 -117.6 - 33.51 -116.08 - - - - diff --git a/tests/expected/suites_default_post_GetRecords-elementname.xml b/tests/expected/suites_default_post_GetRecords-elementname.xml deleted file mode 100644 index 29fbf6340..000000000 --- a/tests/expected/suites_default_post_GetRecords-elementname.xml +++ /dev/null @@ -1,20 +0,0 @@ - - - - - - - Lorem ipsum - - - - Maecenas enim - - - Ut facilisis justo ut lacus - - - Aliquam fermentum purus quis arcu - - - diff --git a/tests/expected/suites_default_post_GetRecords-end.xml b/tests/expected/suites_default_post_GetRecords-end.xml deleted file mode 100644 index 814be1f3d..000000000 --- a/tests/expected/suites_default_post_GetRecords-end.xml +++ /dev/null @@ -1,30 +0,0 @@ - - - - - - - urn:uuid:a06af396-3105-442d-8b40-22b57a90d2f2 - http://purl.org/dc/dcmitype/Image - Lorem ipsum dolor sit amet - image/jpeg - IT-FI - - - urn:uuid:ab42a8c4-95e8-4630-bf79-33e59241605a - http://purl.org/dc/dcmitype/Service - Physiography - Suspendisse accumsan molestie lorem. Nullam velit turpis, mattis ut, varius bibendum, laoreet non, quam. - urn:uuid:88247b56-4cbc-4df9-9860-db3f8042e357 - - - urn:uuid:e9330592-0932-474b-be34-c3a3bb67c7db - http://purl.org/dc/dcmitype/Text - Fuscé vitae ligulä - 2003-05-09 - Land titles - text/rtf - Morbi ultriçes, dui suscipit vestibulum prètium, velit ante pretium tortor, egët tincidunt pede odio ac nulla. - - - diff --git a/tests/expected/suites_default_post_GetRecords-filter-and-bbox-freetext.xml b/tests/expected/suites_default_post_GetRecords-filter-and-bbox-freetext.xml deleted file mode 100644 index e45a6a273..000000000 --- a/tests/expected/suites_default_post_GetRecords-filter-and-bbox-freetext.xml +++ /dev/null @@ -1,16 +0,0 @@ - - - - - - - urn:uuid:94bc9c83-97f6-4b40-9eb8-a8e8787a5c63 - Mauris sed neque - http://purl.org/dc/dcmitype/Dataset - - 47.59 -4.1 - 51.22 0.89 - - - - diff --git a/tests/expected/suites_default_post_GetRecords-filter-and-nested-or.xml b/tests/expected/suites_default_post_GetRecords-filter-and-nested-or.xml deleted file mode 100644 index a05b8561a..000000000 --- a/tests/expected/suites_default_post_GetRecords-filter-and-nested-or.xml +++ /dev/null @@ -1,16 +0,0 @@ - - - - - - - urn:uuid:784e2afd-a9fd-44a6-9a92-a3848371c8ec - Aliquam fermentum purus quis arcu - http://purl.org/dc/dcmitype/Text - Hydrography--Dictionaries - application/pdf - 2006-05-12 - Vestibulum quis ipsum sit amet metus imperdiet vehicula. Nulla scelerisque cursus mi. - - - diff --git a/tests/expected/suites_default_post_GetRecords-filter-and-nested-or2.xml b/tests/expected/suites_default_post_GetRecords-filter-and-nested-or2.xml deleted file mode 100644 index 2b1accdf9..000000000 --- a/tests/expected/suites_default_post_GetRecords-filter-and-nested-or2.xml +++ /dev/null @@ -1,23 +0,0 @@ - - - - - - - urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f - http://purl.org/dc/dcmitype/Image - image/svg+xml - Lorem ipsum - GR-22 - Tourism--Greece - Quisque lacus diam, placerat mollis, pharetra in, commodo sed, augue. Duis iaculis arcu vel arcu. - - - urn:uuid:a06af396-3105-442d-8b40-22b57a90d2f2 - http://purl.org/dc/dcmitype/Image - Lorem ipsum dolor sit amet - image/jpeg - IT-FI - - - diff --git a/tests/expected/suites_default_post_GetRecords-filter-anytext-and-not.xml b/tests/expected/suites_default_post_GetRecords-filter-anytext-and-not.xml deleted file mode 100644 index d758ab92b..000000000 --- a/tests/expected/suites_default_post_GetRecords-filter-anytext-and-not.xml +++ /dev/null @@ -1,15 +0,0 @@ - - - - - - - urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f - Lorem ipsum - http://purl.org/dc/dcmitype/Image - Tourism--Greece - image/svg+xml - Quisque lacus diam, placerat mollis, pharetra in, commodo sed, augue. Duis iaculis arcu vel arcu. - - - diff --git a/tests/expected/suites_default_post_GetRecords-filter-anytext-equal.xml b/tests/expected/suites_default_post_GetRecords-filter-anytext-equal.xml deleted file mode 100644 index 3b348919b..000000000 --- a/tests/expected/suites_default_post_GetRecords-filter-anytext-equal.xml +++ /dev/null @@ -1,36 +0,0 @@ - - - - - - - urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f - Lorem ipsum - http://purl.org/dc/dcmitype/Image - - - urn:uuid:88247b56-4cbc-4df9-9860-db3f8042e357 - - http://purl.org/dc/dcmitype/Dataset - - - urn:uuid:94bc9c83-97f6-4b40-9eb8-a8e8787a5c63 - Mauris sed neque - http://purl.org/dc/dcmitype/Dataset - - 47.59 -4.1 - 51.22 0.89 - - - - urn:uuid:a06af396-3105-442d-8b40-22b57a90d2f2 - Lorem ipsum dolor sit amet - http://purl.org/dc/dcmitype/Image - - - urn:uuid:ab42a8c4-95e8-4630-bf79-33e59241605a - - http://purl.org/dc/dcmitype/Service - - - diff --git a/tests/expected/suites_default_post_GetRecords-filter-anytext.xml b/tests/expected/suites_default_post_GetRecords-filter-anytext.xml deleted file mode 100644 index 3b348919b..000000000 --- a/tests/expected/suites_default_post_GetRecords-filter-anytext.xml +++ /dev/null @@ -1,36 +0,0 @@ - - - - - - - urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f - Lorem ipsum - http://purl.org/dc/dcmitype/Image - - - urn:uuid:88247b56-4cbc-4df9-9860-db3f8042e357 - - http://purl.org/dc/dcmitype/Dataset - - - urn:uuid:94bc9c83-97f6-4b40-9eb8-a8e8787a5c63 - Mauris sed neque - http://purl.org/dc/dcmitype/Dataset - - 47.59 -4.1 - 51.22 0.89 - - - - urn:uuid:a06af396-3105-442d-8b40-22b57a90d2f2 - Lorem ipsum dolor sit amet - http://purl.org/dc/dcmitype/Image - - - urn:uuid:ab42a8c4-95e8-4630-bf79-33e59241605a - - http://purl.org/dc/dcmitype/Service - - - diff --git a/tests/expected/suites_default_post_GetRecords-filter-bbox-reproject.xml b/tests/expected/suites_default_post_GetRecords-filter-bbox-reproject.xml deleted file mode 100644 index 8f98b1d0e..000000000 --- a/tests/expected/suites_default_post_GetRecords-filter-bbox-reproject.xml +++ /dev/null @@ -1,25 +0,0 @@ - - - - - - - urn:uuid:94bc9c83-97f6-4b40-9eb8-a8e8787a5c63 - Mauris sed neque - http://purl.org/dc/dcmitype/Dataset - - 47.59 -4.1 - 51.22 0.89 - - - - urn:uuid:9a669547-b69b-469f-a11f-2d875366bbdc - Ñunç elementum - http://purl.org/dc/dcmitype/Dataset - - 44.79 -6.17 - 51.13 -2.23 - - - - diff --git a/tests/expected/suites_default_post_GetRecords-filter-bbox-sortby.xml b/tests/expected/suites_default_post_GetRecords-filter-bbox-sortby.xml deleted file mode 100644 index bb2e92067..000000000 --- a/tests/expected/suites_default_post_GetRecords-filter-bbox-sortby.xml +++ /dev/null @@ -1,25 +0,0 @@ - - - - - - - urn:uuid:9a669547-b69b-469f-a11f-2d875366bbdc - Ñunç elementum - http://purl.org/dc/dcmitype/Dataset - - 44.79 -6.17 - 51.13 -2.23 - - - - urn:uuid:94bc9c83-97f6-4b40-9eb8-a8e8787a5c63 - Mauris sed neque - http://purl.org/dc/dcmitype/Dataset - - 47.59 -4.1 - 51.22 0.89 - - - - diff --git a/tests/expected/suites_default_post_GetRecords-filter-bbox.xml b/tests/expected/suites_default_post_GetRecords-filter-bbox.xml deleted file mode 100644 index 8f98b1d0e..000000000 --- a/tests/expected/suites_default_post_GetRecords-filter-bbox.xml +++ /dev/null @@ -1,25 +0,0 @@ - - - - - - - urn:uuid:94bc9c83-97f6-4b40-9eb8-a8e8787a5c63 - Mauris sed neque - http://purl.org/dc/dcmitype/Dataset - - 47.59 -4.1 - 51.22 0.89 - - - - urn:uuid:9a669547-b69b-469f-a11f-2d875366bbdc - Ñunç elementum - http://purl.org/dc/dcmitype/Dataset - - 44.79 -6.17 - 51.13 -2.23 - - - - diff --git a/tests/expected/suites_default_post_GetRecords-filter-between.xml b/tests/expected/suites_default_post_GetRecords-filter-between.xml deleted file mode 100644 index 37d75866e..000000000 --- a/tests/expected/suites_default_post_GetRecords-filter-between.xml +++ /dev/null @@ -1,49 +0,0 @@ - - - - - - - urn:uuid:784e2afd-a9fd-44a6-9a92-a3848371c8ec - Aliquam fermentum purus quis arcu - http://purl.org/dc/dcmitype/Text - Hydrography--Dictionaries - application/pdf - 2006-05-12 - Vestibulum quis ipsum sit amet metus imperdiet vehicula. Nulla scelerisque cursus mi. - - - urn:uuid:e9330592-0932-474b-be34-c3a3bb67c7db - http://purl.org/dc/dcmitype/Text - Fuscé vitae ligulä - 2003-05-09 - Land titles - text/rtf - Morbi ultriçes, dui suscipit vestibulum prètium, velit ante pretium tortor, egët tincidunt pede odio ac nulla. - - - urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f - http://purl.org/dc/dcmitype/Image - image/svg+xml - Lorem ipsum - GR-22 - Tourism--Greece - Quisque lacus diam, placerat mollis, pharetra in, commodo sed, augue. Duis iaculis arcu vel arcu. - - - urn:uuid:a06af396-3105-442d-8b40-22b57a90d2f2 - http://purl.org/dc/dcmitype/Image - Lorem ipsum dolor sit amet - image/jpeg - IT-FI - - - urn:uuid:66ae76b7-54ba-489b-a582-0f0633d96493 - Maecenas enim - http://purl.org/dc/dcmitype/Text - application/xhtml+xml - Marine sediments - Pellentesque tempus magna non sapien fringilla blandit. - - - diff --git a/tests/expected/suites_default_post_GetRecords-filter-function-bad.xml b/tests/expected/suites_default_post_GetRecords-filter-function-bad.xml deleted file mode 100644 index bc63e8426..000000000 --- a/tests/expected/suites_default_post_GetRecords-filter-function-bad.xml +++ /dev/null @@ -1,7 +0,0 @@ - - - - - Invalid Constraint: Invalid Filter request: Invalid ogc:Function: foo - - diff --git a/tests/expected/suites_default_post_GetRecords-filter-function.xml b/tests/expected/suites_default_post_GetRecords-filter-function.xml deleted file mode 100644 index 4ed61a2ee..000000000 --- a/tests/expected/suites_default_post_GetRecords-filter-function.xml +++ /dev/null @@ -1,12 +0,0 @@ - - - - - - - urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f - Lorem ipsum - http://purl.org/dc/dcmitype/Image - - - diff --git a/tests/expected/suites_default_post_GetRecords-filter-not-bbox.xml b/tests/expected/suites_default_post_GetRecords-filter-not-bbox.xml deleted file mode 100644 index 03686d45d..000000000 --- a/tests/expected/suites_default_post_GetRecords-filter-not-bbox.xml +++ /dev/null @@ -1,36 +0,0 @@ - - - - - - - urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f - Lorem ipsum - http://purl.org/dc/dcmitype/Image - - - urn:uuid:1ef30a8b-876d-4828-9246-c37ab4510bbd - - http://purl.org/dc/dcmitype/Service - - 60.04 13.75 - 68.41 17.92 - - - - urn:uuid:66ae76b7-54ba-489b-a582-0f0633d96493 - Maecenas enim - http://purl.org/dc/dcmitype/Text - - - urn:uuid:6a3de50b-fa66-4b58-a0e6-ca146fdd18d4 - Ut facilisis justo ut lacus - http://purl.org/dc/dcmitype/Service - - - urn:uuid:784e2afd-a9fd-44a6-9a92-a3848371c8ec - Aliquam fermentum purus quis arcu - http://purl.org/dc/dcmitype/Text - - - diff --git a/tests/expected/suites_default_post_GetRecords-filter-or-bbox-freetext.xml b/tests/expected/suites_default_post_GetRecords-filter-or-bbox-freetext.xml deleted file mode 100644 index 8f98b1d0e..000000000 --- a/tests/expected/suites_default_post_GetRecords-filter-or-bbox-freetext.xml +++ /dev/null @@ -1,25 +0,0 @@ - - - - - - - urn:uuid:94bc9c83-97f6-4b40-9eb8-a8e8787a5c63 - Mauris sed neque - http://purl.org/dc/dcmitype/Dataset - - 47.59 -4.1 - 51.22 0.89 - - - - urn:uuid:9a669547-b69b-469f-a11f-2d875366bbdc - Ñunç elementum - http://purl.org/dc/dcmitype/Dataset - - 44.79 -6.17 - 51.13 -2.23 - - - - diff --git a/tests/expected/suites_default_post_GetRecords-filter-or-nested-and.xml b/tests/expected/suites_default_post_GetRecords-filter-or-nested-and.xml deleted file mode 100644 index 077ef2fb1..000000000 --- a/tests/expected/suites_default_post_GetRecords-filter-or-nested-and.xml +++ /dev/null @@ -1,60 +0,0 @@ - - - - - - - urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f - http://purl.org/dc/dcmitype/Image - image/svg+xml - Lorem ipsum - GR-22 - Tourism--Greece - Quisque lacus diam, placerat mollis, pharetra in, commodo sed, augue. Duis iaculis arcu vel arcu. - - - urn:uuid:829babb0-b2f1-49e1-8cd5-7b489fe71a1e - http://purl.org/dc/dcmitype/Image - image/jp2 - Vestibulum massa purus - urn:uuid:9a669547-b69b-469f-a11f-2d875366bbdc - - - urn:uuid:88247b56-4cbc-4df9-9860-db3f8042e357 - http://purl.org/dc/dcmitype/Dataset - Physiography-Landforms - FI-ES - Donec scelerisque pede ut nisl luctus accumsan. Quisque ultrices, lorem eget feugiat fringilla, lorem dui porttitor ante, cursus ultrices magna odio eu neque. - - - urn:uuid:94bc9c83-97f6-4b40-9eb8-a8e8787a5c63 - http://purl.org/dc/dcmitype/Dataset - Mauris sed neque - Vegetation-Cropland - Curabitur lacinia, ante non porta tempus, mi lorem feugiat odio, eget suscipit eros pede ac velit. - 2006-03-26 - - 47.595 -4.097 - 51.217 0.889 - - - - urn:uuid:9a669547-b69b-469f-a11f-2d875366bbdc - http://purl.org/dc/dcmitype/Dataset - Ñunç elementum - Hydrography-Oceanographic - 2005-10-24 - - 44.792 -6.171 - 51.126 -2.228 - - - - urn:uuid:a06af396-3105-442d-8b40-22b57a90d2f2 - http://purl.org/dc/dcmitype/Image - Lorem ipsum dolor sit amet - image/jpeg - IT-FI - - - diff --git a/tests/expected/suites_default_post_GetRecords-filter-or-title-abstract.xml b/tests/expected/suites_default_post_GetRecords-filter-or-title-abstract.xml deleted file mode 100644 index 0f34eb38b..000000000 --- a/tests/expected/suites_default_post_GetRecords-filter-or-title-abstract.xml +++ /dev/null @@ -1,19 +0,0 @@ - - - - - - - urn:uuid:94bc9c83-97f6-4b40-9eb8-a8e8787a5c63 - http://purl.org/dc/dcmitype/Dataset - Mauris sed neque - Vegetation-Cropland - Curabitur lacinia, ante non porta tempus, mi lorem feugiat odio, eget suscipit eros pede ac velit. - 2006-03-26 - - 47.595 -4.097 - 51.217 0.889 - - - - diff --git a/tests/expected/suites_default_post_GetRecords-maxrecords.xml b/tests/expected/suites_default_post_GetRecords-maxrecords.xml deleted file mode 100644 index bd4275d63..000000000 --- a/tests/expected/suites_default_post_GetRecords-maxrecords.xml +++ /dev/null @@ -1,16 +0,0 @@ - - - - - - - urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f - http://purl.org/dc/dcmitype/Image - image/svg+xml - Lorem ipsum - GR-22 - Tourism--Greece - Quisque lacus diam, placerat mollis, pharetra in, commodo sed, augue. Duis iaculis arcu vel arcu. - - - diff --git a/tests/expected/suites_default_post_GetRecords-requestid.xml b/tests/expected/suites_default_post_GetRecords-requestid.xml deleted file mode 100644 index 31d201904..000000000 --- a/tests/expected/suites_default_post_GetRecords-requestid.xml +++ /dev/null @@ -1,50 +0,0 @@ - - - - ce74a6c8-677a-42b3-a07c-ce44df8ce7ab - - - - urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f - http://purl.org/dc/dcmitype/Image - image/svg+xml - Lorem ipsum - GR-22 - Tourism--Greece - Quisque lacus diam, placerat mollis, pharetra in, commodo sed, augue. Duis iaculis arcu vel arcu. - - - urn:uuid:1ef30a8b-876d-4828-9246-c37ab4510bbd - http://purl.org/dc/dcmitype/Service - Proin sit amet justo. In justo. Aenean adipiscing nulla id tellus. - - 60.042 13.754 - 68.410 17.920 - - - - urn:uuid:66ae76b7-54ba-489b-a582-0f0633d96493 - Maecenas enim - http://purl.org/dc/dcmitype/Text - application/xhtml+xml - Marine sediments - Pellentesque tempus magna non sapien fringilla blandit. - - - urn:uuid:6a3de50b-fa66-4b58-a0e6-ca146fdd18d4 - http://purl.org/dc/dcmitype/Service - Ut facilisis justo ut lacus - Vegetation - urn:uuid:94bc9c83-97f6-4b40-9eb8-a8e8787a5c63 - - - urn:uuid:784e2afd-a9fd-44a6-9a92-a3848371c8ec - Aliquam fermentum purus quis arcu - http://purl.org/dc/dcmitype/Text - Hydrography--Dictionaries - application/pdf - 2006-05-12 - Vestibulum quis ipsum sit amet metus imperdiet vehicula. Nulla scelerisque cursus mi. - - - diff --git a/tests/expected/suites_default_post_Harvest-default.xml b/tests/expected/suites_default_post_Harvest-default.xml deleted file mode 100644 index 169151fb0..000000000 --- a/tests/expected/suites_default_post_Harvest-default.xml +++ /dev/null @@ -1,7 +0,0 @@ - - - - - Harvest operations are not supported - - diff --git a/tests/expected/suites_default_post_Harvest-response-handler.xml b/tests/expected/suites_default_post_Harvest-response-handler.xml deleted file mode 100644 index 169151fb0..000000000 --- a/tests/expected/suites_default_post_Harvest-response-handler.xml +++ /dev/null @@ -1,7 +0,0 @@ - - - - - Harvest operations are not supported - - diff --git a/tests/expected/suites_default_post_Transaction-delete.xml b/tests/expected/suites_default_post_Transaction-delete.xml deleted file mode 100644 index 2b4a6e3fd..000000000 --- a/tests/expected/suites_default_post_Transaction-delete.xml +++ /dev/null @@ -1,7 +0,0 @@ - - - - - Invalid Constraint: Invalid Filter request: Invalid PropertyName: apiso:Identifier. 'apiso:Identifier' - - diff --git a/tests/expected/suites_default_post_Transaction-insert.xml b/tests/expected/suites_default_post_Transaction-insert.xml deleted file mode 100644 index f5df4c66c..000000000 --- a/tests/expected/suites_default_post_Transaction-insert.xml +++ /dev/null @@ -1,7 +0,0 @@ - - - - - Transaction operations are not supported - - diff --git a/tests/expected/suites_default_post_Transaction-update-full.xml b/tests/expected/suites_default_post_Transaction-update-full.xml deleted file mode 100644 index f5df4c66c..000000000 --- a/tests/expected/suites_default_post_Transaction-update-full.xml +++ /dev/null @@ -1,7 +0,0 @@ - - - - - Transaction operations are not supported - - diff --git a/tests/expected/suites_default_post_Transaction-update-recordproperty.xml b/tests/expected/suites_default_post_Transaction-update-recordproperty.xml deleted file mode 100644 index f5df4c66c..000000000 --- a/tests/expected/suites_default_post_Transaction-update-recordproperty.xml +++ /dev/null @@ -1,7 +0,0 @@ - - - - - Transaction operations are not supported - - diff --git a/tests/expected/suites_dif_post_DescribeRecord.xml b/tests/expected/suites_dif_post_DescribeRecord.xml deleted file mode 100644 index 5f82a7d41..000000000 --- a/tests/expected/suites_dif_post_DescribeRecord.xml +++ /dev/null @@ -1,3 +0,0 @@ - - - diff --git a/tests/expected/suites_dif_post_GetCapabilities.xml b/tests/expected/suites_dif_post_GetCapabilities.xml deleted file mode 100644 index deefdd1b5..000000000 --- a/tests/expected/suites_dif_post_GetCapabilities.xml +++ /dev/null @@ -1,264 +0,0 @@ - - - - - pycsw Geospatial Catalogue - pycsw is an OGC CSW server implementation written in Python - - catalogue - discovery - theme - - CSW - 2.0.2 - 3.0.0 - None - None - - - pycsw - - - Kralidis, Tom - Senior Systems Scientist - - - +01-416-xxx-xxxx - +01-416-xxx-xxxx - - - TBA - Toronto - Ontario - M9C 3Z9 - Canada - tomkralidis@gmail.com - - - 0800h - 1600h EST - During hours of service. Off on weekends. - - pointOfContact - - - - - - - - - - - - Filter_Capabilities - OperationsMetadata - ServiceIdentification - ServiceProvider - - - - - - - - - - - application/json - application/xml - - - http://www.w3.org/2001/XMLSchema - http://www.w3.org/TR/xmlschema-1/ - http://www.w3.org/XML/Schema - - - csw:Record - - - - - - - - - - - DescribeRecord.outputFormat - DescribeRecord.schemaLanguage - DescribeRecord.typeName - GetCapabilities.sections - GetRecordById.ElementSetName - GetRecordById.outputFormat - GetRecordById.outputSchema - GetRecords.CONSTRAINTLANGUAGE - GetRecords.ElementSetName - GetRecords.outputFormat - GetRecords.outputSchema - GetRecords.resultType - GetRecords.typeNames - - - - - - - - - - - CQL_TEXT - FILTER - - - brief - full - summary - - - application/json - application/xml - - - http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ - http://www.interlis.ch/INTERLIS2.3 - http://www.opengis.net/cat/csw/2.0.2 - http://www.opengis.net/cat/csw/csdgm - http://www.w3.org/2005/Atom - - - hits - results - validate - - - csw:Record - - - csw:AnyText - dc:contributor - dc:creator - dc:date - dc:format - dc:identifier - dc:language - dc:publisher - dc:relation - dc:rights - dc:source - dc:subject - dc:title - dc:type - dct:abstract - dct:alternative - dct:modified - dct:spatial - ows:BoundingBox - - - - - - - - - - - brief - full - summary - - - application/json - application/xml - - - http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ - http://www.interlis.ch/INTERLIS2.3 - http://www.opengis.net/cat/csw/2.0.2 - http://www.opengis.net/cat/csw/csdgm - http://www.w3.org/2005/Atom - - - - - - - - - - - CSW - - - 2.0.2 - 3.0.0 - - - http://geo.data.gov/geoportal/csw/discovery - - - 10 - - - XML - SOAP - - - allowed - - - - - - gml:Point - gml:LineString - gml:Polygon - gml:Envelope - - - - - - - - - - - - - - - - - - - Between - EqualTo - GreaterThan - GreaterThanEqualTo - LessThan - LessThanEqualTo - Like - NotEqualTo - NullCheck - - - - - length - lower - ltrim - rtrim - trim - upper - - - - - - - - - - diff --git a/tests/expected/suites_dif_post_GetRecords-filter-bbox.xml b/tests/expected/suites_dif_post_GetRecords-filter-bbox.xml deleted file mode 100644 index d6a763d1f..000000000 --- a/tests/expected/suites_dif_post_GetRecords-filter-bbox.xml +++ /dev/null @@ -1,71 +0,0 @@ - - - - - - - urn:uuid:94bc9c83-97f6-4b40-9eb8-a8e8787a5c63 - Mauris sed neque - - - - - - - - Vegetation-Cropland - - - - - - 47.59 - 51.22 - -4.1 - 0.89 - - - - - Curabitur lacinia, ante non porta tempus, mi lorem feugiat odio, eget suscipit eros pede ac velit. - - - - - CEOS IDN DIF - 9.7 - - - urn:uuid:9a669547-b69b-469f-a11f-2d875366bbdc - Ñunç elementum - - - - - - - - Hydrography-Oceanographic - - - - - - 44.79 - 51.13 - -6.17 - -2.23 - - - - - - - - - - CEOS IDN DIF - 9.7 - - - diff --git a/tests/expected/suites_ebrim_post_DescribeRecord.xml b/tests/expected/suites_ebrim_post_DescribeRecord.xml deleted file mode 100644 index 87e4d86a2..000000000 --- a/tests/expected/suites_ebrim_post_DescribeRecord.xml +++ /dev/null @@ -1,93 +0,0 @@ - - - - - - - - - - - rim:Value not allowed in this context: expected wrs:AnyValue. - - - - - Schema for CSW-ebRIM catalogue profile (OGC 07-110r3). - - - - - - - - - - - - - A general record identifier, expressed as an absolute URI that maps to - the rim:RegistryObject/@id attribute. It substitutes for the ogc:_Id - element in an OGC filter expression. - - - - - - - - - - - - - - Extends rim:ExtrinsicObjectType to add the following: - 1. MTOM/XOP based attachment support. - 2. XLink based reference to a part in a multipart/related message - structure. - NOTE: This content model is planned for RegRep 4.0. - - - - - - - - - - - - - - - - Allows complex slot values. - - - - - - - - - - - - - - - - - - - - - Incorporates the attributes defined for use in simple XLink elements. - - - - - - - diff --git a/tests/expected/suites_ebrim_post_GetCapabilities.xml b/tests/expected/suites_ebrim_post_GetCapabilities.xml deleted file mode 100644 index c9fd517d5..000000000 --- a/tests/expected/suites_ebrim_post_GetCapabilities.xml +++ /dev/null @@ -1,268 +0,0 @@ - - - - - pycsw Geospatial Catalogue - pycsw is an OGC CSW server implementation written in Python - - catalogue - discovery - theme - - CSW - 2.0.2 - 3.0.0 - None - None - - - pycsw - - - Kralidis, Tom - Senior Systems Scientist - - - +01-416-xxx-xxxx - +01-416-xxx-xxxx - - - TBA - Toronto - Ontario - M9C 3Z9 - Canada - tomkralidis@gmail.com - - - 0800h - 1600h EST - During hours of service. Off on weekends. - - pointOfContact - - - - - - - - - - - - Filter_Capabilities - OperationsMetadata - ServiceIdentification - ServiceProvider - - - - - - - - - - - application/json - application/xml - - - http://www.w3.org/2001/XMLSchema - http://www.w3.org/TR/xmlschema-1/ - http://www.w3.org/XML/Schema - - - csw:Record - rim:RegistryObject - - - - - - - - - - - DescribeRecord.outputFormat - DescribeRecord.schemaLanguage - DescribeRecord.typeName - GetCapabilities.sections - GetRecordById.ElementSetName - GetRecordById.outputFormat - GetRecordById.outputSchema - GetRecords.CONSTRAINTLANGUAGE - GetRecords.ElementSetName - GetRecords.outputFormat - GetRecords.outputSchema - GetRecords.resultType - GetRecords.typeNames - - - - - - - - - - - CQL_TEXT - FILTER - - - brief - full - summary - - - application/json - application/xml - - - http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ - http://www.interlis.ch/INTERLIS2.3 - http://www.opengis.net/cat/csw/2.0.2 - http://www.opengis.net/cat/csw/csdgm - http://www.w3.org/2005/Atom - urn:oasis:names:tc:ebxml-regrep:xsd:rim:3.0 - - - hits - results - validate - - - csw:Record - rim:RegistryObject - - - csw:AnyText - dc:contributor - dc:creator - dc:date - dc:format - dc:identifier - dc:language - dc:publisher - dc:relation - dc:rights - dc:source - dc:subject - dc:title - dc:type - dct:abstract - dct:alternative - dct:modified - dct:spatial - ows:BoundingBox - - - - - - - - - - - brief - full - summary - - - application/json - application/xml - - - http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ - http://www.interlis.ch/INTERLIS2.3 - http://www.opengis.net/cat/csw/2.0.2 - http://www.opengis.net/cat/csw/csdgm - http://www.w3.org/2005/Atom - urn:oasis:names:tc:ebxml-regrep:xsd:rim:3.0 - - - - - - - - - - - CSW - - - 2.0.2 - 3.0.0 - - - http://geo.data.gov/geoportal/csw/discovery - - - 10 - - - XML - SOAP - - - allowed - - - - - - gml:Point - gml:LineString - gml:Polygon - gml:Envelope - - - - - - - - - - - - - - - - - - - Between - EqualTo - GreaterThan - GreaterThanEqualTo - LessThan - LessThanEqualTo - Like - NotEqualTo - NullCheck - - - - - length - lower - ltrim - rtrim - trim - upper - - - - - - - - - - diff --git a/tests/expected/suites_ebrim_post_GetRecords-filter-bbox-full.xml b/tests/expected/suites_ebrim_post_GetRecords-filter-bbox-full.xml deleted file mode 100644 index 5b2074c47..000000000 --- a/tests/expected/suites_ebrim_post_GetRecords-filter-bbox-full.xml +++ /dev/null @@ -1,57 +0,0 @@ - - - - - - - - - - - - - - - - - - - 47.59 -4.1 - 51.22 0.89 - - - - - - - Vegetation-Cropland - - - - - - - - - - - - - - - - - 44.79 -6.17 - 51.13 -2.23 - - - - - - - Hydrography-Oceanographic - - - - - diff --git a/tests/expected/suites_ebrim_post_GetRecords-filter-bbox.xml b/tests/expected/suites_ebrim_post_GetRecords-filter-bbox.xml deleted file mode 100644 index fdc31f2c3..000000000 --- a/tests/expected/suites_ebrim_post_GetRecords-filter-bbox.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - diff --git a/tests/expected/suites_fgdc_post_DescribeRecord.xml b/tests/expected/suites_fgdc_post_DescribeRecord.xml deleted file mode 100644 index 5f82a7d41..000000000 --- a/tests/expected/suites_fgdc_post_DescribeRecord.xml +++ /dev/null @@ -1,3 +0,0 @@ - - - diff --git a/tests/expected/suites_fgdc_post_GetCapabilities.xml b/tests/expected/suites_fgdc_post_GetCapabilities.xml deleted file mode 100644 index 3a83ea90d..000000000 --- a/tests/expected/suites_fgdc_post_GetCapabilities.xml +++ /dev/null @@ -1,264 +0,0 @@ - - - - - pycsw Geospatial Catalogue - pycsw is an OGC CSW server implementation written in Python - - catalogue - discovery - theme - - CSW - 2.0.2 - 3.0.0 - None - None - - - pycsw - - - Kralidis, Tom - Senior Systems Scientist - - - +01-416-xxx-xxxx - +01-416-xxx-xxxx - - - TBA - Toronto - Ontario - M9C 3Z9 - Canada - tomkralidis@gmail.com - - - 0800h - 1600h EST - During hours of service. Off on weekends. - - pointOfContact - - - - - - - - - - - - Filter_Capabilities - OperationsMetadata - ServiceIdentification - ServiceProvider - - - - - - - - - - - application/json - application/xml - - - http://www.w3.org/2001/XMLSchema - http://www.w3.org/TR/xmlschema-1/ - http://www.w3.org/XML/Schema - - - csw:Record - - - - - - - - - - - DescribeRecord.outputFormat - DescribeRecord.schemaLanguage - DescribeRecord.typeName - GetCapabilities.sections - GetRecordById.ElementSetName - GetRecordById.outputFormat - GetRecordById.outputSchema - GetRecords.CONSTRAINTLANGUAGE - GetRecords.ElementSetName - GetRecords.outputFormat - GetRecords.outputSchema - GetRecords.resultType - GetRecords.typeNames - - - - - - - - - - - CQL_TEXT - FILTER - - - brief - full - summary - - - application/json - application/xml - - - http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ - http://www.interlis.ch/INTERLIS2.3 - http://www.opengis.net/cat/csw/2.0.2 - http://www.opengis.net/cat/csw/csdgm - http://www.w3.org/2005/Atom - - - hits - results - validate - - - csw:Record - - - csw:AnyText - dc:contributor - dc:creator - dc:date - dc:format - dc:identifier - dc:language - dc:publisher - dc:relation - dc:rights - dc:source - dc:subject - dc:title - dc:type - dct:abstract - dct:alternative - dct:modified - dct:spatial - ows:BoundingBox - - - - - - - - - - - brief - full - summary - - - application/json - application/xml - - - http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ - http://www.interlis.ch/INTERLIS2.3 - http://www.opengis.net/cat/csw/2.0.2 - http://www.opengis.net/cat/csw/csdgm - http://www.w3.org/2005/Atom - - - - - - - - - - - CSW - - - 2.0.2 - 3.0.0 - - - http://geo.data.gov/geoportal/csw/discovery - - - 10 - - - XML - SOAP - - - allowed - - - - - - gml:Point - gml:LineString - gml:Polygon - gml:Envelope - - - - - - - - - - - - - - - - - - - Between - EqualTo - GreaterThan - GreaterThanEqualTo - LessThan - LessThanEqualTo - Like - NotEqualTo - NullCheck - - - - - length - lower - ltrim - rtrim - trim - upper - - - - - - - - - - diff --git a/tests/expected/suites_fgdc_post_GetRecords-filter-bbox.xml b/tests/expected/suites_fgdc_post_GetRecords-filter-bbox.xml deleted file mode 100644 index 5f8c20dc1..000000000 --- a/tests/expected/suites_fgdc_post_GetRecords-filter-bbox.xml +++ /dev/null @@ -1,123 +0,0 @@ - - - - - - - - urn:uuid:94bc9c83-97f6-4b40-9eb8-a8e8787a5c63 - - - Mauris sed neque - - - - - - - - - - - Vegetation-Cropland - - - - - Curabitur lacinia, ante non porta tempus, mi lorem feugiat odio, eget suscipit eros pede ac velit. - - - - -4.1 - 0.89 - 51.22 - 47.59 - - - - - http://purl.org/dc/dcmitype/Dataset - - - - - - - - - - - - - - - - - - - - - - - - - - - urn:uuid:9a669547-b69b-469f-a11f-2d875366bbdc - - - Ñunç elementum - - - - - - - - - - - Hydrography-Oceanographic - - - - - - - - - -6.17 - -2.23 - 51.13 - 44.79 - - - - - http://purl.org/dc/dcmitype/Dataset - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/tests/expected/suites_gm03_post_GetCapabilities.xml b/tests/expected/suites_gm03_post_GetCapabilities.xml deleted file mode 100644 index fe524be71..000000000 --- a/tests/expected/suites_gm03_post_GetCapabilities.xml +++ /dev/null @@ -1,264 +0,0 @@ - - - - - pycsw Geospatial Catalogue - pycsw is an OGC CSW server implementation written in Python - - catalogue - discovery - theme - - CSW - 2.0.2 - 3.0.0 - None - None - - - pycsw - - - Kralidis, Tom - Senior Systems Scientist - - - +01-416-xxx-xxxx - +01-416-xxx-xxxx - - - TBA - Toronto - Ontario - M9C 3Z9 - Canada - tomkralidis@gmail.com - - - 0800h - 1600h EST - During hours of service. Off on weekends. - - pointOfContact - - - - - - - - - - - - Filter_Capabilities - OperationsMetadata - ServiceIdentification - ServiceProvider - - - - - - - - - - - application/json - application/xml - - - http://www.w3.org/2001/XMLSchema - http://www.w3.org/TR/xmlschema-1/ - http://www.w3.org/XML/Schema - - - csw:Record - - - - - - - - - - - DescribeRecord.outputFormat - DescribeRecord.schemaLanguage - DescribeRecord.typeName - GetCapabilities.sections - GetRecordById.ElementSetName - GetRecordById.outputFormat - GetRecordById.outputSchema - GetRecords.CONSTRAINTLANGUAGE - GetRecords.ElementSetName - GetRecords.outputFormat - GetRecords.outputSchema - GetRecords.resultType - GetRecords.typeNames - - - - - - - - - - - CQL_TEXT - FILTER - - - brief - full - summary - - - application/json - application/xml - - - http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ - http://www.interlis.ch/INTERLIS2.3 - http://www.opengis.net/cat/csw/2.0.2 - http://www.opengis.net/cat/csw/csdgm - http://www.w3.org/2005/Atom - - - hits - results - validate - - - csw:Record - - - csw:AnyText - dc:contributor - dc:creator - dc:date - dc:format - dc:identifier - dc:language - dc:publisher - dc:relation - dc:rights - dc:source - dc:subject - dc:title - dc:type - dct:abstract - dct:alternative - dct:modified - dct:spatial - ows:BoundingBox - - - - - - - - - - - brief - full - summary - - - application/json - application/xml - - - http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ - http://www.interlis.ch/INTERLIS2.3 - http://www.opengis.net/cat/csw/2.0.2 - http://www.opengis.net/cat/csw/csdgm - http://www.w3.org/2005/Atom - - - - - - - - - - - CSW - - - 2.0.2 - 3.0.0 - - - http://geo.data.gov/geoportal/csw/discovery - - - 10 - - - XML - SOAP - - - allowed - - - - - - gml:Point - gml:LineString - gml:Polygon - gml:Envelope - - - - - - - - - - - - - - - - - - - Between - EqualTo - GreaterThan - GreaterThanEqualTo - LessThan - LessThanEqualTo - Like - NotEqualTo - NullCheck - - - - - length - lower - ltrim - rtrim - trim - upper - - - - - - - - - - diff --git a/tests/expected/suites_gm03_post_GetRecords-filter-bbox.xml b/tests/expected/suites_gm03_post_GetRecords-filter-bbox.xml deleted file mode 100644 index 55213c6e1..000000000 --- a/tests/expected/suites_gm03_post_GetRecords-filter-bbox.xml +++ /dev/null @@ -1,137 +0,0 @@ - - - - - - - - - - - - - urn:uuid:94bc9c83-97f6-4b40-9eb8-a8e8787a5c63 - - - GM03 - 2.3 - - - http://purl.org/dc/dcmitype/Dataset - - - - - - - - - - - - - - Mauris sed neque - - - - - - - - - - - Curabitur lacinia, ante non porta tempus, mi lorem feugiat odio, eget suscipit eros pede ac velit. - - - - - - - - - - - Vegetation-Cropland - - - - - - - 51.22 - 47.59 - -4.1 - 0.89 - - - - - - - - - - - - urn:uuid:9a669547-b69b-469f-a11f-2d875366bbdc - - - GM03 - 2.3 - - - http://purl.org/dc/dcmitype/Dataset - - - - - - - - - - - - - - Ñunç elementum - - - - - - - - - - - - - - - - - - - - - - Hydrography-Oceanographic - - - - - - - 51.13 - 44.79 - -6.17 - -2.23 - - - - - - diff --git a/tests/expected/suites_harvesting_get_Exception-Harvest-invalid-resourcetype.xml b/tests/expected/suites_harvesting_get_Exception-Harvest-invalid-resourcetype.xml deleted file mode 100644 index 4e1e40cd8..000000000 --- a/tests/expected/suites_harvesting_get_Exception-Harvest-invalid-resourcetype.xml +++ /dev/null @@ -1,7 +0,0 @@ - - - - - Invalid resource type parameter: http://www.opengis.net/wms1234. Allowable resourcetype values: http://www.opengis.net/cat/csw/2.0.2,http://www.opengis.net/cat/csw/3.0,http://www.opengis.net/wms,http://www.opengis.net/wmts/1.0,http://www.opengis.net/wfs,http://www.opengis.net/wfs/2.0,http://www.opengis.net/wcs,http://www.opengis.net/wps/1.0.0,http://www.opengis.net/sos/1.0,http://www.opengis.net/sos/2.0,http://www.isotc211.org/2005/gmi,urn:geoss:waf,http://www.interlis.ch/INTERLIS2.3,http://www.opengis.net/cat/csw/csdgm,http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/,http://www.w3.org/2005/Atom,http://www.isotc211.org/2005/gmd,http://www.isotc211.org/schemas/2005/gmd/ - - diff --git a/tests/expected/suites_harvesting_get_Exception-Harvest-missing-resourcetype.xml b/tests/expected/suites_harvesting_get_Exception-Harvest-missing-resourcetype.xml deleted file mode 100644 index 36852c4f6..000000000 --- a/tests/expected/suites_harvesting_get_Exception-Harvest-missing-resourcetype.xml +++ /dev/null @@ -1,7 +0,0 @@ - - - - - Missing resourcetype parameter - - diff --git a/tests/expected/suites_harvesting_get_Exception-Harvest-missing-source.xml b/tests/expected/suites_harvesting_get_Exception-Harvest-missing-source.xml deleted file mode 100644 index 250afe73d..000000000 --- a/tests/expected/suites_harvesting_get_Exception-Harvest-missing-source.xml +++ /dev/null @@ -1,7 +0,0 @@ - - - - - Missing source parameter - - diff --git a/tests/expected/suites_harvesting_get_Exception-Harvest-waf-bad-value.xml b/tests/expected/suites_harvesting_get_Exception-Harvest-waf-bad-value.xml deleted file mode 100644 index 4739bff30..000000000 --- a/tests/expected/suites_harvesting_get_Exception-Harvest-waf-bad-value.xml +++ /dev/null @@ -1,7 +0,0 @@ - - - - - Harvest failed: record parsing failed: unknown url type: badvalue - - diff --git a/tests/expected/suites_harvesting_get_Exception-Harvest-waf-no-records-found.xml b/tests/expected/suites_harvesting_get_Exception-Harvest-waf-no-records-found.xml deleted file mode 100644 index 177601c6b..000000000 --- a/tests/expected/suites_harvesting_get_Exception-Harvest-waf-no-records-found.xml +++ /dev/null @@ -1,11 +0,0 @@ - - - - - - 0 - 0 - 0 - - - diff --git a/tests/expected/suites_harvesting_post_Clear-000-delete-all.xml b/tests/expected/suites_harvesting_post_Clear-000-delete-all.xml deleted file mode 100644 index 01ccdf629..000000000 --- a/tests/expected/suites_harvesting_post_Clear-000-delete-all.xml +++ /dev/null @@ -1,9 +0,0 @@ - - - - - 0 - 0 - 0 - - diff --git a/tests/expected/suites_harvesting_post_Exception-Havest-csw-404.xml b/tests/expected/suites_harvesting_post_Exception-Havest-csw-404.xml deleted file mode 100644 index 371aae9c0..000000000 --- a/tests/expected/suites_harvesting_post_Exception-Havest-csw-404.xml +++ /dev/null @@ -1,7 +0,0 @@ - - - - - Harvest failed: record parsing failed: HTTP error: HTTP Error 404: Not Found - - diff --git a/tests/expected/suites_harvesting_post_GetCapabilities.xml b/tests/expected/suites_harvesting_post_GetCapabilities.xml deleted file mode 100644 index c7b5eea6b..000000000 --- a/tests/expected/suites_harvesting_post_GetCapabilities.xml +++ /dev/null @@ -1,370 +0,0 @@ - - - - - pycsw Geospatial Catalogue - pycsw is an OGC CSW server implementation written in Python - - catalogue - discovery - theme - - CSW - 2.0.2 - 3.0.0 - None - None - - - pycsw - - - Kralidis, Tom - Senior Systems Scientist - - - +01-416-xxx-xxxx - +01-416-xxx-xxxx - - - TBA - Toronto - Ontario - M9C 3Z9 - Canada - tomkralidis@gmail.com - - - 0800h - 1600h EST - During hours of service. Off on weekends. - - pointOfContact - - - - - - - - - - - - Filter_Capabilities - OperationsMetadata - ServiceIdentification - ServiceProvider - - - - - - - - - - - application/json - application/xml - - - http://www.w3.org/2001/XMLSchema - http://www.w3.org/TR/xmlschema-1/ - http://www.w3.org/XML/Schema - - - csw:Record - gmd:MD_Metadata - - - - - - - - - - - DescribeRecord.outputFormat - DescribeRecord.schemaLanguage - DescribeRecord.typeName - GetCapabilities.sections - GetRecordById.ElementSetName - GetRecordById.outputFormat - GetRecordById.outputSchema - GetRecords.CONSTRAINTLANGUAGE - GetRecords.ElementSetName - GetRecords.outputFormat - GetRecords.outputSchema - GetRecords.resultType - GetRecords.typeNames - Harvest.ResourceType - Transaction.TransactionSchemas - - - - - - - - - - - CQL_TEXT - FILTER - - - brief - full - summary - - - application/json - application/xml - - - http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ - http://www.interlis.ch/INTERLIS2.3 - http://www.isotc211.org/2005/gmd - http://www.opengis.net/cat/csw/2.0.2 - http://www.opengis.net/cat/csw/csdgm - http://www.w3.org/2005/Atom - - - hits - results - validate - - - csw:Record - gmd:MD_Metadata - - - apiso:AccessConstraints - apiso:Classification - apiso:ConditionApplyingToAccessAndUse - apiso:Contributor - apiso:Creator - apiso:Degree - apiso:Lineage - apiso:OtherConstraints - apiso:Publisher - apiso:Relation - apiso:ResponsiblePartyRole - apiso:SpecificationDate - apiso:SpecificationDateType - apiso:SpecificationTitle - - - csw:AnyText - dc:contributor - dc:creator - dc:date - dc:format - dc:identifier - dc:language - dc:publisher - dc:relation - dc:rights - dc:source - dc:subject - dc:title - dc:type - dct:abstract - dct:alternative - dct:modified - dct:spatial - ows:BoundingBox - - - apiso:Abstract - apiso:AlternateTitle - apiso:AnyText - apiso:BoundingBox - apiso:CRS - apiso:CouplingType - apiso:CreationDate - apiso:Denominator - apiso:DistanceUOM - apiso:DistanceValue - apiso:Format - apiso:GeographicDescriptionCode - apiso:HasSecurityConstraints - apiso:Identifier - apiso:KeywordType - apiso:Language - apiso:Modified - apiso:OperatesOn - apiso:OperatesOnIdentifier - apiso:OperatesOnName - apiso:Operation - apiso:OrganisationName - apiso:ParentIdentifier - apiso:PublicationDate - apiso:ResourceLanguage - apiso:RevisionDate - apiso:ServiceType - apiso:ServiceTypeVersion - apiso:Subject - apiso:TempExtent_begin - apiso:TempExtent_end - apiso:Title - apiso:TopicCategory - apiso:Type - - - - - - - - - - - brief - full - summary - - - application/json - application/xml - - - http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ - http://www.interlis.ch/INTERLIS2.3 - http://www.isotc211.org/2005/gmd - http://www.opengis.net/cat/csw/2.0.2 - http://www.opengis.net/cat/csw/csdgm - http://www.w3.org/2005/Atom - - - - - - - - - - - - - - - - - http://www.isotc211.org/2005/gmi - http://www.opengis.net/cat/csw/2.0.2 - http://www.opengis.net/cat/csw/3.0 - http://www.opengis.net/sos/1.0 - http://www.opengis.net/sos/2.0 - http://www.opengis.net/wcs - http://www.opengis.net/wfs - http://www.opengis.net/wfs/2.0 - http://www.opengis.net/wms - http://www.opengis.net/wmts/1.0 - http://www.opengis.net/wps/1.0.0 - urn:geoss:waf - - - - - - - - - - http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ - http://www.interlis.ch/INTERLIS2.3 - http://www.isotc211.org/2005/gmd - http://www.isotc211.org/2005/gmi - http://www.isotc211.org/schemas/2005/gmd/ - http://www.opengis.net/cat/csw/2.0.2 - http://www.opengis.net/cat/csw/3.0 - http://www.opengis.net/cat/csw/csdgm - http://www.opengis.net/sos/1.0 - http://www.opengis.net/sos/2.0 - http://www.opengis.net/wcs - http://www.opengis.net/wfs - http://www.opengis.net/wfs/2.0 - http://www.opengis.net/wms - http://www.opengis.net/wmts/1.0 - http://www.opengis.net/wps/1.0.0 - http://www.w3.org/2005/Atom - urn:geoss:waf - - - - CSW - - - 2.0.2 - 3.0.0 - - - http://geo.data.gov/geoportal/csw/discovery - - - 10 - - - XML - SOAP - - - allowed - - - - - - gml:Point - gml:LineString - gml:Polygon - gml:Envelope - - - - - - - - - - - - - - - - - - - Between - EqualTo - GreaterThan - GreaterThanEqualTo - LessThan - LessThanEqualTo - Like - NotEqualTo - NullCheck - - - - - length - lower - ltrim - rtrim - trim - upper - - - - - - - - - - diff --git a/tests/expected/suites_harvesting_post_GetDomain-parameter.xml b/tests/expected/suites_harvesting_post_GetDomain-parameter.xml deleted file mode 100644 index b47402ca2..000000000 --- a/tests/expected/suites_harvesting_post_GetDomain-parameter.xml +++ /dev/null @@ -1,27 +0,0 @@ - - - - - Harvest.ResourceType - - http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ - http://www.interlis.ch/INTERLIS2.3 - http://www.isotc211.org/2005/gmd - http://www.isotc211.org/2005/gmi - http://www.isotc211.org/schemas/2005/gmd/ - http://www.opengis.net/cat/csw/2.0.2 - http://www.opengis.net/cat/csw/3.0 - http://www.opengis.net/cat/csw/csdgm - http://www.opengis.net/sos/1.0 - http://www.opengis.net/sos/2.0 - http://www.opengis.net/wcs - http://www.opengis.net/wfs - http://www.opengis.net/wfs/2.0 - http://www.opengis.net/wms - http://www.opengis.net/wmts/1.0 - http://www.opengis.net/wps/1.0.0 - http://www.w3.org/2005/Atom - urn:geoss:waf - - - diff --git a/tests/expected/suites_harvesting_post_Harvest-csw-iso.xml b/tests/expected/suites_harvesting_post_Harvest-csw-iso.xml deleted file mode 100644 index 1aa0f2bfc..000000000 --- a/tests/expected/suites_harvesting_post_Harvest-csw-iso.xml +++ /dev/null @@ -1,149 +0,0 @@ - - - - - - 34 - 0 - 0 - - - - PYCSW_IDENTIFIER - pycsw Geospatial Catalogue OGC services demo - - - PYCSW_IDENTIFIER - 1 Million Scale WMS Layers from the National Atlas of the United States - - - PYCSW_IDENTIFIER-ports1m - 1 Million Scale - Ports - - - PYCSW_IDENTIFIER-national1m - 1 Million Scale - National Boundary - - - PYCSW_IDENTIFIER-elevation - 1 Million Scale - Elevation 100 Meter Resolution - - - PYCSW_IDENTIFIER-impervious - 1 Million Scale - Impervious Surface 100 Meter Resolution - - - PYCSW_IDENTIFIER-coast1m - 1 Million Scale - Coastlines - - - PYCSW_IDENTIFIER-cdl - 1 Million Scale - 113th Congressional Districts - - - PYCSW_IDENTIFIER-states1m - 1 Million Scale - States - - - PYCSW_IDENTIFIER-elsli0100g - 1 Million Scale - Color-Sliced Elevation 100 Meter Resolution - - - PYCSW_IDENTIFIER-landcov100m - 1 Million Scale - Land Cover 100 Meter Resolution - - - PYCSW_IDENTIFIER-cdp - 1 Million Scale - 113th Congressional Districts by Party - - - PYCSW_IDENTIFIER-amtrak1m - 1 Million Scale - Railroad and Bus Passenger Stations - - - PYCSW_IDENTIFIER-airports1m - 1 Million Scale - Airports - - - PYCSW_IDENTIFIER-one_million - 1 Million Scale WMS Layers from the National Atlas of the United States - - - PYCSW_IDENTIFIER-satvi0100g - 1 Million Scale - Satellite View 100 Meter Resolution - - - PYCSW_IDENTIFIER-srcoi0100g - 1 Million Scale - Color Shaded Relief 100 Meter Resolution - - - PYCSW_IDENTIFIER-srgri0100g - 1 Million Scale - Gray Shaded Relief 100 Meter Resolution - - - PYCSW_IDENTIFIER-treecanopy - 1 Million Scale - Tree Canopy 100 Meter Resolution - - - PYCSW_IDENTIFIER-svsri0100g - 1 Million Scale - Satellite View with Shaded Relief 100 Meter Resolution - - - PYCSW_IDENTIFIER - Wisconsin Lake Clarity - - - PYCSW_IDENTIFIER-Highways - Highways - - - PYCSW_IDENTIFIER-LakesTSI - LakesTSI - - - PYCSW_IDENTIFIER-LakeClarity - Wisconsin Lake Clarity - - - PYCSW_IDENTIFIER-LakesTSI_0305 - LakesTSI_0305 - - - PYCSW_IDENTIFIER-Relief - Relief - - - PYCSW_IDENTIFIER-LakeNames_0305 - LakeNames_0305 - - - PYCSW_IDENTIFIER-Roads - Roads - - - PYCSW_IDENTIFIER-LakeNames - LakeNames - - - PYCSW_IDENTIFIER-Counties - Counties - - - PYCSW_IDENTIFIER - View & download service for EU-DEM data provided by EOX - - - PYCSW_IDENTIFIER-EU-DEM - EU-DEM - - - PYCSW_IDENTIFIER-MS - View & download service for EU-DEM data provided by EOX - - - PYCSW_IDENTIFIER-eudem_color - EU-DEM color shaded - - - - diff --git a/tests/expected/suites_harvesting_post_Harvest-csw-run1.xml b/tests/expected/suites_harvesting_post_Harvest-csw-run1.xml deleted file mode 100644 index 5786b5423..000000000 --- a/tests/expected/suites_harvesting_post_Harvest-csw-run1.xml +++ /dev/null @@ -1,65 +0,0 @@ - - - - - - 13 - 0 - 0 - - - - PYCSW_IDENTIFIER - pycsw OGC CITE demo and Reference Implementation - - - PYCSW_IDENTIFIER - Lorem ipsum - - - PYCSW_IDENTIFIER - - - - PYCSW_IDENTIFIER - Maecenas enim - - - PYCSW_IDENTIFIER - Ut facilisis justo ut lacus - - - PYCSW_IDENTIFIER - Aliquam fermentum purus quis arcu - - - PYCSW_IDENTIFIER - Vestibulum massa purus - - - PYCSW_IDENTIFIER - - - - PYCSW_IDENTIFIER - Mauris sed neque - - - PYCSW_IDENTIFIER - Ñunç elementum - - - PYCSW_IDENTIFIER - Lorem ipsum dolor sit amet - - - PYCSW_IDENTIFIER - - - - PYCSW_IDENTIFIER - Fuscé vitae ligulä - - - - diff --git a/tests/expected/suites_harvesting_post_Harvest-csw-run2.xml b/tests/expected/suites_harvesting_post_Harvest-csw-run2.xml deleted file mode 100644 index 4362f5264..000000000 --- a/tests/expected/suites_harvesting_post_Harvest-csw-run2.xml +++ /dev/null @@ -1,11 +0,0 @@ - - - - - - 13 - 13 - 0 - - - diff --git a/tests/expected/suites_harvesting_post_Harvest-dc.xml b/tests/expected/suites_harvesting_post_Harvest-dc.xml deleted file mode 100644 index 58d6d5044..000000000 --- a/tests/expected/suites_harvesting_post_Harvest-dc.xml +++ /dev/null @@ -1,17 +0,0 @@ - - - - - - 1 - 0 - 0 - - - - PYCSW_IDENTIFIER - Image2000 Product 1 (at1) Multispectral - - - - diff --git a/tests/expected/suites_harvesting_post_Harvest-fgdc.xml b/tests/expected/suites_harvesting_post_Harvest-fgdc.xml deleted file mode 100644 index c12247fcb..000000000 --- a/tests/expected/suites_harvesting_post_Harvest-fgdc.xml +++ /dev/null @@ -1,17 +0,0 @@ - - - - - - 1 - 0 - 0 - - - - PYCSW_IDENTIFIER - CPC Merged Analysis of Precipitation Standard [POL 88.75 -88.75 180 -180] - - - - diff --git a/tests/expected/suites_harvesting_post_Harvest-iso.xml b/tests/expected/suites_harvesting_post_Harvest-iso.xml deleted file mode 100644 index 98b9770f4..000000000 --- a/tests/expected/suites_harvesting_post_Harvest-iso.xml +++ /dev/null @@ -1,17 +0,0 @@ - - - - - - 1 - 0 - 0 - - - - PYCSW_IDENTIFIER - Wasserkörper Linien - - - - diff --git a/tests/expected/suites_harvesting_post_Harvest-rdf.xml b/tests/expected/suites_harvesting_post_Harvest-rdf.xml deleted file mode 100644 index 2e926c2c4..000000000 --- a/tests/expected/suites_harvesting_post_Harvest-rdf.xml +++ /dev/null @@ -1,17 +0,0 @@ - - - - - - 1 - 0 - 0 - - - - PYCSW_IDENTIFIER - Website_gdb - - - - diff --git a/tests/expected/suites_harvesting_post_Harvest-sos100.xml b/tests/expected/suites_harvesting_post_Harvest-sos100.xml deleted file mode 100644 index 25e56a48b..000000000 --- a/tests/expected/suites_harvesting_post_Harvest-sos100.xml +++ /dev/null @@ -1,133 +0,0 @@ - - - - - - 30 - 0 - 0 - - - - PYCSW_IDENTIFIER - Northeastern Regional Association of Coastal Ocean Observing Systems - - - PYCSW_IDENTIFIER-CML - Mooring CML data from the COOA (UNH-COOA) located UNH Coastal Marine Lab Field Station - - - PYCSW_IDENTIFIER-F01 - Mooring F01 data from the Northeastern Regional Association of Coastal Ocean Observing Systems (Univ. of Maine) located Penobscot Bay - - - PYCSW_IDENTIFIER-F02 - Mooring F02 data from the Northeastern Regional Association of Coastal Ocean Observing Systems (Univ. of Maine) located DeepCwind Castine Test Site - - - PYCSW_IDENTIFIER-SMB-MO-04 - Mooring SMB-MO-04 data from the Northeastern Regional Association of Coastal Ocean Observing Systems (SmartBay) located Pilot Boarding Station, Red Island Shoal, Placentia Bay, NL, CA - - - PYCSW_IDENTIFIER-LDLC3 - Mooring LDLC3 data from the LISICOS (LISICOS) located New London Ledge Light - - - PYCSW_IDENTIFIER-CDIP154 - Mooring CDIP154 data from the COOA (UNH-COOA-CDIP) located Block Island, RI - - - PYCSW_IDENTIFIER-CDIP176 - Mooring CDIP176 data from the COOA (UNH-COOA-CDIP) located Halifax Harbor, CA - - - PYCSW_IDENTIFIER-ARTG - Mooring ARTG data from the LISICOS (LISICOS) located North of Smithtown Bay - - - PYCSW_IDENTIFIER-M01 - Mooring M01 data from the Northeastern Regional Association of Coastal Ocean Observing Systems (Univ. of Maine) located Jordan Basin - - - PYCSW_IDENTIFIER-N01 - Mooring N01 data from the Northeastern Regional Association of Coastal Ocean Observing Systems (Univ. of Maine) located Northeast Channel - - - PYCSW_IDENTIFIER-44039 - Mooring 44039 data from the LISICOS (LISICOS) located Central Long Island Sound - - - PYCSW_IDENTIFIER-SMB-MO-01 - Mooring SMB-MO-01 data from the Northeastern Regional Association of Coastal Ocean Observing Systems (SmartBay) located Mouth of Placentia Bay, NL, Canada - - - PYCSW_IDENTIFIER-SMB-MO-05 - Mooring SMB-MO-05 data from the Northeastern Regional Association of Coastal Ocean Observing Systems (SmartBay) located Come By Chance Point, Placentia Bay, NL, CA - - - PYCSW_IDENTIFIER-D02 - Mooring D02 data from the Northeastern Regional Association of Coastal Ocean Observing Systems (Univ. of Maine) located Lower Harpswell Sound - - - PYCSW_IDENTIFIER-E02 - Mooring E02 data from the Northeastern Regional Association of Coastal Ocean Observing Systems (Univ. of Maine) located DeepCwind Test Site - - - PYCSW_IDENTIFIER-E01 - Mooring E01 data from the Northeastern Regional Association of Coastal Ocean Observing Systems (Univ. of Maine) located Central Maine Shelf - - - PYCSW_IDENTIFIER-B01 - Mooring B01 data from the Northeastern Regional Association of Coastal Ocean Observing Systems (Univ. of Maine) located Western Maine Shelf - - - PYCSW_IDENTIFIER-EXRX - Mooring EXRX data from the LISICOS (LISICOS) located Execution Rocks Long Island Sound - - - PYCSW_IDENTIFIER-44098 - Mooring 44098 data from the COOA (UNH-COOA) located Jeffrey's Ledge - - - PYCSW_IDENTIFIER-WLIS - Mooring WLIS data from the LISICOS (LISICOS) located Western Long Island Sound - - - PYCSW_IDENTIFIER-CO2 - Mooring CO2 data from the COOA (UNH-COOA) located Appledore Island - - - PYCSW_IDENTIFIER-CDIP221 - Mooring CDIP221 data from the COOA (UNH-COOA-CDIP) located Cape Cod Bay, MA - - - PYCSW_IDENTIFIER-ALL_PLATFORMS - Mooring data for all buoys from the Northeastern Regional Association of Coastal Ocean Observing Systems (NERACOOS) located in the NERACOOS Region - - - PYCSW_IDENTIFIER-A01 - Mooring A01 data from the Northeastern Regional Association of Coastal Ocean Observing Systems (Univ. of Maine) located Massachusetts Bay - - - PYCSW_IDENTIFIER-MDS02 - Mooring MDS02 data from the URI (Univ. of Rhode Is.) located SAMP MD S - - - PYCSW_IDENTIFIER-GREAT_BAY - Mooring GREAT_BAY data from the COOA (UNH-COOA) located Great Bay, NH - - - PYCSW_IDENTIFIER-I01 - Mooring I01 data from the Northeastern Regional Association of Coastal Ocean Observing Systems (Univ. of Maine) located Eastern Maine Shelf - - - PYCSW_IDENTIFIER-CDIP207 - Mooring CDIP207 data from the COOA (UNH-COOA-CDIP) located Fire Island, NY - - - PYCSW_IDENTIFIER-44060 - Mooring 44060 data from the LISICOS (LISICOS) located Eastern Long Island Sound - - - - diff --git a/tests/expected/suites_harvesting_post_Harvest-sos200.xml b/tests/expected/suites_harvesting_post_Harvest-sos200.xml deleted file mode 100644 index b41170b20..000000000 --- a/tests/expected/suites_harvesting_post_Harvest-sos200.xml +++ /dev/null @@ -1,21 +0,0 @@ - - - - - - 2 - 0 - 0 - - - - PYCSW_IDENTIFIER - GIN SOS - - - PYCSW_IDENTIFIER-GW_LEVEL - - - - - diff --git a/tests/expected/suites_harvesting_post_Harvest-waf.xml b/tests/expected/suites_harvesting_post_Harvest-waf.xml deleted file mode 100644 index 75b60273f..000000000 --- a/tests/expected/suites_harvesting_post_Harvest-waf.xml +++ /dev/null @@ -1,25 +0,0 @@ - - - - - - 3 - 0 - 0 - - - - PYCSW_IDENTIFIER - CPC Merged Analysis of Precipitation Standard [POL 88.75 -88.75 180 -180] - - - PYCSW_IDENTIFIER - Image2000 Product 1 (at1) Multispectral - - - PYCSW_IDENTIFIER - NOAA_RNC - - - - diff --git a/tests/expected/suites_harvesting_post_Harvest-wcs.xml b/tests/expected/suites_harvesting_post_Harvest-wcs.xml deleted file mode 100644 index a5dcbed6f..000000000 --- a/tests/expected/suites_harvesting_post_Harvest-wcs.xml +++ /dev/null @@ -1,33 +0,0 @@ - - - - - - 5 - 0 - 0 - - - - PYCSW_IDENTIFIER - WCS Demo Server for MapServer - - - PYCSW_IDENTIFIER-ndvi - North Central US MODIS-based NDVI Images for 2002 - - - PYCSW_IDENTIFIER-modis-001 - North Central US MODIS Images for 2002-001 - - - PYCSW_IDENTIFIER-fpar - North Central US MODIS-based FPAR Images for 2002 - - - PYCSW_IDENTIFIER-modis - North Central US MODIS Images for 2002 - - - - diff --git a/tests/expected/suites_harvesting_post_Harvest-wfs110.xml b/tests/expected/suites_harvesting_post_Harvest-wfs110.xml deleted file mode 100644 index 96ec6feb3..000000000 --- a/tests/expected/suites_harvesting_post_Harvest-wfs110.xml +++ /dev/null @@ -1,37 +0,0 @@ - - - - - - 6 - 0 - 0 - - - - PYCSW_IDENTIFIER - GeoServer Web Feature Service - - - PYCSW_IDENTIFIER-geoss_water_sba:Reservoir - Reservoir - - - PYCSW_IDENTIFIER-geoss_water_sba:glwd_1 - glwd_1 - - - PYCSW_IDENTIFIER-geoss_water_sba:Dams - Dams - - - PYCSW_IDENTIFIER-geoss_water_sba:glwd_2 - glwd_2 - - - PYCSW_IDENTIFIER-geoss_water_sba:Lakes - Lakes - - - - diff --git a/tests/expected/suites_harvesting_post_Harvest-wfs200.xml b/tests/expected/suites_harvesting_post_Harvest-wfs200.xml deleted file mode 100644 index d73153e77..000000000 --- a/tests/expected/suites_harvesting_post_Harvest-wfs200.xml +++ /dev/null @@ -1,57 +0,0 @@ - - - - - - 11 - 0 - 0 - - - - PYCSW_IDENTIFIER - CERA_CERA_TechClasses_WGS84 - - - PYCSW_IDENTIFIER-CERA_CERA_TechClasses_WGS84:MBIE_Technical_Classes_WGS84_2012-08-16 - MBIE_Technical_Classes_WGS84_2012-08-16 - - - PYCSW_IDENTIFIER-CERA_CERA_TechClasses_WGS84:MBIE_Technical_Classes_WGS84_2012-05-18 - MBIE_Technical_Classes_WGS84_2012-05-18 - - - PYCSW_IDENTIFIER-CERA_CERA_TechClasses_WGS84:MBIE_Technical_Classes_WGS84_2013-12-04 - MBIE_Technical_Classes_WGS84_2013-12-04 - - - PYCSW_IDENTIFIER-CERA_CERA_TechClasses_WGS84:MBIE_Technical_Classes_WGS84_2011-10-28 - MBIE_Technical_Classes_WGS84_2011-10-28 - - - PYCSW_IDENTIFIER-CERA_CERA_TechClasses_WGS84:MBIE_Technical_Classes_WGS84_2012-02-10 - MBIE_Technical_Classes_WGS84_2012-02-10 - - - PYCSW_IDENTIFIER-CERA_CERA_TechClasses_WGS84:MBIE_Technical_Classes_WGS84_2012-09-14 - MBIE_Technical_Classes_WGS84_2012-09-14 - - - PYCSW_IDENTIFIER-CERA_CERA_TechClasses_WGS84:MBIE_Technical_Classes_WGS84_2012-03-23 - MBIE_Technical_Classes_WGS84_2012-03-23 - - - PYCSW_IDENTIFIER-CERA_CERA_TechClasses_WGS84:MBIE_Technical_Classes_WGS84_2011-11-17 - MBIE_Technical_Classes_WGS84_2011-11-17 - - - PYCSW_IDENTIFIER-CERA_CERA_TechClasses_WGS84:MBIE_Technical_Classes_WGS84_2012-08-24 - MBIE_Technical_Classes_WGS84_2012-08-24 - - - PYCSW_IDENTIFIER-CERA_CERA_TechClasses_WGS84:MBIE_Technical_Classes_WGS84_2012-10-31 - MBIE_Technical_Classes_WGS84_2012-10-31 - - - - diff --git a/tests/expected/suites_harvesting_post_Harvest-wms-run1.xml b/tests/expected/suites_harvesting_post_Harvest-wms-run1.xml deleted file mode 100644 index d75519d7d..000000000 --- a/tests/expected/suites_harvesting_post_Harvest-wms-run1.xml +++ /dev/null @@ -1,29 +0,0 @@ - - - - - - 4 - 0 - 0 - - - - PYCSW_IDENTIFIER - IEM WMS Service - - - PYCSW_IDENTIFIER-nexrad_base_reflect - IEM WMS Service - - - PYCSW_IDENTIFIER-time_idx - NEXRAD BASE REFLECT - - - PYCSW_IDENTIFIER-nexrad-n0r-wmst - NEXRAD BASE REFLECT - - - - diff --git a/tests/expected/suites_harvesting_post_Harvest-wms-run2.xml b/tests/expected/suites_harvesting_post_Harvest-wms-run2.xml deleted file mode 100644 index 19e8d8623..000000000 --- a/tests/expected/suites_harvesting_post_Harvest-wms-run2.xml +++ /dev/null @@ -1,11 +0,0 @@ - - - - - - 4 - 4 - 0 - - - diff --git a/tests/expected/suites_harvesting_post_Harvest-wmts.xml b/tests/expected/suites_harvesting_post_Harvest-wmts.xml deleted file mode 100644 index 372bad712..000000000 --- a/tests/expected/suites_harvesting_post_Harvest-wmts.xml +++ /dev/null @@ -1,45 +0,0 @@ - - - - - - 8 - 0 - 0 - - - - PYCSW_IDENTIFIER - Web Map Tile Service - - - PYCSW_IDENTIFIER-flwbplmzk - Flächenwidmungs- und Bebauungsplan - - - PYCSW_IDENTIFIER-lb - Luftbild - - - PYCSW_IDENTIFIER-lb2014 - Luftbild 2014 - - - PYCSW_IDENTIFIER-beschriftung - Beschriftung - - - PYCSW_IDENTIFIER-lb1938 - Luftbild 1938 - - - PYCSW_IDENTIFIER-fmzk - MZK Flächen - - - PYCSW_IDENTIFIER-lb1956 - Luftbild 1956 - - - - diff --git a/tests/expected/suites_harvesting_post_Harvest-wps.xml b/tests/expected/suites_harvesting_post_Harvest-wps.xml deleted file mode 100644 index 12381ec1e..000000000 --- a/tests/expected/suites_harvesting_post_Harvest-wps.xml +++ /dev/null @@ -1,57 +0,0 @@ - - - - - - 11 - 0 - 0 - - - - PYCSW_IDENTIFIER - Geo Data Portal WPS Implementation - - - PYCSW_IDENTIFIER-gov.usgs.cida.gdp.wps.algorithm.filemanagement.CreateNewShapefileDataStore - gov.usgs.cida.gdp.wps.algorithm.filemanagement.CreateNewShapefileDataStore - - - PYCSW_IDENTIFIER-gov.usgs.cida.gdp.wps.algorithm.discovery.GetGridTimeRange - Get Grid Time Range - - - PYCSW_IDENTIFIER-gov.usgs.cida.gdp.wps.algorithm.filemanagement.ReceiveFiles - gov.usgs.cida.gdp.wps.algorithm.filemanagement.ReceiveFiles - - - PYCSW_IDENTIFIER-gov.usgs.cida.gdp.wps.algorithm.discovery.GetWcsCoverages - gov.usgs.cida.gdp.wps.algorithm.discovery.GetWcsCoverages - - - PYCSW_IDENTIFIER-gov.usgs.cida.gdp.wps.algorithm.filemanagement.GetWatersGeom - gov.usgs.cida.gdp.wps.algorithm.filemanagement.GetWatersGeom - - - PYCSW_IDENTIFIER-gov.usgs.cida.gdp.wps.algorithm.communication.GeoserverManagementAlgorithm - gov.usgs.cida.gdp.wps.algorithm.communication.GeoserverManagementAlgorithm - - - PYCSW_IDENTIFIER-gov.usgs.cida.gdp.wps.algorithm.communication.EmailWhenFinishedAlgorithm - gov.usgs.cida.gdp.wps.algorithm.communication.EmailWhenFinishedAlgorithm - - - PYCSW_IDENTIFIER-gov.usgs.cida.gdp.wps.algorithm.discovery.InterrogateDataset - Interogate Dataset URI - - - PYCSW_IDENTIFIER-gov.usgs.cida.gdp.wps.algorithm.discovery.ListOpendapGrids - List OpendDAP Grids - - - PYCSW_IDENTIFIER-gov.usgs.cida.gdp.wps.algorithm.discovery.CalculateWCSCoverageInfo - gov.usgs.cida.gdp.wps.algorithm.discovery.CalculateWCSCoverageInfo - - - - diff --git a/tests/expected/suites_harvesting_post_Harvest-zzz-post-GetRecords-filter-ows-dc.xml b/tests/expected/suites_harvesting_post_Harvest-zzz-post-GetRecords-filter-ows-dc.xml deleted file mode 100644 index 595739551..000000000 --- a/tests/expected/suites_harvesting_post_Harvest-zzz-post-GetRecords-filter-ows-dc.xml +++ /dev/null @@ -1,128 +0,0 @@ - - - - - - - PYCSW_IDENTIFIER - pycsw Geospatial Catalogue OGC services demo - service - catalogue - discovery - metadata - services - CSW - http://demo.pycsw.org/services/csw - pycsw is an OGC CSW server implementation written in Python - Lastname, Firstname - Organization Name - Lastname, Firstname - http://demo.pycsw.org/services/csw - None - - - PYCSW_IDENTIFIER - pycsw OGC CITE demo and Reference Implementation - service - ogc - cite - compliance - interoperability - reference implementation - CSW - http://demo.pycsw.org/cite/csw - pycsw is an OGC CSW server implementation written in Python. pycsw fully implements the OpenGIS Catalogue Service Implementation Specification (Catalogue Service for the Web). Initial development started in 2010 (more formally announced in 2011). The project is certified OGC Compliant, and is an OGC Reference Implementation. Since 2015, pycsw is an official OSGeo Project. pycsw allows for the publishing and discovery of [[geospatial]] metadata via numerous APIs (CSW 2/CSW 3, OpenSearch, OAI-PMH, SRU). Existing repositories of geospatial metadata can also be exposed, providing a standards-based metadata and catalogue component of spatial data infrastructures. pycsw is Open Source, released under an MIT license, and runs on all major platforms (Windows, Linux, Mac OS X) - Lastname, Firstname - Organization Name - Lastname, Firstname - http://demo.pycsw.org/cite/csw - None - - - PYCSW_IDENTIFIER - Northeastern Regional Association of Coastal Ocean Observing Systems - service - NERACOOS - SOS - OCEANOGRAPHY - Ocean Observations - Gulf of Maine - Long Island Sound - Narragansett Bay - Cape Cod - Boston Harbor - Buzzards Bay - Weather - Ocean Currents - Water Temperature - Salinity - Winds - Waves - Ocean Color - GoMOOS - LISICOS - Univ. of New Hampshire - MVCO - Air Temperature - OGC:SOS - http://www.neracoos.org/cgi-bin/sos/V1.0/oostethys_sos.cgi - NERACOOS supports data collected from buoys in the Gulf of Maine and Long Island Sound. The six Gulf of Maine buoys carry a comprehensive sensor suite that includes the full complement of meteorological sensors carried by the standard NDBC buoys, and in addition commonly include atmospheric visibility, surface currents, water-column current profiles, temperature and conductivity, and fluorescence (for chlorophyll a estimation) and backscatter at multiple depths. In Long Island Sound, three buoys that measure wind speed and direction, circulation, salinity, temperature and dissolved oxygen. Two buoys will be located in western LIS (WLIS and EXRK stations) and the third will be in the Central Sound (CLIS). The buoys will be equipped with three YSI-SeaBird sensors to measure conductivity, temperature, pressure and dissolved oxygen concentration near the surface, bottom and mid-depth. A buoy in Great Bay measures physical, optical, meteorological and wave data. - Eric Bridger - NERACOOS - Eric Bridger - http://www.neracoos.org/cgi-bin/sos/V1.0/oostethys_sos.cgi - NONE - urn:ogc:def:crs:EPSG:6.11:4326 - - 40.58 -73.73 - 47.79 -54.05 - - - - PYCSW_IDENTIFIER - GIN SOS - service - groundwater level - monitoring - timeseries - Alberta - Ontario - Nova Scotia - OGC:SOS - http://ngwd-bdnes.cits.nrcan.gc.ca/GinService/sos/gw - Historical groundwater level monitoring stations from Alberta, Ontario and Nova Scotia. This SOS web service delivers the data using OGC's WaterML 2.0. The SOS service federates data from various provincial sources and publishes them as a single service. Many monitoring stations also have water well characteristics available through the GIN WFS web service. - Boyan Brodaric - Geological Survey of Canada, Earth Sciences Sector, Natural Resources Canada, Government of Canada - Boyan Brodaric - http://ngwd-bdnes.cits.nrcan.gc.ca/GinService/sos/gw - NONE - urn:ogc:def:crs:EPSG:6.11:4326 - - 41.0 -120.0 - 60.0 -60.0 - - - - PYCSW_IDENTIFIER - WCS Demo Server for MapServer - service - WCS - MODIS - NDVI - OGC:WCS - http://demo.mapserver.org/cgi-bin/wcs - Steve Lime - Minnesota DNR - Steve Lime - http://demo.mapserver.org/cgi-bin/wcs - - NONE - - urn:ogc:def:crs:EPSG:6.11:4326 - - 41.03 -97.71 - 49.67 -80.68 - - - - diff --git a/tests/expected/suites_harvesting_post_Harvest-zzz-post-GetRecords-filter-sos-abstract-dc.xml b/tests/expected/suites_harvesting_post_Harvest-zzz-post-GetRecords-filter-sos-abstract-dc.xml deleted file mode 100644 index da7d58075..000000000 --- a/tests/expected/suites_harvesting_post_Harvest-zzz-post-GetRecords-filter-sos-abstract-dc.xml +++ /dev/null @@ -1,31 +0,0 @@ - - - - - - - PYCSW_IDENTIFIER - GIN SOS - service - groundwater level - monitoring - timeseries - Alberta - Ontario - Nova Scotia - OGC:SOS - http://ngwd-bdnes.cits.nrcan.gc.ca/GinService/sos/gw - Historical groundwater level monitoring stations from Alberta, Ontario and Nova Scotia. This SOS web service delivers the data using OGC's WaterML 2.0. The SOS service federates data from various provincial sources and publishes them as a single service. Many monitoring stations also have water well characteristics available through the GIN WFS web service. - Boyan Brodaric - Geological Survey of Canada, Earth Sciences Sector, Natural Resources Canada, Government of Canada - Boyan Brodaric - http://ngwd-bdnes.cits.nrcan.gc.ca/GinService/sos/gw - NONE - urn:ogc:def:crs:EPSG:6.11:4326 - - 41.0 -120.0 - 60.0 -60.0 - - - - diff --git a/tests/expected/suites_harvesting_post_Harvest-zzz-post-GetRecords-filter-sos-dc.xml b/tests/expected/suites_harvesting_post_Harvest-zzz-post-GetRecords-filter-sos-dc.xml deleted file mode 100644 index 47a3ac295..000000000 --- a/tests/expected/suites_harvesting_post_Harvest-zzz-post-GetRecords-filter-sos-dc.xml +++ /dev/null @@ -1,71 +0,0 @@ - - - - - - - PYCSW_IDENTIFIER - Northeastern Regional Association of Coastal Ocean Observing Systems - service - NERACOOS - SOS - OCEANOGRAPHY - Ocean Observations - Gulf of Maine - Long Island Sound - Narragansett Bay - Cape Cod - Boston Harbor - Buzzards Bay - Weather - Ocean Currents - Water Temperature - Salinity - Winds - Waves - Ocean Color - GoMOOS - LISICOS - Univ. of New Hampshire - MVCO - Air Temperature - OGC:SOS - http://www.neracoos.org/cgi-bin/sos/V1.0/oostethys_sos.cgi - NERACOOS supports data collected from buoys in the Gulf of Maine and Long Island Sound. The six Gulf of Maine buoys carry a comprehensive sensor suite that includes the full complement of meteorological sensors carried by the standard NDBC buoys, and in addition commonly include atmospheric visibility, surface currents, water-column current profiles, temperature and conductivity, and fluorescence (for chlorophyll a estimation) and backscatter at multiple depths. In Long Island Sound, three buoys that measure wind speed and direction, circulation, salinity, temperature and dissolved oxygen. Two buoys will be located in western LIS (WLIS and EXRK stations) and the third will be in the Central Sound (CLIS). The buoys will be equipped with three YSI-SeaBird sensors to measure conductivity, temperature, pressure and dissolved oxygen concentration near the surface, bottom and mid-depth. A buoy in Great Bay measures physical, optical, meteorological and wave data. - Eric Bridger - NERACOOS - Eric Bridger - http://www.neracoos.org/cgi-bin/sos/V1.0/oostethys_sos.cgi - NONE - urn:ogc:def:crs:EPSG:6.11:4326 - - 40.58 -73.73 - 47.79 -54.05 - - - - PYCSW_IDENTIFIER - GIN SOS - service - groundwater level - monitoring - timeseries - Alberta - Ontario - Nova Scotia - OGC:SOS - http://ngwd-bdnes.cits.nrcan.gc.ca/GinService/sos/gw - Historical groundwater level monitoring stations from Alberta, Ontario and Nova Scotia. This SOS web service delivers the data using OGC's WaterML 2.0. The SOS service federates data from various provincial sources and publishes them as a single service. Many monitoring stations also have water well characteristics available through the GIN WFS web service. - Boyan Brodaric - Geological Survey of Canada, Earth Sciences Sector, Natural Resources Canada, Government of Canada - Boyan Brodaric - http://ngwd-bdnes.cits.nrcan.gc.ca/GinService/sos/gw - NONE - urn:ogc:def:crs:EPSG:6.11:4326 - - 41.0 -120.0 - 60.0 -60.0 - - - - diff --git a/tests/expected/suites_harvesting_post_Harvest-zzz-post-GetRecords-filter-sos-iso.xml b/tests/expected/suites_harvesting_post_Harvest-zzz-post-GetRecords-filter-sos-iso.xml deleted file mode 100644 index 71064f191..000000000 --- a/tests/expected/suites_harvesting_post_Harvest-zzz-post-GetRecords-filter-sos-iso.xml +++ /dev/null @@ -1,955 +0,0 @@ - - - - - - - - PYCSW_IDENTIFIER - - - - - - service - - - - - Eric Bridger - - - NERACOOS - - - DMAC Coordinator - - - - - - - 207 228-1662 - - - - - - - - - - 350 Commercial St. - - - Portland - - - ME - - - 04101 - - - US - - - ebridger@gmri.org - - - - - - http://www.neracoos.org/ - - - - - - pointOfContact - - - - - - - - ISO19119 - - - 2005/PDAM 1 - - - - - - - Northeastern Regional Association of Coastal Ocean Observing Systems - - - - - NERACOOS supports data collected from buoys in the Gulf of Maine and Long Island Sound. The six Gulf of Maine buoys carry a comprehensive sensor suite that includes the full complement of meteorological sensors carried by the standard NDBC buoys, and in addition commonly include atmospheric visibility, surface currents, water-column current profiles, temperature and conductivity, and fluorescence (for chlorophyll a estimation) and backscatter at multiple depths. In Long Island Sound, three buoys that measure wind speed and direction, circulation, salinity, temperature and dissolved oxygen. Two buoys will be located in western LIS (WLIS and EXRK stations) and the third will be in the Central Sound (CLIS). The buoys will be equipped with three YSI-SeaBird sensors to measure conductivity, temperature, pressure and dissolved oxygen concentration near the surface, bottom and mid-depth. A buoy in Great Bay measures physical, optical, meteorological and wave data. - - - - - NERACOOS - - - SOS - - - OCEANOGRAPHY - - - Ocean Observations - - - Gulf of Maine - - - Long Island Sound - - - Narragansett Bay - - - Cape Cod - - - Boston Harbor - - - Buzzards Bay - - - Weather - - - Ocean Currents - - - Water Temperature - - - Salinity - - - Winds - - - Waves - - - Ocean Color - - - GoMOOS - - - LISICOS - - - Univ. of New Hampshire - - - MVCO - - - Air Temperature - - - - - - - - OGC:SOS - - - 1.0.0 - - - - - NERACOOS - - - SOS - - - OCEANOGRAPHY - - - Ocean Observations - - - Gulf of Maine - - - Long Island Sound - - - Narragansett Bay - - - Cape Cod - - - Boston Harbor - - - Buzzards Bay - - - Weather - - - Ocean Currents - - - Water Temperature - - - Salinity - - - Winds - - - Waves - - - Ocean Color - - - GoMOOS - - - LISICOS - - - Univ. of New Hampshire - - - MVCO - - - Air Temperature - - - - - - - - - -73.73 - - - -54.05 - - - 40.58 - - - 47.79 - - - - - - - tight - - - - - GetObservation - - - CML - - - - - - - GetObservation - - - F01 - - - - - - - GetObservation - - - F02 - - - - - - - GetObservation - - - SMB-MO-04 - - - - - - - GetObservation - - - LDLC3 - - - - - - - GetObservation - - - CDIP154 - - - - - - - GetObservation - - - CDIP176 - - - - - - - GetObservation - - - ARTG - - - - - - - GetObservation - - - M01 - - - - - - - GetObservation - - - N01 - - - - - - - GetObservation - - - 44039 - - - - - - - GetObservation - - - SMB-MO-01 - - - - - - - GetObservation - - - SMB-MO-05 - - - - - - - GetObservation - - - D02 - - - - - - - GetObservation - - - E02 - - - - - - - GetObservation - - - E01 - - - - - - - GetObservation - - - B01 - - - - - - - GetObservation - - - EXRX - - - - - - - GetObservation - - - 44098 - - - - - - - GetObservation - - - WLIS - - - - - - - GetObservation - - - CO2 - - - - - - - GetObservation - - - CDIP221 - - - - - - - GetObservation - - - ALL_PLATFORMS - - - - - - - GetObservation - - - A01 - - - - - - - GetObservation - - - MDS02 - - - - - - - GetObservation - - - GREAT_BAY - - - - - - - GetObservation - - - I01 - - - - - - - GetObservation - - - CDIP207 - - - - - - - GetObservation - - - 44060 - - - - - - - GetCapabilities - - - HTTPGet - - - HTTPPost - - - - - http://www.neracoos.org/cgi-bin/sos/V1.0/oostethys_sos.cgi - - - - - - - - - GetObservation - - - HTTPGet - - - HTTPPost - - - - - http://www.neracoos.org/cgi-bin/sos/V1.0/oostethys_sos.cgi - - - - - - - - - DescribeSensor - - - HTTPGet - - - HTTPPost - - - - - http://www.neracoos.org/cgi-bin/sos/V1.0/oostethys_sos.cgi - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - http://www.neracoos.org/cgi-bin/sos/V1.0/oostethys_sos.cgi - - - OGC:SOS - - - PYCSW_IDENTIFIER - - - OGC-SOS Sensor Observation Service - - - - - - - - - - - PYCSW_IDENTIFIER - - - - - - service - - - - - Boyan Brodaric - - - Geological Survey of Canada, Earth Sciences Sector, Natural Resources Canada, Government of Canada - - - Research Scientist - - - - - - - +1-613-992-3562 - - - +1-613-995-9273 - - - - - - - 615 Booth Street - - - Ottawa - - - - - - K1A 0E9 - - - Canada - - - brodaric at nrcan dot gc dot ca - - - - - - http://gw-info.net - - - - - - pointOfContact - - - - - - - - ISO19119 - - - 2005/PDAM 1 - - - - - - - GIN SOS - - - - - Historical groundwater level monitoring stations from Alberta, Ontario and Nova Scotia. This SOS web service delivers the data using OGC's WaterML 2.0. The SOS service federates data from various provincial sources and publishes them as a single service. Many monitoring stations also have water well characteristics available through the GIN WFS web service. - - - - - groundwater level - - - monitoring - - - timeseries - - - Alberta - - - Ontario - - - Nova Scotia - - - - - - - - OGC:SOS - - - 2.0.0 - - - - - groundwater level - - - monitoring - - - timeseries - - - Alberta - - - Ontario - - - Nova Scotia - - - - - - - - - -120.0 - - - -60.0 - - - 41.0 - - - 60.0 - - - - - - - tight - - - - - GetObservation - - - GW_LEVEL - - - - - - - GetCapabilities - - - HTTPGet - - - HTTPPost - - - - - http://ngwd-bdnes.cits.nrcan.gc.ca/GinService/sos/gw - - - - - - - - - DescribeSensor - - - HTTPGet - - - HTTPPost - - - - - http://ngwd-bdnes.cits.nrcan.gc.ca/GinService/sos/gw - - - - - - - - - GetObservation - - - HTTPGet - - - HTTPPost - - - - - http://ngwd-bdnes.cits.nrcan.gc.ca/GinService/sos/gw - - - - - - - - - GetFeatureOfInterest - - - HTTPGet - - - HTTPPost - - - - - http://ngwd-bdnes.cits.nrcan.gc.ca/GinService/sos/gw - - - - - - - - - - - - - - - - http://ngwd-bdnes.cits.nrcan.gc.ca/GinService/sos/gw - - - OGC:SOS - - - PYCSW_IDENTIFIER - - - OGC-SOS Sensor Observation Service - - - - - - - - - - diff --git a/tests/expected/suites_harvesting_post_Harvest-zzz-post-GetRecords-filter-wfs-iso.xml b/tests/expected/suites_harvesting_post_Harvest-zzz-post-GetRecords-filter-wfs-iso.xml deleted file mode 100644 index c264459b3..000000000 --- a/tests/expected/suites_harvesting_post_Harvest-zzz-post-GetRecords-filter-wfs-iso.xml +++ /dev/null @@ -1,1041 +0,0 @@ - - - - - - - - PYCSW_IDENTIFIER - - - - - - service - - - - - Matt Austin - - - National Oceanic and Atmospheric Administration - - - - - - - - - - - - - - - - - - - - - - - Silver Spring - - - Maryland - - - 20910 - - - USA - - - - - - - - - - pointOfContact - - - - - - - - ISO19119 - - - 2005/PDAM 1 - - - - - - - GeoServer Web Feature Service - - - - - This is the reference implementation of WFS 1.0.0 and WFS 1.1.0, supports all WFS operations including Transaction. - - - - - WFS - - - WMS - - - GEOSERVER - - - - - - - - OGC:WFS - - - 1.1.0 - - - - - WFS - - - WMS - - - GEOSERVER - - - - - - - - - -179.87 - - - 179.99 - - - -54.61 - - - 83.46 - - - - - - - tight - - - - - GetFeature - - - geoss_water_sba:Reservoir - - - - - - - GetFeature - - - geoss_water_sba:glwd_1 - - - - - - - GetFeature - - - geoss_water_sba:Dams - - - - - - - GetFeature - - - geoss_water_sba:glwd_2 - - - - - - - GetFeature - - - geoss_water_sba:Lakes - - - - - - - GetCapabilities - - - HTTPGet - - - HTTPPost - - - - - http://services.ogc.noaa.gov/geoserver/geoss_water_sba/wfs - - - - - - - - - DescribeFeatureType - - - HTTPGet - - - HTTPPost - - - - - http://services.ogc.noaa.gov/geoserver/geoss_water_sba/wfs - - - - - - - - - GetFeature - - - HTTPGet - - - HTTPPost - - - - - http://services.ogc.noaa.gov/geoserver/geoss_water_sba/wfs - - - - - - - - - GetGmlObject - - - HTTPGet - - - HTTPPost - - - - - http://services.ogc.noaa.gov/geoserver/geoss_water_sba/wfs - - - - - - - - - LockFeature - - - HTTPGet - - - HTTPPost - - - - - http://services.ogc.noaa.gov/geoserver/geoss_water_sba/wfs - - - - - - - - - GetFeatureWithLock - - - HTTPGet - - - HTTPPost - - - - - http://services.ogc.noaa.gov/geoserver/geoss_water_sba/wfs - - - - - - - - - Transaction - - - HTTPGet - - - HTTPPost - - - - - http://services.ogc.noaa.gov/geoserver/geoss_water_sba/wfs - - - - - - - - - - - - - - - - - - - - http://services.ogc.noaa.gov/geoserver/geoss_water_sba/wfs - - - OGC:WFS - - - PYCSW_IDENTIFIER - - - OGC-WFS Web Feature Service - - - - - - - - - - - PYCSW_IDENTIFIER - - - - - - service - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - http://maps.cera.govt.nz/arcgis/services/CERA/CERA_TechClasses_WGS84/MapServer/WFSServer - - - - - - pointOfContact - - - - - - - - ISO19119 - - - 2005/PDAM 1 - - - - - - - CERA_CERA_TechClasses_WGS84 - - - - - - - - - - - - - - - - - - OGC:WFS - - - 2.0.0 - - - - - - - - - - - - - - 171.11 - - - 173.13 - - - -43.9 - - - -42.74 - - - - - - - tight - - - - - GetFeature - - - CERA_CERA_TechClasses_WGS84:MBIE_Technical_Classes_WGS84_2012-08-16 - - - - - - - GetFeature - - - CERA_CERA_TechClasses_WGS84:MBIE_Technical_Classes_WGS84_2012-05-18 - - - - - - - GetFeature - - - CERA_CERA_TechClasses_WGS84:MBIE_Technical_Classes_WGS84_2013-12-04 - - - - - - - GetFeature - - - CERA_CERA_TechClasses_WGS84:MBIE_Technical_Classes_WGS84_2011-10-28 - - - - - - - GetFeature - - - CERA_CERA_TechClasses_WGS84:MBIE_Technical_Classes_WGS84_2012-02-10 - - - - - - - GetFeature - - - CERA_CERA_TechClasses_WGS84:MBIE_Technical_Classes_WGS84_2012-09-14 - - - - - - - GetFeature - - - CERA_CERA_TechClasses_WGS84:MBIE_Technical_Classes_WGS84_2012-03-23 - - - - - - - GetFeature - - - CERA_CERA_TechClasses_WGS84:MBIE_Technical_Classes_WGS84_2011-11-17 - - - - - - - GetFeature - - - CERA_CERA_TechClasses_WGS84:MBIE_Technical_Classes_WGS84_2012-08-24 - - - - - - - GetFeature - - - CERA_CERA_TechClasses_WGS84:MBIE_Technical_Classes_WGS84_2012-10-31 - - - - - - - GetCapabilities - - - HTTPGet - - - HTTPPost - - - - - http://maps.cera.govt.nz/arcgis/services/CERA/CERA_TechClasses_WGS84/MapServer/WFSServer - - - - - - - - - DescribeFeatureType - - - HTTPGet - - - HTTPPost - - - - - http://maps.cera.govt.nz/arcgis/services/CERA/CERA_TechClasses_WGS84/MapServer/WFSServer - - - - - - - - - GetFeature - - - HTTPGet - - - HTTPPost - - - - - http://maps.cera.govt.nz/arcgis/services/CERA/CERA_TechClasses_WGS84/MapServer/WFSServer - - - - - - - - - ListStoredQueries - - - HTTPGet - - - HTTPPost - - - - - http://maps.cera.govt.nz/arcgis/services/CERA/CERA_TechClasses_WGS84/MapServer/WFSServer - - - - - - - - - DescribeStoredQueries - - - HTTPGet - - - HTTPPost - - - - - http://maps.cera.govt.nz/arcgis/services/CERA/CERA_TechClasses_WGS84/MapServer/WFSServer - - - - - - - - - ImplementsSimpleWFS - - - HTTPGet - - - HTTPPost - - - - - http://maps.cera.govt.nz/arcgis/services/CERA/CERA_TechClasses_WGS84/MapServer/WFSServer - - - - - - - - - ImplementsBasicWFS - - - HTTPGet - - - HTTPPost - - - - - http://maps.cera.govt.nz/arcgis/services/CERA/CERA_TechClasses_WGS84/MapServer/WFSServer - - - - - - - - - ImplementsTransactionalWFS - - - HTTPGet - - - HTTPPost - - - - - http://maps.cera.govt.nz/arcgis/services/CERA/CERA_TechClasses_WGS84/MapServer/WFSServer - - - - - - - - - ImplementsLockingWFS - - - HTTPGet - - - HTTPPost - - - - - http://maps.cera.govt.nz/arcgis/services/CERA/CERA_TechClasses_WGS84/MapServer/WFSServer - - - - - - - - - ImplementsInheritance - - - HTTPGet - - - HTTPPost - - - - - http://maps.cera.govt.nz/arcgis/services/CERA/CERA_TechClasses_WGS84/MapServer/WFSServer - - - - - - - - - ImplementsRemoteResolve - - - HTTPGet - - - HTTPPost - - - - - http://maps.cera.govt.nz/arcgis/services/CERA/CERA_TechClasses_WGS84/MapServer/WFSServer - - - - - - - - - ImplementsResultPaging - - - HTTPGet - - - HTTPPost - - - - - http://maps.cera.govt.nz/arcgis/services/CERA/CERA_TechClasses_WGS84/MapServer/WFSServer - - - - - - - - - ImplementsStandardJoins - - - HTTPGet - - - HTTPPost - - - - - http://maps.cera.govt.nz/arcgis/services/CERA/CERA_TechClasses_WGS84/MapServer/WFSServer - - - - - - - - - ImplementsSpatialJoins - - - HTTPGet - - - HTTPPost - - - - - http://maps.cera.govt.nz/arcgis/services/CERA/CERA_TechClasses_WGS84/MapServer/WFSServer - - - - - - - - - ImplementsTemporalJoins - - - HTTPGet - - - HTTPPost - - - - - http://maps.cera.govt.nz/arcgis/services/CERA/CERA_TechClasses_WGS84/MapServer/WFSServer - - - - - - - - - ImplementsFeatureVersioning - - - HTTPGet - - - HTTPPost - - - - - http://maps.cera.govt.nz/arcgis/services/CERA/CERA_TechClasses_WGS84/MapServer/WFSServer - - - - - - - - - ManageStoredQueries - - - HTTPGet - - - HTTPPost - - - - - http://maps.cera.govt.nz/arcgis/services/CERA/CERA_TechClasses_WGS84/MapServer/WFSServer - - - - - - - - - KVPEncoding - - - HTTPGet - - - HTTPPost - - - - - http://maps.cera.govt.nz/arcgis/services/CERA/CERA_TechClasses_WGS84/MapServer/WFSServer - - - - - - - - - XMLEncoding - - - HTTPGet - - - HTTPPost - - - - - http://maps.cera.govt.nz/arcgis/services/CERA/CERA_TechClasses_WGS84/MapServer/WFSServer - - - - - - - - - SOAPEncoding - - - HTTPGet - - - HTTPPost - - - - - http://maps.cera.govt.nz/arcgis/services/CERA/CERA_TechClasses_WGS84/MapServer/WFSServer - - - - - - - - - - - - - - - - - - - - - - - - - http://maps.cera.govt.nz/arcgis/services/CERA/CERA_TechClasses_WGS84/MapServer/WFSServer - - - OGC:WFS - - - PYCSW_IDENTIFIER - - - OGC-WFS Web Feature Service - - - - - - - - - - diff --git a/tests/expected/suites_harvesting_post_Harvest-zzz-post-GetRecords-filter-wms-dc.xml b/tests/expected/suites_harvesting_post_Harvest-zzz-post-GetRecords-filter-wms-dc.xml deleted file mode 100644 index c825868d8..000000000 --- a/tests/expected/suites_harvesting_post_Harvest-zzz-post-GetRecords-filter-wms-dc.xml +++ /dev/null @@ -1,90 +0,0 @@ - - - - - - - PYCSW_IDENTIFIER - 1 Million Scale WMS Layers from the National Atlas of the United States - service - - http://webservices.nationalatlas.gov/wms/1million - http://webservices.nationalatlas.gov/wms/1million?version=1.1.1&request=GetCapabilities&service=WMS - http://webservices.nationalatlas.gov/wms/1million - http://webservices.nationalatlas.gov/wms/1million - http://webservices.nationalatlas.gov/wms/1million - http://webservices.nationalatlas.gov/wms/1million - http://webservices.nationalatlas.gov/wms/1million - http://webservices.nationalatlas.gov/wms/1million - http://demo.pycsw.org/services/csw - - 18.92 -179.13 - 71.4 179.79 - - - - PYCSW_IDENTIFIER - Wisconsin Lake Clarity - service - SSEC - PAW - remote sensing - meteorology - atmospheric science - University of Wisconsin - Madison - weather - land - http://wms.ssec.wisc.edu/cgi-bin/mapserv?map=/home/wms/data/mapfiles/lakestsi.map - http://wms.ssec.wisc.edu/cgi-bin/mapserv?map=%2Fhome%2Fwms%2Fdata%2Fmapfiles%2Flakestsi.map&version=1.1.1&request=GetCapabilities&service=WMS - http://wms.ssec.wisc.edu/cgi-bin/mapserv?map=/home/wms/data/mapfiles/lakestsi.map - http://wms.ssec.wisc.edu/cgi-bin/mapserv?map=/home/wms/data/mapfiles/lakestsi.map - http://wms.ssec.wisc.edu/cgi-bin/mapserv?map=/home/wms/data/mapfiles/lakestsi.map - General: This server hosts a set of experimental OGC Web Services of remote sensing data products for use in a broad range of both desktop and mobile device clients. - http://demo.pycsw.org/services/csw - - 42.41 -93.03 - 47.13 -86.64 - - - - PYCSW_IDENTIFIER - View & download service for EU-DEM data provided by EOX - service - EU-DEM - http://data.eox.at/eudem_ows - http://data.eox.at/eudem_ows?version=1.1.1&request=GetCapabilities&service=WMS - http://data.eox.at/eudem_ows - http://data.eox.at/eudem_ows - http://data.eox.at/eudem_ows - http://data.eox.at/eudem_ows - http://data.eox.at/eudem_ows - http://data.eox.at/eudem_ows - Produced using Copernicus data and information funded by the European Union - EU-DEM layers. - http://demo.pycsw.org/services/csw - - 12.99 -29.09 - 12.99 -29.09 - - - - PYCSW_IDENTIFIER - IEM WMS Service - service - - WMS - http://mesonet.agron.iastate.edu/cgi-bin/wms/nexrad/n0r-t.cgi - IEM generated CONUS composite of NWS WSR-88D level III base reflectivity. - Daryl Herzmann - Iowa State University - Daryl Herzmann - http://mesonet.agron.iastate.edu/cgi-bin/wms/nexrad/n0r-t.cgi - None - urn:ogc:def:crs:EPSG:6.11:4326 - - 24.0 -126.0 - 50.0 -66.0 - - - - diff --git a/tests/expected/suites_harvesting_post_Harvest-zzz-post-GetRecords-filter-wms-iso.xml b/tests/expected/suites_harvesting_post_Harvest-zzz-post-GetRecords-filter-wms-iso.xml deleted file mode 100644 index b17cbca72..000000000 --- a/tests/expected/suites_harvesting_post_Harvest-zzz-post-GetRecords-filter-wms-iso.xml +++ /dev/null @@ -1,1361 +0,0 @@ - - - - - - - - PYCSW_IDENTIFIER - - - - - - service - - - - - - - ISO19119 - - - 2005/PDAM 1 - - - - - - - 1 Million Scale WMS Layers from the National Atlas of the United States - - - - - - - - - - - - - - - - - - OGC:WMS - - - 1.1.1 - - - - - - - - - - - - - - -179.13 - - - 179.79 - - - 18.92 - - - 71.4 - - - - - - - tight - - - - - GetMap - - - ports1m - - - - - - - GetMap - - - national1m - - - - - - - GetMap - - - elevation - - - - - - - GetMap - - - impervious - - - - - - - GetMap - - - coast1m - - - - - - - GetMap - - - cdl - - - - - - - GetMap - - - states1m - - - - - - - GetMap - - - elsli0100g - - - - - - - GetMap - - - landcov100m - - - - - - - GetMap - - - cdp - - - - - - - GetMap - - - amtrak1m - - - - - - - GetMap - - - airports1m - - - - - - - GetMap - - - one_million - - - - - - - GetMap - - - satvi0100g - - - - - - - GetMap - - - srcoi0100g - - - - - - - GetMap - - - srgri0100g - - - - - - - GetMap - - - treecanopy - - - - - - - GetMap - - - svsri0100g - - - - - - - GetCapabilities - - - HTTPGet - - - HTTPPost - - - - - http://webservices.nationalatlas.gov/wms/1million - - - - - - - - - GetMap - - - HTTPGet - - - HTTPPost - - - - - http://webservices.nationalatlas.gov/wms/1million - - - - - - - - - GetFeatureInfo - - - HTTPGet - - - HTTPPost - - - - - http://webservices.nationalatlas.gov/wms/1million - - - - - - - - - DescribeLayer - - - HTTPGet - - - HTTPPost - - - - - http://webservices.nationalatlas.gov/wms/1million - - - - - - - - - GetLegendGraphic - - - HTTPGet - - - HTTPPost - - - - - http://webservices.nationalatlas.gov/wms/1million - - - - - - - - - GetStyles - - - HTTPGet - - - HTTPPost - - - - - http://webservices.nationalatlas.gov/wms/1million - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - http://webservices.nationalatlas.gov/wms/1million - - - OGC:WMS - - - PYCSW_IDENTIFIER - - - OGC-WMS Web Map Service - - - - - - - http://webservices.nationalatlas.gov/wms/1million?version=1.1.1&request=GetCapabilities&service=WMS - - - OGC:WMS-1.1.1-http-get-capabilities - - - PYCSW_IDENTIFIER - - - OGC-WMS Capabilities service (ver 1.1.1) - - - - - - - - - - - PYCSW_IDENTIFIER - - - - - - service - - - - - Dr. Sam Batzli - - - - - - - - ISO19119 - - - 2005/PDAM 1 - - - - - - - Wisconsin Lake Clarity - - - - - General: This server hosts a set of experimental OGC Web Services of remote sensing data products for use in a broad range of both desktop and mobile device clients. - - - - - SSEC - - - PAW - - - remote sensing - - - meteorology - - - atmospheric science - - - University of Wisconsin - - - Madison - - - weather - - - land - - - - - - - - OGC:WMS - - - 1.1.1 - - - - - SSEC - - - PAW - - - remote sensing - - - meteorology - - - atmospheric science - - - University of Wisconsin - - - Madison - - - weather - - - land - - - - - - - - - -93.03 - - - -86.64 - - - 42.41 - - - 47.13 - - - - - - - tight - - - - - GetMap - - - Highways - - - - - - - GetMap - - - LakesTSI - - - - - - - GetMap - - - LakeClarity - - - - - - - GetMap - - - LakesTSI_0305 - - - - - - - GetMap - - - Relief - - - - - - - GetMap - - - LakeNames_0305 - - - - - - - GetMap - - - Roads - - - - - - - GetMap - - - LakeNames - - - - - - - GetMap - - - Counties - - - - - - - GetCapabilities - - - HTTPGet - - - HTTPPost - - - - - http://wms.ssec.wisc.edu/cgi-bin/mapserv?map=/home/wms/data/mapfiles/lakestsi.map - - - - - - - - - GetMap - - - HTTPGet - - - HTTPPost - - - - - http://wms.ssec.wisc.edu/cgi-bin/mapserv?map=/home/wms/data/mapfiles/lakestsi.map - - - - - - - - - GetFeatureInfo - - - HTTPGet - - - HTTPPost - - - - - http://wms.ssec.wisc.edu/cgi-bin/mapserv?map=/home/wms/data/mapfiles/lakestsi.map - - - - - - - - - - - - - - - - - - - - - - - - http://wms.ssec.wisc.edu/cgi-bin/mapserv?map=/home/wms/data/mapfiles/lakestsi.map - - - OGC:WMS - - - PYCSW_IDENTIFIER - - - OGC-WMS Web Map Service - - - - - - - http://wms.ssec.wisc.edu/cgi-bin/mapserv?map=%2Fhome%2Fwms%2Fdata%2Fmapfiles%2Flakestsi.map&version=1.1.1&request=GetCapabilities&service=WMS - - - OGC:WMS-1.1.1-http-get-capabilities - - - PYCSW_IDENTIFIER - - - OGC-WMS Capabilities service (ver 1.1.1) - - - - - - - - - - - PYCSW_IDENTIFIER - - - - - - service - - - - - Stephan Meissl - - - - - - - - ISO19119 - - - 2005/PDAM 1 - - - - - - - View & download service for EU-DEM data provided by EOX - - - - - Produced using Copernicus data and information funded by the European Union - EU-DEM layers. - - - - - EU-DEM - - - - - - - - OGC:WMS - - - 1.1.1 - - - - - EU-DEM - - - - - - - - - -29.09 - - - -29.09 - - - 12.99 - - - 12.99 - - - - - - - tight - - - - - GetMap - - - EU-DEM - - - - - - - GetMap - - - MS - - - - - - - GetMap - - - eudem_color - - - - - - - GetCapabilities - - - HTTPGet - - - HTTPPost - - - - - http://data.eox.at/eudem_ows - - - - - - - - - GetMap - - - HTTPGet - - - HTTPPost - - - - - http://data.eox.at/eudem_ows - - - - - - - - - GetFeatureInfo - - - HTTPGet - - - HTTPPost - - - - - http://data.eox.at/eudem_ows - - - - - - - - - DescribeLayer - - - HTTPGet - - - HTTPPost - - - - - http://data.eox.at/eudem_ows - - - - - - - - - GetLegendGraphic - - - HTTPGet - - - HTTPPost - - - - - http://data.eox.at/eudem_ows - - - - - - - - - GetStyles - - - HTTPGet - - - HTTPPost - - - - - http://data.eox.at/eudem_ows - - - - - - - - - - - - - - - - - - http://data.eox.at/eudem_ows - - - OGC:WMS - - - PYCSW_IDENTIFIER - - - OGC-WMS Web Map Service - - - - - - - http://data.eox.at/eudem_ows?version=1.1.1&request=GetCapabilities&service=WMS - - - OGC:WMS-1.1.1-http-get-capabilities - - - PYCSW_IDENTIFIER - - - OGC-WMS Capabilities service (ver 1.1.1) - - - - - - - - - - - PYCSW_IDENTIFIER - - - - - - service - - - - - Daryl Herzmann - - - Iowa State University - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - https://mesonet.agron.iastate.edu/cgi-bin/wms/nexrad/n0r-t.cgi? - - - - - - - - - - - ISO19119 - - - 2005/PDAM 1 - - - - - - - IEM WMS Service - - - - - IEM generated CONUS composite of NWS WSR-88D level III base reflectivity. - - - - - - - - - - - - - OGC:WMS - - - 1.3.0 - - - - - - - - - - - - - - -126.0 - - - -66.0 - - - 24.0 - - - 50.0 - - - - - - - tight - - - - - GetMap - - - nexrad_base_reflect - - - - - - - GetMap - - - time_idx - - - - - - - GetMap - - - nexrad-n0r-wmst - - - - - - - GetCapabilities - - - HTTPGet - - - HTTPPost - - - - - http://mesonet.agron.iastate.edu/cgi-bin/wms/nexrad/n0r-t.cgi - - - - - - - - - GetMap - - - HTTPGet - - - HTTPPost - - - - - http://mesonet.agron.iastate.edu/cgi-bin/wms/nexrad/n0r-t.cgi - - - - - - - - - GetFeatureInfo - - - HTTPGet - - - HTTPPost - - - - - http://mesonet.agron.iastate.edu/cgi-bin/wms/nexrad/n0r-t.cgi - - - - - - - - - DescribeLayer - - - HTTPGet - - - HTTPPost - - - - - http://mesonet.agron.iastate.edu/cgi-bin/wms/nexrad/n0r-t.cgi - - - - - - - - - GetLegendGraphic - - - HTTPGet - - - HTTPPost - - - - - http://mesonet.agron.iastate.edu/cgi-bin/wms/nexrad/n0r-t.cgi - - - - - - - - - GetStyles - - - HTTPGet - - - HTTPPost - - - - - http://mesonet.agron.iastate.edu/cgi-bin/wms/nexrad/n0r-t.cgi - - - - - - - - - - - - - - - - - - http://mesonet.agron.iastate.edu/cgi-bin/wms/nexrad/n0r-t.cgi - - - OGC:WMS - - - PYCSW_IDENTIFIER - - - OGC-WMS Web Map Service - - - - - - - - - - diff --git a/tests/expected/suites_harvesting_post_Harvest-zzz-post-GetRecords-filter-wms-layer.xml b/tests/expected/suites_harvesting_post_Harvest-zzz-post-GetRecords-filter-wms-layer.xml deleted file mode 100644 index 9b6b4645a..000000000 --- a/tests/expected/suites_harvesting_post_Harvest-zzz-post-GetRecords-filter-wms-layer.xml +++ /dev/null @@ -1,35 +0,0 @@ - - - - - - - PYCSW_IDENTIFIER - NEXRAD BASE REFLECT - dataset - - http://mesonet.agron.iastate.edu/cgi-bin/wms/nexrad/n0r-t.cgi - http://mesonet.agron.iastate.edu/cgi-bin/wms/nexrad/n0r-t.cgi?layers=time_idx&width=200&version=1.1.1&bbox=-126.0%2C24.0%2C-66.0%2C50.0&service=WMS&format=image%2Fpng&styles=&srs=EPSG%3A4326&request=GetMap&height=200 - http://mesonet.agron.iastate.edu/cgi-bin/wms/nexrad/n0r-t.cgi - urn:ogc:def:crs:EPSG:6.11:4326 - - 24.0 -126.0 - 50.0 -66.0 - - - - PYCSW_IDENTIFIER - NEXRAD BASE REFLECT - dataset - - http://mesonet.agron.iastate.edu/cgi-bin/wms/nexrad/n0r-t.cgi - http://mesonet.agron.iastate.edu/cgi-bin/wms/nexrad/n0r-t.cgi?layers=nexrad-n0r-wmst&width=200&version=1.1.1&bbox=-126.0%2C24.0%2C-66.0%2C50.0&service=WMS&format=image%2Fpng&styles=&srs=EPSG%3A4326&request=GetMap&height=200 - http://mesonet.agron.iastate.edu/cgi-bin/wms/nexrad/n0r-t.cgi - urn:ogc:def:crs:EPSG:6.11:4326 - - 24.0 -126.0 - 50.0 -66.0 - - - - diff --git a/tests/expected/suites_harvesting_post_Harvest-zzz-post-GetRecords-filter-wps-process.xml b/tests/expected/suites_harvesting_post_Harvest-zzz-post-GetRecords-filter-wps-process.xml deleted file mode 100644 index 0d0761488..000000000 --- a/tests/expected/suites_harvesting_post_Harvest-zzz-post-GetRecords-filter-wps-process.xml +++ /dev/null @@ -1,62 +0,0 @@ - - - - - - - PYCSW_IDENTIFIER - gov.usgs.cida.gdp.wps.algorithm.filemanagement.CreateNewShapefileDataStore - software - http://cida.usgs.gov/gdp/utility/WebProcessingService - http://cida.usgs.gov/gdp/utility/WebProcessingService?version=1.0.0&request=GetCapabilities&service=WPS - http://cida.usgs.gov/gdp/utility/WebProcessingService?identifier=gov.usgs.cida.gdp.wps.algorithm.filemanagement.CreateNewShapefileDataStore&version=1.0.0&request=DescribeProcess&service=WPS - http://cida.usgs.gov/gdp/utility/WebProcessingService - - - PYCSW_IDENTIFIER - Get Grid Time Range - software - http://cida.usgs.gov/gdp/utility/WebProcessingService - http://cida.usgs.gov/gdp/utility/WebProcessingService?version=1.0.0&request=GetCapabilities&service=WPS - http://cida.usgs.gov/gdp/utility/WebProcessingService?identifier=gov.usgs.cida.gdp.wps.algorithm.filemanagement.CreateNewShapefileDataStore&version=1.0.0&request=DescribeProcess&service=WPS - http://cida.usgs.gov/gdp/utility/WebProcessingService?identifier=gov.usgs.cida.gdp.wps.algorithm.discovery.GetGridTimeRange&version=1.0.0&request=DescribeProcess&service=WPS - http://cida.usgs.gov/gdp/utility/WebProcessingService - - - PYCSW_IDENTIFIER - gov.usgs.cida.gdp.wps.algorithm.filemanagement.ReceiveFiles - software - http://cida.usgs.gov/gdp/utility/WebProcessingService - http://cida.usgs.gov/gdp/utility/WebProcessingService?version=1.0.0&request=GetCapabilities&service=WPS - http://cida.usgs.gov/gdp/utility/WebProcessingService?identifier=gov.usgs.cida.gdp.wps.algorithm.filemanagement.CreateNewShapefileDataStore&version=1.0.0&request=DescribeProcess&service=WPS - http://cida.usgs.gov/gdp/utility/WebProcessingService?identifier=gov.usgs.cida.gdp.wps.algorithm.discovery.GetGridTimeRange&version=1.0.0&request=DescribeProcess&service=WPS - http://cida.usgs.gov/gdp/utility/WebProcessingService?identifier=gov.usgs.cida.gdp.wps.algorithm.filemanagement.ReceiveFiles&version=1.0.0&request=DescribeProcess&service=WPS - http://cida.usgs.gov/gdp/utility/WebProcessingService - - - PYCSW_IDENTIFIER - gov.usgs.cida.gdp.wps.algorithm.discovery.GetWcsCoverages - software - http://cida.usgs.gov/gdp/utility/WebProcessingService - http://cida.usgs.gov/gdp/utility/WebProcessingService?version=1.0.0&request=GetCapabilities&service=WPS - http://cida.usgs.gov/gdp/utility/WebProcessingService?identifier=gov.usgs.cida.gdp.wps.algorithm.filemanagement.CreateNewShapefileDataStore&version=1.0.0&request=DescribeProcess&service=WPS - http://cida.usgs.gov/gdp/utility/WebProcessingService?identifier=gov.usgs.cida.gdp.wps.algorithm.discovery.GetGridTimeRange&version=1.0.0&request=DescribeProcess&service=WPS - http://cida.usgs.gov/gdp/utility/WebProcessingService?identifier=gov.usgs.cida.gdp.wps.algorithm.filemanagement.ReceiveFiles&version=1.0.0&request=DescribeProcess&service=WPS - http://cida.usgs.gov/gdp/utility/WebProcessingService?identifier=gov.usgs.cida.gdp.wps.algorithm.discovery.GetWcsCoverages&version=1.0.0&request=DescribeProcess&service=WPS - http://cida.usgs.gov/gdp/utility/WebProcessingService - - - PYCSW_IDENTIFIER - gov.usgs.cida.gdp.wps.algorithm.filemanagement.GetWatersGeom - software - http://cida.usgs.gov/gdp/utility/WebProcessingService - http://cida.usgs.gov/gdp/utility/WebProcessingService?version=1.0.0&request=GetCapabilities&service=WPS - http://cida.usgs.gov/gdp/utility/WebProcessingService?identifier=gov.usgs.cida.gdp.wps.algorithm.filemanagement.CreateNewShapefileDataStore&version=1.0.0&request=DescribeProcess&service=WPS - http://cida.usgs.gov/gdp/utility/WebProcessingService?identifier=gov.usgs.cida.gdp.wps.algorithm.discovery.GetGridTimeRange&version=1.0.0&request=DescribeProcess&service=WPS - http://cida.usgs.gov/gdp/utility/WebProcessingService?identifier=gov.usgs.cida.gdp.wps.algorithm.filemanagement.ReceiveFiles&version=1.0.0&request=DescribeProcess&service=WPS - http://cida.usgs.gov/gdp/utility/WebProcessingService?identifier=gov.usgs.cida.gdp.wps.algorithm.discovery.GetWcsCoverages&version=1.0.0&request=DescribeProcess&service=WPS - http://cida.usgs.gov/gdp/utility/WebProcessingService?identifier=gov.usgs.cida.gdp.wps.algorithm.filemanagement.GetWatersGeom&version=1.0.0&request=DescribeProcess&service=WPS - http://cida.usgs.gov/gdp/utility/WebProcessingService - - - diff --git a/tests/expected/suites_harvesting_post_Transaction-000-delete-all.xml b/tests/expected/suites_harvesting_post_Transaction-000-delete-all.xml deleted file mode 100644 index c400e312a..000000000 --- a/tests/expected/suites_harvesting_post_Transaction-000-delete-all.xml +++ /dev/null @@ -1,9 +0,0 @@ - - - - - 0 - 0 - 131 - - diff --git a/tests/expected/suites_manager_post_Clear-000-delete-all.xml b/tests/expected/suites_manager_post_Clear-000-delete-all.xml deleted file mode 100644 index 01ccdf629..000000000 --- a/tests/expected/suites_manager_post_Clear-000-delete-all.xml +++ /dev/null @@ -1,9 +0,0 @@ - - - - - 0 - 0 - 0 - - diff --git a/tests/expected/suites_manager_post_GetCapabilities.xml b/tests/expected/suites_manager_post_GetCapabilities.xml deleted file mode 100644 index 4931b7d31..000000000 --- a/tests/expected/suites_manager_post_GetCapabilities.xml +++ /dev/null @@ -1,370 +0,0 @@ - - - - - pycsw Geospatial Catalogue - pycsw is an OGC CSW server implementation written in Python - - catalogue - discovery - theme - - CSW - 2.0.2 - 3.0.0 - None - None - - - pycsw - - - Kralidis, Tom - Senior Systems Scientist - - - +01-416-xxx-xxxx - +01-416-xxx-xxxx - - - TBA - Toronto - Ontario - M9C 3Z9 - Canada - tomkralidis@gmail.com - - - 0800h - 1600h EST - During hours of service. Off on weekends. - - pointOfContact - - - - - - - - - - - - Filter_Capabilities - OperationsMetadata - ServiceIdentification - ServiceProvider - - - - - - - - - - - application/json - application/xml - - - http://www.w3.org/2001/XMLSchema - http://www.w3.org/TR/xmlschema-1/ - http://www.w3.org/XML/Schema - - - csw:Record - gmd:MD_Metadata - - - - - - - - - - - DescribeRecord.outputFormat - DescribeRecord.schemaLanguage - DescribeRecord.typeName - GetCapabilities.sections - GetRecordById.ElementSetName - GetRecordById.outputFormat - GetRecordById.outputSchema - GetRecords.CONSTRAINTLANGUAGE - GetRecords.ElementSetName - GetRecords.outputFormat - GetRecords.outputSchema - GetRecords.resultType - GetRecords.typeNames - Harvest.ResourceType - Transaction.TransactionSchemas - - - - - - - - - - - CQL_TEXT - FILTER - - - brief - full - summary - - - application/json - application/xml - - - http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ - http://www.interlis.ch/INTERLIS2.3 - http://www.isotc211.org/2005/gmd - http://www.opengis.net/cat/csw/2.0.2 - http://www.opengis.net/cat/csw/csdgm - http://www.w3.org/2005/Atom - - - hits - results - validate - - - csw:Record - gmd:MD_Metadata - - - apiso:AccessConstraints - apiso:Classification - apiso:ConditionApplyingToAccessAndUse - apiso:Contributor - apiso:Creator - apiso:Degree - apiso:Lineage - apiso:OtherConstraints - apiso:Publisher - apiso:Relation - apiso:ResponsiblePartyRole - apiso:SpecificationDate - apiso:SpecificationDateType - apiso:SpecificationTitle - - - csw:AnyText - dc:contributor - dc:creator - dc:date - dc:format - dc:identifier - dc:language - dc:publisher - dc:relation - dc:rights - dc:source - dc:subject - dc:title - dc:type - dct:abstract - dct:alternative - dct:modified - dct:spatial - ows:BoundingBox - - - apiso:Abstract - apiso:AlternateTitle - apiso:AnyText - apiso:BoundingBox - apiso:CRS - apiso:CouplingType - apiso:CreationDate - apiso:Denominator - apiso:DistanceUOM - apiso:DistanceValue - apiso:Format - apiso:GeographicDescriptionCode - apiso:HasSecurityConstraints - apiso:Identifier - apiso:KeywordType - apiso:Language - apiso:Modified - apiso:OperatesOn - apiso:OperatesOnIdentifier - apiso:OperatesOnName - apiso:Operation - apiso:OrganisationName - apiso:ParentIdentifier - apiso:PublicationDate - apiso:ResourceLanguage - apiso:RevisionDate - apiso:ServiceType - apiso:ServiceTypeVersion - apiso:Subject - apiso:TempExtent_begin - apiso:TempExtent_end - apiso:Title - apiso:TopicCategory - apiso:Type - - - - - - - - - - - brief - full - summary - - - application/json - application/xml - - - http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ - http://www.interlis.ch/INTERLIS2.3 - http://www.isotc211.org/2005/gmd - http://www.opengis.net/cat/csw/2.0.2 - http://www.opengis.net/cat/csw/csdgm - http://www.w3.org/2005/Atom - - - - - - - - - - - - - - - - - http://www.isotc211.org/2005/gmi - http://www.opengis.net/cat/csw/2.0.2 - http://www.opengis.net/cat/csw/3.0 - http://www.opengis.net/sos/1.0 - http://www.opengis.net/sos/2.0 - http://www.opengis.net/wcs - http://www.opengis.net/wfs - http://www.opengis.net/wfs/2.0 - http://www.opengis.net/wms - http://www.opengis.net/wmts/1.0 - http://www.opengis.net/wps/1.0.0 - urn:geoss:waf - - - - - - - - - - http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ - http://www.interlis.ch/INTERLIS2.3 - http://www.isotc211.org/2005/gmd - http://www.isotc211.org/2005/gmi - http://www.isotc211.org/schemas/2005/gmd/ - http://www.opengis.net/cat/csw/2.0.2 - http://www.opengis.net/cat/csw/3.0 - http://www.opengis.net/cat/csw/csdgm - http://www.opengis.net/sos/1.0 - http://www.opengis.net/sos/2.0 - http://www.opengis.net/wcs - http://www.opengis.net/wfs - http://www.opengis.net/wfs/2.0 - http://www.opengis.net/wms - http://www.opengis.net/wmts/1.0 - http://www.opengis.net/wps/1.0.0 - http://www.w3.org/2005/Atom - urn:geoss:waf - - - - CSW - - - 2.0.2 - 3.0.0 - - - http://geo.data.gov/geoportal/csw/discovery - - - 10 - - - XML - SOAP - - - allowed - - - - - - gml:Point - gml:LineString - gml:Polygon - gml:Envelope - - - - - - - - - - - - - - - - - - - Between - EqualTo - GreaterThan - GreaterThanEqualTo - LessThan - LessThanEqualTo - Like - NotEqualTo - NullCheck - - - - - length - lower - ltrim - rtrim - trim - upper - - - - - - - - - - diff --git a/tests/expected/suites_manager_post_GetDomain-parameter.xml b/tests/expected/suites_manager_post_GetDomain-parameter.xml deleted file mode 100644 index b47402ca2..000000000 --- a/tests/expected/suites_manager_post_GetDomain-parameter.xml +++ /dev/null @@ -1,27 +0,0 @@ - - - - - Harvest.ResourceType - - http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ - http://www.interlis.ch/INTERLIS2.3 - http://www.isotc211.org/2005/gmd - http://www.isotc211.org/2005/gmi - http://www.isotc211.org/schemas/2005/gmd/ - http://www.opengis.net/cat/csw/2.0.2 - http://www.opengis.net/cat/csw/3.0 - http://www.opengis.net/cat/csw/csdgm - http://www.opengis.net/sos/1.0 - http://www.opengis.net/sos/2.0 - http://www.opengis.net/wcs - http://www.opengis.net/wfs - http://www.opengis.net/wfs/2.0 - http://www.opengis.net/wms - http://www.opengis.net/wmts/1.0 - http://www.opengis.net/wps/1.0.0 - http://www.w3.org/2005/Atom - urn:geoss:waf - - - diff --git a/tests/expected/suites_manager_post_Transaction-000-delete-all.xml b/tests/expected/suites_manager_post_Transaction-000-delete-all.xml deleted file mode 100644 index 01ccdf629..000000000 --- a/tests/expected/suites_manager_post_Transaction-000-delete-all.xml +++ /dev/null @@ -1,9 +0,0 @@ - - - - - 0 - 0 - 0 - - diff --git a/tests/expected/suites_manager_post_Transaction-dc-01-insert.xml b/tests/expected/suites_manager_post_Transaction-dc-01-insert.xml deleted file mode 100644 index 07d452a06..000000000 --- a/tests/expected/suites_manager_post_Transaction-dc-01-insert.xml +++ /dev/null @@ -1,15 +0,0 @@ - - - - - 1 - 0 - 0 - - - - xyz - pycsw Catalogue - - - diff --git a/tests/expected/suites_manager_post_Transaction-dc-02-update-full.xml b/tests/expected/suites_manager_post_Transaction-dc-02-update-full.xml deleted file mode 100644 index 0b9104ebe..000000000 --- a/tests/expected/suites_manager_post_Transaction-dc-02-update-full.xml +++ /dev/null @@ -1,9 +0,0 @@ - - - - - 0 - 1 - 0 - - diff --git a/tests/expected/suites_manager_post_Transaction-fgdc-01-insert.xml b/tests/expected/suites_manager_post_Transaction-fgdc-01-insert.xml deleted file mode 100644 index c44db37b3..000000000 --- a/tests/expected/suites_manager_post_Transaction-fgdc-01-insert.xml +++ /dev/null @@ -1,15 +0,0 @@ - - - - - 1 - 0 - 0 - - - - foorecord - NCEP - - - diff --git a/tests/expected/suites_manager_post_Transaction-fgdc-02-update-recprop.xml b/tests/expected/suites_manager_post_Transaction-fgdc-02-update-recprop.xml deleted file mode 100644 index 0b9104ebe..000000000 --- a/tests/expected/suites_manager_post_Transaction-fgdc-02-update-recprop.xml +++ /dev/null @@ -1,9 +0,0 @@ - - - - - 0 - 1 - 0 - - diff --git a/tests/expected/suites_manager_post_Transaction-fgdc-03-delete-all.xml b/tests/expected/suites_manager_post_Transaction-fgdc-03-delete-all.xml deleted file mode 100644 index a788564e4..000000000 --- a/tests/expected/suites_manager_post_Transaction-fgdc-03-delete-all.xml +++ /dev/null @@ -1,9 +0,0 @@ - - - - - 0 - 0 - 2 - - diff --git a/tests/expected/suites_manager_post_Transaction-iso-00-delete-all.xml b/tests/expected/suites_manager_post_Transaction-iso-00-delete-all.xml deleted file mode 100644 index 01ccdf629..000000000 --- a/tests/expected/suites_manager_post_Transaction-iso-00-delete-all.xml +++ /dev/null @@ -1,9 +0,0 @@ - - - - - 0 - 0 - 0 - - diff --git a/tests/expected/suites_manager_post_Transaction-iso-01-insert.xml b/tests/expected/suites_manager_post_Transaction-iso-01-insert.xml deleted file mode 100644 index 2e3a528d5..000000000 --- a/tests/expected/suites_manager_post_Transaction-iso-01-insert.xml +++ /dev/null @@ -1,15 +0,0 @@ - - - - - 1 - 0 - 0 - - - - 12345 - pycsw record - - - diff --git a/tests/expected/suites_manager_post_Transaction-iso-02-update-full.xml b/tests/expected/suites_manager_post_Transaction-iso-02-update-full.xml deleted file mode 100644 index 0b9104ebe..000000000 --- a/tests/expected/suites_manager_post_Transaction-iso-02-update-full.xml +++ /dev/null @@ -1,9 +0,0 @@ - - - - - 0 - 1 - 0 - - diff --git a/tests/expected/suites_manager_post_Transaction-iso-03-update-recprop.xml b/tests/expected/suites_manager_post_Transaction-iso-03-update-recprop.xml deleted file mode 100644 index 0b9104ebe..000000000 --- a/tests/expected/suites_manager_post_Transaction-iso-03-update-recprop.xml +++ /dev/null @@ -1,9 +0,0 @@ - - - - - 0 - 1 - 0 - - diff --git a/tests/expected/suites_manager_post_Transaction-iso-04-update-recprop-no-matches.xml b/tests/expected/suites_manager_post_Transaction-iso-04-update-recprop-no-matches.xml deleted file mode 100644 index 01ccdf629..000000000 --- a/tests/expected/suites_manager_post_Transaction-iso-04-update-recprop-no-matches.xml +++ /dev/null @@ -1,9 +0,0 @@ - - - - - 0 - 0 - 0 - - diff --git a/tests/expected/suites_manager_post_Transaction-iso-05-delete.xml b/tests/expected/suites_manager_post_Transaction-iso-05-delete.xml deleted file mode 100644 index 0e48fd530..000000000 --- a/tests/expected/suites_manager_post_Transaction-iso-05-delete.xml +++ /dev/null @@ -1,9 +0,0 @@ - - - - - 0 - 0 - 1 - - diff --git a/tests/expected/suites_manager_post_Transaction-xxx-delete-all.xml b/tests/expected/suites_manager_post_Transaction-xxx-delete-all.xml deleted file mode 100644 index 01ccdf629..000000000 --- a/tests/expected/suites_manager_post_Transaction-xxx-delete-all.xml +++ /dev/null @@ -1,9 +0,0 @@ - - - - - 0 - 0 - 0 - - diff --git a/tests/expected/suites_oaipmh_get_GetRecord_bad_metadata_prefix.xml b/tests/expected/suites_oaipmh_get_GetRecord_bad_metadata_prefix.xml deleted file mode 100644 index 8633a422d..000000000 --- a/tests/expected/suites_oaipmh_get_GetRecord_bad_metadata_prefix.xml +++ /dev/null @@ -1,7 +0,0 @@ - - - - PYCSW_TIMESTAMP - http://localhost/pycsw/csw.py?config=tests/suites/oaipmh/default.cfg&mode=oaipmh - Invalid outputschema parameter csw-recordd - diff --git a/tests/expected/suites_oaipmh_get_GetRecord_dc.xml b/tests/expected/suites_oaipmh_get_GetRecord_dc.xml deleted file mode 100644 index 367da8832..000000000 --- a/tests/expected/suites_oaipmh_get_GetRecord_dc.xml +++ /dev/null @@ -1,26 +0,0 @@ - - - - PYCSW_TIMESTAMP - http://localhost/pycsw/csw.py?config=tests/suites/oaipmh/default.cfg&mode=oaipmh - - - - urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f - - - - - - urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f - http://purl.org/dc/dcmitype/Image - image/svg+xml - Lorem ipsum - GR-22 - Tourism--Greece - Quisque lacus diam, placerat mollis, pharetra in, commodo sed, augue. Duis iaculis arcu vel arcu. - - - - - diff --git a/tests/expected/suites_oaipmh_get_GetRecord_iso.xml b/tests/expected/suites_oaipmh_get_GetRecord_iso.xml deleted file mode 100644 index 8a482b63e..000000000 --- a/tests/expected/suites_oaipmh_get_GetRecord_iso.xml +++ /dev/null @@ -1,62 +0,0 @@ - - - - PYCSW_TIMESTAMP - http://localhost/pycsw/csw.py?config=tests/suites/oaipmh/default.cfg&mode=oaipmh - - - - urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f - - - - - - - urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f - - - - - - http://purl.org/dc/dcmitype/Image - - - - - - - ISO19115 - - - 2003/Cor.1:2006 - - - - - - - Lorem ipsum - - - - - Quisque lacus diam, placerat mollis, pharetra in, commodo sed, augue. Duis iaculis arcu vel arcu. - - - - - Tourism--Greece - - - - - - - - - - - - - diff --git a/tests/expected/suites_oaipmh_get_GetRecord_oai_dc.xml b/tests/expected/suites_oaipmh_get_GetRecord_oai_dc.xml deleted file mode 100644 index c8840efba..000000000 --- a/tests/expected/suites_oaipmh_get_GetRecord_oai_dc.xml +++ /dev/null @@ -1,26 +0,0 @@ - - - - PYCSW_TIMESTAMP - http://localhost/pycsw/csw.py?config=tests/suites/oaipmh/default.cfg&mode=oaipmh - - - - urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f - - - - - - urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f - http://purl.org/dc/dcmitype/Image - image/svg+xml - Lorem ipsum - GR-22 - Tourism--Greece - Quisque lacus diam, placerat mollis, pharetra in, commodo sed, augue. Duis iaculis arcu vel arcu. - - - - - diff --git a/tests/expected/suites_oaipmh_get_Identify.xml b/tests/expected/suites_oaipmh_get_Identify.xml deleted file mode 100644 index 967a385c5..000000000 --- a/tests/expected/suites_oaipmh_get_Identify.xml +++ /dev/null @@ -1,15 +0,0 @@ - - - - PYCSW_TIMESTAMP - http://localhost/pycsw/csw.py?config=tests/suites/oaipmh/default.cfg&mode=oaipmh - - pycsw Geospatial Catalogue - http://localhost/pycsw/csw.py?config=tests/suites/oaipmh/default.cfg&mode=oaipmh - 2.0 - tomkralidis@gmail.com - PYCSW_TIMESTAMP - no - YYYY-MM-DDThh:mm:ssZ - - diff --git a/tests/expected/suites_oaipmh_get_ListIdentifiers_bad_metadata_prefix.xml b/tests/expected/suites_oaipmh_get_ListIdentifiers_bad_metadata_prefix.xml deleted file mode 100644 index 3eaa03c66..000000000 --- a/tests/expected/suites_oaipmh_get_ListIdentifiers_bad_metadata_prefix.xml +++ /dev/null @@ -1,7 +0,0 @@ - - - - PYCSW_TIMESTAMP - http://localhost/pycsw/csw.py?config=tests/suites/oaipmh/default.cfg&mode=oaipmh - Invalid outputSchema parameter value: foo - diff --git a/tests/expected/suites_oaipmh_get_ListIdentifiers_dc.xml b/tests/expected/suites_oaipmh_get_ListIdentifiers_dc.xml deleted file mode 100644 index 388be64cd..000000000 --- a/tests/expected/suites_oaipmh_get_ListIdentifiers_dc.xml +++ /dev/null @@ -1,79 +0,0 @@ - - - - PYCSW_TIMESTAMP - http://localhost/pycsw/csw.py?config=tests/suites/oaipmh/default.cfg&mode=oaipmh - - - - urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f - - - - - - - urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f - - - - - - - urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f - - - - - - - urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f - - - - - - - urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f - - - - - - - urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f - - - - - - - urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f - - - - - - - urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f - - - - - - - urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f - - - - - - - urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f - - - - - 11 - - diff --git a/tests/expected/suites_oaipmh_get_ListIdentifiers_iso.xml b/tests/expected/suites_oaipmh_get_ListIdentifiers_iso.xml deleted file mode 100644 index 1ab8be85c..000000000 --- a/tests/expected/suites_oaipmh_get_ListIdentifiers_iso.xml +++ /dev/null @@ -1,79 +0,0 @@ - - - - PYCSW_TIMESTAMP - http://localhost/pycsw/csw.py?config=tests/suites/oaipmh/default.cfg&mode=oaipmh - - - - urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f - - - - - - - urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f - - - - - - - urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f - - - - - - - urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f - - - - - - - urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f - - - - - - - urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f - - - - - - - urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f - - - - - - - urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f - - - - - - - urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f - - - - - - - urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f - - - - - 11 - - diff --git a/tests/expected/suites_oaipmh_get_ListIdentifiers_missing_metadata_prefix.xml b/tests/expected/suites_oaipmh_get_ListIdentifiers_missing_metadata_prefix.xml deleted file mode 100644 index 4104799d7..000000000 --- a/tests/expected/suites_oaipmh_get_ListIdentifiers_missing_metadata_prefix.xml +++ /dev/null @@ -1,7 +0,0 @@ - - - - PYCSW_TIMESTAMP - http://localhost/pycsw/csw.py?config=tests/suites/oaipmh/default.cfg&mode=oaipmh - Missing metadataPrefix parameter - diff --git a/tests/expected/suites_oaipmh_get_ListIdentifiers_oai_dc.xml b/tests/expected/suites_oaipmh_get_ListIdentifiers_oai_dc.xml deleted file mode 100644 index a41a083ab..000000000 --- a/tests/expected/suites_oaipmh_get_ListIdentifiers_oai_dc.xml +++ /dev/null @@ -1,79 +0,0 @@ - - - - PYCSW_TIMESTAMP - http://localhost/pycsw/csw.py?config=tests/suites/oaipmh/default.cfg&mode=oaipmh - - - - urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f - - - - - - - urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f - - - - - - - urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f - - - - - - - urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f - - - - - - - urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f - - - - - - - urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f - - - - - - - urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f - - - - - - - urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f - - - - - - - urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f - - - - - - - urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f - - - - - 11 - - diff --git a/tests/expected/suites_oaipmh_get_ListMetadataFormats.xml b/tests/expected/suites_oaipmh_get_ListMetadataFormats.xml deleted file mode 100644 index 2549bc963..000000000 --- a/tests/expected/suites_oaipmh_get_ListMetadataFormats.xml +++ /dev/null @@ -1,38 +0,0 @@ - - - - PYCSW_TIMESTAMP - http://localhost/pycsw/csw.py?config=tests/suites/oaipmh/default.cfg&mode=oaipmh - - - csw-record - http://schemas.opengis.net/csw/2.0.2/record.xsd - http://www.opengis.net/cat/csw/2.0.2 - - - dif - http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/dif.xsd - http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ - - - fgdc-std - http://www.fgdc.gov/metadata/fgdc-std-001-1998.xsd - http://www.opengis.net/cat/csw/csdgm - - - gm03 - http://www.geocat.ch/internet/geocat/en/home/documentation/gm03.parsys.50316.downloadList.86742.DownloadFile.tmp/gm0321.zip - http://www.interlis.ch/INTERLIS2.3 - - - iso19139 - http://www.isotc211.org/2005/gmd/gmd.xsd - http://www.isotc211.org/2005/gmd - - - oai_dc - http://www.openarchives.org/OAI/2.0/oai_dc.xsd - http://www.openarchives.org/OAI/2.0/oai_dc/ - - - diff --git a/tests/expected/suites_oaipmh_get_ListRecords_dc.xml b/tests/expected/suites_oaipmh_get_ListRecords_dc.xml deleted file mode 100644 index 43a853d38..000000000 --- a/tests/expected/suites_oaipmh_get_ListRecords_dc.xml +++ /dev/null @@ -1,185 +0,0 @@ - - - - PYCSW_TIMESTAMP - http://localhost/pycsw/csw.py?config=tests/suites/oaipmh/default.cfg&mode=oaipmh - - - - urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f - - - - - - urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f - http://purl.org/dc/dcmitype/Image - image/svg+xml - Lorem ipsum - GR-22 - Tourism--Greece - Quisque lacus diam, placerat mollis, pharetra in, commodo sed, augue. Duis iaculis arcu vel arcu. - - - - - - urn:uuid:1ef30a8b-876d-4828-9246-c37ab4510bbd - - - - - - urn:uuid:1ef30a8b-876d-4828-9246-c37ab4510bbd - http://purl.org/dc/dcmitype/Service - Proin sit amet justo. In justo. Aenean adipiscing nulla id tellus. - - 60.042 13.754 - 68.410 17.920 - - - - - - - urn:uuid:66ae76b7-54ba-489b-a582-0f0633d96493 - - - - - - urn:uuid:66ae76b7-54ba-489b-a582-0f0633d96493 - Maecenas enim - http://purl.org/dc/dcmitype/Text - application/xhtml+xml - Marine sediments - Pellentesque tempus magna non sapien fringilla blandit. - - - - - - urn:uuid:6a3de50b-fa66-4b58-a0e6-ca146fdd18d4 - - - - - - urn:uuid:6a3de50b-fa66-4b58-a0e6-ca146fdd18d4 - http://purl.org/dc/dcmitype/Service - Ut facilisis justo ut lacus - Vegetation - urn:uuid:94bc9c83-97f6-4b40-9eb8-a8e8787a5c63 - - - - - - urn:uuid:784e2afd-a9fd-44a6-9a92-a3848371c8ec - - - - - - urn:uuid:784e2afd-a9fd-44a6-9a92-a3848371c8ec - Aliquam fermentum purus quis arcu - http://purl.org/dc/dcmitype/Text - Hydrography--Dictionaries - application/pdf - 2006-05-12 - Vestibulum quis ipsum sit amet metus imperdiet vehicula. Nulla scelerisque cursus mi. - - - - - - urn:uuid:829babb0-b2f1-49e1-8cd5-7b489fe71a1e - - - - - - urn:uuid:829babb0-b2f1-49e1-8cd5-7b489fe71a1e - http://purl.org/dc/dcmitype/Image - image/jp2 - Vestibulum massa purus - urn:uuid:9a669547-b69b-469f-a11f-2d875366bbdc - - - - - - urn:uuid:88247b56-4cbc-4df9-9860-db3f8042e357 - - - - - - urn:uuid:88247b56-4cbc-4df9-9860-db3f8042e357 - http://purl.org/dc/dcmitype/Dataset - Physiography-Landforms - FI-ES - Donec scelerisque pede ut nisl luctus accumsan. Quisque ultrices, lorem eget feugiat fringilla, lorem dui porttitor ante, cursus ultrices magna odio eu neque. - - - - - - urn:uuid:94bc9c83-97f6-4b40-9eb8-a8e8787a5c63 - - - - - - urn:uuid:94bc9c83-97f6-4b40-9eb8-a8e8787a5c63 - http://purl.org/dc/dcmitype/Dataset - Mauris sed neque - Vegetation-Cropland - Curabitur lacinia, ante non porta tempus, mi lorem feugiat odio, eget suscipit eros pede ac velit. - 2006-03-26 - - 47.595 -4.097 - 51.217 0.889 - - - - - - - urn:uuid:9a669547-b69b-469f-a11f-2d875366bbdc - - - - - - urn:uuid:9a669547-b69b-469f-a11f-2d875366bbdc - http://purl.org/dc/dcmitype/Dataset - Ñunç elementum - Hydrography-Oceanographic - 2005-10-24 - - 44.792 -6.171 - 51.126 -2.228 - - - - - - - urn:uuid:a06af396-3105-442d-8b40-22b57a90d2f2 - - - - - - urn:uuid:a06af396-3105-442d-8b40-22b57a90d2f2 - http://purl.org/dc/dcmitype/Image - Lorem ipsum dolor sit amet - image/jpeg - IT-FI - - - - 11 - - diff --git a/tests/expected/suites_oaipmh_get_ListRecords_dc_bad_metadata_prefix.xml b/tests/expected/suites_oaipmh_get_ListRecords_dc_bad_metadata_prefix.xml deleted file mode 100644 index 6ed9a9c58..000000000 --- a/tests/expected/suites_oaipmh_get_ListRecords_dc_bad_metadata_prefix.xml +++ /dev/null @@ -1,7 +0,0 @@ - - - - PYCSW_TIMESTAMP - http://localhost/pycsw/csw.py?config=tests/suites/oaipmh/default.cfg&mode=oaipmh - Invalid outputSchema parameter value: csw-recording - diff --git a/tests/expected/suites_oaipmh_get_ListRecords_iso19139.xml b/tests/expected/suites_oaipmh_get_ListRecords_iso19139.xml deleted file mode 100644 index 58bd0023a..000000000 --- a/tests/expected/suites_oaipmh_get_ListRecords_iso19139.xml +++ /dev/null @@ -1,588 +0,0 @@ - - - - PYCSW_TIMESTAMP - http://localhost/pycsw/csw.py?config=tests/suites/oaipmh/default.cfg&mode=oaipmh - - - - urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f - - - - - - - urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f - - - - - - http://purl.org/dc/dcmitype/Image - - - - - - - ISO19115 - - - 2003/Cor.1:2006 - - - - - - - Lorem ipsum - - - - - Quisque lacus diam, placerat mollis, pharetra in, commodo sed, augue. Duis iaculis arcu vel arcu. - - - - - Tourism--Greece - - - - - - - - - - - - - - urn:uuid:1ef30a8b-876d-4828-9246-c37ab4510bbd - - - - - - - urn:uuid:1ef30a8b-876d-4828-9246-c37ab4510bbd - - - - - - http://purl.org/dc/dcmitype/Service - - - - - - - ISO19115 - - - 2003/Cor.1:2006 - - - - - - - - - - - - Proin sit amet justo. In justo. Aenean adipiscing nulla id tellus. - - - - - - - - - - 13.75 - - - 17.92 - - - 60.04 - - - 68.41 - - - - - - - - - - - - - urn:uuid:66ae76b7-54ba-489b-a582-0f0633d96493 - - - - - - - urn:uuid:66ae76b7-54ba-489b-a582-0f0633d96493 - - - - - - http://purl.org/dc/dcmitype/Text - - - - - - - ISO19115 - - - 2003/Cor.1:2006 - - - - - - - Maecenas enim - - - - - Pellentesque tempus magna non sapien fringilla blandit. - - - - - Marine sediments - - - - - - - - - - - - - - urn:uuid:6a3de50b-fa66-4b58-a0e6-ca146fdd18d4 - - - - - - - urn:uuid:6a3de50b-fa66-4b58-a0e6-ca146fdd18d4 - - - - - - http://purl.org/dc/dcmitype/Service - - - - - - - ISO19115 - - - 2003/Cor.1:2006 - - - - - - - Ut facilisis justo ut lacus - - - - - - - - - - Vegetation - - - - - - - - - - - - - - urn:uuid:784e2afd-a9fd-44a6-9a92-a3848371c8ec - - - - - - - urn:uuid:784e2afd-a9fd-44a6-9a92-a3848371c8ec - - - - - - http://purl.org/dc/dcmitype/Text - - - - - - - ISO19115 - - - 2003/Cor.1:2006 - - - - - - - Aliquam fermentum purus quis arcu - - - - - Vestibulum quis ipsum sit amet metus imperdiet vehicula. Nulla scelerisque cursus mi. - - - - - Hydrography--Dictionaries - - - - - - - - - - - - - - urn:uuid:829babb0-b2f1-49e1-8cd5-7b489fe71a1e - - - - - - - urn:uuid:829babb0-b2f1-49e1-8cd5-7b489fe71a1e - - - - - - http://purl.org/dc/dcmitype/Image - - - - - - - ISO19115 - - - 2003/Cor.1:2006 - - - - - - - Vestibulum massa purus - - - - - - - - - - - - - - - - - urn:uuid:88247b56-4cbc-4df9-9860-db3f8042e357 - - - - - - - urn:uuid:88247b56-4cbc-4df9-9860-db3f8042e357 - - - - - - dataset - - - - - - - ISO19115 - - - 2003/Cor.1:2006 - - - - - - - - - - - - Donec scelerisque pede ut nisl luctus accumsan. Quisque ultrices, lorem eget feugiat fringilla, lorem dui porttitor ante, cursus ultrices magna odio eu neque. - - - - - Physiography-Landforms - - - - - - - - - - - - - - urn:uuid:94bc9c83-97f6-4b40-9eb8-a8e8787a5c63 - - - - - - - urn:uuid:94bc9c83-97f6-4b40-9eb8-a8e8787a5c63 - - - - - - dataset - - - - - - - ISO19115 - - - 2003/Cor.1:2006 - - - - - - - Mauris sed neque - - - - - Curabitur lacinia, ante non porta tempus, mi lorem feugiat odio, eget suscipit eros pede ac velit. - - - - - Vegetation-Cropland - - - - - - - - - - - - -4.1 - - - 0.89 - - - 47.59 - - - 51.22 - - - - - - - - - - - - - urn:uuid:9a669547-b69b-469f-a11f-2d875366bbdc - - - - - - - urn:uuid:9a669547-b69b-469f-a11f-2d875366bbdc - - - - - - dataset - - - - - - - ISO19115 - - - 2003/Cor.1:2006 - - - - - - - Ñunç elementum - - - - - - - - - - Hydrography-Oceanographic - - - - - - - - - - - - -6.17 - - - -2.23 - - - 44.79 - - - 51.13 - - - - - - - - - - - - - urn:uuid:a06af396-3105-442d-8b40-22b57a90d2f2 - - - - - - - urn:uuid:a06af396-3105-442d-8b40-22b57a90d2f2 - - - - - - http://purl.org/dc/dcmitype/Image - - - - - - - ISO19115 - - - 2003/Cor.1:2006 - - - - - - - Lorem ipsum dolor sit amet - - - - - - - - - - - - - - - 11 - - diff --git a/tests/expected/suites_oaipmh_get_ListRecords_oai_dc.xml b/tests/expected/suites_oaipmh_get_ListRecords_oai_dc.xml deleted file mode 100644 index a5dc39975..000000000 --- a/tests/expected/suites_oaipmh_get_ListRecords_oai_dc.xml +++ /dev/null @@ -1,185 +0,0 @@ - - - - PYCSW_TIMESTAMP - http://localhost/pycsw/csw.py?config=tests/suites/oaipmh/default.cfg&mode=oaipmh - - - - urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f - - - - - - urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f - http://purl.org/dc/dcmitype/Image - image/svg+xml - Lorem ipsum - GR-22 - Tourism--Greece - Quisque lacus diam, placerat mollis, pharetra in, commodo sed, augue. Duis iaculis arcu vel arcu. - - - - - - urn:uuid:1ef30a8b-876d-4828-9246-c37ab4510bbd - - - - - - urn:uuid:1ef30a8b-876d-4828-9246-c37ab4510bbd - http://purl.org/dc/dcmitype/Service - Proin sit amet justo. In justo. Aenean adipiscing nulla id tellus. - - 60.042 13.754 - 68.410 17.920 - - - - - - - urn:uuid:66ae76b7-54ba-489b-a582-0f0633d96493 - - - - - - urn:uuid:66ae76b7-54ba-489b-a582-0f0633d96493 - Maecenas enim - http://purl.org/dc/dcmitype/Text - application/xhtml+xml - Marine sediments - Pellentesque tempus magna non sapien fringilla blandit. - - - - - - urn:uuid:6a3de50b-fa66-4b58-a0e6-ca146fdd18d4 - - - - - - urn:uuid:6a3de50b-fa66-4b58-a0e6-ca146fdd18d4 - http://purl.org/dc/dcmitype/Service - Ut facilisis justo ut lacus - Vegetation - urn:uuid:94bc9c83-97f6-4b40-9eb8-a8e8787a5c63 - - - - - - urn:uuid:784e2afd-a9fd-44a6-9a92-a3848371c8ec - - - - - - urn:uuid:784e2afd-a9fd-44a6-9a92-a3848371c8ec - Aliquam fermentum purus quis arcu - http://purl.org/dc/dcmitype/Text - Hydrography--Dictionaries - application/pdf - 2006-05-12 - Vestibulum quis ipsum sit amet metus imperdiet vehicula. Nulla scelerisque cursus mi. - - - - - - urn:uuid:829babb0-b2f1-49e1-8cd5-7b489fe71a1e - - - - - - urn:uuid:829babb0-b2f1-49e1-8cd5-7b489fe71a1e - http://purl.org/dc/dcmitype/Image - image/jp2 - Vestibulum massa purus - urn:uuid:9a669547-b69b-469f-a11f-2d875366bbdc - - - - - - urn:uuid:88247b56-4cbc-4df9-9860-db3f8042e357 - - - - - - urn:uuid:88247b56-4cbc-4df9-9860-db3f8042e357 - http://purl.org/dc/dcmitype/Dataset - Physiography-Landforms - FI-ES - Donec scelerisque pede ut nisl luctus accumsan. Quisque ultrices, lorem eget feugiat fringilla, lorem dui porttitor ante, cursus ultrices magna odio eu neque. - - - - - - urn:uuid:94bc9c83-97f6-4b40-9eb8-a8e8787a5c63 - - - - - - urn:uuid:94bc9c83-97f6-4b40-9eb8-a8e8787a5c63 - http://purl.org/dc/dcmitype/Dataset - Mauris sed neque - Vegetation-Cropland - Curabitur lacinia, ante non porta tempus, mi lorem feugiat odio, eget suscipit eros pede ac velit. - 2006-03-26 - - 47.595 -4.097 - 51.217 0.889 - - - - - - - urn:uuid:9a669547-b69b-469f-a11f-2d875366bbdc - - - - - - urn:uuid:9a669547-b69b-469f-a11f-2d875366bbdc - http://purl.org/dc/dcmitype/Dataset - Ñunç elementum - Hydrography-Oceanographic - 2005-10-24 - - 44.792 -6.171 - 51.126 -2.228 - - - - - - - urn:uuid:a06af396-3105-442d-8b40-22b57a90d2f2 - - - - - - urn:uuid:a06af396-3105-442d-8b40-22b57a90d2f2 - http://purl.org/dc/dcmitype/Image - Lorem ipsum dolor sit amet - image/jpeg - IT-FI - - - - 11 - - diff --git a/tests/expected/suites_oaipmh_get_ListSets.xml b/tests/expected/suites_oaipmh_get_ListSets.xml deleted file mode 100644 index 2be90809f..000000000 --- a/tests/expected/suites_oaipmh_get_ListSets.xml +++ /dev/null @@ -1,16 +0,0 @@ - - - - PYCSW_TIMESTAMP - http://localhost/pycsw/csw.py?config=tests/suites/oaipmh/default.cfg&mode=oaipmh - - - datasets - Datasets - - - interactiveResources - Interactive Resources - - - diff --git a/tests/expected/suites_oaipmh_get_bad_verb.xml b/tests/expected/suites_oaipmh_get_bad_verb.xml deleted file mode 100644 index 0e3dfba47..000000000 --- a/tests/expected/suites_oaipmh_get_bad_verb.xml +++ /dev/null @@ -1,7 +0,0 @@ - - - - PYCSW_TIMESTAMP - http://localhost/pycsw/csw.py?config=tests/suites/oaipmh/default.cfg&mode=oaipmh - Unknown verb 'foo' - diff --git a/tests/expected/suites_oaipmh_get_empty.xml b/tests/expected/suites_oaipmh_get_empty.xml deleted file mode 100644 index 1f6d54ab8..000000000 --- a/tests/expected/suites_oaipmh_get_empty.xml +++ /dev/null @@ -1,7 +0,0 @@ - - - - PYCSW_TIMESTAMP - http://localhost/pycsw/csw.py?config=tests/suites/oaipmh/default.cfg&mode=oaipmh - Missing 'verb' parameter - diff --git a/tests/expected/suites_oaipmh_get_empty_with_amp.xml b/tests/expected/suites_oaipmh_get_empty_with_amp.xml deleted file mode 100644 index 1f6d54ab8..000000000 --- a/tests/expected/suites_oaipmh_get_empty_with_amp.xml +++ /dev/null @@ -1,7 +0,0 @@ - - - - PYCSW_TIMESTAMP - http://localhost/pycsw/csw.py?config=tests/suites/oaipmh/default.cfg&mode=oaipmh - Missing 'verb' parameter - diff --git a/tests/expected/suites_oaipmh_get_illegal_verb.xml b/tests/expected/suites_oaipmh_get_illegal_verb.xml deleted file mode 100644 index 4a88ffe48..000000000 --- a/tests/expected/suites_oaipmh_get_illegal_verb.xml +++ /dev/null @@ -1,7 +0,0 @@ - - - - PYCSW_TIMESTAMP - http://localhost/pycsw/csw.py?config=tests/suites/oaipmh/default.cfg&mode=oaipmh - Unknown verb 'foo' - diff --git a/tests/expected/suites_repofilter_post_GetRecordById-masked.xml b/tests/expected/suites_repofilter_post_GetRecordById-masked.xml deleted file mode 100644 index 9bf61df8e..000000000 --- a/tests/expected/suites_repofilter_post_GetRecordById-masked.xml +++ /dev/null @@ -1,3 +0,0 @@ - - - diff --git a/tests/expected/suites_repofilter_post_GetRecords-all.xml b/tests/expected/suites_repofilter_post_GetRecords-all.xml deleted file mode 100644 index 99af61e73..000000000 --- a/tests/expected/suites_repofilter_post_GetRecords-all.xml +++ /dev/null @@ -1,37 +0,0 @@ - - - - - - - urn:uuid:88247b56-4cbc-4df9-9860-db3f8042e357 - http://purl.org/dc/dcmitype/Dataset - Physiography-Landforms - FI-ES - Donec scelerisque pede ut nisl luctus accumsan. Quisque ultrices, lorem eget feugiat fringilla, lorem dui porttitor ante, cursus ultrices magna odio eu neque. - - - urn:uuid:94bc9c83-97f6-4b40-9eb8-a8e8787a5c63 - http://purl.org/dc/dcmitype/Dataset - Mauris sed neque - Vegetation-Cropland - Curabitur lacinia, ante non porta tempus, mi lorem feugiat odio, eget suscipit eros pede ac velit. - 2006-03-26 - - 47.595 -4.097 - 51.217 0.889 - - - - urn:uuid:9a669547-b69b-469f-a11f-2d875366bbdc - http://purl.org/dc/dcmitype/Dataset - Ñunç elementum - Hydrography-Oceanographic - 2005-10-24 - - 44.792 -6.171 - 51.126 -2.228 - - - - diff --git a/tests/expected/suites_sru_get_explain.xml b/tests/expected/suites_sru_get_explain.xml deleted file mode 100644 index 34103909d..000000000 --- a/tests/expected/suites_sru_get_explain.xml +++ /dev/null @@ -1,128 +0,0 @@ - - - - 1.1 - - XML - http://explain.z3950.org/dtd/2.1/ - - - - PYCSW_HOST - PYCSW_PORT - pycsw - - - pycsw Geospatial Catalogue - pycsw is an OGC CSW server implementation written in Python - - - - - abstract - - abstract - - - - contributor - - contributor - - - - creator - - creator - - - - date - - date - - - - format - - format - - - - identifier - - identifier - - - - language - - language - - - - modified - - modified - - - - publisher - - publisher - - - - relation - - relation - - - - rights - - rights - - - - source - - source - - - - subject - - subject - - - - title - - title - - - - type - - type - - - - - title222 - - - - - - Simple Dublin Core - - - - 0 - - - - - diff --git a/tests/expected/suites_sru_get_search.xml b/tests/expected/suites_sru_get_search.xml deleted file mode 100644 index ce70bc154..000000000 --- a/tests/expected/suites_sru_get_search.xml +++ /dev/null @@ -1,6 +0,0 @@ - - - - 1.1 - 5 - diff --git a/tests/expected/suites_sru_get_search_cql.xml b/tests/expected/suites_sru_get_search_cql.xml deleted file mode 100644 index 9a98be980..000000000 --- a/tests/expected/suites_sru_get_search_cql.xml +++ /dev/null @@ -1,30 +0,0 @@ - - - - 1.1 - 2 - - - - urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f - Lorem ipsum - http://purl.org/dc/dcmitype/Image - - - -2 - - info:srw/schema/1/dc-v1.1 - xml - - - - urn:uuid:a06af396-3105-442d-8b40-22b57a90d2f2 - Lorem ipsum dolor sit amet - http://purl.org/dc/dcmitype/Image - - - -1 - - info:srw/schema/1/dc-v1.1 - xml - diff --git a/tests/expected/suites_sru_get_search_maxrecords.xml b/tests/expected/suites_sru_get_search_maxrecords.xml deleted file mode 100644 index cba2314eb..000000000 --- a/tests/expected/suites_sru_get_search_maxrecords.xml +++ /dev/null @@ -1,30 +0,0 @@ - - - - 1.1 - 5 - - - - urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f - Lorem ipsum - http://purl.org/dc/dcmitype/Image - - - 1 - - info:srw/schema/1/dc-v1.1 - xml - - - - urn:uuid:88247b56-4cbc-4df9-9860-db3f8042e357 - - http://purl.org/dc/dcmitype/Dataset - - - 2 - - info:srw/schema/1/dc-v1.1 - xml - diff --git a/tests/expected/suites_sru_get_search_startrecord_maxrecords.xml b/tests/expected/suites_sru_get_search_startrecord_maxrecords.xml deleted file mode 100644 index cba2314eb..000000000 --- a/tests/expected/suites_sru_get_search_startrecord_maxrecords.xml +++ /dev/null @@ -1,30 +0,0 @@ - - - - 1.1 - 5 - - - - urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f - Lorem ipsum - http://purl.org/dc/dcmitype/Image - - - 1 - - info:srw/schema/1/dc-v1.1 - xml - - - - urn:uuid:88247b56-4cbc-4df9-9860-db3f8042e357 - - http://purl.org/dc/dcmitype/Dataset - - - 2 - - info:srw/schema/1/dc-v1.1 - xml - diff --git a/tests/expected/suites_utf-8_post_GetCapabilities.xml b/tests/expected/suites_utf-8_post_GetCapabilities.xml deleted file mode 100644 index 4df1e4876..000000000 --- a/tests/expected/suites_utf-8_post_GetCapabilities.xml +++ /dev/null @@ -1,264 +0,0 @@ - - - - - ErrŹĆŁÓdd - pycsw is an OGC CSW server implementation written in Python - - catalogue - discovery - theme - - CSW - 2.0.2 - 3.0.0 - None - None - - - pycsw - - - Kralidis, Tom - Senior Systems Scientist - - - +01-416-xxx-xxxx - +01-416-xxx-xxxx - - - TBA - Toronto - Ontario - M9C 3Z9 - Canada - tomkralidis@gmail.com - - - 0800h - 1600h EST - During hours of service. Off on weekends. - - pointOfContact - - - - - - - - - - - - Filter_Capabilities - OperationsMetadata - ServiceIdentification - ServiceProvider - - - - - - - - - - - application/json - application/xml - - - http://www.w3.org/2001/XMLSchema - http://www.w3.org/TR/xmlschema-1/ - http://www.w3.org/XML/Schema - - - csw:Record - - - - - - - - - - - DescribeRecord.outputFormat - DescribeRecord.schemaLanguage - DescribeRecord.typeName - GetCapabilities.sections - GetRecordById.ElementSetName - GetRecordById.outputFormat - GetRecordById.outputSchema - GetRecords.CONSTRAINTLANGUAGE - GetRecords.ElementSetName - GetRecords.outputFormat - GetRecords.outputSchema - GetRecords.resultType - GetRecords.typeNames - - - - - - - - - - - CQL_TEXT - FILTER - - - brief - full - summary - - - application/json - application/xml - - - http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ - http://www.interlis.ch/INTERLIS2.3 - http://www.opengis.net/cat/csw/2.0.2 - http://www.opengis.net/cat/csw/csdgm - http://www.w3.org/2005/Atom - - - hits - results - validate - - - csw:Record - - - csw:AnyText - dc:contributor - dc:creator - dc:date - dc:format - dc:identifier - dc:language - dc:publisher - dc:relation - dc:rights - dc:source - dc:subject - dc:title - dc:type - dct:abstract - dct:alternative - dct:modified - dct:spatial - ows:BoundingBox - - - - - - - - - - - brief - full - summary - - - application/json - application/xml - - - http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ - http://www.interlis.ch/INTERLIS2.3 - http://www.opengis.net/cat/csw/2.0.2 - http://www.opengis.net/cat/csw/csdgm - http://www.w3.org/2005/Atom - - - - - - - - - - - CSW - - - 2.0.2 - 3.0.0 - - - http://demo.pycsw.org/gisdata/csw - - - 10 - - - XML - SOAP - - - allowed - - - - - - gml:Point - gml:LineString - gml:Polygon - gml:Envelope - - - - - - - - - - - - - - - - - - - Between - EqualTo - GreaterThan - GreaterThanEqualTo - LessThan - LessThanEqualTo - Like - NotEqualTo - NullCheck - - - - - length - lower - ltrim - rtrim - trim - upper - - - - - - - - - - diff --git a/tests/suites/apiso-inspire/default.cfg b/tests/suites/apiso-inspire/default.cfg deleted file mode 100644 index a72121449..000000000 --- a/tests/suites/apiso-inspire/default.cfg +++ /dev/null @@ -1,91 +0,0 @@ -# ================================================================= -# -# Authors: Tom Kralidis -# -# Copyright (c) 2011 Tom Kralidis -# -# Permission is hereby granted, free of charge, to any person -# obtaining a copy of this software and associated documentation -# files (the "Software"), to deal in the Software without -# restriction, including without limitation the rights to use, -# copy, modify, merge, publish, distribute, sublicense, and/or sell -# copies of the Software, and to permit persons to whom the -# Software is furnished to do so, subject to the following -# conditions: -# -# The above copyright notice and this permission notice shall be -# included in all copies or substantial portions of the Software. -# -# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -# EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES -# OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -# NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT -# HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, -# WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING -# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR -# OTHER DEALINGS IN THE SOFTWARE. -# -# ================================================================= - -[server] -home=. -url=http://localhost/pycsw/csw.py?config=tests/suites/apiso-inspire/default.cfg -mimetype=application/xml; charset=UTF-8 -encoding=UTF-8 -language=en-US -maxrecords=10 -#loglevel=DEBUG -#logfile=/tmp/pycsw.log -#ogc_schemas_base=http://foo -federatedcatalogues=http://geo.data.gov/geoportal/csw/discovery -pretty_print=true -#gzip_compresslevel=8 -#spatial_ranking=true -profiles=apiso - -[manager] -transactions=false -allowed_ips=127.0.0.1 - -[metadata:main] -identification_title=pycsw Geospatial Catalogue -identification_abstract=pycsw is an OGC CSW server implementation written in Python -identification_keywords=catalogue,discovery -identification_keywords_type=theme -identification_fees=None -identification_accessconstraints=None -provider_name=pycsw -provider_url=http://pycsw.org/ -contact_name=Kralidis, Tom -contact_position=Senior Systems Scientist -contact_address=TBA -contact_city=Toronto -contact_stateorprovince=Ontario -contact_postalcode=M9C 3Z9 -contact_country=Canada -contact_phone=+01-416-xxx-xxxx -contact_fax=+01-416-xxx-xxxx -contact_email=tomkralidis@gmail.com -contact_url=http://kralidis.ca/ -contact_hours=0800h - 1600h EST -contact_instructions=During hours of service. Off on weekends. -contact_role=pointOfContact - -[repository] -# sqlite -database=sqlite:///tests/suites/cite/data/records.db -# postgres -#database=postgres://username:password@localhost/pycsw -table=records - -[metadata:inspire] -enabled=true -languages_supported=eng,gre -default_language=eng -date=2011-03-29 -gemet_keywords=Utility and governmental services -conformity_service=notEvaluated -contact_name=National Technical University of Athens -contact_email=tzotsos@gmail.com -temp_extent=2011-02-01/2011-03-30 - diff --git a/tests/suites/apiso-inspire/get/requests.txt b/tests/suites/apiso-inspire/get/requests.txt deleted file mode 100644 index 09816a219..000000000 --- a/tests/suites/apiso-inspire/get/requests.txt +++ /dev/null @@ -1,2 +0,0 @@ -GetCapabilities,service=CSW&version=2.0.2&request=GetCapabilities -GetCapabilities-lang,service=CSW&version=2.0.2&request=GetCapabilities&lang=gre diff --git a/tests/suites/apiso/data/3e9a8c05.xml b/tests/suites/apiso/data/3e9a8c05.xml deleted file mode 100644 index 5c9c97620..000000000 --- a/tests/suites/apiso/data/3e9a8c05.xml +++ /dev/null @@ -1,248 +0,0 @@ - - -3e9a8c05 - - -eng - - -service - - - - -NTUA - - - - - - -tzotsos@gmail.com - - - - - - -pointOfContact - - - - -2011-04-18 - - -ISO19115 - - -2003/Cor.1:2006 - - - - - - -test Title - - - - -2011-04-19 - - -creation - - - - - - -http://aiolos.survey.ntua.gr - - -ogc - - - - - - -test Abstract - - - - -NTUA - - - - - - -tzotsos@gmail.com - - - - - - -owner - - - - - - -Geographic viewer (humanGeographicViewer) - - - - - - -administration - - - - -GEMET Themes, version 2.3 - - - - -2011-04-18 - - -publication - - - - - - - - - - -Conditions unknown - - - - - - -no limitation - - - - - - - - -19.37 - - -29.61 - - -34.80 - - -41.75 - - - - - - - -2011-04-18 -2011-04-20 - - - - - - - -view - - - - - - - - - - - - - - - - - -http://aiolos.survey.ntua.gr/geoserver/wms - - - - - - - - - - - - -service - - - - - - - - -Conformity_001 - - -INSPIRE - - - - - - - - -Corrigendum to INSPIRE Metadata Regulation published in the Official Journal of the European Union, L 328, page 83 - - - - -2009-12-15 - - -publication - - - - - - -See the referenced specification - - -true - - - - - - - - diff --git a/tests/suites/apiso/data/README.txt b/tests/suites/apiso/data/README.txt deleted file mode 100644 index 3dd817cbc..000000000 --- a/tests/suites/apiso/data/README.txt +++ /dev/null @@ -1,7 +0,0 @@ -APISO Data -========== - -This directory provides data used to check conformance against pycsw APISO support. - -- pacioos-NS06agg.xml: http://oos.soest.hawaii.edu/pacioos/metadata/NS06agg.html -- all other *.xml files are from the Greek National Mapping Agency (metadata submitted to the INSPIRE geoportal) diff --git a/tests/suites/apiso/data/T_aerfo_RAS_1991_GR800P001800000012.xml b/tests/suites/apiso/data/T_aerfo_RAS_1991_GR800P001800000012.xml deleted file mode 100644 index de5188346..000000000 --- a/tests/suites/apiso/data/T_aerfo_RAS_1991_GR800P001800000012.xml +++ /dev/null @@ -1,37 +0,0 @@ - - - 366f6257-19eb-4f20-ba78-0698ac4aae77 - eng - dataset - YPAATypaat@ypaat.grpointOfContact - 2009-10-09 -ISO19115 -2003/Cor.1:2006 - - - - - Aerial Photos - 2009-10-09creation - 366f6257-19eb-4f20-ba78-0698ac4aae77 - T_aerfo_RAS_1991_GR800P001800000012.tif - - - Aerial Photos -YPAATypaat@ypaat.growner - OrthoimageryGEMET - INSPIRE themes, version 1.02008-06-01publication - no conditions apply - otherRestrictionsno limitations - eng - geoscientificInformation - 20.0024.0038.0040.00 - 2009-10-092009-10-09 - - -http://www.ypaat.gr - -dataset -Conformity_001INSPIREINSPIRE2008-05-15publicationSee the referenced specificationtrue -test - - diff --git a/tests/suites/apiso/data/T_aerfo_RAS_1991_GR800P001800000013.xml b/tests/suites/apiso/data/T_aerfo_RAS_1991_GR800P001800000013.xml deleted file mode 100644 index 0de59fea5..000000000 --- a/tests/suites/apiso/data/T_aerfo_RAS_1991_GR800P001800000013.xml +++ /dev/null @@ -1,37 +0,0 @@ - - - 75a7eb5e-336e-453d-ab06-209b1070d396 - eng - dataset - YPAATypaat@ypaat.grpointOfContact - 2009-10-09 -ISO19115 -2003/Cor.1:2006 - - - - - Aerial Photos - 2009-10-09creation - 75a7eb5e-336e-453d-ab06-209b1070d396 - T_aerfo_RAS_1991_GR800P001800000013.tif - - - Aerial Photos -YPAATypaat@ypaat.growner - OrthoimageryGEMET - INSPIRE themes, version 1.02008-06-01publication - no conditions apply - otherRestrictionsno limitations - eng - geoscientificInformation - 20.0024.0038.0040.00 - 2009-10-092009-10-09 - - -http://www.ypaat.gr - -dataset -Conformity_001INSPIREINSPIRE2008-05-15publicationSee the referenced specificationtrue -test - - diff --git a/tests/suites/apiso/data/T_aerfo_RAS_1991_GR800P001800000014.xml b/tests/suites/apiso/data/T_aerfo_RAS_1991_GR800P001800000014.xml deleted file mode 100644 index 5ac2f71c4..000000000 --- a/tests/suites/apiso/data/T_aerfo_RAS_1991_GR800P001800000014.xml +++ /dev/null @@ -1,37 +0,0 @@ - - - a7308c0a-b748-48e2-bab7-0a608a51d416 - eng - dataset - YPAATypaat@ypaat.grpointOfContact - 2009-10-09 -ISO19115 -2003/Cor.1:2006 - - - - - Aerial Photos - 2009-10-09creation - a7308c0a-b748-48e2-bab7-0a608a51d416 - T_aerfo_RAS_1991_GR800P001800000014.tif - - - Aerial Photos -YPAATypaat@ypaat.growner - OrthoimageryGEMET - INSPIRE themes, version 1.02008-06-01publication - no conditions apply - otherRestrictionsno limitations - eng - geoscientificInformation - 20.0024.0038.0040.00 - 2009-10-092009-10-09 - - -http://www.ypaat.gr - -dataset -Conformity_001INSPIREINSPIRE2008-05-15publicationSee the referenced specificationtrue -test - - diff --git a/tests/suites/apiso/data/T_aerfo_RAS_1991_GR800P001800000015.xml b/tests/suites/apiso/data/T_aerfo_RAS_1991_GR800P001800000015.xml deleted file mode 100644 index 63ff4cf35..000000000 --- a/tests/suites/apiso/data/T_aerfo_RAS_1991_GR800P001800000015.xml +++ /dev/null @@ -1,37 +0,0 @@ - - - 0173e0d7-6ea9-4407-b846-f29d6bfa9903 - eng - dataset - YPAATypaat@ypaat.grpointOfContact - 2009-10-09 -ISO19115 -2003/Cor.1:2006 - - - - - Aerial Photos - 2009-10-09creation - 0173e0d7-6ea9-4407-b846-f29d6bfa9903 - T_aerfo_RAS_1991_GR800P001800000015.tif - - - Aerial Photos -YPAATypaat@ypaat.growner - OrthoimageryGEMET - INSPIRE themes, version 1.02008-06-01publication - no conditions apply - otherRestrictionsno limitations - eng - geoscientificInformation - 20.0024.0038.0040.00 - 2009-10-092009-10-09 - - -http://www.ypaat.gr - -dataset -Conformity_001INSPIREINSPIRE2008-05-15publicationSee the referenced specificationtrue -test - - diff --git a/tests/suites/apiso/data/T_ortho_RAS_1998_284404.xml b/tests/suites/apiso/data/T_ortho_RAS_1998_284404.xml deleted file mode 100644 index 05d95c8d4..000000000 --- a/tests/suites/apiso/data/T_ortho_RAS_1998_284404.xml +++ /dev/null @@ -1,37 +0,0 @@ - - - de53e931-778a-4792-94ad-9fe507aca483 - eng - dataset - YPAATypaat@ypaat.grpointOfContact - 2009-10-07 -ISO19115 -2003/Cor.1:2006 - - - - - Ortho - 2000-01-01publication - de53e931-778a-4792-94ad-9fe507aca483 - T_ortho_RAS_1998_284404.tif - - - Ortho -YPAATypaat@ypaat.growner - OrthoimageryGEMET - INSPIRE themes, version 1.02008-06-01publication - no conditions apply - otherRestrictionsno limitations - 5000 - eng - geoscientificInformation - 21.47878421.52731739.7600139.790341 - 1997-01-011999-01-01 - - -http://www.ypaat.gr - -dataset -test - - diff --git a/tests/suites/apiso/data/T_ortho_RAS_1998_288395.xml b/tests/suites/apiso/data/T_ortho_RAS_1998_288395.xml deleted file mode 100644 index e02d4ec22..000000000 --- a/tests/suites/apiso/data/T_ortho_RAS_1998_288395.xml +++ /dev/null @@ -1,37 +0,0 @@ - - - 4a5109d7-9ce5-4197-a423-b5fa8c426dee - eng - dataset - YPAATypaat@ypaat.grpointOfContact - 2009-10-07 -ISO19115 -2003/Cor.1:2006 - - - - - Ortho - 2000-01-01publication - 4a5109d7-9ce5-4197-a423-b5fa8c426dee - T_ortho_RAS_1998_288395.tif - - - Ortho -YPAATypaat@ypaat.growner - OrthoimageryGEMET - INSPIRE themes, version 1.02008-06-01publication - no conditions apply - otherRestrictionsno limitations - 5000 - eng - geoscientificInformation - 21.52833321.57683439.67999939.710309 - 1997-01-011999-01-01 - - -http://www.ypaat.gr - -dataset -test - - diff --git a/tests/suites/apiso/data/T_ortho_RAS_1998_288398.xml b/tests/suites/apiso/data/T_ortho_RAS_1998_288398.xml deleted file mode 100644 index 8766c0c7a..000000000 --- a/tests/suites/apiso/data/T_ortho_RAS_1998_288398.xml +++ /dev/null @@ -1,37 +0,0 @@ - - - 5f37e0f8-4fb1-4637-b959-b415058bdb68 - eng - dataset - YPAATypaat@ypaat.grpointOfContact - 2009-10-07 -ISO19115 -2003/Cor.1:2006 - - - - - Ortho - 2000-01-01publication - 5f37e0f8-4fb1-4637-b959-b415058bdb68 - T_ortho_RAS_1998_288398.tif - - - Ortho -YPAATypaat@ypaat.growner - OrthoimageryGEMET - INSPIRE themes, version 1.02008-06-01publication - no conditions apply - otherRestrictionsno limitations - 5000 - eng - geoscientificInformation - 21.52736921.57588839.70700439.737315 - 1997-01-011999-01-01 - - -http://www.ypaat.gr - -dataset -test - - diff --git a/tests/suites/apiso/data/T_ortho_RAS_1998_288401.xml b/tests/suites/apiso/data/T_ortho_RAS_1998_288401.xml deleted file mode 100644 index 0ae753a1f..000000000 --- a/tests/suites/apiso/data/T_ortho_RAS_1998_288401.xml +++ /dev/null @@ -1,37 +0,0 @@ - - - f99cc358-f379-4e79-ab1e-cb2f7709f594 - eng - dataset - YPAATypaat@ypaat.grpointOfContact - 2009-10-07 -ISO19115 -2003/Cor.1:2006 - - - - - Ortho - 2000-01-01publication - f99cc358-f379-4e79-ab1e-cb2f7709f594 - T_ortho_RAS_1998_288401.tif - - - Ortho -YPAATypaat@ypaat.growner - OrthoimageryGEMET - INSPIRE themes, version 1.02008-06-01publication - no conditions apply - otherRestrictionsno limitations - 5000 - eng - geoscientificInformation - 21.52640421.57494139.73400939.764321 - 1997-01-011999-01-01 - - -http://www.ypaat.gr - -dataset -test - - diff --git a/tests/suites/apiso/data/T_ortho_RAS_1998_288404.xml b/tests/suites/apiso/data/T_ortho_RAS_1998_288404.xml deleted file mode 100644 index 6dca0cffc..000000000 --- a/tests/suites/apiso/data/T_ortho_RAS_1998_288404.xml +++ /dev/null @@ -1,37 +0,0 @@ - - - ae200a05-2800-40b8-b85d-8f8d007b9e30 - eng - dataset - YPAATypaat@ypaat.grpointOfContact - 2009-10-07 -ISO19115 -2003/Cor.1:2006 - - - - - Ortho - 2000-01-01publication - ae200a05-2800-40b8-b85d-8f8d007b9e30 - T_ortho_RAS_1998_288404.tif - - - Ortho -YPAATypaat@ypaat.growner - OrthoimageryGEMET - INSPIRE themes, version 1.02008-06-01publication - no conditions apply - otherRestrictionsno limitations - 5000 - eng - geoscientificInformation - 21.52543721.57399239.76101539.791327 - 1997-01-011999-01-01 - - -http://www.ypaat.gr - -dataset -test - - diff --git a/tests/suites/apiso/data/T_pmoed_DTM_1996_276395.xml b/tests/suites/apiso/data/T_pmoed_DTM_1996_276395.xml deleted file mode 100644 index 2213557b4..000000000 --- a/tests/suites/apiso/data/T_pmoed_DTM_1996_276395.xml +++ /dev/null @@ -1,37 +0,0 @@ - - - a2744b0c-becd-426a-95a8-46e9850ccc6d - eng - dataset - YPAATypaat@ypaat.grpointOfContact - 2009-10-07 -ISO19115 -2003/Cor.1:2006 - - - - - DTM - 2009-10-07creation - a2744b0c-becd-426a-95a8-46e9850ccc6d - T_pmoed_DTM_1996_276395.tif - - - DTM -YPAATypaat@ypaat.growner - ElevationGEMET - INSPIRE themes, version 1.02008-06-01publication - no conditions apply - otherRestrictionsno limitations - 5000 - eng - elevation - 19.0030.0034.0042.00 - 2009-10-072009-10-07 - - -http://www.ypaat.gr - -dataset -test - - diff --git a/tests/suites/apiso/data/T_pmoed_DTM_1996_276398.xml b/tests/suites/apiso/data/T_pmoed_DTM_1996_276398.xml deleted file mode 100644 index adf548664..000000000 --- a/tests/suites/apiso/data/T_pmoed_DTM_1996_276398.xml +++ /dev/null @@ -1,37 +0,0 @@ - - - 0dc824a6-b555-46c1-bd7b-bc66cb91a70f - eng - dataset - YPAATypaat@ypaat.grpointOfContact - 2009-10-07 -ISO19115 -2003/Cor.1:2006 - - - - - DTM - 2009-10-07creation - 0dc824a6-b555-46c1-bd7b-bc66cb91a70f - T_pmoed_DTM_1996_276398.tif - - - DTM -YPAATypaat@ypaat.growner - ElevationGEMET - INSPIRE themes, version 1.02008-06-01publication - no conditions apply - otherRestrictionsno limitations - 5000 - eng - elevation - 19.0030.0034.0042.00 - 2009-10-072009-10-07 - - -http://www.ypaat.gr - -dataset -test - - diff --git a/tests/suites/apiso/data/T_pmoed_DTM_1996_276401.xml b/tests/suites/apiso/data/T_pmoed_DTM_1996_276401.xml deleted file mode 100644 index 343234780..000000000 --- a/tests/suites/apiso/data/T_pmoed_DTM_1996_276401.xml +++ /dev/null @@ -1,37 +0,0 @@ - - - 42c8e55a-2bf6-476d-a7c9-be3bcd697f13 - eng - dataset - YPAATypaat@ypaat.grpointOfContact - 2009-10-07 -ISO19115 -2003/Cor.1:2006 - - - - - DTM - 2009-10-07creation - 42c8e55a-2bf6-476d-a7c9-be3bcd697f13 - T_pmoed_DTM_1996_276401.tif - - - DTM -YPAATypaat@ypaat.growner - ElevationGEMET - INSPIRE themes, version 1.02008-06-01publication - no conditions apply - otherRestrictionsno limitations - 5000 - eng - elevation - 19.0030.0034.0042.00 - 2009-10-072009-10-07 - - -http://www.ypaat.gr - -dataset -test - - diff --git a/tests/suites/apiso/data/T_pmoed_DTM_1996_276404.xml b/tests/suites/apiso/data/T_pmoed_DTM_1996_276404.xml deleted file mode 100644 index ef2357456..000000000 --- a/tests/suites/apiso/data/T_pmoed_DTM_1996_276404.xml +++ /dev/null @@ -1,37 +0,0 @@ - - - c3bf29d4-d60a-4959-a415-2c03fb0d4aef - eng - dataset - YPAATypaat@ypaat.grpointOfContact - 2009-10-07 -ISO19115 -2003/Cor.1:2006 - - - - - DTM - 2009-10-07creation - c3bf29d4-d60a-4959-a415-2c03fb0d4aef - T_pmoed_DTM_1996_276404.tif - - - DTM -YPAATypaat@ypaat.growner - ElevationGEMET - INSPIRE themes, version 1.02008-06-01publication - no conditions apply - otherRestrictionsno limitations - 5000 - eng - elevation - 19.0030.0034.0042.00 - 2009-10-072009-10-07 - - -http://www.ypaat.gr - -dataset -test - - diff --git a/tests/suites/apiso/data/T_pmoed_DTM_1996_280395.xml b/tests/suites/apiso/data/T_pmoed_DTM_1996_280395.xml deleted file mode 100644 index d65cce94f..000000000 --- a/tests/suites/apiso/data/T_pmoed_DTM_1996_280395.xml +++ /dev/null @@ -1,37 +0,0 @@ - - - b8cc2388-5d0a-43d8-9473-0e86dd0396da - eng - dataset - YPAATypaat@ypaat.grpointOfContact - 2009-10-07 -ISO19115 -2003/Cor.1:2006 - - - - - DTM - 2009-10-07creation - b8cc2388-5d0a-43d8-9473-0e86dd0396da - T_pmoed_DTM_1996_280395.tif - - - DTM -YPAATypaat@ypaat.growner - ElevationGEMET - INSPIRE themes, version 1.02008-06-01publication - no conditions apply - otherRestrictionsno limitations - 5000 - eng - elevation - 19.0030.0034.0042.00 - 2009-10-072009-10-07 - - -http://www.ypaat.gr - -dataset -test - - diff --git a/tests/suites/apiso/data/pacioos-NS06agg.xml b/tests/suites/apiso/data/pacioos-NS06agg.xml deleted file mode 100644 index 5d9636487..000000000 --- a/tests/suites/apiso/data/pacioos-NS06agg.xml +++ /dev/null @@ -1,1182 +0,0 @@ - - - - NS06agg - - - eng - - - UTF8 - - - dataset - - - service - - - - - Margaret McManus - - - University of Hawaii - - - - - - - mamc@hawaii.edu - - - - - - - http://www.soest.hawaii.edu/oceanography/faculty/mcmanus.html - - - http - - - web browser - - - - - - - - - information - - - - - - - pointOfContact - - - - - 2014-04-16 - - - ISO 19115-2 Geographic Information - Metadata Part 2 Extensions for imagery and gridded data - - - ISO 19115-2:2009(E) - - - - - 3 - - - - - column - - - 1 - - - 0.0 - - - - - - - row - - - 1 - - - 0.0 - - - - - - - temporal - - - 482760 - - - 252.0 - - - - - area - - - - - - - - - - PacIOOS Nearshore Sensor 06: Pohnpei, Micronesia - - - - - 2011-04-12 - - - creation - - - - - - - 2011-04-19 - - - issued - - - - - - - 2014-03-18 - - - revision - - - - - - - - - org.pacioos - - - - - - NS06agg - - - - - - - Margaret McManus - - - University of Hawaii - - - - - - - mamc@hawaii.edu - - - - - - - http://www.soest.hawaii.edu/oceanography/faculty/mcmanus.html - - - http - - - web browser - - - - - - - - - information - - - - - - - originator - - - - - - - Jim Potemra - - - - - distributor - - - - - Data produced by Dr. Margaret McManus (mamc@hawaii.edu). Point of contact: Gordon Walker (gwalker@hawaii.edu). - - - - - The nearshore sensors are part of the Pacific Islands Ocean Observing System (PacIOOS) and are designed to measure a variety of ocean parameters at fixed point locations. NS06 is located at the dock in Pohnpei lagoon and is mounted to the bottom in about 1 meter of water. The instrument is a Sea-Bird Electronics model 16+ V2 coupled with a WET Labs ECO-FLNTUS combination sensor. - - - PacIOOS provides timely, reliable, and accurate ocean information to support a safe, clean, productive ocean and resilient coastal zone in the U.S. Pacific Islands region. - - - The Pacific Islands Ocean Observing System (PacIOOS) is funded through the National Oceanic and Atmospheric Administration (NOAA) as a Regional Association within the U.S. Integrated Ocean Observing System (IOOS). PacIOOS is coordinated by the University of Hawaii School of Ocean and Earth Science and Technology (SOEST). - - - - - Margaret McManus - - - University of Hawaii - - - - - - - mamc@hawaii.edu - - - - - - - http://www.soest.hawaii.edu/oceanography/faculty/mcmanus.html - - - http - - - web browser - - - - - - - - - information - - - - - - - pointOfContact - - - - - - http://pacioos.org/metadata/browse/NS06agg.png - - Sample image. - - - - - - - Oceans > Ocean Chemistry > Chlorophyll - - - Oceans > Ocean Optics > Turbidity - - - Oceans > Ocean Temperature > Water Temperature - - - Oceans > Salinity/Density > Conductivity - - - Oceans > Salinity/Density > Salinity - - - Oceans > Water Quality - - - theme - - - - - GCMD Science Keywords - - - - - - - - - - Ocean &gt; Pacific Ocean &gt; Western Pacific Ocean &gt; Micronesia &gt; Federated States of Micronesia - - - Ocean &gt; Pacific Ocean &gt; United States of America &gt; Territories - - - Federated States of Micronesia &gt; Pohnpei &gt; Pohnpei Lagoon - - - place - - - - - GCMD Location Keywords - - - - - - - - - - Pacific Islands Ocean Observing System (PacIOOS) - - - project - - - - - GCMD Project Keywords - - - - - - - - - - Pacific Islands Ocean Observing System (PacIOOS) - - - dataCenter - - - - - GCMD Data Center Keywords - - - - - - - - - - sea_water_temperature - - - sea_water_electrical_conductivity - - - sea_water_turbidity - - - mass_concentration_of_chlorophyll_in_sea_water - - - sea_water_salinity - - - depth - - - latitude - - - longitude - - - time - - - theme - - - - - CF-1.4 - - - - - - - - - - The data may be used and redistributed for free but is not intended for legal use, since it may contain inaccuracies. Neither the data Contributor, University of Hawaii, PacIOOS, NOAA, State of Hawaii nor the United States Government, nor any of their employees or contractors, makes any warranty, express or implied, including warranties of merchantability and fitness for a particular purpose, or assumes any legal liability for the accuracy, completeness, or usefulness, of this information. - - - - - - - - - Pacific Islands Ocean Observing System (PacIOOS) - - - - - - largerWorkCitation - - - project - - - - - - - - - - - Unidata Common Data Model - - - - - - Point - - - - - largerWorkCitation - - - project - - - - - eng - - - climatologyMeteorologyAtmosphere - - - - - - - 1 - - - 158.22402954101562 - - - 158.22402954101562 - - - 6.955227375030518 - - - 6.955227375030518 - - - - - - - - seconds - 2010-05-07T00:00:00Z - 2014-03-17T23:56:00Z - - - - - - - - -1.0 - - - -1.0 - - - - - - - - - - - - - - PacIOOS Nearshore Sensor 06: Pohnpei, Micronesia - - - - - 2011-04-12 - - - creation - - - - - - - 2011-04-19 - - - issued - - - - - - - 2014-03-18 - - - revision - - - - - - - Margaret McManus - - - University of Hawaii - - - - - - - mamc@hawaii.edu - - - - - - - http://www.soest.hawaii.edu/oceanography/faculty/mcmanus.html - - - http - - - web browser - - - - - - - - - information - - - - - - - originator - - - - - - - Jim Potemra - - - - - distributor - - - - - - - The nearshore sensors are part of the Pacific Islands Ocean Observing System (PacIOOS) and are designed to measure a variety of ocean parameters at fixed point locations. NS06 is located at the dock in Pohnpei lagoon and is mounted to the bottom in about 1 meter of water. The instrument is a Sea-Bird Electronics model 16+ V2 coupled with a WET Labs ECO-FLNTUS combination sensor. - - - THREDDS OPeNDAP - - - - - - - 1 - - - 158.22402954101562 - - - 158.22402954101562 - - - 6.955227375030518 - - - 6.955227375030518 - - - - - - - - 2010-05-07T00:00:00Z - 2014-03-17T23:56:00Z - - - - - - - - -1.0 - - - -1.0 - - - - - - - - tight - - - - - OPeNDAP Client Access - - - - - - http://oos.soest.hawaii.edu/thredds/dodsC/pacioos/nss/ns06agg - - - OPeNDAP - - - THREDDS OPeNDAP - - - download - - - - - - - - - - - - - - - - - - temp - - - - - float - - - - - - - Temperature (sea_water_temperature) - - - - - - - - - - cond - - - - - float - - - - - - - Conductivity (sea_water_electrical_conductivity) - - - - - - - - - - turb - - - - - float - - - - - - - Turbidity (sea_water_turbidity) - - - - - - - - - - flor - - - - - float - - - - - - - Chlorophyll (mass_concentration_of_chlorophyll_in_sea_water) - - - - - - - - - - salt - - - - - float - - - - - - - Salinity (sea_water_salinity) - - - - - - - - - - z - - - - - float - - - - - - - depth below mean sea level (depth) - - - - - - - - - - lat - - - - - float - - - - - - - Latitude (latitude) - - - - - - - - - - lon - - - - - float - - - - - - - Longitude (longitude) - - - - - - - - - - time - - - - - float - - - - - - - Time (time) - - - - - - - - - - - - - - - Pacific Islands Ocean Observing System (PacIOOS) - - - - - - - jimp@hawaii.edu - - - - - - - http://pacioos.org - - - http - - - web browser - - - URL for the data publisher - - - This URL provides contact information for the publisher of this dataset - - - information - - - - - - - publisher - - - - - - - OPeNDAP - - - - - - - - - - http://oos.soest.hawaii.edu/thredds/idd/nss_pacioos.html?dataset=NS06agg - - - THREDDS Catalog - - - This URL provides a catalog page for this dataset within THREDDS Data Server (TDS). - - - download - - - - - - - - - - - http://oos.soest.hawaii.edu/thredds/dodsC/pacioos/nss/ns06agg.html - - - File Information - - - This URL provides a standard OPeNDAP html interface for selecting data from this dataset. Change the extension to .info for a description of the dataset. - - - download - - - - - - - - - - - http://pacioos.org/voyager/index.html?b=6.874279%2C158.077126%2C7.050468%2C158.369808&tz=pont&o=qual:2::p0NS06p1 - - - PacIOOS Voyager (Google Maps API) - - - This URL provides a viewer for this dataset. - - - download - - - - - - - - - - - http://oos.soest.hawaii.edu/dchart/index.html?dsetid=54cd0688ada08d86748b9c5762509f - - - DChart - - - This URL provides a viewer for this dataset. - - - download - - - - - - - - - - - http://oos.soest.hawaii.edu/erddap/tabledap/nss06_agg.graph?time%2Ctemperature&.draw=lines - - - ERDDAP - - - This URL provides a viewer for this dataset. - - - download - - - - - - - - - - - http://pacioos.org/focus/waterquality/wq_fsm.php - - - PacIOOS Water Quality Platforms: FSM - - - This URL provides a viewer for this dataset. - - - download - - - - - - - - - - - - - - - dataset - - - - - - - UH/SOEST (M. McManus), PacIOOS asset (05/2010) - - - - - - - - - - This record was translated from NcML using UnidataDD2MI.xsl Version 2.3 - - - - diff --git a/tests/suites/apiso/data/test.xml b/tests/suites/apiso/data/test.xml deleted file mode 100644 index d492ed7a7..000000000 --- a/tests/suites/apiso/data/test.xml +++ /dev/null @@ -1,39 +0,0 @@ - - - 437ae0a2-06e2-4015-b296-a66e7f407bf2 - eng - dataset - YPAATypaat@ypaat.grpointOfContact - NTUAtzotsos@gmail.compointOfContact - 2009-10-09 -ISO19115 -2003/Cor.1:2006 - - - - - Aerial Photos - 2009-10-09creation - 437ae0a2-06e2-4015-b296-a66e7f407bf2 - T_aerfo_RAS_1991_GR800P001800000011.tif - - - Aerial Photos -YPAATypaat@ypaat.growner -NTUAtzotsos@hotmail.comuser - OrthoimageryGEMET - INSPIRE themes, version 1.02008-06-01publication - no conditions apply - otherRestrictionsno limitations - eng - geoscientificInformation - 20.0038.0024.0040.00 - 2009-10-092009-10-09 - - -http://www.ypaat.gr - -dataset -Conformity_001INSPIREINSPIRE2008-05-15publicationSee the referenced specificationtrue -test - - diff --git a/tests/suites/apiso/default.cfg b/tests/suites/apiso/default.cfg deleted file mode 100644 index 6a60f3f9e..000000000 --- a/tests/suites/apiso/default.cfg +++ /dev/null @@ -1,91 +0,0 @@ -# ================================================================= -# -# Authors: Tom Kralidis -# -# Copyright (c) 2011 Tom Kralidis -# -# Permission is hereby granted, free of charge, to any person -# obtaining a copy of this software and associated documentation -# files (the "Software"), to deal in the Software without -# restriction, including without limitation the rights to use, -# copy, modify, merge, publish, distribute, sublicense, and/or sell -# copies of the Software, and to permit persons to whom the -# Software is furnished to do so, subject to the following -# conditions: -# -# The above copyright notice and this permission notice shall be -# included in all copies or substantial portions of the Software. -# -# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -# EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES -# OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -# NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT -# HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, -# WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING -# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR -# OTHER DEALINGS IN THE SOFTWARE. -# -# ================================================================= - -[server] -home=. -url=http://localhost/pycsw/csw.py?config=tests/suites/apiso/default.cfg -mimetype=application/xml; charset=UTF-8 -encoding=UTF-8 -language=en-US -maxrecords=10 -#loglevel=DEBUG -#logfile=/tmp/pycsw.log -#ogc_schemas_base=http://foo -federatedcatalogues=http://geo.data.gov/geoportal/csw/discovery -pretty_print=true -#gzip_compresslevel=8 -#spatial_ranking=true -profiles=apiso - -[manager] -transactions=false -allowed_ips=127.0.0.1 - -[metadata:main] -identification_title=pycsw Geospatial Catalogue -identification_abstract=pycsw is an OGC CSW server implementation written in Python -identification_keywords=catalogue,discovery -identification_keywords_type=theme -identification_fees=None -identification_accessconstraints=None -provider_name=pycsw -provider_url=http://pycsw.org/ -contact_name=Kralidis, Tom -contact_position=Senior Systems Scientist -contact_address=TBA -contact_city=Toronto -contact_stateorprovince=Ontario -contact_postalcode=M9C 3Z9 -contact_country=Canada -contact_phone=+01-416-xxx-xxxx -contact_fax=+01-416-xxx-xxxx -contact_email=tomkralidis@gmail.com -contact_url=http://kralidis.ca/ -contact_hours=0800h - 1600h EST -contact_instructions=During hours of service. Off on weekends. -contact_role=pointOfContact - -[repository] -# sqlite -database=sqlite:///tests/suites/apiso/data/records.db -# postgres -#database=postgres://username:password@localhost/pycsw -table=records - -[metadata:inspire] -enabled=false -languages_supported=eng,gre -default_language=eng -date=2011-03-29 -gemet_keywords=Utility and governmental services -conformity_service=notEvaluated -contact_name=National Technical University of Athens -contact_email=tzotsos@gmail.com -temp_extent=2011-02-01/2011-03-30 - diff --git a/tests/suites/apiso/post/DescribeRecord.xml b/tests/suites/apiso/post/DescribeRecord.xml deleted file mode 100644 index e449f61d2..000000000 --- a/tests/suites/apiso/post/DescribeRecord.xml +++ /dev/null @@ -1,4 +0,0 @@ - - - gmd:MD_Metadata - diff --git a/tests/suites/apiso/post/GetCapabilities.xml b/tests/suites/apiso/post/GetCapabilities.xml deleted file mode 100644 index e4dc8070b..000000000 --- a/tests/suites/apiso/post/GetCapabilities.xml +++ /dev/null @@ -1,9 +0,0 @@ - - - - 2.0.2 - - - application/xml - - diff --git a/tests/suites/apiso/post/GetDomain-property.xml b/tests/suites/apiso/post/GetDomain-property.xml deleted file mode 100644 index a3ff1bac0..000000000 --- a/tests/suites/apiso/post/GetDomain-property.xml +++ /dev/null @@ -1,5 +0,0 @@ - - - apiso:TopicCategory - - diff --git a/tests/suites/apiso/post/GetRecordById-brief.xml b/tests/suites/apiso/post/GetRecordById-brief.xml deleted file mode 100644 index 84f6c16af..000000000 --- a/tests/suites/apiso/post/GetRecordById-brief.xml +++ /dev/null @@ -1,6 +0,0 @@ - - - de53e931-778a-4792-94ad-9fe507aca483 - brief - - diff --git a/tests/suites/apiso/post/GetRecordById-full-dc.xml b/tests/suites/apiso/post/GetRecordById-full-dc.xml deleted file mode 100644 index c58520a66..000000000 --- a/tests/suites/apiso/post/GetRecordById-full-dc.xml +++ /dev/null @@ -1,6 +0,0 @@ - - - NS06agg - full - - diff --git a/tests/suites/apiso/post/GetRecordById-full.xml b/tests/suites/apiso/post/GetRecordById-full.xml deleted file mode 100644 index 2fe6e2d4c..000000000 --- a/tests/suites/apiso/post/GetRecordById-full.xml +++ /dev/null @@ -1,6 +0,0 @@ - - - de53e931-778a-4792-94ad-9fe507aca483 - full - - diff --git a/tests/suites/apiso/post/GetRecordById-srv-brief.xml b/tests/suites/apiso/post/GetRecordById-srv-brief.xml deleted file mode 100644 index 88ec9dec5..000000000 --- a/tests/suites/apiso/post/GetRecordById-srv-brief.xml +++ /dev/null @@ -1,6 +0,0 @@ - - - 3e9a8c05 - brief - - diff --git a/tests/suites/apiso/post/GetRecords-all-csw-output.xml b/tests/suites/apiso/post/GetRecords-all-csw-output.xml deleted file mode 100644 index 1cdb55562..000000000 --- a/tests/suites/apiso/post/GetRecords-all-csw-output.xml +++ /dev/null @@ -1,6 +0,0 @@ - - - - full - - diff --git a/tests/suites/apiso/post/GetRecords-all.xml b/tests/suites/apiso/post/GetRecords-all.xml deleted file mode 100644 index 1cdb55562..000000000 --- a/tests/suites/apiso/post/GetRecords-all.xml +++ /dev/null @@ -1,6 +0,0 @@ - - - - full - - diff --git a/tests/suites/apiso/post/GetRecords-cql-title.xml b/tests/suites/apiso/post/GetRecords-cql-title.xml deleted file mode 100644 index a8d37e802..000000000 --- a/tests/suites/apiso/post/GetRecords-cql-title.xml +++ /dev/null @@ -1,9 +0,0 @@ - - - - brief - - apiso:TopicCategory like '%elevation%' - - - diff --git a/tests/suites/apiso/post/GetRecords-elementname.xml b/tests/suites/apiso/post/GetRecords-elementname.xml deleted file mode 100644 index ff191228e..000000000 --- a/tests/suites/apiso/post/GetRecords-elementname.xml +++ /dev/null @@ -1,6 +0,0 @@ - - - - apiso:Title - - diff --git a/tests/suites/apiso/post/GetRecords-filter-and-nested-spatial-or-dateline.xml b/tests/suites/apiso/post/GetRecords-filter-and-nested-spatial-or-dateline.xml deleted file mode 100644 index 3074a10e6..000000000 --- a/tests/suites/apiso/post/GetRecords-filter-and-nested-spatial-or-dateline.xml +++ /dev/null @@ -1,45 +0,0 @@ - - - full - - - - - csw:AnyText - *pacioos* - - - - ows:BoundingBox - - 5.0721 17.8247 - 31.7842 180 - - - - ows:BoundingBox - - 15.0721 -180 - 31.7842 -151.2378 - - - - - - - - - dc:title - ASC - - - - diff --git a/tests/suites/apiso/post/GetRecords-filter-anytext.xml b/tests/suites/apiso/post/GetRecords-filter-anytext.xml deleted file mode 100644 index 4bb8d9cbd..000000000 --- a/tests/suites/apiso/post/GetRecords-filter-anytext.xml +++ /dev/null @@ -1,15 +0,0 @@ - - - - brief - - - - apiso:AnyText - Aerial% - - - - - - diff --git a/tests/suites/apiso/post/GetRecords-filter-bbox-csw-output.xml b/tests/suites/apiso/post/GetRecords-filter-bbox-csw-output.xml deleted file mode 100644 index f7e47c78e..000000000 --- a/tests/suites/apiso/post/GetRecords-filter-bbox-csw-output.xml +++ /dev/null @@ -1,19 +0,0 @@ - - - - brief - - - - apiso:BoundingBox - - 35 18 - 42 28 - - - - - - - - diff --git a/tests/suites/apiso/post/GetRecords-filter-bbox.xml b/tests/suites/apiso/post/GetRecords-filter-bbox.xml deleted file mode 100644 index 2444873bf..000000000 --- a/tests/suites/apiso/post/GetRecords-filter-bbox.xml +++ /dev/null @@ -1,18 +0,0 @@ - - - - brief - - - - apiso:BoundingBox - - 35 18 - 42 28 - - - - - - - diff --git a/tests/suites/apiso/post/GetRecords-filter-servicetype.xml b/tests/suites/apiso/post/GetRecords-filter-servicetype.xml deleted file mode 100644 index 02078b62e..000000000 --- a/tests/suites/apiso/post/GetRecords-filter-servicetype.xml +++ /dev/null @@ -1,14 +0,0 @@ - - - - brief - - - - apiso:ServiceType - view - - - - - diff --git a/tests/suites/atom/default.cfg b/tests/suites/atom/default.cfg deleted file mode 100644 index b97c23e6b..000000000 --- a/tests/suites/atom/default.cfg +++ /dev/null @@ -1,90 +0,0 @@ -# ================================================================= -# -# Authors: Tom Kralidis -# -# Copyright (c) 2012 Tom Kralidis -# -# Permission is hereby granted, free of charge, to any person -# obtaining a copy of this software and associated documentation -# files (the "Software"), to deal in the Software without -# restriction, including without limitation the rights to use, -# copy, modify, merge, publish, distribute, sublicense, and/or sell -# copies of the Software, and to permit persons to whom the -# Software is furnished to do so, subject to the following -# conditions: -# -# The above copyright notice and this permission notice shall be -# included in all copies or substantial portions of the Software. -# -# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -# EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES -# OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -# NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT -# HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, -# WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING -# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR -# OTHER DEALINGS IN THE SOFTWARE. -# -# ================================================================= - -[server] -home=. -url=http://localhost/pycsw/csw.py?config=tests/suites/atom/default.cfg -mimetype=application/xml; charset=UTF-8 -encoding=UTF-8 -language=en-US -maxrecords=10 -#loglevel=DEBUG -#logfile=/tmp/pycsw.log -#ogc_schemas_base=http://foo -federatedcatalogues=http://geo.data.gov/geoportal/csw/discovery -pretty_print=true -#gzip_compresslevel=8 -#spatial_ranking=true - -[manager] -transactions=false -allowed_ips=127.0.0.1 - -[metadata:main] -identification_title=pycsw Geospatial Catalogue -identification_abstract=pycsw is an OGC CSW server implementation written in Python -identification_keywords=catalogue,discovery -identification_keywords_type=theme -identification_fees=None -identification_accessconstraints=None -provider_name=pycsw -provider_url=http://pycsw.org/ -contact_name=Kralidis, Tom -contact_position=Senior Systems Scientist -contact_address=TBA -contact_city=Toronto -contact_stateorprovince=Ontario -contact_postalcode=M9C 3Z9 -contact_country=Canada -contact_phone=+01-416-xxx-xxxx -contact_fax=+01-416-xxx-xxxx -contact_email=tomkralidis@gmail.com -contact_url=http://kralidis.ca/ -contact_hours=0800h - 1600h EST -contact_instructions=During hours of service. Off on weekends. -contact_role=pointOfContact - -[repository] -# sqlite -database=sqlite:///tests/suites/cite/data/records.db -# postgres -#database=postgres://username:password@localhost/pycsw -table=records - -[metadata:inspire] -enabled=false -languages_supported=eng,gre -default_language=eng -date=2011-03-29 -gemet_keywords=Utility and governmental services -conformity_service=notEvaluated -contact_name=National Technical University of Athens -contact_email=tzotsos@gmail.com -temp_extent=2011-02-01/2011-03-30 - diff --git a/tests/suites/atom/get/requests.txt b/tests/suites/atom/get/requests.txt deleted file mode 100644 index 6734cd5a7..000000000 --- a/tests/suites/atom/get/requests.txt +++ /dev/null @@ -1,12 +0,0 @@ -opensearch,mode=opensearch&service=CSW&version=2.0.2&request=GetRecords&typenames=csw:Record&resulttype=results&elementsetname=brief -opensearch-description,mode=opensearch&service=CSW&version=2.0.2&request=GetCapabilities -opensearch-ogc-q,mode=opensearch&service=CSW&version=2.0.2&request=GetRecords&elementsetname=full&resulttype=results&typenames=csw:Record&q=greece -opensearch-ogc-bbox,mode=opensearch&service=CSW&version=2.0.2&request=GetRecords&elementsetname=full&resulttype=results&typenames=csw:Record&bbox=-180,-90,180,90 -opensearch-ogc-time,mode=opensearch&service=CSW&version=2.0.2&request=GetRecords&elementsetname=full&resulttype=results&typenames=csw:Record&time=2001/2004 -opensearch-ogc-timestart,mode=opensearch&service=CSW&version=2.0.2&request=GetRecords&elementsetname=full&resulttype=results&typenames=csw:Record&time=2004/ -opensearch-ogc-timeend,mode=opensearch&service=CSW&version=2.0.2&request=GetRecords&elementsetname=full&resulttype=results&typenames=csw:Record&time=/2004 -opensearch-ogc-q-and-time,mode=opensearch&service=CSW&version=2.0.2&request=GetRecords&elementsetname=full&resulttype=results&typenames=csw:Record&time=2001/2007&q=vitae -opensearch-ogc-bbox-and-time,mode=opensearch&service=CSW&version=2.0.2&request=GetRecords&elementsetname=full&resulttype=results&typenames=csw:Record&time=2001/2007&bbox=-180,-90,180,90 -opensearch-ogc-q-and-bbox,mode=opensearch&service=CSW&version=2.0.2&request=GetRecords&elementsetname=full&resulttype=results&typenames=csw:Record&q=vegetation&bbox=-180,-90,180,90 -opensearch-ogc-count-and-page1,mode=opensearch&service=CSW&version=2.0.2&request=GetRecords&elementsetname=full&resulttype=results&typenames=csw:Record&q=vegetation&startposition=1 -opensearch-ogc-count-and-page2,mode=opensearch&service=CSW&version=2.0.2&request=GetRecords&elementsetname=full&resulttype=results&typenames=csw:Record&q=vegetation&startposition=1&maxrecords=1 diff --git a/tests/suites/atom/post/DescribeRecord.xml b/tests/suites/atom/post/DescribeRecord.xml deleted file mode 100644 index cd923b8c8..000000000 --- a/tests/suites/atom/post/DescribeRecord.xml +++ /dev/null @@ -1,4 +0,0 @@ - - - atom:entry - diff --git a/tests/suites/atom/post/GetCapabilities.xml b/tests/suites/atom/post/GetCapabilities.xml deleted file mode 100644 index e4dc8070b..000000000 --- a/tests/suites/atom/post/GetCapabilities.xml +++ /dev/null @@ -1,9 +0,0 @@ - - - - 2.0.2 - - - application/xml - - diff --git a/tests/suites/atom/post/GetRecords-filter-bbox.xml b/tests/suites/atom/post/GetRecords-filter-bbox.xml deleted file mode 100644 index 1c431c21f..000000000 --- a/tests/suites/atom/post/GetRecords-filter-bbox.xml +++ /dev/null @@ -1,17 +0,0 @@ - - - - brief - - - - ows:BoundingBox - - 47 -5 - 55 20 - - - - - - diff --git a/tests/suites/cite/data/README.txt b/tests/suites/cite/data/README.txt deleted file mode 100644 index 67996869c..000000000 --- a/tests/suites/cite/data/README.txt +++ /dev/null @@ -1,65 +0,0 @@ -CITE Data -========= - -This directory provides data used to check conformance against the -Open Geospatial Consortium Compliance and Interoperability Testing Initiative (CITE). - -* http://cite.opengeospatial.org/teamengine/ - -The CITE team engine does not offer a specific license for re-distribution, as such it falls -under the general guidance provided by the OGC legal page (http://www.opengeospatial.org/legal/) -and the following license: - -* http://www.opengeospatial.org/ogc/software - -DATA LICENSE ------------- - -The data directory includes information provided by the Open Geospatial Consortium:: - - Copyright © 2012 Open Geospatial Consortium, Inc. - All Rights Reserved. http://www.opengeospatial.org/ogc/legal - -The test data is available directly from the following link: - -* http://cite.opengeospatial.org/teamengine/about/csw/2.0.2/web/ - -This content has been format shifted from CSW record format into a text based -"property file" for release testing. - -Software Notice ---------------- - -This OGC work (including software, documents, or other related items) is being provided by the -copyright holders under the following license. By obtaining, using and/or copying this work, you -(the licensee) agree that you have read, understood, and will comply with the following terms and -conditions: - -Permission to use, copy, and modify this software and its documentation, with or without -modification, for any purpose and without fee or royalty is hereby granted, provided that you -include the following on ALL copies of the software and documentation or portions thereof, including -modifications, that you make: - -1. The full text of this NOTICE in a location viewable to users of the redistributed or derivative -work. - -2. Any pre-existing intellectual property disclaimers, notices, or terms and conditions. If none exist, -a short notice of the following form (hypertext is preferred, text is permitted) should be used -within the body of any redistributed or derivative code: "Copyright © [$date-of-document] Open -Geospatial Consortium, Inc. All Rights Reserved. http://www.opengeospatial.org/ogc/legal (Hypertext -is preferred, but a textual representation is permitted.) - -3. Notice of any changes or modifications to the OGC files, including the date changes were made. (We -recommend you provide URIs to the location from which the code is derived.) - -THIS SOFTWARE AND DOCUMENTATION IS PROVIDED "AS IS," AND COPYRIGHT HOLDERS MAKE NO REPRESENTATIONS -OR WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO, WARRANTIES OF MERCHANTABILITY OR -FITNESS FOR ANY PARTICULAR PURPOSE OR THAT THE USE OF THE SOFTWARE OR DOCUMENTATION WILL NOT -INFRINGE ANY THIRD PARTY PATENTS, COPYRIGHTS, TRADEMARKS OR OTHER RIGHTS. - -COPYRIGHT HOLDERS WILL NOT BE LIABLE FOR ANY DIRECT, INDIRECT, SPECIAL OR CONSEQUENTIAL DAMAGES -ARISING OUT OF ANY USE OF THE SOFTWARE OR DOCUMENTATION. - -The name and trademarks of copyright holders may NOT be used in advertising or publicity pertaining -to the software without specific, written prior permission. Title to copyright in this software and -any associated documentation will at all times remain with copyright holders. diff --git a/tests/suites/cite/data/Record_19887a8a-f6b0-4a63-ae56-7fba0e17801f.xml b/tests/suites/cite/data/Record_19887a8a-f6b0-4a63-ae56-7fba0e17801f.xml deleted file mode 100644 index 7292511ed..000000000 --- a/tests/suites/cite/data/Record_19887a8a-f6b0-4a63-ae56-7fba0e17801f.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f - http://purl.org/dc/dcmitype/Image - image/svg+xml - Lorem ipsum - GR-22 - Tourism--Greece - Quisque lacus diam, placerat mollis, pharetra in, commodo sed, augue. Duis iaculis arcu vel arcu. - \ No newline at end of file diff --git a/tests/suites/cite/data/Record_1ef30a8b-876d-4828-9246-c37ab4510bbd.xml b/tests/suites/cite/data/Record_1ef30a8b-876d-4828-9246-c37ab4510bbd.xml deleted file mode 100644 index 97c595793..000000000 --- a/tests/suites/cite/data/Record_1ef30a8b-876d-4828-9246-c37ab4510bbd.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - urn:uuid:1ef30a8b-876d-4828-9246-c37ab4510bbd - http://purl.org/dc/dcmitype/Service - Proin sit amet justo. In justo. Aenean adipiscing nulla id tellus. - - 60.042 13.754 - 68.410 17.920 - - \ No newline at end of file diff --git a/tests/suites/cite/data/Record_66ae76b7-54ba-489b-a582-0f0633d96493.xml b/tests/suites/cite/data/Record_66ae76b7-54ba-489b-a582-0f0633d96493.xml deleted file mode 100644 index b58bcdbb0..000000000 --- a/tests/suites/cite/data/Record_66ae76b7-54ba-489b-a582-0f0633d96493.xml +++ /dev/null @@ -1,12 +0,0 @@ - - - urn:uuid:66ae76b7-54ba-489b-a582-0f0633d96493 - Maecenas enim - http://purl.org/dc/dcmitype/Text - application/xhtml+xml - Marine sediments - Pellentesque tempus magna non sapien fringilla blandit. - \ No newline at end of file diff --git a/tests/suites/cite/data/Record_6a3de50b-fa66-4b58-a0e6-ca146fdd18d4.xml b/tests/suites/cite/data/Record_6a3de50b-fa66-4b58-a0e6-ca146fdd18d4.xml deleted file mode 100644 index 13f973a1c..000000000 --- a/tests/suites/cite/data/Record_6a3de50b-fa66-4b58-a0e6-ca146fdd18d4.xml +++ /dev/null @@ -1,11 +0,0 @@ - - - urn:uuid:6a3de50b-fa66-4b58-a0e6-ca146fdd18d4 - http://purl.org/dc/dcmitype/Service - Ut facilisis justo ut lacus - Vegetation - urn:uuid:94bc9c83-97f6-4b40-9eb8-a8e8787a5c63 - \ No newline at end of file diff --git a/tests/suites/cite/data/Record_784e2afd-a9fd-44a6-9a92-a3848371c8ec.xml b/tests/suites/cite/data/Record_784e2afd-a9fd-44a6-9a92-a3848371c8ec.xml deleted file mode 100644 index cb2d08b38..000000000 --- a/tests/suites/cite/data/Record_784e2afd-a9fd-44a6-9a92-a3848371c8ec.xml +++ /dev/null @@ -1,14 +0,0 @@ - - - urn:uuid:784e2afd-a9fd-44a6-9a92-a3848371c8ec - Aliquam fermentum purus quis arcu - http://purl.org/dc/dcmitype/Text - Hydrography--Dictionaries - application/pdf - 2006-05-12 - Vestibulum quis ipsum sit amet metus imperdiet vehicula. Nulla scelerisque cursus mi. - diff --git a/tests/suites/cite/data/Record_829babb0-b2f1-49e1-8cd5-7b489fe71a1e.xml b/tests/suites/cite/data/Record_829babb0-b2f1-49e1-8cd5-7b489fe71a1e.xml deleted file mode 100644 index 83a96d20f..000000000 --- a/tests/suites/cite/data/Record_829babb0-b2f1-49e1-8cd5-7b489fe71a1e.xml +++ /dev/null @@ -1,11 +0,0 @@ - - - urn:uuid:829babb0-b2f1-49e1-8cd5-7b489fe71a1e - http://purl.org/dc/dcmitype/Image - image/jp2 - Vestibulum massa purus - urn:uuid:9a669547-b69b-469f-a11f-2d875366bbdc - \ No newline at end of file diff --git a/tests/suites/cite/data/Record_88247b56-4cbc-4df9-9860-db3f8042e357.xml b/tests/suites/cite/data/Record_88247b56-4cbc-4df9-9860-db3f8042e357.xml deleted file mode 100644 index 2771e6a49..000000000 --- a/tests/suites/cite/data/Record_88247b56-4cbc-4df9-9860-db3f8042e357.xml +++ /dev/null @@ -1,11 +0,0 @@ - - - urn:uuid:88247b56-4cbc-4df9-9860-db3f8042e357 - http://purl.org/dc/dcmitype/Dataset - Physiography-Landforms - FI-ES - Donec scelerisque pede ut nisl luctus accumsan. Quisque ultrices, lorem eget feugiat fringilla, lorem dui porttitor ante, cursus ultrices magna odio eu neque. - \ No newline at end of file diff --git a/tests/suites/cite/data/Record_94bc9c83-97f6-4b40-9eb8-a8e8787a5c63.xml b/tests/suites/cite/data/Record_94bc9c83-97f6-4b40-9eb8-a8e8787a5c63.xml deleted file mode 100644 index ccf590fa7..000000000 --- a/tests/suites/cite/data/Record_94bc9c83-97f6-4b40-9eb8-a8e8787a5c63.xml +++ /dev/null @@ -1,17 +0,0 @@ - - - urn:uuid:94bc9c83-97f6-4b40-9eb8-a8e8787a5c63 - http://purl.org/dc/dcmitype/Dataset - Mauris sed neque - Vegetation-Cropland - Curabitur lacinia, ante non porta tempus, mi lorem feugiat odio, eget suscipit eros pede ac velit. - 2006-03-26 - - 47.595 -4.097 - 51.217 0.889 - - diff --git a/tests/suites/cite/data/Record_9a669547-b69b-469f-a11f-2d875366bbdc.xml b/tests/suites/cite/data/Record_9a669547-b69b-469f-a11f-2d875366bbdc.xml deleted file mode 100644 index 577f2c4ef..000000000 --- a/tests/suites/cite/data/Record_9a669547-b69b-469f-a11f-2d875366bbdc.xml +++ /dev/null @@ -1,16 +0,0 @@ - - - urn:uuid:9a669547-b69b-469f-a11f-2d875366bbdc - http://purl.org/dc/dcmitype/Dataset - Ñunç elementum - Hydrography-Oceanographic - 2005-10-24 - - 44.792 -6.171 - 51.126 -2.228 - - diff --git a/tests/suites/cite/data/Record_a06af396-3105-442d-8b40-22b57a90d2f2.xml b/tests/suites/cite/data/Record_a06af396-3105-442d-8b40-22b57a90d2f2.xml deleted file mode 100644 index a7ba06c7a..000000000 --- a/tests/suites/cite/data/Record_a06af396-3105-442d-8b40-22b57a90d2f2.xml +++ /dev/null @@ -1,11 +0,0 @@ - - - urn:uuid:a06af396-3105-442d-8b40-22b57a90d2f2 - http://purl.org/dc/dcmitype/Image - Lorem ipsum dolor sit amet - image/jpeg - IT-FI - \ No newline at end of file diff --git a/tests/suites/cite/data/Record_ab42a8c4-95e8-4630-bf79-33e59241605a.xml b/tests/suites/cite/data/Record_ab42a8c4-95e8-4630-bf79-33e59241605a.xml deleted file mode 100644 index b4d2a23b4..000000000 --- a/tests/suites/cite/data/Record_ab42a8c4-95e8-4630-bf79-33e59241605a.xml +++ /dev/null @@ -1,11 +0,0 @@ - - - urn:uuid:ab42a8c4-95e8-4630-bf79-33e59241605a - http://purl.org/dc/dcmitype/Service - Physiography - Suspendisse accumsan molestie lorem. Nullam velit turpis, mattis ut, varius bibendum, laoreet non, quam. - urn:uuid:88247b56-4cbc-4df9-9860-db3f8042e357 - \ No newline at end of file diff --git a/tests/suites/cite/data/Record_e9330592-0932-474b-be34-c3a3bb67c7db.xml b/tests/suites/cite/data/Record_e9330592-0932-474b-be34-c3a3bb67c7db.xml deleted file mode 100644 index 1e6bdc2da..000000000 --- a/tests/suites/cite/data/Record_e9330592-0932-474b-be34-c3a3bb67c7db.xml +++ /dev/null @@ -1,14 +0,0 @@ - - - urn:uuid:e9330592-0932-474b-be34-c3a3bb67c7db - http://purl.org/dc/dcmitype/Text - Fuscé vitae ligulä - 2003-05-09 - Land titles - text/rtf - Morbi ultriçes, dui suscipit vestibulum prètium, velit ante pretium tortor, egët tincidunt pede odio ac nulla. - diff --git a/tests/suites/cite/data/cite.db b/tests/suites/cite/data/cite.db deleted file mode 100644 index 6bbd3f18ca39cc0bbe41fb4bba50998ec26da50e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 82944 zcmeHwdyE{%d1v?3KDbL#Z+R^+P-2HK1b@%jRc6ztTA?aPR2Fqr5)mQaZ{p$7AS6@|~f8(_2QrxoaE^)CeObDVV z{3OPLAS}bbH{jpk*MOIa!3X>=Cf>7Nmj&qu)05ykh5nY&97X>Z{crR?(SJuj3>>lo za(9jZN8k=2pj05D7hi-2o`=V$o`T2TN8m9twI7~h;YR}e@gGOven;T?{$FoR2~QSo zJiL7N{K-dtaB_L|!o?N;bFHE>hx2D&TRyjX>O@RZmmAHB z+*qip%~G}2s8;1#U0yhL@xp7X=T2RC>x=U&=J|#BMp-V;zx(b8pSoPFGoQ2PPOU5h zx05!dy{o2vX?~$Rg1o7gD~$Z&nNt_OIB(E4kOO6@TxlpZxvExc6;)N_YI8(bwNkB) zP6PyCiSXM$`knxP{KpaC2<&bI7R8yTo;vWHC>9>?ds@fTgQrb(%Ql>=@4IVlYIUh= zucN{vKltg_FEH7B68(_n`fMzl?`{xy>Nx@&fnfyB%!13x3_N~n4?JF*g2%~8=D1J% z7{-6}Yv_HXqUpl-3%^mgTzI*#U;JzE;J=-LKn1l$&+aXGo@p#mRhG*&wJMcWxhg3Q zMUyltE0Qh~S<~tby^|HBt@kasi_+^si7%NwM82hQlV3+5RIlntE6Q} zM1_Z&oswFUk0Suc&YSkh8kPTTP6rgLgG)P^g(JWV5ta6)fhvEy%U%0SIj&7~H*$ENu3u$B#U=-Ly&nhb6Pxy2(_oL5N$rT*rXAv%RxfgJ z%`RQjXxkieqCF#~vHGSCscKvHdgN$R$MS3);_J0N(vErSHYKhVv-D*l=TagOy47=S zQ}dEkmfa>j^JmhDbExjwrn?RS7z}35jq^=(ojT4aAIk-1qdbfxvg~8crdLcS35W0M z=U|g-Ak(E2=#zIXgMl356{>XyWfCO|ASC}hHj;e#@>x+YYD1cZj^xTL4k zE2QHkC_`7z>PC?#WzERZq4pJ1r>Po}aJxe76b4qG+UacSme=o?y>=>wfDCFuTytWl z5mhhtB;7!6ehs`{kU|Qrs3GRxA5!BZ{ZhWM2fRT zfBZ)u2f;|v>6c7?-nEroC_!KM( z3V&RfLXV+i=o^BtQ4*);4j&e;KkgEcSe!lxL8JphYHQ6|cZNO-$ImSvyReKe9DC*T zG9L28FU-z3wrSu~XD%$CTt0`-tX{xpE}lNk<{HFvFRk^GLYVK8q-SJ~?b2)U#3Lol zFj^2}uD?{6o|7c;#$i9f110C0ZgsqF&l&zksU#2kvNX5W{D{^-{39K!?aO1Sv=0az z{SxhxZ2u^GL!pP5ZjK-#@a4J?J_d(w!L)15fawy*lOXdZypqVJ_(hQ=W&{zzZ1F=8 zP0t-TApY`Oey&4xaroav3arqPVH69Jn^VscJv!@IfOU<;^dw3f%dpvlIfAwTNJlose!i1o70F6U$$~Bk1tz8606d2wYs7nwqN}5WhSedo(i& zgY3zQJ|axTAGwC|KOg_c>VJ7)j=+x-0XCYCG5*gAFM@fH@T5k-^JF<^qdNbpB#>FpwI% zC23Qfk{-piy`zVQNXr?rc{qzrM3~|cxfWadGB8Vw$03hLvUns&Q(O}6#n%1|J_!Y6 z$mh{4J_*tkpM-nyt%s)ODhEVwQ_%!!;*iB-Su6(Hs6uUSacdTj* zqklXr`j|46f!Mit{*kFU>3|3-*>u(N6^3E-Ph>?OXcd!b_g(n-pYG)N7e`?CAuz`H z&-H)1uef=NIRYsJc>7Pm!9O?x4-^8t{XbB}%`?jpNFgw8`!9T7fOY@xq3?jr&ke8w zJ_mNd7%YMR0X+DRBe2^L_%y1C)pDgKmFrTqexaf))zl@W@%FwfkG)wQvsoT9qdn?x z@5%C*&hnVb@|eu>m>BI*dmCkW6y{KEW-}zUxB2{kw^eSQUXH*J0^^SVVCKi||AsK- zpB#bRf&g#-yQQRfIynM&9)Ypj|9$~Z`(;Q?D7Q_a>h~$Hj{-ZV}z=z}8U*zvnrwg*_K{ zi0(NPkD^1sn(APN?O@t7yMfXFL+II=L@xOJe}~pZo-B?)UIfM%|JnYZ8Q~QH{(eRH zk+>rMapCpCchG0izs$@0{G+4I68#;>p;_XSS!RjBHsz#QqVH0C^RcP9#RKByVOz&w zi%1yjTvn{%Mv`Q-fm89F$4Bqh80-rPWBznj%mccVjpo3ycxRRsVqL5Hg~5OZt^W|h)+(>y$-C4!>nTi(s;X0$o(@}+((5;C14am(fm|~?Q`-( zg^=}uOxDTM7m@{-jHK9_%P<*+?fHWP9YRh&k;N%Nn#x#NV0{0;Ty#3#Yh03$U5y*)EZ~r-g;$$3w`w#)%{_n#=+k|MWA{bEm)t>bYSXs1bMKgjPwy;O5*#SJi~q(u9oWvlxxI$R=sPw%NP*=F_9C9D_Sv zLw?U@@e8O@*$SMB*FKwJhq&pgqL9buvUqF?kYcyVxA@L8qYG@BZMY*^xoWost(I$-a4^CRjkV8b)91G_iOK5WUj5^t^O+c$s9HNEZvIKpY}nDpRU zv%XE48-~lR;BNub_RVj(*fo2)X?Q&s_bJ?j1=nd=nCQ6YbvmT9uRF2vu6W)9>sz=3 z%7M$Cp#FPZhxBk4ZgYaI9I#=8?GGv8Gb}(i5>4U77@Eforg;Dt>0XLyRX8cVuKEFW{S~gsjWdbMzUshNw*o!EF|APi!>A#O@h?S4^-gXRsd!!=4<7% zzd|pWx(DSLlujy#A?L1H3hu}_g1#i4rJW9J;-P-#0&K$+F~}X#H)#(?`NA4lfy2#U zC3JFP<5BUf4fh2^dxL_lIVF6mH+VZn;d-zhCI(bisIk3vP{%M_l;Hwj&nXq?#K!8( z09=1d4>n8!b)^p<>|Qih>tN>(I9!5D_TW}JY(nMHtu9;xXR+-@P(!@7M@#qw+cadt zt{@=yHxIEA_g_lf{%=S2a6C~Qf&2)JA^-FCpC4vU$r0F*2=Mm5Ba4M6iX(7O5E#4t zzsS!2{B`s?`b~5ey@>u4Euo)fMv{b0!>t9go1n=vnbJ%<(}<kVaG^{Iz^;jOo#5<`$I#)K z3l=+#q$^1$LE)rRF8}ZNipLYk5!f1mvB!UY{^!;Jb6<|Y4n}~t{~cU7JZT((yNm#D z|92T+9z9232O}^>`)BrldxU=?z~7&XuZSNNP8a?SdNTj%f8(I?*0ZB8WQHREDQORm zI4fouI)!8@`=-#XXnrokQfy#L=B|TX2-Pjya1LiNNYbXbBt44ya~XF(x2a`NM~6qq zXd#PHOqpU6I~Oh<$(st1DnGjk5U%v zZGxxLvkh(W?4hZ-!v{ojIEje^4@+6;U^FRa%%SMLkYN#SZM_}ys|7-F6e}9So41F8@ zJGcq>JLnViH@h4eo_vnL?nQtZ_EgJdSt`R-#%gd25o_zSp+`-sl%=XN6MohuAg$Je z`-K?YRO|ty)nIQE^9am=5E5p%{J(pv2TwUiz(-*0@t@oO@S4OC*tH1o_P=Y3jwhTW zFg60?w*Nv|DEzO&pA>!r{WUsJ_%ixk)GAy=zle^32mf&d5(s<_t%#Rgx4*Qw2$$7% zN^mXTqM^fI*JLIYix=oMci$m&eoLbB)IVEkFT3b=tH@5l2_STKyVy<;mpIg&$w{{- zC*5?e)J^39WO6%}As`cZB11VND|`;E&TNk^l$g=hV`?oclUV*FK ztzKwlCTGRXjO8NY6qA%s@f~UO@q8>Pz4%tyS{9!HU5drPvG`7DbnG_m`1@VMT-38- zAJC;@A2=4h#SB|On+BIV!%o_^7u$_Cve~5RhuEb(i*J@kpV8>(muMHP5PcKUW)`o2 zD#amiDsD_vrsr0`qEi|+mrU6Nvhrg9hm6!rMoG)WL7+6>Q52#5-->|#5&a#k{Cxte zejlMe4yCSJ;>S+?)RN*YILue+@7G+><7r zPJjCAdNHwo06_dXktRmz&%%Cma3&@W*8h$U*8jhYZlHe#ZQnyj(Q))g@hQN&ykvOt zIRbY90blU0ptk7Qy(P~xjiqL@sx-7(T~c&SmlUI=N@}xSmJCg9HOoqs%C$z~Xjc|N zuwI{vMJ4sRT2mU5R#!DisjDrCR4Og0YBU=)xn9>aL!V+{C)2?cO;`1%EUAqaq(D>3 zl1jCvM4GhOXf{YqugeoG7+?Rt3zdOK$r1SRAmDdH>@l)uVIDze!QMu-|H6|3`U~{$ z;moghk%IOX{SDE2 zE>-vCCES~ra5gXDOkTo0c?qZU5>DkMoXkr&k(UtVB`h357YEA!EsK!b|2=rko9FmG zLtxzTpRfPjXBC2H=Yc|ixBmyKxOrwd0x1M|`%l5aKR5yp6au{cKTyTZGs_W3AuvY! z5A6S*5DLc%pCB3iYw^E`UlX55#s0v3c+Ct;GvAo5?`a(q)ZnpM-mxsBtYP|;J=U;i z@twwK^Enr;a9D$TLPHajQi!RxC5$G%z;yJL#$5E zy$*J4#bG-(u*>UPJ;&5K6i(Q4*KN2YHRQ9D#b;EQ6xUG%#g4p{5v6X^WN97A;_Vm6 zfH=i8m zJBRjv>jL_(=ugl$(Kpc7VHNQA(SJrCqpzVKaZBI_uJhv=zBdT$Lr;q?Y?fNI-Bxh2 z2eZ>N*^Z~h_xiLw%Lers_6Y2Q_M>Ma-|E!k=&;BRd<_Sp#lF!BPWN~UHBuheF1g*# z;cMMaVDj?_Iy4jTaIUnOGhhF^H^t4la0Koe0%OSky#3#`QsEJE1nvz2W3+#kK(>Vm zgDlW@^Yh`R;Vtck=EDHiRVOn5_zlPmJ)%l(8>b!WUr)GLDODC@T6ZL|OW{7m z#rdPN7=AAq`ci!S`_ah$x}rA0(78#ZR$VJg3aQHyp#7WyF@g{wF!{F;hD~5kKzu|JqH^m=`LWn zgHoq9adFq`bW8^vF2Tk&pvPu!0qa(`YZ(^1OL74dukFziJ^`^{6QTfeOl;l5S7^t7 zDFw-m_|3k=%mu?8F-P$&l@rF>mIcNs%rQr&_MSQG<0jMessJS*oc^O6~2J;sU&HdI{Q+%cQAE%|_jjlxDRlsa2&e z>2iZ;O080c4HkY&N^~)U#girMb zZ^tOyfzrdoF#D#X!?hl`=XE;JBH{j7+Ua=CriSMCiqPdQy<&NAB}lLRiggX^HgwOd z(Or|Qw!UQ0))F`^EuTGqa;aXbRF)LES`WKa=u}zo)7DjLAGhotwU5@zCD^lqD{`q( zQ(jse_VytOgI(;yCe=Z(W=W}(aivjGtK}eA(mO!Xk1dhbqnTYrj>6iys|X7O*VU07hdp7CP>jjP)tF3;Ddob^ubCqB4Z!LB5VJ0+`#h; z{SQ({QLhu)sA~hF?O(w&s9hoWCgva_RcclH-??*wQPGp1D%9_-I9htDBvId(e%M=6!Qc>zH z!>BY37#DAMI*}v-2@>U#B5(gz@8h3?m>T$nl~(kO&I$pOwec!#pZE_ z*`|)`pVn0^RpyVzm(Y)F{7ZvVH{ywvnqzONA6FDKYdp_`>DDbg8qc=?2;(@9IG%Up z$;OsVJLJ6u=a_Fa+sVUqtR_5GV14m+=HcO7;F@EkYT8vfsAc7HW$_Cur_cMxq--;3 zZ!{HJB`rfDDm)aJwM!~ds}hl$N>grB^d{A_TbbVoj&;n-9_iv1C<$P!^12xG3@}bz zW;0bbLmky%ww2^FM&7|#`P#Z+TWy>4FRe?`2~+p4;j>NZjBZpT25eZj@o9&LYPRBh z6pns}Bi-4_?LLj~Hez^w6I!;Zc^$~JpIcwA5Kk>&dI30?T@cR=6Q&wh=p_>-?xcjz z_%jMehtjtLt$^;?4jbIfyn}b1lEZl0!r8jH2LpO0*y*tz5XCq~j&%cf0iG?p2$tS$ zvwT;Qm5EUdNK%9VteE}Jr0^>OdZqAj;fVO3;B_bbK0G}6Qv2Y=x!Q-_8;=VstHMU( z<#f6Zvd_b5x9BVCc=OcH`$PJHyubR@?!*xvwVykAoeJlV3j(0jj!@a=B?2wS01Z(s z|J?H^we&Lt}&+bBeibKg9y_6CXTO_`ILD57w`LSvW5U8;@qh%$zs; z>X9Uf_*HVK6Y^FGU~v2cSq!S`2i8~Cgwg;IwJzj)+^^~-Hp7D*HM#$wStRB^2G9HW9eQHoPgYTJ62X{Q33FdHFx7T$@uN19H zc^%g_bqecn9e(#W zVd~)?g$2O80)Cz%+`5^B#RQ7Bkx*moqlxj(hHJ}K8D?>3=U_DaZ2T_>zatdB2alcp z`}w&&feiQyZ`?R2oR@@+H{^7hlVab-(`mni%$Y|Y^B_wYcTl&J2kJXB20&@Q{^9e} z;k@y=8#0?ETt5{^p~F>S^!F`|T)V!400yTR4rxg)5YkqN2Rb2U^bw2~!6=&+&u(Fu zjdh~ZaoYlelU}gCKG39%7(S1CHqlJivzfx%?3o0tPhfQO*PPgZM_?hGEk!MWx+)wg z2ZJOV=@zg*Zh|^Xhb43uQ`>T|KL8V*S*wg#pz>GHL6`3<+5(LUyHC;2y6+aG@(!=D zD~(c3tzk(imDNW6HTGJiRIM~{xzuc`V=uAiX{0$v`QeI_)Wb(*kMZ3v-GLU66(N*t z3TBLx@a4+caK7$-21c}*xKc(I08nqh)WXl*0;@#u!SYsJU{ym+y{Cx$k6``ZxBP=z zozmkc4}Al_*f=ku8rP8TP7X3T=2drQkQvoiKL2dBtRC@t@V{I+g2Q>#NZY#}el-7xQ7(nT(Xt$n@CW|zXKC8rRfEfyH^ z=qT^V+@Ue1#SLWTwBP=P?+Wa1m;HYBmDzB$;n4Mmh1FxDlb_TGBq^e)9x2yJOIGWW zT!HRYQL2X2WGAOrt6Hr=)Ur`+Rd+;j{g}kGtyR2v(7S!f%U5^%!AHqm2^)HBSfDJ8 zj2?m@>Dg+y7%|X%)3#4Ev_ugrbWdH7UOmM~VyCR7ggh8*EeZJfOmALDXDD7~plyu( zv~8)8^drp1CkBBv33in8K)%2C(|~R2m!?!nQ&%LlMw@UGf()yIt%fSeGOdBhex+Wn z5x*dBYc(s|0Phxb8%f2gpOj(IJYha7Ex7}%h1O`btlbKm=8T9Uh z)q;p(F!nQ30_=w#ZA>sQm~p{YlpO)%N3}^9jkeLQShi+je?dRcGBWc3w)7vZZ(NDZ zT>CbosUC4nCLH){9l_E`A9nSE8wN`O_+u+1jIegZg_QPm)9`w3utegU3cxyvzvpn1 zFp;s5Cr>$UJ^lxVzN}Dgew-|jo8R?lc c-`WP4EhPY!nNeA}=c!Df1scQ -# -# Copyright (c) 2012 Tom Kralidis -# -# Permission is hereby granted, free of charge, to any person -# obtaining a copy of this software and associated documentation -# files (the "Software"), to deal in the Software without -# restriction, including without limitation the rights to use, -# copy, modify, merge, publish, distribute, sublicense, and/or sell -# copies of the Software, and to permit persons to whom the -# Software is furnished to do so, subject to the following -# conditions: -# -# The above copyright notice and this permission notice shall be -# included in all copies or substantial portions of the Software. -# -# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -# EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES -# OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -# NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT -# HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, -# WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING -# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR -# OTHER DEALINGS IN THE SOFTWARE. -# -# ================================================================= - -[server] -home=. -url=http://localhost/pycsw/csw.py?config=tests/suites/cite/default.cfg -mimetype=application/xml; charset=UTF-8 -encoding=UTF-8 -language=en-US -#maxrecords=10 -federatedcatalogues=http://geo.data.gov/geoportal/csw/discovery -pretty_print=true -#spatial_ranking=true -gzip_compresslevel=9 - -[manager] -transactions=true -allowed_ips=127.0.0.1 -csw_harvest_pagination_size=10 - -[metadata:main] -identification_title=pycsw Geospatial Catalogue -identification_abstract=pycsw is an OGC CSW server implementation written in Python -identification_keywords=catalogue,discovery -identification_keywords_type=theme -identification_fees=None -identification_accessconstraints=None -provider_name=pycsw -provider_url=http://pycsw.org/ -contact_name=Kralidis, Tom -contact_position=Senior Systems Scientist -contact_address=TBA -contact_city=Toronto -contact_stateorprovince=Ontario -contact_postalcode=M9C 3Z9 -contact_country=Canada -contact_phone=+01-416-xxx-xxxx -contact_fax=+01-416-xxx-xxxx -contact_email=tomkralidis@gmail.com -contact_url=http://kralidis.ca/ -contact_hours=0800h - 1600h EST -contact_instructions=During hours of service. Off on weekends. -contact_role=pointOfContact - -[repository] -# sqlite -database=sqlite:///tests/suites/cite/data/records.db -table=records - -[metadata:inspire] -#enabled=true -languages_supported=eng,gre -default_language=eng -date=2011-03-29 -gemet_keywords=Utility and governmental services -conformity_service=notEvaluated -contact_name=National Technical University of Athens -contact_email=tzotsos@gmail.com -temp_extent=2011-02-01/2011-03-30 - diff --git a/tests/suites/cite/get/requests.txt b/tests/suites/cite/get/requests.txt deleted file mode 100644 index 271982886..000000000 --- a/tests/suites/cite/get/requests.txt +++ /dev/null @@ -1,22 +0,0 @@ -27e17158-c57a-4493-92ac-dba8934cf462,service=CSW&version=2.0.2&request=GetCapabilities -27f69b66-5f05-4311-a89c-73ca55c2686b,Service=CSW&Version=2.0.2&Request=GetRecordById&ElementSetName=brief&ID=urn%3Auuid%3A19887a8a-f6b0-4a63-ae56-7fba0e17801f -2ab7d1fa-885b-459f-80e4-b6282eab4f8c,service=CSW&request=GetCapabilities&acceptversions=2.0.2&date=2006-10-20 -37aa90e2-6ff0-420c-af15-8b9463099a73,service=CSW&version=2.0.2&request=GetRecordById&id=urn%3Auuid%3A9a669547-b69b-469f-a11f-2d875366bbdc -3a8a3c47-455f-4f49-9078-03119f3e70b3,service=CSW&request=GetCapabilities&acceptformats=message/example -4515831f-834a-4699-95f6-ab0c2cbfcfd0,service=CSW&version=2.0.2&request=GetRecordById -477b23a3-baa9-47c8-9541-5fe27735ed49,service=CSW&request=GetCapabilities§ions= -48f26761-3a9d-48db-bee1-da089f5fb857,sErViCe=CSW&REQUEST=GetCapabilities&version=2.0.2 -4e38092f-1586-44b8-988e-0acfa5855916,Service=CSW&Version=2.0.2&Request=GetRecordById&OutputFormat=application/bogus_xml&id=urn:uuid:a06af396-3105-442d-8b40-22b57a90d2f2,urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f,urn:uuid:ab42a8c4-95e8-4630-bf79-33e59241605a -55c38f00-2553-42c1-99ab-33edbb561ad7,service=CSW&request=GetCapabilities§ions=OperationsMetadata,ServiceIdentification -5ab5db18-c87a-4fbf-a8d8-b7289b09ac81,service=FOO&request=GetCapabilities -6a4f57ca-a1bd-4802-89c2-44860dbdb0f0,service=CSW&version=2.0.2&request=GetRecordById&id=urn:uuid:ce8627a0-685c-11db-bd13-0800200c9a66,urn:uuid:6a3de50b-fa66-4b58-a0e6-ca146fdd18d4 -6c375703-9c00-4aef-bec7-d2e964f849eb,Service=CSW&Version=2.0.2&Request=GetRecordById&OutputSchema=http://www.w3.org/2005/Atom&Id=urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f -80f31def-4185-48b9-983a-960566918eae,service=CSW&request=GetCapabilities -8e2232ed-05d9-44ae-8b04-0911cbe6a507,SERVICE=CSW&REQUEST=GetCapabilities&ACCEPTVERSIONS=2006.10.29 -9697f0aa-3b6a-4125-83a5-61e8826127c4,service=CSW&request=GetCapabilities -9bfd17fa-15dc-4a10-8fa7-b3cff7013dd7,Service=CSW&Version=2.0.2&Request=GetRecordById&ElementSetName=full&ID=urn%3Auuid%3Ae9330592-0932-474b-be34-c3a3bb67c7db -b81c3595-06d6-4693-82ea-1ff8650755ac,service=CSW&version=2.0.2&request=GetRecordById&id=urn:uuid:ce8627a0-685c-11db-bd13-0800200c9a66 -ba5fc729-3b71-47a0-b7d0-42ec565cd185,SERVICE=CSW&REQUEST=GetCapabilities&ACCEPTVERSIONS=2.0.2,2.0.0 -c4ea754f-c158-4d8d-8253-dc8f86021b52,request=GetCapabilities -f4692ec5-9547-4a05-88ab-e6154af2640a,service=CSW&version=2.0.2&request=GetCapabilities -f997f25e-c865-4d53-a362-0ed1846337f2,service=CSW&version=2.0.2&request=GetRecordById&id=urn:uuid:94bc9c83-97f6-4b40-9eb8-a8e8787a5c63 diff --git a/tests/suites/cite/post/0c976d98-c896-4b10-b1fe-a22ef50434e7.xml b/tests/suites/cite/post/0c976d98-c896-4b10-b1fe-a22ef50434e7.xml deleted file mode 100644 index c73f51141..000000000 --- a/tests/suites/cite/post/0c976d98-c896-4b10-b1fe-a22ef50434e7.xml +++ /dev/null @@ -1,20 +0,0 @@ - - - - dc:identifier - ows:BoundingBox - - - - - ows:BoundingBox - - 60.0 12.0 - 70.0 20.0 - - - - - - - diff --git a/tests/suites/cite/post/19d2a6ed-be28-4866-ae15-e3bb634486cb.xml b/tests/suites/cite/post/19d2a6ed-be28-4866-ae15-e3bb634486cb.xml deleted file mode 100644 index 6823bcfce..000000000 --- a/tests/suites/cite/post/19d2a6ed-be28-4866-ae15-e3bb634486cb.xml +++ /dev/null @@ -1,20 +0,0 @@ - - - - brief - - - - dc:title - Fuscé vitae ligulä - - - - - - dc:format - DESC - - - - diff --git a/tests/suites/cite/post/1ab55aa3-6685-4595-8ecd-45987a7b8b59.xml b/tests/suites/cite/post/1ab55aa3-6685-4595-8ecd-45987a7b8b59.xml deleted file mode 100644 index cd46b042d..000000000 --- a/tests/suites/cite/post/1ab55aa3-6685-4595-8ecd-45987a7b8b59.xml +++ /dev/null @@ -1,14 +0,0 @@ - - - - full - - - - csw:AnyText - *lorem* - - - - - diff --git a/tests/suites/cite/post/1c958b7a-ca09-4c38-98bd-ef1d1d28cc14.xml b/tests/suites/cite/post/1c958b7a-ca09-4c38-98bd-ef1d1d28cc14.xml deleted file mode 100644 index dabb279ee..000000000 --- a/tests/suites/cite/post/1c958b7a-ca09-4c38-98bd-ef1d1d28cc14.xml +++ /dev/null @@ -1,6 +0,0 @@ - - - - summary - - diff --git a/tests/suites/cite/post/1c97fc1a-61cd-4c1d-8054-933e17a6c5ee.xml b/tests/suites/cite/post/1c97fc1a-61cd-4c1d-8054-933e17a6c5ee.xml deleted file mode 100644 index d2e53427e..000000000 --- a/tests/suites/cite/post/1c97fc1a-61cd-4c1d-8054-933e17a6c5ee.xml +++ /dev/null @@ -1,14 +0,0 @@ - - - - brief - - - - /dc:title - *lorem* - - - - - diff --git a/tests/suites/cite/post/2102a460-5d62-465f-9668-d70b3faafbfa.xml b/tests/suites/cite/post/2102a460-5d62-465f-9668-d70b3faafbfa.xml deleted file mode 100644 index da787a01f..000000000 --- a/tests/suites/cite/post/2102a460-5d62-465f-9668-d70b3faafbfa.xml +++ /dev/null @@ -1,14 +0,0 @@ - - - - brief - - - - dc:subject - pHYSIOGRAPHy - - - - - diff --git a/tests/suites/cite/post/225f455a-0035-486b-a94e-fee7ae881b2b.xml b/tests/suites/cite/post/225f455a-0035-486b-a94e-fee7ae881b2b.xml deleted file mode 100644 index d83d4883e..000000000 --- a/tests/suites/cite/post/225f455a-0035-486b-a94e-fee7ae881b2b.xml +++ /dev/null @@ -1,16 +0,0 @@ - - - - dc:identifier - dc:type - dc:date - - - - dc:date - 2006-03-26 - - - - - diff --git a/tests/suites/cite/post/2d53ffea-60e4-4652-abf5-36eb23042fd5.xml b/tests/suites/cite/post/2d53ffea-60e4-4652-abf5-36eb23042fd5.xml deleted file mode 100644 index 19bb2e0a6..000000000 --- a/tests/suites/cite/post/2d53ffea-60e4-4652-abf5-36eb23042fd5.xml +++ /dev/null @@ -1,6 +0,0 @@ - - - - brief - - diff --git a/tests/suites/cite/post/34a019a9-1581-42cb-9827-fbfdda2773b7.xml b/tests/suites/cite/post/34a019a9-1581-42cb-9827-fbfdda2773b7.xml deleted file mode 100644 index 4451d7c05..000000000 --- a/tests/suites/cite/post/34a019a9-1581-42cb-9827-fbfdda2773b7.xml +++ /dev/null @@ -1,6 +0,0 @@ - - - - brief - - diff --git a/tests/suites/cite/post/3e76fd38-e035-41c9-83dc-61356f680c97.xml b/tests/suites/cite/post/3e76fd38-e035-41c9-83dc-61356f680c97.xml deleted file mode 100644 index cfa0b1c60..000000000 --- a/tests/suites/cite/post/3e76fd38-e035-41c9-83dc-61356f680c97.xml +++ /dev/null @@ -1,4 +0,0 @@ - - - csw:Record - diff --git a/tests/suites/cite/post/418a6fb0-a89c-4a94-afc9-3f8168eb2980.xml b/tests/suites/cite/post/418a6fb0-a89c-4a94-afc9-3f8168eb2980.xml deleted file mode 100644 index 84a7fc7de..000000000 --- a/tests/suites/cite/post/418a6fb0-a89c-4a94-afc9-3f8168eb2980.xml +++ /dev/null @@ -1,25 +0,0 @@ - - - - dc:identifier - dc:date - ows:BoundingBox - - - - - ows:BoundingBox - - 47.0 -4.5 - 52.0 1.0 - - - - dc:date - 2006-01-01 - - - - - - diff --git a/tests/suites/cite/post/420b745e-0c4b-404e-9f2d-61fa580ff05a.xml b/tests/suites/cite/post/420b745e-0c4b-404e-9f2d-61fa580ff05a.xml deleted file mode 100644 index f31dca0ba..000000000 --- a/tests/suites/cite/post/420b745e-0c4b-404e-9f2d-61fa580ff05a.xml +++ /dev/null @@ -1,16 +0,0 @@ - - - - dc:identifier - dc:type - dc:date - - - - dc:date - 2004-01-01 - - - - - diff --git a/tests/suites/cite/post/4735d649-a2b1-42fd-a101-14e1d7e4607f.xml b/tests/suites/cite/post/4735d649-a2b1-42fd-a101-14e1d7e4607f.xml deleted file mode 100644 index 44672f629..000000000 --- a/tests/suites/cite/post/4735d649-a2b1-42fd-a101-14e1d7e4607f.xml +++ /dev/null @@ -1,6 +0,0 @@ - - - - summary - - diff --git a/tests/suites/cite/post/5c5861bc-f742-40a5-9998-5342615d674b.xml b/tests/suites/cite/post/5c5861bc-f742-40a5-9998-5342615d674b.xml deleted file mode 100644 index b127a7dcf..000000000 --- a/tests/suites/cite/post/5c5861bc-f742-40a5-9998-5342615d674b.xml +++ /dev/null @@ -1,14 +0,0 @@ - - - - full - - - - csw:AnyText - *lorem* - - - - - diff --git a/tests/suites/cite/post/6e736fd0-c266-4852-9eb3-0656f5d0f5c4.xml b/tests/suites/cite/post/6e736fd0-c266-4852-9eb3-0656f5d0f5c4.xml deleted file mode 100644 index 28e25bfaf..000000000 --- a/tests/suites/cite/post/6e736fd0-c266-4852-9eb3-0656f5d0f5c4.xml +++ /dev/null @@ -1,6 +0,0 @@ - - - - summary - - diff --git a/tests/suites/cite/post/73f1551c-e269-4ef9-9dae-e535b5eebfc7.xml b/tests/suites/cite/post/73f1551c-e269-4ef9-9dae-e535b5eebfc7.xml deleted file mode 100644 index 160cf6d18..000000000 --- a/tests/suites/cite/post/73f1551c-e269-4ef9-9dae-e535b5eebfc7.xml +++ /dev/null @@ -1,14 +0,0 @@ - - - - full - - - - dc:date - 200?-10-* - - - - - diff --git a/tests/suites/cite/post/78297c88-4850-4927-adc6-511cd9a3d539.xml b/tests/suites/cite/post/78297c88-4850-4927-adc6-511cd9a3d539.xml deleted file mode 100644 index 5b0e1b92c..000000000 --- a/tests/suites/cite/post/78297c88-4850-4927-adc6-511cd9a3d539.xml +++ /dev/null @@ -1,2 +0,0 @@ - - \ No newline at end of file diff --git a/tests/suites/cite/post/7c89cdf5-0def-4cfb-8c55-2b8ffea5d92f.xml b/tests/suites/cite/post/7c89cdf5-0def-4cfb-8c55-2b8ffea5d92f.xml deleted file mode 100644 index 0ea98491e..000000000 --- a/tests/suites/cite/post/7c89cdf5-0def-4cfb-8c55-2b8ffea5d92f.xml +++ /dev/null @@ -1,6 +0,0 @@ - - - - summary - - diff --git a/tests/suites/cite/post/7e2cd105-daec-4d25-bc8e-d49d21364912.xml b/tests/suites/cite/post/7e2cd105-daec-4d25-bc8e-d49d21364912.xml deleted file mode 100644 index 81865e378..000000000 --- a/tests/suites/cite/post/7e2cd105-daec-4d25-bc8e-d49d21364912.xml +++ /dev/null @@ -1,4 +0,0 @@ - - - csw:DummyRecord - diff --git a/tests/suites/cite/post/87f2f670-9cd6-4907-b82c-1b46a7dd2a78.xml b/tests/suites/cite/post/87f2f670-9cd6-4907-b82c-1b46a7dd2a78.xml deleted file mode 100644 index 4c03f7935..000000000 --- a/tests/suites/cite/post/87f2f670-9cd6-4907-b82c-1b46a7dd2a78.xml +++ /dev/null @@ -1,8 +0,0 @@ - - - - dc:identifier - dc:type - dc:date - - diff --git a/tests/suites/cite/post/88b4e1ba-3bd4-4cbe-81e5-e004056d6ca3.xml b/tests/suites/cite/post/88b4e1ba-3bd4-4cbe-81e5-e004056d6ca3.xml deleted file mode 100644 index b683c9954..000000000 --- a/tests/suites/cite/post/88b4e1ba-3bd4-4cbe-81e5-e004056d6ca3.xml +++ /dev/null @@ -1,4 +0,0 @@ - - - csw:Record - diff --git a/tests/suites/cite/post/898cd63b-2585-4ec0-8720-d554bd324174.xml b/tests/suites/cite/post/898cd63b-2585-4ec0-8720-d554bd324174.xml deleted file mode 100644 index 6c0e09407..000000000 --- a/tests/suites/cite/post/898cd63b-2585-4ec0-8720-d554bd324174.xml +++ /dev/null @@ -1,20 +0,0 @@ - - - - summary - - - - - dc:format - image/* - - - dc:relation - urn:uuid:9a669547-b69b-469f-a11f-2d875366bbdc - - - - - - diff --git a/tests/suites/cite/post/8fb13dc3-5818-45e2-9e29-46abc16e7d38.xml b/tests/suites/cite/post/8fb13dc3-5818-45e2-9e29-46abc16e7d38.xml deleted file mode 100644 index 9a4bd54d6..000000000 --- a/tests/suites/cite/post/8fb13dc3-5818-45e2-9e29-46abc16e7d38.xml +++ /dev/null @@ -1,20 +0,0 @@ - - - - dc:identifier - ows:BoundingBox - - - - - ows:BoundingBox - - 60.0 12.0 - 70.0 20.0 - - - - - - - diff --git a/tests/suites/cite/post/928c1896-52d4-4ac7-9832-f98e3eb65f02.xml b/tests/suites/cite/post/928c1896-52d4-4ac7-9832-f98e3eb65f02.xml deleted file mode 100644 index d1d69e9cd..000000000 --- a/tests/suites/cite/post/928c1896-52d4-4ac7-9832-f98e3eb65f02.xml +++ /dev/null @@ -1,16 +0,0 @@ - - - - dc:identifier - dc:type - dc:date - - - - dc:date - 2005-10-24 - - - - - diff --git a/tests/suites/cite/post/93bdbb9d-2734-4f01-92fb-48634cca41de.xml b/tests/suites/cite/post/93bdbb9d-2734-4f01-92fb-48634cca41de.xml deleted file mode 100644 index f2389b702..000000000 --- a/tests/suites/cite/post/93bdbb9d-2734-4f01-92fb-48634cca41de.xml +++ /dev/null @@ -1,18 +0,0 @@ - - - - dc:identifier - ows:BoundingBox - - - - /ows:BoundingBox - - 47.0 -4.5 - 52.0 1.0 - - - - - - diff --git a/tests/suites/cite/post/948b39d5-bb4f-45b8-a8f2-4ff9501aaedd.xml b/tests/suites/cite/post/948b39d5-bb4f-45b8-a8f2-4ff9501aaedd.xml deleted file mode 100644 index 14c9935af..000000000 --- a/tests/suites/cite/post/948b39d5-bb4f-45b8-a8f2-4ff9501aaedd.xml +++ /dev/null @@ -1,14 +0,0 @@ - - - - dc:identifier - dc:type - dc:date - - - dc:date - DESC - - - - diff --git a/tests/suites/cite/post/9fd64fcc-f69c-4626-b72e-5c7776a29aa9.xml b/tests/suites/cite/post/9fd64fcc-f69c-4626-b72e-5c7776a29aa9.xml deleted file mode 100644 index c90f2b69e..000000000 --- a/tests/suites/cite/post/9fd64fcc-f69c-4626-b72e-5c7776a29aa9.xml +++ /dev/null @@ -1,4 +0,0 @@ - - - Record - diff --git a/tests/suites/cite/post/a06d04ab-e0d0-4a86-bfe8-71460f41fe37.xml b/tests/suites/cite/post/a06d04ab-e0d0-4a86-bfe8-71460f41fe37.xml deleted file mode 100644 index 19bb2e0a6..000000000 --- a/tests/suites/cite/post/a06d04ab-e0d0-4a86-bfe8-71460f41fe37.xml +++ /dev/null @@ -1,6 +0,0 @@ - - - - brief - - diff --git a/tests/suites/cite/post/ad61686c-d304-42d1-b845-8c1f3070c83e.xml b/tests/suites/cite/post/ad61686c-d304-42d1-b845-8c1f3070c83e.xml deleted file mode 100644 index 843265b2d..000000000 --- a/tests/suites/cite/post/ad61686c-d304-42d1-b845-8c1f3070c83e.xml +++ /dev/null @@ -1,14 +0,0 @@ - - - - brief - - - - dc:title - Maecenas enim - - - - - diff --git a/tests/suites/cite/post/af39c020-7b1d-429c-b474-f45c3164cb79.xml b/tests/suites/cite/post/af39c020-7b1d-429c-b474-f45c3164cb79.xml deleted file mode 100644 index 50566b7fb..000000000 --- a/tests/suites/cite/post/af39c020-7b1d-429c-b474-f45c3164cb79.xml +++ /dev/null @@ -1,14 +0,0 @@ - - - - summary - - - - dc:title - Lorem ipsum* - - - - - diff --git a/tests/suites/cite/post/b90e2de6-3d25-4298-a13e-dc9492a8fc73.xml b/tests/suites/cite/post/b90e2de6-3d25-4298-a13e-dc9492a8fc73.xml deleted file mode 100644 index aa555faa6..000000000 --- a/tests/suites/cite/post/b90e2de6-3d25-4298-a13e-dc9492a8fc73.xml +++ /dev/null @@ -1,16 +0,0 @@ - - - - summary - - - - - dc:title - Lorem ipsum* - - - - - - diff --git a/tests/suites/cite/post/ba9b0107-dcee-46ef-823a-a2e25a911a96.xml b/tests/suites/cite/post/ba9b0107-dcee-46ef-823a-a2e25a911a96.xml deleted file mode 100644 index 53e552d24..000000000 --- a/tests/suites/cite/post/ba9b0107-dcee-46ef-823a-a2e25a911a96.xml +++ /dev/null @@ -1,20 +0,0 @@ - - - - summary - - - - - dc:format - application/*xml - - - dc:type - http://purl.org/dc/dcmitype/Image - - - - - - diff --git a/tests/suites/cite/post/bb66ebc5-7121-48b5-9f53-b56537d9561b.xml b/tests/suites/cite/post/bb66ebc5-7121-48b5-9f53-b56537d9561b.xml deleted file mode 100644 index 873cda46f..000000000 --- a/tests/suites/cite/post/bb66ebc5-7121-48b5-9f53-b56537d9561b.xml +++ /dev/null @@ -1,27 +0,0 @@ - - - - dc:identifier - dc:type - ows:BoundingBox - - - - - - ows:BoundingBox - - 40.0 -9.0 - 50.0 -5.0 - - - - - dc:type - HTTP://purl.org/dc/dcmitype/dataset - - - - - - diff --git a/tests/suites/cite/post/c02d1c85-df9f-45ee-bea7-345c35e02a98.xml b/tests/suites/cite/post/c02d1c85-df9f-45ee-bea7-345c35e02a98.xml deleted file mode 100644 index dde6f18da..000000000 --- a/tests/suites/cite/post/c02d1c85-df9f-45ee-bea7-345c35e02a98.xml +++ /dev/null @@ -1,16 +0,0 @@ - - - - brief - - - - dc:title - - input.argument - - - - - - diff --git a/tests/suites/cite/post/c311a342-72e3-4983-be39-868e6ed9740f.xml b/tests/suites/cite/post/c311a342-72e3-4983-be39-868e6ed9740f.xml deleted file mode 100644 index 52008563a..000000000 --- a/tests/suites/cite/post/c311a342-72e3-4983-be39-868e6ed9740f.xml +++ /dev/null @@ -1,4 +0,0 @@ - - - csw:Record - diff --git a/tests/suites/cite/post/c38916c2-4bc6-446d-b7aa-ab006d6ba31c.xml b/tests/suites/cite/post/c38916c2-4bc6-446d-b7aa-ab006d6ba31c.xml deleted file mode 100644 index b58e172a0..000000000 --- a/tests/suites/cite/post/c38916c2-4bc6-446d-b7aa-ab006d6ba31c.xml +++ /dev/null @@ -1,25 +0,0 @@ - - - - dc:identifier - dc:date - ows:BoundingBox - - - - - ows:BoundingBox - - 47.0 -4.5 - 52.0 1.0 - - - - dc:date - 2006-01-01 - - - - - - diff --git a/tests/suites/cite/post/c8588f47-8e65-45f5-ad34-ff4524cad84d.xml b/tests/suites/cite/post/c8588f47-8e65-45f5-ad34-ff4524cad84d.xml deleted file mode 100644 index 0b55fed66..000000000 --- a/tests/suites/cite/post/c8588f47-8e65-45f5-ad34-ff4524cad84d.xml +++ /dev/null @@ -1,17 +0,0 @@ - - - - brief - - - - dct:spatial - - 47.0 -4.5 - 52.0 1.0 - - - - - - diff --git a/tests/suites/cite/post/da228d4c-e1be-43d7-9ccb-c3f27ee32541.xml b/tests/suites/cite/post/da228d4c-e1be-43d7-9ccb-c3f27ee32541.xml deleted file mode 100644 index a694ce4e5..000000000 --- a/tests/suites/cite/post/da228d4c-e1be-43d7-9ccb-c3f27ee32541.xml +++ /dev/null @@ -1,14 +0,0 @@ - - - - summary - - - - /dc:title - *lorem* - - - - - diff --git a/tests/suites/cite/post/dc92c2c4-87d8-4a13-964e-ff9b0e0c27b3.xml b/tests/suites/cite/post/dc92c2c4-87d8-4a13-964e-ff9b0e0c27b3.xml deleted file mode 100644 index de0ae7a91..000000000 --- a/tests/suites/cite/post/dc92c2c4-87d8-4a13-964e-ff9b0e0c27b3.xml +++ /dev/null @@ -1,16 +0,0 @@ - - - - dc:identifier - dc:type - dc:date - - - - dc:date - 2006-05-01 - - - - - diff --git a/tests/suites/cite/post/dcb13791-379e-4739-bcd4-dbaa69f0efdb.xml b/tests/suites/cite/post/dcb13791-379e-4739-bcd4-dbaa69f0efdb.xml deleted file mode 100644 index 81aea41d7..000000000 --- a/tests/suites/cite/post/dcb13791-379e-4739-bcd4-dbaa69f0efdb.xml +++ /dev/null @@ -1,6 +0,0 @@ - - - - brief - - diff --git a/tests/suites/cite/post/e308f030-c097-4036-a838-44bad74c9ef7.xml b/tests/suites/cite/post/e308f030-c097-4036-a838-44bad74c9ef7.xml deleted file mode 100644 index 19bb2e0a6..000000000 --- a/tests/suites/cite/post/e308f030-c097-4036-a838-44bad74c9ef7.xml +++ /dev/null @@ -1,6 +0,0 @@ - - - - brief - - diff --git a/tests/suites/cite/post/e6e9efb2-e2b7-4b0a-a3a2-7deea3f9b8e2.xml b/tests/suites/cite/post/e6e9efb2-e2b7-4b0a-a3a2-7deea3f9b8e2.xml deleted file mode 100644 index 6dc06f199..000000000 --- a/tests/suites/cite/post/e6e9efb2-e2b7-4b0a-a3a2-7deea3f9b8e2.xml +++ /dev/null @@ -1,12 +0,0 @@ - - - - brief - - - dc:identifier - ASC - - - - diff --git a/tests/suites/cite/post/f7976c55-a156-4421-8199-bc0487da4b0f.xml b/tests/suites/cite/post/f7976c55-a156-4421-8199-bc0487da4b0f.xml deleted file mode 100644 index 52008563a..000000000 --- a/tests/suites/cite/post/f7976c55-a156-4421-8199-bc0487da4b0f.xml +++ /dev/null @@ -1,4 +0,0 @@ - - - csw:Record - diff --git a/tests/suites/cite/post/f7d79701-f10b-4087-a33c-f62df0a04fd1.xml b/tests/suites/cite/post/f7d79701-f10b-4087-a33c-f62df0a04fd1.xml deleted file mode 100644 index 19bb2e0a6..000000000 --- a/tests/suites/cite/post/f7d79701-f10b-4087-a33c-f62df0a04fd1.xml +++ /dev/null @@ -1,6 +0,0 @@ - - - - brief - - diff --git a/tests/suites/cite/post/fc1bc094-88f1-4851-bc2b-dfc56be9f3c7.xml b/tests/suites/cite/post/fc1bc094-88f1-4851-bc2b-dfc56be9f3c7.xml deleted file mode 100644 index 186beb174..000000000 --- a/tests/suites/cite/post/fc1bc094-88f1-4851-bc2b-dfc56be9f3c7.xml +++ /dev/null @@ -1,14 +0,0 @@ - - - - brief - - - - dc:title - Fuscé vitae ligulä - - - - - diff --git a/tests/suites/cite/post/fe20960f-a26c-4f13-852d-470a0d3233f9.xml b/tests/suites/cite/post/fe20960f-a26c-4f13-852d-470a0d3233f9.xml deleted file mode 100644 index d011b2e68..000000000 --- a/tests/suites/cite/post/fe20960f-a26c-4f13-852d-470a0d3233f9.xml +++ /dev/null @@ -1,14 +0,0 @@ - - - - brief - - - - dc:subject - pHYSIOGRAPHy - - - - - diff --git a/tests/suites/csw30/default.cfg b/tests/suites/csw30/default.cfg deleted file mode 100644 index 328045bb4..000000000 --- a/tests/suites/csw30/default.cfg +++ /dev/null @@ -1,90 +0,0 @@ -# ================================================================= -# -# Authors: Tom Kralidis -# -# Copyright (c) 2011 Tom Kralidis -# -# Permission is hereby granted, free of charge, to any person -# obtaining a copy of this software and associated documentation -# files (the "Software"), to deal in the Software without -# restriction, including without limitation the rights to use, -# copy, modify, merge, publish, distribute, sublicense, and/or sell -# copies of the Software, and to permit persons to whom the -# Software is furnished to do so, subject to the following -# conditions: -# -# The above copyright notice and this permission notice shall be -# included in all copies or substantial portions of the Software. -# -# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -# EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES -# OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -# NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT -# HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, -# WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING -# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR -# OTHER DEALINGS IN THE SOFTWARE. -# -# ================================================================= - -[server] -home=. -url=http://localhost/pycsw/csw.py?config=tests/suites/csw30/default.cfg -mimetype=application/xml; charset=UTF-8 -encoding=UTF-8 -language=en-US -maxrecords=10 -#loglevel=DEBUG -#logfile=/tmp/pycsw.log -#ogc_schemas_base=http://foo -federatedcatalogues=http://demo.pycsw.org/gisdata/csw -pretty_print=true -#gzip_compresslevel=8 -#spatial_ranking=true - -[manager] -transactions=false -allowed_ips=127.0.0.1 - -[metadata:main] -identification_title=pycsw Geospatial Catalogue -identification_abstract=pycsw is an OGC CSW server implementation written in Python -identification_keywords=catalogue,discovery -identification_keywords_type=theme -identification_fees=None -identification_accessconstraints=None -provider_name=pycsw -provider_url=http://pycsw.org/ -contact_name=Kralidis, Tom -contact_position=Senior Systems Scientist -contact_address=TBA -contact_city=Toronto -contact_stateorprovince=Ontario -contact_postalcode=M9C 3Z9 -contact_country=Canada -contact_phone=+01-416-xxx-xxxx -contact_fax=+01-416-xxx-xxxx -contact_email=tomkralidis@gmail.com -contact_url=http://kralidis.ca/ -contact_hours=0800h - 1600h EST -contact_instructions=During hours of service. Off on weekends. -contact_role=pointOfContact - -[repository] -# sqlite -database=sqlite:///tests/suites/cite/data/records.db -# postgres -#database=postgres://username:password@localhost/pycsw -table=records - -[metadata:inspire] -enabled=false -languages_supported=eng,gre -default_language=eng -date=2011-03-29 -gemet_keywords=Utility and governmental services -conformity_service=notEvaluated -contact_name=National Technical University of Athens -contact_email=tzotsos@gmail.com -temp_extent=2011-02-01/2011-03-30 - diff --git a/tests/suites/csw30/get/requests.txt b/tests/suites/csw30/get/requests.txt deleted file mode 100644 index 57b9acf43..000000000 --- a/tests/suites/csw30/get/requests.txt +++ /dev/null @@ -1,82 +0,0 @@ -GetCapabilities-base-url, -GetCapabilities-no-version,service=CSW&request=GetCapabilities -GetCapabilities,service=CSW&version=3.0.0&request=GetCapabilities -Exception-invalid-request,service=CSW&version=3.0.0&request=GetCapabilities-foo -Exception-GetDomain,service=CSW&version=3.0.0&request=GetDomain -GetDomain-parameter,service=CSW&version=3.0.0&request=GetDomain¶metername=GetRecords.ElementSetName -GetDomain-value-reference,service=CSW&version=3.0.0&request=GetDomain&valuereference=dc:title -Exception-GetDomain-value-reference,service=CSW&version=3.0.0&request=GetDomain&valuereference=dc:title2 -Exception-GetRecordById-dc.xml,service=CSW&version=3.0.0&request=GetRecordById&id=urn:uuid:829babb0-b2f1-49e1-8cd5-7b489fe71a1e -Exception-GetRecordById-404,service=CSW&version=3.0.0&request=GetRecordById&id=does_not_exist2 -OpenSearch-description,mode=opensearch&service=CSW&version=3.0.0&request=GetCapabilities -GetRepositoryItem,service=CSW&version=3.0.0&request=GetRepositoryItem&id=urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f -Exception-GetRepositoryItem-notfound,service=CSW&version=3.0.0&request=GetRepositoryItem&id=NOTFOUND -002258f0-627f-457f-b2ad-025777c77ac8,mode=opensearch&service=CSW&version=3.0.0&request=GetCapabilities -045c600d-973d-41eb-9f60-eba1b717b720,mode=opensearch&service=CSW&version=3.0.0&request=GetRecords&elementsetname=full&typenames=csw:Record&resulttype=results&q=Fusc%C3%A9%20Land&bbox=&time=/&outputformat=application/atom%2Bxml&startposition=1&maxrecords=&recordids= -0bbcf862-5211-4351-9988-63f8bec49c98,elementSetName=summary&outputFormat=application/atom%2Bxml&request=GetRecords&service=CSW&typeNames=Record&version=3.0.0 -0bdf8457-971e-4ed1-be4a-5feca4dcd8fa, -0d8bbdec-0846-42ca-8dc8-b7f4cba41d67,elementName=tns:title&request=GetRecords&service=CSW&typeNames=Record&namespace=xmlns(tns%3Dhttp://purl.org/dc/elements/1.1/)&version=3.0.0 -0e1dca37-477a-4060-99fe-7799b52d656c,mode=opensearch&service=CSW&version=3.0.0&request=GetRecords&elementsetname=full&typenames=csw:Record&resulttype=results&q=lpppclq&bbox=&time=/&outputformat=application/atom%2Bxml&startposition=1&maxrecords=&recordids= -13c87956-51a4-4780-a8e9-6e0b5c0bb473,elementSetName=full&maxRecords=20&request=GetRecords&service=CSW&typeNames=Record&version=3.0.0 -151d982f-ebd3-4cb2-b507-a667713a1e92,acceptFormats=model/x3d%2Bxml&acceptVersions=3.0.0&request=GetCapabilities&service=CSW -1869e495-1a61-4713-8285-76d1336ee1a6,acceptVersions=3.0.0&request=GetCapabilities -1bcb42a9-538c-4f0a-9d4c-d6f10b720aa6,request=GetRecordById&service=CSW&version=3.0.0 -22f44168-2ccf-4801-ad96-204212566d56, -2499a9c9-8d33-449c-bc92-d494adfcc84d,acceptVersions=3.0.0§ions=All&request=GetCapabilities&service=CSW -27f4f39c-d92a-4e3c-b961-c6aa8c24e513,acceptFormats=application/xml&acceptVersions=3.0.0&request=GetCapabilities&service=CSW -28e569df-8596-4128-8d9a-29ad03138915,id=urn:uuid:a06af396-3105-442d-8b40-22b57a90d2f2&request=GetRecordById&service=CSW&version=3.0.0 -2b06a5c8-0df2-4af1-8d2e-a425de11c845, -2ba1418a-444d-4cce-9cfe-4c94efcf8b55,maxRecords=2&elementSetName=summary&outputFormat=application/atom%2Bxml&request=GetRecords&service=CSW&typeNames=csw3:Record&startPosition=3&namespace=xmlns(csw3%3Dhttp://www.opengis.net/cat/csw/3.0)&version=3.0.0 -397fe17a-d5b4-4f96-8cc4-4ce467ed4d0a,service=CSW&version=3.0.0&request=GetRecords&elementsetname=full&typenames=csw:Record&resulttype=results&q=ipsum&bbox=&time=/&outputformat=application/xml&outputschema=http://www.opengis.net/cat/csw/3.0&startposition=1&maxrecords=&recordids= -3dcd1b15-73d2-4b7d-a3e3-ff15bf14aae4,elementSetName=brief&request=GetRecords&service=CSW&typeNames=tns:Record&namespace=xmlns(tns%3Dhttp://www.opengis.net/cat/csw/3.0)&version=3.0.0 -405e1ff1-5c75-4846-a28b-cfaff2a6921a,elementSetName=summary&recordIds=urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f,urn:uuid:e9330592-0932-474b-be34-c3a3bb67c7db&request=GetRecords&service=CSW&typeNames=Record&version=3.0.0 -43cd6471-6ac7-45bd-8ff9-148cb2de9a52, -4566d2ec-1283-4a02-baed-a74fc5b47e37,acceptVersions=3.0.0§ions=ServiceIdentification&request=GetCapabilities&service=CSW -461bd4c5-6623-490d-9036-d91a2201e87b,acceptVersions=3.0.0§ions=Filter_Capabilities&request=GetCapabilities&service=CSW -5496894a-3877-4f62-a20b-5d7126f94925,service=CSW&version=3.0.0&request=GetRecords&elementsetname=full&typenames=csw:Record&resulttype=results&q=&bbox=514432,5429689,529130,5451619&time=/&outputformat=application/xml&outputschema=http://www.opengis.net/cat/csw/3.0&startposition=1&maxrecords=&recordids= -5a015f6a-bf14-4977-b1e3-6577eb0223c8,service=CSW&version=3.0.0&request=GetRecords&elementsetname=full&typenames=csw:Record&resulttype=results&q=&bbox=-6.17,44.79,17.92,68.41&time=/&outputformat=application/xml&outputschema=http://www.opengis.net/cat/csw/3.0&startposition=1&maxrecords=&recordids= -5c3a2390-1fb9-43f0-b96c-f48c7a69c990,id=urn:uuid:88247b56-4cbc-4df9-9860-db3f8042e357&outputFormat=model/vnd.collada%2Bxml&request=GetRecordById&service=CSW&version=3.0.0 -5e9e67dc-18d6-4645-8111-c6263c88a61f,acceptVersions=3.0.0§ions=OperationsMetadata&request=GetCapabilities&service=CSW -604d9379-741c-42e5-b4cf-92e56c87fa64,elementSetName=full&q=amet&request=GetRecords&service=CSW&typeNames=Record&version=3.0.0 -60e6af95-d5fc-465a-82e2-fd2e6d85e4af,request=GetRecords&service=CSW&typeNames=UnknownType&version=3.0.0 -62ad94c2-b558-4265-a427-23d6677975d6,mode=opensearch&service=CSW&version=3.0.0&request=GetRecords&elementsetname=full&typenames=csw:Record&resulttype=results&q=&bbox=&time=/&outputformat=application/atom%2Bxml&startposition=1&maxrecords=&recordids=uid-bc5017e6-5cc8-4b03-aee7-d88f88caba0a -6a5e247b-0961-4b8a-a0d6-35a491d9cfe7,elementSetName=undefined-view&request=GetRecords&service=CSW&typeNames=Record&version=3.0.0 -6a9d0558-9d87-495b-b999-b49a3ef1cf99, -6bd790c9-6019-4652-9c91-330a894d6700,service=CSW&version=3.0.0&request=GetRecords&elementsetname=full&typenames=csw:Record&resulttype=results&q=Fusc%C3%A9%20Land&bbox=&time=/&outputformat=application/xml&outputschema=http://www.opengis.net/cat/csw/3.0&startposition=1&maxrecords=&recordids= -6e9cba43-5e27-415d-adbd-a92851c2c173,acceptVersions=3.0.0&request=GetCapabilities&service=CSW -7630d230-e142-4a09-accf-f091000b90cd,id=urn:uuid:66ae76b7-54ba-489b-a582-0f0633d96493&request=GetRecordById&service=CSW&version=3.0.0 -7e82446a-b5dc-43fe-9a73-4cc1f2f2f0bf,acceptFormats=text/xml&acceptVersions=3.0.0&request=GetCapabilities&service=CSW -8025978e-1a35-4d70-80c2-e8329e0c7864, -8184ae4f-536d-4978-8b28-ad703be96967,elementSetName=brief&bbox=44.79,-6.17,68.41,17.92,urn:ogc:def:crs:EPSG::4326&request=GetRecords&service=CSW&typeNames=Record&version=3.0.0 -88f63a89-664f-4315-b4f8-04a0b33803a7,maxRecords=15&elementSetName=summary&q=Mauris&bbox=-6.17,44.79,17.92,68.41&request=GetRecords&service=CSW&typeNames=Record&version=3.0.0 -8987f8f0-4d93-4481-968c-a2ccbd6b8be2,id=urn:example:1461546298217&request=GetRecordById&service=CSW&version=3.0.0 -8e5fa0f6-3f29-4d1f-abe2-d9866f3def98,mode=opensearch&service=CSW&version=3.0.0&request=GetRecords&elementsetname=full&typenames=csw:Record&resulttype=results&q=&bbox=-180,-90,180,90&time=/&outputformat=application/atom%2Bxml&startposition=1&maxrecords=&recordids= -9000ec29-5649-474e-b2d6-55c00f8a52c0,acceptVersions=9999.12.31&request=GetCapabilities&service=CSW -91914d35-7bbf-45e6-9b37-5ef484869a4e,elementSetName=summary&bbox=-6.17,44.79,17.92,68.41&request=GetRecords&service=CSW&typeNames=Record&version=3.0.0 -92d4844d-57d5-4cf3-8f47-ba50e369dc04,elementSetName=full&q=atkovxqmf&request=GetRecords&service=CSW&typeNames=Record&version=3.0.0 -9c0e2a4b-b4e6-41c0-b630-c8c99fc89ff3,elementSetName=brief&outputSchema=urn:uuid:6a29d2a8-9651-47a6-9b14-f05d2b5644f0&request=GetRecords&service=CSW&typeNames=Record&version=3.0.0 -9d7ffac8-9798-428d-8e27-3cd12497ee6b,id=urn:uuid:1ef30a8b-876d-4828-9246-c37ab4510bbd&outputSchema=http://www.example.org/ns/alpha&request=GetRecordById&service=CSW&version=3.0.0 -a2f18643-e24e-4fa5-b780-6de4a2dbc814,id=urn:uuid:829babb0-b2f1-49e1-8cd5-7b489fe71a1e&outputFormat=application/atom%2Bxml&request=GetRecordById&service=CSW&version=3.0.0 -abc90c8c-5868-4405-a73e-64c849be3b2a,mode=opensearch&service=CSW&version=3.0.0&request=GetRecords&elementsetname=full&typenames=csw:Record&resulttype=results&q=&bbox=514432,5429689,529130,5451619&time=/&outputformat=application/atom%2Bxml&startposition=1&maxrecords=&recordids= -ad0c0571-09ed-436a-9a4f-a5de744c88fe,maxRecords=2&elementSetName=summary&request=GetRecords&service=CSW&typeNames=csw3:Record&startPosition=3&namespace=xmlns(csw3%3Dhttp://www.opengis.net/cat/csw/3.0)&version=3.0.0 -af502903-f4ee-47ee-b76e-af878d238bcc,service=CSW&version=3.0.0&request=GetRecords&elementsetname=full&typenames=csw:Record&resulttype=results&q=&bbox=-180,-90,180,90&time=/&outputformat=application/xml&outputschema=http://www.opengis.net/cat/csw/3.0&startposition=1&maxrecords=&recordids= -b2aafc3f-4f35-47bc-affd-08590972deae,mode=opensearch&service=CSW&version=3.0.0&request=GetRecords&elementsetname=full&typenames=csw:Record&resulttype=results&q=&bbox=-6.17,44.79,17.92,68.41&time=/&outputformat=application/atom%2Bxml&startposition=1&maxrecords=&recordids= -b6069623-f7d8-4021-8582-98f0aea0f763,mode=opensearch&service=CSW&version=3.0.0&request=GetRecords&elementsetname=full&typenames=csw:Record&resulttype=results&q=&bbox=&time=/&outputformat=application/atom%2Bxml&startposition=3&maxrecords=4&recordids= -b9a07a54-75a8-45bd-b341-2823600211e3,elementSetName=brief&bbox=472944,5363287,492722,5455253,urn:ogc:def:crs:EPSG::0000&request=GetRecords&service=CSW&typeNames=Record&version=3.0.0 -baa4a7d0-0c01-42b6-adc3-0d03e9949fa3,acceptVersions=3.0.0&request=getCapabilities&service=CSW -bfbe6409-f64a-4c89-acb3-50f260a5c743,elementSetName=summary&q=Fusc%C3%A9%20Land&request=GetRecords&service=CSW&typeNames=Record&version=3.0.0 -bfe20134-d1da-42ef-9c0f-8e1307bbf92b,service=CSW&version=3.0.0&request=GetRecords&elementsetname=full&typenames=csw:Record&resulttype=results&q=&bbox=&time=/&outputformat=application/xml&outputschema=http://www.opengis.net/cat/csw/3.0&startposition=3&maxrecords=4&recordids= -c03d173a-3f42-4956-89c8-1fe02c3a0873,SERVICE=CSW&Request=GetCapabilities&acceptversions=3.0.0 -cb43d8c3-e14c-4a9f-9231-4384b7dd21f3,elementName=undefined&request=GetRecords&service=CSW&typeNames=Record&version=3.0.0 -d03c6fd3-e821-4a26-b62f-d20a474e25af,acceptVersions=3.0.0§ions=ServiceProvider&request=GetCapabilities&service=CSW -d4ccbf96-a529-480e-a53d-5b88dc1dea7f,service=CSW&version=3.0.0&request=GetRecords&elementsetname=full&typenames=csw:Record&resulttype=results&q=&bbox=&time=/&outputformat=application/xml&outputschema=http://www.opengis.net/cat/csw/3.0&startposition=1&maxrecords=&recordids=uid-bc5017e6-5cc8-4b03-aee7-d88f88caba0a -d94c801a-1207-4897-b84a-53f3a192515b,service=CSW&version=3.0.0&request=GetRecords&elementsetname=full&typenames=csw:Record&resulttype=results&q=lpppclq&bbox=&time=/&outputformat=application/xml&outputschema=http://www.opengis.net/cat/csw/3.0&startposition=1&maxrecords=&recordids= -da859e34-91fc-495a-8c09-285a40c0900b,id=urn:uuid:94bc9c83-97f6-4b40-9eb8-a8e8787a5c63&elementSetName=full&request=GetRecordById&service=CSW&version=3.0.0 -dc246fb8-5af5-4fda-82bb-c18b3ecd439c,mode=opensearch&service=CSW&version=3.0.0&request=GetRecords&elementsetname=full&typenames=csw:Record&resulttype=results&q=ipsum&bbox=&time=/&outputformat=application/atom%2Bxml&startposition=1&maxrecords=&recordids= -de016645-6d5c-4855-943c-2db07ae9f49a,mode=opensearch&service=CSW&version=3.0.0&request=GetRecords&elementsetname=full&typenames=csw:Record&resulttype=results&q=&bbox=&time=/&outputformat=application/atom%2Bxml&startposition=1&maxrecords=&recordids=urn%3Auuid%3A94bc9c83-97f6-4b40-9eb8-a8e8787a5c63 -dff3ec6b-bb2d-4887-bd17-8fcf15def042,elementSetName=summary&request=GetRecords&service=CSW&typeNames=Record&version=3.0.0 -e38e6bfb-8ac4-4ae4-8b87-0aafbc8d3c6b,id=urn:uuid:1ef30a8b-876d-4828-9246-c37ab4510bbd&elementSetName=brief&request=GetRecordById&service=CSW&version=3.0.0 -e67ca935-d65d-4d8c-8302-1405333dded0, -e7704509-3441-458f-8ef0-e333c6b6043f,elementName=ns1:subject&elementSetName=brief&request=GetRecords&service=CSW&typeNames=Record&namespace=xmlns(ns1%3Dhttp://purl.org/dc/elements/1.1/)&version=3.0.0 -f1223a49-6d08-44ff-97fe-4c32cbbfad82,elementSetName=summary&maxRecords=0&q=titles&request=GetRecords&service=CSW&typeNames=Record&version=3.0.0 -f89dd4e1-3a81-4433-afd2-a3fa1bdb1e18,elementSetName=full&outputFormat=text/example&request=GetRecords&service=CSW&typeNames=Record&version=3.0.0 diff --git a/tests/suites/csw30/post/Exception-GetDomain-parametername-bad.xml b/tests/suites/csw30/post/Exception-GetDomain-parametername-bad.xml deleted file mode 100644 index beeda8211..000000000 --- a/tests/suites/csw30/post/Exception-GetDomain-parametername-bad.xml +++ /dev/null @@ -1,4 +0,0 @@ - - - GetRecords.outputFormat-something - diff --git a/tests/suites/csw30/post/Exception-GetDomain-valuereference-bad.xml b/tests/suites/csw30/post/Exception-GetDomain-valuereference-bad.xml deleted file mode 100644 index 64184b6f0..000000000 --- a/tests/suites/csw30/post/Exception-GetDomain-valuereference-bad.xml +++ /dev/null @@ -1,4 +0,0 @@ - - - dc:titlena - diff --git a/tests/suites/csw30/post/Exception-GetRecordById-404.xml b/tests/suites/csw30/post/Exception-GetRecordById-404.xml deleted file mode 100644 index 41528ed0f..000000000 --- a/tests/suites/csw30/post/Exception-GetRecordById-404.xml +++ /dev/null @@ -1,4 +0,0 @@ - - - does_not_exist - diff --git a/tests/suites/csw30/post/Exception-GetRecordById-bad-esn.xml b/tests/suites/csw30/post/Exception-GetRecordById-bad-esn.xml deleted file mode 100644 index 2ab71279c..000000000 --- a/tests/suites/csw30/post/Exception-GetRecordById-bad-esn.xml +++ /dev/null @@ -1,5 +0,0 @@ - - - urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f - bad - diff --git a/tests/suites/csw30/post/Exception-bad-xml.xml b/tests/suites/csw30/post/Exception-bad-xml.xml deleted file mode 100644 index 6ba741f83..000000000 --- a/tests/suites/csw30/post/Exception-bad-xml.xml +++ /dev/null @@ -1,9 +0,0 @@ - - - - 3.0.0 - - - application/xml - - diff --git a/tests/suites/csw30/post/Exception-not-xml.xml b/tests/suites/csw30/post/Exception-not-xml.xml deleted file mode 100644 index 2b2530072..000000000 --- a/tests/suites/csw30/post/Exception-not-xml.xml +++ /dev/null @@ -1 +0,0 @@ -not an XML payload diff --git a/tests/suites/csw30/post/GetCapabilities.xml b/tests/suites/csw30/post/GetCapabilities.xml deleted file mode 100644 index 3e80d5ccc..000000000 --- a/tests/suites/csw30/post/GetCapabilities.xml +++ /dev/null @@ -1,9 +0,0 @@ - - - - 3.0.0 - - - application/xml - - diff --git a/tests/suites/csw30/post/GetDomain-parametername.xml b/tests/suites/csw30/post/GetDomain-parametername.xml deleted file mode 100644 index 00ca59f16..000000000 --- a/tests/suites/csw30/post/GetDomain-parametername.xml +++ /dev/null @@ -1,4 +0,0 @@ - - - GetRecords.outputFormat - diff --git a/tests/suites/csw30/post/GetDomain-valuereference.xml b/tests/suites/csw30/post/GetDomain-valuereference.xml deleted file mode 100644 index 7cfd0eb87..000000000 --- a/tests/suites/csw30/post/GetDomain-valuereference.xml +++ /dev/null @@ -1,4 +0,0 @@ - - - dc:title - diff --git a/tests/suites/csw30/post/GetRecordById-dc-full.xml b/tests/suites/csw30/post/GetRecordById-dc-full.xml deleted file mode 100644 index 925049056..000000000 --- a/tests/suites/csw30/post/GetRecordById-dc-full.xml +++ /dev/null @@ -1,5 +0,0 @@ - - - urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f - full - diff --git a/tests/suites/csw30/post/GetRecordById-dc.xml b/tests/suites/csw30/post/GetRecordById-dc.xml deleted file mode 100644 index 148f0e4f3..000000000 --- a/tests/suites/csw30/post/GetRecordById-dc.xml +++ /dev/null @@ -1,4 +0,0 @@ - - - urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f - diff --git a/tests/suites/default/default.cfg b/tests/suites/default/default.cfg deleted file mode 100644 index 952454c13..000000000 --- a/tests/suites/default/default.cfg +++ /dev/null @@ -1,90 +0,0 @@ -# ================================================================= -# -# Authors: Tom Kralidis -# -# Copyright (c) 2011 Tom Kralidis -# -# Permission is hereby granted, free of charge, to any person -# obtaining a copy of this software and associated documentation -# files (the "Software"), to deal in the Software without -# restriction, including without limitation the rights to use, -# copy, modify, merge, publish, distribute, sublicense, and/or sell -# copies of the Software, and to permit persons to whom the -# Software is furnished to do so, subject to the following -# conditions: -# -# The above copyright notice and this permission notice shall be -# included in all copies or substantial portions of the Software. -# -# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -# EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES -# OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -# NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT -# HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, -# WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING -# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR -# OTHER DEALINGS IN THE SOFTWARE. -# -# ================================================================= - -[server] -home=. -url=http://localhost/pycsw/csw.py?config=tests/suites/default/default.cfg -mimetype=application/xml; charset=UTF-8 -encoding=UTF-8 -language=en-US -maxrecords=10 -#loglevel=DEBUG -#logfile=/tmp/pycsw.log -#ogc_schemas_base=http://foo -federatedcatalogues=http://demo.pycsw.org/gisdata/csw -pretty_print=true -#gzip_compresslevel=8 -#spatial_ranking=true - -[manager] -transactions=false -allowed_ips=127.0.0.1 - -[metadata:main] -identification_title=pycsw Geospatial Catalogue -identification_abstract=pycsw is an OGC CSW server implementation written in Python -identification_keywords=catalogue,discovery -identification_keywords_type=theme -identification_fees=None -identification_accessconstraints=None -provider_name=pycsw -provider_url=http://pycsw.org/ -contact_name=Kralidis, Tom -contact_position=Senior Systems Scientist -contact_address=TBA -contact_city=Toronto -contact_stateorprovince=Ontario -contact_postalcode=M9C 3Z9 -contact_country=Canada -contact_phone=+01-416-xxx-xxxx -contact_fax=+01-416-xxx-xxxx -contact_email=tomkralidis@gmail.com -contact_url=http://kralidis.ca/ -contact_hours=0800h - 1600h EST -contact_instructions=During hours of service. Off on weekends. -contact_role=pointOfContact - -[repository] -# sqlite -database=sqlite:///tests/suites/cite/data/records.db -# postgres -#database=postgres://username:password@localhost/pycsw -table=records - -[metadata:inspire] -enabled=false -languages_supported=eng,gre -default_language=eng -date=2011-03-29 -gemet_keywords=Utility and governmental services -conformity_service=notEvaluated -contact_name=National Technical University of Athens -contact_email=tzotsos@gmail.com -temp_extent=2011-02-01/2011-03-30 - diff --git a/tests/suites/default/get/requests.txt b/tests/suites/default/get/requests.txt deleted file mode 100644 index 299790a0f..000000000 --- a/tests/suites/default/get/requests.txt +++ /dev/null @@ -1,20 +0,0 @@ -GetCapabilities,service=CSW&version=2.0.2&request=GetCapabilities -GetCapabilities-invalid-request,service=CSW&version=2.0.2&request=GetCapabilitiese -GetRecords-all,service=CSW&version=2.0.2&request=GetRecords&typenames=csw:Record&elementsetname=full -GetRecords-sortby-asc,service=CSW&version=2.0.2&request=GetRecords&typenames=csw:Record&elementsetname=full&resulttype=results&sortby=dc:title:A -GetRecords-sortby-desc,service=CSW&version=2.0.2&request=GetRecords&typenames=csw:Record&elementsetname=full&resulttype=results&sortby=dc:title:D -GetRecords-sortby-invalid-propertyname,service=CSW&version=2.0.2&request=GetRecords&typenames=csw:Record&elementsetname=full&resulttype=results&sortby=dc:titlei:A -GetRecords-sortby-invalid-order,service=CSW&version=2.0.2&request=GetRecords&typenames=csw:Record&elementsetname=full&resulttype=results&sortby=dc:title:FOO -GetRecords-filter,service=CSW&version=2.0.2&request=GetRecords&typenames=csw:Record&elementsetname=full&resulttype=results&constraintlanguage=FILTER&constraint=%3Cogc%3AFilter%20xmlns%3Aogc%3D%22http%3A%2F%2Fwww.opengis.net%2Fogc%22%3E%3Cogc%3APropertyIsEqualTo%3E%3Cogc%3APropertyName%3Edc%3Atitle%3C%2Fogc%3APropertyName%3E%3Cogc%3ALiteral%3ELorem%20ipsum%3C%2Fogc%3ALiteral%3E%3C%2Fogc%3APropertyIsEqualTo%3E%3C%2Fogc%3AFilter%3E -GetRecords-filter-cql-title,service=CSW&version=2.0.2&request=GetRecords&typenames=csw:Record&elementsetname=full&resulttype=results&constraintlanguage=CQL_TEXT&constraint=dc%3Atitle%20like%20%27%25lor%25%27 -GetRecords-filter-cql-title-with-spaces,service=CSW&version=2.0.2&request=GetRecords&typenames=csw:Record&elementsetname=full&resulttype=results&constraintlanguage=CQL_TEXT&constraint=dc%3Atitle%20like%20%27%25Lorem%20ipsum%25%27 -GetRecords-filter-cql-title-or-abstract,service=CSW&version=2.0.2&request=GetRecords&typenames=csw:Record&elementsetname=full&resulttype=results&constraintlanguage=CQL_TEXT&constraint=dc%3Atitle%20like%20%27%25lor%25%27%20or%20dct%3Aabstract%20like%20%27%25pharetra%25%27 -GetRecords-filter-cql-title-with-spaces-or-abstract,service=CSW&version=2.0.2&request=GetRecords&typenames=csw:Record&elementsetname=full&resulttype=results&constraintlanguage=CQL_TEXT&constraint=dc%3Atitle%20like%20%27%25dolor%20sit%25%27%20or%20dct%3Aabstract%20like%20%27%25pharetra%25%27 -GetRecords-filter-cql-title-or-abstract-with-spaces,service=CSW&version=2.0.2&request=GetRecords&typenames=csw:Record&elementsetname=full&resulttype=results&constraintlanguage=CQL_TEXT&constraint=dc%3Atitle%20like%20%27%25lor%25%27%20or%20dct%3Aabstract%20like%20%27%25pharetra%20in%25%27 -GetRecords-filter-cql-title-with-spaces-or-abstract-with-spaces,service=CSW&version=2.0.2&request=GetRecords&typenames=csw:Record&elementsetname=full&resulttype=results&constraintlanguage=CQL_TEXT&constraint=dc%3Atitle%20like%20%27%25dolor%20sit%25%27%20or%20dct%3Aabstract%20like%20%27%25pharetra%20in%25%27 -GetRecords-empty-maxrecords,service=CSW&version=2.0.2&request=GetRecords&typenames=csw:Record&elementsetname=full&maxrecords= -GetRepositoryItem,service=CSW&version=2.0.2&request=GetRepositoryItem&id=urn:uuid:94bc9c83-97f6-4b40-9eb8-a8e8787a5c63 -Exception-GetRepositoryItem-notfound,service=CSW&version=2.0.2&request=GetRepositoryItem&id=NOTFOUND -Exception-GetRepositoryItem-service-invalid1,service=CSW%00&version=2.0.2&request=GetRepositoryItem&id=123 -Exception-GetRepositoryItem-service-invalid2,service=CSW%00'&version=2.0.2&request=GetRepositoryItem&id=123 -Exception-GetRepositoryItem-version-invalid,service=CSW&version=2.0.2'&request=GetRepositoryItem&id=123 diff --git a/tests/suites/default/post/DescribeRecord-json.xml b/tests/suites/default/post/DescribeRecord-json.xml deleted file mode 100644 index 35c176c91..000000000 --- a/tests/suites/default/post/DescribeRecord-json.xml +++ /dev/null @@ -1,4 +0,0 @@ - - - csw:Record - diff --git a/tests/suites/default/post/DescribeRecord.xml b/tests/suites/default/post/DescribeRecord.xml deleted file mode 100644 index 102443e47..000000000 --- a/tests/suites/default/post/DescribeRecord.xml +++ /dev/null @@ -1,4 +0,0 @@ - - - csw:Record - diff --git a/tests/suites/default/post/Exception-GetRecords-badsrsname.xml b/tests/suites/default/post/Exception-GetRecords-badsrsname.xml deleted file mode 100644 index 61f4b2da5..000000000 --- a/tests/suites/default/post/Exception-GetRecords-badsrsname.xml +++ /dev/null @@ -1,19 +0,0 @@ - - - - brief - - - - - ows:BoundingBox - - -90 -180 - 90 180 - - - - - - - diff --git a/tests/suites/default/post/Exception-GetRecords-elementname.xml b/tests/suites/default/post/Exception-GetRecords-elementname.xml deleted file mode 100644 index 2dc8935e2..000000000 --- a/tests/suites/default/post/Exception-GetRecords-elementname.xml +++ /dev/null @@ -1,6 +0,0 @@ - - - - dc:foo - - diff --git a/tests/suites/default/post/Exception-GetRecords-invalid-xml.xml b/tests/suites/default/post/Exception-GetRecords-invalid-xml.xml deleted file mode 100644 index 0bdf07fb3..000000000 --- a/tests/suites/default/post/Exception-GetRecords-invalid-xml.xml +++ /dev/null @@ -1,6 +0,0 @@ - - - - dc:foo - - diff --git a/tests/suites/default/post/GetCapabilities-SOAP.xml b/tests/suites/default/post/GetCapabilities-SOAP.xml deleted file mode 100644 index 906918983..000000000 --- a/tests/suites/default/post/GetCapabilities-SOAP.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - 2.0.2 - - - application/xml - - - - diff --git a/tests/suites/default/post/GetCapabilities-sections.xml b/tests/suites/default/post/GetCapabilities-sections.xml deleted file mode 100644 index b3390dee5..000000000 --- a/tests/suites/default/post/GetCapabilities-sections.xml +++ /dev/null @@ -1,12 +0,0 @@ - - - - 2.0.2 - - - ServiceProvider - - - application/xml - - diff --git a/tests/suites/default/post/GetCapabilities-updatesequence.xml b/tests/suites/default/post/GetCapabilities-updatesequence.xml deleted file mode 100644 index d2f329611..000000000 --- a/tests/suites/default/post/GetCapabilities-updatesequence.xml +++ /dev/null @@ -1,9 +0,0 @@ - - - - 2.0.2 - - - application/xml - - diff --git a/tests/suites/default/post/GetCapabilities.xml b/tests/suites/default/post/GetCapabilities.xml deleted file mode 100644 index e4dc8070b..000000000 --- a/tests/suites/default/post/GetCapabilities.xml +++ /dev/null @@ -1,9 +0,0 @@ - - - - 2.0.2 - - - application/xml - - diff --git a/tests/suites/default/post/GetDomain-parameter.xml b/tests/suites/default/post/GetDomain-parameter.xml deleted file mode 100644 index 2d1dd2d4a..000000000 --- a/tests/suites/default/post/GetDomain-parameter.xml +++ /dev/null @@ -1,4 +0,0 @@ - - - GetRecords.CONSTRAINTLANGUAGE - diff --git a/tests/suites/default/post/GetDomain-property.xml b/tests/suites/default/post/GetDomain-property.xml deleted file mode 100644 index c6ca09c8c..000000000 --- a/tests/suites/default/post/GetDomain-property.xml +++ /dev/null @@ -1,4 +0,0 @@ - - - dc:title - diff --git a/tests/suites/default/post/GetRecordById-json.xml b/tests/suites/default/post/GetRecordById-json.xml deleted file mode 100644 index 887e6d186..000000000 --- a/tests/suites/default/post/GetRecordById-json.xml +++ /dev/null @@ -1,5 +0,0 @@ - - - urn:uuid:94bc9c83-97f6-4b40-9eb8-a8e8787a5c63 - summary - diff --git a/tests/suites/default/post/GetRecordById.xml b/tests/suites/default/post/GetRecordById.xml deleted file mode 100644 index af59d786b..000000000 --- a/tests/suites/default/post/GetRecordById.xml +++ /dev/null @@ -1,5 +0,0 @@ - - - urn:uuid:94bc9c83-97f6-4b40-9eb8-a8e8787a5c63 - summary - diff --git a/tests/suites/default/post/GetRecords-all-json.xml b/tests/suites/default/post/GetRecords-all-json.xml deleted file mode 100644 index 3e17c97ca..000000000 --- a/tests/suites/default/post/GetRecords-all-json.xml +++ /dev/null @@ -1,6 +0,0 @@ - - - - full - - diff --git a/tests/suites/default/post/GetRecords-all-resulttype-hits.xml b/tests/suites/default/post/GetRecords-all-resulttype-hits.xml deleted file mode 100644 index c91e92ec7..000000000 --- a/tests/suites/default/post/GetRecords-all-resulttype-hits.xml +++ /dev/null @@ -1,6 +0,0 @@ - - - - full - - diff --git a/tests/suites/default/post/GetRecords-all-resulttype-validate.xml b/tests/suites/default/post/GetRecords-all-resulttype-validate.xml deleted file mode 100644 index c977bda36..000000000 --- a/tests/suites/default/post/GetRecords-all-resulttype-validate.xml +++ /dev/null @@ -1,6 +0,0 @@ - - - - full - - diff --git a/tests/suites/default/post/GetRecords-all-sortby-bbox.xml b/tests/suites/default/post/GetRecords-all-sortby-bbox.xml deleted file mode 100644 index eace825a6..000000000 --- a/tests/suites/default/post/GetRecords-all-sortby-bbox.xml +++ /dev/null @@ -1,12 +0,0 @@ - - - - full - - - ows:BoundingBox - DESC - - - - diff --git a/tests/suites/default/post/GetRecords-all.xml b/tests/suites/default/post/GetRecords-all.xml deleted file mode 100644 index 6bb353cf4..000000000 --- a/tests/suites/default/post/GetRecords-all.xml +++ /dev/null @@ -1,6 +0,0 @@ - - - - full - - diff --git a/tests/suites/default/post/GetRecords-bbox-filter-crs84.xml b/tests/suites/default/post/GetRecords-bbox-filter-crs84.xml deleted file mode 100644 index ca1674dfc..000000000 --- a/tests/suites/default/post/GetRecords-bbox-filter-crs84.xml +++ /dev/null @@ -1,17 +0,0 @@ - - - - brief - - - - ows:BoundingBox - - -180 -90 - 180 90 - - - - - - diff --git a/tests/suites/default/post/GetRecords-cql-title-and-abstract.xml b/tests/suites/default/post/GetRecords-cql-title-and-abstract.xml deleted file mode 100644 index 9bdb5795c..000000000 --- a/tests/suites/default/post/GetRecords-cql-title-and-abstract.xml +++ /dev/null @@ -1,9 +0,0 @@ - - - - brief - - dc:title like '%ips%' and dct:abstract like '%pharetra%' - - - diff --git a/tests/suites/default/post/GetRecords-cql-title.xml b/tests/suites/default/post/GetRecords-cql-title.xml deleted file mode 100644 index 929722324..000000000 --- a/tests/suites/default/post/GetRecords-cql-title.xml +++ /dev/null @@ -1,9 +0,0 @@ - - - - brief - - dc:title like '%ips%' - - - diff --git a/tests/suites/default/post/GetRecords-distributedsearch.xml b/tests/suites/default/post/GetRecords-distributedsearch.xml deleted file mode 100644 index b64549a2e..000000000 --- a/tests/suites/default/post/GetRecords-distributedsearch.xml +++ /dev/null @@ -1,15 +0,0 @@ - - - - - brief - - - - dc:title - Aquifers - - - - - diff --git a/tests/suites/default/post/GetRecords-elementname.xml b/tests/suites/default/post/GetRecords-elementname.xml deleted file mode 100644 index 2acf2ae34..000000000 --- a/tests/suites/default/post/GetRecords-elementname.xml +++ /dev/null @@ -1,6 +0,0 @@ - - - - dc:title - - diff --git a/tests/suites/default/post/GetRecords-end.xml b/tests/suites/default/post/GetRecords-end.xml deleted file mode 100644 index e03137ea9..000000000 --- a/tests/suites/default/post/GetRecords-end.xml +++ /dev/null @@ -1,6 +0,0 @@ - - - - full - - diff --git a/tests/suites/default/post/GetRecords-filter-and-bbox-freetext.xml b/tests/suites/default/post/GetRecords-filter-and-bbox-freetext.xml deleted file mode 100644 index ce787131c..000000000 --- a/tests/suites/default/post/GetRecords-filter-and-bbox-freetext.xml +++ /dev/null @@ -1,23 +0,0 @@ - - - - brief - - - - - csw:AnyText - %lor% - - - ows:BoundingBox - - 47 -5 - 55 20 - - - - - - - diff --git a/tests/suites/default/post/GetRecords-filter-and-nested-or.xml b/tests/suites/default/post/GetRecords-filter-and-nested-or.xml deleted file mode 100644 index 46884d195..000000000 --- a/tests/suites/default/post/GetRecords-filter-and-nested-or.xml +++ /dev/null @@ -1,38 +0,0 @@ - - - - full - - - - - dc:title - Aliquam fermentum purus quis arcu - - - dc:format - application/pdf - - - - dc:type - http://purl.org/dc/dcmitype/Dataset - - - dc:type - http://purl.org/dc/dcmitype/Service - - - dc:type - http://purl.org/dc/dcmitype/Image - - - dc:type - http://purl.org/dc/dcmitype/Text - - - - - - - diff --git a/tests/suites/default/post/GetRecords-filter-and-nested-or2.xml b/tests/suites/default/post/GetRecords-filter-and-nested-or2.xml deleted file mode 100644 index 729113817..000000000 --- a/tests/suites/default/post/GetRecords-filter-and-nested-or2.xml +++ /dev/null @@ -1,34 +0,0 @@ - - - - full - - - - - dc:title - Lorem% - - - - dc:type - http://purl.org/dc/dcmitype/Dataset - - - dc:type - http://purl.org/dc/dcmitype/Service - - - dc:type - http://purl.org/dc/dcmitype/Image - - - dc:type - http://purl.org/dc/dcmitype/Text - - - - - - - diff --git a/tests/suites/default/post/GetRecords-filter-anytext-and-not.xml b/tests/suites/default/post/GetRecords-filter-anytext-and-not.xml deleted file mode 100644 index d3125b6f7..000000000 --- a/tests/suites/default/post/GetRecords-filter-anytext-and-not.xml +++ /dev/null @@ -1,26 +0,0 @@ - - - - summary - - - - - csw:AnyText - *lorem* - - - csw:AnyText - *ipsum* - - - - csw:AnyText - *dolor* - - - - - - - diff --git a/tests/suites/default/post/GetRecords-filter-anytext-equal.xml b/tests/suites/default/post/GetRecords-filter-anytext-equal.xml deleted file mode 100644 index 0c64e7112..000000000 --- a/tests/suites/default/post/GetRecords-filter-anytext-equal.xml +++ /dev/null @@ -1,14 +0,0 @@ - - - - brief - - - - csw:AnyText - Lor - - - - - diff --git a/tests/suites/default/post/GetRecords-filter-anytext.xml b/tests/suites/default/post/GetRecords-filter-anytext.xml deleted file mode 100644 index 8ab5bff9d..000000000 --- a/tests/suites/default/post/GetRecords-filter-anytext.xml +++ /dev/null @@ -1,14 +0,0 @@ - - - - brief - - - - csw:AnyText - %Lor% - - - - - diff --git a/tests/suites/default/post/GetRecords-filter-bbox-reproject.xml b/tests/suites/default/post/GetRecords-filter-bbox-reproject.xml deleted file mode 100644 index 73d60ef00..000000000 --- a/tests/suites/default/post/GetRecords-filter-bbox-reproject.xml +++ /dev/null @@ -1,17 +0,0 @@ - - - - brief - - - - ows:BoundingBox - - -72310.84768270838 2013215.2698528299 - 279667.74290441966 2690819.5081175645 - - - - - - diff --git a/tests/suites/default/post/GetRecords-filter-bbox-sortby.xml b/tests/suites/default/post/GetRecords-filter-bbox-sortby.xml deleted file mode 100644 index 9e7b7ef73..000000000 --- a/tests/suites/default/post/GetRecords-filter-bbox-sortby.xml +++ /dev/null @@ -1,23 +0,0 @@ - - - - brief - - - - ows:BoundingBox - - 47 -5 - 55 20 - - - - - - - dc:title - DESC - - - - diff --git a/tests/suites/default/post/GetRecords-filter-bbox.xml b/tests/suites/default/post/GetRecords-filter-bbox.xml deleted file mode 100644 index 9df955319..000000000 --- a/tests/suites/default/post/GetRecords-filter-bbox.xml +++ /dev/null @@ -1,17 +0,0 @@ - - - - brief - - - - ows:BoundingBox - - 47 -5 - 55 20 - - - - - - diff --git a/tests/suites/default/post/GetRecords-filter-between.xml b/tests/suites/default/post/GetRecords-filter-between.xml deleted file mode 100644 index ea00efbe8..000000000 --- a/tests/suites/default/post/GetRecords-filter-between.xml +++ /dev/null @@ -1,20 +0,0 @@ - - - - full - - - - dc:title - - Aliquam fermentum purus quis arcu - - - Maecenas enim - - - - - - - diff --git a/tests/suites/default/post/GetRecords-filter-function-bad.xml b/tests/suites/default/post/GetRecords-filter-function-bad.xml deleted file mode 100644 index 75dbacc10..000000000 --- a/tests/suites/default/post/GetRecords-filter-function-bad.xml +++ /dev/null @@ -1,17 +0,0 @@ - - - - brief - - - - - dc:title - - LOREM IPSUM - - - - - - diff --git a/tests/suites/default/post/GetRecords-filter-function.xml b/tests/suites/default/post/GetRecords-filter-function.xml deleted file mode 100644 index 68cb04564..000000000 --- a/tests/suites/default/post/GetRecords-filter-function.xml +++ /dev/null @@ -1,17 +0,0 @@ - - - - brief - - - - - dc:title - - LOREM IPSUM - - - - - - diff --git a/tests/suites/default/post/GetRecords-filter-not-bbox.xml b/tests/suites/default/post/GetRecords-filter-not-bbox.xml deleted file mode 100644 index 6adb4cf1f..000000000 --- a/tests/suites/default/post/GetRecords-filter-not-bbox.xml +++ /dev/null @@ -1,19 +0,0 @@ - - - - brief - - - - - ows:BoundingBox - - 47 -5 - 55 20 - - - - - - - diff --git a/tests/suites/default/post/GetRecords-filter-or-bbox-freetext.xml b/tests/suites/default/post/GetRecords-filter-or-bbox-freetext.xml deleted file mode 100644 index bdfc60ea7..000000000 --- a/tests/suites/default/post/GetRecords-filter-or-bbox-freetext.xml +++ /dev/null @@ -1,23 +0,0 @@ - - - - brief - - - - - dc:title - foo - - - ows:BoundingBox - - 47 -5 - 55 20 - - - - - - - diff --git a/tests/suites/default/post/GetRecords-filter-or-nested-and.xml b/tests/suites/default/post/GetRecords-filter-or-nested-and.xml deleted file mode 100644 index 1ff37fa31..000000000 --- a/tests/suites/default/post/GetRecords-filter-or-nested-and.xml +++ /dev/null @@ -1,30 +0,0 @@ - - - - full - - - - - dc:type - http://purl.org/dc/dcmitype/Image - - - dc:type - http://purl.org/dc/dcmitype/Dataset - - - - dc:title - Mauris% - - - dc:title - %neque - - - - - - - diff --git a/tests/suites/default/post/GetRecords-filter-or-title-abstract.xml b/tests/suites/default/post/GetRecords-filter-or-title-abstract.xml deleted file mode 100644 index 331dca256..000000000 --- a/tests/suites/default/post/GetRecords-filter-or-title-abstract.xml +++ /dev/null @@ -1,20 +0,0 @@ - - - - full - - - - - dc:title - Mauris% - - - dct:abstract - foo - - - - - - \ No newline at end of file diff --git a/tests/suites/default/post/GetRecords-maxrecords.xml b/tests/suites/default/post/GetRecords-maxrecords.xml deleted file mode 100644 index 1379ea6f9..000000000 --- a/tests/suites/default/post/GetRecords-maxrecords.xml +++ /dev/null @@ -1,6 +0,0 @@ - - - - full - - diff --git a/tests/suites/default/post/GetRecords-requestid.xml b/tests/suites/default/post/GetRecords-requestid.xml deleted file mode 100644 index 186d04e3b..000000000 --- a/tests/suites/default/post/GetRecords-requestid.xml +++ /dev/null @@ -1,6 +0,0 @@ - - - - full - - diff --git a/tests/suites/default/post/Harvest-default.xml b/tests/suites/default/post/Harvest-default.xml deleted file mode 100644 index 599ba769c..000000000 --- a/tests/suites/default/post/Harvest-default.xml +++ /dev/null @@ -1,6 +0,0 @@ - - - http://schemas.opengis.net/csw/2.0.2/profiles/apiso/1.0.0/examples-ISO19139/dataset2_minimalst.xml - http://www.isotc211.org/schemas/2005/gmd/ - application/xml - diff --git a/tests/suites/default/post/Harvest-response-handler.xml b/tests/suites/default/post/Harvest-response-handler.xml deleted file mode 100644 index 9d4351727..000000000 --- a/tests/suites/default/post/Harvest-response-handler.xml +++ /dev/null @@ -1,7 +0,0 @@ - - - http://kralidis.ca/pycsw/trunk/tests/test_iso.xml - http://www.isotc211.org/schemas/2005/gmd/ - application/xml - mailto:tkralidi - diff --git a/tests/suites/default/post/Transaction-delete.xml b/tests/suites/default/post/Transaction-delete.xml deleted file mode 100644 index 675a8690e..000000000 --- a/tests/suites/default/post/Transaction-delete.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - apiso:Identifier - 12345 - - - - - diff --git a/tests/suites/default/post/Transaction-insert.xml b/tests/suites/default/post/Transaction-insert.xml deleted file mode 100644 index 1b238dd4d..000000000 --- a/tests/suites/default/post/Transaction-insert.xml +++ /dev/null @@ -1,73 +0,0 @@ - - - - - - 12345 - - - - - - - - pycsw - - - - - - - - 2011-05-17 - - - - - - - pycsw record - - - - - 2011-05-17 - - - - - - - - - - Sample metadata record - - - eng - - - - - - - -180 - - - 180 - - - -90 - - - 90 - - - - - - - - - - diff --git a/tests/suites/default/post/Transaction-update-full.xml b/tests/suites/default/post/Transaction-update-full.xml deleted file mode 100644 index 2ff6604ea..000000000 --- a/tests/suites/default/post/Transaction-update-full.xml +++ /dev/null @@ -1,73 +0,0 @@ - - - - - - 12345 - - - - - - - - pycsw - - - - - - - - 2011-05-17 - - - - - - - pycsw record - - - - - 2011-05-17 - - - - - - - - - - Sample metadata record - - - eng - - - - - - - -180 - - - 180 - - - -90 - - - 90 - - - - - - - - - - diff --git a/tests/suites/default/post/Transaction-update-recordproperty.xml b/tests/suites/default/post/Transaction-update-recordproperty.xml deleted file mode 100644 index a130a5f25..000000000 --- a/tests/suites/default/post/Transaction-update-recordproperty.xml +++ /dev/null @@ -1,17 +0,0 @@ - - - - - apiso:Title - NEW_TITLE - - - - - apiso:Identifier - 12345 - - - - - diff --git a/tests/suites/dif/default.cfg b/tests/suites/dif/default.cfg deleted file mode 100644 index 08d69c6ed..000000000 --- a/tests/suites/dif/default.cfg +++ /dev/null @@ -1,90 +0,0 @@ -# ================================================================= -# -# Authors: Tom Kralidis -# -# Copyright (c) 2011 Tom Kralidis -# -# Permission is hereby granted, free of charge, to any person -# obtaining a copy of this software and associated documentation -# files (the "Software"), to deal in the Software without -# restriction, including without limitation the rights to use, -# copy, modify, merge, publish, distribute, sublicense, and/or sell -# copies of the Software, and to permit persons to whom the -# Software is furnished to do so, subject to the following -# conditions: -# -# The above copyright notice and this permission notice shall be -# included in all copies or substantial portions of the Software. -# -# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -# EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES -# OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -# NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT -# HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, -# WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING -# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR -# OTHER DEALINGS IN THE SOFTWARE. -# -# ================================================================= - -[server] -home=. -url=http://localhost/pycsw/csw.py?config=tests/suites/dif/default.cfg -mimetype=application/xml; charset=UTF-8 -encoding=UTF-8 -language=en-US -maxrecords=10 -#loglevel=DEBUG -#logfile=/tmp/pycsw.log -#ogc_schemas_base=http://foo -federatedcatalogues=http://geo.data.gov/geoportal/csw/discovery -pretty_print=true -#gzip_compresslevel=8 -#spatial_ranking=true - -[manager] -transactions=false -allowed_ips=127.0.0.1 - -[metadata:main] -identification_title=pycsw Geospatial Catalogue -identification_abstract=pycsw is an OGC CSW server implementation written in Python -identification_keywords=catalogue,discovery -identification_keywords_type=theme -identification_fees=None -identification_accessconstraints=None -provider_name=pycsw -provider_url=http://pycsw.org/ -contact_name=Kralidis, Tom -contact_position=Senior Systems Scientist -contact_address=TBA -contact_city=Toronto -contact_stateorprovince=Ontario -contact_postalcode=M9C 3Z9 -contact_country=Canada -contact_phone=+01-416-xxx-xxxx -contact_fax=+01-416-xxx-xxxx -contact_email=tomkralidis@gmail.com -contact_url=http://kralidis.ca/ -contact_hours=0800h - 1600h EST -contact_instructions=During hours of service. Off on weekends. -contact_role=pointOfContact - -[repository] -# sqlite -database=sqlite:///tests/suites/cite/data/records.db -# postgres -#database=postgres://username:password@localhost/pycsw -table=records - -[metadata:inspire] -enabled=false -languages_supported=eng,gre -default_language=eng -date=2011-03-29 -gemet_keywords=Utility and governmental services -conformity_service=notEvaluated -contact_name=National Technical University of Athens -contact_email=tzotsos@gmail.com -temp_extent=2011-02-01/2011-03-30 - diff --git a/tests/suites/dif/post/DescribeRecord.xml b/tests/suites/dif/post/DescribeRecord.xml deleted file mode 100644 index 2408da75b..000000000 --- a/tests/suites/dif/post/DescribeRecord.xml +++ /dev/null @@ -1,4 +0,0 @@ - - - dif:DIF - diff --git a/tests/suites/dif/post/GetCapabilities.xml b/tests/suites/dif/post/GetCapabilities.xml deleted file mode 100644 index e4dc8070b..000000000 --- a/tests/suites/dif/post/GetCapabilities.xml +++ /dev/null @@ -1,9 +0,0 @@ - - - - 2.0.2 - - - application/xml - - diff --git a/tests/suites/dif/post/GetRecords-filter-bbox.xml b/tests/suites/dif/post/GetRecords-filter-bbox.xml deleted file mode 100644 index 8804efe60..000000000 --- a/tests/suites/dif/post/GetRecords-filter-bbox.xml +++ /dev/null @@ -1,17 +0,0 @@ - - - - brief - - - - ows:BoundingBox - - 47 -5 - 55 20 - - - - - - diff --git a/tests/suites/ebrim/default.cfg b/tests/suites/ebrim/default.cfg deleted file mode 100644 index 048432616..000000000 --- a/tests/suites/ebrim/default.cfg +++ /dev/null @@ -1,93 +0,0 @@ -# ================================================================= -# -# $Id: default.cfg 366 2011-11-24 21:52:13Z tomkralidis $ -# -# Authors: Tom Kralidis -# -# Copyright (c) 2011 Tom Kralidis -# -# Permission is hereby granted, free of charge, to any person -# obtaining a copy of this software and associated documentation -# files (the "Software"), to deal in the Software without -# restriction, including without limitation the rights to use, -# copy, modify, merge, publish, distribute, sublicense, and/or sell -# copies of the Software, and to permit persons to whom the -# Software is furnished to do so, subject to the following -# conditions: -# -# The above copyright notice and this permission notice shall be -# included in all copies or substantial portions of the Software. -# -# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -# EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES -# OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -# NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT -# HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, -# WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING -# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR -# OTHER DEALINGS IN THE SOFTWARE. -# -# ================================================================= - -[server] -home=. -url=http://localhost/pycsw/csw.py?config=tests/suites/fgdc/default.cfg -mimetype=application/xml; charset=UTF-8 -encoding=UTF-8 -language=en-US -maxrecords=10 -#loglevel=DEBUG -#logfile=/tmp/pycsw.log -#ogc_schemas_base=http://foo -federatedcatalogues=http://geo.data.gov/geoportal/csw/discovery -pretty_print=true -#gzip_compresslevel=8 -#spatial_ranking=true -profiles=ebrim - -[manager] -transactions=false -allowed_ips=127.0.0.1 - -[metadata:main] -identification_title=pycsw Geospatial Catalogue -identification_abstract=pycsw is an OGC CSW server implementation written in Python -identification_keywords=catalogue,discovery -identification_keywords_type=theme -identification_fees=None -identification_accessconstraints=None -provider_name=pycsw -provider_url=http://pycsw.org/ -contact_name=Kralidis, Tom -contact_position=Senior Systems Scientist -contact_address=TBA -contact_city=Toronto -contact_stateorprovince=Ontario -contact_postalcode=M9C 3Z9 -contact_country=Canada -contact_phone=+01-416-xxx-xxxx -contact_fax=+01-416-xxx-xxxx -contact_email=tomkralidis@gmail.com -contact_url=http://kralidis.ca/ -contact_hours=0800h - 1600h EST -contact_instructions=During hours of service. Off on weekends. -contact_role=pointOfContact - -[repository] -# sqlite -database=sqlite:///tests/suites/cite/data/records.db -# postgres -#database=postgres://username:password@localhost/pycsw -table=records - -[metadata:inspire] -enabled=false -languages_supported=eng,gre -default_language=eng -date=2011-03-29 -gemet_keywords=Utility and governmental services -conformity_service=notEvaluated -contact_name=National Technical University of Athens -contact_email=tzotsos@gmail.com -temp_extent=2011-02-01/2011-03-30 - diff --git a/tests/suites/ebrim/post/DescribeRecord.xml b/tests/suites/ebrim/post/DescribeRecord.xml deleted file mode 100644 index cd708816b..000000000 --- a/tests/suites/ebrim/post/DescribeRecord.xml +++ /dev/null @@ -1,4 +0,0 @@ - - - rim:RegistryObject - diff --git a/tests/suites/ebrim/post/GetCapabilities.xml b/tests/suites/ebrim/post/GetCapabilities.xml deleted file mode 100644 index e4dc8070b..000000000 --- a/tests/suites/ebrim/post/GetCapabilities.xml +++ /dev/null @@ -1,9 +0,0 @@ - - - - 2.0.2 - - - application/xml - - diff --git a/tests/suites/ebrim/post/GetRecords-filter-bbox-full.xml b/tests/suites/ebrim/post/GetRecords-filter-bbox-full.xml deleted file mode 100644 index 6b6f84942..000000000 --- a/tests/suites/ebrim/post/GetRecords-filter-bbox-full.xml +++ /dev/null @@ -1,17 +0,0 @@ - - - - full - - - - ows:BoundingBox - - 47 -5 - 55 20 - - - - - - diff --git a/tests/suites/ebrim/post/GetRecords-filter-bbox.xml b/tests/suites/ebrim/post/GetRecords-filter-bbox.xml deleted file mode 100644 index ddb68ce96..000000000 --- a/tests/suites/ebrim/post/GetRecords-filter-bbox.xml +++ /dev/null @@ -1,17 +0,0 @@ - - - - brief - - - - ows:BoundingBox - - 47 -5 - 55 20 - - - - - - diff --git a/tests/suites/fgdc/default.cfg b/tests/suites/fgdc/default.cfg deleted file mode 100644 index da6707ac7..000000000 --- a/tests/suites/fgdc/default.cfg +++ /dev/null @@ -1,90 +0,0 @@ -# ================================================================= -# -# Authors: Tom Kralidis -# -# Copyright (c) 2011 Tom Kralidis -# -# Permission is hereby granted, free of charge, to any person -# obtaining a copy of this software and associated documentation -# files (the "Software"), to deal in the Software without -# restriction, including without limitation the rights to use, -# copy, modify, merge, publish, distribute, sublicense, and/or sell -# copies of the Software, and to permit persons to whom the -# Software is furnished to do so, subject to the following -# conditions: -# -# The above copyright notice and this permission notice shall be -# included in all copies or substantial portions of the Software. -# -# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -# EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES -# OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -# NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT -# HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, -# WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING -# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR -# OTHER DEALINGS IN THE SOFTWARE. -# -# ================================================================= - -[server] -home=. -url=http://localhost/pycsw/csw.py?config=tests/suites/fgdc/default.cfg -mimetype=application/xml; charset=UTF-8 -encoding=UTF-8 -language=en-US -maxrecords=10 -#loglevel=DEBUG -#logfile=/tmp/pycsw.log -#ogc_schemas_base=http://foo -federatedcatalogues=http://geo.data.gov/geoportal/csw/discovery -pretty_print=true -#gzip_compresslevel=8 -#spatial_ranking=true - -[manager] -transactions=false -allowed_ips=127.0.0.1 - -[metadata:main] -identification_title=pycsw Geospatial Catalogue -identification_abstract=pycsw is an OGC CSW server implementation written in Python -identification_keywords=catalogue,discovery -identification_keywords_type=theme -identification_fees=None -identification_accessconstraints=None -provider_name=pycsw -provider_url=http://pycsw.org/ -contact_name=Kralidis, Tom -contact_position=Senior Systems Scientist -contact_address=TBA -contact_city=Toronto -contact_stateorprovince=Ontario -contact_postalcode=M9C 3Z9 -contact_country=Canada -contact_phone=+01-416-xxx-xxxx -contact_fax=+01-416-xxx-xxxx -contact_email=tomkralidis@gmail.com -contact_url=http://kralidis.ca/ -contact_hours=0800h - 1600h EST -contact_instructions=During hours of service. Off on weekends. -contact_role=pointOfContact - -[repository] -# sqlite -database=sqlite:///tests/suites/cite/data/records.db -# postgres -#database=postgres://username:password@localhost/pycsw -table=records - -[metadata:inspire] -enabled=false -languages_supported=eng,gre -default_language=eng -date=2011-03-29 -gemet_keywords=Utility and governmental services -conformity_service=notEvaluated -contact_name=National Technical University of Athens -contact_email=tzotsos@gmail.com -temp_extent=2011-02-01/2011-03-30 - diff --git a/tests/suites/fgdc/post/DescribeRecord.xml b/tests/suites/fgdc/post/DescribeRecord.xml deleted file mode 100644 index 11dec8922..000000000 --- a/tests/suites/fgdc/post/DescribeRecord.xml +++ /dev/null @@ -1,4 +0,0 @@ - - - fgdc:metadata - diff --git a/tests/suites/fgdc/post/GetCapabilities.xml b/tests/suites/fgdc/post/GetCapabilities.xml deleted file mode 100644 index e4dc8070b..000000000 --- a/tests/suites/fgdc/post/GetCapabilities.xml +++ /dev/null @@ -1,9 +0,0 @@ - - - - 2.0.2 - - - application/xml - - diff --git a/tests/suites/fgdc/post/GetRecords-filter-bbox.xml b/tests/suites/fgdc/post/GetRecords-filter-bbox.xml deleted file mode 100644 index 47060cbcc..000000000 --- a/tests/suites/fgdc/post/GetRecords-filter-bbox.xml +++ /dev/null @@ -1,17 +0,0 @@ - - - - brief - - - - ows:BoundingBox - - 47 -5 - 55 20 - - - - - - diff --git a/tests/suites/gm03/default.cfg b/tests/suites/gm03/default.cfg deleted file mode 100644 index c67325399..000000000 --- a/tests/suites/gm03/default.cfg +++ /dev/null @@ -1,90 +0,0 @@ -# ================================================================= -# -# Authors: Tom Kralidis -# -# Copyright (c) 2011 Tom Kralidis -# -# Permission is hereby granted, free of charge, to any person -# obtaining a copy of this software and associated documentation -# files (the "Software"), to deal in the Software without -# restriction, including without limitation the rights to use, -# copy, modify, merge, publish, distribute, sublicense, and/or sell -# copies of the Software, and to permit persons to whom the -# Software is furnished to do so, subject to the following -# conditions: -# -# The above copyright notice and this permission notice shall be -# included in all copies or substantial portions of the Software. -# -# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -# EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES -# OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -# NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT -# HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, -# WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING -# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR -# OTHER DEALINGS IN THE SOFTWARE. -# -# ================================================================= - -[server] -home=. -url=http://localhost/pycsw/csw.py?config=tests/suites/gm03/default.cfg -mimetype=application/xml; charset=UTF-8 -encoding=UTF-8 -language=en-US -maxrecords=10 -#loglevel=DEBUG -#logfile=/tmp/pycsw.log -#ogc_schemas_base=http://foo -federatedcatalogues=http://geo.data.gov/geoportal/csw/discovery -pretty_print=true -#gzip_compresslevel=8 -#spatial_ranking=true - -[manager] -transactions=false -allowed_ips=127.0.0.1 - -[metadata:main] -identification_title=pycsw Geospatial Catalogue -identification_abstract=pycsw is an OGC CSW server implementation written in Python -identification_keywords=catalogue,discovery -identification_keywords_type=theme -identification_fees=None -identification_accessconstraints=None -provider_name=pycsw -provider_url=http://pycsw.org/ -contact_name=Kralidis, Tom -contact_position=Senior Systems Scientist -contact_address=TBA -contact_city=Toronto -contact_stateorprovince=Ontario -contact_postalcode=M9C 3Z9 -contact_country=Canada -contact_phone=+01-416-xxx-xxxx -contact_fax=+01-416-xxx-xxxx -contact_email=tomkralidis@gmail.com -contact_url=http://kralidis.ca/ -contact_hours=0800h - 1600h EST -contact_instructions=During hours of service. Off on weekends. -contact_role=pointOfContact - -[repository] -# sqlite -database=sqlite:///tests/suites/cite/data/records.db -# postgres -#database=postgres://username:password@localhost/pycsw -table=records - -[metadata:inspire] -enabled=false -languages_supported=eng,gre -default_language=eng -date=2011-03-29 -gemet_keywords=Utility and governmental services -conformity_service=notEvaluated -contact_name=National Technical University of Athens -contact_email=tzotsos@gmail.com -temp_extent=2011-02-01/2011-03-30 - diff --git a/tests/suites/gm03/post/GetCapabilities.xml b/tests/suites/gm03/post/GetCapabilities.xml deleted file mode 100644 index e4dc8070b..000000000 --- a/tests/suites/gm03/post/GetCapabilities.xml +++ /dev/null @@ -1,9 +0,0 @@ - - - - 2.0.2 - - - application/xml - - diff --git a/tests/suites/gm03/post/GetRecords-filter-bbox.xml b/tests/suites/gm03/post/GetRecords-filter-bbox.xml deleted file mode 100644 index 4b2319124..000000000 --- a/tests/suites/gm03/post/GetRecords-filter-bbox.xml +++ /dev/null @@ -1,17 +0,0 @@ - - - - brief - - - - ows:BoundingBox - - 47 -5 - 55 20 - - - - - - diff --git a/tests/suites/harvesting/data/.gitkeep b/tests/suites/harvesting/data/.gitkeep deleted file mode 100644 index e69de29bb..000000000 diff --git a/tests/suites/harvesting/default.cfg b/tests/suites/harvesting/default.cfg deleted file mode 100644 index 78f00ea1c..000000000 --- a/tests/suites/harvesting/default.cfg +++ /dev/null @@ -1,91 +0,0 @@ -# ================================================================= -# -# Authors: Tom Kralidis -# -# Copyright (c) 2012 Tom Kralidis -# -# Permission is hereby granted, free of charge, to any person -# obtaining a copy of this software and associated documentation -# files (the "Software"), to deal in the Software without -# restriction, including without limitation the rights to use, -# copy, modify, merge, publish, distribute, sublicense, and/or sell -# copies of the Software, and to permit persons to whom the -# Software is furnished to do so, subject to the following -# conditions: -# -# The above copyright notice and this permission notice shall be -# included in all copies or substantial portions of the Software. -# -# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -# EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES -# OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -# NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT -# HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, -# WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING -# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR -# OTHER DEALINGS IN THE SOFTWARE. -# -# ================================================================= - -[server] -home=. -url=http://localhost/pycsw/csw.py?config=tests/suites/harvesting/default.cfg -mimetype=application/xml; charset=UTF-8 -encoding=UTF-8 -language=en-US -maxrecords=10 -#loglevel=DEBUG -#logfile=/tmp/pycsw.log -#ogc_schemas_base=http://foo -federatedcatalogues=http://geo.data.gov/geoportal/csw/discovery -pretty_print=true -#gzip_compresslevel=8 -#spatial_ranking=true -profiles=apiso - -[manager] -transactions=true -allowed_ips=127.0.0.1 - -[metadata:main] -identification_title=pycsw Geospatial Catalogue -identification_abstract=pycsw is an OGC CSW server implementation written in Python -identification_keywords=catalogue,discovery -identification_keywords_type=theme -identification_fees=None -identification_accessconstraints=None -provider_name=pycsw -provider_url=http://pycsw.org/ -contact_name=Kralidis, Tom -contact_position=Senior Systems Scientist -contact_address=TBA -contact_city=Toronto -contact_stateorprovince=Ontario -contact_postalcode=M9C 3Z9 -contact_country=Canada -contact_phone=+01-416-xxx-xxxx -contact_fax=+01-416-xxx-xxxx -contact_email=tomkralidis@gmail.com -contact_url=http://kralidis.ca/ -contact_hours=0800h - 1600h EST -contact_instructions=During hours of service. Off on weekends. -contact_role=pointOfContact - -[repository] -# sqlite -database=sqlite:///tests/suites/harvesting/data/records.db -# postgres -#database=postgres://username:password@localhost/pycsw -table=records - -[metadata:inspire] -enabled=false -languages_supported=eng,gre -default_language=eng -date=2011-03-29 -gemet_keywords=Utility and governmental services -conformity_service=notEvaluated -contact_name=National Technical University of Athens -contact_email=tzotsos@gmail.com -temp_extent=2011-02-01/2011-03-30 - diff --git a/tests/suites/harvesting/get/requests.txt b/tests/suites/harvesting/get/requests.txt deleted file mode 100644 index 3b13c3b11..000000000 --- a/tests/suites/harvesting/get/requests.txt +++ /dev/null @@ -1,5 +0,0 @@ -Exception-Harvest-missing-resourcetype,service=CSW&version=2.0.2&request=Harvest -Exception-Harvest-missing-source,service=CSW&version=2.0.2&request=Harvest&resourcetype=http://www.opengis.net/wms -Exception-Harvest-invalid-resourcetype,service=CSW&version=2.0.2&request=Harvest&resourcetype=http://www.opengis.net/wms1234&source=http://demo.pycsw.org/cite/csw -Exception-Harvest-waf-no-records-found,service=CSW&version=2.0.2&request=Harvest&resourcetype=urn:geoss:waf&source=http://demo.pycsw.org -Exception-Harvest-waf-bad-value,service=CSW&version=2.0.2&request=Harvest&resourcetype=urn:geoss:waf&source=badvalue diff --git a/tests/suites/harvesting/post/Clear-000-delete-all.xml b/tests/suites/harvesting/post/Clear-000-delete-all.xml deleted file mode 100644 index 827ccc7f0..000000000 --- a/tests/suites/harvesting/post/Clear-000-delete-all.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - dc:identifier - % - - - - - diff --git a/tests/suites/harvesting/post/Exception-Havest-csw-404.xml b/tests/suites/harvesting/post/Exception-Havest-csw-404.xml deleted file mode 100644 index dc660970b..000000000 --- a/tests/suites/harvesting/post/Exception-Havest-csw-404.xml +++ /dev/null @@ -1,6 +0,0 @@ - - - http://demo.pycsw.org/gisdata/cswBAD - http://www.opengis.net/cat/csw/2.0.2 - application/xml - diff --git a/tests/suites/harvesting/post/GetCapabilities.xml b/tests/suites/harvesting/post/GetCapabilities.xml deleted file mode 100644 index e4dc8070b..000000000 --- a/tests/suites/harvesting/post/GetCapabilities.xml +++ /dev/null @@ -1,9 +0,0 @@ - - - - 2.0.2 - - - application/xml - - diff --git a/tests/suites/harvesting/post/GetDomain-parameter.xml b/tests/suites/harvesting/post/GetDomain-parameter.xml deleted file mode 100644 index 3779a0555..000000000 --- a/tests/suites/harvesting/post/GetDomain-parameter.xml +++ /dev/null @@ -1,4 +0,0 @@ - - - Harvest.ResourceType - diff --git a/tests/suites/harvesting/post/Harvest-csw-iso.xml b/tests/suites/harvesting/post/Harvest-csw-iso.xml deleted file mode 100644 index b5ce58274..000000000 --- a/tests/suites/harvesting/post/Harvest-csw-iso.xml +++ /dev/null @@ -1,6 +0,0 @@ - - - http://demo.pycsw.org/services/csw - http://www.opengis.net/cat/csw/2.0.2 - application/xml - diff --git a/tests/suites/harvesting/post/Harvest-csw-run1.xml b/tests/suites/harvesting/post/Harvest-csw-run1.xml deleted file mode 100644 index a3514f77c..000000000 --- a/tests/suites/harvesting/post/Harvest-csw-run1.xml +++ /dev/null @@ -1,6 +0,0 @@ - - - http://demo.pycsw.org/cite/csw - http://www.opengis.net/cat/csw/2.0.2 - application/xml - diff --git a/tests/suites/harvesting/post/Harvest-csw-run2.xml b/tests/suites/harvesting/post/Harvest-csw-run2.xml deleted file mode 100644 index a3514f77c..000000000 --- a/tests/suites/harvesting/post/Harvest-csw-run2.xml +++ /dev/null @@ -1,6 +0,0 @@ - - - http://demo.pycsw.org/cite/csw - http://www.opengis.net/cat/csw/2.0.2 - application/xml - diff --git a/tests/suites/harvesting/post/Harvest-dc.xml b/tests/suites/harvesting/post/Harvest-dc.xml deleted file mode 100644 index bd94c7241..000000000 --- a/tests/suites/harvesting/post/Harvest-dc.xml +++ /dev/null @@ -1,6 +0,0 @@ - - - http://demo.pycsw.org/metadata/Clause_10.2.5.3.2_Example03_Full.xml - http://www.opengis.net/cat/csw/2.0.2 - application/xml - diff --git a/tests/suites/harvesting/post/Harvest-fgdc.xml b/tests/suites/harvesting/post/Harvest-fgdc.xml deleted file mode 100644 index a9a48b540..000000000 --- a/tests/suites/harvesting/post/Harvest-fgdc.xml +++ /dev/null @@ -1,6 +0,0 @@ - - - http://demo.pycsw.org/metadata/CDC008.xml - http://www.opengis.net/cat/csw/csdgm - application/xml - diff --git a/tests/suites/harvesting/post/Harvest-iso.xml b/tests/suites/harvesting/post/Harvest-iso.xml deleted file mode 100644 index 54492757f..000000000 --- a/tests/suites/harvesting/post/Harvest-iso.xml +++ /dev/null @@ -1,6 +0,0 @@ - - - http://demo.pycsw.org/metadata/dataset2_minimalst.xml - http://www.isotc211.org/schemas/2005/gmd/ - application/xml - diff --git a/tests/suites/harvesting/post/Harvest-rdf.xml b/tests/suites/harvesting/post/Harvest-rdf.xml deleted file mode 100644 index cd6415171..000000000 --- a/tests/suites/harvesting/post/Harvest-rdf.xml +++ /dev/null @@ -1,6 +0,0 @@ - - - http://demo.pycsw.org/metadata/dc-rdf.xml - http://www.opengis.net/cat/csw/2.0.2 - application/xml - diff --git a/tests/suites/harvesting/post/Harvest-sos100.xml b/tests/suites/harvesting/post/Harvest-sos100.xml deleted file mode 100644 index a7de0a332..000000000 --- a/tests/suites/harvesting/post/Harvest-sos100.xml +++ /dev/null @@ -1,5 +0,0 @@ - - - http://www.neracoos.org/cgi-bin/sos/V1.0/oostethys_sos.cgi - http://www.opengis.net/sos/1.0 - diff --git a/tests/suites/harvesting/post/Harvest-sos200.xml b/tests/suites/harvesting/post/Harvest-sos200.xml deleted file mode 100644 index 37e3db12a..000000000 --- a/tests/suites/harvesting/post/Harvest-sos200.xml +++ /dev/null @@ -1,5 +0,0 @@ - - - http://ngwd-bdnes.cits.nrcan.gc.ca/GinService/sos/gw - http://www.opengis.net/sos/2.0 - diff --git a/tests/suites/harvesting/post/Harvest-waf.xml b/tests/suites/harvesting/post/Harvest-waf.xml deleted file mode 100644 index 9ecd86f59..000000000 --- a/tests/suites/harvesting/post/Harvest-waf.xml +++ /dev/null @@ -1,5 +0,0 @@ - - - http://demo.pycsw.org/waf - urn:geoss:waf - diff --git a/tests/suites/harvesting/post/Harvest-wcs.xml b/tests/suites/harvesting/post/Harvest-wcs.xml deleted file mode 100644 index f59f4cc29..000000000 --- a/tests/suites/harvesting/post/Harvest-wcs.xml +++ /dev/null @@ -1,6 +0,0 @@ - - - http://demo.mapserver.org/cgi-bin/wcs - http://www.opengis.net/wcs - application/xml - diff --git a/tests/suites/harvesting/post/Harvest-wfs110.xml b/tests/suites/harvesting/post/Harvest-wfs110.xml deleted file mode 100644 index 72e28fbb2..000000000 --- a/tests/suites/harvesting/post/Harvest-wfs110.xml +++ /dev/null @@ -1,6 +0,0 @@ - - - http://services.ogc.noaa.gov/geoserver/geoss_water_sba/wfs - http://www.opengis.net/wfs - application/xml - diff --git a/tests/suites/harvesting/post/Harvest-wfs200.xml b/tests/suites/harvesting/post/Harvest-wfs200.xml deleted file mode 100644 index 9968eb702..000000000 --- a/tests/suites/harvesting/post/Harvest-wfs200.xml +++ /dev/null @@ -1,6 +0,0 @@ - - - http://maps.cera.govt.nz/arcgis/services/CERA/CERA_TechClasses_WGS84/MapServer/WFSServer - http://www.opengis.net/wfs/2.0 - application/xml - diff --git a/tests/suites/harvesting/post/Harvest-wms-run1.xml b/tests/suites/harvesting/post/Harvest-wms-run1.xml deleted file mode 100644 index a67274f81..000000000 --- a/tests/suites/harvesting/post/Harvest-wms-run1.xml +++ /dev/null @@ -1,6 +0,0 @@ - - - http://mesonet.agron.iastate.edu/cgi-bin/wms/nexrad/n0r-t.cgi - http://www.opengis.net/wms - application/xml - diff --git a/tests/suites/harvesting/post/Harvest-wms-run2.xml b/tests/suites/harvesting/post/Harvest-wms-run2.xml deleted file mode 100644 index a67274f81..000000000 --- a/tests/suites/harvesting/post/Harvest-wms-run2.xml +++ /dev/null @@ -1,6 +0,0 @@ - - - http://mesonet.agron.iastate.edu/cgi-bin/wms/nexrad/n0r-t.cgi - http://www.opengis.net/wms - application/xml - diff --git a/tests/suites/harvesting/post/Harvest-wmts.xml b/tests/suites/harvesting/post/Harvest-wmts.xml deleted file mode 100644 index 6d8339354..000000000 --- a/tests/suites/harvesting/post/Harvest-wmts.xml +++ /dev/null @@ -1,6 +0,0 @@ - - - http://maps.wien.gv.at/wmts/1.0.0/WMTSCapabilities.xml - http://www.opengis.net/wmts/1.0 - application/xml - diff --git a/tests/suites/harvesting/post/Harvest-wps.xml b/tests/suites/harvesting/post/Harvest-wps.xml deleted file mode 100644 index 0a38c61dc..000000000 --- a/tests/suites/harvesting/post/Harvest-wps.xml +++ /dev/null @@ -1,6 +0,0 @@ - - - http://cida.usgs.gov/gdp/utility/WebProcessingService - http://www.opengis.net/wps/1.0.0 - application/xml - diff --git a/tests/suites/harvesting/post/Harvest-zzz-post-GetRecords-filter-ows-dc.xml b/tests/suites/harvesting/post/Harvest-zzz-post-GetRecords-filter-ows-dc.xml deleted file mode 100644 index 5fe7eff25..000000000 --- a/tests/suites/harvesting/post/Harvest-zzz-post-GetRecords-filter-ows-dc.xml +++ /dev/null @@ -1,36 +0,0 @@ - - - - full - - - - - apiso:ServiceType - OGC:SOS - - - apiso:ServiceType - OGC:WPS - - - apiso:ServiceType - OGC:WMS - - - apiso:ServiceType - OGC:WFS - - - apiso:ServiceType - OGC:CSW - - - apiso:ServiceType - OGC:WCS - - - - - - diff --git a/tests/suites/harvesting/post/Harvest-zzz-post-GetRecords-filter-sos-abstract-dc.xml b/tests/suites/harvesting/post/Harvest-zzz-post-GetRecords-filter-sos-abstract-dc.xml deleted file mode 100644 index 294218008..000000000 --- a/tests/suites/harvesting/post/Harvest-zzz-post-GetRecords-filter-sos-abstract-dc.xml +++ /dev/null @@ -1,24 +0,0 @@ - - - - full - - - - - apiso:Type - service - - - apiso:ServiceType - OGC:SOS - - - apiso:Abstract - (groundwater( - - - - - - diff --git a/tests/suites/harvesting/post/Harvest-zzz-post-GetRecords-filter-sos-dc.xml b/tests/suites/harvesting/post/Harvest-zzz-post-GetRecords-filter-sos-dc.xml deleted file mode 100644 index caf43cc26..000000000 --- a/tests/suites/harvesting/post/Harvest-zzz-post-GetRecords-filter-sos-dc.xml +++ /dev/null @@ -1,20 +0,0 @@ - - - - full - - - - - apiso:Type - service - - - apiso:ServiceType - OGC:SOS - - - - - - diff --git a/tests/suites/harvesting/post/Harvest-zzz-post-GetRecords-filter-sos-iso.xml b/tests/suites/harvesting/post/Harvest-zzz-post-GetRecords-filter-sos-iso.xml deleted file mode 100644 index edc45b3fa..000000000 --- a/tests/suites/harvesting/post/Harvest-zzz-post-GetRecords-filter-sos-iso.xml +++ /dev/null @@ -1,20 +0,0 @@ - - - - full - - - - - apiso:Type - service - - - apiso:ServiceType - OGC:SOS - - - - - - diff --git a/tests/suites/harvesting/post/Harvest-zzz-post-GetRecords-filter-wfs-iso.xml b/tests/suites/harvesting/post/Harvest-zzz-post-GetRecords-filter-wfs-iso.xml deleted file mode 100644 index 3e26f62db..000000000 --- a/tests/suites/harvesting/post/Harvest-zzz-post-GetRecords-filter-wfs-iso.xml +++ /dev/null @@ -1,20 +0,0 @@ - - - - full - - - - - apiso:Type - service - - - apiso:ServiceType - OGC:WFS - - - - - - diff --git a/tests/suites/harvesting/post/Harvest-zzz-post-GetRecords-filter-wms-dc.xml b/tests/suites/harvesting/post/Harvest-zzz-post-GetRecords-filter-wms-dc.xml deleted file mode 100644 index c67d38186..000000000 --- a/tests/suites/harvesting/post/Harvest-zzz-post-GetRecords-filter-wms-dc.xml +++ /dev/null @@ -1,20 +0,0 @@ - - - - full - - - - - apiso:Type - service - - - apiso:ServiceType - OGC:WMS - - - - - - diff --git a/tests/suites/harvesting/post/Harvest-zzz-post-GetRecords-filter-wms-iso.xml b/tests/suites/harvesting/post/Harvest-zzz-post-GetRecords-filter-wms-iso.xml deleted file mode 100644 index f4300e7ef..000000000 --- a/tests/suites/harvesting/post/Harvest-zzz-post-GetRecords-filter-wms-iso.xml +++ /dev/null @@ -1,20 +0,0 @@ - - - - full - - - - - apiso:Type - service - - - apiso:ServiceType - OGC:WMS - - - - - - diff --git a/tests/suites/harvesting/post/Harvest-zzz-post-GetRecords-filter-wms-layer.xml b/tests/suites/harvesting/post/Harvest-zzz-post-GetRecords-filter-wms-layer.xml deleted file mode 100644 index ab70e4b8b..000000000 --- a/tests/suites/harvesting/post/Harvest-zzz-post-GetRecords-filter-wms-layer.xml +++ /dev/null @@ -1,20 +0,0 @@ - - - - full - - - - - dc:type - dataset - - - csw:AnyText - %nexrad% - - - - - - diff --git a/tests/suites/harvesting/post/Harvest-zzz-post-GetRecords-filter-wps-process.xml b/tests/suites/harvesting/post/Harvest-zzz-post-GetRecords-filter-wps-process.xml deleted file mode 100644 index 3c87edd95..000000000 --- a/tests/suites/harvesting/post/Harvest-zzz-post-GetRecords-filter-wps-process.xml +++ /dev/null @@ -1,14 +0,0 @@ - - - - full - - - - dc:type - software - - - - - diff --git a/tests/suites/harvesting/post/Transaction-000-delete-all.xml b/tests/suites/harvesting/post/Transaction-000-delete-all.xml deleted file mode 100644 index 827ccc7f0..000000000 --- a/tests/suites/harvesting/post/Transaction-000-delete-all.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - dc:identifier - % - - - - - diff --git a/tests/suites/manager/data/.gitkeep b/tests/suites/manager/data/.gitkeep deleted file mode 100644 index e69de29bb..000000000 diff --git a/tests/suites/manager/default.cfg b/tests/suites/manager/default.cfg deleted file mode 100644 index 3e9c1f8f5..000000000 --- a/tests/suites/manager/default.cfg +++ /dev/null @@ -1,91 +0,0 @@ -# ================================================================= -# -# Authors: Tom Kralidis -# -# Copyright (c) 2012 Tom Kralidis -# -# Permission is hereby granted, free of charge, to any person -# obtaining a copy of this software and associated documentation -# files (the "Software"), to deal in the Software without -# restriction, including without limitation the rights to use, -# copy, modify, merge, publish, distribute, sublicense, and/or sell -# copies of the Software, and to permit persons to whom the -# Software is furnished to do so, subject to the following -# conditions: -# -# The above copyright notice and this permission notice shall be -# included in all copies or substantial portions of the Software. -# -# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -# EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES -# OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -# NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT -# HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, -# WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING -# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR -# OTHER DEALINGS IN THE SOFTWARE. -# -# ================================================================= - -[server] -home=. -url=http://localhost/pycsw/csw.py?config=tests/suites/manager/default.cfg -mimetype=application/xml; charset=UTF-8 -encoding=UTF-8 -language=en-US -maxrecords=10 -#loglevel=DEBUG -#logfile=/tmp/pycsw.log -#ogc_schemas_base=http://foo -federatedcatalogues=http://geo.data.gov/geoportal/csw/discovery -pretty_print=true -#gzip_compresslevel=8 -#spatial_ranking=true -profiles=apiso - -[manager] -transactions=true -allowed_ips=127.0.0.1 - -[metadata:main] -identification_title=pycsw Geospatial Catalogue -identification_abstract=pycsw is an OGC CSW server implementation written in Python -identification_keywords=catalogue,discovery -identification_keywords_type=theme -identification_fees=None -identification_accessconstraints=None -provider_name=pycsw -provider_url=http://pycsw.org/ -contact_name=Kralidis, Tom -contact_position=Senior Systems Scientist -contact_address=TBA -contact_city=Toronto -contact_stateorprovince=Ontario -contact_postalcode=M9C 3Z9 -contact_country=Canada -contact_phone=+01-416-xxx-xxxx -contact_fax=+01-416-xxx-xxxx -contact_email=tomkralidis@gmail.com -contact_url=http://kralidis.ca/ -contact_hours=0800h - 1600h EST -contact_instructions=During hours of service. Off on weekends. -contact_role=pointOfContact - -[repository] -# sqlite -database=sqlite:///tests/suites/manager/data/records.db -# postgres -#database=postgres://username:password@localhost/pycsw -table=records - -[metadata:inspire] -enabled=false -languages_supported=eng,gre -default_language=eng -date=2011-03-29 -gemet_keywords=Utility and governmental services -conformity_service=notEvaluated -contact_name=National Technical University of Athens -contact_email=tzotsos@gmail.com -temp_extent=2011-02-01/2011-03-30 - diff --git a/tests/suites/manager/post/Clear-000-delete-all.xml b/tests/suites/manager/post/Clear-000-delete-all.xml deleted file mode 100644 index 827ccc7f0..000000000 --- a/tests/suites/manager/post/Clear-000-delete-all.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - dc:identifier - % - - - - - diff --git a/tests/suites/manager/post/GetCapabilities.xml b/tests/suites/manager/post/GetCapabilities.xml deleted file mode 100644 index e4dc8070b..000000000 --- a/tests/suites/manager/post/GetCapabilities.xml +++ /dev/null @@ -1,9 +0,0 @@ - - - - 2.0.2 - - - application/xml - - diff --git a/tests/suites/manager/post/GetDomain-parameter.xml b/tests/suites/manager/post/GetDomain-parameter.xml deleted file mode 100644 index 3779a0555..000000000 --- a/tests/suites/manager/post/GetDomain-parameter.xml +++ /dev/null @@ -1,4 +0,0 @@ - - - Harvest.ResourceType - diff --git a/tests/suites/manager/post/Transaction-000-delete-all.xml b/tests/suites/manager/post/Transaction-000-delete-all.xml deleted file mode 100644 index 827ccc7f0..000000000 --- a/tests/suites/manager/post/Transaction-000-delete-all.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - dc:identifier - % - - - - - diff --git a/tests/suites/manager/post/Transaction-dc-01-insert.xml b/tests/suites/manager/post/Transaction-dc-01-insert.xml deleted file mode 100644 index 1fca1e266..000000000 --- a/tests/suites/manager/post/Transaction-dc-01-insert.xml +++ /dev/null @@ -1,22 +0,0 @@ - - - - - xyz - pycsw Catalogue - 2012-06-05 - Sample metadata - dataset - imagery - baseMaps - earthCover - BIL - Vanda Lima - en - - -90 -180 - 90 180 - - - - diff --git a/tests/suites/manager/post/Transaction-dc-02-update-full.xml b/tests/suites/manager/post/Transaction-dc-02-update-full.xml deleted file mode 100644 index 3d3bf1a75..000000000 --- a/tests/suites/manager/post/Transaction-dc-02-update-full.xml +++ /dev/null @@ -1,22 +0,0 @@ - - - - - xyz - THIS HAS BEEN UPDATED - 2012-06-05 - Sample metadata - dataset - imagery - baseMaps - earthCover - BIL - Vanda Lima - en - - -90 -180 - 90 180 - - - - diff --git a/tests/suites/manager/post/Transaction-fgdc-01-insert.xml b/tests/suites/manager/post/Transaction-fgdc-01-insert.xml deleted file mode 100644 index 3a7c368df..000000000 --- a/tests/suites/manager/post/Transaction-fgdc-01-insert.xml +++ /dev/null @@ -1,214 +0,0 @@ - - - - - -foorecord - - -NOAA/ESRL Physical Sciences Division -20001201 -NCEP - -Boulder, CO -NOAA/ESRL Physical Sciences Division - -ftp://ftp.cdc.noaa.gov/Datasets/ncep/ -http://www.esrl.noaa.gov/psd/thredds/dodsC/Datasets/ncep/ -http://www.esrl.noaa.gov/psd/data/gridded/data.ncep.html - - - -NCEP's twice-daily global analysis at 2.5&#176; resolution on pressure levels which is a product of their operational forecast system. -Scientific research. - -Additional Fields: ------------------: -StartDate: 19790101 -StopDate: 20001201 -Storage_Medium: online -PSD Search Fields: -Entry_ID: ncep.fgdc - - - - - -19790101 -20001201 - - -Publication_Date: 20001201 - - -Complete -Irregular - - - --180 -180 -90.00 --90.00 - - - - -GCMD DIF 5.33 -NCEP -Air temperature -Geopotential height -Precipitable Water Content -Precipitable water Content -Relative humidity -Sea level pressure -Station pressure -Surface potential temperature -Surface Pressure -Tropopause Pressure -Tropopause temperature -u-wind -v-wind - - -none -Global - - -none -none - - -none -19790101, 20001201 - - -None -None. Acknowledgement of PSD would appreciated in products derived from these data. - - - -PSD Data Management - - -mailing address -
NOAA/ESRL Physical Sciences Division
-
U.S. Dept. of Commerce
-
NOAA, R/PSD
-
325 Broadway
-Boulder -CO -80305 -USA -
-(303) 497-6640 -(303) 497-6020 -esrl.psd.data@noaa.gov -
-
- -None -Unclassified -None - -Data resides in netCDF files at PSD -
- - -Data QC'd at source. We have checked our stored values. - -None -None - - -None - - - - - - -None -20001201 -None -None -None - - -None - - - -9999 -9999 - - -None - -None -None - - -None -9999 - - - - - - - -PSD Data Management - - -mailing address -
NOAA/ESRL Physical Sciences Division
-
U.S. Dept. of Commerce
-
NOAA, Code R/PSD
-
325 Broadway
-Boulder -CO -80305 -USA -
-(303) 497-7200 -(303) 497-6020 -esrl.psd.data@noaa.gov -
-
-No warranty expressed or implied. -
- -20001201 - - - -PSD Data Management - - -mailing address -
NOAA/ESRL Physical Sciences Division
-
U.S. Dept. of Commerce
-
NOAA, Code R/PSD
-
325 Broadway
-Boulder -CO -80305 -USA -
-(303) 497-7200 -(303) 497-6020 -esrl.psd.data@noaa.gov -
-
-FGDC Content Standards for Digital Geospatial Metadata -FGDC-STD-001-1998 - -None -Unclassified -None - -
-
-
-
diff --git a/tests/suites/manager/post/Transaction-fgdc-02-update-recprop.xml b/tests/suites/manager/post/Transaction-fgdc-02-update-recprop.xml deleted file mode 100644 index 252beb6be..000000000 --- a/tests/suites/manager/post/Transaction-fgdc-02-update-recprop.xml +++ /dev/null @@ -1,17 +0,0 @@ - - - - - idinfo/citation/citeinfo/title - NEW_TITLE - - - - - dct:abstract - NCEP% - - - - - diff --git a/tests/suites/manager/post/Transaction-fgdc-03-delete-all.xml b/tests/suites/manager/post/Transaction-fgdc-03-delete-all.xml deleted file mode 100644 index 9e0fba0d7..000000000 --- a/tests/suites/manager/post/Transaction-fgdc-03-delete-all.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - dc:identifier - % - - - - - diff --git a/tests/suites/manager/post/Transaction-iso-00-delete-all.xml b/tests/suites/manager/post/Transaction-iso-00-delete-all.xml deleted file mode 100644 index 0fb063efc..000000000 --- a/tests/suites/manager/post/Transaction-iso-00-delete-all.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - apiso:Identifier - % - - - - - diff --git a/tests/suites/manager/post/Transaction-iso-01-insert.xml b/tests/suites/manager/post/Transaction-iso-01-insert.xml deleted file mode 100644 index 1b238dd4d..000000000 --- a/tests/suites/manager/post/Transaction-iso-01-insert.xml +++ /dev/null @@ -1,73 +0,0 @@ - - - - - - 12345 - - - - - - - - pycsw - - - - - - - - 2011-05-17 - - - - - - - pycsw record - - - - - 2011-05-17 - - - - - - - - - - Sample metadata record - - - eng - - - - - - - -180 - - - 180 - - - -90 - - - 90 - - - - - - - - - - diff --git a/tests/suites/manager/post/Transaction-iso-02-update-full.xml b/tests/suites/manager/post/Transaction-iso-02-update-full.xml deleted file mode 100644 index a5a5d0019..000000000 --- a/tests/suites/manager/post/Transaction-iso-02-update-full.xml +++ /dev/null @@ -1,73 +0,0 @@ - - - - - - 12345 - - - - - - - - pycsw - - - - - - - - 2011-05-17 - - - - - - - pycsw record UPDATED - - - - - 2011-05-17 - - - - - - - - - - Sample metadata record - - - eng - - - - - - - -180 - - - 180 - - - -90 - - - 90 - - - - - - - - - - diff --git a/tests/suites/manager/post/Transaction-iso-03-update-recprop.xml b/tests/suites/manager/post/Transaction-iso-03-update-recprop.xml deleted file mode 100644 index a130a5f25..000000000 --- a/tests/suites/manager/post/Transaction-iso-03-update-recprop.xml +++ /dev/null @@ -1,17 +0,0 @@ - - - - - apiso:Title - NEW_TITLE - - - - - apiso:Identifier - 12345 - - - - - diff --git a/tests/suites/manager/post/Transaction-iso-04-update-recprop-no-matches.xml b/tests/suites/manager/post/Transaction-iso-04-update-recprop-no-matches.xml deleted file mode 100644 index e1ff7ac3a..000000000 --- a/tests/suites/manager/post/Transaction-iso-04-update-recprop-no-matches.xml +++ /dev/null @@ -1,17 +0,0 @@ - - - - - apiso:Title - NEW_TITLE - - - - - apiso:Identifier - non-existent - - - - - diff --git a/tests/suites/manager/post/Transaction-iso-05-delete.xml b/tests/suites/manager/post/Transaction-iso-05-delete.xml deleted file mode 100644 index 675a8690e..000000000 --- a/tests/suites/manager/post/Transaction-iso-05-delete.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - apiso:Identifier - 12345 - - - - - diff --git a/tests/suites/manager/post/Transaction-xxx-delete-all.xml b/tests/suites/manager/post/Transaction-xxx-delete-all.xml deleted file mode 100644 index 827ccc7f0..000000000 --- a/tests/suites/manager/post/Transaction-xxx-delete-all.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - dc:identifier - % - - - - - diff --git a/tests/suites/oaipmh/default.cfg b/tests/suites/oaipmh/default.cfg deleted file mode 100644 index 18a08989f..000000000 --- a/tests/suites/oaipmh/default.cfg +++ /dev/null @@ -1,91 +0,0 @@ -# ================================================================= -# -# Authors: Tom Kralidis -# -# Copyright (c) 2011 Tom Kralidis -# -# Permission is hereby granted, free of charge, to any person -# obtaining a copy of this software and associated documentation -# files (the "Software"), to deal in the Software without -# restriction, including without limitation the rights to use, -# copy, modify, merge, publish, distribute, sublicense, and/or sell -# copies of the Software, and to permit persons to whom the -# Software is furnished to do so, subject to the following -# conditions: -# -# The above copyright notice and this permission notice shall be -# included in all copies or substantial portions of the Software. -# -# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -# EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES -# OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -# NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT -# HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, -# WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING -# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR -# OTHER DEALINGS IN THE SOFTWARE. -# -# ================================================================= - -[server] -home=. -url=http://localhost/pycsw/csw.py?config=tests/suites/oaipmh/default.cfg -mimetype=application/xml; charset=UTF-8 -encoding=UTF-8 -language=en-US -maxrecords=10 -#loglevel=DEBUG -#logfile=/tmp/pycsw.log -#ogc_schemas_base=http://foo -federatedcatalogues=http://geo.data.gov/geoportal/csw/discovery -pretty_print=true -profiles=apiso -#gzip_compresslevel=8 -#spatial_ranking=true - -[manager] -transactions=false -allowed_ips=127.0.0.1 - -[metadata:main] -identification_title=pycsw Geospatial Catalogue -identification_abstract=pycsw is an OGC CSW server implementation written in Python -identification_keywords=catalogue,discovery -identification_keywords_type=theme -identification_fees=None -identification_accessconstraints=None -provider_name=pycsw -provider_url=http://pycsw.org/ -contact_name=Kralidis, Tom -contact_position=Senior Systems Scientist -contact_address=TBA -contact_city=Toronto -contact_stateorprovince=Ontario -contact_postalcode=M9C 3Z9 -contact_country=Canada -contact_phone=+01-416-xxx-xxxx -contact_fax=+01-416-xxx-xxxx -contact_email=tomkralidis@gmail.com -contact_url=http://kralidis.ca/ -contact_hours=0800h - 1600h EST -contact_instructions=During hours of service. Off on weekends. -contact_role=pointOfContact - -[repository] -# sqlite -database=sqlite:///tests/suites/cite/data/records.db -# postgres -#database=postgres://username:password@localhost/pycsw -table=records - -[metadata:inspire] -enabled=false -languages_supported=eng,gre -default_language=eng -date=2011-03-29 -gemet_keywords=Utility and governmental services -conformity_service=notEvaluated -contact_name=National Technical University of Athens -contact_email=tzotsos@gmail.com -temp_extent=2011-02-01/2011-03-30 - diff --git a/tests/suites/oaipmh/get/requests.txt b/tests/suites/oaipmh/get/requests.txt deleted file mode 100644 index bf6955232..000000000 --- a/tests/suites/oaipmh/get/requests.txt +++ /dev/null @@ -1,20 +0,0 @@ -empty,mode=oaipmh -empty_with_amp,mode=oaipmh& -bad_verb,mode=oaipmh&verb=foo -illegal_verb,mode=oaipmh&verb=foo&foo=bar -Identify,mode=oaipmh&verb=Identify -ListSets,mode=oaipmh&verb=ListSets -ListMetadataFormats,mode=oaipmh&verb=ListMetadataFormats -GetRecord_dc,mode=oaipmh&verb=GetRecord&identifier=urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f&metadataPrefix=csw-record -GetRecord_bad_metadata_prefix,mode=oaipmh&verb=GetRecord&identifier=urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f&metadataPrefix=csw-recordd -GetRecord_oai_dc,mode=oaipmh&verb=GetRecord&identifier=urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f&metadataPrefix=oai_dc -GetRecord_iso,mode=oaipmh&verb=GetRecord&identifier=urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f&metadataPrefix=iso19139 -ListIdentifiers_missing_metadata_prefix,mode=oaipmh&verb=ListIdentifiers -ListIdentifiers_dc,mode=oaipmh&verb=ListIdentifiers&metadataPrefix=csw-record -ListIdentifiers_iso,mode=oaipmh&verb=ListIdentifiers&metadataPrefix=iso19139 -ListIdentifiers_oai_dc,mode=oaipmh&verb=ListIdentifiers&metadataPrefix=oai_dc -ListIdentifiers_bad_metadata_prefix,mode=oaipmh&verb=ListIdentifiers&metadataPrefix=foo -ListRecords_dc,mode=oaipmh&verb=ListRecords&metadataPrefix=csw-record -ListRecords_dc_bad_metadata_prefix,mode=oaipmh&verb=ListRecords&metadataPrefix=csw-recording -ListRecords_oai_dc,mode=oaipmh&verb=ListRecords&metadataPrefix=oai_dc -ListRecords_iso19139,mode=oaipmh&verb=ListRecords&metadataPrefix=iso19139 diff --git a/tests/suites/repofilter/default.cfg b/tests/suites/repofilter/default.cfg deleted file mode 100644 index 63339ccbb..000000000 --- a/tests/suites/repofilter/default.cfg +++ /dev/null @@ -1,91 +0,0 @@ -# ================================================================= -# -# Authors: Tom Kralidis -# -# Copyright (c) 2011 Tom Kralidis -# -# Permission is hereby granted, free of charge, to any person -# obtaining a copy of this software and associated documentation -# files (the "Software"), to deal in the Software without -# restriction, including without limitation the rights to use, -# copy, modify, merge, publish, distribute, sublicense, and/or sell -# copies of the Software, and to permit persons to whom the -# Software is furnished to do so, subject to the following -# conditions: -# -# The above copyright notice and this permission notice shall be -# included in all copies or substantial portions of the Software. -# -# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -# EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES -# OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -# NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT -# HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, -# WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING -# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR -# OTHER DEALINGS IN THE SOFTWARE. -# -# ================================================================= - -[server] -home=. -url=http://localhost/pycsw/csw.py?config=tests/suites/repofilter/default.cfg -mimetype=application/xml; charset=UTF-8 -encoding=UTF-8 -language=en-US -maxrecords=10 -#loglevel=DEBUG -#logfile=/tmp/pycsw.log -#ogc_schemas_base=http://foo -federatedcatalogues=http://geo.data.gov/geoportal/csw/discovery -pretty_print=true -#gzip_compresslevel=8 -#spatial_ranking=true - -[manager] -transactions=false -allowed_ips=127.0.0.1 - -[metadata:main] -identification_title=pycsw Geospatial Catalogue -identification_abstract=pycsw is an OGC CSW server implementation written in Python -identification_keywords=catalogue,discovery -identification_keywords_type=theme -identification_fees=None -identification_accessconstraints=None -provider_name=pycsw -provider_url=http://pycsw.org/ -contact_name=Kralidis, Tom -contact_position=Senior Systems Scientist -contact_address=TBA -contact_city=Toronto -contact_stateorprovince=Ontario -contact_postalcode=M9C 3Z9 -contact_country=Canada -contact_phone=+01-416-xxx-xxxx -contact_fax=+01-416-xxx-xxxx -contact_email=tomkralidis@gmail.com -contact_url=http://kralidis.ca/ -contact_hours=0800h - 1600h EST -contact_instructions=During hours of service. Off on weekends. -contact_role=pointOfContact - -[repository] -# sqlite -database=sqlite:///tests/suites/cite/data/records.db -# postgres -#database=postgres://username:password@localhost/pycsw -table=records -filter=type = 'http://purl.org/dc/dcmitype/Dataset' - -[metadata:inspire] -enabled=false -languages_supported=eng,gre -default_language=eng -date=2011-03-29 -gemet_keywords=Utility and governmental services -conformity_service=notEvaluated -contact_name=National Technical University of Athens -contact_email=tzotsos@gmail.com -temp_extent=2011-02-01/2011-03-30 - diff --git a/tests/suites/repofilter/post/GetRecordById-masked.xml b/tests/suites/repofilter/post/GetRecordById-masked.xml deleted file mode 100644 index 1a61c85a8..000000000 --- a/tests/suites/repofilter/post/GetRecordById-masked.xml +++ /dev/null @@ -1,5 +0,0 @@ - - - urn:uuid:784e2afd-a9fd-44a6-9a92-a3848371c8ec - summary - diff --git a/tests/suites/repofilter/post/GetRecords-all.xml b/tests/suites/repofilter/post/GetRecords-all.xml deleted file mode 100644 index ecae692a0..000000000 --- a/tests/suites/repofilter/post/GetRecords-all.xml +++ /dev/null @@ -1,6 +0,0 @@ - - - - full - - diff --git a/tests/suites/sru/default.cfg b/tests/suites/sru/default.cfg deleted file mode 100644 index 0140efaf4..000000000 --- a/tests/suites/sru/default.cfg +++ /dev/null @@ -1,90 +0,0 @@ -# ================================================================= -# -# Authors: Tom Kralidis -# -# Copyright (c) 2011 Tom Kralidis -# -# Permission is hereby granted, free of charge, to any person -# obtaining a copy of this software and associated documentation -# files (the "Software"), to deal in the Software without -# restriction, including without limitation the rights to use, -# copy, modify, merge, publish, distribute, sublicense, and/or sell -# copies of the Software, and to permit persons to whom the -# Software is furnished to do so, subject to the following -# conditions: -# -# The above copyright notice and this permission notice shall be -# included in all copies or substantial portions of the Software. -# -# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -# EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES -# OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -# NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT -# HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, -# WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING -# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR -# OTHER DEALINGS IN THE SOFTWARE. -# -# ================================================================= - -[server] -home=. -url=http://localhost/pycsw/csw.py?config=tests/suites/sru/default.cfg -mimetype=application/xml; charset=UTF-8 -encoding=UTF-8 -language=en-US -maxrecords=10 -#loglevel=DEBUG -#logfile=/tmp/pycsw.log -#ogc_schemas_base=http://foo -federatedcatalogues=http://geo.data.gov/geoportal/csw/discovery -pretty_print=true -#gzip_compresslevel=8 -#spatial_ranking=true - -[manager] -transactions=false -allowed_ips=127.0.0.1 - -[metadata:main] -identification_title=pycsw Geospatial Catalogue -identification_abstract=pycsw is an OGC CSW server implementation written in Python -identification_keywords=catalogue,discovery -identification_keywords_type=theme -identification_fees=None -identification_accessconstraints=None -provider_name=pycsw -provider_url=http://pycsw.org/ -contact_name=Kralidis, Tom -contact_position=Senior Systems Scientist -contact_address=TBA -contact_city=Toronto -contact_stateorprovince=Ontario -contact_postalcode=M9C 3Z9 -contact_country=Canada -contact_phone=+01-416-xxx-xxxx -contact_fax=+01-416-xxx-xxxx -contact_email=tomkralidis@gmail.com -contact_url=http://kralidis.ca/ -contact_hours=0800h - 1600h EST -contact_instructions=During hours of service. Off on weekends. -contact_role=pointOfContact - -[repository] -# sqlite -database=sqlite:///tests/suites/cite/data/records.db -# postgres -#database=postgres://username:password@localhost/pycsw -table=records - -[metadata:inspire] -enabled=false -languages_supported=eng,gre -default_language=eng -date=2011-03-29 -gemet_keywords=Utility and governmental services -conformity_service=notEvaluated -contact_name=National Technical University of Athens -contact_email=tzotsos@gmail.com -temp_extent=2011-02-01/2011-03-30 - diff --git a/tests/suites/sru/get/requests.txt b/tests/suites/sru/get/requests.txt deleted file mode 100644 index 3db4b8cd0..000000000 --- a/tests/suites/sru/get/requests.txt +++ /dev/null @@ -1,5 +0,0 @@ -explain,mode=sru -search,mode=sru&version=1.1&operation=searchRetrieve&query=lor -search_maxrecords,mode=sru&operation=searchRetrieve&query=lor&maximumRecords=2 -search_startrecord_maxrecords,mode=sru&operation=searchRetrieve&query=lor&maximumRecords=2&startRecord=1 -search_cql,mode=sru&operation=searchRetrieve&query=dc:title%20like%20'%lor%'&maximumRecords=5 diff --git a/tests/suites/utf-8/default.cfg b/tests/suites/utf-8/default.cfg deleted file mode 100644 index d68bfbdcb..000000000 --- a/tests/suites/utf-8/default.cfg +++ /dev/null @@ -1,89 +0,0 @@ -# ================================================================= -# -# Authors: Tom Kralidis -# -# Copyright (c) 2011 Tom Kralidis -# -# Permission is hereby granted, free of charge, to any person -# obtaining a copy of this software and associated documentation -# files (the "Software"), to deal in the Software without -# restriction, including without limitation the rights to use, -# copy, modify, merge, publish, distribute, sublicense, and/or sell -# copies of the Software, and to permit persons to whom the -# Software is furnished to do so, subject to the following -# conditions: -# -# The above copyright notice and this permission notice shall be -# included in all copies or substantial portions of the Software. -# -# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -# EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES -# OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -# NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT -# HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, -# WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING -# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR -# OTHER DEALINGS IN THE SOFTWARE. -# -# ================================================================= - -[server] -home=. -url=http://localhost/pycsw/csw.py?config=tests/suites/utf-8/default.cfg -mimetype=application/xml; charset=UTF-8 -encoding=UTF-8 -language=en-US -maxrecords=10 -#loglevel=DEBUG -#logfile=/tmp/pycsw.log -#ogc_schemas_base=http://foo -federatedcatalogues=http://demo.pycsw.org/gisdata/csw -pretty_print=true -#gzip_compresslevel=8 -#spatial_ranking=true - -[manager] -transactions=false -allowed_ips=127.0.0.1 - -[metadata:main] -identification_title=ErrŹĆŁÓdd -identification_abstract=pycsw is an OGC CSW server implementation written in Python -identification_keywords=catalogue,discovery -identification_keywords_type=theme -identification_fees=None -identification_accessconstraints=None -provider_name=pycsw -provider_url=http://pycsw.org/ -contact_name=Kralidis, Tom -contact_position=Senior Systems Scientist -contact_address=TBA -contact_city=Toronto -contact_stateorprovince=Ontario -contact_postalcode=M9C 3Z9 -contact_country=Canada -contact_phone=+01-416-xxx-xxxx -contact_fax=+01-416-xxx-xxxx -contact_email=tomkralidis@gmail.com -contact_url=http://kralidis.ca/ -contact_hours=0800h - 1600h EST -contact_instructions=During hours of service. Off on weekends. -contact_role=pointOfContact - -[repository] -# sqlite -database=sqlite:///tests/suites/cite/data/records.db -# postgres -#database=postgres://username:password@localhost/pycsw -table=records - -[metadata:inspire] -enabled=false -languages_supported=eng,gre -default_language=eng -date=2011-03-29 -gemet_keywords=Utility and governmental services -conformity_service=notEvaluated -contact_name=National Technical University of Athens -contact_email=tzotsos@gmail.com -temp_extent=2011-02-01/2011-03-30 diff --git a/tests/suites/utf-8/post/GetCapabilities.xml b/tests/suites/utf-8/post/GetCapabilities.xml deleted file mode 100644 index e4dc8070b..000000000 --- a/tests/suites/utf-8/post/GetCapabilities.xml +++ /dev/null @@ -1,9 +0,0 @@ - - - - 2.0.2 - - - application/xml - - From 76bf5df074b34c1c7d0d8552363f250eed469924 Mon Sep 17 00:00:00 2001 From: Ricardo Garcia Silva Date: Wed, 14 Dec 2016 17:54:51 +0000 Subject: [PATCH 064/119] deleted older run_tests.py test runner --- tests/run_tests.py | 575 --------------------------------------------- 1 file changed, 575 deletions(-) delete mode 100644 tests/run_tests.py diff --git a/tests/run_tests.py b/tests/run_tests.py deleted file mode 100644 index bae2e4bea..000000000 --- a/tests/run_tests.py +++ /dev/null @@ -1,575 +0,0 @@ -#!/usr/bin/python -# ================================================================= -# -# Authors: Tom Kralidis -# Ricardo Garcia Silva -# -# Copyright (c) 2016 Tom Kralidis -# Copyright (c) 2016 Ricardo Garcia Silva -# -# Permission is hereby granted, free of charge, to any person -# obtaining a copy of this software and associated documentation -# files (the "Software"), to deal in the Software without -# restriction, including without limitation the rights to use, -# copy, modify, merge, publish, distribute, sublicense, and/or sell -# copies of the Software, and to permit persons to whom the -# Software is furnished to do so, subject to the following -# conditions: -# -# The above copyright notice and this permission notice shall be -# included in all copies or substantial portions of the Software. -# -# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -# EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES -# OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -# NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT -# HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, -# WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING -# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR -# OTHER DEALINGS IN THE SOFTWARE. -# -# ================================================================= - -# simple testing framework inspired by MapServer msautotest - -import codecs -import csv -import filecmp -import getopt -import glob -from io import BytesIO -import json -import os -import re -import sys -import time - -from lxml import etree -from lxml import objectify - -from pycsw.core.util import get_elapsed_time, http_request - -ENCODING = 'utf-8' - -def plural(num): - """Determine plurality given an integer""" - if num != 1: - return 's' - else: - return '' - - -def test_xml_result(result, expected, encoding=ENCODING): - """Compare the XML test results with an expected value. - - This function compares the test result with the expected values by - performing XML canonicalization (c14n)[1]_. - - Parameters - ---------- - result: str - The result of running the test. - expected: str - The expected outcome. - - Returns - ------- - bool - Whether the result matches the expectations or not. - - Raises - ------ - etree.XMLSyntaxError - If any of the input parameters is not a valid XMl. - etree.C14NError - If any of the input parameters cannot be canonicalized. This may - happen if there are relative namespace URIs in any of the XML - documents, as they are explicitly not allowed when doing XML c14n - - References - ---------- - .. [1] http://www.w3.org/TR/xml-c14n - - """ - - try: - result_element = etree.fromstring(result) - expected_element = etree.fromstring(expected.encode(encoding)) - result_buffer = BytesIO() - result_tree = result_element.getroottree() - objectify.deannotate(result_tree, cleanup_namespaces=True) - result_tree.write_c14n(result_buffer) - expected_buffer = BytesIO() - expected_tree = expected_element.getroottree() - objectify.deannotate(expected_tree, cleanup_namespaces=True) - expected_tree.write_c14n(expected_buffer) - matches = result_buffer.getvalue() == expected_buffer.getvalue() - if not matches: - print("result:") - print(result_buffer.getvalue()) - print("+++++++++++++++++++++++") - print("expected:") - print(expected_buffer.getvalue()) - - except etree.XMLSyntaxError: - matches = None - return matches - - -def test_json_result(result, expected, encoding=ENCODING): - """Compare the JSON test results with an expected value. - - Parameters - ---------- - result: str - The result of running the test. - expected: str - The expected outcome. - - Returns - ------- - bool - Whether the result matches the expectations or not. - - """ - - try: - result_dict = json.loads(result.decode(encoding), encoding=encoding) - expected_dict = json.loads(expected, encoding=encoding) - except ValueError: - matches = None - else: - matches = result_dict == expected_dict - return matches - - -def get_validity(expected_path, result, output_file_name, force_id_mask=False): - """Test whether the test result matches the expected outcome. - - This function deals with both XML and JSON results. It first tries to - parse the result and the expected outcome as XML and evaluates them using - XML canonicalization (c14n). If the result cannot be parsed as XML, it then - tries to load it as JSON and does a sorted comparison. - - Parameters - ---------- - expected_path: str - The path to the file that has the expected test outcome - result: str - The actual result that was generated by running the test code - output_file_name: str - Name of the file that will be written to disk with the contents of - the result - force_id_mask: bool, optional - Whether to apply result normalization to id fields - - Returns - ------- - int - One of three possible values: - - * If the input `expected_path` could not be found, the results will - be used to generate a new expected file. In this case the return - value will be 0; - * If the result matches the expected outcome, the return value is 1; - * If the result does not match the expected outcome the return value is - -1. - - """ - - normalized_result = normalize(result, force_id_mask=force_id_mask) - if not os.path.exists(expected_path): # create expected file - with codecs.open(expected_path, 'w', encoding=ENCODING) as f: - f.write(normalized_result) - status = 0 - else: # compare result with expected - with codecs.open(expected_path, encoding=ENCODING) as expected_fh: - expected = expected_fh.read() - matches_expected = test_xml_result(normalized_result, expected) - if matches_expected is None: - # the file is either not XML (perhaps JSON?) or malformed - matches_expected = test_json_result( - normalized_result, expected, encoding=ENCODING) - if matches_expected: # pass - status = 1 - else: # failed - status = -1 - if not os.path.exists('results'): - os.mkdir('results') - with open('results%s%s' % (os.sep, output_file_name), 'wb') as f: - f.write(normalized_result) - return status - - -def pedantic_get_validity(sexpected, sresult, soutfile, force_id_mask=False): - """Decipher whether the output passes, fails, or initializes""" - if not os.path.exists(sexpected): # create expected file - with open(sexpected, 'w') as f: - f.write(normalize(sresult, force_id_mask)) - sstatus = 0 - else: # compare result with expected - if not os.path.exists('results'): - os.mkdir('results') - with open('results%s%s' % (os.sep, soutfile), 'wb') as f: - f.write(normalize(sresult, force_id_mask)) - if filecmp.cmp(sexpected, 'results%s%s' % (os.sep, soutfile)): # pass - os.remove('results%s%s' % (os.sep, soutfile)) - sstatus = 1 - else: # fail - import difflib - with codecs.open(sexpected, encoding=ENCODING) as a: - with codecs.open('results%s%s' % (os.sep, soutfile), - encoding=ENCODING) as b: - a2 = a.readlines() - b2 = b.readlines() - diff = difflib.unified_diff(a2, b2) - print('\n'.join(list(diff))) - if len(a2) != len(b2): - print('LINE COUNT: expected: %d, result: %d' % (len(a2), len(b2))) - sstatus = -1 - return sstatus - - -def normalize(sresult, force_id_mask=False): - """Replace time, updateSequence and version specific values with generic - values""" - - # XML responses - version = re.search(b'', sresult) - updatesequence = re.search(b'updateSequence="(\S+)"', sresult) - timestamp = re.search(b'timestamp="(.*)"', sresult) - timestamp2 = re.search(b'timeStamp="(.*)"', sresult) - timestamp3 = re.search(b'(.*)', sresult) - timestamp4 = re.search(b'(.*)', sresult) - zrhost = re.search(b'(.*)', sresult) - zrport = re.search(b'(.*)', sresult) - elapsed_time = re.search(b'elapsedTime="(.*)"', sresult) - expires = re.search(b'expires="(.*?)"', sresult) - atom_updated = re.findall(b'(.*)', sresult) - - if version: - sresult = sresult.replace(version.group(0), b'') - if updatesequence: - sresult = sresult.replace(updatesequence.group(0), - b'updateSequence="PYCSW_UPDATESEQUENCE"') - if timestamp: - sresult = sresult.replace(timestamp.group(0), - b'timestamp="PYCSW_TIMESTAMP"') - if timestamp2: - sresult = sresult.replace(timestamp2.group(0), - b'timeStamp="PYCSW_TIMESTAMP"') - if timestamp3: - sresult = sresult.replace(timestamp3.group(0), - b'PYCSW_TIMESTAMP') - if timestamp4: - sresult = sresult.replace(timestamp4.group(0), - b'PYCSW_TIMESTAMP') - if zrport: - sresult = sresult.replace(zrport.group(0), - b'PYCSW_PORT') - if zrhost: - sresult = sresult.replace(zrhost.group(0), - b'PYCSW_HOST') - if elapsed_time: - sresult = sresult.replace(elapsed_time.group(0), - b'elapsedTime="PYCSW_ELAPSED_TIME"') - if expires: - sresult = sresult.replace(expires.group(0), - b'expires="PYCSW_EXPIRES"') - for au in atom_updated: - sresult = sresult.replace(au, b'PYCSW_TIMESTAMP') - - # for csw:HarvestResponse documents, mask identifiers - # which are dynamically generated for OWS endpoints - if sresult.find(b'HarvestResponse') != -1: - identifier = re.findall(b'(\S+)', - sresult) - for i in identifier: - sresult = sresult.replace(i, b'PYCSW_IDENTIFIER') - - # JSON responses - timestamp = re.search(b'"@timestamp": "(.*?)"', sresult) - - if timestamp: - sresult = sresult.replace(timestamp.group(0), - b'"@timestamp": "PYCSW_TIMESTAMP"') - - # harvesting-based GetRecords/GetRecordById responses - if force_id_mask: - dcid = re.findall(b'(urn:uuid.*)', sresult) - isoid = re.findall(b'id="(urn:uuid.*)"', sresult) - isoid2 = re.findall(b'(urn:uuid.*) [-l logfile] [-s suite1[,suite2]] - - Available options: - - -u URL to test - - -l log results to file - - -s testsuites to run (comma-seperated list) - - -p run tests in pedantic mode (byte level diff check) (default: c14n mode) - - -d database (SQLite3 [default], PostgreSQL, MySQL) - - -r run tests which harvest remote resources (default off) - - -t time (milliseconds) in which requests should complete - -EXAMPLES - - 1.) default test example - - run_tests.py -u http://localhost:8000/ - - 2.) log results to logfile - - run_tests.py -u http://localhost:8000/ -l /path/to/results.log - - 3.) run only specified testsuites - - run_tests.py -u http://localhost:8000/ -s default,apiso - - 4.) run tests including remote harvest tests - - run_tests.py -u http://localhost:8000/ -s default,apiso -r - - 5.) default test example with 1000ms time benchmark - - run_tests.py -u http://localhost:8000/ -t 1000 - - -''' - -# main - -if len(sys.argv) < 2: - print(usage()) - sys.exit(1) - -URL = sys.argv[1] - -URL = None -LOGFILE = None -TESTSUITES = [] - -PASSED = 0 -FAILED = 0 -WARNING = 0 -INITED = 0 - -LOGWRITER = None -DATABASE = 'SQLite3' -REMOTE = False -PEDANTIC = False -TIME = None - -try: - OPTS, ARGS = getopt.getopt(sys.argv[1:], 'u:l:s:d:t:rhp') -except getopt.GetoptError as err: - print('\nERROR: %s' % err) - print(usage()) - sys.exit(2) - -for o, a in OPTS: - if o == '-u': - URL = a - if o == '-l': - LOGFILE = a - if o == '-d': - DATABASE = a - if o == '-t': - TIME = int(a) - if o == '-r': - REMOTE = True - if o == '-p': - PEDANTIC = True - if o == '-s': - TESTSUITES = a.split(',') - if o == '-h': # dump help and exit - print(usage()) - sys.exit(3) - -print('\nRunning tests against %s' % URL) - -if LOGFILE is not None: # write detailed output to CSV - LOGWRITER = csv.writer(open(LOGFILE, 'wb')) - LOGWRITER.writerow(['url', 'configuration', 'testname', 'result']) - -if TIME is not None: # perform benchmarking - print('Benchmark: %dms' % TIME) - -if TESTSUITES: - if 'harvesting' in TESTSUITES: - REMOTE = True - TESTSUITES_LIST = ['suites%s%s' % (os.sep, x) for x in TESTSUITES] -else: - TESTSUITES_LIST = glob.glob('suites%s*' % os.sep) - -for testsuite in TESTSUITES_LIST: - if not os.path.exists(testsuite): - raise RuntimeError('Testsuite %s not found' % testsuite) - - if testsuite == 'suites%sharvesting' % os.sep and not REMOTE: - continue - - force_id_mask = False - if testsuite in ['suites%smanager' % os.sep, 'suites%sharvesting' % os.sep]: - force_id_mask = True - - # get configuration - for cfg in glob.glob('%s%s*.cfg' % (testsuite, os.sep)): - print('\nTesting configuration %s' % cfg) - - for root, dirs, files in os.walk(testsuite): - if files: - for sfile in sorted(files): - if os.path.splitext(sfile)[1] not in ['.xml', '.txt']: - break - - if sfile == 'requests.txt': # GET requests - filename = '%s%s%s' % (root, os.sep, sfile) - with open(filename) as f: - gets = csv.reader(f) - for row in gets: - testfile = '%s%s%s' % (root, os.sep, sfile) - request = ','.join(row[1:]).replace('PYCSW_SERVER', - URL) - outfile = '%s%s' % (root.replace(os.sep, '_'), - '_%s.xml' % row[0]) - expected = 'expected%s%s' % (os.sep, outfile) - print('\n test %s:%s' % (testfile, row[0])) - - try: - begin = time.time() - result = http_request('GET', request) - end = time.time() - elapsed = get_elapsed_time(begin, end) - print(' completed in %dms' % elapsed) - except Exception as err: - result = err.read() - if PEDANTIC: - status = pedantic_get_validity( - expected, result, outfile, - force_id_mask - ) - else: - try: - status = get_validity(expected, result, - outfile, - force_id_mask) - except etree.C14NError: - print("Could not canonicalize {0}. " - "Using pedantic " - "mode".format(row[0])) - status = pedantic_get_validity( - expected, result, outfile, - force_id_mask - ) - - if status == 1: - print(' passed') - PASSED += 1 - elif status == 0: - print(' initialized') - INITED += 1 - elif status == -1 and DATABASE == 'PostgreSQL': - print(' warning: possible collation issue') - WARNING += 1 - else: - print(' FAILED') - FAILED += 1 - - if TIME and get_elapsed_time(begin, end) > TIME: - print(' FAILED BENCHMARK') - - if LOGWRITER is not None: - LOGWRITER.writerow([URL, cfg, - testfile, status]) - - else: # POST requests - testfile = '%s%s%s' % (root, os.sep, sfile) - if '%sdata' % os.sep in testfile: # sample data - break - outfile = '%s%s' % (os.sep, - testfile.replace(os.sep, '_')) - expected = 'expected%s%s' % (os.sep, outfile) - print('\n test %s' % testfile) - - # read test - with codecs.open(testfile, encoding=ENCODING) as fh: - request = fh.read().encode(ENCODING) - - configkvp = 'config=tests%s%s' % (os.sep, cfg) - url2 = '%s?%s' % (URL, configkvp) - - # invoke request - try: - begin = time.time() - result = http_request('POST', url2, request) - end = time.time() - elapsed = get_elapsed_time(begin, end) - print(' completed in %dms' % elapsed) - except Exception as err: - result = err.read() - if PEDANTIC: - status = pedantic_get_validity( - expected, result, outfile, force_id_mask) - else: - try: - status = get_validity(expected, result, outfile, - force_id_mask) - except etree.C14NError: - print("Could not canonicalize {0}. Using " - "pedantic mode".format(sfile)) - status = pedantic_get_validity( - expected, result, outfile, force_id_mask) - - if status == 1: - print(' passed') - PASSED += 1 - elif status == 0: - print(' initialized') - INITED += 1 - elif status == -1 and DATABASE == 'PostgreSQL': - print(' warning: possible sorting collation issue') - WARNING += 1 - else: - print(' FAILED') - FAILED += 1 - - if TIME and get_elapsed_time(begin, end) > TIME: - print(' FAILED BENCHMARK') - - if LOGWRITER is not None: - LOGWRITER.writerow([URL, cfg, testfile, status]) - -if LOGWRITER is not None: - LOGWRITER.close() - -print('\nResults (%d/%d - %.2f%%)' % - (PASSED, PASSED + FAILED, float(PASSED) / float(PASSED + FAILED) * 100)) -print(' %d test%s passed' % (PASSED, plural(PASSED))) -print(' %d test%s warnings' % (WARNING, plural(WARNING))) -print(' %d test%s failed' % (FAILED, plural(FAILED))) -print(' %d test%s initialized' % (INITED, plural(INITED))) - -sys.exit(FAILED) From 2ba3579e4aaefc5d5e72b773657bbb3d58e40de1 Mon Sep 17 00:00:00 2001 From: Kyle Wilcox Date: Wed, 14 Dec 2016 14:25:58 -0500 Subject: [PATCH 065/119] Convert py3 bytes to str before exporting and test exporting (#491) --- .gitignore | 2 ++ .travis.yml | 1 + pavement.py | 9 +++++++-- pycsw/core/admin.py | 7 ++++++- tests/run_tests.py | 36 +++++++++++++++++++----------------- 5 files changed, 35 insertions(+), 20 deletions(-) diff --git a/.gitignore b/.gitignore index a30ade7c4..d0252ede2 100644 --- a/.gitignore +++ b/.gitignore @@ -9,6 +9,8 @@ MANIFEST # testing artifacts tests/index.html tests/results +tests/suites/*/exports +tests/expected/suites_*exports_* # test configurations /default.cfg diff --git a/.travis.yml b/.travis.yml index c34d7b63d..714532b33 100644 --- a/.travis.yml +++ b/.travis.yml @@ -7,6 +7,7 @@ python: - "2.6" - "2.7" - "3.4" + - "3.5" #matrix: # allow_failures: diff --git a/pavement.py b/pavement.py index e9d70f536..5fff1ef81 100644 --- a/pavement.py +++ b/pavement.py @@ -171,7 +171,8 @@ def setup_testdata(): datapath = path('tests/suites/%s/data' % database) info('Loading test data from %s' % datapath) sh('pycsw-admin.py -c load_records -f %s -p %s' % (cfg, datapath)) - + exportpath = path('tests/suites/%s/exports' % database) + sh('pycsw-admin.py -c export_records -f %s -p %s' % (cfg, exportpath)) @task @cmdopts([ @@ -229,7 +230,7 @@ def test(options): if database == 'PostgreSQL': # configure PG - from pycsw.admin import setup_db, load_records + from pycsw.admin import setup_db, load_records, export_records from pycsw.config import StaticContext cmd = '%s -d %s' % (cmd, database) @@ -279,6 +280,10 @@ def test(options): dirname = '%s%sdata' % (os.path.dirname(cfg), os.sep) load_records(context, db_conn, tablename, dirname) + if suite in ['cite', 'apiso']: # export test data + exportpath = '%s%sexports' % (os.path.dirname(cfg), os.sep) + export_records(context, db_conn, tablename, exportpath) + else: raise Exception('Invalid database specified') diff --git a/pycsw/core/admin.py b/pycsw/core/admin.py index a350d6faf..c5cc4ef4e 100644 --- a/pycsw/core/admin.py +++ b/pycsw/core/admin.py @@ -391,9 +391,14 @@ def export_records(context, database, table, xml_dirpath): filename = os.path.join(dirpath, '%s.xml' % identifier) try: LOGGER.info('Writing to file %s', filename) + if hasattr(record.xml, 'decode'): + str_xml = record.xml.decode('utf-8') + else: + str_xml = record.xml with open(filename, 'w') as xml: xml.write('\n') - xml.write(record.xml) + xml.write(str_xml) + except Exception as err: raise RuntimeError("Error writing to %s" % filename, err) diff --git a/tests/run_tests.py b/tests/run_tests.py index bae2e4bea..5ab6912e4 100644 --- a/tests/run_tests.py +++ b/tests/run_tests.py @@ -67,9 +67,9 @@ def test_xml_result(result, expected, encoding=ENCODING): Parameters ---------- - result: str + result: bytes The result of running the test. - expected: str + expected: bytes The expected outcome. Returns @@ -94,7 +94,7 @@ def test_xml_result(result, expected, encoding=ENCODING): try: result_element = etree.fromstring(result) - expected_element = etree.fromstring(expected.encode(encoding)) + expected_element = etree.fromstring(expected) result_buffer = BytesIO() result_tree = result_element.getroottree() objectify.deannotate(result_tree, cleanup_namespaces=True) @@ -121,9 +121,9 @@ def test_json_result(result, expected, encoding=ENCODING): Parameters ---------- - result: str + result: bytes The result of running the test. - expected: str + expected: bytes The expected outcome. Returns @@ -134,8 +134,8 @@ def test_json_result(result, expected, encoding=ENCODING): """ try: - result_dict = json.loads(result.decode(encoding), encoding=encoding) - expected_dict = json.loads(expected, encoding=encoding) + result_dict = json.loads(result.decode(encoding)) + expected_dict = json.loads(expected.decode(encoding)) except ValueError: matches = None else: @@ -153,9 +153,9 @@ def get_validity(expected_path, result, output_file_name, force_id_mask=False): Parameters ---------- - expected_path: str + expected_path: bytes The path to the file that has the expected test outcome - result: str + result: bytes The actual result that was generated by running the test code output_file_name: str Name of the file that will be written to disk with the contents of @@ -179,11 +179,11 @@ def get_validity(expected_path, result, output_file_name, force_id_mask=False): normalized_result = normalize(result, force_id_mask=force_id_mask) if not os.path.exists(expected_path): # create expected file - with codecs.open(expected_path, 'w', encoding=ENCODING) as f: + with open(expected_path, 'wb') as f: f.write(normalized_result) status = 0 else: # compare result with expected - with codecs.open(expected_path, encoding=ENCODING) as expected_fh: + with open(expected_path, 'rb') as expected_fh: expected = expected_fh.read() matches_expected = test_xml_result(normalized_result, expected) if matches_expected is None: @@ -204,7 +204,7 @@ def get_validity(expected_path, result, output_file_name, force_id_mask=False): def pedantic_get_validity(sexpected, sresult, soutfile, force_id_mask=False): """Decipher whether the output passes, fails, or initializes""" if not os.path.exists(sexpected): # create expected file - with open(sexpected, 'w') as f: + with open(sexpected, 'wb') as f: f.write(normalize(sresult, force_id_mask)) sstatus = 0 else: # compare result with expected @@ -217,9 +217,8 @@ def pedantic_get_validity(sexpected, sresult, soutfile, force_id_mask=False): sstatus = 1 else: # fail import difflib - with codecs.open(sexpected, encoding=ENCODING) as a: - with codecs.open('results%s%s' % (os.sep, soutfile), - encoding=ENCODING) as b: + with open(sexpected, 'rb') as a: + with open('results%s%s' % (os.sep, soutfile), 'rb') as b: a2 = a.readlines() b2 = b.readlines() diff = difflib.unified_diff(a2, b2) @@ -445,6 +444,9 @@ def usage(): if os.path.splitext(sfile)[1] not in ['.xml', '.txt']: break + if os.path.basename(root) == "exports": + continue + if sfile == 'requests.txt': # GET requests filename = '%s%s%s' % (root, os.sep, sfile) with open(filename) as f: @@ -515,8 +517,8 @@ def usage(): print('\n test %s' % testfile) # read test - with codecs.open(testfile, encoding=ENCODING) as fh: - request = fh.read().encode(ENCODING) + with open(testfile, 'rb') as fh: + request = fh.read() configkvp = 'config=tests%s%s' % (os.sep, cfg) url2 = '%s?%s' % (URL, configkvp) From b0274e35d984045cbea75c4f700d090fc00ab350 Mon Sep 17 00:00:00 2001 From: Tom Kralidis Date: Wed, 14 Dec 2016 20:25:54 -0500 Subject: [PATCH 066/119] send exported files to tests/results which is ignored by Git --- .gitignore | 2 -- pavement.py | 4 ++-- 2 files changed, 2 insertions(+), 4 deletions(-) diff --git a/.gitignore b/.gitignore index d0252ede2..a30ade7c4 100644 --- a/.gitignore +++ b/.gitignore @@ -9,8 +9,6 @@ MANIFEST # testing artifacts tests/index.html tests/results -tests/suites/*/exports -tests/expected/suites_*exports_* # test configurations /default.cfg diff --git a/pavement.py b/pavement.py index 5fff1ef81..840b7ba06 100644 --- a/pavement.py +++ b/pavement.py @@ -171,7 +171,7 @@ def setup_testdata(): datapath = path('tests/suites/%s/data' % database) info('Loading test data from %s' % datapath) sh('pycsw-admin.py -c load_records -f %s -p %s' % (cfg, datapath)) - exportpath = path('tests/suites/%s/exports' % database) + exportpath = path('tests/results/exports') sh('pycsw-admin.py -c export_records -f %s -p %s' % (cfg, exportpath)) @task @@ -281,7 +281,7 @@ def test(options): load_records(context, db_conn, tablename, dirname) if suite in ['cite', 'apiso']: # export test data - exportpath = '%s%sexports' % (os.path.dirname(cfg), os.sep) + exportpath = 'tests/results/exports' export_records(context, db_conn, tablename, exportpath) else: From 6c227aa23761de59ea092a7050a502e927979ced Mon Sep 17 00:00:00 2001 From: Ricardo Garcia Silva Date: Thu, 15 Dec 2016 19:19:57 +0000 Subject: [PATCH 067/119] Improving docstrings --- tests/conftest.py | 4 +- tests/functionaltests/conftest.py | 101 +++++++++++++++--- .../functionaltests/test_suites_functional.py | 11 +- 3 files changed, 95 insertions(+), 21 deletions(-) diff --git a/tests/conftest.py b/tests/conftest.py index f442888f9..0881bbfe7 100644 --- a/tests/conftest.py +++ b/tests/conftest.py @@ -32,7 +32,7 @@ def pytest_configure(config): - """Configure pytest + """Configure pytest. This function adds additional markers to pytest. @@ -49,7 +49,7 @@ def pytest_configure(config): def pytest_addoption(parser): - """Add additional command-line parameters to pytest""" + """Add additional command-line parameters to pytest.""" parser.addoption( "--database-backend", choices=["sqlite", "postgresql"], diff --git a/tests/functionaltests/conftest.py b/tests/functionaltests/conftest.py index 7470f4810..95a6460f0 100644 --- a/tests/functionaltests/conftest.py +++ b/tests/functionaltests/conftest.py @@ -84,6 +84,9 @@ def pytest_generate_tests(metafunc): The tests are autogenerated by parametrizing the ``tests/functionaltests/test_suites_functional::test_suites`` function + Notes + ----- + Check pytest's documentation for information on autogenerating parametrized tests for further details on how the ``pytest_generate_tests`` function can be used: @@ -144,14 +147,14 @@ def pytest_generate_tests(metafunc): @pytest.fixture() def configuration(request, tests_directory, log_level): - """Return a SafeConfigParser with the configuration for use in tests. + """Configure a suite for execution in tests. This function is executed once for each individual test request, after tests have been collected. - The config_parser is read from the original location and then adjusted - to match the test's temporary directory. The repository will also be - created and populated if it is not already present in the tests_directory. + The configuration file for each test suite is read into memory. Some + configuration parameters, like the repository's url and table name are + adjusted. The suite's repository is also created, if needed. Parameters ---------- @@ -195,7 +198,7 @@ def configuration(request, tests_directory, log_level): def fixture_tests_directory(tmpdir_factory): """Create a temporary directory for each test session. - This directory is typicaly situated under ``/tmp`` and is used to create + This directory is typically situated under ``/tmp`` and is used to create eventual sqlite databases for each suite. This functionality is mostly provided by pytest's built-in @@ -210,7 +213,7 @@ def fixture_tests_directory(tmpdir_factory): def _get_cite_suite_data_dir(): - """Return the path to the data directry of the CITE test suite.""" + """Return the path to the data directory of the CITE test suite.""" global TESTS_ROOT suites_root_dir = os.path.join(TESTS_ROOT, "functionaltests", "suites") suite_dir = os.path.join(suites_root_dir, "cite") @@ -221,7 +224,7 @@ def _get_cite_suite_data_dir(): def _get_get_parameters(get_tests_dir, expected_tests_dir, config_path, suite_name, normalize_ids): - """Return the parameters suitable for parametrizing HTTP GET tests""" + """Return the parameters suitable for parametrizing HTTP GET tests.""" method = "GET" test_argvalues = [] test_ids = [] @@ -249,7 +252,7 @@ def _get_get_parameters(get_tests_dir, expected_tests_dir, config_path, def _get_post_parameters(post_tests_dir, expected_tests_dir, config_path, suite_name, normalize_ids): - """Return the parameters suitable for parametrizing HTTP POST tests""" + """Return the parameters suitable for parametrizing HTTP POST tests.""" method = "POST" test_argvalues = [] test_ids = [] @@ -281,7 +284,15 @@ def _get_post_parameters(post_tests_dir, expected_tests_dir, config_path, def _get_repository_url(conf, suite_name, test_dir): - """Return the repository_url for the input parameters.""" + """Return the repository_url for the input parameters. + + Returns + ------- + repository_url: str + SQLAlchemy URL for the repository in use. + + """ + db_type = conf.getoption("--database-backend") if db_type == "sqlite": repository_url = "sqlite:///{test_dir}/{suite}.db".format( @@ -301,7 +312,21 @@ def _get_repository_url(conf, suite_name, test_dir): def _get_suite_dirs(suite_name): - """Return a tuple with suite dirs: get, post, data, expected""" + """Get the paths to relevant suite directories. + + Parameters + ---------- + suite_name: str + Name of the site + + Returns + ------- + SuiteDirs + A four element named tuple with the input suite's relevant test + directories. + + """ + global TESTS_ROOT suites_root_dir = os.path.join(TESTS_ROOT, "functionaltests", "suites") suite_dir = os.path.join(suites_root_dir, suite_name) @@ -354,6 +379,18 @@ def _initialize_database(repository_url, table_name, data_dir, test_dir): This function will create the database and load any test data that the suite may require. + Parameters + ---------- + repository_url: str + URL for the repository, as used by SQLAlchemy engines + table_name: str + Name of the table that is to be used to store pycsw records + data_dir: str + Path to a directory that contains sample data records to be loaded + into the database + test_dir: str + Directory where the database is to be created, in case of sqlite. + """ print("Setting up {0!r} repository...".format(repository_url)) @@ -373,6 +410,20 @@ def _initialize_database(repository_url, table_name, data_dir, test_dir): def _parse_postgresql_repository_url(repository_url): + """Parse a SQLAlchemy engine URL describing a postgresql database. + + Parameters + ---------- + repository_url: str + SQLAlchemy URL for the repository in use. + + Returns + ------- + dict + A mapping with the database's connection parameters. + + """ + info_re = re.search(r"postgresql://(?P[\w_]+):(?P.*?)@" r"(?P[\w_.]+):(?P\d+)/" r"(?P[\w_]+)", @@ -397,8 +448,6 @@ def _recreate_postgresql_database(configuration): ---------- configuration: _pytest.config.Config The configuration object used by pytest - create_plpythonu_extension: bool, optional - Whether the `plpythonu` language is to bre created for the database Raises ------ @@ -433,6 +482,17 @@ def _recreate_postgresql_database(configuration): def _create_postgresql_extension(configuration, extension): + """Create a postgresql extension in a previously created database. + + Parameters + ---------- + configuration: _pytest.config.Config + The configuration object used by pytest + extension: str + Name of the extension to be created + + """ + connection = psycopg2.connect( database=configuration.getoption("--database-name-postgresql"), user=configuration.getoption("--database-user-postgresql"), @@ -449,7 +509,22 @@ def _create_postgresql_extension(configuration, extension): def _repository_exists(repository_url, table_name): - """Test if the database already exists.""" + """Test if the database already exists. + + Parameters + ---------- + repository_url: str + URL for the repository, as used by SQLAlchemy engines + table_name: str + Name of the table that is to be used to store pycsw records + + Returns + ------- + bool + Whether the repository exists or not. + + """ + if repository_url.startswith("sqlite"): repository_path = repository_url.replace("sqlite:///", "") result = os.path.isfile(repository_path) diff --git a/tests/functionaltests/test_suites_functional.py b/tests/functionaltests/test_suites_functional.py index 31b6e3f70..2ccabcc8a 100644 --- a/tests/functionaltests/test_suites_functional.py +++ b/tests/functionaltests/test_suites_functional.py @@ -1,10 +1,10 @@ # ================================================================= # -# Authors: Tom Kralidis -# Ricardo Garcia Silva +# Authors: Ricardo Garcia Silva +# Tom Kralidis # -# Copyright (c) 2016 Tom Kralidis # Copyright (c) 2016 Ricardo Garcia Silva +# Copyright (c) 2016 Tom Kralidis # # Permission is hereby granted, free of charge, to any person # obtaining a copy of this software and associated documentation @@ -48,11 +48,10 @@ def test_suites(configuration, request_method, request_data, expected_result, normalize_identifier_fields): - """ - Test suites. + """Test suites. This function is automatically parametrized by pytest as a result of the - ``conftest:pytest_Generate_tests`` function. The input parameters are thus + ``conftest:pytest_generate_tests`` function. The input parameters are thus supplied by pytest as a result of discovering and parsing the existing test suites located under ``tests/functionaltests/suites``. From 2946d2969116f80da09bb87b6ad2a11daa3b3c82 Mon Sep 17 00:00:00 2001 From: Ricardo Garcia Silva Date: Thu, 15 Dec 2016 19:20:39 +0000 Subject: [PATCH 068/119] Added python2.6 to tox --- tox.ini | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tox.ini b/tox.ini index bf143db74..1dc46270a 100644 --- a/tox.ini +++ b/tox.ini @@ -5,7 +5,7 @@ [tox] #envlist = py27, py34, py35 -envlist = {py27,py34,py35}-{sqlite,postgresql} +envlist = {py26,py27,py34,py35}-{sqlite,postgresql} skip_missing_interpreters = True [testenv] From 24af74977d5b4968dbd221bb8bc0dbee580abb27 Mon Sep 17 00:00:00 2001 From: Ricardo Garcia Silva Date: Thu, 15 Dec 2016 19:21:48 +0000 Subject: [PATCH 069/119] Requirements-dev now includes the other requirements files This simplifies installation for develoment and testing purposes by requiring a single pip install -r requirements-dev.txt --- requirements-dev.txt | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/requirements-dev.txt b/requirements-dev.txt index 1ffc07358..4c713aaf9 100644 --- a/requirements-dev.txt +++ b/requirements-dev.txt @@ -1,3 +1,7 @@ +-r requirements.txt +-r requirements-standalone.txt +-r requirements-pg.txt + Paver==1.2.4 pytest==3.0.3 pytest-cov==2.4.0 From 2a1c4b3ac7a20ac5f55dab8d9c4b73de5bba56cd Mon Sep 17 00:00:00 2001 From: Ricardo Garcia Silva Date: Thu, 15 Dec 2016 19:22:25 +0000 Subject: [PATCH 070/119] testing travis builds --- .travis.yml | 43 ++++++++++++++++++++----------------------- 1 file changed, 20 insertions(+), 23 deletions(-) diff --git a/.travis.yml b/.travis.yml index c34d7b63d..8da05fbf9 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,13 +1,15 @@ language: python -sudo: required -dist: trusty - +# +#sudo: required +#dist: trusty +# python: - - "2.6" +# - "2.6" - "2.7" - - "3.4" - +# - "3.4" +# - "3.5" +# #matrix: # allow_failures: # - python: "3.4" @@ -17,24 +19,19 @@ addons: packages: - libgeos-c1 - libxml2-dev - -before_script: - - pycsw-admin.py -c get_sysprof - +# +#before_script: +# - pycsw-admin.py -c get_sysprof +# install: - - pip install -r requirements.txt - - pip install -r requirements-dev.txt - - pip install -r requirements-standalone.txt - - python setup.py -q install + - pip install --user -r requirements-dev.txt + - pip install --user . script: - - paver test - -after_script: - - paver stop + - py.test -k 'not harvesting' --cov pytest -notifications: - irc: - channels: - - "irc.freenode.org#pycsw" - use_notice: true +#notifications: +# irc: +# channels: +# - "irc.freenode.org#pycsw" +# use_notice: true From 3f790f4e45ff12551b0f5e68a9b719a99638ec19 Mon Sep 17 00:00:00 2001 From: Ricardo Garcia Silva Date: Thu, 15 Dec 2016 19:24:55 +0000 Subject: [PATCH 071/119] Testing out travis builds --- .travis.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.travis.yml b/.travis.yml index 8da05fbf9..547e80e74 100644 --- a/.travis.yml +++ b/.travis.yml @@ -24,8 +24,8 @@ addons: # - pycsw-admin.py -c get_sysprof # install: - - pip install --user -r requirements-dev.txt - - pip install --user . + - pip install -r requirements-dev.txt + - pip install . script: - py.test -k 'not harvesting' --cov pytest From 35627e80c8c12c32282c1d620f2999d34122efc4 Mon Sep 17 00:00:00 2001 From: Ricardo Garcia Silva Date: Thu, 15 Dec 2016 19:38:54 +0000 Subject: [PATCH 072/119] Testing out travis builds --- .travis.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.travis.yml b/.travis.yml index 547e80e74..77c927fdb 100644 --- a/.travis.yml +++ b/.travis.yml @@ -2,7 +2,7 @@ language: python # #sudo: required -#dist: trusty +dist: trusty # python: # - "2.6" From 62162feee5e9a3691aaef00edb8d24fcbc263c7e Mon Sep 17 00:00:00 2001 From: Ricardo Garcia Silva Date: Thu, 15 Dec 2016 21:19:45 +0000 Subject: [PATCH 073/119] Testing out travis builds --- .travis.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.travis.yml b/.travis.yml index 77c927fdb..5f074a8ee 100644 --- a/.travis.yml +++ b/.travis.yml @@ -28,7 +28,7 @@ install: - pip install . script: - - py.test -k 'not harvesting' --cov pytest + - py.test -k 'not harvesting' --exitfirst --cov pytest #notifications: # irc: From a80b0c96d6f10bfc2ed9d295bfc1b33d593f4909 Mon Sep 17 00:00:00 2001 From: Ricardo Garcia Silva Date: Thu, 15 Dec 2016 21:32:20 +0000 Subject: [PATCH 074/119] Testing out travis builds --- .travis.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.travis.yml b/.travis.yml index 5f074a8ee..d64e864fd 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,5 +1,7 @@ language: python +cache: pip + # #sudo: required dist: trusty From 3d4e10ae083adc1420d2a34acc25f18ed1349057 Mon Sep 17 00:00:00 2001 From: Bu Kun Date: Sat, 17 Dec 2016 19:39:08 +0800 Subject: [PATCH 075/119] Zh translations, for Chinese. (#493) * add Chinese translations * add Chinese translations --- docs/locale/zh/LC_MESSAGES/administration.po | 383 ++++++++++++ docs/locale/zh/LC_MESSAGES/api.po | 57 ++ docs/locale/zh/LC_MESSAGES/ckan.po | 57 ++ docs/locale/zh/LC_MESSAGES/committers.po | 96 +++ docs/locale/zh/LC_MESSAGES/configuration.po | 482 +++++++++++++++ docs/locale/zh/LC_MESSAGES/contributing.po | 354 +++++++++++ docs/locale/zh/LC_MESSAGES/csw-support.po | 65 ++ .../zh/LC_MESSAGES/distributedsearching.po | 156 +++++ docs/locale/zh/LC_MESSAGES/geonode.po | 61 ++ docs/locale/zh/LC_MESSAGES/hhypermap.po | 72 +++ docs/locale/zh/LC_MESSAGES/index.po | 35 ++ docs/locale/zh/LC_MESSAGES/installation.po | 270 +++++++++ docs/locale/zh/LC_MESSAGES/introduction.po | 558 ++++++++++++++++++ docs/locale/zh/LC_MESSAGES/json.po | 35 ++ docs/locale/zh/LC_MESSAGES/license.po | 78 +++ docs/locale/zh/LC_MESSAGES/migration-guide.po | 57 ++ docs/locale/zh/LC_MESSAGES/oaipmh.po | 41 ++ docs/locale/zh/LC_MESSAGES/odc.po | 70 +++ docs/locale/zh/LC_MESSAGES/opensearch.po | 56 ++ docs/locale/zh/LC_MESSAGES/outputschemas.po | 96 +++ docs/locale/zh/LC_MESSAGES/profiles.po | 277 +++++++++ docs/locale/zh/LC_MESSAGES/repofilters.po | 179 ++++++ docs/locale/zh/LC_MESSAGES/repositories.po | 91 +++ docs/locale/zh/LC_MESSAGES/sitemaps.po | 31 + docs/locale/zh/LC_MESSAGES/soap.po | 28 + docs/locale/zh/LC_MESSAGES/sru.po | 39 ++ docs/locale/zh/LC_MESSAGES/support.po | 31 + docs/locale/zh/LC_MESSAGES/testing.po | 248 ++++++++ docs/locale/zh/LC_MESSAGES/tools.po | 91 +++ docs/locale/zh/LC_MESSAGES/transactions.po | 274 +++++++++ 30 files changed, 4368 insertions(+) create mode 100644 docs/locale/zh/LC_MESSAGES/administration.po create mode 100644 docs/locale/zh/LC_MESSAGES/api.po create mode 100644 docs/locale/zh/LC_MESSAGES/ckan.po create mode 100644 docs/locale/zh/LC_MESSAGES/committers.po create mode 100644 docs/locale/zh/LC_MESSAGES/configuration.po create mode 100644 docs/locale/zh/LC_MESSAGES/contributing.po create mode 100644 docs/locale/zh/LC_MESSAGES/csw-support.po create mode 100644 docs/locale/zh/LC_MESSAGES/distributedsearching.po create mode 100644 docs/locale/zh/LC_MESSAGES/geonode.po create mode 100644 docs/locale/zh/LC_MESSAGES/hhypermap.po create mode 100644 docs/locale/zh/LC_MESSAGES/index.po create mode 100644 docs/locale/zh/LC_MESSAGES/installation.po create mode 100644 docs/locale/zh/LC_MESSAGES/introduction.po create mode 100644 docs/locale/zh/LC_MESSAGES/json.po create mode 100644 docs/locale/zh/LC_MESSAGES/license.po create mode 100644 docs/locale/zh/LC_MESSAGES/migration-guide.po create mode 100644 docs/locale/zh/LC_MESSAGES/oaipmh.po create mode 100644 docs/locale/zh/LC_MESSAGES/odc.po create mode 100644 docs/locale/zh/LC_MESSAGES/opensearch.po create mode 100644 docs/locale/zh/LC_MESSAGES/outputschemas.po create mode 100644 docs/locale/zh/LC_MESSAGES/profiles.po create mode 100644 docs/locale/zh/LC_MESSAGES/repofilters.po create mode 100644 docs/locale/zh/LC_MESSAGES/repositories.po create mode 100644 docs/locale/zh/LC_MESSAGES/sitemaps.po create mode 100644 docs/locale/zh/LC_MESSAGES/soap.po create mode 100644 docs/locale/zh/LC_MESSAGES/sru.po create mode 100644 docs/locale/zh/LC_MESSAGES/support.po create mode 100644 docs/locale/zh/LC_MESSAGES/testing.po create mode 100644 docs/locale/zh/LC_MESSAGES/tools.po create mode 100644 docs/locale/zh/LC_MESSAGES/transactions.po diff --git a/docs/locale/zh/LC_MESSAGES/administration.po b/docs/locale/zh/LC_MESSAGES/administration.po new file mode 100644 index 000000000..11a3d3204 --- /dev/null +++ b/docs/locale/zh/LC_MESSAGES/administration.po @@ -0,0 +1,383 @@ +# +msgid "" +msgstr "" +"Project-Id-Version: pycsw 2.0-dev\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2016-12-17 17:33+0800\n" +"PO-Revision-Date: 2016-06-01 08:59+0800\n" +"Last-Translator: \n" +"Language-Team: \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.3.4\n" + +#: ../../administration.rst:4 +msgid "Administration" +msgstr "管理" + +#: ../../administration.rst:6 +msgid "" +"pycsw administration is handled by the ``pycsw-admin.py`` utility. " +"``pycsw-admin.py`` is installed as part of the pycsw install process and " +"should be available in your PATH." +msgstr "" +"pycsw 通过工具 ``pycsw-admin.py`` 进行管理。 ``pycsw-admin.py`` 需作为 pycsw " +"安装的一部分安装到系统,可在你的路径中使用。" + +#: ../../administration.rst:11 +msgid "" +"Run ``pycsw-admin.py -h`` to see all administration operations and " +"parameters" +msgstr "运行 ``pycsw-admin.py -h`` 来查看所有的管理操作与参数。 " + +#: ../../administration.rst:14 +msgid "Metadata Repository Setup" +msgstr "元数据库创建设置" + +#: ../../administration.rst:16 +msgid "pycsw supports the following databases:" +msgstr "pycsw支持以下数据库:" + +#: ../../administration.rst:18 +msgid "SQLite3" +msgstr "" + +#: ../../administration.rst:19 ../../administration.rst:114 +msgid "PostgreSQL" +msgstr "" + +#: ../../administration.rst:20 +msgid "PostgreSQL with PostGIS enabled" +msgstr "" + +#: ../../administration.rst:21 +msgid "MySQL" +msgstr "" + +#: ../../administration.rst:24 +msgid "" +"The easiest and fastest way to deploy pycsw is to use SQLite3 as the " +"backend." +msgstr "最简单快速部署 pycws 的方式是使用 SQLite3 作为数据存储。" + +#: ../../administration.rst:27 +msgid "PostgreSQL support includes support for PostGIS functions if enabled" +msgstr "PostgreSQL支持PostGIS功能" + +#: ../../administration.rst:30 +msgid "" +"If PostGIS (1.x or 2.x) is activated before setting up the " +"pycsw/PostgreSQL database, then native PostGIS geometries will be " +"enabled." +msgstr "" +"如果PostGIS(1.×或2.x)可在建立pycsw / PostgreSQL数据库之前激活,那么本机的PostGIS " +"geometries就可以使用。" + +#: ../../administration.rst:32 +msgid "" +"To expose your geospatial metadata via pycsw, perform the following " +"actions:" +msgstr "可通过 pycsw 发布你的地理空间元数据,可执行以下操作:" + +#: ../../administration.rst:34 +msgid "setup the database" +msgstr "创建数据库" + +#: ../../administration.rst:35 +msgid "import metadata" +msgstr "导入元数据" + +#: ../../administration.rst:36 +msgid "publish the repository" +msgstr "数据库发布" + +#: ../../administration.rst:39 +msgid "Supported Information Models" +msgstr "支持的信息模型" + +#: ../../administration.rst:41 +msgid "By default, pycsw supports the ``csw:Record`` information model." +msgstr "pycsw本身默认支持 ``csw:Record`` 信息模型。" + +#: ../../administration.rst:44 +msgid "See :ref:`profiles` for information on enabling profiles" +msgstr "请参考 :ref:`profiles` 有关配置文件的信息" + +#: ../../administration.rst:47 +msgid "Setting up the Database" +msgstr "创建数据库" + +#: ../../administration.rst:53 +msgid "This will create the necessary tables and values for the repository." +msgstr "需创建数据库必要的表格与数值" + +#: ../../administration.rst:55 +msgid "" +"The database created is an `OGC SFSQL`_ compliant database, and can be " +"used with any implementing software. For example, to use with `OGR`_:" +msgstr "需创建一个标准的 `OGC SFSQL`_ 数据库,此数据库可应用于任何软件。例如, `OGR`_ " + +#: ../../administration.rst:67 +msgid "" +"If PostGIS is detected, the pycsw-admin.py script does not create the " +"SFSQL tables as they are already in the database." +msgstr "如检测到PostGIS, pycsw-admin.py脚本就不会再创建 SFSQL 表,因为数据库中已经存在了。" + +#: ../../administration.rst:71 +msgid "Loading Records" +msgstr "加载记录" + +#: ../../administration.rst:77 +msgid "" +"This will import all ``*.xml`` records from ``/path/to/records`` into the" +" database specified in ``default.cfg`` (``repository.database``). " +"Passing ``-r`` to the script will process ``/path/to/records`` " +"recursively. Passing ``-y`` to the script will force overwrite existing " +"metadata with the same identifier. Note that ``-p`` accepts either a " +"directory path or single file." +msgstr "" +"这时所有的 ``*.xml`` 记录就会从 ``/path/to/records`` 中导入到指定的数据库 ``default.cfg`` " +"(``repository.database``)。将 ``-r`` 复制到脚本中, 程序 ``/path/to/records`` " +"就会层层递归。将 ``-y`` 复制到脚本中, 程序 ``/path/to/records`` 将强制替换现有的相同元数据标识符。请注意, " +"``-p`` 只能接受一个目录路径或单个文件。" + +#: ../../administration.rst:80 +msgid "Records can also be imported using CSW-T (see :ref:`transactions`)." +msgstr "记录也可以使用 CSW-T导入 (请查看 :ref:`transactions` )" + +#: ../../administration.rst:83 +msgid "Exporting the Repository" +msgstr "导出数据库" + +#: ../../administration.rst:89 +msgid "" +"This will write each record in the database specified in ``default.cfg`` " +"(``repository.database``) to an XML document on disk, in directory " +"``/path/to/output_dir``." +msgstr "" +" ``default.cfg`` (``repository.database``) 会将数据库的每项记录都录入在磁盘XML文件的目录下 " +"``/path/to/output_dir`` " + +#: ../../administration.rst:92 +msgid "Optimizing the Database" +msgstr "优化数据库" + +#: ../../administration.rst:99 +msgid "This feature is relevant only for PostgreSQL and MySQL" +msgstr "此功能只关联 PostgreSQL和MySQL" + +#: ../../administration.rst:102 +msgid "Deleting Records from the Repository" +msgstr "从数据库中删除记录" + +#: ../../administration.rst:108 +msgid "This will empty the repository of all records." +msgstr "数据库中的所有记录都会被清空" + +#: ../../administration.rst:111 +msgid "Database Specific Notes" +msgstr "数据库特别需要注意的是" + +#: ../../administration.rst:116 +msgid "" +"if PostGIS is not enabled, pycsw makes uses of PL/Python functions. To " +"enable PostgreSQL support, the database user must be able to create " +"functions within the database. In case of recent PostgreSQL versions " +"(9.x), the PL/Python extension must be enabled prior to pycsw setup" +msgstr "" +"若 PostGIS不可用,pycsw会启用 " +"PL/Python功能。在PostgreSQL支持下,用户必须在数据库中创建这些功能。如果是最新版本PostgreSQL (9.x),PL/ " +"Python扩展必须在pycsw安装之前可运行" + +#: ../../administration.rst:117 +msgid "" +"`PostgreSQL Full Text Search`_ is supported for ``csw:AnyText`` based " +"queries. pycsw creates a tsvector column based on the text from anytext " +"column. Then pycsw creates a GIN index against the anytext_tsvector " +"column. This is created automatically in ``pycsw.admin.setup_db``. Any " +"query against `csw:AnyText` or `apiso:AnyText` will process using " +"PostgreSQL FTS handling" +msgstr "" +" `PostgreSQL Full Text Search`_ (全文搜索)是 ``csw:AnyText`` " +"查询功能支撑的。pycsw创建的tsvector栏是基于文本anytext栏。然而pycsw创建的GIN索引却不是基于文本anytext栏。这在 " +"``pycsw.admin.setup_db`` 是自动生成的。任何针对 `csw:AnyText` or `apiso:AnyText` " +"的查询都是使用PostgreSQL FTS处理的。" + +#: ../../administration.rst:120 +msgid "PostGIS" +msgstr "" + +#: ../../administration.rst:122 +msgid "" +"pycsw makes use of PostGIS spatial functions and native geometry data " +"type." +msgstr "pycsw使用的是PostGIS空间功能和本地geometry数据类型" + +#: ../../administration.rst:123 +msgid "" +"It is advised to install the PostGIS extension before setting up the " +"pycsw database" +msgstr "建议在创建pycsw数据库前先安装PostGIS扩展信息" + +#: ../../administration.rst:124 +msgid "" +"If PostGIS is detected, the pycsw-admin.py script will create both a " +"native geometry column and a WKT column, as well as a trigger to keep " +"both synchronized." +msgstr "一旦PostGIS被监测到,脚本pycsw-admin.py既会在本地 geometry栏创建,也会在WKT栏创建,就像是触发器一样,会保持同步 " + +#: ../../administration.rst:125 +msgid "" +"In case PostGIS gets disabled, pycsw will continue to work with the " +"`WKT`_ column" +msgstr "一旦PostGIS被禁用,这时 `WKT`_ 栏中的pycsw会运行" + +#: ../../administration.rst:126 +msgid "" +"In case of migration from plain PostgreSQL database to PostGIS, the " +"spatial functions of PostGIS will be used automatically" +msgstr "如果plain PostgreSQL数据库移入PostGIS中,PostGIS的空间功能将自行启动" + +#: ../../administration.rst:127 +msgid "" +"When migrating from plain PostgreSQL database to PostGIS, in order to " +"enable native geometry support, a \"GEOMETRY\" column named " +"\"wkb_geometry\" needs to be created manually (along with the update " +"trigger in ``pycsw.admin.setup_db``). Also the native geometries must be " +"filled manually from the `WKT`_ field. Next versions of pycsw will " +"automate this process" +msgstr "" +"如果plain PostgreSQL数据库移入PostGIS中, 一个名为 \"wkb_geometry\" 的 \"GEOMETRY\" " +"栏就需要被手动创建出来(随着 ``pycsw.admin.setup_db`` 一起更新)。本地geometries也必须在 `WKT`_ " +"中手动创建。pycsw的下一个版本就会将此过程自动化运行 " + +#: ../../administration.rst:132 +msgid "Mapping to an Existing Repository" +msgstr "映射到现有的存储库" + +#: ../../administration.rst:134 +msgid "" +"pycsw supports publishing metadata from an existing repository. To " +"enable this functionality, the default database mappings must be modified" +" to represent the existing database columns mapping to the abstract core " +"model (the default mappings are in ``pycsw/config.py:MD_CORE_MODEL``)." +msgstr "" +"pycsw支持在现在的存储库中发布元数据。为实现此功能,默认的数据库映射功能就必须替换掉原有的数据库栏,此数据库栏是映射到abstract " +"core model 中的(默认的眏射方式在 ``pycsw/config.py:MD_CORE_MODEL`` 中)" + +#: ../../administration.rst:136 +msgid "To override the default settings:" +msgstr "覆盖默认的安装设置:" + +#: ../../administration.rst:138 +msgid "define a custom database mapping based on ``etc/mappings.py``" +msgstr "基于``etc/mappings.py``映射的自定义数据库" + +#: ../../administration.rst:139 +msgid "" +"in ``default.cfg``, set ``repository.mappings`` to the location of the " +"mappings.py file:" +msgstr "在 ``default.cfg``中, 将 ``repository.mappings`` 配置到mappings.py 文件中:" + +#: ../../administration.rst:147 +msgid "Note you can also reference mappings as a Python object as a dotted path:" +msgstr "" + +#: ../../administration.rst:156 +#, fuzzy +msgid "" +"See the :ref:`geonode`, :ref:`hhypermap`, and :ref:`odc` for further " +"examples." +msgstr "请参照 :ref:`geonode` 和 :ref:`odc` 查看更多例子." + +#: ../../administration.rst:159 +msgid "Existing Repository Requirements" +msgstr "现有的存储需求" + +#: ../../administration.rst:161 +msgid "" +"pycsw requires certain repository attributes and semantics to exist in " +"any repository to operate as follows:" +msgstr "pycsw需要特定的存储属性,也需要语义来操作如下程序:" + +#: ../../administration.rst:163 +msgid "``pycsw:Identifier``: unique identifier" +msgstr "``pycsw:Identifier``:唯一的标识符" + +#: ../../administration.rst:164 +msgid "" +"``pycsw:Typename``: typename for the metadata; typically the value of the" +" root element tag (e.g. ``csw:Record``, ``gmd:MD_Metadata``)" +msgstr "``pycsw:Typename``: 元数据的类型名;典型的根标签值(例如``csw:Record``, ``gmd:MD_Metadata``)" + +#: ../../administration.rst:165 +msgid "" +"``pycsw:Schema``: schema for the metadata; typically the target namespace" +" (e.g. ``http://www.opengis.net/cat/csw/2.0.2``, " +"``http://www.isotc211.org/2005/gmd``)" +msgstr "" +"``pycsw:Schema``: " +"元数据图表;典型的目标名称空间(例如``http://www.opengis.net/cat/csw/2.0.2``, " +"``http://www.isotc211.org/2005/gmd``)" + +#: ../../administration.rst:166 +msgid "``pycsw:InsertDate``: date of insertion" +msgstr "``pycsw:InsertDate``: 插入日期" + +#: ../../administration.rst:167 +msgid "``pycsw:XML``: full XML representation" +msgstr "``pycsw:XML``:完整的XML表示形式" + +#: ../../administration.rst:168 +msgid "" +"``pycsw:AnyText``: bag of XML element text values, used for full text " +"search. Realized with the following design pattern:" +msgstr "``pycsw:AnyText``: XML元素文件值包,用于完整的文本搜索。实现了以下设计功能:" + +#: ../../administration.rst:170 +msgid "capture all XML element and attribute values" +msgstr "获取所有的XML元素与属性值" + +#: ../../administration.rst:171 +msgid "store in repository" +msgstr "存储数据库" + +#: ../../administration.rst:172 +msgid "``pycsw:BoundingBox``: string of `WKT`_ or `EWKT`_ geometry" +msgstr "``pycsw:BoundingBox``: `WKT`_ or `EWKT`_ geometry字符串" + +#: ../../administration.rst:174 +msgid "The following repository semantics exist if the attributes are specified:" +msgstr "一旦被指定了属性,以下的语义库就会自动存在 ︰" + +#: ../../administration.rst:176 +msgid "``pycsw:Keywords``: comma delimited list of keywords" +msgstr "' pycsw:Keywords ': 以逗号分隔的关键字列表" + +#: ../../administration.rst:177 +msgid "" +"``pycsw:Links``: structure of links in the format " +"\"name,description,protocol,url[^,,,[^,,,]]\"" +msgstr "' pycsw:Links ': 链接的格式结构\"名称、 描述、 协议、 网页地址 [^,[^...]]\"" + +#: ../../administration.rst:179 +msgid "Values of mappings can be derived from the following mechanisms:" +msgstr "映射值由以下的结构获得:" + +#: ../../administration.rst:181 +msgid "text fields" +msgstr "文本域" + +#: ../../administration.rst:182 +msgid "Python datetime.datetime or datetime.date objects" +msgstr "Python ``datetime.datetime`` 或 ``datetime.date`` 对象" + +#: ../../administration.rst:183 +msgid "Python functions" +msgstr "Python函数" + +#: ../../administration.rst:185 +msgid "Further information is provided in ``pycsw/config.py:MD_CORE_MODEL``." +msgstr "在 'pycsw/config.py:MD_CORE_MODEL ' 中获得更多资料" + diff --git a/docs/locale/zh/LC_MESSAGES/api.po b/docs/locale/zh/LC_MESSAGES/api.po new file mode 100644 index 000000000..0cccc6e7a --- /dev/null +++ b/docs/locale/zh/LC_MESSAGES/api.po @@ -0,0 +1,57 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2010-2015, Tom Kralidis This work is licensed under a +# Creative Commons Attribution 4.0 International License +# This file is distributed under the same license as the pycsw package. +# FIRST AUTHOR , 2016. +# +# +msgid "" +msgstr "" +"Project-Id-Version: pycsw 2.1-dev\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2016-07-21 21:02+0800\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.3.4\n" + +#: ../../api.rst:4 +msgid "API" +msgstr "" + +#: ../../api.rst:6 +msgid "" +"Python applications can integrate pycsw into their custom workflows. " +"This allows for seamless integate within frameworks like Flask and Django" +msgstr "Python应用可以在自己的工作流中集成 pycsw 。" +"这样就允许在 Flask与 Django 这样的框架中无缝集成" + +#: ../../api.rst:9 +msgid "" +"Below are examples of where using the API (as opposed to the default " +"WSGI/CGI services could be used:" +msgstr "下面是一些使用API的示例(与缺省的可用的 WSGI/CGI 服务不同:)" + +#: ../../api.rst:12 +msgid "configuration based on a Python dict, or stored in a database" +msgstr "基于Python字典 进行配置,或存储在数据库中 " + +#: ../../api.rst:13 +msgid "downstream request environment / framework (Flask, Django)" +msgstr "下游请求环境/框架(Flask,Django)" + +#: ../../api.rst:14 +msgid "authentication or authorization logic" +msgstr "认证或授权逻辑" + +#: ../../api.rst:15 +msgid "forcing CSW version 2.0.2 as default" +msgstr "强制使用 CSW 版本2.0.2作为缺省情况" + +#: ../../api.rst:19 +msgid "Simple Flask Example" +msgstr "简单的 Flask 示例" + diff --git a/docs/locale/zh/LC_MESSAGES/ckan.po b/docs/locale/zh/LC_MESSAGES/ckan.po new file mode 100644 index 000000000..3e0ded144 --- /dev/null +++ b/docs/locale/zh/LC_MESSAGES/ckan.po @@ -0,0 +1,57 @@ +# +msgid "" +msgstr "" +"Project-Id-Version: pycsw 2.0-dev\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2015-11-23 21:42+0800\n" +"PO-Revision-Date: 2016-06-01 09:14+0800\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=1; plural=0;\n" +"Last-Translator: \n" +"Language-Team: \n" +"Language: zh_CN\n" +"X-Generator: Poedit 1.8.7\n" + +#: ../../ckan.rst:4 +msgid "CKAN Configuration" +msgstr "CKAN配置" + +#: ../../ckan.rst:6 +msgid "" +"CKAN (http://ckan.org) is a powerful data management system that makes data " +"accessible – by providing tools to streamline publishing, sharing, finding " +"and using data. CKAN is aimed at data publishers (national and regional " +"governments, companies and organizations) wanting to make their data open " +"and available." +msgstr "" +"CKAN (http://ckan.org)是一个功能强大的数据管理系统,该系统提高了数据可访问" +"性,通过提供工具来无缝地发布、共享、发现和使用数据。CKAN的目的在于使他们变成" +"数据开放并可用的数据发布者(国家和地方政府、公司和组织)。" + +#: ../../ckan.rst:8 +msgid "" +"`ckanext-spatial`_ is CKAN's geospatial extension. The extension adds a " +"spatial field to the default CKAN dataset schema, using PostGIS as the " +"backend. This allows to perform spatial queries and display the dataset " +"extent on the frontend. It also provides harvesters to import geospatial " +"metadata into CKAN from other sources, as well as commands to support the " +"CSW standard. Finally, it also includes plugins to preview spatial formats " +"such as GeoJSON." +msgstr "" +" `ckanext 空间`_ 是 CKAN 的地理空间扩展。此功能扩展将空间的字段添加到默认的 " +"CKAN 数据集架构中,使用 PostGIS 作为后端。可实现空间位置查询,还可显示前端数" +"据集的扩展信息。它还有收集信息的功能,从其他来源处将地理空间的元数据导入到" +"CKAN中,就如同CKAN也支持csw标准命令一样。最后,它还有可预览空间信息的插件," +"例如 GeoJSON。" + +#: ../../ckan.rst:11 +msgid "CKAN Setup" +msgstr "CKAN设置" + +#: ../../ckan.rst:13 +msgid "" +"Installation and configuration Instructions are provided as part of the " +"ckanext-spatial `documentation`_." +msgstr "安装和配置说明在ckanext-spatial的 `documentation`_ 部分" diff --git a/docs/locale/zh/LC_MESSAGES/committers.po b/docs/locale/zh/LC_MESSAGES/committers.po new file mode 100644 index 000000000..d2e409285 --- /dev/null +++ b/docs/locale/zh/LC_MESSAGES/committers.po @@ -0,0 +1,96 @@ +# +msgid "" +msgstr "" +"Project-Id-Version: pycsw 2.0-dev\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2016-05-28 11:27+0800\n" +"PO-Revision-Date: 2016-06-01 09:24+0800\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.3.4\n" +"Plural-Forms: nplurals=1; plural=0;\n" +"Last-Translator: \n" +"Language-Team: \n" +"Language: zh_CN\n" +"X-Generator: Poedit 1.8.7\n" + +#: ../../committers.rst:4 +msgid "Committers" +msgstr "提交者,执行者,管理员" + +#: ../../../COMMITTERS.txt:2 +msgid "Login(s)" +msgstr "登录" + +#: ../../../COMMITTERS.txt:2 +msgid "Name" +msgstr "名字" + +#: ../../../COMMITTERS.txt:2 +msgid "Email / Contact" +msgstr "联系方式/邮件" + +#: ../../../COMMITTERS.txt:2 +msgid "Area(s)" +msgstr "领域" + +#: ../../../COMMITTERS.txt:4 +msgid "tomkralidis" +msgstr "tomkralidis" + +#: ../../../COMMITTERS.txt:4 +msgid "Tom Kralidis" +msgstr "Tom Kralidis" + +#: ../../../COMMITTERS.txt:4 +msgid "tomkralidis at gmail.com" +msgstr "tomkralidis at gmail.com" + +#: ../../../COMMITTERS.txt:4 ../../../COMMITTERS.txt:7 +msgid "Overall" +msgstr "总计" + +#: ../../../COMMITTERS.txt:5 +msgid "kalxas" +msgstr "kalxas" + +#: ../../../COMMITTERS.txt:5 +msgid "Angelos Tzotsos" +msgstr "Angelos Tzotsos" + +#: ../../../COMMITTERS.txt:5 +msgid "tzotsos at gmail.com" +msgstr "tzotsos at gmail.com" + +#: ../../../COMMITTERS.txt:5 +msgid "INSPIRE, APISO profiles, Packaging" +msgstr "INSPIRE, APISO profiles, Packaging" + +#: ../../../COMMITTERS.txt:6 +msgid "adamhinz" +msgstr "adamhinz" + +#: ../../../COMMITTERS.txt:6 +msgid "Adam Hinz" +msgstr "Adam Hinz" + +#: ../../../COMMITTERS.txt:6 +msgid "hinz dot adam at gmail.com" +msgstr "hinz dot adam at gmail.com" + +#: ../../../COMMITTERS.txt:6 +msgid "WSGI/Server Deployment" +msgstr "WSGI/服务器部署" + +#: ../../../COMMITTERS.txt:7 +msgid "ricardogsilva" +msgstr "ricardogsilva" + +#: ../../../COMMITTERS.txt:7 +msgid "Ricardo Garcia Silva" +msgstr "Ricardo Garcia Silva" + +#: ../../../COMMITTERS.txt:7 +msgid "ricardo.garcia.silva at gmail.com" +msgstr "ricardo.garcia.silva at gmail.com" diff --git a/docs/locale/zh/LC_MESSAGES/configuration.po b/docs/locale/zh/LC_MESSAGES/configuration.po new file mode 100644 index 000000000..4703c7ed2 --- /dev/null +++ b/docs/locale/zh/LC_MESSAGES/configuration.po @@ -0,0 +1,482 @@ +# +msgid "" +msgstr "" +"Project-Id-Version: pycsw 2.0-dev\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2015-11-23 21:42+0800\n" +"PO-Revision-Date: 2016-06-02 11:30+0800\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=1; plural=0;\n" +"Last-Translator: \n" +"Language-Team: \n" +"Language: zh_CN\n" +"X-Generator: Poedit 1.8.7\n" + +#: ../../configuration.rst:4 +msgid "Configuration" +msgstr "配置" + +#: ../../configuration.rst:6 +msgid "" +"pycsw's runtime configuration is defined by ``default.cfg``. pycsw ships " +"with a sample configuration (``default-sample.cfg``). Copy the file to " +"``default.cfg`` and edit the following:" +msgstr "" +"pycsw 的运行配置写为此格式 ``default.cfg`` 。 pycsw 还有一个示例配置 (" +" ``default-sample.cfg`` )。 将文件复制到 ``default.cfg`` 并编辑以下内容 ︰" + +#: ../../configuration.rst:8 +msgid "**[server]**" +msgstr "**[server]**" + +#: ../../configuration.rst:10 +msgid "**home**: the full filesystem path to pycsw" +msgstr "**home**: pycsw 的完整文件系统路径" + +#: ../../configuration.rst:11 +msgid "**url**: the URL of the resulting service" +msgstr "**url**: 生成服务器的网址" + +#: ../../configuration.rst:12 +msgid "**mimetype**: the MIME type when returning HTTP responses" +msgstr "**mimetype**: 当HTTP响应时的MIME型" + +#: ../../configuration.rst:13 +msgid "" +"**language**: the ISO 639-1 language and ISO 3166-1 alpha2 country code of " +"the service (e.g. ``en-CA``, ``fr-CA``, ``en-US``)" +msgstr "" +"**language**: ISO 639-1 语言和 ISO 3166-1 α2服务器上的国家/地区代码 (例如 ``en-CA`` " +"、``fr-CA``、 ``EN-US`` )" + +#: ../../configuration.rst:14 +msgid "" +"**encoding**: the content type encoding (e.g. ``ISO-8859-1``, see https://" +"docs.python.org/2/library/codecs.html#standard-encodings). Default value " +"is 'UTF-8'" +msgstr "" +"**encoding**: 编码的内容类别 (例如 ``ISO-8859-1``,见 https://docs.python.org/2/library/codecs.html#standard-encodings) 。" +" 默认值是 'UTF-8'" + +#: ../../configuration.rst:15 +msgid "" +"**maxrecords**: the maximum number of records to return by default. This " +"value is enforced if a CSW's client's ``maxRecords`` parameter is greater " +"than ``server.maxrecords`` to limit capacity. See :ref:`maxrecords-" +"handling` for more information" +msgstr "" +"**maxrecords**: 默认情况下再次浏览记录的最大数目。如果CSW客户端的 ``maxRecords`` " +"参数大于 ``server.maxrecords`` ,此值就会被强制性限制。 请参见 :ref:`maxrecords-handling` 的详细信息" + +#: ../../configuration.rst:16 +msgid "" +"**loglevel**: the logging level (see http://docs.python.org/library/logging." +"html#logging-levels)" +msgstr "" +"**loglevel**: 日志记录级别 (见 http://docs.python.org/library/logging." +"html#logging-levels)" + +#: ../../configuration.rst:17 +msgid "**logfile**: the full file path to the logfile" +msgstr "**logfile**:日志文件的完整文件系统路径" + +#: ../../configuration.rst:18 +msgid "" +"**ogc_schemas_base**: base URL of OGC XML schemas tree file structure " +"(default is http://schemas.opengis.net)" +msgstr "" +"**ogc_schemas_base**: OGC XML 模型文件结构树的网址库 (默认 http://schemas.opengis.net)" + +#: ../../configuration.rst:19 +msgid "" +"**federatedcatalogues**: comma delimited list of CSW endpoints to be used " +"for distributed searching, if requested by the client (see :ref:" +"`distributedsearching`)" +msgstr "" +"**federatedcatalogues**: 如果客户端有用户请求加入时, CSW端以逗号分隔的列表就会用于分布式搜" +"索 (请参阅 :ref:`distributedsearching` )" + +#: ../../configuration.rst:20 +msgid "" +"**pretty_print**: whether to pretty print the output (``true`` or " +"``false``). Default is ``false``" +msgstr "**pretty_print**: 输出的(''是'或'否')来确认是否要优质打印。 默认值为否" + +#: ../../configuration.rst:21 +msgid "" +"**gzip_compresslevel**: gzip compression level, lowest is ``1``, highest is " +"``9``. Default is off" +msgstr "**gzip_compresslevel**: 压缩级别,最低是 '1 ',最高是' 9 '。 默认值是不压缩" + +#: ../../configuration.rst:22 +msgid "" +"**domainquerytype**: for GetDomain operations, how to output domain " +"values. Accepted values are ``list`` and ``range`` (min/max). Default is " +"``list``" +msgstr "" +"**domainquerytype**: 在GetDomain中应当如何输出域值呢。 目前的域值有'列表'和'range' (最" +"小/最大)。默认值是列表。" + +#: ../../configuration.rst:23 +msgid "" +"**domaincounts**: for GetDomain operations, whether to provide frequency " +"counts for values. Accepted values are ``true`` and ``False``. Default is " +"``false``" +msgstr "" +"**domaincounts**:在GetDomain中,是否要提供频率计数值的操作。 目前的值" +"有'是'和'否' 。默认值为否" + +#: ../../configuration.rst:24 +msgid "" +"**profiles**: comma delimited list of profiles to load at runtime (default " +"is none). See :ref:`profiles`" +msgstr "" +"**profiles**: 是否在运行时加载以逗号分隔的配置文件列表(默认为无)。 请参见 :ref:`profiles` 。" + +#: ../../configuration.rst:25 +msgid "" +"**smtp_host**: SMTP host for processing ``csw:ResponseHandler`` parameter " +"via outgoing email requests (default is ``localhost``)" +msgstr "" +"**smtp_host**: SMTP 主机(默认为' 本地主机 ')通过发送电子邮件请求的方式处理 " +" ``csw:ResponseHandler`` 参数" + +#: ../../configuration.rst:26 +msgid "" +"**spatial_ranking**: parameter that enables (``true`` or ``false``) ranking " +"of spatial query results as per `K.J. Lanfear 2006 - A Spatial Overlay " +"Ranking Method for a Geospatial Search of Text Objects `_." +msgstr "" +"**spatial_ranking**: 是否在对空间搜索的结果进行排名的一项参数(' 是' 或' 否' ),此排名" +"参数在每“K.J. Lanfear 2006” - 文本对象空间搜索的一个空间覆盖排名方法,“K.J. " +"Lanfear 2006”网址:_." + +#: ../../configuration.rst:28 +msgid "**[manager]**" +msgstr "" + +#: ../../configuration.rst:30 +msgid "" +"**transactions**: whether to enable transactions (``true`` or ``false``). " +"Default is ``false`` (see :ref:`transactions`)" +msgstr "**transactions**: 是否可以交易 ( ``true`` 或 ``false`` )。 默认值为否 (请参阅 :ref:`transactions` )" + +#: ../../configuration.rst:31 +msgid "" +"**allowed_ips**: comma delimited list of IP addresses (e.g. 192.168.0.103), " +"wildcards (e.g. 192.168.0.*) or CIDR notations (e.g. 192.168.100.0/24) " +"allowed to perform transactions (see :ref:`transactions`)" +msgstr "" +"**allowed_ips**: IP 地址 (如 192.168.0.103)、 通配符 (如 192.168.0.*) 或 CIDR " +"表示法 (例如 192.168.100.0/24) 以逗号分隔的列表允许执行交易 (请 :ref:`transactions` ) " + +#: ../../configuration.rst:32 +msgid "" +"**csw_harvest_pagesize**: when harvesting other CSW servers, the number of " +"records per request to page by (default is 10)" +msgstr "" +"**csw_harvest_pagesize**: 当收集其它CSW服务器时,每项请求的记录数都会显示在各页" +"中 (每页默认的数量为 10)" + +#: ../../configuration.rst:34 +msgid "**[metadata:main]**" +msgstr "" + +#: ../../configuration.rst:36 +msgid "**identification_title**: the title of the service" +msgstr "**identification_title**: 服务项目标题" + +#: ../../configuration.rst:37 +msgid "**identification_abstract**: some descriptive text about the service" +msgstr "**identification_abstract**: 一些有关该服务的描述性文本" + +#: ../../configuration.rst:38 +msgid "" +"**identification_keywords**: comma delimited list of keywords about the " +"service" +msgstr "**identification_keywords**: 以逗号分隔的服务器有关的关键字列表" + +#: ../../configuration.rst:39 +msgid "" +"**identification_keywords_type**: keyword type as per the `ISO 19115 " +"MD_KeywordTypeCode codelist `_). Accepted values are " +"``discipline``, ``temporal``, ``place``, ``theme``, ``stratum``" +msgstr "" +"**identification_keywords_type**: 每 'ISO 19115 MD_KeywordTypeCode 代码列表" +"' _)的关键字类型。 接受的值是" +"``discipline``, ``temporal``, ``place``, ``theme``, ``stratum``" + +#: ../../configuration.rst:40 +msgid "**identification_fees**: fees associated with the service" +msgstr "**identification_fees**: 与服务有关的费用" + +#: ../../configuration.rst:41 +msgid "" +"**identification_accessconstraints**: access constraints associated with " +"the service" +msgstr "**identification_accessconstraints**: 访问与该服务相关的限制条目" + +#: ../../configuration.rst:42 +msgid "**provider_name**: the name of the service provider" +msgstr "**provider_name**: 服务提供者的名字" + +#: ../../configuration.rst:43 +msgid "**provider_url**: the URL of the service provider" +msgstr "**provider_url**: 服务提供者的网址" + +#: ../../configuration.rst:44 +msgid "**contact_name**: the name of the provider contact" +msgstr "**provider_name**: 服务提供者联系人" + +#: ../../configuration.rst:45 +msgid "**contact_position**: the position title of the provider contact" +msgstr "**contact_position**:提供者联系人的职位名称" + +#: ../../configuration.rst:46 +msgid "**contact_address**: the address of the provider contact" +msgstr "**contact_address**: 提供者联系人的地址" + +#: ../../configuration.rst:47 +msgid "**contact_city**: the city of the provider contact" +msgstr "**contact_city**:提供者联系人所在城市" + +#: ../../configuration.rst:48 +msgid "" +"**contact_stateorprovince**: the province or territory of the provider " +"contact" +msgstr "**contact_stateorprovince**: 提供者联系人所在省份或更详细地址" + +#: ../../configuration.rst:49 +msgid "**contact_postalcode**: the postal code of the provider contact" +msgstr "**contact_postalcode**: 提供者联系人所在地区的邮政编码" + +#: ../../configuration.rst:50 +msgid "**contact_country**: the country of the provider contact" +msgstr "**contact_country**: 提供者联系人所在国籍" + +#: ../../configuration.rst:51 +msgid "**contact_phone**: the phone number of the provider contact" +msgstr "**contact_phone**: 提供者联系人的电话号码" + +#: ../../configuration.rst:52 +msgid "**contact_fax**: the facsimile number of the provider contact" +msgstr "**contact_fax**: 提供者联系人的传真号码" + +#: ../../configuration.rst:53 +msgid "**contact_email**: the email address of the provider contact" +msgstr "**contact_email**: 提供者联系人的电子邮件地址" + +#: ../../configuration.rst:54 +msgid "" +"**contact_url**: the URL to more information about the provider contact" +msgstr "**contact_url**: 提供者联系人的详细URL" + +#: ../../configuration.rst:55 +msgid "**contact_hours**: the hours of service to contact the provider" +msgstr "**contact_hours**: 提供者联系人的服务时数" + +#: ../../configuration.rst:56 +msgid "**contact_instructions**: the how to contact the provider contact" +msgstr "**contact_instructions**: 如何与提供者取得联系" + +#: ../../configuration.rst:57 +msgid "" +"**contact_role**: the role of the provider contact as per the `ISO 19115 " +"CI_RoleCode codelist `_). Accepted values are ``author``, " +"``processor``, ``publisher``, ``custodian``, ``pointOfContact``, " +"``distributor``, ``user``, ``resourceProvider``, ``originator``, ``owner``, " +"``principalInvestigator``" +msgstr "" +"**contact_role**: 在 'ISO 19115 CI_RoleCode 代码列表中:' _)有每位提供" +"商联系人的职务。可接受的值包括 ``author``, " +"``processor``, ``publisher``, ``custodian``, ``pointOfContact``, " +"``distributor``, ``user``, ``resourceProvider``, ``originator``, ``owner``, " +"``principalInvestigator``" + +#: ../../configuration.rst:59 +msgid "**[repository]**" +msgstr "**[repository]**" + +#: ../../configuration.rst:61 +msgid "" +"**database**: the full file path to the metadata database, in database URL " +"format (see http://docs.sqlalchemy.org/en/latest/core/engines.html#database-" +"urls)" +msgstr "" +"**database**:元数据库中完整的文件路径,数据库URL格式(见 http://docs.sqlalchemy.org/en/latest/core/engines.html#database-urls)" + +#: ../../configuration.rst:62 +msgid "" +"**table**: the table name for metadata records (default is ``records``). " +"If you are using PostgreSQL with a DB schema other than ``public``, qualify " +"the table like ``myschema.table``" +msgstr "" +"**table**:元数据记录的表名(默认为 ``records``)。如果您在使用除了``public``以外" +"的DB模式PostgreSQL,表格就会被限定,像 ``myschema.table`` " + +#: ../../configuration.rst:63 +msgid "" +"**mappings**: custom repository mappings (see :ref:`custom_repository`)" +msgstr "**mappings**:自定义的映射库(请参见 :ref:`custom_repository` )" + +#: ../../configuration.rst:64 +msgid "" +"**source**: the source of this repository only if not local (e.g. :ref:" +"`geonode`, :ref:`odc`). Supported values are ``geonode``, ``odc``" +msgstr "" +"**source**:不在本地的数据库源(例如:请参考 :ref:`geonode` , :ref:`odc` )。现有值为" +"`geonode`,`odc`" + +#: ../../configuration.rst:65 +msgid "" +"**filter**: server side database filter to apply as mask to all CSW " +"requests (see :ref:`repofilters`)" +msgstr "" +"**filter**:服务器端的数据库过滤器,适用所有CSW请求掩码(请参阅: :ref:`repofilters`)" + +#: ../../configuration.rst:69 +msgid "" +"See :ref:`administration` for connecting your metadata repository and " +"supported information models." +msgstr "请参阅: :ref:`administration` ,用于连接您的元数据信息库和支持信息模型。" + +#: ../../configuration.rst:74 +msgid "MaxRecords Handling" +msgstr "最大记录处理" + +#: ../../configuration.rst:76 +msgid "" +"The The following describes how ``maxRecords`` is handled by the " +"configuration when handling ``GetRecords`` requests:" +msgstr "下面介绍的是 ``maxRecords`` 怎样处理 ``GetRecords`` 请求时的配置" + +#: ../../configuration.rst:1 +msgid "server.maxrecords" +msgstr "" + +#: ../../configuration.rst:1 +msgid "GetRecords.maxRecords" +msgstr " + +#: ../../configuration.rst:1 +msgid "Result" +msgstr "结果" + +#: ../../configuration.rst:1 +msgid "none set" +msgstr "未设定" + +#: ../../configuration.rst:1 +msgid "none passed" +msgstr "未通过" + +#: ../../configuration.rst:1 +msgid "10 (CSW default)" +msgstr "10 (CSW 默认值)" + +#: ../../configuration.rst:1 +msgid "20" +msgstr "20" + +#: ../../configuration.rst:1 +msgid "14" +msgstr "14" + +#: ../../configuration.rst:1 +msgid "100" +msgstr "100" + +#: ../../configuration.rst:1 +msgid "200" +msgstr "200" + +#: ../../configuration.rst:90 +msgid "Alternate Configurations" +msgstr "备用配置" + +#: ../../configuration.rst:92 +msgid "" +"By default, pycsw loads ``default.cfg`` at runtime. To load an alternate " +"configuration, modify ``csw.py`` to point to the desired configuration. " +"Alternatively, pycsw supports explicitly specifiying a configuration by " +"appending ``config=/path/to/default.cfg`` to the base URL of the service (e." +"g. ``http://localhost/pycsw/csw.py?config=tests/suites/default/default." +"cfg&service=CSW&version=2.0.2&request=GetCapabilities``). When the " +"``config`` parameter is passed by a CSW client, pycsw will override the " +"default configuration location and subsequent settings with those of the " +"specified configuration." +msgstr "" +"默认情况下,pycsw在运行时加载的是 ``default.cfg`` 。加载一个配置,修改``csw.py``来指定所需配置。" +"另外,pycsw还可以通过附加 ``config=/path/to/default.cfg``到服务器的基础URL来显式定义一个配置," +"例如 ``http://localhost/pycsw/csw.py?config=tests/suites/default/default.cfg&service=CSW&version=2.0.2&request=GetCapabilities`` 。" +"当 ``config`` 参数通过CSW客户端时,pycsw就会覆盖默认的配置所在地址,并且用这些指定的配置来完成接" +"下来的一系列设置。" + +#: ../../configuration.rst:94 +msgid "" +"This also provides the functionality to deploy numerous CSW servers with a " +"single pycsw installation." +msgstr "使用单个pycsw配置就可以部署大量的功能性CSW。" + +#: ../../configuration.rst:97 +msgid "Hiding the Location" +msgstr "隐藏的位置" + +#: ../../configuration.rst:99 +msgid "" +"Some deployments with alternate configurations prefer not to advertise the " +"base URL with the ``config=`` approach. In this case, there are many " +"options to advertise the base URL." +msgstr "" +"在做基URL时,一些备用配置的部署不用 ``config=`` 方式做声明。通常状态下,会有" +"很多别的方式来做声明。" + +#: ../../configuration.rst:102 +msgid "Environment Variables" +msgstr "环境变量" + +#: ../../configuration.rst:104 +msgid "" +"One option is using Apache's ``Alias`` and ``SetEnvIf`` directives. For " +"example, given the base URL ``http://localhost/pycsw/csw.py?config=foo." +"cfg``, set the following in Apache's ``httpd.conf``:" +msgstr "" +"有一种选择是使用 Apache 的``Alias`` 和 ``SetEnvIf`` 指令。 例如,可以指定基 " +"URL 'http://localhost/pycsw/csw.py?config=foo.cfg ',在 Apache 的 'httpd." +"conf' 下配置以下指令 ︰" + +#: ../../configuration.rst:113 +msgid "Apache must be restarted after changes to ``httpd.conf``" +msgstr "在更改 ``Httpd.conf`` 后必须重新启动 Apache" + +#: ../../configuration.rst:115 +msgid "" +"pycsw will use the configuration as set in the ``PYCSW_CONFIG`` environment " +"variable in the same manner as if it was specified in the base URL. Note " +"that the configuration value ``server.url`` value must match the " +"``Request_URI`` value so as to advertise correctly in pycsw's Capabilities " +"XML." +msgstr "" +"pycsw 将以同样的方式配置设置 ``PYCSW_CONFIG`` 的环境变量,就如同它在基 URL 中" +"指定了一样。 请注意,配置值 ``server.url`` 值必须匹配 ``Request_URI`` 值,这样" +"在 pycsw 的功能 XML 中就可以做正确声明了。" + +#: ../../configuration.rst:118 +msgid "Wrapper Script" +msgstr "包装器脚本" + +#: ../../configuration.rst:120 +msgid "" +"Another option is to write a simple wrapper (e.g. ``csw-foo.sh``), which " +"provides the same functionality and can be deployed without restarting " +"Apache:" +msgstr "" +"另一个选择是编写一个简单的包装器 (如``csw-foo.sh``),也会有相同的功能,而且" +"无需重新启动 Apache 也可以部署 ︰" diff --git a/docs/locale/zh/LC_MESSAGES/contributing.po b/docs/locale/zh/LC_MESSAGES/contributing.po new file mode 100644 index 000000000..9b614f58a --- /dev/null +++ b/docs/locale/zh/LC_MESSAGES/contributing.po @@ -0,0 +1,354 @@ +# +msgid "" +msgstr "" +"Project-Id-Version: pycsw 2.0-dev\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2015-11-23 21:42+0800\n" +"PO-Revision-Date: 2016-06-03 15:38+0800\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=1; plural=0;\n" +"Last-Translator: \n" +"Language-Team: \n" +"Language: zh_CN\n" +"X-Generator: Poedit 1.8.7\n" + +#: ../../../CONTRIBUTING.rst:2 +msgid "Contributing to pycsw" +msgstr "pycsw的贡献" + +#: ../../../CONTRIBUTING.rst:4 +msgid "" +"The pycsw project openly welcomes contributions (bug reports, bug fixes, " +"code enhancements/features, etc.). This document will outline some " +"guidelines on contributing to pycsw. As well, the pycsw `community `_ is a great place to get an idea of how to connect and " +"participate in pycsw community and development." +msgstr "" +"Pycsw 项目是开源的 (bug 报告、 bug 修复、 代码增强功能等)。 此篇文章将概述" +"pycsw 的一些作用。 pycsw'社区' _ ,就是提供一些建议,应该" +"如何连接和参与 pycsw 社区,并如何更好地发展。" + +#: ../../../CONTRIBUTING.rst:9 +msgid "pycsw has the following modes of contribution:" +msgstr "以下是几项pycsw做出的贡献 ︰" + +#: ../../../CONTRIBUTING.rst:11 ../../../CONTRIBUTING.rst:25 +msgid "GitHub Commit Access" +msgstr "GitHub 提交修改的权限" + +#: ../../../CONTRIBUTING.rst:12 ../../../CONTRIBUTING.rst:33 +msgid "GitHub Pull Requests" +msgstr "GitHub 的请求" + +#: ../../../CONTRIBUTING.rst:15 +msgid "Code of Conduct" +msgstr "行为准则" + +#: ../../../CONTRIBUTING.rst:17 +msgid "" +"Contributors to this project are expected to act respectfully toward others " +"in accordance with the `OSGeo Code of Conduct `_." +msgstr "" +"此项目的贡献者是遵守 'OSGeo 行为守则' _" + +#: ../../../CONTRIBUTING.rst:20 +msgid "Contributions and Licensing" +msgstr "贡献和许可" + +#: ../../../CONTRIBUTING.rst:22 +msgid "" +"Contributors are asked to confirm that they comply with project `license " +"`_ guidelines." +msgstr "" +"贡献者应当符合 '许可证' _ 准则。" + +#: ../../../CONTRIBUTING.rst:27 +msgid "" +"proposals to provide developers with GitHub commit access shall be emailed " +"to the pycsw-devel `mailing list`_. Proposals shall be approved by the " +"pycsw development team. Committers shall be added by the project admin" +msgstr "" +"建议开发人员提供 GitHub 的提交访问权限,此权限应通过电子邮件发送到pycsw-" +"devel `mailing list`_。 希望 pycsw 开发团队可以允许。 应由项目管理员处添加访" +"问者" + +#: ../../../CONTRIBUTING.rst:28 +msgid "removal of commit access shall be handled in the same manner" +msgstr "应以同样的方式解除提交访问权限" + +#: ../../../CONTRIBUTING.rst:29 +msgid "" +"each committer must send an email to the pycsw mailing list agreeing to the " +"license guidelines (see `Contributions and Licensing Agreement Template " +"<#contributions-and-licensing-agreement-template>`_). **This is only " +"required once**" +msgstr "" +"每个提交的用户必须发送电子邮件到 pycsw 邮件列表中,前得是同意许可证准则 " +"(见 '贡献和许可协议模板 <#contributions-and-licensing-agreement-template>' " +"_)。只需一次即可。" + +#: ../../../CONTRIBUTING.rst:30 +msgid "" +"each committer shall be listed in https://github.com/geopython/pycsw/blob/" +"master/COMMITTERS.txt" +msgstr "" +"每个提交的用户会显示在https://github.com/geopython/pycsw/blob/master/" +"COMMITTERS.txt列表中" + +#: ../../../CONTRIBUTING.rst:35 +msgid "" +"pull requests can provide agreement to license guidelines as text in the " +"pull request or via email to the pycsw `mailing list`_ (see `Contributions " +"and Licensing Agreement Template <#contributions-and-licensing-agreement-" +"template>`_). **This is only required for a contributor's first pull " +"request. Subsequent pull requests do not require this step**" +msgstr "" +"pull 请求可以提供协议许可准则,在pull请求时可作为文本,也可以电邮至 pycsw 邮" +"件列表 (见 `贡献和许可协议模板<#contributions-and-licensing-agreement-template>`_ )。 这只需要在第一次Pull请求时使用。 后续的请求不需要此步骤" + +#: ../../../CONTRIBUTING.rst:36 +msgid "" +"pull requests may include copyright in the source code header by the " +"contributor if the contribution is significant or the contributor wants to " +"claim copyright on their contribution" +msgstr "如果有重大贡献或贡献者想要申请版权专利,pull请求可以将源代码设置权限" + +#: ../../../CONTRIBUTING.rst:37 +msgid "" +"all contributors shall be listed at https://github.com/geopython/pycsw/" +"graphs/contributors" +msgstr "" +"所有贡献者均在 https://github.com/geopython/pycsw/graphs/contributors 列表中" + +#: ../../../CONTRIBUTING.rst:38 +msgid "" +"unclaimed copyright, by default, is assigned to the main copyright holders " +"as specified in https://github.com/geopython/pycsw/blob/master/LICENSE.txt" +msgstr "" +"若无人声明版权所属,在默认情况下,会指定分配给主要的版权持有人,在https://" +"github.com/geopython/pycsw/blob/master/LICENSE.txt中强调指出" + +#: ../../../CONTRIBUTING.rst:41 +msgid "Contributions and Licensing Agreement Template" +msgstr "贡献和许可协议模板" + +#: ../../../CONTRIBUTING.rst:43 +msgid "" +"``Hi all, I'd like to contribute " +"to pycsw. I confirm that my contributions to pycsw will be compatible with " +"the pycsw license guidelines at the time of contribution.``" +msgstr "" +"``大家好,我愿意在pycsw贡献 。我证" +"明,我对pycsw的贡献将与pycsw许可指南兼容。``" + +#: ../../../CONTRIBUTING.rst:49 +msgid "GitHub" +msgstr "GitHub" + +#: ../../../CONTRIBUTING.rst:51 +msgid "" +"Code, tests, documentation, wiki and issue tracking are all managed on " +"GitHub. Make sure you have a `GitHub account `_." +msgstr "" +"代码,测试,文档,wiki和问题都在GitHub上进行追踪管理,以确保每个人均有一个自" +"己的 GitHub的账户 。 " + +#: ../../../CONTRIBUTING.rst:55 +msgid "Code Overview" +msgstr "代码概览" + +#: ../../../CONTRIBUTING.rst:57 +msgid "" +"the pycsw `wiki `_ documents an overview of the codebase" +msgstr "" +"在pycsw `维基 `_ 有" +"详细的代码库概述" + +#: ../../../CONTRIBUTING.rst:60 +msgid "Documentation" +msgstr "说明文件" + +#: ../../../CONTRIBUTING.rst:62 +msgid "documentation is managed in ``docs/``, in reStructuredText format" +msgstr "文档在 ``docs/`` 中管理,以reStructuredText格式" + +#: ../../../CONTRIBUTING.rst:63 +msgid "`Sphinx`_ is used to generate the documentation" +msgstr "`Sphinx`_ 作用是生成文档" + +#: ../../../CONTRIBUTING.rst:64 +msgid "" +"See the `reStructuredText Primer `_ on rST " +"markup and syntax." +msgstr "" +"在RST上的标记和语法中见 reStructuredText Primer 。" + +#: ../../../CONTRIBUTING.rst:67 +msgid "Bugs" +msgstr "错误" + +#: ../../../CONTRIBUTING.rst:69 +msgid "" +"pycsw's `issue tracker `_ is the " +"place to report bugs or request enhancements. To submit a bug be sure to " +"specify the pycsw version you are using, the appropriate component, a " +"description of how to reproduce the bug, as well as what version of Python " +"and platform. For convenience, you can run ``pycsw-admin.py -c " +"get_sysprof`` and copy/paste the output into your issue." +msgstr "" +" `_是pycsw问题跟踪器,是报告错误" +"或要求改进的地方。当您提交出现的错误时,一定要指定您正在使用的pycsw版本,相" +"应的组件,如何操作显示的错误信息,以及Python和平台的版本。为方便起见,你可以" +"运行``pycsw-admin.py -c get_sysprof``,并将输出信息复制、粘贴到您的问题中。" + +#: ../../../CONTRIBUTING.rst:72 +msgid "Forking pycsw" +msgstr "分叉pycsw" + +#: ../../../CONTRIBUTING.rst:74 +msgid "" +"Contributions are most easily managed via GitHub pull requests. `Fork " +"`_ pycsw into your own GitHub " +"repository to be able to commit your work and submit pull requests." +msgstr "" +"通过 GitHub pull 请求后,贡献是最容易管理的。 '叉' _ pycsw 放到你自己 GitHub 存储库中,这样可以轻松地提" +"交你的工作,并提交pull请求。" + +#: ../../../CONTRIBUTING.rst:78 +msgid "Development" +msgstr "开发" + +#: ../../../CONTRIBUTING.rst:81 +msgid "GitHub Commit Guidelines" +msgstr "GitHub 提交指南" + +#: ../../../CONTRIBUTING.rst:83 +msgid "enhancements and bug fixes should be identified with a GitHub issue" +msgstr "增强和 bug 修复应该等同于 GitHub 问题" + +#: ../../../CONTRIBUTING.rst:84 +msgid "" +"commits should be granular enough for other developers to understand the " +"nature / implications of the change(s)" +msgstr "提交时粒数应该足够量,为方便其他开发人员了解自然/变化的影响(S)" + +#: ../../../CONTRIBUTING.rst:85 +msgid "" +"for trivial commits that do not need `Travis CI `_ to run, include ``[ci skip]`` as part of the commit " +"message" +msgstr "" +"如果是一些琐碎的提交,就像是 ``[ci skip]`` 也是做为提交消息的一部分,则不需" +"要运行`Travis CI `_," + +#: ../../../CONTRIBUTING.rst:86 +msgid "" +"non-trivial Git commits shall be associated with a GitHub issue. As " +"documentation can always be improved, tickets need not be opened for " +"improving the docs" +msgstr "" +"若是重大事件的 Git 提交应与 GitHub 问题部门取得联系。 以文档格式是可以修改" +"的,但修改文档的tickets则是不必公开的" + +#: ../../../CONTRIBUTING.rst:87 +msgid "Git commits shall include a description of changes" +msgstr "Git 提交应包括更改说明" + +#: ../../../CONTRIBUTING.rst:88 +msgid "" +"Git commits shall include the GitHub issue number (i.e. ``#1234``) in the " +"Git commit log message" +msgstr "Git 提交应在Git 提交日志中写入 GitHub 问题编号 (例如 ' #1234 ')" + +#: ../../../CONTRIBUTING.rst:89 +msgid "" +"all enhancements or bug fixes must successfully pass all :ref:`ogc-cite` " +"tests before they are committed" +msgstr "在提交之前,所有应改进的或错误修改的必须通过所有 :ref:`ogc-cite` 测试" + +#: ../../../CONTRIBUTING.rst:90 +msgid "" +"all enhancements or bug fixes must successfully pass all :ref:`tests` tests " +"before they are committed" +msgstr "在提交之前,所有应改进的或错误修改的必须通过所有 :ref:`tests` 测试" + +#: ../../../CONTRIBUTING.rst:91 +msgid "" +"enhancements which can be demonstrated from the pycsw :ref:`tests` should " +"be accompanied by example CSW request XML" +msgstr "pycsw加强的部分请参考 :ref:`tests` ,应附有像CSW的 请求 XML" + +#: ../../../CONTRIBUTING.rst:94 +msgid "Coding Guidelines" +msgstr "编码准则" + +#: ../../../CONTRIBUTING.rst:96 +msgid "pycsw instead of PyCSW, pyCSW, Pycsw" +msgstr "写法应是pycsw,而不是 PyCSW,pyCSW,Pycsw" + +#: ../../../CONTRIBUTING.rst:97 +msgid "always code with `PEP 8`_ conventions" +msgstr "应是 `PEP 8`_ 公约代码" + +#: ../../../CONTRIBUTING.rst:98 +msgid "" +"always run source code through ``pep8`` and `pylint`_, using all pylint " +"defaults except for ``C0111``. ``sbin/pycsw-pylint.sh`` is included for " +"convenience" +msgstr "" +"应使用所有 pylint 默认设置的 ``pep8`` 与 `pylint`_,运行除了 ``C0111`` 的源代" +"码。 ``sbin/pycsw-pylint.sh`` 是为了方便起见" + +#: ../../../CONTRIBUTING.rst:99 +msgid "" +"for exceptions which make their way to OGC ``ExceptionReport`` XML, always " +"specify the appropriate ``locator`` and ``code`` parameters" +msgstr "" +"除了OGC 'ExceptionReport' XML运行方式为个别例外,通常会指定合适的 '定位器 " +"'和' 代码 ' 参数" + +#: ../../../CONTRIBUTING.rst:100 +msgid "" +"the pycsw wiki documents `developer tasks`_ for things like releasing " +"documentation, testing, etc." +msgstr "pycsw wiki 文档的 `developer tasks`_ 类似于发布文档,测试等。" + +#: ../../../CONTRIBUTING.rst:103 +msgid "Submitting a Pull Request" +msgstr "提交pull请求" + +#: ../../../CONTRIBUTING.rst:105 +msgid "" +"This section will guide you through steps of working on pycsw. This " +"section assumes you have forked pycsw into your own GitHub repository." +msgstr "" +"这一节将指导您操作pycsw的步骤。 本节假定在您自己GitHub资料库中,有分叉的 " +"pycsw。" + +#: ../../../CONTRIBUTING.rst:129 +msgid "" +"Your changes are now visible on your pycsw repository on GitHub. You are " +"now ready to create a pull request. A member of the pycsw team will review " +"the pull request and provide feedback / suggestions if required. If " +"changes are required, make them against the same branch and push as per " +"above (all changes to the branch in the pull request apply)." +msgstr "" +"您的更改在 GitHub自己的 pycsw 存储库为可见状态。 现在你要创建pull请求。Pycsw" +"的团队成员将审查你的pull请求,若您有需要,团队成员会提供给您反馈建议。 如果" +"需要改动,要另立分支,并push以上步骤 (pull请求中所有更改的分支)。" + +#: ../../../CONTRIBUTING.rst:133 +msgid "" +"The pull request will then be merged by the pycsw team. You can then " +"delete your local branch (on GitHub), and then update your own repository " +"to ensure your pycsw repository is up to date with pycsw master:" +msgstr "" +"然后pycsw 团队将合并pull请求。 你可以删除掉你本地的分支(在 GitHub),更新您" +"自己的库,以确保您的 pycsw 存储库与pycsw总站是同步的 ︰" diff --git a/docs/locale/zh/LC_MESSAGES/csw-support.po b/docs/locale/zh/LC_MESSAGES/csw-support.po new file mode 100644 index 000000000..c73c521f1 --- /dev/null +++ b/docs/locale/zh/LC_MESSAGES/csw-support.po @@ -0,0 +1,65 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2010-2015, Tom Kralidis This work is licensed under a +# Creative Commons Attribution 4.0 International License +# This file is distributed under the same license as the pycsw package. +# FIRST AUTHOR , 2016. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: pycsw 2.1-dev\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2016-07-21 21:02+0800\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.3.4\n" + +#: ../../csw-support.rst:4 +msgid "CSW Support" +msgstr "" + +#: ../../csw-support.rst:7 +msgid "Versions" +msgstr "" + +#: ../../csw-support.rst:9 +msgid "" +"pycsw supports both CSW 2.0.2 and 3.0.0 versions by default. In " +"alignment with the CSW specifications, the default version returned is " +"the latest supported version. That is, pycsw will always behave like a " +"3.0.0 CSW unless the client explicitly requests a 2.0.2 CSW." +msgstr "" + +#: ../../csw-support.rst:14 +msgid "" +"The sample URLs below provide examples of how requests behaves against " +"various/missing/default version parameters." +msgstr "" + +#: ../../csw-support.rst:25 +msgid "Request Examples" +msgstr "" + +#: ../../csw-support.rst:27 +msgid "" +"The best place to look for sample requests is within the `tests/` " +"directory, which provides numerous examples of all supported APIs and " +"requests." +msgstr "" + +#: ../../csw-support.rst:30 +msgid "Additional examples:" +msgstr "" + +#: ../../csw-support.rst:32 +msgid "`Data.gov CSW HowTo v2.0`_" +msgstr "" + +#: ../../csw-support.rst:33 +msgid "`pycsw Quickstart on OSGeoLive`_" +msgstr "" + diff --git a/docs/locale/zh/LC_MESSAGES/distributedsearching.po b/docs/locale/zh/LC_MESSAGES/distributedsearching.po new file mode 100644 index 000000000..ff74a48d3 --- /dev/null +++ b/docs/locale/zh/LC_MESSAGES/distributedsearching.po @@ -0,0 +1,156 @@ +# +msgid "" +msgstr "" +"Project-Id-Version: pycsw 2.0-dev\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2015-11-23 21:42+0800\n" +"PO-Revision-Date: 2016-06-06 15:05+0800\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=1; plural=0;\n" +"Last-Translator: \n" +"Language-Team: \n" +"Language: zh_CN\n" +"X-Generator: Poedit 1.8.7\n" + +#: ../../distributedsearching.rst:4 +msgid "Distributed Searching" +msgstr "分布式搜索" + +#: ../../distributedsearching.rst:8 +msgid "" +"Your server must be able to make outgoing HTTP requests for this " +"functionality." +msgstr "此功能的作用就是可以使你的服务器传出HTTP请求。" + +#: ../../distributedsearching.rst:10 +msgid "" +"pycsw has the ability to perform distributed searching against other CSW " +"servers. Distributed searching is disabled by default; to enable, ``server." +"federatedcatalogues`` must be set. A CSW client must issue a GetRecords " +"request with ``csw:DistributedSearch`` specified, along with an optional " +"``hopCount`` attribute (see subclause 10.8.4.13 of the CSW specification). " +"When enabled, pycsw will search all specified catalogues and return a " +"unified set of search results to the client. Due to the distributed nature " +"of this functionality, requests will take extra time to process compared to " +"queries against the local repository." +msgstr "" +"pycsw与其它CSW服务器不同的是,它有能力自己实现分布式搜索。此分布式搜索默认为" +"禁用;若想启用,必须设置 ``server.federatedcatalogues`` 。CSW客户端会发出一个" +"Getrecords指定性请求 ``csw:DistributedSearch`` ,以及一个可选的 ``hopCount`` " +"属性(见CSW规范中第10.8.4.13 )。当启用时,pycsw会搜索所有指定的目录并会将一" +"组统一的搜索结果返回给客户端。由于此功能的分布式性质,若要查询本地存储库,请" +"求可能会需要更多的时间来处理。" + +#: ../../distributedsearching.rst:13 +msgid "Scenario: Federated Search" +msgstr "场景:联合搜索" + +#: ../../distributedsearching.rst:15 +msgid "" +"pycsw deployment with 3 configurations (CSW-1, CSW-2, CSW-3), subsequently " +"providing three (3) endpoints. Each endpoint is based on an opaque " +"metadata repository (based on theme/place/discipline, etc.). Goal is to " +"perform a single search against all endpoints." +msgstr "" +"pycsw部署共有3项配置(CSW-1,CSW-2,CSW-3),同时也会提供3个端点。每个端点是" +"基于一个不透明的元数据信息库(基于主题/地点/学科等)。目标是执行对所有端点一" +"对一的搜索。" + +#: ../../distributedsearching.rst:17 +msgid "" +"pycsw realizes this functionality by supporting :ref:`alternate " +"configurations `, and exposes the additional CSW " +"endpoint(s) with the following design pattern:" +msgstr "" +"pycsw的本功能是靠 :ref:`交替配置` 支持的,并是按" +"以下设计模式来公开其他CSW端点的︰" + +#: ../../distributedsearching.rst:19 +msgid "CSW-1: ``http://localhost/pycsw/csw.py?config=CSW-1.cfg``" +msgstr "CSW-1: ``http://localhost/pycsw/csw.py?config=CSW-1.cfg``" + +#: ../../distributedsearching.rst:21 +msgid "CSW-2: ``http://localhost/pycsw/csw.py?config=CSW-2.cfg``" +msgstr "CSW-2: ``http://localhost/pycsw/csw.py?config=CSW-2.cfg``" + +#: ../../distributedsearching.rst:23 +msgid "CSW-3: ``http://localhost/pycsw/csw.py?config=CSW-3.cfg``" +msgstr "CSW-3: ``http://localhost/pycsw/csw.py?config=CSW-3.cfg``" + +#: ../../distributedsearching.rst:25 +msgid "" +"...where the ``*.cfg`` configuration files are configured for each " +"respective metadata repository. The above CSW endpoints can be interacted " +"with as usual." +msgstr "" +"只要有 ``*.cfg`` 这个配置文件,它就可以为每个元数据存储库进行配置。 以上的CSW" +"端点也可以像往常一样进行交互。" + +#: ../../distributedsearching.rst:27 +msgid "" +"To federate the discovery of the three (3) portals into a unified search, " +"pycsw realizes this functionality by deploying an additional configuration " +"which acts as the superset of CSW-1, CSW-2, CSW-3:" +msgstr "" +"将这3个门户联合成统一的搜索,pycsw就可以通过部署超集的CSW-1、 CSW-2、 CSW-3 " +"这些附加配置来实现此功能:" + +#: ../../distributedsearching.rst:29 +msgid "CSW-all: ``http://localhost/pycsw/csw.py?config=CSW-all.cfg``" +msgstr "所有的CSW: ``http://localhost/pycsw/csw.py?config=CSW-all.cfg``" + +#: ../../distributedsearching.rst:31 +msgid "" +"This allows the client to invoke one (1) CSW GetRecords request, in which " +"the CSW endpoint spawns the same GetRecords request to 1..n distributed CSW " +"endpoints. Distributed CSW endpoints are advertised in CSW Capabilities " +"XML via ``ows:Constraint``:" +msgstr "" +"这允许客户端调用 1 CSW GetRecords 请求,其中CSW端点就会生成相同的GetRecords" +"请求,从1到n分布各个CSW 终结点。分布式CSW端点通过 'ows:Constraint' 在CSW功" +"能 XML上发布广告︰" + +#: ../../distributedsearching.rst:45 +msgid "" +"...which advertises which CSW endpoint(s) the CSW server will spawn if a " +"distributed search is requested by the client." +msgstr "如果在客户端请求分布式搜索的话,CSW服务器将spawn。" + +#: ../../distributedsearching.rst:47 +msgid "in the CSW-all configuration:" +msgstr "CSW-all 配置" + +#: ../../distributedsearching.rst:55 +msgid "" +"At which point a CSW client request to CSW-all with " +"``distributedsearch=TRUE``, while specifying an optional ``hopCount``. " +"Query network topology:" +msgstr "" +"当指定选项``hopCount``时,CSW客户端就会用 ' distributedsearch = TRUE '请求所" +"有的CSW。 查询网络拓扑 ︰" + +#: ../../distributedsearching.rst:73 +msgid "" +"As a result, a pycsw deployment in this scenario may be approached on a per " +"'theme' basis, or at an aggregate level." +msgstr "" +"因此,在这个场景中,pycsw 部署就会深入每个 '主题' 的基础部分或总体水平。" + +#: ../../distributedsearching.rst:75 +msgid "" +"All interaction in this scenario is local to the pycsw installation, so " +"network performance would not be problematic." +msgstr "" +"在这个场景中的所有交互都是在本地pycsw 安装的,所以网络性能的好与坏是不会产生" +"影响的。" + +#: ../../distributedsearching.rst:77 +msgid "" +"A very important facet of distributed search is as per Annex B of OGC:CSW " +"2.0.2. Given that all the CSW endpoints are managed locally, duplicates " +"and infinite looping are not deemed to present an issue." +msgstr "" +"分布式搜索的一个非常重要的方面是OGC的附件B问题:CSW 2.0.2。鉴于所有的CSW端点" +"都是本地管理,因此复制和无限循环不会存在问题。" diff --git a/docs/locale/zh/LC_MESSAGES/geonode.po b/docs/locale/zh/LC_MESSAGES/geonode.po new file mode 100644 index 000000000..9731bde4f --- /dev/null +++ b/docs/locale/zh/LC_MESSAGES/geonode.po @@ -0,0 +1,61 @@ +# +msgid "" +msgstr "" +"Project-Id-Version: pycsw 2.0-dev\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2016-12-17 17:33+0800\n" +"PO-Revision-Date: 2016-06-07 15:54+0800\n" +"Last-Translator: \n" +"Language-Team: \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.3.4\n" + +#: ../../geonode.rst:4 +msgid "GeoNode Configuration" +msgstr "GeoNode配置" + +#: ../../geonode.rst:6 +msgid "" +"GeoNode (http://geonode.org/) is a platform for the management and " +"publication of geospatial data. It brings together mature and stable " +"open-source software projects under a consistent and easy-to-use " +"interface allowing users, with little training, to quickly and easily " +"share data and create interactive maps. GeoNode provides a cost-effective" +" and scalable tool for developing information management systems. " +"GeoNode uses CSW as a cataloguing mechanism to query and present " +"geospatial metadata." +msgstr "" +"GeoNode(http://geonode.org/)是地理空间数据管理和发布的平台。它是成熟且稳定的开源软件项目,具有一致性和易掌握性,只要稍加指导,就可以快速且轻松地分享数据,并能创建交互式地图。" +" " +"GeoNode是一种工具,为开发信息管理系统提供了节约成本且可伸缩等功能。GeoNode使用的是CSW,此CSW可查询编目,还可以显示当前的地理空间元数据。" +" " + +#: ../../geonode.rst:8 +msgid "" +"pycsw supports binding to an existing GeoNode repository for metadata " +"query. The binding is read-only (transactions are not in scope, as " +"GeoNode manages repository metadata changes in the application proper)." +msgstr "pycsw绑定到现有GeoNode库,此库用于元数据查询。此绑定是只读文件(交易不在范围内,GeoNode在适当的应用程序中管理库元数据)。" + +#: ../../geonode.rst:11 +msgid "GeoNode Setup" +msgstr "GeoNode设置" + +#: ../../geonode.rst:13 +msgid "" +"pycsw is enabled and configured by default in GeoNode, so there are no " +"additional steps required once GeoNode is setup. See the ``CATALOGUE`` " +"and ``PYCSW`` `settings.py entries`_ at " +"http://docs.geonode.org/en/latest/developers/reference/django-" +"apps.html#id1 for customizing pycsw within GeoNode." +msgstr "" +"在GeoNode中,pycsw 的启用和配置都是默认的,所以GeoNode的安装程序不需要额外步骤的。若想定制GeoNode-" +"pycsw,请参见http://docs.geonode.org/en/latest/developers/reference/django-" +"apps.html#id1中``CATALOGUE``和```PYCSW`` `settings.py entries`_ 。" + +#: ../../geonode.rst:15 +msgid "The GeoNode plugin is managed outside of pycsw within the GeoNode project." +msgstr "GeoNode插件不是由 GeoNode 项目中的 pycsw 管理。" + diff --git a/docs/locale/zh/LC_MESSAGES/hhypermap.po b/docs/locale/zh/LC_MESSAGES/hhypermap.po new file mode 100644 index 000000000..1924dc904 --- /dev/null +++ b/docs/locale/zh/LC_MESSAGES/hhypermap.po @@ -0,0 +1,72 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2010-2015, Tom Kralidis This work is licensed under a +# Creative Commons Attribution 4.0 International License +# This file is distributed under the same license as the pycsw package. +# FIRST AUTHOR , 2016. +# +msgid "" +msgstr "" +"Project-Id-Version: pycsw 2.0-dev\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2016-12-17 17:33+0800\n" +"PO-Revision-Date: 2016-06-06 16:04+0800\n" +"Last-Translator: \n" +"Language-Team: \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.3.4\n" + +#: ../../hhypermap.rst:4 +msgid "HHypermap Configuration" +msgstr "HHypermap配置" + +#: ../../hhypermap.rst:6 +#, fuzzy +msgid "" +"HHypermap (Harvard Hypermap) Registry (https://github.com/cga-" +"harvard/HHypermap) is an application that manages OWS, Esri REST, and " +"other types of map service harvesting, and maintains uptime statistics " +"for services and layers. HHypermap Registry will publish to HHypermap " +"Search (based on Lucene) which provides a fast search and visualization " +"environment for spatio-temporal materials." +msgstr "" +"HHypermap (Harvard Hypermap) Supervisor(https://github.com/cga-" +"harvard/HHypermap)是管理OWS、ESRI " +"REST、其他类型的地图服务、维护服务和图层正常运行统计的一款应用程序。HHypermap " +"Supervisor会发布到HHypermap搜索中(基于Lucene),它可实现空间数据的快速搜索和可视化环境。" + +#: ../../hhypermap.rst:8 +msgid "" +"HHypermap uses CSW as a cataloguing mechanism to ingest, query and " +"present geospatial metadata." +msgstr "HHypermap使用CSW作为摄取、查询、地理空间元数据显示的编目。" + +#: ../../hhypermap.rst:10 +msgid "" +"pycsw supports binding to an existing HHypermap repository for metadata " +"query." +msgstr "为元数据查询,将pycsw绑定到已有的HHypermap存储库。" + +#: ../../hhypermap.rst:13 +msgid "HHypermap Setup" +msgstr "HHypermap设置" + +#: ../../hhypermap.rst:15 +msgid "" +"pycsw is enabled and configured by default in HHypermap, so there are no " +"additional steps required once HHypermap is setup. See the " +"``REGISTRY_PYCSW`` `hypermap/settings.py entries`_ for customizing pycsw " +"within HHypermap." +msgstr "" +"在HHypermap中,pycsw的启用与配置是默认设置的,所以HHypermap的安装程序是不需要额外步骤的。" +"想定制HHypermap-pycsw,请参见 " +"``REGISTRY_PYCSW`` `hypermap/settings.py entries`_ "。 + +#: ../../hhypermap.rst:17 +msgid "" +"The HHypermap plugin is managed outside of pycsw within the HHypermap " +"project. HHypermap settings must ensure that " +"``REGISTRY_PYCSW['repository']['source']`` is set " +"to``hypermap.search.pycsw_repository``." +msgstr "" diff --git a/docs/locale/zh/LC_MESSAGES/index.po b/docs/locale/zh/LC_MESSAGES/index.po new file mode 100644 index 000000000..218f14f3a --- /dev/null +++ b/docs/locale/zh/LC_MESSAGES/index.po @@ -0,0 +1,35 @@ +# +msgid "" +msgstr "" +"Project-Id-Version: pycsw 2.0-dev\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2015-11-23 21:42+0800\n" +"PO-Revision-Date: 2016-06-06 16:09+0800\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=1; plural=0;\n" +"Last-Translator: \n" +"Language-Team: \n" +"Language: zh_CN\n" +"X-Generator: Poedit 1.8.7\n" + +#: ../../index.rst:5 +msgid "pycsw |release| Documentation" +msgstr "pycsw 发布 文档" + +#: ../../index.rst:7 +msgid "Tom Kralidis" +msgstr "Tom Kralidis" + +#: ../../index.rst:8 +msgid "tomkralidis at gmail.com" +msgstr "tomkralidis at gmail.com" + +#: ../../index.rst:9 +msgid "|release|" +msgstr "发布" + +#: ../../index.rst:10 +msgid "|today|" +msgstr "今天" diff --git a/docs/locale/zh/LC_MESSAGES/installation.po b/docs/locale/zh/LC_MESSAGES/installation.po new file mode 100644 index 000000000..735c784de --- /dev/null +++ b/docs/locale/zh/LC_MESSAGES/installation.po @@ -0,0 +1,270 @@ +# +msgid "" +msgstr "" +"Project-Id-Version: pycsw 2.0-dev\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2016-07-21 21:02+0800\n" +"PO-Revision-Date: 2016-06-07 10:58+0800\n" +"Last-Translator: \n" +"Language-Team: \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.3.4\n" + +#: ../../installation.rst:4 +msgid "Installation" +msgstr "安装" + +#: ../../installation.rst:7 +msgid "System Requirements" +msgstr "系统要求" + +#: ../../installation.rst:9 +msgid "" +"pycsw is written in `Python `_, and works with " +"(tested) version 2.6, 2.7 and 3.4" +msgstr "pycsw 编写语言是 `Python `_ ,版本(测试通过)为 2.6, 2.7及3.4" + +#: ../../installation.rst:11 +msgid "pycsw requires the following Python supporting libraries:" +msgstr "pycsw 是由以下Python库支撑的︰" + +#: ../../installation.rst:13 +msgid "`lxml`_ for XML support" +msgstr "`lxml`_ 用于XML 支撑" + +#: ../../installation.rst:14 +msgid "`SQLAlchemy`_ for database bindings" +msgstr "`SQLAlchemy`_ 用于数据库绑定" + +#: ../../installation.rst:15 +msgid "`pyproj`_ for coordinate transformations" +msgstr "`pyproj`_ 用于变换坐标" + +#: ../../installation.rst:16 +msgid "`Shapely`_ for spatial query / geometry support" +msgstr "`Shapely`_ 用于空间查询/ 几何支持" + +#: ../../installation.rst:17 +msgid "`OWSLib`_ for CSW client and metadata parser" +msgstr "`OWSLib`_ 用于CSW客户端和元数据分析" + +#: ../../installation.rst:18 +msgid "`six`_ for Python 2/3 compatibility" +msgstr "`six`_ 用于处理 Python 2/3 兼容性" + +#: ../../installation.rst:19 +msgid "`xmltodict`_ for working with XML similar to working with JSON" +msgstr "`xmltodict`_ ,来像使用 JSON 一样使用 XML" + +#: ../../installation.rst:20 +msgid "`geolinks`_ for dealing with geospatial links" +msgstr "`geolinks`_ 处理 地理空间链接" + +#: ../../installation.rst:24 +msgid "You can install these dependencies via `easy_install`_ or `pip`_" +msgstr "通过 `easy_install`_ or `pip`_ 可以安装一些与之相关的程序" + +#: ../../installation.rst:28 +msgid "" +"For :ref:`GeoNode ` or :ref:`Open Data Catalog ` or " +":ref:`HHypermap ` deployments, SQLAlchemy is not required" +msgstr "对于 :ref:`GeoNode ` 或 :ref:`Open Data Catalog ` ,或 :ref:`HHypermap ` 部署,SQLAlchemy 不是必需的" + +#: ../../installation.rst:31 +msgid "Installing from Source" +msgstr "从源代码安装" + +#: ../../installation.rst:33 +msgid "" +"`Download `_ the latest stable version or " +"fetch from Git." +msgstr " `下载`_ 最新稳定版本,或从 Git 获取。" + +#: ../../installation.rst:36 +msgid "For Developers and the Truly Impatient" +msgstr "为开发人员和真正Impatient" + +#: ../../installation.rst:38 +msgid "The 4 minute install:" +msgstr "安装需要4分钟" + +#: ../../installation.rst:56 +msgid "The Quick and Dirty Way" +msgstr "快速但并非完善的方式" + +#: ../../installation.rst:62 +msgid "" +"Ensure that CGI is enabled for the install directory. For example, on " +"Apache, if pycsw is installed in ``/srv/www/htdocs/pycsw`` (where the URL" +" will be ``http://host/pycsw/csw.py``), add the following to " +"``httpd.conf``:" +msgstr "" +"确保在安装目录中 CGI已启用。 例如,对 Apache,如果 pycsw 安装在 ``/srv/www/htdocs/pycsw`` " +"(这时,URL 就会在 ``http://host/pycsw/csw.py`` ),将以下信息添加至 ``httpd.conf`` :" + +#: ../../installation.rst:73 +msgid "" +"If pycsw is installed in ``cgi-bin``, this should work as expected. In " +"this case, the :ref:`tests ` application must be moved to a " +"different location to serve static HTML documents." +msgstr "" +"如果 pycsw安装在 ``cgi-bin`` 下,工作就能预期进行。在这种情况下, :ref:`tests` " +"应用程序就必须转移到其它位置,成为静态的 HTML 文件。" + +#: ../../installation.rst:75 +msgid "" +"Make sure, you have all the dependencies from ``requirements.txt and " +"requirements-standalone.txt``" +msgstr "" +"请确保你已经从 ``requirements.txt and requirements-standalone.txt`` " +"获得所有dependencies" + +#: ../../installation.rst:78 +msgid "The Clean and Proper Way" +msgstr "适当的方式" + +#: ../../installation.rst:86 +msgid "" +"At this point, pycsw is installed as a library and requires a CGI " +"``csw.py`` or WSGI ``pycsw/wsgi.py`` script to be served into your web " +"server environment (see below for WSGI configuration/deployment)." +msgstr "" +"在这一点上,pycsw 安装库将 CGI 'csw.py '或 WSGI' pycsw/wsgi.py ' 脚本发送到您的 web 服务器环境 " +"(参见下文 WSGI 配置/部署)。" + +#: ../../installation.rst:93 +msgid "Installing from the Python Package Index (PyPi)" +msgstr "从 Python Package 指数 (PyPi) 安装" + +#: ../../installation.rst:105 +msgid "Installing from OpenSUSE Build Service" +msgstr "从 OpenSUSE 生成服务安装" + +#: ../../installation.rst:107 +msgid "" +"In order to install the pycsw package in openSUSE Leap (stable " +"distribution), one can run the following commands as user ``root``:" +msgstr "若要在 openSUSE Leap (稳定版本) 安装 pycsw 包,就可以以用户 ``root`` 身份运行以下命令 ︰" + +#: ../../installation.rst:116 +msgid "" +"In order to install the pycsw package in openSUSE Tumbleweed (rolling " +"distribution), one can run the following commands as user ``root``:" +msgstr "若要在 openSUSE Tumbleweed (滚动版本) 安装 pycsw 包,就可以以用户 ``root`` 身份运行以下命令 ︰" + + +#: ../../installation.rst:124 +msgid "" +"An alternative method is to use the `One-Click Installer " +"`_." +msgstr "" +"另一种方法是使用一键式安装程序" +"`_." + +#: ../../installation.rst:129 +msgid "Installing on Ubuntu/Mint" +msgstr "在 Ubuntu/Mint系统上安装" + +#: ../../installation.rst:131 +msgid "" +"In order to install the most recent pycsw release to an Ubuntu-based " +"distribution, one can use the UbuntuGIS Unstable repository by running " +"the following commands:" +msgstr "为了在基于 Ubuntu 的发行版安装最新的 pycsw,可以运行以下命令来使用 UbuntuGIS 非稳定版本 ︰" + +#: ../../installation.rst:139 +msgid "" +"Alternatively, one can use the UbuntuGIS Stable repository which includes" +" older but very well tested versions:" +msgstr "" + +#: ../../installation.rst:141 +msgid "" +"# sudo add-apt-repository ppa:ubuntugis/ppa # sudo apt-get update # sudo " +"apt-get install python-pycsw pycsw-cgi" +msgstr "" + +#: ../../installation.rst:146 +msgid "" +"Since Ubuntu 16.04 LTS Xenial release, pycsw is included by default in " +"the official Multiverse repository." +msgstr "" + +#: ../../installation.rst:149 +msgid "Running on Windows" +msgstr "在 Windows 上运行" + +#: ../../installation.rst:151 +msgid "For Windows installs, change the first line of ``csw.py`` to:" +msgstr "对于Windows 安装,更改 'csw.py ' 的第一行 ︰" + +#: ../../installation.rst:158 +msgid "" +"The use of ``-u`` is required to properly output gzip-compressed " +"responses." +msgstr "使用 ``-u`` 需要正确输出 gzip 压缩响应。" + +#: ../../installation.rst:161 +msgid "Security" +msgstr "安全性" + +#: ../../installation.rst:163 +msgid "" +"By default, ``default.cfg`` is at the root of the pycsw install. If " +"pycsw is setup outside an HTTP server's ``cgi-bin`` area, this file could" +" be read. The following options protect the configuration:" +msgstr "" +"默认情况下,' default.cfg ' 是 pycsw 安装的根目录。 如果 pycsw 设置在 HTTP 服务器 'cgi-bin' " +"区域以外,此文件就可以被读取。 以下是几项保护配置的选项 ︰" + +#: ../../installation.rst:165 +msgid "" +"move ``default.cfg`` to a non HTTP accessible area, and modify ``csw.py``" +" to point to the updated location" +msgstr "将 'default.cfg' 移动到非 HTTP 可访问的区域,并修改 'csw.py' 以指向更新的位置" + +#: ../../installation.rst:166 +msgid "" +"configure web server to deny access to the configuration. For example, " +"in Apache, add the following to ``httpd.conf``:" +msgstr "配置 web 服务器,拒绝对配置的访问。 例如,在 Apache 中,在 'httpd.conf '下添加以下内容:" + +#: ../../installation.rst:177 +msgid "Running on WSGI" +msgstr "在 WSGI 上运行" + +#: ../../installation.rst:179 +msgid "" +"pycsw supports the `Web Server Gateway Interface`_ (WSGI). To run pycsw " +"in WSGI mode, use ``pycsw/wsgi.py`` in your WSGI server environment." +msgstr "" +"pycsw 支持 `Web 服务器网关接口`_ (WSGI)。 在 WSGI 模式下运行 pycsw,在 WSGI 服务器环境中使用 " +"``pycsw/wsgi.py`` 。" + +#: ../../installation.rst:184 +msgid "" +"``mod_wsgi`` supports only the version of python it was compiled with. If" +" the target server already supports WSGI applications, pycsw will need to" +" use the same python version. `WSGIDaemonProcess`_ provides a ``python-" +"path`` directive that may allow a virtualenv created from the python " +"version ``mod_wsgi`` uses." +msgstr "" +"``mod_wsgi`` 只支持已编译的python版本。如果目标服务器支持 WSGI 应用,pycsw也是相同的 python " +"版本。`WSGIDaemonProcess`_ 提供一个 ``python-path`` 指令,其允许从 python 版本 " +"``mod_wsgi`` 进行virtualenv 的创建。" + +#: ../../installation.rst:188 +msgid "Below is an example of configuring with Apache:" +msgstr "下面是Apache 配置的示例 ︰" + +#: ../../installation.rst:201 +msgid "or use the `WSGI reference implementation`_:" +msgstr "或者使用 `WSGI 参考实例`_ :" + +#: ../../installation.rst:208 +msgid "which will publish pycsw to ``http://localhost:8000/``" +msgstr " 将pycsw发布到 ``http://localhost:8000/`` " + + diff --git a/docs/locale/zh/LC_MESSAGES/introduction.po b/docs/locale/zh/LC_MESSAGES/introduction.po new file mode 100644 index 000000000..61b8d8c19 --- /dev/null +++ b/docs/locale/zh/LC_MESSAGES/introduction.po @@ -0,0 +1,558 @@ +# +msgid "" +msgstr "" +"Project-Id-Version: pycsw 2.0-dev\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2016-07-21 21:52+0800\n" +"PO-Revision-Date: 2016-06-08 11:02+0800\n" +"Last-Translator: \n" +"Language-Team: \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.3.4\n" + +#: ../../introduction.rst:4 +msgid "Introduction" +msgstr "引言" + +#: ../../introduction.rst:6 +msgid "pycsw is an OGC CSW server implementation written in Python." +msgstr "pycsw是使用 Python 语言实现的 OGC CSW 服务。" + +#: ../../introduction.rst:9 +msgid "Features" +msgstr "特性" + +#: ../../introduction.rst:11 +msgid "" +"certified OGC `Compliant`_ and OGC Reference Implementation for both CSW " +"2.0.2 and CSW 3.0.0" +msgstr "认证 OGC `Compliant`_ 与 OGC 参考实现" + +#: ../../introduction.rst:12 +msgid "harvesting support for WMS, WFS, WCS, WPS, WAF, CSW, SOS" +msgstr "WMS、WFS、WCS、WPS、WAF、CSW、SOS得到支持" + +#: ../../introduction.rst:13 +msgid "implements `INSPIRE Discovery Services 3.0`_" +msgstr "实现了 `INSPIRE Discovery Services 3.0`_" + +#: ../../introduction.rst:14 +msgid "implements `ISO Metadata Application Profile 1.0.0`_" +msgstr "实现了 `ISO Metadata Application Profile 1.0.0`_" + +#: ../../introduction.rst:15 +msgid "implements `FGDC CSDGM Application Profile for CSW 2.0`_" +msgstr "实现了 `FGDC CSDGM Application Profile for CSW 2.0`_" + +#: ../../introduction.rst:16 +msgid "implements the Search/Retrieval via URL (`SRU`_) search protocol" +msgstr "实现了通过URL (`SRU`_) 查找接口进行查找或抓取" + +#: ../../introduction.rst:17 +msgid "implements Full Text Search capabilities" +msgstr "实现了全文检索的功能" + +#: ../../introduction.rst:18 +msgid "implements OGC OpenSearch Geo and Time Extensions" +msgstr "实现了 OGC 开放搜索与时空扩展" + +#: ../../introduction.rst:19 +msgid "implements Open Archives Initiative Protocol for Metadata Harvesting" +msgstr "支持元数据主动文档开放协议" + +#: ../../introduction.rst:20 +msgid "supports ISO, Dublin Core, DIF, FGDC, Atom and GM03 metadata models" +msgstr "支持 ISO、Dublin Core、DIF、FGDC,Atom与 GM03 元数据模型" + +#: ../../introduction.rst:21 +msgid "CGI or WSGI deployment" +msgstr "CGI或WSCI部署" + +#: ../../introduction.rst:22 +msgid "Python 2 and 3 compatible" +msgstr "" + +#: ../../introduction.rst:23 +msgid "simple configuration" +msgstr "简单配置" + +#: ../../introduction.rst:24 +msgid "transactional capabilities (CSW-T)" +msgstr "事务功能(CSW-T))" + +#: ../../introduction.rst:25 +msgid "flexible repository configuration" +msgstr "灵活的存储配置" + +#: ../../introduction.rst:26 +msgid "`GeoNode`_ connectivity" +msgstr "连接 `GeoNode`_ " + +#: ../../introduction.rst:27 +msgid "`HHypermap`_ connectivity" +msgstr "连接 `HHypermap`_ " + +#: ../../introduction.rst:28 +msgid "`Open Data Catalog`_ connectivity" +msgstr "连接 `开放数据目录`_" + +#: ../../introduction.rst:29 +msgid "`CKAN`_ connectivity" +msgstr "连接 `CKAN`_ " + +#: ../../introduction.rst:30 +msgid "federated catalogue distributed searching" +msgstr "联合目录分布式搜索" + +#: ../../introduction.rst:31 +msgid "realtime XML Schema validation" +msgstr "实时XML Schema验证" + +#: ../../introduction.rst:32 +msgid "extensible profile plugin architecture" +msgstr "可扩展的配置文件插件架构" + +#: ../../introduction.rst:35 +msgid "Standards Support" +msgstr "支持的标准" + +#: ../../introduction.rst:38 +msgid "Standard" +msgstr "标准" + +#: ../../introduction.rst:38 +msgid "Version(s)" +msgstr "版本" + +#: ../../introduction.rst:40 +msgid "`OGC CSW`_" +msgstr "`OGC CSW`_" + +#: ../../introduction.rst:40 +msgid "2.0.2, 3.0.0" +msgstr "" + +#: ../../introduction.rst:42 +msgid "`OGC Filter`_" +msgstr "`OGC Filte`_" + +#: ../../introduction.rst:42 +msgid "1.1.0, 2.0.0" +msgstr "" + +#: ../../introduction.rst:44 +msgid "`OGC OWS Common`_" +msgstr "" + +#: ../../introduction.rst:44 +msgid "1.0.0, 2.0.0" +msgstr "" + +#: ../../introduction.rst:46 +msgid "`OGC GML`_" +msgstr "`OGC GML`_" + +#: ../../introduction.rst:46 +msgid "3.1.1" +msgstr "3.1.1" + +#: ../../introduction.rst:48 +msgid "`OGC SFSQL`_" +msgstr "`OGC SFSQL`_" + +#: ../../introduction.rst:48 +msgid "1.2.1" +msgstr "1.2.1" + +#: ../../introduction.rst:50 +msgid "`Dublin Core`_" +msgstr "`Dublin Core`_" + +#: ../../introduction.rst:50 ../../introduction.rst:66 +msgid "1.1" +msgstr "1.1" + +#: ../../introduction.rst:52 +msgid "`SOAP`_" +msgstr "`SOAP`_" + +#: ../../introduction.rst:52 +msgid "1.2" +msgstr "1.2" + +#: ../../introduction.rst:54 +msgid "`ISO 19115`_" +msgstr "`ISO 19115`_" + +#: ../../introduction.rst:54 +msgid "2003" +msgstr "2003" + +#: ../../introduction.rst:56 +msgid "`ISO 19139`_" +msgstr "`ISO 19139`_" + +#: ../../introduction.rst:56 +msgid "2007" +msgstr "2007" + +#: ../../introduction.rst:58 +msgid "`ISO 19119`_" +msgstr "`ISO 19119`_" + +#: ../../introduction.rst:58 +msgid "2005" +msgstr "2005" + +#: ../../introduction.rst:60 +msgid "`NASA DIF`_" +msgstr "`NASA DIF`_" + +#: ../../introduction.rst:60 +msgid "9.7" +msgstr "9.7" + +#: ../../introduction.rst:62 +msgid "`FGDC CSDGM`_" +msgstr "`FGDC CSDGM`_" + +#: ../../introduction.rst:62 +msgid "1998" +msgstr "1998" + +#: ../../introduction.rst:64 +msgid "`GM03`_" +msgstr "`GM03`_" + +#: ../../introduction.rst:64 +msgid "2.1" +msgstr "2.1" + +#: ../../introduction.rst:66 +msgid "`SRU`_" +msgstr "`SRU`_" + +#: ../../introduction.rst:68 +msgid "`OGC OpenSearch`_" +msgstr "`OGC OpenSearch`_" + +#: ../../introduction.rst:68 +msgid "1.0" +msgstr "1.0" + +#: ../../introduction.rst:70 +msgid "`OAI-PMH`_" +msgstr "" + +#: ../../introduction.rst:70 +msgid "2.0" +msgstr "2.0" + +#: ../../introduction.rst:74 +msgid "Supported Operations" +msgstr "支持的操作" + +#: ../../introduction.rst:1 +msgid "Request" +msgstr "请求" + +#: ../../introduction.rst:1 +msgid "Optionality" +msgstr "可选性" + +#: ../../introduction.rst:1 +msgid "Supported" +msgstr "支持" + +#: ../../introduction.rst:1 +msgid "HTTP method binding(s)" +msgstr "HTTP方法绑定" + +#: ../../introduction.rst:1 +msgid "GetCapabilities" +msgstr "功能" + +#: ../../introduction.rst:1 +msgid "mandatory" +msgstr "必填" + +#: ../../introduction.rst:1 +msgid "yes" +msgstr "是" + +#: ../../introduction.rst:1 +msgid "GET (KVP) / POST (XML) / SOAP" +msgstr "GET (KVP) / POST (XML) / SOAP" + +#: ../../introduction.rst:1 +msgid "DescribeRecord" +msgstr "记录详述" + +#: ../../introduction.rst:1 +msgid "GetRecords" +msgstr "获取记录" + +#: ../../introduction.rst:1 +msgid "GetRecordById" +msgstr "GetRecordById" + +#: ../../introduction.rst:1 +msgid "optional" +msgstr "选项" + +#: ../../introduction.rst:1 +msgid "GetRepositoryItem" +msgstr "项目库获取" + +#: ../../introduction.rst:1 +msgid "GET (KVP)" +msgstr "KVP获取" + +#: ../../introduction.rst:1 +msgid "GetDomain" +msgstr "GetDomain" + +#: ../../introduction.rst:1 +msgid "Harvest" +msgstr "获取" + +#: ../../introduction.rst:1 +msgid "UnHarvest" +msgstr "" + +#: ../../introduction.rst:1 +msgid "no" +msgstr "" + +#: ../../introduction.rst:1 +msgid "Transaction" +msgstr "订单" + +#: ../../introduction.rst:1 +msgid "POST (XML) / SOAP" +msgstr "POST (XML) / SOAP" + +#: ../../introduction.rst:91 +msgid "" +"Asynchronous processing supported for GetRecords and Harvest requests " +"(via ``csw:ResponseHandler``)" +msgstr "异步处理支持 GetRecords 和获取请求 (通过 ' csw:ResponseHandler ')" + +#: ../../introduction.rst:95 +msgid "Supported Harvest Resource Types are listed in :ref:`transactions`" +msgstr "获取资源类型请参考: :ref:`transactions` 中列表" + +#: ../../introduction.rst:98 +msgid "Supported Output Formats" +msgstr "支持的输出格式" + +#: ../../introduction.rst:100 +msgid "XML (default)" +msgstr "XML (默认值)" + +#: ../../introduction.rst:101 +msgid "JSON" +msgstr "JSON代码" + +#: ../../introduction.rst:104 +msgid "Supported Output Schemas" +msgstr "支持的输出模式" + +#: ../../introduction.rst:106 +msgid "Dublin Core" +msgstr "Dublin Core" + +#: ../../introduction.rst:107 +msgid "ISO 19139" +msgstr "ISO 19139" + +#: ../../introduction.rst:108 +msgid "FGDC CSDGM" +msgstr "FGDC CSDGM" + +#: ../../introduction.rst:109 +msgid "NASA DIF" +msgstr "NASA DIF" + +#: ../../introduction.rst:110 +msgid "Atom" +msgstr "Atom" + +#: ../../introduction.rst:111 +msgid "GM03" +msgstr "GM03" + +#: ../../introduction.rst:114 +msgid "Supported Sorting Functionality" +msgstr "支持排序功能 " + +#: ../../introduction.rst:116 +msgid "ogc:SortBy" +msgstr "ogc:SortBy" + +#: ../../introduction.rst:117 +msgid "ascending or descending" +msgstr "升序或降序" + +#: ../../introduction.rst:118 +msgid "aspatial (queryable properties)" +msgstr "非空间 (可查询属性)" + +#: ../../introduction.rst:119 +msgid "spatial (geometric area)" +msgstr "空间 (几何区域)" + +#: ../../introduction.rst:122 +msgid "Supported Filters" +msgstr "筛选条件" + +#: ../../introduction.rst:125 +msgid "Full Text Search" +msgstr "" + +#: ../../introduction.rst:127 +msgid "csw:AnyText" +msgstr "csw:任意文章" + +#: ../../introduction.rst:130 +msgid "Geometry Operands" +msgstr "几何操作" + +#: ../../introduction.rst:132 +msgid "gml:Point" +msgstr "gml:点" + +#: ../../introduction.rst:133 +msgid "gml:LineString" +msgstr "gml:线" + +#: ../../introduction.rst:134 +msgid "gml:Polygon" +msgstr "gml:面" + +#: ../../introduction.rst:135 +msgid "gml:Envelope" +msgstr "gml:外框" + +#: ../../introduction.rst:139 +msgid "Coordinate transformations are supported" +msgstr "坐标变换" + +#: ../../introduction.rst:142 +msgid "Spatial Operators" +msgstr "空间操作" + +#: ../../introduction.rst:144 +msgid "BBOX" +msgstr "BBOX" + +#: ../../introduction.rst:145 +msgid "Beyond" +msgstr "以外" + +#: ../../introduction.rst:146 +msgid "Contains" +msgstr "包括" + +#: ../../introduction.rst:147 +msgid "Crosses" +msgstr "交叉" + +#: ../../introduction.rst:148 +msgid "Disjoint" +msgstr "不相交" + +#: ../../introduction.rst:149 +msgid "DWithin" +msgstr "DWithin" + +#: ../../introduction.rst:150 +msgid "Equals" +msgstr "等于" + +#: ../../introduction.rst:151 +msgid "Intersects" +msgstr "相交" + +#: ../../introduction.rst:152 +msgid "Overlaps" +msgstr "重叠" + +#: ../../introduction.rst:153 +msgid "Touches" +msgstr "触动" + +#: ../../introduction.rst:154 +msgid "Within" +msgstr "内" + +#: ../../introduction.rst:157 +msgid "Logical Operators" +msgstr "逻辑运算符" + +#: ../../introduction.rst:159 +msgid "Between" +msgstr "两者之间" + +#: ../../introduction.rst:160 +msgid "EqualTo" +msgstr "等于" + +#: ../../introduction.rst:161 +msgid "LessThanEqualTo" +msgstr "小于等于" + +#: ../../introduction.rst:162 +msgid "GreaterThan" +msgstr "大于" + +#: ../../introduction.rst:163 +msgid "Like" +msgstr "似" + +#: ../../introduction.rst:164 +msgid "LessThan" +msgstr "小于" + +#: ../../introduction.rst:165 +msgid "GreaterThanEqualTo" +msgstr "大于等于" + +#: ../../introduction.rst:166 +msgid "NotEqualTo" +msgstr "不等于" + +#: ../../introduction.rst:167 +msgid "NullCheck" +msgstr "零检验" + +#: ../../introduction.rst:170 +msgid "Functions" +msgstr "功能" + +#: ../../introduction.rst:171 +msgid "length" +msgstr "长度" + +#: ../../introduction.rst:172 +msgid "lower" +msgstr "低于" + +#: ../../introduction.rst:173 +msgid "ltrim" +msgstr "函数:除去字符串开始的空格" + +#: ../../introduction.rst:174 +msgid "rtrim" +msgstr "函数:除去字符串尾部空格" + +#: ../../introduction.rst:175 +msgid "trim" +msgstr "函数:除去字符串开始和尾部空格" + +#: ../../introduction.rst:176 +msgid "upper" +msgstr "转成大写" + diff --git a/docs/locale/zh/LC_MESSAGES/json.po b/docs/locale/zh/LC_MESSAGES/json.po new file mode 100644 index 000000000..cfd82c4e6 --- /dev/null +++ b/docs/locale/zh/LC_MESSAGES/json.po @@ -0,0 +1,35 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2010-2015, Tom Kralidis This work is licensed under a +# Creative Commons Attribution 4.0 International License +# This file is distributed under the same license as the pycsw package. +# FIRST AUTHOR , 2016. +# +msgid "" +msgstr "" +"Project-Id-Version: pycsw 2.0-dev\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2016-05-28 11:06+0800\n" +"PO-Revision-Date: 2016-06-07 10:59+0800\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.3.4\n" +"Last-Translator: \n" +"Language-Team: \n" +"X-Generator: Poedit 1.8.7\n" +"Plural-Forms: nplurals=1; plural=0;\n" +"Language: zh_TW\n" + +#: ../../json.rst:4 +msgid "JSON Support" +msgstr "对JSON的支持" + +#: ../../json.rst:6 +msgid "" +"pycsw supports JSON support for ``DescribeRecord``, ``GetRecords`` and " +"``GetRecordById`` requests. Adding ``outputFormat=application/json`` to " +"your CSW request will return the response as a JSON representation." +msgstr "" +"pycsw 对JSON 的支持包括 ``DescribeRecord``, ``GetRecords`` 和 " +"``GetRecordById`` 的请求。 在你的CSW请示中添加 " +"``outputFormat=application/json`` 会返回JSON格式表达的响应。" diff --git a/docs/locale/zh/LC_MESSAGES/license.po b/docs/locale/zh/LC_MESSAGES/license.po new file mode 100644 index 000000000..d45f6c4f8 --- /dev/null +++ b/docs/locale/zh/LC_MESSAGES/license.po @@ -0,0 +1,78 @@ +# +msgid "" +msgstr "" +"Project-Id-Version: pycsw 2.0-dev\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2016-05-28 11:27+0800\n" +"PO-Revision-Date: 2016-06-07 15:12+0800\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.3.4\n" +"Plural-Forms: nplurals=1; plural=0;\n" +"Last-Translator: \n" +"Language-Team: \n" +"Language: zh_CN\n" +"X-Generator: Poedit 1.8.7\n" + +#: ../../license.rst:4 +msgid "License" +msgstr "授权" + +#: ../../../LICENSE.txt:1 +msgid "The MIT License (MIT)" +msgstr "MIT 许可证 (MIT)" + +#: ../../../LICENSE.txt:3 +msgid "" +"Copyright (c) 2010-2015 Tom Kralidis Copyright (c) 2011-2015 Angelos " +"Tzotsos Copyright (c) 2012-2015 Adam Hinz Copyright (c) 2015 " +"Ricardo Garcia Silva" +msgstr "" +"版权所有 (c) 2010年-2015年Tom Kralidis 版权所有 (c) 2011年-2015年" +"Angelos Tzotsos 版权所有 (c) 2012年-2015年Adam Hinz Copyright版权所有 " +"(c) 2015年Ricardo Garcia Silva" + +#: ../../../LICENSE.txt:8 +msgid "" +"Permission is hereby granted, free of charge, to any person obtaining a " +"copy of this software and associated documentation files (the \"Software" +"\"), to deal in the Software without restriction, including without " +"limitation the rights to use, copy, modify, merge, publish, distribute, " +"sublicense, and/or sell copies of the Software, and to permit persons to " +"whom the Software is furnished to do so, subject to the following " +"conditions:" +msgstr "" +"特此授予权限,此软件是免费的,任何人都可获得本软件副本及相关文档文件 " +"(\"软件\"),处理软件也不受限制,包括使用、 复制、 修改、 合并、 发布、 " +"分发、 二次许可,或复印件转卖。给予授权的人应符合以下条件︰" + +#: ../../../LICENSE.txt:15 +msgid "" +"The above copyright notice and this permission notice shall be included " +"in all copies or substantial portions of the Software." +msgstr "上面的版权声明和许可声明应列入所有副本或软件的重要部分。" + +#: ../../../LICENSE.txt:18 +msgid "" +"THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, " +"EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF " +"MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. " +"IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY " +"CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, " +"TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE " +"SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE." +msgstr "" +"该软件为“原版”,不做任何担保(明文或暗文的担保),包括对适销性、特定用途" +"和非侵权性的保证。在任何情况下,不论是合同,侵权或其他,软件使用或其他交" +"易。作者或版权持有者是法律责任的任何索赔、损害赔偿或其他责任。" + +#: ../../license.rst:9 +msgid "Documentation" +msgstr "说明文件" + +#: ../../license.rst:11 +msgid "" +"The documentation is released under the `Creative Commons Attribution " +"4.0 International (CC BY 4.0)`_ license." +msgstr "该文档是 `知识共享署名4.0国际发布(CC BY 4.0)`_ 许可证下发的。" diff --git a/docs/locale/zh/LC_MESSAGES/migration-guide.po b/docs/locale/zh/LC_MESSAGES/migration-guide.po new file mode 100644 index 000000000..45933e762 --- /dev/null +++ b/docs/locale/zh/LC_MESSAGES/migration-guide.po @@ -0,0 +1,57 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2010-2015, Tom Kralidis This work is licensed under a +# Creative Commons Attribution 4.0 International License +# This file is distributed under the same license as the pycsw package. +# FIRST AUTHOR , 2016. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: pycsw 2.1-dev\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2016-07-21 21:02+0800\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.3.4\n" + +#: ../../migration-guide.rst:4 +msgid "pycsw Migration Guide" +msgstr "pycsw迁移向导" + +#: ../../migration-guide.rst:6 +msgid "" +"This page provides migration support across pycsw versions over time to " +"help with pycsw change management." +msgstr "这个页面提供了pycsw跨版本管理的支持" + +#: ../../migration-guide.rst:10 +msgid "pycsw 1.x to 2.0 Migration" +msgstr "pycsw 1.x到2.0的迁移" + +#: ../../migration-guide.rst:12 +msgid "" +"the default CSW version is now 3.0.0. CSW clients need to explicitly " +"specify ``version=2.0.2`` for CSW 2 behaviour. Also, pycsw " +"administrators can use a WSGI wrapper to the pycsw API to force " +"``version=2.0.2`` on init of ``pycsw.server.Csw`` from the server. See " +":ref:`csw-support` for more information." +msgstr "缺省的CSW版本是 3.0.0。 CSW 客户端需要显式地声明 ```version=2.0.2`` 来使用 CSW 2的行为。" +"另外,pycsw管理器可能通过在服务器端通过 ``pycsw.server.Csw`` 初始化来使用强制的 pycsw ``version=2.0.2``。 " +"查看 :ref:`csw-support` 来获取更多的信息。 " + +#: ../../migration-guide.rst:17 +msgid "" +"``pycsw.server.Csw.dispatch_wsgi()`` previously returned the response " +"content as a string. 2.0.0 introduces a compatability break to " +"additionally return the HTTP status code along with the response as a " +"list" +msgstr "" + +#: ../../migration-guide.rst:42 +msgid "See :ref:`api` for more information." +msgstr "查看 :ref:`api` 来获取更多的信息。" + diff --git a/docs/locale/zh/LC_MESSAGES/oaipmh.po b/docs/locale/zh/LC_MESSAGES/oaipmh.po new file mode 100644 index 000000000..6d6b366b4 --- /dev/null +++ b/docs/locale/zh/LC_MESSAGES/oaipmh.po @@ -0,0 +1,41 @@ +# +msgid "" +msgstr "" +"Project-Id-Version: pycsw 2.0-dev\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2015-11-23 21:42+0800\n" +"PO-Revision-Date: 2016-06-07 15:16+0800\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=1; plural=0;\n" +"Last-Translator: \n" +"Language-Team: \n" +"Language: zh_CN\n" +"X-Generator: Poedit 1.8.7\n" + +#: ../../oaipmh.rst:4 +msgid "OAI-PMH Support" +msgstr "OAI-PMH支持" + +#: ../../oaipmh.rst:6 +msgid "" +"pycsw supports the `The Open Archives Initiative Protocol for Metadata " +"Harvesting`_ (OAI-PMH) standard." +msgstr "pycsw支持 `元数据获取的开放式档案协议`_ (OAI-PMH)标准" + +#: ../../oaipmh.rst:8 +msgid "" +"OAI-PMH OpenSearch support is enabled by default. HTTP requests must be " +"specified with ``mode=oaipmh`` in the base URL for OAI-PMH requests, e.g.:" +msgstr "" +"默认情况下是启用OAI-PMH OpenSearch的。 HTTP请求必须在 OAI-PMH要求的基准URL" +"中指定``mode= oaipmh``,例如:" + +#: ../../oaipmh.rst:14 +msgid "" +"See http://www.openarchives.org/OAI/openarchivesprotocol.html for more " +"information on OAI-PMH as well as request / reponse examples." +msgstr "" +"见 http://www.openarchives.org/OAI/openarchivesprotocol.html,是关于OAI-PMH" +"以及更多信息请求及回应的例子。" diff --git a/docs/locale/zh/LC_MESSAGES/odc.po b/docs/locale/zh/LC_MESSAGES/odc.po new file mode 100644 index 000000000..0982d5d6a --- /dev/null +++ b/docs/locale/zh/LC_MESSAGES/odc.po @@ -0,0 +1,70 @@ +# +msgid "" +msgstr "" +"Project-Id-Version: pycsw 2.0-dev\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2016-12-17 17:33+0800\n" +"PO-Revision-Date: 2016-06-07 16:00+0800\n" +"Last-Translator: \n" +"Language-Team: \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.3.4\n" + +#: ../../odc.rst:4 +msgid "Open Data Catalog Configuration" +msgstr "开放性数据目录配置" + +#: ../../odc.rst:6 +msgid "" +"Open Data Catalog (https://github.com/azavea/Open-Data-Catalog/) is an " +"open data catalog based on Django, Python and PostgreSQL. It was " +"originally developed for OpenDataPhilly.org, a portal that provides " +"access to open data sets, applications, and APIs related to the " +"Philadelphia region. The Open Data Catalog is a generalized version of " +"the original source code with a simple skin. It is intended to display " +"information and links to publicly available data in an easily searchable " +"format. The code also includes options for data owners to submit data for" +" consideration and for registered public users to nominate a type of data" +" they would like to see openly available to the public." +msgstr "" +"开放数据目录(https://github.com/azavea/open-data-" +"catalog/)是一种基于Django,Python和PostgreSQL的。它最初为opendataphilly.org(一个门户网站)提供开放的数据集,应用程序,并其API与费城地区相关。开放数据目录是一个通用的原始版本的源代码,其皮肤也很简易。它以显示信息为主,以检索便宜为主。该代码还包括数据所有者提交的数据代码,会指定一种数据类型供注册的公共用户参考,他们很乐意为公众公开信息。" + +#: ../../odc.rst:8 +msgid "" +"pycsw supports binding to an existing Open Data Catalog repository for " +"metadata query. The binding is read-only (transactions are not in scope," +" as Open Data Catalog manages repository metadata changes in the " +"application proper)." +msgstr "" +"pycsw绑定到用于元数据查询的现有公开数据目录库。此绑定是只读文件(交易不在范围内,Open Data " +"Catalog在适当的应用程序中管理元数据库)" + +#: ../../odc.rst:11 +msgid "Open Data Catalog Setup" +msgstr "开放数据目录设置" + +#: ../../odc.rst:13 +msgid "" +"Open Data Catalog provides CSW functionality using pycsw out of the box " +"(installing ODC will also install pycsw). Settings are defined in " +"https://github.com/azavea/Open-Data-" +"Catalog/blob/master/OpenDataCatalog/settings.py#L165." +msgstr "" +"开放数据目录提供了CSW功能,pycsw无需设置,开箱即用(安装ODC需安装pycsw)。设置在https://github.com/azavea" +"/Open-Data-Catalog/blob/master/OpenDataCatalog/settings.py#L165中。" + +#: ../../odc.rst:15 +msgid "" +"ODC settings must ensure that ``REGISTRY_PYCSW['repository']['source']`` " +"is set to``hypermap.search.pycsw_repository``." +msgstr "" + +#: ../../odc.rst:17 +msgid "" +"At this point, pycsw is able to read from the Open Data Catalog " +"repository using the Django ORM." +msgstr "在这一点上,pycsw可以用Django的ORM从数据目录库中读取。" + diff --git a/docs/locale/zh/LC_MESSAGES/opensearch.po b/docs/locale/zh/LC_MESSAGES/opensearch.po new file mode 100644 index 000000000..73f52d122 --- /dev/null +++ b/docs/locale/zh/LC_MESSAGES/opensearch.po @@ -0,0 +1,56 @@ +# +msgid "" +msgstr "" +"Project-Id-Version: pycsw 2.0-dev\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2016-05-28 11:27+0800\n" +"PO-Revision-Date: 2016-06-08 11:03+0800\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.3.4\n" +"Plural-Forms: nplurals=1; plural=0;\n" +"Last-Translator: \n" +"Language-Team: \n" +"Language: zh_CN\n" +"X-Generator: Poedit 1.8.7\n" + +#: ../../opensearch.rst:4 +msgid "OpenSearch Support" +msgstr "OpenSearch支撑" + +#: ../../opensearch.rst:6 +msgid "" +"pycsw supports the `OGC OpenSearch Geo and Time Extensions 1.0`_ " +"standard via the following conformance classes:" +msgstr "" +"pycsw通过以下分类支持 `OGC OpenSearch地理和时间扩展1.0`_ 标准:" + +#: ../../opensearch.rst:8 +msgid "" +"Core (GeoSpatial Service) ``{searchTerms}``, ``{geo:box}``, " +"``{startIndex}``, ``{count}``" +msgstr "" +"核心(地理空间服务)``{searchTerms}`,``{geo:box}``," +"``{startIndex}``,``{count}``" + +#: ../../opensearch.rst:9 +msgid "Temporal Search core ``{time:start}``, ``{time:end}``" +msgstr "时间搜索核心``{时间:开始}``,``{时间:结束}``" + +#: ../../opensearch.rst:11 +msgid "" +"OpenSearch support is enabled by default. HTTP requests must be " +"specified with ``mode=opensearch`` in the base URL for OpenSearch " +"requests, e.g.:" +msgstr "" +"OpenSearch启动是默认的。 HTTP请求必须在OpenSearch要求的基准URL中指" +"定``mode=opensearch``,例如:" + +#: ../../opensearch.rst:17 +msgid "" +"This will return the Description document which can then be " +"`autodiscovered `_." +msgstr "" +"将返回描述文档,此文档可以 `autodiscovered `_ 。" diff --git a/docs/locale/zh/LC_MESSAGES/outputschemas.po b/docs/locale/zh/LC_MESSAGES/outputschemas.po new file mode 100644 index 000000000..f84e07248 --- /dev/null +++ b/docs/locale/zh/LC_MESSAGES/outputschemas.po @@ -0,0 +1,96 @@ +# +msgid "" +msgstr "" +"Project-Id-Version: pycsw 2.0-dev\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2016-05-28 11:27+0800\n" +"PO-Revision-Date: 2016-06-08 13:51+0800\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.3.4\n" +"Plural-Forms: nplurals=1; plural=0;\n" +"Last-Translator: \n" +"Language-Team: \n" +"Language: zh_CN\n" +"X-Generator: Poedit 1.8.7\n" + +#: ../../outputschemas.rst:4 +msgid "Output Schema Plugins" +msgstr "输出模式插件" + +#: ../../outputschemas.rst:7 +msgid "Overview" +msgstr "视图" + +#: ../../outputschemas.rst:9 +msgid "" +"pycsw allows for extending the implementation of output schemas to the " +"core standard. outputschemas allow for a client to request metadata in " +"a specific format (ISO, Dublin Core, FGDC, NASA DIF Atom and GM03 are " +"default)." +msgstr "" +"pycsw 使输出架构达到核心标准。输出架构允许客户端请求特定格式的元数据 " +"(ISO, Dublin Core, FGDC, NASA DIF Atom、GM03是默认设置)。" + +#: ../../outputschemas.rst:11 +msgid "" +"All outputschemas must be placed in the ``pycsw/plugins/outputschemas`` " +"directory." +msgstr "" +"所有输出架构必须都放在 ' pycsw/插件/输出架构(`pycsw/plugins/" +"outputschemas`) 目录中。" + +#: ../../outputschemas.rst:14 +msgid "Requirements" +msgstr "要求" + +#: ../../outputschemas.rst:29 +msgid "Implementing a new outputschema" +msgstr "实施新的输出架构" + +#: ../../outputschemas.rst:31 +msgid "" +"Create a file in ``pycsw/plugins/outputschemas``, which defines the " +"following:" +msgstr "创建文件 ' pycsw/插件/输出架构 ',其中定义了以下内容 ︰" + +#: ../../outputschemas.rst:33 +msgid "" +"``NAMESPACE``: the default namespace of the outputschema which will be " +"advertised" +msgstr "命名空间: 输出架构的默认命名空间" + +#: ../../outputschemas.rst:34 +msgid "``NAMESPACE``: dict of all applicable namespaces to outputschema" +msgstr "命名空间: 所有适用的命名空间在输出架构中以目录显示" + +#: ../../outputschemas.rst:35 +msgid "" +"``XPATH_MAPPINGS``: dict of pycsw core queryables mapped to the " +"equivalent XPath of the outputschema" +msgstr "' XPATH_MAPPINGS ': pycsw 核心查询目录映射到输出空间的等效XPath" + +#: ../../outputschemas.rst:36 +msgid "" +"``write_record``: function which returns a record as an ``lxml.etree." +"Element`` object" +msgstr "'write_record ': 返回记录为' lxml.etree.Element ' 对象记录的功能" + +#: ../../outputschemas.rst:38 +msgid "" +"Add the name of the file to ``__init__.py:__all__``. The new " +"outputschema is now supported in pycsw." +msgstr "将文件名添加到 '__init__.py:__all__ '。 新的输出架构就在 pycsw中。" + +#: ../../outputschemas.rst:41 +msgid "Testing" +msgstr "测试" + +#: ../../outputschemas.rst:43 +msgid "" +"New outputschemas must add examples to the :ref:`tests` interface, which " +"must provide example requests specific to the profile." +msgstr "" +"新的输出架构必须添加到示例: :ref:`tests` 接口,此 '测试' 接口须提供特定于该配置" +"文件的示例请求。" diff --git a/docs/locale/zh/LC_MESSAGES/profiles.po b/docs/locale/zh/LC_MESSAGES/profiles.po new file mode 100644 index 000000000..af2eeb37a --- /dev/null +++ b/docs/locale/zh/LC_MESSAGES/profiles.po @@ -0,0 +1,277 @@ +# +msgid "" +msgstr "" +"Project-Id-Version: pycsw 2.0-dev\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2015-11-23 21:42+0800\n" +"PO-Revision-Date: 2016-06-08 14:52+0800\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=1; plural=0;\n" +"Last-Translator: \n" +"Language-Team: \n" +"Language: zh_CN\n" +"X-Generator: Poedit 1.8.7\n" + +#: ../../profiles.rst:4 +msgid "Profile Plugins" +msgstr "配置文件的插件" + +#: ../../profiles.rst:7 ../../../pycsw/plugins/profiles/apiso/docs/apiso.rst:7 +#: ../../../pycsw/plugins/profiles/apiso/docs/apiso.rst:35 +#: ../../../pycsw/plugins/profiles/ebrim/docs/ebrim.rst:7 +msgid "Overview" +msgstr "视图" + +#: ../../profiles.rst:9 +msgid "" +"pycsw allows for the implementation of profiles to the core standard. " +"Profiles allow specification of additional metadata format types (i.e. ISO " +"19139:2007, NASA DIF, INSPIRE, etc.) to the repository, which can be " +"queried and presented to the client. pycsw supports a plugin architecture " +"which allows for runtime loading of Python code." +msgstr "" +"pycsw 使配置文件达到核心标准。配置文件允许其余元数据格式类型 (例如ISO " +"19139:2007, NASA DIF, INSPIRE等) 特定到存储库,此配置文件可以查询,也可以提" +"交给客户端。 pycsw 支持插件体系结构,也支持运行时加载的 Python 代码。" + +#: ../../profiles.rst:11 +msgid "" +"All profiles must be placed in the ``pycsw/plugins/profiles`` directory." +msgstr "所有的配置文件必须放在 ' pycsw/插件/配置文件 '目录中。" + +#: ../../profiles.rst:14 +msgid "Requirements" +msgstr "要求" + +#: ../../profiles.rst:30 +msgid "Abstract Base Class Definition" +msgstr "抽象基类定义" + +#: ../../profiles.rst:32 +msgid "" +"All profile code must be instantiated as a subclass of ``profile." +"Profile``. Below is an example to add a ``Foo`` profile:" +msgstr "" +"配置文件的所有代码须实例化为 ``profile.Profile`` 。下面是一个添加配置文件 ``Foo`` 的示例︰" + +#: ../../profiles.rst:53 +msgid "" +"Your profile plugin class (``FooProfile``) must implement all methods as " +"per ``profile.Profile``. Profile methods must always return ``lxml.etree." +"Element`` types, or ``None``." +msgstr "" +"您的配置插件类 (FooProfile) 必须按照``profile.Profile``完成所有的配置工作。 " +"配置文件方法须保持 ``lxml.etree.Element`` 类型或 ``None``" + +#: ../../profiles.rst:56 +msgid "Enabling Profiles" +msgstr "启用配置文件" + +#: ../../profiles.rst:58 +msgid "" +"All profiles are disabled by default. To specify profiles at runtime, set " +"the ``server.profiles`` value in the :ref:`configuration` to the name of " +"the package (in the ``pycsw/plugins/profiles`` directory). To enable " +"multiple profiles, specify as a comma separated value (see :ref:" +"`configuration`)." +msgstr "" +"所有配置文件默认是不可用的。 若要指定在运行时的配置文件,在参考文件" +" :ref:`configuration` 中设置 ``server.profiles`` 值(在 ``pycsw/plugins/profiles`` 目录" +"中)。 若要启用多个配置文件,请指定值(以逗号分隔) (请参见: :ref:`configuration` )。" + +#: ../../profiles.rst:61 +#: ../../../pycsw/plugins/profiles/apiso/docs/apiso.rst:27 +#: ../../../pycsw/plugins/profiles/ebrim/docs/ebrim.rst:27 +msgid "Testing" +msgstr "测试" + +#: ../../profiles.rst:63 +msgid "" +"Profiles must add examples to the :ref:`tests` interface, which must " +"provide example requests specific to the profile." +msgstr "" +"配置文件必须添加到 :ref:`tests` 接口,此接口须提供特定于该配置文件的示例请求。" + +#: ../../profiles.rst:66 +msgid "Supported Profiles" +msgstr "支持的配置文件" + +#: ../../../pycsw/plugins/profiles/apiso/docs/apiso.rst:4 +msgid "ISO Metadata Application Profile (1.0.0)" +msgstr "ISO 元数据应用程序配置文件 (1.0.0)" + +#: ../../../pycsw/plugins/profiles/apiso/docs/apiso.rst:8 +msgid "" +"The ISO Metadata Application Profile (APISO) is a profile of CSW 2.0.2 " +"which enables discovery of geospatial metadata following ISO 19139:2007 and " +"ISO 19119:2005/PDAM 1." +msgstr "" +"ISO 元数据应用程序配置文件 (APISO) 是CSW 2.0.2的配置文件,是继地理空间元数" +"据 ISO 19139:2007 和 ISO 19119:2005 之后开发的文件。" + +#: ../../../pycsw/plugins/profiles/apiso/docs/apiso.rst:11 +#: ../../../pycsw/plugins/profiles/apiso/docs/apiso.rst:40 +#: ../../../pycsw/plugins/profiles/ebrim/docs/ebrim.rst:11 +msgid "Configuration" +msgstr "配置" + +#: ../../../pycsw/plugins/profiles/apiso/docs/apiso.rst:13 +#: ../../../pycsw/plugins/profiles/ebrim/docs/ebrim.rst:13 +msgid "No extra configuration is required." +msgstr "不需要其余配置。" + +#: ../../../pycsw/plugins/profiles/apiso/docs/apiso.rst:16 +#: ../../../pycsw/plugins/profiles/ebrim/docs/ebrim.rst:16 +msgid "Querying" +msgstr "查询" + +#: ../../../pycsw/plugins/profiles/apiso/docs/apiso.rst:18 +msgid "**typename**: ``gmd:MD_Metadata``" +msgstr "类型名称:``gmd:MD_元数据``" + +#: ../../../pycsw/plugins/profiles/apiso/docs/apiso.rst:19 +msgid "**outputschema**: ``http://www.isotc211.org/2005/gmd``" +msgstr "输出模式: ``http://www.isotc211.org/2005/gmd``" + +#: ../../../pycsw/plugins/profiles/apiso/docs/apiso.rst:22 +msgid "Enabling APISO Support" +msgstr "启用 APISO 支持" + +#: ../../../pycsw/plugins/profiles/apiso/docs/apiso.rst:24 +msgid "" +"To enable APISO support, add ``apiso`` to ``server.profiles`` as specified " +"in :ref:`configuration`." +msgstr "" +"若要启用 APISO 支持,作为指定 :ref:`configuration` 信息,将 `apiso` 添加到 ``server.profiles`` " + +#: ../../../pycsw/plugins/profiles/apiso/docs/apiso.rst:29 +msgid "" +"A testing interface is available in ``tests/index.html`` which contains " +"tests specific to APISO to demonstrate functionality. See :ref:`tests` for " +"more information." +msgstr "" +"测试接口在 ``tests/index.html`` 可用,其包含特定于 APISO 演示功能的测试。请参" +"见: :ref:`tests` 及其它更多信息。" + +#: ../../../pycsw/plugins/profiles/apiso/docs/apiso.rst:32 +msgid "INSPIRE Extension" +msgstr "激发扩展" + +#: ../../../pycsw/plugins/profiles/apiso/docs/apiso.rst:37 +msgid "" +"APISO includes an extension for enabling `INSPIRE Discovery Services 3.0`_ " +"support. To enable the INSPIRE extension to APISO, create a ``[metadata:" +"inspire]`` section in the main configuration with ``enabled`` set to " +"``true``." +msgstr "" +"APISO 包括启用 `INSPIRE Discovery Services 3.0`_ 的扩展。 若要启用 INSPIRE扩展到 APISO,需" +"要用 ``enabled`` set to ``true``在主要的配置中创建 ``[metadata:inspire]`` 部分" + +#: ../../../pycsw/plugins/profiles/apiso/docs/apiso.rst:42 +msgid "**[metadata:inspire]**" +msgstr "元数据:inspire" + +#: ../../../pycsw/plugins/profiles/apiso/docs/apiso.rst:44 +msgid "" +"**enabled**: whether to enable the INSPIRE extension (``true`` or ``false``)" +msgstr "启用: 是否启用INSPIRE扩展 ('是 '或'否')" + +#: ../../../pycsw/plugins/profiles/apiso/docs/apiso.rst:45 +msgid "" +"**languages_supported**: supported languages (see http://inspire.ec.europa." +"eu/schemas/common/1.0/enums/enum_eng.xsd, simpleType ``euLanguageISO6392B``)" +msgstr "" +"支持的语言: (见 http://inspire.ec.europa.eu/schemas/common/1.0/enums/" +"enum_eng.xsd,simpleType ' euLanguageISO6392B ')" + +#: ../../../pycsw/plugins/profiles/apiso/docs/apiso.rst:46 +msgid "" +"**default_language**: the default language (see http://inspire.ec.europa.eu/" +"schemas/common/1.0/enums/enum_eng.xsd, simpleType ``euLanguageISO6392B``)" +msgstr "" +"默认语言 (见 http://inspire.ec.europa.eu/schemas/common/1.0/enums/enum_eng." +"xsd,simpleType ' euLanguageISO6392B ')" + +#: ../../../pycsw/plugins/profiles/apiso/docs/apiso.rst:47 +msgid "**date**: date of INSPIRE metadata offering (in `ISO 8601`_ format)" +msgstr "**date**: INSPIRE元数据的日期 (在 `ISO 8601`_ 格式中) " + +#: ../../../pycsw/plugins/profiles/apiso/docs/apiso.rst:48 +msgid "" +"**gemet_keywords**: a comma-seperated keyword list of `GEMET INSPIRE theme " +"keywords`_ about the service (see http://inspire.ec.europa.eu/schemas/" +"common/1.0/enums/enum_eng.xsd, complexType ``inspireTheme_eng``)" +msgstr "" +"**gemet_keywords**: 关于服务的,以逗号分隔的关键字列表 `GEMET INSPIRE 主题关键词`_ " +" (见 http://inspire.ec.europa.eu/schemas/common/1.0/enums/enum_eng.xsd," +"complexType ``inspireTheme_eng`` )" + +#: ../../../pycsw/plugins/profiles/apiso/docs/apiso.rst:49 +msgid "" +"**conformity_service**: the level of INSPIRE conformance for spatial data " +"sets and services (``conformant``, ``notConformant``, ``notEvaluated``)" +msgstr "" +"conformity_service: 以空间数据集和服务 (``conformant``, ``notConformant``, " +"``notEvaluated``)为目标的INSPIRE级别" + +#: ../../../pycsw/plugins/profiles/apiso/docs/apiso.rst:50 +msgid "" +"**contact_organization**: the organization name responsible for the INSPIRE " +"metadata" +msgstr "contact_organization: 负责 INSPIRE元数据的组织名称" + +#: ../../../pycsw/plugins/profiles/apiso/docs/apiso.rst:51 +msgid "" +"**contact_email**: the email address of entity responsible for the INSPIRE " +"metadata" +msgstr "contact_email: 负责 INSPIRE元数据实体的电子邮件地址" + +#: ../../../pycsw/plugins/profiles/apiso/docs/apiso.rst:52 +msgid "" +"**temp_extent**: temporal extent of the service (in `ISO 8601`_ format). " +"Either a single date (i.e. ``yyyy-mm-dd``), or an extent (i.e. ``yyyy-mm-dd/" +"yyyy-mm-dd``)" +msgstr "" +"**temp_extent**: ( `ISO 8601`_ 格式)服务时间。 单个日期 ( ``yyyy-mm-dd`` ) 或多" +"数以 ( ``yyyy-mm-dd/yyyy-mm-dd`` )" + +#: ../../../pycsw/plugins/profiles/ebrim/docs/ebrim.rst:4 +msgid "CSW-ebRIM Registry Service - Part 1: ebRIM profile of CSW" +msgstr "CSW-ebRIM注册服务-第一部分: CSW的ebRIM 配置文件" + +#: ../../../pycsw/plugins/profiles/ebrim/docs/ebrim.rst:8 +msgid "" +"The CSW-ebRIM Registry Service is a profile of CSW 2.0.2 which enables " +"discovery of geospatial metadata following the ebXML information model." +msgstr "" +"CSW-ebRIM注册服务是CSW 2.0.2的配置文件,是继ebXML 信息模型之后的地理空间元数" +"据配置文件。" + +#: ../../../pycsw/plugins/profiles/ebrim/docs/ebrim.rst:18 +msgid "**typename**: ``rim:RegistryObject``" +msgstr "类型名称: ' rim: RegistryObject '" + +#: ../../../pycsw/plugins/profiles/ebrim/docs/ebrim.rst:19 +msgid "**outputschema**: ``urn:oasis:names:tc:ebxml-regrep:xsd:rim:3.0``" +msgstr "输出模式: ' urn:oasis:names:tc:ebxml-regrep:xsd:rim:3.0' " + +#: ../../../pycsw/plugins/profiles/ebrim/docs/ebrim.rst:22 +msgid "Enabling ebRIM Support" +msgstr "启用 ebRIM 支持" + +#: ../../../pycsw/plugins/profiles/ebrim/docs/ebrim.rst:24 +msgid "" +"To enable ebRIM support, add ``ebrim`` to ``server.profiles`` as specified " +"in :ref:`configuration`." +msgstr "" +"若要启用 ebRIM 支持,需添加 ``ebrim`` 到 ``server.profiles`` ,以 作为指定的 :ref:`configuration`。 " + +#: ../../../pycsw/plugins/profiles/ebrim/docs/ebrim.rst:29 +msgid "" +"A testing interface is available in ``tests/index.html`` which contains " +"tests specific to ebRIM to demonstrate functionality. See :ref:`tests` for " +"more information." +msgstr "" +"测试接口在 ``tests/index.html`` 可用,其包含特定于ebRIM演示功能的测试。请参见: :ref:`tests` 及其它更多信息。" diff --git a/docs/locale/zh/LC_MESSAGES/repofilters.po b/docs/locale/zh/LC_MESSAGES/repofilters.po new file mode 100644 index 000000000..0e6c70116 --- /dev/null +++ b/docs/locale/zh/LC_MESSAGES/repofilters.po @@ -0,0 +1,179 @@ +# +msgid "" +msgstr "" +"Project-Id-Version: pycsw 2.0-dev\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2015-11-23 21:42+0800\n" +"PO-Revision-Date: 2016-06-08 15:16+0800\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=1; plural=0;\n" +"Last-Translator: \n" +"Language-Team: \n" +"Language: zh_CN\n" +"X-Generator: Poedit 1.8.7\n" + +#: ../../repofilters.rst:4 +msgid "Repository Filters" +msgstr "存储库中的筛选器" + +#: ../../repofilters.rst:6 +msgid "" +"pycsw has the ability to perform server side repository / database filters " +"as a means to mask all CSW requests to query against a specific subset of " +"the metadata repository, thus providing the ability to deploy multiple " +"pycsw instances pointing to the same database in different ways via the " +"``repository.filter`` configuration option." +msgstr "" +"pycsw 有能力执行服务器端存储库或数据库筛选功能,以覆盖所有的CSW请求,目的是" +"查询元数据存储库中的一个特定子集,从而需部署多个 pycsw 实例,通过 " +"'repository.filter' 配置选项,以不同的方式指向同一个数据库。" + +#: ../../repofilters.rst:8 +msgid "" +"Repository filters are a convenient way to subset your repository at the " +"server level without the hassle of creating proper database views. For " +"large repositories, it may be better to subset at the database level for " +"performance." +msgstr "" +"存储库中的筛选器是一种便捷方式,是为了创建子数据库,以免去创建适当数据库视图" +"的服务器级别的步骤。 对于大型数据库而言,它可能比创建数据库级别的子集要更好" +"一些。" + +#: ../../repofilters.rst:11 +msgid "Scenario: One Database, Many Views" +msgstr "场景 ︰ 一个数据库,很多种视角" + +#: ../../repofilters.rst:13 +msgid "Imagine a sample database table of records (subset below for brevity):" +msgstr "想象一下,现在要记录数据库示例表(下面以子集做为简称):" + +#: ../../repofilters.rst:1 +msgid "identifier" +msgstr "标识" + +#: ../../repofilters.rst:1 +msgid "parentidentifier" +msgstr "母标识符" + +#: ../../repofilters.rst:1 +msgid "title" +msgstr "标题" + +#: ../../repofilters.rst:1 +msgid "abstract" +msgstr "摘要" + +#: ../../repofilters.rst:1 +msgid "1" +msgstr "1" + +#: ../../repofilters.rst:1 +msgid "33" +msgstr "33" + +#: ../../repofilters.rst:1 +msgid "foo1" +msgstr "第一页" + +#: ../../repofilters.rst:1 +msgid "bar1" +msgstr "第1条" + +#: ../../repofilters.rst:1 +msgid "2" +msgstr "2" + +#: ../../repofilters.rst:1 +msgid "foo2" +msgstr "第二页" + +#: ../../repofilters.rst:1 +msgid "bar2" +msgstr "第2条" + +#: ../../repofilters.rst:1 +msgid "3" +msgstr "3" + +#: ../../repofilters.rst:1 +msgid "55" +msgstr "55" + +#: ../../repofilters.rst:1 +msgid "foo3" +msgstr "第三页" + +#: ../../repofilters.rst:1 +msgid "bar3" +msgstr "第3条" + +#: ../../repofilters.rst:1 +msgid "4" +msgstr "4" + +#: ../../repofilters.rst:1 +msgid "5" +msgstr "5" + +#: ../../repofilters.rst:1 +msgid "21" +msgstr "21" + +#: ../../repofilters.rst:1 +msgid "foo5" +msgstr "第五页" + +#: ../../repofilters.rst:1 +msgid "bar5" +msgstr "第5条" + +#: ../../repofilters.rst:1 +msgid "foo6" +msgstr "第六页" + +#: ../../repofilters.rst:1 +msgid "bar6" +msgstr "第6条" + +#: ../../repofilters.rst:25 +msgid "" +"A default pycsw instance (with no ``repository.filters`` option) will " +"always process CSW requests against the entire table. So a CSW " +"`GetRecords` filter like:" +msgstr "" +"若没有``repository.filters``选项,pycsw默认是始终处理整个表的CSW请求。" +"CSW`GetRecords`过滤如:" + +#: ../../repofilters.rst:36 +msgid "...will return:" +msgstr "...将返回:" + +#: ../../repofilters.rst:44 +msgid "" +"Suppose you wanted to deploy another pycsw instance which serves metadata " +"from the same database, but only from a specific subset. Here we set the " +"``repository.filter`` option:" +msgstr "" +"假设你要部署其他pycsw应用实例,此实例来自同一个数据库的元数据,但它只能来自" +"一个特定子集。在这里,我们设置了``repository.filter``选项:" + +#: ../../repofilters.rst:52 ../../repofilters.rst:67 +msgid "" +"The same CSW `GetRecords` filter as per above then yields the following " +"results:" +msgstr "依上述所说,同一CSW`GetRecords`过滤器将得到以下结果:" + +#: ../../repofilters.rst:59 +msgid "Another example:" +msgstr "另一个例子:" + +#: ../../repofilters.rst:74 +msgid "" +"The ``repository.filter`` option accepts all core queryables set in the " +"pycsw core model (see ``pycsw.config.StaticContext.md_core_model`` for the " +"complete list)." +msgstr "" +"该``数据库.过滤器``选项功能是在pycsw核心模式中接收所有核心查询设置(见" +"``pycsw.config.StaticContext.md_core_model``的完整列表)。" diff --git a/docs/locale/zh/LC_MESSAGES/repositories.po b/docs/locale/zh/LC_MESSAGES/repositories.po new file mode 100644 index 000000000..afa7544d6 --- /dev/null +++ b/docs/locale/zh/LC_MESSAGES/repositories.po @@ -0,0 +1,91 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2010-2015, Tom Kralidis This work is licensed under a +# Creative Commons Attribution 4.0 International License +# This file is distributed under the same license as the pycsw package. +# FIRST AUTHOR , 2016. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: pycsw 2.1-dev\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2016-12-17 17:33+0800\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.3.4\n" + +#: ../../repositories.rst:4 +msgid "Repository Plugins" +msgstr "" + +#: ../../repositories.rst:7 +msgid "Overview" +msgstr "" + +#: ../../repositories.rst:9 +msgid "" +"pycsw allows for the implementation of custom repositories in order to " +"connect to a backend different from the pycsw's default. This is " +"especially useful when downstream applications manage their own metadata " +"model/database/document store and want pycsw to connect to it directly " +"instead of using pycsw's default model, thus creating duplicate " +"repositories which then require syncronization/accounting. Repository " +"plugins enable a single metadata backend which is independent from the " +"pycsw setup. pycsw thereby becomes a pure wrapper around a given backend" +" in providing CSW and other APIs atop a given application." +msgstr "" + +#: ../../repositories.rst:11 +msgid "" +"All outputschemas must be placed in the ``pycsw/plugins/outputschemas`` " +"directory." +msgstr "" + +#: ../../repositories.rst:14 +msgid "Requirements" +msgstr "" + +#: ../../repositories.rst:16 +msgid "Repository plugins:" +msgstr "" + +#: ../../repositories.rst:18 +msgid "can be developed and referenced / connected external to pycsw" +msgstr "" + +#: ../../repositories.rst:19 +msgid "must be accessible within the ``PYTHONPATH`` of a given application" +msgstr "" + +#: ../../repositories.rst:20 +msgid "" +"must implement pycsw's ``pycsw.core.repository.Repository`` properties " +"and methods" +msgstr "" + +#: ../../repositories.rst:21 +msgid "" +"must be specified in the pycsw :ref:`configuration` as a class reference " +"(e.g. ``path.to.repo_plugin.MyRepository``)" +msgstr "" + +#: ../../repositories.rst:22 +msgid "" +"must minimally implement the ``query_insert``, ``query_domain``, " +"``query_ids``, and ``query`` methods" +msgstr "" + +#: ../../repositories.rst:25 +msgid "Configuration" +msgstr "" + +#: ../../repositories.rst:27 +msgid "" +"set pycsw's ``repository.source`` setting to the class which implements " +"the custom repository:" +msgstr "" + diff --git a/docs/locale/zh/LC_MESSAGES/sitemaps.po b/docs/locale/zh/LC_MESSAGES/sitemaps.po new file mode 100644 index 000000000..1918e454d --- /dev/null +++ b/docs/locale/zh/LC_MESSAGES/sitemaps.po @@ -0,0 +1,31 @@ +# +msgid "" +msgstr "" +"Project-Id-Version: pycsw 2.0-dev\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2015-11-23 21:42+0800\n" +"PO-Revision-Date: 2016-06-08 15:18+0800\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=1; plural=0;\n" +"Last-Translator: \n" +"Language-Team: \n" +"Language: zh_CN\n" +"X-Generator: Poedit 1.8.7\n" + +#: ../../sitemaps.rst:4 +msgid "XML Sitemaps" +msgstr "XML网站地图" + +#: ../../sitemaps.rst:6 +msgid "`XML Sitemaps`_ can be generated by running:" +msgstr "`XML 网站地图`_ 可以通过以下……运行" + +#: ../../sitemaps.rst:12 +msgid "" +"The ``sitemap.xml`` file should be saved to an an area on your web server " +"(parallel to or above your pycsw install location) to enable web crawlers " +"to index your repository." +msgstr "" +"该 ``sitemap.xml`` 文件应保存到你Web服务器中任意一个地方(平行于或高于pycsw安装位置),使Web爬虫搜索你的数据库。" diff --git a/docs/locale/zh/LC_MESSAGES/soap.po b/docs/locale/zh/LC_MESSAGES/soap.po new file mode 100644 index 000000000..0d6be127b --- /dev/null +++ b/docs/locale/zh/LC_MESSAGES/soap.po @@ -0,0 +1,28 @@ +# +msgid "" +msgstr "" +"Project-Id-Version: pycsw 2.0-dev\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2015-11-23 21:42+0800\n" +"PO-Revision-Date: 2016-06-08 15:23+0800\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=1; plural=0;\n" +"Last-Translator: \n" +"Language-Team: \n" +"Language: zh_CN\n" +"X-Generator: Poedit 1.8.7\n" + +#: ../../soap.rst:4 +msgid "SOAP" +msgstr "简单对象访问协议" + +#: ../../soap.rst:6 +msgid "" +"pycsw supports handling of SOAP encoded requests and responses as per " +"subclause 10.3.2 of OGC:CSW 2.0.2. SOAP request examples can be found in " +"``tests/index.html``." +msgstr "" +"pycsw支持SOAP编码请求,参照OGC:CSW 2.0.2分条款中10.3.2。 SOAP请求的示例在" +"``测试/ index.html``中。" diff --git a/docs/locale/zh/LC_MESSAGES/sru.po b/docs/locale/zh/LC_MESSAGES/sru.po new file mode 100644 index 000000000..161bfe79f --- /dev/null +++ b/docs/locale/zh/LC_MESSAGES/sru.po @@ -0,0 +1,39 @@ +# +msgid "" +msgstr "" +"Project-Id-Version: pycsw 2.0-dev\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2015-11-23 21:42+0800\n" +"PO-Revision-Date: 2016-06-08 15:29+0800\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=1; plural=0;\n" +"Last-Translator: \n" +"Language-Team: \n" +"Language: zh_CN\n" +"X-Generator: Poedit 1.8.7\n" + +#: ../../sru.rst:4 +msgid "Search/Retrieval via URL (SRU) Support" +msgstr "通过UR(SRU) 查找或取回" + +#: ../../sru.rst:6 +msgid "" +"pycsw supports the `Search/Retrieval via URL`_ search protocol " +"implementation as per subclause 8.4 of the OpenGIS Catalogue Service " +"Implementation Specification." +msgstr "" +"pycsw支持 `Search/Retrieval via URL`_ 的搜索协议,参照的是OpenGIS目录服务实现规范的分条例8.4。" + +#: ../../sru.rst:8 +msgid "" +"SRU support is enabled by default. HTTP GET requests must be specified " +"with ``mode=sru`` for SRU requests, e.g.:" +msgstr "" +"SRU支持默认情况下启用。 HTTP GET请求必须用 ``mode=sru`` 特化SRU要求,例如:" + +#: ../../sru.rst:14 +msgid "" +"See http://www.loc.gov/standards/sru/simple.html for example SRU requests." +msgstr "参见 http://www.loc.gov/standards/sru/simple.html SRU 请求的示例。" diff --git a/docs/locale/zh/LC_MESSAGES/support.po b/docs/locale/zh/LC_MESSAGES/support.po new file mode 100644 index 000000000..8d6d39cf2 --- /dev/null +++ b/docs/locale/zh/LC_MESSAGES/support.po @@ -0,0 +1,31 @@ +# +msgid "" +msgstr "" +"Project-Id-Version: pycsw 2.0-dev\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2015-11-23 21:42+0800\n" +"PO-Revision-Date: 2016-06-08 15:39+0800\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=1; plural=0;\n" +"Last-Translator: \n" +"Language-Team: \n" +"Language: zh_CN\n" +"X-Generator: Poedit 1.8.7\n" + +#: ../../support.rst:4 +msgid "Support" +msgstr "技术支持" + +#: ../../support.rst:7 +msgid "Community" +msgstr "团队" + +#: ../../support.rst:9 +msgid "" +"Please see the `Community `_ page for information on the " +"pycsw community, getting support, and how to get involved." +msgstr "" +"请参阅`Community `_ 有关pycsw团队信息,有关于获取支持的内容,以" +"及如何获取的内容。" diff --git a/docs/locale/zh/LC_MESSAGES/testing.po b/docs/locale/zh/LC_MESSAGES/testing.po new file mode 100644 index 000000000..3da8f87d0 --- /dev/null +++ b/docs/locale/zh/LC_MESSAGES/testing.po @@ -0,0 +1,248 @@ +# +msgid "" +msgstr "" +"Project-Id-Version: pycsw 2.0-dev\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2015-11-23 21:42+0800\n" +"PO-Revision-Date: 2016-06-08 16:56+0800\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=1; plural=0;\n" +"Last-Translator: \n" +"Language-Team: \n" +"Language: zh_CN\n" +"X-Generator: Poedit 1.8.7\n" + +#: ../../testing.rst:4 +msgid "Testing" +msgstr "测试" + +#: ../../testing.rst:9 +msgid "OGC CITE" +msgstr "OGC引用" + +#: ../../testing.rst:11 +msgid "" +"Compliance benchmarking is done via the OGC `Compliance & Interoperability " +"Testing & Evaluation Initiative`_. The pycsw `wiki `_ documents testing procedures " +"and status." +msgstr "" +"合规性基准是通过OGC `合规性和互操作性测试与自发性评估`_ 完成的。该pycsw维基" +" ``_ 文档测试程序和状态。" + +#: ../../testing.rst:16 +msgid "Tester" +msgstr "测试仪" + +#: ../../testing.rst:18 +msgid "" +"The pycsw tests framework (in ``tests``) is a collection of testsuites to " +"perform automated regession testing of the codebase. Test are run against " +"all pushes to the GitHub repository via `Travis CI`_." +msgstr "" +"该pycsw测试框架(在 ``tests`` 里)是测试包的集合体,用来执行代码库的自动" +"regession测试。通过 `Travis CI`_ ,测试在GitHub的库中运行。" + +#: ../../testing.rst:21 +msgid "Running Locally" +msgstr "本地运行" + +#: ../../testing.rst:23 +msgid "" +"The tests framework can be run from ``tests`` using `Paver`_ (see " +"``pavement.py``) tasks for convenience:" +msgstr "" +"为方便工作,测试框架可以用 `Paver`_ (见 ``pavement.py``) 在 ``tests`` 中运行:" + +#: ../../testing.rst:35 +msgid "" +"The tests perform HTTP GET and POST requests against ``http://" +"localhost:8000``. The expected output for each test can be found in " +"``expected``. Results are categorized as ``passed``, ``failed``, or " +"``initialized``. A summary of results is output at the end of the run." +msgstr "" +"针对 ``http://localhost:8000``,测试执行HTTP GET和POST请求。每个测试的输出都" +"在``expected``中。结果被归类为``通过``,``失败``,或``初始化``。总结的结果会" +"在运行结束时输出。" + +#: ../../testing.rst:38 +msgid "Failed Tests" +msgstr "测试失败" + +#: ../../testing.rst:40 +msgid "" +"If a given test has failed, the output is saved in ``results``. The " +"resulting failure can be analyzed by running ``diff tests/expected/" +"name_of_test.xml tests/results/name_of_test.xml`` to find variances. The " +"Paver task returns a status code which indicates the number of tests which " +"have failed (i.e. ``echo $?``)." +msgstr "" +"如果某个测试失败,输出将保存在``结果``中。 运行``diff tests/expected/" +"name_of_test.xml tests/results/name_of_test.xml`` ,会自动统计失败结果以找到" +"差异。Paver任务会返回一个状态代码,表示已失败的测试数目(即``echo $?``)。" + +#: ../../testing.rst:43 +msgid "Test Suites" +msgstr "测试套件" + +#: ../../testing.rst:45 +msgid "" +"The tests framework is run against a series of 'suites' (in ``tests/" +"suites``), each of which specifies a given configuration to test various " +"functionality of the codebase. Each suite is structured as follows:" +msgstr "" +"测试框架将针对一系列“套件”(在``测试/ suites``)完成运行,其中每一项均指定一" +"个给定的配置,以测试基本代码的各种功能。每个套件的结构如下:" + +#: ../../testing.rst:47 +msgid "``tests/suites/suite/default.cfg``: the configuration for the suite" +msgstr "`tests/suites/suite/default.cfg`:对于该套件的配置" + +#: ../../testing.rst:48 +msgid "" +"``tests/suites/suite/post``: directory of XML documents for HTTP POST " +"requests" +msgstr "`tests/suites/suite/post`:XML文档目录的HTTP POST请求" + +#: ../../testing.rst:49 +msgid "" +"``tests/suites/suite/get/requests.txt``: directory and text file of KVP for " +"HTTP GET requests" +msgstr "" +"`tests/suites/suite/get/requests.txt`:KVP的目录和文本文件,用于HTTP GET请求" + +#: ../../testing.rst:50 +msgid "" +"``tests/suites/suite/data``: directory of sample XML data required for the " +"test suite. Database and test data are setup/loaded automatically as part " +"of testing" +msgstr "" +"`tests/suites/suite/data`:测试套件所需样本的XML数据目录。作为测试的一部分," +"数据库和测试数据是自动设置或自动加载的" + +#: ../../testing.rst:52 +msgid "When the tests are invoked, the following operations are run:" +msgstr "当测试被调用,将执行以下操作:" + +#: ../../testing.rst:54 +msgid "pycsw configuration is set to ``tests/suites/suite/default.cfg``" +msgstr "pycsw配置设置为`tests/suites/suite/default.cfg`" + +#: ../../testing.rst:55 +msgid "HTTP POST requests are run against ``tests/suites/suite/post/*.xml``" +msgstr "HTTP POST请求是针对 `tests/suites/suite/post/*.xml` 运行的" + +#: ../../testing.rst:56 +msgid "" +"HTTP GET requests are run against each request in ``tests/suites/suite/get/" +"requests.txt``" +msgstr "HTTP GET请求是针对 ``tests/suites/suite/get/requests.txt`` 运行的" + +#: ../../testing.rst:58 +msgid "" +"The CSV format of ``tests/suites/suite/get/requests.txt`` is ``testname," +"request``, with one line for each test. The ``testname`` value is a unique " +"test name (this value sets the name of the output file in the test " +"results). The ``request`` value is the HTTP GET request. The " +"``PYCSW_SERVER`` token is replaced at runtime with the URL to the pycsw " +"install." +msgstr "" +"在每项测试的第一行中, `tests/suites/suite/get/requests.txt` 的CSV格式是 " +" `testname,request` 。该 ``testname`` 值是唯一的测试名(此值设置在测试结果输出文" +"件的名称内)。该 ``request`` 值是HTTP GET请求的值。该 ``PYCSW_SERVER`` 在URL " +"pycsw安装运行时会被替换掉的。" + +#: ../../testing.rst:61 +msgid "Adding New Tests" +msgstr "添加新测试" + +#: ../../testing.rst:63 +msgid "To add tests to an existing suite:" +msgstr "在现有套件中添加测试:" + +#: ../../testing.rst:65 +msgid "for HTTP POST tests, add XML documents to ``tests/suites/suite/post``" +msgstr "对于HTTP POST测试,在 ``tests/suites/suite/post`` 添加XML文档" + +#: ../../testing.rst:66 +msgid "" +"for HTTP GET tests, add tests (one per line) to ``tests/suites/suite/get/" +"requests.txt``" +msgstr "" +"对于HTTP GET测试,在 ``tests/suites/suite/get/requests.txt`` 中添加测试(每行的第一项)" + +#: ../../testing.rst:67 +msgid "run ``paver test``" +msgstr "运行`paver test`" + +#: ../../testing.rst:69 +msgid "To add a new test suite:" +msgstr "添加新的测试套件:" + +#: ../../testing.rst:71 +msgid "create a new directory under ``tests/suites`` (e.g. ``foo``)" +msgstr "在 ``tests/suites`` (如 ``foo`` )下创建一个新目录" + +#: ../../testing.rst:72 +msgid "create a new configuration in ``tests/suites/foo/default.cfg``" +msgstr "在 ``tests/suites/foo/default.cfg`` 创建一个新的配置" + +#: ../../testing.rst:74 +msgid "Ensure that all file paths are relative to ``path/to/pycsw``" +msgstr "确保所有文件的路径都关联 ``path/to/pycsw`` " + +#: ../../testing.rst:75 +msgid "" +"Ensure that ``repository.database`` points to an SQLite3 database called " +"``tests/suites/foo/data/records.db``. The database *must* be called " +"``records.db`` and the directory ``tests/suites/foo/data`` *must* exist" +msgstr "" +"确保 ``repository.database`` 指定于 ``tests/suites/foo/data/records.db`` 的一个" +"sqlite3数据库。该数据库*必须*被写为 ``records.db``,目录 ``tests/suites/foo/data`` " +"也必须存在" + +#: ../../testing.rst:77 +msgid "populate HTTP POST requests in ``tests/suites/foo/post``" +msgstr "将HTTP POST请求移到 ``tests/suites/foo/post`` " + +#: ../../testing.rst:78 +msgid "populate HTTP GET requests in ``tests/suites/foo/get/requests.txt``" +msgstr "将HTTP GET请求移到 ``tests/suites/foo/get/requests.txt`` " + +#: ../../testing.rst:79 +msgid "" +"if the testsuite requires test data, create ``tests/suites/foo/data`` are " +"store XML file there" +msgstr "" +"如果需要测试组件的测试数据,创建 ``tests/suites/foo/data``,以存储XML文件" + +#: ../../testing.rst:80 +msgid "" +"run ``paver test`` (or ``paver test -s foo`` to test only the new test " +"suite)" +msgstr "运行 ``paver test`` (或 ``paver test-s foo`` , 仅用来测试新的测试套件)" + +#: ../../testing.rst:82 +msgid "" +"The new test suite database will be created automatically and used as part " +"of tests." +msgstr "新的测试套件数据库将自动创建,并且会成为测试的一部分。" + +#: ../../testing.rst:85 +msgid "Web Testing" +msgstr "Web测试" + +#: ../../testing.rst:87 +msgid "" +"You can also use the pycsw tests via your web browser to perform sample " +"requests against your pycsw install. The tests are is located in ``tests/" +"``. To generate the HTML page:" +msgstr "" +"您还可以通过Web浏览器使用pycsw测试,来执行你的pycsw安装样例申请。这些测试在" +"``tests/`` 中。生成HTML页面:" + +#: ../../testing.rst:93 +msgid "Then navigate to ``http://host/path/to/pycsw/tests/index.html``." +msgstr "然后导航到 ``http://host/path/to/pycsw/tests/index.html`` 。" diff --git a/docs/locale/zh/LC_MESSAGES/tools.po b/docs/locale/zh/LC_MESSAGES/tools.po new file mode 100644 index 000000000..567be86db --- /dev/null +++ b/docs/locale/zh/LC_MESSAGES/tools.po @@ -0,0 +1,91 @@ +# +msgid "" +msgstr "" +"Project-Id-Version: pycsw 2.0-dev\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2016-07-21 19:51+0800\n" +"PO-Revision-Date: 2016-06-08 15:43+0800\n" +"Last-Translator: \n" +"Language-Team: \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.3.4\n" + +#: ../../tools.rst:4 +msgid "Cataloguing and Metadata Tools" +msgstr "编目和元数据工具" + +#: ../../tools.rst:7 +msgid "CSW Clients" +msgstr "CSW客户端" + +#: ../../tools.rst:9 +msgid "" +"`Geoportal CSW Clients " +"`_" +msgstr "" +"`Geoportal CSW客户端 " +"`_" + +#: ../../tools.rst:10 +#, fuzzy +msgid "`OWSLib `_" +msgstr "OWSLib " + +#: ../../tools.rst:11 +msgid "" +"`MetaSearch `_ (`QGIS " +"`_ plugin)" +msgstr "" +" `联合检索`_ (`QGIS " +"`_ 插件)" + +#: ../../tools.rst:14 +msgid "CSW Servers" +msgstr "CSW服务器" + +#: ../../tools.rst:16 +msgid "`deegree `_" +msgstr "`deegree `_" + +#: ../../tools.rst:17 +msgid "`eXcat `_" +msgstr "`eXcat `_" + +#: ../../tools.rst:18 +msgid "`GeoNetwork opensource `_" +msgstr "`开源地理 `_" + +#: ../../tools.rst:21 +msgid "Metadata Editing Tools" +msgstr "元数据编辑工具" + +#: ../../tools.rst:23 +msgid "`CatMDEdit `_" +msgstr "`CatMDEdit `_" + +#: ../../tools.rst:24 +msgid "`EUOSME `_" +msgstr "`EUOSME `_" + +#: ../../tools.rst:25 +msgid "`GIMED `_" +msgstr "`GIMED `_" + +#: ../../tools.rst:26 +msgid "" +"`Metatools `_ (`QGIS " +"`_ plugin)" +msgstr "" +"`Metatools `_ (`QGIS " +"`_ plugin)" + +#: ../../tools.rst:27 +msgid "" +"`QSphere `_ (`QGIS " +"`_ plugin)" +msgstr "" +"`QSphere `_ (`QGIS " +"`_ plugin)" + diff --git a/docs/locale/zh/LC_MESSAGES/transactions.po b/docs/locale/zh/LC_MESSAGES/transactions.po new file mode 100644 index 000000000..0f1461093 --- /dev/null +++ b/docs/locale/zh/LC_MESSAGES/transactions.po @@ -0,0 +1,274 @@ +# +msgid "" +msgstr "" +"Project-Id-Version: pycsw 2.0-dev\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2016-12-17 17:33+0800\n" +"PO-Revision-Date: 2016-06-08 16:20+0800\n" +"Last-Translator: \n" +"Language-Team: \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.3.4\n" + +#: ../../transactions.rst:4 ../../transactions.rst:67 +msgid "Transactions" +msgstr "订单" + +#: ../../transactions.rst:6 +msgid "" +"pycsw has the ability to process CSW Harvest and Transaction requests " +"(CSW-T). Transactions are disabled by default; to enable, " +"``manager.transactions`` must be set to ``true``. Access to " +"transactional functionality is limited to IP addresses which must be set " +"in ``manager.allowed_ips``." +msgstr "pycsw可获取CSW和交易请求(CSW-T)。交易在默认情况下是禁用的;``manager.transactions``必须设置为值``是``。进入交易后,功能仅可以设置IP地址,IP地址必须在``manager.allowed_ips``中。" + +#: ../../transactions.rst:9 +msgid "Supported Resource Types" +msgstr "支持的源类型" + +#: ../../transactions.rst:11 +msgid "" +"For transactions and harvesting, pycsw supports the following metadata " +"resource types by default:" +msgstr "对于交易和获限,pycsw默认支持以下元数据源类型:" + +#: ../../transactions.rst:1 +msgid "Resource Type" +msgstr "源类型" + +#: ../../transactions.rst:1 +msgid "Namespace" +msgstr "空间名称" + +#: ../../transactions.rst:1 +msgid "Transaction" +msgstr "订单" + +#: ../../transactions.rst:1 +msgid "Harvest" +msgstr "获取" + +#: ../../transactions.rst:1 +msgid "Dublin Core" +msgstr "Dublin Core" + +#: ../../transactions.rst:1 +msgid "``http://www.opengis.net/cat/csw/2.0.2``" +msgstr "``http://www.opengis.net/cat/csw/2.0.2``" + +#: ../../transactions.rst:1 +msgid "yes" +msgstr "是" + +#: ../../transactions.rst:1 +msgid "FGDC" +msgstr "FGDC" + +#: ../../transactions.rst:1 +msgid "``http://www.opengis.net/cat/csw/csdgm``" +msgstr "``http://www.opengis.net/cat/csw/csdgm``" + +#: ../../transactions.rst:1 +msgid "GM03" +msgstr "GM03" + +#: ../../transactions.rst:1 +msgid "``http://www.interlis.ch/INTERLIS2.3``" +msgstr "``http://www.interlis.ch/INTERLIS2.3``" + +#: ../../transactions.rst:1 +msgid "ISO 19139" +msgstr "ISO 19139" + +#: ../../transactions.rst:1 +msgid "``http://www.isotc211.org/2005/gmd``" +msgstr "``http://www.isotc211.org/2005/gmd``" + +#: ../../transactions.rst:1 +msgid "ISO GMI" +msgstr "ISO GMI" + +#: ../../transactions.rst:1 +msgid "``http://www.isotc211.org/2005/gmi``" +msgstr "``http://www.isotc211.org/2005/gmi``" + +#: ../../transactions.rst:1 +msgid "OGC:CSW 2.0.2" +msgstr "OGC:CSW 2.0.2" + +#: ../../transactions.rst:1 +msgid "OGC:WMS 1.1.1/1.3.0" +msgstr "" + +#: ../../transactions.rst:1 +msgid "``http://www.opengis.net/wms``" +msgstr "``http://www.opengis.net/wms``" + +#: ../../transactions.rst:1 +msgid "OGC:WMTS 1.0.0" +msgstr "OGC:WMTS 1.0.0" + +#: ../../transactions.rst:1 +msgid "``http://www.opengis.net/wmts/1.0``" +msgstr "``http://www.opengis.net/wmts/1.0``" + +#: ../../transactions.rst:1 +msgid "OGC:WFS 1.0.0/1.1.0/2.0.0" +msgstr "" + +#: ../../transactions.rst:1 +msgid "``http://www.opengis.net/wfs``" +msgstr "``http://www.opengis.net/wfs``" + +#: ../../transactions.rst:1 +msgid "OGC:WCS 1.0.0" +msgstr "OGC:WCS 1.0.0" + +#: ../../transactions.rst:1 +msgid "``http://www.opengis.net/wcs``" +msgstr "``http://www.opengis.net/wcs``" + +#: ../../transactions.rst:1 +msgid "OGC:WPS 1.0.0" +msgstr "OGC:WPS 1.0.0" + +#: ../../transactions.rst:1 +msgid "``http://www.opengis.net/wps/1.0.0``" +msgstr "``http://www.opengis.net/wps/1.0.0``" + +#: ../../transactions.rst:1 +msgid "OGC:SOS 1.0.0" +msgstr "OGC:SOS 1.0.0" + +#: ../../transactions.rst:1 +msgid "``http://www.opengis.net/sos/1.0``" +msgstr "``http://www.opengis.net/sos/1.0``" + +#: ../../transactions.rst:1 +msgid "OGC:SOS 2.0.0" +msgstr "OGC:SOS 2.0.0" + +#: ../../transactions.rst:1 +msgid "``http://www.opengis.net/sos/2.0``" +msgstr "``http://www.opengis.net/sos/2.0``" + +#: ../../transactions.rst:1 +msgid "`WAF`_" +msgstr "`WAF`_" + +#: ../../transactions.rst:1 +msgid "``urn:geoss:urn``" +msgstr "``urn:geoss:urn``" + +#: ../../transactions.rst:31 +msgid "" +"Additional metadata models are supported by enabling the appropriate " +":ref:`profiles`." +msgstr "其它元数据模型,请参考 :ref:`profiles` 。" + +#: ../../transactions.rst:35 +msgid "" +"For transactions to be functional when using SQLite3, the SQLite3 " +"database file (**and its parent directory**) must be fully writable. For" +" example:" +msgstr "当使用sqlite3时,sqlite3的数据库文件(及其母目录)一定得完整可写的。例如:" + +#: ../../transactions.rst:44 +msgid "" +"For CSW-T deployments, it is strongly advised that this directory reside " +"in an area that is not accessible by HTTP." +msgstr "对于CSW-T部署,强烈建议在此目录驻留一定区域,此区域是HTTP访问不到的。" + +#: ../../transactions.rst:47 +msgid "Harvesting" +msgstr "获取" + +#: ../../transactions.rst:51 +msgid "" +"Your server must be able to make outgoing HTTP requests for this " +"functionality." +msgstr "你的服务器必须能够使此功能传出HTTP请求。" + +#: ../../transactions.rst:53 +msgid "" +"pycsw supports the CSW-T ``Harvest`` operation. Records which are " +"harvested require to setup a cronjob to periodically refresh records in " +"the local repository. A sample cronjob is available in ``etc/harvest-" +"all.cron`` which points to ``pycsw-admin.py`` (you must specify the " +"correct path to your configuration). Harvest operation results can be " +"sent by email (via ``mailto:``) or ftp (via ``ftp://``) if the Harvest " +"request specifies ``csw:ResponseHandler``." +msgstr "" +"pycsw支持CSW-T ``Harvest`` 操作。获取的记录需要设置一个cronjob来定期刷新本地数据库记录。在 ``etc" +"/harvest-all.cron`` 中,样本cronjob是可以利用到的,此样本cronjob指向 ``pycsw-admin.py`` " +"(必须指定一个配置的正确路径)。如果获取请求指定为 ``CSW:ResponseHandler`` ,其获取的结果会由电子邮件(通过 " +"``mailto`` )或是ftp(通过``FTP://`` )发送," + +#: ../../transactions.rst:57 +msgid "" +"For ``csw:ResponseHandler`` values using the ``mailto:`` protocol, you " +"must have ``server.smtp_host`` set in your :ref:`configuration " +"`." +msgstr "" +"对于使用 ``mailto:`` 协议的 ``csw:ResponseHandler`` 值,你必须在你的 :ref:`configuration" +" ` 设定 ``server.smtp_host`` " + +#: ../../transactions.rst:60 +msgid "OGC Web Services" +msgstr "OGC Web服务" + +#: ../../transactions.rst:62 +msgid "" +"When harvesting OGC web services, requests can provide the base URL of " +"the service as part of the Harvest request. pycsw will construct a " +"``GetCapabilities`` request dynamically." +msgstr "当获取OGC Web服务时,可以请求提供服务的基本URL作为获取的一部分。 pycsw将动态地创建``GetCapabilities``请求。" + +#: ../../transactions.rst:64 +msgid "" +"When harvesting other CSW servers, pycsw pages through the entire CSW in " +"default increments of 10. This value can be modified via the " +"``manager.csw_harvest_pagesize`` :ref:`configuration ` " +"option. It is strongly advised to use the ``csw:ResponseHandler`` " +"parameter for harvesting large CSW catalogues to prevent HTTP timeouts." +msgstr "" +"当获取其它CSW服务器时,pycsw页面就默认在10这个值上。可以在 ``manager.csw_harvest_pagesize`` " +"程序中将此值修改,请参照 :ref:`configuration ` 选项。强烈建议使用 " +"``CSW:ResponseHandler`` 参数为收获大的CSW目录,以防止HTTP超时。" + +#: ../../transactions.rst:69 +msgid "" +"pycsw supports 3 modes of the ``Transaction`` operation (``Insert``, " +"``Update``, ``Delete``):" +msgstr "pycsw支持 ``Transaction`` 操作( ``Insert`` , ``Update`` , ``Delete`` )的3种模式:" + +#: ../../transactions.rst:71 +msgid "**Insert**: full XML documents can be inserted as per CSW-T" +msgstr "**Insert**:完整的XML文档可以用CSW-T插入" + +#: ../../transactions.rst:72 +msgid "" +"**Update**: updates can be made as full record updates or record " +"properties against a ``csw:Constraint``" +msgstr "**Update**:针对``CSW:Constraint``,可做到完整记录的更新与记录属性的更新" + +#: ../../transactions.rst:73 +msgid "**Delete**: deletes can be made against a ``csw:Constraint``" +msgstr "删除:针对``CSW:Constraint``进行删除" + +#: ../../transactions.rst:75 +msgid "" +"Transaction operation results can be sent by email (via ``mailto:``) or " +"ftp (via ``ftp://``) if the Transaction request specifies " +"``csw:ResponseHandler``." +msgstr "" +"若交易请求指定于``csw:ResponseHandler``,可通过email ( ``mailto:``) " +"或ftp(``FTP://``)发送交易操作的结果" + +#: ../../transactions.rst:77 +msgid "The :ref:`tests` contain CSW-T request examples." +msgstr "参考: :ref:`tests` ,包含有CSW-T 请求示例。" + From 0e5f02e8f8c1b252ecb759597b208da8257a2daf Mon Sep 17 00:00:00 2001 From: Tom Kralidis Date: Sat, 17 Dec 2016 06:47:10 -0500 Subject: [PATCH 076/119] add locale_dirs for i18n --- docs/conf.py | 3 +++ 1 file changed, 3 insertions(+) diff --git a/docs/conf.py b/docs/conf.py index 8d078f1bd..82c0dd501 100644 --- a/docs/conf.py +++ b/docs/conf.py @@ -48,6 +48,9 @@ # -- General configuration ----------------------------------------------------- +# locale +locale_dirs = ['locale/'] + # If your documentation needs a minimal Sphinx version, state it here. #needs_sphinx = '1.0' From 0cf53ac89cbe255388a51a42fce1a08192b2ffee Mon Sep 17 00:00:00 2001 From: Ricardo Garcia Silva Date: Wed, 21 Dec 2016 19:40:01 +0000 Subject: [PATCH 077/119] testing out travis builds --- .travis.yml | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/.travis.yml b/.travis.yml index d64e864fd..5659fa356 100644 --- a/.travis.yml +++ b/.travis.yml @@ -19,8 +19,11 @@ python: addons: apt: packages: - - libgeos-c1 + - libgeos-dev + - libpq-dev - libxml2-dev + - libxslt1-dev + - libz-dev # #before_script: # - pycsw-admin.py -c get_sysprof From 6f4d39c258c9b443e3fae306de25e23d3b2fbb06 Mon Sep 17 00:00:00 2001 From: Ricardo Garcia Silva Date: Wed, 21 Dec 2016 23:21:06 +0000 Subject: [PATCH 078/119] added gitignore files to relevant test dirs --- .../suites/harvesting/data/.gitignore | 30 +++++++++++++++++++ .../suites/manager/data/.gitignore | 30 +++++++++++++++++++ 2 files changed, 60 insertions(+) create mode 100644 tests/functionaltests/suites/harvesting/data/.gitignore create mode 100644 tests/functionaltests/suites/manager/data/.gitignore diff --git a/tests/functionaltests/suites/harvesting/data/.gitignore b/tests/functionaltests/suites/harvesting/data/.gitignore new file mode 100644 index 000000000..709918b3c --- /dev/null +++ b/tests/functionaltests/suites/harvesting/data/.gitignore @@ -0,0 +1,30 @@ +# This file exists to force git to include this directory in the code +# repository. +# +# git does not include empty directories in code repositories. +# +# Functional tests are automatically generated by py.test. The way that the +# tests are set up, the presence of a ``data/`` directory inside a test suite +# has the following meaning: +# +# * if a ``data/`` directory does not exist, the tests of the suite use data +# from the CITE suite; +# +# * if an empty ``data/`` directory exists, then a new empty database is +# created and used; +# +# * if the ``data/`` directory exists and has files inside, a new database is +# created and the files are loaded into the database as records. +# +# As such, the current suite needs an empty ``data/`` directory because its +# functional tests depend on the existence of an empty database. + + +# ignore all files in this directory (in case some file is put here by mistake, +# we do not want it to be sent to the git repository and mess up the functional +# tests) +* + +# however, be sure to not ignore this file, as we need at least one file inside +# this directory, so that git will aknowledge its existence +!.gitignore diff --git a/tests/functionaltests/suites/manager/data/.gitignore b/tests/functionaltests/suites/manager/data/.gitignore new file mode 100644 index 000000000..709918b3c --- /dev/null +++ b/tests/functionaltests/suites/manager/data/.gitignore @@ -0,0 +1,30 @@ +# This file exists to force git to include this directory in the code +# repository. +# +# git does not include empty directories in code repositories. +# +# Functional tests are automatically generated by py.test. The way that the +# tests are set up, the presence of a ``data/`` directory inside a test suite +# has the following meaning: +# +# * if a ``data/`` directory does not exist, the tests of the suite use data +# from the CITE suite; +# +# * if an empty ``data/`` directory exists, then a new empty database is +# created and used; +# +# * if the ``data/`` directory exists and has files inside, a new database is +# created and the files are loaded into the database as records. +# +# As such, the current suite needs an empty ``data/`` directory because its +# functional tests depend on the existence of an empty database. + + +# ignore all files in this directory (in case some file is put here by mistake, +# we do not want it to be sent to the git repository and mess up the functional +# tests) +* + +# however, be sure to not ignore this file, as we need at least one file inside +# this directory, so that git will aknowledge its existence +!.gitignore From 621a98863e835157cf7493dfd602462267f36922 Mon Sep 17 00:00:00 2001 From: Ricardo Garcia Silva Date: Wed, 21 Dec 2016 23:39:11 +0000 Subject: [PATCH 079/119] testing travis builds --- .travis.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.travis.yml b/.travis.yml index 5659fa356..513390567 100644 --- a/.travis.yml +++ b/.travis.yml @@ -33,7 +33,7 @@ install: - pip install . script: - - py.test -k 'not harvesting' --exitfirst --cov pytest + - py.test -k 'not harvesting' --exitfirst --cov pycsw #notifications: # irc: From af3bcc95928703ff111fa8dc3cf39d250bf962c2 Mon Sep 17 00:00:00 2001 From: Ricardo Garcia Silva Date: Thu, 22 Dec 2016 00:07:57 +0000 Subject: [PATCH 080/119] testing travis builds --- .travis.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.travis.yml b/.travis.yml index 513390567..48b2b93b8 100644 --- a/.travis.yml +++ b/.travis.yml @@ -29,8 +29,8 @@ addons: # - pycsw-admin.py -c get_sysprof # install: - - pip install -r requirements-dev.txt - - pip install . + - pip install --requirement requirements-dev.txt + - pip install --editable . script: - py.test -k 'not harvesting' --exitfirst --cov pycsw From c1964dcf12ff69b0e129efc9758cbb76c037520f Mon Sep 17 00:00:00 2001 From: Tom Kralidis Date: Thu, 22 Dec 2016 08:32:14 -0500 Subject: [PATCH 081/119] fix formatting [ci skip] --- .github/ISSUE_TEMPLATE.md | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/.github/ISSUE_TEMPLATE.md b/.github/ISSUE_TEMPLATE.md index 6f75fc017..702ccebcd 100644 --- a/.github/ISSUE_TEMPLATE.md +++ b/.github/ISSUE_TEMPLATE.md @@ -6,15 +6,15 @@ - Python version: - pycsw version: - source/distribution - - [ ] git clone - - [ ] DebianGIS/UbuntuGIS - - [ ] PyPI - - [ ] zip/tar.gz - - [ ] other (please specify): + - [ ] git clone + - [ ] DebianGIS/UbuntuGIS + - [ ] PyPI + - [ ] zip/tar.gz + - [ ] other (please specify): - web server - - [ ] Apache/mod_wsgi - - [ ] CGI - - [ ] other (please specify): + - [ ] Apache/mod_wsgi + - [ ] CGI + - [ ] other (please specify): # Steps to Reproduce From e8654ce89a6f4cf76287f364261d3129ee868c7b Mon Sep 17 00:00:00 2001 From: Ricardo Garcia Silva Date: Fri, 23 Dec 2016 17:51:00 +0000 Subject: [PATCH 082/119] changed travis settings in order to use tox --- .coveragerc | 12 ++++++++++++ .travis.yml | 33 ++++++++++++++------------------- tox.ini | 13 +++++-------- 3 files changed, 31 insertions(+), 27 deletions(-) create mode 100644 .coveragerc diff --git a/.coveragerc b/.coveragerc new file mode 100644 index 000000000..f6f4d2f49 --- /dev/null +++ b/.coveragerc @@ -0,0 +1,12 @@ +[run] +branch = True +source = pycsw + +[paths] +source = + pycsw + .tox/*/lib/python*/site-packages/pycsw + /usr/local/lib/python*/dist-packages/pycsw + +[report] +show_missing = True \ No newline at end of file diff --git a/.travis.yml b/.travis.yml index 48b2b93b8..b47a27434 100644 --- a/.travis.yml +++ b/.travis.yml @@ -2,19 +2,18 @@ language: python cache: pip -# -#sudo: required dist: trusty -# -python: -# - "2.6" - - "2.7" -# - "3.4" -# - "3.5" -# -#matrix: -# allow_failures: -# - python: "3.4" + +matrix: + include: + - python: "2.6" + env: TOXENV=py26-sqlite + - python: "2.7" + env: TOXENV=py27-sqlite + - python: "3.4" + env: TOXENV=py34-sqlite + - python: "3.5" + env: TOXENV=py35-sqlite addons: apt: @@ -24,16 +23,12 @@ addons: - libxml2-dev - libxslt1-dev - libz-dev -# -#before_script: -# - pycsw-admin.py -c get_sysprof -# + install: - - pip install --requirement requirements-dev.txt - - pip install --editable . + - pip install tox script: - - py.test -k 'not harvesting' --exitfirst --cov pycsw + - tox -- --exitfirst -k 'not harvesting' #notifications: # irc: diff --git a/tox.ini b/tox.ini index 1dc46270a..deb7d9cd6 100644 --- a/tox.ini +++ b/tox.ini @@ -4,17 +4,14 @@ # and then run "tox" from this directory. [tox] -#envlist = py27, py34, py35 -envlist = {py26,py27,py34,py35}-{sqlite,postgresql} +envlist = {py26,py27,py34,py35}-sqlite skip_missing_interpreters = True + [testenv] deps = - -rrequirements.txt - -rrequirements-standalone.txt -rrequirements-dev.txt - -rrequirements-pg.txt - +usedevelop=True commands = - sqlite: py.test {posargs} - postgresql: py.test --database-backend postgresql {posargs} + py{26,27,35}-sqlite: py.test {posargs} + py34-sqlite: py.test --cov pycsw {posargs} From 87e8cd72e817aa76304b667efe14ee9a797c9f97 Mon Sep 17 00:00:00 2001 From: Ricardo Silva Date: Wed, 25 May 2016 02:15:27 +0100 Subject: [PATCH 083/119] moving tests to pytest --- requirements-dev.txt | 2 + tests/conftest.py | 105 ++++++++++++++++++ tests/test_suites.py | 248 +++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 355 insertions(+) create mode 100644 tests/conftest.py create mode 100644 tests/test_suites.py diff --git a/requirements-dev.txt b/requirements-dev.txt index 2f58df10a..6a9fc46a7 100644 --- a/requirements-dev.txt +++ b/requirements-dev.txt @@ -1,2 +1,4 @@ Paver==1.2.4 +pytest==2.9.1 +requests==2.10.0 sphinx diff --git a/tests/conftest.py b/tests/conftest.py new file mode 100644 index 000000000..1db583ac9 --- /dev/null +++ b/tests/conftest.py @@ -0,0 +1,105 @@ +"""pytest configuration file""" + +import glob +import os +import subprocess +import random +import shlex +import time + +import pytest + +TESTS_ROOT = os.path.dirname(os.path.abspath(__file__)) + + +# This list holds the names of the suites that are available for functional +# testing +FUNCTIONAL_SUITES = [ + "apiso", + "apiso-inspire", + "atom", + "cite", + "csw30", + "default", + "dif", + "ebrim", + "fgdc", + "gm03", + "harvesting", + "oaipmh", + "repofilter", + "sru", + "utf-8", +] + + +def pytest_configure(config): + config.addinivalue_line( + "markers", + "functional: Run only functional tests" + ) + + +def pytest_addoption(parser): + parser.addoption( + "--suite", + action="append", + choices=FUNCTIONAL_SUITES, + default=[], + help="Suites to run functional tests against. Specify this parameter " + "multiple times in order to include several suites. If not " + "specified, all available suites are tested" + ) + + +def pytest_generate_tests(metafunc): + """Parametrize tests programatically. + + Check pytest's documentation for information on this function: + + http://pytest.org/latest/parametrize.html#basic-pytest-generate-tests-example + + """ + + expected_dir = os.path.join(TESTS_ROOT, "expected") + if metafunc.function.__name__ == "test_suites_post": + test_data, test_names = _configure_functional_post_tests(metafunc, + expected_dir) + metafunc.parametrize(["test_request", "expected_result", "config"], + test_data, ids=test_names) + + +def _configure_functional_post_tests(metafunc, expected_dir): + test_data = [] + test_names = [] + for suite in metafunc.config.getoption("suite") or FUNCTIONAL_SUITES: + suite_dir = os.path.join(TESTS_ROOT, "suites", suite) + configuration_path = os.path.join(suite_dir, "default.cfg") + post_requests_dir = os.path.join(suite_dir, "post") + for item in glob.iglob(os.path.join(post_requests_dir, "*")): + test_id = os.path.splitext(os.path.basename(item))[0] + expected = os.path.join( + expected_dir, "suites_{0}_post_{1}.xml".format(suite, test_id)) + if os.path.isfile(item) and os.path.isfile(expected): + test_data.append((item, expected, configuration_path)) + test_names.append("{0}_{1}".format(suite, test_id)) + return test_data, test_names + + +@pytest.fixture(scope="session") +def local_server(request): + """A local pycsw server using Python's wsgiref server""" + + port = random.randint(8000, 8050) + command = "python pycsw/wsgi.py {}".format(port) + working_dir = os.path.dirname(TESTS_ROOT) + pycsw_process = subprocess.Popen(shlex.split(command), cwd=working_dir) + time.sleep(2) # give the external process some time to start + + def finalizer(): + pycsw_process.terminate() + pycsw_process.wait() + + request.addfinalizer(finalizer) + return "http://localhost:{}".format(port) + diff --git a/tests/test_suites.py b/tests/test_suites.py new file mode 100644 index 000000000..6b7cd1f25 --- /dev/null +++ b/tests/test_suites.py @@ -0,0 +1,248 @@ +# ================================================================= +# +# Authors: Tom Kralidis +# Ricardo Garcia Silva +# +# Copyright (c) 2016 Tom Kralidis +# Copyright (c) 2016 Ricardo Garcia Silva +# +# Permission is hereby granted, free of charge, to any person +# obtaining a copy of this software and associated documentation +# files (the "Software"), to deal in the Software without +# restriction, including without limitation the rights to use, +# copy, modify, merge, publish, distribute, sublicense, and/or sell +# copies of the Software, and to permit persons to whom the +# Software is furnished to do so, subject to the following +# conditions: +# +# The above copyright notice and this permission notice shall be +# included in all copies or substantial portions of the Software. +# +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +# EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES +# OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +# NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT +# HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, +# WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR +# OTHER DEALINGS IN THE SOFTWARE. +# +# ================================================================= +"""Functional tests for pycsw. + +These tests are based on the execution of the requests defined in the suites +under the `suites` directory. + +""" + +import codecs +from io import BytesIO +import json +from lxml import etree +from lxml import objectify +import os +import pytest +import re +import requests + +ENCODING = "utf-8" + + +@pytest.mark.functional +class TestSuites(object): + + def test_suites_post(self, local_server, test_request, expected_result, + config): + print("locals: {0}".format(locals())) + with open(test_request, encoding=ENCODING) as request_fh: + request_data = request_fh.read() + with open(expected_result, encoding=ENCODING) as expected_fh: + expected = expected_fh.read() + response = requests.post(local_server, + params={"config": config}, + data=request_data) + response_data = response.text + assert _get_validity(expected, response_data) + #assert response.status_code == 200 + + +def _test_xml_result(result, expected): + """Compare the XML test results with an expected value. + + This function compares the test result with the expected values by + performing XML canonicalization (c14n)[1]_. + + Parameters + ---------- + result: str + The result of running the test. + expected: str + The expected outcome. + + Returns + ------- + bool + Whether the result matches the expectations or not. + + Raises + ------ + etree.XMLSyntaxError + If any of the input parameters is not a valid XMl. + etree.C14NError + If any of the input parameters cannot be canonicalized. This may + happen if there are relative namespace URIs in any of the XML + documents, as they are explicitly not allowed when doing XML c14n + + References + ---------- + .. [1] http://www.w3.org/TR/xml-c14n + + """ + + result_element = etree.fromstring(result.encode(ENCODING)) + expected_element = etree.fromstring(expected.encode(ENCODING)) + result_buffer = BytesIO() + result_tree = result_element.getroottree() + objectify.deannotate(result_tree, cleanup_namespaces=True) + result_tree.write_c14n(result_buffer) + expected_buffer = BytesIO() + expected_tree = expected_element.getroottree() + objectify.deannotate(expected_tree, cleanup_namespaces=True) + expected_tree.write_c14n(expected_buffer) + matches = result_buffer.getvalue() == expected_buffer.getvalue() + return matches + + +def _test_json_result(result, expected): + """Compare the JSON test results with an expected value. + + Parameters + ---------- + result: str + The result of running the test. + expected: str + The expected outcome. + + Returns + ------- + bool + Whether the result matches the expectations or not. + + """ + + result_dict = json.loads(result, encoding=ENCODING) + expected_dict = json.loads(expected, encoding=ENCODING) + return result_dict == expected_dict + + +def _get_validity(expected, result, force_id_mask=False): + """Test whether the test result matches the expected outcome. + + This function deals with both XML and JSON results. It first tries to + parse the result and the expected outcome as XML and evaluates them using + XML canonicalization (c14n). If the result cannot be parsed as XML, it then + tries to load it as JSON and does a sorted comparison. + + Parameters + ---------- + expected: str + The expected outcome of the test + result: str + The actual result that was generated by running the test code + force_id_mask: bool, optional + Whether to apply result normalization to id fields + + Returns + ------- + bool + Whether the result matches the expected values + + """ + + normalized_result = _normalize(result, force_id_mask=force_id_mask) + try: + matches_expected = _test_xml_result(normalized_result, expected) + except etree.XMLSyntaxError: + # the file is either not XML (perhaps JSON?) or malformed + matches_expected = _test_json_result(normalized_result, expected) + return matches_expected + + +def _normalize(sresult, force_id_mask=False): + """Replace time, updateSequence and version specific values with generic + values""" + + # XML responses + version = re.search(r'', sresult) + updatesequence = re.search(r'updateSequence="(\S+)"', sresult) + timestamp = re.search(r'timestamp="(.*)"', sresult) + timestamp2 = re.search(r'timeStamp="(.*)"', sresult) + timestamp3 = re.search(r'(.*)', sresult) + timestamp4 = re.search(r'(.*)', sresult) + zrhost = re.search(r'(.*)', sresult) + zrport = re.search(r'(.*)', sresult) + elapsed_time = re.search(r'elapsedTime="(.*)"', sresult) + expires = re.search(r'expires="(.*?)"', sresult) + atom_updated = re.findall(r'(.*)', sresult) + + if version: + sresult = sresult.replace(version.group(0), r'') + if updatesequence: + sresult = sresult.replace(updatesequence.group(0), + r'updateSequence="PYCSW_UPDATESEQUENCE"') + if timestamp: + sresult = sresult.replace(timestamp.group(0), + r'timestamp="PYCSW_TIMESTAMP"') + if timestamp2: + sresult = sresult.replace(timestamp2.group(0), + r'timeStamp="PYCSW_TIMESTAMP"') + if timestamp3: + sresult = sresult.replace(timestamp3.group(0), + r'PYCSW_TIMESTAMP') + if timestamp4: + sresult = sresult.replace(timestamp4.group(0), + r'PYCSW_TIMESTAMP') + if zrport: + sresult = sresult.replace(zrport.group(0), + r'PYCSW_PORT') + if zrhost: + sresult = sresult.replace(zrhost.group(0), + r'PYCSW_HOST') + if elapsed_time: + sresult = sresult.replace(elapsed_time.group(0), + r'elapsedTime="PYCSW_ELAPSED_TIME"') + if expires: + sresult = sresult.replace(expires.group(0), + r'expires="PYCSW_EXPIRES"') + for au in atom_updated: + sresult = sresult.replace(au, r'PYCSW_TIMESTAMP') + + # for csw:HarvestResponse documents, mask identifiers + # which are dynamically generated for OWS endpoints + if sresult.find(r'HarvestResponse') != -1: + identifier = re.findall(r'(\S+)', + sresult) + for i in identifier: + sresult = sresult.replace(i, r'PYCSW_IDENTIFIER') + + # JSON responses + timestamp = re.search(r'"@timestamp": "(.*?)"', sresult) + + if timestamp: + sresult = sresult.replace(timestamp.group(0), + r'"@timestamp": "PYCSW_TIMESTAMP"') + + # harvesting-based GetRecords/GetRecordById responses + if force_id_mask: + dcid = re.findall(r'(urn:uuid.*)', sresult) + isoid = re.findall(r'id="(urn:uuid.*)"', sresult) + isoid2 = re.findall(r'(urn:uuid.*) Date: Wed, 25 May 2016 18:42:12 +0100 Subject: [PATCH 084/119] working on POST tests --- tests/conftest.py | 180 ++++++++++++++++++++++++++++++++++++------- tests/test_suites.py | 115 +++++++++++++++++---------- 2 files changed, 226 insertions(+), 69 deletions(-) diff --git a/tests/conftest.py b/tests/conftest.py index 1db583ac9..f36f616d0 100644 --- a/tests/conftest.py +++ b/tests/conftest.py @@ -42,14 +42,19 @@ def pytest_configure(config): def pytest_addoption(parser): parser.addoption( - "--suite", - action="append", - choices=FUNCTIONAL_SUITES, - default=[], - help="Suites to run functional tests against. Specify this parameter " - "multiple times in order to include several suites. If not " - "specified, all available suites are tested" + "--database-backend", + choices=["sqlite", "postgres"], + default="sqlite", + help="Database backend to use when performing functional tests" ) + for suite_name in FUNCTIONAL_SUITES: + parser.addoption( + "--server-url-{0}-suite".format(suite_name), + help="URL to perform functional tests for the {0!r} suite. If not " + "specified, a local pycsw instance is spawned, configured " + "with the {0!r} suite settings and used " + "in tests.".format(suite_name) + ) def pytest_generate_tests(metafunc): @@ -62,38 +67,156 @@ def pytest_generate_tests(metafunc): """ expected_dir = os.path.join(TESTS_ROOT, "expected") - if metafunc.function.__name__ == "test_suites_post": - test_data, test_names = _configure_functional_post_tests(metafunc, - expected_dir) - metafunc.parametrize(["test_request", "expected_result", "config"], - test_data, ids=test_names) + for suite_name in FUNCTIONAL_SUITES: + safe_suite_name = suite_name.replace("-", "_") + option_name = "--server-url-{0}-suite".format(suite_name) + fixture_name = "server_{0}_suite".format(safe_suite_name) + test_name = "test_{0}_suite".format(safe_suite_name) + uses_fixture = fixture_name in metafunc.fixturenames + test_name_matches = metafunc.function.__name__ == test_name + if uses_fixture and test_name_matches: + test_data, test_names = _configure_functional_post_tests( + expected_dir, safe_suite_name) + metafunc.parametrize( + ["test_request", "expected_result"], + test_data, + ids=test_names, + scope="session" + ) + break -def _configure_functional_post_tests(metafunc, expected_dir): +@pytest.fixture(scope="session") +def suite_info(request): + suite_name = request.param test_data = [] test_names = [] - for suite in metafunc.config.getoption("suite") or FUNCTIONAL_SUITES: - suite_dir = os.path.join(TESTS_ROOT, "suites", suite) - configuration_path = os.path.join(suite_dir, "default.cfg") - post_requests_dir = os.path.join(suite_dir, "post") - for item in glob.iglob(os.path.join(post_requests_dir, "*")): - test_id = os.path.splitext(os.path.basename(item))[0] - expected = os.path.join( - expected_dir, "suites_{0}_post_{1}.xml".format(suite, test_id)) - if os.path.isfile(item) and os.path.isfile(expected): - test_data.append((item, expected, configuration_path)) - test_names.append("{0}_{1}".format(suite, test_id)) - return test_data, test_names + expected_dir = os.path.join(TESTS_ROOT, "expected") + suite_dir = os.path.join(TESTS_ROOT, "suites", suite_name) + configuration_path = os.path.join(suite_dir, "default.cfg") + post_requests_dir = os.path.join(suite_dir, "post") + for item in glob.iglob(os.path.join(post_requests_dir, "*")): + test_id = os.path.splitext(os.path.basename(item))[0] + expected = os.path.join( + expected_dir, + "suites_{0}_post_{1}.xml".format(suite_name, test_id) + ) + if os.path.isfile(item) and os.path.isfile(expected): + test_data.append((item, expected, configuration_path)) + test_names.append("{0}_{1}".format(suite_name, test_id)) + return configuration_path, test_data, test_names + + +@pytest.fixture(scope="session") +def server_apiso_suite(request): + return _get_server_with_config(request, "apiso") + + +@pytest.fixture(scope="session") +def server_apiso_inspire_suite(request): + return _get_server_with_config(request, "apiso-inspire") + + +@pytest.fixture(scope="session") +def server_atom_suite(request): + return _get_server_with_config(request, "atom") + + +@pytest.fixture(scope="session") +def server_cite_suite(request): + return _get_server_with_config(request, "cite") + + +@pytest.fixture(scope="session") +def server_csw30_suite(request): + return _get_server_with_config(request, "csw30") + + +@pytest.fixture(scope="session") +def server_default_suite(request): + return _get_server_with_config(request, "default") + + +@pytest.fixture(scope="session") +def server_dif_suite(request): + return _get_server_with_config(request, "dif") + + +@pytest.fixture(scope="session") +def server_ebrim_suite(request): + return _get_server_with_config(request, "ebrim") @pytest.fixture(scope="session") -def local_server(request): - """A local pycsw server using Python's wsgiref server""" +def server_fgdc_suite(request): + return _get_server_with_config(request, "fgdc") + +@pytest.fixture(scope="session") +def server_gm03_suite(request): + return _get_server_with_config(request, "gm03") + + +@pytest.fixture(scope="session") +def server_harvesting_suite(request): + return _get_server_with_config(request, "harvesting") + + +@pytest.fixture(scope="session") +def server_oaipmh_suite(request): + return _get_server_with_config(request, "oaipmh") + + +@pytest.fixture(scope="session") +def server_repofilter_suite(request): + return _get_server_with_config(request, "repofilter") + + +@pytest.fixture(scope="session") +def server_sru_suite(request): + return _get_server_with_config(request, "sru") + + +@pytest.fixture(scope="session") +def server_utf_8_suite(request): + return _get_server_with_config(request, "utf-8") + + +def _configure_functional_post_tests(expected_dir, suite_name): + test_data = [] + test_names = [] + suite_dir = os.path.join(TESTS_ROOT, "suites", suite_name) + post_requests_dir = os.path.join(suite_dir, "post") + for item in glob.iglob(os.path.join(post_requests_dir, "*")): + test_id = os.path.splitext(os.path.basename(item))[0] + expected = os.path.join( + expected_dir, + "suites_{0}_post_{1}.xml".format(suite_name, test_id) + ) + if os.path.isfile(item) and os.path.isfile(expected): + test_data.append((item, expected)) + test_names.append("{0}_{1}".format(suite_name, test_id)) + return test_data, test_names + + +def _get_server_with_config(request, suite_name): + url = request.config.getoption("--server-url-{0}-suite".format(suite_name)) + config = os.path.join(TESTS_ROOT, "suites", suite_name, "default.cfg") + if url is None: + url = _start_local_server(request, config) + else: # use the provided url and assume the config has been set + url = url + return url + + +def _start_local_server(request, config_path): port = random.randint(8000, 8050) command = "python pycsw/wsgi.py {}".format(port) working_dir = os.path.dirname(TESTS_ROOT) - pycsw_process = subprocess.Popen(shlex.split(command), cwd=working_dir) + env = os.environ.copy() + env["PYCSW_CONFIG"] = config_path + pycsw_process = subprocess.Popen(shlex.split(command), cwd=working_dir, + env=env) time.sleep(2) # give the external process some time to start def finalizer(): @@ -102,4 +225,3 @@ def finalizer(): request.addfinalizer(finalizer) return "http://localhost:{}".format(port) - diff --git a/tests/test_suites.py b/tests/test_suites.py index 6b7cd1f25..2ef12c82a 100644 --- a/tests/test_suites.py +++ b/tests/test_suites.py @@ -51,19 +51,87 @@ @pytest.mark.functional class TestSuites(object): - def test_suites_post(self, local_server, test_request, expected_result, - config): - print("locals: {0}".format(locals())) + def test_apiso_suite(self, server_apiso_suite, test_request, + expected_result): + self._test_request(server_apiso_suite, test_request, expected_result) + + def test_apiso_inspire_suite(self, server_apiso_inspire_suite, + test_request, expected_result): + self._test_request(server_apiso_inspire_suite, test_request, + expected_result) + + def test_atom_suite(self, server_atom_suite, test_request, + expected_result): + self._test_request(server_atom_suite, test_request, expected_result) + + def test_cite_suite(self, server_cite_suite, test_request, + expected_result): + self._test_request(server_cite_suite, test_request, expected_result) + + def test_csw30_suite(self, server_csw30_suite, test_request, + expected_result): + self._test_request(server_csw30_suite, test_request, expected_result) + + def test_default_suite(self, server_default_suite, test_request, + expected_result): + self._test_request(server_default_suite, test_request, expected_result) + + def test_dif_suite(self, server_dif_suite, test_request, + expected_result): + self._test_request(server_dif_suite, test_request, expected_result) + + def test_ebrim_suite(self, server_ebrim_suite, test_request, + expected_result): + self._test_request(server_ebrim_suite, test_request, expected_result) + + def test_fgdc_suite(self, server_fgdc_suite, test_request, + expected_result): + self._test_request(server_fgdc_suite, test_request, expected_result) + + def test_gm03_suite(self, server_gm03_suite, test_request, + expected_result): + self._test_request(server_gm03_suite, test_request, expected_result) + + def test_harvesting_suite(self, server_harvesting_suite, test_request, + expected_result): + self._test_request(server_harvesting_suite, test_request, + expected_result) + + def test_oaipmh_suite(self, server_oaipmh_suite, test_request, + expected_result): + self._test_request(server_oaipmh_suite, test_request, expected_result) + + def test_repofilter_suite(self, server_repofilter_suite, test_request, + expected_result): + self._test_request(server_repofilter_suite, test_request, + expected_result) + + def test_sru_suite(self, server_sru_suite, test_request, + expected_result): + self._test_request(server_sru_suite, test_request, expected_result) + + def test_utf_8_suite(self, server_utf_8_suite, test_request, + expected_result): + self._test_request(server_utf_8_suite, test_request, expected_result) + + def _test_request(self, pycsw_server_url, test_request, expected_result): with open(test_request, encoding=ENCODING) as request_fh: request_data = request_fh.read() with open(expected_result, encoding=ENCODING) as expected_fh: expected = expected_fh.read() - response = requests.post(local_server, - params={"config": config}, + response = requests.post(pycsw_server_url, data=request_data) response_data = response.text - assert _get_validity(expected, response_data) - #assert response.status_code == 200 + + normalized_result = _normalize(response_data, force_id_mask=False) + print("expected: {0}".format(expected)) + print("response: {0}".format(normalized_result)) + try: + matches_expected = _test_xml_result(normalized_result, expected) + except etree.XMLSyntaxError: + # the file is either not XML (perhaps JSON?) or malformed + matches_expected = _test_json_result(normalized_result, expected) + assert matches_expected def _test_xml_result(result, expected): @@ -135,39 +203,6 @@ def _test_json_result(result, expected): return result_dict == expected_dict -def _get_validity(expected, result, force_id_mask=False): - """Test whether the test result matches the expected outcome. - - This function deals with both XML and JSON results. It first tries to - parse the result and the expected outcome as XML and evaluates them using - XML canonicalization (c14n). If the result cannot be parsed as XML, it then - tries to load it as JSON and does a sorted comparison. - - Parameters - ---------- - expected: str - The expected outcome of the test - result: str - The actual result that was generated by running the test code - force_id_mask: bool, optional - Whether to apply result normalization to id fields - - Returns - ------- - bool - Whether the result matches the expected values - - """ - - normalized_result = _normalize(result, force_id_mask=force_id_mask) - try: - matches_expected = _test_xml_result(normalized_result, expected) - except etree.XMLSyntaxError: - # the file is either not XML (perhaps JSON?) or malformed - matches_expected = _test_json_result(normalized_result, expected) - return matches_expected - - def _normalize(sresult, force_id_mask=False): """Replace time, updateSequence and version specific values with generic values""" From de4cb6d415a59e597daf99b4dee7a18479f05894 Mon Sep 17 00:00:00 2001 From: Ricardo Silva Date: Sun, 29 May 2016 11:32:39 +0100 Subject: [PATCH 085/119] adding ports for each suite --- tests/conftest.py | 141 +++++++++++++++++++++++++++++++++------------- 1 file changed, 101 insertions(+), 40 deletions(-) diff --git a/tests/conftest.py b/tests/conftest.py index f36f616d0..82ac736bf 100644 --- a/tests/conftest.py +++ b/tests/conftest.py @@ -1,9 +1,9 @@ """pytest configuration file""" +from configparser import ConfigParser import glob import os import subprocess -import random import shlex import time @@ -47,6 +47,18 @@ def pytest_addoption(parser): default="sqlite", help="Database backend to use when performing functional tests" ) + parser.addoption( + "--database-user-postgres", + default="postgres", + help="Username to use for creating and accessing local postgres " + "databases used for functional tests." + ) + parser.addoption( + "--database-password-postgres", + default="", + help="Password to use for creating and accessing local postgres " + "databases used for functional tests." + ) for suite_name in FUNCTIONAL_SUITES: parser.addoption( "--server-url-{0}-suite".format(suite_name), @@ -68,7 +80,7 @@ def pytest_generate_tests(metafunc): expected_dir = os.path.join(TESTS_ROOT, "expected") for suite_name in FUNCTIONAL_SUITES: - safe_suite_name = suite_name.replace("-", "_") + safe_suite_name = _get_suite_safe_name(suite_name) option_name = "--server-url-{0}-suite".format(suite_name) fixture_name = "server_{0}_suite".format(safe_suite_name) test_name = "test_{0}_suite".format(safe_suite_name) @@ -108,78 +120,93 @@ def suite_info(request): @pytest.fixture(scope="session") -def server_apiso_suite(request): - return _get_server_with_config(request, "apiso") +def server_apiso_suite(request, tmpdir_factory): + return _get_server_with_config(request, "apiso", + tmpdir_factory, 8010) @pytest.fixture(scope="session") -def server_apiso_inspire_suite(request): - return _get_server_with_config(request, "apiso-inspire") +def server_apiso_inspire_suite(request, tmpdir_factory): + return _get_server_with_config(request, "apiso-inspire", + tmpdir_factory, 8011) @pytest.fixture(scope="session") -def server_atom_suite(request): - return _get_server_with_config(request, "atom") +def server_atom_suite(request, tmpdir_factory): + return _get_server_with_config(request, "atom", + tmpdir_factory, 8012) @pytest.fixture(scope="session") -def server_cite_suite(request): - return _get_server_with_config(request, "cite") +def server_cite_suite(request, tmpdir_factory): + return _get_server_with_config(request, "cite", + tmpdir_factory, 8013) @pytest.fixture(scope="session") -def server_csw30_suite(request): - return _get_server_with_config(request, "csw30") +def server_csw30_suite(request, tmpdir_factory): + return _get_server_with_config(request, "csw30", + tmpdir_factory, 8014) @pytest.fixture(scope="session") -def server_default_suite(request): - return _get_server_with_config(request, "default") +def server_default_suite(request, tmpdir_factory): + return _get_server_with_config(request, "default", + tmpdir_factory, 8015) @pytest.fixture(scope="session") -def server_dif_suite(request): - return _get_server_with_config(request, "dif") +def server_dif_suite(request, tmpdir_factory): + return _get_server_with_config(request, "dif", + tmpdir_factory, 8016) @pytest.fixture(scope="session") -def server_ebrim_suite(request): - return _get_server_with_config(request, "ebrim") +def server_ebrim_suite(request, tmpdir_factory): + return _get_server_with_config(request, "ebrim", + tmpdir_factory, 8017) @pytest.fixture(scope="session") -def server_fgdc_suite(request): - return _get_server_with_config(request, "fgdc") +def server_fgdc_suite(request, tmpdir_factory): + return _get_server_with_config(request, "fgdc", + tmpdir_factory, 8018) @pytest.fixture(scope="session") -def server_gm03_suite(request): - return _get_server_with_config(request, "gm03") +def server_gm03_suite(request, tmpdir_factory): + return _get_server_with_config(request, "gm03", + tmpdir_factory, 8019) @pytest.fixture(scope="session") -def server_harvesting_suite(request): - return _get_server_with_config(request, "harvesting") +def server_harvesting_suite(request, tmpdir_factory): + return _get_server_with_config(request, "harvesting", + tmpdir_factory, 8020) @pytest.fixture(scope="session") -def server_oaipmh_suite(request): - return _get_server_with_config(request, "oaipmh") +def server_oaipmh_suite(request, tmpdir_factory): + return _get_server_with_config(request, "oaipmh", + tmpdir_factory, 8021) @pytest.fixture(scope="session") -def server_repofilter_suite(request): - return _get_server_with_config(request, "repofilter") +def server_repofilter_suite(request, tmpdir_factory): + return _get_server_with_config(request, "repofilter", + tmpdir_factory, 8022) @pytest.fixture(scope="session") -def server_sru_suite(request): - return _get_server_with_config(request, "sru") +def server_sru_suite(request, tmpdir_factory): + return _get_server_with_config(request, "sru", + tmpdir_factory, 8023) @pytest.fixture(scope="session") -def server_utf_8_suite(request): - return _get_server_with_config(request, "utf-8") +def server_utf_8_suite(request, tmpdir_factory): + return _get_server_with_config(request, "utf-8", + tmpdir_factory, 8024) def _configure_functional_post_tests(expected_dir, suite_name): @@ -199,29 +226,63 @@ def _configure_functional_post_tests(expected_dir, suite_name): return test_data, test_names -def _get_server_with_config(request, suite_name): +def _get_suite_safe_name(suite_name): + return suite_name.replace("-", "_") + + +def _get_server_with_config(request, suite_name, tmpdir_factory, port_number): url = request.config.getoption("--server-url-{0}-suite".format(suite_name)) - config = os.path.join(TESTS_ROOT, "suites", suite_name, "default.cfg") if url is None: - url = _start_local_server(request, config) + print("Initializing server for {0} suite...".format(suite_name)) + original_config_path = os.path.join(TESTS_ROOT, "suites", + suite_name, "default.cfg") + safe_suite_name = _get_suite_safe_name(suite_name) + config = ConfigParser() + config.read(original_config_path) + test_temp_directory = tmpdir_factory.mktemp(safe_suite_name, + numbered=True) + db_url = _get_database_url(request, safe_suite_name, + test_temp_directory) + # now we can change the config as needed + config.set("repository", "database", db_url) + new_config = test_temp_directory.join("default.cfg") + fh = new_config.open("w") + config.write(fh) + fh.close() + # create the database, if needed + # load records, if any + url = _start_local_server(request, str(new_config), port_number) else: # use the provided url and assume the config has been set url = url return url -def _start_local_server(request, config_path): - port = random.randint(8000, 8050) - command = "python pycsw/wsgi.py {}".format(port) +def _get_database_url(request, suite_name, test_dir): + db_type = request.config.getoption("--database-backend") + if db_type == "sqlite": + db_url = "sqlite:///{0}/records.db".format(test_dir) + elif db_type == "postgres": + user = request.config.getoption("--database-user-postgres") + password = request.config.getoption("--database-password-postgres") + db_url = "postgres://{0}:{1}@localhost/pycsw_test_{2}".format( + user, password, suite_name) + else: + raise NotImplementedError + return db_url + + +def _start_local_server(request, config_path, port_number): + command = "python pycsw/wsgi.py {}".format(port_number) working_dir = os.path.dirname(TESTS_ROOT) env = os.environ.copy() env["PYCSW_CONFIG"] = config_path pycsw_process = subprocess.Popen(shlex.split(command), cwd=working_dir, env=env) - time.sleep(2) # give the external process some time to start + time.sleep(3) # give the external process some time to start def finalizer(): pycsw_process.terminate() pycsw_process.wait() request.addfinalizer(finalizer) - return "http://localhost:{}".format(port) + return "http://localhost:{}".format(port_number) From 267a9e8799bdff087a9bdd1134a68137ad124be4 Mon Sep 17 00:00:00 2001 From: Ricardo Garcia Silva Date: Sun, 29 May 2016 13:31:07 +0100 Subject: [PATCH 086/119] refactoring tests to use py.test --- tests/conftest.py | 147 +++++++++++++++++++++++--- tests/test_suites.py | 239 ++++++++++++++++++++++++++++++------------- 2 files changed, 302 insertions(+), 84 deletions(-) diff --git a/tests/conftest.py b/tests/conftest.py index 82ac736bf..52730e275 100644 --- a/tests/conftest.py +++ b/tests/conftest.py @@ -9,6 +9,9 @@ import pytest +from pycsw.core import admin +from pycsw.core.config import StaticContext + TESTS_ROOT = os.path.dirname(os.path.abspath(__file__)) @@ -81,12 +84,13 @@ def pytest_generate_tests(metafunc): expected_dir = os.path.join(TESTS_ROOT, "expected") for suite_name in FUNCTIONAL_SUITES: safe_suite_name = _get_suite_safe_name(suite_name) - option_name = "--server-url-{0}-suite".format(suite_name) fixture_name = "server_{0}_suite".format(safe_suite_name) - test_name = "test_{0}_suite".format(safe_suite_name) uses_fixture = fixture_name in metafunc.fixturenames - test_name_matches = metafunc.function.__name__ == test_name - if uses_fixture and test_name_matches: + test_name_post = "test_post_requests" + test_name_get = "test_get_requests" + test_name_get_matches = metafunc.function.__name__ == test_name_get + test_name_post_matches = metafunc.function.__name__ == test_name_post + if uses_fixture and test_name_post_matches: test_data, test_names = _configure_functional_post_tests( expected_dir, safe_suite_name) metafunc.parametrize( @@ -96,6 +100,16 @@ def pytest_generate_tests(metafunc): scope="session" ) break + elif uses_fixture and test_name_get_matches: + test_data, test_names = _configure_functional_get_tests( + expected_dir, suite_name) + metafunc.parametrize( + ["test_request_parameters", "expected_result"], + test_data, + ids=test_names, + scope="session" + ) + break @pytest.fixture(scope="session") @@ -226,38 +240,114 @@ def _configure_functional_post_tests(expected_dir, suite_name): return test_data, test_names +def _configure_functional_get_tests(expected_dir, suite_name): + test_data = [] + test_names = [] + request_file_path = os.path.join(TESTS_ROOT, "suites", suite_name, + "get", "requests.txt") + try: + with open(request_file_path, encoding="utf-8") as fh: + for line in fh: + test_name, sep, test_params = line.partition(",") + expected = os.path.join( + expected_dir, + "suites_{0}_get_{1}.xml".format(suite_name, test_name) + ) + if os.path.isfile(expected): + test_data.append((test_params, expected)) + test_names.append("{0}_{1}".format(suite_name, test_name)) + except IOError: + pass # this suite does not have GET tests + return test_data, test_names + + def _get_suite_safe_name(suite_name): return suite_name.replace("-", "_") def _get_server_with_config(request, suite_name, tmpdir_factory, port_number): + """Provide a pycsw server to execute tests for the input suite name + + This function introspects the test context. If tests are to be run against + a user-provided url, it does nothing. If there is no user-provided url, + a new pycsw instance is created locally and its URL is returned. + + Parameters + ---------- + request: FixtureRequest + Pytest's FixtureRequest object, holding information about the test + context + suite_name: str + The safe name of the current suite + tmpdir_factory: TempDirFactory + Pytest's TempDirFactory fixture object, that is used to create + temporary directories for tests + port_number: int + Port where a local server shall be started for the input suite_name + + Returns + ------- + str + The pycsw URL that can be used in tests for the input suite_name + + """ + url = request.config.getoption("--server-url-{0}-suite".format(suite_name)) if url is None: - print("Initializing server for {0} suite...".format(suite_name)) + print("Initializing server for {0!r} suite...".format(suite_name)) original_config_path = os.path.join(TESTS_ROOT, "suites", suite_name, "default.cfg") - safe_suite_name = _get_suite_safe_name(suite_name) config = ConfigParser() config.read(original_config_path) + safe_suite_name = _get_suite_safe_name(suite_name) test_temp_directory = tmpdir_factory.mktemp(safe_suite_name, numbered=True) - db_url = _get_database_url(request, safe_suite_name, - test_temp_directory) + db_url = _initialize_database( + request, safe_suite_name, test_temp_directory, + config.get("repository", "table"), + os.path.join(TESTS_ROOT, "suites", suite_name, "data") + ) # now we can change the config as needed config.set("repository", "database", db_url) new_config = test_temp_directory.join("default.cfg") fh = new_config.open("w") config.write(fh) fh.close() - # create the database, if needed - # load records, if any - url = _start_local_server(request, str(new_config), port_number) + server_url = _start_local_server(request, str(new_config), port_number) else: # use the provided url and assume the config has been set - url = url - return url + server_url = url + return server_url + + +def _initialize_database(request, suite_name, test_dir, table_name, data_path): + """Initialize local database for functional tests. + + This function will: + + * Configure the correct database url + * Create the database + * Load any test data that the suite may require + + Parameters + ---------- + request: FixtureRequest + Pytest's FixtureRequest object, holding information about the test + context + suite_name: str + The safe name of the current suite + test_dir: str + Full path to the temporary directory being used in the suite's tests + data_path: str + Full path to a directory that has test data to be loaded up into + the suite's database + + Returns + ------- + str + The SQLAlchemy engine URL for the database. + """ -def _get_database_url(request, suite_name, test_dir): db_type = request.config.getoption("--database-backend") if db_type == "sqlite": db_url = "sqlite:///{0}/records.db".format(test_dir) @@ -268,10 +358,39 @@ def _get_database_url(request, suite_name, test_dir): user, password, suite_name) else: raise NotImplementedError + print("Setting up {0!r} database for suite {1!r}...".format(db_type, + suite_name)) + admin.setup_db(db_url, table_name, test_dir) + print("Loading database data...") + admin.load_records(StaticContext(), db_url, table_name, data_path) return db_url def _start_local_server(request, config_path, port_number): + """Start a local pycsw instance + + This function starts a new pycsw instance and also + registers a pytest finalizer function that takes care of stopping the + server when the tests are finished. + + Parameters + ---------- + + request: FixtureRequest + Pytest's FixtureRequest object, holding information about the test + context + config_path: str + Full path to pycsw's configuration file + port_number: int + Port where the server will be listening + + Returns + ------- + str + The URL of the newly started pycsw instance + + """ + command = "python pycsw/wsgi.py {}".format(port_number) working_dir = os.path.dirname(TESTS_ROOT) env = os.environ.copy() diff --git a/tests/test_suites.py b/tests/test_suites.py index 2ef12c82a..48a374059 100644 --- a/tests/test_suites.py +++ b/tests/test_suites.py @@ -47,91 +47,190 @@ ENCODING = "utf-8" +pytestmark = pytest.mark.functional -@pytest.mark.functional -class TestSuites(object): - def test_apiso_suite(self, server_apiso_suite, test_request, - expected_result): - self._test_request(server_apiso_suite, test_request, expected_result) +class TestApisoSuite(object): + + def test_post_requests(self, server_apiso_suite, test_request, + expected_result): + pass + + def test_get_requests(self, server_apiso_suite, test_request_parameters, + expected_result): + pass + + +class TestApisoInspireSuite(object): + + def test_post_requests(self, server_apiso_inspire_suite, test_request, + expected_result): + pass + + def test_get_requests(self, server_apiso_inspire_suite, + test_request_parameters, expected_result): + pass + + +class TestAtomSuite(object): + + def test_post_requests(self, server_atom_suite, test_request, + expected_result): + pass + + def test_get_requests(self, server_atom_suite, + test_request_parameters, expected_result): + pass + + +class TestCiteSuite(object): + + def test_post_requests(self, server_cite_suite, test_request, + expected_result): + pass + + def test_get_requests(self, server_cite_suite, + test_request_parameters, expected_result): + pass + + +class TestCsw30Suite(object): + + def test_post_requests(self, server_csw30_suite, test_request, + expected_result): + pass + + def test_get_requests(self, server_csw30_suite, + test_request_parameters, expected_result): + pass - def test_apiso_inspire_suite(self, server_apiso_inspire_suite, - test_request, expected_result): - self._test_request(server_apiso_inspire_suite, test_request, - expected_result) - def test_atom_suite(self, server_atom_suite, test_request, - expected_result): - self._test_request(server_atom_suite, test_request, expected_result) +class TestDefaultSuite(object): + + def test_post_requests(self, server_default_suite, test_request, + expected_result): + pass + + def test_get_requests(self, server_default_suite, test_request_parameters, + expected_result): + pass - def test_cite_suite(self, server_cite_suite, test_request, - expected_result): - self._test_request(server_cite_suite, test_request, expected_result) - def test_csw30_suite(self, server_csw30_suite, test_request, - expected_result): - self._test_request(server_csw30_suite, test_request, expected_result) +class TestDifSuite(object): - def test_default_suite(self, server_default_suite, test_request, + def test_post_requests(self, server_dif_suite, test_request, expected_result): - self._test_request(server_default_suite, test_request, expected_result) + pass + + def test_get_requests(self, server_dif_suite, test_request_parameters, + expected_result): + pass - def test_dif_suite(self, server_dif_suite, test_request, - expected_result): - self._test_request(server_dif_suite, test_request, expected_result) - def test_ebrim_suite(self, server_ebrim_suite, test_request, - expected_result): - self._test_request(server_ebrim_suite, test_request, expected_result) +class TestEbrimSuite(object): - def test_fgdc_suite(self, server_fgdc_suite, test_request, - expected_result): - self._test_request(server_fgdc_suite, test_request, expected_result) + def test_post_requests(self, server_ebrim_suite, test_request, + expected_result): + pass - def test_gm03_suite(self, server_gm03_suite, test_request, - expected_result): - self._test_request(server_gm03_suite, test_request, expected_result) + def test_get_requests(self, server_ebrim_suite, test_request_parameters, + expected_result): + pass - def test_harvesting_suite(self, server_harvesting_suite, test_request, - expected_result): - self._test_request(server_harvesting_suite, test_request, - expected_result) - def test_oaipmh_suite(self, server_oaipmh_suite, test_request, +class TestFgdcSuite(object): + + def test_post_requests(self, server_fgdc_suite, test_request, + expected_result): + pass + + def test_get_requests(self, server_fgdc_suite, test_request_parameters, + expected_result): + pass + +class TestGm03Suite(object): + + def test_post_requests(self, server_gm03_suite, test_request, + expected_result): + pass + + def test_get_requests(self, server_gm03_suite, test_request_parameters, + expected_result): + pass + +class TestHarvestingSuite(object): + + def test_post_requests(self, server_harvesting_suite, test_request, + expected_result): + pass + + def test_get_requests(self, server_harvesting_suite, + test_request_parameters, expected_result): + pass + +class TestOaipmhSuite(object): + + def test_post_requests(self, server_oaipmh_suite, test_request, + expected_result): + pass + + def test_get_requests(self, server_oaipmh_suite, test_request_parameters, + expected_result): + pass + +class TestRepofilterSuite(object): + + def test_post_requests(self, server_repofilter_suite, test_request, + expected_result): + pass + + def test_get_requests(self, server_repofilter_suite, + test_request_parameters, expected_result): + pass + +class TestSruSuite(object): + + def test_post_requests(self, server_sru_suite, test_request, + expected_result): + pass + + def test_get_requests(self, server_sru_suite, test_request_parameters, + expected_result): + pass + +class TestUtf8Suite(object): + + def test_post_requests(self, server_utf_8_suite, test_request, + expected_result): + pass + + def test_get_requests(self, server_utf_8_suite, test_request_parameters, expected_result): - self._test_request(server_oaipmh_suite, test_request, expected_result) - - def test_repofilter_suite(self, server_repofilter_suite, test_request, - expected_result): - self._test_request(server_repofilter_suite, test_request, - expected_result) - - def test_sru_suite(self, server_sru_suite, test_request, - expected_result): - self._test_request(server_sru_suite, test_request, expected_result) - - def test_utf_8_suite(self, server_utf_8_suite, test_request, - expected_result): - self._test_request(server_utf_8_suite, test_request, expected_result) - - def _test_request(self, pycsw_server_url, test_request, expected_result): - with open(test_request, encoding=ENCODING) as request_fh: - request_data = request_fh.read() - with open(expected_result, encoding=ENCODING) as expected_fh: - expected = expected_fh.read() - response = requests.post(pycsw_server_url, - data=request_data) - response_data = response.text - - normalized_result = _normalize(response_data, force_id_mask=False) - print("expected: {0}".format(expected)) - print("response: {0}".format(normalized_result)) - try: - matches_expected = _test_xml_result(normalized_result, expected) - except etree.XMLSyntaxError: - # the file is either not XML (perhaps JSON?) or malformed - matches_expected = _test_json_result(normalized_result, expected) - assert matches_expected + pass + + +def _test_post_request(pycsw_server_url, test_request, expected_result): + with open(test_request, encoding=ENCODING) as request_fh: + request_data = request_fh.read() + with open(expected_result, encoding=ENCODING) as expected_fh: + expected = expected_fh.read() + response = requests.post(pycsw_server_url, + data=request_data) + response_data = response.text + + normalized_result = _normalize(response_data, force_id_mask=False) + print("expected: {0}".format(expected)) + print("response: {0}".format(normalized_result)) + try: + matches_expected = _test_xml_result(normalized_result, expected) + except etree.XMLSyntaxError: + # the file is either not XML (perhaps JSON?) or malformed + matches_expected = _test_json_result(normalized_result, expected) + assert matches_expected + + +def _test_get_request(pycsw_server_url, parameters, expected_result): + pass def _test_xml_result(result, expected): From 1427598dd78b47537a708ac85f56f53fc9706810 Mon Sep 17 00:00:00 2001 From: Ricardo Silva Date: Tue, 31 May 2016 01:11:19 +0100 Subject: [PATCH 087/119] Adding back test logic --- tests/conftest.py | 39 +++++--------- tests/test_suites.py | 118 ++++++++++++++++++++----------------------- 2 files changed, 66 insertions(+), 91 deletions(-) diff --git a/tests/conftest.py b/tests/conftest.py index 52730e275..895e5939f 100644 --- a/tests/conftest.py +++ b/tests/conftest.py @@ -112,27 +112,6 @@ def pytest_generate_tests(metafunc): break -@pytest.fixture(scope="session") -def suite_info(request): - suite_name = request.param - test_data = [] - test_names = [] - expected_dir = os.path.join(TESTS_ROOT, "expected") - suite_dir = os.path.join(TESTS_ROOT, "suites", suite_name) - configuration_path = os.path.join(suite_dir, "default.cfg") - post_requests_dir = os.path.join(suite_dir, "post") - for item in glob.iglob(os.path.join(post_requests_dir, "*")): - test_id = os.path.splitext(os.path.basename(item))[0] - expected = os.path.join( - expected_dir, - "suites_{0}_post_{1}.xml".format(suite_name, test_id) - ) - if os.path.isfile(item) and os.path.isfile(expected): - test_data.append((item, expected, configuration_path)) - test_names.append("{0}_{1}".format(suite_name, test_id)) - return configuration_path, test_data, test_names - - @pytest.fixture(scope="session") def server_apiso_suite(request, tmpdir_factory): return _get_server_with_config(request, "apiso", @@ -199,28 +178,34 @@ def server_harvesting_suite(request, tmpdir_factory): tmpdir_factory, 8020) +@pytest.fixture(scope="session") +def server_manager_suite(request, tmpdir_factory): + return _get_server_with_config(request, "manager", + tmpdir_factory, 8021) + + @pytest.fixture(scope="session") def server_oaipmh_suite(request, tmpdir_factory): return _get_server_with_config(request, "oaipmh", - tmpdir_factory, 8021) + tmpdir_factory, 8022) @pytest.fixture(scope="session") def server_repofilter_suite(request, tmpdir_factory): return _get_server_with_config(request, "repofilter", - tmpdir_factory, 8022) + tmpdir_factory, 8023) @pytest.fixture(scope="session") def server_sru_suite(request, tmpdir_factory): return _get_server_with_config(request, "sru", - tmpdir_factory, 8023) + tmpdir_factory, 8024) @pytest.fixture(scope="session") def server_utf_8_suite(request, tmpdir_factory): return _get_server_with_config(request, "utf-8", - tmpdir_factory, 8024) + tmpdir_factory, 8025) def _configure_functional_post_tests(expected_dir, suite_name): @@ -254,9 +239,9 @@ def _configure_functional_get_tests(expected_dir, suite_name): "suites_{0}_get_{1}.xml".format(suite_name, test_name) ) if os.path.isfile(expected): - test_data.append((test_params, expected)) + test_data.append((test_params.strip(), expected)) test_names.append("{0}_{1}".format(suite_name, test_name)) - except IOError: + except FileNotFoundError: pass # this suite does not have GET tests return test_data, test_names diff --git a/tests/test_suites.py b/tests/test_suites.py index 48a374059..536993d75 100644 --- a/tests/test_suites.py +++ b/tests/test_suites.py @@ -35,14 +35,14 @@ """ -import codecs from io import BytesIO import json from lxml import etree from lxml import objectify -import os -import pytest import re +from urllib.parse import parse_qs + +import pytest import requests ENCODING = "utf-8" @@ -54,159 +54,141 @@ class TestApisoSuite(object): def test_post_requests(self, server_apiso_suite, test_request, expected_result): - pass - - def test_get_requests(self, server_apiso_suite, test_request_parameters, - expected_result): - pass + _test_post_request(server_apiso_suite, test_request, expected_result) class TestApisoInspireSuite(object): - def test_post_requests(self, server_apiso_inspire_suite, test_request, - expected_result): - pass - def test_get_requests(self, server_apiso_inspire_suite, test_request_parameters, expected_result): - pass + print("test_request_parameters: {}".format(test_request_parameters)) + _test_get_request(server_apiso_inspire_suite, test_request_parameters, + expected_result) class TestAtomSuite(object): def test_post_requests(self, server_atom_suite, test_request, expected_result): - pass + _test_post_request(server_atom_suite, test_request, expected_result) def test_get_requests(self, server_atom_suite, test_request_parameters, expected_result): - pass + _test_get_request(server_atom_suite, test_request_parameters, + expected_result) class TestCiteSuite(object): def test_post_requests(self, server_cite_suite, test_request, expected_result): - pass + _test_post_request(server_cite_suite, test_request, expected_result) def test_get_requests(self, server_cite_suite, test_request_parameters, expected_result): - pass + _test_get_request(server_cite_suite, test_request_parameters, + expected_result) class TestCsw30Suite(object): def test_post_requests(self, server_csw30_suite, test_request, expected_result): - pass + _test_post_request(server_csw30_suite, test_request, expected_result) def test_get_requests(self, server_csw30_suite, test_request_parameters, expected_result): - pass + _test_get_request(server_csw30_suite, test_request_parameters, + expected_result) class TestDefaultSuite(object): def test_post_requests(self, server_default_suite, test_request, expected_result): - pass + _test_post_request(server_default_suite, test_request, expected_result) def test_get_requests(self, server_default_suite, test_request_parameters, expected_result): - pass + _test_get_request(server_default_suite, test_request_parameters, + expected_result) class TestDifSuite(object): def test_post_requests(self, server_dif_suite, test_request, expected_result): - pass - - def test_get_requests(self, server_dif_suite, test_request_parameters, - expected_result): - pass + _test_post_request(server_dif_suite, test_request, expected_result) class TestEbrimSuite(object): def test_post_requests(self, server_ebrim_suite, test_request, expected_result): - pass - - def test_get_requests(self, server_ebrim_suite, test_request_parameters, - expected_result): - pass + _test_post_request(server_ebrim_suite, test_request, expected_result) class TestFgdcSuite(object): def test_post_requests(self, server_fgdc_suite, test_request, expected_result): - pass + _test_post_request(server_fgdc_suite, test_request, expected_result) - def test_get_requests(self, server_fgdc_suite, test_request_parameters, - expected_result): - pass class TestGm03Suite(object): def test_post_requests(self, server_gm03_suite, test_request, expected_result): - pass + _test_post_request(server_gm03_suite, test_request, expected_result) - def test_get_requests(self, server_gm03_suite, test_request_parameters, - expected_result): - pass class TestHarvestingSuite(object): def test_post_requests(self, server_harvesting_suite, test_request, expected_result): - pass + _test_post_request(server_harvesting_suite, test_request, + expected_result) def test_get_requests(self, server_harvesting_suite, test_request_parameters, expected_result): - pass + _test_get_request(server_harvesting_suite, test_request_parameters, + expected_result) -class TestOaipmhSuite(object): - def test_post_requests(self, server_oaipmh_suite, test_request, +class TestManagerSuite(object): + + def test_post_requests(self, server_manager_suite, test_request, expected_result): - pass + _test_post_request(server_manager_suite, test_request, expected_result) + + +class TestOaipmhSuite(object): def test_get_requests(self, server_oaipmh_suite, test_request_parameters, expected_result): - pass + _test_get_request(server_oaipmh_suite, test_request_parameters, + expected_result) class TestRepofilterSuite(object): def test_post_requests(self, server_repofilter_suite, test_request, expected_result): - pass + _test_post_request(server_repofilter_suite, test_request, + expected_result) - def test_get_requests(self, server_repofilter_suite, - test_request_parameters, expected_result): - pass class TestSruSuite(object): - def test_post_requests(self, server_sru_suite, test_request, - expected_result): - pass - def test_get_requests(self, server_sru_suite, test_request_parameters, expected_result): - pass + _test_get_request(server_sru_suite, test_request_parameters, + expected_result) class TestUtf8Suite(object): def test_post_requests(self, server_utf_8_suite, test_request, expected_result): - pass - - def test_get_requests(self, server_utf_8_suite, test_request_parameters, - expected_result): - pass + _test_post_request(server_utf_8_suite, test_request, expected_result) def _test_post_request(pycsw_server_url, test_request, expected_result): @@ -216,8 +198,20 @@ def _test_post_request(pycsw_server_url, test_request, expected_result): expected = expected_fh.read() response = requests.post(pycsw_server_url, data=request_data) - response_data = response.text + _compare_response(response, expected) + +def _test_get_request(pycsw_server_url, parameters, expected_result): + with open(expected_result, encoding=ENCODING) as expected_fh: + expected = expected_fh.read() + payload = parse_qs(parameters) + print("payload: {}".format(payload)) + response = requests.get(pycsw_server_url, params=payload) + _compare_response(response, expected) + + +def _compare_response(response, expected): + response_data = response.text normalized_result = _normalize(response_data, force_id_mask=False) print("expected: {0}".format(expected)) print("response: {0}".format(normalized_result)) @@ -229,10 +223,6 @@ def _test_post_request(pycsw_server_url, test_request, expected_result): assert matches_expected -def _test_get_request(pycsw_server_url, parameters, expected_result): - pass - - def _test_xml_result(result, expected): """Compare the XML test results with an expected value. From b73c281e7b5cf62b6abda820e01ceccdab8993ec Mon Sep 17 00:00:00 2001 From: Ricardo Silva Date: Fri, 10 Jun 2016 16:20:56 +0100 Subject: [PATCH 088/119] adding database stuff to test configuration --- tests/conftest.py | 62 ++++++++++++++++++++++++++++------------------- 1 file changed, 37 insertions(+), 25 deletions(-) diff --git a/tests/conftest.py b/tests/conftest.py index 895e5939f..795fe981a 100644 --- a/tests/conftest.py +++ b/tests/conftest.py @@ -15,25 +15,32 @@ TESTS_ROOT = os.path.dirname(os.path.abspath(__file__)) -# This list holds the names of the suites that are available for functional -# testing -FUNCTIONAL_SUITES = [ - "apiso", - "apiso-inspire", - "atom", - "cite", - "csw30", - "default", - "dif", - "ebrim", - "fgdc", - "gm03", - "harvesting", - "oaipmh", - "repofilter", - "sru", - "utf-8", -] +# This dict holds the names of the suites that are available for functional +# testing and also if they use a custom database or not. If a suite has a +# custom database, then a new db is created and possibly loaded with the suite's +# test data (if there is any test data). If a suite does not use a custom db, +# then it means that its tests it will have a database loaded with records +# from the CITE suite +# If you omit the "has_own_db" key from a suite's dict, it is assumed that +# the value is False +FUNCTIONAL_SUITES = { + "apiso": {"has_own_db": True}, + "apiso-inspire": {}, + "atom": {}, + "cite": {"has_own_db": True}, + "csw30": {}, + "default": {}, + "dif": {}, + "ebrim": {}, + "fgdc": {}, + "gm03": {}, + "harvesting": {"has_own_db": True}, + "manager": {"has_own_db": True}, + "oaipmh": {}, + "repofilter": {}, + "sru": {}, + "utf-8": {}, +} def pytest_configure(config): @@ -62,7 +69,7 @@ def pytest_addoption(parser): help="Password to use for creating and accessing local postgres " "databases used for functional tests." ) - for suite_name in FUNCTIONAL_SUITES: + for suite_name in FUNCTIONAL_SUITES.keys(): parser.addoption( "--server-url-{0}-suite".format(suite_name), help="URL to perform functional tests for the {0!r} suite. If not " @@ -82,7 +89,7 @@ def pytest_generate_tests(metafunc): """ expected_dir = os.path.join(TESTS_ROOT, "expected") - for suite_name in FUNCTIONAL_SUITES: + for suite_name in FUNCTIONAL_SUITES.keys(): safe_suite_name = _get_suite_safe_name(suite_name) fixture_name = "server_{0}_suite".format(safe_suite_name) uses_fixture = fixture_name in metafunc.fixturenames @@ -284,11 +291,11 @@ def _get_server_with_config(request, suite_name, tmpdir_factory, port_number): suite_name, "default.cfg") config = ConfigParser() config.read(original_config_path) - safe_suite_name = _get_suite_safe_name(suite_name) - test_temp_directory = tmpdir_factory.mktemp(safe_suite_name, + #safe_suite_name = _get_suite_safe_name(suite_name) + test_temp_directory = tmpdir_factory.mktemp(suite_name, numbered=True) db_url = _initialize_database( - request, safe_suite_name, test_temp_directory, + request, suite_name, test_temp_directory, config.get("repository", "table"), os.path.join(TESTS_ROOT, "suites", suite_name, "data") ) @@ -319,7 +326,7 @@ def _initialize_database(request, suite_name, test_dir, table_name, data_path): Pytest's FixtureRequest object, holding information about the test context suite_name: str - The safe name of the current suite + The name of the current suite test_dir: str Full path to the temporary directory being used in the suite's tests data_path: str @@ -347,6 +354,10 @@ def _initialize_database(request, suite_name, test_dir, table_name, data_path): suite_name)) admin.setup_db(db_url, table_name, test_dir) print("Loading database data...") + if not FUNCTIONAL_SUITES[suite_name].get("has_own_db", False): + print("Loading CITE data into database...") + cite_data_dir = os.path.join(TESTS_ROOT, "suites", "cite", "data") + data_path = cite_data_dir admin.load_records(StaticContext(), db_url, table_name, data_path) return db_url @@ -381,6 +392,7 @@ def _start_local_server(request, config_path, port_number): env = os.environ.copy() env["PYCSW_CONFIG"] = config_path pycsw_process = subprocess.Popen(shlex.split(command), cwd=working_dir, + stdout=subprocess.PIPE, env=env) time.sleep(3) # give the external process some time to start From cd49f530e6d922a77df076528733516329bf7771 Mon Sep 17 00:00:00 2001 From: Ricardo Garcia Silva Date: Thu, 18 Aug 2016 15:06:25 +0100 Subject: [PATCH 089/119] refactoring tests to use py.test --- docs/testing.rst | 166 ++++++++++++++++++++++++------ tests/conftest.py | 64 +++++++----- tests/test_suites.py | 240 +++++++++++++++++++++++++++++-------------- 3 files changed, 333 insertions(+), 137 deletions(-) diff --git a/docs/testing.rst b/docs/testing.rst index 8729e8aba..40dcdfa49 100644 --- a/docs/testing.rst +++ b/docs/testing.rst @@ -1,63 +1,160 @@ -.. _testing: +.. _tests: Testing ======= +Pycsw uses `pytest`_ for managing its automated tests. There are a number of +test suites that perform mostly functional testing. These tests ensure that +pycsw is compliant with the various supported standards. + +The tests can be run locally as part of the development cycle. They are also +run on pycsw's `Travis`_ continuous integration server against all pushes and +pull requests to the code repository. + .. _ogc-cite: + OGC CITE -------- -Compliance benchmarking is done via the OGC `Compliance & Interoperability Testing & Evaluation Initiative`_. The pycsw `wiki `_ documents testing procedures and status. +In addition to pycsw's own tests, all public releases are also tested via the +OGC `Compliance & Interoperability Testing & Evaluation Initiative`_ (CITE). +The pycsw `wiki`_ documents CITE testing procedures and status. -.. _tests: +.. _pytest: http://pytest.org/latest/ +.. _Travis: http://travis-ci.org/geopython/pycsw +.. _Compliance & Interoperability Testing & Evaluation Initiative: + http://cite.opengeospatial.org/ +.. _wiki: https://github.com/geopython/pycsw/wiki/OGC-CITE-Compliance + + +Test suites +----------- + +Currently most of pycsw's tests are `functional tests`_. This means that +each test case is based on the requirements mandated by the specifications of +the various standards that pycsw implements. These tests focus on making sure +that pycsw works as expected. + +Each test follows the same workflow: + +* Setup a local pycsw instance with a custom configuration and data repository + for each suite of tests; + +* Perform a series of GET and POST requests to the running pycsw instance; + +* Compare the results of each request against a previously prepared expected + result. If the test result matches the expected outcome the test passes, + otherwise it fails. + + +A number of different test suites exist under ``tests/suites``. Each suite +specifies the following structure: + +* A mandatory ``default.cfg`` file with the pycsw configuration that must be + used by the test suite + +* A mandatory ``expected/`` directory containing the expected results for each + request + +* An optional ``data/`` directory that contains ``.xml`` files with testing + data that is to be loaded into the suite's database before running the tests + +* An optional ``get/requests.txt`` file that holds request parameters used for + making HTTP GET requests. + + Each line in the file must be formatted with the following scheme: + + test_id,request_query_string + + For example: + + GetCapabilities,service=CSW&version=2.0.2&request=GetCapabilities + + When tests are run, the *test_id* is used for naming each test and for + finding the expected result. + +* An optional ``post/`` directory that holds ``.xml`` files used for making + HTTP POST requests + + +.. _functional tests: https://en.wikipedia.org/wiki/Functional_testing + + +Running tests locally +--------------------- + +Tests Tester ------ -The pycsw tests framework (in ``tests``) is a collection of testsuites to perform automated regession testing of the codebase. Test are run against all pushes to the GitHub repository via `Travis CI`_. +The pycsw tests framework (in ``tests``) is a collection of testsuites to +perform automated regression testing of the codebase. Test are run against +all pushes to the GitHub repository via Travis CI. Running Locally ^^^^^^^^^^^^^^^ -The tests framework can be run from ``tests`` using `Paver`_ (see ``pavement.py``) tasks for convenience: +The tests framework can be run from ``tests`` using `Paver`_ +(see ``pavement.py``) tasks for convenience: .. code-block:: bash - $ cd /path/to/pycsw - # run all tests (starts up http://localhost:8000) - $ paver test - # run tests only against specific testsuites - $ paver test -s apiso,fgdc - # run all tests, including harvesting (this is turned off by default given the volatility of remote services/data testing) - $ paver test -r - # run all tests with 1000ms time benchmark - $ paver test -t 1000 - -The tests perform HTTP GET and POST requests against ``http://localhost:8000``. The expected output for each test can be found in ``expected``. Results are categorized as ``passed``, ``failed``, or ``initialized``. A summary of results is output at the end of the run. + cd /path/to/pycsw + # run all tests (starts up http://localhost:8000) + paver test + # run tests only against specific testsuites + paver test -s apiso,fgdc + # run all tests, including harvesting (this is turned off by default given + # the volatility of remote services/data testing) + paver test -r + # run all tests with 1000ms time benchmark + paver test -t 1000 + +The tests perform HTTP GET and POST requests against +``http://localhost:8000``. The expected output for each test can be found +in ``expected``. Results are categorized as ``passed``, ``failed``, +or ``initialized``. A summary of results is output at the end of the run. Failed Tests ^^^^^^^^^^^^ -If a given test has failed, the output is saved in ``results``. The resulting failure can be analyzed by running ``diff tests/expected/name_of_test.xml tests/results/name_of_test.xml`` to find variances. The Paver task returns a status code which indicates the number of tests which have failed (i.e. ``echo $?``). +If a given test has failed, the output is saved in ``results``. The +resulting failure can be analyzed by running +``diff tests/expected/name_of_test.xml tests/results/name_of_test.xml`` to +find variances. The Paver task returns a status code which indicates the +number of tests which have failed (i.e. ``echo $?``). Test Suites ^^^^^^^^^^^ -The tests framework is run against a series of 'suites' (in ``tests/suites``), each of which specifies a given configuration to test various functionality of the codebase. Each suite is structured as follows: +The tests framework is run against a series of 'suites' (in ``tests/suites``), +each of which specifies a given configuration to test various functionality +of the codebase. Each suite is structured as follows: * ``tests/suites/suite/default.cfg``: the configuration for the suite -* ``tests/suites/suite/post``: directory of XML documents for HTTP POST requests -* ``tests/suites/suite/get/requests.txt``: directory and text file of KVP for HTTP GET requests -* ``tests/suites/suite/data``: directory of sample XML data required for the test suite. Database and test data are setup/loaded automatically as part of testing +* ``tests/suites/suite/post``: directory of XML documents for HTTP POST + requests +* ``tests/suites/suite/get/requests.txt``: directory and text file of KVP + for HTTP GET requests +* ``tests/suites/suite/data``: directory of sample XML data required for the + test suite. Database and test data are setup/loaded automatically as part + of testing When the tests are invoked, the following operations are run: * pycsw configuration is set to ``tests/suites/suite/default.cfg`` * HTTP POST requests are run against ``tests/suites/suite/post/*.xml`` -* HTTP GET requests are run against each request in ``tests/suites/suite/get/requests.txt`` +* HTTP GET requests are run against each request in + ``tests/suites/suite/get/requests.txt`` -The CSV format of ``tests/suites/suite/get/requests.txt`` is ``testname,request``, with one line for each test. The ``testname`` value is a unique test name (this value sets the name of the output file in the test results). The ``request`` value is the HTTP GET request. The ``PYCSW_SERVER`` token is replaced at runtime with the URL to the pycsw install. +The CSV format of ``tests/suites/suite/get/requests.txt`` is +``testname,request``, with one line for each test. The ``testname`` value +is a unique test name (this value sets the name of the output file in the +test results). The ``request`` value is the HTTP GET request. The +``PYCSW_SERVER`` token is replaced at runtime with the URL to the pycsw +install. Adding New Tests ^^^^^^^^^^^^^^^^ @@ -65,7 +162,8 @@ Adding New Tests To add tests to an existing suite: * for HTTP POST tests, add XML documents to ``tests/suites/suite/post`` -* for HTTP GET tests, add tests (one per line) to ``tests/suites/suite/get/requests.txt`` +* for HTTP GET tests, add tests (one per line) to + ``tests/suites/suite/get/requests.txt`` * run ``paver test`` To add a new test suite: @@ -74,19 +172,27 @@ To add a new test suite: * create a new configuration in ``tests/suites/foo/default.cfg`` * Ensure that all file paths are relative to ``path/to/pycsw`` - * Ensure that ``repository.database`` points to an SQLite3 database called ``tests/suites/foo/data/records.db``. The database *must* be called ``records.db`` and the directory ``tests/suites/foo/data`` *must* exist + * Ensure that ``repository.database`` points to an SQLite3 database + called ``tests/suites/foo/data/records.db``. The database *must* be + called ``records.db`` and the directory ``tests/suites/foo/data`` + *must* exist * populate HTTP POST requests in ``tests/suites/foo/post`` * populate HTTP GET requests in ``tests/suites/foo/get/requests.txt`` -* if the testsuite requires test data, create ``tests/suites/foo/data`` are store XML file there -* run ``paver test`` (or ``paver test -s foo`` to test only the new test suite) +* if the testsuite requires test data, create ``tests/suites/foo/data`` are + store XML file there +* run ``paver test`` (or ``paver test -s foo`` to test only the new test + suite) -The new test suite database will be created automatically and used as part of tests. +The new test suite database will be created automatically and used as part of +tests. Web Testing ^^^^^^^^^^^ -You can also use the pycsw tests via your web browser to perform sample requests against your pycsw install. The tests are is located in ``tests/``. To generate the HTML page: +You can also use the pycsw tests via your web browser to perform sample +requests against your pycsw install. The tests are is located in +``tests/``. To generate the HTML page: .. code-block:: bash @@ -94,6 +200,4 @@ You can also use the pycsw tests via your web browser to perform sample requests Then navigate to ``http://host/path/to/pycsw/tests/index.html``. -.. _`Compliance & Interoperability Testing & Evaluation Initiative`: http://cite.opengeospatial.org/ -.. _`Travis CI`: http://travis-ci.org/geopython/pycsw .. _`Paver`: http://paver.github.io/paver/ diff --git a/tests/conftest.py b/tests/conftest.py index 795fe981a..d3c238f55 100644 --- a/tests/conftest.py +++ b/tests/conftest.py @@ -88,30 +88,33 @@ def pytest_generate_tests(metafunc): """ - expected_dir = os.path.join(TESTS_ROOT, "expected") + test_name_get_matches = ( + metafunc.function.__name__ == "test_get_requests") + test_name_post_matches = ( + metafunc.function.__name__ == "test_post_requests") for suite_name in FUNCTIONAL_SUITES.keys(): safe_suite_name = _get_suite_safe_name(suite_name) fixture_name = "server_{0}_suite".format(safe_suite_name) - uses_fixture = fixture_name in metafunc.fixturenames - test_name_post = "test_post_requests" - test_name_get = "test_get_requests" - test_name_get_matches = metafunc.function.__name__ == test_name_get - test_name_post_matches = metafunc.function.__name__ == test_name_post - if uses_fixture and test_name_post_matches: - test_data, test_names = _configure_functional_post_tests( - expected_dir, safe_suite_name) + if fixture_name in metafunc.fixturenames and test_name_get_matches: + test_data, test_names = _configure_functional_get_tests(suite_name) metafunc.parametrize( - ["test_request", "expected_result"], + [ + "{0}_test_request_parameters".format(safe_suite_name), + "{0}_expected_get_result".format(safe_suite_name) + ], test_data, ids=test_names, scope="session" ) break - elif uses_fixture and test_name_get_matches: - test_data, test_names = _configure_functional_get_tests( - expected_dir, suite_name) + elif fixture_name in metafunc.fixturenames and test_name_post_matches: + test_data, test_names = _configure_functional_post_tests( + suite_name) metafunc.parametrize( - ["test_request_parameters", "expected_result"], + [ + "{0}_test_request".format(safe_suite_name), + "{0}_expected_post_result".format(safe_suite_name) + ], test_data, ids=test_names, scope="session" @@ -215,36 +218,33 @@ def server_utf_8_suite(request, tmpdir_factory): tmpdir_factory, 8025) -def _configure_functional_post_tests(expected_dir, suite_name): +def _configure_functional_post_tests(suite_name): test_data = [] test_names = [] suite_dir = os.path.join(TESTS_ROOT, "suites", suite_name) post_requests_dir = os.path.join(suite_dir, "post") + expected_dir = os.path.join(suite_dir, "expected") for item in glob.iglob(os.path.join(post_requests_dir, "*")): test_id = os.path.splitext(os.path.basename(item))[0] - expected = os.path.join( - expected_dir, - "suites_{0}_post_{1}.xml".format(suite_name, test_id) - ) + expected = os.path.join(expected_dir,"post_{0}.xml".format(test_id)) if os.path.isfile(item) and os.path.isfile(expected): test_data.append((item, expected)) test_names.append("{0}_{1}".format(suite_name, test_id)) return test_data, test_names -def _configure_functional_get_tests(expected_dir, suite_name): +def _configure_functional_get_tests(suite_name): test_data = [] test_names = [] request_file_path = os.path.join(TESTS_ROOT, "suites", suite_name, "get", "requests.txt") + expected_dir = os.path.join(TESTS_ROOT, "suites", suite_name, "expected") try: with open(request_file_path, encoding="utf-8") as fh: for line in fh: test_name, sep, test_params = line.partition(",") - expected = os.path.join( - expected_dir, - "suites_{0}_get_{1}.xml".format(suite_name, test_name) - ) + expected = os.path.join(expected_dir, + "get_{0}.xml".format(test_name)) if os.path.isfile(expected): test_data.append((test_params.strip(), expected)) test_names.append("{0}_{1}".format(suite_name, test_name)) @@ -286,7 +286,8 @@ def _get_server_with_config(request, suite_name, tmpdir_factory, port_number): url = request.config.getoption("--server-url-{0}-suite".format(suite_name)) if url is None: - print("Initializing server for {0!r} suite...".format(suite_name)) + print("Initializing server for {0!r} suite at port " + "{1!r}...".format(suite_name, port_number)) original_config_path = os.path.join(TESTS_ROOT, "suites", suite_name, "default.cfg") config = ConfigParser() @@ -300,6 +301,11 @@ def _get_server_with_config(request, suite_name, tmpdir_factory, port_number): os.path.join(TESTS_ROOT, "suites", suite_name, "data") ) # now we can change the config as needed + #server_url = "http://localhost:{0}".format(port_number) + #config.set("server", "url", server_url) + config.set("server", "loglevel", "DEBUG") + config.set("server", "logfile", os.path.join(test_temp_directory, + "pycsw.log")) config.set("repository", "database", db_url) new_config = test_temp_directory.join("default.cfg") fh = new_config.open("w") @@ -387,18 +393,20 @@ def _start_local_server(request, config_path, port_number): """ - command = "python pycsw/wsgi.py {}".format(port_number) + url = "http://localhost:{0}".format(port_number) + print("Starting a local server at {0}...".format(url)) + command = "python pycsw/wsgi.py {0}".format(port_number) working_dir = os.path.dirname(TESTS_ROOT) env = os.environ.copy() env["PYCSW_CONFIG"] = config_path pycsw_process = subprocess.Popen(shlex.split(command), cwd=working_dir, stdout=subprocess.PIPE, env=env) - time.sleep(3) # give the external process some time to start + time.sleep(2) # give the external process some time to start def finalizer(): pycsw_process.terminate() pycsw_process.wait() request.addfinalizer(finalizer) - return "http://localhost:{}".format(port_number) + return url diff --git a/tests/test_suites.py b/tests/test_suites.py index 536993d75..2b439f33d 100644 --- a/tests/test_suites.py +++ b/tests/test_suites.py @@ -41,6 +41,7 @@ from lxml import objectify import re from urllib.parse import parse_qs +from urllib.parse import unquote import pytest import requests @@ -52,174 +53,257 @@ class TestApisoSuite(object): - def test_post_requests(self, server_apiso_suite, test_request, - expected_result): - _test_post_request(server_apiso_suite, test_request, expected_result) + def test_post_requests(self, + server_apiso_suite, + apiso_test_request, + apiso_expected_post_result): + _test_post_request(server_apiso_suite, + apiso_test_request, + apiso_expected_post_result) class TestApisoInspireSuite(object): - def test_get_requests(self, server_apiso_inspire_suite, - test_request_parameters, expected_result): - print("test_request_parameters: {}".format(test_request_parameters)) - _test_get_request(server_apiso_inspire_suite, test_request_parameters, - expected_result) + def test_get_requests(self, + server_apiso_inspire_suite, + apiso_inspire_test_request_parameters, + apiso_inspire_expected_get_result): + _test_get_request(server_apiso_inspire_suite, + apiso_inspire_test_request_parameters, + apiso_inspire_expected_get_result) class TestAtomSuite(object): - def test_post_requests(self, server_atom_suite, test_request, - expected_result): - _test_post_request(server_atom_suite, test_request, expected_result) + def test_post_requests(self, + server_atom_suite, + atom_test_request, + atom_expected_post_result): + _test_post_request(server_atom_suite, + atom_test_request, + atom_expected_post_result) def test_get_requests(self, server_atom_suite, - test_request_parameters, expected_result): - _test_get_request(server_atom_suite, test_request_parameters, - expected_result) + atom_test_request_parameters, + atom_expected_get_result): + _test_get_request(server_atom_suite, + atom_test_request_parameters, + atom_expected_get_result) class TestCiteSuite(object): - def test_post_requests(self, server_cite_suite, test_request, - expected_result): - _test_post_request(server_cite_suite, test_request, expected_result) + def test_post_requests(self, server_cite_suite, cite_test_request, + cite_expected_post_result): + _test_post_request(server_cite_suite, cite_test_request, + cite_expected_post_result) def test_get_requests(self, server_cite_suite, - test_request_parameters, expected_result): - _test_get_request(server_cite_suite, test_request_parameters, - expected_result) + cite_test_request_parameters, + cite_expected_get_result): + print("locals: {0}".format(locals())) + _test_get_request(server_cite_suite, cite_test_request_parameters, + cite_expected_get_result) class TestCsw30Suite(object): - def test_post_requests(self, server_csw30_suite, test_request, - expected_result): - _test_post_request(server_csw30_suite, test_request, expected_result) + def test_post_requests(self, + server_csw30_suite, + csw30_test_request, + csw30_expected_post_result): + _test_post_request(server_csw30_suite, + csw30_test_request, + csw30_expected_post_result) def test_get_requests(self, server_csw30_suite, - test_request_parameters, expected_result): - _test_get_request(server_csw30_suite, test_request_parameters, - expected_result) + csw30_test_request_parameters, + csw30_expected_get_result): + _test_get_request(server_csw30_suite, + csw30_test_request_parameters, + csw30_expected_get_result) class TestDefaultSuite(object): - def test_post_requests(self, server_default_suite, test_request, - expected_result): - _test_post_request(server_default_suite, test_request, expected_result) + def test_post_requests(self, + server_default_suite, + default_test_request, + default_expected_post_result): + _test_post_request(server_default_suite, + default_test_request, + default_expected_post_result) - def test_get_requests(self, server_default_suite, test_request_parameters, - expected_result): - _test_get_request(server_default_suite, test_request_parameters, - expected_result) + def test_get_requests(self, + server_default_suite, + default_test_request_parameters, + default_expected_get_result): + _test_get_request(server_default_suite, + default_test_request_parameters, + default_expected_get_result) class TestDifSuite(object): - def test_post_requests(self, server_dif_suite, test_request, - expected_result): - _test_post_request(server_dif_suite, test_request, expected_result) + def test_post_requests(self, + server_dif_suite, + dif_test_request, + dif_expected_post_result): + _test_post_request(server_dif_suite, + dif_test_request, + dif_expected_post_result) class TestEbrimSuite(object): - def test_post_requests(self, server_ebrim_suite, test_request, - expected_result): - _test_post_request(server_ebrim_suite, test_request, expected_result) + def test_post_requests(self, server_ebrim_suite, + ebrim_test_request, + ebrim_expected_post_result): + _test_post_request(server_ebrim_suite, + ebrim_test_request, + ebrim_expected_post_result) class TestFgdcSuite(object): - def test_post_requests(self, server_fgdc_suite, test_request, - expected_result): - _test_post_request(server_fgdc_suite, test_request, expected_result) + def test_post_requests(self, + server_fgdc_suite, + fgdc_test_request, + fgdc_expected_post_result): + _test_post_request(server_fgdc_suite, + fgdc_test_request, + fgdc_expected_post_result) class TestGm03Suite(object): - def test_post_requests(self, server_gm03_suite, test_request, - expected_result): - _test_post_request(server_gm03_suite, test_request, expected_result) + def test_post_requests(self, + server_gm03_suite, + gm03_test_request, + gm03_expected_post_result): + _test_post_request(server_gm03_suite, + gm03_test_request, + gm03_expected_post_result) class TestHarvestingSuite(object): - def test_post_requests(self, server_harvesting_suite, test_request, - expected_result): - _test_post_request(server_harvesting_suite, test_request, - expected_result) + def test_post_requests(self, + server_harvesting_suite, + harvesting_test_request, + harvesting_expected_post_result): + _test_post_request(server_harvesting_suite, + harvesting_test_request, + harvesting_expected_post_result) - def test_get_requests(self, server_harvesting_suite, - test_request_parameters, expected_result): - _test_get_request(server_harvesting_suite, test_request_parameters, - expected_result) + def test_get_requests(self, + server_harvesting_suite, + harvesting_test_request_parameters, + harvesting_expected_get_result): + _test_get_request(server_harvesting_suite, + harvesting_test_request_parameters, + harvesting_expected_get_result) class TestManagerSuite(object): - def test_post_requests(self, server_manager_suite, test_request, - expected_result): - _test_post_request(server_manager_suite, test_request, expected_result) + def test_post_requests(self, + server_manager_suite, + manager_test_request, + manager_expected_post_result): + _test_post_request(server_manager_suite, + manager_test_request, + manager_expected_post_result) class TestOaipmhSuite(object): - def test_get_requests(self, server_oaipmh_suite, test_request_parameters, - expected_result): - _test_get_request(server_oaipmh_suite, test_request_parameters, - expected_result) + def test_get_requests(self, server_oaipmh_suite, + oaipmh_test_request_parameters, + oaipmh_expected_get_result): + _test_get_request(server_oaipmh_suite, + oaipmh_test_request_parameters, + oaipmh_expected_get_result) + class TestRepofilterSuite(object): - def test_post_requests(self, server_repofilter_suite, test_request, - expected_result): - _test_post_request(server_repofilter_suite, test_request, - expected_result) + def test_post_requests(self, + server_repofilter_suite, + repofilter_test_request, + repofilter_expected_post_result): + _test_post_request(server_repofilter_suite, + repofilter_test_request, + repofilter_expected_post_result) class TestSruSuite(object): - def test_get_requests(self, server_sru_suite, test_request_parameters, - expected_result): - _test_get_request(server_sru_suite, test_request_parameters, - expected_result) + def test_get_requests(self, + server_sru_suite, + sru_test_request_parameters, + sru_expected_get_result): + _test_get_request(server_sru_suite, + sru_test_request_parameters, + sru_expected_get_result) class TestUtf8Suite(object): - def test_post_requests(self, server_utf_8_suite, test_request, - expected_result): - _test_post_request(server_utf_8_suite, test_request, expected_result) + def test_post_requests(self, + server_utf_8_suite, + utf_8_test_request, + utf_8_expected_post_result): + _test_post_request(server_utf_8_suite, + utf_8_test_request, + utf_8_expected_post_result) def _test_post_request(pycsw_server_url, test_request, expected_result): with open(test_request, encoding=ENCODING) as request_fh: request_data = request_fh.read() + response = requests.post(pycsw_server_url, + data=bytes(request_data, ENCODING)) with open(expected_result, encoding=ENCODING) as expected_fh: expected = expected_fh.read() - response = requests.post(pycsw_server_url, - data=request_data) _compare_response(response, expected) def _test_get_request(pycsw_server_url, parameters, expected_result): + print("**********************") + print("EXPECTED_RESULT: {0}".format(expected_result)) + print("PARAMETERS: {0}".format(parameters)) + print("**********************") with open(expected_result, encoding=ENCODING) as expected_fh: expected = expected_fh.read() - payload = parse_qs(parameters) - print("payload: {}".format(payload)) - response = requests.get(pycsw_server_url, params=payload) + #payload = parse_qs(bytes(parameters, ENCODING)) + #payload = parse_qs(parameters) + payload = {} + for kvp in parameters.split("&"): + print("kvp: {}".format(kvp)) + parts = kvp.split("=") + payload[parts[0].lower()] = unquote(parts[1]) if len(parts) > 1 else "" + #payload[parts[0].lower()] = parts[1] if len(parts) > 1 else "" + print("payload: {0}".format(payload)) + request_headers = {} + if "outputformat" in payload.keys(): + request_headers.setdefault("Accept", payload["outputformat"]) + response = requests.get(pycsw_server_url, params=payload, + headers=request_headers) _compare_response(response, expected) def _compare_response(response, expected): + response.encoding = ENCODING response_data = response.text normalized_result = _normalize(response_data, force_id_mask=False) - print("expected: {0}".format(expected)) - print("response: {0}".format(normalized_result)) try: matches_expected = _test_xml_result(normalized_result, expected) except etree.XMLSyntaxError: # the file is either not XML (perhaps JSON?) or malformed matches_expected = _test_json_result(normalized_result, expected) + if not matches_expected: + print("expected: {0}".format(expected)) + print("response: {0}".format(normalized_result)) assert matches_expected From 1ab35ea465404f9a7ecb7849e50012cffe7a667a Mon Sep 17 00:00:00 2001 From: Ricardo Garcia Silva Date: Sat, 5 Nov 2016 15:18:41 +0000 Subject: [PATCH 090/119] added pycharm's project files to gitignore --- .gitignore | 3 +++ 1 file changed, 3 insertions(+) diff --git a/.gitignore b/.gitignore index a30ade7c4..a443b4db4 100644 --- a/.gitignore +++ b/.gitignore @@ -15,3 +15,6 @@ tests/results # test repositories data + +# pycharm ide +.idea From 95253b4d564e980ffd2298651337f650db4f2a80 Mon Sep 17 00:00:00 2001 From: Ricardo Garcia Silva Date: Wed, 16 Nov 2016 17:45:06 +0000 Subject: [PATCH 091/119] refactored the implementation Removed a lot of boiler plate code, simplifying things --- .gitignore | 5 +- docs/testing.rst | 144 +++++- requirements-dev.txt | 2 + tests/conftest.py | 416 ++-------------- tests/functionaltests/conftest.py | 277 +++++++++++ .../functionaltests/test_suites_functional.py | 267 ++++++++++ tests/test_suites.py | 456 ------------------ 7 files changed, 726 insertions(+), 841 deletions(-) create mode 100644 tests/functionaltests/conftest.py create mode 100644 tests/functionaltests/test_suites_functional.py delete mode 100644 tests/test_suites.py diff --git a/.gitignore b/.gitignore index a443b4db4..ac267ca17 100644 --- a/.gitignore +++ b/.gitignore @@ -9,12 +9,11 @@ MANIFEST # testing artifacts tests/index.html tests/results +**.cache +.coverage # test configurations /default.cfg -# test repositories -data - # pycharm ide .idea diff --git a/docs/testing.rst b/docs/testing.rst index 40dcdfa49..b17a3b4f3 100644 --- a/docs/testing.rst +++ b/docs/testing.rst @@ -38,7 +38,7 @@ that pycsw works as expected. Each test follows the same workflow: -* Setup a local pycsw instance with a custom configuration and data repository +* Instantiate a pycsw instance with a custom configuration and data repository for each suite of tests; * Perform a series of GET and POST requests to the running pycsw instance; @@ -48,17 +48,28 @@ Each test follows the same workflow: otherwise it fails. -A number of different test suites exist under ``tests/suites``. Each suite -specifies the following structure: +A number of different test suites exist under ``tests/functionaltests/suites``. +Each suite specifies the following structure: * A mandatory ``default.cfg`` file with the pycsw configuration that must be - used by the test suite + used by the test suite; * A mandatory ``expected/`` directory containing the expected results for each request * An optional ``data/`` directory that contains ``.xml`` files with testing - data that is to be loaded into the suite's database before running the tests + data that is to be loaded into the suite's database before running the tests. + The presence of this directory and its contents have the following meaning + for tests: + + * If ``data/`` directory is present and contains files, they will be loaded + into a new database for running the tests of the suite; + + * If ``data/`` directory is present and does not contain any data files, a + new empty database is used in the tests; + + * If ``data/`` directory is absent, the suite will use a database populated + with test data from the CITE suite. * An optional ``get/requests.txt`` file that holds request parameters used for making HTTP GET requests. @@ -77,10 +88,133 @@ specifies the following structure: * An optional ``post/`` directory that holds ``.xml`` files used for making HTTP POST requests +Test identifiers +^^^^^^^^^^^^^^^^ + +Each test has an identifier that is built using the following rule: + + [__] + +For example: + + test_suites[default_post_GetRecords-end] .. _functional tests: https://en.wikipedia.org/wiki/Functional_testing +Running tests +------------- + +Since pycsw uses `pytest`_, tests are run with the ``py.test`` runner. A basic +test run can be made with: + +.. code:: bash + + py.test + +This command will run all tests and report on the number of successes, failures +and also the time it took to run them. The `py.test` command accepts several +additional parameters that can be used in order to customize the execution of +tests. Look into `pytest's invocation documentation`_ for a more complete +description. You can also get a description of the available parameters by +running: + +.. code:: bash + + py.test --help + +.. _pytest's invocation documentation: http://docs.pytest.org/en/latest/usage.html + + +Running specific suites and test cases +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +Use the `-k name expression` flag to select which tests to run. Since each +test's name includes the suite name, http method and an identifier for the +test, it is easy to run only certain tests. + +.. code:: bash + + py.test -k "apiso and GetRecords" # run only tests from the `apiso` suite that have `GetRecords` in their name + py.test -k "post and GetRecords" # run only tests that use HTTP POST and `GetRecords` in their name + py.test -k "not harvesting" # run all tests except those from the `harvesting` suite + + + +Exiting fast +^^^^^^^^^^^^ + +The `--exitfirst` (or `-x`) flag can be used to stop the test runner +immediately if some test case fails. + +.. code:: bash + + py.test --exitfirst + + +Seeing more output +^^^^^^^^^^^^^^^^^^ + +There are three main ways to get more output from running tests: + +* The `--verbose` (or `-v`) flag + +* The `--capture=no` flag - Messages sent to stdout by a test are not + suppressed; + +* The `--pycsw-loglevel` flag - Sets the log level of the pycsw instance under + test. Set this value to `debug` in order to see all debug messages sent by + pycsw while processing a request + + +.. code:: bash + + py.test --verbose + py.test --pycsw-loglevel=debug + py.test --capture=no --pycsw-loglevel=debug + + +Test coverage +^^^^^^^^^^^^^ + +Use the `--cov pycsw` flag in order to see information on code coverage. It is +possible to get output in a variety of formats. + +.. code:: bash + + py.test --cov pycsw + + +Specifying a timeout for tests +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +The `--timeout ` option can be used to specify that if a test takes +more than `` to run it is considered to have failed. Seconds can be +a float, so it is possibe to specify sub-second timeouts + +.. code:: bash + + py.test --timeout=1.5 + + +Linting with flake8 +^^^^^^^^^^^^^^^^^^^ + +Use the `--flake8` flag to also check if the code complies with Python's style +guide + +.. code:: bash + + py.test --flake8 + + +Running tests against a remote server +------------------------------------- + +TBD + + + Running tests locally --------------------- diff --git a/requirements-dev.txt b/requirements-dev.txt index 6a9fc46a7..9ca8ca353 100644 --- a/requirements-dev.txt +++ b/requirements-dev.txt @@ -1,4 +1,6 @@ Paver==1.2.4 pytest==2.9.1 +pytest-cov==2.4.0 +pytest-timeout==1.2.0 requests==2.10.0 sphinx diff --git a/tests/conftest.py b/tests/conftest.py index d3c238f55..4295d53f1 100644 --- a/tests/conftest.py +++ b/tests/conftest.py @@ -1,53 +1,45 @@ +# ================================================================= +# +# Authors: Ricardo Garcia Silva +# +# Copyright (c) 2016 Ricardo Garcia Silva +# +# Permission is hereby granted, free of charge, to any person +# obtaining a copy of this software and associated documentation +# files (the "Software"), to deal in the Software without +# restriction, including without limitation the rights to use, +# copy, modify, merge, publish, distribute, sublicense, and/or sell +# copies of the Software, and to permit persons to whom the +# Software is furnished to do so, subject to the following +# conditions: +# +# The above copyright notice and this permission notice shall be +# included in all copies or substantial portions of the Software. +# +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +# EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES +# OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +# NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT +# HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, +# WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR +# OTHER DEALINGS IN THE SOFTWARE. +# +# ================================================================= """pytest configuration file""" -from configparser import ConfigParser -import glob -import os -import subprocess -import shlex -import time - import pytest -from pycsw.core import admin -from pycsw.core.config import StaticContext - -TESTS_ROOT = os.path.dirname(os.path.abspath(__file__)) - - -# This dict holds the names of the suites that are available for functional -# testing and also if they use a custom database or not. If a suite has a -# custom database, then a new db is created and possibly loaded with the suite's -# test data (if there is any test data). If a suite does not use a custom db, -# then it means that its tests it will have a database loaded with records -# from the CITE suite -# If you omit the "has_own_db" key from a suite's dict, it is assumed that -# the value is False -FUNCTIONAL_SUITES = { - "apiso": {"has_own_db": True}, - "apiso-inspire": {}, - "atom": {}, - "cite": {"has_own_db": True}, - "csw30": {}, - "default": {}, - "dif": {}, - "ebrim": {}, - "fgdc": {}, - "gm03": {}, - "harvesting": {"has_own_db": True}, - "manager": {"has_own_db": True}, - "oaipmh": {}, - "repofilter": {}, - "sru": {}, - "utf-8": {}, -} - def pytest_configure(config): config.addinivalue_line( "markers", "functional: Run only functional tests" ) + config.addinivalue_line( + "markers", + "unit: Run only unit tests" + ) def pytest_addoption(parser): @@ -69,344 +61,14 @@ def pytest_addoption(parser): help="Password to use for creating and accessing local postgres " "databases used for functional tests." ) - for suite_name in FUNCTIONAL_SUITES.keys(): - parser.addoption( - "--server-url-{0}-suite".format(suite_name), - help="URL to perform functional tests for the {0!r} suite. If not " - "specified, a local pycsw instance is spawned, configured " - "with the {0!r} suite settings and used " - "in tests.".format(suite_name) - ) - - -def pytest_generate_tests(metafunc): - """Parametrize tests programatically. - - Check pytest's documentation for information on this function: - - http://pytest.org/latest/parametrize.html#basic-pytest-generate-tests-example - - """ - - test_name_get_matches = ( - metafunc.function.__name__ == "test_get_requests") - test_name_post_matches = ( - metafunc.function.__name__ == "test_post_requests") - for suite_name in FUNCTIONAL_SUITES.keys(): - safe_suite_name = _get_suite_safe_name(suite_name) - fixture_name = "server_{0}_suite".format(safe_suite_name) - if fixture_name in metafunc.fixturenames and test_name_get_matches: - test_data, test_names = _configure_functional_get_tests(suite_name) - metafunc.parametrize( - [ - "{0}_test_request_parameters".format(safe_suite_name), - "{0}_expected_get_result".format(safe_suite_name) - ], - test_data, - ids=test_names, - scope="session" - ) - break - elif fixture_name in metafunc.fixturenames and test_name_post_matches: - test_data, test_names = _configure_functional_post_tests( - suite_name) - metafunc.parametrize( - [ - "{0}_test_request".format(safe_suite_name), - "{0}_expected_post_result".format(safe_suite_name) - ], - test_data, - ids=test_names, - scope="session" - ) - break - - -@pytest.fixture(scope="session") -def server_apiso_suite(request, tmpdir_factory): - return _get_server_with_config(request, "apiso", - tmpdir_factory, 8010) - - -@pytest.fixture(scope="session") -def server_apiso_inspire_suite(request, tmpdir_factory): - return _get_server_with_config(request, "apiso-inspire", - tmpdir_factory, 8011) - - -@pytest.fixture(scope="session") -def server_atom_suite(request, tmpdir_factory): - return _get_server_with_config(request, "atom", - tmpdir_factory, 8012) - - -@pytest.fixture(scope="session") -def server_cite_suite(request, tmpdir_factory): - return _get_server_with_config(request, "cite", - tmpdir_factory, 8013) - - -@pytest.fixture(scope="session") -def server_csw30_suite(request, tmpdir_factory): - return _get_server_with_config(request, "csw30", - tmpdir_factory, 8014) - - -@pytest.fixture(scope="session") -def server_default_suite(request, tmpdir_factory): - return _get_server_with_config(request, "default", - tmpdir_factory, 8015) - - -@pytest.fixture(scope="session") -def server_dif_suite(request, tmpdir_factory): - return _get_server_with_config(request, "dif", - tmpdir_factory, 8016) - - -@pytest.fixture(scope="session") -def server_ebrim_suite(request, tmpdir_factory): - return _get_server_with_config(request, "ebrim", - tmpdir_factory, 8017) - - -@pytest.fixture(scope="session") -def server_fgdc_suite(request, tmpdir_factory): - return _get_server_with_config(request, "fgdc", - tmpdir_factory, 8018) - - -@pytest.fixture(scope="session") -def server_gm03_suite(request, tmpdir_factory): - return _get_server_with_config(request, "gm03", - tmpdir_factory, 8019) - - -@pytest.fixture(scope="session") -def server_harvesting_suite(request, tmpdir_factory): - return _get_server_with_config(request, "harvesting", - tmpdir_factory, 8020) - - -@pytest.fixture(scope="session") -def server_manager_suite(request, tmpdir_factory): - return _get_server_with_config(request, "manager", - tmpdir_factory, 8021) - - -@pytest.fixture(scope="session") -def server_oaipmh_suite(request, tmpdir_factory): - return _get_server_with_config(request, "oaipmh", - tmpdir_factory, 8022) - - -@pytest.fixture(scope="session") -def server_repofilter_suite(request, tmpdir_factory): - return _get_server_with_config(request, "repofilter", - tmpdir_factory, 8023) - - -@pytest.fixture(scope="session") -def server_sru_suite(request, tmpdir_factory): - return _get_server_with_config(request, "sru", - tmpdir_factory, 8024) + parser.addoption( + "--pycsw-loglevel", + default="warning", + help="Log level for the pycsw server." + ) @pytest.fixture(scope="session") -def server_utf_8_suite(request, tmpdir_factory): - return _get_server_with_config(request, "utf-8", - tmpdir_factory, 8025) - - -def _configure_functional_post_tests(suite_name): - test_data = [] - test_names = [] - suite_dir = os.path.join(TESTS_ROOT, "suites", suite_name) - post_requests_dir = os.path.join(suite_dir, "post") - expected_dir = os.path.join(suite_dir, "expected") - for item in glob.iglob(os.path.join(post_requests_dir, "*")): - test_id = os.path.splitext(os.path.basename(item))[0] - expected = os.path.join(expected_dir,"post_{0}.xml".format(test_id)) - if os.path.isfile(item) and os.path.isfile(expected): - test_data.append((item, expected)) - test_names.append("{0}_{1}".format(suite_name, test_id)) - return test_data, test_names - - -def _configure_functional_get_tests(suite_name): - test_data = [] - test_names = [] - request_file_path = os.path.join(TESTS_ROOT, "suites", suite_name, - "get", "requests.txt") - expected_dir = os.path.join(TESTS_ROOT, "suites", suite_name, "expected") - try: - with open(request_file_path, encoding="utf-8") as fh: - for line in fh: - test_name, sep, test_params = line.partition(",") - expected = os.path.join(expected_dir, - "get_{0}.xml".format(test_name)) - if os.path.isfile(expected): - test_data.append((test_params.strip(), expected)) - test_names.append("{0}_{1}".format(suite_name, test_name)) - except FileNotFoundError: - pass # this suite does not have GET tests - return test_data, test_names - - -def _get_suite_safe_name(suite_name): - return suite_name.replace("-", "_") - - -def _get_server_with_config(request, suite_name, tmpdir_factory, port_number): - """Provide a pycsw server to execute tests for the input suite name - - This function introspects the test context. If tests are to be run against - a user-provided url, it does nothing. If there is no user-provided url, - a new pycsw instance is created locally and its URL is returned. - - Parameters - ---------- - request: FixtureRequest - Pytest's FixtureRequest object, holding information about the test - context - suite_name: str - The safe name of the current suite - tmpdir_factory: TempDirFactory - Pytest's TempDirFactory fixture object, that is used to create - temporary directories for tests - port_number: int - Port where a local server shall be started for the input suite_name - - Returns - ------- - str - The pycsw URL that can be used in tests for the input suite_name - - """ - - url = request.config.getoption("--server-url-{0}-suite".format(suite_name)) - if url is None: - print("Initializing server for {0!r} suite at port " - "{1!r}...".format(suite_name, port_number)) - original_config_path = os.path.join(TESTS_ROOT, "suites", - suite_name, "default.cfg") - config = ConfigParser() - config.read(original_config_path) - #safe_suite_name = _get_suite_safe_name(suite_name) - test_temp_directory = tmpdir_factory.mktemp(suite_name, - numbered=True) - db_url = _initialize_database( - request, suite_name, test_temp_directory, - config.get("repository", "table"), - os.path.join(TESTS_ROOT, "suites", suite_name, "data") - ) - # now we can change the config as needed - #server_url = "http://localhost:{0}".format(port_number) - #config.set("server", "url", server_url) - config.set("server", "loglevel", "DEBUG") - config.set("server", "logfile", os.path.join(test_temp_directory, - "pycsw.log")) - config.set("repository", "database", db_url) - new_config = test_temp_directory.join("default.cfg") - fh = new_config.open("w") - config.write(fh) - fh.close() - server_url = _start_local_server(request, str(new_config), port_number) - else: # use the provided url and assume the config has been set - server_url = url - return server_url - - -def _initialize_database(request, suite_name, test_dir, table_name, data_path): - """Initialize local database for functional tests. - - This function will: - - * Configure the correct database url - * Create the database - * Load any test data that the suite may require - - Parameters - ---------- - request: FixtureRequest - Pytest's FixtureRequest object, holding information about the test - context - suite_name: str - The name of the current suite - test_dir: str - Full path to the temporary directory being used in the suite's tests - data_path: str - Full path to a directory that has test data to be loaded up into - the suite's database - - Returns - ------- - str - The SQLAlchemy engine URL for the database. - - """ - - db_type = request.config.getoption("--database-backend") - if db_type == "sqlite": - db_url = "sqlite:///{0}/records.db".format(test_dir) - elif db_type == "postgres": - user = request.config.getoption("--database-user-postgres") - password = request.config.getoption("--database-password-postgres") - db_url = "postgres://{0}:{1}@localhost/pycsw_test_{2}".format( - user, password, suite_name) - else: - raise NotImplementedError - print("Setting up {0!r} database for suite {1!r}...".format(db_type, - suite_name)) - admin.setup_db(db_url, table_name, test_dir) - print("Loading database data...") - if not FUNCTIONAL_SUITES[suite_name].get("has_own_db", False): - print("Loading CITE data into database...") - cite_data_dir = os.path.join(TESTS_ROOT, "suites", "cite", "data") - data_path = cite_data_dir - admin.load_records(StaticContext(), db_url, table_name, data_path) - return db_url - - -def _start_local_server(request, config_path, port_number): - """Start a local pycsw instance - - This function starts a new pycsw instance and also - registers a pytest finalizer function that takes care of stopping the - server when the tests are finished. - - Parameters - ---------- - - request: FixtureRequest - Pytest's FixtureRequest object, holding information about the test - context - config_path: str - Full path to pycsw's configuration file - port_number: int - Port where the server will be listening - - Returns - ------- - str - The URL of the newly started pycsw instance - - """ - - url = "http://localhost:{0}".format(port_number) - print("Starting a local server at {0}...".format(url)) - command = "python pycsw/wsgi.py {0}".format(port_number) - working_dir = os.path.dirname(TESTS_ROOT) - env = os.environ.copy() - env["PYCSW_CONFIG"] = config_path - pycsw_process = subprocess.Popen(shlex.split(command), cwd=working_dir, - stdout=subprocess.PIPE, - env=env) - time.sleep(2) # give the external process some time to start - - def finalizer(): - pycsw_process.terminate() - pycsw_process.wait() +def log_level(request): + return request.config.getoption("pycsw_loglevel").upper() - request.addfinalizer(finalizer) - return url diff --git a/tests/functionaltests/conftest.py b/tests/functionaltests/conftest.py new file mode 100644 index 000000000..addc7e035 --- /dev/null +++ b/tests/functionaltests/conftest.py @@ -0,0 +1,277 @@ +# ================================================================= +# +# Authors: Ricardo Garcia Silva +# +# Copyright (c) 2016 Ricardo Garcia Silva +# +# Permission is hereby granted, free of charge, to any person +# obtaining a copy of this software and associated documentation +# files (the "Software"), to deal in the Software without +# restriction, including without limitation the rights to use, +# copy, modify, merge, publish, distribute, sublicense, and/or sell +# copies of the Software, and to permit persons to whom the +# Software is furnished to do so, subject to the following +# conditions: +# +# The above copyright notice and this permission notice shall be +# included in all copies or substantial portions of the Software. +# +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +# EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES +# OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +# NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT +# HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, +# WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR +# OTHER DEALINGS IN THE SOFTWARE. +# +# ================================================================= +"""pytest configuration file for functional tests""" + +import codecs +from collections import namedtuple +import os +from six.moves import configparser + +import pytest + +from pycsw.core import admin +from pycsw.core.config import StaticContext + +TESTS_ROOT = os.path.dirname(os.path.dirname(os.path.abspath(__file__))) + + +SuiteDirs = namedtuple("SuiteDirs", [ + "get_tests_dir", + "post_tests_dir", + "data_tests_dir", + "expected_results_dir", +]) + + + +def pytest_generate_tests(metafunc): + """Parametrize tests programatically. + + Check pytest's documentation for information on this function: + + http://pytest.org/latest/parametrize.html#basic-pytest-generate-tests-example + + """ + + global TESTS_ROOT + if metafunc.function.__name__ == "test_suites": + suites_root_dir = os.path.join(TESTS_ROOT, "functionaltests", "suites") + suite_names = os.listdir(suites_root_dir) + arg_values = [] + test_ids = [] + for suite in suite_names: + normalize_ids = True if suite in ("harvesting", + "manager") else False + suite_dir = os.path.join(suites_root_dir, suite) + config_path = os.path.join(suite_dir, "default.cfg") + if not os.path.isfile(config_path): + print("Directory {0!r} does not have a suite " + "configuration file".format(suite_dir)) + continue + else: + print("Generating tests for suite {0!r}".format(suite)) + suite_dirs = _get_suite_dirs(suite) + if suite_dirs.post_tests_dir is not None: + post_argvalues, post_ids = _get_post_parameters( + post_tests_dir=suite_dirs.post_tests_dir, + expected_tests_dir=suite_dirs.expected_results_dir, + config_path=config_path, + suite_name=suite, + normalize_ids=normalize_ids + ) + arg_values.extend(post_argvalues) + test_ids.extend(post_ids) + if suite_dirs.get_tests_dir is not None: + get_argvalues, get_ids = _get_get_parameters( + get_tests_dir=suite_dirs.get_tests_dir, + expected_tests_dir=suite_dirs.expected_results_dir, + config_path=config_path, + suite_name=suite, + normalize_ids=normalize_ids + ) + arg_values.extend(get_argvalues) + test_ids.extend(get_ids) + metafunc.parametrize( + argnames=["configuration", "request_method", "request_data", + "expected_result", "normalize_identifier_fields"], + argvalues=arg_values, + indirect=["configuration"], + ids=test_ids, + ) + + +def _get_get_parameters(get_tests_dir, expected_tests_dir, config_path, + suite_name, normalize_ids): + method = "GET" + test_argvalues = [] + test_ids = [] + requests_file_path = os.path.join(get_tests_dir, "requests.txt") + with open(requests_file_path) as fh: + for line in fh: + test_name, test_params = [i.strip() for i in + line.partition(",")[::2]] + expected_result_path = os.path.join( + expected_tests_dir, + "{method}_{name}.xml".format(method=method.lower(), + name=test_name) + ) + test_argvalues.append( + (config_path, method, test_params, expected_result_path, + normalize_ids) + ) + test_ids.append( + "{suite}_{http_method}_{name}".format(suite=suite_name, + http_method=method.lower(), name=test_name) + ) + return test_argvalues, test_ids + + +def _get_post_parameters(post_tests_dir, expected_tests_dir, config_path, + suite_name, normalize_ids): + method = "POST" + test_argvalues = [] + test_ids = [] + # we are sorting the directory contents because the + # `harvesting` suite requires tests to be executed in alphabetical order + directory_contents = sorted(os.listdir(post_tests_dir)) + for request_file_name in directory_contents: + request_path = os.path.join(post_tests_dir, + request_file_name) + expected_result_path = os.path.join( + expected_tests_dir, + "{method}_{filename}".format( + method=method.lower(), + filename=request_file_name + ) + ) + # TODO - make sure the expected result path exists + test_argvalues.append( + (config_path, method, request_path, + expected_result_path, normalize_ids) + ) + test_ids.append( + "{suite}_{http_method}_{file_name}".format( + suite=suite_name, + http_method=method.lower(), + file_name=os.path.splitext( + request_file_name)[0]) + ) + return test_argvalues, test_ids + + +@pytest.fixture() +def configuration(request, tests_directory, log_level): + """Return a SafeConfigParser with the configuration for use in tests. + + The config_parser is read from the ordiginal location and then adjusted + to match the test's temporary directory. The repository will also be + created and populated if it is not already present in the tests_directory. + + """ + + config_path = request.param + config = configparser.SafeConfigParser() + with codecs.open(config_path, encoding="utf-8") as fh: + config.readfp(fh) + suite_name = config_path.split(os.path.sep)[-2] + suite_dirs = _get_suite_dirs(suite_name) + data_dir = suite_dirs.data_tests_dir + if data_dir is not None: # suite has its own database + repository_url = _get_repository_url(request, suite_name, + tests_directory) + else: # suite uses the CITE database + data_dir = _get_cite_suite_data_dir() + repository_url = _get_repository_url(request, "cite", tests_directory) + if not _repository_exists(repository_url): + _initialize_database(repository_url=repository_url, + table_name=config.get("repository", "table"), + data_dir=data_dir, + test_dir=tests_directory) + config.set("server", "loglevel", log_level) + config.set("server", "logfile", "") + config.set("repository", "database", repository_url) + return config + + +@pytest.fixture(scope="session", name="tests_directory") +def fixture_tests_directory(tmpdir_factory): + tests_dir = tmpdir_factory.mktemp("functional_tests") + return tests_dir + + +def _get_suite_dirs(suite_name): + """Return a tuple with suite dirs: get, post, data, expected""" + global TESTS_ROOT + suites_root_dir = os.path.join(TESTS_ROOT, "functionaltests", "suites") + suite_dir = os.path.join(suites_root_dir, suite_name) + data_tests_dir = os.path.join(suite_dir, "data") + post_tests_dir = os.path.join(suite_dir, "post") + get_tests_dir = os.path.join(suite_dir, "get") + expected_results_dir = os.path.join(suite_dir, "expected") + data_dir = data_tests_dir if os.path.isdir(data_tests_dir) else None + posts_dir = post_tests_dir if os.path.isdir(post_tests_dir) else None + gets_dir = get_tests_dir if os.path.isdir(get_tests_dir) else None + expected_dir = (expected_results_dir if os.path.isdir( + expected_results_dir) else None) + return SuiteDirs(get_tests_dir=gets_dir, + post_tests_dir=posts_dir, + data_tests_dir=data_dir, + expected_results_dir=expected_dir) + + +def _get_cite_suite_data_dir(): + global TESTS_ROOT + suites_root_dir = os.path.join(TESTS_ROOT, "functionaltests", "suites") + suite_dir = os.path.join(suites_root_dir, "cite") + data_tests_dir = os.path.join(suite_dir, "data") + data_dir = data_tests_dir if os.path.isdir(data_tests_dir) else None + return data_dir + + +def _repository_exists(repository_url): + """Test if the database already exists""" + if repository_url.startswith("sqlite"): + repository_path = repository_url.replace("sqlite:///", "") + result = os.path.isfile(repository_path) + else: + raise NotImplementedError + return result + + +def _get_repository_url(request, suite_name, test_dir): + db_type = request.config.getoption("--database-backend") + if db_type == "sqlite": + repository_url = "sqlite:///{test_dir}/{suite}.db".format( + test_dir=test_dir, suite=suite_name) + elif db_type == "postgres": + user = request.config.getoption("--database-user-postgres") + password = request.config.getoption("--database-password-postgres") + repository_url = ("postgres://{user}:{password}@localhost/" + "pycsw_test_{suite}".format(user=user, + password=password, + suite=suite_name)) + else: + raise NotImplementedError + return repository_url + + +def _initialize_database(repository_url, table_name, data_dir, test_dir): + """Initialize local database for tests. + + This function will create the database and load any test data that + the suite may require. + + """ + + print("Setting up {0!r} repository...".format(repository_url)) + admin.setup_db(repository_url, table_name, test_dir) + if len(os.listdir(data_dir)) > 0: + print("Loading database data...") + admin.load_records(StaticContext(), repository_url, table_name, + data_dir) diff --git a/tests/functionaltests/test_suites_functional.py b/tests/functionaltests/test_suites_functional.py new file mode 100644 index 000000000..3d93b20c6 --- /dev/null +++ b/tests/functionaltests/test_suites_functional.py @@ -0,0 +1,267 @@ +# ================================================================= +# +# Authors: Tom Kralidis +# Ricardo Garcia Silva +# +# Copyright (c) 2016 Tom Kralidis +# Copyright (c) 2016 Ricardo Garcia Silva +# +# Permission is hereby granted, free of charge, to any person +# obtaining a copy of this software and associated documentation +# files (the "Software"), to deal in the Software without +# restriction, including without limitation the rights to use, +# copy, modify, merge, publish, distribute, sublicense, and/or sell +# copies of the Software, and to permit persons to whom the +# Software is furnished to do so, subject to the following +# conditions: +# +# The above copyright notice and this permission notice shall be +# included in all copies or substantial portions of the Software. +# +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +# EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES +# OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +# NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT +# HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, +# WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR +# OTHER DEALINGS IN THE SOFTWARE. +# +# ================================================================= +"""Functional tests for several test suites""" + +import codecs +from difflib import SequenceMatcher +from io import BytesIO +import json +import re +import wsgiref.util + +from lxml import etree +from lxml import objectify +import pytest + +from pycsw import server + +pytestmark = pytest.mark.functional + + +def test_suites(configuration, request_method, request_data, expected_result, + normalize_identifier_fields): + """ + Test suites. + + Parameters + ---------- + configuration: SafeConfigParser + The configuration to use with the pycsw server instance under test + request_method: str + The HTTP method of the request. Either GET or POST. + request_data: str + Either the path to the request file, for POST requests or the request + parameters for GET requests + expected_result: str + Path to the file that holds the expected result + normalize_identifier_fields: bool + Whether to normalize the identifier fields in responses. This + parameter is used only in the 'harvesting' and 'manager' suites + + """ + + request_environment = { + "REQUEST_METHOD": request_method.upper(), + "QUERY_STRING": "", + "REMOTE_ADDR": "127.0.0.1" + } + if request_method == "POST": + print("request_path: {0}".format(request_data)) + request_buffer = BytesIO() + with open(request_data) as fh: + contents = fh.read() + print("Request contents: {}".format(contents)) + request_buffer.write(contents) + request_environment["CONTENT_LENGTH"] = request_buffer.tell() + request_buffer.seek(0) + request_environment["wsgi.input"] = request_buffer + else: + print("Request contents: {0}".format(request_data)) + request_environment["QUERY_STRING"] = request_data + wsgiref.util.setup_testing_defaults(request_environment) + pycsw_server = server.Csw(rtconfig=configuration, env=request_environment) + status, contents = pycsw_server.dispatch_wsgi() + with codecs.open(expected_result, encoding="utf-8") as fh: + expected = fh.read() + _compare_response(contents, expected, + normalize_id_fields=normalize_identifier_fields) + + +def _compare_response(response, expected, normalize_id_fields): + normalized_result = _normalize(response, force_id_mask=normalize_id_fields) + try: + matches_expected = _test_xml_result(normalized_result, expected) + except etree.XMLSyntaxError: + # the file is either not XML (perhaps JSON?) or malformed + matches_expected = _test_json_result(normalized_result, expected) + except etree.C14NError: + print("XML canonicalization has failed. Trying to compare result " + "with expected using difflib") + matches_expected = _test_xml_diff(normalized_result, expected) + if not matches_expected: + print("expected: {0}".format(expected)) + print("response: {0}".format(normalized_result)) + assert matches_expected + + +def _test_xml_result(result, expected, encoding="utf-8"): + """Compare the XML test results with an expected value. + + This function compares the test result with the expected values by + performing XML canonicalization (c14n)[1]_. + + Parameters + ---------- + result: str + The result of running the test. + expected: str + The expected outcome. + + Returns + ------- + bool + Whether the result matches the expectations or not. + + Raises + ------ + etree.XMLSyntaxError + If any of the input parameters is not a valid XMl. + etree.C14NError + If any of the input parameters cannot be canonicalized. This may + happen if there are relative namespace URIs in any of the XML + documents, as they are explicitly not allowed when doing XML c14n + + References + ---------- + .. [1] http://www.w3.org/TR/xml-c14n + + """ + + result_element = etree.fromstring(result) + expected_element = etree.fromstring(expected.encode(encoding)) + result_buffer = BytesIO() + result_tree = result_element.getroottree() + objectify.deannotate(result_tree, cleanup_namespaces=True) + result_tree.write_c14n(result_buffer) + expected_buffer = BytesIO() + expected_tree = expected_element.getroottree() + objectify.deannotate(expected_tree, cleanup_namespaces=True) + expected_tree.write_c14n(expected_buffer) + matches = result_buffer.getvalue() == expected_buffer.getvalue() + return matches + + +def _test_json_result(result, expected, encoding="utf-8"): + """Compare the JSON test results with an expected value. + + Parameters + ---------- + result: str + The result of running the test. + expected: str + The expected outcome. + + Returns + ------- + bool + Whether the result matches the expectations or not. + + """ + + result_dict = json.loads(result, encoding=encoding) + expected_dict = json.loads(expected, encoding=encoding) + return result_dict == expected_dict + + +def _test_xml_diff(result, expected): + sequence_matcher = SequenceMatcher(None, result, expected) + ratio = sequence_matcher.ratio() + return ratio == pytest.approx(1.0) + + +def _normalize(sresult, force_id_mask=False): + """Replace time, updateSequence and version specific values with generic + values""" + + # XML responses + version = re.search(r'', sresult) + updatesequence = re.search(r'updateSequence="(\S+)"', sresult) + timestamp = re.search(r'timestamp="(.*)"', sresult) + timestamp2 = re.search(r'timeStamp="(.*)"', sresult) + timestamp3 = re.search(r'(.*)', sresult) + timestamp4 = re.search(r'(.*)', sresult) + zrhost = re.search(r'(.*)', sresult) + zrport = re.search(r'(.*)', sresult) + elapsed_time = re.search(r'elapsedTime="(.*)"', sresult) + expires = re.search(r'expires="(.*?)"', sresult) + atom_updated = re.findall(r'(.*)', sresult) + + if version: + sresult = sresult.replace(version.group(0), r'') + if updatesequence: + sresult = sresult.replace(updatesequence.group(0), + r'updateSequence="PYCSW_UPDATESEQUENCE"') + if timestamp: + sresult = sresult.replace(timestamp.group(0), + r'timestamp="PYCSW_TIMESTAMP"') + if timestamp2: + sresult = sresult.replace(timestamp2.group(0), + r'timeStamp="PYCSW_TIMESTAMP"') + if timestamp3: + sresult = sresult.replace(timestamp3.group(0), + r'PYCSW_TIMESTAMP') + if timestamp4: + sresult = sresult.replace(timestamp4.group(0), + r'PYCSW_TIMESTAMP') + if zrport: + sresult = sresult.replace(zrport.group(0), + r'PYCSW_PORT') + if zrhost: + sresult = sresult.replace(zrhost.group(0), + r'PYCSW_HOST') + if elapsed_time: + sresult = sresult.replace(elapsed_time.group(0), + r'elapsedTime="PYCSW_ELAPSED_TIME"') + if expires: + sresult = sresult.replace(expires.group(0), + r'expires="PYCSW_EXPIRES"') + for au in atom_updated: + sresult = sresult.replace(au, r'PYCSW_TIMESTAMP') + + # for csw:HarvestResponse documents, mask identifiers + # which are dynamically generated for OWS endpoints + if sresult.find(r'HarvestResponse') != -1: + identifier = re.findall(r'(\S+)', + sresult) + for i in identifier: + sresult = sresult.replace(i, r'PYCSW_IDENTIFIER') + + # JSON responses + timestamp = re.search(r'"@timestamp": "(.*?)"', sresult) + + if timestamp: + sresult = sresult.replace(timestamp.group(0), + r'"@timestamp": "PYCSW_TIMESTAMP"') + + # harvesting-based GetRecords/GetRecordById responses + if force_id_mask: + dcid = re.findall(r'(urn:uuid.*)', sresult) + isoid = re.findall(r'id="(urn:uuid.*)"', sresult) + isoid2 = re.findall(r'(urn:uuid.*) -# Ricardo Garcia Silva -# -# Copyright (c) 2016 Tom Kralidis -# Copyright (c) 2016 Ricardo Garcia Silva -# -# Permission is hereby granted, free of charge, to any person -# obtaining a copy of this software and associated documentation -# files (the "Software"), to deal in the Software without -# restriction, including without limitation the rights to use, -# copy, modify, merge, publish, distribute, sublicense, and/or sell -# copies of the Software, and to permit persons to whom the -# Software is furnished to do so, subject to the following -# conditions: -# -# The above copyright notice and this permission notice shall be -# included in all copies or substantial portions of the Software. -# -# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -# EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES -# OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -# NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT -# HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, -# WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING -# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR -# OTHER DEALINGS IN THE SOFTWARE. -# -# ================================================================= -"""Functional tests for pycsw. - -These tests are based on the execution of the requests defined in the suites -under the `suites` directory. - -""" - -from io import BytesIO -import json -from lxml import etree -from lxml import objectify -import re -from urllib.parse import parse_qs -from urllib.parse import unquote - -import pytest -import requests - -ENCODING = "utf-8" - -pytestmark = pytest.mark.functional - - -class TestApisoSuite(object): - - def test_post_requests(self, - server_apiso_suite, - apiso_test_request, - apiso_expected_post_result): - _test_post_request(server_apiso_suite, - apiso_test_request, - apiso_expected_post_result) - - -class TestApisoInspireSuite(object): - - def test_get_requests(self, - server_apiso_inspire_suite, - apiso_inspire_test_request_parameters, - apiso_inspire_expected_get_result): - _test_get_request(server_apiso_inspire_suite, - apiso_inspire_test_request_parameters, - apiso_inspire_expected_get_result) - - -class TestAtomSuite(object): - - def test_post_requests(self, - server_atom_suite, - atom_test_request, - atom_expected_post_result): - _test_post_request(server_atom_suite, - atom_test_request, - atom_expected_post_result) - - def test_get_requests(self, server_atom_suite, - atom_test_request_parameters, - atom_expected_get_result): - _test_get_request(server_atom_suite, - atom_test_request_parameters, - atom_expected_get_result) - - -class TestCiteSuite(object): - - def test_post_requests(self, server_cite_suite, cite_test_request, - cite_expected_post_result): - _test_post_request(server_cite_suite, cite_test_request, - cite_expected_post_result) - - def test_get_requests(self, server_cite_suite, - cite_test_request_parameters, - cite_expected_get_result): - print("locals: {0}".format(locals())) - _test_get_request(server_cite_suite, cite_test_request_parameters, - cite_expected_get_result) - - -class TestCsw30Suite(object): - - def test_post_requests(self, - server_csw30_suite, - csw30_test_request, - csw30_expected_post_result): - _test_post_request(server_csw30_suite, - csw30_test_request, - csw30_expected_post_result) - - def test_get_requests(self, server_csw30_suite, - csw30_test_request_parameters, - csw30_expected_get_result): - _test_get_request(server_csw30_suite, - csw30_test_request_parameters, - csw30_expected_get_result) - - -class TestDefaultSuite(object): - - def test_post_requests(self, - server_default_suite, - default_test_request, - default_expected_post_result): - _test_post_request(server_default_suite, - default_test_request, - default_expected_post_result) - - def test_get_requests(self, - server_default_suite, - default_test_request_parameters, - default_expected_get_result): - _test_get_request(server_default_suite, - default_test_request_parameters, - default_expected_get_result) - - -class TestDifSuite(object): - - def test_post_requests(self, - server_dif_suite, - dif_test_request, - dif_expected_post_result): - _test_post_request(server_dif_suite, - dif_test_request, - dif_expected_post_result) - - -class TestEbrimSuite(object): - - def test_post_requests(self, server_ebrim_suite, - ebrim_test_request, - ebrim_expected_post_result): - _test_post_request(server_ebrim_suite, - ebrim_test_request, - ebrim_expected_post_result) - - -class TestFgdcSuite(object): - - def test_post_requests(self, - server_fgdc_suite, - fgdc_test_request, - fgdc_expected_post_result): - _test_post_request(server_fgdc_suite, - fgdc_test_request, - fgdc_expected_post_result) - - -class TestGm03Suite(object): - - def test_post_requests(self, - server_gm03_suite, - gm03_test_request, - gm03_expected_post_result): - _test_post_request(server_gm03_suite, - gm03_test_request, - gm03_expected_post_result) - - -class TestHarvestingSuite(object): - - def test_post_requests(self, - server_harvesting_suite, - harvesting_test_request, - harvesting_expected_post_result): - _test_post_request(server_harvesting_suite, - harvesting_test_request, - harvesting_expected_post_result) - - def test_get_requests(self, - server_harvesting_suite, - harvesting_test_request_parameters, - harvesting_expected_get_result): - _test_get_request(server_harvesting_suite, - harvesting_test_request_parameters, - harvesting_expected_get_result) - - -class TestManagerSuite(object): - - def test_post_requests(self, - server_manager_suite, - manager_test_request, - manager_expected_post_result): - _test_post_request(server_manager_suite, - manager_test_request, - manager_expected_post_result) - - -class TestOaipmhSuite(object): - - def test_get_requests(self, server_oaipmh_suite, - oaipmh_test_request_parameters, - oaipmh_expected_get_result): - _test_get_request(server_oaipmh_suite, - oaipmh_test_request_parameters, - oaipmh_expected_get_result) - - -class TestRepofilterSuite(object): - - def test_post_requests(self, - server_repofilter_suite, - repofilter_test_request, - repofilter_expected_post_result): - _test_post_request(server_repofilter_suite, - repofilter_test_request, - repofilter_expected_post_result) - - -class TestSruSuite(object): - - def test_get_requests(self, - server_sru_suite, - sru_test_request_parameters, - sru_expected_get_result): - _test_get_request(server_sru_suite, - sru_test_request_parameters, - sru_expected_get_result) - -class TestUtf8Suite(object): - - def test_post_requests(self, - server_utf_8_suite, - utf_8_test_request, - utf_8_expected_post_result): - _test_post_request(server_utf_8_suite, - utf_8_test_request, - utf_8_expected_post_result) - - -def _test_post_request(pycsw_server_url, test_request, expected_result): - with open(test_request, encoding=ENCODING) as request_fh: - request_data = request_fh.read() - response = requests.post(pycsw_server_url, - data=bytes(request_data, ENCODING)) - with open(expected_result, encoding=ENCODING) as expected_fh: - expected = expected_fh.read() - _compare_response(response, expected) - - -def _test_get_request(pycsw_server_url, parameters, expected_result): - print("**********************") - print("EXPECTED_RESULT: {0}".format(expected_result)) - print("PARAMETERS: {0}".format(parameters)) - print("**********************") - with open(expected_result, encoding=ENCODING) as expected_fh: - expected = expected_fh.read() - #payload = parse_qs(bytes(parameters, ENCODING)) - #payload = parse_qs(parameters) - payload = {} - for kvp in parameters.split("&"): - print("kvp: {}".format(kvp)) - parts = kvp.split("=") - payload[parts[0].lower()] = unquote(parts[1]) if len(parts) > 1 else "" - #payload[parts[0].lower()] = parts[1] if len(parts) > 1 else "" - print("payload: {0}".format(payload)) - request_headers = {} - if "outputformat" in payload.keys(): - request_headers.setdefault("Accept", payload["outputformat"]) - response = requests.get(pycsw_server_url, params=payload, - headers=request_headers) - _compare_response(response, expected) - - -def _compare_response(response, expected): - response.encoding = ENCODING - response_data = response.text - normalized_result = _normalize(response_data, force_id_mask=False) - try: - matches_expected = _test_xml_result(normalized_result, expected) - except etree.XMLSyntaxError: - # the file is either not XML (perhaps JSON?) or malformed - matches_expected = _test_json_result(normalized_result, expected) - if not matches_expected: - print("expected: {0}".format(expected)) - print("response: {0}".format(normalized_result)) - assert matches_expected - - -def _test_xml_result(result, expected): - """Compare the XML test results with an expected value. - - This function compares the test result with the expected values by - performing XML canonicalization (c14n)[1]_. - - Parameters - ---------- - result: str - The result of running the test. - expected: str - The expected outcome. - - Returns - ------- - bool - Whether the result matches the expectations or not. - - Raises - ------ - etree.XMLSyntaxError - If any of the input parameters is not a valid XMl. - etree.C14NError - If any of the input parameters cannot be canonicalized. This may - happen if there are relative namespace URIs in any of the XML - documents, as they are explicitly not allowed when doing XML c14n - - References - ---------- - .. [1] http://www.w3.org/TR/xml-c14n - - """ - - result_element = etree.fromstring(result.encode(ENCODING)) - expected_element = etree.fromstring(expected.encode(ENCODING)) - result_buffer = BytesIO() - result_tree = result_element.getroottree() - objectify.deannotate(result_tree, cleanup_namespaces=True) - result_tree.write_c14n(result_buffer) - expected_buffer = BytesIO() - expected_tree = expected_element.getroottree() - objectify.deannotate(expected_tree, cleanup_namespaces=True) - expected_tree.write_c14n(expected_buffer) - matches = result_buffer.getvalue() == expected_buffer.getvalue() - return matches - - -def _test_json_result(result, expected): - """Compare the JSON test results with an expected value. - - Parameters - ---------- - result: str - The result of running the test. - expected: str - The expected outcome. - - Returns - ------- - bool - Whether the result matches the expectations or not. - - """ - - result_dict = json.loads(result, encoding=ENCODING) - expected_dict = json.loads(expected, encoding=ENCODING) - return result_dict == expected_dict - - -def _normalize(sresult, force_id_mask=False): - """Replace time, updateSequence and version specific values with generic - values""" - - # XML responses - version = re.search(r'', sresult) - updatesequence = re.search(r'updateSequence="(\S+)"', sresult) - timestamp = re.search(r'timestamp="(.*)"', sresult) - timestamp2 = re.search(r'timeStamp="(.*)"', sresult) - timestamp3 = re.search(r'(.*)', sresult) - timestamp4 = re.search(r'(.*)', sresult) - zrhost = re.search(r'(.*)', sresult) - zrport = re.search(r'(.*)', sresult) - elapsed_time = re.search(r'elapsedTime="(.*)"', sresult) - expires = re.search(r'expires="(.*?)"', sresult) - atom_updated = re.findall(r'(.*)', sresult) - - if version: - sresult = sresult.replace(version.group(0), r'') - if updatesequence: - sresult = sresult.replace(updatesequence.group(0), - r'updateSequence="PYCSW_UPDATESEQUENCE"') - if timestamp: - sresult = sresult.replace(timestamp.group(0), - r'timestamp="PYCSW_TIMESTAMP"') - if timestamp2: - sresult = sresult.replace(timestamp2.group(0), - r'timeStamp="PYCSW_TIMESTAMP"') - if timestamp3: - sresult = sresult.replace(timestamp3.group(0), - r'PYCSW_TIMESTAMP') - if timestamp4: - sresult = sresult.replace(timestamp4.group(0), - r'PYCSW_TIMESTAMP') - if zrport: - sresult = sresult.replace(zrport.group(0), - r'PYCSW_PORT') - if zrhost: - sresult = sresult.replace(zrhost.group(0), - r'PYCSW_HOST') - if elapsed_time: - sresult = sresult.replace(elapsed_time.group(0), - r'elapsedTime="PYCSW_ELAPSED_TIME"') - if expires: - sresult = sresult.replace(expires.group(0), - r'expires="PYCSW_EXPIRES"') - for au in atom_updated: - sresult = sresult.replace(au, r'PYCSW_TIMESTAMP') - - # for csw:HarvestResponse documents, mask identifiers - # which are dynamically generated for OWS endpoints - if sresult.find(r'HarvestResponse') != -1: - identifier = re.findall(r'(\S+)', - sresult) - for i in identifier: - sresult = sresult.replace(i, r'PYCSW_IDENTIFIER') - - # JSON responses - timestamp = re.search(r'"@timestamp": "(.*?)"', sresult) - - if timestamp: - sresult = sresult.replace(timestamp.group(0), - r'"@timestamp": "PYCSW_TIMESTAMP"') - - # harvesting-based GetRecords/GetRecordById responses - if force_id_mask: - dcid = re.findall(r'(urn:uuid.*)', sresult) - isoid = re.findall(r'id="(urn:uuid.*)"', sresult) - isoid2 = re.findall(r'(urn:uuid.*) Date: Wed, 16 Nov 2016 17:47:28 +0000 Subject: [PATCH 092/119] made new copies of the test data files under tests/functionaltests Reorganized the location of test data files. This keeps things a bit cleaner --- .../suites/apiso-inspire/default.cfg | 91 ++ .../expected/get_GetCapabilities-lang.xml | 375 +++++ .../expected/get_GetCapabilities.xml | 375 +++++ .../suites/apiso-inspire/get/requests.txt | 2 + .../suites/apiso/data/3e9a8c05.xml | 248 +++ .../suites/apiso/data/README.txt | 7 + .../T_aerfo_RAS_1991_GR800P001800000012.xml | 37 + .../T_aerfo_RAS_1991_GR800P001800000013.xml | 37 + .../T_aerfo_RAS_1991_GR800P001800000014.xml | 37 + .../T_aerfo_RAS_1991_GR800P001800000015.xml | 37 + .../apiso/data/T_ortho_RAS_1998_284404.xml | 37 + .../apiso/data/T_ortho_RAS_1998_288395.xml | 37 + .../apiso/data/T_ortho_RAS_1998_288398.xml | 37 + .../apiso/data/T_ortho_RAS_1998_288401.xml | 37 + .../apiso/data/T_ortho_RAS_1998_288404.xml | 37 + .../apiso/data/T_pmoed_DTM_1996_276395.xml | 37 + .../apiso/data/T_pmoed_DTM_1996_276398.xml | 37 + .../apiso/data/T_pmoed_DTM_1996_276401.xml | 37 + .../apiso/data/T_pmoed_DTM_1996_276404.xml | 37 + .../apiso/data/T_pmoed_DTM_1996_280395.xml | 37 + .../suites/apiso/data/pacioos-NS06agg.xml | 1182 ++++++++++++++ .../suites/apiso/data/test.xml | 39 + .../functionaltests/suites/apiso/default.cfg | 91 ++ .../apiso/expected/post_DescribeRecord.xml | 551 +++++++ .../apiso/expected/post_GetCapabilities.xml | 318 ++++ .../expected/post_GetDomain-property.xml | 12 + .../expected/post_GetRecordById-brief.xml | 77 + .../expected/post_GetRecordById-full-dc.xml | 45 + .../expected/post_GetRecordById-full.xml | 40 + .../expected/post_GetRecordById-srv-brief.xml | 93 ++ .../post_GetRecords-all-csw-output.xml | 399 +++++ .../apiso/expected/post_GetRecords-all.xml | 399 +++++ .../expected/post_GetRecords-cql-title.xml | 372 +++++ .../expected/post_GetRecords-elementname.xml | 388 +++++ ...-filter-and-nested-spatial-or-dateline.xml | 1132 ++++++++++++++ .../post_GetRecords-filter-anytext.xml | 372 +++++ ...post_GetRecords-filter-bbox-csw-output.xml | 52 + .../expected/post_GetRecords-filter-bbox.xml | 388 +++++ .../post_GetRecords-filter-servicetype.xml | 96 ++ .../suites/apiso/post/DescribeRecord.xml | 4 + .../suites/apiso/post/GetCapabilities.xml | 9 + .../suites/apiso/post/GetDomain-property.xml | 5 + .../suites/apiso/post/GetRecordById-brief.xml | 6 + .../apiso/post/GetRecordById-full-dc.xml | 6 + .../suites/apiso/post/GetRecordById-full.xml | 6 + .../apiso/post/GetRecordById-srv-brief.xml | 6 + .../apiso/post/GetRecords-all-csw-output.xml | 6 + .../suites/apiso/post/GetRecords-all.xml | 6 + .../apiso/post/GetRecords-cql-title.xml | 9 + .../apiso/post/GetRecords-elementname.xml | 6 + ...-filter-and-nested-spatial-or-dateline.xml | 45 + .../apiso/post/GetRecords-filter-anytext.xml | 15 + .../GetRecords-filter-bbox-csw-output.xml | 19 + .../apiso/post/GetRecords-filter-bbox.xml | 18 + .../post/GetRecords-filter-servicetype.xml | 14 + tests/functionaltests/suites/atom/default.cfg | 90 ++ .../expected/get_opensearch-description.xml | 13 + .../get_opensearch-ogc-bbox-and-time.xml | 38 + .../atom/expected/get_opensearch-ogc-bbox.xml | 52 + .../get_opensearch-ogc-count-and-page1.xml | 32 + .../get_opensearch-ogc-count-and-page2.xml | 17 + .../get_opensearch-ogc-q-and-bbox.xml | 24 + .../get_opensearch-ogc-q-and-time.xml | 18 + .../atom/expected/get_opensearch-ogc-q.xml | 18 + .../atom/expected/get_opensearch-ogc-time.xml | 18 + .../expected/get_opensearch-ogc-timeend.xml | 18 + .../expected/get_opensearch-ogc-timestart.xml | 47 + .../suites/atom/expected/get_opensearch.xml | 110 ++ .../atom/expected/post_DescribeRecord.xml | 3 + .../atom/expected/post_GetCapabilities.xml | 262 ++++ .../expected/post_GetRecords-filter-bbox.xml | 36 + .../suites/atom/get/requests.txt | 12 + .../suites/atom/post/DescribeRecord.xml | 4 + .../suites/atom/post/GetCapabilities.xml | 9 + .../atom/post/GetRecords-filter-bbox.xml | 17 + .../suites/cite/data/README.txt | 65 + ...d_19887a8a-f6b0-4a63-ae56-7fba0e17801f.xml | 13 + ...d_1ef30a8b-876d-4828-9246-c37ab4510bbd.xml | 13 + ...d_66ae76b7-54ba-489b-a582-0f0633d96493.xml | 12 + ...d_6a3de50b-fa66-4b58-a0e6-ca146fdd18d4.xml | 11 + ...d_784e2afd-a9fd-44a6-9a92-a3848371c8ec.xml | 14 + ...d_829babb0-b2f1-49e1-8cd5-7b489fe71a1e.xml | 11 + ...d_88247b56-4cbc-4df9-9860-db3f8042e357.xml | 11 + ...d_94bc9c83-97f6-4b40-9eb8-a8e8787a5c63.xml | 17 + ...d_9a669547-b69b-469f-a11f-2d875366bbdc.xml | 16 + ...d_a06af396-3105-442d-8b40-22b57a90d2f2.xml | 11 + ...d_ab42a8c4-95e8-4630-bf79-33e59241605a.xml | 11 + ...d_e9330592-0932-474b-be34-c3a3bb67c7db.xml | 14 + .../functionaltests/suites/cite/data/cite.db | Bin 0 -> 82944 bytes tests/functionaltests/suites/cite/default.cfg | 86 ++ ...t_27e17158-c57a-4493-92ac-dba8934cf462.xml | 310 ++++ ...t_27f69b66-5f05-4311-a89c-73ca55c2686b.xml | 9 + ...t_2ab7d1fa-885b-459f-80e4-b6282eab4f8c.xml | 310 ++++ ...t_37aa90e2-6ff0-420c-af15-8b9463099a73.xml | 14 + ...t_3a8a3c47-455f-4f49-9078-03119f3e70b3.xml | 7 + ...t_4515831f-834a-4699-95f6-ab0c2cbfcfd0.xml | 7 + ...t_477b23a3-baa9-47c8-9541-5fe27735ed49.xml | 543 +++++++ ...t_48f26761-3a9d-48db-bee1-da089f5fb857.xml | 310 ++++ ...t_4e38092f-1586-44b8-988e-0acfa5855916.xml | 7 + ...t_55c38f00-2553-42c1-99ab-33edbb561ad7.xml | 392 +++++ ...t_5ab5db18-c87a-4fbf-a8d8-b7289b09ac81.xml | 7 + ...t_6a4f57ca-a1bd-4802-89c2-44860dbdb0f0.xml | 11 + ...t_6c375703-9c00-4aef-bec7-d2e964f849eb.xml | 13 + ...t_80f31def-4185-48b9-983a-960566918eae.xml | 543 +++++++ ...t_8e2232ed-05d9-44ae-8b04-0911cbe6a507.xml | 7 + ...t_9697f0aa-3b6a-4125-83a5-61e8826127c4.xml | 543 +++++++ ...t_9bfd17fa-15dc-4a10-8fa7-b3cff7013dd7.xml | 13 + ...t_b81c3595-06d6-4693-82ea-1ff8650755ac.xml | 3 + ...t_ba5fc729-3b71-47a0-b7d0-42ec565cd185.xml | 310 ++++ ...t_c4ea754f-c158-4d8d-8253-dc8f86021b52.xml | 7 + ...t_f4692ec5-9547-4a05-88ab-e6154af2640a.xml | 310 ++++ ...t_f997f25e-c865-4d53-a362-0ed1846337f2.xml | 15 + ...t_0c976d98-c896-4b10-b1fe-a22ef50434e7.xml | 6 + ...t_19d2a6ed-be28-4866-ae15-e3bb634486cb.xml | 55 + ...t_1ab55aa3-6685-4595-8ecd-45987a7b8b59.xml | 19 + ...t_1c958b7a-ca09-4c38-98bd-ef1d1d28cc14.xml | 7 + ...t_1c97fc1a-61cd-4c1d-8054-933e17a6c5ee.xml | 7 + ...t_2102a460-5d62-465f-9668-d70b3faafbfa.xml | 12 + ...t_225f455a-0035-486b-a94e-fee7ae881b2b.xml | 17 + ...t_2d53ffea-60e4-4652-abf5-36eb23042fd5.xml | 69 + ...t_34a019a9-1581-42cb-9827-fbfdda2773b7.xml | 6 + ...t_3e76fd38-e035-41c9-83dc-61356f680c97.xml | 7 + ...t_418a6fb0-a89c-4a94-afc9-3f8168eb2980.xml | 15 + ...t_420b745e-0c4b-404e-9f2d-61fa580ff05a.xml | 22 + ...t_4735d649-a2b1-42fd-a101-14e1d7e4607f.xml | 44 + ...t_5c5861bc-f742-40a5-9998-5342615d674b.xml | 49 + ...t_6e736fd0-c266-4852-9eb3-0656f5d0f5c4.xml | 89 ++ ...t_73f1551c-e269-4ef9-9dae-e535b5eebfc7.xml | 18 + ...t_78297c88-4850-4927-adc6-511cd9a3d539.xml | 115 ++ ...t_7c89cdf5-0def-4cfb-8c55-2b8ffea5d92f.xml | 56 + ...t_7e2cd105-daec-4d25-bc8e-d49d21364912.xml | 3 + ...t_87f2f670-9cd6-4907-b82c-1b46a7dd2a78.xml | 50 + ...t_88b4e1ba-3bd4-4cbe-81e5-e004056d6ca3.xml | 7 + ...t_898cd63b-2585-4ec0-8720-d554bd324174.xml | 14 + ...t_8fb13dc3-5818-45e2-9e29-46abc16e7d38.xml | 48 + ...t_928c1896-52d4-4ac7-9832-f98e3eb65f02.xml | 17 + ...t_93bdbb9d-2734-4f01-92fb-48634cca41de.xml | 21 + ...t_948b39d5-bb4f-45b8-a8f2-4ff9501aaedd.xml | 51 + ...t_9fd64fcc-f69c-4626-b72e-5c7776a29aa9.xml | 7 + ...t_a06d04ab-e0d0-4a86-bfe8-71460f41fe37.xml | 69 + ...t_ad61686c-d304-42d1-b845-8c1f3070c83e.xml | 8 + ...t_af39c020-7b1d-429c-b474-f45c3164cb79.xml | 21 + ...t_b90e2de6-3d25-4298-a13e-dc9492a8fc73.xml | 91 ++ ...t_ba9b0107-dcee-46ef-823a-a2e25a911a96.xml | 36 + ...t_bb66ebc5-7121-48b5-9f53-b56537d9561b.xml | 19 + ...t_c02d1c85-df9f-45ee-bea7-345c35e02a98.xml | 7 + ...t_c311a342-72e3-4983-be39-868e6ed9740f.xml | 115 ++ ...t_c38916c2-4bc6-446d-b7aa-ab006d6ba31c.xml | 27 + ...t_c8588f47-8e65-45f5-ad34-ff4524cad84d.xml | 7 + ...t_da228d4c-e1be-43d7-9ccb-c3f27ee32541.xml | 7 + ...t_dc92c2c4-87d8-4a13-964e-ff9b0e0c27b3.xml | 22 + ...t_dcb13791-379e-4739-bcd4-dbaa69f0efdb.xml | 69 + ...t_e308f030-c097-4036-a838-44bad74c9ef7.xml | 69 + ...t_e6e9efb2-e2b7-4b0a-a3a2-7deea3f9b8e2.xml | 69 + ...t_f7976c55-a156-4421-8199-bc0487da4b0f.xml | 115 ++ ...t_f7d79701-f10b-4087-a33c-f62df0a04fd1.xml | 69 + ...t_fc1bc094-88f1-4851-bc2b-dfc56be9f3c7.xml | 12 + ...t_fe20960f-a26c-4f13-852d-470a0d3233f9.xml | 12 + .../suites/cite/get/requests.txt | 22 + .../0c976d98-c896-4b10-b1fe-a22ef50434e7.xml | 20 + .../19d2a6ed-be28-4866-ae15-e3bb634486cb.xml | 20 + .../1ab55aa3-6685-4595-8ecd-45987a7b8b59.xml | 14 + .../1c958b7a-ca09-4c38-98bd-ef1d1d28cc14.xml | 6 + .../1c97fc1a-61cd-4c1d-8054-933e17a6c5ee.xml | 14 + .../2102a460-5d62-465f-9668-d70b3faafbfa.xml | 14 + .../225f455a-0035-486b-a94e-fee7ae881b2b.xml | 16 + .../2d53ffea-60e4-4652-abf5-36eb23042fd5.xml | 6 + .../34a019a9-1581-42cb-9827-fbfdda2773b7.xml | 6 + .../3e76fd38-e035-41c9-83dc-61356f680c97.xml | 4 + .../418a6fb0-a89c-4a94-afc9-3f8168eb2980.xml | 25 + .../420b745e-0c4b-404e-9f2d-61fa580ff05a.xml | 16 + .../4735d649-a2b1-42fd-a101-14e1d7e4607f.xml | 6 + .../5c5861bc-f742-40a5-9998-5342615d674b.xml | 14 + .../6e736fd0-c266-4852-9eb3-0656f5d0f5c4.xml | 6 + .../73f1551c-e269-4ef9-9dae-e535b5eebfc7.xml | 14 + .../78297c88-4850-4927-adc6-511cd9a3d539.xml | 2 + .../7c89cdf5-0def-4cfb-8c55-2b8ffea5d92f.xml | 6 + .../7e2cd105-daec-4d25-bc8e-d49d21364912.xml | 4 + .../87f2f670-9cd6-4907-b82c-1b46a7dd2a78.xml | 8 + .../88b4e1ba-3bd4-4cbe-81e5-e004056d6ca3.xml | 4 + .../898cd63b-2585-4ec0-8720-d554bd324174.xml | 20 + .../8fb13dc3-5818-45e2-9e29-46abc16e7d38.xml | 20 + .../928c1896-52d4-4ac7-9832-f98e3eb65f02.xml | 16 + .../93bdbb9d-2734-4f01-92fb-48634cca41de.xml | 18 + .../948b39d5-bb4f-45b8-a8f2-4ff9501aaedd.xml | 14 + .../9fd64fcc-f69c-4626-b72e-5c7776a29aa9.xml | 4 + .../a06d04ab-e0d0-4a86-bfe8-71460f41fe37.xml | 6 + .../ad61686c-d304-42d1-b845-8c1f3070c83e.xml | 14 + .../af39c020-7b1d-429c-b474-f45c3164cb79.xml | 14 + .../b90e2de6-3d25-4298-a13e-dc9492a8fc73.xml | 16 + .../ba9b0107-dcee-46ef-823a-a2e25a911a96.xml | 20 + .../bb66ebc5-7121-48b5-9f53-b56537d9561b.xml | 27 + .../c02d1c85-df9f-45ee-bea7-345c35e02a98.xml | 16 + .../c311a342-72e3-4983-be39-868e6ed9740f.xml | 4 + .../c38916c2-4bc6-446d-b7aa-ab006d6ba31c.xml | 25 + .../c8588f47-8e65-45f5-ad34-ff4524cad84d.xml | 17 + .../da228d4c-e1be-43d7-9ccb-c3f27ee32541.xml | 14 + .../dc92c2c4-87d8-4a13-964e-ff9b0e0c27b3.xml | 16 + .../dcb13791-379e-4739-bcd4-dbaa69f0efdb.xml | 6 + .../e308f030-c097-4036-a838-44bad74c9ef7.xml | 6 + .../e6e9efb2-e2b7-4b0a-a3a2-7deea3f9b8e2.xml | 12 + .../f7976c55-a156-4421-8199-bc0487da4b0f.xml | 4 + .../f7d79701-f10b-4087-a33c-f62df0a04fd1.xml | 6 + .../fc1bc094-88f1-4851-bc2b-dfc56be9f3c7.xml | 14 + .../fe20960f-a26c-4f13-852d-470a0d3233f9.xml | 14 + .../functionaltests/suites/csw30/default.cfg | 90 ++ ...t_002258f0-627f-457f-b2ad-025777c77ac8.xml | 15 + ...t_045c600d-973d-41eb-9f60-eba1b717b720.xml | 24 + ...t_0bbcf862-5211-4351-9988-63f8bec49c98.xml | 116 ++ ...t_0bdf8457-971e-4ed1-be4a-5feca4dcd8fa.xml | 491 ++++++ ...t_0d8bbdec-0846-42ca-8dc8-b7f4cba41d67.xml | 47 + ...t_0e1dca37-477a-4060-99fe-7799b52d656c.xml | 15 + ...t_13c87956-51a4-4780-a8e9-6e0b5c0bb473.xml | 92 ++ ...t_151d982f-ebd3-4cb2-b507-a667713a1e92.xml | 7 + ...t_1869e495-1a61-4713-8285-76d1336ee1a6.xml | 7 + ...t_1bcb42a9-538c-4f0a-9d4c-d6f10b720aa6.xml | 7 + ...t_22f44168-2ccf-4801-ad96-204212566d56.xml | 491 ++++++ ...t_2499a9c9-8d33-449c-bc92-d494adfcc84d.xml | 491 ++++++ ...t_27f4f39c-d92a-4e3c-b961-c6aa8c24e513.xml | 491 ++++++ ...t_28e569df-8596-4128-8d9a-29ad03138915.xml | 8 + ...t_2b06a5c8-0df2-4af1-8d2e-a425de11c845.xml | 491 ++++++ ...t_2ba1418a-444d-4cce-9cfe-4c94efcf8b55.xml | 32 + ...t_397fe17a-d5b4-4f96-8cc4-4ce467ed4d0a.xml | 30 + ...t_3dcd1b15-73d2-4b7d-a3e3-ff15bf14aae4.xml | 69 + ...t_405e1ff1-5c75-4846-a28b-cfaff2a6921a.xml | 23 + ...t_43cd6471-6ac7-45bd-8ff9-148cb2de9a52.xml | 491 ++++++ ...t_4566d2ec-1283-4a02-baed-a74fc5b47e37.xml | 18 + ...t_461bd4c5-6623-490d-9036-d91a2201e87b.xml | 3 + ...t_5496894a-3877-4f62-a20b-5d7126f94925.xml | 7 + ...t_5a015f6a-bf14-4977-b1e3-6577eb0223c8.xml | 40 + ...t_5c3a2390-1fb9-43f0-b96c-f48c7a69c990.xml | 7 + ...t_5e9e67dc-18d6-4645-8111-c6263c88a61f.xml | 326 ++++ ...t_604d9379-741c-42e5-b4cf-92e56c87fa64.xml | 32 + ...t_60e6af95-d5fc-465a-82e2-fd2e6d85e4af.xml | 7 + ...t_62ad94c2-b558-4265-a427-23d6677975d6.xml | 7 + ...t_6a5e247b-0961-4b8a-a0d6-35a491d9cfe7.xml | 7 + ...t_6a9d0558-9d87-495b-b999-b49a3ef1cf99.xml | 491 ++++++ ...t_6bd790c9-6019-4652-9c91-330a894d6700.xml | 16 + ...t_6e9cba43-5e27-415d-adbd-a92851c2c173.xml | 491 ++++++ ...t_7630d230-e142-4a09-accf-f091000b90cd.xml | 10 + ...t_7e82446a-b5dc-43fe-9a73-4cc1f2f2f0bf.xml | 491 ++++++ ...t_8025978e-1a35-4d70-80c2-e8329e0c7864.xml | 491 ++++++ ...t_8184ae4f-536d-4978-8b28-ad703be96967.xml | 34 + ...t_88f63a89-664f-4315-b4f8-04a0b33803a7.xml | 18 + ...t_8987f8f0-4d93-4481-968c-a2ccbd6b8be2.xml | 7 + ...t_8e5fa0f6-3f29-4d1f-abe2-d9866f3def98.xml | 58 + ...t_9000ec29-5649-474e-b2d6-55c00f8a52c0.xml | 7 + ...t_91914d35-7bbf-45e6-9b37-5ef484869a4e.xml | 38 + ...t_92d4844d-57d5-4cf3-8f47-ba50e369dc04.xml | 6 + ...t_9c0e2a4b-b4e6-41c0-b630-c8c99fc89ff3.xml | 7 + ...t_9d7ffac8-9798-428d-8e27-3cd12497ee6b.xml | 7 + ...et_Exception-GetDomain-value-reference.xml | 7 + .../expected/get_Exception-GetDomain.xml | 7 + .../get_Exception-GetRecordById-404.xml | 7 + .../get_Exception-GetRecordById-dc.xml.xml | 9 + ...t_Exception-GetRepositoryItem-notfound.xml | 7 + .../get_Exception-invalid-request.xml | 7 + .../expected/get_GetCapabilities-base-url.xml | 491 ++++++ .../get_GetCapabilities-no-version.xml | 491 ++++++ .../csw30/expected/get_GetCapabilities.xml | 491 ++++++ .../expected/get_GetDomain-parameter.xml | 12 + .../get_GetDomain-value-reference.xml | 18 + .../csw30/expected/get_GetRepositoryItem.xml | 11 + .../expected/get_OpenSearch-description.xml | 15 + ...t_a2f18643-e24e-4fa5-b780-6de4a2dbc814.xml | 9 + ...t_abc90c8c-5868-4405-a73e-64c849be3b2a.xml | 7 + ...t_ad0c0571-09ed-436a-9a4f-a5de744c88fe.xml | 22 + ...t_af502903-f4ee-47ee-b76e-af878d238bcc.xml | 40 + ...t_b2aafc3f-4f35-47bc-affd-08590972deae.xml | 58 + ...t_b6069623-f7d8-4021-8582-98f0aea0f763.xml | 48 + ...t_b9a07a54-75a8-45bd-b341-2823600211e3.xml | 8 + ...t_baa4a7d0-0c01-42b6-adc3-0d03e9949fa3.xml | 7 + ...t_bfbe6409-f64a-4c89-acb3-50f260a5c743.xml | 15 + ...t_bfe20134-d1da-42ef-9c0f-8e1307bbf92b.xml | 38 + ...t_c03d173a-3f42-4956-89c8-1fe02c3a0873.xml | 491 ++++++ ...t_cb43d8c3-e14c-4a9f-9231-4384b7dd21f3.xml | 7 + ...t_d03c6fd3-e821-4a26-b62f-d20a474e25af.xml | 30 + ...t_d4ccbf96-a529-480e-a53d-5b88dc1dea7f.xml | 7 + ...t_d94c801a-1207-4897-b84a-53f3a192515b.xml | 6 + ...t_da859e34-91fc-495a-8c09-285a40c0900b.xml | 14 + ...t_dc246fb8-5af5-4fda-82bb-c18b3ecd439c.xml | 40 + ...t_de016645-6d5c-4855-943c-2db07ae9f49a.xml | 30 + ...t_dff3ec6b-bb2d-4887-bd17-8fcf15def042.xml | 89 ++ ...t_e38e6bfb-8ac4-4ae4-8b87-0aafbc8d3c6b.xml | 11 + ...t_e67ca935-d65d-4d8c-8302-1405333dded0.xml | 491 ++++++ ...t_e7704509-3441-458f-8ef0-e333c6b6043f.xml | 7 + ...t_f1223a49-6d08-44ff-97fe-4c32cbbfad82.xml | 6 + ...t_f89dd4e1-3a81-4433-afd2-a3fa1bdb1e18.xml | 7 + ..._Exception-GetDomain-parametername-bad.xml | 7 + ...Exception-GetDomain-valuereference-bad.xml | 7 + .../post_Exception-GetRecordById-404.xml | 7 + .../post_Exception-GetRecordById-bad-esn.xml | 7 + .../csw30/expected/post_Exception-bad-xml.xml | 8 + .../csw30/expected/post_Exception-not-xml.xml | 8 + .../csw30/expected/post_GetCapabilities.xml | 491 ++++++ .../expected/post_GetDomain-parametername.xml | 12 + .../post_GetDomain-valuereference.xml | 18 + .../expected/post_GetRecordById-dc-full.xml | 10 + .../csw30/expected/post_GetRecordById-dc.xml | 10 + .../suites/csw30/get/requests.txt | 82 + .../Exception-GetDomain-parametername-bad.xml | 4 + ...Exception-GetDomain-valuereference-bad.xml | 4 + .../post/Exception-GetRecordById-404.xml | 4 + .../post/Exception-GetRecordById-bad-esn.xml | 5 + .../suites/csw30/post/Exception-bad-xml.xml | 9 + .../suites/csw30/post/Exception-not-xml.xml | 1 + .../suites/csw30/post/GetCapabilities.xml | 9 + .../csw30/post/GetDomain-parametername.xml | 4 + .../csw30/post/GetDomain-valuereference.xml | 4 + .../csw30/post/GetRecordById-dc-full.xml | 5 + .../suites/csw30/post/GetRecordById-dc.xml | 4 + .../suites/default/default.cfg | 90 ++ ...t_Exception-GetRepositoryItem-notfound.xml | 7 + ...ion-GetRepositoryItem-service-invalid1.xml | 7 + ...ion-GetRepositoryItem-service-invalid2.xml | 7 + ...tion-GetRepositoryItem-version-invalid.xml | 7 + .../get_GetCapabilities-invalid-request.xml | 7 + .../default/expected/get_GetCapabilities.xml | 262 ++++ .../default/expected/get_GetRecords-all.xml | 6 + .../get_GetRecords-empty-maxrecords.xml | 6 + ...lter-cql-title-or-abstract-with-spaces.xml | 23 + ...etRecords-filter-cql-title-or-abstract.xml | 23 + ...le-with-spaces-or-abstract-with-spaces.xml | 23 + ...lter-cql-title-with-spaces-or-abstract.xml | 23 + ...etRecords-filter-cql-title-with-spaces.xml | 23 + .../get_GetRecords-filter-cql-title.xml | 23 + .../expected/get_GetRecords-filter.xml | 16 + .../expected/get_GetRecords-sortby-asc.xml | 91 ++ .../expected/get_GetRecords-sortby-desc.xml | 93 ++ .../get_GetRecords-sortby-invalid-order.xml | 7 + ...GetRecords-sortby-invalid-propertyname.xml | 7 + .../expected/get_GetRepositoryItem.xml | 14 + .../expected/post_DescribeRecord-json.xml | 231 +++ .../default/expected/post_DescribeRecord.xml | 115 ++ .../post_Exception-GetRecords-badsrsname.xml | 7 + .../post_Exception-GetRecords-elementname.xml | 7 + .../post_Exception-GetRecords-invalid-xml.xml | 8 + .../expected/post_GetCapabilities-SOAP.xml | 266 ++++ .../post_GetCapabilities-sections.xml | 83 + .../post_GetCapabilities-updatesequence.xml | 262 ++++ .../default/expected/post_GetCapabilities.xml | 262 ++++ .../expected/post_GetDomain-parameter.xml | 11 + .../expected/post_GetDomain-property.xml | 18 + .../expected/post_GetRecordById-json.xml | 18 + .../default/expected/post_GetRecordById.xml | 15 + .../expected/post_GetRecords-all-json.xml | 64 + .../post_GetRecords-all-resulttype-hits.xml | 6 + ...ost_GetRecords-all-resulttype-validate.xml | 11 + .../post_GetRecords-all-sortby-bbox.xml | 56 + .../default/expected/post_GetRecords-all.xml | 49 + .../post_GetRecords-bbox-filter-crs84.xml | 34 + ...post_GetRecords-cql-title-and-abstract.xml | 12 + .../expected/post_GetRecords-cql-title.xml | 17 + .../post_GetRecords-distributedsearch.xml | 17 + .../expected/post_GetRecords-elementname.xml | 20 + .../default/expected/post_GetRecords-end.xml | 30 + ...st_GetRecords-filter-and-bbox-freetext.xml | 16 + .../post_GetRecords-filter-and-nested-or.xml | 16 + .../post_GetRecords-filter-and-nested-or2.xml | 23 + ...post_GetRecords-filter-anytext-and-not.xml | 15 + .../post_GetRecords-filter-anytext-equal.xml | 36 + .../post_GetRecords-filter-anytext.xml | 36 + .../post_GetRecords-filter-bbox-reproject.xml | 25 + .../post_GetRecords-filter-bbox-sortby.xml | 25 + .../expected/post_GetRecords-filter-bbox.xml | 25 + .../post_GetRecords-filter-between.xml | 49 + .../post_GetRecords-filter-function-bad.xml | 7 + .../post_GetRecords-filter-function.xml | 12 + .../post_GetRecords-filter-not-bbox.xml | 36 + ...ost_GetRecords-filter-or-bbox-freetext.xml | 25 + .../post_GetRecords-filter-or-nested-and.xml | 60 + ...st_GetRecords-filter-or-title-abstract.xml | 19 + .../expected/post_GetRecords-maxrecords.xml | 16 + .../expected/post_GetRecords-requestid.xml | 50 + .../default/expected/post_Harvest-default.xml | 7 + .../post_Harvest-response-handler.xml | 7 + .../expected/post_Transaction-delete.xml | 7 + .../expected/post_Transaction-insert.xml | 7 + .../expected/post_Transaction-update-full.xml | 7 + ...post_Transaction-update-recordproperty.xml | 7 + .../suites/default/get/requests.txt | 20 + .../default/post/DescribeRecord-json.xml | 4 + .../suites/default/post/DescribeRecord.xml | 4 + .../post/Exception-GetRecords-badsrsname.xml | 19 + .../post/Exception-GetRecords-elementname.xml | 6 + .../post/Exception-GetRecords-invalid-xml.xml | 6 + .../default/post/GetCapabilities-SOAP.xml | 13 + .../default/post/GetCapabilities-sections.xml | 12 + .../post/GetCapabilities-updatesequence.xml | 9 + .../suites/default/post/GetCapabilities.xml | 9 + .../default/post/GetDomain-parameter.xml | 4 + .../default/post/GetDomain-property.xml | 4 + .../default/post/GetRecordById-json.xml | 5 + .../suites/default/post/GetRecordById.xml | 5 + .../default/post/GetRecords-all-json.xml | 6 + .../post/GetRecords-all-resulttype-hits.xml | 6 + .../GetRecords-all-resulttype-validate.xml | 6 + .../post/GetRecords-all-sortby-bbox.xml | 12 + .../suites/default/post/GetRecords-all.xml | 6 + .../post/GetRecords-bbox-filter-crs84.xml | 17 + .../GetRecords-cql-title-and-abstract.xml | 9 + .../default/post/GetRecords-cql-title.xml | 9 + .../post/GetRecords-distributedsearch.xml | 15 + .../default/post/GetRecords-elementname.xml | 6 + .../suites/default/post/GetRecords-end.xml | 6 + .../GetRecords-filter-and-bbox-freetext.xml | 23 + .../post/GetRecords-filter-and-nested-or.xml | 38 + .../post/GetRecords-filter-and-nested-or2.xml | 34 + .../GetRecords-filter-anytext-and-not.xml | 26 + .../post/GetRecords-filter-anytext-equal.xml | 14 + .../post/GetRecords-filter-anytext.xml | 14 + .../post/GetRecords-filter-bbox-reproject.xml | 17 + .../post/GetRecords-filter-bbox-sortby.xml | 23 + .../default/post/GetRecords-filter-bbox.xml | 17 + .../post/GetRecords-filter-between.xml | 20 + .../post/GetRecords-filter-function-bad.xml | 17 + .../post/GetRecords-filter-function.xml | 17 + .../post/GetRecords-filter-not-bbox.xml | 19 + .../GetRecords-filter-or-bbox-freetext.xml | 23 + .../post/GetRecords-filter-or-nested-and.xml | 30 + .../GetRecords-filter-or-title-abstract.xml | 20 + .../default/post/GetRecords-maxrecords.xml | 6 + .../default/post/GetRecords-requestid.xml | 6 + .../suites/default/post/Harvest-default.xml | 6 + .../default/post/Harvest-response-handler.xml | 7 + .../default/post/Transaction-delete.xml | 13 + .../default/post/Transaction-insert.xml | 73 + .../default/post/Transaction-update-full.xml | 73 + .../Transaction-update-recordproperty.xml | 17 + tests/functionaltests/suites/dif/default.cfg | 90 ++ .../dif/expected/post_DescribeRecord.xml | 3 + .../dif/expected/post_GetCapabilities.xml | 262 ++++ .../expected/post_GetRecords-filter-bbox.xml | 71 + .../suites/dif/post/DescribeRecord.xml | 4 + .../suites/dif/post/GetCapabilities.xml | 9 + .../dif/post/GetRecords-filter-bbox.xml | 17 + .../functionaltests/suites/ebrim/default.cfg | 93 ++ .../ebrim/expected/post_DescribeRecord.xml | 93 ++ .../ebrim/expected/post_GetCapabilities.xml | 266 ++++ .../post_GetRecords-filter-bbox-full.xml | 57 + .../expected/post_GetRecords-filter-bbox.xml | 13 + .../suites/ebrim/post/DescribeRecord.xml | 4 + .../suites/ebrim/post/GetCapabilities.xml | 9 + .../post/GetRecords-filter-bbox-full.xml | 17 + .../ebrim/post/GetRecords-filter-bbox.xml | 17 + tests/functionaltests/suites/fgdc/default.cfg | 90 ++ .../fgdc/expected/post_DescribeRecord.xml | 3 + .../fgdc/expected/post_GetCapabilities.xml | 262 ++++ .../expected/post_GetRecords-filter-bbox.xml | 123 ++ .../suites/fgdc/post/DescribeRecord.xml | 4 + .../suites/fgdc/post/GetCapabilities.xml | 9 + .../fgdc/post/GetRecords-filter-bbox.xml | 17 + tests/functionaltests/suites/gm03/default.cfg | 90 ++ .../gm03/expected/post_GetCapabilities.xml | 262 ++++ .../expected/post_GetRecords-filter-bbox.xml | 137 ++ .../suites/gm03/post/GetCapabilities.xml | 9 + .../gm03/post/GetRecords-filter-bbox.xml | 17 + .../suites/harvesting/default.cfg | 91 ++ ...Exception-Harvest-invalid-resourcetype.xml | 7 + ...Exception-Harvest-missing-resourcetype.xml | 7 + .../get_Exception-Harvest-missing-source.xml | 7 + .../get_Exception-Harvest-waf-bad-value.xml | 7 + ...Exception-Harvest-waf-no-records-found.xml | 11 + .../expected/post_Clear-000-delete-all.xml | 9 + .../post_Exception-Havest-csw-404.xml | 7 + .../expected/post_GetCapabilities.xml | 368 +++++ .../expected/post_GetDomain-parameter.xml | 27 + .../expected/post_Harvest-csw-iso.xml | 149 ++ .../expected/post_Harvest-csw-run1.xml | 65 + .../expected/post_Harvest-csw-run2.xml | 11 + .../harvesting/expected/post_Harvest-dc.xml | 17 + .../harvesting/expected/post_Harvest-fgdc.xml | 17 + .../harvesting/expected/post_Harvest-iso.xml | 17 + .../harvesting/expected/post_Harvest-rdf.xml | 17 + .../expected/post_Harvest-sos100.xml | 133 ++ .../expected/post_Harvest-sos200.xml | 21 + .../harvesting/expected/post_Harvest-waf.xml | 25 + .../harvesting/expected/post_Harvest-wcs.xml | 33 + .../expected/post_Harvest-wfs110.xml | 37 + .../expected/post_Harvest-wfs200.xml | 57 + .../expected/post_Harvest-wms-run1.xml | 29 + .../expected/post_Harvest-wms-run2.xml | 11 + .../harvesting/expected/post_Harvest-wmts.xml | 45 + .../harvesting/expected/post_Harvest-wps.xml | 57 + ...vest-zzz-post-GetRecords-filter-ows-dc.xml | 125 ++ ...post-GetRecords-filter-sos-abstract-dc.xml | 30 + ...vest-zzz-post-GetRecords-filter-sos-dc.xml | 69 + ...est-zzz-post-GetRecords-filter-sos-iso.xml | 955 ++++++++++++ ...est-zzz-post-GetRecords-filter-wfs-iso.xml | 1061 +++++++++++++ ...vest-zzz-post-GetRecords-filter-wms-dc.xml | 89 ++ ...est-zzz-post-GetRecords-filter-wms-iso.xml | 1361 +++++++++++++++++ ...t-zzz-post-GetRecords-filter-wms-layer.xml | 33 + ...zzz-post-GetRecords-filter-wps-process.xml | 62 + .../post_Transaction-000-delete-all.xml | 9 + .../suites/harvesting/get/requests.txt | 5 + .../harvesting/post/Clear-000-delete-all.xml | 13 + .../post/Exception-Havest-csw-404.xml | 6 + .../harvesting/post/GetCapabilities.xml | 9 + .../harvesting/post/GetDomain-parameter.xml | 4 + .../harvesting/post/Harvest-csw-iso.xml | 6 + .../harvesting/post/Harvest-csw-run1.xml | 6 + .../harvesting/post/Harvest-csw-run2.xml | 6 + .../suites/harvesting/post/Harvest-dc.xml | 6 + .../suites/harvesting/post/Harvest-fgdc.xml | 6 + .../suites/harvesting/post/Harvest-iso.xml | 6 + .../suites/harvesting/post/Harvest-rdf.xml | 6 + .../suites/harvesting/post/Harvest-sos100.xml | 5 + .../suites/harvesting/post/Harvest-sos200.xml | 5 + .../suites/harvesting/post/Harvest-waf.xml | 5 + .../suites/harvesting/post/Harvest-wcs.xml | 6 + .../suites/harvesting/post/Harvest-wfs110.xml | 6 + .../suites/harvesting/post/Harvest-wfs200.xml | 6 + .../harvesting/post/Harvest-wms-run1.xml | 6 + .../harvesting/post/Harvest-wms-run2.xml | 6 + .../suites/harvesting/post/Harvest-wmts.xml | 6 + .../suites/harvesting/post/Harvest-wps.xml | 6 + ...vest-zzz-post-GetRecords-filter-ows-dc.xml | 36 + ...post-GetRecords-filter-sos-abstract-dc.xml | 24 + ...vest-zzz-post-GetRecords-filter-sos-dc.xml | 20 + ...est-zzz-post-GetRecords-filter-sos-iso.xml | 20 + ...est-zzz-post-GetRecords-filter-wfs-iso.xml | 20 + ...vest-zzz-post-GetRecords-filter-wms-dc.xml | 20 + ...est-zzz-post-GetRecords-filter-wms-iso.xml | 20 + ...t-zzz-post-GetRecords-filter-wms-layer.xml | 20 + ...zzz-post-GetRecords-filter-wps-process.xml | 14 + .../post/Transaction-000-delete-all.xml | 13 + .../suites/manager/default.cfg | 91 ++ .../expected/post_Clear-000-delete-all.xml | 9 + .../manager/expected/post_GetCapabilities.xml | 368 +++++ .../expected/post_GetDomain-parameter.xml | 27 + .../post_Transaction-000-delete-all.xml | 9 + .../post_Transaction-dc-01-insert.xml | 15 + .../post_Transaction-dc-02-update-full.xml | 9 + .../post_Transaction-fgdc-01-insert.xml | 15 + ...ost_Transaction-fgdc-02-update-recprop.xml | 9 + .../post_Transaction-fgdc-03-delete-all.xml | 9 + .../post_Transaction-iso-00-delete-all.xml | 9 + .../post_Transaction-iso-01-insert.xml | 15 + .../post_Transaction-iso-02-update-full.xml | 9 + ...post_Transaction-iso-03-update-recprop.xml | 9 + ...ction-iso-04-update-recprop-no-matches.xml | 9 + .../post_Transaction-iso-05-delete.xml | 9 + .../post_Transaction-xxx-delete-all.xml | 9 + .../manager/post/Clear-000-delete-all.xml | 13 + .../suites/manager/post/GetCapabilities.xml | 9 + .../manager/post/GetDomain-parameter.xml | 4 + .../post/Transaction-000-delete-all.xml | 13 + .../manager/post/Transaction-dc-01-insert.xml | 22 + .../post/Transaction-dc-02-update-full.xml | 22 + .../post/Transaction-fgdc-01-insert.xml | 214 +++ .../Transaction-fgdc-02-update-recprop.xml | 17 + .../post/Transaction-fgdc-03-delete-all.xml | 13 + .../post/Transaction-iso-00-delete-all.xml | 13 + .../post/Transaction-iso-01-insert.xml | 73 + .../post/Transaction-iso-02-update-full.xml | 73 + .../Transaction-iso-03-update-recprop.xml | 17 + ...ction-iso-04-update-recprop-no-matches.xml | 17 + .../post/Transaction-iso-05-delete.xml | 13 + .../post/Transaction-xxx-delete-all.xml | 13 + .../functionaltests/suites/oaipmh/default.cfg | 91 ++ .../get_GetRecord_bad_metadata_prefix.xml | 7 + .../oaipmh/expected/get_GetRecord_dc.xml | 26 + .../oaipmh/expected/get_GetRecord_iso.xml | 62 + .../oaipmh/expected/get_GetRecord_oai_dc.xml | 26 + .../suites/oaipmh/expected/get_Identify.xml | 15 + ...et_ListIdentifiers_bad_metadata_prefix.xml | 7 + .../expected/get_ListIdentifiers_dc.xml | 79 + .../expected/get_ListIdentifiers_iso.xml | 79 + ...istIdentifiers_missing_metadata_prefix.xml | 7 + .../expected/get_ListIdentifiers_oai_dc.xml | 79 + .../expected/get_ListMetadataFormats.xml | 38 + .../oaipmh/expected/get_ListRecords_dc.xml | 185 +++ ...get_ListRecords_dc_bad_metadata_prefix.xml | 7 + .../expected/get_ListRecords_iso19139.xml | 588 +++++++ .../expected/get_ListRecords_oai_dc.xml | 185 +++ .../suites/oaipmh/expected/get_ListSets.xml | 16 + .../suites/oaipmh/expected/get_bad_verb.xml | 7 + .../suites/oaipmh/expected/get_empty.xml | 7 + .../oaipmh/expected/get_empty_with_amp.xml | 7 + .../oaipmh/expected/get_illegal_verb.xml | 7 + .../suites/oaipmh/get/requests.txt | 20 + .../suites/repofilter/default.cfg | 91 ++ .../expected/post_GetRecordById-masked.xml | 3 + .../expected/post_GetRecords-all.xml | 37 + .../repofilter/post/GetRecordById-masked.xml | 5 + .../suites/repofilter/post/GetRecords-all.xml | 6 + tests/functionaltests/suites/sru/default.cfg | 90 ++ .../suites/sru/expected/get_explain.xml | 128 ++ .../suites/sru/expected/get_search.xml | 6 + .../suites/sru/expected/get_search_cql.xml | 30 + .../sru/expected/get_search_maxrecords.xml | 30 + .../get_search_startrecord_maxrecords.xml | 30 + .../suites/sru/get/requests.txt | 5 + .../functionaltests/suites/utf-8/default.cfg | 89 ++ .../utf-8/expected/post_GetCapabilities.xml | 262 ++++ .../suites/utf-8/post/GetCapabilities.xml | 9 + 596 files changed, 39573 insertions(+) create mode 100644 tests/functionaltests/suites/apiso-inspire/default.cfg create mode 100644 tests/functionaltests/suites/apiso-inspire/expected/get_GetCapabilities-lang.xml create mode 100644 tests/functionaltests/suites/apiso-inspire/expected/get_GetCapabilities.xml create mode 100644 tests/functionaltests/suites/apiso-inspire/get/requests.txt create mode 100644 tests/functionaltests/suites/apiso/data/3e9a8c05.xml create mode 100644 tests/functionaltests/suites/apiso/data/README.txt create mode 100644 tests/functionaltests/suites/apiso/data/T_aerfo_RAS_1991_GR800P001800000012.xml create mode 100644 tests/functionaltests/suites/apiso/data/T_aerfo_RAS_1991_GR800P001800000013.xml create mode 100644 tests/functionaltests/suites/apiso/data/T_aerfo_RAS_1991_GR800P001800000014.xml create mode 100644 tests/functionaltests/suites/apiso/data/T_aerfo_RAS_1991_GR800P001800000015.xml create mode 100644 tests/functionaltests/suites/apiso/data/T_ortho_RAS_1998_284404.xml create mode 100644 tests/functionaltests/suites/apiso/data/T_ortho_RAS_1998_288395.xml create mode 100644 tests/functionaltests/suites/apiso/data/T_ortho_RAS_1998_288398.xml create mode 100644 tests/functionaltests/suites/apiso/data/T_ortho_RAS_1998_288401.xml create mode 100644 tests/functionaltests/suites/apiso/data/T_ortho_RAS_1998_288404.xml create mode 100644 tests/functionaltests/suites/apiso/data/T_pmoed_DTM_1996_276395.xml create mode 100644 tests/functionaltests/suites/apiso/data/T_pmoed_DTM_1996_276398.xml create mode 100644 tests/functionaltests/suites/apiso/data/T_pmoed_DTM_1996_276401.xml create mode 100644 tests/functionaltests/suites/apiso/data/T_pmoed_DTM_1996_276404.xml create mode 100644 tests/functionaltests/suites/apiso/data/T_pmoed_DTM_1996_280395.xml create mode 100644 tests/functionaltests/suites/apiso/data/pacioos-NS06agg.xml create mode 100644 tests/functionaltests/suites/apiso/data/test.xml create mode 100644 tests/functionaltests/suites/apiso/default.cfg create mode 100644 tests/functionaltests/suites/apiso/expected/post_DescribeRecord.xml create mode 100644 tests/functionaltests/suites/apiso/expected/post_GetCapabilities.xml create mode 100644 tests/functionaltests/suites/apiso/expected/post_GetDomain-property.xml create mode 100644 tests/functionaltests/suites/apiso/expected/post_GetRecordById-brief.xml create mode 100644 tests/functionaltests/suites/apiso/expected/post_GetRecordById-full-dc.xml create mode 100644 tests/functionaltests/suites/apiso/expected/post_GetRecordById-full.xml create mode 100644 tests/functionaltests/suites/apiso/expected/post_GetRecordById-srv-brief.xml create mode 100644 tests/functionaltests/suites/apiso/expected/post_GetRecords-all-csw-output.xml create mode 100644 tests/functionaltests/suites/apiso/expected/post_GetRecords-all.xml create mode 100644 tests/functionaltests/suites/apiso/expected/post_GetRecords-cql-title.xml create mode 100644 tests/functionaltests/suites/apiso/expected/post_GetRecords-elementname.xml create mode 100644 tests/functionaltests/suites/apiso/expected/post_GetRecords-filter-and-nested-spatial-or-dateline.xml create mode 100644 tests/functionaltests/suites/apiso/expected/post_GetRecords-filter-anytext.xml create mode 100644 tests/functionaltests/suites/apiso/expected/post_GetRecords-filter-bbox-csw-output.xml create mode 100644 tests/functionaltests/suites/apiso/expected/post_GetRecords-filter-bbox.xml create mode 100644 tests/functionaltests/suites/apiso/expected/post_GetRecords-filter-servicetype.xml create mode 100644 tests/functionaltests/suites/apiso/post/DescribeRecord.xml create mode 100644 tests/functionaltests/suites/apiso/post/GetCapabilities.xml create mode 100644 tests/functionaltests/suites/apiso/post/GetDomain-property.xml create mode 100644 tests/functionaltests/suites/apiso/post/GetRecordById-brief.xml create mode 100644 tests/functionaltests/suites/apiso/post/GetRecordById-full-dc.xml create mode 100644 tests/functionaltests/suites/apiso/post/GetRecordById-full.xml create mode 100644 tests/functionaltests/suites/apiso/post/GetRecordById-srv-brief.xml create mode 100644 tests/functionaltests/suites/apiso/post/GetRecords-all-csw-output.xml create mode 100644 tests/functionaltests/suites/apiso/post/GetRecords-all.xml create mode 100644 tests/functionaltests/suites/apiso/post/GetRecords-cql-title.xml create mode 100644 tests/functionaltests/suites/apiso/post/GetRecords-elementname.xml create mode 100644 tests/functionaltests/suites/apiso/post/GetRecords-filter-and-nested-spatial-or-dateline.xml create mode 100644 tests/functionaltests/suites/apiso/post/GetRecords-filter-anytext.xml create mode 100644 tests/functionaltests/suites/apiso/post/GetRecords-filter-bbox-csw-output.xml create mode 100644 tests/functionaltests/suites/apiso/post/GetRecords-filter-bbox.xml create mode 100644 tests/functionaltests/suites/apiso/post/GetRecords-filter-servicetype.xml create mode 100644 tests/functionaltests/suites/atom/default.cfg create mode 100644 tests/functionaltests/suites/atom/expected/get_opensearch-description.xml create mode 100644 tests/functionaltests/suites/atom/expected/get_opensearch-ogc-bbox-and-time.xml create mode 100644 tests/functionaltests/suites/atom/expected/get_opensearch-ogc-bbox.xml create mode 100644 tests/functionaltests/suites/atom/expected/get_opensearch-ogc-count-and-page1.xml create mode 100644 tests/functionaltests/suites/atom/expected/get_opensearch-ogc-count-and-page2.xml create mode 100644 tests/functionaltests/suites/atom/expected/get_opensearch-ogc-q-and-bbox.xml create mode 100644 tests/functionaltests/suites/atom/expected/get_opensearch-ogc-q-and-time.xml create mode 100644 tests/functionaltests/suites/atom/expected/get_opensearch-ogc-q.xml create mode 100644 tests/functionaltests/suites/atom/expected/get_opensearch-ogc-time.xml create mode 100644 tests/functionaltests/suites/atom/expected/get_opensearch-ogc-timeend.xml create mode 100644 tests/functionaltests/suites/atom/expected/get_opensearch-ogc-timestart.xml create mode 100644 tests/functionaltests/suites/atom/expected/get_opensearch.xml create mode 100644 tests/functionaltests/suites/atom/expected/post_DescribeRecord.xml create mode 100644 tests/functionaltests/suites/atom/expected/post_GetCapabilities.xml create mode 100644 tests/functionaltests/suites/atom/expected/post_GetRecords-filter-bbox.xml create mode 100644 tests/functionaltests/suites/atom/get/requests.txt create mode 100644 tests/functionaltests/suites/atom/post/DescribeRecord.xml create mode 100644 tests/functionaltests/suites/atom/post/GetCapabilities.xml create mode 100644 tests/functionaltests/suites/atom/post/GetRecords-filter-bbox.xml create mode 100644 tests/functionaltests/suites/cite/data/README.txt create mode 100644 tests/functionaltests/suites/cite/data/Record_19887a8a-f6b0-4a63-ae56-7fba0e17801f.xml create mode 100644 tests/functionaltests/suites/cite/data/Record_1ef30a8b-876d-4828-9246-c37ab4510bbd.xml create mode 100644 tests/functionaltests/suites/cite/data/Record_66ae76b7-54ba-489b-a582-0f0633d96493.xml create mode 100644 tests/functionaltests/suites/cite/data/Record_6a3de50b-fa66-4b58-a0e6-ca146fdd18d4.xml create mode 100644 tests/functionaltests/suites/cite/data/Record_784e2afd-a9fd-44a6-9a92-a3848371c8ec.xml create mode 100644 tests/functionaltests/suites/cite/data/Record_829babb0-b2f1-49e1-8cd5-7b489fe71a1e.xml create mode 100644 tests/functionaltests/suites/cite/data/Record_88247b56-4cbc-4df9-9860-db3f8042e357.xml create mode 100644 tests/functionaltests/suites/cite/data/Record_94bc9c83-97f6-4b40-9eb8-a8e8787a5c63.xml create mode 100644 tests/functionaltests/suites/cite/data/Record_9a669547-b69b-469f-a11f-2d875366bbdc.xml create mode 100644 tests/functionaltests/suites/cite/data/Record_a06af396-3105-442d-8b40-22b57a90d2f2.xml create mode 100644 tests/functionaltests/suites/cite/data/Record_ab42a8c4-95e8-4630-bf79-33e59241605a.xml create mode 100644 tests/functionaltests/suites/cite/data/Record_e9330592-0932-474b-be34-c3a3bb67c7db.xml create mode 100644 tests/functionaltests/suites/cite/data/cite.db create mode 100644 tests/functionaltests/suites/cite/default.cfg create mode 100644 tests/functionaltests/suites/cite/expected/get_27e17158-c57a-4493-92ac-dba8934cf462.xml create mode 100644 tests/functionaltests/suites/cite/expected/get_27f69b66-5f05-4311-a89c-73ca55c2686b.xml create mode 100644 tests/functionaltests/suites/cite/expected/get_2ab7d1fa-885b-459f-80e4-b6282eab4f8c.xml create mode 100644 tests/functionaltests/suites/cite/expected/get_37aa90e2-6ff0-420c-af15-8b9463099a73.xml create mode 100644 tests/functionaltests/suites/cite/expected/get_3a8a3c47-455f-4f49-9078-03119f3e70b3.xml create mode 100644 tests/functionaltests/suites/cite/expected/get_4515831f-834a-4699-95f6-ab0c2cbfcfd0.xml create mode 100644 tests/functionaltests/suites/cite/expected/get_477b23a3-baa9-47c8-9541-5fe27735ed49.xml create mode 100644 tests/functionaltests/suites/cite/expected/get_48f26761-3a9d-48db-bee1-da089f5fb857.xml create mode 100644 tests/functionaltests/suites/cite/expected/get_4e38092f-1586-44b8-988e-0acfa5855916.xml create mode 100644 tests/functionaltests/suites/cite/expected/get_55c38f00-2553-42c1-99ab-33edbb561ad7.xml create mode 100644 tests/functionaltests/suites/cite/expected/get_5ab5db18-c87a-4fbf-a8d8-b7289b09ac81.xml create mode 100644 tests/functionaltests/suites/cite/expected/get_6a4f57ca-a1bd-4802-89c2-44860dbdb0f0.xml create mode 100644 tests/functionaltests/suites/cite/expected/get_6c375703-9c00-4aef-bec7-d2e964f849eb.xml create mode 100644 tests/functionaltests/suites/cite/expected/get_80f31def-4185-48b9-983a-960566918eae.xml create mode 100644 tests/functionaltests/suites/cite/expected/get_8e2232ed-05d9-44ae-8b04-0911cbe6a507.xml create mode 100644 tests/functionaltests/suites/cite/expected/get_9697f0aa-3b6a-4125-83a5-61e8826127c4.xml create mode 100644 tests/functionaltests/suites/cite/expected/get_9bfd17fa-15dc-4a10-8fa7-b3cff7013dd7.xml create mode 100644 tests/functionaltests/suites/cite/expected/get_b81c3595-06d6-4693-82ea-1ff8650755ac.xml create mode 100644 tests/functionaltests/suites/cite/expected/get_ba5fc729-3b71-47a0-b7d0-42ec565cd185.xml create mode 100644 tests/functionaltests/suites/cite/expected/get_c4ea754f-c158-4d8d-8253-dc8f86021b52.xml create mode 100644 tests/functionaltests/suites/cite/expected/get_f4692ec5-9547-4a05-88ab-e6154af2640a.xml create mode 100644 tests/functionaltests/suites/cite/expected/get_f997f25e-c865-4d53-a362-0ed1846337f2.xml create mode 100644 tests/functionaltests/suites/cite/expected/post_0c976d98-c896-4b10-b1fe-a22ef50434e7.xml create mode 100644 tests/functionaltests/suites/cite/expected/post_19d2a6ed-be28-4866-ae15-e3bb634486cb.xml create mode 100644 tests/functionaltests/suites/cite/expected/post_1ab55aa3-6685-4595-8ecd-45987a7b8b59.xml create mode 100644 tests/functionaltests/suites/cite/expected/post_1c958b7a-ca09-4c38-98bd-ef1d1d28cc14.xml create mode 100644 tests/functionaltests/suites/cite/expected/post_1c97fc1a-61cd-4c1d-8054-933e17a6c5ee.xml create mode 100644 tests/functionaltests/suites/cite/expected/post_2102a460-5d62-465f-9668-d70b3faafbfa.xml create mode 100644 tests/functionaltests/suites/cite/expected/post_225f455a-0035-486b-a94e-fee7ae881b2b.xml create mode 100644 tests/functionaltests/suites/cite/expected/post_2d53ffea-60e4-4652-abf5-36eb23042fd5.xml create mode 100644 tests/functionaltests/suites/cite/expected/post_34a019a9-1581-42cb-9827-fbfdda2773b7.xml create mode 100644 tests/functionaltests/suites/cite/expected/post_3e76fd38-e035-41c9-83dc-61356f680c97.xml create mode 100644 tests/functionaltests/suites/cite/expected/post_418a6fb0-a89c-4a94-afc9-3f8168eb2980.xml create mode 100644 tests/functionaltests/suites/cite/expected/post_420b745e-0c4b-404e-9f2d-61fa580ff05a.xml create mode 100644 tests/functionaltests/suites/cite/expected/post_4735d649-a2b1-42fd-a101-14e1d7e4607f.xml create mode 100644 tests/functionaltests/suites/cite/expected/post_5c5861bc-f742-40a5-9998-5342615d674b.xml create mode 100644 tests/functionaltests/suites/cite/expected/post_6e736fd0-c266-4852-9eb3-0656f5d0f5c4.xml create mode 100644 tests/functionaltests/suites/cite/expected/post_73f1551c-e269-4ef9-9dae-e535b5eebfc7.xml create mode 100644 tests/functionaltests/suites/cite/expected/post_78297c88-4850-4927-adc6-511cd9a3d539.xml create mode 100644 tests/functionaltests/suites/cite/expected/post_7c89cdf5-0def-4cfb-8c55-2b8ffea5d92f.xml create mode 100644 tests/functionaltests/suites/cite/expected/post_7e2cd105-daec-4d25-bc8e-d49d21364912.xml create mode 100644 tests/functionaltests/suites/cite/expected/post_87f2f670-9cd6-4907-b82c-1b46a7dd2a78.xml create mode 100644 tests/functionaltests/suites/cite/expected/post_88b4e1ba-3bd4-4cbe-81e5-e004056d6ca3.xml create mode 100644 tests/functionaltests/suites/cite/expected/post_898cd63b-2585-4ec0-8720-d554bd324174.xml create mode 100644 tests/functionaltests/suites/cite/expected/post_8fb13dc3-5818-45e2-9e29-46abc16e7d38.xml create mode 100644 tests/functionaltests/suites/cite/expected/post_928c1896-52d4-4ac7-9832-f98e3eb65f02.xml create mode 100644 tests/functionaltests/suites/cite/expected/post_93bdbb9d-2734-4f01-92fb-48634cca41de.xml create mode 100644 tests/functionaltests/suites/cite/expected/post_948b39d5-bb4f-45b8-a8f2-4ff9501aaedd.xml create mode 100644 tests/functionaltests/suites/cite/expected/post_9fd64fcc-f69c-4626-b72e-5c7776a29aa9.xml create mode 100644 tests/functionaltests/suites/cite/expected/post_a06d04ab-e0d0-4a86-bfe8-71460f41fe37.xml create mode 100644 tests/functionaltests/suites/cite/expected/post_ad61686c-d304-42d1-b845-8c1f3070c83e.xml create mode 100644 tests/functionaltests/suites/cite/expected/post_af39c020-7b1d-429c-b474-f45c3164cb79.xml create mode 100644 tests/functionaltests/suites/cite/expected/post_b90e2de6-3d25-4298-a13e-dc9492a8fc73.xml create mode 100644 tests/functionaltests/suites/cite/expected/post_ba9b0107-dcee-46ef-823a-a2e25a911a96.xml create mode 100644 tests/functionaltests/suites/cite/expected/post_bb66ebc5-7121-48b5-9f53-b56537d9561b.xml create mode 100644 tests/functionaltests/suites/cite/expected/post_c02d1c85-df9f-45ee-bea7-345c35e02a98.xml create mode 100644 tests/functionaltests/suites/cite/expected/post_c311a342-72e3-4983-be39-868e6ed9740f.xml create mode 100644 tests/functionaltests/suites/cite/expected/post_c38916c2-4bc6-446d-b7aa-ab006d6ba31c.xml create mode 100644 tests/functionaltests/suites/cite/expected/post_c8588f47-8e65-45f5-ad34-ff4524cad84d.xml create mode 100644 tests/functionaltests/suites/cite/expected/post_da228d4c-e1be-43d7-9ccb-c3f27ee32541.xml create mode 100644 tests/functionaltests/suites/cite/expected/post_dc92c2c4-87d8-4a13-964e-ff9b0e0c27b3.xml create mode 100644 tests/functionaltests/suites/cite/expected/post_dcb13791-379e-4739-bcd4-dbaa69f0efdb.xml create mode 100644 tests/functionaltests/suites/cite/expected/post_e308f030-c097-4036-a838-44bad74c9ef7.xml create mode 100644 tests/functionaltests/suites/cite/expected/post_e6e9efb2-e2b7-4b0a-a3a2-7deea3f9b8e2.xml create mode 100644 tests/functionaltests/suites/cite/expected/post_f7976c55-a156-4421-8199-bc0487da4b0f.xml create mode 100644 tests/functionaltests/suites/cite/expected/post_f7d79701-f10b-4087-a33c-f62df0a04fd1.xml create mode 100644 tests/functionaltests/suites/cite/expected/post_fc1bc094-88f1-4851-bc2b-dfc56be9f3c7.xml create mode 100644 tests/functionaltests/suites/cite/expected/post_fe20960f-a26c-4f13-852d-470a0d3233f9.xml create mode 100644 tests/functionaltests/suites/cite/get/requests.txt create mode 100644 tests/functionaltests/suites/cite/post/0c976d98-c896-4b10-b1fe-a22ef50434e7.xml create mode 100644 tests/functionaltests/suites/cite/post/19d2a6ed-be28-4866-ae15-e3bb634486cb.xml create mode 100644 tests/functionaltests/suites/cite/post/1ab55aa3-6685-4595-8ecd-45987a7b8b59.xml create mode 100644 tests/functionaltests/suites/cite/post/1c958b7a-ca09-4c38-98bd-ef1d1d28cc14.xml create mode 100644 tests/functionaltests/suites/cite/post/1c97fc1a-61cd-4c1d-8054-933e17a6c5ee.xml create mode 100644 tests/functionaltests/suites/cite/post/2102a460-5d62-465f-9668-d70b3faafbfa.xml create mode 100644 tests/functionaltests/suites/cite/post/225f455a-0035-486b-a94e-fee7ae881b2b.xml create mode 100644 tests/functionaltests/suites/cite/post/2d53ffea-60e4-4652-abf5-36eb23042fd5.xml create mode 100644 tests/functionaltests/suites/cite/post/34a019a9-1581-42cb-9827-fbfdda2773b7.xml create mode 100644 tests/functionaltests/suites/cite/post/3e76fd38-e035-41c9-83dc-61356f680c97.xml create mode 100644 tests/functionaltests/suites/cite/post/418a6fb0-a89c-4a94-afc9-3f8168eb2980.xml create mode 100644 tests/functionaltests/suites/cite/post/420b745e-0c4b-404e-9f2d-61fa580ff05a.xml create mode 100644 tests/functionaltests/suites/cite/post/4735d649-a2b1-42fd-a101-14e1d7e4607f.xml create mode 100644 tests/functionaltests/suites/cite/post/5c5861bc-f742-40a5-9998-5342615d674b.xml create mode 100644 tests/functionaltests/suites/cite/post/6e736fd0-c266-4852-9eb3-0656f5d0f5c4.xml create mode 100644 tests/functionaltests/suites/cite/post/73f1551c-e269-4ef9-9dae-e535b5eebfc7.xml create mode 100644 tests/functionaltests/suites/cite/post/78297c88-4850-4927-adc6-511cd9a3d539.xml create mode 100644 tests/functionaltests/suites/cite/post/7c89cdf5-0def-4cfb-8c55-2b8ffea5d92f.xml create mode 100644 tests/functionaltests/suites/cite/post/7e2cd105-daec-4d25-bc8e-d49d21364912.xml create mode 100644 tests/functionaltests/suites/cite/post/87f2f670-9cd6-4907-b82c-1b46a7dd2a78.xml create mode 100644 tests/functionaltests/suites/cite/post/88b4e1ba-3bd4-4cbe-81e5-e004056d6ca3.xml create mode 100644 tests/functionaltests/suites/cite/post/898cd63b-2585-4ec0-8720-d554bd324174.xml create mode 100644 tests/functionaltests/suites/cite/post/8fb13dc3-5818-45e2-9e29-46abc16e7d38.xml create mode 100644 tests/functionaltests/suites/cite/post/928c1896-52d4-4ac7-9832-f98e3eb65f02.xml create mode 100644 tests/functionaltests/suites/cite/post/93bdbb9d-2734-4f01-92fb-48634cca41de.xml create mode 100644 tests/functionaltests/suites/cite/post/948b39d5-bb4f-45b8-a8f2-4ff9501aaedd.xml create mode 100644 tests/functionaltests/suites/cite/post/9fd64fcc-f69c-4626-b72e-5c7776a29aa9.xml create mode 100644 tests/functionaltests/suites/cite/post/a06d04ab-e0d0-4a86-bfe8-71460f41fe37.xml create mode 100644 tests/functionaltests/suites/cite/post/ad61686c-d304-42d1-b845-8c1f3070c83e.xml create mode 100644 tests/functionaltests/suites/cite/post/af39c020-7b1d-429c-b474-f45c3164cb79.xml create mode 100644 tests/functionaltests/suites/cite/post/b90e2de6-3d25-4298-a13e-dc9492a8fc73.xml create mode 100644 tests/functionaltests/suites/cite/post/ba9b0107-dcee-46ef-823a-a2e25a911a96.xml create mode 100644 tests/functionaltests/suites/cite/post/bb66ebc5-7121-48b5-9f53-b56537d9561b.xml create mode 100644 tests/functionaltests/suites/cite/post/c02d1c85-df9f-45ee-bea7-345c35e02a98.xml create mode 100644 tests/functionaltests/suites/cite/post/c311a342-72e3-4983-be39-868e6ed9740f.xml create mode 100644 tests/functionaltests/suites/cite/post/c38916c2-4bc6-446d-b7aa-ab006d6ba31c.xml create mode 100644 tests/functionaltests/suites/cite/post/c8588f47-8e65-45f5-ad34-ff4524cad84d.xml create mode 100644 tests/functionaltests/suites/cite/post/da228d4c-e1be-43d7-9ccb-c3f27ee32541.xml create mode 100644 tests/functionaltests/suites/cite/post/dc92c2c4-87d8-4a13-964e-ff9b0e0c27b3.xml create mode 100644 tests/functionaltests/suites/cite/post/dcb13791-379e-4739-bcd4-dbaa69f0efdb.xml create mode 100644 tests/functionaltests/suites/cite/post/e308f030-c097-4036-a838-44bad74c9ef7.xml create mode 100644 tests/functionaltests/suites/cite/post/e6e9efb2-e2b7-4b0a-a3a2-7deea3f9b8e2.xml create mode 100644 tests/functionaltests/suites/cite/post/f7976c55-a156-4421-8199-bc0487da4b0f.xml create mode 100644 tests/functionaltests/suites/cite/post/f7d79701-f10b-4087-a33c-f62df0a04fd1.xml create mode 100644 tests/functionaltests/suites/cite/post/fc1bc094-88f1-4851-bc2b-dfc56be9f3c7.xml create mode 100644 tests/functionaltests/suites/cite/post/fe20960f-a26c-4f13-852d-470a0d3233f9.xml create mode 100644 tests/functionaltests/suites/csw30/default.cfg create mode 100644 tests/functionaltests/suites/csw30/expected/get_002258f0-627f-457f-b2ad-025777c77ac8.xml create mode 100644 tests/functionaltests/suites/csw30/expected/get_045c600d-973d-41eb-9f60-eba1b717b720.xml create mode 100644 tests/functionaltests/suites/csw30/expected/get_0bbcf862-5211-4351-9988-63f8bec49c98.xml create mode 100644 tests/functionaltests/suites/csw30/expected/get_0bdf8457-971e-4ed1-be4a-5feca4dcd8fa.xml create mode 100644 tests/functionaltests/suites/csw30/expected/get_0d8bbdec-0846-42ca-8dc8-b7f4cba41d67.xml create mode 100644 tests/functionaltests/suites/csw30/expected/get_0e1dca37-477a-4060-99fe-7799b52d656c.xml create mode 100644 tests/functionaltests/suites/csw30/expected/get_13c87956-51a4-4780-a8e9-6e0b5c0bb473.xml create mode 100644 tests/functionaltests/suites/csw30/expected/get_151d982f-ebd3-4cb2-b507-a667713a1e92.xml create mode 100644 tests/functionaltests/suites/csw30/expected/get_1869e495-1a61-4713-8285-76d1336ee1a6.xml create mode 100644 tests/functionaltests/suites/csw30/expected/get_1bcb42a9-538c-4f0a-9d4c-d6f10b720aa6.xml create mode 100644 tests/functionaltests/suites/csw30/expected/get_22f44168-2ccf-4801-ad96-204212566d56.xml create mode 100644 tests/functionaltests/suites/csw30/expected/get_2499a9c9-8d33-449c-bc92-d494adfcc84d.xml create mode 100644 tests/functionaltests/suites/csw30/expected/get_27f4f39c-d92a-4e3c-b961-c6aa8c24e513.xml create mode 100644 tests/functionaltests/suites/csw30/expected/get_28e569df-8596-4128-8d9a-29ad03138915.xml create mode 100644 tests/functionaltests/suites/csw30/expected/get_2b06a5c8-0df2-4af1-8d2e-a425de11c845.xml create mode 100644 tests/functionaltests/suites/csw30/expected/get_2ba1418a-444d-4cce-9cfe-4c94efcf8b55.xml create mode 100644 tests/functionaltests/suites/csw30/expected/get_397fe17a-d5b4-4f96-8cc4-4ce467ed4d0a.xml create mode 100644 tests/functionaltests/suites/csw30/expected/get_3dcd1b15-73d2-4b7d-a3e3-ff15bf14aae4.xml create mode 100644 tests/functionaltests/suites/csw30/expected/get_405e1ff1-5c75-4846-a28b-cfaff2a6921a.xml create mode 100644 tests/functionaltests/suites/csw30/expected/get_43cd6471-6ac7-45bd-8ff9-148cb2de9a52.xml create mode 100644 tests/functionaltests/suites/csw30/expected/get_4566d2ec-1283-4a02-baed-a74fc5b47e37.xml create mode 100644 tests/functionaltests/suites/csw30/expected/get_461bd4c5-6623-490d-9036-d91a2201e87b.xml create mode 100644 tests/functionaltests/suites/csw30/expected/get_5496894a-3877-4f62-a20b-5d7126f94925.xml create mode 100644 tests/functionaltests/suites/csw30/expected/get_5a015f6a-bf14-4977-b1e3-6577eb0223c8.xml create mode 100644 tests/functionaltests/suites/csw30/expected/get_5c3a2390-1fb9-43f0-b96c-f48c7a69c990.xml create mode 100644 tests/functionaltests/suites/csw30/expected/get_5e9e67dc-18d6-4645-8111-c6263c88a61f.xml create mode 100644 tests/functionaltests/suites/csw30/expected/get_604d9379-741c-42e5-b4cf-92e56c87fa64.xml create mode 100644 tests/functionaltests/suites/csw30/expected/get_60e6af95-d5fc-465a-82e2-fd2e6d85e4af.xml create mode 100644 tests/functionaltests/suites/csw30/expected/get_62ad94c2-b558-4265-a427-23d6677975d6.xml create mode 100644 tests/functionaltests/suites/csw30/expected/get_6a5e247b-0961-4b8a-a0d6-35a491d9cfe7.xml create mode 100644 tests/functionaltests/suites/csw30/expected/get_6a9d0558-9d87-495b-b999-b49a3ef1cf99.xml create mode 100644 tests/functionaltests/suites/csw30/expected/get_6bd790c9-6019-4652-9c91-330a894d6700.xml create mode 100644 tests/functionaltests/suites/csw30/expected/get_6e9cba43-5e27-415d-adbd-a92851c2c173.xml create mode 100644 tests/functionaltests/suites/csw30/expected/get_7630d230-e142-4a09-accf-f091000b90cd.xml create mode 100644 tests/functionaltests/suites/csw30/expected/get_7e82446a-b5dc-43fe-9a73-4cc1f2f2f0bf.xml create mode 100644 tests/functionaltests/suites/csw30/expected/get_8025978e-1a35-4d70-80c2-e8329e0c7864.xml create mode 100644 tests/functionaltests/suites/csw30/expected/get_8184ae4f-536d-4978-8b28-ad703be96967.xml create mode 100644 tests/functionaltests/suites/csw30/expected/get_88f63a89-664f-4315-b4f8-04a0b33803a7.xml create mode 100644 tests/functionaltests/suites/csw30/expected/get_8987f8f0-4d93-4481-968c-a2ccbd6b8be2.xml create mode 100644 tests/functionaltests/suites/csw30/expected/get_8e5fa0f6-3f29-4d1f-abe2-d9866f3def98.xml create mode 100644 tests/functionaltests/suites/csw30/expected/get_9000ec29-5649-474e-b2d6-55c00f8a52c0.xml create mode 100644 tests/functionaltests/suites/csw30/expected/get_91914d35-7bbf-45e6-9b37-5ef484869a4e.xml create mode 100644 tests/functionaltests/suites/csw30/expected/get_92d4844d-57d5-4cf3-8f47-ba50e369dc04.xml create mode 100644 tests/functionaltests/suites/csw30/expected/get_9c0e2a4b-b4e6-41c0-b630-c8c99fc89ff3.xml create mode 100644 tests/functionaltests/suites/csw30/expected/get_9d7ffac8-9798-428d-8e27-3cd12497ee6b.xml create mode 100644 tests/functionaltests/suites/csw30/expected/get_Exception-GetDomain-value-reference.xml create mode 100644 tests/functionaltests/suites/csw30/expected/get_Exception-GetDomain.xml create mode 100644 tests/functionaltests/suites/csw30/expected/get_Exception-GetRecordById-404.xml create mode 100644 tests/functionaltests/suites/csw30/expected/get_Exception-GetRecordById-dc.xml.xml create mode 100644 tests/functionaltests/suites/csw30/expected/get_Exception-GetRepositoryItem-notfound.xml create mode 100644 tests/functionaltests/suites/csw30/expected/get_Exception-invalid-request.xml create mode 100644 tests/functionaltests/suites/csw30/expected/get_GetCapabilities-base-url.xml create mode 100644 tests/functionaltests/suites/csw30/expected/get_GetCapabilities-no-version.xml create mode 100644 tests/functionaltests/suites/csw30/expected/get_GetCapabilities.xml create mode 100644 tests/functionaltests/suites/csw30/expected/get_GetDomain-parameter.xml create mode 100644 tests/functionaltests/suites/csw30/expected/get_GetDomain-value-reference.xml create mode 100644 tests/functionaltests/suites/csw30/expected/get_GetRepositoryItem.xml create mode 100644 tests/functionaltests/suites/csw30/expected/get_OpenSearch-description.xml create mode 100644 tests/functionaltests/suites/csw30/expected/get_a2f18643-e24e-4fa5-b780-6de4a2dbc814.xml create mode 100644 tests/functionaltests/suites/csw30/expected/get_abc90c8c-5868-4405-a73e-64c849be3b2a.xml create mode 100644 tests/functionaltests/suites/csw30/expected/get_ad0c0571-09ed-436a-9a4f-a5de744c88fe.xml create mode 100644 tests/functionaltests/suites/csw30/expected/get_af502903-f4ee-47ee-b76e-af878d238bcc.xml create mode 100644 tests/functionaltests/suites/csw30/expected/get_b2aafc3f-4f35-47bc-affd-08590972deae.xml create mode 100644 tests/functionaltests/suites/csw30/expected/get_b6069623-f7d8-4021-8582-98f0aea0f763.xml create mode 100644 tests/functionaltests/suites/csw30/expected/get_b9a07a54-75a8-45bd-b341-2823600211e3.xml create mode 100644 tests/functionaltests/suites/csw30/expected/get_baa4a7d0-0c01-42b6-adc3-0d03e9949fa3.xml create mode 100644 tests/functionaltests/suites/csw30/expected/get_bfbe6409-f64a-4c89-acb3-50f260a5c743.xml create mode 100644 tests/functionaltests/suites/csw30/expected/get_bfe20134-d1da-42ef-9c0f-8e1307bbf92b.xml create mode 100644 tests/functionaltests/suites/csw30/expected/get_c03d173a-3f42-4956-89c8-1fe02c3a0873.xml create mode 100644 tests/functionaltests/suites/csw30/expected/get_cb43d8c3-e14c-4a9f-9231-4384b7dd21f3.xml create mode 100644 tests/functionaltests/suites/csw30/expected/get_d03c6fd3-e821-4a26-b62f-d20a474e25af.xml create mode 100644 tests/functionaltests/suites/csw30/expected/get_d4ccbf96-a529-480e-a53d-5b88dc1dea7f.xml create mode 100644 tests/functionaltests/suites/csw30/expected/get_d94c801a-1207-4897-b84a-53f3a192515b.xml create mode 100644 tests/functionaltests/suites/csw30/expected/get_da859e34-91fc-495a-8c09-285a40c0900b.xml create mode 100644 tests/functionaltests/suites/csw30/expected/get_dc246fb8-5af5-4fda-82bb-c18b3ecd439c.xml create mode 100644 tests/functionaltests/suites/csw30/expected/get_de016645-6d5c-4855-943c-2db07ae9f49a.xml create mode 100644 tests/functionaltests/suites/csw30/expected/get_dff3ec6b-bb2d-4887-bd17-8fcf15def042.xml create mode 100644 tests/functionaltests/suites/csw30/expected/get_e38e6bfb-8ac4-4ae4-8b87-0aafbc8d3c6b.xml create mode 100644 tests/functionaltests/suites/csw30/expected/get_e67ca935-d65d-4d8c-8302-1405333dded0.xml create mode 100644 tests/functionaltests/suites/csw30/expected/get_e7704509-3441-458f-8ef0-e333c6b6043f.xml create mode 100644 tests/functionaltests/suites/csw30/expected/get_f1223a49-6d08-44ff-97fe-4c32cbbfad82.xml create mode 100644 tests/functionaltests/suites/csw30/expected/get_f89dd4e1-3a81-4433-afd2-a3fa1bdb1e18.xml create mode 100644 tests/functionaltests/suites/csw30/expected/post_Exception-GetDomain-parametername-bad.xml create mode 100644 tests/functionaltests/suites/csw30/expected/post_Exception-GetDomain-valuereference-bad.xml create mode 100644 tests/functionaltests/suites/csw30/expected/post_Exception-GetRecordById-404.xml create mode 100644 tests/functionaltests/suites/csw30/expected/post_Exception-GetRecordById-bad-esn.xml create mode 100644 tests/functionaltests/suites/csw30/expected/post_Exception-bad-xml.xml create mode 100644 tests/functionaltests/suites/csw30/expected/post_Exception-not-xml.xml create mode 100644 tests/functionaltests/suites/csw30/expected/post_GetCapabilities.xml create mode 100644 tests/functionaltests/suites/csw30/expected/post_GetDomain-parametername.xml create mode 100644 tests/functionaltests/suites/csw30/expected/post_GetDomain-valuereference.xml create mode 100644 tests/functionaltests/suites/csw30/expected/post_GetRecordById-dc-full.xml create mode 100644 tests/functionaltests/suites/csw30/expected/post_GetRecordById-dc.xml create mode 100644 tests/functionaltests/suites/csw30/get/requests.txt create mode 100644 tests/functionaltests/suites/csw30/post/Exception-GetDomain-parametername-bad.xml create mode 100644 tests/functionaltests/suites/csw30/post/Exception-GetDomain-valuereference-bad.xml create mode 100644 tests/functionaltests/suites/csw30/post/Exception-GetRecordById-404.xml create mode 100644 tests/functionaltests/suites/csw30/post/Exception-GetRecordById-bad-esn.xml create mode 100644 tests/functionaltests/suites/csw30/post/Exception-bad-xml.xml create mode 100644 tests/functionaltests/suites/csw30/post/Exception-not-xml.xml create mode 100644 tests/functionaltests/suites/csw30/post/GetCapabilities.xml create mode 100644 tests/functionaltests/suites/csw30/post/GetDomain-parametername.xml create mode 100644 tests/functionaltests/suites/csw30/post/GetDomain-valuereference.xml create mode 100644 tests/functionaltests/suites/csw30/post/GetRecordById-dc-full.xml create mode 100644 tests/functionaltests/suites/csw30/post/GetRecordById-dc.xml create mode 100644 tests/functionaltests/suites/default/default.cfg create mode 100644 tests/functionaltests/suites/default/expected/get_Exception-GetRepositoryItem-notfound.xml create mode 100644 tests/functionaltests/suites/default/expected/get_Exception-GetRepositoryItem-service-invalid1.xml create mode 100644 tests/functionaltests/suites/default/expected/get_Exception-GetRepositoryItem-service-invalid2.xml create mode 100644 tests/functionaltests/suites/default/expected/get_Exception-GetRepositoryItem-version-invalid.xml create mode 100644 tests/functionaltests/suites/default/expected/get_GetCapabilities-invalid-request.xml create mode 100644 tests/functionaltests/suites/default/expected/get_GetCapabilities.xml create mode 100644 tests/functionaltests/suites/default/expected/get_GetRecords-all.xml create mode 100644 tests/functionaltests/suites/default/expected/get_GetRecords-empty-maxrecords.xml create mode 100644 tests/functionaltests/suites/default/expected/get_GetRecords-filter-cql-title-or-abstract-with-spaces.xml create mode 100644 tests/functionaltests/suites/default/expected/get_GetRecords-filter-cql-title-or-abstract.xml create mode 100644 tests/functionaltests/suites/default/expected/get_GetRecords-filter-cql-title-with-spaces-or-abstract-with-spaces.xml create mode 100644 tests/functionaltests/suites/default/expected/get_GetRecords-filter-cql-title-with-spaces-or-abstract.xml create mode 100644 tests/functionaltests/suites/default/expected/get_GetRecords-filter-cql-title-with-spaces.xml create mode 100644 tests/functionaltests/suites/default/expected/get_GetRecords-filter-cql-title.xml create mode 100644 tests/functionaltests/suites/default/expected/get_GetRecords-filter.xml create mode 100644 tests/functionaltests/suites/default/expected/get_GetRecords-sortby-asc.xml create mode 100644 tests/functionaltests/suites/default/expected/get_GetRecords-sortby-desc.xml create mode 100644 tests/functionaltests/suites/default/expected/get_GetRecords-sortby-invalid-order.xml create mode 100644 tests/functionaltests/suites/default/expected/get_GetRecords-sortby-invalid-propertyname.xml create mode 100644 tests/functionaltests/suites/default/expected/get_GetRepositoryItem.xml create mode 100644 tests/functionaltests/suites/default/expected/post_DescribeRecord-json.xml create mode 100644 tests/functionaltests/suites/default/expected/post_DescribeRecord.xml create mode 100644 tests/functionaltests/suites/default/expected/post_Exception-GetRecords-badsrsname.xml create mode 100644 tests/functionaltests/suites/default/expected/post_Exception-GetRecords-elementname.xml create mode 100644 tests/functionaltests/suites/default/expected/post_Exception-GetRecords-invalid-xml.xml create mode 100644 tests/functionaltests/suites/default/expected/post_GetCapabilities-SOAP.xml create mode 100644 tests/functionaltests/suites/default/expected/post_GetCapabilities-sections.xml create mode 100644 tests/functionaltests/suites/default/expected/post_GetCapabilities-updatesequence.xml create mode 100644 tests/functionaltests/suites/default/expected/post_GetCapabilities.xml create mode 100644 tests/functionaltests/suites/default/expected/post_GetDomain-parameter.xml create mode 100644 tests/functionaltests/suites/default/expected/post_GetDomain-property.xml create mode 100644 tests/functionaltests/suites/default/expected/post_GetRecordById-json.xml create mode 100644 tests/functionaltests/suites/default/expected/post_GetRecordById.xml create mode 100644 tests/functionaltests/suites/default/expected/post_GetRecords-all-json.xml create mode 100644 tests/functionaltests/suites/default/expected/post_GetRecords-all-resulttype-hits.xml create mode 100644 tests/functionaltests/suites/default/expected/post_GetRecords-all-resulttype-validate.xml create mode 100644 tests/functionaltests/suites/default/expected/post_GetRecords-all-sortby-bbox.xml create mode 100644 tests/functionaltests/suites/default/expected/post_GetRecords-all.xml create mode 100644 tests/functionaltests/suites/default/expected/post_GetRecords-bbox-filter-crs84.xml create mode 100644 tests/functionaltests/suites/default/expected/post_GetRecords-cql-title-and-abstract.xml create mode 100644 tests/functionaltests/suites/default/expected/post_GetRecords-cql-title.xml create mode 100644 tests/functionaltests/suites/default/expected/post_GetRecords-distributedsearch.xml create mode 100644 tests/functionaltests/suites/default/expected/post_GetRecords-elementname.xml create mode 100644 tests/functionaltests/suites/default/expected/post_GetRecords-end.xml create mode 100644 tests/functionaltests/suites/default/expected/post_GetRecords-filter-and-bbox-freetext.xml create mode 100644 tests/functionaltests/suites/default/expected/post_GetRecords-filter-and-nested-or.xml create mode 100644 tests/functionaltests/suites/default/expected/post_GetRecords-filter-and-nested-or2.xml create mode 100644 tests/functionaltests/suites/default/expected/post_GetRecords-filter-anytext-and-not.xml create mode 100644 tests/functionaltests/suites/default/expected/post_GetRecords-filter-anytext-equal.xml create mode 100644 tests/functionaltests/suites/default/expected/post_GetRecords-filter-anytext.xml create mode 100644 tests/functionaltests/suites/default/expected/post_GetRecords-filter-bbox-reproject.xml create mode 100644 tests/functionaltests/suites/default/expected/post_GetRecords-filter-bbox-sortby.xml create mode 100644 tests/functionaltests/suites/default/expected/post_GetRecords-filter-bbox.xml create mode 100644 tests/functionaltests/suites/default/expected/post_GetRecords-filter-between.xml create mode 100644 tests/functionaltests/suites/default/expected/post_GetRecords-filter-function-bad.xml create mode 100644 tests/functionaltests/suites/default/expected/post_GetRecords-filter-function.xml create mode 100644 tests/functionaltests/suites/default/expected/post_GetRecords-filter-not-bbox.xml create mode 100644 tests/functionaltests/suites/default/expected/post_GetRecords-filter-or-bbox-freetext.xml create mode 100644 tests/functionaltests/suites/default/expected/post_GetRecords-filter-or-nested-and.xml create mode 100644 tests/functionaltests/suites/default/expected/post_GetRecords-filter-or-title-abstract.xml create mode 100644 tests/functionaltests/suites/default/expected/post_GetRecords-maxrecords.xml create mode 100644 tests/functionaltests/suites/default/expected/post_GetRecords-requestid.xml create mode 100644 tests/functionaltests/suites/default/expected/post_Harvest-default.xml create mode 100644 tests/functionaltests/suites/default/expected/post_Harvest-response-handler.xml create mode 100644 tests/functionaltests/suites/default/expected/post_Transaction-delete.xml create mode 100644 tests/functionaltests/suites/default/expected/post_Transaction-insert.xml create mode 100644 tests/functionaltests/suites/default/expected/post_Transaction-update-full.xml create mode 100644 tests/functionaltests/suites/default/expected/post_Transaction-update-recordproperty.xml create mode 100644 tests/functionaltests/suites/default/get/requests.txt create mode 100644 tests/functionaltests/suites/default/post/DescribeRecord-json.xml create mode 100644 tests/functionaltests/suites/default/post/DescribeRecord.xml create mode 100644 tests/functionaltests/suites/default/post/Exception-GetRecords-badsrsname.xml create mode 100644 tests/functionaltests/suites/default/post/Exception-GetRecords-elementname.xml create mode 100644 tests/functionaltests/suites/default/post/Exception-GetRecords-invalid-xml.xml create mode 100644 tests/functionaltests/suites/default/post/GetCapabilities-SOAP.xml create mode 100644 tests/functionaltests/suites/default/post/GetCapabilities-sections.xml create mode 100644 tests/functionaltests/suites/default/post/GetCapabilities-updatesequence.xml create mode 100644 tests/functionaltests/suites/default/post/GetCapabilities.xml create mode 100644 tests/functionaltests/suites/default/post/GetDomain-parameter.xml create mode 100644 tests/functionaltests/suites/default/post/GetDomain-property.xml create mode 100644 tests/functionaltests/suites/default/post/GetRecordById-json.xml create mode 100644 tests/functionaltests/suites/default/post/GetRecordById.xml create mode 100644 tests/functionaltests/suites/default/post/GetRecords-all-json.xml create mode 100644 tests/functionaltests/suites/default/post/GetRecords-all-resulttype-hits.xml create mode 100644 tests/functionaltests/suites/default/post/GetRecords-all-resulttype-validate.xml create mode 100644 tests/functionaltests/suites/default/post/GetRecords-all-sortby-bbox.xml create mode 100644 tests/functionaltests/suites/default/post/GetRecords-all.xml create mode 100644 tests/functionaltests/suites/default/post/GetRecords-bbox-filter-crs84.xml create mode 100644 tests/functionaltests/suites/default/post/GetRecords-cql-title-and-abstract.xml create mode 100644 tests/functionaltests/suites/default/post/GetRecords-cql-title.xml create mode 100644 tests/functionaltests/suites/default/post/GetRecords-distributedsearch.xml create mode 100644 tests/functionaltests/suites/default/post/GetRecords-elementname.xml create mode 100644 tests/functionaltests/suites/default/post/GetRecords-end.xml create mode 100644 tests/functionaltests/suites/default/post/GetRecords-filter-and-bbox-freetext.xml create mode 100644 tests/functionaltests/suites/default/post/GetRecords-filter-and-nested-or.xml create mode 100644 tests/functionaltests/suites/default/post/GetRecords-filter-and-nested-or2.xml create mode 100644 tests/functionaltests/suites/default/post/GetRecords-filter-anytext-and-not.xml create mode 100644 tests/functionaltests/suites/default/post/GetRecords-filter-anytext-equal.xml create mode 100644 tests/functionaltests/suites/default/post/GetRecords-filter-anytext.xml create mode 100644 tests/functionaltests/suites/default/post/GetRecords-filter-bbox-reproject.xml create mode 100644 tests/functionaltests/suites/default/post/GetRecords-filter-bbox-sortby.xml create mode 100644 tests/functionaltests/suites/default/post/GetRecords-filter-bbox.xml create mode 100644 tests/functionaltests/suites/default/post/GetRecords-filter-between.xml create mode 100644 tests/functionaltests/suites/default/post/GetRecords-filter-function-bad.xml create mode 100644 tests/functionaltests/suites/default/post/GetRecords-filter-function.xml create mode 100644 tests/functionaltests/suites/default/post/GetRecords-filter-not-bbox.xml create mode 100644 tests/functionaltests/suites/default/post/GetRecords-filter-or-bbox-freetext.xml create mode 100644 tests/functionaltests/suites/default/post/GetRecords-filter-or-nested-and.xml create mode 100644 tests/functionaltests/suites/default/post/GetRecords-filter-or-title-abstract.xml create mode 100644 tests/functionaltests/suites/default/post/GetRecords-maxrecords.xml create mode 100644 tests/functionaltests/suites/default/post/GetRecords-requestid.xml create mode 100644 tests/functionaltests/suites/default/post/Harvest-default.xml create mode 100644 tests/functionaltests/suites/default/post/Harvest-response-handler.xml create mode 100644 tests/functionaltests/suites/default/post/Transaction-delete.xml create mode 100644 tests/functionaltests/suites/default/post/Transaction-insert.xml create mode 100644 tests/functionaltests/suites/default/post/Transaction-update-full.xml create mode 100644 tests/functionaltests/suites/default/post/Transaction-update-recordproperty.xml create mode 100644 tests/functionaltests/suites/dif/default.cfg create mode 100644 tests/functionaltests/suites/dif/expected/post_DescribeRecord.xml create mode 100644 tests/functionaltests/suites/dif/expected/post_GetCapabilities.xml create mode 100644 tests/functionaltests/suites/dif/expected/post_GetRecords-filter-bbox.xml create mode 100644 tests/functionaltests/suites/dif/post/DescribeRecord.xml create mode 100644 tests/functionaltests/suites/dif/post/GetCapabilities.xml create mode 100644 tests/functionaltests/suites/dif/post/GetRecords-filter-bbox.xml create mode 100644 tests/functionaltests/suites/ebrim/default.cfg create mode 100644 tests/functionaltests/suites/ebrim/expected/post_DescribeRecord.xml create mode 100644 tests/functionaltests/suites/ebrim/expected/post_GetCapabilities.xml create mode 100644 tests/functionaltests/suites/ebrim/expected/post_GetRecords-filter-bbox-full.xml create mode 100644 tests/functionaltests/suites/ebrim/expected/post_GetRecords-filter-bbox.xml create mode 100644 tests/functionaltests/suites/ebrim/post/DescribeRecord.xml create mode 100644 tests/functionaltests/suites/ebrim/post/GetCapabilities.xml create mode 100644 tests/functionaltests/suites/ebrim/post/GetRecords-filter-bbox-full.xml create mode 100644 tests/functionaltests/suites/ebrim/post/GetRecords-filter-bbox.xml create mode 100644 tests/functionaltests/suites/fgdc/default.cfg create mode 100644 tests/functionaltests/suites/fgdc/expected/post_DescribeRecord.xml create mode 100644 tests/functionaltests/suites/fgdc/expected/post_GetCapabilities.xml create mode 100644 tests/functionaltests/suites/fgdc/expected/post_GetRecords-filter-bbox.xml create mode 100644 tests/functionaltests/suites/fgdc/post/DescribeRecord.xml create mode 100644 tests/functionaltests/suites/fgdc/post/GetCapabilities.xml create mode 100644 tests/functionaltests/suites/fgdc/post/GetRecords-filter-bbox.xml create mode 100644 tests/functionaltests/suites/gm03/default.cfg create mode 100644 tests/functionaltests/suites/gm03/expected/post_GetCapabilities.xml create mode 100644 tests/functionaltests/suites/gm03/expected/post_GetRecords-filter-bbox.xml create mode 100644 tests/functionaltests/suites/gm03/post/GetCapabilities.xml create mode 100644 tests/functionaltests/suites/gm03/post/GetRecords-filter-bbox.xml create mode 100644 tests/functionaltests/suites/harvesting/default.cfg create mode 100644 tests/functionaltests/suites/harvesting/expected/get_Exception-Harvest-invalid-resourcetype.xml create mode 100644 tests/functionaltests/suites/harvesting/expected/get_Exception-Harvest-missing-resourcetype.xml create mode 100644 tests/functionaltests/suites/harvesting/expected/get_Exception-Harvest-missing-source.xml create mode 100644 tests/functionaltests/suites/harvesting/expected/get_Exception-Harvest-waf-bad-value.xml create mode 100644 tests/functionaltests/suites/harvesting/expected/get_Exception-Harvest-waf-no-records-found.xml create mode 100644 tests/functionaltests/suites/harvesting/expected/post_Clear-000-delete-all.xml create mode 100644 tests/functionaltests/suites/harvesting/expected/post_Exception-Havest-csw-404.xml create mode 100644 tests/functionaltests/suites/harvesting/expected/post_GetCapabilities.xml create mode 100644 tests/functionaltests/suites/harvesting/expected/post_GetDomain-parameter.xml create mode 100644 tests/functionaltests/suites/harvesting/expected/post_Harvest-csw-iso.xml create mode 100644 tests/functionaltests/suites/harvesting/expected/post_Harvest-csw-run1.xml create mode 100644 tests/functionaltests/suites/harvesting/expected/post_Harvest-csw-run2.xml create mode 100644 tests/functionaltests/suites/harvesting/expected/post_Harvest-dc.xml create mode 100644 tests/functionaltests/suites/harvesting/expected/post_Harvest-fgdc.xml create mode 100644 tests/functionaltests/suites/harvesting/expected/post_Harvest-iso.xml create mode 100644 tests/functionaltests/suites/harvesting/expected/post_Harvest-rdf.xml create mode 100644 tests/functionaltests/suites/harvesting/expected/post_Harvest-sos100.xml create mode 100644 tests/functionaltests/suites/harvesting/expected/post_Harvest-sos200.xml create mode 100644 tests/functionaltests/suites/harvesting/expected/post_Harvest-waf.xml create mode 100644 tests/functionaltests/suites/harvesting/expected/post_Harvest-wcs.xml create mode 100644 tests/functionaltests/suites/harvesting/expected/post_Harvest-wfs110.xml create mode 100644 tests/functionaltests/suites/harvesting/expected/post_Harvest-wfs200.xml create mode 100644 tests/functionaltests/suites/harvesting/expected/post_Harvest-wms-run1.xml create mode 100644 tests/functionaltests/suites/harvesting/expected/post_Harvest-wms-run2.xml create mode 100644 tests/functionaltests/suites/harvesting/expected/post_Harvest-wmts.xml create mode 100644 tests/functionaltests/suites/harvesting/expected/post_Harvest-wps.xml create mode 100644 tests/functionaltests/suites/harvesting/expected/post_Harvest-zzz-post-GetRecords-filter-ows-dc.xml create mode 100644 tests/functionaltests/suites/harvesting/expected/post_Harvest-zzz-post-GetRecords-filter-sos-abstract-dc.xml create mode 100644 tests/functionaltests/suites/harvesting/expected/post_Harvest-zzz-post-GetRecords-filter-sos-dc.xml create mode 100644 tests/functionaltests/suites/harvesting/expected/post_Harvest-zzz-post-GetRecords-filter-sos-iso.xml create mode 100644 tests/functionaltests/suites/harvesting/expected/post_Harvest-zzz-post-GetRecords-filter-wfs-iso.xml create mode 100644 tests/functionaltests/suites/harvesting/expected/post_Harvest-zzz-post-GetRecords-filter-wms-dc.xml create mode 100644 tests/functionaltests/suites/harvesting/expected/post_Harvest-zzz-post-GetRecords-filter-wms-iso.xml create mode 100644 tests/functionaltests/suites/harvesting/expected/post_Harvest-zzz-post-GetRecords-filter-wms-layer.xml create mode 100644 tests/functionaltests/suites/harvesting/expected/post_Harvest-zzz-post-GetRecords-filter-wps-process.xml create mode 100644 tests/functionaltests/suites/harvesting/expected/post_Transaction-000-delete-all.xml create mode 100644 tests/functionaltests/suites/harvesting/get/requests.txt create mode 100644 tests/functionaltests/suites/harvesting/post/Clear-000-delete-all.xml create mode 100644 tests/functionaltests/suites/harvesting/post/Exception-Havest-csw-404.xml create mode 100644 tests/functionaltests/suites/harvesting/post/GetCapabilities.xml create mode 100644 tests/functionaltests/suites/harvesting/post/GetDomain-parameter.xml create mode 100644 tests/functionaltests/suites/harvesting/post/Harvest-csw-iso.xml create mode 100644 tests/functionaltests/suites/harvesting/post/Harvest-csw-run1.xml create mode 100644 tests/functionaltests/suites/harvesting/post/Harvest-csw-run2.xml create mode 100644 tests/functionaltests/suites/harvesting/post/Harvest-dc.xml create mode 100644 tests/functionaltests/suites/harvesting/post/Harvest-fgdc.xml create mode 100644 tests/functionaltests/suites/harvesting/post/Harvest-iso.xml create mode 100644 tests/functionaltests/suites/harvesting/post/Harvest-rdf.xml create mode 100644 tests/functionaltests/suites/harvesting/post/Harvest-sos100.xml create mode 100644 tests/functionaltests/suites/harvesting/post/Harvest-sos200.xml create mode 100644 tests/functionaltests/suites/harvesting/post/Harvest-waf.xml create mode 100644 tests/functionaltests/suites/harvesting/post/Harvest-wcs.xml create mode 100644 tests/functionaltests/suites/harvesting/post/Harvest-wfs110.xml create mode 100644 tests/functionaltests/suites/harvesting/post/Harvest-wfs200.xml create mode 100644 tests/functionaltests/suites/harvesting/post/Harvest-wms-run1.xml create mode 100644 tests/functionaltests/suites/harvesting/post/Harvest-wms-run2.xml create mode 100644 tests/functionaltests/suites/harvesting/post/Harvest-wmts.xml create mode 100644 tests/functionaltests/suites/harvesting/post/Harvest-wps.xml create mode 100644 tests/functionaltests/suites/harvesting/post/Harvest-zzz-post-GetRecords-filter-ows-dc.xml create mode 100644 tests/functionaltests/suites/harvesting/post/Harvest-zzz-post-GetRecords-filter-sos-abstract-dc.xml create mode 100644 tests/functionaltests/suites/harvesting/post/Harvest-zzz-post-GetRecords-filter-sos-dc.xml create mode 100644 tests/functionaltests/suites/harvesting/post/Harvest-zzz-post-GetRecords-filter-sos-iso.xml create mode 100644 tests/functionaltests/suites/harvesting/post/Harvest-zzz-post-GetRecords-filter-wfs-iso.xml create mode 100644 tests/functionaltests/suites/harvesting/post/Harvest-zzz-post-GetRecords-filter-wms-dc.xml create mode 100644 tests/functionaltests/suites/harvesting/post/Harvest-zzz-post-GetRecords-filter-wms-iso.xml create mode 100644 tests/functionaltests/suites/harvesting/post/Harvest-zzz-post-GetRecords-filter-wms-layer.xml create mode 100644 tests/functionaltests/suites/harvesting/post/Harvest-zzz-post-GetRecords-filter-wps-process.xml create mode 100644 tests/functionaltests/suites/harvesting/post/Transaction-000-delete-all.xml create mode 100644 tests/functionaltests/suites/manager/default.cfg create mode 100644 tests/functionaltests/suites/manager/expected/post_Clear-000-delete-all.xml create mode 100644 tests/functionaltests/suites/manager/expected/post_GetCapabilities.xml create mode 100644 tests/functionaltests/suites/manager/expected/post_GetDomain-parameter.xml create mode 100644 tests/functionaltests/suites/manager/expected/post_Transaction-000-delete-all.xml create mode 100644 tests/functionaltests/suites/manager/expected/post_Transaction-dc-01-insert.xml create mode 100644 tests/functionaltests/suites/manager/expected/post_Transaction-dc-02-update-full.xml create mode 100644 tests/functionaltests/suites/manager/expected/post_Transaction-fgdc-01-insert.xml create mode 100644 tests/functionaltests/suites/manager/expected/post_Transaction-fgdc-02-update-recprop.xml create mode 100644 tests/functionaltests/suites/manager/expected/post_Transaction-fgdc-03-delete-all.xml create mode 100644 tests/functionaltests/suites/manager/expected/post_Transaction-iso-00-delete-all.xml create mode 100644 tests/functionaltests/suites/manager/expected/post_Transaction-iso-01-insert.xml create mode 100644 tests/functionaltests/suites/manager/expected/post_Transaction-iso-02-update-full.xml create mode 100644 tests/functionaltests/suites/manager/expected/post_Transaction-iso-03-update-recprop.xml create mode 100644 tests/functionaltests/suites/manager/expected/post_Transaction-iso-04-update-recprop-no-matches.xml create mode 100644 tests/functionaltests/suites/manager/expected/post_Transaction-iso-05-delete.xml create mode 100644 tests/functionaltests/suites/manager/expected/post_Transaction-xxx-delete-all.xml create mode 100644 tests/functionaltests/suites/manager/post/Clear-000-delete-all.xml create mode 100644 tests/functionaltests/suites/manager/post/GetCapabilities.xml create mode 100644 tests/functionaltests/suites/manager/post/GetDomain-parameter.xml create mode 100644 tests/functionaltests/suites/manager/post/Transaction-000-delete-all.xml create mode 100644 tests/functionaltests/suites/manager/post/Transaction-dc-01-insert.xml create mode 100644 tests/functionaltests/suites/manager/post/Transaction-dc-02-update-full.xml create mode 100644 tests/functionaltests/suites/manager/post/Transaction-fgdc-01-insert.xml create mode 100644 tests/functionaltests/suites/manager/post/Transaction-fgdc-02-update-recprop.xml create mode 100644 tests/functionaltests/suites/manager/post/Transaction-fgdc-03-delete-all.xml create mode 100644 tests/functionaltests/suites/manager/post/Transaction-iso-00-delete-all.xml create mode 100644 tests/functionaltests/suites/manager/post/Transaction-iso-01-insert.xml create mode 100644 tests/functionaltests/suites/manager/post/Transaction-iso-02-update-full.xml create mode 100644 tests/functionaltests/suites/manager/post/Transaction-iso-03-update-recprop.xml create mode 100644 tests/functionaltests/suites/manager/post/Transaction-iso-04-update-recprop-no-matches.xml create mode 100644 tests/functionaltests/suites/manager/post/Transaction-iso-05-delete.xml create mode 100644 tests/functionaltests/suites/manager/post/Transaction-xxx-delete-all.xml create mode 100644 tests/functionaltests/suites/oaipmh/default.cfg create mode 100644 tests/functionaltests/suites/oaipmh/expected/get_GetRecord_bad_metadata_prefix.xml create mode 100644 tests/functionaltests/suites/oaipmh/expected/get_GetRecord_dc.xml create mode 100644 tests/functionaltests/suites/oaipmh/expected/get_GetRecord_iso.xml create mode 100644 tests/functionaltests/suites/oaipmh/expected/get_GetRecord_oai_dc.xml create mode 100644 tests/functionaltests/suites/oaipmh/expected/get_Identify.xml create mode 100644 tests/functionaltests/suites/oaipmh/expected/get_ListIdentifiers_bad_metadata_prefix.xml create mode 100644 tests/functionaltests/suites/oaipmh/expected/get_ListIdentifiers_dc.xml create mode 100644 tests/functionaltests/suites/oaipmh/expected/get_ListIdentifiers_iso.xml create mode 100644 tests/functionaltests/suites/oaipmh/expected/get_ListIdentifiers_missing_metadata_prefix.xml create mode 100644 tests/functionaltests/suites/oaipmh/expected/get_ListIdentifiers_oai_dc.xml create mode 100644 tests/functionaltests/suites/oaipmh/expected/get_ListMetadataFormats.xml create mode 100644 tests/functionaltests/suites/oaipmh/expected/get_ListRecords_dc.xml create mode 100644 tests/functionaltests/suites/oaipmh/expected/get_ListRecords_dc_bad_metadata_prefix.xml create mode 100644 tests/functionaltests/suites/oaipmh/expected/get_ListRecords_iso19139.xml create mode 100644 tests/functionaltests/suites/oaipmh/expected/get_ListRecords_oai_dc.xml create mode 100644 tests/functionaltests/suites/oaipmh/expected/get_ListSets.xml create mode 100644 tests/functionaltests/suites/oaipmh/expected/get_bad_verb.xml create mode 100644 tests/functionaltests/suites/oaipmh/expected/get_empty.xml create mode 100644 tests/functionaltests/suites/oaipmh/expected/get_empty_with_amp.xml create mode 100644 tests/functionaltests/suites/oaipmh/expected/get_illegal_verb.xml create mode 100644 tests/functionaltests/suites/oaipmh/get/requests.txt create mode 100644 tests/functionaltests/suites/repofilter/default.cfg create mode 100644 tests/functionaltests/suites/repofilter/expected/post_GetRecordById-masked.xml create mode 100644 tests/functionaltests/suites/repofilter/expected/post_GetRecords-all.xml create mode 100644 tests/functionaltests/suites/repofilter/post/GetRecordById-masked.xml create mode 100644 tests/functionaltests/suites/repofilter/post/GetRecords-all.xml create mode 100644 tests/functionaltests/suites/sru/default.cfg create mode 100644 tests/functionaltests/suites/sru/expected/get_explain.xml create mode 100644 tests/functionaltests/suites/sru/expected/get_search.xml create mode 100644 tests/functionaltests/suites/sru/expected/get_search_cql.xml create mode 100644 tests/functionaltests/suites/sru/expected/get_search_maxrecords.xml create mode 100644 tests/functionaltests/suites/sru/expected/get_search_startrecord_maxrecords.xml create mode 100644 tests/functionaltests/suites/sru/get/requests.txt create mode 100644 tests/functionaltests/suites/utf-8/default.cfg create mode 100644 tests/functionaltests/suites/utf-8/expected/post_GetCapabilities.xml create mode 100644 tests/functionaltests/suites/utf-8/post/GetCapabilities.xml diff --git a/tests/functionaltests/suites/apiso-inspire/default.cfg b/tests/functionaltests/suites/apiso-inspire/default.cfg new file mode 100644 index 000000000..a72121449 --- /dev/null +++ b/tests/functionaltests/suites/apiso-inspire/default.cfg @@ -0,0 +1,91 @@ +# ================================================================= +# +# Authors: Tom Kralidis +# +# Copyright (c) 2011 Tom Kralidis +# +# Permission is hereby granted, free of charge, to any person +# obtaining a copy of this software and associated documentation +# files (the "Software"), to deal in the Software without +# restriction, including without limitation the rights to use, +# copy, modify, merge, publish, distribute, sublicense, and/or sell +# copies of the Software, and to permit persons to whom the +# Software is furnished to do so, subject to the following +# conditions: +# +# The above copyright notice and this permission notice shall be +# included in all copies or substantial portions of the Software. +# +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +# EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES +# OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +# NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT +# HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, +# WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR +# OTHER DEALINGS IN THE SOFTWARE. +# +# ================================================================= + +[server] +home=. +url=http://localhost/pycsw/csw.py?config=tests/suites/apiso-inspire/default.cfg +mimetype=application/xml; charset=UTF-8 +encoding=UTF-8 +language=en-US +maxrecords=10 +#loglevel=DEBUG +#logfile=/tmp/pycsw.log +#ogc_schemas_base=http://foo +federatedcatalogues=http://geo.data.gov/geoportal/csw/discovery +pretty_print=true +#gzip_compresslevel=8 +#spatial_ranking=true +profiles=apiso + +[manager] +transactions=false +allowed_ips=127.0.0.1 + +[metadata:main] +identification_title=pycsw Geospatial Catalogue +identification_abstract=pycsw is an OGC CSW server implementation written in Python +identification_keywords=catalogue,discovery +identification_keywords_type=theme +identification_fees=None +identification_accessconstraints=None +provider_name=pycsw +provider_url=http://pycsw.org/ +contact_name=Kralidis, Tom +contact_position=Senior Systems Scientist +contact_address=TBA +contact_city=Toronto +contact_stateorprovince=Ontario +contact_postalcode=M9C 3Z9 +contact_country=Canada +contact_phone=+01-416-xxx-xxxx +contact_fax=+01-416-xxx-xxxx +contact_email=tomkralidis@gmail.com +contact_url=http://kralidis.ca/ +contact_hours=0800h - 1600h EST +contact_instructions=During hours of service. Off on weekends. +contact_role=pointOfContact + +[repository] +# sqlite +database=sqlite:///tests/suites/cite/data/records.db +# postgres +#database=postgres://username:password@localhost/pycsw +table=records + +[metadata:inspire] +enabled=true +languages_supported=eng,gre +default_language=eng +date=2011-03-29 +gemet_keywords=Utility and governmental services +conformity_service=notEvaluated +contact_name=National Technical University of Athens +contact_email=tzotsos@gmail.com +temp_extent=2011-02-01/2011-03-30 + diff --git a/tests/functionaltests/suites/apiso-inspire/expected/get_GetCapabilities-lang.xml b/tests/functionaltests/suites/apiso-inspire/expected/get_GetCapabilities-lang.xml new file mode 100644 index 000000000..6ecec21c6 --- /dev/null +++ b/tests/functionaltests/suites/apiso-inspire/expected/get_GetCapabilities-lang.xml @@ -0,0 +1,375 @@ + + + + + pycsw Geospatial Catalogue + pycsw is an OGC CSW server implementation written in Python + + catalogue + discovery + theme + + CSW + 2.0.2 + 3.0.0 + None + None + + + pycsw + + + Kralidis, Tom + Senior Systems Scientist + + + +01-416-xxx-xxxx + +01-416-xxx-xxxx + + + TBA + Toronto + Ontario + M9C 3Z9 + Canada + tomkralidis@gmail.com + + + 0800h - 1600h EST + During hours of service. Off on weekends. + + pointOfContact + + + + + + + + + + + + Filter_Capabilities + OperationsMetadata + ServiceIdentification + ServiceProvider + + + + + + + + + + + application/json + application/xml + + + http://www.w3.org/2001/XMLSchema + http://www.w3.org/TR/xmlschema-1/ + http://www.w3.org/XML/Schema + + + csw:Record + gmd:MD_Metadata + + + + + + + + + + + DescribeRecord.outputFormat + DescribeRecord.schemaLanguage + DescribeRecord.typeName + GetCapabilities.sections + GetRecordById.ElementSetName + GetRecordById.outputFormat + GetRecordById.outputSchema + GetRecords.CONSTRAINTLANGUAGE + GetRecords.ElementSetName + GetRecords.outputFormat + GetRecords.outputSchema + GetRecords.resultType + GetRecords.typeNames + + + + + + + + + + + CQL_TEXT + FILTER + + + brief + full + summary + + + application/json + application/xml + + + http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ + http://www.interlis.ch/INTERLIS2.3 + http://www.isotc211.org/2005/gmd + http://www.opengis.net/cat/csw/2.0.2 + http://www.opengis.net/cat/csw/csdgm + http://www.w3.org/2005/Atom + + + hits + results + validate + + + csw:Record + gmd:MD_Metadata + + + apiso:AccessConstraints + apiso:Classification + apiso:ConditionApplyingToAccessAndUse + apiso:Contributor + apiso:Creator + apiso:Degree + apiso:Lineage + apiso:OtherConstraints + apiso:Publisher + apiso:Relation + apiso:ResponsiblePartyRole + apiso:SpecificationDate + apiso:SpecificationDateType + apiso:SpecificationTitle + + + csw:AnyText + dc:contributor + dc:creator + dc:date + dc:format + dc:identifier + dc:language + dc:publisher + dc:relation + dc:rights + dc:source + dc:subject + dc:title + dc:type + dct:abstract + dct:modified + ows:BoundingBox + + + apiso:Abstract + apiso:AlternateTitle + apiso:AnyText + apiso:BoundingBox + apiso:CRS + apiso:CouplingType + apiso:CreationDate + apiso:Denominator + apiso:DistanceUOM + apiso:DistanceValue + apiso:Format + apiso:GeographicDescriptionCode + apiso:HasSecurityConstraints + apiso:Identifier + apiso:KeywordType + apiso:Language + apiso:Modified + apiso:OperatesOn + apiso:OperatesOnIdentifier + apiso:OperatesOnName + apiso:Operation + apiso:OrganisationName + apiso:ParentIdentifier + apiso:PublicationDate + apiso:ResourceLanguage + apiso:RevisionDate + apiso:ServiceType + apiso:ServiceTypeVersion + apiso:Subject + apiso:TempExtent_begin + apiso:TempExtent_end + apiso:Title + apiso:TopicCategory + apiso:Type + + + + + + + + + + + brief + full + summary + + + application/json + application/xml + + + http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ + http://www.interlis.ch/INTERLIS2.3 + http://www.isotc211.org/2005/gmd + http://www.opengis.net/cat/csw/2.0.2 + http://www.opengis.net/cat/csw/csdgm + http://www.w3.org/2005/Atom + + + + + + + + + + + CSW + + + 2.0.2 + 3.0.0 + + + http://geo.data.gov/geoportal/csw/discovery + + + 10 + + + XML + SOAP + + + allowed + + + + http://localhost/pycsw/csw.py?config=tests/suites/apiso-inspire/default.cfg&service=CSW&version=2.0.2&request=GetCapabilities + application/xml + + service + + + + 2011-02-01 + 2011-03-30 + + + + + + COMMISSION REGULATION (EU) No 1089/2010 of 23 November 2010 implementing Directive 2007/2/EC of the European Parliament and of the Council as regards interoperability of spatial data sets and services + 2010-12-08 + OJ:L:2010:323:0011:0102:EN:PDF + + http://eur-lex.europa.eu/LexUriServ/LexUriServ.do?uri=OJ:L:2010:323:0011:0102:EN:PDF + application/pdf + + + notEvaluated + + + National Technical University of Athens + tzotsos@gmail.com + + 2011-03-29 + discovery + + infoCatalogueService + + + + GEMET - INSPIRE themes + 2008-06-01 + + Utility and governmental services + + + + eng + + + eng + + + gre + + + + eng + + + + + + + gml:Point + gml:LineString + gml:Polygon + gml:Envelope + + + + + + + + + + + + + + + + + + + Between + EqualTo + GreaterThan + GreaterThanEqualTo + LessThan + LessThanEqualTo + Like + NotEqualTo + NullCheck + + + + + length + lower + ltrim + rtrim + trim + upper + + + + + + + + + + diff --git a/tests/functionaltests/suites/apiso-inspire/expected/get_GetCapabilities.xml b/tests/functionaltests/suites/apiso-inspire/expected/get_GetCapabilities.xml new file mode 100644 index 000000000..6ecec21c6 --- /dev/null +++ b/tests/functionaltests/suites/apiso-inspire/expected/get_GetCapabilities.xml @@ -0,0 +1,375 @@ + + + + + pycsw Geospatial Catalogue + pycsw is an OGC CSW server implementation written in Python + + catalogue + discovery + theme + + CSW + 2.0.2 + 3.0.0 + None + None + + + pycsw + + + Kralidis, Tom + Senior Systems Scientist + + + +01-416-xxx-xxxx + +01-416-xxx-xxxx + + + TBA + Toronto + Ontario + M9C 3Z9 + Canada + tomkralidis@gmail.com + + + 0800h - 1600h EST + During hours of service. Off on weekends. + + pointOfContact + + + + + + + + + + + + Filter_Capabilities + OperationsMetadata + ServiceIdentification + ServiceProvider + + + + + + + + + + + application/json + application/xml + + + http://www.w3.org/2001/XMLSchema + http://www.w3.org/TR/xmlschema-1/ + http://www.w3.org/XML/Schema + + + csw:Record + gmd:MD_Metadata + + + + + + + + + + + DescribeRecord.outputFormat + DescribeRecord.schemaLanguage + DescribeRecord.typeName + GetCapabilities.sections + GetRecordById.ElementSetName + GetRecordById.outputFormat + GetRecordById.outputSchema + GetRecords.CONSTRAINTLANGUAGE + GetRecords.ElementSetName + GetRecords.outputFormat + GetRecords.outputSchema + GetRecords.resultType + GetRecords.typeNames + + + + + + + + + + + CQL_TEXT + FILTER + + + brief + full + summary + + + application/json + application/xml + + + http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ + http://www.interlis.ch/INTERLIS2.3 + http://www.isotc211.org/2005/gmd + http://www.opengis.net/cat/csw/2.0.2 + http://www.opengis.net/cat/csw/csdgm + http://www.w3.org/2005/Atom + + + hits + results + validate + + + csw:Record + gmd:MD_Metadata + + + apiso:AccessConstraints + apiso:Classification + apiso:ConditionApplyingToAccessAndUse + apiso:Contributor + apiso:Creator + apiso:Degree + apiso:Lineage + apiso:OtherConstraints + apiso:Publisher + apiso:Relation + apiso:ResponsiblePartyRole + apiso:SpecificationDate + apiso:SpecificationDateType + apiso:SpecificationTitle + + + csw:AnyText + dc:contributor + dc:creator + dc:date + dc:format + dc:identifier + dc:language + dc:publisher + dc:relation + dc:rights + dc:source + dc:subject + dc:title + dc:type + dct:abstract + dct:modified + ows:BoundingBox + + + apiso:Abstract + apiso:AlternateTitle + apiso:AnyText + apiso:BoundingBox + apiso:CRS + apiso:CouplingType + apiso:CreationDate + apiso:Denominator + apiso:DistanceUOM + apiso:DistanceValue + apiso:Format + apiso:GeographicDescriptionCode + apiso:HasSecurityConstraints + apiso:Identifier + apiso:KeywordType + apiso:Language + apiso:Modified + apiso:OperatesOn + apiso:OperatesOnIdentifier + apiso:OperatesOnName + apiso:Operation + apiso:OrganisationName + apiso:ParentIdentifier + apiso:PublicationDate + apiso:ResourceLanguage + apiso:RevisionDate + apiso:ServiceType + apiso:ServiceTypeVersion + apiso:Subject + apiso:TempExtent_begin + apiso:TempExtent_end + apiso:Title + apiso:TopicCategory + apiso:Type + + + + + + + + + + + brief + full + summary + + + application/json + application/xml + + + http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ + http://www.interlis.ch/INTERLIS2.3 + http://www.isotc211.org/2005/gmd + http://www.opengis.net/cat/csw/2.0.2 + http://www.opengis.net/cat/csw/csdgm + http://www.w3.org/2005/Atom + + + + + + + + + + + CSW + + + 2.0.2 + 3.0.0 + + + http://geo.data.gov/geoportal/csw/discovery + + + 10 + + + XML + SOAP + + + allowed + + + + http://localhost/pycsw/csw.py?config=tests/suites/apiso-inspire/default.cfg&service=CSW&version=2.0.2&request=GetCapabilities + application/xml + + service + + + + 2011-02-01 + 2011-03-30 + + + + + + COMMISSION REGULATION (EU) No 1089/2010 of 23 November 2010 implementing Directive 2007/2/EC of the European Parliament and of the Council as regards interoperability of spatial data sets and services + 2010-12-08 + OJ:L:2010:323:0011:0102:EN:PDF + + http://eur-lex.europa.eu/LexUriServ/LexUriServ.do?uri=OJ:L:2010:323:0011:0102:EN:PDF + application/pdf + + + notEvaluated + + + National Technical University of Athens + tzotsos@gmail.com + + 2011-03-29 + discovery + + infoCatalogueService + + + + GEMET - INSPIRE themes + 2008-06-01 + + Utility and governmental services + + + + eng + + + eng + + + gre + + + + eng + + + + + + + gml:Point + gml:LineString + gml:Polygon + gml:Envelope + + + + + + + + + + + + + + + + + + + Between + EqualTo + GreaterThan + GreaterThanEqualTo + LessThan + LessThanEqualTo + Like + NotEqualTo + NullCheck + + + + + length + lower + ltrim + rtrim + trim + upper + + + + + + + + + + diff --git a/tests/functionaltests/suites/apiso-inspire/get/requests.txt b/tests/functionaltests/suites/apiso-inspire/get/requests.txt new file mode 100644 index 000000000..09816a219 --- /dev/null +++ b/tests/functionaltests/suites/apiso-inspire/get/requests.txt @@ -0,0 +1,2 @@ +GetCapabilities,service=CSW&version=2.0.2&request=GetCapabilities +GetCapabilities-lang,service=CSW&version=2.0.2&request=GetCapabilities&lang=gre diff --git a/tests/functionaltests/suites/apiso/data/3e9a8c05.xml b/tests/functionaltests/suites/apiso/data/3e9a8c05.xml new file mode 100644 index 000000000..3635d7c8a --- /dev/null +++ b/tests/functionaltests/suites/apiso/data/3e9a8c05.xml @@ -0,0 +1,248 @@ + + +3e9a8c05 + + +eng + + +service + + + + +NTUA + + + + + + +tzotsos@gmail.com + + + + + + +pointOfContact + + + + +2011-04-18 + + +ISO19115 + + +2003/Cor.1:2006 + + + + + + +test Title + + + + +2011-04-19 + + +creation + + + + + + +http://aiolos.survey.ntua.gr + + +ogc + + + + + + +test Abstract + + + + +NTUA + + + + + + +tzotsos@gmail.com + + + + + + +owner + + + + + + +Geographic viewer (humanGeographicViewer) + + + + + + +administration + + + + +GEMET Themes, version 2.3 + + + + +2011-04-18 + + +publication + + + + + + + + + + +Conditions unknown + + + + + + +no limitation + + + + + + + + +19.37 + + +29.61 + + +34.80 + + +41.75 + + + + + + + +2011-04-18 +2011-04-20 + + + + + + + +view + + + + + + + + + + + + + + + + + +http://aiolos.survey.ntua.gr/geoserver/wms + + + + + + + + + + + + +service + + + + + + + + +Conformity_001 + + +INSPIRE + + + + + + + + +Corrigendum to INSPIRE Metadata Regulation published in the Official Journal of the European Union, L 328, page 83 + + + + +2009-12-15 + + +publication + + + + + + +See the referenced specification + + +true + + + + + + + + diff --git a/tests/functionaltests/suites/apiso/data/README.txt b/tests/functionaltests/suites/apiso/data/README.txt new file mode 100644 index 000000000..3dd817cbc --- /dev/null +++ b/tests/functionaltests/suites/apiso/data/README.txt @@ -0,0 +1,7 @@ +APISO Data +========== + +This directory provides data used to check conformance against pycsw APISO support. + +- pacioos-NS06agg.xml: http://oos.soest.hawaii.edu/pacioos/metadata/NS06agg.html +- all other *.xml files are from the Greek National Mapping Agency (metadata submitted to the INSPIRE geoportal) diff --git a/tests/functionaltests/suites/apiso/data/T_aerfo_RAS_1991_GR800P001800000012.xml b/tests/functionaltests/suites/apiso/data/T_aerfo_RAS_1991_GR800P001800000012.xml new file mode 100644 index 000000000..701c3d9a2 --- /dev/null +++ b/tests/functionaltests/suites/apiso/data/T_aerfo_RAS_1991_GR800P001800000012.xml @@ -0,0 +1,37 @@ + + + 366f6257-19eb-4f20-ba78-0698ac4aae77 + eng + dataset + YPAATypaat@ypaat.grpointOfContact + 2009-10-09 +ISO19115 +2003/Cor.1:2006 + + + + + Aerial Photos + 2009-10-09creation + 366f6257-19eb-4f20-ba78-0698ac4aae77 + T_aerfo_RAS_1991_GR800P001800000012.tif + + + Aerial Photos +YPAATypaat@ypaat.growner + OrthoimageryGEMET - INSPIRE themes, version 1.02008-06-01publication + no conditions apply + otherRestrictionsno limitations + eng + geoscientificInformation + 20.0024.0038.0040.00 + 2009-10-092009-10-09 + + +http://www.ypaat.gr + +dataset +Conformity_001INSPIREINSPIRE2008-05-15publicationSee the referenced specificationtrue +test + + diff --git a/tests/functionaltests/suites/apiso/data/T_aerfo_RAS_1991_GR800P001800000013.xml b/tests/functionaltests/suites/apiso/data/T_aerfo_RAS_1991_GR800P001800000013.xml new file mode 100644 index 000000000..e91a4cc55 --- /dev/null +++ b/tests/functionaltests/suites/apiso/data/T_aerfo_RAS_1991_GR800P001800000013.xml @@ -0,0 +1,37 @@ + + + 75a7eb5e-336e-453d-ab06-209b1070d396 + eng + dataset + YPAATypaat@ypaat.grpointOfContact + 2009-10-09 +ISO19115 +2003/Cor.1:2006 + + + + + Aerial Photos + 2009-10-09creation + 75a7eb5e-336e-453d-ab06-209b1070d396 + T_aerfo_RAS_1991_GR800P001800000013.tif + + + Aerial Photos +YPAATypaat@ypaat.growner + OrthoimageryGEMET - INSPIRE themes, version 1.02008-06-01publication + no conditions apply + otherRestrictionsno limitations + eng + geoscientificInformation + 20.0024.0038.0040.00 + 2009-10-092009-10-09 + + +http://www.ypaat.gr + +dataset +Conformity_001INSPIREINSPIRE2008-05-15publicationSee the referenced specificationtrue +test + + diff --git a/tests/functionaltests/suites/apiso/data/T_aerfo_RAS_1991_GR800P001800000014.xml b/tests/functionaltests/suites/apiso/data/T_aerfo_RAS_1991_GR800P001800000014.xml new file mode 100644 index 000000000..88b35f749 --- /dev/null +++ b/tests/functionaltests/suites/apiso/data/T_aerfo_RAS_1991_GR800P001800000014.xml @@ -0,0 +1,37 @@ + + + a7308c0a-b748-48e2-bab7-0a608a51d416 + eng + dataset + YPAATypaat@ypaat.grpointOfContact + 2009-10-09 +ISO19115 +2003/Cor.1:2006 + + + + + Aerial Photos + 2009-10-09creation + a7308c0a-b748-48e2-bab7-0a608a51d416 + T_aerfo_RAS_1991_GR800P001800000014.tif + + + Aerial Photos +YPAATypaat@ypaat.growner + OrthoimageryGEMET - INSPIRE themes, version 1.02008-06-01publication + no conditions apply + otherRestrictionsno limitations + eng + geoscientificInformation + 20.0024.0038.0040.00 + 2009-10-092009-10-09 + + +http://www.ypaat.gr + +dataset +Conformity_001INSPIREINSPIRE2008-05-15publicationSee the referenced specificationtrue +test + + diff --git a/tests/functionaltests/suites/apiso/data/T_aerfo_RAS_1991_GR800P001800000015.xml b/tests/functionaltests/suites/apiso/data/T_aerfo_RAS_1991_GR800P001800000015.xml new file mode 100644 index 000000000..603fb0c5b --- /dev/null +++ b/tests/functionaltests/suites/apiso/data/T_aerfo_RAS_1991_GR800P001800000015.xml @@ -0,0 +1,37 @@ + + + 0173e0d7-6ea9-4407-b846-f29d6bfa9903 + eng + dataset + YPAATypaat@ypaat.grpointOfContact + 2009-10-09 +ISO19115 +2003/Cor.1:2006 + + + + + Aerial Photos + 2009-10-09creation + 0173e0d7-6ea9-4407-b846-f29d6bfa9903 + T_aerfo_RAS_1991_GR800P001800000015.tif + + + Aerial Photos +YPAATypaat@ypaat.growner + OrthoimageryGEMET - INSPIRE themes, version 1.02008-06-01publication + no conditions apply + otherRestrictionsno limitations + eng + geoscientificInformation + 20.0024.0038.0040.00 + 2009-10-092009-10-09 + + +http://www.ypaat.gr + +dataset +Conformity_001INSPIREINSPIRE2008-05-15publicationSee the referenced specificationtrue +test + + diff --git a/tests/functionaltests/suites/apiso/data/T_ortho_RAS_1998_284404.xml b/tests/functionaltests/suites/apiso/data/T_ortho_RAS_1998_284404.xml new file mode 100644 index 000000000..f9c584c34 --- /dev/null +++ b/tests/functionaltests/suites/apiso/data/T_ortho_RAS_1998_284404.xml @@ -0,0 +1,37 @@ + + + de53e931-778a-4792-94ad-9fe507aca483 + eng + dataset + YPAATypaat@ypaat.grpointOfContact + 2009-10-07 +ISO19115 +2003/Cor.1:2006 + + + + + Ortho + 2000-01-01publication + de53e931-778a-4792-94ad-9fe507aca483 + T_ortho_RAS_1998_284404.tif + + + Ortho +YPAATypaat@ypaat.growner + OrthoimageryGEMET - INSPIRE themes, version 1.02008-06-01publication + no conditions apply + otherRestrictionsno limitations + 5000 + eng + geoscientificInformation + 21.47878421.52731739.7600139.790341 + 1997-01-011999-01-01 + + +http://www.ypaat.gr + +dataset +test + + diff --git a/tests/functionaltests/suites/apiso/data/T_ortho_RAS_1998_288395.xml b/tests/functionaltests/suites/apiso/data/T_ortho_RAS_1998_288395.xml new file mode 100644 index 000000000..c9328b797 --- /dev/null +++ b/tests/functionaltests/suites/apiso/data/T_ortho_RAS_1998_288395.xml @@ -0,0 +1,37 @@ + + + 4a5109d7-9ce5-4197-a423-b5fa8c426dee + eng + dataset + YPAATypaat@ypaat.grpointOfContact + 2009-10-07 +ISO19115 +2003/Cor.1:2006 + + + + + Ortho + 2000-01-01publication + 4a5109d7-9ce5-4197-a423-b5fa8c426dee + T_ortho_RAS_1998_288395.tif + + + Ortho +YPAATypaat@ypaat.growner + OrthoimageryGEMET - INSPIRE themes, version 1.02008-06-01publication + no conditions apply + otherRestrictionsno limitations + 5000 + eng + geoscientificInformation + 21.52833321.57683439.67999939.710309 + 1997-01-011999-01-01 + + +http://www.ypaat.gr + +dataset +test + + diff --git a/tests/functionaltests/suites/apiso/data/T_ortho_RAS_1998_288398.xml b/tests/functionaltests/suites/apiso/data/T_ortho_RAS_1998_288398.xml new file mode 100644 index 000000000..2b40aa4ba --- /dev/null +++ b/tests/functionaltests/suites/apiso/data/T_ortho_RAS_1998_288398.xml @@ -0,0 +1,37 @@ + + + 5f37e0f8-4fb1-4637-b959-b415058bdb68 + eng + dataset + YPAATypaat@ypaat.grpointOfContact + 2009-10-07 +ISO19115 +2003/Cor.1:2006 + + + + + Ortho + 2000-01-01publication + 5f37e0f8-4fb1-4637-b959-b415058bdb68 + T_ortho_RAS_1998_288398.tif + + + Ortho +YPAATypaat@ypaat.growner + OrthoimageryGEMET - INSPIRE themes, version 1.02008-06-01publication + no conditions apply + otherRestrictionsno limitations + 5000 + eng + geoscientificInformation + 21.52736921.57588839.70700439.737315 + 1997-01-011999-01-01 + + +http://www.ypaat.gr + +dataset +test + + diff --git a/tests/functionaltests/suites/apiso/data/T_ortho_RAS_1998_288401.xml b/tests/functionaltests/suites/apiso/data/T_ortho_RAS_1998_288401.xml new file mode 100644 index 000000000..7cab9fab2 --- /dev/null +++ b/tests/functionaltests/suites/apiso/data/T_ortho_RAS_1998_288401.xml @@ -0,0 +1,37 @@ + + + f99cc358-f379-4e79-ab1e-cb2f7709f594 + eng + dataset + YPAATypaat@ypaat.grpointOfContact + 2009-10-07 +ISO19115 +2003/Cor.1:2006 + + + + + Ortho + 2000-01-01publication + f99cc358-f379-4e79-ab1e-cb2f7709f594 + T_ortho_RAS_1998_288401.tif + + + Ortho +YPAATypaat@ypaat.growner + OrthoimageryGEMET - INSPIRE themes, version 1.02008-06-01publication + no conditions apply + otherRestrictionsno limitations + 5000 + eng + geoscientificInformation + 21.52640421.57494139.73400939.764321 + 1997-01-011999-01-01 + + +http://www.ypaat.gr + +dataset +test + + diff --git a/tests/functionaltests/suites/apiso/data/T_ortho_RAS_1998_288404.xml b/tests/functionaltests/suites/apiso/data/T_ortho_RAS_1998_288404.xml new file mode 100644 index 000000000..eaa38230a --- /dev/null +++ b/tests/functionaltests/suites/apiso/data/T_ortho_RAS_1998_288404.xml @@ -0,0 +1,37 @@ + + + ae200a05-2800-40b8-b85d-8f8d007b9e30 + eng + dataset + YPAATypaat@ypaat.grpointOfContact + 2009-10-07 +ISO19115 +2003/Cor.1:2006 + + + + + Ortho + 2000-01-01publication + ae200a05-2800-40b8-b85d-8f8d007b9e30 + T_ortho_RAS_1998_288404.tif + + + Ortho +YPAATypaat@ypaat.growner + OrthoimageryGEMET - INSPIRE themes, version 1.02008-06-01publication + no conditions apply + otherRestrictionsno limitations + 5000 + eng + geoscientificInformation + 21.52543721.57399239.76101539.791327 + 1997-01-011999-01-01 + + +http://www.ypaat.gr + +dataset +test + + diff --git a/tests/functionaltests/suites/apiso/data/T_pmoed_DTM_1996_276395.xml b/tests/functionaltests/suites/apiso/data/T_pmoed_DTM_1996_276395.xml new file mode 100644 index 000000000..30c75bbac --- /dev/null +++ b/tests/functionaltests/suites/apiso/data/T_pmoed_DTM_1996_276395.xml @@ -0,0 +1,37 @@ + + + a2744b0c-becd-426a-95a8-46e9850ccc6d + eng + dataset + YPAATypaat@ypaat.grpointOfContact + 2009-10-07 +ISO19115 +2003/Cor.1:2006 + + + + + DTM + 2009-10-07creation + a2744b0c-becd-426a-95a8-46e9850ccc6d + T_pmoed_DTM_1996_276395.tif + + + DTM +YPAATypaat@ypaat.growner + ElevationGEMET - INSPIRE themes, version 1.02008-06-01publication + no conditions apply + otherRestrictionsno limitations + 5000 + eng + elevation + 19.0030.0034.0042.00 + 2009-10-072009-10-07 + + +http://www.ypaat.gr + +dataset +test + + diff --git a/tests/functionaltests/suites/apiso/data/T_pmoed_DTM_1996_276398.xml b/tests/functionaltests/suites/apiso/data/T_pmoed_DTM_1996_276398.xml new file mode 100644 index 000000000..29dfd6399 --- /dev/null +++ b/tests/functionaltests/suites/apiso/data/T_pmoed_DTM_1996_276398.xml @@ -0,0 +1,37 @@ + + + 0dc824a6-b555-46c1-bd7b-bc66cb91a70f + eng + dataset + YPAATypaat@ypaat.grpointOfContact + 2009-10-07 +ISO19115 +2003/Cor.1:2006 + + + + + DTM + 2009-10-07creation + 0dc824a6-b555-46c1-bd7b-bc66cb91a70f + T_pmoed_DTM_1996_276398.tif + + + DTM +YPAATypaat@ypaat.growner + ElevationGEMET - INSPIRE themes, version 1.02008-06-01publication + no conditions apply + otherRestrictionsno limitations + 5000 + eng + elevation + 19.0030.0034.0042.00 + 2009-10-072009-10-07 + + +http://www.ypaat.gr + +dataset +test + + diff --git a/tests/functionaltests/suites/apiso/data/T_pmoed_DTM_1996_276401.xml b/tests/functionaltests/suites/apiso/data/T_pmoed_DTM_1996_276401.xml new file mode 100644 index 000000000..22d507920 --- /dev/null +++ b/tests/functionaltests/suites/apiso/data/T_pmoed_DTM_1996_276401.xml @@ -0,0 +1,37 @@ + + + 42c8e55a-2bf6-476d-a7c9-be3bcd697f13 + eng + dataset + YPAATypaat@ypaat.grpointOfContact + 2009-10-07 +ISO19115 +2003/Cor.1:2006 + + + + + DTM + 2009-10-07creation + 42c8e55a-2bf6-476d-a7c9-be3bcd697f13 + T_pmoed_DTM_1996_276401.tif + + + DTM +YPAATypaat@ypaat.growner + ElevationGEMET - INSPIRE themes, version 1.02008-06-01publication + no conditions apply + otherRestrictionsno limitations + 5000 + eng + elevation + 19.0030.0034.0042.00 + 2009-10-072009-10-07 + + +http://www.ypaat.gr + +dataset +test + + diff --git a/tests/functionaltests/suites/apiso/data/T_pmoed_DTM_1996_276404.xml b/tests/functionaltests/suites/apiso/data/T_pmoed_DTM_1996_276404.xml new file mode 100644 index 000000000..1bdc099d5 --- /dev/null +++ b/tests/functionaltests/suites/apiso/data/T_pmoed_DTM_1996_276404.xml @@ -0,0 +1,37 @@ + + + c3bf29d4-d60a-4959-a415-2c03fb0d4aef + eng + dataset + YPAATypaat@ypaat.grpointOfContact + 2009-10-07 +ISO19115 +2003/Cor.1:2006 + + + + + DTM + 2009-10-07creation + c3bf29d4-d60a-4959-a415-2c03fb0d4aef + T_pmoed_DTM_1996_276404.tif + + + DTM +YPAATypaat@ypaat.growner + ElevationGEMET - INSPIRE themes, version 1.02008-06-01publication + no conditions apply + otherRestrictionsno limitations + 5000 + eng + elevation + 19.0030.0034.0042.00 + 2009-10-072009-10-07 + + +http://www.ypaat.gr + +dataset +test + + diff --git a/tests/functionaltests/suites/apiso/data/T_pmoed_DTM_1996_280395.xml b/tests/functionaltests/suites/apiso/data/T_pmoed_DTM_1996_280395.xml new file mode 100644 index 000000000..422ca581c --- /dev/null +++ b/tests/functionaltests/suites/apiso/data/T_pmoed_DTM_1996_280395.xml @@ -0,0 +1,37 @@ + + + b8cc2388-5d0a-43d8-9473-0e86dd0396da + eng + dataset + YPAATypaat@ypaat.grpointOfContact + 2009-10-07 +ISO19115 +2003/Cor.1:2006 + + + + + DTM + 2009-10-07creation + b8cc2388-5d0a-43d8-9473-0e86dd0396da + T_pmoed_DTM_1996_280395.tif + + + DTM +YPAATypaat@ypaat.growner + ElevationGEMET - INSPIRE themes, version 1.02008-06-01publication + no conditions apply + otherRestrictionsno limitations + 5000 + eng + elevation + 19.0030.0034.0042.00 + 2009-10-072009-10-07 + + +http://www.ypaat.gr + +dataset +test + + diff --git a/tests/functionaltests/suites/apiso/data/pacioos-NS06agg.xml b/tests/functionaltests/suites/apiso/data/pacioos-NS06agg.xml new file mode 100644 index 000000000..5d9636487 --- /dev/null +++ b/tests/functionaltests/suites/apiso/data/pacioos-NS06agg.xml @@ -0,0 +1,1182 @@ + + + + NS06agg + + + eng + + + UTF8 + + + dataset + + + service + + + + + Margaret McManus + + + University of Hawaii + + + + + + + mamc@hawaii.edu + + + + + + + http://www.soest.hawaii.edu/oceanography/faculty/mcmanus.html + + + http + + + web browser + + + + + + + + + information + + + + + + + pointOfContact + + + + + 2014-04-16 + + + ISO 19115-2 Geographic Information - Metadata Part 2 Extensions for imagery and gridded data + + + ISO 19115-2:2009(E) + + + + + 3 + + + + + column + + + 1 + + + 0.0 + + + + + + + row + + + 1 + + + 0.0 + + + + + + + temporal + + + 482760 + + + 252.0 + + + + + area + + + + + + + + + + PacIOOS Nearshore Sensor 06: Pohnpei, Micronesia + + + + + 2011-04-12 + + + creation + + + + + + + 2011-04-19 + + + issued + + + + + + + 2014-03-18 + + + revision + + + + + + + + + org.pacioos + + + + + + NS06agg + + + + + + + Margaret McManus + + + University of Hawaii + + + + + + + mamc@hawaii.edu + + + + + + + http://www.soest.hawaii.edu/oceanography/faculty/mcmanus.html + + + http + + + web browser + + + + + + + + + information + + + + + + + originator + + + + + + + Jim Potemra + + + + + distributor + + + + + Data produced by Dr. Margaret McManus (mamc@hawaii.edu). Point of contact: Gordon Walker (gwalker@hawaii.edu). + + + + + The nearshore sensors are part of the Pacific Islands Ocean Observing System (PacIOOS) and are designed to measure a variety of ocean parameters at fixed point locations. NS06 is located at the dock in Pohnpei lagoon and is mounted to the bottom in about 1 meter of water. The instrument is a Sea-Bird Electronics model 16+ V2 coupled with a WET Labs ECO-FLNTUS combination sensor. + + + PacIOOS provides timely, reliable, and accurate ocean information to support a safe, clean, productive ocean and resilient coastal zone in the U.S. Pacific Islands region. + + + The Pacific Islands Ocean Observing System (PacIOOS) is funded through the National Oceanic and Atmospheric Administration (NOAA) as a Regional Association within the U.S. Integrated Ocean Observing System (IOOS). PacIOOS is coordinated by the University of Hawaii School of Ocean and Earth Science and Technology (SOEST). + + + + + Margaret McManus + + + University of Hawaii + + + + + + + mamc@hawaii.edu + + + + + + + http://www.soest.hawaii.edu/oceanography/faculty/mcmanus.html + + + http + + + web browser + + + + + + + + + information + + + + + + + pointOfContact + + + + + + http://pacioos.org/metadata/browse/NS06agg.png + + Sample image. + + + + + + + Oceans > Ocean Chemistry > Chlorophyll + + + Oceans > Ocean Optics > Turbidity + + + Oceans > Ocean Temperature > Water Temperature + + + Oceans > Salinity/Density > Conductivity + + + Oceans > Salinity/Density > Salinity + + + Oceans > Water Quality + + + theme + + + + + GCMD Science Keywords + + + + + + + + + + Ocean &gt; Pacific Ocean &gt; Western Pacific Ocean &gt; Micronesia &gt; Federated States of Micronesia + + + Ocean &gt; Pacific Ocean &gt; United States of America &gt; Territories + + + Federated States of Micronesia &gt; Pohnpei &gt; Pohnpei Lagoon + + + place + + + + + GCMD Location Keywords + + + + + + + + + + Pacific Islands Ocean Observing System (PacIOOS) + + + project + + + + + GCMD Project Keywords + + + + + + + + + + Pacific Islands Ocean Observing System (PacIOOS) + + + dataCenter + + + + + GCMD Data Center Keywords + + + + + + + + + + sea_water_temperature + + + sea_water_electrical_conductivity + + + sea_water_turbidity + + + mass_concentration_of_chlorophyll_in_sea_water + + + sea_water_salinity + + + depth + + + latitude + + + longitude + + + time + + + theme + + + + + CF-1.4 + + + + + + + + + + The data may be used and redistributed for free but is not intended for legal use, since it may contain inaccuracies. Neither the data Contributor, University of Hawaii, PacIOOS, NOAA, State of Hawaii nor the United States Government, nor any of their employees or contractors, makes any warranty, express or implied, including warranties of merchantability and fitness for a particular purpose, or assumes any legal liability for the accuracy, completeness, or usefulness, of this information. + + + + + + + + + Pacific Islands Ocean Observing System (PacIOOS) + + + + + + largerWorkCitation + + + project + + + + + + + + + + + Unidata Common Data Model + + + + + + Point + + + + + largerWorkCitation + + + project + + + + + eng + + + climatologyMeteorologyAtmosphere + + + + + + + 1 + + + 158.22402954101562 + + + 158.22402954101562 + + + 6.955227375030518 + + + 6.955227375030518 + + + + + + + + seconds + 2010-05-07T00:00:00Z + 2014-03-17T23:56:00Z + + + + + + + + -1.0 + + + -1.0 + + + + + + + + + + + + + + PacIOOS Nearshore Sensor 06: Pohnpei, Micronesia + + + + + 2011-04-12 + + + creation + + + + + + + 2011-04-19 + + + issued + + + + + + + 2014-03-18 + + + revision + + + + + + + Margaret McManus + + + University of Hawaii + + + + + + + mamc@hawaii.edu + + + + + + + http://www.soest.hawaii.edu/oceanography/faculty/mcmanus.html + + + http + + + web browser + + + + + + + + + information + + + + + + + originator + + + + + + + Jim Potemra + + + + + distributor + + + + + + + The nearshore sensors are part of the Pacific Islands Ocean Observing System (PacIOOS) and are designed to measure a variety of ocean parameters at fixed point locations. NS06 is located at the dock in Pohnpei lagoon and is mounted to the bottom in about 1 meter of water. The instrument is a Sea-Bird Electronics model 16+ V2 coupled with a WET Labs ECO-FLNTUS combination sensor. + + + THREDDS OPeNDAP + + + + + + + 1 + + + 158.22402954101562 + + + 158.22402954101562 + + + 6.955227375030518 + + + 6.955227375030518 + + + + + + + + 2010-05-07T00:00:00Z + 2014-03-17T23:56:00Z + + + + + + + + -1.0 + + + -1.0 + + + + + + + + tight + + + + + OPeNDAP Client Access + + + + + + http://oos.soest.hawaii.edu/thredds/dodsC/pacioos/nss/ns06agg + + + OPeNDAP + + + THREDDS OPeNDAP + + + download + + + + + + + + + + + + + + + + + + temp + + + + + float + + + + + + + Temperature (sea_water_temperature) + + + + + + + + + + cond + + + + + float + + + + + + + Conductivity (sea_water_electrical_conductivity) + + + + + + + + + + turb + + + + + float + + + + + + + Turbidity (sea_water_turbidity) + + + + + + + + + + flor + + + + + float + + + + + + + Chlorophyll (mass_concentration_of_chlorophyll_in_sea_water) + + + + + + + + + + salt + + + + + float + + + + + + + Salinity (sea_water_salinity) + + + + + + + + + + z + + + + + float + + + + + + + depth below mean sea level (depth) + + + + + + + + + + lat + + + + + float + + + + + + + Latitude (latitude) + + + + + + + + + + lon + + + + + float + + + + + + + Longitude (longitude) + + + + + + + + + + time + + + + + float + + + + + + + Time (time) + + + + + + + + + + + + + + + Pacific Islands Ocean Observing System (PacIOOS) + + + + + + + jimp@hawaii.edu + + + + + + + http://pacioos.org + + + http + + + web browser + + + URL for the data publisher + + + This URL provides contact information for the publisher of this dataset + + + information + + + + + + + publisher + + + + + + + OPeNDAP + + + + + + + + + + http://oos.soest.hawaii.edu/thredds/idd/nss_pacioos.html?dataset=NS06agg + + + THREDDS Catalog + + + This URL provides a catalog page for this dataset within THREDDS Data Server (TDS). + + + download + + + + + + + + + + + http://oos.soest.hawaii.edu/thredds/dodsC/pacioos/nss/ns06agg.html + + + File Information + + + This URL provides a standard OPeNDAP html interface for selecting data from this dataset. Change the extension to .info for a description of the dataset. + + + download + + + + + + + + + + + http://pacioos.org/voyager/index.html?b=6.874279%2C158.077126%2C7.050468%2C158.369808&tz=pont&o=qual:2::p0NS06p1 + + + PacIOOS Voyager (Google Maps API) + + + This URL provides a viewer for this dataset. + + + download + + + + + + + + + + + http://oos.soest.hawaii.edu/dchart/index.html?dsetid=54cd0688ada08d86748b9c5762509f + + + DChart + + + This URL provides a viewer for this dataset. + + + download + + + + + + + + + + + http://oos.soest.hawaii.edu/erddap/tabledap/nss06_agg.graph?time%2Ctemperature&.draw=lines + + + ERDDAP + + + This URL provides a viewer for this dataset. + + + download + + + + + + + + + + + http://pacioos.org/focus/waterquality/wq_fsm.php + + + PacIOOS Water Quality Platforms: FSM + + + This URL provides a viewer for this dataset. + + + download + + + + + + + + + + + + + + + dataset + + + + + + + UH/SOEST (M. McManus), PacIOOS asset (05/2010) + + + + + + + + + + This record was translated from NcML using UnidataDD2MI.xsl Version 2.3 + + + + diff --git a/tests/functionaltests/suites/apiso/data/test.xml b/tests/functionaltests/suites/apiso/data/test.xml new file mode 100644 index 000000000..d492ed7a7 --- /dev/null +++ b/tests/functionaltests/suites/apiso/data/test.xml @@ -0,0 +1,39 @@ + + + 437ae0a2-06e2-4015-b296-a66e7f407bf2 + eng + dataset + YPAATypaat@ypaat.grpointOfContact + NTUAtzotsos@gmail.compointOfContact + 2009-10-09 +ISO19115 +2003/Cor.1:2006 + + + + + Aerial Photos + 2009-10-09creation + 437ae0a2-06e2-4015-b296-a66e7f407bf2 + T_aerfo_RAS_1991_GR800P001800000011.tif + + + Aerial Photos +YPAATypaat@ypaat.growner +NTUAtzotsos@hotmail.comuser + OrthoimageryGEMET - INSPIRE themes, version 1.02008-06-01publication + no conditions apply + otherRestrictionsno limitations + eng + geoscientificInformation + 20.0038.0024.0040.00 + 2009-10-092009-10-09 + + +http://www.ypaat.gr + +dataset +Conformity_001INSPIREINSPIRE2008-05-15publicationSee the referenced specificationtrue +test + + diff --git a/tests/functionaltests/suites/apiso/default.cfg b/tests/functionaltests/suites/apiso/default.cfg new file mode 100644 index 000000000..6a60f3f9e --- /dev/null +++ b/tests/functionaltests/suites/apiso/default.cfg @@ -0,0 +1,91 @@ +# ================================================================= +# +# Authors: Tom Kralidis +# +# Copyright (c) 2011 Tom Kralidis +# +# Permission is hereby granted, free of charge, to any person +# obtaining a copy of this software and associated documentation +# files (the "Software"), to deal in the Software without +# restriction, including without limitation the rights to use, +# copy, modify, merge, publish, distribute, sublicense, and/or sell +# copies of the Software, and to permit persons to whom the +# Software is furnished to do so, subject to the following +# conditions: +# +# The above copyright notice and this permission notice shall be +# included in all copies or substantial portions of the Software. +# +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +# EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES +# OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +# NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT +# HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, +# WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR +# OTHER DEALINGS IN THE SOFTWARE. +# +# ================================================================= + +[server] +home=. +url=http://localhost/pycsw/csw.py?config=tests/suites/apiso/default.cfg +mimetype=application/xml; charset=UTF-8 +encoding=UTF-8 +language=en-US +maxrecords=10 +#loglevel=DEBUG +#logfile=/tmp/pycsw.log +#ogc_schemas_base=http://foo +federatedcatalogues=http://geo.data.gov/geoportal/csw/discovery +pretty_print=true +#gzip_compresslevel=8 +#spatial_ranking=true +profiles=apiso + +[manager] +transactions=false +allowed_ips=127.0.0.1 + +[metadata:main] +identification_title=pycsw Geospatial Catalogue +identification_abstract=pycsw is an OGC CSW server implementation written in Python +identification_keywords=catalogue,discovery +identification_keywords_type=theme +identification_fees=None +identification_accessconstraints=None +provider_name=pycsw +provider_url=http://pycsw.org/ +contact_name=Kralidis, Tom +contact_position=Senior Systems Scientist +contact_address=TBA +contact_city=Toronto +contact_stateorprovince=Ontario +contact_postalcode=M9C 3Z9 +contact_country=Canada +contact_phone=+01-416-xxx-xxxx +contact_fax=+01-416-xxx-xxxx +contact_email=tomkralidis@gmail.com +contact_url=http://kralidis.ca/ +contact_hours=0800h - 1600h EST +contact_instructions=During hours of service. Off on weekends. +contact_role=pointOfContact + +[repository] +# sqlite +database=sqlite:///tests/suites/apiso/data/records.db +# postgres +#database=postgres://username:password@localhost/pycsw +table=records + +[metadata:inspire] +enabled=false +languages_supported=eng,gre +default_language=eng +date=2011-03-29 +gemet_keywords=Utility and governmental services +conformity_service=notEvaluated +contact_name=National Technical University of Athens +contact_email=tzotsos@gmail.com +temp_extent=2011-02-01/2011-03-30 + diff --git a/tests/functionaltests/suites/apiso/expected/post_DescribeRecord.xml b/tests/functionaltests/suites/apiso/expected/post_DescribeRecord.xml new file mode 100644 index 000000000..bda19c0ac --- /dev/null +++ b/tests/functionaltests/suites/apiso/expected/post_DescribeRecord.xml @@ -0,0 +1,551 @@ + + + + + + + + This file was generated from ISO TC/211 UML class diagrams == 01-26-2005 12:40:05 ====== + + + + + + + + + + + + Basic information about data + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Graphic that provides an illustration of the dataset (should include a legend for the graphic) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + See 19119 for further info + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Brief description of ways in which the dataset is currently used. + + + + + + + + + + + + + + + + + + + + + + + + + + Keywords, their type and reference source + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Encapsulates the dataset aggregation information + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + High-level geospatial data thematic classification to assist in the grouping and search of available geospatial datasets + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + This file was generated from ISO TC/211 UML class diagrams == 10-13-2006 11:14:04 ====== + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/tests/functionaltests/suites/apiso/expected/post_GetCapabilities.xml b/tests/functionaltests/suites/apiso/expected/post_GetCapabilities.xml new file mode 100644 index 000000000..00656b296 --- /dev/null +++ b/tests/functionaltests/suites/apiso/expected/post_GetCapabilities.xml @@ -0,0 +1,318 @@ + + + + + pycsw Geospatial Catalogue + pycsw is an OGC CSW server implementation written in Python + + catalogue + discovery + theme + + CSW + 2.0.2 + 3.0.0 + None + None + + + pycsw + + + Kralidis, Tom + Senior Systems Scientist + + + +01-416-xxx-xxxx + +01-416-xxx-xxxx + + + TBA + Toronto + Ontario + M9C 3Z9 + Canada + tomkralidis@gmail.com + + + 0800h - 1600h EST + During hours of service. Off on weekends. + + pointOfContact + + + + + + + + + + + + Filter_Capabilities + OperationsMetadata + ServiceIdentification + ServiceProvider + + + + + + + + + + + application/json + application/xml + + + http://www.w3.org/2001/XMLSchema + http://www.w3.org/TR/xmlschema-1/ + http://www.w3.org/XML/Schema + + + csw:Record + gmd:MD_Metadata + + + + + + + + + + + DescribeRecord.outputFormat + DescribeRecord.schemaLanguage + DescribeRecord.typeName + GetCapabilities.sections + GetRecordById.ElementSetName + GetRecordById.outputFormat + GetRecordById.outputSchema + GetRecords.CONSTRAINTLANGUAGE + GetRecords.ElementSetName + GetRecords.outputFormat + GetRecords.outputSchema + GetRecords.resultType + GetRecords.typeNames + + + + + + + + + + + CQL_TEXT + FILTER + + + brief + full + summary + + + application/json + application/xml + + + http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ + http://www.interlis.ch/INTERLIS2.3 + http://www.isotc211.org/2005/gmd + http://www.opengis.net/cat/csw/2.0.2 + http://www.opengis.net/cat/csw/csdgm + http://www.w3.org/2005/Atom + + + hits + results + validate + + + csw:Record + gmd:MD_Metadata + + + apiso:AccessConstraints + apiso:Classification + apiso:ConditionApplyingToAccessAndUse + apiso:Contributor + apiso:Creator + apiso:Degree + apiso:Lineage + apiso:OtherConstraints + apiso:Publisher + apiso:Relation + apiso:ResponsiblePartyRole + apiso:SpecificationDate + apiso:SpecificationDateType + apiso:SpecificationTitle + + + csw:AnyText + dc:contributor + dc:creator + dc:date + dc:format + dc:identifier + dc:language + dc:publisher + dc:relation + dc:rights + dc:source + dc:subject + dc:title + dc:type + dct:abstract + dct:modified + ows:BoundingBox + + + apiso:Abstract + apiso:AlternateTitle + apiso:AnyText + apiso:BoundingBox + apiso:CRS + apiso:CouplingType + apiso:CreationDate + apiso:Denominator + apiso:DistanceUOM + apiso:DistanceValue + apiso:Format + apiso:GeographicDescriptionCode + apiso:HasSecurityConstraints + apiso:Identifier + apiso:KeywordType + apiso:Language + apiso:Modified + apiso:OperatesOn + apiso:OperatesOnIdentifier + apiso:OperatesOnName + apiso:Operation + apiso:OrganisationName + apiso:ParentIdentifier + apiso:PublicationDate + apiso:ResourceLanguage + apiso:RevisionDate + apiso:ServiceType + apiso:ServiceTypeVersion + apiso:Subject + apiso:TempExtent_begin + apiso:TempExtent_end + apiso:Title + apiso:TopicCategory + apiso:Type + + + + + + + + + + + brief + full + summary + + + application/json + application/xml + + + http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ + http://www.interlis.ch/INTERLIS2.3 + http://www.isotc211.org/2005/gmd + http://www.opengis.net/cat/csw/2.0.2 + http://www.opengis.net/cat/csw/csdgm + http://www.w3.org/2005/Atom + + + + + + + + + + + CSW + + + 2.0.2 + 3.0.0 + + + http://geo.data.gov/geoportal/csw/discovery + + + 10 + + + XML + SOAP + + + allowed + + + + + + gml:Point + gml:LineString + gml:Polygon + gml:Envelope + + + + + + + + + + + + + + + + + + + Between + EqualTo + GreaterThan + GreaterThanEqualTo + LessThan + LessThanEqualTo + Like + NotEqualTo + NullCheck + + + + + length + lower + ltrim + rtrim + trim + upper + + + + + + + + + + diff --git a/tests/functionaltests/suites/apiso/expected/post_GetDomain-property.xml b/tests/functionaltests/suites/apiso/expected/post_GetDomain-property.xml new file mode 100644 index 000000000..17c50d767 --- /dev/null +++ b/tests/functionaltests/suites/apiso/expected/post_GetDomain-property.xml @@ -0,0 +1,12 @@ + + + + + apiso:TopicCategory + + climatologyMeteorologyAtmosphere + elevation + geoscientificInformation + + + diff --git a/tests/functionaltests/suites/apiso/expected/post_GetRecordById-brief.xml b/tests/functionaltests/suites/apiso/expected/post_GetRecordById-brief.xml new file mode 100644 index 000000000..ea58eb97e --- /dev/null +++ b/tests/functionaltests/suites/apiso/expected/post_GetRecordById-brief.xml @@ -0,0 +1,77 @@ + + + + + + de53e931-778a-4792-94ad-9fe507aca483 + + + dataset + + + + + + + Ortho + + + + + 2000-01-01 + + + publication + + + + + + + + + + + 21.48 + + + 21.53 + + + 39.76 + + + 39.79 + + + + + + + + + + + + + + + http://www.ypaat.gr + + + None + + + None + + + None + + + + + + + + + diff --git a/tests/functionaltests/suites/apiso/expected/post_GetRecordById-full-dc.xml b/tests/functionaltests/suites/apiso/expected/post_GetRecordById-full-dc.xml new file mode 100644 index 000000000..155b3491d --- /dev/null +++ b/tests/functionaltests/suites/apiso/expected/post_GetRecordById-full-dc.xml @@ -0,0 +1,45 @@ + + + + + NS06agg + PacIOOS Nearshore Sensor 06: Pohnpei, Micronesia + dataset + Oceans > Ocean Chemistry > Chlorophyll + Oceans > Ocean Optics > Turbidity + Oceans > Ocean Temperature > Water Temperature + Oceans > Salinity/Density > Conductivity + Oceans > Salinity/Density > Salinity + Oceans > Water Quality + Ocean &gt; Pacific Ocean &gt; Western Pacific Ocean &gt; Micronesia &gt; Federated States of Micronesia + Ocean &gt; Pacific Ocean &gt; United States of America &gt; Territories + Federated States of Micronesia &gt; Pohnpei &gt; Pohnpei Lagoon + Pacific Islands Ocean Observing System (PacIOOS) + Pacific Islands Ocean Observing System (PacIOOS) + sea_water_temperature + sea_water_electrical_conductivity + sea_water_turbidity + mass_concentration_of_chlorophyll_in_sea_water + sea_water_salinity + depth + latitude + longitude + time + climatologyMeteorologyAtmosphere + http://oos.soest.hawaii.edu/thredds/idd/nss_pacioos.html?dataset=NS06agg + http://oos.soest.hawaii.edu/thredds/dodsC/pacioos/nss/ns06agg.html + http://pacioos.org/voyager/index.html?b=6.874279%2C158.077126%2C7.050468%2C158.369808&tz=pont&o=qual:2::p0NS06p1 + http://oos.soest.hawaii.edu/dchart/index.html?dsetid=54cd0688ada08d86748b9c5762509f + http://oos.soest.hawaii.edu/erddap/tabledap/nss06_agg.graph?time%2Ctemperature&.draw=lines + http://pacioos.org/focus/waterquality/wq_fsm.php + http://oos.soest.hawaii.edu/thredds/dodsC/pacioos/nss/ns06agg + + 2014-04-16 + The nearshore sensors are part of the Pacific Islands Ocean Observing System (PacIOOS) and are designed to measure a variety of ocean parameters at fixed point locations. NS06 is located at the dock in Pohnpei lagoon and is mounted to the bottom in about 1 meter of water. The instrument is a Sea-Bird Electronics model 16+ V2 coupled with a WET Labs ECO-FLNTUS combination sensor. + 2014-04-16 + + 6.96 158.22 + 6.96 158.22 + + + diff --git a/tests/functionaltests/suites/apiso/expected/post_GetRecordById-full.xml b/tests/functionaltests/suites/apiso/expected/post_GetRecordById-full.xml new file mode 100644 index 000000000..6b88e5eef --- /dev/null +++ b/tests/functionaltests/suites/apiso/expected/post_GetRecordById-full.xml @@ -0,0 +1,40 @@ + + + + + de53e931-778a-4792-94ad-9fe507aca483 + eng + dataset + YPAATypaat@ypaat.grpointOfContact + 2009-10-07 +ISO19115 +2003/Cor.1:2006 + + + + + Ortho + 2000-01-01publication + de53e931-778a-4792-94ad-9fe507aca483 + T_ortho_RAS_1998_284404.tif + + + Ortho +YPAATypaat@ypaat.growner + OrthoimageryGEMET - INSPIRE themes, version 1.02008-06-01publication + no conditions apply + otherRestrictionsno limitations + 5000 + eng + geoscientificInformation + 21.47878421.52731739.7600139.790341 + 1997-01-011999-01-01 + + +http://www.ypaat.gr + +dataset +test + + + diff --git a/tests/functionaltests/suites/apiso/expected/post_GetRecordById-srv-brief.xml b/tests/functionaltests/suites/apiso/expected/post_GetRecordById-srv-brief.xml new file mode 100644 index 000000000..896b014c5 --- /dev/null +++ b/tests/functionaltests/suites/apiso/expected/post_GetRecordById-srv-brief.xml @@ -0,0 +1,93 @@ + + + + + + 3e9a8c05 + + + service + + + + + + + test Title + + + + + 2011-04-19 + + + creation + + + + + + + view + + + + + + + + Geographic viewer (humanGeographicViewer) + + + administration + + + + + + + + + 19.37 + + + 29.61 + + + 34.8 + + + 41.75 + + + + + + + + + + + + + + + http://aiolos.survey.ntua.gr/geoserver/wms + + + None + + + None + + + None + + + + + + + + + diff --git a/tests/functionaltests/suites/apiso/expected/post_GetRecords-all-csw-output.xml b/tests/functionaltests/suites/apiso/expected/post_GetRecords-all-csw-output.xml new file mode 100644 index 000000000..e428bacf7 --- /dev/null +++ b/tests/functionaltests/suites/apiso/expected/post_GetRecords-all-csw-output.xml @@ -0,0 +1,399 @@ + + + + + + + +3e9a8c05 + + +eng + + +service + + + + +NTUA + + + + + + +tzotsos@gmail.com + + + + + + +pointOfContact + + + + +2011-04-18 + + +ISO19115 + + +2003/Cor.1:2006 + + + + + + +test Title + + + + +2011-04-19 + + +creation + + + + + + +http://aiolos.survey.ntua.gr + + +ogc + + + + + + +test Abstract + + + + +NTUA + + + + + + +tzotsos@gmail.com + + + + + + +owner + + + + + + +Geographic viewer (humanGeographicViewer) + + + + + + +administration + + + + +GEMET Themes, version 2.3 + + + + +2011-04-18 + + +publication + + + + + + + + + + +Conditions unknown + + + + + + +no limitation + + + + + + + + +19.37 + + +29.61 + + +34.80 + + +41.75 + + + + + + + +2011-04-18 +2011-04-20 + + + + + + + +view + + + + + + + + + + + + + + + + + +http://aiolos.survey.ntua.gr/geoserver/wms + + + + + + + + + + + + +service + + + + + + + + +Conformity_001 + + +INSPIRE + + + + + + + + +Corrigendum to INSPIRE Metadata Regulation published in the Official Journal of the European Union, L 328, page 83 + + + + +2009-12-15 + + +publication + + + + + + +See the referenced specification + + +true + + + + + + + + + + 366f6257-19eb-4f20-ba78-0698ac4aae77 + eng + dataset + YPAATypaat@ypaat.grpointOfContact + 2009-10-09 +ISO19115 +2003/Cor.1:2006 + + + + + Aerial Photos + 2009-10-09creation + 366f6257-19eb-4f20-ba78-0698ac4aae77 + T_aerfo_RAS_1991_GR800P001800000012.tif + + + Aerial Photos +YPAATypaat@ypaat.growner + OrthoimageryGEMET - INSPIRE themes, version 1.02008-06-01publication + no conditions apply + otherRestrictionsno limitations + eng + geoscientificInformation + 20.0024.0038.0040.00 + 2009-10-092009-10-09 + + +http://www.ypaat.gr + +dataset +Conformity_001INSPIREINSPIRE2008-05-15publicationSee the referenced specificationtrue +test + + + + 75a7eb5e-336e-453d-ab06-209b1070d396 + eng + dataset + YPAATypaat@ypaat.grpointOfContact + 2009-10-09 +ISO19115 +2003/Cor.1:2006 + + + + + Aerial Photos + 2009-10-09creation + 75a7eb5e-336e-453d-ab06-209b1070d396 + T_aerfo_RAS_1991_GR800P001800000013.tif + + + Aerial Photos +YPAATypaat@ypaat.growner + OrthoimageryGEMET - INSPIRE themes, version 1.02008-06-01publication + no conditions apply + otherRestrictionsno limitations + eng + geoscientificInformation + 20.0024.0038.0040.00 + 2009-10-092009-10-09 + + +http://www.ypaat.gr + +dataset +Conformity_001INSPIREINSPIRE2008-05-15publicationSee the referenced specificationtrue +test + + + + a7308c0a-b748-48e2-bab7-0a608a51d416 + eng + dataset + YPAATypaat@ypaat.grpointOfContact + 2009-10-09 +ISO19115 +2003/Cor.1:2006 + + + + + Aerial Photos + 2009-10-09creation + a7308c0a-b748-48e2-bab7-0a608a51d416 + T_aerfo_RAS_1991_GR800P001800000014.tif + + + Aerial Photos +YPAATypaat@ypaat.growner + OrthoimageryGEMET - INSPIRE themes, version 1.02008-06-01publication + no conditions apply + otherRestrictionsno limitations + eng + geoscientificInformation + 20.0024.0038.0040.00 + 2009-10-092009-10-09 + + +http://www.ypaat.gr + +dataset +Conformity_001INSPIREINSPIRE2008-05-15publicationSee the referenced specificationtrue +test + + + + 0173e0d7-6ea9-4407-b846-f29d6bfa9903 + eng + dataset + YPAATypaat@ypaat.grpointOfContact + 2009-10-09 +ISO19115 +2003/Cor.1:2006 + + + + + Aerial Photos + 2009-10-09creation + 0173e0d7-6ea9-4407-b846-f29d6bfa9903 + T_aerfo_RAS_1991_GR800P001800000015.tif + + + Aerial Photos +YPAATypaat@ypaat.growner + OrthoimageryGEMET - INSPIRE themes, version 1.02008-06-01publication + no conditions apply + otherRestrictionsno limitations + eng + geoscientificInformation + 20.0024.0038.0040.00 + 2009-10-092009-10-09 + + +http://www.ypaat.gr + +dataset +Conformity_001INSPIREINSPIRE2008-05-15publicationSee the referenced specificationtrue +test + + + + diff --git a/tests/functionaltests/suites/apiso/expected/post_GetRecords-all.xml b/tests/functionaltests/suites/apiso/expected/post_GetRecords-all.xml new file mode 100644 index 000000000..e428bacf7 --- /dev/null +++ b/tests/functionaltests/suites/apiso/expected/post_GetRecords-all.xml @@ -0,0 +1,399 @@ + + + + + + + +3e9a8c05 + + +eng + + +service + + + + +NTUA + + + + + + +tzotsos@gmail.com + + + + + + +pointOfContact + + + + +2011-04-18 + + +ISO19115 + + +2003/Cor.1:2006 + + + + + + +test Title + + + + +2011-04-19 + + +creation + + + + + + +http://aiolos.survey.ntua.gr + + +ogc + + + + + + +test Abstract + + + + +NTUA + + + + + + +tzotsos@gmail.com + + + + + + +owner + + + + + + +Geographic viewer (humanGeographicViewer) + + + + + + +administration + + + + +GEMET Themes, version 2.3 + + + + +2011-04-18 + + +publication + + + + + + + + + + +Conditions unknown + + + + + + +no limitation + + + + + + + + +19.37 + + +29.61 + + +34.80 + + +41.75 + + + + + + + +2011-04-18 +2011-04-20 + + + + + + + +view + + + + + + + + + + + + + + + + + +http://aiolos.survey.ntua.gr/geoserver/wms + + + + + + + + + + + + +service + + + + + + + + +Conformity_001 + + +INSPIRE + + + + + + + + +Corrigendum to INSPIRE Metadata Regulation published in the Official Journal of the European Union, L 328, page 83 + + + + +2009-12-15 + + +publication + + + + + + +See the referenced specification + + +true + + + + + + + + + + 366f6257-19eb-4f20-ba78-0698ac4aae77 + eng + dataset + YPAATypaat@ypaat.grpointOfContact + 2009-10-09 +ISO19115 +2003/Cor.1:2006 + + + + + Aerial Photos + 2009-10-09creation + 366f6257-19eb-4f20-ba78-0698ac4aae77 + T_aerfo_RAS_1991_GR800P001800000012.tif + + + Aerial Photos +YPAATypaat@ypaat.growner + OrthoimageryGEMET - INSPIRE themes, version 1.02008-06-01publication + no conditions apply + otherRestrictionsno limitations + eng + geoscientificInformation + 20.0024.0038.0040.00 + 2009-10-092009-10-09 + + +http://www.ypaat.gr + +dataset +Conformity_001INSPIREINSPIRE2008-05-15publicationSee the referenced specificationtrue +test + + + + 75a7eb5e-336e-453d-ab06-209b1070d396 + eng + dataset + YPAATypaat@ypaat.grpointOfContact + 2009-10-09 +ISO19115 +2003/Cor.1:2006 + + + + + Aerial Photos + 2009-10-09creation + 75a7eb5e-336e-453d-ab06-209b1070d396 + T_aerfo_RAS_1991_GR800P001800000013.tif + + + Aerial Photos +YPAATypaat@ypaat.growner + OrthoimageryGEMET - INSPIRE themes, version 1.02008-06-01publication + no conditions apply + otherRestrictionsno limitations + eng + geoscientificInformation + 20.0024.0038.0040.00 + 2009-10-092009-10-09 + + +http://www.ypaat.gr + +dataset +Conformity_001INSPIREINSPIRE2008-05-15publicationSee the referenced specificationtrue +test + + + + a7308c0a-b748-48e2-bab7-0a608a51d416 + eng + dataset + YPAATypaat@ypaat.grpointOfContact + 2009-10-09 +ISO19115 +2003/Cor.1:2006 + + + + + Aerial Photos + 2009-10-09creation + a7308c0a-b748-48e2-bab7-0a608a51d416 + T_aerfo_RAS_1991_GR800P001800000014.tif + + + Aerial Photos +YPAATypaat@ypaat.growner + OrthoimageryGEMET - INSPIRE themes, version 1.02008-06-01publication + no conditions apply + otherRestrictionsno limitations + eng + geoscientificInformation + 20.0024.0038.0040.00 + 2009-10-092009-10-09 + + +http://www.ypaat.gr + +dataset +Conformity_001INSPIREINSPIRE2008-05-15publicationSee the referenced specificationtrue +test + + + + 0173e0d7-6ea9-4407-b846-f29d6bfa9903 + eng + dataset + YPAATypaat@ypaat.grpointOfContact + 2009-10-09 +ISO19115 +2003/Cor.1:2006 + + + + + Aerial Photos + 2009-10-09creation + 0173e0d7-6ea9-4407-b846-f29d6bfa9903 + T_aerfo_RAS_1991_GR800P001800000015.tif + + + Aerial Photos +YPAATypaat@ypaat.growner + OrthoimageryGEMET - INSPIRE themes, version 1.02008-06-01publication + no conditions apply + otherRestrictionsno limitations + eng + geoscientificInformation + 20.0024.0038.0040.00 + 2009-10-092009-10-09 + + +http://www.ypaat.gr + +dataset +Conformity_001INSPIREINSPIRE2008-05-15publicationSee the referenced specificationtrue +test + + + + diff --git a/tests/functionaltests/suites/apiso/expected/post_GetRecords-cql-title.xml b/tests/functionaltests/suites/apiso/expected/post_GetRecords-cql-title.xml new file mode 100644 index 000000000..86fd86cf9 --- /dev/null +++ b/tests/functionaltests/suites/apiso/expected/post_GetRecords-cql-title.xml @@ -0,0 +1,372 @@ + + + + + + + + a2744b0c-becd-426a-95a8-46e9850ccc6d + + + dataset + + + + + + + DTM + + + + + 2009-10-07 + + + creation + + + + + + + + + + + 19.0 + + + 30.0 + + + 34.0 + + + 42.0 + + + + + + + + + + + + + + + http://www.ypaat.gr + + + None + + + None + + + None + + + + + + + + + + + 0dc824a6-b555-46c1-bd7b-bc66cb91a70f + + + dataset + + + + + + + DTM + + + + + 2009-10-07 + + + creation + + + + + + + + + + + 19.0 + + + 30.0 + + + 34.0 + + + 42.0 + + + + + + + + + + + + + + + http://www.ypaat.gr + + + None + + + None + + + None + + + + + + + + + + + 42c8e55a-2bf6-476d-a7c9-be3bcd697f13 + + + dataset + + + + + + + DTM + + + + + 2009-10-07 + + + creation + + + + + + + + + + + 19.0 + + + 30.0 + + + 34.0 + + + 42.0 + + + + + + + + + + + + + + + http://www.ypaat.gr + + + None + + + None + + + None + + + + + + + + + + + c3bf29d4-d60a-4959-a415-2c03fb0d4aef + + + dataset + + + + + + + DTM + + + + + 2009-10-07 + + + creation + + + + + + + + + + + 19.0 + + + 30.0 + + + 34.0 + + + 42.0 + + + + + + + + + + + + + + + http://www.ypaat.gr + + + None + + + None + + + None + + + + + + + + + + + b8cc2388-5d0a-43d8-9473-0e86dd0396da + + + dataset + + + + + + + DTM + + + + + 2009-10-07 + + + creation + + + + + + + + + + + 19.0 + + + 30.0 + + + 34.0 + + + 42.0 + + + + + + + + + + + + + + + http://www.ypaat.gr + + + None + + + None + + + None + + + + + + + + + + diff --git a/tests/functionaltests/suites/apiso/expected/post_GetRecords-elementname.xml b/tests/functionaltests/suites/apiso/expected/post_GetRecords-elementname.xml new file mode 100644 index 000000000..97175977f --- /dev/null +++ b/tests/functionaltests/suites/apiso/expected/post_GetRecords-elementname.xml @@ -0,0 +1,388 @@ + + + + + + + + 3e9a8c05 + + + service + + + + + + + test Title + + + + + 2011-04-19 + + + creation + + + + + + + view + + + + + + + + Geographic viewer (humanGeographicViewer) + + + administration + + + + + + + + + 19.37 + + + 29.61 + + + 34.8 + + + 41.75 + + + + + + + + + + + + + + + http://aiolos.survey.ntua.gr/geoserver/wms + + + None + + + None + + + None + + + + + + + + + + + 366f6257-19eb-4f20-ba78-0698ac4aae77 + + + dataset + + + + + + + Aerial Photos + + + + + 2009-10-09 + + + creation + + + + + + + + + + + 20.0 + + + 24.0 + + + 38.0 + + + 40.0 + + + + + + + + + + + + + + + http://www.ypaat.gr + + + None + + + None + + + None + + + + + + + + + + + 75a7eb5e-336e-453d-ab06-209b1070d396 + + + dataset + + + + + + + Aerial Photos + + + + + 2009-10-09 + + + creation + + + + + + + + + + + 20.0 + + + 24.0 + + + 38.0 + + + 40.0 + + + + + + + + + + + + + + + http://www.ypaat.gr + + + None + + + None + + + None + + + + + + + + + + + a7308c0a-b748-48e2-bab7-0a608a51d416 + + + dataset + + + + + + + Aerial Photos + + + + + 2009-10-09 + + + creation + + + + + + + + + + + 20.0 + + + 24.0 + + + 38.0 + + + 40.0 + + + + + + + + + + + + + + + http://www.ypaat.gr + + + None + + + None + + + None + + + + + + + + + + + 0173e0d7-6ea9-4407-b846-f29d6bfa9903 + + + dataset + + + + + + + Aerial Photos + + + + + 2009-10-09 + + + creation + + + + + + + + + + + 20.0 + + + 24.0 + + + 38.0 + + + 40.0 + + + + + + + + + + + + + + + http://www.ypaat.gr + + + None + + + None + + + None + + + + + + + + + + diff --git a/tests/functionaltests/suites/apiso/expected/post_GetRecords-filter-and-nested-spatial-or-dateline.xml b/tests/functionaltests/suites/apiso/expected/post_GetRecords-filter-and-nested-spatial-or-dateline.xml new file mode 100644 index 000000000..4fe317617 --- /dev/null +++ b/tests/functionaltests/suites/apiso/expected/post_GetRecords-filter-and-nested-spatial-or-dateline.xml @@ -0,0 +1,1132 @@ + + + + + + + + NS06agg + + + eng + + + UTF8 + + + dataset + + + service + + + + + Margaret McManus + + + University of Hawaii + + + + + + + mamc@hawaii.edu + + + + + + + http://www.soest.hawaii.edu/oceanography/faculty/mcmanus.html + + + http + + + web browser + + + + + + + + + information + + + + + + + pointOfContact + + + + + 2014-04-16 + + + ISO 19115-2 Geographic Information - Metadata Part 2 Extensions for imagery and gridded data + + + ISO 19115-2:2009(E) + + + + + 3 + + + + + column + + + 1 + + + 0.0 + + + + + + + row + + + 1 + + + 0.0 + + + + + + + temporal + + + 482760 + + + 252.0 + + + + + area + + + + + + + + + + PacIOOS Nearshore Sensor 06: Pohnpei, Micronesia + + + + + 2011-04-12 + + + creation + + + + + + + 2011-04-19 + + + issued + + + + + + + 2014-03-18 + + + revision + + + + + + + + + org.pacioos + + + + + + NS06agg + + + + + + + Margaret McManus + + + University of Hawaii + + + + + + + mamc@hawaii.edu + + + + + + + http://www.soest.hawaii.edu/oceanography/faculty/mcmanus.html + + + http + + + web browser + + + + + + + + + information + + + + + + + originator + + + + + + + Jim Potemra + + + + + distributor + + + + + Data produced by Dr. Margaret McManus (mamc@hawaii.edu). Point of contact: Gordon Walker (gwalker@hawaii.edu). + + + + + The nearshore sensors are part of the Pacific Islands Ocean Observing System (PacIOOS) and are designed to measure a variety of ocean parameters at fixed point locations. NS06 is located at the dock in Pohnpei lagoon and is mounted to the bottom in about 1 meter of water. The instrument is a Sea-Bird Electronics model 16+ V2 coupled with a WET Labs ECO-FLNTUS combination sensor. + + + PacIOOS provides timely, reliable, and accurate ocean information to support a safe, clean, productive ocean and resilient coastal zone in the U.S. Pacific Islands region. + + + The Pacific Islands Ocean Observing System (PacIOOS) is funded through the National Oceanic and Atmospheric Administration (NOAA) as a Regional Association within the U.S. Integrated Ocean Observing System (IOOS). PacIOOS is coordinated by the University of Hawaii School of Ocean and Earth Science and Technology (SOEST). + + + + + Margaret McManus + + + University of Hawaii + + + + + + + mamc@hawaii.edu + + + + + + + http://www.soest.hawaii.edu/oceanography/faculty/mcmanus.html + + + http + + + web browser + + + + + + + + + information + + + + + + + pointOfContact + + + + + + http://pacioos.org/metadata/browse/NS06agg.png + + Sample image. + + + + + + + Oceans > Ocean Chemistry > Chlorophyll + + + Oceans > Ocean Optics > Turbidity + + + Oceans > Ocean Temperature > Water Temperature + + + Oceans > Salinity/Density > Conductivity + + + Oceans > Salinity/Density > Salinity + + + Oceans > Water Quality + + + theme + + + + + GCMD Science Keywords + + + + + + + + + + Ocean &gt; Pacific Ocean &gt; Western Pacific Ocean &gt; Micronesia &gt; Federated States of Micronesia + + + Ocean &gt; Pacific Ocean &gt; United States of America &gt; Territories + + + Federated States of Micronesia &gt; Pohnpei &gt; Pohnpei Lagoon + + + place + + + + + GCMD Location Keywords + + + + + + + + + + Pacific Islands Ocean Observing System (PacIOOS) + + + project + + + + + GCMD Project Keywords + + + + + + + + + + Pacific Islands Ocean Observing System (PacIOOS) + + + dataCenter + + + + + GCMD Data Center Keywords + + + + + + + + + + sea_water_temperature + + + sea_water_electrical_conductivity + + + sea_water_turbidity + + + mass_concentration_of_chlorophyll_in_sea_water + + + sea_water_salinity + + + depth + + + latitude + + + longitude + + + time + + + theme + + + + + CF-1.4 + + + + + + + + + + The data may be used and redistributed for free but is not intended for legal use, since it may contain inaccuracies. Neither the data Contributor, University of Hawaii, PacIOOS, NOAA, State of Hawaii nor the United States Government, nor any of their employees or contractors, makes any warranty, express or implied, including warranties of merchantability and fitness for a particular purpose, or assumes any legal liability for the accuracy, completeness, or usefulness, of this information. + + + + + + + + + Pacific Islands Ocean Observing System (PacIOOS) + + + + + + largerWorkCitation + + + project + + + + + + + + + + + Unidata Common Data Model + + + + + + Point + + + + + largerWorkCitation + + + project + + + + + eng + + + climatologyMeteorologyAtmosphere + + + + + + + 1 + + + 158.22402954101562 + + + 158.22402954101562 + + + 6.955227375030518 + + + 6.955227375030518 + + + + + + + + seconds + 2010-05-07T00:00:00Z + 2014-03-17T23:56:00Z + + + + + + + + -1.0 + + + -1.0 + + + + + + + + + + + + + + PacIOOS Nearshore Sensor 06: Pohnpei, Micronesia + + + + + 2011-04-12 + + + creation + + + + + + + 2011-04-19 + + + issued + + + + + + + 2014-03-18 + + + revision + + + + + + + Margaret McManus + + + University of Hawaii + + + + + + + mamc@hawaii.edu + + + + + + + http://www.soest.hawaii.edu/oceanography/faculty/mcmanus.html + + + http + + + web browser + + + + + + + + + information + + + + + + + originator + + + + + + + Jim Potemra + + + + + distributor + + + + + + + The nearshore sensors are part of the Pacific Islands Ocean Observing System (PacIOOS) and are designed to measure a variety of ocean parameters at fixed point locations. NS06 is located at the dock in Pohnpei lagoon and is mounted to the bottom in about 1 meter of water. The instrument is a Sea-Bird Electronics model 16+ V2 coupled with a WET Labs ECO-FLNTUS combination sensor. + + + THREDDS OPeNDAP + + + + + + + 1 + + + 158.22402954101562 + + + 158.22402954101562 + + + 6.955227375030518 + + + 6.955227375030518 + + + + + + + + 2010-05-07T00:00:00Z + 2014-03-17T23:56:00Z + + + + + + + + -1.0 + + + -1.0 + + + + + + + + tight + + + + + OPeNDAP Client Access + + + + + + http://oos.soest.hawaii.edu/thredds/dodsC/pacioos/nss/ns06agg + + + OPeNDAP + + + THREDDS OPeNDAP + + + download + + + + + + + + + + + + + + + + + + temp + + + + + float + + + + + + + Temperature (sea_water_temperature) + + + + + + + + + + cond + + + + + float + + + + + + + Conductivity (sea_water_electrical_conductivity) + + + + + + + + + + turb + + + + + float + + + + + + + Turbidity (sea_water_turbidity) + + + + + + + + + + flor + + + + + float + + + + + + + Chlorophyll (mass_concentration_of_chlorophyll_in_sea_water) + + + + + + + + + + salt + + + + + float + + + + + + + Salinity (sea_water_salinity) + + + + + + + + + + z + + + + + float + + + + + + + depth below mean sea level (depth) + + + + + + + + + + lat + + + + + float + + + + + + + Latitude (latitude) + + + + + + + + + + lon + + + + + float + + + + + + + Longitude (longitude) + + + + + + + + + + time + + + + + float + + + + + + + Time (time) + + + + + + + + + + + + + + + Pacific Islands Ocean Observing System (PacIOOS) + + + + + + + jimp@hawaii.edu + + + + + + + http://pacioos.org + + + http + + + web browser + + + URL for the data publisher + + + This URL provides contact information for the publisher of this dataset + + + information + + + + + + + publisher + + + + + + + OPeNDAP + + + + + + + + + + http://oos.soest.hawaii.edu/thredds/idd/nss_pacioos.html?dataset=NS06agg + + + THREDDS Catalog + + + This URL provides a catalog page for this dataset within THREDDS Data Server (TDS). + + + download + + + + + + + + + + + http://oos.soest.hawaii.edu/thredds/dodsC/pacioos/nss/ns06agg.html + + + File Information + + + This URL provides a standard OPeNDAP html interface for selecting data from this dataset. Change the extension to .info for a description of the dataset. + + + download + + + + + + + + + + + http://pacioos.org/voyager/index.html?b=6.874279%2C158.077126%2C7.050468%2C158.369808&tz=pont&o=qual:2::p0NS06p1 + + + PacIOOS Voyager (Google Maps API) + + + This URL provides a viewer for this dataset. + + + download + + + + + + + + + + + http://oos.soest.hawaii.edu/dchart/index.html?dsetid=54cd0688ada08d86748b9c5762509f + + + DChart + + + This URL provides a viewer for this dataset. + + + download + + + + + + + + + + + http://oos.soest.hawaii.edu/erddap/tabledap/nss06_agg.graph?time%2Ctemperature&.draw=lines + + + ERDDAP + + + This URL provides a viewer for this dataset. + + + download + + + + + + + + + + + http://pacioos.org/focus/waterquality/wq_fsm.php + + + PacIOOS Water Quality Platforms: FSM + + + This URL provides a viewer for this dataset. + + + download + + + + + + + + + + + + + + + dataset + + + + + + + UH/SOEST (M. McManus), PacIOOS asset (05/2010) + + + + + + + + + + This record was translated from NcML using UnidataDD2MI.xsl Version 2.3 + + + + + + diff --git a/tests/functionaltests/suites/apiso/expected/post_GetRecords-filter-anytext.xml b/tests/functionaltests/suites/apiso/expected/post_GetRecords-filter-anytext.xml new file mode 100644 index 000000000..96190eeb8 --- /dev/null +++ b/tests/functionaltests/suites/apiso/expected/post_GetRecords-filter-anytext.xml @@ -0,0 +1,372 @@ + + + + + + + + 366f6257-19eb-4f20-ba78-0698ac4aae77 + + + dataset + + + + + + + Aerial Photos + + + + + 2009-10-09 + + + creation + + + + + + + + + + + 20.0 + + + 24.0 + + + 38.0 + + + 40.0 + + + + + + + + + + + + + + + http://www.ypaat.gr + + + None + + + None + + + None + + + + + + + + + + + 75a7eb5e-336e-453d-ab06-209b1070d396 + + + dataset + + + + + + + Aerial Photos + + + + + 2009-10-09 + + + creation + + + + + + + + + + + 20.0 + + + 24.0 + + + 38.0 + + + 40.0 + + + + + + + + + + + + + + + http://www.ypaat.gr + + + None + + + None + + + None + + + + + + + + + + + a7308c0a-b748-48e2-bab7-0a608a51d416 + + + dataset + + + + + + + Aerial Photos + + + + + 2009-10-09 + + + creation + + + + + + + + + + + 20.0 + + + 24.0 + + + 38.0 + + + 40.0 + + + + + + + + + + + + + + + http://www.ypaat.gr + + + None + + + None + + + None + + + + + + + + + + + 0173e0d7-6ea9-4407-b846-f29d6bfa9903 + + + dataset + + + + + + + Aerial Photos + + + + + 2009-10-09 + + + creation + + + + + + + + + + + 20.0 + + + 24.0 + + + 38.0 + + + 40.0 + + + + + + + + + + + + + + + http://www.ypaat.gr + + + None + + + None + + + None + + + + + + + + + + + 437ae0a2-06e2-4015-b296-a66e7f407bf2 + + + dataset + + + + + + + Aerial Photos + + + + + 2009-10-09 + + + creation + + + + + + + + + + + 20.0 + + + 38.0 + + + 24.0 + + + 40.0 + + + + + + + + + + + + + + + http://www.ypaat.gr + + + None + + + None + + + None + + + + + + + + + + diff --git a/tests/functionaltests/suites/apiso/expected/post_GetRecords-filter-bbox-csw-output.xml b/tests/functionaltests/suites/apiso/expected/post_GetRecords-filter-bbox-csw-output.xml new file mode 100644 index 000000000..74ac35ab1 --- /dev/null +++ b/tests/functionaltests/suites/apiso/expected/post_GetRecords-filter-bbox-csw-output.xml @@ -0,0 +1,52 @@ + + + + + + + 3e9a8c05 + test Title + service + + 34.8 19.37 + 41.75 29.61 + + + + 366f6257-19eb-4f20-ba78-0698ac4aae77 + Aerial Photos + dataset + + 38.0 20.0 + 40.0 24.0 + + + + 75a7eb5e-336e-453d-ab06-209b1070d396 + Aerial Photos + dataset + + 38.0 20.0 + 40.0 24.0 + + + + a7308c0a-b748-48e2-bab7-0a608a51d416 + Aerial Photos + dataset + + 38.0 20.0 + 40.0 24.0 + + + + 0173e0d7-6ea9-4407-b846-f29d6bfa9903 + Aerial Photos + dataset + + 38.0 20.0 + 40.0 24.0 + + + + diff --git a/tests/functionaltests/suites/apiso/expected/post_GetRecords-filter-bbox.xml b/tests/functionaltests/suites/apiso/expected/post_GetRecords-filter-bbox.xml new file mode 100644 index 000000000..cd76cde90 --- /dev/null +++ b/tests/functionaltests/suites/apiso/expected/post_GetRecords-filter-bbox.xml @@ -0,0 +1,388 @@ + + + + + + + + 3e9a8c05 + + + service + + + + + + + test Title + + + + + 2011-04-19 + + + creation + + + + + + + view + + + + + + + + Geographic viewer (humanGeographicViewer) + + + administration + + + + + + + + + 19.37 + + + 29.61 + + + 34.8 + + + 41.75 + + + + + + + + + + + + + + + http://aiolos.survey.ntua.gr/geoserver/wms + + + None + + + None + + + None + + + + + + + + + + + 366f6257-19eb-4f20-ba78-0698ac4aae77 + + + dataset + + + + + + + Aerial Photos + + + + + 2009-10-09 + + + creation + + + + + + + + + + + 20.0 + + + 24.0 + + + 38.0 + + + 40.0 + + + + + + + + + + + + + + + http://www.ypaat.gr + + + None + + + None + + + None + + + + + + + + + + + 75a7eb5e-336e-453d-ab06-209b1070d396 + + + dataset + + + + + + + Aerial Photos + + + + + 2009-10-09 + + + creation + + + + + + + + + + + 20.0 + + + 24.0 + + + 38.0 + + + 40.0 + + + + + + + + + + + + + + + http://www.ypaat.gr + + + None + + + None + + + None + + + + + + + + + + + a7308c0a-b748-48e2-bab7-0a608a51d416 + + + dataset + + + + + + + Aerial Photos + + + + + 2009-10-09 + + + creation + + + + + + + + + + + 20.0 + + + 24.0 + + + 38.0 + + + 40.0 + + + + + + + + + + + + + + + http://www.ypaat.gr + + + None + + + None + + + None + + + + + + + + + + + 0173e0d7-6ea9-4407-b846-f29d6bfa9903 + + + dataset + + + + + + + Aerial Photos + + + + + 2009-10-09 + + + creation + + + + + + + + + + + 20.0 + + + 24.0 + + + 38.0 + + + 40.0 + + + + + + + + + + + + + + + http://www.ypaat.gr + + + None + + + None + + + None + + + + + + + + + + diff --git a/tests/functionaltests/suites/apiso/expected/post_GetRecords-filter-servicetype.xml b/tests/functionaltests/suites/apiso/expected/post_GetRecords-filter-servicetype.xml new file mode 100644 index 000000000..80fa7ec19 --- /dev/null +++ b/tests/functionaltests/suites/apiso/expected/post_GetRecords-filter-servicetype.xml @@ -0,0 +1,96 @@ + + + + + + + + 3e9a8c05 + + + service + + + + + + + test Title + + + + + 2011-04-19 + + + creation + + + + + + + view + + + + + + + + Geographic viewer (humanGeographicViewer) + + + administration + + + + + + + + + 19.37 + + + 29.61 + + + 34.8 + + + 41.75 + + + + + + + + + + + + + + + http://aiolos.survey.ntua.gr/geoserver/wms + + + None + + + None + + + None + + + + + + + + + + diff --git a/tests/functionaltests/suites/apiso/post/DescribeRecord.xml b/tests/functionaltests/suites/apiso/post/DescribeRecord.xml new file mode 100644 index 000000000..e449f61d2 --- /dev/null +++ b/tests/functionaltests/suites/apiso/post/DescribeRecord.xml @@ -0,0 +1,4 @@ + + + gmd:MD_Metadata + diff --git a/tests/functionaltests/suites/apiso/post/GetCapabilities.xml b/tests/functionaltests/suites/apiso/post/GetCapabilities.xml new file mode 100644 index 000000000..e4dc8070b --- /dev/null +++ b/tests/functionaltests/suites/apiso/post/GetCapabilities.xml @@ -0,0 +1,9 @@ + + + + 2.0.2 + + + application/xml + + diff --git a/tests/functionaltests/suites/apiso/post/GetDomain-property.xml b/tests/functionaltests/suites/apiso/post/GetDomain-property.xml new file mode 100644 index 000000000..a3ff1bac0 --- /dev/null +++ b/tests/functionaltests/suites/apiso/post/GetDomain-property.xml @@ -0,0 +1,5 @@ + + + apiso:TopicCategory + + diff --git a/tests/functionaltests/suites/apiso/post/GetRecordById-brief.xml b/tests/functionaltests/suites/apiso/post/GetRecordById-brief.xml new file mode 100644 index 000000000..84f6c16af --- /dev/null +++ b/tests/functionaltests/suites/apiso/post/GetRecordById-brief.xml @@ -0,0 +1,6 @@ + + + de53e931-778a-4792-94ad-9fe507aca483 + brief + + diff --git a/tests/functionaltests/suites/apiso/post/GetRecordById-full-dc.xml b/tests/functionaltests/suites/apiso/post/GetRecordById-full-dc.xml new file mode 100644 index 000000000..c58520a66 --- /dev/null +++ b/tests/functionaltests/suites/apiso/post/GetRecordById-full-dc.xml @@ -0,0 +1,6 @@ + + + NS06agg + full + + diff --git a/tests/functionaltests/suites/apiso/post/GetRecordById-full.xml b/tests/functionaltests/suites/apiso/post/GetRecordById-full.xml new file mode 100644 index 000000000..2fe6e2d4c --- /dev/null +++ b/tests/functionaltests/suites/apiso/post/GetRecordById-full.xml @@ -0,0 +1,6 @@ + + + de53e931-778a-4792-94ad-9fe507aca483 + full + + diff --git a/tests/functionaltests/suites/apiso/post/GetRecordById-srv-brief.xml b/tests/functionaltests/suites/apiso/post/GetRecordById-srv-brief.xml new file mode 100644 index 000000000..88ec9dec5 --- /dev/null +++ b/tests/functionaltests/suites/apiso/post/GetRecordById-srv-brief.xml @@ -0,0 +1,6 @@ + + + 3e9a8c05 + brief + + diff --git a/tests/functionaltests/suites/apiso/post/GetRecords-all-csw-output.xml b/tests/functionaltests/suites/apiso/post/GetRecords-all-csw-output.xml new file mode 100644 index 000000000..1cdb55562 --- /dev/null +++ b/tests/functionaltests/suites/apiso/post/GetRecords-all-csw-output.xml @@ -0,0 +1,6 @@ + + + + full + + diff --git a/tests/functionaltests/suites/apiso/post/GetRecords-all.xml b/tests/functionaltests/suites/apiso/post/GetRecords-all.xml new file mode 100644 index 000000000..1cdb55562 --- /dev/null +++ b/tests/functionaltests/suites/apiso/post/GetRecords-all.xml @@ -0,0 +1,6 @@ + + + + full + + diff --git a/tests/functionaltests/suites/apiso/post/GetRecords-cql-title.xml b/tests/functionaltests/suites/apiso/post/GetRecords-cql-title.xml new file mode 100644 index 000000000..a8d37e802 --- /dev/null +++ b/tests/functionaltests/suites/apiso/post/GetRecords-cql-title.xml @@ -0,0 +1,9 @@ + + + + brief + + apiso:TopicCategory like '%elevation%' + + + diff --git a/tests/functionaltests/suites/apiso/post/GetRecords-elementname.xml b/tests/functionaltests/suites/apiso/post/GetRecords-elementname.xml new file mode 100644 index 000000000..ff191228e --- /dev/null +++ b/tests/functionaltests/suites/apiso/post/GetRecords-elementname.xml @@ -0,0 +1,6 @@ + + + + apiso:Title + + diff --git a/tests/functionaltests/suites/apiso/post/GetRecords-filter-and-nested-spatial-or-dateline.xml b/tests/functionaltests/suites/apiso/post/GetRecords-filter-and-nested-spatial-or-dateline.xml new file mode 100644 index 000000000..3074a10e6 --- /dev/null +++ b/tests/functionaltests/suites/apiso/post/GetRecords-filter-and-nested-spatial-or-dateline.xml @@ -0,0 +1,45 @@ + + + full + + + + + csw:AnyText + *pacioos* + + + + ows:BoundingBox + + 5.0721 17.8247 + 31.7842 180 + + + + ows:BoundingBox + + 15.0721 -180 + 31.7842 -151.2378 + + + + + + + + + dc:title + ASC + + + + diff --git a/tests/functionaltests/suites/apiso/post/GetRecords-filter-anytext.xml b/tests/functionaltests/suites/apiso/post/GetRecords-filter-anytext.xml new file mode 100644 index 000000000..4bb8d9cbd --- /dev/null +++ b/tests/functionaltests/suites/apiso/post/GetRecords-filter-anytext.xml @@ -0,0 +1,15 @@ + + + + brief + + + + apiso:AnyText + Aerial% + + + + + + diff --git a/tests/functionaltests/suites/apiso/post/GetRecords-filter-bbox-csw-output.xml b/tests/functionaltests/suites/apiso/post/GetRecords-filter-bbox-csw-output.xml new file mode 100644 index 000000000..f7e47c78e --- /dev/null +++ b/tests/functionaltests/suites/apiso/post/GetRecords-filter-bbox-csw-output.xml @@ -0,0 +1,19 @@ + + + + brief + + + + apiso:BoundingBox + + 35 18 + 42 28 + + + + + + + + diff --git a/tests/functionaltests/suites/apiso/post/GetRecords-filter-bbox.xml b/tests/functionaltests/suites/apiso/post/GetRecords-filter-bbox.xml new file mode 100644 index 000000000..2444873bf --- /dev/null +++ b/tests/functionaltests/suites/apiso/post/GetRecords-filter-bbox.xml @@ -0,0 +1,18 @@ + + + + brief + + + + apiso:BoundingBox + + 35 18 + 42 28 + + + + + + + diff --git a/tests/functionaltests/suites/apiso/post/GetRecords-filter-servicetype.xml b/tests/functionaltests/suites/apiso/post/GetRecords-filter-servicetype.xml new file mode 100644 index 000000000..02078b62e --- /dev/null +++ b/tests/functionaltests/suites/apiso/post/GetRecords-filter-servicetype.xml @@ -0,0 +1,14 @@ + + + + brief + + + + apiso:ServiceType + view + + + + + diff --git a/tests/functionaltests/suites/atom/default.cfg b/tests/functionaltests/suites/atom/default.cfg new file mode 100644 index 000000000..b97c23e6b --- /dev/null +++ b/tests/functionaltests/suites/atom/default.cfg @@ -0,0 +1,90 @@ +# ================================================================= +# +# Authors: Tom Kralidis +# +# Copyright (c) 2012 Tom Kralidis +# +# Permission is hereby granted, free of charge, to any person +# obtaining a copy of this software and associated documentation +# files (the "Software"), to deal in the Software without +# restriction, including without limitation the rights to use, +# copy, modify, merge, publish, distribute, sublicense, and/or sell +# copies of the Software, and to permit persons to whom the +# Software is furnished to do so, subject to the following +# conditions: +# +# The above copyright notice and this permission notice shall be +# included in all copies or substantial portions of the Software. +# +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +# EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES +# OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +# NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT +# HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, +# WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR +# OTHER DEALINGS IN THE SOFTWARE. +# +# ================================================================= + +[server] +home=. +url=http://localhost/pycsw/csw.py?config=tests/suites/atom/default.cfg +mimetype=application/xml; charset=UTF-8 +encoding=UTF-8 +language=en-US +maxrecords=10 +#loglevel=DEBUG +#logfile=/tmp/pycsw.log +#ogc_schemas_base=http://foo +federatedcatalogues=http://geo.data.gov/geoportal/csw/discovery +pretty_print=true +#gzip_compresslevel=8 +#spatial_ranking=true + +[manager] +transactions=false +allowed_ips=127.0.0.1 + +[metadata:main] +identification_title=pycsw Geospatial Catalogue +identification_abstract=pycsw is an OGC CSW server implementation written in Python +identification_keywords=catalogue,discovery +identification_keywords_type=theme +identification_fees=None +identification_accessconstraints=None +provider_name=pycsw +provider_url=http://pycsw.org/ +contact_name=Kralidis, Tom +contact_position=Senior Systems Scientist +contact_address=TBA +contact_city=Toronto +contact_stateorprovince=Ontario +contact_postalcode=M9C 3Z9 +contact_country=Canada +contact_phone=+01-416-xxx-xxxx +contact_fax=+01-416-xxx-xxxx +contact_email=tomkralidis@gmail.com +contact_url=http://kralidis.ca/ +contact_hours=0800h - 1600h EST +contact_instructions=During hours of service. Off on weekends. +contact_role=pointOfContact + +[repository] +# sqlite +database=sqlite:///tests/suites/cite/data/records.db +# postgres +#database=postgres://username:password@localhost/pycsw +table=records + +[metadata:inspire] +enabled=false +languages_supported=eng,gre +default_language=eng +date=2011-03-29 +gemet_keywords=Utility and governmental services +conformity_service=notEvaluated +contact_name=National Technical University of Athens +contact_email=tzotsos@gmail.com +temp_extent=2011-02-01/2011-03-30 + diff --git a/tests/functionaltests/suites/atom/expected/get_opensearch-description.xml b/tests/functionaltests/suites/atom/expected/get_opensearch-description.xml new file mode 100644 index 000000000..d9af17447 --- /dev/null +++ b/tests/functionaltests/suites/atom/expected/get_opensearch-description.xml @@ -0,0 +1,13 @@ + + + + pycsw Geospatial Catalogue + pycsw Geospatial Catalogue + pycsw is an OGC CSW server implementation written in Python + catalogue discovery + + http://pycsw.org/img/favicon.ico + Kralidis, Tom + tomkralidis@gmail.com + pycsw + diff --git a/tests/functionaltests/suites/atom/expected/get_opensearch-ogc-bbox-and-time.xml b/tests/functionaltests/suites/atom/expected/get_opensearch-ogc-bbox-and-time.xml new file mode 100644 index 000000000..1b8a63a22 --- /dev/null +++ b/tests/functionaltests/suites/atom/expected/get_opensearch-ogc-bbox-and-time.xml @@ -0,0 +1,38 @@ + + + + http://localhost/pycsw/csw.py?config=tests/suites/atom/default.cfg + pycsw Geospatial Catalogue + 2 + 1 + 2 + + + urn:uuid:9a669547-b69b-469f-a11f-2d875366bbdc + urn:uuid:9a669547-b69b-469f-a11f-2d875366bbdc + + Ñunç elementum + PYCSW_TIMESTAMP + + + 44.79 -6.17 + 51.13 -2.23 + + + + + + urn:uuid:94bc9c83-97f6-4b40-9eb8-a8e8787a5c63 + urn:uuid:94bc9c83-97f6-4b40-9eb8-a8e8787a5c63 + + Mauris sed neque + PYCSW_TIMESTAMP + Curabitur lacinia, ante non porta tempus, mi lorem feugiat odio, eget suscipit eros pede ac velit. + + + 47.59 -4.1 + 51.22 0.89 + + + + diff --git a/tests/functionaltests/suites/atom/expected/get_opensearch-ogc-bbox.xml b/tests/functionaltests/suites/atom/expected/get_opensearch-ogc-bbox.xml new file mode 100644 index 000000000..cb6309ae5 --- /dev/null +++ b/tests/functionaltests/suites/atom/expected/get_opensearch-ogc-bbox.xml @@ -0,0 +1,52 @@ + + + + http://localhost/pycsw/csw.py?config=tests/suites/atom/default.cfg + pycsw Geospatial Catalogue + 3 + 1 + 3 + + urn:uuid:1ef30a8b-876d-4828-9246-c37ab4510bbd + urn:uuid:1ef30a8b-876d-4828-9246-c37ab4510bbd + + + PYCSW_TIMESTAMP + Proin sit amet justo. In justo. Aenean adipiscing nulla id tellus. + + + 60.04 13.75 + 68.41 17.92 + + + + + + urn:uuid:94bc9c83-97f6-4b40-9eb8-a8e8787a5c63 + urn:uuid:94bc9c83-97f6-4b40-9eb8-a8e8787a5c63 + + Mauris sed neque + PYCSW_TIMESTAMP + Curabitur lacinia, ante non porta tempus, mi lorem feugiat odio, eget suscipit eros pede ac velit. + + + 47.59 -4.1 + 51.22 0.89 + + + + + + urn:uuid:9a669547-b69b-469f-a11f-2d875366bbdc + urn:uuid:9a669547-b69b-469f-a11f-2d875366bbdc + + Ñunç elementum + PYCSW_TIMESTAMP + + + 44.79 -6.17 + 51.13 -2.23 + + + + diff --git a/tests/functionaltests/suites/atom/expected/get_opensearch-ogc-count-and-page1.xml b/tests/functionaltests/suites/atom/expected/get_opensearch-ogc-count-and-page1.xml new file mode 100644 index 000000000..abc2039e2 --- /dev/null +++ b/tests/functionaltests/suites/atom/expected/get_opensearch-ogc-count-and-page1.xml @@ -0,0 +1,32 @@ + + + + http://localhost/pycsw/csw.py?config=tests/suites/atom/default.cfg + pycsw Geospatial Catalogue + 2 + 1 + 2 + + + urn:uuid:6a3de50b-fa66-4b58-a0e6-ca146fdd18d4 + urn:uuid:6a3de50b-fa66-4b58-a0e6-ca146fdd18d4 + + Ut facilisis justo ut lacus + PYCSW_TIMESTAMP + + + + urn:uuid:94bc9c83-97f6-4b40-9eb8-a8e8787a5c63 + urn:uuid:94bc9c83-97f6-4b40-9eb8-a8e8787a5c63 + + Mauris sed neque + PYCSW_TIMESTAMP + Curabitur lacinia, ante non porta tempus, mi lorem feugiat odio, eget suscipit eros pede ac velit. + + + 47.59 -4.1 + 51.22 0.89 + + + + diff --git a/tests/functionaltests/suites/atom/expected/get_opensearch-ogc-count-and-page2.xml b/tests/functionaltests/suites/atom/expected/get_opensearch-ogc-count-and-page2.xml new file mode 100644 index 000000000..709921a3f --- /dev/null +++ b/tests/functionaltests/suites/atom/expected/get_opensearch-ogc-count-and-page2.xml @@ -0,0 +1,17 @@ + + + + http://localhost/pycsw/csw.py?config=tests/suites/atom/default.cfg + pycsw Geospatial Catalogue + 2 + 1 + 1 + + + urn:uuid:6a3de50b-fa66-4b58-a0e6-ca146fdd18d4 + urn:uuid:6a3de50b-fa66-4b58-a0e6-ca146fdd18d4 + + Ut facilisis justo ut lacus + PYCSW_TIMESTAMP + + diff --git a/tests/functionaltests/suites/atom/expected/get_opensearch-ogc-q-and-bbox.xml b/tests/functionaltests/suites/atom/expected/get_opensearch-ogc-q-and-bbox.xml new file mode 100644 index 000000000..ed8c2a30c --- /dev/null +++ b/tests/functionaltests/suites/atom/expected/get_opensearch-ogc-q-and-bbox.xml @@ -0,0 +1,24 @@ + + + + http://localhost/pycsw/csw.py?config=tests/suites/atom/default.cfg + pycsw Geospatial Catalogue + 1 + 1 + 1 + + + urn:uuid:94bc9c83-97f6-4b40-9eb8-a8e8787a5c63 + urn:uuid:94bc9c83-97f6-4b40-9eb8-a8e8787a5c63 + + Mauris sed neque + PYCSW_TIMESTAMP + Curabitur lacinia, ante non porta tempus, mi lorem feugiat odio, eget suscipit eros pede ac velit. + + + 47.59 -4.1 + 51.22 0.89 + + + + diff --git a/tests/functionaltests/suites/atom/expected/get_opensearch-ogc-q-and-time.xml b/tests/functionaltests/suites/atom/expected/get_opensearch-ogc-q-and-time.xml new file mode 100644 index 000000000..281c6df53 --- /dev/null +++ b/tests/functionaltests/suites/atom/expected/get_opensearch-ogc-q-and-time.xml @@ -0,0 +1,18 @@ + + + + http://localhost/pycsw/csw.py?config=tests/suites/atom/default.cfg + pycsw Geospatial Catalogue + 1 + 1 + 1 + + + urn:uuid:e9330592-0932-474b-be34-c3a3bb67c7db + urn:uuid:e9330592-0932-474b-be34-c3a3bb67c7db + + Fuscé vitae ligulä + PYCSW_TIMESTAMP + Morbi ultriçes, dui suscipit vestibulum prètium, velit ante pretium tortor, egët tincidunt pede odio ac nulla. + + diff --git a/tests/functionaltests/suites/atom/expected/get_opensearch-ogc-q.xml b/tests/functionaltests/suites/atom/expected/get_opensearch-ogc-q.xml new file mode 100644 index 000000000..7aaae428f --- /dev/null +++ b/tests/functionaltests/suites/atom/expected/get_opensearch-ogc-q.xml @@ -0,0 +1,18 @@ + + + + http://localhost/pycsw/csw.py?config=tests/suites/atom/default.cfg + pycsw Geospatial Catalogue + 1 + 1 + 1 + + + urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f + urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f + + Lorem ipsum + PYCSW_TIMESTAMP + Quisque lacus diam, placerat mollis, pharetra in, commodo sed, augue. Duis iaculis arcu vel arcu. + + diff --git a/tests/functionaltests/suites/atom/expected/get_opensearch-ogc-time.xml b/tests/functionaltests/suites/atom/expected/get_opensearch-ogc-time.xml new file mode 100644 index 000000000..281c6df53 --- /dev/null +++ b/tests/functionaltests/suites/atom/expected/get_opensearch-ogc-time.xml @@ -0,0 +1,18 @@ + + + + http://localhost/pycsw/csw.py?config=tests/suites/atom/default.cfg + pycsw Geospatial Catalogue + 1 + 1 + 1 + + + urn:uuid:e9330592-0932-474b-be34-c3a3bb67c7db + urn:uuid:e9330592-0932-474b-be34-c3a3bb67c7db + + Fuscé vitae ligulä + PYCSW_TIMESTAMP + Morbi ultriçes, dui suscipit vestibulum prètium, velit ante pretium tortor, egët tincidunt pede odio ac nulla. + + diff --git a/tests/functionaltests/suites/atom/expected/get_opensearch-ogc-timeend.xml b/tests/functionaltests/suites/atom/expected/get_opensearch-ogc-timeend.xml new file mode 100644 index 000000000..281c6df53 --- /dev/null +++ b/tests/functionaltests/suites/atom/expected/get_opensearch-ogc-timeend.xml @@ -0,0 +1,18 @@ + + + + http://localhost/pycsw/csw.py?config=tests/suites/atom/default.cfg + pycsw Geospatial Catalogue + 1 + 1 + 1 + + + urn:uuid:e9330592-0932-474b-be34-c3a3bb67c7db + urn:uuid:e9330592-0932-474b-be34-c3a3bb67c7db + + Fuscé vitae ligulä + PYCSW_TIMESTAMP + Morbi ultriçes, dui suscipit vestibulum prètium, velit ante pretium tortor, egët tincidunt pede odio ac nulla. + + diff --git a/tests/functionaltests/suites/atom/expected/get_opensearch-ogc-timestart.xml b/tests/functionaltests/suites/atom/expected/get_opensearch-ogc-timestart.xml new file mode 100644 index 000000000..6e1694835 --- /dev/null +++ b/tests/functionaltests/suites/atom/expected/get_opensearch-ogc-timestart.xml @@ -0,0 +1,47 @@ + + + + http://localhost/pycsw/csw.py?config=tests/suites/atom/default.cfg + pycsw Geospatial Catalogue + 3 + 1 + 3 + + + urn:uuid:9a669547-b69b-469f-a11f-2d875366bbdc + urn:uuid:9a669547-b69b-469f-a11f-2d875366bbdc + + Ñunç elementum + PYCSW_TIMESTAMP + + + 44.79 -6.17 + 51.13 -2.23 + + + + + + urn:uuid:94bc9c83-97f6-4b40-9eb8-a8e8787a5c63 + urn:uuid:94bc9c83-97f6-4b40-9eb8-a8e8787a5c63 + + Mauris sed neque + PYCSW_TIMESTAMP + Curabitur lacinia, ante non porta tempus, mi lorem feugiat odio, eget suscipit eros pede ac velit. + + + 47.59 -4.1 + 51.22 0.89 + + + + + + urn:uuid:784e2afd-a9fd-44a6-9a92-a3848371c8ec + urn:uuid:784e2afd-a9fd-44a6-9a92-a3848371c8ec + + Aliquam fermentum purus quis arcu + PYCSW_TIMESTAMP + Vestibulum quis ipsum sit amet metus imperdiet vehicula. Nulla scelerisque cursus mi. + + diff --git a/tests/functionaltests/suites/atom/expected/get_opensearch.xml b/tests/functionaltests/suites/atom/expected/get_opensearch.xml new file mode 100644 index 000000000..68fbf0f78 --- /dev/null +++ b/tests/functionaltests/suites/atom/expected/get_opensearch.xml @@ -0,0 +1,110 @@ + + + + http://localhost/pycsw/csw.py?config=tests/suites/atom/default.cfg + pycsw Geospatial Catalogue + 12 + 1 + 10 + + + urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f + urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f + + Lorem ipsum + PYCSW_TIMESTAMP + Quisque lacus diam, placerat mollis, pharetra in, commodo sed, augue. Duis iaculis arcu vel arcu. + + + urn:uuid:1ef30a8b-876d-4828-9246-c37ab4510bbd + urn:uuid:1ef30a8b-876d-4828-9246-c37ab4510bbd + + + PYCSW_TIMESTAMP + Proin sit amet justo. In justo. Aenean adipiscing nulla id tellus. + + + 60.04 13.75 + 68.41 17.92 + + + + + + urn:uuid:66ae76b7-54ba-489b-a582-0f0633d96493 + urn:uuid:66ae76b7-54ba-489b-a582-0f0633d96493 + + Maecenas enim + PYCSW_TIMESTAMP + Pellentesque tempus magna non sapien fringilla blandit. + + + + urn:uuid:6a3de50b-fa66-4b58-a0e6-ca146fdd18d4 + urn:uuid:6a3de50b-fa66-4b58-a0e6-ca146fdd18d4 + + Ut facilisis justo ut lacus + PYCSW_TIMESTAMP + + + + urn:uuid:784e2afd-a9fd-44a6-9a92-a3848371c8ec + urn:uuid:784e2afd-a9fd-44a6-9a92-a3848371c8ec + + Aliquam fermentum purus quis arcu + PYCSW_TIMESTAMP + Vestibulum quis ipsum sit amet metus imperdiet vehicula. Nulla scelerisque cursus mi. + + + urn:uuid:829babb0-b2f1-49e1-8cd5-7b489fe71a1e + urn:uuid:829babb0-b2f1-49e1-8cd5-7b489fe71a1e + + Vestibulum massa purus + PYCSW_TIMESTAMP + + + + urn:uuid:88247b56-4cbc-4df9-9860-db3f8042e357 + urn:uuid:88247b56-4cbc-4df9-9860-db3f8042e357 + + + PYCSW_TIMESTAMP + Donec scelerisque pede ut nisl luctus accumsan. Quisque ultrices, lorem eget feugiat fringilla, lorem dui porttitor ante, cursus ultrices magna odio eu neque. + + + + urn:uuid:94bc9c83-97f6-4b40-9eb8-a8e8787a5c63 + urn:uuid:94bc9c83-97f6-4b40-9eb8-a8e8787a5c63 + + Mauris sed neque + PYCSW_TIMESTAMP + Curabitur lacinia, ante non porta tempus, mi lorem feugiat odio, eget suscipit eros pede ac velit. + + + 47.59 -4.1 + 51.22 0.89 + + + + + + urn:uuid:9a669547-b69b-469f-a11f-2d875366bbdc + urn:uuid:9a669547-b69b-469f-a11f-2d875366bbdc + + Ñunç elementum + PYCSW_TIMESTAMP + + + 44.79 -6.17 + 51.13 -2.23 + + + + + urn:uuid:a06af396-3105-442d-8b40-22b57a90d2f2 + urn:uuid:a06af396-3105-442d-8b40-22b57a90d2f2 + + Lorem ipsum dolor sit amet + PYCSW_TIMESTAMP + + diff --git a/tests/functionaltests/suites/atom/expected/post_DescribeRecord.xml b/tests/functionaltests/suites/atom/expected/post_DescribeRecord.xml new file mode 100644 index 000000000..5f82a7d41 --- /dev/null +++ b/tests/functionaltests/suites/atom/expected/post_DescribeRecord.xml @@ -0,0 +1,3 @@ + + + diff --git a/tests/functionaltests/suites/atom/expected/post_GetCapabilities.xml b/tests/functionaltests/suites/atom/expected/post_GetCapabilities.xml new file mode 100644 index 000000000..7ce6b5663 --- /dev/null +++ b/tests/functionaltests/suites/atom/expected/post_GetCapabilities.xml @@ -0,0 +1,262 @@ + + + + + pycsw Geospatial Catalogue + pycsw is an OGC CSW server implementation written in Python + + catalogue + discovery + theme + + CSW + 2.0.2 + 3.0.0 + None + None + + + pycsw + + + Kralidis, Tom + Senior Systems Scientist + + + +01-416-xxx-xxxx + +01-416-xxx-xxxx + + + TBA + Toronto + Ontario + M9C 3Z9 + Canada + tomkralidis@gmail.com + + + 0800h - 1600h EST + During hours of service. Off on weekends. + + pointOfContact + + + + + + + + + + + + Filter_Capabilities + OperationsMetadata + ServiceIdentification + ServiceProvider + + + + + + + + + + + application/json + application/xml + + + http://www.w3.org/2001/XMLSchema + http://www.w3.org/TR/xmlschema-1/ + http://www.w3.org/XML/Schema + + + csw:Record + + + + + + + + + + + DescribeRecord.outputFormat + DescribeRecord.schemaLanguage + DescribeRecord.typeName + GetCapabilities.sections + GetRecordById.ElementSetName + GetRecordById.outputFormat + GetRecordById.outputSchema + GetRecords.CONSTRAINTLANGUAGE + GetRecords.ElementSetName + GetRecords.outputFormat + GetRecords.outputSchema + GetRecords.resultType + GetRecords.typeNames + + + + + + + + + + + CQL_TEXT + FILTER + + + brief + full + summary + + + application/json + application/xml + + + http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ + http://www.interlis.ch/INTERLIS2.3 + http://www.opengis.net/cat/csw/2.0.2 + http://www.opengis.net/cat/csw/csdgm + http://www.w3.org/2005/Atom + + + hits + results + validate + + + csw:Record + + + csw:AnyText + dc:contributor + dc:creator + dc:date + dc:format + dc:identifier + dc:language + dc:publisher + dc:relation + dc:rights + dc:source + dc:subject + dc:title + dc:type + dct:abstract + dct:modified + ows:BoundingBox + + + + + + + + + + + brief + full + summary + + + application/json + application/xml + + + http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ + http://www.interlis.ch/INTERLIS2.3 + http://www.opengis.net/cat/csw/2.0.2 + http://www.opengis.net/cat/csw/csdgm + http://www.w3.org/2005/Atom + + + + + + + + + + + CSW + + + 2.0.2 + 3.0.0 + + + http://geo.data.gov/geoportal/csw/discovery + + + 10 + + + XML + SOAP + + + allowed + + + + + + gml:Point + gml:LineString + gml:Polygon + gml:Envelope + + + + + + + + + + + + + + + + + + + Between + EqualTo + GreaterThan + GreaterThanEqualTo + LessThan + LessThanEqualTo + Like + NotEqualTo + NullCheck + + + + + length + lower + ltrim + rtrim + trim + upper + + + + + + + + + + diff --git a/tests/functionaltests/suites/atom/expected/post_GetRecords-filter-bbox.xml b/tests/functionaltests/suites/atom/expected/post_GetRecords-filter-bbox.xml new file mode 100644 index 000000000..c345e05d9 --- /dev/null +++ b/tests/functionaltests/suites/atom/expected/post_GetRecords-filter-bbox.xml @@ -0,0 +1,36 @@ + + + + + + + + urn:uuid:94bc9c83-97f6-4b40-9eb8-a8e8787a5c63 + urn:uuid:94bc9c83-97f6-4b40-9eb8-a8e8787a5c63 + + Mauris sed neque + PYCSW_TIMESTAMP + Curabitur lacinia, ante non porta tempus, mi lorem feugiat odio, eget suscipit eros pede ac velit. + + + 47.59 -4.1 + 51.22 0.89 + + + + + + urn:uuid:9a669547-b69b-469f-a11f-2d875366bbdc + urn:uuid:9a669547-b69b-469f-a11f-2d875366bbdc + + Ñunç elementum + PYCSW_TIMESTAMP + + + 44.79 -6.17 + 51.13 -2.23 + + + + + diff --git a/tests/functionaltests/suites/atom/get/requests.txt b/tests/functionaltests/suites/atom/get/requests.txt new file mode 100644 index 000000000..6734cd5a7 --- /dev/null +++ b/tests/functionaltests/suites/atom/get/requests.txt @@ -0,0 +1,12 @@ +opensearch,mode=opensearch&service=CSW&version=2.0.2&request=GetRecords&typenames=csw:Record&resulttype=results&elementsetname=brief +opensearch-description,mode=opensearch&service=CSW&version=2.0.2&request=GetCapabilities +opensearch-ogc-q,mode=opensearch&service=CSW&version=2.0.2&request=GetRecords&elementsetname=full&resulttype=results&typenames=csw:Record&q=greece +opensearch-ogc-bbox,mode=opensearch&service=CSW&version=2.0.2&request=GetRecords&elementsetname=full&resulttype=results&typenames=csw:Record&bbox=-180,-90,180,90 +opensearch-ogc-time,mode=opensearch&service=CSW&version=2.0.2&request=GetRecords&elementsetname=full&resulttype=results&typenames=csw:Record&time=2001/2004 +opensearch-ogc-timestart,mode=opensearch&service=CSW&version=2.0.2&request=GetRecords&elementsetname=full&resulttype=results&typenames=csw:Record&time=2004/ +opensearch-ogc-timeend,mode=opensearch&service=CSW&version=2.0.2&request=GetRecords&elementsetname=full&resulttype=results&typenames=csw:Record&time=/2004 +opensearch-ogc-q-and-time,mode=opensearch&service=CSW&version=2.0.2&request=GetRecords&elementsetname=full&resulttype=results&typenames=csw:Record&time=2001/2007&q=vitae +opensearch-ogc-bbox-and-time,mode=opensearch&service=CSW&version=2.0.2&request=GetRecords&elementsetname=full&resulttype=results&typenames=csw:Record&time=2001/2007&bbox=-180,-90,180,90 +opensearch-ogc-q-and-bbox,mode=opensearch&service=CSW&version=2.0.2&request=GetRecords&elementsetname=full&resulttype=results&typenames=csw:Record&q=vegetation&bbox=-180,-90,180,90 +opensearch-ogc-count-and-page1,mode=opensearch&service=CSW&version=2.0.2&request=GetRecords&elementsetname=full&resulttype=results&typenames=csw:Record&q=vegetation&startposition=1 +opensearch-ogc-count-and-page2,mode=opensearch&service=CSW&version=2.0.2&request=GetRecords&elementsetname=full&resulttype=results&typenames=csw:Record&q=vegetation&startposition=1&maxrecords=1 diff --git a/tests/functionaltests/suites/atom/post/DescribeRecord.xml b/tests/functionaltests/suites/atom/post/DescribeRecord.xml new file mode 100644 index 000000000..cd923b8c8 --- /dev/null +++ b/tests/functionaltests/suites/atom/post/DescribeRecord.xml @@ -0,0 +1,4 @@ + + + atom:entry + diff --git a/tests/functionaltests/suites/atom/post/GetCapabilities.xml b/tests/functionaltests/suites/atom/post/GetCapabilities.xml new file mode 100644 index 000000000..e4dc8070b --- /dev/null +++ b/tests/functionaltests/suites/atom/post/GetCapabilities.xml @@ -0,0 +1,9 @@ + + + + 2.0.2 + + + application/xml + + diff --git a/tests/functionaltests/suites/atom/post/GetRecords-filter-bbox.xml b/tests/functionaltests/suites/atom/post/GetRecords-filter-bbox.xml new file mode 100644 index 000000000..1c431c21f --- /dev/null +++ b/tests/functionaltests/suites/atom/post/GetRecords-filter-bbox.xml @@ -0,0 +1,17 @@ + + + + brief + + + + ows:BoundingBox + + 47 -5 + 55 20 + + + + + + diff --git a/tests/functionaltests/suites/cite/data/README.txt b/tests/functionaltests/suites/cite/data/README.txt new file mode 100644 index 000000000..67996869c --- /dev/null +++ b/tests/functionaltests/suites/cite/data/README.txt @@ -0,0 +1,65 @@ +CITE Data +========= + +This directory provides data used to check conformance against the +Open Geospatial Consortium Compliance and Interoperability Testing Initiative (CITE). + +* http://cite.opengeospatial.org/teamengine/ + +The CITE team engine does not offer a specific license for re-distribution, as such it falls +under the general guidance provided by the OGC legal page (http://www.opengeospatial.org/legal/) +and the following license: + +* http://www.opengeospatial.org/ogc/software + +DATA LICENSE +------------ + +The data directory includes information provided by the Open Geospatial Consortium:: + + Copyright © 2012 Open Geospatial Consortium, Inc. + All Rights Reserved. http://www.opengeospatial.org/ogc/legal + +The test data is available directly from the following link: + +* http://cite.opengeospatial.org/teamengine/about/csw/2.0.2/web/ + +This content has been format shifted from CSW record format into a text based +"property file" for release testing. + +Software Notice +--------------- + +This OGC work (including software, documents, or other related items) is being provided by the +copyright holders under the following license. By obtaining, using and/or copying this work, you +(the licensee) agree that you have read, understood, and will comply with the following terms and +conditions: + +Permission to use, copy, and modify this software and its documentation, with or without +modification, for any purpose and without fee or royalty is hereby granted, provided that you +include the following on ALL copies of the software and documentation or portions thereof, including +modifications, that you make: + +1. The full text of this NOTICE in a location viewable to users of the redistributed or derivative +work. + +2. Any pre-existing intellectual property disclaimers, notices, or terms and conditions. If none exist, +a short notice of the following form (hypertext is preferred, text is permitted) should be used +within the body of any redistributed or derivative code: "Copyright © [$date-of-document] Open +Geospatial Consortium, Inc. All Rights Reserved. http://www.opengeospatial.org/ogc/legal (Hypertext +is preferred, but a textual representation is permitted.) + +3. Notice of any changes or modifications to the OGC files, including the date changes were made. (We +recommend you provide URIs to the location from which the code is derived.) + +THIS SOFTWARE AND DOCUMENTATION IS PROVIDED "AS IS," AND COPYRIGHT HOLDERS MAKE NO REPRESENTATIONS +OR WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO, WARRANTIES OF MERCHANTABILITY OR +FITNESS FOR ANY PARTICULAR PURPOSE OR THAT THE USE OF THE SOFTWARE OR DOCUMENTATION WILL NOT +INFRINGE ANY THIRD PARTY PATENTS, COPYRIGHTS, TRADEMARKS OR OTHER RIGHTS. + +COPYRIGHT HOLDERS WILL NOT BE LIABLE FOR ANY DIRECT, INDIRECT, SPECIAL OR CONSEQUENTIAL DAMAGES +ARISING OUT OF ANY USE OF THE SOFTWARE OR DOCUMENTATION. + +The name and trademarks of copyright holders may NOT be used in advertising or publicity pertaining +to the software without specific, written prior permission. Title to copyright in this software and +any associated documentation will at all times remain with copyright holders. diff --git a/tests/functionaltests/suites/cite/data/Record_19887a8a-f6b0-4a63-ae56-7fba0e17801f.xml b/tests/functionaltests/suites/cite/data/Record_19887a8a-f6b0-4a63-ae56-7fba0e17801f.xml new file mode 100644 index 000000000..7292511ed --- /dev/null +++ b/tests/functionaltests/suites/cite/data/Record_19887a8a-f6b0-4a63-ae56-7fba0e17801f.xml @@ -0,0 +1,13 @@ + + + urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f + http://purl.org/dc/dcmitype/Image + image/svg+xml + Lorem ipsum + GR-22 + Tourism--Greece + Quisque lacus diam, placerat mollis, pharetra in, commodo sed, augue. Duis iaculis arcu vel arcu. + \ No newline at end of file diff --git a/tests/functionaltests/suites/cite/data/Record_1ef30a8b-876d-4828-9246-c37ab4510bbd.xml b/tests/functionaltests/suites/cite/data/Record_1ef30a8b-876d-4828-9246-c37ab4510bbd.xml new file mode 100644 index 000000000..97c595793 --- /dev/null +++ b/tests/functionaltests/suites/cite/data/Record_1ef30a8b-876d-4828-9246-c37ab4510bbd.xml @@ -0,0 +1,13 @@ + + + urn:uuid:1ef30a8b-876d-4828-9246-c37ab4510bbd + http://purl.org/dc/dcmitype/Service + Proin sit amet justo. In justo. Aenean adipiscing nulla id tellus. + + 60.042 13.754 + 68.410 17.920 + + \ No newline at end of file diff --git a/tests/functionaltests/suites/cite/data/Record_66ae76b7-54ba-489b-a582-0f0633d96493.xml b/tests/functionaltests/suites/cite/data/Record_66ae76b7-54ba-489b-a582-0f0633d96493.xml new file mode 100644 index 000000000..b58bcdbb0 --- /dev/null +++ b/tests/functionaltests/suites/cite/data/Record_66ae76b7-54ba-489b-a582-0f0633d96493.xml @@ -0,0 +1,12 @@ + + + urn:uuid:66ae76b7-54ba-489b-a582-0f0633d96493 + Maecenas enim + http://purl.org/dc/dcmitype/Text + application/xhtml+xml + Marine sediments + Pellentesque tempus magna non sapien fringilla blandit. + \ No newline at end of file diff --git a/tests/functionaltests/suites/cite/data/Record_6a3de50b-fa66-4b58-a0e6-ca146fdd18d4.xml b/tests/functionaltests/suites/cite/data/Record_6a3de50b-fa66-4b58-a0e6-ca146fdd18d4.xml new file mode 100644 index 000000000..13f973a1c --- /dev/null +++ b/tests/functionaltests/suites/cite/data/Record_6a3de50b-fa66-4b58-a0e6-ca146fdd18d4.xml @@ -0,0 +1,11 @@ + + + urn:uuid:6a3de50b-fa66-4b58-a0e6-ca146fdd18d4 + http://purl.org/dc/dcmitype/Service + Ut facilisis justo ut lacus + Vegetation + urn:uuid:94bc9c83-97f6-4b40-9eb8-a8e8787a5c63 + \ No newline at end of file diff --git a/tests/functionaltests/suites/cite/data/Record_784e2afd-a9fd-44a6-9a92-a3848371c8ec.xml b/tests/functionaltests/suites/cite/data/Record_784e2afd-a9fd-44a6-9a92-a3848371c8ec.xml new file mode 100644 index 000000000..cb2d08b38 --- /dev/null +++ b/tests/functionaltests/suites/cite/data/Record_784e2afd-a9fd-44a6-9a92-a3848371c8ec.xml @@ -0,0 +1,14 @@ + + + urn:uuid:784e2afd-a9fd-44a6-9a92-a3848371c8ec + Aliquam fermentum purus quis arcu + http://purl.org/dc/dcmitype/Text + Hydrography--Dictionaries + application/pdf + 2006-05-12 + Vestibulum quis ipsum sit amet metus imperdiet vehicula. Nulla scelerisque cursus mi. + diff --git a/tests/functionaltests/suites/cite/data/Record_829babb0-b2f1-49e1-8cd5-7b489fe71a1e.xml b/tests/functionaltests/suites/cite/data/Record_829babb0-b2f1-49e1-8cd5-7b489fe71a1e.xml new file mode 100644 index 000000000..83a96d20f --- /dev/null +++ b/tests/functionaltests/suites/cite/data/Record_829babb0-b2f1-49e1-8cd5-7b489fe71a1e.xml @@ -0,0 +1,11 @@ + + + urn:uuid:829babb0-b2f1-49e1-8cd5-7b489fe71a1e + http://purl.org/dc/dcmitype/Image + image/jp2 + Vestibulum massa purus + urn:uuid:9a669547-b69b-469f-a11f-2d875366bbdc + \ No newline at end of file diff --git a/tests/functionaltests/suites/cite/data/Record_88247b56-4cbc-4df9-9860-db3f8042e357.xml b/tests/functionaltests/suites/cite/data/Record_88247b56-4cbc-4df9-9860-db3f8042e357.xml new file mode 100644 index 000000000..2771e6a49 --- /dev/null +++ b/tests/functionaltests/suites/cite/data/Record_88247b56-4cbc-4df9-9860-db3f8042e357.xml @@ -0,0 +1,11 @@ + + + urn:uuid:88247b56-4cbc-4df9-9860-db3f8042e357 + http://purl.org/dc/dcmitype/Dataset + Physiography-Landforms + FI-ES + Donec scelerisque pede ut nisl luctus accumsan. Quisque ultrices, lorem eget feugiat fringilla, lorem dui porttitor ante, cursus ultrices magna odio eu neque. + \ No newline at end of file diff --git a/tests/functionaltests/suites/cite/data/Record_94bc9c83-97f6-4b40-9eb8-a8e8787a5c63.xml b/tests/functionaltests/suites/cite/data/Record_94bc9c83-97f6-4b40-9eb8-a8e8787a5c63.xml new file mode 100644 index 000000000..ccf590fa7 --- /dev/null +++ b/tests/functionaltests/suites/cite/data/Record_94bc9c83-97f6-4b40-9eb8-a8e8787a5c63.xml @@ -0,0 +1,17 @@ + + + urn:uuid:94bc9c83-97f6-4b40-9eb8-a8e8787a5c63 + http://purl.org/dc/dcmitype/Dataset + Mauris sed neque + Vegetation-Cropland + Curabitur lacinia, ante non porta tempus, mi lorem feugiat odio, eget suscipit eros pede ac velit. + 2006-03-26 + + 47.595 -4.097 + 51.217 0.889 + + diff --git a/tests/functionaltests/suites/cite/data/Record_9a669547-b69b-469f-a11f-2d875366bbdc.xml b/tests/functionaltests/suites/cite/data/Record_9a669547-b69b-469f-a11f-2d875366bbdc.xml new file mode 100644 index 000000000..577f2c4ef --- /dev/null +++ b/tests/functionaltests/suites/cite/data/Record_9a669547-b69b-469f-a11f-2d875366bbdc.xml @@ -0,0 +1,16 @@ + + + urn:uuid:9a669547-b69b-469f-a11f-2d875366bbdc + http://purl.org/dc/dcmitype/Dataset + Ñunç elementum + Hydrography-Oceanographic + 2005-10-24 + + 44.792 -6.171 + 51.126 -2.228 + + diff --git a/tests/functionaltests/suites/cite/data/Record_a06af396-3105-442d-8b40-22b57a90d2f2.xml b/tests/functionaltests/suites/cite/data/Record_a06af396-3105-442d-8b40-22b57a90d2f2.xml new file mode 100644 index 000000000..a7ba06c7a --- /dev/null +++ b/tests/functionaltests/suites/cite/data/Record_a06af396-3105-442d-8b40-22b57a90d2f2.xml @@ -0,0 +1,11 @@ + + + urn:uuid:a06af396-3105-442d-8b40-22b57a90d2f2 + http://purl.org/dc/dcmitype/Image + Lorem ipsum dolor sit amet + image/jpeg + IT-FI + \ No newline at end of file diff --git a/tests/functionaltests/suites/cite/data/Record_ab42a8c4-95e8-4630-bf79-33e59241605a.xml b/tests/functionaltests/suites/cite/data/Record_ab42a8c4-95e8-4630-bf79-33e59241605a.xml new file mode 100644 index 000000000..b4d2a23b4 --- /dev/null +++ b/tests/functionaltests/suites/cite/data/Record_ab42a8c4-95e8-4630-bf79-33e59241605a.xml @@ -0,0 +1,11 @@ + + + urn:uuid:ab42a8c4-95e8-4630-bf79-33e59241605a + http://purl.org/dc/dcmitype/Service + Physiography + Suspendisse accumsan molestie lorem. Nullam velit turpis, mattis ut, varius bibendum, laoreet non, quam. + urn:uuid:88247b56-4cbc-4df9-9860-db3f8042e357 + \ No newline at end of file diff --git a/tests/functionaltests/suites/cite/data/Record_e9330592-0932-474b-be34-c3a3bb67c7db.xml b/tests/functionaltests/suites/cite/data/Record_e9330592-0932-474b-be34-c3a3bb67c7db.xml new file mode 100644 index 000000000..1e6bdc2da --- /dev/null +++ b/tests/functionaltests/suites/cite/data/Record_e9330592-0932-474b-be34-c3a3bb67c7db.xml @@ -0,0 +1,14 @@ + + + urn:uuid:e9330592-0932-474b-be34-c3a3bb67c7db + http://purl.org/dc/dcmitype/Text + Fuscé vitae ligulä + 2003-05-09 + Land titles + text/rtf + Morbi ultriçes, dui suscipit vestibulum prètium, velit ante pretium tortor, egët tincidunt pede odio ac nulla. + diff --git a/tests/functionaltests/suites/cite/data/cite.db b/tests/functionaltests/suites/cite/data/cite.db new file mode 100644 index 0000000000000000000000000000000000000000..6bbd3f18ca39cc0bbe41fb4bba50998ec26da50e GIT binary patch literal 82944 zcmeHwdyE{%d1v?3KDbL#Z+R^+P-2HK1b@%jRc6ztTA?aPR2Fqr5)mQaZ{p$7AS6@|~f8(_2QrxoaE^)CeObDVV z{3OPLAS}bbH{jpk*MOIa!3X>=Cf>7Nmj&qu)05ykh5nY&97X>Z{crR?(SJuj3>>lo za(9jZN8k=2pj05D7hi-2o`=V$o`T2TN8m9twI7~h;YR}e@gGOven;T?{$FoR2~QSo zJiL7N{K-dtaB_L|!o?N;bFHE>hx2D&TRyjX>O@RZmmAHB z+*qip%~G}2s8;1#U0yhL@xp7X=T2RC>x=U&=J|#BMp-V;zx(b8pSoPFGoQ2PPOU5h zx05!dy{o2vX?~$Rg1o7gD~$Z&nNt_OIB(E4kOO6@TxlpZxvExc6;)N_YI8(bwNkB) zP6PyCiSXM$`knxP{KpaC2<&bI7R8yTo;vWHC>9>?ds@fTgQrb(%Ql>=@4IVlYIUh= zucN{vKltg_FEH7B68(_n`fMzl?`{xy>Nx@&fnfyB%!13x3_N~n4?JF*g2%~8=D1J% z7{-6}Yv_HXqUpl-3%^mgTzI*#U;JzE;J=-LKn1l$&+aXGo@p#mRhG*&wJMcWxhg3Q zMUyltE0Qh~S<~tby^|HBt@kasi_+^si7%NwM82hQlV3+5RIlntE6Q} zM1_Z&oswFUk0Suc&YSkh8kPTTP6rgLgG)P^g(JWV5ta6)fhvEy%U%0SIj&7~H*$ENu3u$B#U=-Ly&nhb6Pxy2(_oL5N$rT*rXAv%RxfgJ z%`RQjXxkieqCF#~vHGSCscKvHdgN$R$MS3);_J0N(vErSHYKhVv-D*l=TagOy47=S zQ}dEkmfa>j^JmhDbExjwrn?RS7z}35jq^=(ojT4aAIk-1qdbfxvg~8crdLcS35W0M z=U|g-Ak(E2=#zIXgMl356{>XyWfCO|ASC}hHj;e#@>x+YYD1cZj^xTL4k zE2QHkC_`7z>PC?#WzERZq4pJ1r>Po}aJxe76b4qG+UacSme=o?y>=>wfDCFuTytWl z5mhhtB;7!6ehs`{kU|Qrs3GRxA5!BZ{ZhWM2fRT zfBZ)u2f;|v>6c7?-nEroC_!KM( z3V&RfLXV+i=o^BtQ4*);4j&e;KkgEcSe!lxL8JphYHQ6|cZNO-$ImSvyReKe9DC*T zG9L28FU-z3wrSu~XD%$CTt0`-tX{xpE}lNk<{HFvFRk^GLYVK8q-SJ~?b2)U#3Lol zFj^2}uD?{6o|7c;#$i9f110C0ZgsqF&l&zksU#2kvNX5W{D{^-{39K!?aO1Sv=0az z{SxhxZ2u^GL!pP5ZjK-#@a4J?J_d(w!L)15fawy*lOXdZypqVJ_(hQ=W&{zzZ1F=8 zP0t-TApY`Oey&4xaroav3arqPVH69Jn^VscJv!@IfOU<;^dw3f%dpvlIfAwTNJlose!i1o70F6U$$~Bk1tz8606d2wYs7nwqN}5WhSedo(i& zgY3zQJ|axTAGwC|KOg_c>VJ7)j=+x-0XCYCG5*gAFM@fH@T5k-^JF<^qdNbpB#>FpwI% zC23Qfk{-piy`zVQNXr?rc{qzrM3~|cxfWadGB8Vw$03hLvUns&Q(O}6#n%1|J_!Y6 z$mh{4J_*tkpM-nyt%s)ODhEVwQ_%!!;*iB-Su6(Hs6uUSacdTj* zqklXr`j|46f!Mit{*kFU>3|3-*>u(N6^3E-Ph>?OXcd!b_g(n-pYG)N7e`?CAuz`H z&-H)1uef=NIRYsJc>7Pm!9O?x4-^8t{XbB}%`?jpNFgw8`!9T7fOY@xq3?jr&ke8w zJ_mNd7%YMR0X+DRBe2^L_%y1C)pDgKmFrTqexaf))zl@W@%FwfkG)wQvsoT9qdn?x z@5%C*&hnVb@|eu>m>BI*dmCkW6y{KEW-}zUxB2{kw^eSQUXH*J0^^SVVCKi||AsK- zpB#bRf&g#-yQQRfIynM&9)Ypj|9$~Z`(;Q?D7Q_a>h~$Hj{-ZV}z=z}8U*zvnrwg*_K{ zi0(NPkD^1sn(APN?O@t7yMfXFL+II=L@xOJe}~pZo-B?)UIfM%|JnYZ8Q~QH{(eRH zk+>rMapCpCchG0izs$@0{G+4I68#;>p;_XSS!RjBHsz#QqVH0C^RcP9#RKByVOz&w zi%1yjTvn{%Mv`Q-fm89F$4Bqh80-rPWBznj%mccVjpo3ycxRRsVqL5Hg~5OZt^W|h)+(>y$-C4!>nTi(s;X0$o(@}+((5;C14am(fm|~?Q`-( zg^=}uOxDTM7m@{-jHK9_%P<*+?fHWP9YRh&k;N%Nn#x#NV0{0;Ty#3#Yh03$U5y*)EZ~r-g;$$3w`w#)%{_n#=+k|MWA{bEm)t>bYSXs1bMKgjPwy;O5*#SJi~q(u9oWvlxxI$R=sPw%NP*=F_9C9D_Sv zLw?U@@e8O@*$SMB*FKwJhq&pgqL9buvUqF?kYcyVxA@L8qYG@BZMY*^xoWost(I$-a4^CRjkV8b)91G_iOK5WUj5^t^O+c$s9HNEZvIKpY}nDpRU zv%XE48-~lR;BNub_RVj(*fo2)X?Q&s_bJ?j1=nd=nCQ6YbvmT9uRF2vu6W)9>sz=3 z%7M$Cp#FPZhxBk4ZgYaI9I#=8?GGv8Gb}(i5>4U77@Eforg;Dt>0XLyRX8cVuKEFW{S~gsjWdbMzUshNw*o!EF|APi!>A#O@h?S4^-gXRsd!!=4<7% zzd|pWx(DSLlujy#A?L1H3hu}_g1#i4rJW9J;-P-#0&K$+F~}X#H)#(?`NA4lfy2#U zC3JFP<5BUf4fh2^dxL_lIVF6mH+VZn;d-zhCI(bisIk3vP{%M_l;Hwj&nXq?#K!8( z09=1d4>n8!b)^p<>|Qih>tN>(I9!5D_TW}JY(nMHtu9;xXR+-@P(!@7M@#qw+cadt zt{@=yHxIEA_g_lf{%=S2a6C~Qf&2)JA^-FCpC4vU$r0F*2=Mm5Ba4M6iX(7O5E#4t zzsS!2{B`s?`b~5ey@>u4Euo)fMv{b0!>t9go1n=vnbJ%<(}<kVaG^{Iz^;jOo#5<`$I#)K z3l=+#q$^1$LE)rRF8}ZNipLYk5!f1mvB!UY{^!;Jb6<|Y4n}~t{~cU7JZT((yNm#D z|92T+9z9232O}^>`)BrldxU=?z~7&XuZSNNP8a?SdNTj%f8(I?*0ZB8WQHREDQORm zI4fouI)!8@`=-#XXnrokQfy#L=B|TX2-Pjya1LiNNYbXbBt44ya~XF(x2a`NM~6qq zXd#PHOqpU6I~Oh<$(st1DnGjk5U%v zZGxxLvkh(W?4hZ-!v{ojIEje^4@+6;U^FRa%%SMLkYN#SZM_}ys|7-F6e}9So41F8@ zJGcq>JLnViH@h4eo_vnL?nQtZ_EgJdSt`R-#%gd25o_zSp+`-sl%=XN6MohuAg$Je z`-K?YRO|ty)nIQE^9am=5E5p%{J(pv2TwUiz(-*0@t@oO@S4OC*tH1o_P=Y3jwhTW zFg60?w*Nv|DEzO&pA>!r{WUsJ_%ixk)GAy=zle^32mf&d5(s<_t%#Rgx4*Qw2$$7% zN^mXTqM^fI*JLIYix=oMci$m&eoLbB)IVEkFT3b=tH@5l2_STKyVy<;mpIg&$w{{- zC*5?e)J^39WO6%}As`cZB11VND|`;E&TNk^l$g=hV`?oclUV*FK ztzKwlCTGRXjO8NY6qA%s@f~UO@q8>Pz4%tyS{9!HU5drPvG`7DbnG_m`1@VMT-38- zAJC;@A2=4h#SB|On+BIV!%o_^7u$_Cve~5RhuEb(i*J@kpV8>(muMHP5PcKUW)`o2 zD#amiDsD_vrsr0`qEi|+mrU6Nvhrg9hm6!rMoG)WL7+6>Q52#5-->|#5&a#k{Cxte zejlMe4yCSJ;>S+?)RN*YILue+@7G+><7r zPJjCAdNHwo06_dXktRmz&%%Cma3&@W*8h$U*8jhYZlHe#ZQnyj(Q))g@hQN&ykvOt zIRbY90blU0ptk7Qy(P~xjiqL@sx-7(T~c&SmlUI=N@}xSmJCg9HOoqs%C$z~Xjc|N zuwI{vMJ4sRT2mU5R#!DisjDrCR4Og0YBU=)xn9>aL!V+{C)2?cO;`1%EUAqaq(D>3 zl1jCvM4GhOXf{YqugeoG7+?Rt3zdOK$r1SRAmDdH>@l)uVIDze!QMu-|H6|3`U~{$ z;moghk%IOX{SDE2 zE>-vCCES~ra5gXDOkTo0c?qZU5>DkMoXkr&k(UtVB`h357YEA!EsK!b|2=rko9FmG zLtxzTpRfPjXBC2H=Yc|ixBmyKxOrwd0x1M|`%l5aKR5yp6au{cKTyTZGs_W3AuvY! z5A6S*5DLc%pCB3iYw^E`UlX55#s0v3c+Ct;GvAo5?`a(q)ZnpM-mxsBtYP|;J=U;i z@twwK^Enr;a9D$TLPHajQi!RxC5$G%z;yJL#$5E zy$*J4#bG-(u*>UPJ;&5K6i(Q4*KN2YHRQ9D#b;EQ6xUG%#g4p{5v6X^WN97A;_Vm6 zfH=i8m zJBRjv>jL_(=ugl$(Kpc7VHNQA(SJrCqpzVKaZBI_uJhv=zBdT$Lr;q?Y?fNI-Bxh2 z2eZ>N*^Z~h_xiLw%Lers_6Y2Q_M>Ma-|E!k=&;BRd<_Sp#lF!BPWN~UHBuheF1g*# z;cMMaVDj?_Iy4jTaIUnOGhhF^H^t4la0Koe0%OSky#3#`QsEJE1nvz2W3+#kK(>Vm zgDlW@^Yh`R;Vtck=EDHiRVOn5_zlPmJ)%l(8>b!WUr)GLDODC@T6ZL|OW{7m z#rdPN7=AAq`ci!S`_ah$x}rA0(78#ZR$VJg3aQHyp#7WyF@g{wF!{F;hD~5kKzu|JqH^m=`LWn zgHoq9adFq`bW8^vF2Tk&pvPu!0qa(`YZ(^1OL74dukFziJ^`^{6QTfeOl;l5S7^t7 zDFw-m_|3k=%mu?8F-P$&l@rF>mIcNs%rQr&_MSQG<0jMessJS*oc^O6~2J;sU&HdI{Q+%cQAE%|_jjlxDRlsa2&e z>2iZ;O080c4HkY&N^~)U#girMb zZ^tOyfzrdoF#D#X!?hl`=XE;JBH{j7+Ua=CriSMCiqPdQy<&NAB}lLRiggX^HgwOd z(Or|Qw!UQ0))F`^EuTGqa;aXbRF)LES`WKa=u}zo)7DjLAGhotwU5@zCD^lqD{`q( zQ(jse_VytOgI(;yCe=Z(W=W}(aivjGtK}eA(mO!Xk1dhbqnTYrj>6iys|X7O*VU07hdp7CP>jjP)tF3;Ddob^ubCqB4Z!LB5VJ0+`#h; z{SQ({QLhu)sA~hF?O(w&s9hoWCgva_RcclH-??*wQPGp1D%9_-I9htDBvId(e%M=6!Qc>zH z!>BY37#DAMI*}v-2@>U#B5(gz@8h3?m>T$nl~(kO&I$pOwec!#pZE_ z*`|)`pVn0^RpyVzm(Y)F{7ZvVH{ywvnqzONA6FDKYdp_`>DDbg8qc=?2;(@9IG%Up z$;OsVJLJ6u=a_Fa+sVUqtR_5GV14m+=HcO7;F@EkYT8vfsAc7HW$_Cur_cMxq--;3 zZ!{HJB`rfDDm)aJwM!~ds}hl$N>grB^d{A_TbbVoj&;n-9_iv1C<$P!^12xG3@}bz zW;0bbLmky%ww2^FM&7|#`P#Z+TWy>4FRe?`2~+p4;j>NZjBZpT25eZj@o9&LYPRBh z6pns}Bi-4_?LLj~Hez^w6I!;Zc^$~JpIcwA5Kk>&dI30?T@cR=6Q&wh=p_>-?xcjz z_%jMehtjtLt$^;?4jbIfyn}b1lEZl0!r8jH2LpO0*y*tz5XCq~j&%cf0iG?p2$tS$ zvwT;Qm5EUdNK%9VteE}Jr0^>OdZqAj;fVO3;B_bbK0G}6Qv2Y=x!Q-_8;=VstHMU( z<#f6Zvd_b5x9BVCc=OcH`$PJHyubR@?!*xvwVykAoeJlV3j(0jj!@a=B?2wS01Z(s z|J?H^we&Lt}&+bBeibKg9y_6CXTO_`ILD57w`LSvW5U8;@qh%$zs; z>X9Uf_*HVK6Y^FGU~v2cSq!S`2i8~Cgwg;IwJzj)+^^~-Hp7D*HM#$wStRB^2G9HW9eQHoPgYTJ62X{Q33FdHFx7T$@uN19H zc^%g_bqecn9e(#W zVd~)?g$2O80)Cz%+`5^B#RQ7Bkx*moqlxj(hHJ}K8D?>3=U_DaZ2T_>zatdB2alcp z`}w&&feiQyZ`?R2oR@@+H{^7hlVab-(`mni%$Y|Y^B_wYcTl&J2kJXB20&@Q{^9e} z;k@y=8#0?ETt5{^p~F>S^!F`|T)V!400yTR4rxg)5YkqN2Rb2U^bw2~!6=&+&u(Fu zjdh~ZaoYlelU}gCKG39%7(S1CHqlJivzfx%?3o0tPhfQO*PPgZM_?hGEk!MWx+)wg z2ZJOV=@zg*Zh|^Xhb43uQ`>T|KL8V*S*wg#pz>GHL6`3<+5(LUyHC;2y6+aG@(!=D zD~(c3tzk(imDNW6HTGJiRIM~{xzuc`V=uAiX{0$v`QeI_)Wb(*kMZ3v-GLU66(N*t z3TBLx@a4+caK7$-21c}*xKc(I08nqh)WXl*0;@#u!SYsJU{ym+y{Cx$k6``ZxBP=z zozmkc4}Al_*f=ku8rP8TP7X3T=2drQkQvoiKL2dBtRC@t@V{I+g2Q>#NZY#}el-7xQ7(nT(Xt$n@CW|zXKC8rRfEfyH^ z=qT^V+@Ue1#SLWTwBP=P?+Wa1m;HYBmDzB$;n4Mmh1FxDlb_TGBq^e)9x2yJOIGWW zT!HRYQL2X2WGAOrt6Hr=)Ur`+Rd+;j{g}kGtyR2v(7S!f%U5^%!AHqm2^)HBSfDJ8 zj2?m@>Dg+y7%|X%)3#4Ev_ugrbWdH7UOmM~VyCR7ggh8*EeZJfOmALDXDD7~plyu( zv~8)8^drp1CkBBv33in8K)%2C(|~R2m!?!nQ&%LlMw@UGf()yIt%fSeGOdBhex+Wn z5x*dBYc(s|0Phxb8%f2gpOj(IJYha7Ex7}%h1O`btlbKm=8T9Uh z)q;p(F!nQ30_=w#ZA>sQm~p{YlpO)%N3}^9jkeLQShi+je?dRcGBWc3w)7vZZ(NDZ zT>CbosUC4nCLH){9l_E`A9nSE8wN`O_+u+1jIegZg_QPm)9`w3utegU3cxyvzvpn1 zFp;s5Cr>$UJ^lxVzN}Dgew-|jo8R?lc c-`WP4EhPY!nNeA}=c!Df1scQ +# +# Copyright (c) 2012 Tom Kralidis +# +# Permission is hereby granted, free of charge, to any person +# obtaining a copy of this software and associated documentation +# files (the "Software"), to deal in the Software without +# restriction, including without limitation the rights to use, +# copy, modify, merge, publish, distribute, sublicense, and/or sell +# copies of the Software, and to permit persons to whom the +# Software is furnished to do so, subject to the following +# conditions: +# +# The above copyright notice and this permission notice shall be +# included in all copies or substantial portions of the Software. +# +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +# EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES +# OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +# NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT +# HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, +# WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR +# OTHER DEALINGS IN THE SOFTWARE. +# +# ================================================================= + +[server] +home=. +url=http://localhost/pycsw/csw.py?config=tests/suites/cite/default.cfg +mimetype=application/xml; charset=UTF-8 +encoding=UTF-8 +language=en-US +#maxrecords=10 +federatedcatalogues=http://geo.data.gov/geoportal/csw/discovery +pretty_print=true +#spatial_ranking=true +gzip_compresslevel=9 + +[manager] +transactions=true +allowed_ips=127.0.0.1 +csw_harvest_pagination_size=10 + +[metadata:main] +identification_title=pycsw Geospatial Catalogue +identification_abstract=pycsw is an OGC CSW server implementation written in Python +identification_keywords=catalogue,discovery +identification_keywords_type=theme +identification_fees=None +identification_accessconstraints=None +provider_name=pycsw +provider_url=http://pycsw.org/ +contact_name=Kralidis, Tom +contact_position=Senior Systems Scientist +contact_address=TBA +contact_city=Toronto +contact_stateorprovince=Ontario +contact_postalcode=M9C 3Z9 +contact_country=Canada +contact_phone=+01-416-xxx-xxxx +contact_fax=+01-416-xxx-xxxx +contact_email=tomkralidis@gmail.com +contact_url=http://kralidis.ca/ +contact_hours=0800h - 1600h EST +contact_instructions=During hours of service. Off on weekends. +contact_role=pointOfContact + +[repository] +# sqlite +database=sqlite:///tests/suites/cite/data/records.db +table=records + +[metadata:inspire] +#enabled=true +languages_supported=eng,gre +default_language=eng +date=2011-03-29 +gemet_keywords=Utility and governmental services +conformity_service=notEvaluated +contact_name=National Technical University of Athens +contact_email=tzotsos@gmail.com +temp_extent=2011-02-01/2011-03-30 + diff --git a/tests/functionaltests/suites/cite/expected/get_27e17158-c57a-4493-92ac-dba8934cf462.xml b/tests/functionaltests/suites/cite/expected/get_27e17158-c57a-4493-92ac-dba8934cf462.xml new file mode 100644 index 000000000..369f8d8d5 --- /dev/null +++ b/tests/functionaltests/suites/cite/expected/get_27e17158-c57a-4493-92ac-dba8934cf462.xml @@ -0,0 +1,310 @@ + + + + + pycsw Geospatial Catalogue + pycsw is an OGC CSW server implementation written in Python + + catalogue + discovery + theme + + CSW + 2.0.2 + 3.0.0 + None + None + + + pycsw + + + Kralidis, Tom + Senior Systems Scientist + + + +01-416-xxx-xxxx + +01-416-xxx-xxxx + + + TBA + Toronto + Ontario + M9C 3Z9 + Canada + tomkralidis@gmail.com + + + 0800h - 1600h EST + During hours of service. Off on weekends. + + pointOfContact + + + + + + + + + + + + Filter_Capabilities + OperationsMetadata + ServiceIdentification + ServiceProvider + + + + + + + + + + + application/json + application/xml + + + http://www.w3.org/2001/XMLSchema + http://www.w3.org/TR/xmlschema-1/ + http://www.w3.org/XML/Schema + + + csw:Record + + + + + + + + + + + DescribeRecord.outputFormat + DescribeRecord.schemaLanguage + DescribeRecord.typeName + GetCapabilities.sections + GetRecordById.ElementSetName + GetRecordById.outputFormat + GetRecordById.outputSchema + GetRecords.CONSTRAINTLANGUAGE + GetRecords.ElementSetName + GetRecords.outputFormat + GetRecords.outputSchema + GetRecords.resultType + GetRecords.typeNames + Harvest.ResourceType + Transaction.TransactionSchemas + + + + + + + + + + + CQL_TEXT + FILTER + + + brief + full + summary + + + application/json + application/xml + + + http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ + http://www.interlis.ch/INTERLIS2.3 + http://www.opengis.net/cat/csw/2.0.2 + http://www.opengis.net/cat/csw/csdgm + http://www.w3.org/2005/Atom + + + hits + results + validate + + + csw:Record + + + csw:AnyText + dc:contributor + dc:creator + dc:date + dc:format + dc:identifier + dc:language + dc:publisher + dc:relation + dc:rights + dc:source + dc:subject + dc:title + dc:type + dct:abstract + dct:modified + ows:BoundingBox + + + + + + + + + + + brief + full + summary + + + application/json + application/xml + + + http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ + http://www.interlis.ch/INTERLIS2.3 + http://www.opengis.net/cat/csw/2.0.2 + http://www.opengis.net/cat/csw/csdgm + http://www.w3.org/2005/Atom + + + + + + + + + + + + + + + + + http://www.isotc211.org/2005/gmi + http://www.opengis.net/cat/csw/2.0.2 + http://www.opengis.net/cat/csw/3.0 + http://www.opengis.net/sos/1.0 + http://www.opengis.net/sos/2.0 + http://www.opengis.net/wcs + http://www.opengis.net/wfs + http://www.opengis.net/wfs/2.0 + http://www.opengis.net/wms + http://www.opengis.net/wmts/1.0 + http://www.opengis.net/wps/1.0.0 + urn:geoss:waf + + + + + + + + + + http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ + http://www.interlis.ch/INTERLIS2.3 + http://www.isotc211.org/2005/gmi + http://www.opengis.net/cat/csw/2.0.2 + http://www.opengis.net/cat/csw/3.0 + http://www.opengis.net/cat/csw/csdgm + http://www.opengis.net/sos/1.0 + http://www.opengis.net/sos/2.0 + http://www.opengis.net/wcs + http://www.opengis.net/wfs + http://www.opengis.net/wfs/2.0 + http://www.opengis.net/wms + http://www.opengis.net/wmts/1.0 + http://www.opengis.net/wps/1.0.0 + http://www.w3.org/2005/Atom + urn:geoss:waf + + + + CSW + + + 2.0.2 + 3.0.0 + + + http://geo.data.gov/geoportal/csw/discovery + + + 10 + + + XML + SOAP + + + allowed + + + + + + gml:Point + gml:LineString + gml:Polygon + gml:Envelope + + + + + + + + + + + + + + + + + + + Between + EqualTo + GreaterThan + GreaterThanEqualTo + LessThan + LessThanEqualTo + Like + NotEqualTo + NullCheck + + + + + length + lower + ltrim + rtrim + trim + upper + + + + + + + + + + diff --git a/tests/functionaltests/suites/cite/expected/get_27f69b66-5f05-4311-a89c-73ca55c2686b.xml b/tests/functionaltests/suites/cite/expected/get_27f69b66-5f05-4311-a89c-73ca55c2686b.xml new file mode 100644 index 000000000..ccdc8dc66 --- /dev/null +++ b/tests/functionaltests/suites/cite/expected/get_27f69b66-5f05-4311-a89c-73ca55c2686b.xml @@ -0,0 +1,9 @@ + + + + + urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f + Lorem ipsum + http://purl.org/dc/dcmitype/Image + + diff --git a/tests/functionaltests/suites/cite/expected/get_2ab7d1fa-885b-459f-80e4-b6282eab4f8c.xml b/tests/functionaltests/suites/cite/expected/get_2ab7d1fa-885b-459f-80e4-b6282eab4f8c.xml new file mode 100644 index 000000000..369f8d8d5 --- /dev/null +++ b/tests/functionaltests/suites/cite/expected/get_2ab7d1fa-885b-459f-80e4-b6282eab4f8c.xml @@ -0,0 +1,310 @@ + + + + + pycsw Geospatial Catalogue + pycsw is an OGC CSW server implementation written in Python + + catalogue + discovery + theme + + CSW + 2.0.2 + 3.0.0 + None + None + + + pycsw + + + Kralidis, Tom + Senior Systems Scientist + + + +01-416-xxx-xxxx + +01-416-xxx-xxxx + + + TBA + Toronto + Ontario + M9C 3Z9 + Canada + tomkralidis@gmail.com + + + 0800h - 1600h EST + During hours of service. Off on weekends. + + pointOfContact + + + + + + + + + + + + Filter_Capabilities + OperationsMetadata + ServiceIdentification + ServiceProvider + + + + + + + + + + + application/json + application/xml + + + http://www.w3.org/2001/XMLSchema + http://www.w3.org/TR/xmlschema-1/ + http://www.w3.org/XML/Schema + + + csw:Record + + + + + + + + + + + DescribeRecord.outputFormat + DescribeRecord.schemaLanguage + DescribeRecord.typeName + GetCapabilities.sections + GetRecordById.ElementSetName + GetRecordById.outputFormat + GetRecordById.outputSchema + GetRecords.CONSTRAINTLANGUAGE + GetRecords.ElementSetName + GetRecords.outputFormat + GetRecords.outputSchema + GetRecords.resultType + GetRecords.typeNames + Harvest.ResourceType + Transaction.TransactionSchemas + + + + + + + + + + + CQL_TEXT + FILTER + + + brief + full + summary + + + application/json + application/xml + + + http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ + http://www.interlis.ch/INTERLIS2.3 + http://www.opengis.net/cat/csw/2.0.2 + http://www.opengis.net/cat/csw/csdgm + http://www.w3.org/2005/Atom + + + hits + results + validate + + + csw:Record + + + csw:AnyText + dc:contributor + dc:creator + dc:date + dc:format + dc:identifier + dc:language + dc:publisher + dc:relation + dc:rights + dc:source + dc:subject + dc:title + dc:type + dct:abstract + dct:modified + ows:BoundingBox + + + + + + + + + + + brief + full + summary + + + application/json + application/xml + + + http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ + http://www.interlis.ch/INTERLIS2.3 + http://www.opengis.net/cat/csw/2.0.2 + http://www.opengis.net/cat/csw/csdgm + http://www.w3.org/2005/Atom + + + + + + + + + + + + + + + + + http://www.isotc211.org/2005/gmi + http://www.opengis.net/cat/csw/2.0.2 + http://www.opengis.net/cat/csw/3.0 + http://www.opengis.net/sos/1.0 + http://www.opengis.net/sos/2.0 + http://www.opengis.net/wcs + http://www.opengis.net/wfs + http://www.opengis.net/wfs/2.0 + http://www.opengis.net/wms + http://www.opengis.net/wmts/1.0 + http://www.opengis.net/wps/1.0.0 + urn:geoss:waf + + + + + + + + + + http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ + http://www.interlis.ch/INTERLIS2.3 + http://www.isotc211.org/2005/gmi + http://www.opengis.net/cat/csw/2.0.2 + http://www.opengis.net/cat/csw/3.0 + http://www.opengis.net/cat/csw/csdgm + http://www.opengis.net/sos/1.0 + http://www.opengis.net/sos/2.0 + http://www.opengis.net/wcs + http://www.opengis.net/wfs + http://www.opengis.net/wfs/2.0 + http://www.opengis.net/wms + http://www.opengis.net/wmts/1.0 + http://www.opengis.net/wps/1.0.0 + http://www.w3.org/2005/Atom + urn:geoss:waf + + + + CSW + + + 2.0.2 + 3.0.0 + + + http://geo.data.gov/geoportal/csw/discovery + + + 10 + + + XML + SOAP + + + allowed + + + + + + gml:Point + gml:LineString + gml:Polygon + gml:Envelope + + + + + + + + + + + + + + + + + + + Between + EqualTo + GreaterThan + GreaterThanEqualTo + LessThan + LessThanEqualTo + Like + NotEqualTo + NullCheck + + + + + length + lower + ltrim + rtrim + trim + upper + + + + + + + + + + diff --git a/tests/functionaltests/suites/cite/expected/get_37aa90e2-6ff0-420c-af15-8b9463099a73.xml b/tests/functionaltests/suites/cite/expected/get_37aa90e2-6ff0-420c-af15-8b9463099a73.xml new file mode 100644 index 000000000..fb6934aaa --- /dev/null +++ b/tests/functionaltests/suites/cite/expected/get_37aa90e2-6ff0-420c-af15-8b9463099a73.xml @@ -0,0 +1,14 @@ + + + + + urn:uuid:9a669547-b69b-469f-a11f-2d875366bbdc + Ñunç elementum + http://purl.org/dc/dcmitype/Dataset + Hydrography-Oceanographic + + 44.79 -6.17 + 51.13 -2.23 + + + diff --git a/tests/functionaltests/suites/cite/expected/get_3a8a3c47-455f-4f49-9078-03119f3e70b3.xml b/tests/functionaltests/suites/cite/expected/get_3a8a3c47-455f-4f49-9078-03119f3e70b3.xml new file mode 100644 index 000000000..29f606bb3 --- /dev/null +++ b/tests/functionaltests/suites/cite/expected/get_3a8a3c47-455f-4f49-9078-03119f3e70b3.xml @@ -0,0 +1,7 @@ + + + + + Invalid acceptFormats parameter value: message/example + + diff --git a/tests/functionaltests/suites/cite/expected/get_4515831f-834a-4699-95f6-ab0c2cbfcfd0.xml b/tests/functionaltests/suites/cite/expected/get_4515831f-834a-4699-95f6-ab0c2cbfcfd0.xml new file mode 100644 index 000000000..95a2f2803 --- /dev/null +++ b/tests/functionaltests/suites/cite/expected/get_4515831f-834a-4699-95f6-ab0c2cbfcfd0.xml @@ -0,0 +1,7 @@ + + + + + Missing id parameter + + diff --git a/tests/functionaltests/suites/cite/expected/get_477b23a3-baa9-47c8-9541-5fe27735ed49.xml b/tests/functionaltests/suites/cite/expected/get_477b23a3-baa9-47c8-9541-5fe27735ed49.xml new file mode 100644 index 000000000..77dd76c6b --- /dev/null +++ b/tests/functionaltests/suites/cite/expected/get_477b23a3-baa9-47c8-9541-5fe27735ed49.xml @@ -0,0 +1,543 @@ + + + + + pycsw Geospatial Catalogue + pycsw is an OGC CSW server implementation written in Python + + catalogue + discovery + theme + + CSW + 2.0.2 + 3.0.0 + None + None + + + pycsw + + + Kralidis, Tom + Senior Systems Scientist + + + +01-416-xxx-xxxx + +01-416-xxx-xxxx + + + TBA + Toronto + Ontario + M9C 3Z9 + Canada + tomkralidis@gmail.com + + + 0800h - 1600h EST + During hours of service. Off on weekends. + + pointOfContact + + + + + + + + + + + + + application/xml + text/xml + + + + + 2.0.2 + 3.0.0 + + + + + All + Filter_Capabilities + OperationsMetadata + ServiceIdentification + ServiceProvider + + + + + + + + + + + + + GetCapabilities.acceptFormats + GetCapabilities.acceptVersions + GetCapabilities.sections + GetRecordById.ElementSetName + GetRecordById.outputFormat + GetRecordById.outputSchema + GetRecords.CONSTRAINTLANGUAGE + GetRecords.ElementSetName + GetRecords.outputFormat + GetRecords.outputSchema + GetRecords.typeNames + Harvest.ResourceType + Transaction.TransactionSchemas + + + + + + + + + + + + + CQL_TEXT + FILTER + + + + + brief + full + summary + + + + + application/atom+xml + application/json + application/xml + + + + + http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ + http://www.interlis.ch/INTERLIS2.3 + http://www.opengis.net/cat/csw/3.0 + http://www.opengis.net/cat/csw/csdgm + http://www.w3.org/2005/Atom + + + + + csw:Record + + + + + 10 + + + + + http://localhost/pycsw/csw.py?config=tests/suites/cite/default.cfg?mode=opensearch&service=CSW&version=3.0.0&request=GetCapabilities + + + + + http://geo.data.gov/geoportal/csw/discovery + + + + + + + + + + + + + brief + full + summary + + + + + application/atom+xml + application/json + application/xml + + + + + http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ + http://www.interlis.ch/INTERLIS2.3 + http://www.opengis.net/cat/csw/3.0 + http://www.opengis.net/cat/csw/csdgm + http://www.w3.org/2005/Atom + + + + + + + + + + + + + + + + + + + http://www.isotc211.org/2005/gmi + http://www.opengis.net/cat/csw/2.0.2 + http://www.opengis.net/cat/csw/3.0 + http://www.opengis.net/sos/1.0 + http://www.opengis.net/sos/2.0 + http://www.opengis.net/wcs + http://www.opengis.net/wfs + http://www.opengis.net/wfs/2.0 + http://www.opengis.net/wms + http://www.opengis.net/wmts/1.0 + http://www.opengis.net/wps/1.0.0 + urn:geoss:waf + + + + + + + + + + + + http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ + http://www.interlis.ch/INTERLIS2.3 + http://www.isotc211.org/2005/gmi + http://www.opengis.net/cat/csw/2.0.2 + http://www.opengis.net/cat/csw/3.0 + http://www.opengis.net/cat/csw/csdgm + http://www.opengis.net/sos/1.0 + http://www.opengis.net/sos/2.0 + http://www.opengis.net/wcs + http://www.opengis.net/wfs + http://www.opengis.net/wfs/2.0 + http://www.opengis.net/wms + http://www.opengis.net/wmts/1.0 + http://www.opengis.net/wps/1.0.0 + http://www.w3.org/2005/Atom + urn:geoss:waf + + + + + + CSW + + + + + 2.0.2 + 3.0.0 + + + + + csw:AnyText + dc:contributor + dc:creator + dc:date + dc:format + dc:identifier + dc:language + dc:publisher + dc:relation + dc:rights + dc:source + dc:subject + dc:title + dc:type + dct:abstract + dct:modified + ows:BoundingBox + + + + + http://geo.data.gov/geoportal/csw/discovery + + + + + 10 + + + + + SOAP + XML + + + + + allowed + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + http://www.opengis.net/gml + + + + + TRUE + + + + + en + + + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + xs:string + + + xs:string + + + xs:string + + + xs:string + + + xs:string + + + xs:string + + + + diff --git a/tests/functionaltests/suites/cite/expected/get_48f26761-3a9d-48db-bee1-da089f5fb857.xml b/tests/functionaltests/suites/cite/expected/get_48f26761-3a9d-48db-bee1-da089f5fb857.xml new file mode 100644 index 000000000..369f8d8d5 --- /dev/null +++ b/tests/functionaltests/suites/cite/expected/get_48f26761-3a9d-48db-bee1-da089f5fb857.xml @@ -0,0 +1,310 @@ + + + + + pycsw Geospatial Catalogue + pycsw is an OGC CSW server implementation written in Python + + catalogue + discovery + theme + + CSW + 2.0.2 + 3.0.0 + None + None + + + pycsw + + + Kralidis, Tom + Senior Systems Scientist + + + +01-416-xxx-xxxx + +01-416-xxx-xxxx + + + TBA + Toronto + Ontario + M9C 3Z9 + Canada + tomkralidis@gmail.com + + + 0800h - 1600h EST + During hours of service. Off on weekends. + + pointOfContact + + + + + + + + + + + + Filter_Capabilities + OperationsMetadata + ServiceIdentification + ServiceProvider + + + + + + + + + + + application/json + application/xml + + + http://www.w3.org/2001/XMLSchema + http://www.w3.org/TR/xmlschema-1/ + http://www.w3.org/XML/Schema + + + csw:Record + + + + + + + + + + + DescribeRecord.outputFormat + DescribeRecord.schemaLanguage + DescribeRecord.typeName + GetCapabilities.sections + GetRecordById.ElementSetName + GetRecordById.outputFormat + GetRecordById.outputSchema + GetRecords.CONSTRAINTLANGUAGE + GetRecords.ElementSetName + GetRecords.outputFormat + GetRecords.outputSchema + GetRecords.resultType + GetRecords.typeNames + Harvest.ResourceType + Transaction.TransactionSchemas + + + + + + + + + + + CQL_TEXT + FILTER + + + brief + full + summary + + + application/json + application/xml + + + http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ + http://www.interlis.ch/INTERLIS2.3 + http://www.opengis.net/cat/csw/2.0.2 + http://www.opengis.net/cat/csw/csdgm + http://www.w3.org/2005/Atom + + + hits + results + validate + + + csw:Record + + + csw:AnyText + dc:contributor + dc:creator + dc:date + dc:format + dc:identifier + dc:language + dc:publisher + dc:relation + dc:rights + dc:source + dc:subject + dc:title + dc:type + dct:abstract + dct:modified + ows:BoundingBox + + + + + + + + + + + brief + full + summary + + + application/json + application/xml + + + http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ + http://www.interlis.ch/INTERLIS2.3 + http://www.opengis.net/cat/csw/2.0.2 + http://www.opengis.net/cat/csw/csdgm + http://www.w3.org/2005/Atom + + + + + + + + + + + + + + + + + http://www.isotc211.org/2005/gmi + http://www.opengis.net/cat/csw/2.0.2 + http://www.opengis.net/cat/csw/3.0 + http://www.opengis.net/sos/1.0 + http://www.opengis.net/sos/2.0 + http://www.opengis.net/wcs + http://www.opengis.net/wfs + http://www.opengis.net/wfs/2.0 + http://www.opengis.net/wms + http://www.opengis.net/wmts/1.0 + http://www.opengis.net/wps/1.0.0 + urn:geoss:waf + + + + + + + + + + http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ + http://www.interlis.ch/INTERLIS2.3 + http://www.isotc211.org/2005/gmi + http://www.opengis.net/cat/csw/2.0.2 + http://www.opengis.net/cat/csw/3.0 + http://www.opengis.net/cat/csw/csdgm + http://www.opengis.net/sos/1.0 + http://www.opengis.net/sos/2.0 + http://www.opengis.net/wcs + http://www.opengis.net/wfs + http://www.opengis.net/wfs/2.0 + http://www.opengis.net/wms + http://www.opengis.net/wmts/1.0 + http://www.opengis.net/wps/1.0.0 + http://www.w3.org/2005/Atom + urn:geoss:waf + + + + CSW + + + 2.0.2 + 3.0.0 + + + http://geo.data.gov/geoportal/csw/discovery + + + 10 + + + XML + SOAP + + + allowed + + + + + + gml:Point + gml:LineString + gml:Polygon + gml:Envelope + + + + + + + + + + + + + + + + + + + Between + EqualTo + GreaterThan + GreaterThanEqualTo + LessThan + LessThanEqualTo + Like + NotEqualTo + NullCheck + + + + + length + lower + ltrim + rtrim + trim + upper + + + + + + + + + + diff --git a/tests/functionaltests/suites/cite/expected/get_4e38092f-1586-44b8-988e-0acfa5855916.xml b/tests/functionaltests/suites/cite/expected/get_4e38092f-1586-44b8-988e-0acfa5855916.xml new file mode 100644 index 000000000..82bbd70d8 --- /dev/null +++ b/tests/functionaltests/suites/cite/expected/get_4e38092f-1586-44b8-988e-0acfa5855916.xml @@ -0,0 +1,7 @@ + + + + + Invalid outputformat parameter application/bogus_xml + + diff --git a/tests/functionaltests/suites/cite/expected/get_55c38f00-2553-42c1-99ab-33edbb561ad7.xml b/tests/functionaltests/suites/cite/expected/get_55c38f00-2553-42c1-99ab-33edbb561ad7.xml new file mode 100644 index 000000000..14d595bc3 --- /dev/null +++ b/tests/functionaltests/suites/cite/expected/get_55c38f00-2553-42c1-99ab-33edbb561ad7.xml @@ -0,0 +1,392 @@ + + + + + pycsw Geospatial Catalogue + pycsw is an OGC CSW server implementation written in Python + + catalogue + discovery + theme + + CSW + 2.0.2 + 3.0.0 + None + None + + + + + + + + + + + + application/xml + text/xml + + + + + 2.0.2 + 3.0.0 + + + + + All + Filter_Capabilities + OperationsMetadata + ServiceIdentification + ServiceProvider + + + + + + + + + + + + + GetCapabilities.acceptFormats + GetCapabilities.acceptVersions + GetCapabilities.sections + GetRecordById.ElementSetName + GetRecordById.outputFormat + GetRecordById.outputSchema + GetRecords.CONSTRAINTLANGUAGE + GetRecords.ElementSetName + GetRecords.outputFormat + GetRecords.outputSchema + GetRecords.typeNames + Harvest.ResourceType + Transaction.TransactionSchemas + + + + + + + + + + + + + CQL_TEXT + FILTER + + + + + brief + full + summary + + + + + application/atom+xml + application/json + application/xml + + + + + http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ + http://www.interlis.ch/INTERLIS2.3 + http://www.opengis.net/cat/csw/3.0 + http://www.opengis.net/cat/csw/csdgm + http://www.w3.org/2005/Atom + + + + + csw:Record + + + + + 10 + + + + + http://localhost/pycsw/csw.py?config=tests/suites/cite/default.cfg?mode=opensearch&service=CSW&version=3.0.0&request=GetCapabilities + + + + + http://geo.data.gov/geoportal/csw/discovery + + + + + + + + + + + + + brief + full + summary + + + + + application/atom+xml + application/json + application/xml + + + + + http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ + http://www.interlis.ch/INTERLIS2.3 + http://www.opengis.net/cat/csw/3.0 + http://www.opengis.net/cat/csw/csdgm + http://www.w3.org/2005/Atom + + + + + + + + + + + + + + + + + + + http://www.isotc211.org/2005/gmi + http://www.opengis.net/cat/csw/2.0.2 + http://www.opengis.net/cat/csw/3.0 + http://www.opengis.net/sos/1.0 + http://www.opengis.net/sos/2.0 + http://www.opengis.net/wcs + http://www.opengis.net/wfs + http://www.opengis.net/wfs/2.0 + http://www.opengis.net/wms + http://www.opengis.net/wmts/1.0 + http://www.opengis.net/wps/1.0.0 + urn:geoss:waf + + + + + + + + + + + + http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ + http://www.interlis.ch/INTERLIS2.3 + http://www.isotc211.org/2005/gmi + http://www.opengis.net/cat/csw/2.0.2 + http://www.opengis.net/cat/csw/3.0 + http://www.opengis.net/cat/csw/csdgm + http://www.opengis.net/sos/1.0 + http://www.opengis.net/sos/2.0 + http://www.opengis.net/wcs + http://www.opengis.net/wfs + http://www.opengis.net/wfs/2.0 + http://www.opengis.net/wms + http://www.opengis.net/wmts/1.0 + http://www.opengis.net/wps/1.0.0 + http://www.w3.org/2005/Atom + urn:geoss:waf + + + + + + CSW + + + + + 2.0.2 + 3.0.0 + + + + + csw:AnyText + dc:contributor + dc:creator + dc:date + dc:format + dc:identifier + dc:language + dc:publisher + dc:relation + dc:rights + dc:source + dc:subject + dc:title + dc:type + dct:abstract + dct:modified + ows:BoundingBox + + + + + http://geo.data.gov/geoportal/csw/discovery + + + + + 10 + + + + + SOAP + XML + + + + + allowed + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + http://www.opengis.net/gml + + + + + TRUE + + + + diff --git a/tests/functionaltests/suites/cite/expected/get_5ab5db18-c87a-4fbf-a8d8-b7289b09ac81.xml b/tests/functionaltests/suites/cite/expected/get_5ab5db18-c87a-4fbf-a8d8-b7289b09ac81.xml new file mode 100644 index 000000000..407b97b9a --- /dev/null +++ b/tests/functionaltests/suites/cite/expected/get_5ab5db18-c87a-4fbf-a8d8-b7289b09ac81.xml @@ -0,0 +1,7 @@ + + + + + Invalid value for service: FOO. Value MUST be CSW + + diff --git a/tests/functionaltests/suites/cite/expected/get_6a4f57ca-a1bd-4802-89c2-44860dbdb0f0.xml b/tests/functionaltests/suites/cite/expected/get_6a4f57ca-a1bd-4802-89c2-44860dbdb0f0.xml new file mode 100644 index 000000000..5ef23a7ab --- /dev/null +++ b/tests/functionaltests/suites/cite/expected/get_6a4f57ca-a1bd-4802-89c2-44860dbdb0f0.xml @@ -0,0 +1,11 @@ + + + + + urn:uuid:6a3de50b-fa66-4b58-a0e6-ca146fdd18d4 + Ut facilisis justo ut lacus + http://purl.org/dc/dcmitype/Service + Vegetation + urn:uuid:94bc9c83-97f6-4b40-9eb8-a8e8787a5c63 + + diff --git a/tests/functionaltests/suites/cite/expected/get_6c375703-9c00-4aef-bec7-d2e964f849eb.xml b/tests/functionaltests/suites/cite/expected/get_6c375703-9c00-4aef-bec7-d2e964f849eb.xml new file mode 100644 index 000000000..6ac70554f --- /dev/null +++ b/tests/functionaltests/suites/cite/expected/get_6c375703-9c00-4aef-bec7-d2e964f849eb.xml @@ -0,0 +1,13 @@ + + + + + + urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f + urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f + + Lorem ipsum + PYCSW_TIMESTAMP + Quisque lacus diam, placerat mollis, pharetra in, commodo sed, augue. Duis iaculis arcu vel arcu. + + diff --git a/tests/functionaltests/suites/cite/expected/get_80f31def-4185-48b9-983a-960566918eae.xml b/tests/functionaltests/suites/cite/expected/get_80f31def-4185-48b9-983a-960566918eae.xml new file mode 100644 index 000000000..77dd76c6b --- /dev/null +++ b/tests/functionaltests/suites/cite/expected/get_80f31def-4185-48b9-983a-960566918eae.xml @@ -0,0 +1,543 @@ + + + + + pycsw Geospatial Catalogue + pycsw is an OGC CSW server implementation written in Python + + catalogue + discovery + theme + + CSW + 2.0.2 + 3.0.0 + None + None + + + pycsw + + + Kralidis, Tom + Senior Systems Scientist + + + +01-416-xxx-xxxx + +01-416-xxx-xxxx + + + TBA + Toronto + Ontario + M9C 3Z9 + Canada + tomkralidis@gmail.com + + + 0800h - 1600h EST + During hours of service. Off on weekends. + + pointOfContact + + + + + + + + + + + + + application/xml + text/xml + + + + + 2.0.2 + 3.0.0 + + + + + All + Filter_Capabilities + OperationsMetadata + ServiceIdentification + ServiceProvider + + + + + + + + + + + + + GetCapabilities.acceptFormats + GetCapabilities.acceptVersions + GetCapabilities.sections + GetRecordById.ElementSetName + GetRecordById.outputFormat + GetRecordById.outputSchema + GetRecords.CONSTRAINTLANGUAGE + GetRecords.ElementSetName + GetRecords.outputFormat + GetRecords.outputSchema + GetRecords.typeNames + Harvest.ResourceType + Transaction.TransactionSchemas + + + + + + + + + + + + + CQL_TEXT + FILTER + + + + + brief + full + summary + + + + + application/atom+xml + application/json + application/xml + + + + + http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ + http://www.interlis.ch/INTERLIS2.3 + http://www.opengis.net/cat/csw/3.0 + http://www.opengis.net/cat/csw/csdgm + http://www.w3.org/2005/Atom + + + + + csw:Record + + + + + 10 + + + + + http://localhost/pycsw/csw.py?config=tests/suites/cite/default.cfg?mode=opensearch&service=CSW&version=3.0.0&request=GetCapabilities + + + + + http://geo.data.gov/geoportal/csw/discovery + + + + + + + + + + + + + brief + full + summary + + + + + application/atom+xml + application/json + application/xml + + + + + http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ + http://www.interlis.ch/INTERLIS2.3 + http://www.opengis.net/cat/csw/3.0 + http://www.opengis.net/cat/csw/csdgm + http://www.w3.org/2005/Atom + + + + + + + + + + + + + + + + + + + http://www.isotc211.org/2005/gmi + http://www.opengis.net/cat/csw/2.0.2 + http://www.opengis.net/cat/csw/3.0 + http://www.opengis.net/sos/1.0 + http://www.opengis.net/sos/2.0 + http://www.opengis.net/wcs + http://www.opengis.net/wfs + http://www.opengis.net/wfs/2.0 + http://www.opengis.net/wms + http://www.opengis.net/wmts/1.0 + http://www.opengis.net/wps/1.0.0 + urn:geoss:waf + + + + + + + + + + + + http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ + http://www.interlis.ch/INTERLIS2.3 + http://www.isotc211.org/2005/gmi + http://www.opengis.net/cat/csw/2.0.2 + http://www.opengis.net/cat/csw/3.0 + http://www.opengis.net/cat/csw/csdgm + http://www.opengis.net/sos/1.0 + http://www.opengis.net/sos/2.0 + http://www.opengis.net/wcs + http://www.opengis.net/wfs + http://www.opengis.net/wfs/2.0 + http://www.opengis.net/wms + http://www.opengis.net/wmts/1.0 + http://www.opengis.net/wps/1.0.0 + http://www.w3.org/2005/Atom + urn:geoss:waf + + + + + + CSW + + + + + 2.0.2 + 3.0.0 + + + + + csw:AnyText + dc:contributor + dc:creator + dc:date + dc:format + dc:identifier + dc:language + dc:publisher + dc:relation + dc:rights + dc:source + dc:subject + dc:title + dc:type + dct:abstract + dct:modified + ows:BoundingBox + + + + + http://geo.data.gov/geoportal/csw/discovery + + + + + 10 + + + + + SOAP + XML + + + + + allowed + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + http://www.opengis.net/gml + + + + + TRUE + + + + + en + + + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + xs:string + + + xs:string + + + xs:string + + + xs:string + + + xs:string + + + xs:string + + + + diff --git a/tests/functionaltests/suites/cite/expected/get_8e2232ed-05d9-44ae-8b04-0911cbe6a507.xml b/tests/functionaltests/suites/cite/expected/get_8e2232ed-05d9-44ae-8b04-0911cbe6a507.xml new file mode 100644 index 000000000..6dd138f50 --- /dev/null +++ b/tests/functionaltests/suites/cite/expected/get_8e2232ed-05d9-44ae-8b04-0911cbe6a507.xml @@ -0,0 +1,7 @@ + + + + + Invalid parameter value in acceptversions: 2006.10.29. Value MUST be 2.0.2 or 3.0.0 + + diff --git a/tests/functionaltests/suites/cite/expected/get_9697f0aa-3b6a-4125-83a5-61e8826127c4.xml b/tests/functionaltests/suites/cite/expected/get_9697f0aa-3b6a-4125-83a5-61e8826127c4.xml new file mode 100644 index 000000000..77dd76c6b --- /dev/null +++ b/tests/functionaltests/suites/cite/expected/get_9697f0aa-3b6a-4125-83a5-61e8826127c4.xml @@ -0,0 +1,543 @@ + + + + + pycsw Geospatial Catalogue + pycsw is an OGC CSW server implementation written in Python + + catalogue + discovery + theme + + CSW + 2.0.2 + 3.0.0 + None + None + + + pycsw + + + Kralidis, Tom + Senior Systems Scientist + + + +01-416-xxx-xxxx + +01-416-xxx-xxxx + + + TBA + Toronto + Ontario + M9C 3Z9 + Canada + tomkralidis@gmail.com + + + 0800h - 1600h EST + During hours of service. Off on weekends. + + pointOfContact + + + + + + + + + + + + + application/xml + text/xml + + + + + 2.0.2 + 3.0.0 + + + + + All + Filter_Capabilities + OperationsMetadata + ServiceIdentification + ServiceProvider + + + + + + + + + + + + + GetCapabilities.acceptFormats + GetCapabilities.acceptVersions + GetCapabilities.sections + GetRecordById.ElementSetName + GetRecordById.outputFormat + GetRecordById.outputSchema + GetRecords.CONSTRAINTLANGUAGE + GetRecords.ElementSetName + GetRecords.outputFormat + GetRecords.outputSchema + GetRecords.typeNames + Harvest.ResourceType + Transaction.TransactionSchemas + + + + + + + + + + + + + CQL_TEXT + FILTER + + + + + brief + full + summary + + + + + application/atom+xml + application/json + application/xml + + + + + http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ + http://www.interlis.ch/INTERLIS2.3 + http://www.opengis.net/cat/csw/3.0 + http://www.opengis.net/cat/csw/csdgm + http://www.w3.org/2005/Atom + + + + + csw:Record + + + + + 10 + + + + + http://localhost/pycsw/csw.py?config=tests/suites/cite/default.cfg?mode=opensearch&service=CSW&version=3.0.0&request=GetCapabilities + + + + + http://geo.data.gov/geoportal/csw/discovery + + + + + + + + + + + + + brief + full + summary + + + + + application/atom+xml + application/json + application/xml + + + + + http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ + http://www.interlis.ch/INTERLIS2.3 + http://www.opengis.net/cat/csw/3.0 + http://www.opengis.net/cat/csw/csdgm + http://www.w3.org/2005/Atom + + + + + + + + + + + + + + + + + + + http://www.isotc211.org/2005/gmi + http://www.opengis.net/cat/csw/2.0.2 + http://www.opengis.net/cat/csw/3.0 + http://www.opengis.net/sos/1.0 + http://www.opengis.net/sos/2.0 + http://www.opengis.net/wcs + http://www.opengis.net/wfs + http://www.opengis.net/wfs/2.0 + http://www.opengis.net/wms + http://www.opengis.net/wmts/1.0 + http://www.opengis.net/wps/1.0.0 + urn:geoss:waf + + + + + + + + + + + + http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ + http://www.interlis.ch/INTERLIS2.3 + http://www.isotc211.org/2005/gmi + http://www.opengis.net/cat/csw/2.0.2 + http://www.opengis.net/cat/csw/3.0 + http://www.opengis.net/cat/csw/csdgm + http://www.opengis.net/sos/1.0 + http://www.opengis.net/sos/2.0 + http://www.opengis.net/wcs + http://www.opengis.net/wfs + http://www.opengis.net/wfs/2.0 + http://www.opengis.net/wms + http://www.opengis.net/wmts/1.0 + http://www.opengis.net/wps/1.0.0 + http://www.w3.org/2005/Atom + urn:geoss:waf + + + + + + CSW + + + + + 2.0.2 + 3.0.0 + + + + + csw:AnyText + dc:contributor + dc:creator + dc:date + dc:format + dc:identifier + dc:language + dc:publisher + dc:relation + dc:rights + dc:source + dc:subject + dc:title + dc:type + dct:abstract + dct:modified + ows:BoundingBox + + + + + http://geo.data.gov/geoportal/csw/discovery + + + + + 10 + + + + + SOAP + XML + + + + + allowed + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + http://www.opengis.net/gml + + + + + TRUE + + + + + en + + + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + xs:string + + + xs:string + + + xs:string + + + xs:string + + + xs:string + + + xs:string + + + + diff --git a/tests/functionaltests/suites/cite/expected/get_9bfd17fa-15dc-4a10-8fa7-b3cff7013dd7.xml b/tests/functionaltests/suites/cite/expected/get_9bfd17fa-15dc-4a10-8fa7-b3cff7013dd7.xml new file mode 100644 index 000000000..3ac20591f --- /dev/null +++ b/tests/functionaltests/suites/cite/expected/get_9bfd17fa-15dc-4a10-8fa7-b3cff7013dd7.xml @@ -0,0 +1,13 @@ + + + + + urn:uuid:e9330592-0932-474b-be34-c3a3bb67c7db + http://purl.org/dc/dcmitype/Text + Fuscé vitae ligulä + 2003-05-09 + Land titles + text/rtf + Morbi ultriçes, dui suscipit vestibulum prètium, velit ante pretium tortor, egët tincidunt pede odio ac nulla. + + diff --git a/tests/functionaltests/suites/cite/expected/get_b81c3595-06d6-4693-82ea-1ff8650755ac.xml b/tests/functionaltests/suites/cite/expected/get_b81c3595-06d6-4693-82ea-1ff8650755ac.xml new file mode 100644 index 000000000..9bf61df8e --- /dev/null +++ b/tests/functionaltests/suites/cite/expected/get_b81c3595-06d6-4693-82ea-1ff8650755ac.xml @@ -0,0 +1,3 @@ + + + diff --git a/tests/functionaltests/suites/cite/expected/get_ba5fc729-3b71-47a0-b7d0-42ec565cd185.xml b/tests/functionaltests/suites/cite/expected/get_ba5fc729-3b71-47a0-b7d0-42ec565cd185.xml new file mode 100644 index 000000000..369f8d8d5 --- /dev/null +++ b/tests/functionaltests/suites/cite/expected/get_ba5fc729-3b71-47a0-b7d0-42ec565cd185.xml @@ -0,0 +1,310 @@ + + + + + pycsw Geospatial Catalogue + pycsw is an OGC CSW server implementation written in Python + + catalogue + discovery + theme + + CSW + 2.0.2 + 3.0.0 + None + None + + + pycsw + + + Kralidis, Tom + Senior Systems Scientist + + + +01-416-xxx-xxxx + +01-416-xxx-xxxx + + + TBA + Toronto + Ontario + M9C 3Z9 + Canada + tomkralidis@gmail.com + + + 0800h - 1600h EST + During hours of service. Off on weekends. + + pointOfContact + + + + + + + + + + + + Filter_Capabilities + OperationsMetadata + ServiceIdentification + ServiceProvider + + + + + + + + + + + application/json + application/xml + + + http://www.w3.org/2001/XMLSchema + http://www.w3.org/TR/xmlschema-1/ + http://www.w3.org/XML/Schema + + + csw:Record + + + + + + + + + + + DescribeRecord.outputFormat + DescribeRecord.schemaLanguage + DescribeRecord.typeName + GetCapabilities.sections + GetRecordById.ElementSetName + GetRecordById.outputFormat + GetRecordById.outputSchema + GetRecords.CONSTRAINTLANGUAGE + GetRecords.ElementSetName + GetRecords.outputFormat + GetRecords.outputSchema + GetRecords.resultType + GetRecords.typeNames + Harvest.ResourceType + Transaction.TransactionSchemas + + + + + + + + + + + CQL_TEXT + FILTER + + + brief + full + summary + + + application/json + application/xml + + + http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ + http://www.interlis.ch/INTERLIS2.3 + http://www.opengis.net/cat/csw/2.0.2 + http://www.opengis.net/cat/csw/csdgm + http://www.w3.org/2005/Atom + + + hits + results + validate + + + csw:Record + + + csw:AnyText + dc:contributor + dc:creator + dc:date + dc:format + dc:identifier + dc:language + dc:publisher + dc:relation + dc:rights + dc:source + dc:subject + dc:title + dc:type + dct:abstract + dct:modified + ows:BoundingBox + + + + + + + + + + + brief + full + summary + + + application/json + application/xml + + + http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ + http://www.interlis.ch/INTERLIS2.3 + http://www.opengis.net/cat/csw/2.0.2 + http://www.opengis.net/cat/csw/csdgm + http://www.w3.org/2005/Atom + + + + + + + + + + + + + + + + + http://www.isotc211.org/2005/gmi + http://www.opengis.net/cat/csw/2.0.2 + http://www.opengis.net/cat/csw/3.0 + http://www.opengis.net/sos/1.0 + http://www.opengis.net/sos/2.0 + http://www.opengis.net/wcs + http://www.opengis.net/wfs + http://www.opengis.net/wfs/2.0 + http://www.opengis.net/wms + http://www.opengis.net/wmts/1.0 + http://www.opengis.net/wps/1.0.0 + urn:geoss:waf + + + + + + + + + + http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ + http://www.interlis.ch/INTERLIS2.3 + http://www.isotc211.org/2005/gmi + http://www.opengis.net/cat/csw/2.0.2 + http://www.opengis.net/cat/csw/3.0 + http://www.opengis.net/cat/csw/csdgm + http://www.opengis.net/sos/1.0 + http://www.opengis.net/sos/2.0 + http://www.opengis.net/wcs + http://www.opengis.net/wfs + http://www.opengis.net/wfs/2.0 + http://www.opengis.net/wms + http://www.opengis.net/wmts/1.0 + http://www.opengis.net/wps/1.0.0 + http://www.w3.org/2005/Atom + urn:geoss:waf + + + + CSW + + + 2.0.2 + 3.0.0 + + + http://geo.data.gov/geoportal/csw/discovery + + + 10 + + + XML + SOAP + + + allowed + + + + + + gml:Point + gml:LineString + gml:Polygon + gml:Envelope + + + + + + + + + + + + + + + + + + + Between + EqualTo + GreaterThan + GreaterThanEqualTo + LessThan + LessThanEqualTo + Like + NotEqualTo + NullCheck + + + + + length + lower + ltrim + rtrim + trim + upper + + + + + + + + + + diff --git a/tests/functionaltests/suites/cite/expected/get_c4ea754f-c158-4d8d-8253-dc8f86021b52.xml b/tests/functionaltests/suites/cite/expected/get_c4ea754f-c158-4d8d-8253-dc8f86021b52.xml new file mode 100644 index 000000000..42a76d4fd --- /dev/null +++ b/tests/functionaltests/suites/cite/expected/get_c4ea754f-c158-4d8d-8253-dc8f86021b52.xml @@ -0,0 +1,7 @@ + + + + + Missing keyword: service + + diff --git a/tests/functionaltests/suites/cite/expected/get_f4692ec5-9547-4a05-88ab-e6154af2640a.xml b/tests/functionaltests/suites/cite/expected/get_f4692ec5-9547-4a05-88ab-e6154af2640a.xml new file mode 100644 index 000000000..369f8d8d5 --- /dev/null +++ b/tests/functionaltests/suites/cite/expected/get_f4692ec5-9547-4a05-88ab-e6154af2640a.xml @@ -0,0 +1,310 @@ + + + + + pycsw Geospatial Catalogue + pycsw is an OGC CSW server implementation written in Python + + catalogue + discovery + theme + + CSW + 2.0.2 + 3.0.0 + None + None + + + pycsw + + + Kralidis, Tom + Senior Systems Scientist + + + +01-416-xxx-xxxx + +01-416-xxx-xxxx + + + TBA + Toronto + Ontario + M9C 3Z9 + Canada + tomkralidis@gmail.com + + + 0800h - 1600h EST + During hours of service. Off on weekends. + + pointOfContact + + + + + + + + + + + + Filter_Capabilities + OperationsMetadata + ServiceIdentification + ServiceProvider + + + + + + + + + + + application/json + application/xml + + + http://www.w3.org/2001/XMLSchema + http://www.w3.org/TR/xmlschema-1/ + http://www.w3.org/XML/Schema + + + csw:Record + + + + + + + + + + + DescribeRecord.outputFormat + DescribeRecord.schemaLanguage + DescribeRecord.typeName + GetCapabilities.sections + GetRecordById.ElementSetName + GetRecordById.outputFormat + GetRecordById.outputSchema + GetRecords.CONSTRAINTLANGUAGE + GetRecords.ElementSetName + GetRecords.outputFormat + GetRecords.outputSchema + GetRecords.resultType + GetRecords.typeNames + Harvest.ResourceType + Transaction.TransactionSchemas + + + + + + + + + + + CQL_TEXT + FILTER + + + brief + full + summary + + + application/json + application/xml + + + http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ + http://www.interlis.ch/INTERLIS2.3 + http://www.opengis.net/cat/csw/2.0.2 + http://www.opengis.net/cat/csw/csdgm + http://www.w3.org/2005/Atom + + + hits + results + validate + + + csw:Record + + + csw:AnyText + dc:contributor + dc:creator + dc:date + dc:format + dc:identifier + dc:language + dc:publisher + dc:relation + dc:rights + dc:source + dc:subject + dc:title + dc:type + dct:abstract + dct:modified + ows:BoundingBox + + + + + + + + + + + brief + full + summary + + + application/json + application/xml + + + http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ + http://www.interlis.ch/INTERLIS2.3 + http://www.opengis.net/cat/csw/2.0.2 + http://www.opengis.net/cat/csw/csdgm + http://www.w3.org/2005/Atom + + + + + + + + + + + + + + + + + http://www.isotc211.org/2005/gmi + http://www.opengis.net/cat/csw/2.0.2 + http://www.opengis.net/cat/csw/3.0 + http://www.opengis.net/sos/1.0 + http://www.opengis.net/sos/2.0 + http://www.opengis.net/wcs + http://www.opengis.net/wfs + http://www.opengis.net/wfs/2.0 + http://www.opengis.net/wms + http://www.opengis.net/wmts/1.0 + http://www.opengis.net/wps/1.0.0 + urn:geoss:waf + + + + + + + + + + http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ + http://www.interlis.ch/INTERLIS2.3 + http://www.isotc211.org/2005/gmi + http://www.opengis.net/cat/csw/2.0.2 + http://www.opengis.net/cat/csw/3.0 + http://www.opengis.net/cat/csw/csdgm + http://www.opengis.net/sos/1.0 + http://www.opengis.net/sos/2.0 + http://www.opengis.net/wcs + http://www.opengis.net/wfs + http://www.opengis.net/wfs/2.0 + http://www.opengis.net/wms + http://www.opengis.net/wmts/1.0 + http://www.opengis.net/wps/1.0.0 + http://www.w3.org/2005/Atom + urn:geoss:waf + + + + CSW + + + 2.0.2 + 3.0.0 + + + http://geo.data.gov/geoportal/csw/discovery + + + 10 + + + XML + SOAP + + + allowed + + + + + + gml:Point + gml:LineString + gml:Polygon + gml:Envelope + + + + + + + + + + + + + + + + + + + Between + EqualTo + GreaterThan + GreaterThanEqualTo + LessThan + LessThanEqualTo + Like + NotEqualTo + NullCheck + + + + + length + lower + ltrim + rtrim + trim + upper + + + + + + + + + + diff --git a/tests/functionaltests/suites/cite/expected/get_f997f25e-c865-4d53-a362-0ed1846337f2.xml b/tests/functionaltests/suites/cite/expected/get_f997f25e-c865-4d53-a362-0ed1846337f2.xml new file mode 100644 index 000000000..6cddad959 --- /dev/null +++ b/tests/functionaltests/suites/cite/expected/get_f997f25e-c865-4d53-a362-0ed1846337f2.xml @@ -0,0 +1,15 @@ + + + + + urn:uuid:94bc9c83-97f6-4b40-9eb8-a8e8787a5c63 + Mauris sed neque + http://purl.org/dc/dcmitype/Dataset + Vegetation-Cropland + Curabitur lacinia, ante non porta tempus, mi lorem feugiat odio, eget suscipit eros pede ac velit. + + 47.59 -4.1 + 51.22 0.89 + + + diff --git a/tests/functionaltests/suites/cite/expected/post_0c976d98-c896-4b10-b1fe-a22ef50434e7.xml b/tests/functionaltests/suites/cite/expected/post_0c976d98-c896-4b10-b1fe-a22ef50434e7.xml new file mode 100644 index 000000000..ce7aca9f6 --- /dev/null +++ b/tests/functionaltests/suites/cite/expected/post_0c976d98-c896-4b10-b1fe-a22ef50434e7.xml @@ -0,0 +1,6 @@ + + + + + + diff --git a/tests/functionaltests/suites/cite/expected/post_19d2a6ed-be28-4866-ae15-e3bb634486cb.xml b/tests/functionaltests/suites/cite/expected/post_19d2a6ed-be28-4866-ae15-e3bb634486cb.xml new file mode 100644 index 000000000..b80c3b546 --- /dev/null +++ b/tests/functionaltests/suites/cite/expected/post_19d2a6ed-be28-4866-ae15-e3bb634486cb.xml @@ -0,0 +1,55 @@ + + + + + + + urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f + Lorem ipsum + http://purl.org/dc/dcmitype/Image + + + urn:uuid:a06af396-3105-442d-8b40-22b57a90d2f2 + Lorem ipsum dolor sit amet + http://purl.org/dc/dcmitype/Image + + + urn:uuid:829babb0-b2f1-49e1-8cd5-7b489fe71a1e + Vestibulum massa purus + http://purl.org/dc/dcmitype/Image + + + urn:uuid:66ae76b7-54ba-489b-a582-0f0633d96493 + Maecenas enim + http://purl.org/dc/dcmitype/Text + + + urn:uuid:784e2afd-a9fd-44a6-9a92-a3848371c8ec + Aliquam fermentum purus quis arcu + http://purl.org/dc/dcmitype/Text + + + urn:uuid:9a669547-b69b-469f-a11f-2d875366bbdc + Ñunç elementum + http://purl.org/dc/dcmitype/Dataset + + 44.79 -6.17 + 51.13 -2.23 + + + + urn:uuid:94bc9c83-97f6-4b40-9eb8-a8e8787a5c63 + Mauris sed neque + http://purl.org/dc/dcmitype/Dataset + + 47.59 -4.1 + 51.22 0.89 + + + + urn:uuid:6a3de50b-fa66-4b58-a0e6-ca146fdd18d4 + Ut facilisis justo ut lacus + http://purl.org/dc/dcmitype/Service + + + diff --git a/tests/functionaltests/suites/cite/expected/post_1ab55aa3-6685-4595-8ecd-45987a7b8b59.xml b/tests/functionaltests/suites/cite/expected/post_1ab55aa3-6685-4595-8ecd-45987a7b8b59.xml new file mode 100644 index 000000000..a78d68a8c --- /dev/null +++ b/tests/functionaltests/suites/cite/expected/post_1ab55aa3-6685-4595-8ecd-45987a7b8b59.xml @@ -0,0 +1,19 @@ + + + + + + + full + + + + csw:AnyText + *lorem* + + + + + + + diff --git a/tests/functionaltests/suites/cite/expected/post_1c958b7a-ca09-4c38-98bd-ef1d1d28cc14.xml b/tests/functionaltests/suites/cite/expected/post_1c958b7a-ca09-4c38-98bd-ef1d1d28cc14.xml new file mode 100644 index 000000000..a1691f473 --- /dev/null +++ b/tests/functionaltests/suites/cite/expected/post_1c958b7a-ca09-4c38-98bd-ef1d1d28cc14.xml @@ -0,0 +1,7 @@ + + + + + Invalid outputFormat parameter value: application/xhtml+xml + + diff --git a/tests/functionaltests/suites/cite/expected/post_1c97fc1a-61cd-4c1d-8054-933e17a6c5ee.xml b/tests/functionaltests/suites/cite/expected/post_1c97fc1a-61cd-4c1d-8054-933e17a6c5ee.xml new file mode 100644 index 000000000..2b0eebed4 --- /dev/null +++ b/tests/functionaltests/suites/cite/expected/post_1c97fc1a-61cd-4c1d-8054-933e17a6c5ee.xml @@ -0,0 +1,7 @@ + + + + + Invalid Constraint: Invalid Filter request: Invalid PropertyName: /dc:title. '/dc:title' + + diff --git a/tests/functionaltests/suites/cite/expected/post_2102a460-5d62-465f-9668-d70b3faafbfa.xml b/tests/functionaltests/suites/cite/expected/post_2102a460-5d62-465f-9668-d70b3faafbfa.xml new file mode 100644 index 000000000..5c7ef391f --- /dev/null +++ b/tests/functionaltests/suites/cite/expected/post_2102a460-5d62-465f-9668-d70b3faafbfa.xml @@ -0,0 +1,12 @@ + + + + + + + urn:uuid:ab42a8c4-95e8-4630-bf79-33e59241605a + + http://purl.org/dc/dcmitype/Service + + + diff --git a/tests/functionaltests/suites/cite/expected/post_225f455a-0035-486b-a94e-fee7ae881b2b.xml b/tests/functionaltests/suites/cite/expected/post_225f455a-0035-486b-a94e-fee7ae881b2b.xml new file mode 100644 index 000000000..a9d06ca89 --- /dev/null +++ b/tests/functionaltests/suites/cite/expected/post_225f455a-0035-486b-a94e-fee7ae881b2b.xml @@ -0,0 +1,17 @@ + + + + + + + urn:uuid:94bc9c83-97f6-4b40-9eb8-a8e8787a5c63 + http://purl.org/dc/dcmitype/Dataset + 2006-03-26 + + + urn:uuid:784e2afd-a9fd-44a6-9a92-a3848371c8ec + http://purl.org/dc/dcmitype/Text + 2006-05-12 + + + diff --git a/tests/functionaltests/suites/cite/expected/post_2d53ffea-60e4-4652-abf5-36eb23042fd5.xml b/tests/functionaltests/suites/cite/expected/post_2d53ffea-60e4-4652-abf5-36eb23042fd5.xml new file mode 100644 index 000000000..fb722adad --- /dev/null +++ b/tests/functionaltests/suites/cite/expected/post_2d53ffea-60e4-4652-abf5-36eb23042fd5.xml @@ -0,0 +1,69 @@ + + + + + + + urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f + Lorem ipsum + http://purl.org/dc/dcmitype/Image + + + urn:uuid:1ef30a8b-876d-4828-9246-c37ab4510bbd + + http://purl.org/dc/dcmitype/Service + + 60.04 13.75 + 68.41 17.92 + + + + urn:uuid:66ae76b7-54ba-489b-a582-0f0633d96493 + Maecenas enim + http://purl.org/dc/dcmitype/Text + + + urn:uuid:6a3de50b-fa66-4b58-a0e6-ca146fdd18d4 + Ut facilisis justo ut lacus + http://purl.org/dc/dcmitype/Service + + + urn:uuid:784e2afd-a9fd-44a6-9a92-a3848371c8ec + Aliquam fermentum purus quis arcu + http://purl.org/dc/dcmitype/Text + + + urn:uuid:829babb0-b2f1-49e1-8cd5-7b489fe71a1e + Vestibulum massa purus + http://purl.org/dc/dcmitype/Image + + + urn:uuid:88247b56-4cbc-4df9-9860-db3f8042e357 + + http://purl.org/dc/dcmitype/Dataset + + + urn:uuid:94bc9c83-97f6-4b40-9eb8-a8e8787a5c63 + Mauris sed neque + http://purl.org/dc/dcmitype/Dataset + + 47.59 -4.1 + 51.22 0.89 + + + + urn:uuid:9a669547-b69b-469f-a11f-2d875366bbdc + Ñunç elementum + http://purl.org/dc/dcmitype/Dataset + + 44.79 -6.17 + 51.13 -2.23 + + + + urn:uuid:a06af396-3105-442d-8b40-22b57a90d2f2 + Lorem ipsum dolor sit amet + http://purl.org/dc/dcmitype/Image + + + diff --git a/tests/functionaltests/suites/cite/expected/post_34a019a9-1581-42cb-9827-fbfdda2773b7.xml b/tests/functionaltests/suites/cite/expected/post_34a019a9-1581-42cb-9827-fbfdda2773b7.xml new file mode 100644 index 000000000..a22dee078 --- /dev/null +++ b/tests/functionaltests/suites/cite/expected/post_34a019a9-1581-42cb-9827-fbfdda2773b7.xml @@ -0,0 +1,6 @@ + + + + + + diff --git a/tests/functionaltests/suites/cite/expected/post_3e76fd38-e035-41c9-83dc-61356f680c97.xml b/tests/functionaltests/suites/cite/expected/post_3e76fd38-e035-41c9-83dc-61356f680c97.xml new file mode 100644 index 000000000..c8ed32a33 --- /dev/null +++ b/tests/functionaltests/suites/cite/expected/post_3e76fd38-e035-41c9-83dc-61356f680c97.xml @@ -0,0 +1,7 @@ + + + + + Invalid value for schemalanguage: http://purl.oclc.org/dsdl/schematron + + diff --git a/tests/functionaltests/suites/cite/expected/post_418a6fb0-a89c-4a94-afc9-3f8168eb2980.xml b/tests/functionaltests/suites/cite/expected/post_418a6fb0-a89c-4a94-afc9-3f8168eb2980.xml new file mode 100644 index 000000000..a53001dc4 --- /dev/null +++ b/tests/functionaltests/suites/cite/expected/post_418a6fb0-a89c-4a94-afc9-3f8168eb2980.xml @@ -0,0 +1,15 @@ + + + + + + + urn:uuid:94bc9c83-97f6-4b40-9eb8-a8e8787a5c63 + 2006-03-26 + + 47.59 -4.1 + 51.22 0.89 + + + + diff --git a/tests/functionaltests/suites/cite/expected/post_420b745e-0c4b-404e-9f2d-61fa580ff05a.xml b/tests/functionaltests/suites/cite/expected/post_420b745e-0c4b-404e-9f2d-61fa580ff05a.xml new file mode 100644 index 000000000..25097018b --- /dev/null +++ b/tests/functionaltests/suites/cite/expected/post_420b745e-0c4b-404e-9f2d-61fa580ff05a.xml @@ -0,0 +1,22 @@ + + + + + + + urn:uuid:9a669547-b69b-469f-a11f-2d875366bbdc + http://purl.org/dc/dcmitype/Dataset + 2005-10-24 + + + urn:uuid:94bc9c83-97f6-4b40-9eb8-a8e8787a5c63 + http://purl.org/dc/dcmitype/Dataset + 2006-03-26 + + + urn:uuid:784e2afd-a9fd-44a6-9a92-a3848371c8ec + http://purl.org/dc/dcmitype/Text + 2006-05-12 + + + diff --git a/tests/functionaltests/suites/cite/expected/post_4735d649-a2b1-42fd-a101-14e1d7e4607f.xml b/tests/functionaltests/suites/cite/expected/post_4735d649-a2b1-42fd-a101-14e1d7e4607f.xml new file mode 100644 index 000000000..a70706709 --- /dev/null +++ b/tests/functionaltests/suites/cite/expected/post_4735d649-a2b1-42fd-a101-14e1d7e4607f.xml @@ -0,0 +1,44 @@ + + + + + + + urn:uuid:66ae76b7-54ba-489b-a582-0f0633d96493 + Maecenas enim + http://purl.org/dc/dcmitype/Text + Marine sediments + application/xhtml+xml + Pellentesque tempus magna non sapien fringilla blandit. + + + urn:uuid:6a3de50b-fa66-4b58-a0e6-ca146fdd18d4 + Ut facilisis justo ut lacus + http://purl.org/dc/dcmitype/Service + Vegetation + urn:uuid:94bc9c83-97f6-4b40-9eb8-a8e8787a5c63 + + + urn:uuid:784e2afd-a9fd-44a6-9a92-a3848371c8ec + Aliquam fermentum purus quis arcu + http://purl.org/dc/dcmitype/Text + Hydrography--Dictionaries + application/pdf + Vestibulum quis ipsum sit amet metus imperdiet vehicula. Nulla scelerisque cursus mi. + + + urn:uuid:829babb0-b2f1-49e1-8cd5-7b489fe71a1e + Vestibulum massa purus + http://purl.org/dc/dcmitype/Image + image/jp2 + urn:uuid:9a669547-b69b-469f-a11f-2d875366bbdc + + + urn:uuid:88247b56-4cbc-4df9-9860-db3f8042e357 + + http://purl.org/dc/dcmitype/Dataset + Physiography-Landforms + Donec scelerisque pede ut nisl luctus accumsan. Quisque ultrices, lorem eget feugiat fringilla, lorem dui porttitor ante, cursus ultrices magna odio eu neque. + + + diff --git a/tests/functionaltests/suites/cite/expected/post_5c5861bc-f742-40a5-9998-5342615d674b.xml b/tests/functionaltests/suites/cite/expected/post_5c5861bc-f742-40a5-9998-5342615d674b.xml new file mode 100644 index 000000000..7d1cd623e --- /dev/null +++ b/tests/functionaltests/suites/cite/expected/post_5c5861bc-f742-40a5-9998-5342615d674b.xml @@ -0,0 +1,49 @@ + + + + + + + urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f + http://purl.org/dc/dcmitype/Image + image/svg+xml + Lorem ipsum + GR-22 + Tourism--Greece + Quisque lacus diam, placerat mollis, pharetra in, commodo sed, augue. Duis iaculis arcu vel arcu. + + + urn:uuid:88247b56-4cbc-4df9-9860-db3f8042e357 + http://purl.org/dc/dcmitype/Dataset + Physiography-Landforms + FI-ES + Donec scelerisque pede ut nisl luctus accumsan. Quisque ultrices, lorem eget feugiat fringilla, lorem dui porttitor ante, cursus ultrices magna odio eu neque. + + + urn:uuid:94bc9c83-97f6-4b40-9eb8-a8e8787a5c63 + http://purl.org/dc/dcmitype/Dataset + Mauris sed neque + Vegetation-Cropland + Curabitur lacinia, ante non porta tempus, mi lorem feugiat odio, eget suscipit eros pede ac velit. + 2006-03-26 + + 47.595 -4.097 + 51.217 0.889 + + + + urn:uuid:a06af396-3105-442d-8b40-22b57a90d2f2 + http://purl.org/dc/dcmitype/Image + Lorem ipsum dolor sit amet + image/jpeg + IT-FI + + + urn:uuid:ab42a8c4-95e8-4630-bf79-33e59241605a + http://purl.org/dc/dcmitype/Service + Physiography + Suspendisse accumsan molestie lorem. Nullam velit turpis, mattis ut, varius bibendum, laoreet non, quam. + urn:uuid:88247b56-4cbc-4df9-9860-db3f8042e357 + + + diff --git a/tests/functionaltests/suites/cite/expected/post_6e736fd0-c266-4852-9eb3-0656f5d0f5c4.xml b/tests/functionaltests/suites/cite/expected/post_6e736fd0-c266-4852-9eb3-0656f5d0f5c4.xml new file mode 100644 index 000000000..e96a0237f --- /dev/null +++ b/tests/functionaltests/suites/cite/expected/post_6e736fd0-c266-4852-9eb3-0656f5d0f5c4.xml @@ -0,0 +1,89 @@ + + + + + + + urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f + Lorem ipsum + http://purl.org/dc/dcmitype/Image + Tourism--Greece + image/svg+xml + Quisque lacus diam, placerat mollis, pharetra in, commodo sed, augue. Duis iaculis arcu vel arcu. + + + urn:uuid:1ef30a8b-876d-4828-9246-c37ab4510bbd + + http://purl.org/dc/dcmitype/Service + Proin sit amet justo. In justo. Aenean adipiscing nulla id tellus. + + 60.04 13.75 + 68.41 17.92 + + + + urn:uuid:66ae76b7-54ba-489b-a582-0f0633d96493 + Maecenas enim + http://purl.org/dc/dcmitype/Text + Marine sediments + application/xhtml+xml + Pellentesque tempus magna non sapien fringilla blandit. + + + urn:uuid:6a3de50b-fa66-4b58-a0e6-ca146fdd18d4 + Ut facilisis justo ut lacus + http://purl.org/dc/dcmitype/Service + Vegetation + urn:uuid:94bc9c83-97f6-4b40-9eb8-a8e8787a5c63 + + + urn:uuid:784e2afd-a9fd-44a6-9a92-a3848371c8ec + Aliquam fermentum purus quis arcu + http://purl.org/dc/dcmitype/Text + Hydrography--Dictionaries + application/pdf + Vestibulum quis ipsum sit amet metus imperdiet vehicula. Nulla scelerisque cursus mi. + + + urn:uuid:829babb0-b2f1-49e1-8cd5-7b489fe71a1e + Vestibulum massa purus + http://purl.org/dc/dcmitype/Image + image/jp2 + urn:uuid:9a669547-b69b-469f-a11f-2d875366bbdc + + + urn:uuid:88247b56-4cbc-4df9-9860-db3f8042e357 + + http://purl.org/dc/dcmitype/Dataset + Physiography-Landforms + Donec scelerisque pede ut nisl luctus accumsan. Quisque ultrices, lorem eget feugiat fringilla, lorem dui porttitor ante, cursus ultrices magna odio eu neque. + + + urn:uuid:94bc9c83-97f6-4b40-9eb8-a8e8787a5c63 + Mauris sed neque + http://purl.org/dc/dcmitype/Dataset + Vegetation-Cropland + Curabitur lacinia, ante non porta tempus, mi lorem feugiat odio, eget suscipit eros pede ac velit. + + 47.59 -4.1 + 51.22 0.89 + + + + urn:uuid:9a669547-b69b-469f-a11f-2d875366bbdc + Ñunç elementum + http://purl.org/dc/dcmitype/Dataset + Hydrography-Oceanographic + + 44.79 -6.17 + 51.13 -2.23 + + + + urn:uuid:a06af396-3105-442d-8b40-22b57a90d2f2 + Lorem ipsum dolor sit amet + http://purl.org/dc/dcmitype/Image + image/jpeg + + + diff --git a/tests/functionaltests/suites/cite/expected/post_73f1551c-e269-4ef9-9dae-e535b5eebfc7.xml b/tests/functionaltests/suites/cite/expected/post_73f1551c-e269-4ef9-9dae-e535b5eebfc7.xml new file mode 100644 index 000000000..4060ee230 --- /dev/null +++ b/tests/functionaltests/suites/cite/expected/post_73f1551c-e269-4ef9-9dae-e535b5eebfc7.xml @@ -0,0 +1,18 @@ + + + + + + + urn:uuid:9a669547-b69b-469f-a11f-2d875366bbdc + http://purl.org/dc/dcmitype/Dataset + Ñunç elementum + Hydrography-Oceanographic + 2005-10-24 + + 44.792 -6.171 + 51.126 -2.228 + + + + diff --git a/tests/functionaltests/suites/cite/expected/post_78297c88-4850-4927-adc6-511cd9a3d539.xml b/tests/functionaltests/suites/cite/expected/post_78297c88-4850-4927-adc6-511cd9a3d539.xml new file mode 100644 index 000000000..76101a6bb --- /dev/null +++ b/tests/functionaltests/suites/cite/expected/post_78297c88-4850-4927-adc6-511cd9a3d539.xml @@ -0,0 +1,115 @@ + + + + + + + + http://schemas.opengis.net/csw/2.0.2/record.xsd + + + This schema defines the basic record types that must be supported + by all CSW implementations. These correspond to full, summary, and + brief views based on DCMI metadata terms. + + CSW is an OGC Standard. + Copyright (c) 2004,2010 Open Geospatial Consortium, Inc. All Rights Reserved. + To obtain additional rights of use, visit http://www.opengeospatial.org/legal/ . + + + + + + + + + + + + + + + This type encapsulates all of the standard DCMI metadata terms, + including the Dublin Core refinements; these terms may be mapped + to the profile-specific information model. + + + + + + + + + + + + + + + + This type defines a brief representation of the common record + format. It extends AbstractRecordType to include only the + dc:identifier and dc:type properties. + + + + + + + + + + + + + + + + + + + This type defines a summary representation of the common record + format. It extends AbstractRecordType to include the core + properties. + + + + + + + + + + + + + + + + + + + + + + + + + This type extends DCMIRecordType to add ows:BoundingBox; + it may be used to specify a spatial envelope for the + catalogued resource. + + + + + + + + + + + + + + + diff --git a/tests/functionaltests/suites/cite/expected/post_7c89cdf5-0def-4cfb-8c55-2b8ffea5d92f.xml b/tests/functionaltests/suites/cite/expected/post_7c89cdf5-0def-4cfb-8c55-2b8ffea5d92f.xml new file mode 100644 index 000000000..4d9e1fd3d --- /dev/null +++ b/tests/functionaltests/suites/cite/expected/post_7c89cdf5-0def-4cfb-8c55-2b8ffea5d92f.xml @@ -0,0 +1,56 @@ + + + + + + + + urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f + urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f + + Lorem ipsum + PYCSW_TIMESTAMP + Quisque lacus diam, placerat mollis, pharetra in, commodo sed, augue. Duis iaculis arcu vel arcu. + + + urn:uuid:1ef30a8b-876d-4828-9246-c37ab4510bbd + urn:uuid:1ef30a8b-876d-4828-9246-c37ab4510bbd + + + PYCSW_TIMESTAMP + Proin sit amet justo. In justo. Aenean adipiscing nulla id tellus. + + + 60.04 13.75 + 68.41 17.92 + + + + + + urn:uuid:66ae76b7-54ba-489b-a582-0f0633d96493 + urn:uuid:66ae76b7-54ba-489b-a582-0f0633d96493 + + Maecenas enim + PYCSW_TIMESTAMP + Pellentesque tempus magna non sapien fringilla blandit. + + + + urn:uuid:6a3de50b-fa66-4b58-a0e6-ca146fdd18d4 + urn:uuid:6a3de50b-fa66-4b58-a0e6-ca146fdd18d4 + + Ut facilisis justo ut lacus + PYCSW_TIMESTAMP + + + + urn:uuid:784e2afd-a9fd-44a6-9a92-a3848371c8ec + urn:uuid:784e2afd-a9fd-44a6-9a92-a3848371c8ec + + Aliquam fermentum purus quis arcu + PYCSW_TIMESTAMP + Vestibulum quis ipsum sit amet metus imperdiet vehicula. Nulla scelerisque cursus mi. + + + diff --git a/tests/functionaltests/suites/cite/expected/post_7e2cd105-daec-4d25-bc8e-d49d21364912.xml b/tests/functionaltests/suites/cite/expected/post_7e2cd105-daec-4d25-bc8e-d49d21364912.xml new file mode 100644 index 000000000..5f82a7d41 --- /dev/null +++ b/tests/functionaltests/suites/cite/expected/post_7e2cd105-daec-4d25-bc8e-d49d21364912.xml @@ -0,0 +1,3 @@ + + + diff --git a/tests/functionaltests/suites/cite/expected/post_87f2f670-9cd6-4907-b82c-1b46a7dd2a78.xml b/tests/functionaltests/suites/cite/expected/post_87f2f670-9cd6-4907-b82c-1b46a7dd2a78.xml new file mode 100644 index 000000000..d81b5493e --- /dev/null +++ b/tests/functionaltests/suites/cite/expected/post_87f2f670-9cd6-4907-b82c-1b46a7dd2a78.xml @@ -0,0 +1,50 @@ + + + + + + + urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f + http://purl.org/dc/dcmitype/Image + + + urn:uuid:1ef30a8b-876d-4828-9246-c37ab4510bbd + http://purl.org/dc/dcmitype/Service + + + urn:uuid:66ae76b7-54ba-489b-a582-0f0633d96493 + http://purl.org/dc/dcmitype/Text + + + urn:uuid:6a3de50b-fa66-4b58-a0e6-ca146fdd18d4 + http://purl.org/dc/dcmitype/Service + + + urn:uuid:784e2afd-a9fd-44a6-9a92-a3848371c8ec + http://purl.org/dc/dcmitype/Text + 2006-05-12 + + + urn:uuid:829babb0-b2f1-49e1-8cd5-7b489fe71a1e + http://purl.org/dc/dcmitype/Image + + + urn:uuid:88247b56-4cbc-4df9-9860-db3f8042e357 + http://purl.org/dc/dcmitype/Dataset + + + urn:uuid:94bc9c83-97f6-4b40-9eb8-a8e8787a5c63 + http://purl.org/dc/dcmitype/Dataset + 2006-03-26 + + + urn:uuid:9a669547-b69b-469f-a11f-2d875366bbdc + http://purl.org/dc/dcmitype/Dataset + 2005-10-24 + + + urn:uuid:a06af396-3105-442d-8b40-22b57a90d2f2 + http://purl.org/dc/dcmitype/Image + + + diff --git a/tests/functionaltests/suites/cite/expected/post_88b4e1ba-3bd4-4cbe-81e5-e004056d6ca3.xml b/tests/functionaltests/suites/cite/expected/post_88b4e1ba-3bd4-4cbe-81e5-e004056d6ca3.xml new file mode 100644 index 000000000..ef7576e15 --- /dev/null +++ b/tests/functionaltests/suites/cite/expected/post_88b4e1ba-3bd4-4cbe-81e5-e004056d6ca3.xml @@ -0,0 +1,7 @@ + + + + + Invalid value for outputformat: text/sgml + + diff --git a/tests/functionaltests/suites/cite/expected/post_898cd63b-2585-4ec0-8720-d554bd324174.xml b/tests/functionaltests/suites/cite/expected/post_898cd63b-2585-4ec0-8720-d554bd324174.xml new file mode 100644 index 000000000..f77acfc5c --- /dev/null +++ b/tests/functionaltests/suites/cite/expected/post_898cd63b-2585-4ec0-8720-d554bd324174.xml @@ -0,0 +1,14 @@ + + + + + + + urn:uuid:829babb0-b2f1-49e1-8cd5-7b489fe71a1e + Vestibulum massa purus + http://purl.org/dc/dcmitype/Image + image/jp2 + urn:uuid:9a669547-b69b-469f-a11f-2d875366bbdc + + + diff --git a/tests/functionaltests/suites/cite/expected/post_8fb13dc3-5818-45e2-9e29-46abc16e7d38.xml b/tests/functionaltests/suites/cite/expected/post_8fb13dc3-5818-45e2-9e29-46abc16e7d38.xml new file mode 100644 index 000000000..9c08c604e --- /dev/null +++ b/tests/functionaltests/suites/cite/expected/post_8fb13dc3-5818-45e2-9e29-46abc16e7d38.xml @@ -0,0 +1,48 @@ + + + + + + + urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f + + + urn:uuid:66ae76b7-54ba-489b-a582-0f0633d96493 + + + urn:uuid:6a3de50b-fa66-4b58-a0e6-ca146fdd18d4 + + + urn:uuid:784e2afd-a9fd-44a6-9a92-a3848371c8ec + + + urn:uuid:829babb0-b2f1-49e1-8cd5-7b489fe71a1e + + + urn:uuid:88247b56-4cbc-4df9-9860-db3f8042e357 + + + urn:uuid:94bc9c83-97f6-4b40-9eb8-a8e8787a5c63 + + 47.59 -4.1 + 51.22 0.89 + + + + urn:uuid:9a669547-b69b-469f-a11f-2d875366bbdc + + 44.79 -6.17 + 51.13 -2.23 + + + + urn:uuid:a06af396-3105-442d-8b40-22b57a90d2f2 + + + urn:uuid:ab42a8c4-95e8-4630-bf79-33e59241605a + + + urn:uuid:e9330592-0932-474b-be34-c3a3bb67c7db + + + diff --git a/tests/functionaltests/suites/cite/expected/post_928c1896-52d4-4ac7-9832-f98e3eb65f02.xml b/tests/functionaltests/suites/cite/expected/post_928c1896-52d4-4ac7-9832-f98e3eb65f02.xml new file mode 100644 index 000000000..baf37aaf2 --- /dev/null +++ b/tests/functionaltests/suites/cite/expected/post_928c1896-52d4-4ac7-9832-f98e3eb65f02.xml @@ -0,0 +1,17 @@ + + + + + + + urn:uuid:e9330592-0932-474b-be34-c3a3bb67c7db + http://purl.org/dc/dcmitype/Text + 2003-05-09 + + + urn:uuid:9a669547-b69b-469f-a11f-2d875366bbdc + http://purl.org/dc/dcmitype/Dataset + 2005-10-24 + + + diff --git a/tests/functionaltests/suites/cite/expected/post_93bdbb9d-2734-4f01-92fb-48634cca41de.xml b/tests/functionaltests/suites/cite/expected/post_93bdbb9d-2734-4f01-92fb-48634cca41de.xml new file mode 100644 index 000000000..9a5d49e55 --- /dev/null +++ b/tests/functionaltests/suites/cite/expected/post_93bdbb9d-2734-4f01-92fb-48634cca41de.xml @@ -0,0 +1,21 @@ + + + + + + + urn:uuid:94bc9c83-97f6-4b40-9eb8-a8e8787a5c63 + + 47.59 -4.1 + 51.22 0.89 + + + + urn:uuid:9a669547-b69b-469f-a11f-2d875366bbdc + + 44.79 -6.17 + 51.13 -2.23 + + + + diff --git a/tests/functionaltests/suites/cite/expected/post_948b39d5-bb4f-45b8-a8f2-4ff9501aaedd.xml b/tests/functionaltests/suites/cite/expected/post_948b39d5-bb4f-45b8-a8f2-4ff9501aaedd.xml new file mode 100644 index 000000000..b214975bc --- /dev/null +++ b/tests/functionaltests/suites/cite/expected/post_948b39d5-bb4f-45b8-a8f2-4ff9501aaedd.xml @@ -0,0 +1,51 @@ + + + + + + + urn:uuid:784e2afd-a9fd-44a6-9a92-a3848371c8ec + http://purl.org/dc/dcmitype/Text + 2006-05-12 + + + urn:uuid:94bc9c83-97f6-4b40-9eb8-a8e8787a5c63 + http://purl.org/dc/dcmitype/Dataset + 2006-03-26 + + + urn:uuid:9a669547-b69b-469f-a11f-2d875366bbdc + http://purl.org/dc/dcmitype/Dataset + 2005-10-24 + + + urn:uuid:e9330592-0932-474b-be34-c3a3bb67c7db + http://purl.org/dc/dcmitype/Text + 2003-05-09 + + + urn:uuid:ab42a8c4-95e8-4630-bf79-33e59241605a + http://purl.org/dc/dcmitype/Service + + + urn:uuid:a06af396-3105-442d-8b40-22b57a90d2f2 + http://purl.org/dc/dcmitype/Image + + + urn:uuid:88247b56-4cbc-4df9-9860-db3f8042e357 + http://purl.org/dc/dcmitype/Dataset + + + urn:uuid:829babb0-b2f1-49e1-8cd5-7b489fe71a1e + http://purl.org/dc/dcmitype/Image + + + urn:uuid:6a3de50b-fa66-4b58-a0e6-ca146fdd18d4 + http://purl.org/dc/dcmitype/Service + + + urn:uuid:66ae76b7-54ba-489b-a582-0f0633d96493 + http://purl.org/dc/dcmitype/Text + + + diff --git a/tests/functionaltests/suites/cite/expected/post_9fd64fcc-f69c-4626-b72e-5c7776a29aa9.xml b/tests/functionaltests/suites/cite/expected/post_9fd64fcc-f69c-4626-b72e-5c7776a29aa9.xml new file mode 100644 index 000000000..214379d29 --- /dev/null +++ b/tests/functionaltests/suites/cite/expected/post_9fd64fcc-f69c-4626-b72e-5c7776a29aa9.xml @@ -0,0 +1,7 @@ + + + + + Typename not qualified: Record + + diff --git a/tests/functionaltests/suites/cite/expected/post_a06d04ab-e0d0-4a86-bfe8-71460f41fe37.xml b/tests/functionaltests/suites/cite/expected/post_a06d04ab-e0d0-4a86-bfe8-71460f41fe37.xml new file mode 100644 index 000000000..fb722adad --- /dev/null +++ b/tests/functionaltests/suites/cite/expected/post_a06d04ab-e0d0-4a86-bfe8-71460f41fe37.xml @@ -0,0 +1,69 @@ + + + + + + + urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f + Lorem ipsum + http://purl.org/dc/dcmitype/Image + + + urn:uuid:1ef30a8b-876d-4828-9246-c37ab4510bbd + + http://purl.org/dc/dcmitype/Service + + 60.04 13.75 + 68.41 17.92 + + + + urn:uuid:66ae76b7-54ba-489b-a582-0f0633d96493 + Maecenas enim + http://purl.org/dc/dcmitype/Text + + + urn:uuid:6a3de50b-fa66-4b58-a0e6-ca146fdd18d4 + Ut facilisis justo ut lacus + http://purl.org/dc/dcmitype/Service + + + urn:uuid:784e2afd-a9fd-44a6-9a92-a3848371c8ec + Aliquam fermentum purus quis arcu + http://purl.org/dc/dcmitype/Text + + + urn:uuid:829babb0-b2f1-49e1-8cd5-7b489fe71a1e + Vestibulum massa purus + http://purl.org/dc/dcmitype/Image + + + urn:uuid:88247b56-4cbc-4df9-9860-db3f8042e357 + + http://purl.org/dc/dcmitype/Dataset + + + urn:uuid:94bc9c83-97f6-4b40-9eb8-a8e8787a5c63 + Mauris sed neque + http://purl.org/dc/dcmitype/Dataset + + 47.59 -4.1 + 51.22 0.89 + + + + urn:uuid:9a669547-b69b-469f-a11f-2d875366bbdc + Ñunç elementum + http://purl.org/dc/dcmitype/Dataset + + 44.79 -6.17 + 51.13 -2.23 + + + + urn:uuid:a06af396-3105-442d-8b40-22b57a90d2f2 + Lorem ipsum dolor sit amet + http://purl.org/dc/dcmitype/Image + + + diff --git a/tests/functionaltests/suites/cite/expected/post_ad61686c-d304-42d1-b845-8c1f3070c83e.xml b/tests/functionaltests/suites/cite/expected/post_ad61686c-d304-42d1-b845-8c1f3070c83e.xml new file mode 100644 index 000000000..71d14fa61 --- /dev/null +++ b/tests/functionaltests/suites/cite/expected/post_ad61686c-d304-42d1-b845-8c1f3070c83e.xml @@ -0,0 +1,8 @@ + + + + + Exception: the document is not valid. +Error: Element '{http://www.opengis.net/foo}Filter': This element is not expected. Expected is one of ( {http://www.opengis.net/ogc}Filter, {http://www.opengis.net/cat/csw/2.0.2}CqlText ). + + diff --git a/tests/functionaltests/suites/cite/expected/post_af39c020-7b1d-429c-b474-f45c3164cb79.xml b/tests/functionaltests/suites/cite/expected/post_af39c020-7b1d-429c-b474-f45c3164cb79.xml new file mode 100644 index 000000000..960d5f57d --- /dev/null +++ b/tests/functionaltests/suites/cite/expected/post_af39c020-7b1d-429c-b474-f45c3164cb79.xml @@ -0,0 +1,21 @@ + + + + + + + urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f + Lorem ipsum + http://purl.org/dc/dcmitype/Image + Tourism--Greece + image/svg+xml + Quisque lacus diam, placerat mollis, pharetra in, commodo sed, augue. Duis iaculis arcu vel arcu. + + + urn:uuid:a06af396-3105-442d-8b40-22b57a90d2f2 + Lorem ipsum dolor sit amet + http://purl.org/dc/dcmitype/Image + image/jpeg + + + diff --git a/tests/functionaltests/suites/cite/expected/post_b90e2de6-3d25-4298-a13e-dc9492a8fc73.xml b/tests/functionaltests/suites/cite/expected/post_b90e2de6-3d25-4298-a13e-dc9492a8fc73.xml new file mode 100644 index 000000000..0c5581f88 --- /dev/null +++ b/tests/functionaltests/suites/cite/expected/post_b90e2de6-3d25-4298-a13e-dc9492a8fc73.xml @@ -0,0 +1,91 @@ + + + + + + + urn:uuid:1ef30a8b-876d-4828-9246-c37ab4510bbd + + http://purl.org/dc/dcmitype/Service + Proin sit amet justo. In justo. Aenean adipiscing nulla id tellus. + + 60.04 13.75 + 68.41 17.92 + + + + urn:uuid:66ae76b7-54ba-489b-a582-0f0633d96493 + Maecenas enim + http://purl.org/dc/dcmitype/Text + Marine sediments + application/xhtml+xml + Pellentesque tempus magna non sapien fringilla blandit. + + + urn:uuid:6a3de50b-fa66-4b58-a0e6-ca146fdd18d4 + Ut facilisis justo ut lacus + http://purl.org/dc/dcmitype/Service + Vegetation + urn:uuid:94bc9c83-97f6-4b40-9eb8-a8e8787a5c63 + + + urn:uuid:784e2afd-a9fd-44a6-9a92-a3848371c8ec + Aliquam fermentum purus quis arcu + http://purl.org/dc/dcmitype/Text + Hydrography--Dictionaries + application/pdf + Vestibulum quis ipsum sit amet metus imperdiet vehicula. Nulla scelerisque cursus mi. + + + urn:uuid:829babb0-b2f1-49e1-8cd5-7b489fe71a1e + Vestibulum massa purus + http://purl.org/dc/dcmitype/Image + image/jp2 + urn:uuid:9a669547-b69b-469f-a11f-2d875366bbdc + + + urn:uuid:88247b56-4cbc-4df9-9860-db3f8042e357 + + http://purl.org/dc/dcmitype/Dataset + Physiography-Landforms + Donec scelerisque pede ut nisl luctus accumsan. Quisque ultrices, lorem eget feugiat fringilla, lorem dui porttitor ante, cursus ultrices magna odio eu neque. + + + urn:uuid:94bc9c83-97f6-4b40-9eb8-a8e8787a5c63 + Mauris sed neque + http://purl.org/dc/dcmitype/Dataset + Vegetation-Cropland + Curabitur lacinia, ante non porta tempus, mi lorem feugiat odio, eget suscipit eros pede ac velit. + + 47.59 -4.1 + 51.22 0.89 + + + + urn:uuid:9a669547-b69b-469f-a11f-2d875366bbdc + Ñunç elementum + http://purl.org/dc/dcmitype/Dataset + Hydrography-Oceanographic + + 44.79 -6.17 + 51.13 -2.23 + + + + urn:uuid:ab42a8c4-95e8-4630-bf79-33e59241605a + + http://purl.org/dc/dcmitype/Service + Physiography + urn:uuid:88247b56-4cbc-4df9-9860-db3f8042e357 + Suspendisse accumsan molestie lorem. Nullam velit turpis, mattis ut, varius bibendum, laoreet non, quam. + + + urn:uuid:e9330592-0932-474b-be34-c3a3bb67c7db + Fuscé vitae ligulä + http://purl.org/dc/dcmitype/Text + Land titles + text/rtf + Morbi ultriçes, dui suscipit vestibulum prètium, velit ante pretium tortor, egët tincidunt pede odio ac nulla. + + + diff --git a/tests/functionaltests/suites/cite/expected/post_ba9b0107-dcee-46ef-823a-a2e25a911a96.xml b/tests/functionaltests/suites/cite/expected/post_ba9b0107-dcee-46ef-823a-a2e25a911a96.xml new file mode 100644 index 000000000..98e2c78c5 --- /dev/null +++ b/tests/functionaltests/suites/cite/expected/post_ba9b0107-dcee-46ef-823a-a2e25a911a96.xml @@ -0,0 +1,36 @@ + + + + + + + urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f + Lorem ipsum + http://purl.org/dc/dcmitype/Image + Tourism--Greece + image/svg+xml + Quisque lacus diam, placerat mollis, pharetra in, commodo sed, augue. Duis iaculis arcu vel arcu. + + + urn:uuid:66ae76b7-54ba-489b-a582-0f0633d96493 + Maecenas enim + http://purl.org/dc/dcmitype/Text + Marine sediments + application/xhtml+xml + Pellentesque tempus magna non sapien fringilla blandit. + + + urn:uuid:829babb0-b2f1-49e1-8cd5-7b489fe71a1e + Vestibulum massa purus + http://purl.org/dc/dcmitype/Image + image/jp2 + urn:uuid:9a669547-b69b-469f-a11f-2d875366bbdc + + + urn:uuid:a06af396-3105-442d-8b40-22b57a90d2f2 + Lorem ipsum dolor sit amet + http://purl.org/dc/dcmitype/Image + image/jpeg + + + diff --git a/tests/functionaltests/suites/cite/expected/post_bb66ebc5-7121-48b5-9f53-b56537d9561b.xml b/tests/functionaltests/suites/cite/expected/post_bb66ebc5-7121-48b5-9f53-b56537d9561b.xml new file mode 100644 index 000000000..0a392cbdd --- /dev/null +++ b/tests/functionaltests/suites/cite/expected/post_bb66ebc5-7121-48b5-9f53-b56537d9561b.xml @@ -0,0 +1,19 @@ + + + + + + + urn:uuid:88247b56-4cbc-4df9-9860-db3f8042e357 + http://purl.org/dc/dcmitype/Dataset + + + urn:uuid:94bc9c83-97f6-4b40-9eb8-a8e8787a5c63 + http://purl.org/dc/dcmitype/Dataset + + 47.59 -4.1 + 51.22 0.89 + + + + diff --git a/tests/functionaltests/suites/cite/expected/post_c02d1c85-df9f-45ee-bea7-345c35e02a98.xml b/tests/functionaltests/suites/cite/expected/post_c02d1c85-df9f-45ee-bea7-345c35e02a98.xml new file mode 100644 index 000000000..26bfbf2b7 --- /dev/null +++ b/tests/functionaltests/suites/cite/expected/post_c02d1c85-df9f-45ee-bea7-345c35e02a98.xml @@ -0,0 +1,7 @@ + + + + + Invalid Constraint: Invalid Filter request: 'NoneType' object has no attribute 'text' + + diff --git a/tests/functionaltests/suites/cite/expected/post_c311a342-72e3-4983-be39-868e6ed9740f.xml b/tests/functionaltests/suites/cite/expected/post_c311a342-72e3-4983-be39-868e6ed9740f.xml new file mode 100644 index 000000000..76101a6bb --- /dev/null +++ b/tests/functionaltests/suites/cite/expected/post_c311a342-72e3-4983-be39-868e6ed9740f.xml @@ -0,0 +1,115 @@ + + + + + + + + http://schemas.opengis.net/csw/2.0.2/record.xsd + + + This schema defines the basic record types that must be supported + by all CSW implementations. These correspond to full, summary, and + brief views based on DCMI metadata terms. + + CSW is an OGC Standard. + Copyright (c) 2004,2010 Open Geospatial Consortium, Inc. All Rights Reserved. + To obtain additional rights of use, visit http://www.opengeospatial.org/legal/ . + + + + + + + + + + + + + + + This type encapsulates all of the standard DCMI metadata terms, + including the Dublin Core refinements; these terms may be mapped + to the profile-specific information model. + + + + + + + + + + + + + + + + This type defines a brief representation of the common record + format. It extends AbstractRecordType to include only the + dc:identifier and dc:type properties. + + + + + + + + + + + + + + + + + + + This type defines a summary representation of the common record + format. It extends AbstractRecordType to include the core + properties. + + + + + + + + + + + + + + + + + + + + + + + + + This type extends DCMIRecordType to add ows:BoundingBox; + it may be used to specify a spatial envelope for the + catalogued resource. + + + + + + + + + + + + + + + diff --git a/tests/functionaltests/suites/cite/expected/post_c38916c2-4bc6-446d-b7aa-ab006d6ba31c.xml b/tests/functionaltests/suites/cite/expected/post_c38916c2-4bc6-446d-b7aa-ab006d6ba31c.xml new file mode 100644 index 000000000..d9c18a038 --- /dev/null +++ b/tests/functionaltests/suites/cite/expected/post_c38916c2-4bc6-446d-b7aa-ab006d6ba31c.xml @@ -0,0 +1,27 @@ + + + + + + + urn:uuid:784e2afd-a9fd-44a6-9a92-a3848371c8ec + 2006-05-12 + + + urn:uuid:94bc9c83-97f6-4b40-9eb8-a8e8787a5c63 + 2006-03-26 + + 47.59 -4.1 + 51.22 0.89 + + + + urn:uuid:9a669547-b69b-469f-a11f-2d875366bbdc + 2005-10-24 + + 44.79 -6.17 + 51.13 -2.23 + + + + diff --git a/tests/functionaltests/suites/cite/expected/post_c8588f47-8e65-45f5-ad34-ff4524cad84d.xml b/tests/functionaltests/suites/cite/expected/post_c8588f47-8e65-45f5-ad34-ff4524cad84d.xml new file mode 100644 index 000000000..12342af16 --- /dev/null +++ b/tests/functionaltests/suites/cite/expected/post_c8588f47-8e65-45f5-ad34-ff4524cad84d.xml @@ -0,0 +1,7 @@ + + + + + Invalid Constraint: Invalid Filter request: Invalid ogc:PropertyName in spatial filter: dct:spatial + + diff --git a/tests/functionaltests/suites/cite/expected/post_da228d4c-e1be-43d7-9ccb-c3f27ee32541.xml b/tests/functionaltests/suites/cite/expected/post_da228d4c-e1be-43d7-9ccb-c3f27ee32541.xml new file mode 100644 index 000000000..2b0eebed4 --- /dev/null +++ b/tests/functionaltests/suites/cite/expected/post_da228d4c-e1be-43d7-9ccb-c3f27ee32541.xml @@ -0,0 +1,7 @@ + + + + + Invalid Constraint: Invalid Filter request: Invalid PropertyName: /dc:title. '/dc:title' + + diff --git a/tests/functionaltests/suites/cite/expected/post_dc92c2c4-87d8-4a13-964e-ff9b0e0c27b3.xml b/tests/functionaltests/suites/cite/expected/post_dc92c2c4-87d8-4a13-964e-ff9b0e0c27b3.xml new file mode 100644 index 000000000..371b26a4c --- /dev/null +++ b/tests/functionaltests/suites/cite/expected/post_dc92c2c4-87d8-4a13-964e-ff9b0e0c27b3.xml @@ -0,0 +1,22 @@ + + + + + + + urn:uuid:e9330592-0932-474b-be34-c3a3bb67c7db + http://purl.org/dc/dcmitype/Text + 2003-05-09 + + + urn:uuid:9a669547-b69b-469f-a11f-2d875366bbdc + http://purl.org/dc/dcmitype/Dataset + 2005-10-24 + + + urn:uuid:94bc9c83-97f6-4b40-9eb8-a8e8787a5c63 + http://purl.org/dc/dcmitype/Dataset + 2006-03-26 + + + diff --git a/tests/functionaltests/suites/cite/expected/post_dcb13791-379e-4739-bcd4-dbaa69f0efdb.xml b/tests/functionaltests/suites/cite/expected/post_dcb13791-379e-4739-bcd4-dbaa69f0efdb.xml new file mode 100644 index 000000000..fb722adad --- /dev/null +++ b/tests/functionaltests/suites/cite/expected/post_dcb13791-379e-4739-bcd4-dbaa69f0efdb.xml @@ -0,0 +1,69 @@ + + + + + + + urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f + Lorem ipsum + http://purl.org/dc/dcmitype/Image + + + urn:uuid:1ef30a8b-876d-4828-9246-c37ab4510bbd + + http://purl.org/dc/dcmitype/Service + + 60.04 13.75 + 68.41 17.92 + + + + urn:uuid:66ae76b7-54ba-489b-a582-0f0633d96493 + Maecenas enim + http://purl.org/dc/dcmitype/Text + + + urn:uuid:6a3de50b-fa66-4b58-a0e6-ca146fdd18d4 + Ut facilisis justo ut lacus + http://purl.org/dc/dcmitype/Service + + + urn:uuid:784e2afd-a9fd-44a6-9a92-a3848371c8ec + Aliquam fermentum purus quis arcu + http://purl.org/dc/dcmitype/Text + + + urn:uuid:829babb0-b2f1-49e1-8cd5-7b489fe71a1e + Vestibulum massa purus + http://purl.org/dc/dcmitype/Image + + + urn:uuid:88247b56-4cbc-4df9-9860-db3f8042e357 + + http://purl.org/dc/dcmitype/Dataset + + + urn:uuid:94bc9c83-97f6-4b40-9eb8-a8e8787a5c63 + Mauris sed neque + http://purl.org/dc/dcmitype/Dataset + + 47.59 -4.1 + 51.22 0.89 + + + + urn:uuid:9a669547-b69b-469f-a11f-2d875366bbdc + Ñunç elementum + http://purl.org/dc/dcmitype/Dataset + + 44.79 -6.17 + 51.13 -2.23 + + + + urn:uuid:a06af396-3105-442d-8b40-22b57a90d2f2 + Lorem ipsum dolor sit amet + http://purl.org/dc/dcmitype/Image + + + diff --git a/tests/functionaltests/suites/cite/expected/post_e308f030-c097-4036-a838-44bad74c9ef7.xml b/tests/functionaltests/suites/cite/expected/post_e308f030-c097-4036-a838-44bad74c9ef7.xml new file mode 100644 index 000000000..fb722adad --- /dev/null +++ b/tests/functionaltests/suites/cite/expected/post_e308f030-c097-4036-a838-44bad74c9ef7.xml @@ -0,0 +1,69 @@ + + + + + + + urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f + Lorem ipsum + http://purl.org/dc/dcmitype/Image + + + urn:uuid:1ef30a8b-876d-4828-9246-c37ab4510bbd + + http://purl.org/dc/dcmitype/Service + + 60.04 13.75 + 68.41 17.92 + + + + urn:uuid:66ae76b7-54ba-489b-a582-0f0633d96493 + Maecenas enim + http://purl.org/dc/dcmitype/Text + + + urn:uuid:6a3de50b-fa66-4b58-a0e6-ca146fdd18d4 + Ut facilisis justo ut lacus + http://purl.org/dc/dcmitype/Service + + + urn:uuid:784e2afd-a9fd-44a6-9a92-a3848371c8ec + Aliquam fermentum purus quis arcu + http://purl.org/dc/dcmitype/Text + + + urn:uuid:829babb0-b2f1-49e1-8cd5-7b489fe71a1e + Vestibulum massa purus + http://purl.org/dc/dcmitype/Image + + + urn:uuid:88247b56-4cbc-4df9-9860-db3f8042e357 + + http://purl.org/dc/dcmitype/Dataset + + + urn:uuid:94bc9c83-97f6-4b40-9eb8-a8e8787a5c63 + Mauris sed neque + http://purl.org/dc/dcmitype/Dataset + + 47.59 -4.1 + 51.22 0.89 + + + + urn:uuid:9a669547-b69b-469f-a11f-2d875366bbdc + Ñunç elementum + http://purl.org/dc/dcmitype/Dataset + + 44.79 -6.17 + 51.13 -2.23 + + + + urn:uuid:a06af396-3105-442d-8b40-22b57a90d2f2 + Lorem ipsum dolor sit amet + http://purl.org/dc/dcmitype/Image + + + diff --git a/tests/functionaltests/suites/cite/expected/post_e6e9efb2-e2b7-4b0a-a3a2-7deea3f9b8e2.xml b/tests/functionaltests/suites/cite/expected/post_e6e9efb2-e2b7-4b0a-a3a2-7deea3f9b8e2.xml new file mode 100644 index 000000000..fb722adad --- /dev/null +++ b/tests/functionaltests/suites/cite/expected/post_e6e9efb2-e2b7-4b0a-a3a2-7deea3f9b8e2.xml @@ -0,0 +1,69 @@ + + + + + + + urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f + Lorem ipsum + http://purl.org/dc/dcmitype/Image + + + urn:uuid:1ef30a8b-876d-4828-9246-c37ab4510bbd + + http://purl.org/dc/dcmitype/Service + + 60.04 13.75 + 68.41 17.92 + + + + urn:uuid:66ae76b7-54ba-489b-a582-0f0633d96493 + Maecenas enim + http://purl.org/dc/dcmitype/Text + + + urn:uuid:6a3de50b-fa66-4b58-a0e6-ca146fdd18d4 + Ut facilisis justo ut lacus + http://purl.org/dc/dcmitype/Service + + + urn:uuid:784e2afd-a9fd-44a6-9a92-a3848371c8ec + Aliquam fermentum purus quis arcu + http://purl.org/dc/dcmitype/Text + + + urn:uuid:829babb0-b2f1-49e1-8cd5-7b489fe71a1e + Vestibulum massa purus + http://purl.org/dc/dcmitype/Image + + + urn:uuid:88247b56-4cbc-4df9-9860-db3f8042e357 + + http://purl.org/dc/dcmitype/Dataset + + + urn:uuid:94bc9c83-97f6-4b40-9eb8-a8e8787a5c63 + Mauris sed neque + http://purl.org/dc/dcmitype/Dataset + + 47.59 -4.1 + 51.22 0.89 + + + + urn:uuid:9a669547-b69b-469f-a11f-2d875366bbdc + Ñunç elementum + http://purl.org/dc/dcmitype/Dataset + + 44.79 -6.17 + 51.13 -2.23 + + + + urn:uuid:a06af396-3105-442d-8b40-22b57a90d2f2 + Lorem ipsum dolor sit amet + http://purl.org/dc/dcmitype/Image + + + diff --git a/tests/functionaltests/suites/cite/expected/post_f7976c55-a156-4421-8199-bc0487da4b0f.xml b/tests/functionaltests/suites/cite/expected/post_f7976c55-a156-4421-8199-bc0487da4b0f.xml new file mode 100644 index 000000000..76101a6bb --- /dev/null +++ b/tests/functionaltests/suites/cite/expected/post_f7976c55-a156-4421-8199-bc0487da4b0f.xml @@ -0,0 +1,115 @@ + + + + + + + + http://schemas.opengis.net/csw/2.0.2/record.xsd + + + This schema defines the basic record types that must be supported + by all CSW implementations. These correspond to full, summary, and + brief views based on DCMI metadata terms. + + CSW is an OGC Standard. + Copyright (c) 2004,2010 Open Geospatial Consortium, Inc. All Rights Reserved. + To obtain additional rights of use, visit http://www.opengeospatial.org/legal/ . + + + + + + + + + + + + + + + This type encapsulates all of the standard DCMI metadata terms, + including the Dublin Core refinements; these terms may be mapped + to the profile-specific information model. + + + + + + + + + + + + + + + + This type defines a brief representation of the common record + format. It extends AbstractRecordType to include only the + dc:identifier and dc:type properties. + + + + + + + + + + + + + + + + + + + This type defines a summary representation of the common record + format. It extends AbstractRecordType to include the core + properties. + + + + + + + + + + + + + + + + + + + + + + + + + This type extends DCMIRecordType to add ows:BoundingBox; + it may be used to specify a spatial envelope for the + catalogued resource. + + + + + + + + + + + + + + + diff --git a/tests/functionaltests/suites/cite/expected/post_f7d79701-f10b-4087-a33c-f62df0a04fd1.xml b/tests/functionaltests/suites/cite/expected/post_f7d79701-f10b-4087-a33c-f62df0a04fd1.xml new file mode 100644 index 000000000..fb722adad --- /dev/null +++ b/tests/functionaltests/suites/cite/expected/post_f7d79701-f10b-4087-a33c-f62df0a04fd1.xml @@ -0,0 +1,69 @@ + + + + + + + urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f + Lorem ipsum + http://purl.org/dc/dcmitype/Image + + + urn:uuid:1ef30a8b-876d-4828-9246-c37ab4510bbd + + http://purl.org/dc/dcmitype/Service + + 60.04 13.75 + 68.41 17.92 + + + + urn:uuid:66ae76b7-54ba-489b-a582-0f0633d96493 + Maecenas enim + http://purl.org/dc/dcmitype/Text + + + urn:uuid:6a3de50b-fa66-4b58-a0e6-ca146fdd18d4 + Ut facilisis justo ut lacus + http://purl.org/dc/dcmitype/Service + + + urn:uuid:784e2afd-a9fd-44a6-9a92-a3848371c8ec + Aliquam fermentum purus quis arcu + http://purl.org/dc/dcmitype/Text + + + urn:uuid:829babb0-b2f1-49e1-8cd5-7b489fe71a1e + Vestibulum massa purus + http://purl.org/dc/dcmitype/Image + + + urn:uuid:88247b56-4cbc-4df9-9860-db3f8042e357 + + http://purl.org/dc/dcmitype/Dataset + + + urn:uuid:94bc9c83-97f6-4b40-9eb8-a8e8787a5c63 + Mauris sed neque + http://purl.org/dc/dcmitype/Dataset + + 47.59 -4.1 + 51.22 0.89 + + + + urn:uuid:9a669547-b69b-469f-a11f-2d875366bbdc + Ñunç elementum + http://purl.org/dc/dcmitype/Dataset + + 44.79 -6.17 + 51.13 -2.23 + + + + urn:uuid:a06af396-3105-442d-8b40-22b57a90d2f2 + Lorem ipsum dolor sit amet + http://purl.org/dc/dcmitype/Image + + + diff --git a/tests/functionaltests/suites/cite/expected/post_fc1bc094-88f1-4851-bc2b-dfc56be9f3c7.xml b/tests/functionaltests/suites/cite/expected/post_fc1bc094-88f1-4851-bc2b-dfc56be9f3c7.xml new file mode 100644 index 000000000..b3eb8b2c7 --- /dev/null +++ b/tests/functionaltests/suites/cite/expected/post_fc1bc094-88f1-4851-bc2b-dfc56be9f3c7.xml @@ -0,0 +1,12 @@ + + + + + + + urn:uuid:e9330592-0932-474b-be34-c3a3bb67c7db + Fuscé vitae ligulä + http://purl.org/dc/dcmitype/Text + + + diff --git a/tests/functionaltests/suites/cite/expected/post_fe20960f-a26c-4f13-852d-470a0d3233f9.xml b/tests/functionaltests/suites/cite/expected/post_fe20960f-a26c-4f13-852d-470a0d3233f9.xml new file mode 100644 index 000000000..5c7ef391f --- /dev/null +++ b/tests/functionaltests/suites/cite/expected/post_fe20960f-a26c-4f13-852d-470a0d3233f9.xml @@ -0,0 +1,12 @@ + + + + + + + urn:uuid:ab42a8c4-95e8-4630-bf79-33e59241605a + + http://purl.org/dc/dcmitype/Service + + + diff --git a/tests/functionaltests/suites/cite/get/requests.txt b/tests/functionaltests/suites/cite/get/requests.txt new file mode 100644 index 000000000..271982886 --- /dev/null +++ b/tests/functionaltests/suites/cite/get/requests.txt @@ -0,0 +1,22 @@ +27e17158-c57a-4493-92ac-dba8934cf462,service=CSW&version=2.0.2&request=GetCapabilities +27f69b66-5f05-4311-a89c-73ca55c2686b,Service=CSW&Version=2.0.2&Request=GetRecordById&ElementSetName=brief&ID=urn%3Auuid%3A19887a8a-f6b0-4a63-ae56-7fba0e17801f +2ab7d1fa-885b-459f-80e4-b6282eab4f8c,service=CSW&request=GetCapabilities&acceptversions=2.0.2&date=2006-10-20 +37aa90e2-6ff0-420c-af15-8b9463099a73,service=CSW&version=2.0.2&request=GetRecordById&id=urn%3Auuid%3A9a669547-b69b-469f-a11f-2d875366bbdc +3a8a3c47-455f-4f49-9078-03119f3e70b3,service=CSW&request=GetCapabilities&acceptformats=message/example +4515831f-834a-4699-95f6-ab0c2cbfcfd0,service=CSW&version=2.0.2&request=GetRecordById +477b23a3-baa9-47c8-9541-5fe27735ed49,service=CSW&request=GetCapabilities§ions= +48f26761-3a9d-48db-bee1-da089f5fb857,sErViCe=CSW&REQUEST=GetCapabilities&version=2.0.2 +4e38092f-1586-44b8-988e-0acfa5855916,Service=CSW&Version=2.0.2&Request=GetRecordById&OutputFormat=application/bogus_xml&id=urn:uuid:a06af396-3105-442d-8b40-22b57a90d2f2,urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f,urn:uuid:ab42a8c4-95e8-4630-bf79-33e59241605a +55c38f00-2553-42c1-99ab-33edbb561ad7,service=CSW&request=GetCapabilities§ions=OperationsMetadata,ServiceIdentification +5ab5db18-c87a-4fbf-a8d8-b7289b09ac81,service=FOO&request=GetCapabilities +6a4f57ca-a1bd-4802-89c2-44860dbdb0f0,service=CSW&version=2.0.2&request=GetRecordById&id=urn:uuid:ce8627a0-685c-11db-bd13-0800200c9a66,urn:uuid:6a3de50b-fa66-4b58-a0e6-ca146fdd18d4 +6c375703-9c00-4aef-bec7-d2e964f849eb,Service=CSW&Version=2.0.2&Request=GetRecordById&OutputSchema=http://www.w3.org/2005/Atom&Id=urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f +80f31def-4185-48b9-983a-960566918eae,service=CSW&request=GetCapabilities +8e2232ed-05d9-44ae-8b04-0911cbe6a507,SERVICE=CSW&REQUEST=GetCapabilities&ACCEPTVERSIONS=2006.10.29 +9697f0aa-3b6a-4125-83a5-61e8826127c4,service=CSW&request=GetCapabilities +9bfd17fa-15dc-4a10-8fa7-b3cff7013dd7,Service=CSW&Version=2.0.2&Request=GetRecordById&ElementSetName=full&ID=urn%3Auuid%3Ae9330592-0932-474b-be34-c3a3bb67c7db +b81c3595-06d6-4693-82ea-1ff8650755ac,service=CSW&version=2.0.2&request=GetRecordById&id=urn:uuid:ce8627a0-685c-11db-bd13-0800200c9a66 +ba5fc729-3b71-47a0-b7d0-42ec565cd185,SERVICE=CSW&REQUEST=GetCapabilities&ACCEPTVERSIONS=2.0.2,2.0.0 +c4ea754f-c158-4d8d-8253-dc8f86021b52,request=GetCapabilities +f4692ec5-9547-4a05-88ab-e6154af2640a,service=CSW&version=2.0.2&request=GetCapabilities +f997f25e-c865-4d53-a362-0ed1846337f2,service=CSW&version=2.0.2&request=GetRecordById&id=urn:uuid:94bc9c83-97f6-4b40-9eb8-a8e8787a5c63 diff --git a/tests/functionaltests/suites/cite/post/0c976d98-c896-4b10-b1fe-a22ef50434e7.xml b/tests/functionaltests/suites/cite/post/0c976d98-c896-4b10-b1fe-a22ef50434e7.xml new file mode 100644 index 000000000..c73f51141 --- /dev/null +++ b/tests/functionaltests/suites/cite/post/0c976d98-c896-4b10-b1fe-a22ef50434e7.xml @@ -0,0 +1,20 @@ + + + + dc:identifier + ows:BoundingBox + + + + + ows:BoundingBox + + 60.0 12.0 + 70.0 20.0 + + + + + + + diff --git a/tests/functionaltests/suites/cite/post/19d2a6ed-be28-4866-ae15-e3bb634486cb.xml b/tests/functionaltests/suites/cite/post/19d2a6ed-be28-4866-ae15-e3bb634486cb.xml new file mode 100644 index 000000000..6823bcfce --- /dev/null +++ b/tests/functionaltests/suites/cite/post/19d2a6ed-be28-4866-ae15-e3bb634486cb.xml @@ -0,0 +1,20 @@ + + + + brief + + + + dc:title + Fuscé vitae ligulä + + + + + + dc:format + DESC + + + + diff --git a/tests/functionaltests/suites/cite/post/1ab55aa3-6685-4595-8ecd-45987a7b8b59.xml b/tests/functionaltests/suites/cite/post/1ab55aa3-6685-4595-8ecd-45987a7b8b59.xml new file mode 100644 index 000000000..cd46b042d --- /dev/null +++ b/tests/functionaltests/suites/cite/post/1ab55aa3-6685-4595-8ecd-45987a7b8b59.xml @@ -0,0 +1,14 @@ + + + + full + + + + csw:AnyText + *lorem* + + + + + diff --git a/tests/functionaltests/suites/cite/post/1c958b7a-ca09-4c38-98bd-ef1d1d28cc14.xml b/tests/functionaltests/suites/cite/post/1c958b7a-ca09-4c38-98bd-ef1d1d28cc14.xml new file mode 100644 index 000000000..dabb279ee --- /dev/null +++ b/tests/functionaltests/suites/cite/post/1c958b7a-ca09-4c38-98bd-ef1d1d28cc14.xml @@ -0,0 +1,6 @@ + + + + summary + + diff --git a/tests/functionaltests/suites/cite/post/1c97fc1a-61cd-4c1d-8054-933e17a6c5ee.xml b/tests/functionaltests/suites/cite/post/1c97fc1a-61cd-4c1d-8054-933e17a6c5ee.xml new file mode 100644 index 000000000..d2e53427e --- /dev/null +++ b/tests/functionaltests/suites/cite/post/1c97fc1a-61cd-4c1d-8054-933e17a6c5ee.xml @@ -0,0 +1,14 @@ + + + + brief + + + + /dc:title + *lorem* + + + + + diff --git a/tests/functionaltests/suites/cite/post/2102a460-5d62-465f-9668-d70b3faafbfa.xml b/tests/functionaltests/suites/cite/post/2102a460-5d62-465f-9668-d70b3faafbfa.xml new file mode 100644 index 000000000..da787a01f --- /dev/null +++ b/tests/functionaltests/suites/cite/post/2102a460-5d62-465f-9668-d70b3faafbfa.xml @@ -0,0 +1,14 @@ + + + + brief + + + + dc:subject + pHYSIOGRAPHy + + + + + diff --git a/tests/functionaltests/suites/cite/post/225f455a-0035-486b-a94e-fee7ae881b2b.xml b/tests/functionaltests/suites/cite/post/225f455a-0035-486b-a94e-fee7ae881b2b.xml new file mode 100644 index 000000000..d83d4883e --- /dev/null +++ b/tests/functionaltests/suites/cite/post/225f455a-0035-486b-a94e-fee7ae881b2b.xml @@ -0,0 +1,16 @@ + + + + dc:identifier + dc:type + dc:date + + + + dc:date + 2006-03-26 + + + + + diff --git a/tests/functionaltests/suites/cite/post/2d53ffea-60e4-4652-abf5-36eb23042fd5.xml b/tests/functionaltests/suites/cite/post/2d53ffea-60e4-4652-abf5-36eb23042fd5.xml new file mode 100644 index 000000000..19bb2e0a6 --- /dev/null +++ b/tests/functionaltests/suites/cite/post/2d53ffea-60e4-4652-abf5-36eb23042fd5.xml @@ -0,0 +1,6 @@ + + + + brief + + diff --git a/tests/functionaltests/suites/cite/post/34a019a9-1581-42cb-9827-fbfdda2773b7.xml b/tests/functionaltests/suites/cite/post/34a019a9-1581-42cb-9827-fbfdda2773b7.xml new file mode 100644 index 000000000..4451d7c05 --- /dev/null +++ b/tests/functionaltests/suites/cite/post/34a019a9-1581-42cb-9827-fbfdda2773b7.xml @@ -0,0 +1,6 @@ + + + + brief + + diff --git a/tests/functionaltests/suites/cite/post/3e76fd38-e035-41c9-83dc-61356f680c97.xml b/tests/functionaltests/suites/cite/post/3e76fd38-e035-41c9-83dc-61356f680c97.xml new file mode 100644 index 000000000..cfa0b1c60 --- /dev/null +++ b/tests/functionaltests/suites/cite/post/3e76fd38-e035-41c9-83dc-61356f680c97.xml @@ -0,0 +1,4 @@ + + + csw:Record + diff --git a/tests/functionaltests/suites/cite/post/418a6fb0-a89c-4a94-afc9-3f8168eb2980.xml b/tests/functionaltests/suites/cite/post/418a6fb0-a89c-4a94-afc9-3f8168eb2980.xml new file mode 100644 index 000000000..84a7fc7de --- /dev/null +++ b/tests/functionaltests/suites/cite/post/418a6fb0-a89c-4a94-afc9-3f8168eb2980.xml @@ -0,0 +1,25 @@ + + + + dc:identifier + dc:date + ows:BoundingBox + + + + + ows:BoundingBox + + 47.0 -4.5 + 52.0 1.0 + + + + dc:date + 2006-01-01 + + + + + + diff --git a/tests/functionaltests/suites/cite/post/420b745e-0c4b-404e-9f2d-61fa580ff05a.xml b/tests/functionaltests/suites/cite/post/420b745e-0c4b-404e-9f2d-61fa580ff05a.xml new file mode 100644 index 000000000..f31dca0ba --- /dev/null +++ b/tests/functionaltests/suites/cite/post/420b745e-0c4b-404e-9f2d-61fa580ff05a.xml @@ -0,0 +1,16 @@ + + + + dc:identifier + dc:type + dc:date + + + + dc:date + 2004-01-01 + + + + + diff --git a/tests/functionaltests/suites/cite/post/4735d649-a2b1-42fd-a101-14e1d7e4607f.xml b/tests/functionaltests/suites/cite/post/4735d649-a2b1-42fd-a101-14e1d7e4607f.xml new file mode 100644 index 000000000..44672f629 --- /dev/null +++ b/tests/functionaltests/suites/cite/post/4735d649-a2b1-42fd-a101-14e1d7e4607f.xml @@ -0,0 +1,6 @@ + + + + summary + + diff --git a/tests/functionaltests/suites/cite/post/5c5861bc-f742-40a5-9998-5342615d674b.xml b/tests/functionaltests/suites/cite/post/5c5861bc-f742-40a5-9998-5342615d674b.xml new file mode 100644 index 000000000..b127a7dcf --- /dev/null +++ b/tests/functionaltests/suites/cite/post/5c5861bc-f742-40a5-9998-5342615d674b.xml @@ -0,0 +1,14 @@ + + + + full + + + + csw:AnyText + *lorem* + + + + + diff --git a/tests/functionaltests/suites/cite/post/6e736fd0-c266-4852-9eb3-0656f5d0f5c4.xml b/tests/functionaltests/suites/cite/post/6e736fd0-c266-4852-9eb3-0656f5d0f5c4.xml new file mode 100644 index 000000000..28e25bfaf --- /dev/null +++ b/tests/functionaltests/suites/cite/post/6e736fd0-c266-4852-9eb3-0656f5d0f5c4.xml @@ -0,0 +1,6 @@ + + + + summary + + diff --git a/tests/functionaltests/suites/cite/post/73f1551c-e269-4ef9-9dae-e535b5eebfc7.xml b/tests/functionaltests/suites/cite/post/73f1551c-e269-4ef9-9dae-e535b5eebfc7.xml new file mode 100644 index 000000000..160cf6d18 --- /dev/null +++ b/tests/functionaltests/suites/cite/post/73f1551c-e269-4ef9-9dae-e535b5eebfc7.xml @@ -0,0 +1,14 @@ + + + + full + + + + dc:date + 200?-10-* + + + + + diff --git a/tests/functionaltests/suites/cite/post/78297c88-4850-4927-adc6-511cd9a3d539.xml b/tests/functionaltests/suites/cite/post/78297c88-4850-4927-adc6-511cd9a3d539.xml new file mode 100644 index 000000000..5b0e1b92c --- /dev/null +++ b/tests/functionaltests/suites/cite/post/78297c88-4850-4927-adc6-511cd9a3d539.xml @@ -0,0 +1,2 @@ + + \ No newline at end of file diff --git a/tests/functionaltests/suites/cite/post/7c89cdf5-0def-4cfb-8c55-2b8ffea5d92f.xml b/tests/functionaltests/suites/cite/post/7c89cdf5-0def-4cfb-8c55-2b8ffea5d92f.xml new file mode 100644 index 000000000..0ea98491e --- /dev/null +++ b/tests/functionaltests/suites/cite/post/7c89cdf5-0def-4cfb-8c55-2b8ffea5d92f.xml @@ -0,0 +1,6 @@ + + + + summary + + diff --git a/tests/functionaltests/suites/cite/post/7e2cd105-daec-4d25-bc8e-d49d21364912.xml b/tests/functionaltests/suites/cite/post/7e2cd105-daec-4d25-bc8e-d49d21364912.xml new file mode 100644 index 000000000..81865e378 --- /dev/null +++ b/tests/functionaltests/suites/cite/post/7e2cd105-daec-4d25-bc8e-d49d21364912.xml @@ -0,0 +1,4 @@ + + + csw:DummyRecord + diff --git a/tests/functionaltests/suites/cite/post/87f2f670-9cd6-4907-b82c-1b46a7dd2a78.xml b/tests/functionaltests/suites/cite/post/87f2f670-9cd6-4907-b82c-1b46a7dd2a78.xml new file mode 100644 index 000000000..4c03f7935 --- /dev/null +++ b/tests/functionaltests/suites/cite/post/87f2f670-9cd6-4907-b82c-1b46a7dd2a78.xml @@ -0,0 +1,8 @@ + + + + dc:identifier + dc:type + dc:date + + diff --git a/tests/functionaltests/suites/cite/post/88b4e1ba-3bd4-4cbe-81e5-e004056d6ca3.xml b/tests/functionaltests/suites/cite/post/88b4e1ba-3bd4-4cbe-81e5-e004056d6ca3.xml new file mode 100644 index 000000000..b683c9954 --- /dev/null +++ b/tests/functionaltests/suites/cite/post/88b4e1ba-3bd4-4cbe-81e5-e004056d6ca3.xml @@ -0,0 +1,4 @@ + + + csw:Record + diff --git a/tests/functionaltests/suites/cite/post/898cd63b-2585-4ec0-8720-d554bd324174.xml b/tests/functionaltests/suites/cite/post/898cd63b-2585-4ec0-8720-d554bd324174.xml new file mode 100644 index 000000000..6c0e09407 --- /dev/null +++ b/tests/functionaltests/suites/cite/post/898cd63b-2585-4ec0-8720-d554bd324174.xml @@ -0,0 +1,20 @@ + + + + summary + + + + + dc:format + image/* + + + dc:relation + urn:uuid:9a669547-b69b-469f-a11f-2d875366bbdc + + + + + + diff --git a/tests/functionaltests/suites/cite/post/8fb13dc3-5818-45e2-9e29-46abc16e7d38.xml b/tests/functionaltests/suites/cite/post/8fb13dc3-5818-45e2-9e29-46abc16e7d38.xml new file mode 100644 index 000000000..9a4bd54d6 --- /dev/null +++ b/tests/functionaltests/suites/cite/post/8fb13dc3-5818-45e2-9e29-46abc16e7d38.xml @@ -0,0 +1,20 @@ + + + + dc:identifier + ows:BoundingBox + + + + + ows:BoundingBox + + 60.0 12.0 + 70.0 20.0 + + + + + + + diff --git a/tests/functionaltests/suites/cite/post/928c1896-52d4-4ac7-9832-f98e3eb65f02.xml b/tests/functionaltests/suites/cite/post/928c1896-52d4-4ac7-9832-f98e3eb65f02.xml new file mode 100644 index 000000000..d1d69e9cd --- /dev/null +++ b/tests/functionaltests/suites/cite/post/928c1896-52d4-4ac7-9832-f98e3eb65f02.xml @@ -0,0 +1,16 @@ + + + + dc:identifier + dc:type + dc:date + + + + dc:date + 2005-10-24 + + + + + diff --git a/tests/functionaltests/suites/cite/post/93bdbb9d-2734-4f01-92fb-48634cca41de.xml b/tests/functionaltests/suites/cite/post/93bdbb9d-2734-4f01-92fb-48634cca41de.xml new file mode 100644 index 000000000..f2389b702 --- /dev/null +++ b/tests/functionaltests/suites/cite/post/93bdbb9d-2734-4f01-92fb-48634cca41de.xml @@ -0,0 +1,18 @@ + + + + dc:identifier + ows:BoundingBox + + + + /ows:BoundingBox + + 47.0 -4.5 + 52.0 1.0 + + + + + + diff --git a/tests/functionaltests/suites/cite/post/948b39d5-bb4f-45b8-a8f2-4ff9501aaedd.xml b/tests/functionaltests/suites/cite/post/948b39d5-bb4f-45b8-a8f2-4ff9501aaedd.xml new file mode 100644 index 000000000..14c9935af --- /dev/null +++ b/tests/functionaltests/suites/cite/post/948b39d5-bb4f-45b8-a8f2-4ff9501aaedd.xml @@ -0,0 +1,14 @@ + + + + dc:identifier + dc:type + dc:date + + + dc:date + DESC + + + + diff --git a/tests/functionaltests/suites/cite/post/9fd64fcc-f69c-4626-b72e-5c7776a29aa9.xml b/tests/functionaltests/suites/cite/post/9fd64fcc-f69c-4626-b72e-5c7776a29aa9.xml new file mode 100644 index 000000000..c90f2b69e --- /dev/null +++ b/tests/functionaltests/suites/cite/post/9fd64fcc-f69c-4626-b72e-5c7776a29aa9.xml @@ -0,0 +1,4 @@ + + + Record + diff --git a/tests/functionaltests/suites/cite/post/a06d04ab-e0d0-4a86-bfe8-71460f41fe37.xml b/tests/functionaltests/suites/cite/post/a06d04ab-e0d0-4a86-bfe8-71460f41fe37.xml new file mode 100644 index 000000000..19bb2e0a6 --- /dev/null +++ b/tests/functionaltests/suites/cite/post/a06d04ab-e0d0-4a86-bfe8-71460f41fe37.xml @@ -0,0 +1,6 @@ + + + + brief + + diff --git a/tests/functionaltests/suites/cite/post/ad61686c-d304-42d1-b845-8c1f3070c83e.xml b/tests/functionaltests/suites/cite/post/ad61686c-d304-42d1-b845-8c1f3070c83e.xml new file mode 100644 index 000000000..843265b2d --- /dev/null +++ b/tests/functionaltests/suites/cite/post/ad61686c-d304-42d1-b845-8c1f3070c83e.xml @@ -0,0 +1,14 @@ + + + + brief + + + + dc:title + Maecenas enim + + + + + diff --git a/tests/functionaltests/suites/cite/post/af39c020-7b1d-429c-b474-f45c3164cb79.xml b/tests/functionaltests/suites/cite/post/af39c020-7b1d-429c-b474-f45c3164cb79.xml new file mode 100644 index 000000000..50566b7fb --- /dev/null +++ b/tests/functionaltests/suites/cite/post/af39c020-7b1d-429c-b474-f45c3164cb79.xml @@ -0,0 +1,14 @@ + + + + summary + + + + dc:title + Lorem ipsum* + + + + + diff --git a/tests/functionaltests/suites/cite/post/b90e2de6-3d25-4298-a13e-dc9492a8fc73.xml b/tests/functionaltests/suites/cite/post/b90e2de6-3d25-4298-a13e-dc9492a8fc73.xml new file mode 100644 index 000000000..aa555faa6 --- /dev/null +++ b/tests/functionaltests/suites/cite/post/b90e2de6-3d25-4298-a13e-dc9492a8fc73.xml @@ -0,0 +1,16 @@ + + + + summary + + + + + dc:title + Lorem ipsum* + + + + + + diff --git a/tests/functionaltests/suites/cite/post/ba9b0107-dcee-46ef-823a-a2e25a911a96.xml b/tests/functionaltests/suites/cite/post/ba9b0107-dcee-46ef-823a-a2e25a911a96.xml new file mode 100644 index 000000000..53e552d24 --- /dev/null +++ b/tests/functionaltests/suites/cite/post/ba9b0107-dcee-46ef-823a-a2e25a911a96.xml @@ -0,0 +1,20 @@ + + + + summary + + + + + dc:format + application/*xml + + + dc:type + http://purl.org/dc/dcmitype/Image + + + + + + diff --git a/tests/functionaltests/suites/cite/post/bb66ebc5-7121-48b5-9f53-b56537d9561b.xml b/tests/functionaltests/suites/cite/post/bb66ebc5-7121-48b5-9f53-b56537d9561b.xml new file mode 100644 index 000000000..873cda46f --- /dev/null +++ b/tests/functionaltests/suites/cite/post/bb66ebc5-7121-48b5-9f53-b56537d9561b.xml @@ -0,0 +1,27 @@ + + + + dc:identifier + dc:type + ows:BoundingBox + + + + + + ows:BoundingBox + + 40.0 -9.0 + 50.0 -5.0 + + + + + dc:type + HTTP://purl.org/dc/dcmitype/dataset + + + + + + diff --git a/tests/functionaltests/suites/cite/post/c02d1c85-df9f-45ee-bea7-345c35e02a98.xml b/tests/functionaltests/suites/cite/post/c02d1c85-df9f-45ee-bea7-345c35e02a98.xml new file mode 100644 index 000000000..dde6f18da --- /dev/null +++ b/tests/functionaltests/suites/cite/post/c02d1c85-df9f-45ee-bea7-345c35e02a98.xml @@ -0,0 +1,16 @@ + + + + brief + + + + dc:title + + input.argument + + + + + + diff --git a/tests/functionaltests/suites/cite/post/c311a342-72e3-4983-be39-868e6ed9740f.xml b/tests/functionaltests/suites/cite/post/c311a342-72e3-4983-be39-868e6ed9740f.xml new file mode 100644 index 000000000..52008563a --- /dev/null +++ b/tests/functionaltests/suites/cite/post/c311a342-72e3-4983-be39-868e6ed9740f.xml @@ -0,0 +1,4 @@ + + + csw:Record + diff --git a/tests/functionaltests/suites/cite/post/c38916c2-4bc6-446d-b7aa-ab006d6ba31c.xml b/tests/functionaltests/suites/cite/post/c38916c2-4bc6-446d-b7aa-ab006d6ba31c.xml new file mode 100644 index 000000000..b58e172a0 --- /dev/null +++ b/tests/functionaltests/suites/cite/post/c38916c2-4bc6-446d-b7aa-ab006d6ba31c.xml @@ -0,0 +1,25 @@ + + + + dc:identifier + dc:date + ows:BoundingBox + + + + + ows:BoundingBox + + 47.0 -4.5 + 52.0 1.0 + + + + dc:date + 2006-01-01 + + + + + + diff --git a/tests/functionaltests/suites/cite/post/c8588f47-8e65-45f5-ad34-ff4524cad84d.xml b/tests/functionaltests/suites/cite/post/c8588f47-8e65-45f5-ad34-ff4524cad84d.xml new file mode 100644 index 000000000..0b55fed66 --- /dev/null +++ b/tests/functionaltests/suites/cite/post/c8588f47-8e65-45f5-ad34-ff4524cad84d.xml @@ -0,0 +1,17 @@ + + + + brief + + + + dct:spatial + + 47.0 -4.5 + 52.0 1.0 + + + + + + diff --git a/tests/functionaltests/suites/cite/post/da228d4c-e1be-43d7-9ccb-c3f27ee32541.xml b/tests/functionaltests/suites/cite/post/da228d4c-e1be-43d7-9ccb-c3f27ee32541.xml new file mode 100644 index 000000000..a694ce4e5 --- /dev/null +++ b/tests/functionaltests/suites/cite/post/da228d4c-e1be-43d7-9ccb-c3f27ee32541.xml @@ -0,0 +1,14 @@ + + + + summary + + + + /dc:title + *lorem* + + + + + diff --git a/tests/functionaltests/suites/cite/post/dc92c2c4-87d8-4a13-964e-ff9b0e0c27b3.xml b/tests/functionaltests/suites/cite/post/dc92c2c4-87d8-4a13-964e-ff9b0e0c27b3.xml new file mode 100644 index 000000000..de0ae7a91 --- /dev/null +++ b/tests/functionaltests/suites/cite/post/dc92c2c4-87d8-4a13-964e-ff9b0e0c27b3.xml @@ -0,0 +1,16 @@ + + + + dc:identifier + dc:type + dc:date + + + + dc:date + 2006-05-01 + + + + + diff --git a/tests/functionaltests/suites/cite/post/dcb13791-379e-4739-bcd4-dbaa69f0efdb.xml b/tests/functionaltests/suites/cite/post/dcb13791-379e-4739-bcd4-dbaa69f0efdb.xml new file mode 100644 index 000000000..81aea41d7 --- /dev/null +++ b/tests/functionaltests/suites/cite/post/dcb13791-379e-4739-bcd4-dbaa69f0efdb.xml @@ -0,0 +1,6 @@ + + + + brief + + diff --git a/tests/functionaltests/suites/cite/post/e308f030-c097-4036-a838-44bad74c9ef7.xml b/tests/functionaltests/suites/cite/post/e308f030-c097-4036-a838-44bad74c9ef7.xml new file mode 100644 index 000000000..19bb2e0a6 --- /dev/null +++ b/tests/functionaltests/suites/cite/post/e308f030-c097-4036-a838-44bad74c9ef7.xml @@ -0,0 +1,6 @@ + + + + brief + + diff --git a/tests/functionaltests/suites/cite/post/e6e9efb2-e2b7-4b0a-a3a2-7deea3f9b8e2.xml b/tests/functionaltests/suites/cite/post/e6e9efb2-e2b7-4b0a-a3a2-7deea3f9b8e2.xml new file mode 100644 index 000000000..6dc06f199 --- /dev/null +++ b/tests/functionaltests/suites/cite/post/e6e9efb2-e2b7-4b0a-a3a2-7deea3f9b8e2.xml @@ -0,0 +1,12 @@ + + + + brief + + + dc:identifier + ASC + + + + diff --git a/tests/functionaltests/suites/cite/post/f7976c55-a156-4421-8199-bc0487da4b0f.xml b/tests/functionaltests/suites/cite/post/f7976c55-a156-4421-8199-bc0487da4b0f.xml new file mode 100644 index 000000000..52008563a --- /dev/null +++ b/tests/functionaltests/suites/cite/post/f7976c55-a156-4421-8199-bc0487da4b0f.xml @@ -0,0 +1,4 @@ + + + csw:Record + diff --git a/tests/functionaltests/suites/cite/post/f7d79701-f10b-4087-a33c-f62df0a04fd1.xml b/tests/functionaltests/suites/cite/post/f7d79701-f10b-4087-a33c-f62df0a04fd1.xml new file mode 100644 index 000000000..19bb2e0a6 --- /dev/null +++ b/tests/functionaltests/suites/cite/post/f7d79701-f10b-4087-a33c-f62df0a04fd1.xml @@ -0,0 +1,6 @@ + + + + brief + + diff --git a/tests/functionaltests/suites/cite/post/fc1bc094-88f1-4851-bc2b-dfc56be9f3c7.xml b/tests/functionaltests/suites/cite/post/fc1bc094-88f1-4851-bc2b-dfc56be9f3c7.xml new file mode 100644 index 000000000..186beb174 --- /dev/null +++ b/tests/functionaltests/suites/cite/post/fc1bc094-88f1-4851-bc2b-dfc56be9f3c7.xml @@ -0,0 +1,14 @@ + + + + brief + + + + dc:title + Fuscé vitae ligulä + + + + + diff --git a/tests/functionaltests/suites/cite/post/fe20960f-a26c-4f13-852d-470a0d3233f9.xml b/tests/functionaltests/suites/cite/post/fe20960f-a26c-4f13-852d-470a0d3233f9.xml new file mode 100644 index 000000000..d011b2e68 --- /dev/null +++ b/tests/functionaltests/suites/cite/post/fe20960f-a26c-4f13-852d-470a0d3233f9.xml @@ -0,0 +1,14 @@ + + + + brief + + + + dc:subject + pHYSIOGRAPHy + + + + + diff --git a/tests/functionaltests/suites/csw30/default.cfg b/tests/functionaltests/suites/csw30/default.cfg new file mode 100644 index 000000000..328045bb4 --- /dev/null +++ b/tests/functionaltests/suites/csw30/default.cfg @@ -0,0 +1,90 @@ +# ================================================================= +# +# Authors: Tom Kralidis +# +# Copyright (c) 2011 Tom Kralidis +# +# Permission is hereby granted, free of charge, to any person +# obtaining a copy of this software and associated documentation +# files (the "Software"), to deal in the Software without +# restriction, including without limitation the rights to use, +# copy, modify, merge, publish, distribute, sublicense, and/or sell +# copies of the Software, and to permit persons to whom the +# Software is furnished to do so, subject to the following +# conditions: +# +# The above copyright notice and this permission notice shall be +# included in all copies or substantial portions of the Software. +# +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +# EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES +# OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +# NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT +# HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, +# WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR +# OTHER DEALINGS IN THE SOFTWARE. +# +# ================================================================= + +[server] +home=. +url=http://localhost/pycsw/csw.py?config=tests/suites/csw30/default.cfg +mimetype=application/xml; charset=UTF-8 +encoding=UTF-8 +language=en-US +maxrecords=10 +#loglevel=DEBUG +#logfile=/tmp/pycsw.log +#ogc_schemas_base=http://foo +federatedcatalogues=http://demo.pycsw.org/gisdata/csw +pretty_print=true +#gzip_compresslevel=8 +#spatial_ranking=true + +[manager] +transactions=false +allowed_ips=127.0.0.1 + +[metadata:main] +identification_title=pycsw Geospatial Catalogue +identification_abstract=pycsw is an OGC CSW server implementation written in Python +identification_keywords=catalogue,discovery +identification_keywords_type=theme +identification_fees=None +identification_accessconstraints=None +provider_name=pycsw +provider_url=http://pycsw.org/ +contact_name=Kralidis, Tom +contact_position=Senior Systems Scientist +contact_address=TBA +contact_city=Toronto +contact_stateorprovince=Ontario +contact_postalcode=M9C 3Z9 +contact_country=Canada +contact_phone=+01-416-xxx-xxxx +contact_fax=+01-416-xxx-xxxx +contact_email=tomkralidis@gmail.com +contact_url=http://kralidis.ca/ +contact_hours=0800h - 1600h EST +contact_instructions=During hours of service. Off on weekends. +contact_role=pointOfContact + +[repository] +# sqlite +database=sqlite:///tests/suites/cite/data/records.db +# postgres +#database=postgres://username:password@localhost/pycsw +table=records + +[metadata:inspire] +enabled=false +languages_supported=eng,gre +default_language=eng +date=2011-03-29 +gemet_keywords=Utility and governmental services +conformity_service=notEvaluated +contact_name=National Technical University of Athens +contact_email=tzotsos@gmail.com +temp_extent=2011-02-01/2011-03-30 + diff --git a/tests/functionaltests/suites/csw30/expected/get_002258f0-627f-457f-b2ad-025777c77ac8.xml b/tests/functionaltests/suites/csw30/expected/get_002258f0-627f-457f-b2ad-025777c77ac8.xml new file mode 100644 index 000000000..60ffc8d10 --- /dev/null +++ b/tests/functionaltests/suites/csw30/expected/get_002258f0-627f-457f-b2ad-025777c77ac8.xml @@ -0,0 +1,15 @@ + + + + pycsw Geospatial + pycsw Geospatial Catalogue + pycsw is an OGC CSW server implementation written in Python + catalogue discovery + + + http://pycsw.org/img/favicon.ico + + Kralidis, Tom + tomkralidis@gmail.com + pycsw + diff --git a/tests/functionaltests/suites/csw30/expected/get_045c600d-973d-41eb-9f60-eba1b717b720.xml b/tests/functionaltests/suites/csw30/expected/get_045c600d-973d-41eb-9f60-eba1b717b720.xml new file mode 100644 index 000000000..5caeab5ae --- /dev/null +++ b/tests/functionaltests/suites/csw30/expected/get_045c600d-973d-41eb-9f60-eba1b717b720.xml @@ -0,0 +1,24 @@ + + + + http://localhost/pycsw/csw.py?config=tests/suites/csw30/default.cfg + pycsw Geospatial Catalogue + + pycsw + + diff --git a/tests/functionaltests/suites/csw30/expected/get_0bbcf862-5211-4351-9988-63f8bec49c98.xml b/tests/functionaltests/suites/csw30/expected/get_0bbcf862-5211-4351-9988-63f8bec49c98.xml new file mode 100644 index 000000000..c1b666067 --- /dev/null +++ b/tests/functionaltests/suites/csw30/expected/get_0bbcf862-5211-4351-9988-63f8bec49c98.xml @@ -0,0 +1,116 @@ + + + + http://localhost/pycsw/csw.py?config=tests/suites/csw30/default.cfg + pycsw Geospatial Catalogue + + pycsw + + diff --git a/tests/functionaltests/suites/csw30/expected/get_0bdf8457-971e-4ed1-be4a-5feca4dcd8fa.xml b/tests/functionaltests/suites/csw30/expected/get_0bdf8457-971e-4ed1-be4a-5feca4dcd8fa.xml new file mode 100644 index 000000000..ce9c9355d --- /dev/null +++ b/tests/functionaltests/suites/csw30/expected/get_0bdf8457-971e-4ed1-be4a-5feca4dcd8fa.xml @@ -0,0 +1,491 @@ + + + + + pycsw Geospatial Catalogue + pycsw is an OGC CSW server implementation written in Python + + catalogue + discovery + theme + + CSW + 2.0.2 + 3.0.0 + None + None + + + pycsw + + + Kralidis, Tom + Senior Systems Scientist + + + +01-416-xxx-xxxx + +01-416-xxx-xxxx + + + TBA + Toronto + Ontario + M9C 3Z9 + Canada + tomkralidis@gmail.com + + + 0800h - 1600h EST + During hours of service. Off on weekends. + + pointOfContact + + + + + + + + + + + + + application/xml + text/xml + + + + + 2.0.2 + 3.0.0 + + + + + All + Filter_Capabilities + OperationsMetadata + ServiceIdentification + ServiceProvider + + + + + + + + + + + + + GetCapabilities.acceptFormats + GetCapabilities.acceptVersions + GetCapabilities.sections + GetRecordById.ElementSetName + GetRecordById.outputFormat + GetRecordById.outputSchema + GetRecords.CONSTRAINTLANGUAGE + GetRecords.ElementSetName + GetRecords.outputFormat + GetRecords.outputSchema + GetRecords.typeNames + + + + + + + + + + + + + CQL_TEXT + FILTER + + + + + brief + full + summary + + + + + application/atom+xml + application/json + application/xml + + + + + http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ + http://www.interlis.ch/INTERLIS2.3 + http://www.opengis.net/cat/csw/3.0 + http://www.opengis.net/cat/csw/csdgm + http://www.w3.org/2005/Atom + + + + + csw:Record + + + + + 10 + + + + + http://localhost/pycsw/csw.py?config=tests/suites/csw30/default.cfg?mode=opensearch&service=CSW&version=3.0.0&request=GetCapabilities + + + + + http://demo.pycsw.org/gisdata/csw + + + + + + + + + + + + + brief + full + summary + + + + + application/atom+xml + application/json + application/xml + + + + + http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ + http://www.interlis.ch/INTERLIS2.3 + http://www.opengis.net/cat/csw/3.0 + http://www.opengis.net/cat/csw/csdgm + http://www.w3.org/2005/Atom + + + + + + + + + + + + + CSW + + + + + 2.0.2 + 3.0.0 + + + + + csw:AnyText + dc:contributor + dc:creator + dc:date + dc:format + dc:identifier + dc:language + dc:publisher + dc:relation + dc:rights + dc:source + dc:subject + dc:title + dc:type + dct:abstract + dct:modified + ows:BoundingBox + + + + + http://demo.pycsw.org/gisdata/csw + + + + + 10 + + + + + SOAP + XML + + + + + allowed + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + http://www.opengis.net/gml + + + + + TRUE + + + + + en + + + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + xs:string + + + xs:string + + + xs:string + + + xs:string + + + xs:string + + + xs:string + + + + diff --git a/tests/functionaltests/suites/csw30/expected/get_0d8bbdec-0846-42ca-8dc8-b7f4cba41d67.xml b/tests/functionaltests/suites/csw30/expected/get_0d8bbdec-0846-42ca-8dc8-b7f4cba41d67.xml new file mode 100644 index 000000000..21edd2682 --- /dev/null +++ b/tests/functionaltests/suites/csw30/expected/get_0d8bbdec-0846-42ca-8dc8-b7f4cba41d67.xml @@ -0,0 +1,47 @@ + + + + + + + urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f + Lorem ipsum + + + urn:uuid:1ef30a8b-876d-4828-9246-c37ab4510bbd + + + + urn:uuid:66ae76b7-54ba-489b-a582-0f0633d96493 + Maecenas enim + + + urn:uuid:6a3de50b-fa66-4b58-a0e6-ca146fdd18d4 + Ut facilisis justo ut lacus + + + urn:uuid:784e2afd-a9fd-44a6-9a92-a3848371c8ec + Aliquam fermentum purus quis arcu + + + urn:uuid:829babb0-b2f1-49e1-8cd5-7b489fe71a1e + Vestibulum massa purus + + + urn:uuid:88247b56-4cbc-4df9-9860-db3f8042e357 + + + + urn:uuid:94bc9c83-97f6-4b40-9eb8-a8e8787a5c63 + Mauris sed neque + + + urn:uuid:9a669547-b69b-469f-a11f-2d875366bbdc + Ñunç elementum + + + urn:uuid:a06af396-3105-442d-8b40-22b57a90d2f2 + Lorem ipsum dolor sit amet + + + diff --git a/tests/functionaltests/suites/csw30/expected/get_0e1dca37-477a-4060-99fe-7799b52d656c.xml b/tests/functionaltests/suites/csw30/expected/get_0e1dca37-477a-4060-99fe-7799b52d656c.xml new file mode 100644 index 000000000..b6869d887 --- /dev/null +++ b/tests/functionaltests/suites/csw30/expected/get_0e1dca37-477a-4060-99fe-7799b52d656c.xml @@ -0,0 +1,15 @@ + + + + http://localhost/pycsw/csw.py?config=tests/suites/csw30/default.cfg + pycsw Geospatial Catalogue + + pycsw + + diff --git a/tests/functionaltests/suites/csw30/expected/get_13c87956-51a4-4780-a8e9-6e0b5c0bb473.xml b/tests/functionaltests/suites/csw30/expected/get_13c87956-51a4-4780-a8e9-6e0b5c0bb473.xml new file mode 100644 index 000000000..3ce950bca --- /dev/null +++ b/tests/functionaltests/suites/csw30/expected/get_13c87956-51a4-4780-a8e9-6e0b5c0bb473.xml @@ -0,0 +1,92 @@ + + + + + + + urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f + Lorem ipsum + http://purl.org/dc/dcmitype/Image + Tourism--Greece + image/svg+xml + Quisque lacus diam, placerat mollis, pharetra in, commodo sed, augue. Duis iaculis arcu vel arcu. + + + urn:uuid:1ef30a8b-876d-4828-9246-c37ab4510bbd + + http://purl.org/dc/dcmitype/Service + Proin sit amet justo. In justo. Aenean adipiscing nulla id tellus. + + 60.04 13.75 + 68.41 17.92 + + + + urn:uuid:66ae76b7-54ba-489b-a582-0f0633d96493 + Maecenas enim + http://purl.org/dc/dcmitype/Text + Marine sediments + application/xhtml+xml + Pellentesque tempus magna non sapien fringilla blandit. + + + urn:uuid:6a3de50b-fa66-4b58-a0e6-ca146fdd18d4 + Ut facilisis justo ut lacus + http://purl.org/dc/dcmitype/Service + Vegetation + urn:uuid:94bc9c83-97f6-4b40-9eb8-a8e8787a5c63 + + + urn:uuid:784e2afd-a9fd-44a6-9a92-a3848371c8ec + Aliquam fermentum purus quis arcu + http://purl.org/dc/dcmitype/Text + Hydrography--Dictionaries + application/pdf + Vestibulum quis ipsum sit amet metus imperdiet vehicula. Nulla scelerisque cursus mi. + 2006-05-12 + + + urn:uuid:829babb0-b2f1-49e1-8cd5-7b489fe71a1e + Vestibulum massa purus + http://purl.org/dc/dcmitype/Image + image/jp2 + urn:uuid:9a669547-b69b-469f-a11f-2d875366bbdc + + + urn:uuid:88247b56-4cbc-4df9-9860-db3f8042e357 + + http://purl.org/dc/dcmitype/Dataset + Physiography-Landforms + Donec scelerisque pede ut nisl luctus accumsan. Quisque ultrices, lorem eget feugiat fringilla, lorem dui porttitor ante, cursus ultrices magna odio eu neque. + + + urn:uuid:94bc9c83-97f6-4b40-9eb8-a8e8787a5c63 + Mauris sed neque + http://purl.org/dc/dcmitype/Dataset + Vegetation-Cropland + Curabitur lacinia, ante non porta tempus, mi lorem feugiat odio, eget suscipit eros pede ac velit. + 2006-03-26 + + 47.59 -4.1 + 51.22 0.89 + + + + urn:uuid:9a669547-b69b-469f-a11f-2d875366bbdc + Ñunç elementum + http://purl.org/dc/dcmitype/Dataset + Hydrography-Oceanographic + 2005-10-24 + + 44.79 -6.17 + 51.13 -2.23 + + + + urn:uuid:a06af396-3105-442d-8b40-22b57a90d2f2 + Lorem ipsum dolor sit amet + http://purl.org/dc/dcmitype/Image + image/jpeg + + + diff --git a/tests/functionaltests/suites/csw30/expected/get_151d982f-ebd3-4cb2-b507-a667713a1e92.xml b/tests/functionaltests/suites/csw30/expected/get_151d982f-ebd3-4cb2-b507-a667713a1e92.xml new file mode 100644 index 000000000..633f7c9ae --- /dev/null +++ b/tests/functionaltests/suites/csw30/expected/get_151d982f-ebd3-4cb2-b507-a667713a1e92.xml @@ -0,0 +1,7 @@ + + + + + Invalid acceptFormats parameter value: model/x3d+xml + + diff --git a/tests/functionaltests/suites/csw30/expected/get_1869e495-1a61-4713-8285-76d1336ee1a6.xml b/tests/functionaltests/suites/csw30/expected/get_1869e495-1a61-4713-8285-76d1336ee1a6.xml new file mode 100644 index 000000000..42a76d4fd --- /dev/null +++ b/tests/functionaltests/suites/csw30/expected/get_1869e495-1a61-4713-8285-76d1336ee1a6.xml @@ -0,0 +1,7 @@ + + + + + Missing keyword: service + + diff --git a/tests/functionaltests/suites/csw30/expected/get_1bcb42a9-538c-4f0a-9d4c-d6f10b720aa6.xml b/tests/functionaltests/suites/csw30/expected/get_1bcb42a9-538c-4f0a-9d4c-d6f10b720aa6.xml new file mode 100644 index 000000000..dd5dfc621 --- /dev/null +++ b/tests/functionaltests/suites/csw30/expected/get_1bcb42a9-538c-4f0a-9d4c-d6f10b720aa6.xml @@ -0,0 +1,7 @@ + + + + + Missing id parameter + + diff --git a/tests/functionaltests/suites/csw30/expected/get_22f44168-2ccf-4801-ad96-204212566d56.xml b/tests/functionaltests/suites/csw30/expected/get_22f44168-2ccf-4801-ad96-204212566d56.xml new file mode 100644 index 000000000..ce9c9355d --- /dev/null +++ b/tests/functionaltests/suites/csw30/expected/get_22f44168-2ccf-4801-ad96-204212566d56.xml @@ -0,0 +1,491 @@ + + + + + pycsw Geospatial Catalogue + pycsw is an OGC CSW server implementation written in Python + + catalogue + discovery + theme + + CSW + 2.0.2 + 3.0.0 + None + None + + + pycsw + + + Kralidis, Tom + Senior Systems Scientist + + + +01-416-xxx-xxxx + +01-416-xxx-xxxx + + + TBA + Toronto + Ontario + M9C 3Z9 + Canada + tomkralidis@gmail.com + + + 0800h - 1600h EST + During hours of service. Off on weekends. + + pointOfContact + + + + + + + + + + + + + application/xml + text/xml + + + + + 2.0.2 + 3.0.0 + + + + + All + Filter_Capabilities + OperationsMetadata + ServiceIdentification + ServiceProvider + + + + + + + + + + + + + GetCapabilities.acceptFormats + GetCapabilities.acceptVersions + GetCapabilities.sections + GetRecordById.ElementSetName + GetRecordById.outputFormat + GetRecordById.outputSchema + GetRecords.CONSTRAINTLANGUAGE + GetRecords.ElementSetName + GetRecords.outputFormat + GetRecords.outputSchema + GetRecords.typeNames + + + + + + + + + + + + + CQL_TEXT + FILTER + + + + + brief + full + summary + + + + + application/atom+xml + application/json + application/xml + + + + + http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ + http://www.interlis.ch/INTERLIS2.3 + http://www.opengis.net/cat/csw/3.0 + http://www.opengis.net/cat/csw/csdgm + http://www.w3.org/2005/Atom + + + + + csw:Record + + + + + 10 + + + + + http://localhost/pycsw/csw.py?config=tests/suites/csw30/default.cfg?mode=opensearch&service=CSW&version=3.0.0&request=GetCapabilities + + + + + http://demo.pycsw.org/gisdata/csw + + + + + + + + + + + + + brief + full + summary + + + + + application/atom+xml + application/json + application/xml + + + + + http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ + http://www.interlis.ch/INTERLIS2.3 + http://www.opengis.net/cat/csw/3.0 + http://www.opengis.net/cat/csw/csdgm + http://www.w3.org/2005/Atom + + + + + + + + + + + + + CSW + + + + + 2.0.2 + 3.0.0 + + + + + csw:AnyText + dc:contributor + dc:creator + dc:date + dc:format + dc:identifier + dc:language + dc:publisher + dc:relation + dc:rights + dc:source + dc:subject + dc:title + dc:type + dct:abstract + dct:modified + ows:BoundingBox + + + + + http://demo.pycsw.org/gisdata/csw + + + + + 10 + + + + + SOAP + XML + + + + + allowed + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + http://www.opengis.net/gml + + + + + TRUE + + + + + en + + + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + xs:string + + + xs:string + + + xs:string + + + xs:string + + + xs:string + + + xs:string + + + + diff --git a/tests/functionaltests/suites/csw30/expected/get_2499a9c9-8d33-449c-bc92-d494adfcc84d.xml b/tests/functionaltests/suites/csw30/expected/get_2499a9c9-8d33-449c-bc92-d494adfcc84d.xml new file mode 100644 index 000000000..ce9c9355d --- /dev/null +++ b/tests/functionaltests/suites/csw30/expected/get_2499a9c9-8d33-449c-bc92-d494adfcc84d.xml @@ -0,0 +1,491 @@ + + + + + pycsw Geospatial Catalogue + pycsw is an OGC CSW server implementation written in Python + + catalogue + discovery + theme + + CSW + 2.0.2 + 3.0.0 + None + None + + + pycsw + + + Kralidis, Tom + Senior Systems Scientist + + + +01-416-xxx-xxxx + +01-416-xxx-xxxx + + + TBA + Toronto + Ontario + M9C 3Z9 + Canada + tomkralidis@gmail.com + + + 0800h - 1600h EST + During hours of service. Off on weekends. + + pointOfContact + + + + + + + + + + + + + application/xml + text/xml + + + + + 2.0.2 + 3.0.0 + + + + + All + Filter_Capabilities + OperationsMetadata + ServiceIdentification + ServiceProvider + + + + + + + + + + + + + GetCapabilities.acceptFormats + GetCapabilities.acceptVersions + GetCapabilities.sections + GetRecordById.ElementSetName + GetRecordById.outputFormat + GetRecordById.outputSchema + GetRecords.CONSTRAINTLANGUAGE + GetRecords.ElementSetName + GetRecords.outputFormat + GetRecords.outputSchema + GetRecords.typeNames + + + + + + + + + + + + + CQL_TEXT + FILTER + + + + + brief + full + summary + + + + + application/atom+xml + application/json + application/xml + + + + + http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ + http://www.interlis.ch/INTERLIS2.3 + http://www.opengis.net/cat/csw/3.0 + http://www.opengis.net/cat/csw/csdgm + http://www.w3.org/2005/Atom + + + + + csw:Record + + + + + 10 + + + + + http://localhost/pycsw/csw.py?config=tests/suites/csw30/default.cfg?mode=opensearch&service=CSW&version=3.0.0&request=GetCapabilities + + + + + http://demo.pycsw.org/gisdata/csw + + + + + + + + + + + + + brief + full + summary + + + + + application/atom+xml + application/json + application/xml + + + + + http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ + http://www.interlis.ch/INTERLIS2.3 + http://www.opengis.net/cat/csw/3.0 + http://www.opengis.net/cat/csw/csdgm + http://www.w3.org/2005/Atom + + + + + + + + + + + + + CSW + + + + + 2.0.2 + 3.0.0 + + + + + csw:AnyText + dc:contributor + dc:creator + dc:date + dc:format + dc:identifier + dc:language + dc:publisher + dc:relation + dc:rights + dc:source + dc:subject + dc:title + dc:type + dct:abstract + dct:modified + ows:BoundingBox + + + + + http://demo.pycsw.org/gisdata/csw + + + + + 10 + + + + + SOAP + XML + + + + + allowed + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + http://www.opengis.net/gml + + + + + TRUE + + + + + en + + + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + xs:string + + + xs:string + + + xs:string + + + xs:string + + + xs:string + + + xs:string + + + + diff --git a/tests/functionaltests/suites/csw30/expected/get_27f4f39c-d92a-4e3c-b961-c6aa8c24e513.xml b/tests/functionaltests/suites/csw30/expected/get_27f4f39c-d92a-4e3c-b961-c6aa8c24e513.xml new file mode 100644 index 000000000..ce9c9355d --- /dev/null +++ b/tests/functionaltests/suites/csw30/expected/get_27f4f39c-d92a-4e3c-b961-c6aa8c24e513.xml @@ -0,0 +1,491 @@ + + + + + pycsw Geospatial Catalogue + pycsw is an OGC CSW server implementation written in Python + + catalogue + discovery + theme + + CSW + 2.0.2 + 3.0.0 + None + None + + + pycsw + + + Kralidis, Tom + Senior Systems Scientist + + + +01-416-xxx-xxxx + +01-416-xxx-xxxx + + + TBA + Toronto + Ontario + M9C 3Z9 + Canada + tomkralidis@gmail.com + + + 0800h - 1600h EST + During hours of service. Off on weekends. + + pointOfContact + + + + + + + + + + + + + application/xml + text/xml + + + + + 2.0.2 + 3.0.0 + + + + + All + Filter_Capabilities + OperationsMetadata + ServiceIdentification + ServiceProvider + + + + + + + + + + + + + GetCapabilities.acceptFormats + GetCapabilities.acceptVersions + GetCapabilities.sections + GetRecordById.ElementSetName + GetRecordById.outputFormat + GetRecordById.outputSchema + GetRecords.CONSTRAINTLANGUAGE + GetRecords.ElementSetName + GetRecords.outputFormat + GetRecords.outputSchema + GetRecords.typeNames + + + + + + + + + + + + + CQL_TEXT + FILTER + + + + + brief + full + summary + + + + + application/atom+xml + application/json + application/xml + + + + + http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ + http://www.interlis.ch/INTERLIS2.3 + http://www.opengis.net/cat/csw/3.0 + http://www.opengis.net/cat/csw/csdgm + http://www.w3.org/2005/Atom + + + + + csw:Record + + + + + 10 + + + + + http://localhost/pycsw/csw.py?config=tests/suites/csw30/default.cfg?mode=opensearch&service=CSW&version=3.0.0&request=GetCapabilities + + + + + http://demo.pycsw.org/gisdata/csw + + + + + + + + + + + + + brief + full + summary + + + + + application/atom+xml + application/json + application/xml + + + + + http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ + http://www.interlis.ch/INTERLIS2.3 + http://www.opengis.net/cat/csw/3.0 + http://www.opengis.net/cat/csw/csdgm + http://www.w3.org/2005/Atom + + + + + + + + + + + + + CSW + + + + + 2.0.2 + 3.0.0 + + + + + csw:AnyText + dc:contributor + dc:creator + dc:date + dc:format + dc:identifier + dc:language + dc:publisher + dc:relation + dc:rights + dc:source + dc:subject + dc:title + dc:type + dct:abstract + dct:modified + ows:BoundingBox + + + + + http://demo.pycsw.org/gisdata/csw + + + + + 10 + + + + + SOAP + XML + + + + + allowed + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + http://www.opengis.net/gml + + + + + TRUE + + + + + en + + + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + xs:string + + + xs:string + + + xs:string + + + xs:string + + + xs:string + + + xs:string + + + + diff --git a/tests/functionaltests/suites/csw30/expected/get_28e569df-8596-4128-8d9a-29ad03138915.xml b/tests/functionaltests/suites/csw30/expected/get_28e569df-8596-4128-8d9a-29ad03138915.xml new file mode 100644 index 000000000..c998b50af --- /dev/null +++ b/tests/functionaltests/suites/csw30/expected/get_28e569df-8596-4128-8d9a-29ad03138915.xml @@ -0,0 +1,8 @@ + + + + urn:uuid:a06af396-3105-442d-8b40-22b57a90d2f2 + Lorem ipsum dolor sit amet + http://purl.org/dc/dcmitype/Image + image/jpeg + diff --git a/tests/functionaltests/suites/csw30/expected/get_2b06a5c8-0df2-4af1-8d2e-a425de11c845.xml b/tests/functionaltests/suites/csw30/expected/get_2b06a5c8-0df2-4af1-8d2e-a425de11c845.xml new file mode 100644 index 000000000..ce9c9355d --- /dev/null +++ b/tests/functionaltests/suites/csw30/expected/get_2b06a5c8-0df2-4af1-8d2e-a425de11c845.xml @@ -0,0 +1,491 @@ + + + + + pycsw Geospatial Catalogue + pycsw is an OGC CSW server implementation written in Python + + catalogue + discovery + theme + + CSW + 2.0.2 + 3.0.0 + None + None + + + pycsw + + + Kralidis, Tom + Senior Systems Scientist + + + +01-416-xxx-xxxx + +01-416-xxx-xxxx + + + TBA + Toronto + Ontario + M9C 3Z9 + Canada + tomkralidis@gmail.com + + + 0800h - 1600h EST + During hours of service. Off on weekends. + + pointOfContact + + + + + + + + + + + + + application/xml + text/xml + + + + + 2.0.2 + 3.0.0 + + + + + All + Filter_Capabilities + OperationsMetadata + ServiceIdentification + ServiceProvider + + + + + + + + + + + + + GetCapabilities.acceptFormats + GetCapabilities.acceptVersions + GetCapabilities.sections + GetRecordById.ElementSetName + GetRecordById.outputFormat + GetRecordById.outputSchema + GetRecords.CONSTRAINTLANGUAGE + GetRecords.ElementSetName + GetRecords.outputFormat + GetRecords.outputSchema + GetRecords.typeNames + + + + + + + + + + + + + CQL_TEXT + FILTER + + + + + brief + full + summary + + + + + application/atom+xml + application/json + application/xml + + + + + http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ + http://www.interlis.ch/INTERLIS2.3 + http://www.opengis.net/cat/csw/3.0 + http://www.opengis.net/cat/csw/csdgm + http://www.w3.org/2005/Atom + + + + + csw:Record + + + + + 10 + + + + + http://localhost/pycsw/csw.py?config=tests/suites/csw30/default.cfg?mode=opensearch&service=CSW&version=3.0.0&request=GetCapabilities + + + + + http://demo.pycsw.org/gisdata/csw + + + + + + + + + + + + + brief + full + summary + + + + + application/atom+xml + application/json + application/xml + + + + + http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ + http://www.interlis.ch/INTERLIS2.3 + http://www.opengis.net/cat/csw/3.0 + http://www.opengis.net/cat/csw/csdgm + http://www.w3.org/2005/Atom + + + + + + + + + + + + + CSW + + + + + 2.0.2 + 3.0.0 + + + + + csw:AnyText + dc:contributor + dc:creator + dc:date + dc:format + dc:identifier + dc:language + dc:publisher + dc:relation + dc:rights + dc:source + dc:subject + dc:title + dc:type + dct:abstract + dct:modified + ows:BoundingBox + + + + + http://demo.pycsw.org/gisdata/csw + + + + + 10 + + + + + SOAP + XML + + + + + allowed + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + http://www.opengis.net/gml + + + + + TRUE + + + + + en + + + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + xs:string + + + xs:string + + + xs:string + + + xs:string + + + xs:string + + + xs:string + + + + diff --git a/tests/functionaltests/suites/csw30/expected/get_2ba1418a-444d-4cce-9cfe-4c94efcf8b55.xml b/tests/functionaltests/suites/csw30/expected/get_2ba1418a-444d-4cce-9cfe-4c94efcf8b55.xml new file mode 100644 index 000000000..06869ee15 --- /dev/null +++ b/tests/functionaltests/suites/csw30/expected/get_2ba1418a-444d-4cce-9cfe-4c94efcf8b55.xml @@ -0,0 +1,32 @@ + + + + http://localhost/pycsw/csw.py?config=tests/suites/csw30/default.cfg + pycsw Geospatial Catalogue + + pycsw + + diff --git a/tests/functionaltests/suites/csw30/expected/get_397fe17a-d5b4-4f96-8cc4-4ce467ed4d0a.xml b/tests/functionaltests/suites/csw30/expected/get_397fe17a-d5b4-4f96-8cc4-4ce467ed4d0a.xml new file mode 100644 index 000000000..a2f3d5785 --- /dev/null +++ b/tests/functionaltests/suites/csw30/expected/get_397fe17a-d5b4-4f96-8cc4-4ce467ed4d0a.xml @@ -0,0 +1,30 @@ + + + + + + + urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f + Lorem ipsum + http://purl.org/dc/dcmitype/Image + Tourism--Greece + image/svg+xml + Quisque lacus diam, placerat mollis, pharetra in, commodo sed, augue. Duis iaculis arcu vel arcu. + + + urn:uuid:784e2afd-a9fd-44a6-9a92-a3848371c8ec + Aliquam fermentum purus quis arcu + http://purl.org/dc/dcmitype/Text + Hydrography--Dictionaries + application/pdf + Vestibulum quis ipsum sit amet metus imperdiet vehicula. Nulla scelerisque cursus mi. + 2006-05-12 + + + urn:uuid:a06af396-3105-442d-8b40-22b57a90d2f2 + Lorem ipsum dolor sit amet + http://purl.org/dc/dcmitype/Image + image/jpeg + + + diff --git a/tests/functionaltests/suites/csw30/expected/get_3dcd1b15-73d2-4b7d-a3e3-ff15bf14aae4.xml b/tests/functionaltests/suites/csw30/expected/get_3dcd1b15-73d2-4b7d-a3e3-ff15bf14aae4.xml new file mode 100644 index 000000000..4d7f6b1bf --- /dev/null +++ b/tests/functionaltests/suites/csw30/expected/get_3dcd1b15-73d2-4b7d-a3e3-ff15bf14aae4.xml @@ -0,0 +1,69 @@ + + + + + + + urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f + Lorem ipsum + http://purl.org/dc/dcmitype/Image + + + urn:uuid:1ef30a8b-876d-4828-9246-c37ab4510bbd + + http://purl.org/dc/dcmitype/Service + + 60.04 13.75 + 68.41 17.92 + + + + urn:uuid:66ae76b7-54ba-489b-a582-0f0633d96493 + Maecenas enim + http://purl.org/dc/dcmitype/Text + + + urn:uuid:6a3de50b-fa66-4b58-a0e6-ca146fdd18d4 + Ut facilisis justo ut lacus + http://purl.org/dc/dcmitype/Service + + + urn:uuid:784e2afd-a9fd-44a6-9a92-a3848371c8ec + Aliquam fermentum purus quis arcu + http://purl.org/dc/dcmitype/Text + + + urn:uuid:829babb0-b2f1-49e1-8cd5-7b489fe71a1e + Vestibulum massa purus + http://purl.org/dc/dcmitype/Image + + + urn:uuid:88247b56-4cbc-4df9-9860-db3f8042e357 + + http://purl.org/dc/dcmitype/Dataset + + + urn:uuid:94bc9c83-97f6-4b40-9eb8-a8e8787a5c63 + Mauris sed neque + http://purl.org/dc/dcmitype/Dataset + + 47.59 -4.1 + 51.22 0.89 + + + + urn:uuid:9a669547-b69b-469f-a11f-2d875366bbdc + Ñunç elementum + http://purl.org/dc/dcmitype/Dataset + + 44.79 -6.17 + 51.13 -2.23 + + + + urn:uuid:a06af396-3105-442d-8b40-22b57a90d2f2 + Lorem ipsum dolor sit amet + http://purl.org/dc/dcmitype/Image + + + diff --git a/tests/functionaltests/suites/csw30/expected/get_405e1ff1-5c75-4846-a28b-cfaff2a6921a.xml b/tests/functionaltests/suites/csw30/expected/get_405e1ff1-5c75-4846-a28b-cfaff2a6921a.xml new file mode 100644 index 000000000..22bdf2c6f --- /dev/null +++ b/tests/functionaltests/suites/csw30/expected/get_405e1ff1-5c75-4846-a28b-cfaff2a6921a.xml @@ -0,0 +1,23 @@ + + + + + + + urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f + Lorem ipsum + http://purl.org/dc/dcmitype/Image + Tourism--Greece + image/svg+xml + Quisque lacus diam, placerat mollis, pharetra in, commodo sed, augue. Duis iaculis arcu vel arcu. + + + urn:uuid:e9330592-0932-474b-be34-c3a3bb67c7db + Fuscé vitae ligulä + http://purl.org/dc/dcmitype/Text + Land titles + text/rtf + Morbi ultriçes, dui suscipit vestibulum prètium, velit ante pretium tortor, egët tincidunt pede odio ac nulla. + + + diff --git a/tests/functionaltests/suites/csw30/expected/get_43cd6471-6ac7-45bd-8ff9-148cb2de9a52.xml b/tests/functionaltests/suites/csw30/expected/get_43cd6471-6ac7-45bd-8ff9-148cb2de9a52.xml new file mode 100644 index 000000000..ce9c9355d --- /dev/null +++ b/tests/functionaltests/suites/csw30/expected/get_43cd6471-6ac7-45bd-8ff9-148cb2de9a52.xml @@ -0,0 +1,491 @@ + + + + + pycsw Geospatial Catalogue + pycsw is an OGC CSW server implementation written in Python + + catalogue + discovery + theme + + CSW + 2.0.2 + 3.0.0 + None + None + + + pycsw + + + Kralidis, Tom + Senior Systems Scientist + + + +01-416-xxx-xxxx + +01-416-xxx-xxxx + + + TBA + Toronto + Ontario + M9C 3Z9 + Canada + tomkralidis@gmail.com + + + 0800h - 1600h EST + During hours of service. Off on weekends. + + pointOfContact + + + + + + + + + + + + + application/xml + text/xml + + + + + 2.0.2 + 3.0.0 + + + + + All + Filter_Capabilities + OperationsMetadata + ServiceIdentification + ServiceProvider + + + + + + + + + + + + + GetCapabilities.acceptFormats + GetCapabilities.acceptVersions + GetCapabilities.sections + GetRecordById.ElementSetName + GetRecordById.outputFormat + GetRecordById.outputSchema + GetRecords.CONSTRAINTLANGUAGE + GetRecords.ElementSetName + GetRecords.outputFormat + GetRecords.outputSchema + GetRecords.typeNames + + + + + + + + + + + + + CQL_TEXT + FILTER + + + + + brief + full + summary + + + + + application/atom+xml + application/json + application/xml + + + + + http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ + http://www.interlis.ch/INTERLIS2.3 + http://www.opengis.net/cat/csw/3.0 + http://www.opengis.net/cat/csw/csdgm + http://www.w3.org/2005/Atom + + + + + csw:Record + + + + + 10 + + + + + http://localhost/pycsw/csw.py?config=tests/suites/csw30/default.cfg?mode=opensearch&service=CSW&version=3.0.0&request=GetCapabilities + + + + + http://demo.pycsw.org/gisdata/csw + + + + + + + + + + + + + brief + full + summary + + + + + application/atom+xml + application/json + application/xml + + + + + http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ + http://www.interlis.ch/INTERLIS2.3 + http://www.opengis.net/cat/csw/3.0 + http://www.opengis.net/cat/csw/csdgm + http://www.w3.org/2005/Atom + + + + + + + + + + + + + CSW + + + + + 2.0.2 + 3.0.0 + + + + + csw:AnyText + dc:contributor + dc:creator + dc:date + dc:format + dc:identifier + dc:language + dc:publisher + dc:relation + dc:rights + dc:source + dc:subject + dc:title + dc:type + dct:abstract + dct:modified + ows:BoundingBox + + + + + http://demo.pycsw.org/gisdata/csw + + + + + 10 + + + + + SOAP + XML + + + + + allowed + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + http://www.opengis.net/gml + + + + + TRUE + + + + + en + + + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + xs:string + + + xs:string + + + xs:string + + + xs:string + + + xs:string + + + xs:string + + + + diff --git a/tests/functionaltests/suites/csw30/expected/get_4566d2ec-1283-4a02-baed-a74fc5b47e37.xml b/tests/functionaltests/suites/csw30/expected/get_4566d2ec-1283-4a02-baed-a74fc5b47e37.xml new file mode 100644 index 000000000..e907a5144 --- /dev/null +++ b/tests/functionaltests/suites/csw30/expected/get_4566d2ec-1283-4a02-baed-a74fc5b47e37.xml @@ -0,0 +1,18 @@ + + + + + pycsw Geospatial Catalogue + pycsw is an OGC CSW server implementation written in Python + + catalogue + discovery + theme + + CSW + 2.0.2 + 3.0.0 + None + None + + diff --git a/tests/functionaltests/suites/csw30/expected/get_461bd4c5-6623-490d-9036-d91a2201e87b.xml b/tests/functionaltests/suites/csw30/expected/get_461bd4c5-6623-490d-9036-d91a2201e87b.xml new file mode 100644 index 000000000..cd2d3db66 --- /dev/null +++ b/tests/functionaltests/suites/csw30/expected/get_461bd4c5-6623-490d-9036-d91a2201e87b.xml @@ -0,0 +1,3 @@ + + + diff --git a/tests/functionaltests/suites/csw30/expected/get_5496894a-3877-4f62-a20b-5d7126f94925.xml b/tests/functionaltests/suites/csw30/expected/get_5496894a-3877-4f62-a20b-5d7126f94925.xml new file mode 100644 index 000000000..f0c8bac70 --- /dev/null +++ b/tests/functionaltests/suites/csw30/expected/get_5496894a-3877-4f62-a20b-5d7126f94925.xml @@ -0,0 +1,7 @@ + + + + + 4326 coordinates out of range: ['514432', '5429689', '529130', '5451619'] + + diff --git a/tests/functionaltests/suites/csw30/expected/get_5a015f6a-bf14-4977-b1e3-6577eb0223c8.xml b/tests/functionaltests/suites/csw30/expected/get_5a015f6a-bf14-4977-b1e3-6577eb0223c8.xml new file mode 100644 index 000000000..73b0f786a --- /dev/null +++ b/tests/functionaltests/suites/csw30/expected/get_5a015f6a-bf14-4977-b1e3-6577eb0223c8.xml @@ -0,0 +1,40 @@ + + + + + + + urn:uuid:1ef30a8b-876d-4828-9246-c37ab4510bbd + + http://purl.org/dc/dcmitype/Service + Proin sit amet justo. In justo. Aenean adipiscing nulla id tellus. + + 60.04 13.75 + 68.41 17.92 + + + + urn:uuid:94bc9c83-97f6-4b40-9eb8-a8e8787a5c63 + Mauris sed neque + http://purl.org/dc/dcmitype/Dataset + Vegetation-Cropland + Curabitur lacinia, ante non porta tempus, mi lorem feugiat odio, eget suscipit eros pede ac velit. + 2006-03-26 + + 47.59 -4.1 + 51.22 0.89 + + + + urn:uuid:9a669547-b69b-469f-a11f-2d875366bbdc + Ñunç elementum + http://purl.org/dc/dcmitype/Dataset + Hydrography-Oceanographic + 2005-10-24 + + 44.79 -6.17 + 51.13 -2.23 + + + + diff --git a/tests/functionaltests/suites/csw30/expected/get_5c3a2390-1fb9-43f0-b96c-f48c7a69c990.xml b/tests/functionaltests/suites/csw30/expected/get_5c3a2390-1fb9-43f0-b96c-f48c7a69c990.xml new file mode 100644 index 000000000..ffd1bd085 --- /dev/null +++ b/tests/functionaltests/suites/csw30/expected/get_5c3a2390-1fb9-43f0-b96c-f48c7a69c990.xml @@ -0,0 +1,7 @@ + + + + + Invalid outputformat parameter model/vnd.collada+xml + + diff --git a/tests/functionaltests/suites/csw30/expected/get_5e9e67dc-18d6-4645-8111-c6263c88a61f.xml b/tests/functionaltests/suites/csw30/expected/get_5e9e67dc-18d6-4645-8111-c6263c88a61f.xml new file mode 100644 index 000000000..4d3fed27a --- /dev/null +++ b/tests/functionaltests/suites/csw30/expected/get_5e9e67dc-18d6-4645-8111-c6263c88a61f.xml @@ -0,0 +1,326 @@ + + + + + + + + + + + + + + application/xml + text/xml + + + + + 2.0.2 + 3.0.0 + + + + + All + Filter_Capabilities + OperationsMetadata + ServiceIdentification + ServiceProvider + + + + + + + + + + + + + GetCapabilities.acceptFormats + GetCapabilities.acceptVersions + GetCapabilities.sections + GetRecordById.ElementSetName + GetRecordById.outputFormat + GetRecordById.outputSchema + GetRecords.CONSTRAINTLANGUAGE + GetRecords.ElementSetName + GetRecords.outputFormat + GetRecords.outputSchema + GetRecords.typeNames + + + + + + + + + + + + + CQL_TEXT + FILTER + + + + + brief + full + summary + + + + + application/atom+xml + application/json + application/xml + + + + + http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ + http://www.interlis.ch/INTERLIS2.3 + http://www.opengis.net/cat/csw/3.0 + http://www.opengis.net/cat/csw/csdgm + http://www.w3.org/2005/Atom + + + + + csw:Record + + + + + 10 + + + + + http://localhost/pycsw/csw.py?config=tests/suites/csw30/default.cfg?mode=opensearch&service=CSW&version=3.0.0&request=GetCapabilities + + + + + http://demo.pycsw.org/gisdata/csw + + + + + + + + + + + + + brief + full + summary + + + + + application/atom+xml + application/json + application/xml + + + + + http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ + http://www.interlis.ch/INTERLIS2.3 + http://www.opengis.net/cat/csw/3.0 + http://www.opengis.net/cat/csw/csdgm + http://www.w3.org/2005/Atom + + + + + + + + + + + + + CSW + + + + + 2.0.2 + 3.0.0 + + + + + csw:AnyText + dc:contributor + dc:creator + dc:date + dc:format + dc:identifier + dc:language + dc:publisher + dc:relation + dc:rights + dc:source + dc:subject + dc:title + dc:type + dct:abstract + dct:modified + ows:BoundingBox + + + + + http://demo.pycsw.org/gisdata/csw + + + + + 10 + + + + + SOAP + XML + + + + + allowed + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + http://www.opengis.net/gml + + + + + TRUE + + + + diff --git a/tests/functionaltests/suites/csw30/expected/get_604d9379-741c-42e5-b4cf-92e56c87fa64.xml b/tests/functionaltests/suites/csw30/expected/get_604d9379-741c-42e5-b4cf-92e56c87fa64.xml new file mode 100644 index 000000000..17019ae5c --- /dev/null +++ b/tests/functionaltests/suites/csw30/expected/get_604d9379-741c-42e5-b4cf-92e56c87fa64.xml @@ -0,0 +1,32 @@ + + + + + + + urn:uuid:1ef30a8b-876d-4828-9246-c37ab4510bbd + + http://purl.org/dc/dcmitype/Service + Proin sit amet justo. In justo. Aenean adipiscing nulla id tellus. + + 60.04 13.75 + 68.41 17.92 + + + + urn:uuid:784e2afd-a9fd-44a6-9a92-a3848371c8ec + Aliquam fermentum purus quis arcu + http://purl.org/dc/dcmitype/Text + Hydrography--Dictionaries + application/pdf + Vestibulum quis ipsum sit amet metus imperdiet vehicula. Nulla scelerisque cursus mi. + 2006-05-12 + + + urn:uuid:a06af396-3105-442d-8b40-22b57a90d2f2 + Lorem ipsum dolor sit amet + http://purl.org/dc/dcmitype/Image + image/jpeg + + + diff --git a/tests/functionaltests/suites/csw30/expected/get_60e6af95-d5fc-465a-82e2-fd2e6d85e4af.xml b/tests/functionaltests/suites/csw30/expected/get_60e6af95-d5fc-465a-82e2-fd2e6d85e4af.xml new file mode 100644 index 000000000..d4ac1d550 --- /dev/null +++ b/tests/functionaltests/suites/csw30/expected/get_60e6af95-d5fc-465a-82e2-fd2e6d85e4af.xml @@ -0,0 +1,7 @@ + + + + + Invalid typeNames parameter value: UnknownType + + diff --git a/tests/functionaltests/suites/csw30/expected/get_62ad94c2-b558-4265-a427-23d6677975d6.xml b/tests/functionaltests/suites/csw30/expected/get_62ad94c2-b558-4265-a427-23d6677975d6.xml new file mode 100644 index 000000000..faf07a500 --- /dev/null +++ b/tests/functionaltests/suites/csw30/expected/get_62ad94c2-b558-4265-a427-23d6677975d6.xml @@ -0,0 +1,7 @@ + + + + + No records found for 'uid-bc5017e6-5cc8-4b03-aee7-d88f88caba0a' + + diff --git a/tests/functionaltests/suites/csw30/expected/get_6a5e247b-0961-4b8a-a0d6-35a491d9cfe7.xml b/tests/functionaltests/suites/csw30/expected/get_6a5e247b-0961-4b8a-a0d6-35a491d9cfe7.xml new file mode 100644 index 000000000..5912e69e9 --- /dev/null +++ b/tests/functionaltests/suites/csw30/expected/get_6a5e247b-0961-4b8a-a0d6-35a491d9cfe7.xml @@ -0,0 +1,7 @@ + + + + + Invalid ElementSetName parameter value: undefined-view + + diff --git a/tests/functionaltests/suites/csw30/expected/get_6a9d0558-9d87-495b-b999-b49a3ef1cf99.xml b/tests/functionaltests/suites/csw30/expected/get_6a9d0558-9d87-495b-b999-b49a3ef1cf99.xml new file mode 100644 index 000000000..ce9c9355d --- /dev/null +++ b/tests/functionaltests/suites/csw30/expected/get_6a9d0558-9d87-495b-b999-b49a3ef1cf99.xml @@ -0,0 +1,491 @@ + + + + + pycsw Geospatial Catalogue + pycsw is an OGC CSW server implementation written in Python + + catalogue + discovery + theme + + CSW + 2.0.2 + 3.0.0 + None + None + + + pycsw + + + Kralidis, Tom + Senior Systems Scientist + + + +01-416-xxx-xxxx + +01-416-xxx-xxxx + + + TBA + Toronto + Ontario + M9C 3Z9 + Canada + tomkralidis@gmail.com + + + 0800h - 1600h EST + During hours of service. Off on weekends. + + pointOfContact + + + + + + + + + + + + + application/xml + text/xml + + + + + 2.0.2 + 3.0.0 + + + + + All + Filter_Capabilities + OperationsMetadata + ServiceIdentification + ServiceProvider + + + + + + + + + + + + + GetCapabilities.acceptFormats + GetCapabilities.acceptVersions + GetCapabilities.sections + GetRecordById.ElementSetName + GetRecordById.outputFormat + GetRecordById.outputSchema + GetRecords.CONSTRAINTLANGUAGE + GetRecords.ElementSetName + GetRecords.outputFormat + GetRecords.outputSchema + GetRecords.typeNames + + + + + + + + + + + + + CQL_TEXT + FILTER + + + + + brief + full + summary + + + + + application/atom+xml + application/json + application/xml + + + + + http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ + http://www.interlis.ch/INTERLIS2.3 + http://www.opengis.net/cat/csw/3.0 + http://www.opengis.net/cat/csw/csdgm + http://www.w3.org/2005/Atom + + + + + csw:Record + + + + + 10 + + + + + http://localhost/pycsw/csw.py?config=tests/suites/csw30/default.cfg?mode=opensearch&service=CSW&version=3.0.0&request=GetCapabilities + + + + + http://demo.pycsw.org/gisdata/csw + + + + + + + + + + + + + brief + full + summary + + + + + application/atom+xml + application/json + application/xml + + + + + http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ + http://www.interlis.ch/INTERLIS2.3 + http://www.opengis.net/cat/csw/3.0 + http://www.opengis.net/cat/csw/csdgm + http://www.w3.org/2005/Atom + + + + + + + + + + + + + CSW + + + + + 2.0.2 + 3.0.0 + + + + + csw:AnyText + dc:contributor + dc:creator + dc:date + dc:format + dc:identifier + dc:language + dc:publisher + dc:relation + dc:rights + dc:source + dc:subject + dc:title + dc:type + dct:abstract + dct:modified + ows:BoundingBox + + + + + http://demo.pycsw.org/gisdata/csw + + + + + 10 + + + + + SOAP + XML + + + + + allowed + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + http://www.opengis.net/gml + + + + + TRUE + + + + + en + + + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + xs:string + + + xs:string + + + xs:string + + + xs:string + + + xs:string + + + xs:string + + + + diff --git a/tests/functionaltests/suites/csw30/expected/get_6bd790c9-6019-4652-9c91-330a894d6700.xml b/tests/functionaltests/suites/csw30/expected/get_6bd790c9-6019-4652-9c91-330a894d6700.xml new file mode 100644 index 000000000..1430fc363 --- /dev/null +++ b/tests/functionaltests/suites/csw30/expected/get_6bd790c9-6019-4652-9c91-330a894d6700.xml @@ -0,0 +1,16 @@ + + + + + + + urn:uuid:e9330592-0932-474b-be34-c3a3bb67c7db + Fuscé vitae ligulä + http://purl.org/dc/dcmitype/Text + Land titles + text/rtf + Morbi ultriçes, dui suscipit vestibulum prètium, velit ante pretium tortor, egët tincidunt pede odio ac nulla. + 2003-05-09 + + + diff --git a/tests/functionaltests/suites/csw30/expected/get_6e9cba43-5e27-415d-adbd-a92851c2c173.xml b/tests/functionaltests/suites/csw30/expected/get_6e9cba43-5e27-415d-adbd-a92851c2c173.xml new file mode 100644 index 000000000..ce9c9355d --- /dev/null +++ b/tests/functionaltests/suites/csw30/expected/get_6e9cba43-5e27-415d-adbd-a92851c2c173.xml @@ -0,0 +1,491 @@ + + + + + pycsw Geospatial Catalogue + pycsw is an OGC CSW server implementation written in Python + + catalogue + discovery + theme + + CSW + 2.0.2 + 3.0.0 + None + None + + + pycsw + + + Kralidis, Tom + Senior Systems Scientist + + + +01-416-xxx-xxxx + +01-416-xxx-xxxx + + + TBA + Toronto + Ontario + M9C 3Z9 + Canada + tomkralidis@gmail.com + + + 0800h - 1600h EST + During hours of service. Off on weekends. + + pointOfContact + + + + + + + + + + + + + application/xml + text/xml + + + + + 2.0.2 + 3.0.0 + + + + + All + Filter_Capabilities + OperationsMetadata + ServiceIdentification + ServiceProvider + + + + + + + + + + + + + GetCapabilities.acceptFormats + GetCapabilities.acceptVersions + GetCapabilities.sections + GetRecordById.ElementSetName + GetRecordById.outputFormat + GetRecordById.outputSchema + GetRecords.CONSTRAINTLANGUAGE + GetRecords.ElementSetName + GetRecords.outputFormat + GetRecords.outputSchema + GetRecords.typeNames + + + + + + + + + + + + + CQL_TEXT + FILTER + + + + + brief + full + summary + + + + + application/atom+xml + application/json + application/xml + + + + + http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ + http://www.interlis.ch/INTERLIS2.3 + http://www.opengis.net/cat/csw/3.0 + http://www.opengis.net/cat/csw/csdgm + http://www.w3.org/2005/Atom + + + + + csw:Record + + + + + 10 + + + + + http://localhost/pycsw/csw.py?config=tests/suites/csw30/default.cfg?mode=opensearch&service=CSW&version=3.0.0&request=GetCapabilities + + + + + http://demo.pycsw.org/gisdata/csw + + + + + + + + + + + + + brief + full + summary + + + + + application/atom+xml + application/json + application/xml + + + + + http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ + http://www.interlis.ch/INTERLIS2.3 + http://www.opengis.net/cat/csw/3.0 + http://www.opengis.net/cat/csw/csdgm + http://www.w3.org/2005/Atom + + + + + + + + + + + + + CSW + + + + + 2.0.2 + 3.0.0 + + + + + csw:AnyText + dc:contributor + dc:creator + dc:date + dc:format + dc:identifier + dc:language + dc:publisher + dc:relation + dc:rights + dc:source + dc:subject + dc:title + dc:type + dct:abstract + dct:modified + ows:BoundingBox + + + + + http://demo.pycsw.org/gisdata/csw + + + + + 10 + + + + + SOAP + XML + + + + + allowed + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + http://www.opengis.net/gml + + + + + TRUE + + + + + en + + + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + xs:string + + + xs:string + + + xs:string + + + xs:string + + + xs:string + + + xs:string + + + + diff --git a/tests/functionaltests/suites/csw30/expected/get_7630d230-e142-4a09-accf-f091000b90cd.xml b/tests/functionaltests/suites/csw30/expected/get_7630d230-e142-4a09-accf-f091000b90cd.xml new file mode 100644 index 000000000..9a891dc4d --- /dev/null +++ b/tests/functionaltests/suites/csw30/expected/get_7630d230-e142-4a09-accf-f091000b90cd.xml @@ -0,0 +1,10 @@ + + + + urn:uuid:66ae76b7-54ba-489b-a582-0f0633d96493 + Maecenas enim + http://purl.org/dc/dcmitype/Text + Marine sediments + application/xhtml+xml + Pellentesque tempus magna non sapien fringilla blandit. + diff --git a/tests/functionaltests/suites/csw30/expected/get_7e82446a-b5dc-43fe-9a73-4cc1f2f2f0bf.xml b/tests/functionaltests/suites/csw30/expected/get_7e82446a-b5dc-43fe-9a73-4cc1f2f2f0bf.xml new file mode 100644 index 000000000..ce9c9355d --- /dev/null +++ b/tests/functionaltests/suites/csw30/expected/get_7e82446a-b5dc-43fe-9a73-4cc1f2f2f0bf.xml @@ -0,0 +1,491 @@ + + + + + pycsw Geospatial Catalogue + pycsw is an OGC CSW server implementation written in Python + + catalogue + discovery + theme + + CSW + 2.0.2 + 3.0.0 + None + None + + + pycsw + + + Kralidis, Tom + Senior Systems Scientist + + + +01-416-xxx-xxxx + +01-416-xxx-xxxx + + + TBA + Toronto + Ontario + M9C 3Z9 + Canada + tomkralidis@gmail.com + + + 0800h - 1600h EST + During hours of service. Off on weekends. + + pointOfContact + + + + + + + + + + + + + application/xml + text/xml + + + + + 2.0.2 + 3.0.0 + + + + + All + Filter_Capabilities + OperationsMetadata + ServiceIdentification + ServiceProvider + + + + + + + + + + + + + GetCapabilities.acceptFormats + GetCapabilities.acceptVersions + GetCapabilities.sections + GetRecordById.ElementSetName + GetRecordById.outputFormat + GetRecordById.outputSchema + GetRecords.CONSTRAINTLANGUAGE + GetRecords.ElementSetName + GetRecords.outputFormat + GetRecords.outputSchema + GetRecords.typeNames + + + + + + + + + + + + + CQL_TEXT + FILTER + + + + + brief + full + summary + + + + + application/atom+xml + application/json + application/xml + + + + + http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ + http://www.interlis.ch/INTERLIS2.3 + http://www.opengis.net/cat/csw/3.0 + http://www.opengis.net/cat/csw/csdgm + http://www.w3.org/2005/Atom + + + + + csw:Record + + + + + 10 + + + + + http://localhost/pycsw/csw.py?config=tests/suites/csw30/default.cfg?mode=opensearch&service=CSW&version=3.0.0&request=GetCapabilities + + + + + http://demo.pycsw.org/gisdata/csw + + + + + + + + + + + + + brief + full + summary + + + + + application/atom+xml + application/json + application/xml + + + + + http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ + http://www.interlis.ch/INTERLIS2.3 + http://www.opengis.net/cat/csw/3.0 + http://www.opengis.net/cat/csw/csdgm + http://www.w3.org/2005/Atom + + + + + + + + + + + + + CSW + + + + + 2.0.2 + 3.0.0 + + + + + csw:AnyText + dc:contributor + dc:creator + dc:date + dc:format + dc:identifier + dc:language + dc:publisher + dc:relation + dc:rights + dc:source + dc:subject + dc:title + dc:type + dct:abstract + dct:modified + ows:BoundingBox + + + + + http://demo.pycsw.org/gisdata/csw + + + + + 10 + + + + + SOAP + XML + + + + + allowed + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + http://www.opengis.net/gml + + + + + TRUE + + + + + en + + + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + xs:string + + + xs:string + + + xs:string + + + xs:string + + + xs:string + + + xs:string + + + + diff --git a/tests/functionaltests/suites/csw30/expected/get_8025978e-1a35-4d70-80c2-e8329e0c7864.xml b/tests/functionaltests/suites/csw30/expected/get_8025978e-1a35-4d70-80c2-e8329e0c7864.xml new file mode 100644 index 000000000..ce9c9355d --- /dev/null +++ b/tests/functionaltests/suites/csw30/expected/get_8025978e-1a35-4d70-80c2-e8329e0c7864.xml @@ -0,0 +1,491 @@ + + + + + pycsw Geospatial Catalogue + pycsw is an OGC CSW server implementation written in Python + + catalogue + discovery + theme + + CSW + 2.0.2 + 3.0.0 + None + None + + + pycsw + + + Kralidis, Tom + Senior Systems Scientist + + + +01-416-xxx-xxxx + +01-416-xxx-xxxx + + + TBA + Toronto + Ontario + M9C 3Z9 + Canada + tomkralidis@gmail.com + + + 0800h - 1600h EST + During hours of service. Off on weekends. + + pointOfContact + + + + + + + + + + + + + application/xml + text/xml + + + + + 2.0.2 + 3.0.0 + + + + + All + Filter_Capabilities + OperationsMetadata + ServiceIdentification + ServiceProvider + + + + + + + + + + + + + GetCapabilities.acceptFormats + GetCapabilities.acceptVersions + GetCapabilities.sections + GetRecordById.ElementSetName + GetRecordById.outputFormat + GetRecordById.outputSchema + GetRecords.CONSTRAINTLANGUAGE + GetRecords.ElementSetName + GetRecords.outputFormat + GetRecords.outputSchema + GetRecords.typeNames + + + + + + + + + + + + + CQL_TEXT + FILTER + + + + + brief + full + summary + + + + + application/atom+xml + application/json + application/xml + + + + + http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ + http://www.interlis.ch/INTERLIS2.3 + http://www.opengis.net/cat/csw/3.0 + http://www.opengis.net/cat/csw/csdgm + http://www.w3.org/2005/Atom + + + + + csw:Record + + + + + 10 + + + + + http://localhost/pycsw/csw.py?config=tests/suites/csw30/default.cfg?mode=opensearch&service=CSW&version=3.0.0&request=GetCapabilities + + + + + http://demo.pycsw.org/gisdata/csw + + + + + + + + + + + + + brief + full + summary + + + + + application/atom+xml + application/json + application/xml + + + + + http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ + http://www.interlis.ch/INTERLIS2.3 + http://www.opengis.net/cat/csw/3.0 + http://www.opengis.net/cat/csw/csdgm + http://www.w3.org/2005/Atom + + + + + + + + + + + + + CSW + + + + + 2.0.2 + 3.0.0 + + + + + csw:AnyText + dc:contributor + dc:creator + dc:date + dc:format + dc:identifier + dc:language + dc:publisher + dc:relation + dc:rights + dc:source + dc:subject + dc:title + dc:type + dct:abstract + dct:modified + ows:BoundingBox + + + + + http://demo.pycsw.org/gisdata/csw + + + + + 10 + + + + + SOAP + XML + + + + + allowed + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + http://www.opengis.net/gml + + + + + TRUE + + + + + en + + + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + xs:string + + + xs:string + + + xs:string + + + xs:string + + + xs:string + + + xs:string + + + + diff --git a/tests/functionaltests/suites/csw30/expected/get_8184ae4f-536d-4978-8b28-ad703be96967.xml b/tests/functionaltests/suites/csw30/expected/get_8184ae4f-536d-4978-8b28-ad703be96967.xml new file mode 100644 index 000000000..0965e0534 --- /dev/null +++ b/tests/functionaltests/suites/csw30/expected/get_8184ae4f-536d-4978-8b28-ad703be96967.xml @@ -0,0 +1,34 @@ + + + + + + + urn:uuid:1ef30a8b-876d-4828-9246-c37ab4510bbd + + http://purl.org/dc/dcmitype/Service + + 60.04 13.75 + 68.41 17.92 + + + + urn:uuid:94bc9c83-97f6-4b40-9eb8-a8e8787a5c63 + Mauris sed neque + http://purl.org/dc/dcmitype/Dataset + + 47.59 -4.1 + 51.22 0.89 + + + + urn:uuid:9a669547-b69b-469f-a11f-2d875366bbdc + Ñunç elementum + http://purl.org/dc/dcmitype/Dataset + + 44.79 -6.17 + 51.13 -2.23 + + + + diff --git a/tests/functionaltests/suites/csw30/expected/get_88f63a89-664f-4315-b4f8-04a0b33803a7.xml b/tests/functionaltests/suites/csw30/expected/get_88f63a89-664f-4315-b4f8-04a0b33803a7.xml new file mode 100644 index 000000000..63e215121 --- /dev/null +++ b/tests/functionaltests/suites/csw30/expected/get_88f63a89-664f-4315-b4f8-04a0b33803a7.xml @@ -0,0 +1,18 @@ + + + + + + + urn:uuid:94bc9c83-97f6-4b40-9eb8-a8e8787a5c63 + Mauris sed neque + http://purl.org/dc/dcmitype/Dataset + Vegetation-Cropland + Curabitur lacinia, ante non porta tempus, mi lorem feugiat odio, eget suscipit eros pede ac velit. + + 47.59 -4.1 + 51.22 0.89 + + + + diff --git a/tests/functionaltests/suites/csw30/expected/get_8987f8f0-4d93-4481-968c-a2ccbd6b8be2.xml b/tests/functionaltests/suites/csw30/expected/get_8987f8f0-4d93-4481-968c-a2ccbd6b8be2.xml new file mode 100644 index 000000000..d40a39ab3 --- /dev/null +++ b/tests/functionaltests/suites/csw30/expected/get_8987f8f0-4d93-4481-968c-a2ccbd6b8be2.xml @@ -0,0 +1,7 @@ + + + + + No repository item found for 'urn:example:1461546298217' + + diff --git a/tests/functionaltests/suites/csw30/expected/get_8e5fa0f6-3f29-4d1f-abe2-d9866f3def98.xml b/tests/functionaltests/suites/csw30/expected/get_8e5fa0f6-3f29-4d1f-abe2-d9866f3def98.xml new file mode 100644 index 000000000..6a8e4b02d --- /dev/null +++ b/tests/functionaltests/suites/csw30/expected/get_8e5fa0f6-3f29-4d1f-abe2-d9866f3def98.xml @@ -0,0 +1,58 @@ + + + + http://localhost/pycsw/csw.py?config=tests/suites/csw30/default.cfg + pycsw Geospatial Catalogue + + pycsw + + diff --git a/tests/functionaltests/suites/csw30/expected/get_9000ec29-5649-474e-b2d6-55c00f8a52c0.xml b/tests/functionaltests/suites/csw30/expected/get_9000ec29-5649-474e-b2d6-55c00f8a52c0.xml new file mode 100644 index 000000000..3e5a418e8 --- /dev/null +++ b/tests/functionaltests/suites/csw30/expected/get_9000ec29-5649-474e-b2d6-55c00f8a52c0.xml @@ -0,0 +1,7 @@ + + + + + Invalid parameter value in acceptversions: 9999.12.31. Value MUST be 2.0.2 or 3.0.0 + + diff --git a/tests/functionaltests/suites/csw30/expected/get_91914d35-7bbf-45e6-9b37-5ef484869a4e.xml b/tests/functionaltests/suites/csw30/expected/get_91914d35-7bbf-45e6-9b37-5ef484869a4e.xml new file mode 100644 index 000000000..ef58aa944 --- /dev/null +++ b/tests/functionaltests/suites/csw30/expected/get_91914d35-7bbf-45e6-9b37-5ef484869a4e.xml @@ -0,0 +1,38 @@ + + + + + + + urn:uuid:1ef30a8b-876d-4828-9246-c37ab4510bbd + + http://purl.org/dc/dcmitype/Service + Proin sit amet justo. In justo. Aenean adipiscing nulla id tellus. + + 60.04 13.75 + 68.41 17.92 + + + + urn:uuid:94bc9c83-97f6-4b40-9eb8-a8e8787a5c63 + Mauris sed neque + http://purl.org/dc/dcmitype/Dataset + Vegetation-Cropland + Curabitur lacinia, ante non porta tempus, mi lorem feugiat odio, eget suscipit eros pede ac velit. + + 47.59 -4.1 + 51.22 0.89 + + + + urn:uuid:9a669547-b69b-469f-a11f-2d875366bbdc + Ñunç elementum + http://purl.org/dc/dcmitype/Dataset + Hydrography-Oceanographic + + 44.79 -6.17 + 51.13 -2.23 + + + + diff --git a/tests/functionaltests/suites/csw30/expected/get_92d4844d-57d5-4cf3-8f47-ba50e369dc04.xml b/tests/functionaltests/suites/csw30/expected/get_92d4844d-57d5-4cf3-8f47-ba50e369dc04.xml new file mode 100644 index 000000000..d91c31b05 --- /dev/null +++ b/tests/functionaltests/suites/csw30/expected/get_92d4844d-57d5-4cf3-8f47-ba50e369dc04.xml @@ -0,0 +1,6 @@ + + + + + + diff --git a/tests/functionaltests/suites/csw30/expected/get_9c0e2a4b-b4e6-41c0-b630-c8c99fc89ff3.xml b/tests/functionaltests/suites/csw30/expected/get_9c0e2a4b-b4e6-41c0-b630-c8c99fc89ff3.xml new file mode 100644 index 000000000..e01594260 --- /dev/null +++ b/tests/functionaltests/suites/csw30/expected/get_9c0e2a4b-b4e6-41c0-b630-c8c99fc89ff3.xml @@ -0,0 +1,7 @@ + + + + + Invalid outputSchema parameter value: urn:uuid:6a29d2a8-9651-47a6-9b14-f05d2b5644f0 + + diff --git a/tests/functionaltests/suites/csw30/expected/get_9d7ffac8-9798-428d-8e27-3cd12497ee6b.xml b/tests/functionaltests/suites/csw30/expected/get_9d7ffac8-9798-428d-8e27-3cd12497ee6b.xml new file mode 100644 index 000000000..e57613754 --- /dev/null +++ b/tests/functionaltests/suites/csw30/expected/get_9d7ffac8-9798-428d-8e27-3cd12497ee6b.xml @@ -0,0 +1,7 @@ + + + + + Invalid outputschema parameter http://www.example.org/ns/alpha + + diff --git a/tests/functionaltests/suites/csw30/expected/get_Exception-GetDomain-value-reference.xml b/tests/functionaltests/suites/csw30/expected/get_Exception-GetDomain-value-reference.xml new file mode 100644 index 000000000..3c1621b02 --- /dev/null +++ b/tests/functionaltests/suites/csw30/expected/get_Exception-GetDomain-value-reference.xml @@ -0,0 +1,7 @@ + + + + + dc:title2 + + diff --git a/tests/functionaltests/suites/csw30/expected/get_Exception-GetDomain.xml b/tests/functionaltests/suites/csw30/expected/get_Exception-GetDomain.xml new file mode 100644 index 000000000..ead68239e --- /dev/null +++ b/tests/functionaltests/suites/csw30/expected/get_Exception-GetDomain.xml @@ -0,0 +1,7 @@ + + + + + Missing value. One of valuereference or parametername must be specified + + diff --git a/tests/functionaltests/suites/csw30/expected/get_Exception-GetRecordById-404.xml b/tests/functionaltests/suites/csw30/expected/get_Exception-GetRecordById-404.xml new file mode 100644 index 000000000..bd41e1dfd --- /dev/null +++ b/tests/functionaltests/suites/csw30/expected/get_Exception-GetRecordById-404.xml @@ -0,0 +1,7 @@ + + + + + No repository item found for 'does_not_exist2' + + diff --git a/tests/functionaltests/suites/csw30/expected/get_Exception-GetRecordById-dc.xml.xml b/tests/functionaltests/suites/csw30/expected/get_Exception-GetRecordById-dc.xml.xml new file mode 100644 index 000000000..536321c2f --- /dev/null +++ b/tests/functionaltests/suites/csw30/expected/get_Exception-GetRecordById-dc.xml.xml @@ -0,0 +1,9 @@ + + + + urn:uuid:829babb0-b2f1-49e1-8cd5-7b489fe71a1e + Vestibulum massa purus + http://purl.org/dc/dcmitype/Image + image/jp2 + urn:uuid:9a669547-b69b-469f-a11f-2d875366bbdc + diff --git a/tests/functionaltests/suites/csw30/expected/get_Exception-GetRepositoryItem-notfound.xml b/tests/functionaltests/suites/csw30/expected/get_Exception-GetRepositoryItem-notfound.xml new file mode 100644 index 000000000..04c7e9c7d --- /dev/null +++ b/tests/functionaltests/suites/csw30/expected/get_Exception-GetRepositoryItem-notfound.xml @@ -0,0 +1,7 @@ + + + + + No repository item found for 'NOTFOUND' + + diff --git a/tests/functionaltests/suites/csw30/expected/get_Exception-invalid-request.xml b/tests/functionaltests/suites/csw30/expected/get_Exception-invalid-request.xml new file mode 100644 index 000000000..4cd3418d0 --- /dev/null +++ b/tests/functionaltests/suites/csw30/expected/get_Exception-invalid-request.xml @@ -0,0 +1,7 @@ + + + + + Invalid value for request: GetCapabilities-foo + + diff --git a/tests/functionaltests/suites/csw30/expected/get_GetCapabilities-base-url.xml b/tests/functionaltests/suites/csw30/expected/get_GetCapabilities-base-url.xml new file mode 100644 index 000000000..ce9c9355d --- /dev/null +++ b/tests/functionaltests/suites/csw30/expected/get_GetCapabilities-base-url.xml @@ -0,0 +1,491 @@ + + + + + pycsw Geospatial Catalogue + pycsw is an OGC CSW server implementation written in Python + + catalogue + discovery + theme + + CSW + 2.0.2 + 3.0.0 + None + None + + + pycsw + + + Kralidis, Tom + Senior Systems Scientist + + + +01-416-xxx-xxxx + +01-416-xxx-xxxx + + + TBA + Toronto + Ontario + M9C 3Z9 + Canada + tomkralidis@gmail.com + + + 0800h - 1600h EST + During hours of service. Off on weekends. + + pointOfContact + + + + + + + + + + + + + application/xml + text/xml + + + + + 2.0.2 + 3.0.0 + + + + + All + Filter_Capabilities + OperationsMetadata + ServiceIdentification + ServiceProvider + + + + + + + + + + + + + GetCapabilities.acceptFormats + GetCapabilities.acceptVersions + GetCapabilities.sections + GetRecordById.ElementSetName + GetRecordById.outputFormat + GetRecordById.outputSchema + GetRecords.CONSTRAINTLANGUAGE + GetRecords.ElementSetName + GetRecords.outputFormat + GetRecords.outputSchema + GetRecords.typeNames + + + + + + + + + + + + + CQL_TEXT + FILTER + + + + + brief + full + summary + + + + + application/atom+xml + application/json + application/xml + + + + + http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ + http://www.interlis.ch/INTERLIS2.3 + http://www.opengis.net/cat/csw/3.0 + http://www.opengis.net/cat/csw/csdgm + http://www.w3.org/2005/Atom + + + + + csw:Record + + + + + 10 + + + + + http://localhost/pycsw/csw.py?config=tests/suites/csw30/default.cfg?mode=opensearch&service=CSW&version=3.0.0&request=GetCapabilities + + + + + http://demo.pycsw.org/gisdata/csw + + + + + + + + + + + + + brief + full + summary + + + + + application/atom+xml + application/json + application/xml + + + + + http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ + http://www.interlis.ch/INTERLIS2.3 + http://www.opengis.net/cat/csw/3.0 + http://www.opengis.net/cat/csw/csdgm + http://www.w3.org/2005/Atom + + + + + + + + + + + + + CSW + + + + + 2.0.2 + 3.0.0 + + + + + csw:AnyText + dc:contributor + dc:creator + dc:date + dc:format + dc:identifier + dc:language + dc:publisher + dc:relation + dc:rights + dc:source + dc:subject + dc:title + dc:type + dct:abstract + dct:modified + ows:BoundingBox + + + + + http://demo.pycsw.org/gisdata/csw + + + + + 10 + + + + + SOAP + XML + + + + + allowed + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + http://www.opengis.net/gml + + + + + TRUE + + + + + en + + + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + xs:string + + + xs:string + + + xs:string + + + xs:string + + + xs:string + + + xs:string + + + + diff --git a/tests/functionaltests/suites/csw30/expected/get_GetCapabilities-no-version.xml b/tests/functionaltests/suites/csw30/expected/get_GetCapabilities-no-version.xml new file mode 100644 index 000000000..ce9c9355d --- /dev/null +++ b/tests/functionaltests/suites/csw30/expected/get_GetCapabilities-no-version.xml @@ -0,0 +1,491 @@ + + + + + pycsw Geospatial Catalogue + pycsw is an OGC CSW server implementation written in Python + + catalogue + discovery + theme + + CSW + 2.0.2 + 3.0.0 + None + None + + + pycsw + + + Kralidis, Tom + Senior Systems Scientist + + + +01-416-xxx-xxxx + +01-416-xxx-xxxx + + + TBA + Toronto + Ontario + M9C 3Z9 + Canada + tomkralidis@gmail.com + + + 0800h - 1600h EST + During hours of service. Off on weekends. + + pointOfContact + + + + + + + + + + + + + application/xml + text/xml + + + + + 2.0.2 + 3.0.0 + + + + + All + Filter_Capabilities + OperationsMetadata + ServiceIdentification + ServiceProvider + + + + + + + + + + + + + GetCapabilities.acceptFormats + GetCapabilities.acceptVersions + GetCapabilities.sections + GetRecordById.ElementSetName + GetRecordById.outputFormat + GetRecordById.outputSchema + GetRecords.CONSTRAINTLANGUAGE + GetRecords.ElementSetName + GetRecords.outputFormat + GetRecords.outputSchema + GetRecords.typeNames + + + + + + + + + + + + + CQL_TEXT + FILTER + + + + + brief + full + summary + + + + + application/atom+xml + application/json + application/xml + + + + + http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ + http://www.interlis.ch/INTERLIS2.3 + http://www.opengis.net/cat/csw/3.0 + http://www.opengis.net/cat/csw/csdgm + http://www.w3.org/2005/Atom + + + + + csw:Record + + + + + 10 + + + + + http://localhost/pycsw/csw.py?config=tests/suites/csw30/default.cfg?mode=opensearch&service=CSW&version=3.0.0&request=GetCapabilities + + + + + http://demo.pycsw.org/gisdata/csw + + + + + + + + + + + + + brief + full + summary + + + + + application/atom+xml + application/json + application/xml + + + + + http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ + http://www.interlis.ch/INTERLIS2.3 + http://www.opengis.net/cat/csw/3.0 + http://www.opengis.net/cat/csw/csdgm + http://www.w3.org/2005/Atom + + + + + + + + + + + + + CSW + + + + + 2.0.2 + 3.0.0 + + + + + csw:AnyText + dc:contributor + dc:creator + dc:date + dc:format + dc:identifier + dc:language + dc:publisher + dc:relation + dc:rights + dc:source + dc:subject + dc:title + dc:type + dct:abstract + dct:modified + ows:BoundingBox + + + + + http://demo.pycsw.org/gisdata/csw + + + + + 10 + + + + + SOAP + XML + + + + + allowed + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + http://www.opengis.net/gml + + + + + TRUE + + + + + en + + + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + xs:string + + + xs:string + + + xs:string + + + xs:string + + + xs:string + + + xs:string + + + + diff --git a/tests/functionaltests/suites/csw30/expected/get_GetCapabilities.xml b/tests/functionaltests/suites/csw30/expected/get_GetCapabilities.xml new file mode 100644 index 000000000..ce9c9355d --- /dev/null +++ b/tests/functionaltests/suites/csw30/expected/get_GetCapabilities.xml @@ -0,0 +1,491 @@ + + + + + pycsw Geospatial Catalogue + pycsw is an OGC CSW server implementation written in Python + + catalogue + discovery + theme + + CSW + 2.0.2 + 3.0.0 + None + None + + + pycsw + + + Kralidis, Tom + Senior Systems Scientist + + + +01-416-xxx-xxxx + +01-416-xxx-xxxx + + + TBA + Toronto + Ontario + M9C 3Z9 + Canada + tomkralidis@gmail.com + + + 0800h - 1600h EST + During hours of service. Off on weekends. + + pointOfContact + + + + + + + + + + + + + application/xml + text/xml + + + + + 2.0.2 + 3.0.0 + + + + + All + Filter_Capabilities + OperationsMetadata + ServiceIdentification + ServiceProvider + + + + + + + + + + + + + GetCapabilities.acceptFormats + GetCapabilities.acceptVersions + GetCapabilities.sections + GetRecordById.ElementSetName + GetRecordById.outputFormat + GetRecordById.outputSchema + GetRecords.CONSTRAINTLANGUAGE + GetRecords.ElementSetName + GetRecords.outputFormat + GetRecords.outputSchema + GetRecords.typeNames + + + + + + + + + + + + + CQL_TEXT + FILTER + + + + + brief + full + summary + + + + + application/atom+xml + application/json + application/xml + + + + + http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ + http://www.interlis.ch/INTERLIS2.3 + http://www.opengis.net/cat/csw/3.0 + http://www.opengis.net/cat/csw/csdgm + http://www.w3.org/2005/Atom + + + + + csw:Record + + + + + 10 + + + + + http://localhost/pycsw/csw.py?config=tests/suites/csw30/default.cfg?mode=opensearch&service=CSW&version=3.0.0&request=GetCapabilities + + + + + http://demo.pycsw.org/gisdata/csw + + + + + + + + + + + + + brief + full + summary + + + + + application/atom+xml + application/json + application/xml + + + + + http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ + http://www.interlis.ch/INTERLIS2.3 + http://www.opengis.net/cat/csw/3.0 + http://www.opengis.net/cat/csw/csdgm + http://www.w3.org/2005/Atom + + + + + + + + + + + + + CSW + + + + + 2.0.2 + 3.0.0 + + + + + csw:AnyText + dc:contributor + dc:creator + dc:date + dc:format + dc:identifier + dc:language + dc:publisher + dc:relation + dc:rights + dc:source + dc:subject + dc:title + dc:type + dct:abstract + dct:modified + ows:BoundingBox + + + + + http://demo.pycsw.org/gisdata/csw + + + + + 10 + + + + + SOAP + XML + + + + + allowed + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + http://www.opengis.net/gml + + + + + TRUE + + + + + en + + + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + xs:string + + + xs:string + + + xs:string + + + xs:string + + + xs:string + + + xs:string + + + + diff --git a/tests/functionaltests/suites/csw30/expected/get_GetDomain-parameter.xml b/tests/functionaltests/suites/csw30/expected/get_GetDomain-parameter.xml new file mode 100644 index 000000000..6b8227f71 --- /dev/null +++ b/tests/functionaltests/suites/csw30/expected/get_GetDomain-parameter.xml @@ -0,0 +1,12 @@ + + + + + GetRecords.ElementSetName + + brief + full + summary + + + diff --git a/tests/functionaltests/suites/csw30/expected/get_GetDomain-value-reference.xml b/tests/functionaltests/suites/csw30/expected/get_GetDomain-value-reference.xml new file mode 100644 index 000000000..3775ee212 --- /dev/null +++ b/tests/functionaltests/suites/csw30/expected/get_GetDomain-value-reference.xml @@ -0,0 +1,18 @@ + + + + + dc:title + + Aliquam fermentum purus quis arcu + Fuscé vitae ligulä + Lorem ipsum + Lorem ipsum dolor sit amet + Maecenas enim + Mauris sed neque + Ut facilisis justo ut lacus + Vestibulum massa purus + Ñunç elementum + + + diff --git a/tests/functionaltests/suites/csw30/expected/get_GetRepositoryItem.xml b/tests/functionaltests/suites/csw30/expected/get_GetRepositoryItem.xml new file mode 100644 index 000000000..862e439da --- /dev/null +++ b/tests/functionaltests/suites/csw30/expected/get_GetRepositoryItem.xml @@ -0,0 +1,11 @@ + + + + urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f + http://purl.org/dc/dcmitype/Image + image/svg+xml + Lorem ipsum + GR-22 + Tourism--Greece + Quisque lacus diam, placerat mollis, pharetra in, commodo sed, augue. Duis iaculis arcu vel arcu. + diff --git a/tests/functionaltests/suites/csw30/expected/get_OpenSearch-description.xml b/tests/functionaltests/suites/csw30/expected/get_OpenSearch-description.xml new file mode 100644 index 000000000..60ffc8d10 --- /dev/null +++ b/tests/functionaltests/suites/csw30/expected/get_OpenSearch-description.xml @@ -0,0 +1,15 @@ + + + + pycsw Geospatial + pycsw Geospatial Catalogue + pycsw is an OGC CSW server implementation written in Python + catalogue discovery + + + http://pycsw.org/img/favicon.ico + + Kralidis, Tom + tomkralidis@gmail.com + pycsw + diff --git a/tests/functionaltests/suites/csw30/expected/get_a2f18643-e24e-4fa5-b780-6de4a2dbc814.xml b/tests/functionaltests/suites/csw30/expected/get_a2f18643-e24e-4fa5-b780-6de4a2dbc814.xml new file mode 100644 index 000000000..96afaaf6f --- /dev/null +++ b/tests/functionaltests/suites/csw30/expected/get_a2f18643-e24e-4fa5-b780-6de4a2dbc814.xml @@ -0,0 +1,9 @@ + + + + urn:uuid:829babb0-b2f1-49e1-8cd5-7b489fe71a1e + urn:uuid:829babb0-b2f1-49e1-8cd5-7b489fe71a1e + + Vestibulum massa purus + PYCSW_TIMESTAMP + diff --git a/tests/functionaltests/suites/csw30/expected/get_abc90c8c-5868-4405-a73e-64c849be3b2a.xml b/tests/functionaltests/suites/csw30/expected/get_abc90c8c-5868-4405-a73e-64c849be3b2a.xml new file mode 100644 index 000000000..f0c8bac70 --- /dev/null +++ b/tests/functionaltests/suites/csw30/expected/get_abc90c8c-5868-4405-a73e-64c849be3b2a.xml @@ -0,0 +1,7 @@ + + + + + 4326 coordinates out of range: ['514432', '5429689', '529130', '5451619'] + + diff --git a/tests/functionaltests/suites/csw30/expected/get_ad0c0571-09ed-436a-9a4f-a5de744c88fe.xml b/tests/functionaltests/suites/csw30/expected/get_ad0c0571-09ed-436a-9a4f-a5de744c88fe.xml new file mode 100644 index 000000000..fb39b0b33 --- /dev/null +++ b/tests/functionaltests/suites/csw30/expected/get_ad0c0571-09ed-436a-9a4f-a5de744c88fe.xml @@ -0,0 +1,22 @@ + + + + + + + urn:uuid:66ae76b7-54ba-489b-a582-0f0633d96493 + Maecenas enim + http://purl.org/dc/dcmitype/Text + Marine sediments + application/xhtml+xml + Pellentesque tempus magna non sapien fringilla blandit. + + + urn:uuid:6a3de50b-fa66-4b58-a0e6-ca146fdd18d4 + Ut facilisis justo ut lacus + http://purl.org/dc/dcmitype/Service + Vegetation + urn:uuid:94bc9c83-97f6-4b40-9eb8-a8e8787a5c63 + + + diff --git a/tests/functionaltests/suites/csw30/expected/get_af502903-f4ee-47ee-b76e-af878d238bcc.xml b/tests/functionaltests/suites/csw30/expected/get_af502903-f4ee-47ee-b76e-af878d238bcc.xml new file mode 100644 index 000000000..73b0f786a --- /dev/null +++ b/tests/functionaltests/suites/csw30/expected/get_af502903-f4ee-47ee-b76e-af878d238bcc.xml @@ -0,0 +1,40 @@ + + + + + + + urn:uuid:1ef30a8b-876d-4828-9246-c37ab4510bbd + + http://purl.org/dc/dcmitype/Service + Proin sit amet justo. In justo. Aenean adipiscing nulla id tellus. + + 60.04 13.75 + 68.41 17.92 + + + + urn:uuid:94bc9c83-97f6-4b40-9eb8-a8e8787a5c63 + Mauris sed neque + http://purl.org/dc/dcmitype/Dataset + Vegetation-Cropland + Curabitur lacinia, ante non porta tempus, mi lorem feugiat odio, eget suscipit eros pede ac velit. + 2006-03-26 + + 47.59 -4.1 + 51.22 0.89 + + + + urn:uuid:9a669547-b69b-469f-a11f-2d875366bbdc + Ñunç elementum + http://purl.org/dc/dcmitype/Dataset + Hydrography-Oceanographic + 2005-10-24 + + 44.79 -6.17 + 51.13 -2.23 + + + + diff --git a/tests/functionaltests/suites/csw30/expected/get_b2aafc3f-4f35-47bc-affd-08590972deae.xml b/tests/functionaltests/suites/csw30/expected/get_b2aafc3f-4f35-47bc-affd-08590972deae.xml new file mode 100644 index 000000000..6a8e4b02d --- /dev/null +++ b/tests/functionaltests/suites/csw30/expected/get_b2aafc3f-4f35-47bc-affd-08590972deae.xml @@ -0,0 +1,58 @@ + + + + http://localhost/pycsw/csw.py?config=tests/suites/csw30/default.cfg + pycsw Geospatial Catalogue + + pycsw + + diff --git a/tests/functionaltests/suites/csw30/expected/get_b6069623-f7d8-4021-8582-98f0aea0f763.xml b/tests/functionaltests/suites/csw30/expected/get_b6069623-f7d8-4021-8582-98f0aea0f763.xml new file mode 100644 index 000000000..0ed0b0644 --- /dev/null +++ b/tests/functionaltests/suites/csw30/expected/get_b6069623-f7d8-4021-8582-98f0aea0f763.xml @@ -0,0 +1,48 @@ + + + + http://localhost/pycsw/csw.py?config=tests/suites/csw30/default.cfg + pycsw Geospatial Catalogue + + pycsw + + diff --git a/tests/functionaltests/suites/csw30/expected/get_b9a07a54-75a8-45bd-b341-2823600211e3.xml b/tests/functionaltests/suites/csw30/expected/get_b9a07a54-75a8-45bd-b341-2823600211e3.xml new file mode 100644 index 000000000..93cf54af2 --- /dev/null +++ b/tests/functionaltests/suites/csw30/expected/get_b9a07a54-75a8-45bd-b341-2823600211e3.xml @@ -0,0 +1,8 @@ + + + + + Invalid Filter query: Exception: document not valid. +Error: Reprojection error: Invalid srsName "urn:ogc:def:crs:EPSG::0000": Invalid source projection. + + diff --git a/tests/functionaltests/suites/csw30/expected/get_baa4a7d0-0c01-42b6-adc3-0d03e9949fa3.xml b/tests/functionaltests/suites/csw30/expected/get_baa4a7d0-0c01-42b6-adc3-0d03e9949fa3.xml new file mode 100644 index 000000000..4953497e2 --- /dev/null +++ b/tests/functionaltests/suites/csw30/expected/get_baa4a7d0-0c01-42b6-adc3-0d03e9949fa3.xml @@ -0,0 +1,7 @@ + + + + + Invalid value for request: getCapabilities + + diff --git a/tests/functionaltests/suites/csw30/expected/get_bfbe6409-f64a-4c89-acb3-50f260a5c743.xml b/tests/functionaltests/suites/csw30/expected/get_bfbe6409-f64a-4c89-acb3-50f260a5c743.xml new file mode 100644 index 000000000..c6809c5c5 --- /dev/null +++ b/tests/functionaltests/suites/csw30/expected/get_bfbe6409-f64a-4c89-acb3-50f260a5c743.xml @@ -0,0 +1,15 @@ + + + + + + + urn:uuid:e9330592-0932-474b-be34-c3a3bb67c7db + Fuscé vitae ligulä + http://purl.org/dc/dcmitype/Text + Land titles + text/rtf + Morbi ultriçes, dui suscipit vestibulum prètium, velit ante pretium tortor, egët tincidunt pede odio ac nulla. + + + diff --git a/tests/functionaltests/suites/csw30/expected/get_bfe20134-d1da-42ef-9c0f-8e1307bbf92b.xml b/tests/functionaltests/suites/csw30/expected/get_bfe20134-d1da-42ef-9c0f-8e1307bbf92b.xml new file mode 100644 index 000000000..4dd660139 --- /dev/null +++ b/tests/functionaltests/suites/csw30/expected/get_bfe20134-d1da-42ef-9c0f-8e1307bbf92b.xml @@ -0,0 +1,38 @@ + + + + + + + urn:uuid:66ae76b7-54ba-489b-a582-0f0633d96493 + Maecenas enim + http://purl.org/dc/dcmitype/Text + Marine sediments + application/xhtml+xml + Pellentesque tempus magna non sapien fringilla blandit. + + + urn:uuid:6a3de50b-fa66-4b58-a0e6-ca146fdd18d4 + Ut facilisis justo ut lacus + http://purl.org/dc/dcmitype/Service + Vegetation + urn:uuid:94bc9c83-97f6-4b40-9eb8-a8e8787a5c63 + + + urn:uuid:784e2afd-a9fd-44a6-9a92-a3848371c8ec + Aliquam fermentum purus quis arcu + http://purl.org/dc/dcmitype/Text + Hydrography--Dictionaries + application/pdf + Vestibulum quis ipsum sit amet metus imperdiet vehicula. Nulla scelerisque cursus mi. + 2006-05-12 + + + urn:uuid:829babb0-b2f1-49e1-8cd5-7b489fe71a1e + Vestibulum massa purus + http://purl.org/dc/dcmitype/Image + image/jp2 + urn:uuid:9a669547-b69b-469f-a11f-2d875366bbdc + + + diff --git a/tests/functionaltests/suites/csw30/expected/get_c03d173a-3f42-4956-89c8-1fe02c3a0873.xml b/tests/functionaltests/suites/csw30/expected/get_c03d173a-3f42-4956-89c8-1fe02c3a0873.xml new file mode 100644 index 000000000..ce9c9355d --- /dev/null +++ b/tests/functionaltests/suites/csw30/expected/get_c03d173a-3f42-4956-89c8-1fe02c3a0873.xml @@ -0,0 +1,491 @@ + + + + + pycsw Geospatial Catalogue + pycsw is an OGC CSW server implementation written in Python + + catalogue + discovery + theme + + CSW + 2.0.2 + 3.0.0 + None + None + + + pycsw + + + Kralidis, Tom + Senior Systems Scientist + + + +01-416-xxx-xxxx + +01-416-xxx-xxxx + + + TBA + Toronto + Ontario + M9C 3Z9 + Canada + tomkralidis@gmail.com + + + 0800h - 1600h EST + During hours of service. Off on weekends. + + pointOfContact + + + + + + + + + + + + + application/xml + text/xml + + + + + 2.0.2 + 3.0.0 + + + + + All + Filter_Capabilities + OperationsMetadata + ServiceIdentification + ServiceProvider + + + + + + + + + + + + + GetCapabilities.acceptFormats + GetCapabilities.acceptVersions + GetCapabilities.sections + GetRecordById.ElementSetName + GetRecordById.outputFormat + GetRecordById.outputSchema + GetRecords.CONSTRAINTLANGUAGE + GetRecords.ElementSetName + GetRecords.outputFormat + GetRecords.outputSchema + GetRecords.typeNames + + + + + + + + + + + + + CQL_TEXT + FILTER + + + + + brief + full + summary + + + + + application/atom+xml + application/json + application/xml + + + + + http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ + http://www.interlis.ch/INTERLIS2.3 + http://www.opengis.net/cat/csw/3.0 + http://www.opengis.net/cat/csw/csdgm + http://www.w3.org/2005/Atom + + + + + csw:Record + + + + + 10 + + + + + http://localhost/pycsw/csw.py?config=tests/suites/csw30/default.cfg?mode=opensearch&service=CSW&version=3.0.0&request=GetCapabilities + + + + + http://demo.pycsw.org/gisdata/csw + + + + + + + + + + + + + brief + full + summary + + + + + application/atom+xml + application/json + application/xml + + + + + http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ + http://www.interlis.ch/INTERLIS2.3 + http://www.opengis.net/cat/csw/3.0 + http://www.opengis.net/cat/csw/csdgm + http://www.w3.org/2005/Atom + + + + + + + + + + + + + CSW + + + + + 2.0.2 + 3.0.0 + + + + + csw:AnyText + dc:contributor + dc:creator + dc:date + dc:format + dc:identifier + dc:language + dc:publisher + dc:relation + dc:rights + dc:source + dc:subject + dc:title + dc:type + dct:abstract + dct:modified + ows:BoundingBox + + + + + http://demo.pycsw.org/gisdata/csw + + + + + 10 + + + + + SOAP + XML + + + + + allowed + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + http://www.opengis.net/gml + + + + + TRUE + + + + + en + + + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + xs:string + + + xs:string + + + xs:string + + + xs:string + + + xs:string + + + xs:string + + + + diff --git a/tests/functionaltests/suites/csw30/expected/get_cb43d8c3-e14c-4a9f-9231-4384b7dd21f3.xml b/tests/functionaltests/suites/csw30/expected/get_cb43d8c3-e14c-4a9f-9231-4384b7dd21f3.xml new file mode 100644 index 000000000..8affab58f --- /dev/null +++ b/tests/functionaltests/suites/csw30/expected/get_cb43d8c3-e14c-4a9f-9231-4384b7dd21f3.xml @@ -0,0 +1,7 @@ + + + + + Invalid ElementName parameter value: u + + diff --git a/tests/functionaltests/suites/csw30/expected/get_d03c6fd3-e821-4a26-b62f-d20a474e25af.xml b/tests/functionaltests/suites/csw30/expected/get_d03c6fd3-e821-4a26-b62f-d20a474e25af.xml new file mode 100644 index 000000000..770e62fe8 --- /dev/null +++ b/tests/functionaltests/suites/csw30/expected/get_d03c6fd3-e821-4a26-b62f-d20a474e25af.xml @@ -0,0 +1,30 @@ + + + + + pycsw + + + Kralidis, Tom + Senior Systems Scientist + + + +01-416-xxx-xxxx + +01-416-xxx-xxxx + + + TBA + Toronto + Ontario + M9C 3Z9 + Canada + tomkralidis@gmail.com + + + 0800h - 1600h EST + During hours of service. Off on weekends. + + pointOfContact + + + diff --git a/tests/functionaltests/suites/csw30/expected/get_d4ccbf96-a529-480e-a53d-5b88dc1dea7f.xml b/tests/functionaltests/suites/csw30/expected/get_d4ccbf96-a529-480e-a53d-5b88dc1dea7f.xml new file mode 100644 index 000000000..faf07a500 --- /dev/null +++ b/tests/functionaltests/suites/csw30/expected/get_d4ccbf96-a529-480e-a53d-5b88dc1dea7f.xml @@ -0,0 +1,7 @@ + + + + + No records found for 'uid-bc5017e6-5cc8-4b03-aee7-d88f88caba0a' + + diff --git a/tests/functionaltests/suites/csw30/expected/get_d94c801a-1207-4897-b84a-53f3a192515b.xml b/tests/functionaltests/suites/csw30/expected/get_d94c801a-1207-4897-b84a-53f3a192515b.xml new file mode 100644 index 000000000..d91c31b05 --- /dev/null +++ b/tests/functionaltests/suites/csw30/expected/get_d94c801a-1207-4897-b84a-53f3a192515b.xml @@ -0,0 +1,6 @@ + + + + + + diff --git a/tests/functionaltests/suites/csw30/expected/get_da859e34-91fc-495a-8c09-285a40c0900b.xml b/tests/functionaltests/suites/csw30/expected/get_da859e34-91fc-495a-8c09-285a40c0900b.xml new file mode 100644 index 000000000..d85e801e6 --- /dev/null +++ b/tests/functionaltests/suites/csw30/expected/get_da859e34-91fc-495a-8c09-285a40c0900b.xml @@ -0,0 +1,14 @@ + + + + urn:uuid:94bc9c83-97f6-4b40-9eb8-a8e8787a5c63 + Mauris sed neque + http://purl.org/dc/dcmitype/Dataset + Vegetation-Cropland + Curabitur lacinia, ante non porta tempus, mi lorem feugiat odio, eget suscipit eros pede ac velit. + 2006-03-26 + + 47.59 -4.1 + 51.22 0.89 + + diff --git a/tests/functionaltests/suites/csw30/expected/get_dc246fb8-5af5-4fda-82bb-c18b3ecd439c.xml b/tests/functionaltests/suites/csw30/expected/get_dc246fb8-5af5-4fda-82bb-c18b3ecd439c.xml new file mode 100644 index 000000000..530b79be6 --- /dev/null +++ b/tests/functionaltests/suites/csw30/expected/get_dc246fb8-5af5-4fda-82bb-c18b3ecd439c.xml @@ -0,0 +1,40 @@ + + + + http://localhost/pycsw/csw.py?config=tests/suites/csw30/default.cfg + pycsw Geospatial Catalogue + + pycsw + + diff --git a/tests/functionaltests/suites/csw30/expected/get_de016645-6d5c-4855-943c-2db07ae9f49a.xml b/tests/functionaltests/suites/csw30/expected/get_de016645-6d5c-4855-943c-2db07ae9f49a.xml new file mode 100644 index 000000000..4cdb06187 --- /dev/null +++ b/tests/functionaltests/suites/csw30/expected/get_de016645-6d5c-4855-943c-2db07ae9f49a.xml @@ -0,0 +1,30 @@ + + + + http://localhost/pycsw/csw.py?config=tests/suites/csw30/default.cfg + pycsw Geospatial Catalogue + + pycsw + + diff --git a/tests/functionaltests/suites/csw30/expected/get_dff3ec6b-bb2d-4887-bd17-8fcf15def042.xml b/tests/functionaltests/suites/csw30/expected/get_dff3ec6b-bb2d-4887-bd17-8fcf15def042.xml new file mode 100644 index 000000000..81409198c --- /dev/null +++ b/tests/functionaltests/suites/csw30/expected/get_dff3ec6b-bb2d-4887-bd17-8fcf15def042.xml @@ -0,0 +1,89 @@ + + + + + + + urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f + Lorem ipsum + http://purl.org/dc/dcmitype/Image + Tourism--Greece + image/svg+xml + Quisque lacus diam, placerat mollis, pharetra in, commodo sed, augue. Duis iaculis arcu vel arcu. + + + urn:uuid:1ef30a8b-876d-4828-9246-c37ab4510bbd + + http://purl.org/dc/dcmitype/Service + Proin sit amet justo. In justo. Aenean adipiscing nulla id tellus. + + 60.04 13.75 + 68.41 17.92 + + + + urn:uuid:66ae76b7-54ba-489b-a582-0f0633d96493 + Maecenas enim + http://purl.org/dc/dcmitype/Text + Marine sediments + application/xhtml+xml + Pellentesque tempus magna non sapien fringilla blandit. + + + urn:uuid:6a3de50b-fa66-4b58-a0e6-ca146fdd18d4 + Ut facilisis justo ut lacus + http://purl.org/dc/dcmitype/Service + Vegetation + urn:uuid:94bc9c83-97f6-4b40-9eb8-a8e8787a5c63 + + + urn:uuid:784e2afd-a9fd-44a6-9a92-a3848371c8ec + Aliquam fermentum purus quis arcu + http://purl.org/dc/dcmitype/Text + Hydrography--Dictionaries + application/pdf + Vestibulum quis ipsum sit amet metus imperdiet vehicula. Nulla scelerisque cursus mi. + + + urn:uuid:829babb0-b2f1-49e1-8cd5-7b489fe71a1e + Vestibulum massa purus + http://purl.org/dc/dcmitype/Image + image/jp2 + urn:uuid:9a669547-b69b-469f-a11f-2d875366bbdc + + + urn:uuid:88247b56-4cbc-4df9-9860-db3f8042e357 + + http://purl.org/dc/dcmitype/Dataset + Physiography-Landforms + Donec scelerisque pede ut nisl luctus accumsan. Quisque ultrices, lorem eget feugiat fringilla, lorem dui porttitor ante, cursus ultrices magna odio eu neque. + + + urn:uuid:94bc9c83-97f6-4b40-9eb8-a8e8787a5c63 + Mauris sed neque + http://purl.org/dc/dcmitype/Dataset + Vegetation-Cropland + Curabitur lacinia, ante non porta tempus, mi lorem feugiat odio, eget suscipit eros pede ac velit. + + 47.59 -4.1 + 51.22 0.89 + + + + urn:uuid:9a669547-b69b-469f-a11f-2d875366bbdc + Ñunç elementum + http://purl.org/dc/dcmitype/Dataset + Hydrography-Oceanographic + + 44.79 -6.17 + 51.13 -2.23 + + + + urn:uuid:a06af396-3105-442d-8b40-22b57a90d2f2 + Lorem ipsum dolor sit amet + http://purl.org/dc/dcmitype/Image + image/jpeg + + + diff --git a/tests/functionaltests/suites/csw30/expected/get_e38e6bfb-8ac4-4ae4-8b87-0aafbc8d3c6b.xml b/tests/functionaltests/suites/csw30/expected/get_e38e6bfb-8ac4-4ae4-8b87-0aafbc8d3c6b.xml new file mode 100644 index 000000000..2a3f20b3b --- /dev/null +++ b/tests/functionaltests/suites/csw30/expected/get_e38e6bfb-8ac4-4ae4-8b87-0aafbc8d3c6b.xml @@ -0,0 +1,11 @@ + + + + urn:uuid:1ef30a8b-876d-4828-9246-c37ab4510bbd + + http://purl.org/dc/dcmitype/Service + + 60.04 13.75 + 68.41 17.92 + + diff --git a/tests/functionaltests/suites/csw30/expected/get_e67ca935-d65d-4d8c-8302-1405333dded0.xml b/tests/functionaltests/suites/csw30/expected/get_e67ca935-d65d-4d8c-8302-1405333dded0.xml new file mode 100644 index 000000000..ce9c9355d --- /dev/null +++ b/tests/functionaltests/suites/csw30/expected/get_e67ca935-d65d-4d8c-8302-1405333dded0.xml @@ -0,0 +1,491 @@ + + + + + pycsw Geospatial Catalogue + pycsw is an OGC CSW server implementation written in Python + + catalogue + discovery + theme + + CSW + 2.0.2 + 3.0.0 + None + None + + + pycsw + + + Kralidis, Tom + Senior Systems Scientist + + + +01-416-xxx-xxxx + +01-416-xxx-xxxx + + + TBA + Toronto + Ontario + M9C 3Z9 + Canada + tomkralidis@gmail.com + + + 0800h - 1600h EST + During hours of service. Off on weekends. + + pointOfContact + + + + + + + + + + + + + application/xml + text/xml + + + + + 2.0.2 + 3.0.0 + + + + + All + Filter_Capabilities + OperationsMetadata + ServiceIdentification + ServiceProvider + + + + + + + + + + + + + GetCapabilities.acceptFormats + GetCapabilities.acceptVersions + GetCapabilities.sections + GetRecordById.ElementSetName + GetRecordById.outputFormat + GetRecordById.outputSchema + GetRecords.CONSTRAINTLANGUAGE + GetRecords.ElementSetName + GetRecords.outputFormat + GetRecords.outputSchema + GetRecords.typeNames + + + + + + + + + + + + + CQL_TEXT + FILTER + + + + + brief + full + summary + + + + + application/atom+xml + application/json + application/xml + + + + + http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ + http://www.interlis.ch/INTERLIS2.3 + http://www.opengis.net/cat/csw/3.0 + http://www.opengis.net/cat/csw/csdgm + http://www.w3.org/2005/Atom + + + + + csw:Record + + + + + 10 + + + + + http://localhost/pycsw/csw.py?config=tests/suites/csw30/default.cfg?mode=opensearch&service=CSW&version=3.0.0&request=GetCapabilities + + + + + http://demo.pycsw.org/gisdata/csw + + + + + + + + + + + + + brief + full + summary + + + + + application/atom+xml + application/json + application/xml + + + + + http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ + http://www.interlis.ch/INTERLIS2.3 + http://www.opengis.net/cat/csw/3.0 + http://www.opengis.net/cat/csw/csdgm + http://www.w3.org/2005/Atom + + + + + + + + + + + + + CSW + + + + + 2.0.2 + 3.0.0 + + + + + csw:AnyText + dc:contributor + dc:creator + dc:date + dc:format + dc:identifier + dc:language + dc:publisher + dc:relation + dc:rights + dc:source + dc:subject + dc:title + dc:type + dct:abstract + dct:modified + ows:BoundingBox + + + + + http://demo.pycsw.org/gisdata/csw + + + + + 10 + + + + + SOAP + XML + + + + + allowed + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + http://www.opengis.net/gml + + + + + TRUE + + + + + en + + + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + xs:string + + + xs:string + + + xs:string + + + xs:string + + + xs:string + + + xs:string + + + + diff --git a/tests/functionaltests/suites/csw30/expected/get_e7704509-3441-458f-8ef0-e333c6b6043f.xml b/tests/functionaltests/suites/csw30/expected/get_e7704509-3441-458f-8ef0-e333c6b6043f.xml new file mode 100644 index 000000000..d1dbd3ab1 --- /dev/null +++ b/tests/functionaltests/suites/csw30/expected/get_e7704509-3441-458f-8ef0-e333c6b6043f.xml @@ -0,0 +1,7 @@ + + + + + Only ONE of ElementSetName or ElementName parameter(s) is permitted + + diff --git a/tests/functionaltests/suites/csw30/expected/get_f1223a49-6d08-44ff-97fe-4c32cbbfad82.xml b/tests/functionaltests/suites/csw30/expected/get_f1223a49-6d08-44ff-97fe-4c32cbbfad82.xml new file mode 100644 index 000000000..6520e5212 --- /dev/null +++ b/tests/functionaltests/suites/csw30/expected/get_f1223a49-6d08-44ff-97fe-4c32cbbfad82.xml @@ -0,0 +1,6 @@ + + + + + + diff --git a/tests/functionaltests/suites/csw30/expected/get_f89dd4e1-3a81-4433-afd2-a3fa1bdb1e18.xml b/tests/functionaltests/suites/csw30/expected/get_f89dd4e1-3a81-4433-afd2-a3fa1bdb1e18.xml new file mode 100644 index 000000000..2b5272833 --- /dev/null +++ b/tests/functionaltests/suites/csw30/expected/get_f89dd4e1-3a81-4433-afd2-a3fa1bdb1e18.xml @@ -0,0 +1,7 @@ + + + + + Invalid outputFormat parameter value: text/example + + diff --git a/tests/functionaltests/suites/csw30/expected/post_Exception-GetDomain-parametername-bad.xml b/tests/functionaltests/suites/csw30/expected/post_Exception-GetDomain-parametername-bad.xml new file mode 100644 index 000000000..759884ffd --- /dev/null +++ b/tests/functionaltests/suites/csw30/expected/post_Exception-GetDomain-parametername-bad.xml @@ -0,0 +1,7 @@ + + + + + GetRecords.outputFormat-something + + diff --git a/tests/functionaltests/suites/csw30/expected/post_Exception-GetDomain-valuereference-bad.xml b/tests/functionaltests/suites/csw30/expected/post_Exception-GetDomain-valuereference-bad.xml new file mode 100644 index 000000000..6aa6d9a40 --- /dev/null +++ b/tests/functionaltests/suites/csw30/expected/post_Exception-GetDomain-valuereference-bad.xml @@ -0,0 +1,7 @@ + + + + + dc:titlena + + diff --git a/tests/functionaltests/suites/csw30/expected/post_Exception-GetRecordById-404.xml b/tests/functionaltests/suites/csw30/expected/post_Exception-GetRecordById-404.xml new file mode 100644 index 000000000..992d6f29c --- /dev/null +++ b/tests/functionaltests/suites/csw30/expected/post_Exception-GetRecordById-404.xml @@ -0,0 +1,7 @@ + + + + + No repository item found for 'does_not_exist' + + diff --git a/tests/functionaltests/suites/csw30/expected/post_Exception-GetRecordById-bad-esn.xml b/tests/functionaltests/suites/csw30/expected/post_Exception-GetRecordById-bad-esn.xml new file mode 100644 index 000000000..3b7e2b9ee --- /dev/null +++ b/tests/functionaltests/suites/csw30/expected/post_Exception-GetRecordById-bad-esn.xml @@ -0,0 +1,7 @@ + + + + + Invalid elementsetname parameter bad + + diff --git a/tests/functionaltests/suites/csw30/expected/post_Exception-bad-xml.xml b/tests/functionaltests/suites/csw30/expected/post_Exception-bad-xml.xml new file mode 100644 index 000000000..76e5b29f7 --- /dev/null +++ b/tests/functionaltests/suites/csw30/expected/post_Exception-bad-xml.xml @@ -0,0 +1,8 @@ + + + + + Exception: document not well-formed. +Error: Opening and ending tag mismatch: GetCapabilities line 2 and GetCapabilities-bad, line 9, column 29. + + diff --git a/tests/functionaltests/suites/csw30/expected/post_Exception-not-xml.xml b/tests/functionaltests/suites/csw30/expected/post_Exception-not-xml.xml new file mode 100644 index 000000000..632a1d8cd --- /dev/null +++ b/tests/functionaltests/suites/csw30/expected/post_Exception-not-xml.xml @@ -0,0 +1,8 @@ + + + + + Exception: document not well-formed. +Error: Start tag expected, '<' not found, line 1, column 1. + + diff --git a/tests/functionaltests/suites/csw30/expected/post_GetCapabilities.xml b/tests/functionaltests/suites/csw30/expected/post_GetCapabilities.xml new file mode 100644 index 000000000..ce9c9355d --- /dev/null +++ b/tests/functionaltests/suites/csw30/expected/post_GetCapabilities.xml @@ -0,0 +1,491 @@ + + + + + pycsw Geospatial Catalogue + pycsw is an OGC CSW server implementation written in Python + + catalogue + discovery + theme + + CSW + 2.0.2 + 3.0.0 + None + None + + + pycsw + + + Kralidis, Tom + Senior Systems Scientist + + + +01-416-xxx-xxxx + +01-416-xxx-xxxx + + + TBA + Toronto + Ontario + M9C 3Z9 + Canada + tomkralidis@gmail.com + + + 0800h - 1600h EST + During hours of service. Off on weekends. + + pointOfContact + + + + + + + + + + + + + application/xml + text/xml + + + + + 2.0.2 + 3.0.0 + + + + + All + Filter_Capabilities + OperationsMetadata + ServiceIdentification + ServiceProvider + + + + + + + + + + + + + GetCapabilities.acceptFormats + GetCapabilities.acceptVersions + GetCapabilities.sections + GetRecordById.ElementSetName + GetRecordById.outputFormat + GetRecordById.outputSchema + GetRecords.CONSTRAINTLANGUAGE + GetRecords.ElementSetName + GetRecords.outputFormat + GetRecords.outputSchema + GetRecords.typeNames + + + + + + + + + + + + + CQL_TEXT + FILTER + + + + + brief + full + summary + + + + + application/atom+xml + application/json + application/xml + + + + + http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ + http://www.interlis.ch/INTERLIS2.3 + http://www.opengis.net/cat/csw/3.0 + http://www.opengis.net/cat/csw/csdgm + http://www.w3.org/2005/Atom + + + + + csw:Record + + + + + 10 + + + + + http://localhost/pycsw/csw.py?config=tests/suites/csw30/default.cfg?mode=opensearch&service=CSW&version=3.0.0&request=GetCapabilities + + + + + http://demo.pycsw.org/gisdata/csw + + + + + + + + + + + + + brief + full + summary + + + + + application/atom+xml + application/json + application/xml + + + + + http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ + http://www.interlis.ch/INTERLIS2.3 + http://www.opengis.net/cat/csw/3.0 + http://www.opengis.net/cat/csw/csdgm + http://www.w3.org/2005/Atom + + + + + + + + + + + + + CSW + + + + + 2.0.2 + 3.0.0 + + + + + csw:AnyText + dc:contributor + dc:creator + dc:date + dc:format + dc:identifier + dc:language + dc:publisher + dc:relation + dc:rights + dc:source + dc:subject + dc:title + dc:type + dct:abstract + dct:modified + ows:BoundingBox + + + + + http://demo.pycsw.org/gisdata/csw + + + + + 10 + + + + + SOAP + XML + + + + + allowed + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + TRUE + + + + + http://www.opengis.net/gml + + + + + TRUE + + + + + en + + + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + TRUE + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + xs:string + + + xs:string + + + xs:string + + + xs:string + + + xs:string + + + xs:string + + + + diff --git a/tests/functionaltests/suites/csw30/expected/post_GetDomain-parametername.xml b/tests/functionaltests/suites/csw30/expected/post_GetDomain-parametername.xml new file mode 100644 index 000000000..d9cd1c604 --- /dev/null +++ b/tests/functionaltests/suites/csw30/expected/post_GetDomain-parametername.xml @@ -0,0 +1,12 @@ + + + + + GetRecords.outputFormat + + application/atom+xml + application/json + application/xml + + + diff --git a/tests/functionaltests/suites/csw30/expected/post_GetDomain-valuereference.xml b/tests/functionaltests/suites/csw30/expected/post_GetDomain-valuereference.xml new file mode 100644 index 000000000..3775ee212 --- /dev/null +++ b/tests/functionaltests/suites/csw30/expected/post_GetDomain-valuereference.xml @@ -0,0 +1,18 @@ + + + + + dc:title + + Aliquam fermentum purus quis arcu + Fuscé vitae ligulä + Lorem ipsum + Lorem ipsum dolor sit amet + Maecenas enim + Mauris sed neque + Ut facilisis justo ut lacus + Vestibulum massa purus + Ñunç elementum + + + diff --git a/tests/functionaltests/suites/csw30/expected/post_GetRecordById-dc-full.xml b/tests/functionaltests/suites/csw30/expected/post_GetRecordById-dc-full.xml new file mode 100644 index 000000000..ae4a178b2 --- /dev/null +++ b/tests/functionaltests/suites/csw30/expected/post_GetRecordById-dc-full.xml @@ -0,0 +1,10 @@ + + + + urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f + Lorem ipsum + http://purl.org/dc/dcmitype/Image + Tourism--Greece + image/svg+xml + Quisque lacus diam, placerat mollis, pharetra in, commodo sed, augue. Duis iaculis arcu vel arcu. + diff --git a/tests/functionaltests/suites/csw30/expected/post_GetRecordById-dc.xml b/tests/functionaltests/suites/csw30/expected/post_GetRecordById-dc.xml new file mode 100644 index 000000000..731f3ba9e --- /dev/null +++ b/tests/functionaltests/suites/csw30/expected/post_GetRecordById-dc.xml @@ -0,0 +1,10 @@ + + + + urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f + Lorem ipsum + http://purl.org/dc/dcmitype/Image + Tourism--Greece + image/svg+xml + Quisque lacus diam, placerat mollis, pharetra in, commodo sed, augue. Duis iaculis arcu vel arcu. + diff --git a/tests/functionaltests/suites/csw30/get/requests.txt b/tests/functionaltests/suites/csw30/get/requests.txt new file mode 100644 index 000000000..d93dd98d0 --- /dev/null +++ b/tests/functionaltests/suites/csw30/get/requests.txt @@ -0,0 +1,82 @@ +GetCapabilities-base-url,PYCSW_SERVER?config=tests/suites/csw30/default.cfg +GetCapabilities-no-version,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&service=CSW&request=GetCapabilities +GetCapabilities,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&service=CSW&version=3.0.0&request=GetCapabilities +Exception-invalid-request,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&service=CSW&version=3.0.0&request=GetCapabilities-foo +Exception-GetDomain,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&service=CSW&version=3.0.0&request=GetDomain +GetDomain-parameter,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&service=CSW&version=3.0.0&request=GetDomain¶metername=GetRecords.ElementSetName +GetDomain-value-reference,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&service=CSW&version=3.0.0&request=GetDomain&valuereference=dc:title +Exception-GetDomain-value-reference,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&service=CSW&version=3.0.0&request=GetDomain&valuereference=dc:title2 +Exception-GetRecordById-dc.xml,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&service=CSW&version=3.0.0&request=GetRecordById&id=urn:uuid:829babb0-b2f1-49e1-8cd5-7b489fe71a1e +Exception-GetRecordById-404,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&service=CSW&version=3.0.0&request=GetRecordById&id=does_not_exist2 +OpenSearch-description,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&mode=opensearch&service=CSW&version=3.0.0&request=GetCapabilities +GetRepositoryItem,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&service=CSW&version=3.0.0&request=GetRepositoryItem&id=urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f +Exception-GetRepositoryItem-notfound,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&service=CSW&version=3.0.0&request=GetRepositoryItem&id=NOTFOUND +002258f0-627f-457f-b2ad-025777c77ac8,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&mode=opensearch&service=CSW&version=3.0.0&request=GetCapabilities +045c600d-973d-41eb-9f60-eba1b717b720,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&mode=opensearch&service=CSW&version=3.0.0&request=GetRecords&elementsetname=full&typenames=csw:Record&resulttype=results&q=Fusc%C3%A9%20Land&bbox=&time=/&outputformat=application/atom%2Bxml&startposition=1&maxrecords=&recordids= +0bbcf862-5211-4351-9988-63f8bec49c98,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&elementSetName=summary&outputFormat=application/atom%2Bxml&request=GetRecords&service=CSW&typeNames=Record&version=3.0.0 +0bdf8457-971e-4ed1-be4a-5feca4dcd8fa,PYCSW_SERVER?config=tests/suites/csw30/default.cfg +0d8bbdec-0846-42ca-8dc8-b7f4cba41d67,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&elementName=tns:title&request=GetRecords&service=CSW&typeNames=Record&namespace=xmlns(tns%3Dhttp://purl.org/dc/elements/1.1/)&version=3.0.0 +0e1dca37-477a-4060-99fe-7799b52d656c,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&mode=opensearch&service=CSW&version=3.0.0&request=GetRecords&elementsetname=full&typenames=csw:Record&resulttype=results&q=lpppclq&bbox=&time=/&outputformat=application/atom%2Bxml&startposition=1&maxrecords=&recordids= +13c87956-51a4-4780-a8e9-6e0b5c0bb473,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&elementSetName=full&maxRecords=20&request=GetRecords&service=CSW&typeNames=Record&version=3.0.0 +151d982f-ebd3-4cb2-b507-a667713a1e92,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&acceptFormats=model/x3d%2Bxml&acceptVersions=3.0.0&request=GetCapabilities&service=CSW +1869e495-1a61-4713-8285-76d1336ee1a6,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&acceptVersions=3.0.0&request=GetCapabilities +1bcb42a9-538c-4f0a-9d4c-d6f10b720aa6,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&request=GetRecordById&service=CSW&version=3.0.0 +22f44168-2ccf-4801-ad96-204212566d56,PYCSW_SERVER?config=tests/suites/csw30/default.cfg +2499a9c9-8d33-449c-bc92-d494adfcc84d,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&acceptVersions=3.0.0§ions=All&request=GetCapabilities&service=CSW +27f4f39c-d92a-4e3c-b961-c6aa8c24e513,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&acceptFormats=application/xml&acceptVersions=3.0.0&request=GetCapabilities&service=CSW +28e569df-8596-4128-8d9a-29ad03138915,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&id=urn:uuid:a06af396-3105-442d-8b40-22b57a90d2f2&request=GetRecordById&service=CSW&version=3.0.0 +2b06a5c8-0df2-4af1-8d2e-a425de11c845,PYCSW_SERVER?config=tests/suites/csw30/default.cfg +2ba1418a-444d-4cce-9cfe-4c94efcf8b55,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&maxRecords=2&elementSetName=summary&outputFormat=application/atom%2Bxml&request=GetRecords&service=CSW&typeNames=csw3:Record&startPosition=3&namespace=xmlns(csw3%3Dhttp://www.opengis.net/cat/csw/3.0)&version=3.0.0 +397fe17a-d5b4-4f96-8cc4-4ce467ed4d0a,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&service=CSW&version=3.0.0&request=GetRecords&elementsetname=full&typenames=csw:Record&resulttype=results&q=ipsum&bbox=&time=/&outputformat=application/xml&outputschema=http://www.opengis.net/cat/csw/3.0&startposition=1&maxrecords=&recordids= +3dcd1b15-73d2-4b7d-a3e3-ff15bf14aae4,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&elementSetName=brief&request=GetRecords&service=CSW&typeNames=tns:Record&namespace=xmlns(tns%3Dhttp://www.opengis.net/cat/csw/3.0)&version=3.0.0 +405e1ff1-5c75-4846-a28b-cfaff2a6921a,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&elementSetName=summary&recordIds=urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f,urn:uuid:e9330592-0932-474b-be34-c3a3bb67c7db&request=GetRecords&service=CSW&typeNames=Record&version=3.0.0 +43cd6471-6ac7-45bd-8ff9-148cb2de9a52,PYCSW_SERVER?config=tests/suites/csw30/default.cfg +4566d2ec-1283-4a02-baed-a74fc5b47e37,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&acceptVersions=3.0.0§ions=ServiceIdentification&request=GetCapabilities&service=CSW +461bd4c5-6623-490d-9036-d91a2201e87b,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&acceptVersions=3.0.0§ions=Filter_Capabilities&request=GetCapabilities&service=CSW +5496894a-3877-4f62-a20b-5d7126f94925,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&service=CSW&version=3.0.0&request=GetRecords&elementsetname=full&typenames=csw:Record&resulttype=results&q=&bbox=514432,5429689,529130,5451619&time=/&outputformat=application/xml&outputschema=http://www.opengis.net/cat/csw/3.0&startposition=1&maxrecords=&recordids= +5a015f6a-bf14-4977-b1e3-6577eb0223c8,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&service=CSW&version=3.0.0&request=GetRecords&elementsetname=full&typenames=csw:Record&resulttype=results&q=&bbox=-6.17,44.79,17.92,68.41&time=/&outputformat=application/xml&outputschema=http://www.opengis.net/cat/csw/3.0&startposition=1&maxrecords=&recordids= +5c3a2390-1fb9-43f0-b96c-f48c7a69c990,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&id=urn:uuid:88247b56-4cbc-4df9-9860-db3f8042e357&outputFormat=model/vnd.collada%2Bxml&request=GetRecordById&service=CSW&version=3.0.0 +5e9e67dc-18d6-4645-8111-c6263c88a61f,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&acceptVersions=3.0.0§ions=OperationsMetadata&request=GetCapabilities&service=CSW +604d9379-741c-42e5-b4cf-92e56c87fa64,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&elementSetName=full&q=amet&request=GetRecords&service=CSW&typeNames=Record&version=3.0.0 +60e6af95-d5fc-465a-82e2-fd2e6d85e4af,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&request=GetRecords&service=CSW&typeNames=UnknownType&version=3.0.0 +62ad94c2-b558-4265-a427-23d6677975d6,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&mode=opensearch&service=CSW&version=3.0.0&request=GetRecords&elementsetname=full&typenames=csw:Record&resulttype=results&q=&bbox=&time=/&outputformat=application/atom%2Bxml&startposition=1&maxrecords=&recordids=uid-bc5017e6-5cc8-4b03-aee7-d88f88caba0a +6a5e247b-0961-4b8a-a0d6-35a491d9cfe7,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&elementSetName=undefined-view&request=GetRecords&service=CSW&typeNames=Record&version=3.0.0 +6a9d0558-9d87-495b-b999-b49a3ef1cf99,PYCSW_SERVER?config=tests/suites/csw30/default.cfg +6bd790c9-6019-4652-9c91-330a894d6700,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&service=CSW&version=3.0.0&request=GetRecords&elementsetname=full&typenames=csw:Record&resulttype=results&q=Fusc%C3%A9%20Land&bbox=&time=/&outputformat=application/xml&outputschema=http://www.opengis.net/cat/csw/3.0&startposition=1&maxrecords=&recordids= +6e9cba43-5e27-415d-adbd-a92851c2c173,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&acceptVersions=3.0.0&request=GetCapabilities&service=CSW +7630d230-e142-4a09-accf-f091000b90cd,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&id=urn:uuid:66ae76b7-54ba-489b-a582-0f0633d96493&request=GetRecordById&service=CSW&version=3.0.0 +7e82446a-b5dc-43fe-9a73-4cc1f2f2f0bf,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&acceptFormats=text/xml&acceptVersions=3.0.0&request=GetCapabilities&service=CSW +8025978e-1a35-4d70-80c2-e8329e0c7864,PYCSW_SERVER?config=tests/suites/csw30/default.cfg +8184ae4f-536d-4978-8b28-ad703be96967,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&elementSetName=brief&bbox=44.79,-6.17,68.41,17.92,urn:ogc:def:crs:EPSG::4326&request=GetRecords&service=CSW&typeNames=Record&version=3.0.0 +88f63a89-664f-4315-b4f8-04a0b33803a7,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&maxRecords=15&elementSetName=summary&q=Mauris&bbox=-6.17,44.79,17.92,68.41&request=GetRecords&service=CSW&typeNames=Record&version=3.0.0 +8987f8f0-4d93-4481-968c-a2ccbd6b8be2,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&id=urn:example:1461546298217&request=GetRecordById&service=CSW&version=3.0.0 +8e5fa0f6-3f29-4d1f-abe2-d9866f3def98,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&mode=opensearch&service=CSW&version=3.0.0&request=GetRecords&elementsetname=full&typenames=csw:Record&resulttype=results&q=&bbox=-180,-90,180,90&time=/&outputformat=application/atom%2Bxml&startposition=1&maxrecords=&recordids= +9000ec29-5649-474e-b2d6-55c00f8a52c0,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&acceptVersions=9999.12.31&request=GetCapabilities&service=CSW +91914d35-7bbf-45e6-9b37-5ef484869a4e,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&elementSetName=summary&bbox=-6.17,44.79,17.92,68.41&request=GetRecords&service=CSW&typeNames=Record&version=3.0.0 +92d4844d-57d5-4cf3-8f47-ba50e369dc04,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&elementSetName=full&q=atkovxqmf&request=GetRecords&service=CSW&typeNames=Record&version=3.0.0 +9c0e2a4b-b4e6-41c0-b630-c8c99fc89ff3,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&elementSetName=brief&outputSchema=urn:uuid:6a29d2a8-9651-47a6-9b14-f05d2b5644f0&request=GetRecords&service=CSW&typeNames=Record&version=3.0.0 +9d7ffac8-9798-428d-8e27-3cd12497ee6b,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&id=urn:uuid:1ef30a8b-876d-4828-9246-c37ab4510bbd&outputSchema=http://www.example.org/ns/alpha&request=GetRecordById&service=CSW&version=3.0.0 +a2f18643-e24e-4fa5-b780-6de4a2dbc814,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&id=urn:uuid:829babb0-b2f1-49e1-8cd5-7b489fe71a1e&outputFormat=application/atom%2Bxml&request=GetRecordById&service=CSW&version=3.0.0 +abc90c8c-5868-4405-a73e-64c849be3b2a,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&mode=opensearch&service=CSW&version=3.0.0&request=GetRecords&elementsetname=full&typenames=csw:Record&resulttype=results&q=&bbox=514432,5429689,529130,5451619&time=/&outputformat=application/atom%2Bxml&startposition=1&maxrecords=&recordids= +ad0c0571-09ed-436a-9a4f-a5de744c88fe,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&maxRecords=2&elementSetName=summary&request=GetRecords&service=CSW&typeNames=csw3:Record&startPosition=3&namespace=xmlns(csw3%3Dhttp://www.opengis.net/cat/csw/3.0)&version=3.0.0 +af502903-f4ee-47ee-b76e-af878d238bcc,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&service=CSW&version=3.0.0&request=GetRecords&elementsetname=full&typenames=csw:Record&resulttype=results&q=&bbox=-180,-90,180,90&time=/&outputformat=application/xml&outputschema=http://www.opengis.net/cat/csw/3.0&startposition=1&maxrecords=&recordids= +b2aafc3f-4f35-47bc-affd-08590972deae,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&mode=opensearch&service=CSW&version=3.0.0&request=GetRecords&elementsetname=full&typenames=csw:Record&resulttype=results&q=&bbox=-6.17,44.79,17.92,68.41&time=/&outputformat=application/atom%2Bxml&startposition=1&maxrecords=&recordids= +b6069623-f7d8-4021-8582-98f0aea0f763,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&mode=opensearch&service=CSW&version=3.0.0&request=GetRecords&elementsetname=full&typenames=csw:Record&resulttype=results&q=&bbox=&time=/&outputformat=application/atom%2Bxml&startposition=3&maxrecords=4&recordids= +b9a07a54-75a8-45bd-b341-2823600211e3,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&elementSetName=brief&bbox=472944,5363287,492722,5455253,urn:ogc:def:crs:EPSG::0000&request=GetRecords&service=CSW&typeNames=Record&version=3.0.0 +baa4a7d0-0c01-42b6-adc3-0d03e9949fa3,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&acceptVersions=3.0.0&request=getCapabilities&service=CSW +bfbe6409-f64a-4c89-acb3-50f260a5c743,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&elementSetName=summary&q=Fusc%C3%A9%20Land&request=GetRecords&service=CSW&typeNames=Record&version=3.0.0 +bfe20134-d1da-42ef-9c0f-8e1307bbf92b,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&service=CSW&version=3.0.0&request=GetRecords&elementsetname=full&typenames=csw:Record&resulttype=results&q=&bbox=&time=/&outputformat=application/xml&outputschema=http://www.opengis.net/cat/csw/3.0&startposition=3&maxrecords=4&recordids= +c03d173a-3f42-4956-89c8-1fe02c3a0873,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&SERVICE=CSW&Request=GetCapabilities&acceptversions=3.0.0 +cb43d8c3-e14c-4a9f-9231-4384b7dd21f3,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&elementName=undefined&request=GetRecords&service=CSW&typeNames=Record&version=3.0.0 +d03c6fd3-e821-4a26-b62f-d20a474e25af,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&acceptVersions=3.0.0§ions=ServiceProvider&request=GetCapabilities&service=CSW +d4ccbf96-a529-480e-a53d-5b88dc1dea7f,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&service=CSW&version=3.0.0&request=GetRecords&elementsetname=full&typenames=csw:Record&resulttype=results&q=&bbox=&time=/&outputformat=application/xml&outputschema=http://www.opengis.net/cat/csw/3.0&startposition=1&maxrecords=&recordids=uid-bc5017e6-5cc8-4b03-aee7-d88f88caba0a +d94c801a-1207-4897-b84a-53f3a192515b,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&service=CSW&version=3.0.0&request=GetRecords&elementsetname=full&typenames=csw:Record&resulttype=results&q=lpppclq&bbox=&time=/&outputformat=application/xml&outputschema=http://www.opengis.net/cat/csw/3.0&startposition=1&maxrecords=&recordids= +da859e34-91fc-495a-8c09-285a40c0900b,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&id=urn:uuid:94bc9c83-97f6-4b40-9eb8-a8e8787a5c63&elementSetName=full&request=GetRecordById&service=CSW&version=3.0.0 +dc246fb8-5af5-4fda-82bb-c18b3ecd439c,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&mode=opensearch&service=CSW&version=3.0.0&request=GetRecords&elementsetname=full&typenames=csw:Record&resulttype=results&q=ipsum&bbox=&time=/&outputformat=application/atom%2Bxml&startposition=1&maxrecords=&recordids= +de016645-6d5c-4855-943c-2db07ae9f49a,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&mode=opensearch&service=CSW&version=3.0.0&request=GetRecords&elementsetname=full&typenames=csw:Record&resulttype=results&q=&bbox=&time=/&outputformat=application/atom%2Bxml&startposition=1&maxrecords=&recordids=urn%3Auuid%3A94bc9c83-97f6-4b40-9eb8-a8e8787a5c63 +dff3ec6b-bb2d-4887-bd17-8fcf15def042,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&elementSetName=summary&request=GetRecords&service=CSW&typeNames=Record&version=3.0.0 +e38e6bfb-8ac4-4ae4-8b87-0aafbc8d3c6b,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&id=urn:uuid:1ef30a8b-876d-4828-9246-c37ab4510bbd&elementSetName=brief&request=GetRecordById&service=CSW&version=3.0.0 +e67ca935-d65d-4d8c-8302-1405333dded0,PYCSW_SERVER?config=tests/suites/csw30/default.cfg +e7704509-3441-458f-8ef0-e333c6b6043f,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&elementName=ns1:subject&elementSetName=brief&request=GetRecords&service=CSW&typeNames=Record&namespace=xmlns(ns1%3Dhttp://purl.org/dc/elements/1.1/)&version=3.0.0 +f1223a49-6d08-44ff-97fe-4c32cbbfad82,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&elementSetName=summary&maxRecords=0&q=titles&request=GetRecords&service=CSW&typeNames=Record&version=3.0.0 +f89dd4e1-3a81-4433-afd2-a3fa1bdb1e18,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&elementSetName=full&outputFormat=text/example&request=GetRecords&service=CSW&typeNames=Record&version=3.0.0 diff --git a/tests/functionaltests/suites/csw30/post/Exception-GetDomain-parametername-bad.xml b/tests/functionaltests/suites/csw30/post/Exception-GetDomain-parametername-bad.xml new file mode 100644 index 000000000..beeda8211 --- /dev/null +++ b/tests/functionaltests/suites/csw30/post/Exception-GetDomain-parametername-bad.xml @@ -0,0 +1,4 @@ + + + GetRecords.outputFormat-something + diff --git a/tests/functionaltests/suites/csw30/post/Exception-GetDomain-valuereference-bad.xml b/tests/functionaltests/suites/csw30/post/Exception-GetDomain-valuereference-bad.xml new file mode 100644 index 000000000..64184b6f0 --- /dev/null +++ b/tests/functionaltests/suites/csw30/post/Exception-GetDomain-valuereference-bad.xml @@ -0,0 +1,4 @@ + + + dc:titlena + diff --git a/tests/functionaltests/suites/csw30/post/Exception-GetRecordById-404.xml b/tests/functionaltests/suites/csw30/post/Exception-GetRecordById-404.xml new file mode 100644 index 000000000..41528ed0f --- /dev/null +++ b/tests/functionaltests/suites/csw30/post/Exception-GetRecordById-404.xml @@ -0,0 +1,4 @@ + + + does_not_exist + diff --git a/tests/functionaltests/suites/csw30/post/Exception-GetRecordById-bad-esn.xml b/tests/functionaltests/suites/csw30/post/Exception-GetRecordById-bad-esn.xml new file mode 100644 index 000000000..2ab71279c --- /dev/null +++ b/tests/functionaltests/suites/csw30/post/Exception-GetRecordById-bad-esn.xml @@ -0,0 +1,5 @@ + + + urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f + bad + diff --git a/tests/functionaltests/suites/csw30/post/Exception-bad-xml.xml b/tests/functionaltests/suites/csw30/post/Exception-bad-xml.xml new file mode 100644 index 000000000..6ba741f83 --- /dev/null +++ b/tests/functionaltests/suites/csw30/post/Exception-bad-xml.xml @@ -0,0 +1,9 @@ + + + + 3.0.0 + + + application/xml + + diff --git a/tests/functionaltests/suites/csw30/post/Exception-not-xml.xml b/tests/functionaltests/suites/csw30/post/Exception-not-xml.xml new file mode 100644 index 000000000..2b2530072 --- /dev/null +++ b/tests/functionaltests/suites/csw30/post/Exception-not-xml.xml @@ -0,0 +1 @@ +not an XML payload diff --git a/tests/functionaltests/suites/csw30/post/GetCapabilities.xml b/tests/functionaltests/suites/csw30/post/GetCapabilities.xml new file mode 100644 index 000000000..3e80d5ccc --- /dev/null +++ b/tests/functionaltests/suites/csw30/post/GetCapabilities.xml @@ -0,0 +1,9 @@ + + + + 3.0.0 + + + application/xml + + diff --git a/tests/functionaltests/suites/csw30/post/GetDomain-parametername.xml b/tests/functionaltests/suites/csw30/post/GetDomain-parametername.xml new file mode 100644 index 000000000..00ca59f16 --- /dev/null +++ b/tests/functionaltests/suites/csw30/post/GetDomain-parametername.xml @@ -0,0 +1,4 @@ + + + GetRecords.outputFormat + diff --git a/tests/functionaltests/suites/csw30/post/GetDomain-valuereference.xml b/tests/functionaltests/suites/csw30/post/GetDomain-valuereference.xml new file mode 100644 index 000000000..7cfd0eb87 --- /dev/null +++ b/tests/functionaltests/suites/csw30/post/GetDomain-valuereference.xml @@ -0,0 +1,4 @@ + + + dc:title + diff --git a/tests/functionaltests/suites/csw30/post/GetRecordById-dc-full.xml b/tests/functionaltests/suites/csw30/post/GetRecordById-dc-full.xml new file mode 100644 index 000000000..925049056 --- /dev/null +++ b/tests/functionaltests/suites/csw30/post/GetRecordById-dc-full.xml @@ -0,0 +1,5 @@ + + + urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f + full + diff --git a/tests/functionaltests/suites/csw30/post/GetRecordById-dc.xml b/tests/functionaltests/suites/csw30/post/GetRecordById-dc.xml new file mode 100644 index 000000000..148f0e4f3 --- /dev/null +++ b/tests/functionaltests/suites/csw30/post/GetRecordById-dc.xml @@ -0,0 +1,4 @@ + + + urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f + diff --git a/tests/functionaltests/suites/default/default.cfg b/tests/functionaltests/suites/default/default.cfg new file mode 100644 index 000000000..952454c13 --- /dev/null +++ b/tests/functionaltests/suites/default/default.cfg @@ -0,0 +1,90 @@ +# ================================================================= +# +# Authors: Tom Kralidis +# +# Copyright (c) 2011 Tom Kralidis +# +# Permission is hereby granted, free of charge, to any person +# obtaining a copy of this software and associated documentation +# files (the "Software"), to deal in the Software without +# restriction, including without limitation the rights to use, +# copy, modify, merge, publish, distribute, sublicense, and/or sell +# copies of the Software, and to permit persons to whom the +# Software is furnished to do so, subject to the following +# conditions: +# +# The above copyright notice and this permission notice shall be +# included in all copies or substantial portions of the Software. +# +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +# EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES +# OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +# NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT +# HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, +# WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR +# OTHER DEALINGS IN THE SOFTWARE. +# +# ================================================================= + +[server] +home=. +url=http://localhost/pycsw/csw.py?config=tests/suites/default/default.cfg +mimetype=application/xml; charset=UTF-8 +encoding=UTF-8 +language=en-US +maxrecords=10 +#loglevel=DEBUG +#logfile=/tmp/pycsw.log +#ogc_schemas_base=http://foo +federatedcatalogues=http://demo.pycsw.org/gisdata/csw +pretty_print=true +#gzip_compresslevel=8 +#spatial_ranking=true + +[manager] +transactions=false +allowed_ips=127.0.0.1 + +[metadata:main] +identification_title=pycsw Geospatial Catalogue +identification_abstract=pycsw is an OGC CSW server implementation written in Python +identification_keywords=catalogue,discovery +identification_keywords_type=theme +identification_fees=None +identification_accessconstraints=None +provider_name=pycsw +provider_url=http://pycsw.org/ +contact_name=Kralidis, Tom +contact_position=Senior Systems Scientist +contact_address=TBA +contact_city=Toronto +contact_stateorprovince=Ontario +contact_postalcode=M9C 3Z9 +contact_country=Canada +contact_phone=+01-416-xxx-xxxx +contact_fax=+01-416-xxx-xxxx +contact_email=tomkralidis@gmail.com +contact_url=http://kralidis.ca/ +contact_hours=0800h - 1600h EST +contact_instructions=During hours of service. Off on weekends. +contact_role=pointOfContact + +[repository] +# sqlite +database=sqlite:///tests/suites/cite/data/records.db +# postgres +#database=postgres://username:password@localhost/pycsw +table=records + +[metadata:inspire] +enabled=false +languages_supported=eng,gre +default_language=eng +date=2011-03-29 +gemet_keywords=Utility and governmental services +conformity_service=notEvaluated +contact_name=National Technical University of Athens +contact_email=tzotsos@gmail.com +temp_extent=2011-02-01/2011-03-30 + diff --git a/tests/functionaltests/suites/default/expected/get_Exception-GetRepositoryItem-notfound.xml b/tests/functionaltests/suites/default/expected/get_Exception-GetRepositoryItem-notfound.xml new file mode 100644 index 000000000..5607c7589 --- /dev/null +++ b/tests/functionaltests/suites/default/expected/get_Exception-GetRepositoryItem-notfound.xml @@ -0,0 +1,7 @@ + + + + + No repository item found for '['NOTFOUND']' + + diff --git a/tests/functionaltests/suites/default/expected/get_Exception-GetRepositoryItem-service-invalid1.xml b/tests/functionaltests/suites/default/expected/get_Exception-GetRepositoryItem-service-invalid1.xml new file mode 100644 index 000000000..4e35a17da --- /dev/null +++ b/tests/functionaltests/suites/default/expected/get_Exception-GetRepositoryItem-service-invalid1.xml @@ -0,0 +1,7 @@ + + + + + 'Invalid value for service: CSW\x00. Value MUST be CSW' + + diff --git a/tests/functionaltests/suites/default/expected/get_Exception-GetRepositoryItem-service-invalid2.xml b/tests/functionaltests/suites/default/expected/get_Exception-GetRepositoryItem-service-invalid2.xml new file mode 100644 index 000000000..97ec989fa --- /dev/null +++ b/tests/functionaltests/suites/default/expected/get_Exception-GetRepositoryItem-service-invalid2.xml @@ -0,0 +1,7 @@ + + + + + "Invalid value for service: CSW\x00'. Value MUST be CSW" + + diff --git a/tests/functionaltests/suites/default/expected/get_Exception-GetRepositoryItem-version-invalid.xml b/tests/functionaltests/suites/default/expected/get_Exception-GetRepositoryItem-version-invalid.xml new file mode 100644 index 000000000..fd7123387 --- /dev/null +++ b/tests/functionaltests/suites/default/expected/get_Exception-GetRepositoryItem-version-invalid.xml @@ -0,0 +1,7 @@ + + + + + Invalid value for version: 2.0.2'. Value MUST be 2.0.2 or 3.0.0 + + diff --git a/tests/functionaltests/suites/default/expected/get_GetCapabilities-invalid-request.xml b/tests/functionaltests/suites/default/expected/get_GetCapabilities-invalid-request.xml new file mode 100644 index 000000000..03450eb2d --- /dev/null +++ b/tests/functionaltests/suites/default/expected/get_GetCapabilities-invalid-request.xml @@ -0,0 +1,7 @@ + + + + + Invalid value for request: GetCapabilitiese + + diff --git a/tests/functionaltests/suites/default/expected/get_GetCapabilities.xml b/tests/functionaltests/suites/default/expected/get_GetCapabilities.xml new file mode 100644 index 000000000..8026e1b3b --- /dev/null +++ b/tests/functionaltests/suites/default/expected/get_GetCapabilities.xml @@ -0,0 +1,262 @@ + + + + + pycsw Geospatial Catalogue + pycsw is an OGC CSW server implementation written in Python + + catalogue + discovery + theme + + CSW + 2.0.2 + 3.0.0 + None + None + + + pycsw + + + Kralidis, Tom + Senior Systems Scientist + + + +01-416-xxx-xxxx + +01-416-xxx-xxxx + + + TBA + Toronto + Ontario + M9C 3Z9 + Canada + tomkralidis@gmail.com + + + 0800h - 1600h EST + During hours of service. Off on weekends. + + pointOfContact + + + + + + + + + + + + Filter_Capabilities + OperationsMetadata + ServiceIdentification + ServiceProvider + + + + + + + + + + + application/json + application/xml + + + http://www.w3.org/2001/XMLSchema + http://www.w3.org/TR/xmlschema-1/ + http://www.w3.org/XML/Schema + + + csw:Record + + + + + + + + + + + DescribeRecord.outputFormat + DescribeRecord.schemaLanguage + DescribeRecord.typeName + GetCapabilities.sections + GetRecordById.ElementSetName + GetRecordById.outputFormat + GetRecordById.outputSchema + GetRecords.CONSTRAINTLANGUAGE + GetRecords.ElementSetName + GetRecords.outputFormat + GetRecords.outputSchema + GetRecords.resultType + GetRecords.typeNames + + + + + + + + + + + CQL_TEXT + FILTER + + + brief + full + summary + + + application/json + application/xml + + + http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ + http://www.interlis.ch/INTERLIS2.3 + http://www.opengis.net/cat/csw/2.0.2 + http://www.opengis.net/cat/csw/csdgm + http://www.w3.org/2005/Atom + + + hits + results + validate + + + csw:Record + + + csw:AnyText + dc:contributor + dc:creator + dc:date + dc:format + dc:identifier + dc:language + dc:publisher + dc:relation + dc:rights + dc:source + dc:subject + dc:title + dc:type + dct:abstract + dct:modified + ows:BoundingBox + + + + + + + + + + + brief + full + summary + + + application/json + application/xml + + + http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ + http://www.interlis.ch/INTERLIS2.3 + http://www.opengis.net/cat/csw/2.0.2 + http://www.opengis.net/cat/csw/csdgm + http://www.w3.org/2005/Atom + + + + + + + + + + + CSW + + + 2.0.2 + 3.0.0 + + + http://demo.pycsw.org/gisdata/csw + + + 10 + + + XML + SOAP + + + allowed + + + + + + gml:Point + gml:LineString + gml:Polygon + gml:Envelope + + + + + + + + + + + + + + + + + + + Between + EqualTo + GreaterThan + GreaterThanEqualTo + LessThan + LessThanEqualTo + Like + NotEqualTo + NullCheck + + + + + length + lower + ltrim + rtrim + trim + upper + + + + + + + + + + diff --git a/tests/functionaltests/suites/default/expected/get_GetRecords-all.xml b/tests/functionaltests/suites/default/expected/get_GetRecords-all.xml new file mode 100644 index 000000000..9b45c7898 --- /dev/null +++ b/tests/functionaltests/suites/default/expected/get_GetRecords-all.xml @@ -0,0 +1,6 @@ + + + + + + diff --git a/tests/functionaltests/suites/default/expected/get_GetRecords-empty-maxrecords.xml b/tests/functionaltests/suites/default/expected/get_GetRecords-empty-maxrecords.xml new file mode 100644 index 000000000..9b45c7898 --- /dev/null +++ b/tests/functionaltests/suites/default/expected/get_GetRecords-empty-maxrecords.xml @@ -0,0 +1,6 @@ + + + + + + diff --git a/tests/functionaltests/suites/default/expected/get_GetRecords-filter-cql-title-or-abstract-with-spaces.xml b/tests/functionaltests/suites/default/expected/get_GetRecords-filter-cql-title-or-abstract-with-spaces.xml new file mode 100644 index 000000000..2b1accdf9 --- /dev/null +++ b/tests/functionaltests/suites/default/expected/get_GetRecords-filter-cql-title-or-abstract-with-spaces.xml @@ -0,0 +1,23 @@ + + + + + + + urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f + http://purl.org/dc/dcmitype/Image + image/svg+xml + Lorem ipsum + GR-22 + Tourism--Greece + Quisque lacus diam, placerat mollis, pharetra in, commodo sed, augue. Duis iaculis arcu vel arcu. + + + urn:uuid:a06af396-3105-442d-8b40-22b57a90d2f2 + http://purl.org/dc/dcmitype/Image + Lorem ipsum dolor sit amet + image/jpeg + IT-FI + + + diff --git a/tests/functionaltests/suites/default/expected/get_GetRecords-filter-cql-title-or-abstract.xml b/tests/functionaltests/suites/default/expected/get_GetRecords-filter-cql-title-or-abstract.xml new file mode 100644 index 000000000..2b1accdf9 --- /dev/null +++ b/tests/functionaltests/suites/default/expected/get_GetRecords-filter-cql-title-or-abstract.xml @@ -0,0 +1,23 @@ + + + + + + + urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f + http://purl.org/dc/dcmitype/Image + image/svg+xml + Lorem ipsum + GR-22 + Tourism--Greece + Quisque lacus diam, placerat mollis, pharetra in, commodo sed, augue. Duis iaculis arcu vel arcu. + + + urn:uuid:a06af396-3105-442d-8b40-22b57a90d2f2 + http://purl.org/dc/dcmitype/Image + Lorem ipsum dolor sit amet + image/jpeg + IT-FI + + + diff --git a/tests/functionaltests/suites/default/expected/get_GetRecords-filter-cql-title-with-spaces-or-abstract-with-spaces.xml b/tests/functionaltests/suites/default/expected/get_GetRecords-filter-cql-title-with-spaces-or-abstract-with-spaces.xml new file mode 100644 index 000000000..2b1accdf9 --- /dev/null +++ b/tests/functionaltests/suites/default/expected/get_GetRecords-filter-cql-title-with-spaces-or-abstract-with-spaces.xml @@ -0,0 +1,23 @@ + + + + + + + urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f + http://purl.org/dc/dcmitype/Image + image/svg+xml + Lorem ipsum + GR-22 + Tourism--Greece + Quisque lacus diam, placerat mollis, pharetra in, commodo sed, augue. Duis iaculis arcu vel arcu. + + + urn:uuid:a06af396-3105-442d-8b40-22b57a90d2f2 + http://purl.org/dc/dcmitype/Image + Lorem ipsum dolor sit amet + image/jpeg + IT-FI + + + diff --git a/tests/functionaltests/suites/default/expected/get_GetRecords-filter-cql-title-with-spaces-or-abstract.xml b/tests/functionaltests/suites/default/expected/get_GetRecords-filter-cql-title-with-spaces-or-abstract.xml new file mode 100644 index 000000000..2b1accdf9 --- /dev/null +++ b/tests/functionaltests/suites/default/expected/get_GetRecords-filter-cql-title-with-spaces-or-abstract.xml @@ -0,0 +1,23 @@ + + + + + + + urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f + http://purl.org/dc/dcmitype/Image + image/svg+xml + Lorem ipsum + GR-22 + Tourism--Greece + Quisque lacus diam, placerat mollis, pharetra in, commodo sed, augue. Duis iaculis arcu vel arcu. + + + urn:uuid:a06af396-3105-442d-8b40-22b57a90d2f2 + http://purl.org/dc/dcmitype/Image + Lorem ipsum dolor sit amet + image/jpeg + IT-FI + + + diff --git a/tests/functionaltests/suites/default/expected/get_GetRecords-filter-cql-title-with-spaces.xml b/tests/functionaltests/suites/default/expected/get_GetRecords-filter-cql-title-with-spaces.xml new file mode 100644 index 000000000..2b1accdf9 --- /dev/null +++ b/tests/functionaltests/suites/default/expected/get_GetRecords-filter-cql-title-with-spaces.xml @@ -0,0 +1,23 @@ + + + + + + + urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f + http://purl.org/dc/dcmitype/Image + image/svg+xml + Lorem ipsum + GR-22 + Tourism--Greece + Quisque lacus diam, placerat mollis, pharetra in, commodo sed, augue. Duis iaculis arcu vel arcu. + + + urn:uuid:a06af396-3105-442d-8b40-22b57a90d2f2 + http://purl.org/dc/dcmitype/Image + Lorem ipsum dolor sit amet + image/jpeg + IT-FI + + + diff --git a/tests/functionaltests/suites/default/expected/get_GetRecords-filter-cql-title.xml b/tests/functionaltests/suites/default/expected/get_GetRecords-filter-cql-title.xml new file mode 100644 index 000000000..2b1accdf9 --- /dev/null +++ b/tests/functionaltests/suites/default/expected/get_GetRecords-filter-cql-title.xml @@ -0,0 +1,23 @@ + + + + + + + urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f + http://purl.org/dc/dcmitype/Image + image/svg+xml + Lorem ipsum + GR-22 + Tourism--Greece + Quisque lacus diam, placerat mollis, pharetra in, commodo sed, augue. Duis iaculis arcu vel arcu. + + + urn:uuid:a06af396-3105-442d-8b40-22b57a90d2f2 + http://purl.org/dc/dcmitype/Image + Lorem ipsum dolor sit amet + image/jpeg + IT-FI + + + diff --git a/tests/functionaltests/suites/default/expected/get_GetRecords-filter.xml b/tests/functionaltests/suites/default/expected/get_GetRecords-filter.xml new file mode 100644 index 000000000..163bcd640 --- /dev/null +++ b/tests/functionaltests/suites/default/expected/get_GetRecords-filter.xml @@ -0,0 +1,16 @@ + + + + + + + urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f + http://purl.org/dc/dcmitype/Image + image/svg+xml + Lorem ipsum + GR-22 + Tourism--Greece + Quisque lacus diam, placerat mollis, pharetra in, commodo sed, augue. Duis iaculis arcu vel arcu. + + + diff --git a/tests/functionaltests/suites/default/expected/get_GetRecords-sortby-asc.xml b/tests/functionaltests/suites/default/expected/get_GetRecords-sortby-asc.xml new file mode 100644 index 000000000..9a5c0f935 --- /dev/null +++ b/tests/functionaltests/suites/default/expected/get_GetRecords-sortby-asc.xml @@ -0,0 +1,91 @@ + + + + + + + urn:uuid:1ef30a8b-876d-4828-9246-c37ab4510bbd + http://purl.org/dc/dcmitype/Service + Proin sit amet justo. In justo. Aenean adipiscing nulla id tellus. + + 60.042 13.754 + 68.410 17.920 + + + + urn:uuid:88247b56-4cbc-4df9-9860-db3f8042e357 + http://purl.org/dc/dcmitype/Dataset + Physiography-Landforms + FI-ES + Donec scelerisque pede ut nisl luctus accumsan. Quisque ultrices, lorem eget feugiat fringilla, lorem dui porttitor ante, cursus ultrices magna odio eu neque. + + + urn:uuid:ab42a8c4-95e8-4630-bf79-33e59241605a + http://purl.org/dc/dcmitype/Service + Physiography + Suspendisse accumsan molestie lorem. Nullam velit turpis, mattis ut, varius bibendum, laoreet non, quam. + urn:uuid:88247b56-4cbc-4df9-9860-db3f8042e357 + + + urn:uuid:784e2afd-a9fd-44a6-9a92-a3848371c8ec + Aliquam fermentum purus quis arcu + http://purl.org/dc/dcmitype/Text + Hydrography--Dictionaries + application/pdf + 2006-05-12 + Vestibulum quis ipsum sit amet metus imperdiet vehicula. Nulla scelerisque cursus mi. + + + urn:uuid:e9330592-0932-474b-be34-c3a3bb67c7db + http://purl.org/dc/dcmitype/Text + Fuscé vitae ligulä + 2003-05-09 + Land titles + text/rtf + Morbi ultriçes, dui suscipit vestibulum prètium, velit ante pretium tortor, egët tincidunt pede odio ac nulla. + + + urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f + http://purl.org/dc/dcmitype/Image + image/svg+xml + Lorem ipsum + GR-22 + Tourism--Greece + Quisque lacus diam, placerat mollis, pharetra in, commodo sed, augue. Duis iaculis arcu vel arcu. + + + urn:uuid:a06af396-3105-442d-8b40-22b57a90d2f2 + http://purl.org/dc/dcmitype/Image + Lorem ipsum dolor sit amet + image/jpeg + IT-FI + + + urn:uuid:66ae76b7-54ba-489b-a582-0f0633d96493 + Maecenas enim + http://purl.org/dc/dcmitype/Text + application/xhtml+xml + Marine sediments + Pellentesque tempus magna non sapien fringilla blandit. + + + urn:uuid:94bc9c83-97f6-4b40-9eb8-a8e8787a5c63 + http://purl.org/dc/dcmitype/Dataset + Mauris sed neque + Vegetation-Cropland + Curabitur lacinia, ante non porta tempus, mi lorem feugiat odio, eget suscipit eros pede ac velit. + 2006-03-26 + + 47.595 -4.097 + 51.217 0.889 + + + + urn:uuid:6a3de50b-fa66-4b58-a0e6-ca146fdd18d4 + http://purl.org/dc/dcmitype/Service + Ut facilisis justo ut lacus + Vegetation + urn:uuid:94bc9c83-97f6-4b40-9eb8-a8e8787a5c63 + + + diff --git a/tests/functionaltests/suites/default/expected/get_GetRecords-sortby-desc.xml b/tests/functionaltests/suites/default/expected/get_GetRecords-sortby-desc.xml new file mode 100644 index 000000000..1bf8d4e5a --- /dev/null +++ b/tests/functionaltests/suites/default/expected/get_GetRecords-sortby-desc.xml @@ -0,0 +1,93 @@ + + + + + + + urn:uuid:9a669547-b69b-469f-a11f-2d875366bbdc + http://purl.org/dc/dcmitype/Dataset + Ñunç elementum + Hydrography-Oceanographic + 2005-10-24 + + 44.792 -6.171 + 51.126 -2.228 + + + + urn:uuid:829babb0-b2f1-49e1-8cd5-7b489fe71a1e + http://purl.org/dc/dcmitype/Image + image/jp2 + Vestibulum massa purus + urn:uuid:9a669547-b69b-469f-a11f-2d875366bbdc + + + urn:uuid:6a3de50b-fa66-4b58-a0e6-ca146fdd18d4 + http://purl.org/dc/dcmitype/Service + Ut facilisis justo ut lacus + Vegetation + urn:uuid:94bc9c83-97f6-4b40-9eb8-a8e8787a5c63 + + + urn:uuid:94bc9c83-97f6-4b40-9eb8-a8e8787a5c63 + http://purl.org/dc/dcmitype/Dataset + Mauris sed neque + Vegetation-Cropland + Curabitur lacinia, ante non porta tempus, mi lorem feugiat odio, eget suscipit eros pede ac velit. + 2006-03-26 + + 47.595 -4.097 + 51.217 0.889 + + + + urn:uuid:66ae76b7-54ba-489b-a582-0f0633d96493 + Maecenas enim + http://purl.org/dc/dcmitype/Text + application/xhtml+xml + Marine sediments + Pellentesque tempus magna non sapien fringilla blandit. + + + urn:uuid:a06af396-3105-442d-8b40-22b57a90d2f2 + http://purl.org/dc/dcmitype/Image + Lorem ipsum dolor sit amet + image/jpeg + IT-FI + + + urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f + http://purl.org/dc/dcmitype/Image + image/svg+xml + Lorem ipsum + GR-22 + Tourism--Greece + Quisque lacus diam, placerat mollis, pharetra in, commodo sed, augue. Duis iaculis arcu vel arcu. + + + urn:uuid:e9330592-0932-474b-be34-c3a3bb67c7db + http://purl.org/dc/dcmitype/Text + Fuscé vitae ligulä + 2003-05-09 + Land titles + text/rtf + Morbi ultriçes, dui suscipit vestibulum prètium, velit ante pretium tortor, egët tincidunt pede odio ac nulla. + + + urn:uuid:784e2afd-a9fd-44a6-9a92-a3848371c8ec + Aliquam fermentum purus quis arcu + http://purl.org/dc/dcmitype/Text + Hydrography--Dictionaries + application/pdf + 2006-05-12 + Vestibulum quis ipsum sit amet metus imperdiet vehicula. Nulla scelerisque cursus mi. + + + urn:uuid:ab42a8c4-95e8-4630-bf79-33e59241605a + http://purl.org/dc/dcmitype/Service + Physiography + Suspendisse accumsan molestie lorem. Nullam velit turpis, mattis ut, varius bibendum, laoreet non, quam. + urn:uuid:88247b56-4cbc-4df9-9860-db3f8042e357 + + + diff --git a/tests/functionaltests/suites/default/expected/get_GetRecords-sortby-invalid-order.xml b/tests/functionaltests/suites/default/expected/get_GetRecords-sortby-invalid-order.xml new file mode 100644 index 000000000..85457f69f --- /dev/null +++ b/tests/functionaltests/suites/default/expected/get_GetRecords-sortby-invalid-order.xml @@ -0,0 +1,7 @@ + + + + + Invalid SortBy value: sort order must be "A" or "D" + + diff --git a/tests/functionaltests/suites/default/expected/get_GetRecords-sortby-invalid-propertyname.xml b/tests/functionaltests/suites/default/expected/get_GetRecords-sortby-invalid-propertyname.xml new file mode 100644 index 000000000..25c7b6f80 --- /dev/null +++ b/tests/functionaltests/suites/default/expected/get_GetRecords-sortby-invalid-propertyname.xml @@ -0,0 +1,7 @@ + + + + + Invalid SortBy propertyname: dc:titlei + + diff --git a/tests/functionaltests/suites/default/expected/get_GetRepositoryItem.xml b/tests/functionaltests/suites/default/expected/get_GetRepositoryItem.xml new file mode 100644 index 000000000..77fae8b66 --- /dev/null +++ b/tests/functionaltests/suites/default/expected/get_GetRepositoryItem.xml @@ -0,0 +1,14 @@ + + + + urn:uuid:94bc9c83-97f6-4b40-9eb8-a8e8787a5c63 + http://purl.org/dc/dcmitype/Dataset + Mauris sed neque + Vegetation-Cropland + Curabitur lacinia, ante non porta tempus, mi lorem feugiat odio, eget suscipit eros pede ac velit. + 2006-03-26 + + 47.595 -4.097 + 51.217 0.889 + + diff --git a/tests/functionaltests/suites/default/expected/post_DescribeRecord-json.xml b/tests/functionaltests/suites/default/expected/post_DescribeRecord-json.xml new file mode 100644 index 000000000..19f117bee --- /dev/null +++ b/tests/functionaltests/suites/default/expected/post_DescribeRecord-json.xml @@ -0,0 +1,231 @@ +{ + "csw:DescribeRecordResponse": { + "@xsi:schemaLocation": "http://www.opengis.net/cat/csw/2.0.2 http://schemas.opengis.net/csw/2.0.2/CSW-discovery.xsd", + "csw:SchemaComponent": { + "@schemaLanguage": "XMLSCHEMA", + "@targetNamespace": "http://www.opengis.net/cat/csw/2.0.2", + "xs:schema": { + "@id": "csw-record", + "@targetNamespace": "http://www.opengis.net/cat/csw/2.0.2", + "@elementFormDefault": "qualified", + "@version": "2.0.2 2010-01-22", + "xs:annotation": { + "xs:appinfo": { + "dc:identifier": "http://schemas.opengis.net/csw/2.0.2/record.xsd" + }, + "xs:documentation": { + "@http://www.w3.org/XML/1998/namespace:lang": "en", + "#text": "This schema defines the basic record types that must be supported\n by all CSW implementations. These correspond to full, summary, and\n brief views based on DCMI metadata terms.\n \n CSW is an OGC Standard.\n Copyright (c) 2004,2010 Open Geospatial Consortium, Inc. All Rights Reserved.\n To obtain additional rights of use, visit http://www.opengeospatial.org/legal/ ." + } + }, + "xs:import": [ + { + "@namespace": "http://purl.org/dc/terms/", + "@schemaLocation": "rec-dcterms.xsd" + }, + { + "@namespace": "http://purl.org/dc/elements/1.1/", + "@schemaLocation": "rec-dcmes.xsd" + }, + { + "@namespace": "http://www.opengis.net/ows", + "@schemaLocation": "../../ows/1.0.0/owsAll.xsd" + } + ], + "xs:element": [ + { + "@name": "AbstractRecord", + "@id": "AbstractRecord", + "@type": "csw:AbstractRecordType", + "@abstract": "true" + }, + { + "@name": "DCMIRecord", + "@type": "csw:DCMIRecordType", + "@substitutionGroup": "csw:AbstractRecord" + }, + { + "@name": "BriefRecord", + "@type": "csw:BriefRecordType", + "@substitutionGroup": "csw:AbstractRecord" + }, + { + "@name": "SummaryRecord", + "@type": "csw:SummaryRecordType", + "@substitutionGroup": "csw:AbstractRecord" + }, + { + "@name": "Record", + "@type": "csw:RecordType", + "@substitutionGroup": "csw:AbstractRecord" + } + ], + "xs:complexType": [ + { + "@name": "AbstractRecordType", + "@id": "AbstractRecordType", + "@abstract": "true" + }, + { + "@name": "DCMIRecordType", + "xs:annotation": { + "xs:documentation": { + "@http://www.w3.org/XML/1998/namespace:lang": "en", + "#text": "This type encapsulates all of the standard DCMI metadata terms,\n including the Dublin Core refinements; these terms may be mapped\n to the profile-specific information model." + } + }, + "xs:complexContent": { + "xs:extension": { + "@base": "csw:AbstractRecordType", + "xs:sequence": { + "xs:group": { + "@ref": "dct:DCMI-terms" + } + } + } + } + }, + { + "@name": "BriefRecordType", + "@final": "#all", + "xs:annotation": { + "xs:documentation": { + "@http://www.w3.org/XML/1998/namespace:lang": "en", + "#text": "This type defines a brief representation of the common record\n format. It extends AbstractRecordType to include only the\n dc:identifier and dc:type properties." + } + }, + "xs:complexContent": { + "xs:extension": { + "@base": "csw:AbstractRecordType", + "xs:sequence": { + "xs:element": [ + { + "@ref": "dc:identifier", + "@minOccurs": "1", + "@maxOccurs": "unbounded" + }, + { + "@ref": "dc:title", + "@minOccurs": "1", + "@maxOccurs": "unbounded" + }, + { + "@ref": "dc:type", + "@minOccurs": "0" + }, + { + "@ref": "ows:BoundingBox", + "@minOccurs": "0", + "@maxOccurs": "unbounded" + } + ] + } + } + } + }, + { + "@name": "SummaryRecordType", + "@final": "#all", + "xs:annotation": { + "xs:documentation": { + "@http://www.w3.org/XML/1998/namespace:lang": "en", + "#text": "This type defines a summary representation of the common record\n format. It extends AbstractRecordType to include the core\n properties." + } + }, + "xs:complexContent": { + "xs:extension": { + "@base": "csw:AbstractRecordType", + "xs:sequence": { + "xs:element": [ + { + "@ref": "dc:identifier", + "@minOccurs": "1", + "@maxOccurs": "unbounded" + }, + { + "@ref": "dc:title", + "@minOccurs": "1", + "@maxOccurs": "unbounded" + }, + { + "@ref": "dc:type", + "@minOccurs": "0" + }, + { + "@ref": "dc:subject", + "@minOccurs": "0", + "@maxOccurs": "unbounded" + }, + { + "@ref": "dc:format", + "@minOccurs": "0", + "@maxOccurs": "unbounded" + }, + { + "@ref": "dc:relation", + "@minOccurs": "0", + "@maxOccurs": "unbounded" + }, + { + "@ref": "dct:modified", + "@minOccurs": "0", + "@maxOccurs": "unbounded" + }, + { + "@ref": "dct:abstract", + "@minOccurs": "0", + "@maxOccurs": "unbounded" + }, + { + "@ref": "dct:spatial", + "@minOccurs": "0", + "@maxOccurs": "unbounded" + }, + { + "@ref": "ows:BoundingBox", + "@minOccurs": "0", + "@maxOccurs": "unbounded" + } + ] + } + } + } + }, + { + "@name": "RecordType", + "@final": "#all", + "xs:annotation": { + "xs:documentation": { + "@http://www.w3.org/XML/1998/namespace:lang": "en", + "#text": "This type extends DCMIRecordType to add ows:BoundingBox;\n it may be used to specify a spatial envelope for the\n catalogued resource." + } + }, + "xs:complexContent": { + "xs:extension": { + "@base": "csw:DCMIRecordType", + "xs:sequence": { + "xs:element": [ + { + "@name": "AnyText", + "@type": "csw:EmptyType", + "@minOccurs": "0", + "@maxOccurs": "unbounded" + }, + { + "@ref": "ows:BoundingBox", + "@minOccurs": "0", + "@maxOccurs": "unbounded" + } + ] + } + } + } + }, + { + "@name": "EmptyType" + } + ] + } + } + } +} \ No newline at end of file diff --git a/tests/functionaltests/suites/default/expected/post_DescribeRecord.xml b/tests/functionaltests/suites/default/expected/post_DescribeRecord.xml new file mode 100644 index 000000000..76101a6bb --- /dev/null +++ b/tests/functionaltests/suites/default/expected/post_DescribeRecord.xml @@ -0,0 +1,115 @@ + + + + + + + + http://schemas.opengis.net/csw/2.0.2/record.xsd + + + This schema defines the basic record types that must be supported + by all CSW implementations. These correspond to full, summary, and + brief views based on DCMI metadata terms. + + CSW is an OGC Standard. + Copyright (c) 2004,2010 Open Geospatial Consortium, Inc. All Rights Reserved. + To obtain additional rights of use, visit http://www.opengeospatial.org/legal/ . + + + + + + + + + + + + + + + This type encapsulates all of the standard DCMI metadata terms, + including the Dublin Core refinements; these terms may be mapped + to the profile-specific information model. + + + + + + + + + + + + + + + + This type defines a brief representation of the common record + format. It extends AbstractRecordType to include only the + dc:identifier and dc:type properties. + + + + + + + + + + + + + + + + + + + This type defines a summary representation of the common record + format. It extends AbstractRecordType to include the core + properties. + + + + + + + + + + + + + + + + + + + + + + + + + This type extends DCMIRecordType to add ows:BoundingBox; + it may be used to specify a spatial envelope for the + catalogued resource. + + + + + + + + + + + + + + + diff --git a/tests/functionaltests/suites/default/expected/post_Exception-GetRecords-badsrsname.xml b/tests/functionaltests/suites/default/expected/post_Exception-GetRecords-badsrsname.xml new file mode 100644 index 000000000..fe0c923f3 --- /dev/null +++ b/tests/functionaltests/suites/default/expected/post_Exception-GetRecords-badsrsname.xml @@ -0,0 +1,7 @@ + + + + + Invalid Constraint: Invalid Filter request: Reprojection error: Invalid srsName "EPSG:226": Invalid source projection + + diff --git a/tests/functionaltests/suites/default/expected/post_Exception-GetRecords-elementname.xml b/tests/functionaltests/suites/default/expected/post_Exception-GetRecords-elementname.xml new file mode 100644 index 000000000..3654684e2 --- /dev/null +++ b/tests/functionaltests/suites/default/expected/post_Exception-GetRecords-elementname.xml @@ -0,0 +1,7 @@ + + + + + Invalid ElementName parameter value: dc:foo + + diff --git a/tests/functionaltests/suites/default/expected/post_Exception-GetRecords-invalid-xml.xml b/tests/functionaltests/suites/default/expected/post_Exception-GetRecords-invalid-xml.xml new file mode 100644 index 000000000..f21f6db74 --- /dev/null +++ b/tests/functionaltests/suites/default/expected/post_Exception-GetRecords-invalid-xml.xml @@ -0,0 +1,8 @@ + + + + + Exception: the document is not valid. +Error: Element '{http://www.opengis.net/cat/csw/2.0.2}ElementNamefoo': This element is not expected. Expected is one of ( {http://www.opengis.net/cat/csw/2.0.2}ElementSetName, {http://www.opengis.net/cat/csw/2.0.2}ElementName ). + + diff --git a/tests/functionaltests/suites/default/expected/post_GetCapabilities-SOAP.xml b/tests/functionaltests/suites/default/expected/post_GetCapabilities-SOAP.xml new file mode 100644 index 000000000..ae7b31029 --- /dev/null +++ b/tests/functionaltests/suites/default/expected/post_GetCapabilities-SOAP.xml @@ -0,0 +1,266 @@ + + + + + + + pycsw Geospatial Catalogue + pycsw is an OGC CSW server implementation written in Python + + catalogue + discovery + theme + + CSW + 2.0.2 + 3.0.0 + None + None + + + pycsw + + + Kralidis, Tom + Senior Systems Scientist + + + +01-416-xxx-xxxx + +01-416-xxx-xxxx + + + TBA + Toronto + Ontario + M9C 3Z9 + Canada + tomkralidis@gmail.com + + + 0800h - 1600h EST + During hours of service. Off on weekends. + + pointOfContact + + + + + + + + + + + + Filter_Capabilities + OperationsMetadata + ServiceIdentification + ServiceProvider + + + + + + + + + + + application/json + application/xml + + + http://www.w3.org/2001/XMLSchema + http://www.w3.org/TR/xmlschema-1/ + http://www.w3.org/XML/Schema + + + csw:Record + + + + + + + + + + + DescribeRecord.outputFormat + DescribeRecord.schemaLanguage + DescribeRecord.typeName + GetCapabilities.sections + GetRecordById.ElementSetName + GetRecordById.outputFormat + GetRecordById.outputSchema + GetRecords.CONSTRAINTLANGUAGE + GetRecords.ElementSetName + GetRecords.outputFormat + GetRecords.outputSchema + GetRecords.resultType + GetRecords.typeNames + + + + + + + + + + + CQL_TEXT + FILTER + + + brief + full + summary + + + application/json + application/xml + + + http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ + http://www.interlis.ch/INTERLIS2.3 + http://www.opengis.net/cat/csw/2.0.2 + http://www.opengis.net/cat/csw/csdgm + http://www.w3.org/2005/Atom + + + hits + results + validate + + + csw:Record + + + csw:AnyText + dc:contributor + dc:creator + dc:date + dc:format + dc:identifier + dc:language + dc:publisher + dc:relation + dc:rights + dc:source + dc:subject + dc:title + dc:type + dct:abstract + dct:modified + ows:BoundingBox + + + + + + + + + + + brief + full + summary + + + application/json + application/xml + + + http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ + http://www.interlis.ch/INTERLIS2.3 + http://www.opengis.net/cat/csw/2.0.2 + http://www.opengis.net/cat/csw/csdgm + http://www.w3.org/2005/Atom + + + + + + + + + + + CSW + + + 2.0.2 + 3.0.0 + + + http://demo.pycsw.org/gisdata/csw + + + 10 + + + XML + SOAP + + + allowed + + + + + + gml:Point + gml:LineString + gml:Polygon + gml:Envelope + + + + + + + + + + + + + + + + + + + Between + EqualTo + GreaterThan + GreaterThanEqualTo + LessThan + LessThanEqualTo + Like + NotEqualTo + NullCheck + + + + + length + lower + ltrim + rtrim + trim + upper + + + + + + + + + + + + diff --git a/tests/functionaltests/suites/default/expected/post_GetCapabilities-sections.xml b/tests/functionaltests/suites/default/expected/post_GetCapabilities-sections.xml new file mode 100644 index 000000000..9c51855de --- /dev/null +++ b/tests/functionaltests/suites/default/expected/post_GetCapabilities-sections.xml @@ -0,0 +1,83 @@ + + + + + pycsw + + + Kralidis, Tom + Senior Systems Scientist + + + +01-416-xxx-xxxx + +01-416-xxx-xxxx + + + TBA + Toronto + Ontario + M9C 3Z9 + Canada + tomkralidis@gmail.com + + + 0800h - 1600h EST + During hours of service. Off on weekends. + + pointOfContact + + + + + + gml:Point + gml:LineString + gml:Polygon + gml:Envelope + + + + + + + + + + + + + + + + + + + Between + EqualTo + GreaterThan + GreaterThanEqualTo + LessThan + LessThanEqualTo + Like + NotEqualTo + NullCheck + + + + + length + lower + ltrim + rtrim + trim + upper + + + + + + + + + + diff --git a/tests/functionaltests/suites/default/expected/post_GetCapabilities-updatesequence.xml b/tests/functionaltests/suites/default/expected/post_GetCapabilities-updatesequence.xml new file mode 100644 index 000000000..8026e1b3b --- /dev/null +++ b/tests/functionaltests/suites/default/expected/post_GetCapabilities-updatesequence.xml @@ -0,0 +1,262 @@ + + + + + pycsw Geospatial Catalogue + pycsw is an OGC CSW server implementation written in Python + + catalogue + discovery + theme + + CSW + 2.0.2 + 3.0.0 + None + None + + + pycsw + + + Kralidis, Tom + Senior Systems Scientist + + + +01-416-xxx-xxxx + +01-416-xxx-xxxx + + + TBA + Toronto + Ontario + M9C 3Z9 + Canada + tomkralidis@gmail.com + + + 0800h - 1600h EST + During hours of service. Off on weekends. + + pointOfContact + + + + + + + + + + + + Filter_Capabilities + OperationsMetadata + ServiceIdentification + ServiceProvider + + + + + + + + + + + application/json + application/xml + + + http://www.w3.org/2001/XMLSchema + http://www.w3.org/TR/xmlschema-1/ + http://www.w3.org/XML/Schema + + + csw:Record + + + + + + + + + + + DescribeRecord.outputFormat + DescribeRecord.schemaLanguage + DescribeRecord.typeName + GetCapabilities.sections + GetRecordById.ElementSetName + GetRecordById.outputFormat + GetRecordById.outputSchema + GetRecords.CONSTRAINTLANGUAGE + GetRecords.ElementSetName + GetRecords.outputFormat + GetRecords.outputSchema + GetRecords.resultType + GetRecords.typeNames + + + + + + + + + + + CQL_TEXT + FILTER + + + brief + full + summary + + + application/json + application/xml + + + http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ + http://www.interlis.ch/INTERLIS2.3 + http://www.opengis.net/cat/csw/2.0.2 + http://www.opengis.net/cat/csw/csdgm + http://www.w3.org/2005/Atom + + + hits + results + validate + + + csw:Record + + + csw:AnyText + dc:contributor + dc:creator + dc:date + dc:format + dc:identifier + dc:language + dc:publisher + dc:relation + dc:rights + dc:source + dc:subject + dc:title + dc:type + dct:abstract + dct:modified + ows:BoundingBox + + + + + + + + + + + brief + full + summary + + + application/json + application/xml + + + http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ + http://www.interlis.ch/INTERLIS2.3 + http://www.opengis.net/cat/csw/2.0.2 + http://www.opengis.net/cat/csw/csdgm + http://www.w3.org/2005/Atom + + + + + + + + + + + CSW + + + 2.0.2 + 3.0.0 + + + http://demo.pycsw.org/gisdata/csw + + + 10 + + + XML + SOAP + + + allowed + + + + + + gml:Point + gml:LineString + gml:Polygon + gml:Envelope + + + + + + + + + + + + + + + + + + + Between + EqualTo + GreaterThan + GreaterThanEqualTo + LessThan + LessThanEqualTo + Like + NotEqualTo + NullCheck + + + + + length + lower + ltrim + rtrim + trim + upper + + + + + + + + + + diff --git a/tests/functionaltests/suites/default/expected/post_GetCapabilities.xml b/tests/functionaltests/suites/default/expected/post_GetCapabilities.xml new file mode 100644 index 000000000..8026e1b3b --- /dev/null +++ b/tests/functionaltests/suites/default/expected/post_GetCapabilities.xml @@ -0,0 +1,262 @@ + + + + + pycsw Geospatial Catalogue + pycsw is an OGC CSW server implementation written in Python + + catalogue + discovery + theme + + CSW + 2.0.2 + 3.0.0 + None + None + + + pycsw + + + Kralidis, Tom + Senior Systems Scientist + + + +01-416-xxx-xxxx + +01-416-xxx-xxxx + + + TBA + Toronto + Ontario + M9C 3Z9 + Canada + tomkralidis@gmail.com + + + 0800h - 1600h EST + During hours of service. Off on weekends. + + pointOfContact + + + + + + + + + + + + Filter_Capabilities + OperationsMetadata + ServiceIdentification + ServiceProvider + + + + + + + + + + + application/json + application/xml + + + http://www.w3.org/2001/XMLSchema + http://www.w3.org/TR/xmlschema-1/ + http://www.w3.org/XML/Schema + + + csw:Record + + + + + + + + + + + DescribeRecord.outputFormat + DescribeRecord.schemaLanguage + DescribeRecord.typeName + GetCapabilities.sections + GetRecordById.ElementSetName + GetRecordById.outputFormat + GetRecordById.outputSchema + GetRecords.CONSTRAINTLANGUAGE + GetRecords.ElementSetName + GetRecords.outputFormat + GetRecords.outputSchema + GetRecords.resultType + GetRecords.typeNames + + + + + + + + + + + CQL_TEXT + FILTER + + + brief + full + summary + + + application/json + application/xml + + + http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ + http://www.interlis.ch/INTERLIS2.3 + http://www.opengis.net/cat/csw/2.0.2 + http://www.opengis.net/cat/csw/csdgm + http://www.w3.org/2005/Atom + + + hits + results + validate + + + csw:Record + + + csw:AnyText + dc:contributor + dc:creator + dc:date + dc:format + dc:identifier + dc:language + dc:publisher + dc:relation + dc:rights + dc:source + dc:subject + dc:title + dc:type + dct:abstract + dct:modified + ows:BoundingBox + + + + + + + + + + + brief + full + summary + + + application/json + application/xml + + + http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ + http://www.interlis.ch/INTERLIS2.3 + http://www.opengis.net/cat/csw/2.0.2 + http://www.opengis.net/cat/csw/csdgm + http://www.w3.org/2005/Atom + + + + + + + + + + + CSW + + + 2.0.2 + 3.0.0 + + + http://demo.pycsw.org/gisdata/csw + + + 10 + + + XML + SOAP + + + allowed + + + + + + gml:Point + gml:LineString + gml:Polygon + gml:Envelope + + + + + + + + + + + + + + + + + + + Between + EqualTo + GreaterThan + GreaterThanEqualTo + LessThan + LessThanEqualTo + Like + NotEqualTo + NullCheck + + + + + length + lower + ltrim + rtrim + trim + upper + + + + + + + + + + diff --git a/tests/functionaltests/suites/default/expected/post_GetDomain-parameter.xml b/tests/functionaltests/suites/default/expected/post_GetDomain-parameter.xml new file mode 100644 index 000000000..71bdb8a76 --- /dev/null +++ b/tests/functionaltests/suites/default/expected/post_GetDomain-parameter.xml @@ -0,0 +1,11 @@ + + + + + GetRecords.CONSTRAINTLANGUAGE + + CQL_TEXT + FILTER + + + diff --git a/tests/functionaltests/suites/default/expected/post_GetDomain-property.xml b/tests/functionaltests/suites/default/expected/post_GetDomain-property.xml new file mode 100644 index 000000000..257726071 --- /dev/null +++ b/tests/functionaltests/suites/default/expected/post_GetDomain-property.xml @@ -0,0 +1,18 @@ + + + + + dc:title + + Aliquam fermentum purus quis arcu + Fuscé vitae ligulä + Lorem ipsum + Lorem ipsum dolor sit amet + Maecenas enim + Mauris sed neque + Ut facilisis justo ut lacus + Vestibulum massa purus + Ñunç elementum + + + diff --git a/tests/functionaltests/suites/default/expected/post_GetRecordById-json.xml b/tests/functionaltests/suites/default/expected/post_GetRecordById-json.xml new file mode 100644 index 000000000..e8d687f71 --- /dev/null +++ b/tests/functionaltests/suites/default/expected/post_GetRecordById-json.xml @@ -0,0 +1,18 @@ +{ + "csw:GetRecordByIdResponse": { + "@xsi:schemaLocation": "http://www.opengis.net/cat/csw/2.0.2 http://schemas.opengis.net/csw/2.0.2/CSW-discovery.xsd", + "csw:SummaryRecord": { + "dc:identifier": "urn:uuid:94bc9c83-97f6-4b40-9eb8-a8e8787a5c63", + "dc:title": "Mauris sed neque", + "dc:type": "http://purl.org/dc/dcmitype/Dataset", + "dc:subject": "Vegetation-Cropland", + "dct:abstract": "Curabitur lacinia, ante non porta tempus, mi lorem feugiat odio, eget suscipit eros pede ac velit.", + "ows:BoundingBox": { + "@crs": "urn:x-ogc:def:crs:EPSG:6.11:4326", + "@dimensions": "2", + "ows:LowerCorner": "47.59 -4.1", + "ows:UpperCorner": "51.22 0.89" + } + } + } +} \ No newline at end of file diff --git a/tests/functionaltests/suites/default/expected/post_GetRecordById.xml b/tests/functionaltests/suites/default/expected/post_GetRecordById.xml new file mode 100644 index 000000000..6cddad959 --- /dev/null +++ b/tests/functionaltests/suites/default/expected/post_GetRecordById.xml @@ -0,0 +1,15 @@ + + + + + urn:uuid:94bc9c83-97f6-4b40-9eb8-a8e8787a5c63 + Mauris sed neque + http://purl.org/dc/dcmitype/Dataset + Vegetation-Cropland + Curabitur lacinia, ante non porta tempus, mi lorem feugiat odio, eget suscipit eros pede ac velit. + + 47.59 -4.1 + 51.22 0.89 + + + diff --git a/tests/functionaltests/suites/default/expected/post_GetRecords-all-json.xml b/tests/functionaltests/suites/default/expected/post_GetRecords-all-json.xml new file mode 100644 index 000000000..20fbf3798 --- /dev/null +++ b/tests/functionaltests/suites/default/expected/post_GetRecords-all-json.xml @@ -0,0 +1,64 @@ +{ + "csw:GetRecordsResponse": { + "@version": "2.0.2", + "@xsi:schemaLocation": "http://www.opengis.net/cat/csw/2.0.2 http://schemas.opengis.net/csw/2.0.2/CSW-discovery.xsd", + "csw:SearchStatus": { + "@timestamp": "PYCSW_TIMESTAMP" + }, + "csw:SearchResults": { + "@nextRecord": "6", + "@numberOfRecordsMatched": "12", + "@numberOfRecordsReturned": "5", + "@recordSchema": "http://www.opengis.net/cat/csw/2.0.2", + "@elementSet": "full", + "csw:Record": [ + { + "dc:identifier": "urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f", + "dc:type": "http://purl.org/dc/dcmitype/Image", + "dc:format": "image/svg+xml", + "dc:title": "Lorem ipsum", + "dct:spatial": "GR-22", + "dc:subject": "Tourism--Greece", + "dct:abstract": "Quisque lacus diam, placerat mollis, pharetra in, commodo sed, augue. Duis iaculis arcu vel arcu." + }, + { + "dc:identifier": "urn:uuid:1ef30a8b-876d-4828-9246-c37ab4510bbd", + "dc:type": "http://purl.org/dc/dcmitype/Service", + "dct:abstract": "Proin sit amet justo. In justo. Aenean adipiscing nulla id tellus.", + "ows:BoundingBox": { + "@crs": "urn:x-ogc:def:crs:EPSG:6.11:4326", + "ows:LowerCorner": "60.042 13.754", + "ows:UpperCorner": "68.410 17.920" + } + }, + { + "dc:identifier": "urn:uuid:66ae76b7-54ba-489b-a582-0f0633d96493", + "dc:title": "Maecenas enim", + "dc:type": "http://purl.org/dc/dcmitype/Text", + "dc:format": "application/xhtml+xml", + "dc:subject": "Marine sediments", + "dct:abstract": "Pellentesque tempus magna non sapien fringilla blandit." + }, + { + "dc:identifier": "urn:uuid:6a3de50b-fa66-4b58-a0e6-ca146fdd18d4", + "dc:type": "http://purl.org/dc/dcmitype/Service", + "dc:title": "Ut facilisis justo ut lacus", + "dc:subject": { + "@scheme": "http://www.digest.org/2.1", + "#text": "Vegetation" + }, + "dc:relation": "urn:uuid:94bc9c83-97f6-4b40-9eb8-a8e8787a5c63" + }, + { + "dc:identifier": "urn:uuid:784e2afd-a9fd-44a6-9a92-a3848371c8ec", + "dc:title": "Aliquam fermentum purus quis arcu", + "dc:type": "http://purl.org/dc/dcmitype/Text", + "dc:subject": "Hydrography--Dictionaries", + "dc:format": "application/pdf", + "dc:date": "2006-05-12", + "dct:abstract": "Vestibulum quis ipsum sit amet metus imperdiet vehicula. Nulla scelerisque cursus mi." + } + ] + } + } +} \ No newline at end of file diff --git a/tests/functionaltests/suites/default/expected/post_GetRecords-all-resulttype-hits.xml b/tests/functionaltests/suites/default/expected/post_GetRecords-all-resulttype-hits.xml new file mode 100644 index 000000000..b93efb288 --- /dev/null +++ b/tests/functionaltests/suites/default/expected/post_GetRecords-all-resulttype-hits.xml @@ -0,0 +1,6 @@ + + + + + + diff --git a/tests/functionaltests/suites/default/expected/post_GetRecords-all-resulttype-validate.xml b/tests/functionaltests/suites/default/expected/post_GetRecords-all-resulttype-validate.xml new file mode 100644 index 000000000..40bc3449b --- /dev/null +++ b/tests/functionaltests/suites/default/expected/post_GetRecords-all-resulttype-validate.xml @@ -0,0 +1,11 @@ + + + + + + + full + + + + diff --git a/tests/functionaltests/suites/default/expected/post_GetRecords-all-sortby-bbox.xml b/tests/functionaltests/suites/default/expected/post_GetRecords-all-sortby-bbox.xml new file mode 100644 index 000000000..e6bb27292 --- /dev/null +++ b/tests/functionaltests/suites/default/expected/post_GetRecords-all-sortby-bbox.xml @@ -0,0 +1,56 @@ + + + + + + + urn:uuid:1ef30a8b-876d-4828-9246-c37ab4510bbd + http://purl.org/dc/dcmitype/Service + Proin sit amet justo. In justo. Aenean adipiscing nulla id tellus. + + 60.042 13.754 + 68.410 17.920 + + + + urn:uuid:9a669547-b69b-469f-a11f-2d875366bbdc + http://purl.org/dc/dcmitype/Dataset + Ñunç elementum + Hydrography-Oceanographic + 2005-10-24 + + 44.792 -6.171 + 51.126 -2.228 + + + + urn:uuid:94bc9c83-97f6-4b40-9eb8-a8e8787a5c63 + http://purl.org/dc/dcmitype/Dataset + Mauris sed neque + Vegetation-Cropland + Curabitur lacinia, ante non porta tempus, mi lorem feugiat odio, eget suscipit eros pede ac velit. + 2006-03-26 + + 47.595 -4.097 + 51.217 0.889 + + + + urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f + http://purl.org/dc/dcmitype/Image + image/svg+xml + Lorem ipsum + GR-22 + Tourism--Greece + Quisque lacus diam, placerat mollis, pharetra in, commodo sed, augue. Duis iaculis arcu vel arcu. + + + urn:uuid:66ae76b7-54ba-489b-a582-0f0633d96493 + Maecenas enim + http://purl.org/dc/dcmitype/Text + application/xhtml+xml + Marine sediments + Pellentesque tempus magna non sapien fringilla blandit. + + + diff --git a/tests/functionaltests/suites/default/expected/post_GetRecords-all.xml b/tests/functionaltests/suites/default/expected/post_GetRecords-all.xml new file mode 100644 index 000000000..97ead2e33 --- /dev/null +++ b/tests/functionaltests/suites/default/expected/post_GetRecords-all.xml @@ -0,0 +1,49 @@ + + + + + + + urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f + http://purl.org/dc/dcmitype/Image + image/svg+xml + Lorem ipsum + GR-22 + Tourism--Greece + Quisque lacus diam, placerat mollis, pharetra in, commodo sed, augue. Duis iaculis arcu vel arcu. + + + urn:uuid:1ef30a8b-876d-4828-9246-c37ab4510bbd + http://purl.org/dc/dcmitype/Service + Proin sit amet justo. In justo. Aenean adipiscing nulla id tellus. + + 60.042 13.754 + 68.410 17.920 + + + + urn:uuid:66ae76b7-54ba-489b-a582-0f0633d96493 + Maecenas enim + http://purl.org/dc/dcmitype/Text + application/xhtml+xml + Marine sediments + Pellentesque tempus magna non sapien fringilla blandit. + + + urn:uuid:6a3de50b-fa66-4b58-a0e6-ca146fdd18d4 + http://purl.org/dc/dcmitype/Service + Ut facilisis justo ut lacus + Vegetation + urn:uuid:94bc9c83-97f6-4b40-9eb8-a8e8787a5c63 + + + urn:uuid:784e2afd-a9fd-44a6-9a92-a3848371c8ec + Aliquam fermentum purus quis arcu + http://purl.org/dc/dcmitype/Text + Hydrography--Dictionaries + application/pdf + 2006-05-12 + Vestibulum quis ipsum sit amet metus imperdiet vehicula. Nulla scelerisque cursus mi. + + + diff --git a/tests/functionaltests/suites/default/expected/post_GetRecords-bbox-filter-crs84.xml b/tests/functionaltests/suites/default/expected/post_GetRecords-bbox-filter-crs84.xml new file mode 100644 index 000000000..97de18a9a --- /dev/null +++ b/tests/functionaltests/suites/default/expected/post_GetRecords-bbox-filter-crs84.xml @@ -0,0 +1,34 @@ + + + + + + + urn:uuid:1ef30a8b-876d-4828-9246-c37ab4510bbd + + http://purl.org/dc/dcmitype/Service + + 60.04 13.75 + 68.41 17.92 + + + + urn:uuid:94bc9c83-97f6-4b40-9eb8-a8e8787a5c63 + Mauris sed neque + http://purl.org/dc/dcmitype/Dataset + + 47.59 -4.1 + 51.22 0.89 + + + + urn:uuid:9a669547-b69b-469f-a11f-2d875366bbdc + Ñunç elementum + http://purl.org/dc/dcmitype/Dataset + + 44.79 -6.17 + 51.13 -2.23 + + + + diff --git a/tests/functionaltests/suites/default/expected/post_GetRecords-cql-title-and-abstract.xml b/tests/functionaltests/suites/default/expected/post_GetRecords-cql-title-and-abstract.xml new file mode 100644 index 000000000..4ed61a2ee --- /dev/null +++ b/tests/functionaltests/suites/default/expected/post_GetRecords-cql-title-and-abstract.xml @@ -0,0 +1,12 @@ + + + + + + + urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f + Lorem ipsum + http://purl.org/dc/dcmitype/Image + + + diff --git a/tests/functionaltests/suites/default/expected/post_GetRecords-cql-title.xml b/tests/functionaltests/suites/default/expected/post_GetRecords-cql-title.xml new file mode 100644 index 000000000..47493bb32 --- /dev/null +++ b/tests/functionaltests/suites/default/expected/post_GetRecords-cql-title.xml @@ -0,0 +1,17 @@ + + + + + + + urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f + Lorem ipsum + http://purl.org/dc/dcmitype/Image + + + urn:uuid:a06af396-3105-442d-8b40-22b57a90d2f2 + Lorem ipsum dolor sit amet + http://purl.org/dc/dcmitype/Image + + + diff --git a/tests/functionaltests/suites/default/expected/post_GetRecords-distributedsearch.xml b/tests/functionaltests/suites/default/expected/post_GetRecords-distributedsearch.xml new file mode 100644 index 000000000..d8f0c0f9f --- /dev/null +++ b/tests/functionaltests/suites/default/expected/post_GetRecords-distributedsearch.xml @@ -0,0 +1,17 @@ + + + + + + + + urn:uuid:dd87919a-e399-11e5-8327-aa0000ae6bfc + Aquifers + vector digital data + + 32.55 -117.6 + 33.51 -116.08 + + + + diff --git a/tests/functionaltests/suites/default/expected/post_GetRecords-elementname.xml b/tests/functionaltests/suites/default/expected/post_GetRecords-elementname.xml new file mode 100644 index 000000000..29fbf6340 --- /dev/null +++ b/tests/functionaltests/suites/default/expected/post_GetRecords-elementname.xml @@ -0,0 +1,20 @@ + + + + + + + Lorem ipsum + + + + Maecenas enim + + + Ut facilisis justo ut lacus + + + Aliquam fermentum purus quis arcu + + + diff --git a/tests/functionaltests/suites/default/expected/post_GetRecords-end.xml b/tests/functionaltests/suites/default/expected/post_GetRecords-end.xml new file mode 100644 index 000000000..814be1f3d --- /dev/null +++ b/tests/functionaltests/suites/default/expected/post_GetRecords-end.xml @@ -0,0 +1,30 @@ + + + + + + + urn:uuid:a06af396-3105-442d-8b40-22b57a90d2f2 + http://purl.org/dc/dcmitype/Image + Lorem ipsum dolor sit amet + image/jpeg + IT-FI + + + urn:uuid:ab42a8c4-95e8-4630-bf79-33e59241605a + http://purl.org/dc/dcmitype/Service + Physiography + Suspendisse accumsan molestie lorem. Nullam velit turpis, mattis ut, varius bibendum, laoreet non, quam. + urn:uuid:88247b56-4cbc-4df9-9860-db3f8042e357 + + + urn:uuid:e9330592-0932-474b-be34-c3a3bb67c7db + http://purl.org/dc/dcmitype/Text + Fuscé vitae ligulä + 2003-05-09 + Land titles + text/rtf + Morbi ultriçes, dui suscipit vestibulum prètium, velit ante pretium tortor, egët tincidunt pede odio ac nulla. + + + diff --git a/tests/functionaltests/suites/default/expected/post_GetRecords-filter-and-bbox-freetext.xml b/tests/functionaltests/suites/default/expected/post_GetRecords-filter-and-bbox-freetext.xml new file mode 100644 index 000000000..e45a6a273 --- /dev/null +++ b/tests/functionaltests/suites/default/expected/post_GetRecords-filter-and-bbox-freetext.xml @@ -0,0 +1,16 @@ + + + + + + + urn:uuid:94bc9c83-97f6-4b40-9eb8-a8e8787a5c63 + Mauris sed neque + http://purl.org/dc/dcmitype/Dataset + + 47.59 -4.1 + 51.22 0.89 + + + + diff --git a/tests/functionaltests/suites/default/expected/post_GetRecords-filter-and-nested-or.xml b/tests/functionaltests/suites/default/expected/post_GetRecords-filter-and-nested-or.xml new file mode 100644 index 000000000..a05b8561a --- /dev/null +++ b/tests/functionaltests/suites/default/expected/post_GetRecords-filter-and-nested-or.xml @@ -0,0 +1,16 @@ + + + + + + + urn:uuid:784e2afd-a9fd-44a6-9a92-a3848371c8ec + Aliquam fermentum purus quis arcu + http://purl.org/dc/dcmitype/Text + Hydrography--Dictionaries + application/pdf + 2006-05-12 + Vestibulum quis ipsum sit amet metus imperdiet vehicula. Nulla scelerisque cursus mi. + + + diff --git a/tests/functionaltests/suites/default/expected/post_GetRecords-filter-and-nested-or2.xml b/tests/functionaltests/suites/default/expected/post_GetRecords-filter-and-nested-or2.xml new file mode 100644 index 000000000..2b1accdf9 --- /dev/null +++ b/tests/functionaltests/suites/default/expected/post_GetRecords-filter-and-nested-or2.xml @@ -0,0 +1,23 @@ + + + + + + + urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f + http://purl.org/dc/dcmitype/Image + image/svg+xml + Lorem ipsum + GR-22 + Tourism--Greece + Quisque lacus diam, placerat mollis, pharetra in, commodo sed, augue. Duis iaculis arcu vel arcu. + + + urn:uuid:a06af396-3105-442d-8b40-22b57a90d2f2 + http://purl.org/dc/dcmitype/Image + Lorem ipsum dolor sit amet + image/jpeg + IT-FI + + + diff --git a/tests/functionaltests/suites/default/expected/post_GetRecords-filter-anytext-and-not.xml b/tests/functionaltests/suites/default/expected/post_GetRecords-filter-anytext-and-not.xml new file mode 100644 index 000000000..d758ab92b --- /dev/null +++ b/tests/functionaltests/suites/default/expected/post_GetRecords-filter-anytext-and-not.xml @@ -0,0 +1,15 @@ + + + + + + + urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f + Lorem ipsum + http://purl.org/dc/dcmitype/Image + Tourism--Greece + image/svg+xml + Quisque lacus diam, placerat mollis, pharetra in, commodo sed, augue. Duis iaculis arcu vel arcu. + + + diff --git a/tests/functionaltests/suites/default/expected/post_GetRecords-filter-anytext-equal.xml b/tests/functionaltests/suites/default/expected/post_GetRecords-filter-anytext-equal.xml new file mode 100644 index 000000000..3b348919b --- /dev/null +++ b/tests/functionaltests/suites/default/expected/post_GetRecords-filter-anytext-equal.xml @@ -0,0 +1,36 @@ + + + + + + + urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f + Lorem ipsum + http://purl.org/dc/dcmitype/Image + + + urn:uuid:88247b56-4cbc-4df9-9860-db3f8042e357 + + http://purl.org/dc/dcmitype/Dataset + + + urn:uuid:94bc9c83-97f6-4b40-9eb8-a8e8787a5c63 + Mauris sed neque + http://purl.org/dc/dcmitype/Dataset + + 47.59 -4.1 + 51.22 0.89 + + + + urn:uuid:a06af396-3105-442d-8b40-22b57a90d2f2 + Lorem ipsum dolor sit amet + http://purl.org/dc/dcmitype/Image + + + urn:uuid:ab42a8c4-95e8-4630-bf79-33e59241605a + + http://purl.org/dc/dcmitype/Service + + + diff --git a/tests/functionaltests/suites/default/expected/post_GetRecords-filter-anytext.xml b/tests/functionaltests/suites/default/expected/post_GetRecords-filter-anytext.xml new file mode 100644 index 000000000..3b348919b --- /dev/null +++ b/tests/functionaltests/suites/default/expected/post_GetRecords-filter-anytext.xml @@ -0,0 +1,36 @@ + + + + + + + urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f + Lorem ipsum + http://purl.org/dc/dcmitype/Image + + + urn:uuid:88247b56-4cbc-4df9-9860-db3f8042e357 + + http://purl.org/dc/dcmitype/Dataset + + + urn:uuid:94bc9c83-97f6-4b40-9eb8-a8e8787a5c63 + Mauris sed neque + http://purl.org/dc/dcmitype/Dataset + + 47.59 -4.1 + 51.22 0.89 + + + + urn:uuid:a06af396-3105-442d-8b40-22b57a90d2f2 + Lorem ipsum dolor sit amet + http://purl.org/dc/dcmitype/Image + + + urn:uuid:ab42a8c4-95e8-4630-bf79-33e59241605a + + http://purl.org/dc/dcmitype/Service + + + diff --git a/tests/functionaltests/suites/default/expected/post_GetRecords-filter-bbox-reproject.xml b/tests/functionaltests/suites/default/expected/post_GetRecords-filter-bbox-reproject.xml new file mode 100644 index 000000000..8f98b1d0e --- /dev/null +++ b/tests/functionaltests/suites/default/expected/post_GetRecords-filter-bbox-reproject.xml @@ -0,0 +1,25 @@ + + + + + + + urn:uuid:94bc9c83-97f6-4b40-9eb8-a8e8787a5c63 + Mauris sed neque + http://purl.org/dc/dcmitype/Dataset + + 47.59 -4.1 + 51.22 0.89 + + + + urn:uuid:9a669547-b69b-469f-a11f-2d875366bbdc + Ñunç elementum + http://purl.org/dc/dcmitype/Dataset + + 44.79 -6.17 + 51.13 -2.23 + + + + diff --git a/tests/functionaltests/suites/default/expected/post_GetRecords-filter-bbox-sortby.xml b/tests/functionaltests/suites/default/expected/post_GetRecords-filter-bbox-sortby.xml new file mode 100644 index 000000000..bb2e92067 --- /dev/null +++ b/tests/functionaltests/suites/default/expected/post_GetRecords-filter-bbox-sortby.xml @@ -0,0 +1,25 @@ + + + + + + + urn:uuid:9a669547-b69b-469f-a11f-2d875366bbdc + Ñunç elementum + http://purl.org/dc/dcmitype/Dataset + + 44.79 -6.17 + 51.13 -2.23 + + + + urn:uuid:94bc9c83-97f6-4b40-9eb8-a8e8787a5c63 + Mauris sed neque + http://purl.org/dc/dcmitype/Dataset + + 47.59 -4.1 + 51.22 0.89 + + + + diff --git a/tests/functionaltests/suites/default/expected/post_GetRecords-filter-bbox.xml b/tests/functionaltests/suites/default/expected/post_GetRecords-filter-bbox.xml new file mode 100644 index 000000000..8f98b1d0e --- /dev/null +++ b/tests/functionaltests/suites/default/expected/post_GetRecords-filter-bbox.xml @@ -0,0 +1,25 @@ + + + + + + + urn:uuid:94bc9c83-97f6-4b40-9eb8-a8e8787a5c63 + Mauris sed neque + http://purl.org/dc/dcmitype/Dataset + + 47.59 -4.1 + 51.22 0.89 + + + + urn:uuid:9a669547-b69b-469f-a11f-2d875366bbdc + Ñunç elementum + http://purl.org/dc/dcmitype/Dataset + + 44.79 -6.17 + 51.13 -2.23 + + + + diff --git a/tests/functionaltests/suites/default/expected/post_GetRecords-filter-between.xml b/tests/functionaltests/suites/default/expected/post_GetRecords-filter-between.xml new file mode 100644 index 000000000..37d75866e --- /dev/null +++ b/tests/functionaltests/suites/default/expected/post_GetRecords-filter-between.xml @@ -0,0 +1,49 @@ + + + + + + + urn:uuid:784e2afd-a9fd-44a6-9a92-a3848371c8ec + Aliquam fermentum purus quis arcu + http://purl.org/dc/dcmitype/Text + Hydrography--Dictionaries + application/pdf + 2006-05-12 + Vestibulum quis ipsum sit amet metus imperdiet vehicula. Nulla scelerisque cursus mi. + + + urn:uuid:e9330592-0932-474b-be34-c3a3bb67c7db + http://purl.org/dc/dcmitype/Text + Fuscé vitae ligulä + 2003-05-09 + Land titles + text/rtf + Morbi ultriçes, dui suscipit vestibulum prètium, velit ante pretium tortor, egët tincidunt pede odio ac nulla. + + + urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f + http://purl.org/dc/dcmitype/Image + image/svg+xml + Lorem ipsum + GR-22 + Tourism--Greece + Quisque lacus diam, placerat mollis, pharetra in, commodo sed, augue. Duis iaculis arcu vel arcu. + + + urn:uuid:a06af396-3105-442d-8b40-22b57a90d2f2 + http://purl.org/dc/dcmitype/Image + Lorem ipsum dolor sit amet + image/jpeg + IT-FI + + + urn:uuid:66ae76b7-54ba-489b-a582-0f0633d96493 + Maecenas enim + http://purl.org/dc/dcmitype/Text + application/xhtml+xml + Marine sediments + Pellentesque tempus magna non sapien fringilla blandit. + + + diff --git a/tests/functionaltests/suites/default/expected/post_GetRecords-filter-function-bad.xml b/tests/functionaltests/suites/default/expected/post_GetRecords-filter-function-bad.xml new file mode 100644 index 000000000..bc63e8426 --- /dev/null +++ b/tests/functionaltests/suites/default/expected/post_GetRecords-filter-function-bad.xml @@ -0,0 +1,7 @@ + + + + + Invalid Constraint: Invalid Filter request: Invalid ogc:Function: foo + + diff --git a/tests/functionaltests/suites/default/expected/post_GetRecords-filter-function.xml b/tests/functionaltests/suites/default/expected/post_GetRecords-filter-function.xml new file mode 100644 index 000000000..4ed61a2ee --- /dev/null +++ b/tests/functionaltests/suites/default/expected/post_GetRecords-filter-function.xml @@ -0,0 +1,12 @@ + + + + + + + urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f + Lorem ipsum + http://purl.org/dc/dcmitype/Image + + + diff --git a/tests/functionaltests/suites/default/expected/post_GetRecords-filter-not-bbox.xml b/tests/functionaltests/suites/default/expected/post_GetRecords-filter-not-bbox.xml new file mode 100644 index 000000000..03686d45d --- /dev/null +++ b/tests/functionaltests/suites/default/expected/post_GetRecords-filter-not-bbox.xml @@ -0,0 +1,36 @@ + + + + + + + urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f + Lorem ipsum + http://purl.org/dc/dcmitype/Image + + + urn:uuid:1ef30a8b-876d-4828-9246-c37ab4510bbd + + http://purl.org/dc/dcmitype/Service + + 60.04 13.75 + 68.41 17.92 + + + + urn:uuid:66ae76b7-54ba-489b-a582-0f0633d96493 + Maecenas enim + http://purl.org/dc/dcmitype/Text + + + urn:uuid:6a3de50b-fa66-4b58-a0e6-ca146fdd18d4 + Ut facilisis justo ut lacus + http://purl.org/dc/dcmitype/Service + + + urn:uuid:784e2afd-a9fd-44a6-9a92-a3848371c8ec + Aliquam fermentum purus quis arcu + http://purl.org/dc/dcmitype/Text + + + diff --git a/tests/functionaltests/suites/default/expected/post_GetRecords-filter-or-bbox-freetext.xml b/tests/functionaltests/suites/default/expected/post_GetRecords-filter-or-bbox-freetext.xml new file mode 100644 index 000000000..8f98b1d0e --- /dev/null +++ b/tests/functionaltests/suites/default/expected/post_GetRecords-filter-or-bbox-freetext.xml @@ -0,0 +1,25 @@ + + + + + + + urn:uuid:94bc9c83-97f6-4b40-9eb8-a8e8787a5c63 + Mauris sed neque + http://purl.org/dc/dcmitype/Dataset + + 47.59 -4.1 + 51.22 0.89 + + + + urn:uuid:9a669547-b69b-469f-a11f-2d875366bbdc + Ñunç elementum + http://purl.org/dc/dcmitype/Dataset + + 44.79 -6.17 + 51.13 -2.23 + + + + diff --git a/tests/functionaltests/suites/default/expected/post_GetRecords-filter-or-nested-and.xml b/tests/functionaltests/suites/default/expected/post_GetRecords-filter-or-nested-and.xml new file mode 100644 index 000000000..077ef2fb1 --- /dev/null +++ b/tests/functionaltests/suites/default/expected/post_GetRecords-filter-or-nested-and.xml @@ -0,0 +1,60 @@ + + + + + + + urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f + http://purl.org/dc/dcmitype/Image + image/svg+xml + Lorem ipsum + GR-22 + Tourism--Greece + Quisque lacus diam, placerat mollis, pharetra in, commodo sed, augue. Duis iaculis arcu vel arcu. + + + urn:uuid:829babb0-b2f1-49e1-8cd5-7b489fe71a1e + http://purl.org/dc/dcmitype/Image + image/jp2 + Vestibulum massa purus + urn:uuid:9a669547-b69b-469f-a11f-2d875366bbdc + + + urn:uuid:88247b56-4cbc-4df9-9860-db3f8042e357 + http://purl.org/dc/dcmitype/Dataset + Physiography-Landforms + FI-ES + Donec scelerisque pede ut nisl luctus accumsan. Quisque ultrices, lorem eget feugiat fringilla, lorem dui porttitor ante, cursus ultrices magna odio eu neque. + + + urn:uuid:94bc9c83-97f6-4b40-9eb8-a8e8787a5c63 + http://purl.org/dc/dcmitype/Dataset + Mauris sed neque + Vegetation-Cropland + Curabitur lacinia, ante non porta tempus, mi lorem feugiat odio, eget suscipit eros pede ac velit. + 2006-03-26 + + 47.595 -4.097 + 51.217 0.889 + + + + urn:uuid:9a669547-b69b-469f-a11f-2d875366bbdc + http://purl.org/dc/dcmitype/Dataset + Ñunç elementum + Hydrography-Oceanographic + 2005-10-24 + + 44.792 -6.171 + 51.126 -2.228 + + + + urn:uuid:a06af396-3105-442d-8b40-22b57a90d2f2 + http://purl.org/dc/dcmitype/Image + Lorem ipsum dolor sit amet + image/jpeg + IT-FI + + + diff --git a/tests/functionaltests/suites/default/expected/post_GetRecords-filter-or-title-abstract.xml b/tests/functionaltests/suites/default/expected/post_GetRecords-filter-or-title-abstract.xml new file mode 100644 index 000000000..0f34eb38b --- /dev/null +++ b/tests/functionaltests/suites/default/expected/post_GetRecords-filter-or-title-abstract.xml @@ -0,0 +1,19 @@ + + + + + + + urn:uuid:94bc9c83-97f6-4b40-9eb8-a8e8787a5c63 + http://purl.org/dc/dcmitype/Dataset + Mauris sed neque + Vegetation-Cropland + Curabitur lacinia, ante non porta tempus, mi lorem feugiat odio, eget suscipit eros pede ac velit. + 2006-03-26 + + 47.595 -4.097 + 51.217 0.889 + + + + diff --git a/tests/functionaltests/suites/default/expected/post_GetRecords-maxrecords.xml b/tests/functionaltests/suites/default/expected/post_GetRecords-maxrecords.xml new file mode 100644 index 000000000..bd4275d63 --- /dev/null +++ b/tests/functionaltests/suites/default/expected/post_GetRecords-maxrecords.xml @@ -0,0 +1,16 @@ + + + + + + + urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f + http://purl.org/dc/dcmitype/Image + image/svg+xml + Lorem ipsum + GR-22 + Tourism--Greece + Quisque lacus diam, placerat mollis, pharetra in, commodo sed, augue. Duis iaculis arcu vel arcu. + + + diff --git a/tests/functionaltests/suites/default/expected/post_GetRecords-requestid.xml b/tests/functionaltests/suites/default/expected/post_GetRecords-requestid.xml new file mode 100644 index 000000000..31d201904 --- /dev/null +++ b/tests/functionaltests/suites/default/expected/post_GetRecords-requestid.xml @@ -0,0 +1,50 @@ + + + + ce74a6c8-677a-42b3-a07c-ce44df8ce7ab + + + + urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f + http://purl.org/dc/dcmitype/Image + image/svg+xml + Lorem ipsum + GR-22 + Tourism--Greece + Quisque lacus diam, placerat mollis, pharetra in, commodo sed, augue. Duis iaculis arcu vel arcu. + + + urn:uuid:1ef30a8b-876d-4828-9246-c37ab4510bbd + http://purl.org/dc/dcmitype/Service + Proin sit amet justo. In justo. Aenean adipiscing nulla id tellus. + + 60.042 13.754 + 68.410 17.920 + + + + urn:uuid:66ae76b7-54ba-489b-a582-0f0633d96493 + Maecenas enim + http://purl.org/dc/dcmitype/Text + application/xhtml+xml + Marine sediments + Pellentesque tempus magna non sapien fringilla blandit. + + + urn:uuid:6a3de50b-fa66-4b58-a0e6-ca146fdd18d4 + http://purl.org/dc/dcmitype/Service + Ut facilisis justo ut lacus + Vegetation + urn:uuid:94bc9c83-97f6-4b40-9eb8-a8e8787a5c63 + + + urn:uuid:784e2afd-a9fd-44a6-9a92-a3848371c8ec + Aliquam fermentum purus quis arcu + http://purl.org/dc/dcmitype/Text + Hydrography--Dictionaries + application/pdf + 2006-05-12 + Vestibulum quis ipsum sit amet metus imperdiet vehicula. Nulla scelerisque cursus mi. + + + diff --git a/tests/functionaltests/suites/default/expected/post_Harvest-default.xml b/tests/functionaltests/suites/default/expected/post_Harvest-default.xml new file mode 100644 index 000000000..169151fb0 --- /dev/null +++ b/tests/functionaltests/suites/default/expected/post_Harvest-default.xml @@ -0,0 +1,7 @@ + + + + + Harvest operations are not supported + + diff --git a/tests/functionaltests/suites/default/expected/post_Harvest-response-handler.xml b/tests/functionaltests/suites/default/expected/post_Harvest-response-handler.xml new file mode 100644 index 000000000..169151fb0 --- /dev/null +++ b/tests/functionaltests/suites/default/expected/post_Harvest-response-handler.xml @@ -0,0 +1,7 @@ + + + + + Harvest operations are not supported + + diff --git a/tests/functionaltests/suites/default/expected/post_Transaction-delete.xml b/tests/functionaltests/suites/default/expected/post_Transaction-delete.xml new file mode 100644 index 000000000..2b4a6e3fd --- /dev/null +++ b/tests/functionaltests/suites/default/expected/post_Transaction-delete.xml @@ -0,0 +1,7 @@ + + + + + Invalid Constraint: Invalid Filter request: Invalid PropertyName: apiso:Identifier. 'apiso:Identifier' + + diff --git a/tests/functionaltests/suites/default/expected/post_Transaction-insert.xml b/tests/functionaltests/suites/default/expected/post_Transaction-insert.xml new file mode 100644 index 000000000..f5df4c66c --- /dev/null +++ b/tests/functionaltests/suites/default/expected/post_Transaction-insert.xml @@ -0,0 +1,7 @@ + + + + + Transaction operations are not supported + + diff --git a/tests/functionaltests/suites/default/expected/post_Transaction-update-full.xml b/tests/functionaltests/suites/default/expected/post_Transaction-update-full.xml new file mode 100644 index 000000000..f5df4c66c --- /dev/null +++ b/tests/functionaltests/suites/default/expected/post_Transaction-update-full.xml @@ -0,0 +1,7 @@ + + + + + Transaction operations are not supported + + diff --git a/tests/functionaltests/suites/default/expected/post_Transaction-update-recordproperty.xml b/tests/functionaltests/suites/default/expected/post_Transaction-update-recordproperty.xml new file mode 100644 index 000000000..f5df4c66c --- /dev/null +++ b/tests/functionaltests/suites/default/expected/post_Transaction-update-recordproperty.xml @@ -0,0 +1,7 @@ + + + + + Transaction operations are not supported + + diff --git a/tests/functionaltests/suites/default/get/requests.txt b/tests/functionaltests/suites/default/get/requests.txt new file mode 100644 index 000000000..ee368671b --- /dev/null +++ b/tests/functionaltests/suites/default/get/requests.txt @@ -0,0 +1,20 @@ +GetCapabilities,PYCSW_SERVER?config=tests/suites/default/default.cfg&service=CSW&version=2.0.2&request=GetCapabilities +GetCapabilities-invalid-request,PYCSW_SERVER?config=tests/suites/default/default.cfg&service=CSW&version=2.0.2&request=GetCapabilitiese +GetRecords-all,PYCSW_SERVER?config=tests/suites/default/default.cfg&service=CSW&version=2.0.2&request=GetRecords&typenames=csw:Record&elementsetname=full +GetRecords-sortby-asc,PYCSW_SERVER?config=tests/suites/default/default.cfg&service=CSW&version=2.0.2&request=GetRecords&typenames=csw:Record&elementsetname=full&resulttype=results&sortby=dc:title:A +GetRecords-sortby-desc,PYCSW_SERVER?config=tests/suites/default/default.cfg&service=CSW&version=2.0.2&request=GetRecords&typenames=csw:Record&elementsetname=full&resulttype=results&sortby=dc:title:D +GetRecords-sortby-invalid-propertyname,PYCSW_SERVER?config=tests/suites/default/default.cfg&service=CSW&version=2.0.2&request=GetRecords&typenames=csw:Record&elementsetname=full&resulttype=results&sortby=dc:titlei:A +GetRecords-sortby-invalid-order,PYCSW_SERVER?config=tests/suites/default/default.cfg&service=CSW&version=2.0.2&request=GetRecords&typenames=csw:Record&elementsetname=full&resulttype=results&sortby=dc:title:FOO +GetRecords-filter,PYCSW_SERVER?config=tests/suites/default/default.cfg&service=CSW&version=2.0.2&request=GetRecords&typenames=csw:Record&elementsetname=full&resulttype=results&constraintlanguage=FILTER&constraint=%3Cogc%3AFilter%20xmlns%3Aogc%3D%22http%3A%2F%2Fwww.opengis.net%2Fogc%22%3E%3Cogc%3APropertyIsEqualTo%3E%3Cogc%3APropertyName%3Edc%3Atitle%3C%2Fogc%3APropertyName%3E%3Cogc%3ALiteral%3ELorem%20ipsum%3C%2Fogc%3ALiteral%3E%3C%2Fogc%3APropertyIsEqualTo%3E%3C%2Fogc%3AFilter%3E +GetRecords-filter-cql-title,PYCSW_SERVER?config=tests/suites/default/default.cfg&service=CSW&version=2.0.2&request=GetRecords&typenames=csw:Record&elementsetname=full&resulttype=results&constraintlanguage=CQL_TEXT&constraint=dc%3Atitle%20like%20%27%25lor%25%27 +GetRecords-filter-cql-title-with-spaces,PYCSW_SERVER?config=tests/suites/default/default.cfg&service=CSW&version=2.0.2&request=GetRecords&typenames=csw:Record&elementsetname=full&resulttype=results&constraintlanguage=CQL_TEXT&constraint=dc%3Atitle%20like%20%27%25Lorem%20ipsum%25%27 +GetRecords-filter-cql-title-or-abstract,PYCSW_SERVER?config=tests/suites/default/default.cfg&service=CSW&version=2.0.2&request=GetRecords&typenames=csw:Record&elementsetname=full&resulttype=results&constraintlanguage=CQL_TEXT&constraint=dc%3Atitle%20like%20%27%25lor%25%27%20or%20dct%3Aabstract%20like%20%27%25pharetra%25%27 +GetRecords-filter-cql-title-with-spaces-or-abstract,PYCSW_SERVER?config=tests/suites/default/default.cfg&service=CSW&version=2.0.2&request=GetRecords&typenames=csw:Record&elementsetname=full&resulttype=results&constraintlanguage=CQL_TEXT&constraint=dc%3Atitle%20like%20%27%25dolor%20sit%25%27%20or%20dct%3Aabstract%20like%20%27%25pharetra%25%27 +GetRecords-filter-cql-title-or-abstract-with-spaces,PYCSW_SERVER?config=tests/suites/default/default.cfg&service=CSW&version=2.0.2&request=GetRecords&typenames=csw:Record&elementsetname=full&resulttype=results&constraintlanguage=CQL_TEXT&constraint=dc%3Atitle%20like%20%27%25lor%25%27%20or%20dct%3Aabstract%20like%20%27%25pharetra%20in%25%27 +GetRecords-filter-cql-title-with-spaces-or-abstract-with-spaces,PYCSW_SERVER?config=tests/suites/default/default.cfg&service=CSW&version=2.0.2&request=GetRecords&typenames=csw:Record&elementsetname=full&resulttype=results&constraintlanguage=CQL_TEXT&constraint=dc%3Atitle%20like%20%27%25dolor%20sit%25%27%20or%20dct%3Aabstract%20like%20%27%25pharetra%20in%25%27 +GetRecords-empty-maxrecords,PYCSW_SERVER?config=tests/suites/default/default.cfg&service=CSW&version=2.0.2&request=GetRecords&typenames=csw:Record&elementsetname=full&maxrecords= +GetRepositoryItem,PYCSW_SERVER?config=tests/suites/default/default.cfg&service=CSW&version=2.0.2&request=GetRepositoryItem&id=urn:uuid:94bc9c83-97f6-4b40-9eb8-a8e8787a5c63 +Exception-GetRepositoryItem-notfound,PYCSW_SERVER?config=tests/suites/default/default.cfg&service=CSW&version=2.0.2&request=GetRepositoryItem&id=NOTFOUND +Exception-GetRepositoryItem-service-invalid1,PYCSW_SERVER?config=tests/suites/default/default.cfg&service=CSW%00&version=2.0.2&request=GetRepositoryItem&id=123 +Exception-GetRepositoryItem-service-invalid2,PYCSW_SERVER?config=tests/suites/default/default.cfg&service=CSW%00'&version=2.0.2&request=GetRepositoryItem&id=123 +Exception-GetRepositoryItem-version-invalid,PYCSW_SERVER?config=tests/suites/default/default.cfg&service=CSW&version=2.0.2'&request=GetRepositoryItem&id=123 diff --git a/tests/functionaltests/suites/default/post/DescribeRecord-json.xml b/tests/functionaltests/suites/default/post/DescribeRecord-json.xml new file mode 100644 index 000000000..35c176c91 --- /dev/null +++ b/tests/functionaltests/suites/default/post/DescribeRecord-json.xml @@ -0,0 +1,4 @@ + + + csw:Record + diff --git a/tests/functionaltests/suites/default/post/DescribeRecord.xml b/tests/functionaltests/suites/default/post/DescribeRecord.xml new file mode 100644 index 000000000..102443e47 --- /dev/null +++ b/tests/functionaltests/suites/default/post/DescribeRecord.xml @@ -0,0 +1,4 @@ + + + csw:Record + diff --git a/tests/functionaltests/suites/default/post/Exception-GetRecords-badsrsname.xml b/tests/functionaltests/suites/default/post/Exception-GetRecords-badsrsname.xml new file mode 100644 index 000000000..61f4b2da5 --- /dev/null +++ b/tests/functionaltests/suites/default/post/Exception-GetRecords-badsrsname.xml @@ -0,0 +1,19 @@ + + + + brief + + + + + ows:BoundingBox + + -90 -180 + 90 180 + + + + + + + diff --git a/tests/functionaltests/suites/default/post/Exception-GetRecords-elementname.xml b/tests/functionaltests/suites/default/post/Exception-GetRecords-elementname.xml new file mode 100644 index 000000000..2dc8935e2 --- /dev/null +++ b/tests/functionaltests/suites/default/post/Exception-GetRecords-elementname.xml @@ -0,0 +1,6 @@ + + + + dc:foo + + diff --git a/tests/functionaltests/suites/default/post/Exception-GetRecords-invalid-xml.xml b/tests/functionaltests/suites/default/post/Exception-GetRecords-invalid-xml.xml new file mode 100644 index 000000000..0bdf07fb3 --- /dev/null +++ b/tests/functionaltests/suites/default/post/Exception-GetRecords-invalid-xml.xml @@ -0,0 +1,6 @@ + + + + dc:foo + + diff --git a/tests/functionaltests/suites/default/post/GetCapabilities-SOAP.xml b/tests/functionaltests/suites/default/post/GetCapabilities-SOAP.xml new file mode 100644 index 000000000..906918983 --- /dev/null +++ b/tests/functionaltests/suites/default/post/GetCapabilities-SOAP.xml @@ -0,0 +1,13 @@ + + + + + + 2.0.2 + + + application/xml + + + + diff --git a/tests/functionaltests/suites/default/post/GetCapabilities-sections.xml b/tests/functionaltests/suites/default/post/GetCapabilities-sections.xml new file mode 100644 index 000000000..b3390dee5 --- /dev/null +++ b/tests/functionaltests/suites/default/post/GetCapabilities-sections.xml @@ -0,0 +1,12 @@ + + + + 2.0.2 + + + ServiceProvider + + + application/xml + + diff --git a/tests/functionaltests/suites/default/post/GetCapabilities-updatesequence.xml b/tests/functionaltests/suites/default/post/GetCapabilities-updatesequence.xml new file mode 100644 index 000000000..d2f329611 --- /dev/null +++ b/tests/functionaltests/suites/default/post/GetCapabilities-updatesequence.xml @@ -0,0 +1,9 @@ + + + + 2.0.2 + + + application/xml + + diff --git a/tests/functionaltests/suites/default/post/GetCapabilities.xml b/tests/functionaltests/suites/default/post/GetCapabilities.xml new file mode 100644 index 000000000..e4dc8070b --- /dev/null +++ b/tests/functionaltests/suites/default/post/GetCapabilities.xml @@ -0,0 +1,9 @@ + + + + 2.0.2 + + + application/xml + + diff --git a/tests/functionaltests/suites/default/post/GetDomain-parameter.xml b/tests/functionaltests/suites/default/post/GetDomain-parameter.xml new file mode 100644 index 000000000..2d1dd2d4a --- /dev/null +++ b/tests/functionaltests/suites/default/post/GetDomain-parameter.xml @@ -0,0 +1,4 @@ + + + GetRecords.CONSTRAINTLANGUAGE + diff --git a/tests/functionaltests/suites/default/post/GetDomain-property.xml b/tests/functionaltests/suites/default/post/GetDomain-property.xml new file mode 100644 index 000000000..c6ca09c8c --- /dev/null +++ b/tests/functionaltests/suites/default/post/GetDomain-property.xml @@ -0,0 +1,4 @@ + + + dc:title + diff --git a/tests/functionaltests/suites/default/post/GetRecordById-json.xml b/tests/functionaltests/suites/default/post/GetRecordById-json.xml new file mode 100644 index 000000000..887e6d186 --- /dev/null +++ b/tests/functionaltests/suites/default/post/GetRecordById-json.xml @@ -0,0 +1,5 @@ + + + urn:uuid:94bc9c83-97f6-4b40-9eb8-a8e8787a5c63 + summary + diff --git a/tests/functionaltests/suites/default/post/GetRecordById.xml b/tests/functionaltests/suites/default/post/GetRecordById.xml new file mode 100644 index 000000000..af59d786b --- /dev/null +++ b/tests/functionaltests/suites/default/post/GetRecordById.xml @@ -0,0 +1,5 @@ + + + urn:uuid:94bc9c83-97f6-4b40-9eb8-a8e8787a5c63 + summary + diff --git a/tests/functionaltests/suites/default/post/GetRecords-all-json.xml b/tests/functionaltests/suites/default/post/GetRecords-all-json.xml new file mode 100644 index 000000000..3e17c97ca --- /dev/null +++ b/tests/functionaltests/suites/default/post/GetRecords-all-json.xml @@ -0,0 +1,6 @@ + + + + full + + diff --git a/tests/functionaltests/suites/default/post/GetRecords-all-resulttype-hits.xml b/tests/functionaltests/suites/default/post/GetRecords-all-resulttype-hits.xml new file mode 100644 index 000000000..c91e92ec7 --- /dev/null +++ b/tests/functionaltests/suites/default/post/GetRecords-all-resulttype-hits.xml @@ -0,0 +1,6 @@ + + + + full + + diff --git a/tests/functionaltests/suites/default/post/GetRecords-all-resulttype-validate.xml b/tests/functionaltests/suites/default/post/GetRecords-all-resulttype-validate.xml new file mode 100644 index 000000000..c977bda36 --- /dev/null +++ b/tests/functionaltests/suites/default/post/GetRecords-all-resulttype-validate.xml @@ -0,0 +1,6 @@ + + + + full + + diff --git a/tests/functionaltests/suites/default/post/GetRecords-all-sortby-bbox.xml b/tests/functionaltests/suites/default/post/GetRecords-all-sortby-bbox.xml new file mode 100644 index 000000000..eace825a6 --- /dev/null +++ b/tests/functionaltests/suites/default/post/GetRecords-all-sortby-bbox.xml @@ -0,0 +1,12 @@ + + + + full + + + ows:BoundingBox + DESC + + + + diff --git a/tests/functionaltests/suites/default/post/GetRecords-all.xml b/tests/functionaltests/suites/default/post/GetRecords-all.xml new file mode 100644 index 000000000..6bb353cf4 --- /dev/null +++ b/tests/functionaltests/suites/default/post/GetRecords-all.xml @@ -0,0 +1,6 @@ + + + + full + + diff --git a/tests/functionaltests/suites/default/post/GetRecords-bbox-filter-crs84.xml b/tests/functionaltests/suites/default/post/GetRecords-bbox-filter-crs84.xml new file mode 100644 index 000000000..ca1674dfc --- /dev/null +++ b/tests/functionaltests/suites/default/post/GetRecords-bbox-filter-crs84.xml @@ -0,0 +1,17 @@ + + + + brief + + + + ows:BoundingBox + + -180 -90 + 180 90 + + + + + + diff --git a/tests/functionaltests/suites/default/post/GetRecords-cql-title-and-abstract.xml b/tests/functionaltests/suites/default/post/GetRecords-cql-title-and-abstract.xml new file mode 100644 index 000000000..9bdb5795c --- /dev/null +++ b/tests/functionaltests/suites/default/post/GetRecords-cql-title-and-abstract.xml @@ -0,0 +1,9 @@ + + + + brief + + dc:title like '%ips%' and dct:abstract like '%pharetra%' + + + diff --git a/tests/functionaltests/suites/default/post/GetRecords-cql-title.xml b/tests/functionaltests/suites/default/post/GetRecords-cql-title.xml new file mode 100644 index 000000000..929722324 --- /dev/null +++ b/tests/functionaltests/suites/default/post/GetRecords-cql-title.xml @@ -0,0 +1,9 @@ + + + + brief + + dc:title like '%ips%' + + + diff --git a/tests/functionaltests/suites/default/post/GetRecords-distributedsearch.xml b/tests/functionaltests/suites/default/post/GetRecords-distributedsearch.xml new file mode 100644 index 000000000..b64549a2e --- /dev/null +++ b/tests/functionaltests/suites/default/post/GetRecords-distributedsearch.xml @@ -0,0 +1,15 @@ + + + + + brief + + + + dc:title + Aquifers + + + + + diff --git a/tests/functionaltests/suites/default/post/GetRecords-elementname.xml b/tests/functionaltests/suites/default/post/GetRecords-elementname.xml new file mode 100644 index 000000000..2acf2ae34 --- /dev/null +++ b/tests/functionaltests/suites/default/post/GetRecords-elementname.xml @@ -0,0 +1,6 @@ + + + + dc:title + + diff --git a/tests/functionaltests/suites/default/post/GetRecords-end.xml b/tests/functionaltests/suites/default/post/GetRecords-end.xml new file mode 100644 index 000000000..e03137ea9 --- /dev/null +++ b/tests/functionaltests/suites/default/post/GetRecords-end.xml @@ -0,0 +1,6 @@ + + + + full + + diff --git a/tests/functionaltests/suites/default/post/GetRecords-filter-and-bbox-freetext.xml b/tests/functionaltests/suites/default/post/GetRecords-filter-and-bbox-freetext.xml new file mode 100644 index 000000000..ce787131c --- /dev/null +++ b/tests/functionaltests/suites/default/post/GetRecords-filter-and-bbox-freetext.xml @@ -0,0 +1,23 @@ + + + + brief + + + + + csw:AnyText + %lor% + + + ows:BoundingBox + + 47 -5 + 55 20 + + + + + + + diff --git a/tests/functionaltests/suites/default/post/GetRecords-filter-and-nested-or.xml b/tests/functionaltests/suites/default/post/GetRecords-filter-and-nested-or.xml new file mode 100644 index 000000000..46884d195 --- /dev/null +++ b/tests/functionaltests/suites/default/post/GetRecords-filter-and-nested-or.xml @@ -0,0 +1,38 @@ + + + + full + + + + + dc:title + Aliquam fermentum purus quis arcu + + + dc:format + application/pdf + + + + dc:type + http://purl.org/dc/dcmitype/Dataset + + + dc:type + http://purl.org/dc/dcmitype/Service + + + dc:type + http://purl.org/dc/dcmitype/Image + + + dc:type + http://purl.org/dc/dcmitype/Text + + + + + + + diff --git a/tests/functionaltests/suites/default/post/GetRecords-filter-and-nested-or2.xml b/tests/functionaltests/suites/default/post/GetRecords-filter-and-nested-or2.xml new file mode 100644 index 000000000..729113817 --- /dev/null +++ b/tests/functionaltests/suites/default/post/GetRecords-filter-and-nested-or2.xml @@ -0,0 +1,34 @@ + + + + full + + + + + dc:title + Lorem% + + + + dc:type + http://purl.org/dc/dcmitype/Dataset + + + dc:type + http://purl.org/dc/dcmitype/Service + + + dc:type + http://purl.org/dc/dcmitype/Image + + + dc:type + http://purl.org/dc/dcmitype/Text + + + + + + + diff --git a/tests/functionaltests/suites/default/post/GetRecords-filter-anytext-and-not.xml b/tests/functionaltests/suites/default/post/GetRecords-filter-anytext-and-not.xml new file mode 100644 index 000000000..d3125b6f7 --- /dev/null +++ b/tests/functionaltests/suites/default/post/GetRecords-filter-anytext-and-not.xml @@ -0,0 +1,26 @@ + + + + summary + + + + + csw:AnyText + *lorem* + + + csw:AnyText + *ipsum* + + + + csw:AnyText + *dolor* + + + + + + + diff --git a/tests/functionaltests/suites/default/post/GetRecords-filter-anytext-equal.xml b/tests/functionaltests/suites/default/post/GetRecords-filter-anytext-equal.xml new file mode 100644 index 000000000..0c64e7112 --- /dev/null +++ b/tests/functionaltests/suites/default/post/GetRecords-filter-anytext-equal.xml @@ -0,0 +1,14 @@ + + + + brief + + + + csw:AnyText + Lor + + + + + diff --git a/tests/functionaltests/suites/default/post/GetRecords-filter-anytext.xml b/tests/functionaltests/suites/default/post/GetRecords-filter-anytext.xml new file mode 100644 index 000000000..8ab5bff9d --- /dev/null +++ b/tests/functionaltests/suites/default/post/GetRecords-filter-anytext.xml @@ -0,0 +1,14 @@ + + + + brief + + + + csw:AnyText + %Lor% + + + + + diff --git a/tests/functionaltests/suites/default/post/GetRecords-filter-bbox-reproject.xml b/tests/functionaltests/suites/default/post/GetRecords-filter-bbox-reproject.xml new file mode 100644 index 000000000..73d60ef00 --- /dev/null +++ b/tests/functionaltests/suites/default/post/GetRecords-filter-bbox-reproject.xml @@ -0,0 +1,17 @@ + + + + brief + + + + ows:BoundingBox + + -72310.84768270838 2013215.2698528299 + 279667.74290441966 2690819.5081175645 + + + + + + diff --git a/tests/functionaltests/suites/default/post/GetRecords-filter-bbox-sortby.xml b/tests/functionaltests/suites/default/post/GetRecords-filter-bbox-sortby.xml new file mode 100644 index 000000000..9e7b7ef73 --- /dev/null +++ b/tests/functionaltests/suites/default/post/GetRecords-filter-bbox-sortby.xml @@ -0,0 +1,23 @@ + + + + brief + + + + ows:BoundingBox + + 47 -5 + 55 20 + + + + + + + dc:title + DESC + + + + diff --git a/tests/functionaltests/suites/default/post/GetRecords-filter-bbox.xml b/tests/functionaltests/suites/default/post/GetRecords-filter-bbox.xml new file mode 100644 index 000000000..9df955319 --- /dev/null +++ b/tests/functionaltests/suites/default/post/GetRecords-filter-bbox.xml @@ -0,0 +1,17 @@ + + + + brief + + + + ows:BoundingBox + + 47 -5 + 55 20 + + + + + + diff --git a/tests/functionaltests/suites/default/post/GetRecords-filter-between.xml b/tests/functionaltests/suites/default/post/GetRecords-filter-between.xml new file mode 100644 index 000000000..ea00efbe8 --- /dev/null +++ b/tests/functionaltests/suites/default/post/GetRecords-filter-between.xml @@ -0,0 +1,20 @@ + + + + full + + + + dc:title + + Aliquam fermentum purus quis arcu + + + Maecenas enim + + + + + + + diff --git a/tests/functionaltests/suites/default/post/GetRecords-filter-function-bad.xml b/tests/functionaltests/suites/default/post/GetRecords-filter-function-bad.xml new file mode 100644 index 000000000..75dbacc10 --- /dev/null +++ b/tests/functionaltests/suites/default/post/GetRecords-filter-function-bad.xml @@ -0,0 +1,17 @@ + + + + brief + + + + + dc:title + + LOREM IPSUM + + + + + + diff --git a/tests/functionaltests/suites/default/post/GetRecords-filter-function.xml b/tests/functionaltests/suites/default/post/GetRecords-filter-function.xml new file mode 100644 index 000000000..68cb04564 --- /dev/null +++ b/tests/functionaltests/suites/default/post/GetRecords-filter-function.xml @@ -0,0 +1,17 @@ + + + + brief + + + + + dc:title + + LOREM IPSUM + + + + + + diff --git a/tests/functionaltests/suites/default/post/GetRecords-filter-not-bbox.xml b/tests/functionaltests/suites/default/post/GetRecords-filter-not-bbox.xml new file mode 100644 index 000000000..6adb4cf1f --- /dev/null +++ b/tests/functionaltests/suites/default/post/GetRecords-filter-not-bbox.xml @@ -0,0 +1,19 @@ + + + + brief + + + + + ows:BoundingBox + + 47 -5 + 55 20 + + + + + + + diff --git a/tests/functionaltests/suites/default/post/GetRecords-filter-or-bbox-freetext.xml b/tests/functionaltests/suites/default/post/GetRecords-filter-or-bbox-freetext.xml new file mode 100644 index 000000000..bdfc60ea7 --- /dev/null +++ b/tests/functionaltests/suites/default/post/GetRecords-filter-or-bbox-freetext.xml @@ -0,0 +1,23 @@ + + + + brief + + + + + dc:title + foo + + + ows:BoundingBox + + 47 -5 + 55 20 + + + + + + + diff --git a/tests/functionaltests/suites/default/post/GetRecords-filter-or-nested-and.xml b/tests/functionaltests/suites/default/post/GetRecords-filter-or-nested-and.xml new file mode 100644 index 000000000..1ff37fa31 --- /dev/null +++ b/tests/functionaltests/suites/default/post/GetRecords-filter-or-nested-and.xml @@ -0,0 +1,30 @@ + + + + full + + + + + dc:type + http://purl.org/dc/dcmitype/Image + + + dc:type + http://purl.org/dc/dcmitype/Dataset + + + + dc:title + Mauris% + + + dc:title + %neque + + + + + + + diff --git a/tests/functionaltests/suites/default/post/GetRecords-filter-or-title-abstract.xml b/tests/functionaltests/suites/default/post/GetRecords-filter-or-title-abstract.xml new file mode 100644 index 000000000..331dca256 --- /dev/null +++ b/tests/functionaltests/suites/default/post/GetRecords-filter-or-title-abstract.xml @@ -0,0 +1,20 @@ + + + + full + + + + + dc:title + Mauris% + + + dct:abstract + foo + + + + + + \ No newline at end of file diff --git a/tests/functionaltests/suites/default/post/GetRecords-maxrecords.xml b/tests/functionaltests/suites/default/post/GetRecords-maxrecords.xml new file mode 100644 index 000000000..1379ea6f9 --- /dev/null +++ b/tests/functionaltests/suites/default/post/GetRecords-maxrecords.xml @@ -0,0 +1,6 @@ + + + + full + + diff --git a/tests/functionaltests/suites/default/post/GetRecords-requestid.xml b/tests/functionaltests/suites/default/post/GetRecords-requestid.xml new file mode 100644 index 000000000..186d04e3b --- /dev/null +++ b/tests/functionaltests/suites/default/post/GetRecords-requestid.xml @@ -0,0 +1,6 @@ + + + + full + + diff --git a/tests/functionaltests/suites/default/post/Harvest-default.xml b/tests/functionaltests/suites/default/post/Harvest-default.xml new file mode 100644 index 000000000..599ba769c --- /dev/null +++ b/tests/functionaltests/suites/default/post/Harvest-default.xml @@ -0,0 +1,6 @@ + + + http://schemas.opengis.net/csw/2.0.2/profiles/apiso/1.0.0/examples-ISO19139/dataset2_minimalst.xml + http://www.isotc211.org/schemas/2005/gmd/ + application/xml + diff --git a/tests/functionaltests/suites/default/post/Harvest-response-handler.xml b/tests/functionaltests/suites/default/post/Harvest-response-handler.xml new file mode 100644 index 000000000..9d4351727 --- /dev/null +++ b/tests/functionaltests/suites/default/post/Harvest-response-handler.xml @@ -0,0 +1,7 @@ + + + http://kralidis.ca/pycsw/trunk/tests/test_iso.xml + http://www.isotc211.org/schemas/2005/gmd/ + application/xml + mailto:tkralidi + diff --git a/tests/functionaltests/suites/default/post/Transaction-delete.xml b/tests/functionaltests/suites/default/post/Transaction-delete.xml new file mode 100644 index 000000000..675a8690e --- /dev/null +++ b/tests/functionaltests/suites/default/post/Transaction-delete.xml @@ -0,0 +1,13 @@ + + + + + + + apiso:Identifier + 12345 + + + + + diff --git a/tests/functionaltests/suites/default/post/Transaction-insert.xml b/tests/functionaltests/suites/default/post/Transaction-insert.xml new file mode 100644 index 000000000..1b238dd4d --- /dev/null +++ b/tests/functionaltests/suites/default/post/Transaction-insert.xml @@ -0,0 +1,73 @@ + + + + + + 12345 + + + + + + + + pycsw + + + + + + + + 2011-05-17 + + + + + + + pycsw record + + + + + 2011-05-17 + + + + + + + + + + Sample metadata record + + + eng + + + + + + + -180 + + + 180 + + + -90 + + + 90 + + + + + + + + + + diff --git a/tests/functionaltests/suites/default/post/Transaction-update-full.xml b/tests/functionaltests/suites/default/post/Transaction-update-full.xml new file mode 100644 index 000000000..2ff6604ea --- /dev/null +++ b/tests/functionaltests/suites/default/post/Transaction-update-full.xml @@ -0,0 +1,73 @@ + + + + + + 12345 + + + + + + + + pycsw + + + + + + + + 2011-05-17 + + + + + + + pycsw record + + + + + 2011-05-17 + + + + + + + + + + Sample metadata record + + + eng + + + + + + + -180 + + + 180 + + + -90 + + + 90 + + + + + + + + + + diff --git a/tests/functionaltests/suites/default/post/Transaction-update-recordproperty.xml b/tests/functionaltests/suites/default/post/Transaction-update-recordproperty.xml new file mode 100644 index 000000000..a130a5f25 --- /dev/null +++ b/tests/functionaltests/suites/default/post/Transaction-update-recordproperty.xml @@ -0,0 +1,17 @@ + + + + + apiso:Title + NEW_TITLE + + + + + apiso:Identifier + 12345 + + + + + diff --git a/tests/functionaltests/suites/dif/default.cfg b/tests/functionaltests/suites/dif/default.cfg new file mode 100644 index 000000000..08d69c6ed --- /dev/null +++ b/tests/functionaltests/suites/dif/default.cfg @@ -0,0 +1,90 @@ +# ================================================================= +# +# Authors: Tom Kralidis +# +# Copyright (c) 2011 Tom Kralidis +# +# Permission is hereby granted, free of charge, to any person +# obtaining a copy of this software and associated documentation +# files (the "Software"), to deal in the Software without +# restriction, including without limitation the rights to use, +# copy, modify, merge, publish, distribute, sublicense, and/or sell +# copies of the Software, and to permit persons to whom the +# Software is furnished to do so, subject to the following +# conditions: +# +# The above copyright notice and this permission notice shall be +# included in all copies or substantial portions of the Software. +# +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +# EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES +# OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +# NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT +# HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, +# WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR +# OTHER DEALINGS IN THE SOFTWARE. +# +# ================================================================= + +[server] +home=. +url=http://localhost/pycsw/csw.py?config=tests/suites/dif/default.cfg +mimetype=application/xml; charset=UTF-8 +encoding=UTF-8 +language=en-US +maxrecords=10 +#loglevel=DEBUG +#logfile=/tmp/pycsw.log +#ogc_schemas_base=http://foo +federatedcatalogues=http://geo.data.gov/geoportal/csw/discovery +pretty_print=true +#gzip_compresslevel=8 +#spatial_ranking=true + +[manager] +transactions=false +allowed_ips=127.0.0.1 + +[metadata:main] +identification_title=pycsw Geospatial Catalogue +identification_abstract=pycsw is an OGC CSW server implementation written in Python +identification_keywords=catalogue,discovery +identification_keywords_type=theme +identification_fees=None +identification_accessconstraints=None +provider_name=pycsw +provider_url=http://pycsw.org/ +contact_name=Kralidis, Tom +contact_position=Senior Systems Scientist +contact_address=TBA +contact_city=Toronto +contact_stateorprovince=Ontario +contact_postalcode=M9C 3Z9 +contact_country=Canada +contact_phone=+01-416-xxx-xxxx +contact_fax=+01-416-xxx-xxxx +contact_email=tomkralidis@gmail.com +contact_url=http://kralidis.ca/ +contact_hours=0800h - 1600h EST +contact_instructions=During hours of service. Off on weekends. +contact_role=pointOfContact + +[repository] +# sqlite +database=sqlite:///tests/suites/cite/data/records.db +# postgres +#database=postgres://username:password@localhost/pycsw +table=records + +[metadata:inspire] +enabled=false +languages_supported=eng,gre +default_language=eng +date=2011-03-29 +gemet_keywords=Utility and governmental services +conformity_service=notEvaluated +contact_name=National Technical University of Athens +contact_email=tzotsos@gmail.com +temp_extent=2011-02-01/2011-03-30 + diff --git a/tests/functionaltests/suites/dif/expected/post_DescribeRecord.xml b/tests/functionaltests/suites/dif/expected/post_DescribeRecord.xml new file mode 100644 index 000000000..5f82a7d41 --- /dev/null +++ b/tests/functionaltests/suites/dif/expected/post_DescribeRecord.xml @@ -0,0 +1,3 @@ + + + diff --git a/tests/functionaltests/suites/dif/expected/post_GetCapabilities.xml b/tests/functionaltests/suites/dif/expected/post_GetCapabilities.xml new file mode 100644 index 000000000..e062f2209 --- /dev/null +++ b/tests/functionaltests/suites/dif/expected/post_GetCapabilities.xml @@ -0,0 +1,262 @@ + + + + + pycsw Geospatial Catalogue + pycsw is an OGC CSW server implementation written in Python + + catalogue + discovery + theme + + CSW + 2.0.2 + 3.0.0 + None + None + + + pycsw + + + Kralidis, Tom + Senior Systems Scientist + + + +01-416-xxx-xxxx + +01-416-xxx-xxxx + + + TBA + Toronto + Ontario + M9C 3Z9 + Canada + tomkralidis@gmail.com + + + 0800h - 1600h EST + During hours of service. Off on weekends. + + pointOfContact + + + + + + + + + + + + Filter_Capabilities + OperationsMetadata + ServiceIdentification + ServiceProvider + + + + + + + + + + + application/json + application/xml + + + http://www.w3.org/2001/XMLSchema + http://www.w3.org/TR/xmlschema-1/ + http://www.w3.org/XML/Schema + + + csw:Record + + + + + + + + + + + DescribeRecord.outputFormat + DescribeRecord.schemaLanguage + DescribeRecord.typeName + GetCapabilities.sections + GetRecordById.ElementSetName + GetRecordById.outputFormat + GetRecordById.outputSchema + GetRecords.CONSTRAINTLANGUAGE + GetRecords.ElementSetName + GetRecords.outputFormat + GetRecords.outputSchema + GetRecords.resultType + GetRecords.typeNames + + + + + + + + + + + CQL_TEXT + FILTER + + + brief + full + summary + + + application/json + application/xml + + + http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ + http://www.interlis.ch/INTERLIS2.3 + http://www.opengis.net/cat/csw/2.0.2 + http://www.opengis.net/cat/csw/csdgm + http://www.w3.org/2005/Atom + + + hits + results + validate + + + csw:Record + + + csw:AnyText + dc:contributor + dc:creator + dc:date + dc:format + dc:identifier + dc:language + dc:publisher + dc:relation + dc:rights + dc:source + dc:subject + dc:title + dc:type + dct:abstract + dct:modified + ows:BoundingBox + + + + + + + + + + + brief + full + summary + + + application/json + application/xml + + + http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ + http://www.interlis.ch/INTERLIS2.3 + http://www.opengis.net/cat/csw/2.0.2 + http://www.opengis.net/cat/csw/csdgm + http://www.w3.org/2005/Atom + + + + + + + + + + + CSW + + + 2.0.2 + 3.0.0 + + + http://geo.data.gov/geoportal/csw/discovery + + + 10 + + + XML + SOAP + + + allowed + + + + + + gml:Point + gml:LineString + gml:Polygon + gml:Envelope + + + + + + + + + + + + + + + + + + + Between + EqualTo + GreaterThan + GreaterThanEqualTo + LessThan + LessThanEqualTo + Like + NotEqualTo + NullCheck + + + + + length + lower + ltrim + rtrim + trim + upper + + + + + + + + + + diff --git a/tests/functionaltests/suites/dif/expected/post_GetRecords-filter-bbox.xml b/tests/functionaltests/suites/dif/expected/post_GetRecords-filter-bbox.xml new file mode 100644 index 000000000..d6a763d1f --- /dev/null +++ b/tests/functionaltests/suites/dif/expected/post_GetRecords-filter-bbox.xml @@ -0,0 +1,71 @@ + + + + + + + urn:uuid:94bc9c83-97f6-4b40-9eb8-a8e8787a5c63 + Mauris sed neque + + + + + + + + Vegetation-Cropland + + + + + + 47.59 + 51.22 + -4.1 + 0.89 + + + + + Curabitur lacinia, ante non porta tempus, mi lorem feugiat odio, eget suscipit eros pede ac velit. + + + + + CEOS IDN DIF + 9.7 + + + urn:uuid:9a669547-b69b-469f-a11f-2d875366bbdc + Ñunç elementum + + + + + + + + Hydrography-Oceanographic + + + + + + 44.79 + 51.13 + -6.17 + -2.23 + + + + + + + + + + CEOS IDN DIF + 9.7 + + + diff --git a/tests/functionaltests/suites/dif/post/DescribeRecord.xml b/tests/functionaltests/suites/dif/post/DescribeRecord.xml new file mode 100644 index 000000000..2408da75b --- /dev/null +++ b/tests/functionaltests/suites/dif/post/DescribeRecord.xml @@ -0,0 +1,4 @@ + + + dif:DIF + diff --git a/tests/functionaltests/suites/dif/post/GetCapabilities.xml b/tests/functionaltests/suites/dif/post/GetCapabilities.xml new file mode 100644 index 000000000..e4dc8070b --- /dev/null +++ b/tests/functionaltests/suites/dif/post/GetCapabilities.xml @@ -0,0 +1,9 @@ + + + + 2.0.2 + + + application/xml + + diff --git a/tests/functionaltests/suites/dif/post/GetRecords-filter-bbox.xml b/tests/functionaltests/suites/dif/post/GetRecords-filter-bbox.xml new file mode 100644 index 000000000..8804efe60 --- /dev/null +++ b/tests/functionaltests/suites/dif/post/GetRecords-filter-bbox.xml @@ -0,0 +1,17 @@ + + + + brief + + + + ows:BoundingBox + + 47 -5 + 55 20 + + + + + + diff --git a/tests/functionaltests/suites/ebrim/default.cfg b/tests/functionaltests/suites/ebrim/default.cfg new file mode 100644 index 000000000..048432616 --- /dev/null +++ b/tests/functionaltests/suites/ebrim/default.cfg @@ -0,0 +1,93 @@ +# ================================================================= +# +# $Id: default.cfg 366 2011-11-24 21:52:13Z tomkralidis $ +# +# Authors: Tom Kralidis +# +# Copyright (c) 2011 Tom Kralidis +# +# Permission is hereby granted, free of charge, to any person +# obtaining a copy of this software and associated documentation +# files (the "Software"), to deal in the Software without +# restriction, including without limitation the rights to use, +# copy, modify, merge, publish, distribute, sublicense, and/or sell +# copies of the Software, and to permit persons to whom the +# Software is furnished to do so, subject to the following +# conditions: +# +# The above copyright notice and this permission notice shall be +# included in all copies or substantial portions of the Software. +# +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +# EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES +# OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +# NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT +# HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, +# WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR +# OTHER DEALINGS IN THE SOFTWARE. +# +# ================================================================= + +[server] +home=. +url=http://localhost/pycsw/csw.py?config=tests/suites/fgdc/default.cfg +mimetype=application/xml; charset=UTF-8 +encoding=UTF-8 +language=en-US +maxrecords=10 +#loglevel=DEBUG +#logfile=/tmp/pycsw.log +#ogc_schemas_base=http://foo +federatedcatalogues=http://geo.data.gov/geoportal/csw/discovery +pretty_print=true +#gzip_compresslevel=8 +#spatial_ranking=true +profiles=ebrim + +[manager] +transactions=false +allowed_ips=127.0.0.1 + +[metadata:main] +identification_title=pycsw Geospatial Catalogue +identification_abstract=pycsw is an OGC CSW server implementation written in Python +identification_keywords=catalogue,discovery +identification_keywords_type=theme +identification_fees=None +identification_accessconstraints=None +provider_name=pycsw +provider_url=http://pycsw.org/ +contact_name=Kralidis, Tom +contact_position=Senior Systems Scientist +contact_address=TBA +contact_city=Toronto +contact_stateorprovince=Ontario +contact_postalcode=M9C 3Z9 +contact_country=Canada +contact_phone=+01-416-xxx-xxxx +contact_fax=+01-416-xxx-xxxx +contact_email=tomkralidis@gmail.com +contact_url=http://kralidis.ca/ +contact_hours=0800h - 1600h EST +contact_instructions=During hours of service. Off on weekends. +contact_role=pointOfContact + +[repository] +# sqlite +database=sqlite:///tests/suites/cite/data/records.db +# postgres +#database=postgres://username:password@localhost/pycsw +table=records + +[metadata:inspire] +enabled=false +languages_supported=eng,gre +default_language=eng +date=2011-03-29 +gemet_keywords=Utility and governmental services +conformity_service=notEvaluated +contact_name=National Technical University of Athens +contact_email=tzotsos@gmail.com +temp_extent=2011-02-01/2011-03-30 + diff --git a/tests/functionaltests/suites/ebrim/expected/post_DescribeRecord.xml b/tests/functionaltests/suites/ebrim/expected/post_DescribeRecord.xml new file mode 100644 index 000000000..87e4d86a2 --- /dev/null +++ b/tests/functionaltests/suites/ebrim/expected/post_DescribeRecord.xml @@ -0,0 +1,93 @@ + + + + + + + + + + + rim:Value not allowed in this context: expected wrs:AnyValue. + + + + + Schema for CSW-ebRIM catalogue profile (OGC 07-110r3). + + + + + + + + + + + + + A general record identifier, expressed as an absolute URI that maps to + the rim:RegistryObject/@id attribute. It substitutes for the ogc:_Id + element in an OGC filter expression. + + + + + + + + + + + + + + Extends rim:ExtrinsicObjectType to add the following: + 1. MTOM/XOP based attachment support. + 2. XLink based reference to a part in a multipart/related message + structure. + NOTE: This content model is planned for RegRep 4.0. + + + + + + + + + + + + + + + + Allows complex slot values. + + + + + + + + + + + + + + + + + + + + + Incorporates the attributes defined for use in simple XLink elements. + + + + + + + diff --git a/tests/functionaltests/suites/ebrim/expected/post_GetCapabilities.xml b/tests/functionaltests/suites/ebrim/expected/post_GetCapabilities.xml new file mode 100644 index 000000000..41b60a20a --- /dev/null +++ b/tests/functionaltests/suites/ebrim/expected/post_GetCapabilities.xml @@ -0,0 +1,266 @@ + + + + + pycsw Geospatial Catalogue + pycsw is an OGC CSW server implementation written in Python + + catalogue + discovery + theme + + CSW + 2.0.2 + 3.0.0 + None + None + + + pycsw + + + Kralidis, Tom + Senior Systems Scientist + + + +01-416-xxx-xxxx + +01-416-xxx-xxxx + + + TBA + Toronto + Ontario + M9C 3Z9 + Canada + tomkralidis@gmail.com + + + 0800h - 1600h EST + During hours of service. Off on weekends. + + pointOfContact + + + + + + + + + + + + Filter_Capabilities + OperationsMetadata + ServiceIdentification + ServiceProvider + + + + + + + + + + + application/json + application/xml + + + http://www.w3.org/2001/XMLSchema + http://www.w3.org/TR/xmlschema-1/ + http://www.w3.org/XML/Schema + + + csw:Record + rim:RegistryObject + + + + + + + + + + + DescribeRecord.outputFormat + DescribeRecord.schemaLanguage + DescribeRecord.typeName + GetCapabilities.sections + GetRecordById.ElementSetName + GetRecordById.outputFormat + GetRecordById.outputSchema + GetRecords.CONSTRAINTLANGUAGE + GetRecords.ElementSetName + GetRecords.outputFormat + GetRecords.outputSchema + GetRecords.resultType + GetRecords.typeNames + + + + + + + + + + + CQL_TEXT + FILTER + + + brief + full + summary + + + application/json + application/xml + + + http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ + http://www.interlis.ch/INTERLIS2.3 + http://www.opengis.net/cat/csw/2.0.2 + http://www.opengis.net/cat/csw/csdgm + http://www.w3.org/2005/Atom + urn:oasis:names:tc:ebxml-regrep:xsd:rim:3.0 + + + hits + results + validate + + + csw:Record + rim:RegistryObject + + + csw:AnyText + dc:contributor + dc:creator + dc:date + dc:format + dc:identifier + dc:language + dc:publisher + dc:relation + dc:rights + dc:source + dc:subject + dc:title + dc:type + dct:abstract + dct:modified + ows:BoundingBox + + + + + + + + + + + brief + full + summary + + + application/json + application/xml + + + http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ + http://www.interlis.ch/INTERLIS2.3 + http://www.opengis.net/cat/csw/2.0.2 + http://www.opengis.net/cat/csw/csdgm + http://www.w3.org/2005/Atom + urn:oasis:names:tc:ebxml-regrep:xsd:rim:3.0 + + + + + + + + + + + CSW + + + 2.0.2 + 3.0.0 + + + http://geo.data.gov/geoportal/csw/discovery + + + 10 + + + XML + SOAP + + + allowed + + + + + + gml:Point + gml:LineString + gml:Polygon + gml:Envelope + + + + + + + + + + + + + + + + + + + Between + EqualTo + GreaterThan + GreaterThanEqualTo + LessThan + LessThanEqualTo + Like + NotEqualTo + NullCheck + + + + + length + lower + ltrim + rtrim + trim + upper + + + + + + + + + + diff --git a/tests/functionaltests/suites/ebrim/expected/post_GetRecords-filter-bbox-full.xml b/tests/functionaltests/suites/ebrim/expected/post_GetRecords-filter-bbox-full.xml new file mode 100644 index 000000000..5b2074c47 --- /dev/null +++ b/tests/functionaltests/suites/ebrim/expected/post_GetRecords-filter-bbox-full.xml @@ -0,0 +1,57 @@ + + + + + + + + + + + + + + + + + + + 47.59 -4.1 + 51.22 0.89 + + + + + + + Vegetation-Cropland + + + + + + + + + + + + + + + + + 44.79 -6.17 + 51.13 -2.23 + + + + + + + Hydrography-Oceanographic + + + + + diff --git a/tests/functionaltests/suites/ebrim/expected/post_GetRecords-filter-bbox.xml b/tests/functionaltests/suites/ebrim/expected/post_GetRecords-filter-bbox.xml new file mode 100644 index 000000000..fdc31f2c3 --- /dev/null +++ b/tests/functionaltests/suites/ebrim/expected/post_GetRecords-filter-bbox.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + diff --git a/tests/functionaltests/suites/ebrim/post/DescribeRecord.xml b/tests/functionaltests/suites/ebrim/post/DescribeRecord.xml new file mode 100644 index 000000000..cd708816b --- /dev/null +++ b/tests/functionaltests/suites/ebrim/post/DescribeRecord.xml @@ -0,0 +1,4 @@ + + + rim:RegistryObject + diff --git a/tests/functionaltests/suites/ebrim/post/GetCapabilities.xml b/tests/functionaltests/suites/ebrim/post/GetCapabilities.xml new file mode 100644 index 000000000..e4dc8070b --- /dev/null +++ b/tests/functionaltests/suites/ebrim/post/GetCapabilities.xml @@ -0,0 +1,9 @@ + + + + 2.0.2 + + + application/xml + + diff --git a/tests/functionaltests/suites/ebrim/post/GetRecords-filter-bbox-full.xml b/tests/functionaltests/suites/ebrim/post/GetRecords-filter-bbox-full.xml new file mode 100644 index 000000000..6b6f84942 --- /dev/null +++ b/tests/functionaltests/suites/ebrim/post/GetRecords-filter-bbox-full.xml @@ -0,0 +1,17 @@ + + + + full + + + + ows:BoundingBox + + 47 -5 + 55 20 + + + + + + diff --git a/tests/functionaltests/suites/ebrim/post/GetRecords-filter-bbox.xml b/tests/functionaltests/suites/ebrim/post/GetRecords-filter-bbox.xml new file mode 100644 index 000000000..ddb68ce96 --- /dev/null +++ b/tests/functionaltests/suites/ebrim/post/GetRecords-filter-bbox.xml @@ -0,0 +1,17 @@ + + + + brief + + + + ows:BoundingBox + + 47 -5 + 55 20 + + + + + + diff --git a/tests/functionaltests/suites/fgdc/default.cfg b/tests/functionaltests/suites/fgdc/default.cfg new file mode 100644 index 000000000..da6707ac7 --- /dev/null +++ b/tests/functionaltests/suites/fgdc/default.cfg @@ -0,0 +1,90 @@ +# ================================================================= +# +# Authors: Tom Kralidis +# +# Copyright (c) 2011 Tom Kralidis +# +# Permission is hereby granted, free of charge, to any person +# obtaining a copy of this software and associated documentation +# files (the "Software"), to deal in the Software without +# restriction, including without limitation the rights to use, +# copy, modify, merge, publish, distribute, sublicense, and/or sell +# copies of the Software, and to permit persons to whom the +# Software is furnished to do so, subject to the following +# conditions: +# +# The above copyright notice and this permission notice shall be +# included in all copies or substantial portions of the Software. +# +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +# EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES +# OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +# NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT +# HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, +# WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR +# OTHER DEALINGS IN THE SOFTWARE. +# +# ================================================================= + +[server] +home=. +url=http://localhost/pycsw/csw.py?config=tests/suites/fgdc/default.cfg +mimetype=application/xml; charset=UTF-8 +encoding=UTF-8 +language=en-US +maxrecords=10 +#loglevel=DEBUG +#logfile=/tmp/pycsw.log +#ogc_schemas_base=http://foo +federatedcatalogues=http://geo.data.gov/geoportal/csw/discovery +pretty_print=true +#gzip_compresslevel=8 +#spatial_ranking=true + +[manager] +transactions=false +allowed_ips=127.0.0.1 + +[metadata:main] +identification_title=pycsw Geospatial Catalogue +identification_abstract=pycsw is an OGC CSW server implementation written in Python +identification_keywords=catalogue,discovery +identification_keywords_type=theme +identification_fees=None +identification_accessconstraints=None +provider_name=pycsw +provider_url=http://pycsw.org/ +contact_name=Kralidis, Tom +contact_position=Senior Systems Scientist +contact_address=TBA +contact_city=Toronto +contact_stateorprovince=Ontario +contact_postalcode=M9C 3Z9 +contact_country=Canada +contact_phone=+01-416-xxx-xxxx +contact_fax=+01-416-xxx-xxxx +contact_email=tomkralidis@gmail.com +contact_url=http://kralidis.ca/ +contact_hours=0800h - 1600h EST +contact_instructions=During hours of service. Off on weekends. +contact_role=pointOfContact + +[repository] +# sqlite +database=sqlite:///tests/suites/cite/data/records.db +# postgres +#database=postgres://username:password@localhost/pycsw +table=records + +[metadata:inspire] +enabled=false +languages_supported=eng,gre +default_language=eng +date=2011-03-29 +gemet_keywords=Utility and governmental services +conformity_service=notEvaluated +contact_name=National Technical University of Athens +contact_email=tzotsos@gmail.com +temp_extent=2011-02-01/2011-03-30 + diff --git a/tests/functionaltests/suites/fgdc/expected/post_DescribeRecord.xml b/tests/functionaltests/suites/fgdc/expected/post_DescribeRecord.xml new file mode 100644 index 000000000..5f82a7d41 --- /dev/null +++ b/tests/functionaltests/suites/fgdc/expected/post_DescribeRecord.xml @@ -0,0 +1,3 @@ + + + diff --git a/tests/functionaltests/suites/fgdc/expected/post_GetCapabilities.xml b/tests/functionaltests/suites/fgdc/expected/post_GetCapabilities.xml new file mode 100644 index 000000000..e4ea071fe --- /dev/null +++ b/tests/functionaltests/suites/fgdc/expected/post_GetCapabilities.xml @@ -0,0 +1,262 @@ + + + + + pycsw Geospatial Catalogue + pycsw is an OGC CSW server implementation written in Python + + catalogue + discovery + theme + + CSW + 2.0.2 + 3.0.0 + None + None + + + pycsw + + + Kralidis, Tom + Senior Systems Scientist + + + +01-416-xxx-xxxx + +01-416-xxx-xxxx + + + TBA + Toronto + Ontario + M9C 3Z9 + Canada + tomkralidis@gmail.com + + + 0800h - 1600h EST + During hours of service. Off on weekends. + + pointOfContact + + + + + + + + + + + + Filter_Capabilities + OperationsMetadata + ServiceIdentification + ServiceProvider + + + + + + + + + + + application/json + application/xml + + + http://www.w3.org/2001/XMLSchema + http://www.w3.org/TR/xmlschema-1/ + http://www.w3.org/XML/Schema + + + csw:Record + + + + + + + + + + + DescribeRecord.outputFormat + DescribeRecord.schemaLanguage + DescribeRecord.typeName + GetCapabilities.sections + GetRecordById.ElementSetName + GetRecordById.outputFormat + GetRecordById.outputSchema + GetRecords.CONSTRAINTLANGUAGE + GetRecords.ElementSetName + GetRecords.outputFormat + GetRecords.outputSchema + GetRecords.resultType + GetRecords.typeNames + + + + + + + + + + + CQL_TEXT + FILTER + + + brief + full + summary + + + application/json + application/xml + + + http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ + http://www.interlis.ch/INTERLIS2.3 + http://www.opengis.net/cat/csw/2.0.2 + http://www.opengis.net/cat/csw/csdgm + http://www.w3.org/2005/Atom + + + hits + results + validate + + + csw:Record + + + csw:AnyText + dc:contributor + dc:creator + dc:date + dc:format + dc:identifier + dc:language + dc:publisher + dc:relation + dc:rights + dc:source + dc:subject + dc:title + dc:type + dct:abstract + dct:modified + ows:BoundingBox + + + + + + + + + + + brief + full + summary + + + application/json + application/xml + + + http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ + http://www.interlis.ch/INTERLIS2.3 + http://www.opengis.net/cat/csw/2.0.2 + http://www.opengis.net/cat/csw/csdgm + http://www.w3.org/2005/Atom + + + + + + + + + + + CSW + + + 2.0.2 + 3.0.0 + + + http://geo.data.gov/geoportal/csw/discovery + + + 10 + + + XML + SOAP + + + allowed + + + + + + gml:Point + gml:LineString + gml:Polygon + gml:Envelope + + + + + + + + + + + + + + + + + + + Between + EqualTo + GreaterThan + GreaterThanEqualTo + LessThan + LessThanEqualTo + Like + NotEqualTo + NullCheck + + + + + length + lower + ltrim + rtrim + trim + upper + + + + + + + + + + diff --git a/tests/functionaltests/suites/fgdc/expected/post_GetRecords-filter-bbox.xml b/tests/functionaltests/suites/fgdc/expected/post_GetRecords-filter-bbox.xml new file mode 100644 index 000000000..5f8c20dc1 --- /dev/null +++ b/tests/functionaltests/suites/fgdc/expected/post_GetRecords-filter-bbox.xml @@ -0,0 +1,123 @@ + + + + + + + + urn:uuid:94bc9c83-97f6-4b40-9eb8-a8e8787a5c63 + + + Mauris sed neque + + + + + + + + + + + Vegetation-Cropland + + + + + Curabitur lacinia, ante non porta tempus, mi lorem feugiat odio, eget suscipit eros pede ac velit. + + + + -4.1 + 0.89 + 51.22 + 47.59 + + + + + http://purl.org/dc/dcmitype/Dataset + + + + + + + + + + + + + + + + + + + + + + + + + + + urn:uuid:9a669547-b69b-469f-a11f-2d875366bbdc + + + Ñunç elementum + + + + + + + + + + + Hydrography-Oceanographic + + + + + + + + + -6.17 + -2.23 + 51.13 + 44.79 + + + + + http://purl.org/dc/dcmitype/Dataset + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/tests/functionaltests/suites/fgdc/post/DescribeRecord.xml b/tests/functionaltests/suites/fgdc/post/DescribeRecord.xml new file mode 100644 index 000000000..11dec8922 --- /dev/null +++ b/tests/functionaltests/suites/fgdc/post/DescribeRecord.xml @@ -0,0 +1,4 @@ + + + fgdc:metadata + diff --git a/tests/functionaltests/suites/fgdc/post/GetCapabilities.xml b/tests/functionaltests/suites/fgdc/post/GetCapabilities.xml new file mode 100644 index 000000000..e4dc8070b --- /dev/null +++ b/tests/functionaltests/suites/fgdc/post/GetCapabilities.xml @@ -0,0 +1,9 @@ + + + + 2.0.2 + + + application/xml + + diff --git a/tests/functionaltests/suites/fgdc/post/GetRecords-filter-bbox.xml b/tests/functionaltests/suites/fgdc/post/GetRecords-filter-bbox.xml new file mode 100644 index 000000000..47060cbcc --- /dev/null +++ b/tests/functionaltests/suites/fgdc/post/GetRecords-filter-bbox.xml @@ -0,0 +1,17 @@ + + + + brief + + + + ows:BoundingBox + + 47 -5 + 55 20 + + + + + + diff --git a/tests/functionaltests/suites/gm03/default.cfg b/tests/functionaltests/suites/gm03/default.cfg new file mode 100644 index 000000000..c67325399 --- /dev/null +++ b/tests/functionaltests/suites/gm03/default.cfg @@ -0,0 +1,90 @@ +# ================================================================= +# +# Authors: Tom Kralidis +# +# Copyright (c) 2011 Tom Kralidis +# +# Permission is hereby granted, free of charge, to any person +# obtaining a copy of this software and associated documentation +# files (the "Software"), to deal in the Software without +# restriction, including without limitation the rights to use, +# copy, modify, merge, publish, distribute, sublicense, and/or sell +# copies of the Software, and to permit persons to whom the +# Software is furnished to do so, subject to the following +# conditions: +# +# The above copyright notice and this permission notice shall be +# included in all copies or substantial portions of the Software. +# +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +# EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES +# OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +# NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT +# HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, +# WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR +# OTHER DEALINGS IN THE SOFTWARE. +# +# ================================================================= + +[server] +home=. +url=http://localhost/pycsw/csw.py?config=tests/suites/gm03/default.cfg +mimetype=application/xml; charset=UTF-8 +encoding=UTF-8 +language=en-US +maxrecords=10 +#loglevel=DEBUG +#logfile=/tmp/pycsw.log +#ogc_schemas_base=http://foo +federatedcatalogues=http://geo.data.gov/geoportal/csw/discovery +pretty_print=true +#gzip_compresslevel=8 +#spatial_ranking=true + +[manager] +transactions=false +allowed_ips=127.0.0.1 + +[metadata:main] +identification_title=pycsw Geospatial Catalogue +identification_abstract=pycsw is an OGC CSW server implementation written in Python +identification_keywords=catalogue,discovery +identification_keywords_type=theme +identification_fees=None +identification_accessconstraints=None +provider_name=pycsw +provider_url=http://pycsw.org/ +contact_name=Kralidis, Tom +contact_position=Senior Systems Scientist +contact_address=TBA +contact_city=Toronto +contact_stateorprovince=Ontario +contact_postalcode=M9C 3Z9 +contact_country=Canada +contact_phone=+01-416-xxx-xxxx +contact_fax=+01-416-xxx-xxxx +contact_email=tomkralidis@gmail.com +contact_url=http://kralidis.ca/ +contact_hours=0800h - 1600h EST +contact_instructions=During hours of service. Off on weekends. +contact_role=pointOfContact + +[repository] +# sqlite +database=sqlite:///tests/suites/cite/data/records.db +# postgres +#database=postgres://username:password@localhost/pycsw +table=records + +[metadata:inspire] +enabled=false +languages_supported=eng,gre +default_language=eng +date=2011-03-29 +gemet_keywords=Utility and governmental services +conformity_service=notEvaluated +contact_name=National Technical University of Athens +contact_email=tzotsos@gmail.com +temp_extent=2011-02-01/2011-03-30 + diff --git a/tests/functionaltests/suites/gm03/expected/post_GetCapabilities.xml b/tests/functionaltests/suites/gm03/expected/post_GetCapabilities.xml new file mode 100644 index 000000000..46b77ba68 --- /dev/null +++ b/tests/functionaltests/suites/gm03/expected/post_GetCapabilities.xml @@ -0,0 +1,262 @@ + + + + + pycsw Geospatial Catalogue + pycsw is an OGC CSW server implementation written in Python + + catalogue + discovery + theme + + CSW + 2.0.2 + 3.0.0 + None + None + + + pycsw + + + Kralidis, Tom + Senior Systems Scientist + + + +01-416-xxx-xxxx + +01-416-xxx-xxxx + + + TBA + Toronto + Ontario + M9C 3Z9 + Canada + tomkralidis@gmail.com + + + 0800h - 1600h EST + During hours of service. Off on weekends. + + pointOfContact + + + + + + + + + + + + Filter_Capabilities + OperationsMetadata + ServiceIdentification + ServiceProvider + + + + + + + + + + + application/json + application/xml + + + http://www.w3.org/2001/XMLSchema + http://www.w3.org/TR/xmlschema-1/ + http://www.w3.org/XML/Schema + + + csw:Record + + + + + + + + + + + DescribeRecord.outputFormat + DescribeRecord.schemaLanguage + DescribeRecord.typeName + GetCapabilities.sections + GetRecordById.ElementSetName + GetRecordById.outputFormat + GetRecordById.outputSchema + GetRecords.CONSTRAINTLANGUAGE + GetRecords.ElementSetName + GetRecords.outputFormat + GetRecords.outputSchema + GetRecords.resultType + GetRecords.typeNames + + + + + + + + + + + CQL_TEXT + FILTER + + + brief + full + summary + + + application/json + application/xml + + + http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ + http://www.interlis.ch/INTERLIS2.3 + http://www.opengis.net/cat/csw/2.0.2 + http://www.opengis.net/cat/csw/csdgm + http://www.w3.org/2005/Atom + + + hits + results + validate + + + csw:Record + + + csw:AnyText + dc:contributor + dc:creator + dc:date + dc:format + dc:identifier + dc:language + dc:publisher + dc:relation + dc:rights + dc:source + dc:subject + dc:title + dc:type + dct:abstract + dct:modified + ows:BoundingBox + + + + + + + + + + + brief + full + summary + + + application/json + application/xml + + + http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ + http://www.interlis.ch/INTERLIS2.3 + http://www.opengis.net/cat/csw/2.0.2 + http://www.opengis.net/cat/csw/csdgm + http://www.w3.org/2005/Atom + + + + + + + + + + + CSW + + + 2.0.2 + 3.0.0 + + + http://geo.data.gov/geoportal/csw/discovery + + + 10 + + + XML + SOAP + + + allowed + + + + + + gml:Point + gml:LineString + gml:Polygon + gml:Envelope + + + + + + + + + + + + + + + + + + + Between + EqualTo + GreaterThan + GreaterThanEqualTo + LessThan + LessThanEqualTo + Like + NotEqualTo + NullCheck + + + + + length + lower + ltrim + rtrim + trim + upper + + + + + + + + + + diff --git a/tests/functionaltests/suites/gm03/expected/post_GetRecords-filter-bbox.xml b/tests/functionaltests/suites/gm03/expected/post_GetRecords-filter-bbox.xml new file mode 100644 index 000000000..55213c6e1 --- /dev/null +++ b/tests/functionaltests/suites/gm03/expected/post_GetRecords-filter-bbox.xml @@ -0,0 +1,137 @@ + + + + + + + + + + + + + urn:uuid:94bc9c83-97f6-4b40-9eb8-a8e8787a5c63 + + + GM03 + 2.3 + + + http://purl.org/dc/dcmitype/Dataset + + + + + + + + + + + + + + Mauris sed neque + + + + + + + + + + + Curabitur lacinia, ante non porta tempus, mi lorem feugiat odio, eget suscipit eros pede ac velit. + + + + + + + + + + + Vegetation-Cropland + + + + + + + 51.22 + 47.59 + -4.1 + 0.89 + + + + + + + + + + + + urn:uuid:9a669547-b69b-469f-a11f-2d875366bbdc + + + GM03 + 2.3 + + + http://purl.org/dc/dcmitype/Dataset + + + + + + + + + + + + + + Ñunç elementum + + + + + + + + + + + + + + + + + + + + + + Hydrography-Oceanographic + + + + + + + 51.13 + 44.79 + -6.17 + -2.23 + + + + + + diff --git a/tests/functionaltests/suites/gm03/post/GetCapabilities.xml b/tests/functionaltests/suites/gm03/post/GetCapabilities.xml new file mode 100644 index 000000000..e4dc8070b --- /dev/null +++ b/tests/functionaltests/suites/gm03/post/GetCapabilities.xml @@ -0,0 +1,9 @@ + + + + 2.0.2 + + + application/xml + + diff --git a/tests/functionaltests/suites/gm03/post/GetRecords-filter-bbox.xml b/tests/functionaltests/suites/gm03/post/GetRecords-filter-bbox.xml new file mode 100644 index 000000000..4b2319124 --- /dev/null +++ b/tests/functionaltests/suites/gm03/post/GetRecords-filter-bbox.xml @@ -0,0 +1,17 @@ + + + + brief + + + + ows:BoundingBox + + 47 -5 + 55 20 + + + + + + diff --git a/tests/functionaltests/suites/harvesting/default.cfg b/tests/functionaltests/suites/harvesting/default.cfg new file mode 100644 index 000000000..78f00ea1c --- /dev/null +++ b/tests/functionaltests/suites/harvesting/default.cfg @@ -0,0 +1,91 @@ +# ================================================================= +# +# Authors: Tom Kralidis +# +# Copyright (c) 2012 Tom Kralidis +# +# Permission is hereby granted, free of charge, to any person +# obtaining a copy of this software and associated documentation +# files (the "Software"), to deal in the Software without +# restriction, including without limitation the rights to use, +# copy, modify, merge, publish, distribute, sublicense, and/or sell +# copies of the Software, and to permit persons to whom the +# Software is furnished to do so, subject to the following +# conditions: +# +# The above copyright notice and this permission notice shall be +# included in all copies or substantial portions of the Software. +# +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +# EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES +# OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +# NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT +# HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, +# WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR +# OTHER DEALINGS IN THE SOFTWARE. +# +# ================================================================= + +[server] +home=. +url=http://localhost/pycsw/csw.py?config=tests/suites/harvesting/default.cfg +mimetype=application/xml; charset=UTF-8 +encoding=UTF-8 +language=en-US +maxrecords=10 +#loglevel=DEBUG +#logfile=/tmp/pycsw.log +#ogc_schemas_base=http://foo +federatedcatalogues=http://geo.data.gov/geoportal/csw/discovery +pretty_print=true +#gzip_compresslevel=8 +#spatial_ranking=true +profiles=apiso + +[manager] +transactions=true +allowed_ips=127.0.0.1 + +[metadata:main] +identification_title=pycsw Geospatial Catalogue +identification_abstract=pycsw is an OGC CSW server implementation written in Python +identification_keywords=catalogue,discovery +identification_keywords_type=theme +identification_fees=None +identification_accessconstraints=None +provider_name=pycsw +provider_url=http://pycsw.org/ +contact_name=Kralidis, Tom +contact_position=Senior Systems Scientist +contact_address=TBA +contact_city=Toronto +contact_stateorprovince=Ontario +contact_postalcode=M9C 3Z9 +contact_country=Canada +contact_phone=+01-416-xxx-xxxx +contact_fax=+01-416-xxx-xxxx +contact_email=tomkralidis@gmail.com +contact_url=http://kralidis.ca/ +contact_hours=0800h - 1600h EST +contact_instructions=During hours of service. Off on weekends. +contact_role=pointOfContact + +[repository] +# sqlite +database=sqlite:///tests/suites/harvesting/data/records.db +# postgres +#database=postgres://username:password@localhost/pycsw +table=records + +[metadata:inspire] +enabled=false +languages_supported=eng,gre +default_language=eng +date=2011-03-29 +gemet_keywords=Utility and governmental services +conformity_service=notEvaluated +contact_name=National Technical University of Athens +contact_email=tzotsos@gmail.com +temp_extent=2011-02-01/2011-03-30 + diff --git a/tests/functionaltests/suites/harvesting/expected/get_Exception-Harvest-invalid-resourcetype.xml b/tests/functionaltests/suites/harvesting/expected/get_Exception-Harvest-invalid-resourcetype.xml new file mode 100644 index 000000000..4e1e40cd8 --- /dev/null +++ b/tests/functionaltests/suites/harvesting/expected/get_Exception-Harvest-invalid-resourcetype.xml @@ -0,0 +1,7 @@ + + + + + Invalid resource type parameter: http://www.opengis.net/wms1234. Allowable resourcetype values: http://www.opengis.net/cat/csw/2.0.2,http://www.opengis.net/cat/csw/3.0,http://www.opengis.net/wms,http://www.opengis.net/wmts/1.0,http://www.opengis.net/wfs,http://www.opengis.net/wfs/2.0,http://www.opengis.net/wcs,http://www.opengis.net/wps/1.0.0,http://www.opengis.net/sos/1.0,http://www.opengis.net/sos/2.0,http://www.isotc211.org/2005/gmi,urn:geoss:waf,http://www.interlis.ch/INTERLIS2.3,http://www.opengis.net/cat/csw/csdgm,http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/,http://www.w3.org/2005/Atom,http://www.isotc211.org/2005/gmd,http://www.isotc211.org/schemas/2005/gmd/ + + diff --git a/tests/functionaltests/suites/harvesting/expected/get_Exception-Harvest-missing-resourcetype.xml b/tests/functionaltests/suites/harvesting/expected/get_Exception-Harvest-missing-resourcetype.xml new file mode 100644 index 000000000..36852c4f6 --- /dev/null +++ b/tests/functionaltests/suites/harvesting/expected/get_Exception-Harvest-missing-resourcetype.xml @@ -0,0 +1,7 @@ + + + + + Missing resourcetype parameter + + diff --git a/tests/functionaltests/suites/harvesting/expected/get_Exception-Harvest-missing-source.xml b/tests/functionaltests/suites/harvesting/expected/get_Exception-Harvest-missing-source.xml new file mode 100644 index 000000000..250afe73d --- /dev/null +++ b/tests/functionaltests/suites/harvesting/expected/get_Exception-Harvest-missing-source.xml @@ -0,0 +1,7 @@ + + + + + Missing source parameter + + diff --git a/tests/functionaltests/suites/harvesting/expected/get_Exception-Harvest-waf-bad-value.xml b/tests/functionaltests/suites/harvesting/expected/get_Exception-Harvest-waf-bad-value.xml new file mode 100644 index 000000000..4739bff30 --- /dev/null +++ b/tests/functionaltests/suites/harvesting/expected/get_Exception-Harvest-waf-bad-value.xml @@ -0,0 +1,7 @@ + + + + + Harvest failed: record parsing failed: unknown url type: badvalue + + diff --git a/tests/functionaltests/suites/harvesting/expected/get_Exception-Harvest-waf-no-records-found.xml b/tests/functionaltests/suites/harvesting/expected/get_Exception-Harvest-waf-no-records-found.xml new file mode 100644 index 000000000..177601c6b --- /dev/null +++ b/tests/functionaltests/suites/harvesting/expected/get_Exception-Harvest-waf-no-records-found.xml @@ -0,0 +1,11 @@ + + + + + + 0 + 0 + 0 + + + diff --git a/tests/functionaltests/suites/harvesting/expected/post_Clear-000-delete-all.xml b/tests/functionaltests/suites/harvesting/expected/post_Clear-000-delete-all.xml new file mode 100644 index 000000000..01ccdf629 --- /dev/null +++ b/tests/functionaltests/suites/harvesting/expected/post_Clear-000-delete-all.xml @@ -0,0 +1,9 @@ + + + + + 0 + 0 + 0 + + diff --git a/tests/functionaltests/suites/harvesting/expected/post_Exception-Havest-csw-404.xml b/tests/functionaltests/suites/harvesting/expected/post_Exception-Havest-csw-404.xml new file mode 100644 index 000000000..371aae9c0 --- /dev/null +++ b/tests/functionaltests/suites/harvesting/expected/post_Exception-Havest-csw-404.xml @@ -0,0 +1,7 @@ + + + + + Harvest failed: record parsing failed: HTTP error: HTTP Error 404: Not Found + + diff --git a/tests/functionaltests/suites/harvesting/expected/post_GetCapabilities.xml b/tests/functionaltests/suites/harvesting/expected/post_GetCapabilities.xml new file mode 100644 index 000000000..731b83f90 --- /dev/null +++ b/tests/functionaltests/suites/harvesting/expected/post_GetCapabilities.xml @@ -0,0 +1,368 @@ + + + + + pycsw Geospatial Catalogue + pycsw is an OGC CSW server implementation written in Python + + catalogue + discovery + theme + + CSW + 2.0.2 + 3.0.0 + None + None + + + pycsw + + + Kralidis, Tom + Senior Systems Scientist + + + +01-416-xxx-xxxx + +01-416-xxx-xxxx + + + TBA + Toronto + Ontario + M9C 3Z9 + Canada + tomkralidis@gmail.com + + + 0800h - 1600h EST + During hours of service. Off on weekends. + + pointOfContact + + + + + + + + + + + + Filter_Capabilities + OperationsMetadata + ServiceIdentification + ServiceProvider + + + + + + + + + + + application/json + application/xml + + + http://www.w3.org/2001/XMLSchema + http://www.w3.org/TR/xmlschema-1/ + http://www.w3.org/XML/Schema + + + csw:Record + gmd:MD_Metadata + + + + + + + + + + + DescribeRecord.outputFormat + DescribeRecord.schemaLanguage + DescribeRecord.typeName + GetCapabilities.sections + GetRecordById.ElementSetName + GetRecordById.outputFormat + GetRecordById.outputSchema + GetRecords.CONSTRAINTLANGUAGE + GetRecords.ElementSetName + GetRecords.outputFormat + GetRecords.outputSchema + GetRecords.resultType + GetRecords.typeNames + Harvest.ResourceType + Transaction.TransactionSchemas + + + + + + + + + + + CQL_TEXT + FILTER + + + brief + full + summary + + + application/json + application/xml + + + http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ + http://www.interlis.ch/INTERLIS2.3 + http://www.isotc211.org/2005/gmd + http://www.opengis.net/cat/csw/2.0.2 + http://www.opengis.net/cat/csw/csdgm + http://www.w3.org/2005/Atom + + + hits + results + validate + + + csw:Record + gmd:MD_Metadata + + + apiso:AccessConstraints + apiso:Classification + apiso:ConditionApplyingToAccessAndUse + apiso:Contributor + apiso:Creator + apiso:Degree + apiso:Lineage + apiso:OtherConstraints + apiso:Publisher + apiso:Relation + apiso:ResponsiblePartyRole + apiso:SpecificationDate + apiso:SpecificationDateType + apiso:SpecificationTitle + + + csw:AnyText + dc:contributor + dc:creator + dc:date + dc:format + dc:identifier + dc:language + dc:publisher + dc:relation + dc:rights + dc:source + dc:subject + dc:title + dc:type + dct:abstract + dct:modified + ows:BoundingBox + + + apiso:Abstract + apiso:AlternateTitle + apiso:AnyText + apiso:BoundingBox + apiso:CRS + apiso:CouplingType + apiso:CreationDate + apiso:Denominator + apiso:DistanceUOM + apiso:DistanceValue + apiso:Format + apiso:GeographicDescriptionCode + apiso:HasSecurityConstraints + apiso:Identifier + apiso:KeywordType + apiso:Language + apiso:Modified + apiso:OperatesOn + apiso:OperatesOnIdentifier + apiso:OperatesOnName + apiso:Operation + apiso:OrganisationName + apiso:ParentIdentifier + apiso:PublicationDate + apiso:ResourceLanguage + apiso:RevisionDate + apiso:ServiceType + apiso:ServiceTypeVersion + apiso:Subject + apiso:TempExtent_begin + apiso:TempExtent_end + apiso:Title + apiso:TopicCategory + apiso:Type + + + + + + + + + + + brief + full + summary + + + application/json + application/xml + + + http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ + http://www.interlis.ch/INTERLIS2.3 + http://www.isotc211.org/2005/gmd + http://www.opengis.net/cat/csw/2.0.2 + http://www.opengis.net/cat/csw/csdgm + http://www.w3.org/2005/Atom + + + + + + + + + + + + + + + + + http://www.isotc211.org/2005/gmi + http://www.opengis.net/cat/csw/2.0.2 + http://www.opengis.net/cat/csw/3.0 + http://www.opengis.net/sos/1.0 + http://www.opengis.net/sos/2.0 + http://www.opengis.net/wcs + http://www.opengis.net/wfs + http://www.opengis.net/wfs/2.0 + http://www.opengis.net/wms + http://www.opengis.net/wmts/1.0 + http://www.opengis.net/wps/1.0.0 + urn:geoss:waf + + + + + + + + + + http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ + http://www.interlis.ch/INTERLIS2.3 + http://www.isotc211.org/2005/gmd + http://www.isotc211.org/2005/gmi + http://www.isotc211.org/schemas/2005/gmd/ + http://www.opengis.net/cat/csw/2.0.2 + http://www.opengis.net/cat/csw/3.0 + http://www.opengis.net/cat/csw/csdgm + http://www.opengis.net/sos/1.0 + http://www.opengis.net/sos/2.0 + http://www.opengis.net/wcs + http://www.opengis.net/wfs + http://www.opengis.net/wfs/2.0 + http://www.opengis.net/wms + http://www.opengis.net/wmts/1.0 + http://www.opengis.net/wps/1.0.0 + http://www.w3.org/2005/Atom + urn:geoss:waf + + + + CSW + + + 2.0.2 + 3.0.0 + + + http://geo.data.gov/geoportal/csw/discovery + + + 10 + + + XML + SOAP + + + allowed + + + + + + gml:Point + gml:LineString + gml:Polygon + gml:Envelope + + + + + + + + + + + + + + + + + + + Between + EqualTo + GreaterThan + GreaterThanEqualTo + LessThan + LessThanEqualTo + Like + NotEqualTo + NullCheck + + + + + length + lower + ltrim + rtrim + trim + upper + + + + + + + + + + diff --git a/tests/functionaltests/suites/harvesting/expected/post_GetDomain-parameter.xml b/tests/functionaltests/suites/harvesting/expected/post_GetDomain-parameter.xml new file mode 100644 index 000000000..b47402ca2 --- /dev/null +++ b/tests/functionaltests/suites/harvesting/expected/post_GetDomain-parameter.xml @@ -0,0 +1,27 @@ + + + + + Harvest.ResourceType + + http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ + http://www.interlis.ch/INTERLIS2.3 + http://www.isotc211.org/2005/gmd + http://www.isotc211.org/2005/gmi + http://www.isotc211.org/schemas/2005/gmd/ + http://www.opengis.net/cat/csw/2.0.2 + http://www.opengis.net/cat/csw/3.0 + http://www.opengis.net/cat/csw/csdgm + http://www.opengis.net/sos/1.0 + http://www.opengis.net/sos/2.0 + http://www.opengis.net/wcs + http://www.opengis.net/wfs + http://www.opengis.net/wfs/2.0 + http://www.opengis.net/wms + http://www.opengis.net/wmts/1.0 + http://www.opengis.net/wps/1.0.0 + http://www.w3.org/2005/Atom + urn:geoss:waf + + + diff --git a/tests/functionaltests/suites/harvesting/expected/post_Harvest-csw-iso.xml b/tests/functionaltests/suites/harvesting/expected/post_Harvest-csw-iso.xml new file mode 100644 index 000000000..1aa0f2bfc --- /dev/null +++ b/tests/functionaltests/suites/harvesting/expected/post_Harvest-csw-iso.xml @@ -0,0 +1,149 @@ + + + + + + 34 + 0 + 0 + + + + PYCSW_IDENTIFIER + pycsw Geospatial Catalogue OGC services demo + + + PYCSW_IDENTIFIER + 1 Million Scale WMS Layers from the National Atlas of the United States + + + PYCSW_IDENTIFIER-ports1m + 1 Million Scale - Ports + + + PYCSW_IDENTIFIER-national1m + 1 Million Scale - National Boundary + + + PYCSW_IDENTIFIER-elevation + 1 Million Scale - Elevation 100 Meter Resolution + + + PYCSW_IDENTIFIER-impervious + 1 Million Scale - Impervious Surface 100 Meter Resolution + + + PYCSW_IDENTIFIER-coast1m + 1 Million Scale - Coastlines + + + PYCSW_IDENTIFIER-cdl + 1 Million Scale - 113th Congressional Districts + + + PYCSW_IDENTIFIER-states1m + 1 Million Scale - States + + + PYCSW_IDENTIFIER-elsli0100g + 1 Million Scale - Color-Sliced Elevation 100 Meter Resolution + + + PYCSW_IDENTIFIER-landcov100m + 1 Million Scale - Land Cover 100 Meter Resolution + + + PYCSW_IDENTIFIER-cdp + 1 Million Scale - 113th Congressional Districts by Party + + + PYCSW_IDENTIFIER-amtrak1m + 1 Million Scale - Railroad and Bus Passenger Stations + + + PYCSW_IDENTIFIER-airports1m + 1 Million Scale - Airports + + + PYCSW_IDENTIFIER-one_million + 1 Million Scale WMS Layers from the National Atlas of the United States + + + PYCSW_IDENTIFIER-satvi0100g + 1 Million Scale - Satellite View 100 Meter Resolution + + + PYCSW_IDENTIFIER-srcoi0100g + 1 Million Scale - Color Shaded Relief 100 Meter Resolution + + + PYCSW_IDENTIFIER-srgri0100g + 1 Million Scale - Gray Shaded Relief 100 Meter Resolution + + + PYCSW_IDENTIFIER-treecanopy + 1 Million Scale - Tree Canopy 100 Meter Resolution + + + PYCSW_IDENTIFIER-svsri0100g + 1 Million Scale - Satellite View with Shaded Relief 100 Meter Resolution + + + PYCSW_IDENTIFIER + Wisconsin Lake Clarity + + + PYCSW_IDENTIFIER-Highways + Highways + + + PYCSW_IDENTIFIER-LakesTSI + LakesTSI + + + PYCSW_IDENTIFIER-LakeClarity + Wisconsin Lake Clarity + + + PYCSW_IDENTIFIER-LakesTSI_0305 + LakesTSI_0305 + + + PYCSW_IDENTIFIER-Relief + Relief + + + PYCSW_IDENTIFIER-LakeNames_0305 + LakeNames_0305 + + + PYCSW_IDENTIFIER-Roads + Roads + + + PYCSW_IDENTIFIER-LakeNames + LakeNames + + + PYCSW_IDENTIFIER-Counties + Counties + + + PYCSW_IDENTIFIER + View & download service for EU-DEM data provided by EOX + + + PYCSW_IDENTIFIER-EU-DEM + EU-DEM + + + PYCSW_IDENTIFIER-MS + View & download service for EU-DEM data provided by EOX + + + PYCSW_IDENTIFIER-eudem_color + EU-DEM color shaded + + + + diff --git a/tests/functionaltests/suites/harvesting/expected/post_Harvest-csw-run1.xml b/tests/functionaltests/suites/harvesting/expected/post_Harvest-csw-run1.xml new file mode 100644 index 000000000..5786b5423 --- /dev/null +++ b/tests/functionaltests/suites/harvesting/expected/post_Harvest-csw-run1.xml @@ -0,0 +1,65 @@ + + + + + + 13 + 0 + 0 + + + + PYCSW_IDENTIFIER + pycsw OGC CITE demo and Reference Implementation + + + PYCSW_IDENTIFIER + Lorem ipsum + + + PYCSW_IDENTIFIER + + + + PYCSW_IDENTIFIER + Maecenas enim + + + PYCSW_IDENTIFIER + Ut facilisis justo ut lacus + + + PYCSW_IDENTIFIER + Aliquam fermentum purus quis arcu + + + PYCSW_IDENTIFIER + Vestibulum massa purus + + + PYCSW_IDENTIFIER + + + + PYCSW_IDENTIFIER + Mauris sed neque + + + PYCSW_IDENTIFIER + Ñunç elementum + + + PYCSW_IDENTIFIER + Lorem ipsum dolor sit amet + + + PYCSW_IDENTIFIER + + + + PYCSW_IDENTIFIER + Fuscé vitae ligulä + + + + diff --git a/tests/functionaltests/suites/harvesting/expected/post_Harvest-csw-run2.xml b/tests/functionaltests/suites/harvesting/expected/post_Harvest-csw-run2.xml new file mode 100644 index 000000000..4362f5264 --- /dev/null +++ b/tests/functionaltests/suites/harvesting/expected/post_Harvest-csw-run2.xml @@ -0,0 +1,11 @@ + + + + + + 13 + 13 + 0 + + + diff --git a/tests/functionaltests/suites/harvesting/expected/post_Harvest-dc.xml b/tests/functionaltests/suites/harvesting/expected/post_Harvest-dc.xml new file mode 100644 index 000000000..58d6d5044 --- /dev/null +++ b/tests/functionaltests/suites/harvesting/expected/post_Harvest-dc.xml @@ -0,0 +1,17 @@ + + + + + + 1 + 0 + 0 + + + + PYCSW_IDENTIFIER + Image2000 Product 1 (at1) Multispectral + + + + diff --git a/tests/functionaltests/suites/harvesting/expected/post_Harvest-fgdc.xml b/tests/functionaltests/suites/harvesting/expected/post_Harvest-fgdc.xml new file mode 100644 index 000000000..c12247fcb --- /dev/null +++ b/tests/functionaltests/suites/harvesting/expected/post_Harvest-fgdc.xml @@ -0,0 +1,17 @@ + + + + + + 1 + 0 + 0 + + + + PYCSW_IDENTIFIER + CPC Merged Analysis of Precipitation Standard [POL 88.75 -88.75 180 -180] + + + + diff --git a/tests/functionaltests/suites/harvesting/expected/post_Harvest-iso.xml b/tests/functionaltests/suites/harvesting/expected/post_Harvest-iso.xml new file mode 100644 index 000000000..98b9770f4 --- /dev/null +++ b/tests/functionaltests/suites/harvesting/expected/post_Harvest-iso.xml @@ -0,0 +1,17 @@ + + + + + + 1 + 0 + 0 + + + + PYCSW_IDENTIFIER + Wasserkörper Linien + + + + diff --git a/tests/functionaltests/suites/harvesting/expected/post_Harvest-rdf.xml b/tests/functionaltests/suites/harvesting/expected/post_Harvest-rdf.xml new file mode 100644 index 000000000..2e926c2c4 --- /dev/null +++ b/tests/functionaltests/suites/harvesting/expected/post_Harvest-rdf.xml @@ -0,0 +1,17 @@ + + + + + + 1 + 0 + 0 + + + + PYCSW_IDENTIFIER + Website_gdb + + + + diff --git a/tests/functionaltests/suites/harvesting/expected/post_Harvest-sos100.xml b/tests/functionaltests/suites/harvesting/expected/post_Harvest-sos100.xml new file mode 100644 index 000000000..25e56a48b --- /dev/null +++ b/tests/functionaltests/suites/harvesting/expected/post_Harvest-sos100.xml @@ -0,0 +1,133 @@ + + + + + + 30 + 0 + 0 + + + + PYCSW_IDENTIFIER + Northeastern Regional Association of Coastal Ocean Observing Systems + + + PYCSW_IDENTIFIER-CML + Mooring CML data from the COOA (UNH-COOA) located UNH Coastal Marine Lab Field Station + + + PYCSW_IDENTIFIER-F01 + Mooring F01 data from the Northeastern Regional Association of Coastal Ocean Observing Systems (Univ. of Maine) located Penobscot Bay + + + PYCSW_IDENTIFIER-F02 + Mooring F02 data from the Northeastern Regional Association of Coastal Ocean Observing Systems (Univ. of Maine) located DeepCwind Castine Test Site + + + PYCSW_IDENTIFIER-SMB-MO-04 + Mooring SMB-MO-04 data from the Northeastern Regional Association of Coastal Ocean Observing Systems (SmartBay) located Pilot Boarding Station, Red Island Shoal, Placentia Bay, NL, CA + + + PYCSW_IDENTIFIER-LDLC3 + Mooring LDLC3 data from the LISICOS (LISICOS) located New London Ledge Light + + + PYCSW_IDENTIFIER-CDIP154 + Mooring CDIP154 data from the COOA (UNH-COOA-CDIP) located Block Island, RI + + + PYCSW_IDENTIFIER-CDIP176 + Mooring CDIP176 data from the COOA (UNH-COOA-CDIP) located Halifax Harbor, CA + + + PYCSW_IDENTIFIER-ARTG + Mooring ARTG data from the LISICOS (LISICOS) located North of Smithtown Bay + + + PYCSW_IDENTIFIER-M01 + Mooring M01 data from the Northeastern Regional Association of Coastal Ocean Observing Systems (Univ. of Maine) located Jordan Basin + + + PYCSW_IDENTIFIER-N01 + Mooring N01 data from the Northeastern Regional Association of Coastal Ocean Observing Systems (Univ. of Maine) located Northeast Channel + + + PYCSW_IDENTIFIER-44039 + Mooring 44039 data from the LISICOS (LISICOS) located Central Long Island Sound + + + PYCSW_IDENTIFIER-SMB-MO-01 + Mooring SMB-MO-01 data from the Northeastern Regional Association of Coastal Ocean Observing Systems (SmartBay) located Mouth of Placentia Bay, NL, Canada + + + PYCSW_IDENTIFIER-SMB-MO-05 + Mooring SMB-MO-05 data from the Northeastern Regional Association of Coastal Ocean Observing Systems (SmartBay) located Come By Chance Point, Placentia Bay, NL, CA + + + PYCSW_IDENTIFIER-D02 + Mooring D02 data from the Northeastern Regional Association of Coastal Ocean Observing Systems (Univ. of Maine) located Lower Harpswell Sound + + + PYCSW_IDENTIFIER-E02 + Mooring E02 data from the Northeastern Regional Association of Coastal Ocean Observing Systems (Univ. of Maine) located DeepCwind Test Site + + + PYCSW_IDENTIFIER-E01 + Mooring E01 data from the Northeastern Regional Association of Coastal Ocean Observing Systems (Univ. of Maine) located Central Maine Shelf + + + PYCSW_IDENTIFIER-B01 + Mooring B01 data from the Northeastern Regional Association of Coastal Ocean Observing Systems (Univ. of Maine) located Western Maine Shelf + + + PYCSW_IDENTIFIER-EXRX + Mooring EXRX data from the LISICOS (LISICOS) located Execution Rocks Long Island Sound + + + PYCSW_IDENTIFIER-44098 + Mooring 44098 data from the COOA (UNH-COOA) located Jeffrey's Ledge + + + PYCSW_IDENTIFIER-WLIS + Mooring WLIS data from the LISICOS (LISICOS) located Western Long Island Sound + + + PYCSW_IDENTIFIER-CO2 + Mooring CO2 data from the COOA (UNH-COOA) located Appledore Island + + + PYCSW_IDENTIFIER-CDIP221 + Mooring CDIP221 data from the COOA (UNH-COOA-CDIP) located Cape Cod Bay, MA + + + PYCSW_IDENTIFIER-ALL_PLATFORMS + Mooring data for all buoys from the Northeastern Regional Association of Coastal Ocean Observing Systems (NERACOOS) located in the NERACOOS Region + + + PYCSW_IDENTIFIER-A01 + Mooring A01 data from the Northeastern Regional Association of Coastal Ocean Observing Systems (Univ. of Maine) located Massachusetts Bay + + + PYCSW_IDENTIFIER-MDS02 + Mooring MDS02 data from the URI (Univ. of Rhode Is.) located SAMP MD S + + + PYCSW_IDENTIFIER-GREAT_BAY + Mooring GREAT_BAY data from the COOA (UNH-COOA) located Great Bay, NH + + + PYCSW_IDENTIFIER-I01 + Mooring I01 data from the Northeastern Regional Association of Coastal Ocean Observing Systems (Univ. of Maine) located Eastern Maine Shelf + + + PYCSW_IDENTIFIER-CDIP207 + Mooring CDIP207 data from the COOA (UNH-COOA-CDIP) located Fire Island, NY + + + PYCSW_IDENTIFIER-44060 + Mooring 44060 data from the LISICOS (LISICOS) located Eastern Long Island Sound + + + + diff --git a/tests/functionaltests/suites/harvesting/expected/post_Harvest-sos200.xml b/tests/functionaltests/suites/harvesting/expected/post_Harvest-sos200.xml new file mode 100644 index 000000000..b41170b20 --- /dev/null +++ b/tests/functionaltests/suites/harvesting/expected/post_Harvest-sos200.xml @@ -0,0 +1,21 @@ + + + + + + 2 + 0 + 0 + + + + PYCSW_IDENTIFIER + GIN SOS + + + PYCSW_IDENTIFIER-GW_LEVEL + + + + + diff --git a/tests/functionaltests/suites/harvesting/expected/post_Harvest-waf.xml b/tests/functionaltests/suites/harvesting/expected/post_Harvest-waf.xml new file mode 100644 index 000000000..75b60273f --- /dev/null +++ b/tests/functionaltests/suites/harvesting/expected/post_Harvest-waf.xml @@ -0,0 +1,25 @@ + + + + + + 3 + 0 + 0 + + + + PYCSW_IDENTIFIER + CPC Merged Analysis of Precipitation Standard [POL 88.75 -88.75 180 -180] + + + PYCSW_IDENTIFIER + Image2000 Product 1 (at1) Multispectral + + + PYCSW_IDENTIFIER + NOAA_RNC + + + + diff --git a/tests/functionaltests/suites/harvesting/expected/post_Harvest-wcs.xml b/tests/functionaltests/suites/harvesting/expected/post_Harvest-wcs.xml new file mode 100644 index 000000000..a5dcbed6f --- /dev/null +++ b/tests/functionaltests/suites/harvesting/expected/post_Harvest-wcs.xml @@ -0,0 +1,33 @@ + + + + + + 5 + 0 + 0 + + + + PYCSW_IDENTIFIER + WCS Demo Server for MapServer + + + PYCSW_IDENTIFIER-ndvi + North Central US MODIS-based NDVI Images for 2002 + + + PYCSW_IDENTIFIER-modis-001 + North Central US MODIS Images for 2002-001 + + + PYCSW_IDENTIFIER-fpar + North Central US MODIS-based FPAR Images for 2002 + + + PYCSW_IDENTIFIER-modis + North Central US MODIS Images for 2002 + + + + diff --git a/tests/functionaltests/suites/harvesting/expected/post_Harvest-wfs110.xml b/tests/functionaltests/suites/harvesting/expected/post_Harvest-wfs110.xml new file mode 100644 index 000000000..96ec6feb3 --- /dev/null +++ b/tests/functionaltests/suites/harvesting/expected/post_Harvest-wfs110.xml @@ -0,0 +1,37 @@ + + + + + + 6 + 0 + 0 + + + + PYCSW_IDENTIFIER + GeoServer Web Feature Service + + + PYCSW_IDENTIFIER-geoss_water_sba:Reservoir + Reservoir + + + PYCSW_IDENTIFIER-geoss_water_sba:glwd_1 + glwd_1 + + + PYCSW_IDENTIFIER-geoss_water_sba:Dams + Dams + + + PYCSW_IDENTIFIER-geoss_water_sba:glwd_2 + glwd_2 + + + PYCSW_IDENTIFIER-geoss_water_sba:Lakes + Lakes + + + + diff --git a/tests/functionaltests/suites/harvesting/expected/post_Harvest-wfs200.xml b/tests/functionaltests/suites/harvesting/expected/post_Harvest-wfs200.xml new file mode 100644 index 000000000..d73153e77 --- /dev/null +++ b/tests/functionaltests/suites/harvesting/expected/post_Harvest-wfs200.xml @@ -0,0 +1,57 @@ + + + + + + 11 + 0 + 0 + + + + PYCSW_IDENTIFIER + CERA_CERA_TechClasses_WGS84 + + + PYCSW_IDENTIFIER-CERA_CERA_TechClasses_WGS84:MBIE_Technical_Classes_WGS84_2012-08-16 + MBIE_Technical_Classes_WGS84_2012-08-16 + + + PYCSW_IDENTIFIER-CERA_CERA_TechClasses_WGS84:MBIE_Technical_Classes_WGS84_2012-05-18 + MBIE_Technical_Classes_WGS84_2012-05-18 + + + PYCSW_IDENTIFIER-CERA_CERA_TechClasses_WGS84:MBIE_Technical_Classes_WGS84_2013-12-04 + MBIE_Technical_Classes_WGS84_2013-12-04 + + + PYCSW_IDENTIFIER-CERA_CERA_TechClasses_WGS84:MBIE_Technical_Classes_WGS84_2011-10-28 + MBIE_Technical_Classes_WGS84_2011-10-28 + + + PYCSW_IDENTIFIER-CERA_CERA_TechClasses_WGS84:MBIE_Technical_Classes_WGS84_2012-02-10 + MBIE_Technical_Classes_WGS84_2012-02-10 + + + PYCSW_IDENTIFIER-CERA_CERA_TechClasses_WGS84:MBIE_Technical_Classes_WGS84_2012-09-14 + MBIE_Technical_Classes_WGS84_2012-09-14 + + + PYCSW_IDENTIFIER-CERA_CERA_TechClasses_WGS84:MBIE_Technical_Classes_WGS84_2012-03-23 + MBIE_Technical_Classes_WGS84_2012-03-23 + + + PYCSW_IDENTIFIER-CERA_CERA_TechClasses_WGS84:MBIE_Technical_Classes_WGS84_2011-11-17 + MBIE_Technical_Classes_WGS84_2011-11-17 + + + PYCSW_IDENTIFIER-CERA_CERA_TechClasses_WGS84:MBIE_Technical_Classes_WGS84_2012-08-24 + MBIE_Technical_Classes_WGS84_2012-08-24 + + + PYCSW_IDENTIFIER-CERA_CERA_TechClasses_WGS84:MBIE_Technical_Classes_WGS84_2012-10-31 + MBIE_Technical_Classes_WGS84_2012-10-31 + + + + diff --git a/tests/functionaltests/suites/harvesting/expected/post_Harvest-wms-run1.xml b/tests/functionaltests/suites/harvesting/expected/post_Harvest-wms-run1.xml new file mode 100644 index 000000000..d75519d7d --- /dev/null +++ b/tests/functionaltests/suites/harvesting/expected/post_Harvest-wms-run1.xml @@ -0,0 +1,29 @@ + + + + + + 4 + 0 + 0 + + + + PYCSW_IDENTIFIER + IEM WMS Service + + + PYCSW_IDENTIFIER-nexrad_base_reflect + IEM WMS Service + + + PYCSW_IDENTIFIER-time_idx + NEXRAD BASE REFLECT + + + PYCSW_IDENTIFIER-nexrad-n0r-wmst + NEXRAD BASE REFLECT + + + + diff --git a/tests/functionaltests/suites/harvesting/expected/post_Harvest-wms-run2.xml b/tests/functionaltests/suites/harvesting/expected/post_Harvest-wms-run2.xml new file mode 100644 index 000000000..19e8d8623 --- /dev/null +++ b/tests/functionaltests/suites/harvesting/expected/post_Harvest-wms-run2.xml @@ -0,0 +1,11 @@ + + + + + + 4 + 4 + 0 + + + diff --git a/tests/functionaltests/suites/harvesting/expected/post_Harvest-wmts.xml b/tests/functionaltests/suites/harvesting/expected/post_Harvest-wmts.xml new file mode 100644 index 000000000..372bad712 --- /dev/null +++ b/tests/functionaltests/suites/harvesting/expected/post_Harvest-wmts.xml @@ -0,0 +1,45 @@ + + + + + + 8 + 0 + 0 + + + + PYCSW_IDENTIFIER + Web Map Tile Service + + + PYCSW_IDENTIFIER-flwbplmzk + Flächenwidmungs- und Bebauungsplan + + + PYCSW_IDENTIFIER-lb + Luftbild + + + PYCSW_IDENTIFIER-lb2014 + Luftbild 2014 + + + PYCSW_IDENTIFIER-beschriftung + Beschriftung + + + PYCSW_IDENTIFIER-lb1938 + Luftbild 1938 + + + PYCSW_IDENTIFIER-fmzk + MZK Flächen + + + PYCSW_IDENTIFIER-lb1956 + Luftbild 1956 + + + + diff --git a/tests/functionaltests/suites/harvesting/expected/post_Harvest-wps.xml b/tests/functionaltests/suites/harvesting/expected/post_Harvest-wps.xml new file mode 100644 index 000000000..12381ec1e --- /dev/null +++ b/tests/functionaltests/suites/harvesting/expected/post_Harvest-wps.xml @@ -0,0 +1,57 @@ + + + + + + 11 + 0 + 0 + + + + PYCSW_IDENTIFIER + Geo Data Portal WPS Implementation + + + PYCSW_IDENTIFIER-gov.usgs.cida.gdp.wps.algorithm.filemanagement.CreateNewShapefileDataStore + gov.usgs.cida.gdp.wps.algorithm.filemanagement.CreateNewShapefileDataStore + + + PYCSW_IDENTIFIER-gov.usgs.cida.gdp.wps.algorithm.discovery.GetGridTimeRange + Get Grid Time Range + + + PYCSW_IDENTIFIER-gov.usgs.cida.gdp.wps.algorithm.filemanagement.ReceiveFiles + gov.usgs.cida.gdp.wps.algorithm.filemanagement.ReceiveFiles + + + PYCSW_IDENTIFIER-gov.usgs.cida.gdp.wps.algorithm.discovery.GetWcsCoverages + gov.usgs.cida.gdp.wps.algorithm.discovery.GetWcsCoverages + + + PYCSW_IDENTIFIER-gov.usgs.cida.gdp.wps.algorithm.filemanagement.GetWatersGeom + gov.usgs.cida.gdp.wps.algorithm.filemanagement.GetWatersGeom + + + PYCSW_IDENTIFIER-gov.usgs.cida.gdp.wps.algorithm.communication.GeoserverManagementAlgorithm + gov.usgs.cida.gdp.wps.algorithm.communication.GeoserverManagementAlgorithm + + + PYCSW_IDENTIFIER-gov.usgs.cida.gdp.wps.algorithm.communication.EmailWhenFinishedAlgorithm + gov.usgs.cida.gdp.wps.algorithm.communication.EmailWhenFinishedAlgorithm + + + PYCSW_IDENTIFIER-gov.usgs.cida.gdp.wps.algorithm.discovery.InterrogateDataset + Interogate Dataset URI + + + PYCSW_IDENTIFIER-gov.usgs.cida.gdp.wps.algorithm.discovery.ListOpendapGrids + List OpendDAP Grids + + + PYCSW_IDENTIFIER-gov.usgs.cida.gdp.wps.algorithm.discovery.CalculateWCSCoverageInfo + gov.usgs.cida.gdp.wps.algorithm.discovery.CalculateWCSCoverageInfo + + + + diff --git a/tests/functionaltests/suites/harvesting/expected/post_Harvest-zzz-post-GetRecords-filter-ows-dc.xml b/tests/functionaltests/suites/harvesting/expected/post_Harvest-zzz-post-GetRecords-filter-ows-dc.xml new file mode 100644 index 000000000..2b2887b5d --- /dev/null +++ b/tests/functionaltests/suites/harvesting/expected/post_Harvest-zzz-post-GetRecords-filter-ows-dc.xml @@ -0,0 +1,125 @@ + + + + + + + PYCSW_IDENTIFIER + pycsw Geospatial Catalogue OGC services demo + service + catalogue + discovery + metadata + services + CSW + http://demo.pycsw.org/services/csw + pycsw is an OGC CSW server implementation written in Python + Lastname, Firstname + Organization Name + Lastname, Firstname + http://demo.pycsw.org/services/csw + None + + + PYCSW_IDENTIFIER + pycsw OGC CITE demo and Reference Implementation + service + ogc + cite + compliance + interoperability + reference implementation + CSW + http://demo.pycsw.org/cite/csw + pycsw is an OGC CSW server implementation written in Python. pycsw fully implements the OpenGIS Catalogue Service Implementation Specification (Catalogue Service for the Web). Initial development started in 2010 (more formally announced in 2011). The project is certified OGC Compliant, and is an OGC Reference Implementation. Since 2015, pycsw is an official OSGeo Project. pycsw allows for the publishing and discovery of [[geospatial]] metadata via numerous APIs (CSW 2/CSW 3, OpenSearch, OAI-PMH, SRU). Existing repositories of geospatial metadata can also be exposed, providing a standards-based metadata and catalogue component of spatial data infrastructures. pycsw is Open Source, released under an MIT license, and runs on all major platforms (Windows, Linux, Mac OS X) + Lastname, Firstname + Organization Name + Lastname, Firstname + http://demo.pycsw.org/cite/csw + None + + + PYCSW_IDENTIFIER + Northeastern Regional Association of Coastal Ocean Observing Systems + service + NERACOOS + SOS + OCEANOGRAPHY + Ocean Observations + Gulf of Maine + Long Island Sound + Narragansett Bay + Cape Cod + Boston Harbor + Buzzards Bay + Weather + Ocean Currents + Water Temperature + Salinity + Winds + Waves + Ocean Color + GoMOOS + LISICOS + Univ. of New Hampshire + MVCO + Air Temperature + OGC:SOS + http://www.neracoos.org/cgi-bin/sos/V1.0/oostethys_sos.cgi + NERACOOS supports data collected from buoys in the Gulf of Maine and Long Island Sound. The six Gulf of Maine buoys carry a comprehensive sensor suite that includes the full complement of meteorological sensors carried by the standard NDBC buoys, and in addition commonly include atmospheric visibility, surface currents, water-column current profiles, temperature and conductivity, and fluorescence (for chlorophyll a estimation) and backscatter at multiple depths. In Long Island Sound, three buoys that measure wind speed and direction, circulation, salinity, temperature and dissolved oxygen. Two buoys will be located in western LIS (WLIS and EXRK stations) and the third will be in the Central Sound (CLIS). The buoys will be equipped with three YSI-SeaBird sensors to measure conductivity, temperature, pressure and dissolved oxygen concentration near the surface, bottom and mid-depth. A buoy in Great Bay measures physical, optical, meteorological and wave data. + Eric Bridger + NERACOOS + Eric Bridger + http://www.neracoos.org/cgi-bin/sos/V1.0/oostethys_sos.cgi + NONE + + 40.58 -73.73 + 47.79 -54.05 + + + + PYCSW_IDENTIFIER + GIN SOS + service + groundwater level + monitoring + timeseries + Alberta + Ontario + Nova Scotia + OGC:SOS + http://ngwd-bdnes.cits.nrcan.gc.ca/GinService/sos/gw + Historical groundwater level monitoring stations from Alberta, Ontario and Nova Scotia. This SOS web service delivers the data using OGC's WaterML 2.0. The SOS service federates data from various provincial sources and publishes them as a single service. Many monitoring stations also have water well characteristics available through the GIN WFS web service. + Boyan Brodaric + Geological Survey of Canada, Earth Sciences Sector, Natural Resources Canada, Government of Canada + Boyan Brodaric + http://ngwd-bdnes.cits.nrcan.gc.ca/GinService/sos/gw + NONE + + 41.0 -120.0 + 60.0 -60.0 + + + + PYCSW_IDENTIFIER + WCS Demo Server for MapServer + service + WCS + MODIS + NDVI + OGC:WCS + http://demo.mapserver.org/cgi-bin/wcs + Steve Lime + Minnesota DNR + Steve Lime + http://demo.mapserver.org/cgi-bin/wcs + + NONE + + + 41.03 -97.71 + 49.67 -80.68 + + + + diff --git a/tests/functionaltests/suites/harvesting/expected/post_Harvest-zzz-post-GetRecords-filter-sos-abstract-dc.xml b/tests/functionaltests/suites/harvesting/expected/post_Harvest-zzz-post-GetRecords-filter-sos-abstract-dc.xml new file mode 100644 index 000000000..f5af5079a --- /dev/null +++ b/tests/functionaltests/suites/harvesting/expected/post_Harvest-zzz-post-GetRecords-filter-sos-abstract-dc.xml @@ -0,0 +1,30 @@ + + + + + + + PYCSW_IDENTIFIER + GIN SOS + service + groundwater level + monitoring + timeseries + Alberta + Ontario + Nova Scotia + OGC:SOS + http://ngwd-bdnes.cits.nrcan.gc.ca/GinService/sos/gw + Historical groundwater level monitoring stations from Alberta, Ontario and Nova Scotia. This SOS web service delivers the data using OGC's WaterML 2.0. The SOS service federates data from various provincial sources and publishes them as a single service. Many monitoring stations also have water well characteristics available through the GIN WFS web service. + Boyan Brodaric + Geological Survey of Canada, Earth Sciences Sector, Natural Resources Canada, Government of Canada + Boyan Brodaric + http://ngwd-bdnes.cits.nrcan.gc.ca/GinService/sos/gw + NONE + + 41.0 -120.0 + 60.0 -60.0 + + + + diff --git a/tests/functionaltests/suites/harvesting/expected/post_Harvest-zzz-post-GetRecords-filter-sos-dc.xml b/tests/functionaltests/suites/harvesting/expected/post_Harvest-zzz-post-GetRecords-filter-sos-dc.xml new file mode 100644 index 000000000..8523426f5 --- /dev/null +++ b/tests/functionaltests/suites/harvesting/expected/post_Harvest-zzz-post-GetRecords-filter-sos-dc.xml @@ -0,0 +1,69 @@ + + + + + + + PYCSW_IDENTIFIER + Northeastern Regional Association of Coastal Ocean Observing Systems + service + NERACOOS + SOS + OCEANOGRAPHY + Ocean Observations + Gulf of Maine + Long Island Sound + Narragansett Bay + Cape Cod + Boston Harbor + Buzzards Bay + Weather + Ocean Currents + Water Temperature + Salinity + Winds + Waves + Ocean Color + GoMOOS + LISICOS + Univ. of New Hampshire + MVCO + Air Temperature + OGC:SOS + http://www.neracoos.org/cgi-bin/sos/V1.0/oostethys_sos.cgi + NERACOOS supports data collected from buoys in the Gulf of Maine and Long Island Sound. The six Gulf of Maine buoys carry a comprehensive sensor suite that includes the full complement of meteorological sensors carried by the standard NDBC buoys, and in addition commonly include atmospheric visibility, surface currents, water-column current profiles, temperature and conductivity, and fluorescence (for chlorophyll a estimation) and backscatter at multiple depths. In Long Island Sound, three buoys that measure wind speed and direction, circulation, salinity, temperature and dissolved oxygen. Two buoys will be located in western LIS (WLIS and EXRK stations) and the third will be in the Central Sound (CLIS). The buoys will be equipped with three YSI-SeaBird sensors to measure conductivity, temperature, pressure and dissolved oxygen concentration near the surface, bottom and mid-depth. A buoy in Great Bay measures physical, optical, meteorological and wave data. + Eric Bridger + NERACOOS + Eric Bridger + http://www.neracoos.org/cgi-bin/sos/V1.0/oostethys_sos.cgi + NONE + + 40.58 -73.73 + 47.79 -54.05 + + + + PYCSW_IDENTIFIER + GIN SOS + service + groundwater level + monitoring + timeseries + Alberta + Ontario + Nova Scotia + OGC:SOS + http://ngwd-bdnes.cits.nrcan.gc.ca/GinService/sos/gw + Historical groundwater level monitoring stations from Alberta, Ontario and Nova Scotia. This SOS web service delivers the data using OGC's WaterML 2.0. The SOS service federates data from various provincial sources and publishes them as a single service. Many monitoring stations also have water well characteristics available through the GIN WFS web service. + Boyan Brodaric + Geological Survey of Canada, Earth Sciences Sector, Natural Resources Canada, Government of Canada + Boyan Brodaric + http://ngwd-bdnes.cits.nrcan.gc.ca/GinService/sos/gw + NONE + + 41.0 -120.0 + 60.0 -60.0 + + + + diff --git a/tests/functionaltests/suites/harvesting/expected/post_Harvest-zzz-post-GetRecords-filter-sos-iso.xml b/tests/functionaltests/suites/harvesting/expected/post_Harvest-zzz-post-GetRecords-filter-sos-iso.xml new file mode 100644 index 000000000..71064f191 --- /dev/null +++ b/tests/functionaltests/suites/harvesting/expected/post_Harvest-zzz-post-GetRecords-filter-sos-iso.xml @@ -0,0 +1,955 @@ + + + + + + + + PYCSW_IDENTIFIER + + + + + + service + + + + + Eric Bridger + + + NERACOOS + + + DMAC Coordinator + + + + + + + 207 228-1662 + + + + + + + + + + 350 Commercial St. + + + Portland + + + ME + + + 04101 + + + US + + + ebridger@gmri.org + + + + + + http://www.neracoos.org/ + + + + + + pointOfContact + + + + + + + + ISO19119 + + + 2005/PDAM 1 + + + + + + + Northeastern Regional Association of Coastal Ocean Observing Systems + + + + + NERACOOS supports data collected from buoys in the Gulf of Maine and Long Island Sound. The six Gulf of Maine buoys carry a comprehensive sensor suite that includes the full complement of meteorological sensors carried by the standard NDBC buoys, and in addition commonly include atmospheric visibility, surface currents, water-column current profiles, temperature and conductivity, and fluorescence (for chlorophyll a estimation) and backscatter at multiple depths. In Long Island Sound, three buoys that measure wind speed and direction, circulation, salinity, temperature and dissolved oxygen. Two buoys will be located in western LIS (WLIS and EXRK stations) and the third will be in the Central Sound (CLIS). The buoys will be equipped with three YSI-SeaBird sensors to measure conductivity, temperature, pressure and dissolved oxygen concentration near the surface, bottom and mid-depth. A buoy in Great Bay measures physical, optical, meteorological and wave data. + + + + + NERACOOS + + + SOS + + + OCEANOGRAPHY + + + Ocean Observations + + + Gulf of Maine + + + Long Island Sound + + + Narragansett Bay + + + Cape Cod + + + Boston Harbor + + + Buzzards Bay + + + Weather + + + Ocean Currents + + + Water Temperature + + + Salinity + + + Winds + + + Waves + + + Ocean Color + + + GoMOOS + + + LISICOS + + + Univ. of New Hampshire + + + MVCO + + + Air Temperature + + + + + + + + OGC:SOS + + + 1.0.0 + + + + + NERACOOS + + + SOS + + + OCEANOGRAPHY + + + Ocean Observations + + + Gulf of Maine + + + Long Island Sound + + + Narragansett Bay + + + Cape Cod + + + Boston Harbor + + + Buzzards Bay + + + Weather + + + Ocean Currents + + + Water Temperature + + + Salinity + + + Winds + + + Waves + + + Ocean Color + + + GoMOOS + + + LISICOS + + + Univ. of New Hampshire + + + MVCO + + + Air Temperature + + + + + + + + + -73.73 + + + -54.05 + + + 40.58 + + + 47.79 + + + + + + + tight + + + + + GetObservation + + + CML + + + + + + + GetObservation + + + F01 + + + + + + + GetObservation + + + F02 + + + + + + + GetObservation + + + SMB-MO-04 + + + + + + + GetObservation + + + LDLC3 + + + + + + + GetObservation + + + CDIP154 + + + + + + + GetObservation + + + CDIP176 + + + + + + + GetObservation + + + ARTG + + + + + + + GetObservation + + + M01 + + + + + + + GetObservation + + + N01 + + + + + + + GetObservation + + + 44039 + + + + + + + GetObservation + + + SMB-MO-01 + + + + + + + GetObservation + + + SMB-MO-05 + + + + + + + GetObservation + + + D02 + + + + + + + GetObservation + + + E02 + + + + + + + GetObservation + + + E01 + + + + + + + GetObservation + + + B01 + + + + + + + GetObservation + + + EXRX + + + + + + + GetObservation + + + 44098 + + + + + + + GetObservation + + + WLIS + + + + + + + GetObservation + + + CO2 + + + + + + + GetObservation + + + CDIP221 + + + + + + + GetObservation + + + ALL_PLATFORMS + + + + + + + GetObservation + + + A01 + + + + + + + GetObservation + + + MDS02 + + + + + + + GetObservation + + + GREAT_BAY + + + + + + + GetObservation + + + I01 + + + + + + + GetObservation + + + CDIP207 + + + + + + + GetObservation + + + 44060 + + + + + + + GetCapabilities + + + HTTPGet + + + HTTPPost + + + + + http://www.neracoos.org/cgi-bin/sos/V1.0/oostethys_sos.cgi + + + + + + + + + GetObservation + + + HTTPGet + + + HTTPPost + + + + + http://www.neracoos.org/cgi-bin/sos/V1.0/oostethys_sos.cgi + + + + + + + + + DescribeSensor + + + HTTPGet + + + HTTPPost + + + + + http://www.neracoos.org/cgi-bin/sos/V1.0/oostethys_sos.cgi + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + http://www.neracoos.org/cgi-bin/sos/V1.0/oostethys_sos.cgi + + + OGC:SOS + + + PYCSW_IDENTIFIER + + + OGC-SOS Sensor Observation Service + + + + + + + + + + + PYCSW_IDENTIFIER + + + + + + service + + + + + Boyan Brodaric + + + Geological Survey of Canada, Earth Sciences Sector, Natural Resources Canada, Government of Canada + + + Research Scientist + + + + + + + +1-613-992-3562 + + + +1-613-995-9273 + + + + + + + 615 Booth Street + + + Ottawa + + + + + + K1A 0E9 + + + Canada + + + brodaric at nrcan dot gc dot ca + + + + + + http://gw-info.net + + + + + + pointOfContact + + + + + + + + ISO19119 + + + 2005/PDAM 1 + + + + + + + GIN SOS + + + + + Historical groundwater level monitoring stations from Alberta, Ontario and Nova Scotia. This SOS web service delivers the data using OGC's WaterML 2.0. The SOS service federates data from various provincial sources and publishes them as a single service. Many monitoring stations also have water well characteristics available through the GIN WFS web service. + + + + + groundwater level + + + monitoring + + + timeseries + + + Alberta + + + Ontario + + + Nova Scotia + + + + + + + + OGC:SOS + + + 2.0.0 + + + + + groundwater level + + + monitoring + + + timeseries + + + Alberta + + + Ontario + + + Nova Scotia + + + + + + + + + -120.0 + + + -60.0 + + + 41.0 + + + 60.0 + + + + + + + tight + + + + + GetObservation + + + GW_LEVEL + + + + + + + GetCapabilities + + + HTTPGet + + + HTTPPost + + + + + http://ngwd-bdnes.cits.nrcan.gc.ca/GinService/sos/gw + + + + + + + + + DescribeSensor + + + HTTPGet + + + HTTPPost + + + + + http://ngwd-bdnes.cits.nrcan.gc.ca/GinService/sos/gw + + + + + + + + + GetObservation + + + HTTPGet + + + HTTPPost + + + + + http://ngwd-bdnes.cits.nrcan.gc.ca/GinService/sos/gw + + + + + + + + + GetFeatureOfInterest + + + HTTPGet + + + HTTPPost + + + + + http://ngwd-bdnes.cits.nrcan.gc.ca/GinService/sos/gw + + + + + + + + + + + + + + + + http://ngwd-bdnes.cits.nrcan.gc.ca/GinService/sos/gw + + + OGC:SOS + + + PYCSW_IDENTIFIER + + + OGC-SOS Sensor Observation Service + + + + + + + + + + diff --git a/tests/functionaltests/suites/harvesting/expected/post_Harvest-zzz-post-GetRecords-filter-wfs-iso.xml b/tests/functionaltests/suites/harvesting/expected/post_Harvest-zzz-post-GetRecords-filter-wfs-iso.xml new file mode 100644 index 000000000..fe8c5f2d5 --- /dev/null +++ b/tests/functionaltests/suites/harvesting/expected/post_Harvest-zzz-post-GetRecords-filter-wfs-iso.xml @@ -0,0 +1,1061 @@ + + + + + + + + PYCSW_IDENTIFIER + + + + + + service + + + + + Matt Austin + + + National Oceanic and Atmospheric Administration + + + + + + + + + + + + + + + + + + + + + + + Silver Spring + + + Maryland + + + 20910 + + + USA + + + + + + + + + + pointOfContact + + + + + + + + ISO19119 + + + 2005/PDAM 1 + + + + + + + GeoServer Web Feature Service + + + + + This is the reference implementation of WFS 1.0.0 and WFS 1.1.0, supports all WFS operations including Transaction. + + + + + WFS + + + WMS + + + GEOSERVER + + + + + + + + OGC:WFS + + + 1.1.0 + + + + + WFS + + + WMS + + + GEOSERVER + + + + + + + + + -179.87 + + + 179.99 + + + -54.61 + + + 83.46 + + + + + + + tight + + + + + GetFeature + + + geoss_water_sba:Reservoir + + + + + + + GetFeature + + + geoss_water_sba:glwd_1 + + + + + + + GetFeature + + + geoss_water_sba:Dams + + + + + + + GetFeature + + + geoss_water_sba:glwd_2 + + + + + + + GetFeature + + + geoss_water_sba:Lakes + + + + + + + GetCapabilities + + + HTTPGet + + + HTTPPost + + + + + http://services.ogc.noaa.gov/geoserver/geoss_water_sba/wfs + + + + + + + + + DescribeFeatureType + + + HTTPGet + + + HTTPPost + + + + + http://services.ogc.noaa.gov/geoserver/geoss_water_sba/wfs + + + + + + + + + GetFeature + + + HTTPGet + + + HTTPPost + + + + + http://services.ogc.noaa.gov/geoserver/geoss_water_sba/wfs + + + + + + + + + GetGmlObject + + + HTTPGet + + + HTTPPost + + + + + http://services.ogc.noaa.gov/geoserver/geoss_water_sba/wfs + + + + + + + + + LockFeature + + + HTTPGet + + + HTTPPost + + + + + http://services.ogc.noaa.gov/geoserver/geoss_water_sba/wfs + + + + + + + + + GetFeatureWithLock + + + HTTPGet + + + HTTPPost + + + + + http://services.ogc.noaa.gov/geoserver/geoss_water_sba/wfs + + + + + + + + + Transaction + + + HTTPGet + + + HTTPPost + + + + + http://services.ogc.noaa.gov/geoserver/geoss_water_sba/wfs + + + + + + + + + + + + + + + + + + + + http://services.ogc.noaa.gov/geoserver/geoss_water_sba/wfs + + + OGC:WFS + + + PYCSW_IDENTIFIER + + + OGC-WFS Web Feature Service + + + + + + + + + + + PYCSW_IDENTIFIER + + + + + + service + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + http://maps.cera.govt.nz/arcgis/services/CERA/CERA_TechClasses_WGS84/MapServer/WFSServer + + + + + + pointOfContact + + + + + + + + ISO19119 + + + 2005/PDAM 1 + + + + + + + CERA_CERA_TechClasses_WGS84 + + + + + + + + + + + + + + + + + + OGC:WFS + + + 2.0.0 + + + + + + + + + + + + + + 171.11 + + + 173.13 + + + -43.9 + + + -42.74 + + + + + + + tight + + + + + GetFeature + + + CERA_CERA_TechClasses_WGS84:MBIE_Technical_Classes_WGS84_2012-08-16 + + + + + + + GetFeature + + + CERA_CERA_TechClasses_WGS84:MBIE_Technical_Classes_WGS84_2012-05-18 + + + + + + + GetFeature + + + CERA_CERA_TechClasses_WGS84:MBIE_Technical_Classes_WGS84_2013-12-04 + + + + + + + GetFeature + + + CERA_CERA_TechClasses_WGS84:MBIE_Technical_Classes_WGS84_2011-10-28 + + + + + + + GetFeature + + + CERA_CERA_TechClasses_WGS84:MBIE_Technical_Classes_WGS84_2012-02-10 + + + + + + + GetFeature + + + CERA_CERA_TechClasses_WGS84:MBIE_Technical_Classes_WGS84_2012-09-14 + + + + + + + GetFeature + + + CERA_CERA_TechClasses_WGS84:MBIE_Technical_Classes_WGS84_2012-03-23 + + + + + + + GetFeature + + + CERA_CERA_TechClasses_WGS84:MBIE_Technical_Classes_WGS84_2011-11-17 + + + + + + + GetFeature + + + CERA_CERA_TechClasses_WGS84:MBIE_Technical_Classes_WGS84_2012-08-24 + + + + + + + GetFeature + + + CERA_CERA_TechClasses_WGS84:MBIE_Technical_Classes_WGS84_2012-10-31 + + + + + + + GetCapabilities + + + HTTPGet + + + HTTPPost + + + + + http://maps.cera.govt.nz/arcgis/services/CERA/CERA_TechClasses_WGS84/MapServer/WFSServer + + + + + + + + + DescribeFeatureType + + + HTTPGet + + + HTTPPost + + + + + http://maps.cera.govt.nz/arcgis/services/CERA/CERA_TechClasses_WGS84/MapServer/WFSServer + + + + + + + + + GetFeature + + + HTTPGet + + + HTTPPost + + + + + http://maps.cera.govt.nz/arcgis/services/CERA/CERA_TechClasses_WGS84/MapServer/WFSServer + + + + + + + + + ListStoredQueries + + + HTTPGet + + + HTTPPost + + + + + http://maps.cera.govt.nz/arcgis/services/CERA/CERA_TechClasses_WGS84/MapServer/WFSServer + + + + + + + + + DescribeStoredQueries + + + HTTPGet + + + HTTPPost + + + + + http://maps.cera.govt.nz/arcgis/services/CERA/CERA_TechClasses_WGS84/MapServer/WFSServer + + + + + + + + + DefaultMaxFeatures + + + HTTPGet + + + HTTPPost + + + + + http://maps.cera.govt.nz/arcgis/services/CERA/CERA_TechClasses_WGS84/MapServer/WFSServer + + + + + + + + + ImplementsSimpleWFS + + + HTTPGet + + + HTTPPost + + + + + http://maps.cera.govt.nz/arcgis/services/CERA/CERA_TechClasses_WGS84/MapServer/WFSServer + + + + + + + + + ImplementsBasicWFS + + + HTTPGet + + + HTTPPost + + + + + http://maps.cera.govt.nz/arcgis/services/CERA/CERA_TechClasses_WGS84/MapServer/WFSServer + + + + + + + + + ImplementsTransactionalWFS + + + HTTPGet + + + HTTPPost + + + + + http://maps.cera.govt.nz/arcgis/services/CERA/CERA_TechClasses_WGS84/MapServer/WFSServer + + + + + + + + + ImplementsLockingWFS + + + HTTPGet + + + HTTPPost + + + + + http://maps.cera.govt.nz/arcgis/services/CERA/CERA_TechClasses_WGS84/MapServer/WFSServer + + + + + + + + + ImplementsInheritance + + + HTTPGet + + + HTTPPost + + + + + http://maps.cera.govt.nz/arcgis/services/CERA/CERA_TechClasses_WGS84/MapServer/WFSServer + + + + + + + + + ImplementsRemoteResolve + + + HTTPGet + + + HTTPPost + + + + + http://maps.cera.govt.nz/arcgis/services/CERA/CERA_TechClasses_WGS84/MapServer/WFSServer + + + + + + + + + ImplementsResultPaging + + + HTTPGet + + + HTTPPost + + + + + http://maps.cera.govt.nz/arcgis/services/CERA/CERA_TechClasses_WGS84/MapServer/WFSServer + + + + + + + + + ImplementsStandardJoins + + + HTTPGet + + + HTTPPost + + + + + http://maps.cera.govt.nz/arcgis/services/CERA/CERA_TechClasses_WGS84/MapServer/WFSServer + + + + + + + + + ImplementsSpatialJoins + + + HTTPGet + + + HTTPPost + + + + + http://maps.cera.govt.nz/arcgis/services/CERA/CERA_TechClasses_WGS84/MapServer/WFSServer + + + + + + + + + ImplementsTemporalJoins + + + HTTPGet + + + HTTPPost + + + + + http://maps.cera.govt.nz/arcgis/services/CERA/CERA_TechClasses_WGS84/MapServer/WFSServer + + + + + + + + + ImplementsFeatureVersioning + + + HTTPGet + + + HTTPPost + + + + + http://maps.cera.govt.nz/arcgis/services/CERA/CERA_TechClasses_WGS84/MapServer/WFSServer + + + + + + + + + ManageStoredQueries + + + HTTPGet + + + HTTPPost + + + + + http://maps.cera.govt.nz/arcgis/services/CERA/CERA_TechClasses_WGS84/MapServer/WFSServer + + + + + + + + + KVPEncoding + + + HTTPGet + + + HTTPPost + + + + + http://maps.cera.govt.nz/arcgis/services/CERA/CERA_TechClasses_WGS84/MapServer/WFSServer + + + + + + + + + XMLEncoding + + + HTTPGet + + + HTTPPost + + + + + http://maps.cera.govt.nz/arcgis/services/CERA/CERA_TechClasses_WGS84/MapServer/WFSServer + + + + + + + + + SOAPEncoding + + + HTTPGet + + + HTTPPost + + + + + http://maps.cera.govt.nz/arcgis/services/CERA/CERA_TechClasses_WGS84/MapServer/WFSServer + + + + + + + + + + + + + + + + + + + + + + + + + http://maps.cera.govt.nz/arcgis/services/CERA/CERA_TechClasses_WGS84/MapServer/WFSServer + + + OGC:WFS + + + PYCSW_IDENTIFIER + + + OGC-WFS Web Feature Service + + + + + + + + + + diff --git a/tests/functionaltests/suites/harvesting/expected/post_Harvest-zzz-post-GetRecords-filter-wms-dc.xml b/tests/functionaltests/suites/harvesting/expected/post_Harvest-zzz-post-GetRecords-filter-wms-dc.xml new file mode 100644 index 000000000..e39d7cb23 --- /dev/null +++ b/tests/functionaltests/suites/harvesting/expected/post_Harvest-zzz-post-GetRecords-filter-wms-dc.xml @@ -0,0 +1,89 @@ + + + + + + + PYCSW_IDENTIFIER + 1 Million Scale WMS Layers from the National Atlas of the United States + service + + http://webservices.nationalatlas.gov/wms/1million + http://webservices.nationalatlas.gov/wms/1million?version=1.1.1&request=GetCapabilities&service=WMS + http://webservices.nationalatlas.gov/wms/1million + http://webservices.nationalatlas.gov/wms/1million + http://webservices.nationalatlas.gov/wms/1million + http://webservices.nationalatlas.gov/wms/1million + http://webservices.nationalatlas.gov/wms/1million + http://webservices.nationalatlas.gov/wms/1million + http://demo.pycsw.org/services/csw + + 18.92 -179.13 + 71.4 179.79 + + + + PYCSW_IDENTIFIER + Wisconsin Lake Clarity + service + SSEC + PAW + remote sensing + meteorology + atmospheric science + University of Wisconsin + Madison + weather + land + http://wms.ssec.wisc.edu/cgi-bin/mapserv?map=/home/wms/data/mapfiles/lakestsi.map + http://wms.ssec.wisc.edu/cgi-bin/mapserv?map=%2Fhome%2Fwms%2Fdata%2Fmapfiles%2Flakestsi.map&version=1.1.1&request=GetCapabilities&service=WMS + http://wms.ssec.wisc.edu/cgi-bin/mapserv?map=/home/wms/data/mapfiles/lakestsi.map + http://wms.ssec.wisc.edu/cgi-bin/mapserv?map=/home/wms/data/mapfiles/lakestsi.map + http://wms.ssec.wisc.edu/cgi-bin/mapserv?map=/home/wms/data/mapfiles/lakestsi.map + General: This server hosts a set of experimental OGC Web Services of remote sensing data products for use in a broad range of both desktop and mobile device clients. + http://demo.pycsw.org/services/csw + + 42.41 -93.03 + 47.13 -86.64 + + + + PYCSW_IDENTIFIER + View & download service for EU-DEM data provided by EOX + service + EU-DEM + http://data.eox.at/eudem_ows + http://data.eox.at/eudem_ows?version=1.1.1&request=GetCapabilities&service=WMS + http://data.eox.at/eudem_ows + http://data.eox.at/eudem_ows + http://data.eox.at/eudem_ows + http://data.eox.at/eudem_ows + http://data.eox.at/eudem_ows + http://data.eox.at/eudem_ows + Produced using Copernicus data and information funded by the European Union - EU-DEM layers. + http://demo.pycsw.org/services/csw + + 12.99 -29.09 + 12.99 -29.09 + + + + PYCSW_IDENTIFIER + IEM WMS Service + service + + WMS + http://mesonet.agron.iastate.edu/cgi-bin/wms/nexrad/n0r-t.cgi + IEM generated CONUS composite of NWS WSR-88D level III base reflectivity. + Daryl Herzmann + Iowa State University + Daryl Herzmann + http://mesonet.agron.iastate.edu/cgi-bin/wms/nexrad/n0r-t.cgi + None + + 24.0 -126.0 + 50.0 -66.0 + + + + diff --git a/tests/functionaltests/suites/harvesting/expected/post_Harvest-zzz-post-GetRecords-filter-wms-iso.xml b/tests/functionaltests/suites/harvesting/expected/post_Harvest-zzz-post-GetRecords-filter-wms-iso.xml new file mode 100644 index 000000000..0dc4ec4da --- /dev/null +++ b/tests/functionaltests/suites/harvesting/expected/post_Harvest-zzz-post-GetRecords-filter-wms-iso.xml @@ -0,0 +1,1361 @@ + + + + + + + + PYCSW_IDENTIFIER + + + + + + service + + + + + + + ISO19119 + + + 2005/PDAM 1 + + + + + + + 1 Million Scale WMS Layers from the National Atlas of the United States + + + + + + + + + + + + + + + + + + OGC:WMS + + + 1.1.1 + + + + + + + + + + + + + + -179.13 + + + 179.79 + + + 18.92 + + + 71.4 + + + + + + + tight + + + + + GetMap + + + ports1m + + + + + + + GetMap + + + national1m + + + + + + + GetMap + + + elevation + + + + + + + GetMap + + + impervious + + + + + + + GetMap + + + coast1m + + + + + + + GetMap + + + cdl + + + + + + + GetMap + + + states1m + + + + + + + GetMap + + + elsli0100g + + + + + + + GetMap + + + landcov100m + + + + + + + GetMap + + + cdp + + + + + + + GetMap + + + amtrak1m + + + + + + + GetMap + + + airports1m + + + + + + + GetMap + + + one_million + + + + + + + GetMap + + + satvi0100g + + + + + + + GetMap + + + srcoi0100g + + + + + + + GetMap + + + srgri0100g + + + + + + + GetMap + + + treecanopy + + + + + + + GetMap + + + svsri0100g + + + + + + + GetCapabilities + + + HTTPGet + + + HTTPPost + + + + + http://webservices.nationalatlas.gov/wms/1million + + + + + + + + + GetMap + + + HTTPGet + + + HTTPPost + + + + + http://webservices.nationalatlas.gov/wms/1million + + + + + + + + + GetFeatureInfo + + + HTTPGet + + + HTTPPost + + + + + http://webservices.nationalatlas.gov/wms/1million + + + + + + + + + DescribeLayer + + + HTTPGet + + + HTTPPost + + + + + http://webservices.nationalatlas.gov/wms/1million + + + + + + + + + GetLegendGraphic + + + HTTPGet + + + HTTPPost + + + + + http://webservices.nationalatlas.gov/wms/1million + + + + + + + + + GetStyles + + + HTTPGet + + + HTTPPost + + + + + http://webservices.nationalatlas.gov/wms/1million + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + http://webservices.nationalatlas.gov/wms/1million + + + OGC:WMS + + + PYCSW_IDENTIFIER + + + OGC-WMS Web Map Service + + + + + + + http://webservices.nationalatlas.gov/wms/1million?version=1.1.1&request=GetCapabilities&service=WMS + + + OGC:WMS-1.1.1-http-get-capabilities + + + PYCSW_IDENTIFIER + + + OGC-WMS Capabilities service (ver 1.1.1) + + + + + + + + + + + PYCSW_IDENTIFIER + + + + + + service + + + + + Dr. Sam Batzli + + + + + + + + ISO19119 + + + 2005/PDAM 1 + + + + + + + Wisconsin Lake Clarity + + + + + General: This server hosts a set of experimental OGC Web Services of remote sensing data products for use in a broad range of both desktop and mobile device clients. + + + + + SSEC + + + PAW + + + remote sensing + + + meteorology + + + atmospheric science + + + University of Wisconsin + + + Madison + + + weather + + + land + + + + + + + + OGC:WMS + + + 1.1.1 + + + + + SSEC + + + PAW + + + remote sensing + + + meteorology + + + atmospheric science + + + University of Wisconsin + + + Madison + + + weather + + + land + + + + + + + + + -93.03 + + + -86.64 + + + 42.41 + + + 47.13 + + + + + + + tight + + + + + GetMap + + + Highways + + + + + + + GetMap + + + LakesTSI + + + + + + + GetMap + + + LakeClarity + + + + + + + GetMap + + + LakesTSI_0305 + + + + + + + GetMap + + + Relief + + + + + + + GetMap + + + LakeNames_0305 + + + + + + + GetMap + + + Roads + + + + + + + GetMap + + + LakeNames + + + + + + + GetMap + + + Counties + + + + + + + GetCapabilities + + + HTTPGet + + + HTTPPost + + + + + http://wms.ssec.wisc.edu/cgi-bin/mapserv?map=/home/wms/data/mapfiles/lakestsi.map + + + + + + + + + GetMap + + + HTTPGet + + + HTTPPost + + + + + http://wms.ssec.wisc.edu/cgi-bin/mapserv?map=/home/wms/data/mapfiles/lakestsi.map + + + + + + + + + GetFeatureInfo + + + HTTPGet + + + HTTPPost + + + + + http://wms.ssec.wisc.edu/cgi-bin/mapserv?map=/home/wms/data/mapfiles/lakestsi.map + + + + + + + + + + + + + + + + + + + + + + + + http://wms.ssec.wisc.edu/cgi-bin/mapserv?map=/home/wms/data/mapfiles/lakestsi.map + + + OGC:WMS + + + PYCSW_IDENTIFIER + + + OGC-WMS Web Map Service + + + + + + + http://wms.ssec.wisc.edu/cgi-bin/mapserv?map=%2Fhome%2Fwms%2Fdata%2Fmapfiles%2Flakestsi.map&version=1.1.1&request=GetCapabilities&service=WMS + + + OGC:WMS-1.1.1-http-get-capabilities + + + PYCSW_IDENTIFIER + + + OGC-WMS Capabilities service (ver 1.1.1) + + + + + + + + + + + PYCSW_IDENTIFIER + + + + + + service + + + + + Stephan Meissl + + + + + + + + ISO19119 + + + 2005/PDAM 1 + + + + + + + View & download service for EU-DEM data provided by EOX + + + + + Produced using Copernicus data and information funded by the European Union - EU-DEM layers. + + + + + EU-DEM + + + + + + + + OGC:WMS + + + 1.1.1 + + + + + EU-DEM + + + + + + + + + -29.09 + + + -29.09 + + + 12.99 + + + 12.99 + + + + + + + tight + + + + + GetMap + + + EU-DEM + + + + + + + GetMap + + + MS + + + + + + + GetMap + + + eudem_color + + + + + + + GetCapabilities + + + HTTPGet + + + HTTPPost + + + + + http://data.eox.at/eudem_ows + + + + + + + + + GetMap + + + HTTPGet + + + HTTPPost + + + + + http://data.eox.at/eudem_ows + + + + + + + + + GetFeatureInfo + + + HTTPGet + + + HTTPPost + + + + + http://data.eox.at/eudem_ows + + + + + + + + + DescribeLayer + + + HTTPGet + + + HTTPPost + + + + + http://data.eox.at/eudem_ows + + + + + + + + + GetLegendGraphic + + + HTTPGet + + + HTTPPost + + + + + http://data.eox.at/eudem_ows + + + + + + + + + GetStyles + + + HTTPGet + + + HTTPPost + + + + + http://data.eox.at/eudem_ows + + + + + + + + + + + + + + + + + + http://data.eox.at/eudem_ows + + + OGC:WMS + + + PYCSW_IDENTIFIER + + + OGC-WMS Web Map Service + + + + + + + http://data.eox.at/eudem_ows?version=1.1.1&request=GetCapabilities&service=WMS + + + OGC:WMS-1.1.1-http-get-capabilities + + + PYCSW_IDENTIFIER + + + OGC-WMS Capabilities service (ver 1.1.1) + + + + + + + + + + + PYCSW_IDENTIFIER + + + + + + service + + + + + Daryl Herzmann + + + Iowa State University + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + http://mesonet.agron.iastate.edu/cgi-bin/wms/nexrad/n0r-t.cgi? + + + + + + + + + + + ISO19119 + + + 2005/PDAM 1 + + + + + + + IEM WMS Service + + + + + IEM generated CONUS composite of NWS WSR-88D level III base reflectivity. + + + + + + + + + + + + + OGC:WMS + + + 1.3.0 + + + + + + + + + + + + + + -126.0 + + + -66.0 + + + 24.0 + + + 50.0 + + + + + + + tight + + + + + GetMap + + + nexrad_base_reflect + + + + + + + GetMap + + + time_idx + + + + + + + GetMap + + + nexrad-n0r-wmst + + + + + + + GetCapabilities + + + HTTPGet + + + HTTPPost + + + + + http://mesonet.agron.iastate.edu/cgi-bin/wms/nexrad/n0r-t.cgi + + + + + + + + + GetMap + + + HTTPGet + + + HTTPPost + + + + + http://mesonet.agron.iastate.edu/cgi-bin/wms/nexrad/n0r-t.cgi + + + + + + + + + GetFeatureInfo + + + HTTPGet + + + HTTPPost + + + + + http://mesonet.agron.iastate.edu/cgi-bin/wms/nexrad/n0r-t.cgi + + + + + + + + + DescribeLayer + + + HTTPGet + + + HTTPPost + + + + + http://mesonet.agron.iastate.edu/cgi-bin/wms/nexrad/n0r-t.cgi + + + + + + + + + GetLegendGraphic + + + HTTPGet + + + HTTPPost + + + + + http://mesonet.agron.iastate.edu/cgi-bin/wms/nexrad/n0r-t.cgi + + + + + + + + + GetStyles + + + HTTPGet + + + HTTPPost + + + + + http://mesonet.agron.iastate.edu/cgi-bin/wms/nexrad/n0r-t.cgi + + + + + + + + + + + + + + + + + + http://mesonet.agron.iastate.edu/cgi-bin/wms/nexrad/n0r-t.cgi + + + OGC:WMS + + + PYCSW_IDENTIFIER + + + OGC-WMS Web Map Service + + + + + + + + + + diff --git a/tests/functionaltests/suites/harvesting/expected/post_Harvest-zzz-post-GetRecords-filter-wms-layer.xml b/tests/functionaltests/suites/harvesting/expected/post_Harvest-zzz-post-GetRecords-filter-wms-layer.xml new file mode 100644 index 000000000..1bc09e79a --- /dev/null +++ b/tests/functionaltests/suites/harvesting/expected/post_Harvest-zzz-post-GetRecords-filter-wms-layer.xml @@ -0,0 +1,33 @@ + + + + + + + PYCSW_IDENTIFIER + NEXRAD BASE REFLECT + dataset + + http://mesonet.agron.iastate.edu/cgi-bin/wms/nexrad/n0r-t.cgi + http://mesonet.agron.iastate.edu/cgi-bin/wms/nexrad/n0r-t.cgi?layers=time_idx&width=200&version=1.1.1&bbox=-126.0%2C24.0%2C-66.0%2C50.0&service=WMS&format=image%2Fpng&styles=&srs=EPSG%3A4326&request=GetMap&height=200 + http://mesonet.agron.iastate.edu/cgi-bin/wms/nexrad/n0r-t.cgi + + 24.0 -126.0 + 50.0 -66.0 + + + + PYCSW_IDENTIFIER + NEXRAD BASE REFLECT + dataset + + http://mesonet.agron.iastate.edu/cgi-bin/wms/nexrad/n0r-t.cgi + http://mesonet.agron.iastate.edu/cgi-bin/wms/nexrad/n0r-t.cgi?layers=nexrad-n0r-wmst&width=200&version=1.1.1&bbox=-126.0%2C24.0%2C-66.0%2C50.0&service=WMS&format=image%2Fpng&styles=&srs=EPSG%3A4326&request=GetMap&height=200 + http://mesonet.agron.iastate.edu/cgi-bin/wms/nexrad/n0r-t.cgi + + 24.0 -126.0 + 50.0 -66.0 + + + + diff --git a/tests/functionaltests/suites/harvesting/expected/post_Harvest-zzz-post-GetRecords-filter-wps-process.xml b/tests/functionaltests/suites/harvesting/expected/post_Harvest-zzz-post-GetRecords-filter-wps-process.xml new file mode 100644 index 000000000..0d0761488 --- /dev/null +++ b/tests/functionaltests/suites/harvesting/expected/post_Harvest-zzz-post-GetRecords-filter-wps-process.xml @@ -0,0 +1,62 @@ + + + + + + + PYCSW_IDENTIFIER + gov.usgs.cida.gdp.wps.algorithm.filemanagement.CreateNewShapefileDataStore + software + http://cida.usgs.gov/gdp/utility/WebProcessingService + http://cida.usgs.gov/gdp/utility/WebProcessingService?version=1.0.0&request=GetCapabilities&service=WPS + http://cida.usgs.gov/gdp/utility/WebProcessingService?identifier=gov.usgs.cida.gdp.wps.algorithm.filemanagement.CreateNewShapefileDataStore&version=1.0.0&request=DescribeProcess&service=WPS + http://cida.usgs.gov/gdp/utility/WebProcessingService + + + PYCSW_IDENTIFIER + Get Grid Time Range + software + http://cida.usgs.gov/gdp/utility/WebProcessingService + http://cida.usgs.gov/gdp/utility/WebProcessingService?version=1.0.0&request=GetCapabilities&service=WPS + http://cida.usgs.gov/gdp/utility/WebProcessingService?identifier=gov.usgs.cida.gdp.wps.algorithm.filemanagement.CreateNewShapefileDataStore&version=1.0.0&request=DescribeProcess&service=WPS + http://cida.usgs.gov/gdp/utility/WebProcessingService?identifier=gov.usgs.cida.gdp.wps.algorithm.discovery.GetGridTimeRange&version=1.0.0&request=DescribeProcess&service=WPS + http://cida.usgs.gov/gdp/utility/WebProcessingService + + + PYCSW_IDENTIFIER + gov.usgs.cida.gdp.wps.algorithm.filemanagement.ReceiveFiles + software + http://cida.usgs.gov/gdp/utility/WebProcessingService + http://cida.usgs.gov/gdp/utility/WebProcessingService?version=1.0.0&request=GetCapabilities&service=WPS + http://cida.usgs.gov/gdp/utility/WebProcessingService?identifier=gov.usgs.cida.gdp.wps.algorithm.filemanagement.CreateNewShapefileDataStore&version=1.0.0&request=DescribeProcess&service=WPS + http://cida.usgs.gov/gdp/utility/WebProcessingService?identifier=gov.usgs.cida.gdp.wps.algorithm.discovery.GetGridTimeRange&version=1.0.0&request=DescribeProcess&service=WPS + http://cida.usgs.gov/gdp/utility/WebProcessingService?identifier=gov.usgs.cida.gdp.wps.algorithm.filemanagement.ReceiveFiles&version=1.0.0&request=DescribeProcess&service=WPS + http://cida.usgs.gov/gdp/utility/WebProcessingService + + + PYCSW_IDENTIFIER + gov.usgs.cida.gdp.wps.algorithm.discovery.GetWcsCoverages + software + http://cida.usgs.gov/gdp/utility/WebProcessingService + http://cida.usgs.gov/gdp/utility/WebProcessingService?version=1.0.0&request=GetCapabilities&service=WPS + http://cida.usgs.gov/gdp/utility/WebProcessingService?identifier=gov.usgs.cida.gdp.wps.algorithm.filemanagement.CreateNewShapefileDataStore&version=1.0.0&request=DescribeProcess&service=WPS + http://cida.usgs.gov/gdp/utility/WebProcessingService?identifier=gov.usgs.cida.gdp.wps.algorithm.discovery.GetGridTimeRange&version=1.0.0&request=DescribeProcess&service=WPS + http://cida.usgs.gov/gdp/utility/WebProcessingService?identifier=gov.usgs.cida.gdp.wps.algorithm.filemanagement.ReceiveFiles&version=1.0.0&request=DescribeProcess&service=WPS + http://cida.usgs.gov/gdp/utility/WebProcessingService?identifier=gov.usgs.cida.gdp.wps.algorithm.discovery.GetWcsCoverages&version=1.0.0&request=DescribeProcess&service=WPS + http://cida.usgs.gov/gdp/utility/WebProcessingService + + + PYCSW_IDENTIFIER + gov.usgs.cida.gdp.wps.algorithm.filemanagement.GetWatersGeom + software + http://cida.usgs.gov/gdp/utility/WebProcessingService + http://cida.usgs.gov/gdp/utility/WebProcessingService?version=1.0.0&request=GetCapabilities&service=WPS + http://cida.usgs.gov/gdp/utility/WebProcessingService?identifier=gov.usgs.cida.gdp.wps.algorithm.filemanagement.CreateNewShapefileDataStore&version=1.0.0&request=DescribeProcess&service=WPS + http://cida.usgs.gov/gdp/utility/WebProcessingService?identifier=gov.usgs.cida.gdp.wps.algorithm.discovery.GetGridTimeRange&version=1.0.0&request=DescribeProcess&service=WPS + http://cida.usgs.gov/gdp/utility/WebProcessingService?identifier=gov.usgs.cida.gdp.wps.algorithm.filemanagement.ReceiveFiles&version=1.0.0&request=DescribeProcess&service=WPS + http://cida.usgs.gov/gdp/utility/WebProcessingService?identifier=gov.usgs.cida.gdp.wps.algorithm.discovery.GetWcsCoverages&version=1.0.0&request=DescribeProcess&service=WPS + http://cida.usgs.gov/gdp/utility/WebProcessingService?identifier=gov.usgs.cida.gdp.wps.algorithm.filemanagement.GetWatersGeom&version=1.0.0&request=DescribeProcess&service=WPS + http://cida.usgs.gov/gdp/utility/WebProcessingService + + + diff --git a/tests/functionaltests/suites/harvesting/expected/post_Transaction-000-delete-all.xml b/tests/functionaltests/suites/harvesting/expected/post_Transaction-000-delete-all.xml new file mode 100644 index 000000000..c400e312a --- /dev/null +++ b/tests/functionaltests/suites/harvesting/expected/post_Transaction-000-delete-all.xml @@ -0,0 +1,9 @@ + + + + + 0 + 0 + 131 + + diff --git a/tests/functionaltests/suites/harvesting/get/requests.txt b/tests/functionaltests/suites/harvesting/get/requests.txt new file mode 100644 index 000000000..3b13c3b11 --- /dev/null +++ b/tests/functionaltests/suites/harvesting/get/requests.txt @@ -0,0 +1,5 @@ +Exception-Harvest-missing-resourcetype,service=CSW&version=2.0.2&request=Harvest +Exception-Harvest-missing-source,service=CSW&version=2.0.2&request=Harvest&resourcetype=http://www.opengis.net/wms +Exception-Harvest-invalid-resourcetype,service=CSW&version=2.0.2&request=Harvest&resourcetype=http://www.opengis.net/wms1234&source=http://demo.pycsw.org/cite/csw +Exception-Harvest-waf-no-records-found,service=CSW&version=2.0.2&request=Harvest&resourcetype=urn:geoss:waf&source=http://demo.pycsw.org +Exception-Harvest-waf-bad-value,service=CSW&version=2.0.2&request=Harvest&resourcetype=urn:geoss:waf&source=badvalue diff --git a/tests/functionaltests/suites/harvesting/post/Clear-000-delete-all.xml b/tests/functionaltests/suites/harvesting/post/Clear-000-delete-all.xml new file mode 100644 index 000000000..827ccc7f0 --- /dev/null +++ b/tests/functionaltests/suites/harvesting/post/Clear-000-delete-all.xml @@ -0,0 +1,13 @@ + + + + + + + dc:identifier + % + + + + + diff --git a/tests/functionaltests/suites/harvesting/post/Exception-Havest-csw-404.xml b/tests/functionaltests/suites/harvesting/post/Exception-Havest-csw-404.xml new file mode 100644 index 000000000..dc660970b --- /dev/null +++ b/tests/functionaltests/suites/harvesting/post/Exception-Havest-csw-404.xml @@ -0,0 +1,6 @@ + + + http://demo.pycsw.org/gisdata/cswBAD + http://www.opengis.net/cat/csw/2.0.2 + application/xml + diff --git a/tests/functionaltests/suites/harvesting/post/GetCapabilities.xml b/tests/functionaltests/suites/harvesting/post/GetCapabilities.xml new file mode 100644 index 000000000..e4dc8070b --- /dev/null +++ b/tests/functionaltests/suites/harvesting/post/GetCapabilities.xml @@ -0,0 +1,9 @@ + + + + 2.0.2 + + + application/xml + + diff --git a/tests/functionaltests/suites/harvesting/post/GetDomain-parameter.xml b/tests/functionaltests/suites/harvesting/post/GetDomain-parameter.xml new file mode 100644 index 000000000..3779a0555 --- /dev/null +++ b/tests/functionaltests/suites/harvesting/post/GetDomain-parameter.xml @@ -0,0 +1,4 @@ + + + Harvest.ResourceType + diff --git a/tests/functionaltests/suites/harvesting/post/Harvest-csw-iso.xml b/tests/functionaltests/suites/harvesting/post/Harvest-csw-iso.xml new file mode 100644 index 000000000..b5ce58274 --- /dev/null +++ b/tests/functionaltests/suites/harvesting/post/Harvest-csw-iso.xml @@ -0,0 +1,6 @@ + + + http://demo.pycsw.org/services/csw + http://www.opengis.net/cat/csw/2.0.2 + application/xml + diff --git a/tests/functionaltests/suites/harvesting/post/Harvest-csw-run1.xml b/tests/functionaltests/suites/harvesting/post/Harvest-csw-run1.xml new file mode 100644 index 000000000..a3514f77c --- /dev/null +++ b/tests/functionaltests/suites/harvesting/post/Harvest-csw-run1.xml @@ -0,0 +1,6 @@ + + + http://demo.pycsw.org/cite/csw + http://www.opengis.net/cat/csw/2.0.2 + application/xml + diff --git a/tests/functionaltests/suites/harvesting/post/Harvest-csw-run2.xml b/tests/functionaltests/suites/harvesting/post/Harvest-csw-run2.xml new file mode 100644 index 000000000..a3514f77c --- /dev/null +++ b/tests/functionaltests/suites/harvesting/post/Harvest-csw-run2.xml @@ -0,0 +1,6 @@ + + + http://demo.pycsw.org/cite/csw + http://www.opengis.net/cat/csw/2.0.2 + application/xml + diff --git a/tests/functionaltests/suites/harvesting/post/Harvest-dc.xml b/tests/functionaltests/suites/harvesting/post/Harvest-dc.xml new file mode 100644 index 000000000..bd94c7241 --- /dev/null +++ b/tests/functionaltests/suites/harvesting/post/Harvest-dc.xml @@ -0,0 +1,6 @@ + + + http://demo.pycsw.org/metadata/Clause_10.2.5.3.2_Example03_Full.xml + http://www.opengis.net/cat/csw/2.0.2 + application/xml + diff --git a/tests/functionaltests/suites/harvesting/post/Harvest-fgdc.xml b/tests/functionaltests/suites/harvesting/post/Harvest-fgdc.xml new file mode 100644 index 000000000..a9a48b540 --- /dev/null +++ b/tests/functionaltests/suites/harvesting/post/Harvest-fgdc.xml @@ -0,0 +1,6 @@ + + + http://demo.pycsw.org/metadata/CDC008.xml + http://www.opengis.net/cat/csw/csdgm + application/xml + diff --git a/tests/functionaltests/suites/harvesting/post/Harvest-iso.xml b/tests/functionaltests/suites/harvesting/post/Harvest-iso.xml new file mode 100644 index 000000000..54492757f --- /dev/null +++ b/tests/functionaltests/suites/harvesting/post/Harvest-iso.xml @@ -0,0 +1,6 @@ + + + http://demo.pycsw.org/metadata/dataset2_minimalst.xml + http://www.isotc211.org/schemas/2005/gmd/ + application/xml + diff --git a/tests/functionaltests/suites/harvesting/post/Harvest-rdf.xml b/tests/functionaltests/suites/harvesting/post/Harvest-rdf.xml new file mode 100644 index 000000000..cd6415171 --- /dev/null +++ b/tests/functionaltests/suites/harvesting/post/Harvest-rdf.xml @@ -0,0 +1,6 @@ + + + http://demo.pycsw.org/metadata/dc-rdf.xml + http://www.opengis.net/cat/csw/2.0.2 + application/xml + diff --git a/tests/functionaltests/suites/harvesting/post/Harvest-sos100.xml b/tests/functionaltests/suites/harvesting/post/Harvest-sos100.xml new file mode 100644 index 000000000..a7de0a332 --- /dev/null +++ b/tests/functionaltests/suites/harvesting/post/Harvest-sos100.xml @@ -0,0 +1,5 @@ + + + http://www.neracoos.org/cgi-bin/sos/V1.0/oostethys_sos.cgi + http://www.opengis.net/sos/1.0 + diff --git a/tests/functionaltests/suites/harvesting/post/Harvest-sos200.xml b/tests/functionaltests/suites/harvesting/post/Harvest-sos200.xml new file mode 100644 index 000000000..37e3db12a --- /dev/null +++ b/tests/functionaltests/suites/harvesting/post/Harvest-sos200.xml @@ -0,0 +1,5 @@ + + + http://ngwd-bdnes.cits.nrcan.gc.ca/GinService/sos/gw + http://www.opengis.net/sos/2.0 + diff --git a/tests/functionaltests/suites/harvesting/post/Harvest-waf.xml b/tests/functionaltests/suites/harvesting/post/Harvest-waf.xml new file mode 100644 index 000000000..9ecd86f59 --- /dev/null +++ b/tests/functionaltests/suites/harvesting/post/Harvest-waf.xml @@ -0,0 +1,5 @@ + + + http://demo.pycsw.org/waf + urn:geoss:waf + diff --git a/tests/functionaltests/suites/harvesting/post/Harvest-wcs.xml b/tests/functionaltests/suites/harvesting/post/Harvest-wcs.xml new file mode 100644 index 000000000..f59f4cc29 --- /dev/null +++ b/tests/functionaltests/suites/harvesting/post/Harvest-wcs.xml @@ -0,0 +1,6 @@ + + + http://demo.mapserver.org/cgi-bin/wcs + http://www.opengis.net/wcs + application/xml + diff --git a/tests/functionaltests/suites/harvesting/post/Harvest-wfs110.xml b/tests/functionaltests/suites/harvesting/post/Harvest-wfs110.xml new file mode 100644 index 000000000..72e28fbb2 --- /dev/null +++ b/tests/functionaltests/suites/harvesting/post/Harvest-wfs110.xml @@ -0,0 +1,6 @@ + + + http://services.ogc.noaa.gov/geoserver/geoss_water_sba/wfs + http://www.opengis.net/wfs + application/xml + diff --git a/tests/functionaltests/suites/harvesting/post/Harvest-wfs200.xml b/tests/functionaltests/suites/harvesting/post/Harvest-wfs200.xml new file mode 100644 index 000000000..9968eb702 --- /dev/null +++ b/tests/functionaltests/suites/harvesting/post/Harvest-wfs200.xml @@ -0,0 +1,6 @@ + + + http://maps.cera.govt.nz/arcgis/services/CERA/CERA_TechClasses_WGS84/MapServer/WFSServer + http://www.opengis.net/wfs/2.0 + application/xml + diff --git a/tests/functionaltests/suites/harvesting/post/Harvest-wms-run1.xml b/tests/functionaltests/suites/harvesting/post/Harvest-wms-run1.xml new file mode 100644 index 000000000..a67274f81 --- /dev/null +++ b/tests/functionaltests/suites/harvesting/post/Harvest-wms-run1.xml @@ -0,0 +1,6 @@ + + + http://mesonet.agron.iastate.edu/cgi-bin/wms/nexrad/n0r-t.cgi + http://www.opengis.net/wms + application/xml + diff --git a/tests/functionaltests/suites/harvesting/post/Harvest-wms-run2.xml b/tests/functionaltests/suites/harvesting/post/Harvest-wms-run2.xml new file mode 100644 index 000000000..a67274f81 --- /dev/null +++ b/tests/functionaltests/suites/harvesting/post/Harvest-wms-run2.xml @@ -0,0 +1,6 @@ + + + http://mesonet.agron.iastate.edu/cgi-bin/wms/nexrad/n0r-t.cgi + http://www.opengis.net/wms + application/xml + diff --git a/tests/functionaltests/suites/harvesting/post/Harvest-wmts.xml b/tests/functionaltests/suites/harvesting/post/Harvest-wmts.xml new file mode 100644 index 000000000..6d8339354 --- /dev/null +++ b/tests/functionaltests/suites/harvesting/post/Harvest-wmts.xml @@ -0,0 +1,6 @@ + + + http://maps.wien.gv.at/wmts/1.0.0/WMTSCapabilities.xml + http://www.opengis.net/wmts/1.0 + application/xml + diff --git a/tests/functionaltests/suites/harvesting/post/Harvest-wps.xml b/tests/functionaltests/suites/harvesting/post/Harvest-wps.xml new file mode 100644 index 000000000..0a38c61dc --- /dev/null +++ b/tests/functionaltests/suites/harvesting/post/Harvest-wps.xml @@ -0,0 +1,6 @@ + + + http://cida.usgs.gov/gdp/utility/WebProcessingService + http://www.opengis.net/wps/1.0.0 + application/xml + diff --git a/tests/functionaltests/suites/harvesting/post/Harvest-zzz-post-GetRecords-filter-ows-dc.xml b/tests/functionaltests/suites/harvesting/post/Harvest-zzz-post-GetRecords-filter-ows-dc.xml new file mode 100644 index 000000000..5fe7eff25 --- /dev/null +++ b/tests/functionaltests/suites/harvesting/post/Harvest-zzz-post-GetRecords-filter-ows-dc.xml @@ -0,0 +1,36 @@ + + + + full + + + + + apiso:ServiceType + OGC:SOS + + + apiso:ServiceType + OGC:WPS + + + apiso:ServiceType + OGC:WMS + + + apiso:ServiceType + OGC:WFS + + + apiso:ServiceType + OGC:CSW + + + apiso:ServiceType + OGC:WCS + + + + + + diff --git a/tests/functionaltests/suites/harvesting/post/Harvest-zzz-post-GetRecords-filter-sos-abstract-dc.xml b/tests/functionaltests/suites/harvesting/post/Harvest-zzz-post-GetRecords-filter-sos-abstract-dc.xml new file mode 100644 index 000000000..294218008 --- /dev/null +++ b/tests/functionaltests/suites/harvesting/post/Harvest-zzz-post-GetRecords-filter-sos-abstract-dc.xml @@ -0,0 +1,24 @@ + + + + full + + + + + apiso:Type + service + + + apiso:ServiceType + OGC:SOS + + + apiso:Abstract + (groundwater( + + + + + + diff --git a/tests/functionaltests/suites/harvesting/post/Harvest-zzz-post-GetRecords-filter-sos-dc.xml b/tests/functionaltests/suites/harvesting/post/Harvest-zzz-post-GetRecords-filter-sos-dc.xml new file mode 100644 index 000000000..caf43cc26 --- /dev/null +++ b/tests/functionaltests/suites/harvesting/post/Harvest-zzz-post-GetRecords-filter-sos-dc.xml @@ -0,0 +1,20 @@ + + + + full + + + + + apiso:Type + service + + + apiso:ServiceType + OGC:SOS + + + + + + diff --git a/tests/functionaltests/suites/harvesting/post/Harvest-zzz-post-GetRecords-filter-sos-iso.xml b/tests/functionaltests/suites/harvesting/post/Harvest-zzz-post-GetRecords-filter-sos-iso.xml new file mode 100644 index 000000000..edc45b3fa --- /dev/null +++ b/tests/functionaltests/suites/harvesting/post/Harvest-zzz-post-GetRecords-filter-sos-iso.xml @@ -0,0 +1,20 @@ + + + + full + + + + + apiso:Type + service + + + apiso:ServiceType + OGC:SOS + + + + + + diff --git a/tests/functionaltests/suites/harvesting/post/Harvest-zzz-post-GetRecords-filter-wfs-iso.xml b/tests/functionaltests/suites/harvesting/post/Harvest-zzz-post-GetRecords-filter-wfs-iso.xml new file mode 100644 index 000000000..3e26f62db --- /dev/null +++ b/tests/functionaltests/suites/harvesting/post/Harvest-zzz-post-GetRecords-filter-wfs-iso.xml @@ -0,0 +1,20 @@ + + + + full + + + + + apiso:Type + service + + + apiso:ServiceType + OGC:WFS + + + + + + diff --git a/tests/functionaltests/suites/harvesting/post/Harvest-zzz-post-GetRecords-filter-wms-dc.xml b/tests/functionaltests/suites/harvesting/post/Harvest-zzz-post-GetRecords-filter-wms-dc.xml new file mode 100644 index 000000000..c67d38186 --- /dev/null +++ b/tests/functionaltests/suites/harvesting/post/Harvest-zzz-post-GetRecords-filter-wms-dc.xml @@ -0,0 +1,20 @@ + + + + full + + + + + apiso:Type + service + + + apiso:ServiceType + OGC:WMS + + + + + + diff --git a/tests/functionaltests/suites/harvesting/post/Harvest-zzz-post-GetRecords-filter-wms-iso.xml b/tests/functionaltests/suites/harvesting/post/Harvest-zzz-post-GetRecords-filter-wms-iso.xml new file mode 100644 index 000000000..f4300e7ef --- /dev/null +++ b/tests/functionaltests/suites/harvesting/post/Harvest-zzz-post-GetRecords-filter-wms-iso.xml @@ -0,0 +1,20 @@ + + + + full + + + + + apiso:Type + service + + + apiso:ServiceType + OGC:WMS + + + + + + diff --git a/tests/functionaltests/suites/harvesting/post/Harvest-zzz-post-GetRecords-filter-wms-layer.xml b/tests/functionaltests/suites/harvesting/post/Harvest-zzz-post-GetRecords-filter-wms-layer.xml new file mode 100644 index 000000000..ab70e4b8b --- /dev/null +++ b/tests/functionaltests/suites/harvesting/post/Harvest-zzz-post-GetRecords-filter-wms-layer.xml @@ -0,0 +1,20 @@ + + + + full + + + + + dc:type + dataset + + + csw:AnyText + %nexrad% + + + + + + diff --git a/tests/functionaltests/suites/harvesting/post/Harvest-zzz-post-GetRecords-filter-wps-process.xml b/tests/functionaltests/suites/harvesting/post/Harvest-zzz-post-GetRecords-filter-wps-process.xml new file mode 100644 index 000000000..3c87edd95 --- /dev/null +++ b/tests/functionaltests/suites/harvesting/post/Harvest-zzz-post-GetRecords-filter-wps-process.xml @@ -0,0 +1,14 @@ + + + + full + + + + dc:type + software + + + + + diff --git a/tests/functionaltests/suites/harvesting/post/Transaction-000-delete-all.xml b/tests/functionaltests/suites/harvesting/post/Transaction-000-delete-all.xml new file mode 100644 index 000000000..827ccc7f0 --- /dev/null +++ b/tests/functionaltests/suites/harvesting/post/Transaction-000-delete-all.xml @@ -0,0 +1,13 @@ + + + + + + + dc:identifier + % + + + + + diff --git a/tests/functionaltests/suites/manager/default.cfg b/tests/functionaltests/suites/manager/default.cfg new file mode 100644 index 000000000..3e9c1f8f5 --- /dev/null +++ b/tests/functionaltests/suites/manager/default.cfg @@ -0,0 +1,91 @@ +# ================================================================= +# +# Authors: Tom Kralidis +# +# Copyright (c) 2012 Tom Kralidis +# +# Permission is hereby granted, free of charge, to any person +# obtaining a copy of this software and associated documentation +# files (the "Software"), to deal in the Software without +# restriction, including without limitation the rights to use, +# copy, modify, merge, publish, distribute, sublicense, and/or sell +# copies of the Software, and to permit persons to whom the +# Software is furnished to do so, subject to the following +# conditions: +# +# The above copyright notice and this permission notice shall be +# included in all copies or substantial portions of the Software. +# +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +# EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES +# OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +# NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT +# HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, +# WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR +# OTHER DEALINGS IN THE SOFTWARE. +# +# ================================================================= + +[server] +home=. +url=http://localhost/pycsw/csw.py?config=tests/suites/manager/default.cfg +mimetype=application/xml; charset=UTF-8 +encoding=UTF-8 +language=en-US +maxrecords=10 +#loglevel=DEBUG +#logfile=/tmp/pycsw.log +#ogc_schemas_base=http://foo +federatedcatalogues=http://geo.data.gov/geoportal/csw/discovery +pretty_print=true +#gzip_compresslevel=8 +#spatial_ranking=true +profiles=apiso + +[manager] +transactions=true +allowed_ips=127.0.0.1 + +[metadata:main] +identification_title=pycsw Geospatial Catalogue +identification_abstract=pycsw is an OGC CSW server implementation written in Python +identification_keywords=catalogue,discovery +identification_keywords_type=theme +identification_fees=None +identification_accessconstraints=None +provider_name=pycsw +provider_url=http://pycsw.org/ +contact_name=Kralidis, Tom +contact_position=Senior Systems Scientist +contact_address=TBA +contact_city=Toronto +contact_stateorprovince=Ontario +contact_postalcode=M9C 3Z9 +contact_country=Canada +contact_phone=+01-416-xxx-xxxx +contact_fax=+01-416-xxx-xxxx +contact_email=tomkralidis@gmail.com +contact_url=http://kralidis.ca/ +contact_hours=0800h - 1600h EST +contact_instructions=During hours of service. Off on weekends. +contact_role=pointOfContact + +[repository] +# sqlite +database=sqlite:///tests/suites/manager/data/records.db +# postgres +#database=postgres://username:password@localhost/pycsw +table=records + +[metadata:inspire] +enabled=false +languages_supported=eng,gre +default_language=eng +date=2011-03-29 +gemet_keywords=Utility and governmental services +conformity_service=notEvaluated +contact_name=National Technical University of Athens +contact_email=tzotsos@gmail.com +temp_extent=2011-02-01/2011-03-30 + diff --git a/tests/functionaltests/suites/manager/expected/post_Clear-000-delete-all.xml b/tests/functionaltests/suites/manager/expected/post_Clear-000-delete-all.xml new file mode 100644 index 000000000..01ccdf629 --- /dev/null +++ b/tests/functionaltests/suites/manager/expected/post_Clear-000-delete-all.xml @@ -0,0 +1,9 @@ + + + + + 0 + 0 + 0 + + diff --git a/tests/functionaltests/suites/manager/expected/post_GetCapabilities.xml b/tests/functionaltests/suites/manager/expected/post_GetCapabilities.xml new file mode 100644 index 000000000..1fc931575 --- /dev/null +++ b/tests/functionaltests/suites/manager/expected/post_GetCapabilities.xml @@ -0,0 +1,368 @@ + + + + + pycsw Geospatial Catalogue + pycsw is an OGC CSW server implementation written in Python + + catalogue + discovery + theme + + CSW + 2.0.2 + 3.0.0 + None + None + + + pycsw + + + Kralidis, Tom + Senior Systems Scientist + + + +01-416-xxx-xxxx + +01-416-xxx-xxxx + + + TBA + Toronto + Ontario + M9C 3Z9 + Canada + tomkralidis@gmail.com + + + 0800h - 1600h EST + During hours of service. Off on weekends. + + pointOfContact + + + + + + + + + + + + Filter_Capabilities + OperationsMetadata + ServiceIdentification + ServiceProvider + + + + + + + + + + + application/json + application/xml + + + http://www.w3.org/2001/XMLSchema + http://www.w3.org/TR/xmlschema-1/ + http://www.w3.org/XML/Schema + + + csw:Record + gmd:MD_Metadata + + + + + + + + + + + DescribeRecord.outputFormat + DescribeRecord.schemaLanguage + DescribeRecord.typeName + GetCapabilities.sections + GetRecordById.ElementSetName + GetRecordById.outputFormat + GetRecordById.outputSchema + GetRecords.CONSTRAINTLANGUAGE + GetRecords.ElementSetName + GetRecords.outputFormat + GetRecords.outputSchema + GetRecords.resultType + GetRecords.typeNames + Harvest.ResourceType + Transaction.TransactionSchemas + + + + + + + + + + + CQL_TEXT + FILTER + + + brief + full + summary + + + application/json + application/xml + + + http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ + http://www.interlis.ch/INTERLIS2.3 + http://www.isotc211.org/2005/gmd + http://www.opengis.net/cat/csw/2.0.2 + http://www.opengis.net/cat/csw/csdgm + http://www.w3.org/2005/Atom + + + hits + results + validate + + + csw:Record + gmd:MD_Metadata + + + apiso:AccessConstraints + apiso:Classification + apiso:ConditionApplyingToAccessAndUse + apiso:Contributor + apiso:Creator + apiso:Degree + apiso:Lineage + apiso:OtherConstraints + apiso:Publisher + apiso:Relation + apiso:ResponsiblePartyRole + apiso:SpecificationDate + apiso:SpecificationDateType + apiso:SpecificationTitle + + + csw:AnyText + dc:contributor + dc:creator + dc:date + dc:format + dc:identifier + dc:language + dc:publisher + dc:relation + dc:rights + dc:source + dc:subject + dc:title + dc:type + dct:abstract + dct:modified + ows:BoundingBox + + + apiso:Abstract + apiso:AlternateTitle + apiso:AnyText + apiso:BoundingBox + apiso:CRS + apiso:CouplingType + apiso:CreationDate + apiso:Denominator + apiso:DistanceUOM + apiso:DistanceValue + apiso:Format + apiso:GeographicDescriptionCode + apiso:HasSecurityConstraints + apiso:Identifier + apiso:KeywordType + apiso:Language + apiso:Modified + apiso:OperatesOn + apiso:OperatesOnIdentifier + apiso:OperatesOnName + apiso:Operation + apiso:OrganisationName + apiso:ParentIdentifier + apiso:PublicationDate + apiso:ResourceLanguage + apiso:RevisionDate + apiso:ServiceType + apiso:ServiceTypeVersion + apiso:Subject + apiso:TempExtent_begin + apiso:TempExtent_end + apiso:Title + apiso:TopicCategory + apiso:Type + + + + + + + + + + + brief + full + summary + + + application/json + application/xml + + + http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ + http://www.interlis.ch/INTERLIS2.3 + http://www.isotc211.org/2005/gmd + http://www.opengis.net/cat/csw/2.0.2 + http://www.opengis.net/cat/csw/csdgm + http://www.w3.org/2005/Atom + + + + + + + + + + + + + + + + + http://www.isotc211.org/2005/gmi + http://www.opengis.net/cat/csw/2.0.2 + http://www.opengis.net/cat/csw/3.0 + http://www.opengis.net/sos/1.0 + http://www.opengis.net/sos/2.0 + http://www.opengis.net/wcs + http://www.opengis.net/wfs + http://www.opengis.net/wfs/2.0 + http://www.opengis.net/wms + http://www.opengis.net/wmts/1.0 + http://www.opengis.net/wps/1.0.0 + urn:geoss:waf + + + + + + + + + + http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ + http://www.interlis.ch/INTERLIS2.3 + http://www.isotc211.org/2005/gmd + http://www.isotc211.org/2005/gmi + http://www.isotc211.org/schemas/2005/gmd/ + http://www.opengis.net/cat/csw/2.0.2 + http://www.opengis.net/cat/csw/3.0 + http://www.opengis.net/cat/csw/csdgm + http://www.opengis.net/sos/1.0 + http://www.opengis.net/sos/2.0 + http://www.opengis.net/wcs + http://www.opengis.net/wfs + http://www.opengis.net/wfs/2.0 + http://www.opengis.net/wms + http://www.opengis.net/wmts/1.0 + http://www.opengis.net/wps/1.0.0 + http://www.w3.org/2005/Atom + urn:geoss:waf + + + + CSW + + + 2.0.2 + 3.0.0 + + + http://geo.data.gov/geoportal/csw/discovery + + + 10 + + + XML + SOAP + + + allowed + + + + + + gml:Point + gml:LineString + gml:Polygon + gml:Envelope + + + + + + + + + + + + + + + + + + + Between + EqualTo + GreaterThan + GreaterThanEqualTo + LessThan + LessThanEqualTo + Like + NotEqualTo + NullCheck + + + + + length + lower + ltrim + rtrim + trim + upper + + + + + + + + + + diff --git a/tests/functionaltests/suites/manager/expected/post_GetDomain-parameter.xml b/tests/functionaltests/suites/manager/expected/post_GetDomain-parameter.xml new file mode 100644 index 000000000..b47402ca2 --- /dev/null +++ b/tests/functionaltests/suites/manager/expected/post_GetDomain-parameter.xml @@ -0,0 +1,27 @@ + + + + + Harvest.ResourceType + + http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ + http://www.interlis.ch/INTERLIS2.3 + http://www.isotc211.org/2005/gmd + http://www.isotc211.org/2005/gmi + http://www.isotc211.org/schemas/2005/gmd/ + http://www.opengis.net/cat/csw/2.0.2 + http://www.opengis.net/cat/csw/3.0 + http://www.opengis.net/cat/csw/csdgm + http://www.opengis.net/sos/1.0 + http://www.opengis.net/sos/2.0 + http://www.opengis.net/wcs + http://www.opengis.net/wfs + http://www.opengis.net/wfs/2.0 + http://www.opengis.net/wms + http://www.opengis.net/wmts/1.0 + http://www.opengis.net/wps/1.0.0 + http://www.w3.org/2005/Atom + urn:geoss:waf + + + diff --git a/tests/functionaltests/suites/manager/expected/post_Transaction-000-delete-all.xml b/tests/functionaltests/suites/manager/expected/post_Transaction-000-delete-all.xml new file mode 100644 index 000000000..01ccdf629 --- /dev/null +++ b/tests/functionaltests/suites/manager/expected/post_Transaction-000-delete-all.xml @@ -0,0 +1,9 @@ + + + + + 0 + 0 + 0 + + diff --git a/tests/functionaltests/suites/manager/expected/post_Transaction-dc-01-insert.xml b/tests/functionaltests/suites/manager/expected/post_Transaction-dc-01-insert.xml new file mode 100644 index 000000000..07d452a06 --- /dev/null +++ b/tests/functionaltests/suites/manager/expected/post_Transaction-dc-01-insert.xml @@ -0,0 +1,15 @@ + + + + + 1 + 0 + 0 + + + + xyz + pycsw Catalogue + + + diff --git a/tests/functionaltests/suites/manager/expected/post_Transaction-dc-02-update-full.xml b/tests/functionaltests/suites/manager/expected/post_Transaction-dc-02-update-full.xml new file mode 100644 index 000000000..0b9104ebe --- /dev/null +++ b/tests/functionaltests/suites/manager/expected/post_Transaction-dc-02-update-full.xml @@ -0,0 +1,9 @@ + + + + + 0 + 1 + 0 + + diff --git a/tests/functionaltests/suites/manager/expected/post_Transaction-fgdc-01-insert.xml b/tests/functionaltests/suites/manager/expected/post_Transaction-fgdc-01-insert.xml new file mode 100644 index 000000000..c44db37b3 --- /dev/null +++ b/tests/functionaltests/suites/manager/expected/post_Transaction-fgdc-01-insert.xml @@ -0,0 +1,15 @@ + + + + + 1 + 0 + 0 + + + + foorecord + NCEP + + + diff --git a/tests/functionaltests/suites/manager/expected/post_Transaction-fgdc-02-update-recprop.xml b/tests/functionaltests/suites/manager/expected/post_Transaction-fgdc-02-update-recprop.xml new file mode 100644 index 000000000..0b9104ebe --- /dev/null +++ b/tests/functionaltests/suites/manager/expected/post_Transaction-fgdc-02-update-recprop.xml @@ -0,0 +1,9 @@ + + + + + 0 + 1 + 0 + + diff --git a/tests/functionaltests/suites/manager/expected/post_Transaction-fgdc-03-delete-all.xml b/tests/functionaltests/suites/manager/expected/post_Transaction-fgdc-03-delete-all.xml new file mode 100644 index 000000000..a788564e4 --- /dev/null +++ b/tests/functionaltests/suites/manager/expected/post_Transaction-fgdc-03-delete-all.xml @@ -0,0 +1,9 @@ + + + + + 0 + 0 + 2 + + diff --git a/tests/functionaltests/suites/manager/expected/post_Transaction-iso-00-delete-all.xml b/tests/functionaltests/suites/manager/expected/post_Transaction-iso-00-delete-all.xml new file mode 100644 index 000000000..01ccdf629 --- /dev/null +++ b/tests/functionaltests/suites/manager/expected/post_Transaction-iso-00-delete-all.xml @@ -0,0 +1,9 @@ + + + + + 0 + 0 + 0 + + diff --git a/tests/functionaltests/suites/manager/expected/post_Transaction-iso-01-insert.xml b/tests/functionaltests/suites/manager/expected/post_Transaction-iso-01-insert.xml new file mode 100644 index 000000000..2e3a528d5 --- /dev/null +++ b/tests/functionaltests/suites/manager/expected/post_Transaction-iso-01-insert.xml @@ -0,0 +1,15 @@ + + + + + 1 + 0 + 0 + + + + 12345 + pycsw record + + + diff --git a/tests/functionaltests/suites/manager/expected/post_Transaction-iso-02-update-full.xml b/tests/functionaltests/suites/manager/expected/post_Transaction-iso-02-update-full.xml new file mode 100644 index 000000000..0b9104ebe --- /dev/null +++ b/tests/functionaltests/suites/manager/expected/post_Transaction-iso-02-update-full.xml @@ -0,0 +1,9 @@ + + + + + 0 + 1 + 0 + + diff --git a/tests/functionaltests/suites/manager/expected/post_Transaction-iso-03-update-recprop.xml b/tests/functionaltests/suites/manager/expected/post_Transaction-iso-03-update-recprop.xml new file mode 100644 index 000000000..0b9104ebe --- /dev/null +++ b/tests/functionaltests/suites/manager/expected/post_Transaction-iso-03-update-recprop.xml @@ -0,0 +1,9 @@ + + + + + 0 + 1 + 0 + + diff --git a/tests/functionaltests/suites/manager/expected/post_Transaction-iso-04-update-recprop-no-matches.xml b/tests/functionaltests/suites/manager/expected/post_Transaction-iso-04-update-recprop-no-matches.xml new file mode 100644 index 000000000..01ccdf629 --- /dev/null +++ b/tests/functionaltests/suites/manager/expected/post_Transaction-iso-04-update-recprop-no-matches.xml @@ -0,0 +1,9 @@ + + + + + 0 + 0 + 0 + + diff --git a/tests/functionaltests/suites/manager/expected/post_Transaction-iso-05-delete.xml b/tests/functionaltests/suites/manager/expected/post_Transaction-iso-05-delete.xml new file mode 100644 index 000000000..0e48fd530 --- /dev/null +++ b/tests/functionaltests/suites/manager/expected/post_Transaction-iso-05-delete.xml @@ -0,0 +1,9 @@ + + + + + 0 + 0 + 1 + + diff --git a/tests/functionaltests/suites/manager/expected/post_Transaction-xxx-delete-all.xml b/tests/functionaltests/suites/manager/expected/post_Transaction-xxx-delete-all.xml new file mode 100644 index 000000000..01ccdf629 --- /dev/null +++ b/tests/functionaltests/suites/manager/expected/post_Transaction-xxx-delete-all.xml @@ -0,0 +1,9 @@ + + + + + 0 + 0 + 0 + + diff --git a/tests/functionaltests/suites/manager/post/Clear-000-delete-all.xml b/tests/functionaltests/suites/manager/post/Clear-000-delete-all.xml new file mode 100644 index 000000000..827ccc7f0 --- /dev/null +++ b/tests/functionaltests/suites/manager/post/Clear-000-delete-all.xml @@ -0,0 +1,13 @@ + + + + + + + dc:identifier + % + + + + + diff --git a/tests/functionaltests/suites/manager/post/GetCapabilities.xml b/tests/functionaltests/suites/manager/post/GetCapabilities.xml new file mode 100644 index 000000000..e4dc8070b --- /dev/null +++ b/tests/functionaltests/suites/manager/post/GetCapabilities.xml @@ -0,0 +1,9 @@ + + + + 2.0.2 + + + application/xml + + diff --git a/tests/functionaltests/suites/manager/post/GetDomain-parameter.xml b/tests/functionaltests/suites/manager/post/GetDomain-parameter.xml new file mode 100644 index 000000000..3779a0555 --- /dev/null +++ b/tests/functionaltests/suites/manager/post/GetDomain-parameter.xml @@ -0,0 +1,4 @@ + + + Harvest.ResourceType + diff --git a/tests/functionaltests/suites/manager/post/Transaction-000-delete-all.xml b/tests/functionaltests/suites/manager/post/Transaction-000-delete-all.xml new file mode 100644 index 000000000..827ccc7f0 --- /dev/null +++ b/tests/functionaltests/suites/manager/post/Transaction-000-delete-all.xml @@ -0,0 +1,13 @@ + + + + + + + dc:identifier + % + + + + + diff --git a/tests/functionaltests/suites/manager/post/Transaction-dc-01-insert.xml b/tests/functionaltests/suites/manager/post/Transaction-dc-01-insert.xml new file mode 100644 index 000000000..1fca1e266 --- /dev/null +++ b/tests/functionaltests/suites/manager/post/Transaction-dc-01-insert.xml @@ -0,0 +1,22 @@ + + + + + xyz + pycsw Catalogue + 2012-06-05 + Sample metadata + dataset + imagery + baseMaps + earthCover + BIL + Vanda Lima + en + + -90 -180 + 90 180 + + + + diff --git a/tests/functionaltests/suites/manager/post/Transaction-dc-02-update-full.xml b/tests/functionaltests/suites/manager/post/Transaction-dc-02-update-full.xml new file mode 100644 index 000000000..3d3bf1a75 --- /dev/null +++ b/tests/functionaltests/suites/manager/post/Transaction-dc-02-update-full.xml @@ -0,0 +1,22 @@ + + + + + xyz + THIS HAS BEEN UPDATED + 2012-06-05 + Sample metadata + dataset + imagery + baseMaps + earthCover + BIL + Vanda Lima + en + + -90 -180 + 90 180 + + + + diff --git a/tests/functionaltests/suites/manager/post/Transaction-fgdc-01-insert.xml b/tests/functionaltests/suites/manager/post/Transaction-fgdc-01-insert.xml new file mode 100644 index 000000000..3a7c368df --- /dev/null +++ b/tests/functionaltests/suites/manager/post/Transaction-fgdc-01-insert.xml @@ -0,0 +1,214 @@ + + + + + +foorecord + + +NOAA/ESRL Physical Sciences Division +20001201 +NCEP + +Boulder, CO +NOAA/ESRL Physical Sciences Division + +ftp://ftp.cdc.noaa.gov/Datasets/ncep/ +http://www.esrl.noaa.gov/psd/thredds/dodsC/Datasets/ncep/ +http://www.esrl.noaa.gov/psd/data/gridded/data.ncep.html + + + +NCEP's twice-daily global analysis at 2.5&#176; resolution on pressure levels which is a product of their operational forecast system. +Scientific research. + +Additional Fields: +-----------------: +StartDate: 19790101 +StopDate: 20001201 +Storage_Medium: online +PSD Search Fields: +Entry_ID: ncep.fgdc + + + + + +19790101 +20001201 + + +Publication_Date: 20001201 + + +Complete +Irregular + + + +-180 +180 +90.00 +-90.00 + + + + +GCMD DIF 5.33 +NCEP +Air temperature +Geopotential height +Precipitable Water Content +Precipitable water Content +Relative humidity +Sea level pressure +Station pressure +Surface potential temperature +Surface Pressure +Tropopause Pressure +Tropopause temperature +u-wind +v-wind + + +none +Global + + +none +none + + +none +19790101, 20001201 + + +None +None. Acknowledgement of PSD would appreciated in products derived from these data. + + + +PSD Data Management + + +mailing address +
NOAA/ESRL Physical Sciences Division
+
U.S. Dept. of Commerce
+
NOAA, R/PSD
+
325 Broadway
+Boulder +CO +80305 +USA +
+(303) 497-6640 +(303) 497-6020 +esrl.psd.data@noaa.gov +
+
+ +None +Unclassified +None + +Data resides in netCDF files at PSD +
+ + +Data QC'd at source. We have checked our stored values. + +None +None + + +None + + + + + + +None +20001201 +None +None +None + + +None + + + +9999 +9999 + + +None + +None +None + + +None +9999 + + + + + + + +PSD Data Management + + +mailing address +
NOAA/ESRL Physical Sciences Division
+
U.S. Dept. of Commerce
+
NOAA, Code R/PSD
+
325 Broadway
+Boulder +CO +80305 +USA +
+(303) 497-7200 +(303) 497-6020 +esrl.psd.data@noaa.gov +
+
+No warranty expressed or implied. +
+ +20001201 + + + +PSD Data Management + + +mailing address +
NOAA/ESRL Physical Sciences Division
+
U.S. Dept. of Commerce
+
NOAA, Code R/PSD
+
325 Broadway
+Boulder +CO +80305 +USA +
+(303) 497-7200 +(303) 497-6020 +esrl.psd.data@noaa.gov +
+
+FGDC Content Standards for Digital Geospatial Metadata +FGDC-STD-001-1998 + +None +Unclassified +None + +
+
+
+
diff --git a/tests/functionaltests/suites/manager/post/Transaction-fgdc-02-update-recprop.xml b/tests/functionaltests/suites/manager/post/Transaction-fgdc-02-update-recprop.xml new file mode 100644 index 000000000..252beb6be --- /dev/null +++ b/tests/functionaltests/suites/manager/post/Transaction-fgdc-02-update-recprop.xml @@ -0,0 +1,17 @@ + + + + + idinfo/citation/citeinfo/title + NEW_TITLE + + + + + dct:abstract + NCEP% + + + + + diff --git a/tests/functionaltests/suites/manager/post/Transaction-fgdc-03-delete-all.xml b/tests/functionaltests/suites/manager/post/Transaction-fgdc-03-delete-all.xml new file mode 100644 index 000000000..9e0fba0d7 --- /dev/null +++ b/tests/functionaltests/suites/manager/post/Transaction-fgdc-03-delete-all.xml @@ -0,0 +1,13 @@ + + + + + + + dc:identifier + % + + + + + diff --git a/tests/functionaltests/suites/manager/post/Transaction-iso-00-delete-all.xml b/tests/functionaltests/suites/manager/post/Transaction-iso-00-delete-all.xml new file mode 100644 index 000000000..0fb063efc --- /dev/null +++ b/tests/functionaltests/suites/manager/post/Transaction-iso-00-delete-all.xml @@ -0,0 +1,13 @@ + + + + + + + apiso:Identifier + % + + + + + diff --git a/tests/functionaltests/suites/manager/post/Transaction-iso-01-insert.xml b/tests/functionaltests/suites/manager/post/Transaction-iso-01-insert.xml new file mode 100644 index 000000000..1b238dd4d --- /dev/null +++ b/tests/functionaltests/suites/manager/post/Transaction-iso-01-insert.xml @@ -0,0 +1,73 @@ + + + + + + 12345 + + + + + + + + pycsw + + + + + + + + 2011-05-17 + + + + + + + pycsw record + + + + + 2011-05-17 + + + + + + + + + + Sample metadata record + + + eng + + + + + + + -180 + + + 180 + + + -90 + + + 90 + + + + + + + + + + diff --git a/tests/functionaltests/suites/manager/post/Transaction-iso-02-update-full.xml b/tests/functionaltests/suites/manager/post/Transaction-iso-02-update-full.xml new file mode 100644 index 000000000..a5a5d0019 --- /dev/null +++ b/tests/functionaltests/suites/manager/post/Transaction-iso-02-update-full.xml @@ -0,0 +1,73 @@ + + + + + + 12345 + + + + + + + + pycsw + + + + + + + + 2011-05-17 + + + + + + + pycsw record UPDATED + + + + + 2011-05-17 + + + + + + + + + + Sample metadata record + + + eng + + + + + + + -180 + + + 180 + + + -90 + + + 90 + + + + + + + + + + diff --git a/tests/functionaltests/suites/manager/post/Transaction-iso-03-update-recprop.xml b/tests/functionaltests/suites/manager/post/Transaction-iso-03-update-recprop.xml new file mode 100644 index 000000000..a130a5f25 --- /dev/null +++ b/tests/functionaltests/suites/manager/post/Transaction-iso-03-update-recprop.xml @@ -0,0 +1,17 @@ + + + + + apiso:Title + NEW_TITLE + + + + + apiso:Identifier + 12345 + + + + + diff --git a/tests/functionaltests/suites/manager/post/Transaction-iso-04-update-recprop-no-matches.xml b/tests/functionaltests/suites/manager/post/Transaction-iso-04-update-recprop-no-matches.xml new file mode 100644 index 000000000..e1ff7ac3a --- /dev/null +++ b/tests/functionaltests/suites/manager/post/Transaction-iso-04-update-recprop-no-matches.xml @@ -0,0 +1,17 @@ + + + + + apiso:Title + NEW_TITLE + + + + + apiso:Identifier + non-existent + + + + + diff --git a/tests/functionaltests/suites/manager/post/Transaction-iso-05-delete.xml b/tests/functionaltests/suites/manager/post/Transaction-iso-05-delete.xml new file mode 100644 index 000000000..675a8690e --- /dev/null +++ b/tests/functionaltests/suites/manager/post/Transaction-iso-05-delete.xml @@ -0,0 +1,13 @@ + + + + + + + apiso:Identifier + 12345 + + + + + diff --git a/tests/functionaltests/suites/manager/post/Transaction-xxx-delete-all.xml b/tests/functionaltests/suites/manager/post/Transaction-xxx-delete-all.xml new file mode 100644 index 000000000..827ccc7f0 --- /dev/null +++ b/tests/functionaltests/suites/manager/post/Transaction-xxx-delete-all.xml @@ -0,0 +1,13 @@ + + + + + + + dc:identifier + % + + + + + diff --git a/tests/functionaltests/suites/oaipmh/default.cfg b/tests/functionaltests/suites/oaipmh/default.cfg new file mode 100644 index 000000000..18a08989f --- /dev/null +++ b/tests/functionaltests/suites/oaipmh/default.cfg @@ -0,0 +1,91 @@ +# ================================================================= +# +# Authors: Tom Kralidis +# +# Copyright (c) 2011 Tom Kralidis +# +# Permission is hereby granted, free of charge, to any person +# obtaining a copy of this software and associated documentation +# files (the "Software"), to deal in the Software without +# restriction, including without limitation the rights to use, +# copy, modify, merge, publish, distribute, sublicense, and/or sell +# copies of the Software, and to permit persons to whom the +# Software is furnished to do so, subject to the following +# conditions: +# +# The above copyright notice and this permission notice shall be +# included in all copies or substantial portions of the Software. +# +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +# EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES +# OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +# NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT +# HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, +# WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR +# OTHER DEALINGS IN THE SOFTWARE. +# +# ================================================================= + +[server] +home=. +url=http://localhost/pycsw/csw.py?config=tests/suites/oaipmh/default.cfg +mimetype=application/xml; charset=UTF-8 +encoding=UTF-8 +language=en-US +maxrecords=10 +#loglevel=DEBUG +#logfile=/tmp/pycsw.log +#ogc_schemas_base=http://foo +federatedcatalogues=http://geo.data.gov/geoportal/csw/discovery +pretty_print=true +profiles=apiso +#gzip_compresslevel=8 +#spatial_ranking=true + +[manager] +transactions=false +allowed_ips=127.0.0.1 + +[metadata:main] +identification_title=pycsw Geospatial Catalogue +identification_abstract=pycsw is an OGC CSW server implementation written in Python +identification_keywords=catalogue,discovery +identification_keywords_type=theme +identification_fees=None +identification_accessconstraints=None +provider_name=pycsw +provider_url=http://pycsw.org/ +contact_name=Kralidis, Tom +contact_position=Senior Systems Scientist +contact_address=TBA +contact_city=Toronto +contact_stateorprovince=Ontario +contact_postalcode=M9C 3Z9 +contact_country=Canada +contact_phone=+01-416-xxx-xxxx +contact_fax=+01-416-xxx-xxxx +contact_email=tomkralidis@gmail.com +contact_url=http://kralidis.ca/ +contact_hours=0800h - 1600h EST +contact_instructions=During hours of service. Off on weekends. +contact_role=pointOfContact + +[repository] +# sqlite +database=sqlite:///tests/suites/cite/data/records.db +# postgres +#database=postgres://username:password@localhost/pycsw +table=records + +[metadata:inspire] +enabled=false +languages_supported=eng,gre +default_language=eng +date=2011-03-29 +gemet_keywords=Utility and governmental services +conformity_service=notEvaluated +contact_name=National Technical University of Athens +contact_email=tzotsos@gmail.com +temp_extent=2011-02-01/2011-03-30 + diff --git a/tests/functionaltests/suites/oaipmh/expected/get_GetRecord_bad_metadata_prefix.xml b/tests/functionaltests/suites/oaipmh/expected/get_GetRecord_bad_metadata_prefix.xml new file mode 100644 index 000000000..8633a422d --- /dev/null +++ b/tests/functionaltests/suites/oaipmh/expected/get_GetRecord_bad_metadata_prefix.xml @@ -0,0 +1,7 @@ + + + + PYCSW_TIMESTAMP + http://localhost/pycsw/csw.py?config=tests/suites/oaipmh/default.cfg&mode=oaipmh + Invalid outputschema parameter csw-recordd + diff --git a/tests/functionaltests/suites/oaipmh/expected/get_GetRecord_dc.xml b/tests/functionaltests/suites/oaipmh/expected/get_GetRecord_dc.xml new file mode 100644 index 000000000..367da8832 --- /dev/null +++ b/tests/functionaltests/suites/oaipmh/expected/get_GetRecord_dc.xml @@ -0,0 +1,26 @@ + + + + PYCSW_TIMESTAMP + http://localhost/pycsw/csw.py?config=tests/suites/oaipmh/default.cfg&mode=oaipmh + + + + urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f + + + + + + urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f + http://purl.org/dc/dcmitype/Image + image/svg+xml + Lorem ipsum + GR-22 + Tourism--Greece + Quisque lacus diam, placerat mollis, pharetra in, commodo sed, augue. Duis iaculis arcu vel arcu. + + + + + diff --git a/tests/functionaltests/suites/oaipmh/expected/get_GetRecord_iso.xml b/tests/functionaltests/suites/oaipmh/expected/get_GetRecord_iso.xml new file mode 100644 index 000000000..8a482b63e --- /dev/null +++ b/tests/functionaltests/suites/oaipmh/expected/get_GetRecord_iso.xml @@ -0,0 +1,62 @@ + + + + PYCSW_TIMESTAMP + http://localhost/pycsw/csw.py?config=tests/suites/oaipmh/default.cfg&mode=oaipmh + + + + urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f + + + + + + + urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f + + + + + + http://purl.org/dc/dcmitype/Image + + + + + + + ISO19115 + + + 2003/Cor.1:2006 + + + + + + + Lorem ipsum + + + + + Quisque lacus diam, placerat mollis, pharetra in, commodo sed, augue. Duis iaculis arcu vel arcu. + + + + + Tourism--Greece + + + + + + + + + + + + + diff --git a/tests/functionaltests/suites/oaipmh/expected/get_GetRecord_oai_dc.xml b/tests/functionaltests/suites/oaipmh/expected/get_GetRecord_oai_dc.xml new file mode 100644 index 000000000..c8840efba --- /dev/null +++ b/tests/functionaltests/suites/oaipmh/expected/get_GetRecord_oai_dc.xml @@ -0,0 +1,26 @@ + + + + PYCSW_TIMESTAMP + http://localhost/pycsw/csw.py?config=tests/suites/oaipmh/default.cfg&mode=oaipmh + + + + urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f + + + + + + urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f + http://purl.org/dc/dcmitype/Image + image/svg+xml + Lorem ipsum + GR-22 + Tourism--Greece + Quisque lacus diam, placerat mollis, pharetra in, commodo sed, augue. Duis iaculis arcu vel arcu. + + + + + diff --git a/tests/functionaltests/suites/oaipmh/expected/get_Identify.xml b/tests/functionaltests/suites/oaipmh/expected/get_Identify.xml new file mode 100644 index 000000000..967a385c5 --- /dev/null +++ b/tests/functionaltests/suites/oaipmh/expected/get_Identify.xml @@ -0,0 +1,15 @@ + + + + PYCSW_TIMESTAMP + http://localhost/pycsw/csw.py?config=tests/suites/oaipmh/default.cfg&mode=oaipmh + + pycsw Geospatial Catalogue + http://localhost/pycsw/csw.py?config=tests/suites/oaipmh/default.cfg&mode=oaipmh + 2.0 + tomkralidis@gmail.com + PYCSW_TIMESTAMP + no + YYYY-MM-DDThh:mm:ssZ + + diff --git a/tests/functionaltests/suites/oaipmh/expected/get_ListIdentifiers_bad_metadata_prefix.xml b/tests/functionaltests/suites/oaipmh/expected/get_ListIdentifiers_bad_metadata_prefix.xml new file mode 100644 index 000000000..3eaa03c66 --- /dev/null +++ b/tests/functionaltests/suites/oaipmh/expected/get_ListIdentifiers_bad_metadata_prefix.xml @@ -0,0 +1,7 @@ + + + + PYCSW_TIMESTAMP + http://localhost/pycsw/csw.py?config=tests/suites/oaipmh/default.cfg&mode=oaipmh + Invalid outputSchema parameter value: foo + diff --git a/tests/functionaltests/suites/oaipmh/expected/get_ListIdentifiers_dc.xml b/tests/functionaltests/suites/oaipmh/expected/get_ListIdentifiers_dc.xml new file mode 100644 index 000000000..388be64cd --- /dev/null +++ b/tests/functionaltests/suites/oaipmh/expected/get_ListIdentifiers_dc.xml @@ -0,0 +1,79 @@ + + + + PYCSW_TIMESTAMP + http://localhost/pycsw/csw.py?config=tests/suites/oaipmh/default.cfg&mode=oaipmh + + + + urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f + + + + + + + urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f + + + + + + + urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f + + + + + + + urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f + + + + + + + urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f + + + + + + + urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f + + + + + + + urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f + + + + + + + urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f + + + + + + + urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f + + + + + + + urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f + + + + + 11 + + diff --git a/tests/functionaltests/suites/oaipmh/expected/get_ListIdentifiers_iso.xml b/tests/functionaltests/suites/oaipmh/expected/get_ListIdentifiers_iso.xml new file mode 100644 index 000000000..1ab8be85c --- /dev/null +++ b/tests/functionaltests/suites/oaipmh/expected/get_ListIdentifiers_iso.xml @@ -0,0 +1,79 @@ + + + + PYCSW_TIMESTAMP + http://localhost/pycsw/csw.py?config=tests/suites/oaipmh/default.cfg&mode=oaipmh + + + + urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f + + + + + + + urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f + + + + + + + urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f + + + + + + + urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f + + + + + + + urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f + + + + + + + urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f + + + + + + + urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f + + + + + + + urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f + + + + + + + urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f + + + + + + + urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f + + + + + 11 + + diff --git a/tests/functionaltests/suites/oaipmh/expected/get_ListIdentifiers_missing_metadata_prefix.xml b/tests/functionaltests/suites/oaipmh/expected/get_ListIdentifiers_missing_metadata_prefix.xml new file mode 100644 index 000000000..4104799d7 --- /dev/null +++ b/tests/functionaltests/suites/oaipmh/expected/get_ListIdentifiers_missing_metadata_prefix.xml @@ -0,0 +1,7 @@ + + + + PYCSW_TIMESTAMP + http://localhost/pycsw/csw.py?config=tests/suites/oaipmh/default.cfg&mode=oaipmh + Missing metadataPrefix parameter + diff --git a/tests/functionaltests/suites/oaipmh/expected/get_ListIdentifiers_oai_dc.xml b/tests/functionaltests/suites/oaipmh/expected/get_ListIdentifiers_oai_dc.xml new file mode 100644 index 000000000..a41a083ab --- /dev/null +++ b/tests/functionaltests/suites/oaipmh/expected/get_ListIdentifiers_oai_dc.xml @@ -0,0 +1,79 @@ + + + + PYCSW_TIMESTAMP + http://localhost/pycsw/csw.py?config=tests/suites/oaipmh/default.cfg&mode=oaipmh + + + + urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f + + + + + + + urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f + + + + + + + urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f + + + + + + + urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f + + + + + + + urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f + + + + + + + urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f + + + + + + + urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f + + + + + + + urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f + + + + + + + urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f + + + + + + + urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f + + + + + 11 + + diff --git a/tests/functionaltests/suites/oaipmh/expected/get_ListMetadataFormats.xml b/tests/functionaltests/suites/oaipmh/expected/get_ListMetadataFormats.xml new file mode 100644 index 000000000..2549bc963 --- /dev/null +++ b/tests/functionaltests/suites/oaipmh/expected/get_ListMetadataFormats.xml @@ -0,0 +1,38 @@ + + + + PYCSW_TIMESTAMP + http://localhost/pycsw/csw.py?config=tests/suites/oaipmh/default.cfg&mode=oaipmh + + + csw-record + http://schemas.opengis.net/csw/2.0.2/record.xsd + http://www.opengis.net/cat/csw/2.0.2 + + + dif + http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/dif.xsd + http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ + + + fgdc-std + http://www.fgdc.gov/metadata/fgdc-std-001-1998.xsd + http://www.opengis.net/cat/csw/csdgm + + + gm03 + http://www.geocat.ch/internet/geocat/en/home/documentation/gm03.parsys.50316.downloadList.86742.DownloadFile.tmp/gm0321.zip + http://www.interlis.ch/INTERLIS2.3 + + + iso19139 + http://www.isotc211.org/2005/gmd/gmd.xsd + http://www.isotc211.org/2005/gmd + + + oai_dc + http://www.openarchives.org/OAI/2.0/oai_dc.xsd + http://www.openarchives.org/OAI/2.0/oai_dc/ + + + diff --git a/tests/functionaltests/suites/oaipmh/expected/get_ListRecords_dc.xml b/tests/functionaltests/suites/oaipmh/expected/get_ListRecords_dc.xml new file mode 100644 index 000000000..43a853d38 --- /dev/null +++ b/tests/functionaltests/suites/oaipmh/expected/get_ListRecords_dc.xml @@ -0,0 +1,185 @@ + + + + PYCSW_TIMESTAMP + http://localhost/pycsw/csw.py?config=tests/suites/oaipmh/default.cfg&mode=oaipmh + + + + urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f + + + + + + urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f + http://purl.org/dc/dcmitype/Image + image/svg+xml + Lorem ipsum + GR-22 + Tourism--Greece + Quisque lacus diam, placerat mollis, pharetra in, commodo sed, augue. Duis iaculis arcu vel arcu. + + + + + + urn:uuid:1ef30a8b-876d-4828-9246-c37ab4510bbd + + + + + + urn:uuid:1ef30a8b-876d-4828-9246-c37ab4510bbd + http://purl.org/dc/dcmitype/Service + Proin sit amet justo. In justo. Aenean adipiscing nulla id tellus. + + 60.042 13.754 + 68.410 17.920 + + + + + + + urn:uuid:66ae76b7-54ba-489b-a582-0f0633d96493 + + + + + + urn:uuid:66ae76b7-54ba-489b-a582-0f0633d96493 + Maecenas enim + http://purl.org/dc/dcmitype/Text + application/xhtml+xml + Marine sediments + Pellentesque tempus magna non sapien fringilla blandit. + + + + + + urn:uuid:6a3de50b-fa66-4b58-a0e6-ca146fdd18d4 + + + + + + urn:uuid:6a3de50b-fa66-4b58-a0e6-ca146fdd18d4 + http://purl.org/dc/dcmitype/Service + Ut facilisis justo ut lacus + Vegetation + urn:uuid:94bc9c83-97f6-4b40-9eb8-a8e8787a5c63 + + + + + + urn:uuid:784e2afd-a9fd-44a6-9a92-a3848371c8ec + + + + + + urn:uuid:784e2afd-a9fd-44a6-9a92-a3848371c8ec + Aliquam fermentum purus quis arcu + http://purl.org/dc/dcmitype/Text + Hydrography--Dictionaries + application/pdf + 2006-05-12 + Vestibulum quis ipsum sit amet metus imperdiet vehicula. Nulla scelerisque cursus mi. + + + + + + urn:uuid:829babb0-b2f1-49e1-8cd5-7b489fe71a1e + + + + + + urn:uuid:829babb0-b2f1-49e1-8cd5-7b489fe71a1e + http://purl.org/dc/dcmitype/Image + image/jp2 + Vestibulum massa purus + urn:uuid:9a669547-b69b-469f-a11f-2d875366bbdc + + + + + + urn:uuid:88247b56-4cbc-4df9-9860-db3f8042e357 + + + + + + urn:uuid:88247b56-4cbc-4df9-9860-db3f8042e357 + http://purl.org/dc/dcmitype/Dataset + Physiography-Landforms + FI-ES + Donec scelerisque pede ut nisl luctus accumsan. Quisque ultrices, lorem eget feugiat fringilla, lorem dui porttitor ante, cursus ultrices magna odio eu neque. + + + + + + urn:uuid:94bc9c83-97f6-4b40-9eb8-a8e8787a5c63 + + + + + + urn:uuid:94bc9c83-97f6-4b40-9eb8-a8e8787a5c63 + http://purl.org/dc/dcmitype/Dataset + Mauris sed neque + Vegetation-Cropland + Curabitur lacinia, ante non porta tempus, mi lorem feugiat odio, eget suscipit eros pede ac velit. + 2006-03-26 + + 47.595 -4.097 + 51.217 0.889 + + + + + + + urn:uuid:9a669547-b69b-469f-a11f-2d875366bbdc + + + + + + urn:uuid:9a669547-b69b-469f-a11f-2d875366bbdc + http://purl.org/dc/dcmitype/Dataset + Ñunç elementum + Hydrography-Oceanographic + 2005-10-24 + + 44.792 -6.171 + 51.126 -2.228 + + + + + + + urn:uuid:a06af396-3105-442d-8b40-22b57a90d2f2 + + + + + + urn:uuid:a06af396-3105-442d-8b40-22b57a90d2f2 + http://purl.org/dc/dcmitype/Image + Lorem ipsum dolor sit amet + image/jpeg + IT-FI + + + + 11 + + diff --git a/tests/functionaltests/suites/oaipmh/expected/get_ListRecords_dc_bad_metadata_prefix.xml b/tests/functionaltests/suites/oaipmh/expected/get_ListRecords_dc_bad_metadata_prefix.xml new file mode 100644 index 000000000..6ed9a9c58 --- /dev/null +++ b/tests/functionaltests/suites/oaipmh/expected/get_ListRecords_dc_bad_metadata_prefix.xml @@ -0,0 +1,7 @@ + + + + PYCSW_TIMESTAMP + http://localhost/pycsw/csw.py?config=tests/suites/oaipmh/default.cfg&mode=oaipmh + Invalid outputSchema parameter value: csw-recording + diff --git a/tests/functionaltests/suites/oaipmh/expected/get_ListRecords_iso19139.xml b/tests/functionaltests/suites/oaipmh/expected/get_ListRecords_iso19139.xml new file mode 100644 index 000000000..58bd0023a --- /dev/null +++ b/tests/functionaltests/suites/oaipmh/expected/get_ListRecords_iso19139.xml @@ -0,0 +1,588 @@ + + + + PYCSW_TIMESTAMP + http://localhost/pycsw/csw.py?config=tests/suites/oaipmh/default.cfg&mode=oaipmh + + + + urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f + + + + + + + urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f + + + + + + http://purl.org/dc/dcmitype/Image + + + + + + + ISO19115 + + + 2003/Cor.1:2006 + + + + + + + Lorem ipsum + + + + + Quisque lacus diam, placerat mollis, pharetra in, commodo sed, augue. Duis iaculis arcu vel arcu. + + + + + Tourism--Greece + + + + + + + + + + + + + + urn:uuid:1ef30a8b-876d-4828-9246-c37ab4510bbd + + + + + + + urn:uuid:1ef30a8b-876d-4828-9246-c37ab4510bbd + + + + + + http://purl.org/dc/dcmitype/Service + + + + + + + ISO19115 + + + 2003/Cor.1:2006 + + + + + + + + + + + + Proin sit amet justo. In justo. Aenean adipiscing nulla id tellus. + + + + + + + + + + 13.75 + + + 17.92 + + + 60.04 + + + 68.41 + + + + + + + + + + + + + urn:uuid:66ae76b7-54ba-489b-a582-0f0633d96493 + + + + + + + urn:uuid:66ae76b7-54ba-489b-a582-0f0633d96493 + + + + + + http://purl.org/dc/dcmitype/Text + + + + + + + ISO19115 + + + 2003/Cor.1:2006 + + + + + + + Maecenas enim + + + + + Pellentesque tempus magna non sapien fringilla blandit. + + + + + Marine sediments + + + + + + + + + + + + + + urn:uuid:6a3de50b-fa66-4b58-a0e6-ca146fdd18d4 + + + + + + + urn:uuid:6a3de50b-fa66-4b58-a0e6-ca146fdd18d4 + + + + + + http://purl.org/dc/dcmitype/Service + + + + + + + ISO19115 + + + 2003/Cor.1:2006 + + + + + + + Ut facilisis justo ut lacus + + + + + + + + + + Vegetation + + + + + + + + + + + + + + urn:uuid:784e2afd-a9fd-44a6-9a92-a3848371c8ec + + + + + + + urn:uuid:784e2afd-a9fd-44a6-9a92-a3848371c8ec + + + + + + http://purl.org/dc/dcmitype/Text + + + + + + + ISO19115 + + + 2003/Cor.1:2006 + + + + + + + Aliquam fermentum purus quis arcu + + + + + Vestibulum quis ipsum sit amet metus imperdiet vehicula. Nulla scelerisque cursus mi. + + + + + Hydrography--Dictionaries + + + + + + + + + + + + + + urn:uuid:829babb0-b2f1-49e1-8cd5-7b489fe71a1e + + + + + + + urn:uuid:829babb0-b2f1-49e1-8cd5-7b489fe71a1e + + + + + + http://purl.org/dc/dcmitype/Image + + + + + + + ISO19115 + + + 2003/Cor.1:2006 + + + + + + + Vestibulum massa purus + + + + + + + + + + + + + + + + + urn:uuid:88247b56-4cbc-4df9-9860-db3f8042e357 + + + + + + + urn:uuid:88247b56-4cbc-4df9-9860-db3f8042e357 + + + + + + dataset + + + + + + + ISO19115 + + + 2003/Cor.1:2006 + + + + + + + + + + + + Donec scelerisque pede ut nisl luctus accumsan. Quisque ultrices, lorem eget feugiat fringilla, lorem dui porttitor ante, cursus ultrices magna odio eu neque. + + + + + Physiography-Landforms + + + + + + + + + + + + + + urn:uuid:94bc9c83-97f6-4b40-9eb8-a8e8787a5c63 + + + + + + + urn:uuid:94bc9c83-97f6-4b40-9eb8-a8e8787a5c63 + + + + + + dataset + + + + + + + ISO19115 + + + 2003/Cor.1:2006 + + + + + + + Mauris sed neque + + + + + Curabitur lacinia, ante non porta tempus, mi lorem feugiat odio, eget suscipit eros pede ac velit. + + + + + Vegetation-Cropland + + + + + + + + + + + + -4.1 + + + 0.89 + + + 47.59 + + + 51.22 + + + + + + + + + + + + + urn:uuid:9a669547-b69b-469f-a11f-2d875366bbdc + + + + + + + urn:uuid:9a669547-b69b-469f-a11f-2d875366bbdc + + + + + + dataset + + + + + + + ISO19115 + + + 2003/Cor.1:2006 + + + + + + + Ñunç elementum + + + + + + + + + + Hydrography-Oceanographic + + + + + + + + + + + + -6.17 + + + -2.23 + + + 44.79 + + + 51.13 + + + + + + + + + + + + + urn:uuid:a06af396-3105-442d-8b40-22b57a90d2f2 + + + + + + + urn:uuid:a06af396-3105-442d-8b40-22b57a90d2f2 + + + + + + http://purl.org/dc/dcmitype/Image + + + + + + + ISO19115 + + + 2003/Cor.1:2006 + + + + + + + Lorem ipsum dolor sit amet + + + + + + + + + + + + + + + 11 + + diff --git a/tests/functionaltests/suites/oaipmh/expected/get_ListRecords_oai_dc.xml b/tests/functionaltests/suites/oaipmh/expected/get_ListRecords_oai_dc.xml new file mode 100644 index 000000000..a5dc39975 --- /dev/null +++ b/tests/functionaltests/suites/oaipmh/expected/get_ListRecords_oai_dc.xml @@ -0,0 +1,185 @@ + + + + PYCSW_TIMESTAMP + http://localhost/pycsw/csw.py?config=tests/suites/oaipmh/default.cfg&mode=oaipmh + + + + urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f + + + + + + urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f + http://purl.org/dc/dcmitype/Image + image/svg+xml + Lorem ipsum + GR-22 + Tourism--Greece + Quisque lacus diam, placerat mollis, pharetra in, commodo sed, augue. Duis iaculis arcu vel arcu. + + + + + + urn:uuid:1ef30a8b-876d-4828-9246-c37ab4510bbd + + + + + + urn:uuid:1ef30a8b-876d-4828-9246-c37ab4510bbd + http://purl.org/dc/dcmitype/Service + Proin sit amet justo. In justo. Aenean adipiscing nulla id tellus. + + 60.042 13.754 + 68.410 17.920 + + + + + + + urn:uuid:66ae76b7-54ba-489b-a582-0f0633d96493 + + + + + + urn:uuid:66ae76b7-54ba-489b-a582-0f0633d96493 + Maecenas enim + http://purl.org/dc/dcmitype/Text + application/xhtml+xml + Marine sediments + Pellentesque tempus magna non sapien fringilla blandit. + + + + + + urn:uuid:6a3de50b-fa66-4b58-a0e6-ca146fdd18d4 + + + + + + urn:uuid:6a3de50b-fa66-4b58-a0e6-ca146fdd18d4 + http://purl.org/dc/dcmitype/Service + Ut facilisis justo ut lacus + Vegetation + urn:uuid:94bc9c83-97f6-4b40-9eb8-a8e8787a5c63 + + + + + + urn:uuid:784e2afd-a9fd-44a6-9a92-a3848371c8ec + + + + + + urn:uuid:784e2afd-a9fd-44a6-9a92-a3848371c8ec + Aliquam fermentum purus quis arcu + http://purl.org/dc/dcmitype/Text + Hydrography--Dictionaries + application/pdf + 2006-05-12 + Vestibulum quis ipsum sit amet metus imperdiet vehicula. Nulla scelerisque cursus mi. + + + + + + urn:uuid:829babb0-b2f1-49e1-8cd5-7b489fe71a1e + + + + + + urn:uuid:829babb0-b2f1-49e1-8cd5-7b489fe71a1e + http://purl.org/dc/dcmitype/Image + image/jp2 + Vestibulum massa purus + urn:uuid:9a669547-b69b-469f-a11f-2d875366bbdc + + + + + + urn:uuid:88247b56-4cbc-4df9-9860-db3f8042e357 + + + + + + urn:uuid:88247b56-4cbc-4df9-9860-db3f8042e357 + http://purl.org/dc/dcmitype/Dataset + Physiography-Landforms + FI-ES + Donec scelerisque pede ut nisl luctus accumsan. Quisque ultrices, lorem eget feugiat fringilla, lorem dui porttitor ante, cursus ultrices magna odio eu neque. + + + + + + urn:uuid:94bc9c83-97f6-4b40-9eb8-a8e8787a5c63 + + + + + + urn:uuid:94bc9c83-97f6-4b40-9eb8-a8e8787a5c63 + http://purl.org/dc/dcmitype/Dataset + Mauris sed neque + Vegetation-Cropland + Curabitur lacinia, ante non porta tempus, mi lorem feugiat odio, eget suscipit eros pede ac velit. + 2006-03-26 + + 47.595 -4.097 + 51.217 0.889 + + + + + + + urn:uuid:9a669547-b69b-469f-a11f-2d875366bbdc + + + + + + urn:uuid:9a669547-b69b-469f-a11f-2d875366bbdc + http://purl.org/dc/dcmitype/Dataset + Ñunç elementum + Hydrography-Oceanographic + 2005-10-24 + + 44.792 -6.171 + 51.126 -2.228 + + + + + + + urn:uuid:a06af396-3105-442d-8b40-22b57a90d2f2 + + + + + + urn:uuid:a06af396-3105-442d-8b40-22b57a90d2f2 + http://purl.org/dc/dcmitype/Image + Lorem ipsum dolor sit amet + image/jpeg + IT-FI + + + + 11 + + diff --git a/tests/functionaltests/suites/oaipmh/expected/get_ListSets.xml b/tests/functionaltests/suites/oaipmh/expected/get_ListSets.xml new file mode 100644 index 000000000..2be90809f --- /dev/null +++ b/tests/functionaltests/suites/oaipmh/expected/get_ListSets.xml @@ -0,0 +1,16 @@ + + + + PYCSW_TIMESTAMP + http://localhost/pycsw/csw.py?config=tests/suites/oaipmh/default.cfg&mode=oaipmh + + + datasets + Datasets + + + interactiveResources + Interactive Resources + + + diff --git a/tests/functionaltests/suites/oaipmh/expected/get_bad_verb.xml b/tests/functionaltests/suites/oaipmh/expected/get_bad_verb.xml new file mode 100644 index 000000000..0e3dfba47 --- /dev/null +++ b/tests/functionaltests/suites/oaipmh/expected/get_bad_verb.xml @@ -0,0 +1,7 @@ + + + + PYCSW_TIMESTAMP + http://localhost/pycsw/csw.py?config=tests/suites/oaipmh/default.cfg&mode=oaipmh + Unknown verb 'foo' + diff --git a/tests/functionaltests/suites/oaipmh/expected/get_empty.xml b/tests/functionaltests/suites/oaipmh/expected/get_empty.xml new file mode 100644 index 000000000..1f6d54ab8 --- /dev/null +++ b/tests/functionaltests/suites/oaipmh/expected/get_empty.xml @@ -0,0 +1,7 @@ + + + + PYCSW_TIMESTAMP + http://localhost/pycsw/csw.py?config=tests/suites/oaipmh/default.cfg&mode=oaipmh + Missing 'verb' parameter + diff --git a/tests/functionaltests/suites/oaipmh/expected/get_empty_with_amp.xml b/tests/functionaltests/suites/oaipmh/expected/get_empty_with_amp.xml new file mode 100644 index 000000000..1f6d54ab8 --- /dev/null +++ b/tests/functionaltests/suites/oaipmh/expected/get_empty_with_amp.xml @@ -0,0 +1,7 @@ + + + + PYCSW_TIMESTAMP + http://localhost/pycsw/csw.py?config=tests/suites/oaipmh/default.cfg&mode=oaipmh + Missing 'verb' parameter + diff --git a/tests/functionaltests/suites/oaipmh/expected/get_illegal_verb.xml b/tests/functionaltests/suites/oaipmh/expected/get_illegal_verb.xml new file mode 100644 index 000000000..4a88ffe48 --- /dev/null +++ b/tests/functionaltests/suites/oaipmh/expected/get_illegal_verb.xml @@ -0,0 +1,7 @@ + + + + PYCSW_TIMESTAMP + http://localhost/pycsw/csw.py?config=tests/suites/oaipmh/default.cfg&mode=oaipmh + Unknown verb 'foo' + diff --git a/tests/functionaltests/suites/oaipmh/get/requests.txt b/tests/functionaltests/suites/oaipmh/get/requests.txt new file mode 100644 index 000000000..bf6955232 --- /dev/null +++ b/tests/functionaltests/suites/oaipmh/get/requests.txt @@ -0,0 +1,20 @@ +empty,mode=oaipmh +empty_with_amp,mode=oaipmh& +bad_verb,mode=oaipmh&verb=foo +illegal_verb,mode=oaipmh&verb=foo&foo=bar +Identify,mode=oaipmh&verb=Identify +ListSets,mode=oaipmh&verb=ListSets +ListMetadataFormats,mode=oaipmh&verb=ListMetadataFormats +GetRecord_dc,mode=oaipmh&verb=GetRecord&identifier=urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f&metadataPrefix=csw-record +GetRecord_bad_metadata_prefix,mode=oaipmh&verb=GetRecord&identifier=urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f&metadataPrefix=csw-recordd +GetRecord_oai_dc,mode=oaipmh&verb=GetRecord&identifier=urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f&metadataPrefix=oai_dc +GetRecord_iso,mode=oaipmh&verb=GetRecord&identifier=urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f&metadataPrefix=iso19139 +ListIdentifiers_missing_metadata_prefix,mode=oaipmh&verb=ListIdentifiers +ListIdentifiers_dc,mode=oaipmh&verb=ListIdentifiers&metadataPrefix=csw-record +ListIdentifiers_iso,mode=oaipmh&verb=ListIdentifiers&metadataPrefix=iso19139 +ListIdentifiers_oai_dc,mode=oaipmh&verb=ListIdentifiers&metadataPrefix=oai_dc +ListIdentifiers_bad_metadata_prefix,mode=oaipmh&verb=ListIdentifiers&metadataPrefix=foo +ListRecords_dc,mode=oaipmh&verb=ListRecords&metadataPrefix=csw-record +ListRecords_dc_bad_metadata_prefix,mode=oaipmh&verb=ListRecords&metadataPrefix=csw-recording +ListRecords_oai_dc,mode=oaipmh&verb=ListRecords&metadataPrefix=oai_dc +ListRecords_iso19139,mode=oaipmh&verb=ListRecords&metadataPrefix=iso19139 diff --git a/tests/functionaltests/suites/repofilter/default.cfg b/tests/functionaltests/suites/repofilter/default.cfg new file mode 100644 index 000000000..63339ccbb --- /dev/null +++ b/tests/functionaltests/suites/repofilter/default.cfg @@ -0,0 +1,91 @@ +# ================================================================= +# +# Authors: Tom Kralidis +# +# Copyright (c) 2011 Tom Kralidis +# +# Permission is hereby granted, free of charge, to any person +# obtaining a copy of this software and associated documentation +# files (the "Software"), to deal in the Software without +# restriction, including without limitation the rights to use, +# copy, modify, merge, publish, distribute, sublicense, and/or sell +# copies of the Software, and to permit persons to whom the +# Software is furnished to do so, subject to the following +# conditions: +# +# The above copyright notice and this permission notice shall be +# included in all copies or substantial portions of the Software. +# +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +# EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES +# OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +# NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT +# HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, +# WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR +# OTHER DEALINGS IN THE SOFTWARE. +# +# ================================================================= + +[server] +home=. +url=http://localhost/pycsw/csw.py?config=tests/suites/repofilter/default.cfg +mimetype=application/xml; charset=UTF-8 +encoding=UTF-8 +language=en-US +maxrecords=10 +#loglevel=DEBUG +#logfile=/tmp/pycsw.log +#ogc_schemas_base=http://foo +federatedcatalogues=http://geo.data.gov/geoportal/csw/discovery +pretty_print=true +#gzip_compresslevel=8 +#spatial_ranking=true + +[manager] +transactions=false +allowed_ips=127.0.0.1 + +[metadata:main] +identification_title=pycsw Geospatial Catalogue +identification_abstract=pycsw is an OGC CSW server implementation written in Python +identification_keywords=catalogue,discovery +identification_keywords_type=theme +identification_fees=None +identification_accessconstraints=None +provider_name=pycsw +provider_url=http://pycsw.org/ +contact_name=Kralidis, Tom +contact_position=Senior Systems Scientist +contact_address=TBA +contact_city=Toronto +contact_stateorprovince=Ontario +contact_postalcode=M9C 3Z9 +contact_country=Canada +contact_phone=+01-416-xxx-xxxx +contact_fax=+01-416-xxx-xxxx +contact_email=tomkralidis@gmail.com +contact_url=http://kralidis.ca/ +contact_hours=0800h - 1600h EST +contact_instructions=During hours of service. Off on weekends. +contact_role=pointOfContact + +[repository] +# sqlite +database=sqlite:///tests/suites/cite/data/records.db +# postgres +#database=postgres://username:password@localhost/pycsw +table=records +filter=type = 'http://purl.org/dc/dcmitype/Dataset' + +[metadata:inspire] +enabled=false +languages_supported=eng,gre +default_language=eng +date=2011-03-29 +gemet_keywords=Utility and governmental services +conformity_service=notEvaluated +contact_name=National Technical University of Athens +contact_email=tzotsos@gmail.com +temp_extent=2011-02-01/2011-03-30 + diff --git a/tests/functionaltests/suites/repofilter/expected/post_GetRecordById-masked.xml b/tests/functionaltests/suites/repofilter/expected/post_GetRecordById-masked.xml new file mode 100644 index 000000000..9bf61df8e --- /dev/null +++ b/tests/functionaltests/suites/repofilter/expected/post_GetRecordById-masked.xml @@ -0,0 +1,3 @@ + + + diff --git a/tests/functionaltests/suites/repofilter/expected/post_GetRecords-all.xml b/tests/functionaltests/suites/repofilter/expected/post_GetRecords-all.xml new file mode 100644 index 000000000..99af61e73 --- /dev/null +++ b/tests/functionaltests/suites/repofilter/expected/post_GetRecords-all.xml @@ -0,0 +1,37 @@ + + + + + + + urn:uuid:88247b56-4cbc-4df9-9860-db3f8042e357 + http://purl.org/dc/dcmitype/Dataset + Physiography-Landforms + FI-ES + Donec scelerisque pede ut nisl luctus accumsan. Quisque ultrices, lorem eget feugiat fringilla, lorem dui porttitor ante, cursus ultrices magna odio eu neque. + + + urn:uuid:94bc9c83-97f6-4b40-9eb8-a8e8787a5c63 + http://purl.org/dc/dcmitype/Dataset + Mauris sed neque + Vegetation-Cropland + Curabitur lacinia, ante non porta tempus, mi lorem feugiat odio, eget suscipit eros pede ac velit. + 2006-03-26 + + 47.595 -4.097 + 51.217 0.889 + + + + urn:uuid:9a669547-b69b-469f-a11f-2d875366bbdc + http://purl.org/dc/dcmitype/Dataset + Ñunç elementum + Hydrography-Oceanographic + 2005-10-24 + + 44.792 -6.171 + 51.126 -2.228 + + + + diff --git a/tests/functionaltests/suites/repofilter/post/GetRecordById-masked.xml b/tests/functionaltests/suites/repofilter/post/GetRecordById-masked.xml new file mode 100644 index 000000000..1a61c85a8 --- /dev/null +++ b/tests/functionaltests/suites/repofilter/post/GetRecordById-masked.xml @@ -0,0 +1,5 @@ + + + urn:uuid:784e2afd-a9fd-44a6-9a92-a3848371c8ec + summary + diff --git a/tests/functionaltests/suites/repofilter/post/GetRecords-all.xml b/tests/functionaltests/suites/repofilter/post/GetRecords-all.xml new file mode 100644 index 000000000..ecae692a0 --- /dev/null +++ b/tests/functionaltests/suites/repofilter/post/GetRecords-all.xml @@ -0,0 +1,6 @@ + + + + full + + diff --git a/tests/functionaltests/suites/sru/default.cfg b/tests/functionaltests/suites/sru/default.cfg new file mode 100644 index 000000000..0140efaf4 --- /dev/null +++ b/tests/functionaltests/suites/sru/default.cfg @@ -0,0 +1,90 @@ +# ================================================================= +# +# Authors: Tom Kralidis +# +# Copyright (c) 2011 Tom Kralidis +# +# Permission is hereby granted, free of charge, to any person +# obtaining a copy of this software and associated documentation +# files (the "Software"), to deal in the Software without +# restriction, including without limitation the rights to use, +# copy, modify, merge, publish, distribute, sublicense, and/or sell +# copies of the Software, and to permit persons to whom the +# Software is furnished to do so, subject to the following +# conditions: +# +# The above copyright notice and this permission notice shall be +# included in all copies or substantial portions of the Software. +# +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +# EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES +# OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +# NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT +# HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, +# WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR +# OTHER DEALINGS IN THE SOFTWARE. +# +# ================================================================= + +[server] +home=. +url=http://localhost/pycsw/csw.py?config=tests/suites/sru/default.cfg +mimetype=application/xml; charset=UTF-8 +encoding=UTF-8 +language=en-US +maxrecords=10 +#loglevel=DEBUG +#logfile=/tmp/pycsw.log +#ogc_schemas_base=http://foo +federatedcatalogues=http://geo.data.gov/geoportal/csw/discovery +pretty_print=true +#gzip_compresslevel=8 +#spatial_ranking=true + +[manager] +transactions=false +allowed_ips=127.0.0.1 + +[metadata:main] +identification_title=pycsw Geospatial Catalogue +identification_abstract=pycsw is an OGC CSW server implementation written in Python +identification_keywords=catalogue,discovery +identification_keywords_type=theme +identification_fees=None +identification_accessconstraints=None +provider_name=pycsw +provider_url=http://pycsw.org/ +contact_name=Kralidis, Tom +contact_position=Senior Systems Scientist +contact_address=TBA +contact_city=Toronto +contact_stateorprovince=Ontario +contact_postalcode=M9C 3Z9 +contact_country=Canada +contact_phone=+01-416-xxx-xxxx +contact_fax=+01-416-xxx-xxxx +contact_email=tomkralidis@gmail.com +contact_url=http://kralidis.ca/ +contact_hours=0800h - 1600h EST +contact_instructions=During hours of service. Off on weekends. +contact_role=pointOfContact + +[repository] +# sqlite +database=sqlite:///tests/suites/cite/data/records.db +# postgres +#database=postgres://username:password@localhost/pycsw +table=records + +[metadata:inspire] +enabled=false +languages_supported=eng,gre +default_language=eng +date=2011-03-29 +gemet_keywords=Utility and governmental services +conformity_service=notEvaluated +contact_name=National Technical University of Athens +contact_email=tzotsos@gmail.com +temp_extent=2011-02-01/2011-03-30 + diff --git a/tests/functionaltests/suites/sru/expected/get_explain.xml b/tests/functionaltests/suites/sru/expected/get_explain.xml new file mode 100644 index 000000000..34103909d --- /dev/null +++ b/tests/functionaltests/suites/sru/expected/get_explain.xml @@ -0,0 +1,128 @@ + + + + 1.1 + + XML + http://explain.z3950.org/dtd/2.1/ + + + + PYCSW_HOST + PYCSW_PORT + pycsw + + + pycsw Geospatial Catalogue + pycsw is an OGC CSW server implementation written in Python + + + + + abstract + + abstract + + + + contributor + + contributor + + + + creator + + creator + + + + date + + date + + + + format + + format + + + + identifier + + identifier + + + + language + + language + + + + modified + + modified + + + + publisher + + publisher + + + + relation + + relation + + + + rights + + rights + + + + source + + source + + + + subject + + subject + + + + title + + title + + + + type + + type + + + + + title222 + + + + + + Simple Dublin Core + + + + 0 + + + + + diff --git a/tests/functionaltests/suites/sru/expected/get_search.xml b/tests/functionaltests/suites/sru/expected/get_search.xml new file mode 100644 index 000000000..ce70bc154 --- /dev/null +++ b/tests/functionaltests/suites/sru/expected/get_search.xml @@ -0,0 +1,6 @@ + + + + 1.1 + 5 + diff --git a/tests/functionaltests/suites/sru/expected/get_search_cql.xml b/tests/functionaltests/suites/sru/expected/get_search_cql.xml new file mode 100644 index 000000000..9a98be980 --- /dev/null +++ b/tests/functionaltests/suites/sru/expected/get_search_cql.xml @@ -0,0 +1,30 @@ + + + + 1.1 + 2 + + + + urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f + Lorem ipsum + http://purl.org/dc/dcmitype/Image + + + -2 + + info:srw/schema/1/dc-v1.1 + xml + + + + urn:uuid:a06af396-3105-442d-8b40-22b57a90d2f2 + Lorem ipsum dolor sit amet + http://purl.org/dc/dcmitype/Image + + + -1 + + info:srw/schema/1/dc-v1.1 + xml + diff --git a/tests/functionaltests/suites/sru/expected/get_search_maxrecords.xml b/tests/functionaltests/suites/sru/expected/get_search_maxrecords.xml new file mode 100644 index 000000000..cba2314eb --- /dev/null +++ b/tests/functionaltests/suites/sru/expected/get_search_maxrecords.xml @@ -0,0 +1,30 @@ + + + + 1.1 + 5 + + + + urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f + Lorem ipsum + http://purl.org/dc/dcmitype/Image + + + 1 + + info:srw/schema/1/dc-v1.1 + xml + + + + urn:uuid:88247b56-4cbc-4df9-9860-db3f8042e357 + + http://purl.org/dc/dcmitype/Dataset + + + 2 + + info:srw/schema/1/dc-v1.1 + xml + diff --git a/tests/functionaltests/suites/sru/expected/get_search_startrecord_maxrecords.xml b/tests/functionaltests/suites/sru/expected/get_search_startrecord_maxrecords.xml new file mode 100644 index 000000000..cba2314eb --- /dev/null +++ b/tests/functionaltests/suites/sru/expected/get_search_startrecord_maxrecords.xml @@ -0,0 +1,30 @@ + + + + 1.1 + 5 + + + + urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f + Lorem ipsum + http://purl.org/dc/dcmitype/Image + + + 1 + + info:srw/schema/1/dc-v1.1 + xml + + + + urn:uuid:88247b56-4cbc-4df9-9860-db3f8042e357 + + http://purl.org/dc/dcmitype/Dataset + + + 2 + + info:srw/schema/1/dc-v1.1 + xml + diff --git a/tests/functionaltests/suites/sru/get/requests.txt b/tests/functionaltests/suites/sru/get/requests.txt new file mode 100644 index 000000000..3db4b8cd0 --- /dev/null +++ b/tests/functionaltests/suites/sru/get/requests.txt @@ -0,0 +1,5 @@ +explain,mode=sru +search,mode=sru&version=1.1&operation=searchRetrieve&query=lor +search_maxrecords,mode=sru&operation=searchRetrieve&query=lor&maximumRecords=2 +search_startrecord_maxrecords,mode=sru&operation=searchRetrieve&query=lor&maximumRecords=2&startRecord=1 +search_cql,mode=sru&operation=searchRetrieve&query=dc:title%20like%20'%lor%'&maximumRecords=5 diff --git a/tests/functionaltests/suites/utf-8/default.cfg b/tests/functionaltests/suites/utf-8/default.cfg new file mode 100644 index 000000000..d68bfbdcb --- /dev/null +++ b/tests/functionaltests/suites/utf-8/default.cfg @@ -0,0 +1,89 @@ +# ================================================================= +# +# Authors: Tom Kralidis +# +# Copyright (c) 2011 Tom Kralidis +# +# Permission is hereby granted, free of charge, to any person +# obtaining a copy of this software and associated documentation +# files (the "Software"), to deal in the Software without +# restriction, including without limitation the rights to use, +# copy, modify, merge, publish, distribute, sublicense, and/or sell +# copies of the Software, and to permit persons to whom the +# Software is furnished to do so, subject to the following +# conditions: +# +# The above copyright notice and this permission notice shall be +# included in all copies or substantial portions of the Software. +# +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +# EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES +# OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +# NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT +# HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, +# WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR +# OTHER DEALINGS IN THE SOFTWARE. +# +# ================================================================= + +[server] +home=. +url=http://localhost/pycsw/csw.py?config=tests/suites/utf-8/default.cfg +mimetype=application/xml; charset=UTF-8 +encoding=UTF-8 +language=en-US +maxrecords=10 +#loglevel=DEBUG +#logfile=/tmp/pycsw.log +#ogc_schemas_base=http://foo +federatedcatalogues=http://demo.pycsw.org/gisdata/csw +pretty_print=true +#gzip_compresslevel=8 +#spatial_ranking=true + +[manager] +transactions=false +allowed_ips=127.0.0.1 + +[metadata:main] +identification_title=ErrŹĆŁÓdd +identification_abstract=pycsw is an OGC CSW server implementation written in Python +identification_keywords=catalogue,discovery +identification_keywords_type=theme +identification_fees=None +identification_accessconstraints=None +provider_name=pycsw +provider_url=http://pycsw.org/ +contact_name=Kralidis, Tom +contact_position=Senior Systems Scientist +contact_address=TBA +contact_city=Toronto +contact_stateorprovince=Ontario +contact_postalcode=M9C 3Z9 +contact_country=Canada +contact_phone=+01-416-xxx-xxxx +contact_fax=+01-416-xxx-xxxx +contact_email=tomkralidis@gmail.com +contact_url=http://kralidis.ca/ +contact_hours=0800h - 1600h EST +contact_instructions=During hours of service. Off on weekends. +contact_role=pointOfContact + +[repository] +# sqlite +database=sqlite:///tests/suites/cite/data/records.db +# postgres +#database=postgres://username:password@localhost/pycsw +table=records + +[metadata:inspire] +enabled=false +languages_supported=eng,gre +default_language=eng +date=2011-03-29 +gemet_keywords=Utility and governmental services +conformity_service=notEvaluated +contact_name=National Technical University of Athens +contact_email=tzotsos@gmail.com +temp_extent=2011-02-01/2011-03-30 diff --git a/tests/functionaltests/suites/utf-8/expected/post_GetCapabilities.xml b/tests/functionaltests/suites/utf-8/expected/post_GetCapabilities.xml new file mode 100644 index 000000000..094ce1123 --- /dev/null +++ b/tests/functionaltests/suites/utf-8/expected/post_GetCapabilities.xml @@ -0,0 +1,262 @@ + + + + + ErrŹĆŁÓdd + pycsw is an OGC CSW server implementation written in Python + + catalogue + discovery + theme + + CSW + 2.0.2 + 3.0.0 + None + None + + + pycsw + + + Kralidis, Tom + Senior Systems Scientist + + + +01-416-xxx-xxxx + +01-416-xxx-xxxx + + + TBA + Toronto + Ontario + M9C 3Z9 + Canada + tomkralidis@gmail.com + + + 0800h - 1600h EST + During hours of service. Off on weekends. + + pointOfContact + + + + + + + + + + + + Filter_Capabilities + OperationsMetadata + ServiceIdentification + ServiceProvider + + + + + + + + + + + application/json + application/xml + + + http://www.w3.org/2001/XMLSchema + http://www.w3.org/TR/xmlschema-1/ + http://www.w3.org/XML/Schema + + + csw:Record + + + + + + + + + + + DescribeRecord.outputFormat + DescribeRecord.schemaLanguage + DescribeRecord.typeName + GetCapabilities.sections + GetRecordById.ElementSetName + GetRecordById.outputFormat + GetRecordById.outputSchema + GetRecords.CONSTRAINTLANGUAGE + GetRecords.ElementSetName + GetRecords.outputFormat + GetRecords.outputSchema + GetRecords.resultType + GetRecords.typeNames + + + + + + + + + + + CQL_TEXT + FILTER + + + brief + full + summary + + + application/json + application/xml + + + http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ + http://www.interlis.ch/INTERLIS2.3 + http://www.opengis.net/cat/csw/2.0.2 + http://www.opengis.net/cat/csw/csdgm + http://www.w3.org/2005/Atom + + + hits + results + validate + + + csw:Record + + + csw:AnyText + dc:contributor + dc:creator + dc:date + dc:format + dc:identifier + dc:language + dc:publisher + dc:relation + dc:rights + dc:source + dc:subject + dc:title + dc:type + dct:abstract + dct:modified + ows:BoundingBox + + + + + + + + + + + brief + full + summary + + + application/json + application/xml + + + http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ + http://www.interlis.ch/INTERLIS2.3 + http://www.opengis.net/cat/csw/2.0.2 + http://www.opengis.net/cat/csw/csdgm + http://www.w3.org/2005/Atom + + + + + + + + + + + CSW + + + 2.0.2 + 3.0.0 + + + http://demo.pycsw.org/gisdata/csw + + + 10 + + + XML + SOAP + + + allowed + + + + + + gml:Point + gml:LineString + gml:Polygon + gml:Envelope + + + + + + + + + + + + + + + + + + + Between + EqualTo + GreaterThan + GreaterThanEqualTo + LessThan + LessThanEqualTo + Like + NotEqualTo + NullCheck + + + + + length + lower + ltrim + rtrim + trim + upper + + + + + + + + + + diff --git a/tests/functionaltests/suites/utf-8/post/GetCapabilities.xml b/tests/functionaltests/suites/utf-8/post/GetCapabilities.xml new file mode 100644 index 000000000..e4dc8070b --- /dev/null +++ b/tests/functionaltests/suites/utf-8/post/GetCapabilities.xml @@ -0,0 +1,9 @@ + + + + 2.0.2 + + + application/xml + + From c37de9a0322a8a1e891ca925bccf1dea042911d1 Mon Sep 17 00:00:00 2001 From: Ricardo Silva Date: Tue, 31 May 2016 01:09:34 +0100 Subject: [PATCH 093/119] Removed pycsw placeholder text and unnecessary config KVP param These are not needed anymore on GET requests --- tests/suites/apiso-inspire/get/requests.txt | 4 +- tests/suites/atom/get/requests.txt | 24 +-- tests/suites/cite/get/requests.txt | 44 +++--- tests/suites/csw30/get/requests.txt | 164 ++++++++++---------- tests/suites/default/get/requests.txt | 40 ++--- tests/suites/harvesting/get/requests.txt | 10 +- tests/suites/oaipmh/get/requests.txt | 40 ++--- tests/suites/sru/get/requests.txt | 10 +- 8 files changed, 168 insertions(+), 168 deletions(-) diff --git a/tests/suites/apiso-inspire/get/requests.txt b/tests/suites/apiso-inspire/get/requests.txt index 862e409d5..09816a219 100644 --- a/tests/suites/apiso-inspire/get/requests.txt +++ b/tests/suites/apiso-inspire/get/requests.txt @@ -1,2 +1,2 @@ -GetCapabilities,PYCSW_SERVER?config=tests/suites/apiso-inspire/default.cfg&service=CSW&version=2.0.2&request=GetCapabilities -GetCapabilities-lang,PYCSW_SERVER?config=tests/suites/apiso-inspire/default.cfg&service=CSW&version=2.0.2&request=GetCapabilities&lang=gre +GetCapabilities,service=CSW&version=2.0.2&request=GetCapabilities +GetCapabilities-lang,service=CSW&version=2.0.2&request=GetCapabilities&lang=gre diff --git a/tests/suites/atom/get/requests.txt b/tests/suites/atom/get/requests.txt index ba73cf845..6734cd5a7 100644 --- a/tests/suites/atom/get/requests.txt +++ b/tests/suites/atom/get/requests.txt @@ -1,12 +1,12 @@ -opensearch,PYCSW_SERVER?config=tests/suites/atom/default.cfg&mode=opensearch&service=CSW&version=2.0.2&request=GetRecords&typenames=csw:Record&resulttype=results&elementsetname=brief -opensearch-description,PYCSW_SERVER?config=tests/suites/atom/default.cfg&mode=opensearch&service=CSW&version=2.0.2&request=GetCapabilities -opensearch-ogc-q,PYCSW_SERVER?config=tests/suites/atom/default.cfg&mode=opensearch&service=CSW&version=2.0.2&request=GetRecords&elementsetname=full&resulttype=results&typenames=csw:Record&q=greece -opensearch-ogc-bbox,"PYCSW_SERVER?config=tests/suites/atom/default.cfg&mode=opensearch&service=CSW&version=2.0.2&request=GetRecords&elementsetname=full&resulttype=results&typenames=csw:Record&bbox=-180,-90,180,90" -opensearch-ogc-time,PYCSW_SERVER?config=tests/suites/atom/default.cfg&mode=opensearch&service=CSW&version=2.0.2&request=GetRecords&elementsetname=full&resulttype=results&typenames=csw:Record&time=2001/2004 -opensearch-ogc-timestart,PYCSW_SERVER?config=tests/suites/atom/default.cfg&mode=opensearch&service=CSW&version=2.0.2&request=GetRecords&elementsetname=full&resulttype=results&typenames=csw:Record&time=2004/ -opensearch-ogc-timeend,PYCSW_SERVER?config=tests/suites/atom/default.cfg&mode=opensearch&service=CSW&version=2.0.2&request=GetRecords&elementsetname=full&resulttype=results&typenames=csw:Record&time=/2004 -opensearch-ogc-q-and-time,PYCSW_SERVER?config=tests/suites/atom/default.cfg&mode=opensearch&service=CSW&version=2.0.2&request=GetRecords&elementsetname=full&resulttype=results&typenames=csw:Record&time=2001/2007&q=vitae -opensearch-ogc-bbox-and-time,"PYCSW_SERVER?config=tests/suites/atom/default.cfg&mode=opensearch&service=CSW&version=2.0.2&request=GetRecords&elementsetname=full&resulttype=results&typenames=csw:Record&time=2001/2007&bbox=-180,-90,180,90" -opensearch-ogc-q-and-bbox,"PYCSW_SERVER?config=tests/suites/atom/default.cfg&mode=opensearch&service=CSW&version=2.0.2&request=GetRecords&elementsetname=full&resulttype=results&typenames=csw:Record&q=vegetation&bbox=-180,-90,180,90" -opensearch-ogc-count-and-page1,"PYCSW_SERVER?config=tests/suites/atom/default.cfg&mode=opensearch&service=CSW&version=2.0.2&request=GetRecords&elementsetname=full&resulttype=results&typenames=csw:Record&q=vegetation&startposition=1" -opensearch-ogc-count-and-page2,"PYCSW_SERVER?config=tests/suites/atom/default.cfg&mode=opensearch&service=CSW&version=2.0.2&request=GetRecords&elementsetname=full&resulttype=results&typenames=csw:Record&q=vegetation&startposition=1&maxrecords=1" +opensearch,mode=opensearch&service=CSW&version=2.0.2&request=GetRecords&typenames=csw:Record&resulttype=results&elementsetname=brief +opensearch-description,mode=opensearch&service=CSW&version=2.0.2&request=GetCapabilities +opensearch-ogc-q,mode=opensearch&service=CSW&version=2.0.2&request=GetRecords&elementsetname=full&resulttype=results&typenames=csw:Record&q=greece +opensearch-ogc-bbox,mode=opensearch&service=CSW&version=2.0.2&request=GetRecords&elementsetname=full&resulttype=results&typenames=csw:Record&bbox=-180,-90,180,90 +opensearch-ogc-time,mode=opensearch&service=CSW&version=2.0.2&request=GetRecords&elementsetname=full&resulttype=results&typenames=csw:Record&time=2001/2004 +opensearch-ogc-timestart,mode=opensearch&service=CSW&version=2.0.2&request=GetRecords&elementsetname=full&resulttype=results&typenames=csw:Record&time=2004/ +opensearch-ogc-timeend,mode=opensearch&service=CSW&version=2.0.2&request=GetRecords&elementsetname=full&resulttype=results&typenames=csw:Record&time=/2004 +opensearch-ogc-q-and-time,mode=opensearch&service=CSW&version=2.0.2&request=GetRecords&elementsetname=full&resulttype=results&typenames=csw:Record&time=2001/2007&q=vitae +opensearch-ogc-bbox-and-time,mode=opensearch&service=CSW&version=2.0.2&request=GetRecords&elementsetname=full&resulttype=results&typenames=csw:Record&time=2001/2007&bbox=-180,-90,180,90 +opensearch-ogc-q-and-bbox,mode=opensearch&service=CSW&version=2.0.2&request=GetRecords&elementsetname=full&resulttype=results&typenames=csw:Record&q=vegetation&bbox=-180,-90,180,90 +opensearch-ogc-count-and-page1,mode=opensearch&service=CSW&version=2.0.2&request=GetRecords&elementsetname=full&resulttype=results&typenames=csw:Record&q=vegetation&startposition=1 +opensearch-ogc-count-and-page2,mode=opensearch&service=CSW&version=2.0.2&request=GetRecords&elementsetname=full&resulttype=results&typenames=csw:Record&q=vegetation&startposition=1&maxrecords=1 diff --git a/tests/suites/cite/get/requests.txt b/tests/suites/cite/get/requests.txt index 9eb5bc23f..271982886 100644 --- a/tests/suites/cite/get/requests.txt +++ b/tests/suites/cite/get/requests.txt @@ -1,22 +1,22 @@ -27e17158-c57a-4493-92ac-dba8934cf462,PYCSW_SERVER?config=tests/suites/cite/default.cfg&service=CSW&version=2.0.2&request=GetCapabilities -27f69b66-5f05-4311-a89c-73ca55c2686b,PYCSW_SERVER?config=tests/suites/cite/default.cfg&Service=CSW&Version=2.0.2&Request=GetRecordById&ElementSetName=brief&ID=urn%3Auuid%3A19887a8a-f6b0-4a63-ae56-7fba0e17801f -2ab7d1fa-885b-459f-80e4-b6282eab4f8c,PYCSW_SERVER?config=tests/suites/cite/default.cfg&service=CSW&request=GetCapabilities&acceptversions=2.0.2&date=2006-10-20 -37aa90e2-6ff0-420c-af15-8b9463099a73,PYCSW_SERVER?config=tests/suites/cite/default.cfg&service=CSW&version=2.0.2&request=GetRecordById&id=urn%3Auuid%3A9a669547-b69b-469f-a11f-2d875366bbdc -3a8a3c47-455f-4f49-9078-03119f3e70b3,PYCSW_SERVER?config=tests/suites/cite/default.cfg&service=CSW&request=GetCapabilities&acceptformats=message/example -4515831f-834a-4699-95f6-ab0c2cbfcfd0,PYCSW_SERVER?config=tests/suites/cite/default.cfg&service=CSW&version=2.0.2&request=GetRecordById -477b23a3-baa9-47c8-9541-5fe27735ed49,PYCSW_SERVER?config=tests/suites/cite/default.cfg&service=CSW&request=GetCapabilities§ions= -48f26761-3a9d-48db-bee1-da089f5fb857,PYCSW_SERVER?config=tests/suites/cite/default.cfg&sErViCe=CSW&REQUEST=GetCapabilities&version=2.0.2 -4e38092f-1586-44b8-988e-0acfa5855916,PYCSW_SERVER?config=tests/suites/cite/default.cfg&Service=CSW&Version=2.0.2&Request=GetRecordById&OutputFormat=application/bogus_xml&id=urn:uuid:a06af396-3105-442d-8b40-22b57a90d2f2,urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f,urn:uuid:ab42a8c4-95e8-4630-bf79-33e59241605a -55c38f00-2553-42c1-99ab-33edbb561ad7,PYCSW_SERVER?config=tests/suites/cite/default.cfg&service=CSW&request=GetCapabilities§ions=OperationsMetadata,ServiceIdentification -5ab5db18-c87a-4fbf-a8d8-b7289b09ac81,PYCSW_SERVER?config=tests/suites/cite/default.cfg&service=FOO&request=GetCapabilities -6a4f57ca-a1bd-4802-89c2-44860dbdb0f0,PYCSW_SERVER?config=tests/suites/cite/default.cfg&service=CSW&version=2.0.2&request=GetRecordById&id=urn:uuid:ce8627a0-685c-11db-bd13-0800200c9a66,urn:uuid:6a3de50b-fa66-4b58-a0e6-ca146fdd18d4 -6c375703-9c00-4aef-bec7-d2e964f849eb,PYCSW_SERVER?config=tests/suites/cite/default.cfg&Service=CSW&Version=2.0.2&Request=GetRecordById&OutputSchema=http://www.w3.org/2005/Atom&Id=urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f -80f31def-4185-48b9-983a-960566918eae,PYCSW_SERVER?config=tests/suites/cite/default.cfg&service=CSW&request=GetCapabilities -8e2232ed-05d9-44ae-8b04-0911cbe6a507,PYCSW_SERVER?config=tests/suites/cite/default.cfg&SERVICE=CSW&REQUEST=GetCapabilities&ACCEPTVERSIONS=2006.10.29 -9697f0aa-3b6a-4125-83a5-61e8826127c4,PYCSW_SERVER?config=tests/suites/cite/default.cfg&service=CSW&request=GetCapabilities -9bfd17fa-15dc-4a10-8fa7-b3cff7013dd7,PYCSW_SERVER?config=tests/suites/cite/default.cfg&Service=CSW&Version=2.0.2&Request=GetRecordById&ElementSetName=full&ID=urn%3Auuid%3Ae9330592-0932-474b-be34-c3a3bb67c7db -b81c3595-06d6-4693-82ea-1ff8650755ac,PYCSW_SERVER?config=tests/suites/cite/default.cfg&service=CSW&version=2.0.2&request=GetRecordById&id=urn:uuid:ce8627a0-685c-11db-bd13-0800200c9a66 -ba5fc729-3b71-47a0-b7d0-42ec565cd185,PYCSW_SERVER?config=tests/suites/cite/default.cfg&SERVICE=CSW&REQUEST=GetCapabilities&ACCEPTVERSIONS=2.0.2,2.0.0 -c4ea754f-c158-4d8d-8253-dc8f86021b52,PYCSW_SERVER?config=tests/suites/cite/default.cfg&request=GetCapabilities -f4692ec5-9547-4a05-88ab-e6154af2640a,PYCSW_SERVER?config=tests/suites/cite/default.cfg&service=CSW&version=2.0.2&request=GetCapabilities -f997f25e-c865-4d53-a362-0ed1846337f2,PYCSW_SERVER?config=tests/suites/cite/default.cfg&service=CSW&version=2.0.2&request=GetRecordById&id=urn:uuid:94bc9c83-97f6-4b40-9eb8-a8e8787a5c63 +27e17158-c57a-4493-92ac-dba8934cf462,service=CSW&version=2.0.2&request=GetCapabilities +27f69b66-5f05-4311-a89c-73ca55c2686b,Service=CSW&Version=2.0.2&Request=GetRecordById&ElementSetName=brief&ID=urn%3Auuid%3A19887a8a-f6b0-4a63-ae56-7fba0e17801f +2ab7d1fa-885b-459f-80e4-b6282eab4f8c,service=CSW&request=GetCapabilities&acceptversions=2.0.2&date=2006-10-20 +37aa90e2-6ff0-420c-af15-8b9463099a73,service=CSW&version=2.0.2&request=GetRecordById&id=urn%3Auuid%3A9a669547-b69b-469f-a11f-2d875366bbdc +3a8a3c47-455f-4f49-9078-03119f3e70b3,service=CSW&request=GetCapabilities&acceptformats=message/example +4515831f-834a-4699-95f6-ab0c2cbfcfd0,service=CSW&version=2.0.2&request=GetRecordById +477b23a3-baa9-47c8-9541-5fe27735ed49,service=CSW&request=GetCapabilities§ions= +48f26761-3a9d-48db-bee1-da089f5fb857,sErViCe=CSW&REQUEST=GetCapabilities&version=2.0.2 +4e38092f-1586-44b8-988e-0acfa5855916,Service=CSW&Version=2.0.2&Request=GetRecordById&OutputFormat=application/bogus_xml&id=urn:uuid:a06af396-3105-442d-8b40-22b57a90d2f2,urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f,urn:uuid:ab42a8c4-95e8-4630-bf79-33e59241605a +55c38f00-2553-42c1-99ab-33edbb561ad7,service=CSW&request=GetCapabilities§ions=OperationsMetadata,ServiceIdentification +5ab5db18-c87a-4fbf-a8d8-b7289b09ac81,service=FOO&request=GetCapabilities +6a4f57ca-a1bd-4802-89c2-44860dbdb0f0,service=CSW&version=2.0.2&request=GetRecordById&id=urn:uuid:ce8627a0-685c-11db-bd13-0800200c9a66,urn:uuid:6a3de50b-fa66-4b58-a0e6-ca146fdd18d4 +6c375703-9c00-4aef-bec7-d2e964f849eb,Service=CSW&Version=2.0.2&Request=GetRecordById&OutputSchema=http://www.w3.org/2005/Atom&Id=urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f +80f31def-4185-48b9-983a-960566918eae,service=CSW&request=GetCapabilities +8e2232ed-05d9-44ae-8b04-0911cbe6a507,SERVICE=CSW&REQUEST=GetCapabilities&ACCEPTVERSIONS=2006.10.29 +9697f0aa-3b6a-4125-83a5-61e8826127c4,service=CSW&request=GetCapabilities +9bfd17fa-15dc-4a10-8fa7-b3cff7013dd7,Service=CSW&Version=2.0.2&Request=GetRecordById&ElementSetName=full&ID=urn%3Auuid%3Ae9330592-0932-474b-be34-c3a3bb67c7db +b81c3595-06d6-4693-82ea-1ff8650755ac,service=CSW&version=2.0.2&request=GetRecordById&id=urn:uuid:ce8627a0-685c-11db-bd13-0800200c9a66 +ba5fc729-3b71-47a0-b7d0-42ec565cd185,SERVICE=CSW&REQUEST=GetCapabilities&ACCEPTVERSIONS=2.0.2,2.0.0 +c4ea754f-c158-4d8d-8253-dc8f86021b52,request=GetCapabilities +f4692ec5-9547-4a05-88ab-e6154af2640a,service=CSW&version=2.0.2&request=GetCapabilities +f997f25e-c865-4d53-a362-0ed1846337f2,service=CSW&version=2.0.2&request=GetRecordById&id=urn:uuid:94bc9c83-97f6-4b40-9eb8-a8e8787a5c63 diff --git a/tests/suites/csw30/get/requests.txt b/tests/suites/csw30/get/requests.txt index d93dd98d0..57b9acf43 100644 --- a/tests/suites/csw30/get/requests.txt +++ b/tests/suites/csw30/get/requests.txt @@ -1,82 +1,82 @@ -GetCapabilities-base-url,PYCSW_SERVER?config=tests/suites/csw30/default.cfg -GetCapabilities-no-version,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&service=CSW&request=GetCapabilities -GetCapabilities,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&service=CSW&version=3.0.0&request=GetCapabilities -Exception-invalid-request,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&service=CSW&version=3.0.0&request=GetCapabilities-foo -Exception-GetDomain,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&service=CSW&version=3.0.0&request=GetDomain -GetDomain-parameter,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&service=CSW&version=3.0.0&request=GetDomain¶metername=GetRecords.ElementSetName -GetDomain-value-reference,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&service=CSW&version=3.0.0&request=GetDomain&valuereference=dc:title -Exception-GetDomain-value-reference,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&service=CSW&version=3.0.0&request=GetDomain&valuereference=dc:title2 -Exception-GetRecordById-dc.xml,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&service=CSW&version=3.0.0&request=GetRecordById&id=urn:uuid:829babb0-b2f1-49e1-8cd5-7b489fe71a1e -Exception-GetRecordById-404,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&service=CSW&version=3.0.0&request=GetRecordById&id=does_not_exist2 -OpenSearch-description,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&mode=opensearch&service=CSW&version=3.0.0&request=GetCapabilities -GetRepositoryItem,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&service=CSW&version=3.0.0&request=GetRepositoryItem&id=urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f -Exception-GetRepositoryItem-notfound,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&service=CSW&version=3.0.0&request=GetRepositoryItem&id=NOTFOUND -002258f0-627f-457f-b2ad-025777c77ac8,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&mode=opensearch&service=CSW&version=3.0.0&request=GetCapabilities -045c600d-973d-41eb-9f60-eba1b717b720,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&mode=opensearch&service=CSW&version=3.0.0&request=GetRecords&elementsetname=full&typenames=csw:Record&resulttype=results&q=Fusc%C3%A9%20Land&bbox=&time=/&outputformat=application/atom%2Bxml&startposition=1&maxrecords=&recordids= -0bbcf862-5211-4351-9988-63f8bec49c98,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&elementSetName=summary&outputFormat=application/atom%2Bxml&request=GetRecords&service=CSW&typeNames=Record&version=3.0.0 -0bdf8457-971e-4ed1-be4a-5feca4dcd8fa,PYCSW_SERVER?config=tests/suites/csw30/default.cfg -0d8bbdec-0846-42ca-8dc8-b7f4cba41d67,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&elementName=tns:title&request=GetRecords&service=CSW&typeNames=Record&namespace=xmlns(tns%3Dhttp://purl.org/dc/elements/1.1/)&version=3.0.0 -0e1dca37-477a-4060-99fe-7799b52d656c,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&mode=opensearch&service=CSW&version=3.0.0&request=GetRecords&elementsetname=full&typenames=csw:Record&resulttype=results&q=lpppclq&bbox=&time=/&outputformat=application/atom%2Bxml&startposition=1&maxrecords=&recordids= -13c87956-51a4-4780-a8e9-6e0b5c0bb473,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&elementSetName=full&maxRecords=20&request=GetRecords&service=CSW&typeNames=Record&version=3.0.0 -151d982f-ebd3-4cb2-b507-a667713a1e92,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&acceptFormats=model/x3d%2Bxml&acceptVersions=3.0.0&request=GetCapabilities&service=CSW -1869e495-1a61-4713-8285-76d1336ee1a6,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&acceptVersions=3.0.0&request=GetCapabilities -1bcb42a9-538c-4f0a-9d4c-d6f10b720aa6,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&request=GetRecordById&service=CSW&version=3.0.0 -22f44168-2ccf-4801-ad96-204212566d56,PYCSW_SERVER?config=tests/suites/csw30/default.cfg -2499a9c9-8d33-449c-bc92-d494adfcc84d,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&acceptVersions=3.0.0§ions=All&request=GetCapabilities&service=CSW -27f4f39c-d92a-4e3c-b961-c6aa8c24e513,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&acceptFormats=application/xml&acceptVersions=3.0.0&request=GetCapabilities&service=CSW -28e569df-8596-4128-8d9a-29ad03138915,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&id=urn:uuid:a06af396-3105-442d-8b40-22b57a90d2f2&request=GetRecordById&service=CSW&version=3.0.0 -2b06a5c8-0df2-4af1-8d2e-a425de11c845,PYCSW_SERVER?config=tests/suites/csw30/default.cfg -2ba1418a-444d-4cce-9cfe-4c94efcf8b55,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&maxRecords=2&elementSetName=summary&outputFormat=application/atom%2Bxml&request=GetRecords&service=CSW&typeNames=csw3:Record&startPosition=3&namespace=xmlns(csw3%3Dhttp://www.opengis.net/cat/csw/3.0)&version=3.0.0 -397fe17a-d5b4-4f96-8cc4-4ce467ed4d0a,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&service=CSW&version=3.0.0&request=GetRecords&elementsetname=full&typenames=csw:Record&resulttype=results&q=ipsum&bbox=&time=/&outputformat=application/xml&outputschema=http://www.opengis.net/cat/csw/3.0&startposition=1&maxrecords=&recordids= -3dcd1b15-73d2-4b7d-a3e3-ff15bf14aae4,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&elementSetName=brief&request=GetRecords&service=CSW&typeNames=tns:Record&namespace=xmlns(tns%3Dhttp://www.opengis.net/cat/csw/3.0)&version=3.0.0 -405e1ff1-5c75-4846-a28b-cfaff2a6921a,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&elementSetName=summary&recordIds=urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f,urn:uuid:e9330592-0932-474b-be34-c3a3bb67c7db&request=GetRecords&service=CSW&typeNames=Record&version=3.0.0 -43cd6471-6ac7-45bd-8ff9-148cb2de9a52,PYCSW_SERVER?config=tests/suites/csw30/default.cfg -4566d2ec-1283-4a02-baed-a74fc5b47e37,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&acceptVersions=3.0.0§ions=ServiceIdentification&request=GetCapabilities&service=CSW -461bd4c5-6623-490d-9036-d91a2201e87b,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&acceptVersions=3.0.0§ions=Filter_Capabilities&request=GetCapabilities&service=CSW -5496894a-3877-4f62-a20b-5d7126f94925,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&service=CSW&version=3.0.0&request=GetRecords&elementsetname=full&typenames=csw:Record&resulttype=results&q=&bbox=514432,5429689,529130,5451619&time=/&outputformat=application/xml&outputschema=http://www.opengis.net/cat/csw/3.0&startposition=1&maxrecords=&recordids= -5a015f6a-bf14-4977-b1e3-6577eb0223c8,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&service=CSW&version=3.0.0&request=GetRecords&elementsetname=full&typenames=csw:Record&resulttype=results&q=&bbox=-6.17,44.79,17.92,68.41&time=/&outputformat=application/xml&outputschema=http://www.opengis.net/cat/csw/3.0&startposition=1&maxrecords=&recordids= -5c3a2390-1fb9-43f0-b96c-f48c7a69c990,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&id=urn:uuid:88247b56-4cbc-4df9-9860-db3f8042e357&outputFormat=model/vnd.collada%2Bxml&request=GetRecordById&service=CSW&version=3.0.0 -5e9e67dc-18d6-4645-8111-c6263c88a61f,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&acceptVersions=3.0.0§ions=OperationsMetadata&request=GetCapabilities&service=CSW -604d9379-741c-42e5-b4cf-92e56c87fa64,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&elementSetName=full&q=amet&request=GetRecords&service=CSW&typeNames=Record&version=3.0.0 -60e6af95-d5fc-465a-82e2-fd2e6d85e4af,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&request=GetRecords&service=CSW&typeNames=UnknownType&version=3.0.0 -62ad94c2-b558-4265-a427-23d6677975d6,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&mode=opensearch&service=CSW&version=3.0.0&request=GetRecords&elementsetname=full&typenames=csw:Record&resulttype=results&q=&bbox=&time=/&outputformat=application/atom%2Bxml&startposition=1&maxrecords=&recordids=uid-bc5017e6-5cc8-4b03-aee7-d88f88caba0a -6a5e247b-0961-4b8a-a0d6-35a491d9cfe7,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&elementSetName=undefined-view&request=GetRecords&service=CSW&typeNames=Record&version=3.0.0 -6a9d0558-9d87-495b-b999-b49a3ef1cf99,PYCSW_SERVER?config=tests/suites/csw30/default.cfg -6bd790c9-6019-4652-9c91-330a894d6700,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&service=CSW&version=3.0.0&request=GetRecords&elementsetname=full&typenames=csw:Record&resulttype=results&q=Fusc%C3%A9%20Land&bbox=&time=/&outputformat=application/xml&outputschema=http://www.opengis.net/cat/csw/3.0&startposition=1&maxrecords=&recordids= -6e9cba43-5e27-415d-adbd-a92851c2c173,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&acceptVersions=3.0.0&request=GetCapabilities&service=CSW -7630d230-e142-4a09-accf-f091000b90cd,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&id=urn:uuid:66ae76b7-54ba-489b-a582-0f0633d96493&request=GetRecordById&service=CSW&version=3.0.0 -7e82446a-b5dc-43fe-9a73-4cc1f2f2f0bf,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&acceptFormats=text/xml&acceptVersions=3.0.0&request=GetCapabilities&service=CSW -8025978e-1a35-4d70-80c2-e8329e0c7864,PYCSW_SERVER?config=tests/suites/csw30/default.cfg -8184ae4f-536d-4978-8b28-ad703be96967,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&elementSetName=brief&bbox=44.79,-6.17,68.41,17.92,urn:ogc:def:crs:EPSG::4326&request=GetRecords&service=CSW&typeNames=Record&version=3.0.0 -88f63a89-664f-4315-b4f8-04a0b33803a7,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&maxRecords=15&elementSetName=summary&q=Mauris&bbox=-6.17,44.79,17.92,68.41&request=GetRecords&service=CSW&typeNames=Record&version=3.0.0 -8987f8f0-4d93-4481-968c-a2ccbd6b8be2,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&id=urn:example:1461546298217&request=GetRecordById&service=CSW&version=3.0.0 -8e5fa0f6-3f29-4d1f-abe2-d9866f3def98,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&mode=opensearch&service=CSW&version=3.0.0&request=GetRecords&elementsetname=full&typenames=csw:Record&resulttype=results&q=&bbox=-180,-90,180,90&time=/&outputformat=application/atom%2Bxml&startposition=1&maxrecords=&recordids= -9000ec29-5649-474e-b2d6-55c00f8a52c0,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&acceptVersions=9999.12.31&request=GetCapabilities&service=CSW -91914d35-7bbf-45e6-9b37-5ef484869a4e,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&elementSetName=summary&bbox=-6.17,44.79,17.92,68.41&request=GetRecords&service=CSW&typeNames=Record&version=3.0.0 -92d4844d-57d5-4cf3-8f47-ba50e369dc04,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&elementSetName=full&q=atkovxqmf&request=GetRecords&service=CSW&typeNames=Record&version=3.0.0 -9c0e2a4b-b4e6-41c0-b630-c8c99fc89ff3,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&elementSetName=brief&outputSchema=urn:uuid:6a29d2a8-9651-47a6-9b14-f05d2b5644f0&request=GetRecords&service=CSW&typeNames=Record&version=3.0.0 -9d7ffac8-9798-428d-8e27-3cd12497ee6b,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&id=urn:uuid:1ef30a8b-876d-4828-9246-c37ab4510bbd&outputSchema=http://www.example.org/ns/alpha&request=GetRecordById&service=CSW&version=3.0.0 -a2f18643-e24e-4fa5-b780-6de4a2dbc814,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&id=urn:uuid:829babb0-b2f1-49e1-8cd5-7b489fe71a1e&outputFormat=application/atom%2Bxml&request=GetRecordById&service=CSW&version=3.0.0 -abc90c8c-5868-4405-a73e-64c849be3b2a,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&mode=opensearch&service=CSW&version=3.0.0&request=GetRecords&elementsetname=full&typenames=csw:Record&resulttype=results&q=&bbox=514432,5429689,529130,5451619&time=/&outputformat=application/atom%2Bxml&startposition=1&maxrecords=&recordids= -ad0c0571-09ed-436a-9a4f-a5de744c88fe,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&maxRecords=2&elementSetName=summary&request=GetRecords&service=CSW&typeNames=csw3:Record&startPosition=3&namespace=xmlns(csw3%3Dhttp://www.opengis.net/cat/csw/3.0)&version=3.0.0 -af502903-f4ee-47ee-b76e-af878d238bcc,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&service=CSW&version=3.0.0&request=GetRecords&elementsetname=full&typenames=csw:Record&resulttype=results&q=&bbox=-180,-90,180,90&time=/&outputformat=application/xml&outputschema=http://www.opengis.net/cat/csw/3.0&startposition=1&maxrecords=&recordids= -b2aafc3f-4f35-47bc-affd-08590972deae,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&mode=opensearch&service=CSW&version=3.0.0&request=GetRecords&elementsetname=full&typenames=csw:Record&resulttype=results&q=&bbox=-6.17,44.79,17.92,68.41&time=/&outputformat=application/atom%2Bxml&startposition=1&maxrecords=&recordids= -b6069623-f7d8-4021-8582-98f0aea0f763,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&mode=opensearch&service=CSW&version=3.0.0&request=GetRecords&elementsetname=full&typenames=csw:Record&resulttype=results&q=&bbox=&time=/&outputformat=application/atom%2Bxml&startposition=3&maxrecords=4&recordids= -b9a07a54-75a8-45bd-b341-2823600211e3,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&elementSetName=brief&bbox=472944,5363287,492722,5455253,urn:ogc:def:crs:EPSG::0000&request=GetRecords&service=CSW&typeNames=Record&version=3.0.0 -baa4a7d0-0c01-42b6-adc3-0d03e9949fa3,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&acceptVersions=3.0.0&request=getCapabilities&service=CSW -bfbe6409-f64a-4c89-acb3-50f260a5c743,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&elementSetName=summary&q=Fusc%C3%A9%20Land&request=GetRecords&service=CSW&typeNames=Record&version=3.0.0 -bfe20134-d1da-42ef-9c0f-8e1307bbf92b,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&service=CSW&version=3.0.0&request=GetRecords&elementsetname=full&typenames=csw:Record&resulttype=results&q=&bbox=&time=/&outputformat=application/xml&outputschema=http://www.opengis.net/cat/csw/3.0&startposition=3&maxrecords=4&recordids= -c03d173a-3f42-4956-89c8-1fe02c3a0873,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&SERVICE=CSW&Request=GetCapabilities&acceptversions=3.0.0 -cb43d8c3-e14c-4a9f-9231-4384b7dd21f3,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&elementName=undefined&request=GetRecords&service=CSW&typeNames=Record&version=3.0.0 -d03c6fd3-e821-4a26-b62f-d20a474e25af,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&acceptVersions=3.0.0§ions=ServiceProvider&request=GetCapabilities&service=CSW -d4ccbf96-a529-480e-a53d-5b88dc1dea7f,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&service=CSW&version=3.0.0&request=GetRecords&elementsetname=full&typenames=csw:Record&resulttype=results&q=&bbox=&time=/&outputformat=application/xml&outputschema=http://www.opengis.net/cat/csw/3.0&startposition=1&maxrecords=&recordids=uid-bc5017e6-5cc8-4b03-aee7-d88f88caba0a -d94c801a-1207-4897-b84a-53f3a192515b,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&service=CSW&version=3.0.0&request=GetRecords&elementsetname=full&typenames=csw:Record&resulttype=results&q=lpppclq&bbox=&time=/&outputformat=application/xml&outputschema=http://www.opengis.net/cat/csw/3.0&startposition=1&maxrecords=&recordids= -da859e34-91fc-495a-8c09-285a40c0900b,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&id=urn:uuid:94bc9c83-97f6-4b40-9eb8-a8e8787a5c63&elementSetName=full&request=GetRecordById&service=CSW&version=3.0.0 -dc246fb8-5af5-4fda-82bb-c18b3ecd439c,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&mode=opensearch&service=CSW&version=3.0.0&request=GetRecords&elementsetname=full&typenames=csw:Record&resulttype=results&q=ipsum&bbox=&time=/&outputformat=application/atom%2Bxml&startposition=1&maxrecords=&recordids= -de016645-6d5c-4855-943c-2db07ae9f49a,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&mode=opensearch&service=CSW&version=3.0.0&request=GetRecords&elementsetname=full&typenames=csw:Record&resulttype=results&q=&bbox=&time=/&outputformat=application/atom%2Bxml&startposition=1&maxrecords=&recordids=urn%3Auuid%3A94bc9c83-97f6-4b40-9eb8-a8e8787a5c63 -dff3ec6b-bb2d-4887-bd17-8fcf15def042,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&elementSetName=summary&request=GetRecords&service=CSW&typeNames=Record&version=3.0.0 -e38e6bfb-8ac4-4ae4-8b87-0aafbc8d3c6b,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&id=urn:uuid:1ef30a8b-876d-4828-9246-c37ab4510bbd&elementSetName=brief&request=GetRecordById&service=CSW&version=3.0.0 -e67ca935-d65d-4d8c-8302-1405333dded0,PYCSW_SERVER?config=tests/suites/csw30/default.cfg -e7704509-3441-458f-8ef0-e333c6b6043f,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&elementName=ns1:subject&elementSetName=brief&request=GetRecords&service=CSW&typeNames=Record&namespace=xmlns(ns1%3Dhttp://purl.org/dc/elements/1.1/)&version=3.0.0 -f1223a49-6d08-44ff-97fe-4c32cbbfad82,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&elementSetName=summary&maxRecords=0&q=titles&request=GetRecords&service=CSW&typeNames=Record&version=3.0.0 -f89dd4e1-3a81-4433-afd2-a3fa1bdb1e18,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&elementSetName=full&outputFormat=text/example&request=GetRecords&service=CSW&typeNames=Record&version=3.0.0 +GetCapabilities-base-url, +GetCapabilities-no-version,service=CSW&request=GetCapabilities +GetCapabilities,service=CSW&version=3.0.0&request=GetCapabilities +Exception-invalid-request,service=CSW&version=3.0.0&request=GetCapabilities-foo +Exception-GetDomain,service=CSW&version=3.0.0&request=GetDomain +GetDomain-parameter,service=CSW&version=3.0.0&request=GetDomain¶metername=GetRecords.ElementSetName +GetDomain-value-reference,service=CSW&version=3.0.0&request=GetDomain&valuereference=dc:title +Exception-GetDomain-value-reference,service=CSW&version=3.0.0&request=GetDomain&valuereference=dc:title2 +Exception-GetRecordById-dc.xml,service=CSW&version=3.0.0&request=GetRecordById&id=urn:uuid:829babb0-b2f1-49e1-8cd5-7b489fe71a1e +Exception-GetRecordById-404,service=CSW&version=3.0.0&request=GetRecordById&id=does_not_exist2 +OpenSearch-description,mode=opensearch&service=CSW&version=3.0.0&request=GetCapabilities +GetRepositoryItem,service=CSW&version=3.0.0&request=GetRepositoryItem&id=urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f +Exception-GetRepositoryItem-notfound,service=CSW&version=3.0.0&request=GetRepositoryItem&id=NOTFOUND +002258f0-627f-457f-b2ad-025777c77ac8,mode=opensearch&service=CSW&version=3.0.0&request=GetCapabilities +045c600d-973d-41eb-9f60-eba1b717b720,mode=opensearch&service=CSW&version=3.0.0&request=GetRecords&elementsetname=full&typenames=csw:Record&resulttype=results&q=Fusc%C3%A9%20Land&bbox=&time=/&outputformat=application/atom%2Bxml&startposition=1&maxrecords=&recordids= +0bbcf862-5211-4351-9988-63f8bec49c98,elementSetName=summary&outputFormat=application/atom%2Bxml&request=GetRecords&service=CSW&typeNames=Record&version=3.0.0 +0bdf8457-971e-4ed1-be4a-5feca4dcd8fa, +0d8bbdec-0846-42ca-8dc8-b7f4cba41d67,elementName=tns:title&request=GetRecords&service=CSW&typeNames=Record&namespace=xmlns(tns%3Dhttp://purl.org/dc/elements/1.1/)&version=3.0.0 +0e1dca37-477a-4060-99fe-7799b52d656c,mode=opensearch&service=CSW&version=3.0.0&request=GetRecords&elementsetname=full&typenames=csw:Record&resulttype=results&q=lpppclq&bbox=&time=/&outputformat=application/atom%2Bxml&startposition=1&maxrecords=&recordids= +13c87956-51a4-4780-a8e9-6e0b5c0bb473,elementSetName=full&maxRecords=20&request=GetRecords&service=CSW&typeNames=Record&version=3.0.0 +151d982f-ebd3-4cb2-b507-a667713a1e92,acceptFormats=model/x3d%2Bxml&acceptVersions=3.0.0&request=GetCapabilities&service=CSW +1869e495-1a61-4713-8285-76d1336ee1a6,acceptVersions=3.0.0&request=GetCapabilities +1bcb42a9-538c-4f0a-9d4c-d6f10b720aa6,request=GetRecordById&service=CSW&version=3.0.0 +22f44168-2ccf-4801-ad96-204212566d56, +2499a9c9-8d33-449c-bc92-d494adfcc84d,acceptVersions=3.0.0§ions=All&request=GetCapabilities&service=CSW +27f4f39c-d92a-4e3c-b961-c6aa8c24e513,acceptFormats=application/xml&acceptVersions=3.0.0&request=GetCapabilities&service=CSW +28e569df-8596-4128-8d9a-29ad03138915,id=urn:uuid:a06af396-3105-442d-8b40-22b57a90d2f2&request=GetRecordById&service=CSW&version=3.0.0 +2b06a5c8-0df2-4af1-8d2e-a425de11c845, +2ba1418a-444d-4cce-9cfe-4c94efcf8b55,maxRecords=2&elementSetName=summary&outputFormat=application/atom%2Bxml&request=GetRecords&service=CSW&typeNames=csw3:Record&startPosition=3&namespace=xmlns(csw3%3Dhttp://www.opengis.net/cat/csw/3.0)&version=3.0.0 +397fe17a-d5b4-4f96-8cc4-4ce467ed4d0a,service=CSW&version=3.0.0&request=GetRecords&elementsetname=full&typenames=csw:Record&resulttype=results&q=ipsum&bbox=&time=/&outputformat=application/xml&outputschema=http://www.opengis.net/cat/csw/3.0&startposition=1&maxrecords=&recordids= +3dcd1b15-73d2-4b7d-a3e3-ff15bf14aae4,elementSetName=brief&request=GetRecords&service=CSW&typeNames=tns:Record&namespace=xmlns(tns%3Dhttp://www.opengis.net/cat/csw/3.0)&version=3.0.0 +405e1ff1-5c75-4846-a28b-cfaff2a6921a,elementSetName=summary&recordIds=urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f,urn:uuid:e9330592-0932-474b-be34-c3a3bb67c7db&request=GetRecords&service=CSW&typeNames=Record&version=3.0.0 +43cd6471-6ac7-45bd-8ff9-148cb2de9a52, +4566d2ec-1283-4a02-baed-a74fc5b47e37,acceptVersions=3.0.0§ions=ServiceIdentification&request=GetCapabilities&service=CSW +461bd4c5-6623-490d-9036-d91a2201e87b,acceptVersions=3.0.0§ions=Filter_Capabilities&request=GetCapabilities&service=CSW +5496894a-3877-4f62-a20b-5d7126f94925,service=CSW&version=3.0.0&request=GetRecords&elementsetname=full&typenames=csw:Record&resulttype=results&q=&bbox=514432,5429689,529130,5451619&time=/&outputformat=application/xml&outputschema=http://www.opengis.net/cat/csw/3.0&startposition=1&maxrecords=&recordids= +5a015f6a-bf14-4977-b1e3-6577eb0223c8,service=CSW&version=3.0.0&request=GetRecords&elementsetname=full&typenames=csw:Record&resulttype=results&q=&bbox=-6.17,44.79,17.92,68.41&time=/&outputformat=application/xml&outputschema=http://www.opengis.net/cat/csw/3.0&startposition=1&maxrecords=&recordids= +5c3a2390-1fb9-43f0-b96c-f48c7a69c990,id=urn:uuid:88247b56-4cbc-4df9-9860-db3f8042e357&outputFormat=model/vnd.collada%2Bxml&request=GetRecordById&service=CSW&version=3.0.0 +5e9e67dc-18d6-4645-8111-c6263c88a61f,acceptVersions=3.0.0§ions=OperationsMetadata&request=GetCapabilities&service=CSW +604d9379-741c-42e5-b4cf-92e56c87fa64,elementSetName=full&q=amet&request=GetRecords&service=CSW&typeNames=Record&version=3.0.0 +60e6af95-d5fc-465a-82e2-fd2e6d85e4af,request=GetRecords&service=CSW&typeNames=UnknownType&version=3.0.0 +62ad94c2-b558-4265-a427-23d6677975d6,mode=opensearch&service=CSW&version=3.0.0&request=GetRecords&elementsetname=full&typenames=csw:Record&resulttype=results&q=&bbox=&time=/&outputformat=application/atom%2Bxml&startposition=1&maxrecords=&recordids=uid-bc5017e6-5cc8-4b03-aee7-d88f88caba0a +6a5e247b-0961-4b8a-a0d6-35a491d9cfe7,elementSetName=undefined-view&request=GetRecords&service=CSW&typeNames=Record&version=3.0.0 +6a9d0558-9d87-495b-b999-b49a3ef1cf99, +6bd790c9-6019-4652-9c91-330a894d6700,service=CSW&version=3.0.0&request=GetRecords&elementsetname=full&typenames=csw:Record&resulttype=results&q=Fusc%C3%A9%20Land&bbox=&time=/&outputformat=application/xml&outputschema=http://www.opengis.net/cat/csw/3.0&startposition=1&maxrecords=&recordids= +6e9cba43-5e27-415d-adbd-a92851c2c173,acceptVersions=3.0.0&request=GetCapabilities&service=CSW +7630d230-e142-4a09-accf-f091000b90cd,id=urn:uuid:66ae76b7-54ba-489b-a582-0f0633d96493&request=GetRecordById&service=CSW&version=3.0.0 +7e82446a-b5dc-43fe-9a73-4cc1f2f2f0bf,acceptFormats=text/xml&acceptVersions=3.0.0&request=GetCapabilities&service=CSW +8025978e-1a35-4d70-80c2-e8329e0c7864, +8184ae4f-536d-4978-8b28-ad703be96967,elementSetName=brief&bbox=44.79,-6.17,68.41,17.92,urn:ogc:def:crs:EPSG::4326&request=GetRecords&service=CSW&typeNames=Record&version=3.0.0 +88f63a89-664f-4315-b4f8-04a0b33803a7,maxRecords=15&elementSetName=summary&q=Mauris&bbox=-6.17,44.79,17.92,68.41&request=GetRecords&service=CSW&typeNames=Record&version=3.0.0 +8987f8f0-4d93-4481-968c-a2ccbd6b8be2,id=urn:example:1461546298217&request=GetRecordById&service=CSW&version=3.0.0 +8e5fa0f6-3f29-4d1f-abe2-d9866f3def98,mode=opensearch&service=CSW&version=3.0.0&request=GetRecords&elementsetname=full&typenames=csw:Record&resulttype=results&q=&bbox=-180,-90,180,90&time=/&outputformat=application/atom%2Bxml&startposition=1&maxrecords=&recordids= +9000ec29-5649-474e-b2d6-55c00f8a52c0,acceptVersions=9999.12.31&request=GetCapabilities&service=CSW +91914d35-7bbf-45e6-9b37-5ef484869a4e,elementSetName=summary&bbox=-6.17,44.79,17.92,68.41&request=GetRecords&service=CSW&typeNames=Record&version=3.0.0 +92d4844d-57d5-4cf3-8f47-ba50e369dc04,elementSetName=full&q=atkovxqmf&request=GetRecords&service=CSW&typeNames=Record&version=3.0.0 +9c0e2a4b-b4e6-41c0-b630-c8c99fc89ff3,elementSetName=brief&outputSchema=urn:uuid:6a29d2a8-9651-47a6-9b14-f05d2b5644f0&request=GetRecords&service=CSW&typeNames=Record&version=3.0.0 +9d7ffac8-9798-428d-8e27-3cd12497ee6b,id=urn:uuid:1ef30a8b-876d-4828-9246-c37ab4510bbd&outputSchema=http://www.example.org/ns/alpha&request=GetRecordById&service=CSW&version=3.0.0 +a2f18643-e24e-4fa5-b780-6de4a2dbc814,id=urn:uuid:829babb0-b2f1-49e1-8cd5-7b489fe71a1e&outputFormat=application/atom%2Bxml&request=GetRecordById&service=CSW&version=3.0.0 +abc90c8c-5868-4405-a73e-64c849be3b2a,mode=opensearch&service=CSW&version=3.0.0&request=GetRecords&elementsetname=full&typenames=csw:Record&resulttype=results&q=&bbox=514432,5429689,529130,5451619&time=/&outputformat=application/atom%2Bxml&startposition=1&maxrecords=&recordids= +ad0c0571-09ed-436a-9a4f-a5de744c88fe,maxRecords=2&elementSetName=summary&request=GetRecords&service=CSW&typeNames=csw3:Record&startPosition=3&namespace=xmlns(csw3%3Dhttp://www.opengis.net/cat/csw/3.0)&version=3.0.0 +af502903-f4ee-47ee-b76e-af878d238bcc,service=CSW&version=3.0.0&request=GetRecords&elementsetname=full&typenames=csw:Record&resulttype=results&q=&bbox=-180,-90,180,90&time=/&outputformat=application/xml&outputschema=http://www.opengis.net/cat/csw/3.0&startposition=1&maxrecords=&recordids= +b2aafc3f-4f35-47bc-affd-08590972deae,mode=opensearch&service=CSW&version=3.0.0&request=GetRecords&elementsetname=full&typenames=csw:Record&resulttype=results&q=&bbox=-6.17,44.79,17.92,68.41&time=/&outputformat=application/atom%2Bxml&startposition=1&maxrecords=&recordids= +b6069623-f7d8-4021-8582-98f0aea0f763,mode=opensearch&service=CSW&version=3.0.0&request=GetRecords&elementsetname=full&typenames=csw:Record&resulttype=results&q=&bbox=&time=/&outputformat=application/atom%2Bxml&startposition=3&maxrecords=4&recordids= +b9a07a54-75a8-45bd-b341-2823600211e3,elementSetName=brief&bbox=472944,5363287,492722,5455253,urn:ogc:def:crs:EPSG::0000&request=GetRecords&service=CSW&typeNames=Record&version=3.0.0 +baa4a7d0-0c01-42b6-adc3-0d03e9949fa3,acceptVersions=3.0.0&request=getCapabilities&service=CSW +bfbe6409-f64a-4c89-acb3-50f260a5c743,elementSetName=summary&q=Fusc%C3%A9%20Land&request=GetRecords&service=CSW&typeNames=Record&version=3.0.0 +bfe20134-d1da-42ef-9c0f-8e1307bbf92b,service=CSW&version=3.0.0&request=GetRecords&elementsetname=full&typenames=csw:Record&resulttype=results&q=&bbox=&time=/&outputformat=application/xml&outputschema=http://www.opengis.net/cat/csw/3.0&startposition=3&maxrecords=4&recordids= +c03d173a-3f42-4956-89c8-1fe02c3a0873,SERVICE=CSW&Request=GetCapabilities&acceptversions=3.0.0 +cb43d8c3-e14c-4a9f-9231-4384b7dd21f3,elementName=undefined&request=GetRecords&service=CSW&typeNames=Record&version=3.0.0 +d03c6fd3-e821-4a26-b62f-d20a474e25af,acceptVersions=3.0.0§ions=ServiceProvider&request=GetCapabilities&service=CSW +d4ccbf96-a529-480e-a53d-5b88dc1dea7f,service=CSW&version=3.0.0&request=GetRecords&elementsetname=full&typenames=csw:Record&resulttype=results&q=&bbox=&time=/&outputformat=application/xml&outputschema=http://www.opengis.net/cat/csw/3.0&startposition=1&maxrecords=&recordids=uid-bc5017e6-5cc8-4b03-aee7-d88f88caba0a +d94c801a-1207-4897-b84a-53f3a192515b,service=CSW&version=3.0.0&request=GetRecords&elementsetname=full&typenames=csw:Record&resulttype=results&q=lpppclq&bbox=&time=/&outputformat=application/xml&outputschema=http://www.opengis.net/cat/csw/3.0&startposition=1&maxrecords=&recordids= +da859e34-91fc-495a-8c09-285a40c0900b,id=urn:uuid:94bc9c83-97f6-4b40-9eb8-a8e8787a5c63&elementSetName=full&request=GetRecordById&service=CSW&version=3.0.0 +dc246fb8-5af5-4fda-82bb-c18b3ecd439c,mode=opensearch&service=CSW&version=3.0.0&request=GetRecords&elementsetname=full&typenames=csw:Record&resulttype=results&q=ipsum&bbox=&time=/&outputformat=application/atom%2Bxml&startposition=1&maxrecords=&recordids= +de016645-6d5c-4855-943c-2db07ae9f49a,mode=opensearch&service=CSW&version=3.0.0&request=GetRecords&elementsetname=full&typenames=csw:Record&resulttype=results&q=&bbox=&time=/&outputformat=application/atom%2Bxml&startposition=1&maxrecords=&recordids=urn%3Auuid%3A94bc9c83-97f6-4b40-9eb8-a8e8787a5c63 +dff3ec6b-bb2d-4887-bd17-8fcf15def042,elementSetName=summary&request=GetRecords&service=CSW&typeNames=Record&version=3.0.0 +e38e6bfb-8ac4-4ae4-8b87-0aafbc8d3c6b,id=urn:uuid:1ef30a8b-876d-4828-9246-c37ab4510bbd&elementSetName=brief&request=GetRecordById&service=CSW&version=3.0.0 +e67ca935-d65d-4d8c-8302-1405333dded0, +e7704509-3441-458f-8ef0-e333c6b6043f,elementName=ns1:subject&elementSetName=brief&request=GetRecords&service=CSW&typeNames=Record&namespace=xmlns(ns1%3Dhttp://purl.org/dc/elements/1.1/)&version=3.0.0 +f1223a49-6d08-44ff-97fe-4c32cbbfad82,elementSetName=summary&maxRecords=0&q=titles&request=GetRecords&service=CSW&typeNames=Record&version=3.0.0 +f89dd4e1-3a81-4433-afd2-a3fa1bdb1e18,elementSetName=full&outputFormat=text/example&request=GetRecords&service=CSW&typeNames=Record&version=3.0.0 diff --git a/tests/suites/default/get/requests.txt b/tests/suites/default/get/requests.txt index ee368671b..299790a0f 100644 --- a/tests/suites/default/get/requests.txt +++ b/tests/suites/default/get/requests.txt @@ -1,20 +1,20 @@ -GetCapabilities,PYCSW_SERVER?config=tests/suites/default/default.cfg&service=CSW&version=2.0.2&request=GetCapabilities -GetCapabilities-invalid-request,PYCSW_SERVER?config=tests/suites/default/default.cfg&service=CSW&version=2.0.2&request=GetCapabilitiese -GetRecords-all,PYCSW_SERVER?config=tests/suites/default/default.cfg&service=CSW&version=2.0.2&request=GetRecords&typenames=csw:Record&elementsetname=full -GetRecords-sortby-asc,PYCSW_SERVER?config=tests/suites/default/default.cfg&service=CSW&version=2.0.2&request=GetRecords&typenames=csw:Record&elementsetname=full&resulttype=results&sortby=dc:title:A -GetRecords-sortby-desc,PYCSW_SERVER?config=tests/suites/default/default.cfg&service=CSW&version=2.0.2&request=GetRecords&typenames=csw:Record&elementsetname=full&resulttype=results&sortby=dc:title:D -GetRecords-sortby-invalid-propertyname,PYCSW_SERVER?config=tests/suites/default/default.cfg&service=CSW&version=2.0.2&request=GetRecords&typenames=csw:Record&elementsetname=full&resulttype=results&sortby=dc:titlei:A -GetRecords-sortby-invalid-order,PYCSW_SERVER?config=tests/suites/default/default.cfg&service=CSW&version=2.0.2&request=GetRecords&typenames=csw:Record&elementsetname=full&resulttype=results&sortby=dc:title:FOO -GetRecords-filter,PYCSW_SERVER?config=tests/suites/default/default.cfg&service=CSW&version=2.0.2&request=GetRecords&typenames=csw:Record&elementsetname=full&resulttype=results&constraintlanguage=FILTER&constraint=%3Cogc%3AFilter%20xmlns%3Aogc%3D%22http%3A%2F%2Fwww.opengis.net%2Fogc%22%3E%3Cogc%3APropertyIsEqualTo%3E%3Cogc%3APropertyName%3Edc%3Atitle%3C%2Fogc%3APropertyName%3E%3Cogc%3ALiteral%3ELorem%20ipsum%3C%2Fogc%3ALiteral%3E%3C%2Fogc%3APropertyIsEqualTo%3E%3C%2Fogc%3AFilter%3E -GetRecords-filter-cql-title,PYCSW_SERVER?config=tests/suites/default/default.cfg&service=CSW&version=2.0.2&request=GetRecords&typenames=csw:Record&elementsetname=full&resulttype=results&constraintlanguage=CQL_TEXT&constraint=dc%3Atitle%20like%20%27%25lor%25%27 -GetRecords-filter-cql-title-with-spaces,PYCSW_SERVER?config=tests/suites/default/default.cfg&service=CSW&version=2.0.2&request=GetRecords&typenames=csw:Record&elementsetname=full&resulttype=results&constraintlanguage=CQL_TEXT&constraint=dc%3Atitle%20like%20%27%25Lorem%20ipsum%25%27 -GetRecords-filter-cql-title-or-abstract,PYCSW_SERVER?config=tests/suites/default/default.cfg&service=CSW&version=2.0.2&request=GetRecords&typenames=csw:Record&elementsetname=full&resulttype=results&constraintlanguage=CQL_TEXT&constraint=dc%3Atitle%20like%20%27%25lor%25%27%20or%20dct%3Aabstract%20like%20%27%25pharetra%25%27 -GetRecords-filter-cql-title-with-spaces-or-abstract,PYCSW_SERVER?config=tests/suites/default/default.cfg&service=CSW&version=2.0.2&request=GetRecords&typenames=csw:Record&elementsetname=full&resulttype=results&constraintlanguage=CQL_TEXT&constraint=dc%3Atitle%20like%20%27%25dolor%20sit%25%27%20or%20dct%3Aabstract%20like%20%27%25pharetra%25%27 -GetRecords-filter-cql-title-or-abstract-with-spaces,PYCSW_SERVER?config=tests/suites/default/default.cfg&service=CSW&version=2.0.2&request=GetRecords&typenames=csw:Record&elementsetname=full&resulttype=results&constraintlanguage=CQL_TEXT&constraint=dc%3Atitle%20like%20%27%25lor%25%27%20or%20dct%3Aabstract%20like%20%27%25pharetra%20in%25%27 -GetRecords-filter-cql-title-with-spaces-or-abstract-with-spaces,PYCSW_SERVER?config=tests/suites/default/default.cfg&service=CSW&version=2.0.2&request=GetRecords&typenames=csw:Record&elementsetname=full&resulttype=results&constraintlanguage=CQL_TEXT&constraint=dc%3Atitle%20like%20%27%25dolor%20sit%25%27%20or%20dct%3Aabstract%20like%20%27%25pharetra%20in%25%27 -GetRecords-empty-maxrecords,PYCSW_SERVER?config=tests/suites/default/default.cfg&service=CSW&version=2.0.2&request=GetRecords&typenames=csw:Record&elementsetname=full&maxrecords= -GetRepositoryItem,PYCSW_SERVER?config=tests/suites/default/default.cfg&service=CSW&version=2.0.2&request=GetRepositoryItem&id=urn:uuid:94bc9c83-97f6-4b40-9eb8-a8e8787a5c63 -Exception-GetRepositoryItem-notfound,PYCSW_SERVER?config=tests/suites/default/default.cfg&service=CSW&version=2.0.2&request=GetRepositoryItem&id=NOTFOUND -Exception-GetRepositoryItem-service-invalid1,PYCSW_SERVER?config=tests/suites/default/default.cfg&service=CSW%00&version=2.0.2&request=GetRepositoryItem&id=123 -Exception-GetRepositoryItem-service-invalid2,PYCSW_SERVER?config=tests/suites/default/default.cfg&service=CSW%00'&version=2.0.2&request=GetRepositoryItem&id=123 -Exception-GetRepositoryItem-version-invalid,PYCSW_SERVER?config=tests/suites/default/default.cfg&service=CSW&version=2.0.2'&request=GetRepositoryItem&id=123 +GetCapabilities,service=CSW&version=2.0.2&request=GetCapabilities +GetCapabilities-invalid-request,service=CSW&version=2.0.2&request=GetCapabilitiese +GetRecords-all,service=CSW&version=2.0.2&request=GetRecords&typenames=csw:Record&elementsetname=full +GetRecords-sortby-asc,service=CSW&version=2.0.2&request=GetRecords&typenames=csw:Record&elementsetname=full&resulttype=results&sortby=dc:title:A +GetRecords-sortby-desc,service=CSW&version=2.0.2&request=GetRecords&typenames=csw:Record&elementsetname=full&resulttype=results&sortby=dc:title:D +GetRecords-sortby-invalid-propertyname,service=CSW&version=2.0.2&request=GetRecords&typenames=csw:Record&elementsetname=full&resulttype=results&sortby=dc:titlei:A +GetRecords-sortby-invalid-order,service=CSW&version=2.0.2&request=GetRecords&typenames=csw:Record&elementsetname=full&resulttype=results&sortby=dc:title:FOO +GetRecords-filter,service=CSW&version=2.0.2&request=GetRecords&typenames=csw:Record&elementsetname=full&resulttype=results&constraintlanguage=FILTER&constraint=%3Cogc%3AFilter%20xmlns%3Aogc%3D%22http%3A%2F%2Fwww.opengis.net%2Fogc%22%3E%3Cogc%3APropertyIsEqualTo%3E%3Cogc%3APropertyName%3Edc%3Atitle%3C%2Fogc%3APropertyName%3E%3Cogc%3ALiteral%3ELorem%20ipsum%3C%2Fogc%3ALiteral%3E%3C%2Fogc%3APropertyIsEqualTo%3E%3C%2Fogc%3AFilter%3E +GetRecords-filter-cql-title,service=CSW&version=2.0.2&request=GetRecords&typenames=csw:Record&elementsetname=full&resulttype=results&constraintlanguage=CQL_TEXT&constraint=dc%3Atitle%20like%20%27%25lor%25%27 +GetRecords-filter-cql-title-with-spaces,service=CSW&version=2.0.2&request=GetRecords&typenames=csw:Record&elementsetname=full&resulttype=results&constraintlanguage=CQL_TEXT&constraint=dc%3Atitle%20like%20%27%25Lorem%20ipsum%25%27 +GetRecords-filter-cql-title-or-abstract,service=CSW&version=2.0.2&request=GetRecords&typenames=csw:Record&elementsetname=full&resulttype=results&constraintlanguage=CQL_TEXT&constraint=dc%3Atitle%20like%20%27%25lor%25%27%20or%20dct%3Aabstract%20like%20%27%25pharetra%25%27 +GetRecords-filter-cql-title-with-spaces-or-abstract,service=CSW&version=2.0.2&request=GetRecords&typenames=csw:Record&elementsetname=full&resulttype=results&constraintlanguage=CQL_TEXT&constraint=dc%3Atitle%20like%20%27%25dolor%20sit%25%27%20or%20dct%3Aabstract%20like%20%27%25pharetra%25%27 +GetRecords-filter-cql-title-or-abstract-with-spaces,service=CSW&version=2.0.2&request=GetRecords&typenames=csw:Record&elementsetname=full&resulttype=results&constraintlanguage=CQL_TEXT&constraint=dc%3Atitle%20like%20%27%25lor%25%27%20or%20dct%3Aabstract%20like%20%27%25pharetra%20in%25%27 +GetRecords-filter-cql-title-with-spaces-or-abstract-with-spaces,service=CSW&version=2.0.2&request=GetRecords&typenames=csw:Record&elementsetname=full&resulttype=results&constraintlanguage=CQL_TEXT&constraint=dc%3Atitle%20like%20%27%25dolor%20sit%25%27%20or%20dct%3Aabstract%20like%20%27%25pharetra%20in%25%27 +GetRecords-empty-maxrecords,service=CSW&version=2.0.2&request=GetRecords&typenames=csw:Record&elementsetname=full&maxrecords= +GetRepositoryItem,service=CSW&version=2.0.2&request=GetRepositoryItem&id=urn:uuid:94bc9c83-97f6-4b40-9eb8-a8e8787a5c63 +Exception-GetRepositoryItem-notfound,service=CSW&version=2.0.2&request=GetRepositoryItem&id=NOTFOUND +Exception-GetRepositoryItem-service-invalid1,service=CSW%00&version=2.0.2&request=GetRepositoryItem&id=123 +Exception-GetRepositoryItem-service-invalid2,service=CSW%00'&version=2.0.2&request=GetRepositoryItem&id=123 +Exception-GetRepositoryItem-version-invalid,service=CSW&version=2.0.2'&request=GetRepositoryItem&id=123 diff --git a/tests/suites/harvesting/get/requests.txt b/tests/suites/harvesting/get/requests.txt index 9033d798f..3b13c3b11 100644 --- a/tests/suites/harvesting/get/requests.txt +++ b/tests/suites/harvesting/get/requests.txt @@ -1,5 +1,5 @@ -Exception-Harvest-missing-resourcetype,PYCSW_SERVER?config=tests/suites/manager/default.cfg&service=CSW&version=2.0.2&request=Harvest -Exception-Harvest-missing-source,PYCSW_SERVER?config=tests/suites/manager/default.cfg&service=CSW&version=2.0.2&request=Harvest&resourcetype=http://www.opengis.net/wms -Exception-Harvest-invalid-resourcetype,PYCSW_SERVER?config=tests/suites/manager/default.cfg&service=CSW&version=2.0.2&request=Harvest&resourcetype=http://www.opengis.net/wms1234&source=http://demo.pycsw.org/cite/csw -Exception-Harvest-waf-no-records-found,PYCSW_SERVER?config=tests/suites/manager/default.cfg&service=CSW&version=2.0.2&request=Harvest&resourcetype=urn:geoss:waf&source=http://demo.pycsw.org -Exception-Harvest-waf-bad-value,PYCSW_SERVER?config=tests/suites/manager/default.cfg&service=CSW&version=2.0.2&request=Harvest&resourcetype=urn:geoss:waf&source=badvalue +Exception-Harvest-missing-resourcetype,service=CSW&version=2.0.2&request=Harvest +Exception-Harvest-missing-source,service=CSW&version=2.0.2&request=Harvest&resourcetype=http://www.opengis.net/wms +Exception-Harvest-invalid-resourcetype,service=CSW&version=2.0.2&request=Harvest&resourcetype=http://www.opengis.net/wms1234&source=http://demo.pycsw.org/cite/csw +Exception-Harvest-waf-no-records-found,service=CSW&version=2.0.2&request=Harvest&resourcetype=urn:geoss:waf&source=http://demo.pycsw.org +Exception-Harvest-waf-bad-value,service=CSW&version=2.0.2&request=Harvest&resourcetype=urn:geoss:waf&source=badvalue diff --git a/tests/suites/oaipmh/get/requests.txt b/tests/suites/oaipmh/get/requests.txt index e9f859c16..bf6955232 100644 --- a/tests/suites/oaipmh/get/requests.txt +++ b/tests/suites/oaipmh/get/requests.txt @@ -1,20 +1,20 @@ -empty,PYCSW_SERVER?config=tests/suites/oaipmh/default.cfg&mode=oaipmh -empty_with_amp,PYCSW_SERVER?config=tests/suites/oaipmh/default.cfg&mode=oaipmh& -bad_verb,PYCSW_SERVER?config=tests/suites/oaipmh/default.cfg&mode=oaipmh&verb=foo -illegal_verb,PYCSW_SERVER?config=tests/suites/oaipmh/default.cfg&mode=oaipmh&verb=foo&foo=bar -Identify,PYCSW_SERVER?config=tests/suites/oaipmh/default.cfg&mode=oaipmh&verb=Identify -ListSets,PYCSW_SERVER?config=tests/suites/oaipmh/default.cfg&mode=oaipmh&verb=ListSets -ListMetadataFormats,PYCSW_SERVER?config=tests/suites/oaipmh/default.cfg&mode=oaipmh&verb=ListMetadataFormats -GetRecord_dc,PYCSW_SERVER?config=tests/suites/oaipmh/default.cfg&mode=oaipmh&verb=GetRecord&identifier=urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f&metadataPrefix=csw-record -GetRecord_bad_metadata_prefix,PYCSW_SERVER?config=tests/suites/oaipmh/default.cfg&mode=oaipmh&verb=GetRecord&identifier=urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f&metadataPrefix=csw-recordd -GetRecord_oai_dc,PYCSW_SERVER?config=tests/suites/oaipmh/default.cfg&mode=oaipmh&verb=GetRecord&identifier=urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f&metadataPrefix=oai_dc -GetRecord_iso,PYCSW_SERVER?config=tests/suites/oaipmh/default.cfg&mode=oaipmh&verb=GetRecord&identifier=urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f&metadataPrefix=iso19139 -ListIdentifiers_missing_metadata_prefix,PYCSW_SERVER?config=tests/suites/oaipmh/default.cfg&mode=oaipmh&verb=ListIdentifiers -ListIdentifiers_dc,PYCSW_SERVER?config=tests/suites/oaipmh/default.cfg&mode=oaipmh&verb=ListIdentifiers&metadataPrefix=csw-record -ListIdentifiers_iso,PYCSW_SERVER?config=tests/suites/oaipmh/default.cfg&mode=oaipmh&verb=ListIdentifiers&metadataPrefix=iso19139 -ListIdentifiers_oai_dc,PYCSW_SERVER?config=tests/suites/oaipmh/default.cfg&mode=oaipmh&verb=ListIdentifiers&metadataPrefix=oai_dc -ListIdentifiers_bad_metadata_prefix,PYCSW_SERVER?config=tests/suites/oaipmh/default.cfg&mode=oaipmh&verb=ListIdentifiers&metadataPrefix=foo -ListRecords_dc,PYCSW_SERVER?config=tests/suites/oaipmh/default.cfg&mode=oaipmh&verb=ListRecords&metadataPrefix=csw-record -ListRecords_dc_bad_metadata_prefix,PYCSW_SERVER?config=tests/suites/oaipmh/default.cfg&mode=oaipmh&verb=ListRecords&metadataPrefix=csw-recording -ListRecords_oai_dc,PYCSW_SERVER?config=tests/suites/oaipmh/default.cfg&mode=oaipmh&verb=ListRecords&metadataPrefix=oai_dc -ListRecords_iso19139,PYCSW_SERVER?config=tests/suites/oaipmh/default.cfg&mode=oaipmh&verb=ListRecords&metadataPrefix=iso19139 +empty,mode=oaipmh +empty_with_amp,mode=oaipmh& +bad_verb,mode=oaipmh&verb=foo +illegal_verb,mode=oaipmh&verb=foo&foo=bar +Identify,mode=oaipmh&verb=Identify +ListSets,mode=oaipmh&verb=ListSets +ListMetadataFormats,mode=oaipmh&verb=ListMetadataFormats +GetRecord_dc,mode=oaipmh&verb=GetRecord&identifier=urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f&metadataPrefix=csw-record +GetRecord_bad_metadata_prefix,mode=oaipmh&verb=GetRecord&identifier=urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f&metadataPrefix=csw-recordd +GetRecord_oai_dc,mode=oaipmh&verb=GetRecord&identifier=urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f&metadataPrefix=oai_dc +GetRecord_iso,mode=oaipmh&verb=GetRecord&identifier=urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f&metadataPrefix=iso19139 +ListIdentifiers_missing_metadata_prefix,mode=oaipmh&verb=ListIdentifiers +ListIdentifiers_dc,mode=oaipmh&verb=ListIdentifiers&metadataPrefix=csw-record +ListIdentifiers_iso,mode=oaipmh&verb=ListIdentifiers&metadataPrefix=iso19139 +ListIdentifiers_oai_dc,mode=oaipmh&verb=ListIdentifiers&metadataPrefix=oai_dc +ListIdentifiers_bad_metadata_prefix,mode=oaipmh&verb=ListIdentifiers&metadataPrefix=foo +ListRecords_dc,mode=oaipmh&verb=ListRecords&metadataPrefix=csw-record +ListRecords_dc_bad_metadata_prefix,mode=oaipmh&verb=ListRecords&metadataPrefix=csw-recording +ListRecords_oai_dc,mode=oaipmh&verb=ListRecords&metadataPrefix=oai_dc +ListRecords_iso19139,mode=oaipmh&verb=ListRecords&metadataPrefix=iso19139 diff --git a/tests/suites/sru/get/requests.txt b/tests/suites/sru/get/requests.txt index 24170ae2d..3db4b8cd0 100644 --- a/tests/suites/sru/get/requests.txt +++ b/tests/suites/sru/get/requests.txt @@ -1,5 +1,5 @@ -explain,PYCSW_SERVER?config=tests/suites/sru/default.cfg&mode=sru -search,PYCSW_SERVER?config=tests/suites/sru/default.cfg&mode=sru&version=1.1&operation=searchRetrieve&query=lor -search_maxrecords,PYCSW_SERVER?config=tests/suites/sru/default.cfg&mode=sru&operation=searchRetrieve&query=lor&maximumRecords=2 -search_startrecord_maxrecords,PYCSW_SERVER?config=tests/suites/sru/default.cfg&mode=sru&operation=searchRetrieve&query=lor&maximumRecords=2&startRecord=1 -search_cql,PYCSW_SERVER?config=tests/suites/sru/default.cfg&mode=sru&operation=searchRetrieve&query=dc:title%20like%20'%lor%'&maximumRecords=5 +explain,mode=sru +search,mode=sru&version=1.1&operation=searchRetrieve&query=lor +search_maxrecords,mode=sru&operation=searchRetrieve&query=lor&maximumRecords=2 +search_startrecord_maxrecords,mode=sru&operation=searchRetrieve&query=lor&maximumRecords=2&startRecord=1 +search_cql,mode=sru&operation=searchRetrieve&query=dc:title%20like%20'%lor%'&maximumRecords=5 From 6dbcf886bc15da5f24a96c7febe05a90d4082aed Mon Sep 17 00:00:00 2001 From: Ricardo Garcia Silva Date: Fri, 18 Nov 2016 14:37:53 +0000 Subject: [PATCH 094/119] changed test parameters --- .../suites/default/get/requests.txt | 40 +++++++++---------- 1 file changed, 20 insertions(+), 20 deletions(-) diff --git a/tests/functionaltests/suites/default/get/requests.txt b/tests/functionaltests/suites/default/get/requests.txt index ee368671b..299790a0f 100644 --- a/tests/functionaltests/suites/default/get/requests.txt +++ b/tests/functionaltests/suites/default/get/requests.txt @@ -1,20 +1,20 @@ -GetCapabilities,PYCSW_SERVER?config=tests/suites/default/default.cfg&service=CSW&version=2.0.2&request=GetCapabilities -GetCapabilities-invalid-request,PYCSW_SERVER?config=tests/suites/default/default.cfg&service=CSW&version=2.0.2&request=GetCapabilitiese -GetRecords-all,PYCSW_SERVER?config=tests/suites/default/default.cfg&service=CSW&version=2.0.2&request=GetRecords&typenames=csw:Record&elementsetname=full -GetRecords-sortby-asc,PYCSW_SERVER?config=tests/suites/default/default.cfg&service=CSW&version=2.0.2&request=GetRecords&typenames=csw:Record&elementsetname=full&resulttype=results&sortby=dc:title:A -GetRecords-sortby-desc,PYCSW_SERVER?config=tests/suites/default/default.cfg&service=CSW&version=2.0.2&request=GetRecords&typenames=csw:Record&elementsetname=full&resulttype=results&sortby=dc:title:D -GetRecords-sortby-invalid-propertyname,PYCSW_SERVER?config=tests/suites/default/default.cfg&service=CSW&version=2.0.2&request=GetRecords&typenames=csw:Record&elementsetname=full&resulttype=results&sortby=dc:titlei:A -GetRecords-sortby-invalid-order,PYCSW_SERVER?config=tests/suites/default/default.cfg&service=CSW&version=2.0.2&request=GetRecords&typenames=csw:Record&elementsetname=full&resulttype=results&sortby=dc:title:FOO -GetRecords-filter,PYCSW_SERVER?config=tests/suites/default/default.cfg&service=CSW&version=2.0.2&request=GetRecords&typenames=csw:Record&elementsetname=full&resulttype=results&constraintlanguage=FILTER&constraint=%3Cogc%3AFilter%20xmlns%3Aogc%3D%22http%3A%2F%2Fwww.opengis.net%2Fogc%22%3E%3Cogc%3APropertyIsEqualTo%3E%3Cogc%3APropertyName%3Edc%3Atitle%3C%2Fogc%3APropertyName%3E%3Cogc%3ALiteral%3ELorem%20ipsum%3C%2Fogc%3ALiteral%3E%3C%2Fogc%3APropertyIsEqualTo%3E%3C%2Fogc%3AFilter%3E -GetRecords-filter-cql-title,PYCSW_SERVER?config=tests/suites/default/default.cfg&service=CSW&version=2.0.2&request=GetRecords&typenames=csw:Record&elementsetname=full&resulttype=results&constraintlanguage=CQL_TEXT&constraint=dc%3Atitle%20like%20%27%25lor%25%27 -GetRecords-filter-cql-title-with-spaces,PYCSW_SERVER?config=tests/suites/default/default.cfg&service=CSW&version=2.0.2&request=GetRecords&typenames=csw:Record&elementsetname=full&resulttype=results&constraintlanguage=CQL_TEXT&constraint=dc%3Atitle%20like%20%27%25Lorem%20ipsum%25%27 -GetRecords-filter-cql-title-or-abstract,PYCSW_SERVER?config=tests/suites/default/default.cfg&service=CSW&version=2.0.2&request=GetRecords&typenames=csw:Record&elementsetname=full&resulttype=results&constraintlanguage=CQL_TEXT&constraint=dc%3Atitle%20like%20%27%25lor%25%27%20or%20dct%3Aabstract%20like%20%27%25pharetra%25%27 -GetRecords-filter-cql-title-with-spaces-or-abstract,PYCSW_SERVER?config=tests/suites/default/default.cfg&service=CSW&version=2.0.2&request=GetRecords&typenames=csw:Record&elementsetname=full&resulttype=results&constraintlanguage=CQL_TEXT&constraint=dc%3Atitle%20like%20%27%25dolor%20sit%25%27%20or%20dct%3Aabstract%20like%20%27%25pharetra%25%27 -GetRecords-filter-cql-title-or-abstract-with-spaces,PYCSW_SERVER?config=tests/suites/default/default.cfg&service=CSW&version=2.0.2&request=GetRecords&typenames=csw:Record&elementsetname=full&resulttype=results&constraintlanguage=CQL_TEXT&constraint=dc%3Atitle%20like%20%27%25lor%25%27%20or%20dct%3Aabstract%20like%20%27%25pharetra%20in%25%27 -GetRecords-filter-cql-title-with-spaces-or-abstract-with-spaces,PYCSW_SERVER?config=tests/suites/default/default.cfg&service=CSW&version=2.0.2&request=GetRecords&typenames=csw:Record&elementsetname=full&resulttype=results&constraintlanguage=CQL_TEXT&constraint=dc%3Atitle%20like%20%27%25dolor%20sit%25%27%20or%20dct%3Aabstract%20like%20%27%25pharetra%20in%25%27 -GetRecords-empty-maxrecords,PYCSW_SERVER?config=tests/suites/default/default.cfg&service=CSW&version=2.0.2&request=GetRecords&typenames=csw:Record&elementsetname=full&maxrecords= -GetRepositoryItem,PYCSW_SERVER?config=tests/suites/default/default.cfg&service=CSW&version=2.0.2&request=GetRepositoryItem&id=urn:uuid:94bc9c83-97f6-4b40-9eb8-a8e8787a5c63 -Exception-GetRepositoryItem-notfound,PYCSW_SERVER?config=tests/suites/default/default.cfg&service=CSW&version=2.0.2&request=GetRepositoryItem&id=NOTFOUND -Exception-GetRepositoryItem-service-invalid1,PYCSW_SERVER?config=tests/suites/default/default.cfg&service=CSW%00&version=2.0.2&request=GetRepositoryItem&id=123 -Exception-GetRepositoryItem-service-invalid2,PYCSW_SERVER?config=tests/suites/default/default.cfg&service=CSW%00'&version=2.0.2&request=GetRepositoryItem&id=123 -Exception-GetRepositoryItem-version-invalid,PYCSW_SERVER?config=tests/suites/default/default.cfg&service=CSW&version=2.0.2'&request=GetRepositoryItem&id=123 +GetCapabilities,service=CSW&version=2.0.2&request=GetCapabilities +GetCapabilities-invalid-request,service=CSW&version=2.0.2&request=GetCapabilitiese +GetRecords-all,service=CSW&version=2.0.2&request=GetRecords&typenames=csw:Record&elementsetname=full +GetRecords-sortby-asc,service=CSW&version=2.0.2&request=GetRecords&typenames=csw:Record&elementsetname=full&resulttype=results&sortby=dc:title:A +GetRecords-sortby-desc,service=CSW&version=2.0.2&request=GetRecords&typenames=csw:Record&elementsetname=full&resulttype=results&sortby=dc:title:D +GetRecords-sortby-invalid-propertyname,service=CSW&version=2.0.2&request=GetRecords&typenames=csw:Record&elementsetname=full&resulttype=results&sortby=dc:titlei:A +GetRecords-sortby-invalid-order,service=CSW&version=2.0.2&request=GetRecords&typenames=csw:Record&elementsetname=full&resulttype=results&sortby=dc:title:FOO +GetRecords-filter,service=CSW&version=2.0.2&request=GetRecords&typenames=csw:Record&elementsetname=full&resulttype=results&constraintlanguage=FILTER&constraint=%3Cogc%3AFilter%20xmlns%3Aogc%3D%22http%3A%2F%2Fwww.opengis.net%2Fogc%22%3E%3Cogc%3APropertyIsEqualTo%3E%3Cogc%3APropertyName%3Edc%3Atitle%3C%2Fogc%3APropertyName%3E%3Cogc%3ALiteral%3ELorem%20ipsum%3C%2Fogc%3ALiteral%3E%3C%2Fogc%3APropertyIsEqualTo%3E%3C%2Fogc%3AFilter%3E +GetRecords-filter-cql-title,service=CSW&version=2.0.2&request=GetRecords&typenames=csw:Record&elementsetname=full&resulttype=results&constraintlanguage=CQL_TEXT&constraint=dc%3Atitle%20like%20%27%25lor%25%27 +GetRecords-filter-cql-title-with-spaces,service=CSW&version=2.0.2&request=GetRecords&typenames=csw:Record&elementsetname=full&resulttype=results&constraintlanguage=CQL_TEXT&constraint=dc%3Atitle%20like%20%27%25Lorem%20ipsum%25%27 +GetRecords-filter-cql-title-or-abstract,service=CSW&version=2.0.2&request=GetRecords&typenames=csw:Record&elementsetname=full&resulttype=results&constraintlanguage=CQL_TEXT&constraint=dc%3Atitle%20like%20%27%25lor%25%27%20or%20dct%3Aabstract%20like%20%27%25pharetra%25%27 +GetRecords-filter-cql-title-with-spaces-or-abstract,service=CSW&version=2.0.2&request=GetRecords&typenames=csw:Record&elementsetname=full&resulttype=results&constraintlanguage=CQL_TEXT&constraint=dc%3Atitle%20like%20%27%25dolor%20sit%25%27%20or%20dct%3Aabstract%20like%20%27%25pharetra%25%27 +GetRecords-filter-cql-title-or-abstract-with-spaces,service=CSW&version=2.0.2&request=GetRecords&typenames=csw:Record&elementsetname=full&resulttype=results&constraintlanguage=CQL_TEXT&constraint=dc%3Atitle%20like%20%27%25lor%25%27%20or%20dct%3Aabstract%20like%20%27%25pharetra%20in%25%27 +GetRecords-filter-cql-title-with-spaces-or-abstract-with-spaces,service=CSW&version=2.0.2&request=GetRecords&typenames=csw:Record&elementsetname=full&resulttype=results&constraintlanguage=CQL_TEXT&constraint=dc%3Atitle%20like%20%27%25dolor%20sit%25%27%20or%20dct%3Aabstract%20like%20%27%25pharetra%20in%25%27 +GetRecords-empty-maxrecords,service=CSW&version=2.0.2&request=GetRecords&typenames=csw:Record&elementsetname=full&maxrecords= +GetRepositoryItem,service=CSW&version=2.0.2&request=GetRepositoryItem&id=urn:uuid:94bc9c83-97f6-4b40-9eb8-a8e8787a5c63 +Exception-GetRepositoryItem-notfound,service=CSW&version=2.0.2&request=GetRepositoryItem&id=NOTFOUND +Exception-GetRepositoryItem-service-invalid1,service=CSW%00&version=2.0.2&request=GetRepositoryItem&id=123 +Exception-GetRepositoryItem-service-invalid2,service=CSW%00'&version=2.0.2&request=GetRepositoryItem&id=123 +Exception-GetRepositoryItem-version-invalid,service=CSW&version=2.0.2'&request=GetRepositoryItem&id=123 From d1ec34d9322e60135287e94e68317c02f72c2af2 Mon Sep 17 00:00:00 2001 From: Ricardo Garcia Silva Date: Fri, 18 Nov 2016 14:51:22 +0000 Subject: [PATCH 095/119] updated failing harvesting tests like in master --- ...est-zzz-post-GetRecords-filter-wfs-iso.xml | 20 ------------------- ...est-zzz-post-GetRecords-filter-wms-iso.xml | 2 +- 2 files changed, 1 insertion(+), 21 deletions(-) diff --git a/tests/functionaltests/suites/harvesting/expected/post_Harvest-zzz-post-GetRecords-filter-wfs-iso.xml b/tests/functionaltests/suites/harvesting/expected/post_Harvest-zzz-post-GetRecords-filter-wfs-iso.xml index fe8c5f2d5..c264459b3 100644 --- a/tests/functionaltests/suites/harvesting/expected/post_Harvest-zzz-post-GetRecords-filter-wfs-iso.xml +++ b/tests/functionaltests/suites/harvesting/expected/post_Harvest-zzz-post-GetRecords-filter-wfs-iso.xml @@ -700,26 +700,6 @@
- - - - DefaultMaxFeatures - - - HTTPGet - - - HTTPPost - - - - - http://maps.cera.govt.nz/arcgis/services/CERA/CERA_TechClasses_WGS84/MapServer/WFSServer - - - - - diff --git a/tests/functionaltests/suites/harvesting/expected/post_Harvest-zzz-post-GetRecords-filter-wms-iso.xml b/tests/functionaltests/suites/harvesting/expected/post_Harvest-zzz-post-GetRecords-filter-wms-iso.xml index 0dc4ec4da..b17cbca72 100644 --- a/tests/functionaltests/suites/harvesting/expected/post_Harvest-zzz-post-GetRecords-filter-wms-iso.xml +++ b/tests/functionaltests/suites/harvesting/expected/post_Harvest-zzz-post-GetRecords-filter-wms-iso.xml @@ -1103,7 +1103,7 @@ - http://mesonet.agron.iastate.edu/cgi-bin/wms/nexrad/n0r-t.cgi? + https://mesonet.agron.iastate.edu/cgi-bin/wms/nexrad/n0r-t.cgi? From 6dee5b8c23fd54f431182a8130dd974dbc59b1bf Mon Sep 17 00:00:00 2001 From: Ricardo Garcia Silva Date: Fri, 18 Nov 2016 17:20:40 +0000 Subject: [PATCH 096/119] Added docstrings to all functions --- tests/conftest.py | 14 ++ tests/functionaltests/conftest.py | 52 +++++- .../functionaltests/test_suites_functional.py | 151 +++++++++++++----- 3 files changed, 172 insertions(+), 45 deletions(-) diff --git a/tests/conftest.py b/tests/conftest.py index 4295d53f1..d02fcf1bd 100644 --- a/tests/conftest.py +++ b/tests/conftest.py @@ -32,6 +32,12 @@ def pytest_configure(config): + """Configure pytest + + This function adds additional markers to pytest. + + """ + config.addinivalue_line( "markers", "functional: Run only functional tests" @@ -43,6 +49,7 @@ def pytest_configure(config): def pytest_addoption(parser): + """Add additional command-line parameters to pytest""" parser.addoption( "--database-backend", choices=["sqlite", "postgres"], @@ -70,5 +77,12 @@ def pytest_addoption(parser): @pytest.fixture(scope="session") def log_level(request): + """Log level to use when instantiating a new pycsw server. + + The value for this fixture is retrieved from the `--pycsw.loglevel` + command-line parameter. + + """ + return request.config.getoption("pycsw_loglevel").upper() diff --git a/tests/functionaltests/conftest.py b/tests/functionaltests/conftest.py index addc7e035..dc4996a30 100644 --- a/tests/functionaltests/conftest.py +++ b/tests/functionaltests/conftest.py @@ -53,7 +53,39 @@ def pytest_generate_tests(metafunc): """Parametrize tests programatically. - Check pytest's documentation for information on this function: + This function scans the filesystem directories under + ``tests/functionaltests/suites`` and automatically generates pytest tests + based on the available test suites. Each suite directory has the + following structure: + + * A mandatory ``default.cfg`` file specifying the configuration for the + pycsw instance to use in the tests of the suite. + + * An optional ``get`` subdirectory containing a ``requests.txt`` file + with any HTTP GET requests for which to generate tests for. Each request + is specified in a new line, with the following pattern: + + * , + + * An optional ``post`` subdirectory containing files that are used as the + payload for HTTP POST requests. The name of each file is used as the name + of the test (without the file's extension); + + * An optional ``data`` subdirectory. This directory, if present, indicates + that the suite uses a custom database. The database is populated with any + additional files that are contained inside this directory. If the + ``data`` directory does not exist then the suite's tests will use the + CITE database; + + * An ``expected`` subdirectory containing a file for each of the expected + test outcomes. + + The tests are autogenerated by parametrizing the + ``tests/functionaltests/test_suites_functional::test_suites`` function + + Check pytest's documentation for information on autogenerating + parametrized tests for further details on how the + ``pytest_generate_tests`` function can be used: http://pytest.org/latest/parametrize.html#basic-pytest-generate-tests-example @@ -108,6 +140,7 @@ def pytest_generate_tests(metafunc): def _get_get_parameters(get_tests_dir, expected_tests_dir, config_path, suite_name, normalize_ids): + """Return the parameters suitable for parametrizing HTTP GET tests""" method = "GET" test_argvalues = [] test_ids = [] @@ -134,6 +167,7 @@ def _get_get_parameters(get_tests_dir, expected_tests_dir, config_path, def _get_post_parameters(post_tests_dir, expected_tests_dir, config_path, suite_name, normalize_ids): + """Return the parameters suitable for parametrizing HTTP POST tests""" method = "POST" test_argvalues = [] test_ids = [] @@ -169,7 +203,7 @@ def _get_post_parameters(post_tests_dir, expected_tests_dir, config_path, def configuration(request, tests_directory, log_level): """Return a SafeConfigParser with the configuration for use in tests. - The config_parser is read from the ordiginal location and then adjusted + The config_parser is read from the original location and then adjusted to match the test's temporary directory. The repository will also be created and populated if it is not already present in the tests_directory. @@ -201,6 +235,18 @@ def configuration(request, tests_directory, log_level): @pytest.fixture(scope="session", name="tests_directory") def fixture_tests_directory(tmpdir_factory): + """Create a temporary directory for each test session. + + This directory is typicaly situated under ``/tmp`` adn is used to create + eventual sqlite databases for each suite. + + This functionality is mostly provided by pytest's built-in + ``tmpdir_factory`` fixture. More information on this is available at: + + http://doc.pytest.org/en/2.9.0/tmpdir.html#the-tmpdir-factory-fixture + + """ + tests_dir = tmpdir_factory.mktemp("functional_tests") return tests_dir @@ -226,6 +272,7 @@ def _get_suite_dirs(suite_name): def _get_cite_suite_data_dir(): + """Return the path to the data directry of the CITE test suite.""" global TESTS_ROOT suites_root_dir = os.path.join(TESTS_ROOT, "functionaltests", "suites") suite_dir = os.path.join(suites_root_dir, "cite") @@ -245,6 +292,7 @@ def _repository_exists(repository_url): def _get_repository_url(request, suite_name, test_dir): + """Return the repository_url for the input parameters.""" db_type = request.config.getoption("--database-backend") if db_type == "sqlite": repository_url = "sqlite:///{test_dir}/{suite}.db".format( diff --git a/tests/functionaltests/test_suites_functional.py b/tests/functionaltests/test_suites_functional.py index 3d93b20c6..f9ebd9133 100644 --- a/tests/functionaltests/test_suites_functional.py +++ b/tests/functionaltests/test_suites_functional.py @@ -51,6 +51,11 @@ def test_suites(configuration, request_method, request_data, expected_result, """ Test suites. + This function is automatically parametrized by pytest as a result of the + ``conftest:pytest_Generate_tests`` function. The input parameters are thus + supplied by pytest as a result of discovering and parsing the existing + test suites located under ``tests/functionaltests/suites``. + Parameters ---------- configuration: SafeConfigParser @@ -68,6 +73,49 @@ def test_suites(configuration, request_method, request_data, expected_result, """ + request_environment = _prepare_wsgi_test_environment(request_method, + request_data) + pycsw_server = server.Csw(rtconfig=configuration, env=request_environment) + status, contents = pycsw_server.dispatch_wsgi() + with codecs.open(expected_result, encoding="utf-8") as fh: + expected = fh.read() + normalized_result = _normalize( + contents, + normalize_identifiers=normalize_identifier_fields + ) + try: + matches_expected = _test_xml_result(normalized_result, expected) + except etree.XMLSyntaxError: + # the file is either not XML (perhaps JSON?) or malformed + matches_expected = _test_json_result(normalized_result, expected) + except etree.C14NError: + print("XML canonicalization has failed. Trying to compare result " + "with expected using difflib") + matches_expected = _test_xml_diff(normalized_result, expected) + if not matches_expected: + print("expected: {0}".format(expected)) + print("response: {0}".format(normalized_result)) + assert matches_expected + + +def _prepare_wsgi_test_environment(request_method, request_data): + """Set up a testing environment for tests. + + Parameters + ---------- + request_method: str + The HTTP method of the request. Sould be either GET or POST. + request_data: str + Either the path to the request file, for POST requests or the request + parameters for GET requests. + + Returns + ------- + dict + A dict with the environment variables to use in the test + + """ + request_environment = { "REQUEST_METHOD": request_method.upper(), "QUERY_STRING": "", @@ -87,36 +135,15 @@ def test_suites(configuration, request_method, request_data, expected_result, print("Request contents: {0}".format(request_data)) request_environment["QUERY_STRING"] = request_data wsgiref.util.setup_testing_defaults(request_environment) - pycsw_server = server.Csw(rtconfig=configuration, env=request_environment) - status, contents = pycsw_server.dispatch_wsgi() - with codecs.open(expected_result, encoding="utf-8") as fh: - expected = fh.read() - _compare_response(contents, expected, - normalize_id_fields=normalize_identifier_fields) - - -def _compare_response(response, expected, normalize_id_fields): - normalized_result = _normalize(response, force_id_mask=normalize_id_fields) - try: - matches_expected = _test_xml_result(normalized_result, expected) - except etree.XMLSyntaxError: - # the file is either not XML (perhaps JSON?) or malformed - matches_expected = _test_json_result(normalized_result, expected) - except etree.C14NError: - print("XML canonicalization has failed. Trying to compare result " - "with expected using difflib") - matches_expected = _test_xml_diff(normalized_result, expected) - if not matches_expected: - print("expected: {0}".format(expected)) - print("response: {0}".format(normalized_result)) - assert matches_expected + return request_environment def _test_xml_result(result, expected, encoding="utf-8"): """Compare the XML test results with an expected value. This function compares the test result with the expected values by - performing XML canonicalization (c14n)[1]_. + performing XML canonicalization (c14n)[1]_, which compares the semantic + meanings of both XML files. Parameters ---------- @@ -182,28 +209,65 @@ def _test_json_result(result, expected, encoding="utf-8"): def _test_xml_diff(result, expected): + """Compare two XML strings by using python's ``difflib.SequenceMatcher``. + + This is a character-by-cahracter comparison and does not take into account + the semantic meaning of XML elements and attributes. + + Parameters + ---------- + result: str + The result of running the test. + expected: str + The expected outcome. + + Returns + ------- + bool + Whether the result matches the expectations or not. + + """ + sequence_matcher = SequenceMatcher(None, result, expected) ratio = sequence_matcher.ratio() return ratio == pytest.approx(1.0) -def _normalize(sresult, force_id_mask=False): - """Replace time, updateSequence and version specific values with generic - values""" +def _normalize(sresult, normalize_identifiers=False): + """ + Normalize test output so that it can be compared with the expected result. + + Several dynamic elements of a pycsw response (such as time, + updateSequence, etc) are replaced with static constants to ease comparison. + + Parameters + ---------- + sresult: str + The test result. + normalize_identifiers: bool, optional + Whether identifier fields should be normalized. + + Returns + ------- + str + The normalized response. + + """ # XML responses version = re.search(r'', sresult) updatesequence = re.search(r'updateSequence="(\S+)"', sresult) timestamp = re.search(r'timestamp="(.*)"', sresult) timestamp2 = re.search(r'timeStamp="(.*)"', sresult) - timestamp3 = re.search(r'(.*)', sresult) - timestamp4 = re.search(r'(.*)', sresult) + timestamp3 = re.search(r'(.*)', + sresult) + timestamp4 = re.search( + r'(.*)', sresult) zrhost = re.search(r'(.*)', sresult) zrport = re.search(r'(.*)', sresult) elapsed_time = re.search(r'elapsedTime="(.*)"', sresult) expires = re.search(r'expires="(.*?)"', sresult) atom_updated = re.findall(r'(.*)', sresult) - if version: sresult = sresult.replace(version.group(0), r'') if updatesequence: @@ -216,11 +280,15 @@ def _normalize(sresult, force_id_mask=False): sresult = sresult.replace(timestamp2.group(0), r'timeStamp="PYCSW_TIMESTAMP"') if timestamp3: - sresult = sresult.replace(timestamp3.group(0), - r'PYCSW_TIMESTAMP') + sresult = sresult.replace( + timestamp3.group(0), + r'PYCSW_TIMESTAMP' + ) if timestamp4: - sresult = sresult.replace(timestamp4.group(0), - r'PYCSW_TIMESTAMP') + sresult = sresult.replace( + timestamp4.group(0), + r'PYCSW_TIMESTAMP' + ) if zrport: sresult = sresult.replace(zrport.group(0), r'PYCSW_PORT') @@ -235,7 +303,6 @@ def _normalize(sresult, force_id_mask=False): r'expires="PYCSW_EXPIRES"') for au in atom_updated: sresult = sresult.replace(au, r'PYCSW_TIMESTAMP') - # for csw:HarvestResponse documents, mask identifiers # which are dynamically generated for OWS endpoints if sresult.find(r'HarvestResponse') != -1: @@ -243,25 +310,23 @@ def _normalize(sresult, force_id_mask=False): sresult) for i in identifier: sresult = sresult.replace(i, r'PYCSW_IDENTIFIER') - # JSON responses timestamp = re.search(r'"@timestamp": "(.*?)"', sresult) if timestamp: sresult = sresult.replace(timestamp.group(0), r'"@timestamp": "PYCSW_TIMESTAMP"') - # harvesting-based GetRecords/GetRecordById responses - if force_id_mask: - dcid = re.findall(r'(urn:uuid.*)', sresult) + if normalize_identifiers: + dcid = re.findall(r'(urn:uuid.*)', + sresult) isoid = re.findall(r'id="(urn:uuid.*)"', sresult) - isoid2 = re.findall(r'(urn:uuid.*)(urn:uuid.*) Date: Fri, 18 Nov 2016 18:01:36 +0000 Subject: [PATCH 097/119] refactored gen_html to account for the change in location for test suites --- tests/gen_html.py | 25 ++++++++++++++----------- 1 file changed, 14 insertions(+), 11 deletions(-) diff --git a/tests/gen_html.py b/tests/gen_html.py index b8f4ebec3..373b577a5 100644 --- a/tests/gen_html.py +++ b/tests/gen_html.py @@ -28,9 +28,7 @@ # # ================================================================= -import csv import os -from six.moves.urllib.parse import quote JQUERY_VERSION = '1.9.0' @@ -104,12 +102,12 @@ @@ -133,16 +131,21 @@
    ''') -for root, dirs, files in os.walk('suites'): +for root, dirs, files in os.walk('functionaltests/suites'): if files: for sfile in files: if sfile == 'requests.txt': # it's a list of GET requests - with open('%s%s%s' % (root.replace(os.sep, '/'), '/', sfile)) as f: - gets = csv.reader(f) - for row in gets: - baseurl, query_string = row[1].split('?') - query = '%s?%s' % (baseurl.replace('PYCSW_SERVER', '../csw.py'), query_string.replace('&', '&')) - print('
  • %s
  • ' % (query, row[0])) + file_path = os.path.join(root, sfile) + with open(file_path) as f: + for line in f: + name, query_string = line.strip().partition(",")[::2] + baseurl = "../csw.py" + query = "{baseurl}?{query_string}".format( + baseurl=baseurl, + query_string=query_string.replace("&", "&") + ) + print('
  • {name}
  • '.format( + query=query, name=name)) print('''

From c0b10aa43b3c31c4b4b74d7b0b9d8889c27a848f Mon Sep 17 00:00:00 2001 From: Ricardo Garcia Silva Date: Tue, 13 Dec 2016 20:24:36 +0000 Subject: [PATCH 098/119] Added support for postgresql in tests --- tests/conftest.py | 22 +- tests/functionaltests/conftest.py | 387 +++++++++++++++++++++--------- 2 files changed, 287 insertions(+), 122 deletions(-) diff --git a/tests/conftest.py b/tests/conftest.py index d02fcf1bd..cee443413 100644 --- a/tests/conftest.py +++ b/tests/conftest.py @@ -52,22 +52,38 @@ def pytest_addoption(parser): """Add additional command-line parameters to pytest""" parser.addoption( "--database-backend", - choices=["sqlite", "postgres"], + choices=["sqlite", "postgresql"], default="sqlite", help="Database backend to use when performing functional tests" ) parser.addoption( - "--database-user-postgres", + "--database-user-postgresql", default="postgres", help="Username to use for creating and accessing local postgres " "databases used for functional tests." ) parser.addoption( - "--database-password-postgres", + "--database-password-postgresql", default="", help="Password to use for creating and accessing local postgres " "databases used for functional tests." ) + parser.addoption( + "--database-name-postgresql", + default="test_pycsw", + help="Name of the postgres database that is to be used for testing." + ) + parser.addoption( + "--database-host-postgresql", + default="127.0.0.1", + help="hostname or ip of the host that is running the postgres " + "database server to use in testing." + ) + parser.addoption( + "--database-port-postgresql", + default="5432", + help="Port where the postgres server is listening for connections." + ) parser.addoption( "--pycsw-loglevel", default="warning", diff --git a/tests/functionaltests/conftest.py b/tests/functionaltests/conftest.py index dc4996a30..7470f4810 100644 --- a/tests/functionaltests/conftest.py +++ b/tests/functionaltests/conftest.py @@ -30,9 +30,12 @@ import codecs from collections import namedtuple +import logging import os +import re from six.moves import configparser +import psycopg2 import pytest from pycsw.core import admin @@ -40,7 +43,6 @@ TESTS_ROOT = os.path.dirname(os.path.dirname(os.path.abspath(__file__))) - SuiteDirs = namedtuple("SuiteDirs", [ "get_tests_dir", "post_tests_dir", @@ -49,9 +51,8 @@ ]) - def pytest_generate_tests(metafunc): - """Parametrize tests programatically. + """Parametrize tests programmatically. This function scans the filesystem directories under ``tests/functionaltests/suites`` and automatically generates pytest tests @@ -61,23 +62,23 @@ def pytest_generate_tests(metafunc): * A mandatory ``default.cfg`` file specifying the configuration for the pycsw instance to use in the tests of the suite. - * An optional ``get`` subdirectory containing a ``requests.txt`` file + * An optional ``get/`` subdirectory containing a ``requests.txt`` file with any HTTP GET requests for which to generate tests for. Each request is specified in a new line, with the following pattern: * , - * An optional ``post`` subdirectory containing files that are used as the + * An optional ``post/`` subdirectory containing files that are used as the payload for HTTP POST requests. The name of each file is used as the name of the test (without the file's extension); - * An optional ``data`` subdirectory. This directory, if present, indicates + * An optional ``data/`` subdirectory. This directory, if present, indicates that the suite uses a custom database. The database is populated with any additional files that are contained inside this directory. If the ``data`` directory does not exist then the suite's tests will use the CITE database; - * An ``expected`` subdirectory containing a file for each of the expected + * An ``expected/`` subdirectory containing a file for each of the expected test outcomes. The tests are autogenerated by parametrizing the @@ -97,38 +98,41 @@ def pytest_generate_tests(metafunc): suite_names = os.listdir(suites_root_dir) arg_values = [] test_ids = [] + logging.basicConfig(level=getattr( + logging, metafunc.config.getoption("--pycsw-loglevel").upper())) + if metafunc.config.getoption("--database-backend") == "postgresql": + _recreate_postgresql_database(metafunc.config) for suite in suite_names: - normalize_ids = True if suite in ("harvesting", - "manager") else False suite_dir = os.path.join(suites_root_dir, suite) config_path = os.path.join(suite_dir, "default.cfg") if not os.path.isfile(config_path): print("Directory {0!r} does not have a suite " "configuration file".format(suite_dir)) continue - else: - print("Generating tests for suite {0!r}".format(suite)) - suite_dirs = _get_suite_dirs(suite) - if suite_dirs.post_tests_dir is not None: - post_argvalues, post_ids = _get_post_parameters( - post_tests_dir=suite_dirs.post_tests_dir, - expected_tests_dir=suite_dirs.expected_results_dir, - config_path=config_path, - suite_name=suite, - normalize_ids=normalize_ids - ) - arg_values.extend(post_argvalues) - test_ids.extend(post_ids) - if suite_dirs.get_tests_dir is not None: - get_argvalues, get_ids = _get_get_parameters( - get_tests_dir=suite_dirs.get_tests_dir, - expected_tests_dir=suite_dirs.expected_results_dir, - config_path=config_path, - suite_name=suite, - normalize_ids=normalize_ids - ) - arg_values.extend(get_argvalues) - test_ids.extend(get_ids) + print("Generating tests for suite {0!r}...".format(suite)) + normalize_ids = True if suite in ("harvesting", + "manager") else False + suite_dirs = _get_suite_dirs(suite) + if suite_dirs.post_tests_dir is not None: + post_argvalues, post_ids = _get_post_parameters( + post_tests_dir=suite_dirs.post_tests_dir, + expected_tests_dir=suite_dirs.expected_results_dir, + config_path=config_path, + suite_name=suite, + normalize_ids=normalize_ids + ) + arg_values.extend(post_argvalues) + test_ids.extend(post_ids) + if suite_dirs.get_tests_dir is not None: + get_argvalues, get_ids = _get_get_parameters( + get_tests_dir=suite_dirs.get_tests_dir, + expected_tests_dir=suite_dirs.expected_results_dir, + config_path=config_path, + suite_name=suite, + normalize_ids=normalize_ids + ) + arg_values.extend(get_argvalues) + test_ids.extend(get_ids) metafunc.parametrize( argnames=["configuration", "request_method", "request_data", "expected_result", "normalize_identifier_fields"], @@ -138,6 +142,83 @@ def pytest_generate_tests(metafunc): ) +@pytest.fixture() +def configuration(request, tests_directory, log_level): + """Return a SafeConfigParser with the configuration for use in tests. + + This function is executed once for each individual test request, after + tests have been collected. + + The config_parser is read from the original location and then adjusted + to match the test's temporary directory. The repository will also be + created and populated if it is not already present in the tests_directory. + + Parameters + ---------- + request: pytest.fixtures.FixtureRequest + tests_directory: py.path.local + Directory created by pytest where any test artifacts are to be saved + log_level: str + Log level for the pycsw server instance that will be created during + tests. + + """ + + config_path = request.param + config = configparser.SafeConfigParser() + with codecs.open(config_path, encoding="utf-8") as fh: + config.readfp(fh) + suite_name = config_path.split(os.path.sep)[-2] + suite_dirs = _get_suite_dirs(suite_name) + data_dir = suite_dirs.data_tests_dir + if data_dir is not None: # suite has its own database + repository_url = _get_repository_url(request.config, suite_name, + tests_directory) + else: # suite uses the CITE database + data_dir = _get_cite_suite_data_dir() + repository_url = _get_repository_url(request.config, "cite", + tests_directory) + table_name = _get_table_name(suite_name, config, repository_url) + if not _repository_exists(repository_url, table_name): + _initialize_database(repository_url=repository_url, + table_name=table_name, + data_dir=data_dir, + test_dir=tests_directory) + config.set("server", "loglevel", log_level) + config.set("server", "logfile", "") + config.set("repository", "database", repository_url) + config.set("repository", "table", table_name) + return config + + +@pytest.fixture(scope="session", name="tests_directory") +def fixture_tests_directory(tmpdir_factory): + """Create a temporary directory for each test session. + + This directory is typicaly situated under ``/tmp`` and is used to create + eventual sqlite databases for each suite. + + This functionality is mostly provided by pytest's built-in + ``tmpdir_factory`` fixture. More information on this is available at: + + http://doc.pytest.org/en/2.9.0/tmpdir.html#the-tmpdir-factory-fixture + + """ + + tests_dir = tmpdir_factory.mktemp("functional_tests") + return tests_dir + + +def _get_cite_suite_data_dir(): + """Return the path to the data directry of the CITE test suite.""" + global TESTS_ROOT + suites_root_dir = os.path.join(TESTS_ROOT, "functionaltests", "suites") + suite_dir = os.path.join(suites_root_dir, "cite") + data_tests_dir = os.path.join(suite_dir, "data") + data_dir = data_tests_dir if os.path.isdir(data_tests_dir) else None + return data_dir + + def _get_get_parameters(get_tests_dir, expected_tests_dir, config_path, suite_name, normalize_ids): """Return the parameters suitable for parametrizing HTTP GET tests""" @@ -159,8 +240,9 @@ def _get_get_parameters(get_tests_dir, expected_tests_dir, config_path, normalize_ids) ) test_ids.append( - "{suite}_{http_method}_{name}".format(suite=suite_name, - http_method=method.lower(), name=test_name) + "{suite}_{http_method}_{name}".format( + suite=suite_name, http_method=method.lower(), + name=test_name) ) return test_argvalues, test_ids @@ -184,7 +266,6 @@ def _get_post_parameters(post_tests_dir, expected_tests_dir, config_path, filename=request_file_name ) ) - # TODO - make sure the expected result path exists test_argvalues.append( (config_path, method, request_path, expected_result_path, normalize_ids) @@ -199,56 +280,24 @@ def _get_post_parameters(post_tests_dir, expected_tests_dir, config_path, return test_argvalues, test_ids -@pytest.fixture() -def configuration(request, tests_directory, log_level): - """Return a SafeConfigParser with the configuration for use in tests. - - The config_parser is read from the original location and then adjusted - to match the test's temporary directory. The repository will also be - created and populated if it is not already present in the tests_directory. - - """ - - config_path = request.param - config = configparser.SafeConfigParser() - with codecs.open(config_path, encoding="utf-8") as fh: - config.readfp(fh) - suite_name = config_path.split(os.path.sep)[-2] - suite_dirs = _get_suite_dirs(suite_name) - data_dir = suite_dirs.data_tests_dir - if data_dir is not None: # suite has its own database - repository_url = _get_repository_url(request, suite_name, - tests_directory) - else: # suite uses the CITE database - data_dir = _get_cite_suite_data_dir() - repository_url = _get_repository_url(request, "cite", tests_directory) - if not _repository_exists(repository_url): - _initialize_database(repository_url=repository_url, - table_name=config.get("repository", "table"), - data_dir=data_dir, - test_dir=tests_directory) - config.set("server", "loglevel", log_level) - config.set("server", "logfile", "") - config.set("repository", "database", repository_url) - return config - - -@pytest.fixture(scope="session", name="tests_directory") -def fixture_tests_directory(tmpdir_factory): - """Create a temporary directory for each test session. - - This directory is typicaly situated under ``/tmp`` adn is used to create - eventual sqlite databases for each suite. - - This functionality is mostly provided by pytest's built-in - ``tmpdir_factory`` fixture. More information on this is available at: - - http://doc.pytest.org/en/2.9.0/tmpdir.html#the-tmpdir-factory-fixture - - """ - - tests_dir = tmpdir_factory.mktemp("functional_tests") - return tests_dir +def _get_repository_url(conf, suite_name, test_dir): + """Return the repository_url for the input parameters.""" + db_type = conf.getoption("--database-backend") + if db_type == "sqlite": + repository_url = "sqlite:///{test_dir}/{suite}.db".format( + test_dir=test_dir, suite=suite_name) + elif db_type == "postgresql": + repository_url = ( + "postgresql://{user}:{password}@{host}:{port}/{database}".format( + user=conf.getoption("--database-user-postgresql"), + password=conf.getoption("--database-password-postgresql"), + host=conf.getoption("--database-host-postgresql"), + port=conf.getoption("--database-port-postgresql"), + database=conf.getoption("--database-name-postgresql")) + ) + else: + raise NotImplementedError + return repository_url def _get_suite_dirs(suite_name): @@ -271,46 +320,36 @@ def _get_suite_dirs(suite_name): expected_results_dir=expected_dir) -def _get_cite_suite_data_dir(): - """Return the path to the data directry of the CITE test suite.""" - global TESTS_ROOT - suites_root_dir = os.path.join(TESTS_ROOT, "functionaltests", "suites") - suite_dir = os.path.join(suites_root_dir, "cite") - data_tests_dir = os.path.join(suite_dir, "data") - data_dir = data_tests_dir if os.path.isdir(data_tests_dir) else None - return data_dir +def _get_table_name(suite, config, repository_url): + """Get the name of the table used to store records in the database. + Parameters + ---------- + suite: str + Name of the suite. + config: SafeConfigParser + Configuration for the suite. + repository_url: str + SQLAlchemy URL for the repository in use. -def _repository_exists(repository_url): - """Test if the database already exists""" - if repository_url.startswith("sqlite"): - repository_path = repository_url.replace("sqlite:///", "") - result = os.path.isfile(repository_path) - else: - raise NotImplementedError - return result + Returns + ------- + str + Name of the table to use in the database + """ -def _get_repository_url(request, suite_name, test_dir): - """Return the repository_url for the input parameters.""" - db_type = request.config.getoption("--database-backend") - if db_type == "sqlite": - repository_url = "sqlite:///{test_dir}/{suite}.db".format( - test_dir=test_dir, suite=suite_name) - elif db_type == "postgres": - user = request.config.getoption("--database-user-postgres") - password = request.config.getoption("--database-password-postgres") - repository_url = ("postgres://{user}:{password}@localhost/" - "pycsw_test_{suite}".format(user=user, - password=password, - suite=suite_name)) + if repository_url.startswith("sqlite"): + result = config.get("repository", "table") + elif repository_url.startswith("postgresql"): + result = "{suite}_records".format(suite=suite) else: raise NotImplementedError - return repository_url + return result def _initialize_database(repository_url, table_name, data_dir, test_dir): - """Initialize local database for tests. + """Initialize database for tests. This function will create the database and load any test data that the suite may require. @@ -318,8 +357,118 @@ def _initialize_database(repository_url, table_name, data_dir, test_dir): """ print("Setting up {0!r} repository...".format(repository_url)) - admin.setup_db(repository_url, table_name, test_dir) + if repository_url.startswith("postgresql"): + extra_kwargs = { + "create_sfsql_tables": True, + "create_plpythonu_functions": False + } + else: + extra_kwargs = {} + admin.setup_db(database=repository_url, table=table_name, home=test_dir, + **extra_kwargs) if len(os.listdir(data_dir)) > 0: print("Loading database data...") - admin.load_records(StaticContext(), repository_url, table_name, - data_dir) + admin.load_records(context=StaticContext(), database=repository_url, + table=table_name, xml_dirpath=data_dir) + + +def _parse_postgresql_repository_url(repository_url): + info_re = re.search(r"postgresql://(?P[\w_]+):(?P.*?)@" + r"(?P[\w_.]+):(?P\d+)/" + r"(?P[\w_]+)", + repository_url, + flags=re.UNICODE) + try: + db_info = info_re.groupdict() + except AttributeError: + raise RuntimeError("Could not parse repository url {0!r}".format( + repository_url)) + else: + return db_info + + +def _recreate_postgresql_database(configuration): + """Recreate a postgresql database. + + This function will try to create a new postgresql database for testing + purposes. If the database already exists it is deleted and then recreated. + + Parameters + ---------- + configuration: _pytest.config.Config + The configuration object used by pytest + create_plpythonu_extension: bool, optional + Whether the `plpythonu` language is to bre created for the database + + Raises + ------ + RuntimeError + If a connection to the postgresql server cannot be made + + """ + + connection = psycopg2.connect( + database="postgres", + user=configuration.getoption("--database-user-postgresql"), + password=configuration.getoption("--database-password-postgresql"), + host=configuration.getoption("--database-host-postgresql"), + port=configuration.getoption("--database-port-postgresql") + ) + connection.set_isolation_level( + psycopg2.extensions.ISOLATION_LEVEL_AUTOCOMMIT) + cursor = connection.cursor() + db_name = configuration.getoption("--database-name-postgresql") + cursor.execute("DROP DATABASE IF EXISTS {database}".format( + database=db_name)) + cursor.execute("CREATE DATABASE {database}".format(database=db_name)) + cursor.execute( + "SELECT COUNT(1) FROM pg_available_extensions WHERE name='postgis'") + postgis_available = bool(cursor.fetchone()[0]) + cursor.close() + connection.close() + if postgis_available: + _create_postgresql_extension(configuration, extension="postgis") + else: + _create_postgresql_extension(configuration, extension="plpythonu") + + +def _create_postgresql_extension(configuration, extension): + connection = psycopg2.connect( + database=configuration.getoption("--database-name-postgresql"), + user=configuration.getoption("--database-user-postgresql"), + password=configuration.getoption("--database-password-postgresql"), + host=configuration.getoption("--database-host-postgresql"), + port=configuration.getoption("--database-port-postgresql") + ) + connection.set_isolation_level( + psycopg2.extensions.ISOLATION_LEVEL_AUTOCOMMIT) + cursor = connection.cursor() + cursor.execute("CREATE EXTENSION {0}".format(extension)) + cursor.close() + connection.close() + + +def _repository_exists(repository_url, table_name): + """Test if the database already exists.""" + if repository_url.startswith("sqlite"): + repository_path = repository_url.replace("sqlite:///", "") + result = os.path.isfile(repository_path) + elif repository_url.startswith("postgresql"): + db_info = _parse_postgresql_repository_url(repository_url) + try: + connection = psycopg2.connect(user=db_info["user"], + password=db_info["password"], + host=db_info["host"], + port=db_info["port"], + database=db_info["database"]) + cursor = connection.cursor() + cursor.execute("SELECT COUNT(1) FROM {table_name}".format( + table_name=table_name)) + except (psycopg2.OperationalError, psycopg2.ProgrammingError): + # database or table does not exist yet + result = False + else: + result = True + else: + raise NotImplementedError + return result From cbcafb073eb0e8df4049061ad6fca4a7779e2867 Mon Sep 17 00:00:00 2001 From: Ricardo Garcia Silva Date: Tue, 13 Dec 2016 20:25:24 +0000 Subject: [PATCH 099/119] Changed some tests in order to have uniform sorting --- .../suites/csw30/get/requests.txt | 164 +++++++++--------- 1 file changed, 82 insertions(+), 82 deletions(-) diff --git a/tests/functionaltests/suites/csw30/get/requests.txt b/tests/functionaltests/suites/csw30/get/requests.txt index d93dd98d0..5b2c3dfaf 100644 --- a/tests/functionaltests/suites/csw30/get/requests.txt +++ b/tests/functionaltests/suites/csw30/get/requests.txt @@ -1,82 +1,82 @@ -GetCapabilities-base-url,PYCSW_SERVER?config=tests/suites/csw30/default.cfg -GetCapabilities-no-version,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&service=CSW&request=GetCapabilities -GetCapabilities,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&service=CSW&version=3.0.0&request=GetCapabilities -Exception-invalid-request,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&service=CSW&version=3.0.0&request=GetCapabilities-foo -Exception-GetDomain,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&service=CSW&version=3.0.0&request=GetDomain -GetDomain-parameter,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&service=CSW&version=3.0.0&request=GetDomain¶metername=GetRecords.ElementSetName -GetDomain-value-reference,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&service=CSW&version=3.0.0&request=GetDomain&valuereference=dc:title -Exception-GetDomain-value-reference,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&service=CSW&version=3.0.0&request=GetDomain&valuereference=dc:title2 -Exception-GetRecordById-dc.xml,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&service=CSW&version=3.0.0&request=GetRecordById&id=urn:uuid:829babb0-b2f1-49e1-8cd5-7b489fe71a1e -Exception-GetRecordById-404,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&service=CSW&version=3.0.0&request=GetRecordById&id=does_not_exist2 -OpenSearch-description,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&mode=opensearch&service=CSW&version=3.0.0&request=GetCapabilities -GetRepositoryItem,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&service=CSW&version=3.0.0&request=GetRepositoryItem&id=urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f -Exception-GetRepositoryItem-notfound,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&service=CSW&version=3.0.0&request=GetRepositoryItem&id=NOTFOUND -002258f0-627f-457f-b2ad-025777c77ac8,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&mode=opensearch&service=CSW&version=3.0.0&request=GetCapabilities -045c600d-973d-41eb-9f60-eba1b717b720,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&mode=opensearch&service=CSW&version=3.0.0&request=GetRecords&elementsetname=full&typenames=csw:Record&resulttype=results&q=Fusc%C3%A9%20Land&bbox=&time=/&outputformat=application/atom%2Bxml&startposition=1&maxrecords=&recordids= -0bbcf862-5211-4351-9988-63f8bec49c98,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&elementSetName=summary&outputFormat=application/atom%2Bxml&request=GetRecords&service=CSW&typeNames=Record&version=3.0.0 -0bdf8457-971e-4ed1-be4a-5feca4dcd8fa,PYCSW_SERVER?config=tests/suites/csw30/default.cfg -0d8bbdec-0846-42ca-8dc8-b7f4cba41d67,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&elementName=tns:title&request=GetRecords&service=CSW&typeNames=Record&namespace=xmlns(tns%3Dhttp://purl.org/dc/elements/1.1/)&version=3.0.0 -0e1dca37-477a-4060-99fe-7799b52d656c,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&mode=opensearch&service=CSW&version=3.0.0&request=GetRecords&elementsetname=full&typenames=csw:Record&resulttype=results&q=lpppclq&bbox=&time=/&outputformat=application/atom%2Bxml&startposition=1&maxrecords=&recordids= -13c87956-51a4-4780-a8e9-6e0b5c0bb473,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&elementSetName=full&maxRecords=20&request=GetRecords&service=CSW&typeNames=Record&version=3.0.0 -151d982f-ebd3-4cb2-b507-a667713a1e92,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&acceptFormats=model/x3d%2Bxml&acceptVersions=3.0.0&request=GetCapabilities&service=CSW -1869e495-1a61-4713-8285-76d1336ee1a6,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&acceptVersions=3.0.0&request=GetCapabilities -1bcb42a9-538c-4f0a-9d4c-d6f10b720aa6,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&request=GetRecordById&service=CSW&version=3.0.0 -22f44168-2ccf-4801-ad96-204212566d56,PYCSW_SERVER?config=tests/suites/csw30/default.cfg -2499a9c9-8d33-449c-bc92-d494adfcc84d,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&acceptVersions=3.0.0§ions=All&request=GetCapabilities&service=CSW -27f4f39c-d92a-4e3c-b961-c6aa8c24e513,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&acceptFormats=application/xml&acceptVersions=3.0.0&request=GetCapabilities&service=CSW -28e569df-8596-4128-8d9a-29ad03138915,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&id=urn:uuid:a06af396-3105-442d-8b40-22b57a90d2f2&request=GetRecordById&service=CSW&version=3.0.0 -2b06a5c8-0df2-4af1-8d2e-a425de11c845,PYCSW_SERVER?config=tests/suites/csw30/default.cfg -2ba1418a-444d-4cce-9cfe-4c94efcf8b55,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&maxRecords=2&elementSetName=summary&outputFormat=application/atom%2Bxml&request=GetRecords&service=CSW&typeNames=csw3:Record&startPosition=3&namespace=xmlns(csw3%3Dhttp://www.opengis.net/cat/csw/3.0)&version=3.0.0 -397fe17a-d5b4-4f96-8cc4-4ce467ed4d0a,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&service=CSW&version=3.0.0&request=GetRecords&elementsetname=full&typenames=csw:Record&resulttype=results&q=ipsum&bbox=&time=/&outputformat=application/xml&outputschema=http://www.opengis.net/cat/csw/3.0&startposition=1&maxrecords=&recordids= -3dcd1b15-73d2-4b7d-a3e3-ff15bf14aae4,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&elementSetName=brief&request=GetRecords&service=CSW&typeNames=tns:Record&namespace=xmlns(tns%3Dhttp://www.opengis.net/cat/csw/3.0)&version=3.0.0 -405e1ff1-5c75-4846-a28b-cfaff2a6921a,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&elementSetName=summary&recordIds=urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f,urn:uuid:e9330592-0932-474b-be34-c3a3bb67c7db&request=GetRecords&service=CSW&typeNames=Record&version=3.0.0 -43cd6471-6ac7-45bd-8ff9-148cb2de9a52,PYCSW_SERVER?config=tests/suites/csw30/default.cfg -4566d2ec-1283-4a02-baed-a74fc5b47e37,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&acceptVersions=3.0.0§ions=ServiceIdentification&request=GetCapabilities&service=CSW -461bd4c5-6623-490d-9036-d91a2201e87b,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&acceptVersions=3.0.0§ions=Filter_Capabilities&request=GetCapabilities&service=CSW -5496894a-3877-4f62-a20b-5d7126f94925,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&service=CSW&version=3.0.0&request=GetRecords&elementsetname=full&typenames=csw:Record&resulttype=results&q=&bbox=514432,5429689,529130,5451619&time=/&outputformat=application/xml&outputschema=http://www.opengis.net/cat/csw/3.0&startposition=1&maxrecords=&recordids= -5a015f6a-bf14-4977-b1e3-6577eb0223c8,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&service=CSW&version=3.0.0&request=GetRecords&elementsetname=full&typenames=csw:Record&resulttype=results&q=&bbox=-6.17,44.79,17.92,68.41&time=/&outputformat=application/xml&outputschema=http://www.opengis.net/cat/csw/3.0&startposition=1&maxrecords=&recordids= -5c3a2390-1fb9-43f0-b96c-f48c7a69c990,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&id=urn:uuid:88247b56-4cbc-4df9-9860-db3f8042e357&outputFormat=model/vnd.collada%2Bxml&request=GetRecordById&service=CSW&version=3.0.0 -5e9e67dc-18d6-4645-8111-c6263c88a61f,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&acceptVersions=3.0.0§ions=OperationsMetadata&request=GetCapabilities&service=CSW -604d9379-741c-42e5-b4cf-92e56c87fa64,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&elementSetName=full&q=amet&request=GetRecords&service=CSW&typeNames=Record&version=3.0.0 -60e6af95-d5fc-465a-82e2-fd2e6d85e4af,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&request=GetRecords&service=CSW&typeNames=UnknownType&version=3.0.0 -62ad94c2-b558-4265-a427-23d6677975d6,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&mode=opensearch&service=CSW&version=3.0.0&request=GetRecords&elementsetname=full&typenames=csw:Record&resulttype=results&q=&bbox=&time=/&outputformat=application/atom%2Bxml&startposition=1&maxrecords=&recordids=uid-bc5017e6-5cc8-4b03-aee7-d88f88caba0a -6a5e247b-0961-4b8a-a0d6-35a491d9cfe7,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&elementSetName=undefined-view&request=GetRecords&service=CSW&typeNames=Record&version=3.0.0 -6a9d0558-9d87-495b-b999-b49a3ef1cf99,PYCSW_SERVER?config=tests/suites/csw30/default.cfg -6bd790c9-6019-4652-9c91-330a894d6700,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&service=CSW&version=3.0.0&request=GetRecords&elementsetname=full&typenames=csw:Record&resulttype=results&q=Fusc%C3%A9%20Land&bbox=&time=/&outputformat=application/xml&outputschema=http://www.opengis.net/cat/csw/3.0&startposition=1&maxrecords=&recordids= -6e9cba43-5e27-415d-adbd-a92851c2c173,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&acceptVersions=3.0.0&request=GetCapabilities&service=CSW -7630d230-e142-4a09-accf-f091000b90cd,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&id=urn:uuid:66ae76b7-54ba-489b-a582-0f0633d96493&request=GetRecordById&service=CSW&version=3.0.0 -7e82446a-b5dc-43fe-9a73-4cc1f2f2f0bf,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&acceptFormats=text/xml&acceptVersions=3.0.0&request=GetCapabilities&service=CSW -8025978e-1a35-4d70-80c2-e8329e0c7864,PYCSW_SERVER?config=tests/suites/csw30/default.cfg -8184ae4f-536d-4978-8b28-ad703be96967,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&elementSetName=brief&bbox=44.79,-6.17,68.41,17.92,urn:ogc:def:crs:EPSG::4326&request=GetRecords&service=CSW&typeNames=Record&version=3.0.0 -88f63a89-664f-4315-b4f8-04a0b33803a7,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&maxRecords=15&elementSetName=summary&q=Mauris&bbox=-6.17,44.79,17.92,68.41&request=GetRecords&service=CSW&typeNames=Record&version=3.0.0 -8987f8f0-4d93-4481-968c-a2ccbd6b8be2,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&id=urn:example:1461546298217&request=GetRecordById&service=CSW&version=3.0.0 -8e5fa0f6-3f29-4d1f-abe2-d9866f3def98,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&mode=opensearch&service=CSW&version=3.0.0&request=GetRecords&elementsetname=full&typenames=csw:Record&resulttype=results&q=&bbox=-180,-90,180,90&time=/&outputformat=application/atom%2Bxml&startposition=1&maxrecords=&recordids= -9000ec29-5649-474e-b2d6-55c00f8a52c0,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&acceptVersions=9999.12.31&request=GetCapabilities&service=CSW -91914d35-7bbf-45e6-9b37-5ef484869a4e,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&elementSetName=summary&bbox=-6.17,44.79,17.92,68.41&request=GetRecords&service=CSW&typeNames=Record&version=3.0.0 -92d4844d-57d5-4cf3-8f47-ba50e369dc04,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&elementSetName=full&q=atkovxqmf&request=GetRecords&service=CSW&typeNames=Record&version=3.0.0 -9c0e2a4b-b4e6-41c0-b630-c8c99fc89ff3,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&elementSetName=brief&outputSchema=urn:uuid:6a29d2a8-9651-47a6-9b14-f05d2b5644f0&request=GetRecords&service=CSW&typeNames=Record&version=3.0.0 -9d7ffac8-9798-428d-8e27-3cd12497ee6b,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&id=urn:uuid:1ef30a8b-876d-4828-9246-c37ab4510bbd&outputSchema=http://www.example.org/ns/alpha&request=GetRecordById&service=CSW&version=3.0.0 -a2f18643-e24e-4fa5-b780-6de4a2dbc814,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&id=urn:uuid:829babb0-b2f1-49e1-8cd5-7b489fe71a1e&outputFormat=application/atom%2Bxml&request=GetRecordById&service=CSW&version=3.0.0 -abc90c8c-5868-4405-a73e-64c849be3b2a,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&mode=opensearch&service=CSW&version=3.0.0&request=GetRecords&elementsetname=full&typenames=csw:Record&resulttype=results&q=&bbox=514432,5429689,529130,5451619&time=/&outputformat=application/atom%2Bxml&startposition=1&maxrecords=&recordids= -ad0c0571-09ed-436a-9a4f-a5de744c88fe,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&maxRecords=2&elementSetName=summary&request=GetRecords&service=CSW&typeNames=csw3:Record&startPosition=3&namespace=xmlns(csw3%3Dhttp://www.opengis.net/cat/csw/3.0)&version=3.0.0 -af502903-f4ee-47ee-b76e-af878d238bcc,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&service=CSW&version=3.0.0&request=GetRecords&elementsetname=full&typenames=csw:Record&resulttype=results&q=&bbox=-180,-90,180,90&time=/&outputformat=application/xml&outputschema=http://www.opengis.net/cat/csw/3.0&startposition=1&maxrecords=&recordids= -b2aafc3f-4f35-47bc-affd-08590972deae,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&mode=opensearch&service=CSW&version=3.0.0&request=GetRecords&elementsetname=full&typenames=csw:Record&resulttype=results&q=&bbox=-6.17,44.79,17.92,68.41&time=/&outputformat=application/atom%2Bxml&startposition=1&maxrecords=&recordids= -b6069623-f7d8-4021-8582-98f0aea0f763,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&mode=opensearch&service=CSW&version=3.0.0&request=GetRecords&elementsetname=full&typenames=csw:Record&resulttype=results&q=&bbox=&time=/&outputformat=application/atom%2Bxml&startposition=3&maxrecords=4&recordids= -b9a07a54-75a8-45bd-b341-2823600211e3,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&elementSetName=brief&bbox=472944,5363287,492722,5455253,urn:ogc:def:crs:EPSG::0000&request=GetRecords&service=CSW&typeNames=Record&version=3.0.0 -baa4a7d0-0c01-42b6-adc3-0d03e9949fa3,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&acceptVersions=3.0.0&request=getCapabilities&service=CSW -bfbe6409-f64a-4c89-acb3-50f260a5c743,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&elementSetName=summary&q=Fusc%C3%A9%20Land&request=GetRecords&service=CSW&typeNames=Record&version=3.0.0 -bfe20134-d1da-42ef-9c0f-8e1307bbf92b,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&service=CSW&version=3.0.0&request=GetRecords&elementsetname=full&typenames=csw:Record&resulttype=results&q=&bbox=&time=/&outputformat=application/xml&outputschema=http://www.opengis.net/cat/csw/3.0&startposition=3&maxrecords=4&recordids= -c03d173a-3f42-4956-89c8-1fe02c3a0873,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&SERVICE=CSW&Request=GetCapabilities&acceptversions=3.0.0 -cb43d8c3-e14c-4a9f-9231-4384b7dd21f3,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&elementName=undefined&request=GetRecords&service=CSW&typeNames=Record&version=3.0.0 -d03c6fd3-e821-4a26-b62f-d20a474e25af,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&acceptVersions=3.0.0§ions=ServiceProvider&request=GetCapabilities&service=CSW -d4ccbf96-a529-480e-a53d-5b88dc1dea7f,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&service=CSW&version=3.0.0&request=GetRecords&elementsetname=full&typenames=csw:Record&resulttype=results&q=&bbox=&time=/&outputformat=application/xml&outputschema=http://www.opengis.net/cat/csw/3.0&startposition=1&maxrecords=&recordids=uid-bc5017e6-5cc8-4b03-aee7-d88f88caba0a -d94c801a-1207-4897-b84a-53f3a192515b,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&service=CSW&version=3.0.0&request=GetRecords&elementsetname=full&typenames=csw:Record&resulttype=results&q=lpppclq&bbox=&time=/&outputformat=application/xml&outputschema=http://www.opengis.net/cat/csw/3.0&startposition=1&maxrecords=&recordids= -da859e34-91fc-495a-8c09-285a40c0900b,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&id=urn:uuid:94bc9c83-97f6-4b40-9eb8-a8e8787a5c63&elementSetName=full&request=GetRecordById&service=CSW&version=3.0.0 -dc246fb8-5af5-4fda-82bb-c18b3ecd439c,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&mode=opensearch&service=CSW&version=3.0.0&request=GetRecords&elementsetname=full&typenames=csw:Record&resulttype=results&q=ipsum&bbox=&time=/&outputformat=application/atom%2Bxml&startposition=1&maxrecords=&recordids= -de016645-6d5c-4855-943c-2db07ae9f49a,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&mode=opensearch&service=CSW&version=3.0.0&request=GetRecords&elementsetname=full&typenames=csw:Record&resulttype=results&q=&bbox=&time=/&outputformat=application/atom%2Bxml&startposition=1&maxrecords=&recordids=urn%3Auuid%3A94bc9c83-97f6-4b40-9eb8-a8e8787a5c63 -dff3ec6b-bb2d-4887-bd17-8fcf15def042,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&elementSetName=summary&request=GetRecords&service=CSW&typeNames=Record&version=3.0.0 -e38e6bfb-8ac4-4ae4-8b87-0aafbc8d3c6b,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&id=urn:uuid:1ef30a8b-876d-4828-9246-c37ab4510bbd&elementSetName=brief&request=GetRecordById&service=CSW&version=3.0.0 -e67ca935-d65d-4d8c-8302-1405333dded0,PYCSW_SERVER?config=tests/suites/csw30/default.cfg -e7704509-3441-458f-8ef0-e333c6b6043f,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&elementName=ns1:subject&elementSetName=brief&request=GetRecords&service=CSW&typeNames=Record&namespace=xmlns(ns1%3Dhttp://purl.org/dc/elements/1.1/)&version=3.0.0 -f1223a49-6d08-44ff-97fe-4c32cbbfad82,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&elementSetName=summary&maxRecords=0&q=titles&request=GetRecords&service=CSW&typeNames=Record&version=3.0.0 -f89dd4e1-3a81-4433-afd2-a3fa1bdb1e18,PYCSW_SERVER?config=tests/suites/csw30/default.cfg&elementSetName=full&outputFormat=text/example&request=GetRecords&service=CSW&typeNames=Record&version=3.0.0 +GetCapabilities-base-url, +GetCapabilities-no-version,service=CSW&request=GetCapabilities +GetCapabilities,service=CSW&version=3.0.0&request=GetCapabilities +Exception-invalid-request,service=CSW&version=3.0.0&request=GetCapabilities-foo +Exception-GetDomain,service=CSW&version=3.0.0&request=GetDomain +GetDomain-parameter,service=CSW&version=3.0.0&request=GetDomain¶metername=GetRecords.ElementSetName +GetDomain-value-reference,service=CSW&version=3.0.0&request=GetDomain&valuereference=dc:title +Exception-GetDomain-value-reference,service=CSW&version=3.0.0&request=GetDomain&valuereference=dc:title2 +Exception-GetRecordById-dc.xml,service=CSW&version=3.0.0&request=GetRecordById&id=urn:uuid:829babb0-b2f1-49e1-8cd5-7b489fe71a1e +Exception-GetRecordById-404,service=CSW&version=3.0.0&request=GetRecordById&id=does_not_exist2 +OpenSearch-description,mode=opensearch&service=CSW&version=3.0.0&request=GetCapabilities +GetRepositoryItem,service=CSW&version=3.0.0&request=GetRepositoryItem&id=urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f +Exception-GetRepositoryItem-notfound,service=CSW&version=3.0.0&request=GetRepositoryItem&id=NOTFOUND +002258f0-627f-457f-b2ad-025777c77ac8,mode=opensearch&service=CSW&version=3.0.0&request=GetCapabilities +045c600d-973d-41eb-9f60-eba1b717b720,mode=opensearch&service=CSW&version=3.0.0&request=GetRecords&elementsetname=full&typenames=csw:Record&resulttype=results&q=Fusc%C3%A9%20Land&bbox=&time=/&outputformat=application/atom%2Bxml&startposition=1&maxrecords=&recordids= +0bbcf862-5211-4351-9988-63f8bec49c98,elementSetName=summary&outputFormat=application/atom%2Bxml&request=GetRecords&service=CSW&typeNames=Record&version=3.0.0&SortBy=dc:identifier:A +0bdf8457-971e-4ed1-be4a-5feca4dcd8fa, +0d8bbdec-0846-42ca-8dc8-b7f4cba41d67,elementName=tns:title&request=GetRecords&service=CSW&typeNames=Record&namespace=xmlns(tns%3Dhttp://purl.org/dc/elements/1.1/)&version=3.0.0&SortBy=dc:identifier:A +0e1dca37-477a-4060-99fe-7799b52d656c,mode=opensearch&service=CSW&version=3.0.0&request=GetRecords&elementsetname=full&typenames=csw:Record&resulttype=results&q=lpppclq&bbox=&time=/&outputformat=application/atom%2Bxml&startposition=1&maxrecords=&recordids= +13c87956-51a4-4780-a8e9-6e0b5c0bb473,elementSetName=full&maxRecords=20&request=GetRecords&service=CSW&typeNames=Record&version=3.0.0&SortBy=dc:identifier:A +151d982f-ebd3-4cb2-b507-a667713a1e92,acceptFormats=model/x3d%2Bxml&acceptVersions=3.0.0&request=GetCapabilities&service=CSW +1869e495-1a61-4713-8285-76d1336ee1a6,acceptVersions=3.0.0&request=GetCapabilities +1bcb42a9-538c-4f0a-9d4c-d6f10b720aa6,request=GetRecordById&service=CSW&version=3.0.0 +22f44168-2ccf-4801-ad96-204212566d56, +2499a9c9-8d33-449c-bc92-d494adfcc84d,acceptVersions=3.0.0§ions=All&request=GetCapabilities&service=CSW +27f4f39c-d92a-4e3c-b961-c6aa8c24e513,acceptFormats=application/xml&acceptVersions=3.0.0&request=GetCapabilities&service=CSW +28e569df-8596-4128-8d9a-29ad03138915,id=urn:uuid:a06af396-3105-442d-8b40-22b57a90d2f2&request=GetRecordById&service=CSW&version=3.0.0 +2b06a5c8-0df2-4af1-8d2e-a425de11c845, +2ba1418a-444d-4cce-9cfe-4c94efcf8b55,maxRecords=2&elementSetName=summary&outputFormat=application/atom%2Bxml&request=GetRecords&service=CSW&typeNames=csw3:Record&startPosition=3&namespace=xmlns(csw3%3Dhttp://www.opengis.net/cat/csw/3.0)&version=3.0.0 +397fe17a-d5b4-4f96-8cc4-4ce467ed4d0a,service=CSW&version=3.0.0&request=GetRecords&elementsetname=full&typenames=csw:Record&resulttype=results&q=ipsum&bbox=&time=/&outputformat=application/xml&outputschema=http://www.opengis.net/cat/csw/3.0&startposition=1&maxrecords=&recordids= +3dcd1b15-73d2-4b7d-a3e3-ff15bf14aae4,elementSetName=brief&request=GetRecords&service=CSW&typeNames=tns:Record&namespace=xmlns(tns%3Dhttp://www.opengis.net/cat/csw/3.0)&version=3.0.0&SortBy=dc:identifier:A +405e1ff1-5c75-4846-a28b-cfaff2a6921a,elementSetName=summary&recordIds=urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f,urn:uuid:e9330592-0932-474b-be34-c3a3bb67c7db&request=GetRecords&service=CSW&typeNames=Record&version=3.0.0 +43cd6471-6ac7-45bd-8ff9-148cb2de9a52, +4566d2ec-1283-4a02-baed-a74fc5b47e37,acceptVersions=3.0.0§ions=ServiceIdentification&request=GetCapabilities&service=CSW +461bd4c5-6623-490d-9036-d91a2201e87b,acceptVersions=3.0.0§ions=Filter_Capabilities&request=GetCapabilities&service=CSW +5496894a-3877-4f62-a20b-5d7126f94925,service=CSW&version=3.0.0&request=GetRecords&elementsetname=full&typenames=csw:Record&resulttype=results&q=&bbox=514432,5429689,529130,5451619&time=/&outputformat=application/xml&outputschema=http://www.opengis.net/cat/csw/3.0&startposition=1&maxrecords=&recordids= +5a015f6a-bf14-4977-b1e3-6577eb0223c8,service=CSW&version=3.0.0&request=GetRecords&elementsetname=full&typenames=csw:Record&resulttype=results&q=&bbox=-6.17,44.79,17.92,68.41&time=/&outputformat=application/xml&outputschema=http://www.opengis.net/cat/csw/3.0&startposition=1&maxrecords=&recordids=&SortBy=dc:identifier:A +5c3a2390-1fb9-43f0-b96c-f48c7a69c990,id=urn:uuid:88247b56-4cbc-4df9-9860-db3f8042e357&outputFormat=model/vnd.collada%2Bxml&request=GetRecordById&service=CSW&version=3.0.0 +5e9e67dc-18d6-4645-8111-c6263c88a61f,acceptVersions=3.0.0§ions=OperationsMetadata&request=GetCapabilities&service=CSW +604d9379-741c-42e5-b4cf-92e56c87fa64,elementSetName=full&q=amet&request=GetRecords&service=CSW&typeNames=Record&version=3.0.0 +60e6af95-d5fc-465a-82e2-fd2e6d85e4af,request=GetRecords&service=CSW&typeNames=UnknownType&version=3.0.0 +62ad94c2-b558-4265-a427-23d6677975d6,mode=opensearch&service=CSW&version=3.0.0&request=GetRecords&elementsetname=full&typenames=csw:Record&resulttype=results&q=&bbox=&time=/&outputformat=application/atom%2Bxml&startposition=1&maxrecords=&recordids=uid-bc5017e6-5cc8-4b03-aee7-d88f88caba0a +6a5e247b-0961-4b8a-a0d6-35a491d9cfe7,elementSetName=undefined-view&request=GetRecords&service=CSW&typeNames=Record&version=3.0.0 +6a9d0558-9d87-495b-b999-b49a3ef1cf99, +6bd790c9-6019-4652-9c91-330a894d6700,service=CSW&version=3.0.0&request=GetRecords&elementsetname=full&typenames=csw:Record&resulttype=results&q=Fusc%C3%A9%20Land&bbox=&time=/&outputformat=application/xml&outputschema=http://www.opengis.net/cat/csw/3.0&startposition=1&maxrecords=&recordids= +6e9cba43-5e27-415d-adbd-a92851c2c173,acceptVersions=3.0.0&request=GetCapabilities&service=CSW +7630d230-e142-4a09-accf-f091000b90cd,id=urn:uuid:66ae76b7-54ba-489b-a582-0f0633d96493&request=GetRecordById&service=CSW&version=3.0.0 +7e82446a-b5dc-43fe-9a73-4cc1f2f2f0bf,acceptFormats=text/xml&acceptVersions=3.0.0&request=GetCapabilities&service=CSW +8025978e-1a35-4d70-80c2-e8329e0c7864, +8184ae4f-536d-4978-8b28-ad703be96967,elementSetName=brief&bbox=44.79,-6.17,68.41,17.92,urn:ogc:def:crs:EPSG::4326&request=GetRecords&service=CSW&typeNames=Record&version=3.0.0&SortBy=dc:identifier:A +88f63a89-664f-4315-b4f8-04a0b33803a7,maxRecords=15&elementSetName=summary&q=Mauris&bbox=-6.17,44.79,17.92,68.41&request=GetRecords&service=CSW&typeNames=Record&version=3.0.0 +8987f8f0-4d93-4481-968c-a2ccbd6b8be2,id=urn:example:1461546298217&request=GetRecordById&service=CSW&version=3.0.0 +8e5fa0f6-3f29-4d1f-abe2-d9866f3def98,mode=opensearch&service=CSW&version=3.0.0&request=GetRecords&elementsetname=full&typenames=csw:Record&resulttype=results&q=&bbox=-180,-90,180,90&time=/&outputformat=application/atom%2Bxml&startposition=1&maxrecords=&recordids=&SortBy=dc:identifier:A +9000ec29-5649-474e-b2d6-55c00f8a52c0,acceptVersions=9999.12.31&request=GetCapabilities&service=CSW +91914d35-7bbf-45e6-9b37-5ef484869a4e,elementSetName=summary&bbox=-6.17,44.79,17.92,68.41&request=GetRecords&service=CSW&typeNames=Record&version=3.0.0&SortBy=dc:identifier:A +92d4844d-57d5-4cf3-8f47-ba50e369dc04,elementSetName=full&q=atkovxqmf&request=GetRecords&service=CSW&typeNames=Record&version=3.0.0 +9c0e2a4b-b4e6-41c0-b630-c8c99fc89ff3,elementSetName=brief&outputSchema=urn:uuid:6a29d2a8-9651-47a6-9b14-f05d2b5644f0&request=GetRecords&service=CSW&typeNames=Record&version=3.0.0 +9d7ffac8-9798-428d-8e27-3cd12497ee6b,id=urn:uuid:1ef30a8b-876d-4828-9246-c37ab4510bbd&outputSchema=http://www.example.org/ns/alpha&request=GetRecordById&service=CSW&version=3.0.0 +a2f18643-e24e-4fa5-b780-6de4a2dbc814,id=urn:uuid:829babb0-b2f1-49e1-8cd5-7b489fe71a1e&outputFormat=application/atom%2Bxml&request=GetRecordById&service=CSW&version=3.0.0 +abc90c8c-5868-4405-a73e-64c849be3b2a,mode=opensearch&service=CSW&version=3.0.0&request=GetRecords&elementsetname=full&typenames=csw:Record&resulttype=results&q=&bbox=514432,5429689,529130,5451619&time=/&outputformat=application/atom%2Bxml&startposition=1&maxrecords=&recordids= +ad0c0571-09ed-436a-9a4f-a5de744c88fe,maxRecords=2&elementSetName=summary&request=GetRecords&service=CSW&typeNames=csw3:Record&startPosition=3&namespace=xmlns(csw3%3Dhttp://www.opengis.net/cat/csw/3.0)&version=3.0.0 +af502903-f4ee-47ee-b76e-af878d238bcc,service=CSW&version=3.0.0&request=GetRecords&elementsetname=full&typenames=csw:Record&resulttype=results&q=&bbox=-180,-90,180,90&time=/&outputformat=application/xml&outputschema=http://www.opengis.net/cat/csw/3.0&startposition=1&maxrecords=&recordids=&SortBy=dc:identifier:A +b2aafc3f-4f35-47bc-affd-08590972deae,mode=opensearch&service=CSW&version=3.0.0&request=GetRecords&elementsetname=full&typenames=csw:Record&resulttype=results&q=&bbox=-6.17,44.79,17.92,68.41&time=/&outputformat=application/atom%2Bxml&startposition=1&maxrecords=&recordids=&SortBy=dc:identifier:A +b6069623-f7d8-4021-8582-98f0aea0f763,mode=opensearch&service=CSW&version=3.0.0&request=GetRecords&elementsetname=full&typenames=csw:Record&resulttype=results&q=&bbox=&time=/&outputformat=application/atom%2Bxml&startposition=3&maxrecords=4&recordids=&SortBy=dc:identifier:A +b9a07a54-75a8-45bd-b341-2823600211e3,elementSetName=brief&bbox=472944,5363287,492722,5455253,urn:ogc:def:crs:EPSG::0000&request=GetRecords&service=CSW&typeNames=Record&version=3.0.0 +baa4a7d0-0c01-42b6-adc3-0d03e9949fa3,acceptVersions=3.0.0&request=getCapabilities&service=CSW +bfbe6409-f64a-4c89-acb3-50f260a5c743,elementSetName=summary&q=Fusc%C3%A9%20Land&request=GetRecords&service=CSW&typeNames=Record&version=3.0.0 +bfe20134-d1da-42ef-9c0f-8e1307bbf92b,service=CSW&version=3.0.0&request=GetRecords&elementsetname=full&typenames=csw:Record&resulttype=results&q=&bbox=&time=/&outputformat=application/xml&outputschema=http://www.opengis.net/cat/csw/3.0&startposition=3&maxrecords=4&recordids=&SortBy=dc:identifier:A +c03d173a-3f42-4956-89c8-1fe02c3a0873,SERVICE=CSW&Request=GetCapabilities&acceptversions=3.0.0 +cb43d8c3-e14c-4a9f-9231-4384b7dd21f3,elementName=undefined&request=GetRecords&service=CSW&typeNames=Record&version=3.0.0 +d03c6fd3-e821-4a26-b62f-d20a474e25af,acceptVersions=3.0.0§ions=ServiceProvider&request=GetCapabilities&service=CSW +d4ccbf96-a529-480e-a53d-5b88dc1dea7f,service=CSW&version=3.0.0&request=GetRecords&elementsetname=full&typenames=csw:Record&resulttype=results&q=&bbox=&time=/&outputformat=application/xml&outputschema=http://www.opengis.net/cat/csw/3.0&startposition=1&maxrecords=&recordids=uid-bc5017e6-5cc8-4b03-aee7-d88f88caba0a +d94c801a-1207-4897-b84a-53f3a192515b,service=CSW&version=3.0.0&request=GetRecords&elementsetname=full&typenames=csw:Record&resulttype=results&q=lpppclq&bbox=&time=/&outputformat=application/xml&outputschema=http://www.opengis.net/cat/csw/3.0&startposition=1&maxrecords=&recordids= +da859e34-91fc-495a-8c09-285a40c0900b,id=urn:uuid:94bc9c83-97f6-4b40-9eb8-a8e8787a5c63&elementSetName=full&request=GetRecordById&service=CSW&version=3.0.0 +dc246fb8-5af5-4fda-82bb-c18b3ecd439c,mode=opensearch&service=CSW&version=3.0.0&request=GetRecords&elementsetname=full&typenames=csw:Record&resulttype=results&q=ipsum&bbox=&time=/&outputformat=application/atom%2Bxml&startposition=1&maxrecords=&recordids= +de016645-6d5c-4855-943c-2db07ae9f49a,mode=opensearch&service=CSW&version=3.0.0&request=GetRecords&elementsetname=full&typenames=csw:Record&resulttype=results&q=&bbox=&time=/&outputformat=application/atom%2Bxml&startposition=1&maxrecords=&recordids=urn%3Auuid%3A94bc9c83-97f6-4b40-9eb8-a8e8787a5c63 +dff3ec6b-bb2d-4887-bd17-8fcf15def042,elementSetName=summary&request=GetRecords&service=CSW&typeNames=Record&version=3.0.0&SortBy=dc:identifier:A +e38e6bfb-8ac4-4ae4-8b87-0aafbc8d3c6b,id=urn:uuid:1ef30a8b-876d-4828-9246-c37ab4510bbd&elementSetName=brief&request=GetRecordById&service=CSW&version=3.0.0 +e67ca935-d65d-4d8c-8302-1405333dded0, +e7704509-3441-458f-8ef0-e333c6b6043f,elementName=ns1:subject&elementSetName=brief&request=GetRecords&service=CSW&typeNames=Record&namespace=xmlns(ns1%3Dhttp://purl.org/dc/elements/1.1/)&version=3.0.0 +f1223a49-6d08-44ff-97fe-4c32cbbfad82,elementSetName=summary&maxRecords=0&q=titles&request=GetRecords&service=CSW&typeNames=Record&version=3.0.0 +f89dd4e1-3a81-4433-afd2-a3fa1bdb1e18,elementSetName=full&outputFormat=text/example&request=GetRecords&service=CSW&typeNames=Record&version=3.0.0 From 052b5ec0aa6ee31a141ced6c6ba68f5f372ae4ca Mon Sep 17 00:00:00 2001 From: Ricardo Garcia Silva Date: Wed, 14 Dec 2016 15:15:37 +0000 Subject: [PATCH 100/119] Added support for tox --- .gitignore | 1 + tox.ini | 20 ++++++++++++++++++++ 2 files changed, 21 insertions(+) create mode 100644 tox.ini diff --git a/.gitignore b/.gitignore index ac267ca17..592f31da8 100644 --- a/.gitignore +++ b/.gitignore @@ -11,6 +11,7 @@ tests/index.html tests/results **.cache .coverage +.tox # test configurations /default.cfg diff --git a/tox.ini b/tox.ini new file mode 100644 index 000000000..bf143db74 --- /dev/null +++ b/tox.ini @@ -0,0 +1,20 @@ +# Tox (http://tox.testrun.org/) is a tool for running tests +# in multiple virtualenvs. This configuration file will run the +# test suite on all supported python versions. To use it, "pip install tox" +# and then run "tox" from this directory. + +[tox] +#envlist = py27, py34, py35 +envlist = {py27,py34,py35}-{sqlite,postgresql} +skip_missing_interpreters = True + +[testenv] +deps = + -rrequirements.txt + -rrequirements-standalone.txt + -rrequirements-dev.txt + -rrequirements-pg.txt + +commands = + sqlite: py.test {posargs} + postgresql: py.test --database-backend postgresql {posargs} From a1026989047542d9c941aa80edf3c13181704045 Mon Sep 17 00:00:00 2001 From: Ricardo Garcia Silva Date: Wed, 14 Dec 2016 15:17:07 +0000 Subject: [PATCH 101/119] Using unicode strings instead of bytes in test function --- .../functionaltests/test_suites_functional.py | 63 +++++++++++-------- 1 file changed, 38 insertions(+), 25 deletions(-) diff --git a/tests/functionaltests/test_suites_functional.py b/tests/functionaltests/test_suites_functional.py index f9ebd9133..da52b12ed 100644 --- a/tests/functionaltests/test_suites_functional.py +++ b/tests/functionaltests/test_suites_functional.py @@ -76,8 +76,10 @@ def test_suites(configuration, request_method, request_data, expected_result, request_environment = _prepare_wsgi_test_environment(request_method, request_data) pycsw_server = server.Csw(rtconfig=configuration, env=request_environment) - status, contents = pycsw_server.dispatch_wsgi() - with codecs.open(expected_result, encoding="utf-8") as fh: + encoding = "utf-8" + status, raw_contents = pycsw_server.dispatch_wsgi() + contents = raw_contents.decode(encoding) + with codecs.open(expected_result, encoding=encoding) as fh: expected = fh.read() normalized_result = _normalize( contents, @@ -93,8 +95,8 @@ def test_suites(configuration, request_method, request_data, expected_result, "with expected using difflib") matches_expected = _test_xml_diff(normalized_result, expected) if not matches_expected: - print("expected: {0}".format(expected)) - print("response: {0}".format(normalized_result)) + print("expected: {0}".format(expected.encode(encoding))) + print("response: {0}".format(normalized_result.encode(encoding))) assert matches_expected @@ -124,10 +126,10 @@ def _prepare_wsgi_test_environment(request_method, request_data): if request_method == "POST": print("request_path: {0}".format(request_data)) request_buffer = BytesIO() - with open(request_data) as fh: + encoding = "utf-8" + with codecs.open(request_data, encoding=encoding) as fh: contents = fh.read() - print("Request contents: {}".format(contents)) - request_buffer.write(contents) + request_buffer.write(contents.encode(encoding)) request_environment["CONTENT_LENGTH"] = request_buffer.tell() request_buffer.seek(0) request_environment["wsgi.input"] = request_buffer @@ -148,9 +150,9 @@ def _test_xml_result(result, expected, encoding="utf-8"): Parameters ---------- result: str - The result of running the test. + The result of running the test as a unicode string expected: str - The expected outcome. + The expected outcome as a unicode string. Returns ------- @@ -172,7 +174,7 @@ def _test_xml_result(result, expected, encoding="utf-8"): """ - result_element = etree.fromstring(result) + result_element = etree.fromstring(result.encode(encoding)) expected_element = etree.fromstring(expected.encode(encoding)) result_buffer = BytesIO() result_tree = result_element.getroottree() @@ -234,8 +236,7 @@ def _test_xml_diff(result, expected): def _normalize(sresult, normalize_identifiers=False): - """ - Normalize test output so that it can be compared with the expected result. + """Normalize test output so it can be compared with the expected result. Several dynamic elements of a pycsw response (such as time, updateSequence, etc) are replaced with static constants to ease comparison. @@ -243,7 +244,7 @@ def _normalize(sresult, normalize_identifiers=False): Parameters ---------- sresult: str - The test result. + The test result as a unicode string. normalize_identifiers: bool, optional Whether identifier fields should be normalized. @@ -259,17 +260,23 @@ def _normalize(sresult, normalize_identifiers=False): updatesequence = re.search(r'updateSequence="(\S+)"', sresult) timestamp = re.search(r'timestamp="(.*)"', sresult) timestamp2 = re.search(r'timeStamp="(.*)"', sresult) - timestamp3 = re.search(r'(.*)', - sresult) + timestamp3 = re.search( + r'(.*)', + sresult + ) timestamp4 = re.search( - r'(.*)', sresult) + r'(.*)', + sresult + ) zrhost = re.search(r'(.*)', sresult) zrport = re.search(r'(.*)', sresult) elapsed_time = re.search(r'elapsedTime="(.*)"', sresult) expires = re.search(r'expires="(.*?)"', sresult) - atom_updated = re.findall(r'(.*)', sresult) + atom_updated = re.findall(r'(.*)', + sresult) if version: - sresult = sresult.replace(version.group(0), r'') + sresult = sresult.replace(version.group(0), + r'') if updatesequence: sresult = sresult.replace(updatesequence.group(0), r'updateSequence="PYCSW_UPDATESEQUENCE"') @@ -306,8 +313,10 @@ def _normalize(sresult, normalize_identifiers=False): # for csw:HarvestResponse documents, mask identifiers # which are dynamically generated for OWS endpoints if sresult.find(r'HarvestResponse') != -1: - identifier = re.findall(r'(\S+)', - sresult) + identifier = re.findall( + r'(\S+)', + sresult + ) for i in identifier: sresult = sresult.replace(i, r'PYCSW_IDENTIFIER') # JSON responses @@ -318,15 +327,19 @@ def _normalize(sresult, normalize_identifiers=False): r'"@timestamp": "PYCSW_TIMESTAMP"') # harvesting-based GetRecords/GetRecordById responses if normalize_identifiers: - dcid = re.findall(r'(urn:uuid.*)', - sresult) + dcid = re.findall( + r'(urn:uuid.*)', + sresult + ) isoid = re.findall(r'id="(urn:uuid.*)"', sresult) - isoid2 = re.findall(r'(urn:uuid.*)(urn:uuid.*) Date: Wed, 14 Dec 2016 15:17:26 +0000 Subject: [PATCH 102/119] fixed version for pytest --- requirements-dev.txt | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/requirements-dev.txt b/requirements-dev.txt index 9ca8ca353..1ffc07358 100644 --- a/requirements-dev.txt +++ b/requirements-dev.txt @@ -1,6 +1,7 @@ Paver==1.2.4 -pytest==2.9.1 +pytest==3.0.3 pytest-cov==2.4.0 +pytest-flake8==0.8.1 pytest-timeout==1.2.0 requests==2.10.0 sphinx From a16a90742a72ddde9ac0c47d62b757c721c5e861 Mon Sep 17 00:00:00 2001 From: Ricardo Garcia Silva Date: Wed, 14 Dec 2016 15:17:46 +0000 Subject: [PATCH 103/119] improved docs on testing --- docs/testing.rst | 80 ++++++++++++++++++++++++++++++++---------------- 1 file changed, 53 insertions(+), 27 deletions(-) diff --git a/docs/testing.rst b/docs/testing.rst index b17a3b4f3..5d2fe1d13 100644 --- a/docs/testing.rst +++ b/docs/testing.rst @@ -11,8 +11,8 @@ The tests can be run locally as part of the development cycle. They are also run on pycsw's `Travis`_ continuous integration server against all pushes and pull requests to the code repository. -.. _ogc-cite: +.. _ogc-cite: OGC CITE -------- @@ -21,12 +21,6 @@ In addition to pycsw's own tests, all public releases are also tested via the OGC `Compliance & Interoperability Testing & Evaluation Initiative`_ (CITE). The pycsw `wiki`_ documents CITE testing procedures and status. -.. _pytest: http://pytest.org/latest/ -.. _Travis: http://travis-ci.org/geopython/pycsw -.. _Compliance & Interoperability Testing & Evaluation Initiative: - http://cite.opengeospatial.org/ -.. _wiki: https://github.com/geopython/pycsw/wiki/OGC-CITE-Compliance - Test suites ----------- @@ -38,7 +32,7 @@ that pycsw works as expected. Each test follows the same workflow: -* Instantiate a pycsw instance with a custom configuration and data repository +* Create a new pycsw instance with a custom configuration and data repository for each suite of tests; * Perform a series of GET and POST requests to the running pycsw instance; @@ -55,7 +49,7 @@ Each suite specifies the following structure: used by the test suite; * A mandatory ``expected/`` directory containing the expected results for each - request + request; * An optional ``data/`` directory that contains ``.xml`` files with testing data that is to be loaded into the suite's database before running the tests. @@ -69,7 +63,7 @@ Each suite specifies the following structure: new empty database is used in the tests; * If ``data/`` directory is absent, the suite will use a database populated - with test data from the CITE suite. + with test data from the ``CITE`` suite. * An optional ``get/requests.txt`` file that holds request parameters used for making HTTP GET requests. @@ -80,7 +74,7 @@ Each suite specifies the following structure: For example: - GetCapabilities,service=CSW&version=2.0.2&request=GetCapabilities + TestGetCapabilities,service=CSW&version=2.0.2&request=GetCapabilities When tests are run, the *test_id* is used for naming each test and for finding the expected result. @@ -88,6 +82,7 @@ Each suite specifies the following structure: * An optional ``post/`` directory that holds ``.xml`` files used for making HTTP POST requests + Test identifiers ^^^^^^^^^^^^^^^^ @@ -99,8 +94,6 @@ For example: test_suites[default_post_GetRecords-end] -.. _functional tests: https://en.wikipedia.org/wiki/Functional_testing - Running tests ------------- @@ -123,29 +116,27 @@ running: py.test --help -.. _pytest's invocation documentation: http://docs.pytest.org/en/latest/usage.html Running specific suites and test cases ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -Use the `-k name expression` flag to select which tests to run. Since each +Use the ``-k `` flag to select which tests to run. Since each test's name includes the suite name, http method and an identifier for the test, it is easy to run only certain tests. .. code:: bash - py.test -k "apiso and GetRecords" # run only tests from the `apiso` suite that have `GetRecords` in their name - py.test -k "post and GetRecords" # run only tests that use HTTP POST and `GetRecords` in their name - py.test -k "not harvesting" # run all tests except those from the `harvesting` suite - + py.test -k "apiso and GetRecords" # run only tests from the apiso suite that have GetRecords in their name + py.test -k "post and GetRecords" # run only tests that use HTTP POST and GetRecords in their name + py.test -k "not harvesting" # run all tests except those from the harvesting suite Exiting fast ^^^^^^^^^^^^ -The `--exitfirst` (or `-x`) flag can be used to stop the test runner -immediately if some test case fails. +The ``--exitfirst`` (or ``-x``) flag can be used to stop the test runner +immediately as soon as a test case fails. .. code:: bash @@ -157,21 +148,21 @@ Seeing more output There are three main ways to get more output from running tests: -* The `--verbose` (or `-v`) flag +* The ``--verbose`` (or ``-v``) flag; -* The `--capture=no` flag - Messages sent to stdout by a test are not +* The ``--capture=no`` flag - Messages sent to stdout by a test are not suppressed; -* The `--pycsw-loglevel` flag - Sets the log level of the pycsw instance under - test. Set this value to `debug` in order to see all debug messages sent by - pycsw while processing a request +* The ``--pycsw-loglevel`` flag - Sets the log level of the pycsw instance + under test. Set this value to ``debug`` in order to see all debug messages + sent by pycsw while processing a request. .. code:: bash py.test --verbose py.test --pycsw-loglevel=debug - py.test --capture=no --pycsw-loglevel=debug + py.test -v --capture=no --pycsw-loglevel=debug Test coverage @@ -208,6 +199,33 @@ guide py.test --flake8 +Testing multiple python versions +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +For testing multiple python versions and configurations simultaneously you can +use `tox`_. pycsw includes a `tox.ini` file with a suitable configuration. It +can be used to run tests against multiple python versions and also multiple +database backends. When running `tox` you can send arguments to the `py.test` +runner by using the invocation `tox -- `. +Examples: + +.. code:: bash + + # install tox on your system + sudo pip install tox + + # run all tests on multiple python versions against all databases, + # with default arguments + tox + + # run tests only with python2.7 and using sqlite as backend + tox -e py27-sqlite + + # run only csw30 suite tests with python3.5 and postgresql as backend + tox -e py35-postgresql -- -k 'csw30' + + + Running tests against a remote server ------------------------------------- @@ -334,4 +352,12 @@ requests against your pycsw install. The tests are is located in Then navigate to ``http://host/path/to/pycsw/tests/index.html``. +.. _Compliance & Interoperability Testing & Evaluation Initiative: http://cite.opengeospatial.org/ +.. _functional tests: https://en.wikipedia.org/wiki/Functional_testing .. _`Paver`: http://paver.github.io/paver/ +.. _pytest's invocation documentation: http://docs.pytest.org/en/latest/usage.html +.. _pytest: http://pytest.org/latest/ +.. _Travis: http://travis-ci.org/geopython/pycsw +.. _tox: https://tox.readthedocs.io +.. _wiki: https://github.com/geopython/pycsw/wiki/OGC-CITE-Compliance + From 306ba200903f6d62a2efc2283427897b2c2b1fb4 Mon Sep 17 00:00:00 2001 From: Ricardo Garcia Silva Date: Wed, 14 Dec 2016 15:26:10 +0000 Subject: [PATCH 104/119] Removed old testing tasks from pavement file --- pavement.py | 211 +--------------------------------------------------- 1 file changed, 3 insertions(+), 208 deletions(-) diff --git a/pavement.py b/pavement.py index 840b7ba06..664aaffe6 100644 --- a/pavement.py +++ b/pavement.py @@ -2,8 +2,10 @@ # ================================================================= # # Authors: Tom Kralidis +# Ricardo Garcia Silva # # Copyright (c) 2015 Tom Kralidis +# Copyright (c) 2016 Ricardo Garcia Silva # # Permission is hereby granted, free of charge, to any person # obtaining a copy of this software and associated documentation @@ -28,17 +30,10 @@ # # ================================================================= -from __future__ import (absolute_import, division, print_function) - -import glob import os -import sys -import time - -from six.moves import configparser from paver.easy import task, cmdopts, needs, \ - pushd, sh, call_task, path, info, BuildFailure + pushd, sh, call_task, path, info DOCS = 'docs' STAGE_DIR = '/tmp' @@ -145,203 +140,3 @@ def package_tar_gz(options): tar = tarfile.open(filename, 'w:gz') tar.add(package_name) tar.close() - -@task -def setup_testdata(): - """Create test databases and load test data""" - - test_database_parameters = { - # suite: has_testdata - 'apiso': True, - 'cite': True, - 'harvesting': False, - 'manager': False - } - - for suite in test_database_parameters.keys(): - dbfile = 'tests/suites/%s/data/records.db' % suite - if os.path.isfile(dbfile): - os.remove(dbfile) - - for database, has_testdata in test_database_parameters.items(): - info('Setting up test database %s' % database) - cfg = path('tests/suites/%s/default.cfg' % database) - sh('pycsw-admin.py -c setup_db -f %s' % cfg) - if has_testdata: - datapath = path('tests/suites/%s/data' % database) - info('Loading test data from %s' % datapath) - sh('pycsw-admin.py -c load_records -f %s -p %s' % (cfg, datapath)) - exportpath = path('tests/results/exports') - sh('pycsw-admin.py -c export_records -f %s -p %s' % (cfg, exportpath)) - -@task -@cmdopts([ - ('url=', 'u', 'pycsw endpoint'), - ('suites=', 's', 'comma-separated list of testsuites'), - ('database=', 'd', 'database (SQLite3 [default], PostgreSQL, MySQL)'), - ('user=', 'U', 'database username'), - ('pass=', 'p', 'database password'), - ('pedantic', 'P', 'run tests in pedantic mode (byte level diff check) (default: c14n mode)'), - ('remote', 'r', 'remote testing (harvesting)'), - ('time=', 't', 'time (milliseconds) in which requests should complete') -]) -def test(options): - """Run unit tests""" - - db_setup = False - db_conn = None - cfg_files = [] - status = 0 - - url = options.get('url', None) - suites = options.get('suites', None) - database = options.get('database', 'SQLite3') - remote = options.get('remote') - timems = options.get('time', None) - pedantic = options.get('pedantic', False) - - if url is None: - # run against default server - call_task('stop') - call_task('reset') - if database == 'SQLite3': - call_task('setup_testdata') - call_task('start') - url = 'http://localhost:8000' - - if suites is not None: - cmd = 'python run_tests.py -u %s -s %s' % (url, suites) - else: - cmd = 'python run_tests.py -u %s' % url - - if remote: - cmd = '%s -r' % cmd - - if pedantic: - cmd = '%s -p' % cmd - - if timems: - cmd = '%s -t %s' % (cmd, timems) - - # configure/setup database if not default - if database != 'SQLite3': - db_setup = True - temp_db = 'pycsw_ci_test_pid_%d' % os.getpid() - - if database == 'PostgreSQL': # configure PG - - from pycsw.admin import setup_db, load_records, export_records - from pycsw.config import StaticContext - - cmd = '%s -d %s' % (cmd, database) - - init_sfsql = True - home = os.path.abspath(os.path.dirname(__file__)) - user = options.get('user', 'postgres') - password = options.get('pass', '') - context = StaticContext() - - db_conn = 'postgresql://%s:%s@localhost/%s' % ( - user, password, temp_db) - - if password: - sh('set PGPASSWORD=%s' % password) - - sh('createdb %s -U %s' % (temp_db, user)) - sh('createlang --dbname=%s plpythonu -U %s' % (temp_db, user)) - - # update all default.cfg files to point to test DB - cfg_files = glob.glob('tests%ssuites%s*%s*.cfg' % (3*(os.sep,))) - - for cfg in cfg_files: - # generate table - suite = cfg.split(os.sep)[2] - - tablename = 'records_cite' - - if suite == 'manager': - tablename = 'records_manager' - elif suite == 'apiso': - tablename = 'records_apiso' - - config = configparser.SafeConfigParser() - with open(cfg) as read_data: - config.readfp(read_data) - config.set('repository', 'database', db_conn) - config.set('repository', 'table', tablename) - with open(cfg, 'wb') as config2: - config.write(config2) - - if suite in ['cite', 'manager', 'apiso']: # setup tables - setup_db(db_conn, tablename, home, init_sfsql, init_sfsql) - init_sfsql = False - - if suite in ['cite', 'apiso']: # load test data - dirname = '%s%sdata' % (os.path.dirname(cfg), os.sep) - load_records(context, db_conn, tablename, dirname) - - if suite in ['cite', 'apiso']: # export test data - exportpath = 'tests/results/exports' - export_records(context, db_conn, tablename, exportpath) - - else: - raise Exception('Invalid database specified') - - with pushd('tests'): - try: - sh(cmd) - except BuildFailure as err: - status = 1 - # stop pycsw instance - call_task('stop') - - if db_setup: # tearDown - for cfg in cfg_files: - sh('git checkout %s' % cfg) - if database == 'PostgreSQL': - sh("psql -c \"select pg_terminate_backend(procpid) from pg_stat_activity where datname='%s';\" -U %s" % (temp_db, user)) - sh('dropdb %s -U %s' % (temp_db, user)) - sh('unset PGPASSWORD') - - sys.exit(status) - - -@task -def start(options): - """Start local WSGI server instance""" - sh('python pycsw/wsgi.py 8000 &') - time.sleep(10) - - -@task -def stop(): - """Stop local WSGI server instance""" - - kill_process('python', 'pycsw/wsgi.py') - - -@task -@cmdopts([ - ('force', 'f', 'forces git clean'), -]) -def reset(options): - """Return codebase to pristine state""" - - force = options.get('force') - if force: - sh('git clean -dxf') - - -def kill_process(procname, scriptname): - """kill WSGI processes that may be running in development""" - - # from http://stackoverflow.com/a/2940878 - import subprocess, signal - p = subprocess.Popen(['ps', 'aux'], stdout=subprocess.PIPE) - out, err = p.communicate() - - for line in out.decode().splitlines(): - if procname in line and scriptname in line: - pid = int(line.split()[1]) - info('Stopping %s %s %d' % (procname, scriptname, pid)) - os.kill(pid, signal.SIGKILL) From a1c0f9cd21918ef21cef6cbd99f1365a6ac97a48 Mon Sep 17 00:00:00 2001 From: Ricardo Silva Date: Wed, 25 May 2016 02:15:27 +0100 Subject: [PATCH 105/119] moving tests to pytest --- tests/conftest.py | 1 - tests/test_suites.py | 248 +++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 248 insertions(+), 1 deletion(-) create mode 100644 tests/test_suites.py diff --git a/tests/conftest.py b/tests/conftest.py index cee443413..3c9be3d8f 100644 --- a/tests/conftest.py +++ b/tests/conftest.py @@ -101,4 +101,3 @@ def log_level(request): """ return request.config.getoption("pycsw_loglevel").upper() - diff --git a/tests/test_suites.py b/tests/test_suites.py new file mode 100644 index 000000000..6b7cd1f25 --- /dev/null +++ b/tests/test_suites.py @@ -0,0 +1,248 @@ +# ================================================================= +# +# Authors: Tom Kralidis +# Ricardo Garcia Silva +# +# Copyright (c) 2016 Tom Kralidis +# Copyright (c) 2016 Ricardo Garcia Silva +# +# Permission is hereby granted, free of charge, to any person +# obtaining a copy of this software and associated documentation +# files (the "Software"), to deal in the Software without +# restriction, including without limitation the rights to use, +# copy, modify, merge, publish, distribute, sublicense, and/or sell +# copies of the Software, and to permit persons to whom the +# Software is furnished to do so, subject to the following +# conditions: +# +# The above copyright notice and this permission notice shall be +# included in all copies or substantial portions of the Software. +# +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +# EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES +# OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +# NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT +# HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, +# WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR +# OTHER DEALINGS IN THE SOFTWARE. +# +# ================================================================= +"""Functional tests for pycsw. + +These tests are based on the execution of the requests defined in the suites +under the `suites` directory. + +""" + +import codecs +from io import BytesIO +import json +from lxml import etree +from lxml import objectify +import os +import pytest +import re +import requests + +ENCODING = "utf-8" + + +@pytest.mark.functional +class TestSuites(object): + + def test_suites_post(self, local_server, test_request, expected_result, + config): + print("locals: {0}".format(locals())) + with open(test_request, encoding=ENCODING) as request_fh: + request_data = request_fh.read() + with open(expected_result, encoding=ENCODING) as expected_fh: + expected = expected_fh.read() + response = requests.post(local_server, + params={"config": config}, + data=request_data) + response_data = response.text + assert _get_validity(expected, response_data) + #assert response.status_code == 200 + + +def _test_xml_result(result, expected): + """Compare the XML test results with an expected value. + + This function compares the test result with the expected values by + performing XML canonicalization (c14n)[1]_. + + Parameters + ---------- + result: str + The result of running the test. + expected: str + The expected outcome. + + Returns + ------- + bool + Whether the result matches the expectations or not. + + Raises + ------ + etree.XMLSyntaxError + If any of the input parameters is not a valid XMl. + etree.C14NError + If any of the input parameters cannot be canonicalized. This may + happen if there are relative namespace URIs in any of the XML + documents, as they are explicitly not allowed when doing XML c14n + + References + ---------- + .. [1] http://www.w3.org/TR/xml-c14n + + """ + + result_element = etree.fromstring(result.encode(ENCODING)) + expected_element = etree.fromstring(expected.encode(ENCODING)) + result_buffer = BytesIO() + result_tree = result_element.getroottree() + objectify.deannotate(result_tree, cleanup_namespaces=True) + result_tree.write_c14n(result_buffer) + expected_buffer = BytesIO() + expected_tree = expected_element.getroottree() + objectify.deannotate(expected_tree, cleanup_namespaces=True) + expected_tree.write_c14n(expected_buffer) + matches = result_buffer.getvalue() == expected_buffer.getvalue() + return matches + + +def _test_json_result(result, expected): + """Compare the JSON test results with an expected value. + + Parameters + ---------- + result: str + The result of running the test. + expected: str + The expected outcome. + + Returns + ------- + bool + Whether the result matches the expectations or not. + + """ + + result_dict = json.loads(result, encoding=ENCODING) + expected_dict = json.loads(expected, encoding=ENCODING) + return result_dict == expected_dict + + +def _get_validity(expected, result, force_id_mask=False): + """Test whether the test result matches the expected outcome. + + This function deals with both XML and JSON results. It first tries to + parse the result and the expected outcome as XML and evaluates them using + XML canonicalization (c14n). If the result cannot be parsed as XML, it then + tries to load it as JSON and does a sorted comparison. + + Parameters + ---------- + expected: str + The expected outcome of the test + result: str + The actual result that was generated by running the test code + force_id_mask: bool, optional + Whether to apply result normalization to id fields + + Returns + ------- + bool + Whether the result matches the expected values + + """ + + normalized_result = _normalize(result, force_id_mask=force_id_mask) + try: + matches_expected = _test_xml_result(normalized_result, expected) + except etree.XMLSyntaxError: + # the file is either not XML (perhaps JSON?) or malformed + matches_expected = _test_json_result(normalized_result, expected) + return matches_expected + + +def _normalize(sresult, force_id_mask=False): + """Replace time, updateSequence and version specific values with generic + values""" + + # XML responses + version = re.search(r'', sresult) + updatesequence = re.search(r'updateSequence="(\S+)"', sresult) + timestamp = re.search(r'timestamp="(.*)"', sresult) + timestamp2 = re.search(r'timeStamp="(.*)"', sresult) + timestamp3 = re.search(r'(.*)', sresult) + timestamp4 = re.search(r'(.*)', sresult) + zrhost = re.search(r'(.*)', sresult) + zrport = re.search(r'(.*)', sresult) + elapsed_time = re.search(r'elapsedTime="(.*)"', sresult) + expires = re.search(r'expires="(.*?)"', sresult) + atom_updated = re.findall(r'(.*)', sresult) + + if version: + sresult = sresult.replace(version.group(0), r'') + if updatesequence: + sresult = sresult.replace(updatesequence.group(0), + r'updateSequence="PYCSW_UPDATESEQUENCE"') + if timestamp: + sresult = sresult.replace(timestamp.group(0), + r'timestamp="PYCSW_TIMESTAMP"') + if timestamp2: + sresult = sresult.replace(timestamp2.group(0), + r'timeStamp="PYCSW_TIMESTAMP"') + if timestamp3: + sresult = sresult.replace(timestamp3.group(0), + r'PYCSW_TIMESTAMP') + if timestamp4: + sresult = sresult.replace(timestamp4.group(0), + r'PYCSW_TIMESTAMP') + if zrport: + sresult = sresult.replace(zrport.group(0), + r'PYCSW_PORT') + if zrhost: + sresult = sresult.replace(zrhost.group(0), + r'PYCSW_HOST') + if elapsed_time: + sresult = sresult.replace(elapsed_time.group(0), + r'elapsedTime="PYCSW_ELAPSED_TIME"') + if expires: + sresult = sresult.replace(expires.group(0), + r'expires="PYCSW_EXPIRES"') + for au in atom_updated: + sresult = sresult.replace(au, r'PYCSW_TIMESTAMP') + + # for csw:HarvestResponse documents, mask identifiers + # which are dynamically generated for OWS endpoints + if sresult.find(r'HarvestResponse') != -1: + identifier = re.findall(r'(\S+)', + sresult) + for i in identifier: + sresult = sresult.replace(i, r'PYCSW_IDENTIFIER') + + # JSON responses + timestamp = re.search(r'"@timestamp": "(.*?)"', sresult) + + if timestamp: + sresult = sresult.replace(timestamp.group(0), + r'"@timestamp": "PYCSW_TIMESTAMP"') + + # harvesting-based GetRecords/GetRecordById responses + if force_id_mask: + dcid = re.findall(r'(urn:uuid.*)', sresult) + isoid = re.findall(r'id="(urn:uuid.*)"', sresult) + isoid2 = re.findall(r'(urn:uuid.*) Date: Wed, 25 May 2016 18:42:12 +0100 Subject: [PATCH 106/119] working on POST tests --- tests/test_suites.py | 115 ++++++++++++++++++++++++++++--------------- 1 file changed, 75 insertions(+), 40 deletions(-) diff --git a/tests/test_suites.py b/tests/test_suites.py index 6b7cd1f25..2ef12c82a 100644 --- a/tests/test_suites.py +++ b/tests/test_suites.py @@ -51,19 +51,87 @@ @pytest.mark.functional class TestSuites(object): - def test_suites_post(self, local_server, test_request, expected_result, - config): - print("locals: {0}".format(locals())) + def test_apiso_suite(self, server_apiso_suite, test_request, + expected_result): + self._test_request(server_apiso_suite, test_request, expected_result) + + def test_apiso_inspire_suite(self, server_apiso_inspire_suite, + test_request, expected_result): + self._test_request(server_apiso_inspire_suite, test_request, + expected_result) + + def test_atom_suite(self, server_atom_suite, test_request, + expected_result): + self._test_request(server_atom_suite, test_request, expected_result) + + def test_cite_suite(self, server_cite_suite, test_request, + expected_result): + self._test_request(server_cite_suite, test_request, expected_result) + + def test_csw30_suite(self, server_csw30_suite, test_request, + expected_result): + self._test_request(server_csw30_suite, test_request, expected_result) + + def test_default_suite(self, server_default_suite, test_request, + expected_result): + self._test_request(server_default_suite, test_request, expected_result) + + def test_dif_suite(self, server_dif_suite, test_request, + expected_result): + self._test_request(server_dif_suite, test_request, expected_result) + + def test_ebrim_suite(self, server_ebrim_suite, test_request, + expected_result): + self._test_request(server_ebrim_suite, test_request, expected_result) + + def test_fgdc_suite(self, server_fgdc_suite, test_request, + expected_result): + self._test_request(server_fgdc_suite, test_request, expected_result) + + def test_gm03_suite(self, server_gm03_suite, test_request, + expected_result): + self._test_request(server_gm03_suite, test_request, expected_result) + + def test_harvesting_suite(self, server_harvesting_suite, test_request, + expected_result): + self._test_request(server_harvesting_suite, test_request, + expected_result) + + def test_oaipmh_suite(self, server_oaipmh_suite, test_request, + expected_result): + self._test_request(server_oaipmh_suite, test_request, expected_result) + + def test_repofilter_suite(self, server_repofilter_suite, test_request, + expected_result): + self._test_request(server_repofilter_suite, test_request, + expected_result) + + def test_sru_suite(self, server_sru_suite, test_request, + expected_result): + self._test_request(server_sru_suite, test_request, expected_result) + + def test_utf_8_suite(self, server_utf_8_suite, test_request, + expected_result): + self._test_request(server_utf_8_suite, test_request, expected_result) + + def _test_request(self, pycsw_server_url, test_request, expected_result): with open(test_request, encoding=ENCODING) as request_fh: request_data = request_fh.read() with open(expected_result, encoding=ENCODING) as expected_fh: expected = expected_fh.read() - response = requests.post(local_server, - params={"config": config}, + response = requests.post(pycsw_server_url, data=request_data) response_data = response.text - assert _get_validity(expected, response_data) - #assert response.status_code == 200 + + normalized_result = _normalize(response_data, force_id_mask=False) + print("expected: {0}".format(expected)) + print("response: {0}".format(normalized_result)) + try: + matches_expected = _test_xml_result(normalized_result, expected) + except etree.XMLSyntaxError: + # the file is either not XML (perhaps JSON?) or malformed + matches_expected = _test_json_result(normalized_result, expected) + assert matches_expected def _test_xml_result(result, expected): @@ -135,39 +203,6 @@ def _test_json_result(result, expected): return result_dict == expected_dict -def _get_validity(expected, result, force_id_mask=False): - """Test whether the test result matches the expected outcome. - - This function deals with both XML and JSON results. It first tries to - parse the result and the expected outcome as XML and evaluates them using - XML canonicalization (c14n). If the result cannot be parsed as XML, it then - tries to load it as JSON and does a sorted comparison. - - Parameters - ---------- - expected: str - The expected outcome of the test - result: str - The actual result that was generated by running the test code - force_id_mask: bool, optional - Whether to apply result normalization to id fields - - Returns - ------- - bool - Whether the result matches the expected values - - """ - - normalized_result = _normalize(result, force_id_mask=force_id_mask) - try: - matches_expected = _test_xml_result(normalized_result, expected) - except etree.XMLSyntaxError: - # the file is either not XML (perhaps JSON?) or malformed - matches_expected = _test_json_result(normalized_result, expected) - return matches_expected - - def _normalize(sresult, force_id_mask=False): """Replace time, updateSequence and version specific values with generic values""" From dc8853d7ccc119c3832957cc6247005f6441b44a Mon Sep 17 00:00:00 2001 From: Ricardo Garcia Silva Date: Sun, 29 May 2016 13:31:07 +0100 Subject: [PATCH 107/119] refactoring tests to use py.test --- tests/conftest.py | 1 - tests/test_suites.py | 239 ++++++++++++++++++++++++++++++------------- 2 files changed, 169 insertions(+), 71 deletions(-) diff --git a/tests/conftest.py b/tests/conftest.py index 3c9be3d8f..0640ca8f0 100644 --- a/tests/conftest.py +++ b/tests/conftest.py @@ -30,7 +30,6 @@ import pytest - def pytest_configure(config): """Configure pytest diff --git a/tests/test_suites.py b/tests/test_suites.py index 2ef12c82a..48a374059 100644 --- a/tests/test_suites.py +++ b/tests/test_suites.py @@ -47,91 +47,190 @@ ENCODING = "utf-8" +pytestmark = pytest.mark.functional -@pytest.mark.functional -class TestSuites(object): - def test_apiso_suite(self, server_apiso_suite, test_request, - expected_result): - self._test_request(server_apiso_suite, test_request, expected_result) +class TestApisoSuite(object): + + def test_post_requests(self, server_apiso_suite, test_request, + expected_result): + pass + + def test_get_requests(self, server_apiso_suite, test_request_parameters, + expected_result): + pass + + +class TestApisoInspireSuite(object): + + def test_post_requests(self, server_apiso_inspire_suite, test_request, + expected_result): + pass + + def test_get_requests(self, server_apiso_inspire_suite, + test_request_parameters, expected_result): + pass + + +class TestAtomSuite(object): + + def test_post_requests(self, server_atom_suite, test_request, + expected_result): + pass + + def test_get_requests(self, server_atom_suite, + test_request_parameters, expected_result): + pass + + +class TestCiteSuite(object): + + def test_post_requests(self, server_cite_suite, test_request, + expected_result): + pass + + def test_get_requests(self, server_cite_suite, + test_request_parameters, expected_result): + pass + + +class TestCsw30Suite(object): + + def test_post_requests(self, server_csw30_suite, test_request, + expected_result): + pass + + def test_get_requests(self, server_csw30_suite, + test_request_parameters, expected_result): + pass - def test_apiso_inspire_suite(self, server_apiso_inspire_suite, - test_request, expected_result): - self._test_request(server_apiso_inspire_suite, test_request, - expected_result) - def test_atom_suite(self, server_atom_suite, test_request, - expected_result): - self._test_request(server_atom_suite, test_request, expected_result) +class TestDefaultSuite(object): + + def test_post_requests(self, server_default_suite, test_request, + expected_result): + pass + + def test_get_requests(self, server_default_suite, test_request_parameters, + expected_result): + pass - def test_cite_suite(self, server_cite_suite, test_request, - expected_result): - self._test_request(server_cite_suite, test_request, expected_result) - def test_csw30_suite(self, server_csw30_suite, test_request, - expected_result): - self._test_request(server_csw30_suite, test_request, expected_result) +class TestDifSuite(object): - def test_default_suite(self, server_default_suite, test_request, + def test_post_requests(self, server_dif_suite, test_request, expected_result): - self._test_request(server_default_suite, test_request, expected_result) + pass + + def test_get_requests(self, server_dif_suite, test_request_parameters, + expected_result): + pass - def test_dif_suite(self, server_dif_suite, test_request, - expected_result): - self._test_request(server_dif_suite, test_request, expected_result) - def test_ebrim_suite(self, server_ebrim_suite, test_request, - expected_result): - self._test_request(server_ebrim_suite, test_request, expected_result) +class TestEbrimSuite(object): - def test_fgdc_suite(self, server_fgdc_suite, test_request, - expected_result): - self._test_request(server_fgdc_suite, test_request, expected_result) + def test_post_requests(self, server_ebrim_suite, test_request, + expected_result): + pass - def test_gm03_suite(self, server_gm03_suite, test_request, - expected_result): - self._test_request(server_gm03_suite, test_request, expected_result) + def test_get_requests(self, server_ebrim_suite, test_request_parameters, + expected_result): + pass - def test_harvesting_suite(self, server_harvesting_suite, test_request, - expected_result): - self._test_request(server_harvesting_suite, test_request, - expected_result) - def test_oaipmh_suite(self, server_oaipmh_suite, test_request, +class TestFgdcSuite(object): + + def test_post_requests(self, server_fgdc_suite, test_request, + expected_result): + pass + + def test_get_requests(self, server_fgdc_suite, test_request_parameters, + expected_result): + pass + +class TestGm03Suite(object): + + def test_post_requests(self, server_gm03_suite, test_request, + expected_result): + pass + + def test_get_requests(self, server_gm03_suite, test_request_parameters, + expected_result): + pass + +class TestHarvestingSuite(object): + + def test_post_requests(self, server_harvesting_suite, test_request, + expected_result): + pass + + def test_get_requests(self, server_harvesting_suite, + test_request_parameters, expected_result): + pass + +class TestOaipmhSuite(object): + + def test_post_requests(self, server_oaipmh_suite, test_request, + expected_result): + pass + + def test_get_requests(self, server_oaipmh_suite, test_request_parameters, + expected_result): + pass + +class TestRepofilterSuite(object): + + def test_post_requests(self, server_repofilter_suite, test_request, + expected_result): + pass + + def test_get_requests(self, server_repofilter_suite, + test_request_parameters, expected_result): + pass + +class TestSruSuite(object): + + def test_post_requests(self, server_sru_suite, test_request, + expected_result): + pass + + def test_get_requests(self, server_sru_suite, test_request_parameters, + expected_result): + pass + +class TestUtf8Suite(object): + + def test_post_requests(self, server_utf_8_suite, test_request, + expected_result): + pass + + def test_get_requests(self, server_utf_8_suite, test_request_parameters, expected_result): - self._test_request(server_oaipmh_suite, test_request, expected_result) - - def test_repofilter_suite(self, server_repofilter_suite, test_request, - expected_result): - self._test_request(server_repofilter_suite, test_request, - expected_result) - - def test_sru_suite(self, server_sru_suite, test_request, - expected_result): - self._test_request(server_sru_suite, test_request, expected_result) - - def test_utf_8_suite(self, server_utf_8_suite, test_request, - expected_result): - self._test_request(server_utf_8_suite, test_request, expected_result) - - def _test_request(self, pycsw_server_url, test_request, expected_result): - with open(test_request, encoding=ENCODING) as request_fh: - request_data = request_fh.read() - with open(expected_result, encoding=ENCODING) as expected_fh: - expected = expected_fh.read() - response = requests.post(pycsw_server_url, - data=request_data) - response_data = response.text - - normalized_result = _normalize(response_data, force_id_mask=False) - print("expected: {0}".format(expected)) - print("response: {0}".format(normalized_result)) - try: - matches_expected = _test_xml_result(normalized_result, expected) - except etree.XMLSyntaxError: - # the file is either not XML (perhaps JSON?) or malformed - matches_expected = _test_json_result(normalized_result, expected) - assert matches_expected + pass + + +def _test_post_request(pycsw_server_url, test_request, expected_result): + with open(test_request, encoding=ENCODING) as request_fh: + request_data = request_fh.read() + with open(expected_result, encoding=ENCODING) as expected_fh: + expected = expected_fh.read() + response = requests.post(pycsw_server_url, + data=request_data) + response_data = response.text + + normalized_result = _normalize(response_data, force_id_mask=False) + print("expected: {0}".format(expected)) + print("response: {0}".format(normalized_result)) + try: + matches_expected = _test_xml_result(normalized_result, expected) + except etree.XMLSyntaxError: + # the file is either not XML (perhaps JSON?) or malformed + matches_expected = _test_json_result(normalized_result, expected) + assert matches_expected + + +def _test_get_request(pycsw_server_url, parameters, expected_result): + pass def _test_xml_result(result, expected): From 151cb47f05f73be10da8c097f683107110ad8a22 Mon Sep 17 00:00:00 2001 From: Ricardo Silva Date: Tue, 31 May 2016 01:11:19 +0100 Subject: [PATCH 108/119] Adding back test logic --- tests/test_suites.py | 118 ++++++++++++++++++++----------------------- 1 file changed, 54 insertions(+), 64 deletions(-) diff --git a/tests/test_suites.py b/tests/test_suites.py index 48a374059..536993d75 100644 --- a/tests/test_suites.py +++ b/tests/test_suites.py @@ -35,14 +35,14 @@ """ -import codecs from io import BytesIO import json from lxml import etree from lxml import objectify -import os -import pytest import re +from urllib.parse import parse_qs + +import pytest import requests ENCODING = "utf-8" @@ -54,159 +54,141 @@ class TestApisoSuite(object): def test_post_requests(self, server_apiso_suite, test_request, expected_result): - pass - - def test_get_requests(self, server_apiso_suite, test_request_parameters, - expected_result): - pass + _test_post_request(server_apiso_suite, test_request, expected_result) class TestApisoInspireSuite(object): - def test_post_requests(self, server_apiso_inspire_suite, test_request, - expected_result): - pass - def test_get_requests(self, server_apiso_inspire_suite, test_request_parameters, expected_result): - pass + print("test_request_parameters: {}".format(test_request_parameters)) + _test_get_request(server_apiso_inspire_suite, test_request_parameters, + expected_result) class TestAtomSuite(object): def test_post_requests(self, server_atom_suite, test_request, expected_result): - pass + _test_post_request(server_atom_suite, test_request, expected_result) def test_get_requests(self, server_atom_suite, test_request_parameters, expected_result): - pass + _test_get_request(server_atom_suite, test_request_parameters, + expected_result) class TestCiteSuite(object): def test_post_requests(self, server_cite_suite, test_request, expected_result): - pass + _test_post_request(server_cite_suite, test_request, expected_result) def test_get_requests(self, server_cite_suite, test_request_parameters, expected_result): - pass + _test_get_request(server_cite_suite, test_request_parameters, + expected_result) class TestCsw30Suite(object): def test_post_requests(self, server_csw30_suite, test_request, expected_result): - pass + _test_post_request(server_csw30_suite, test_request, expected_result) def test_get_requests(self, server_csw30_suite, test_request_parameters, expected_result): - pass + _test_get_request(server_csw30_suite, test_request_parameters, + expected_result) class TestDefaultSuite(object): def test_post_requests(self, server_default_suite, test_request, expected_result): - pass + _test_post_request(server_default_suite, test_request, expected_result) def test_get_requests(self, server_default_suite, test_request_parameters, expected_result): - pass + _test_get_request(server_default_suite, test_request_parameters, + expected_result) class TestDifSuite(object): def test_post_requests(self, server_dif_suite, test_request, expected_result): - pass - - def test_get_requests(self, server_dif_suite, test_request_parameters, - expected_result): - pass + _test_post_request(server_dif_suite, test_request, expected_result) class TestEbrimSuite(object): def test_post_requests(self, server_ebrim_suite, test_request, expected_result): - pass - - def test_get_requests(self, server_ebrim_suite, test_request_parameters, - expected_result): - pass + _test_post_request(server_ebrim_suite, test_request, expected_result) class TestFgdcSuite(object): def test_post_requests(self, server_fgdc_suite, test_request, expected_result): - pass + _test_post_request(server_fgdc_suite, test_request, expected_result) - def test_get_requests(self, server_fgdc_suite, test_request_parameters, - expected_result): - pass class TestGm03Suite(object): def test_post_requests(self, server_gm03_suite, test_request, expected_result): - pass + _test_post_request(server_gm03_suite, test_request, expected_result) - def test_get_requests(self, server_gm03_suite, test_request_parameters, - expected_result): - pass class TestHarvestingSuite(object): def test_post_requests(self, server_harvesting_suite, test_request, expected_result): - pass + _test_post_request(server_harvesting_suite, test_request, + expected_result) def test_get_requests(self, server_harvesting_suite, test_request_parameters, expected_result): - pass + _test_get_request(server_harvesting_suite, test_request_parameters, + expected_result) -class TestOaipmhSuite(object): - def test_post_requests(self, server_oaipmh_suite, test_request, +class TestManagerSuite(object): + + def test_post_requests(self, server_manager_suite, test_request, expected_result): - pass + _test_post_request(server_manager_suite, test_request, expected_result) + + +class TestOaipmhSuite(object): def test_get_requests(self, server_oaipmh_suite, test_request_parameters, expected_result): - pass + _test_get_request(server_oaipmh_suite, test_request_parameters, + expected_result) class TestRepofilterSuite(object): def test_post_requests(self, server_repofilter_suite, test_request, expected_result): - pass + _test_post_request(server_repofilter_suite, test_request, + expected_result) - def test_get_requests(self, server_repofilter_suite, - test_request_parameters, expected_result): - pass class TestSruSuite(object): - def test_post_requests(self, server_sru_suite, test_request, - expected_result): - pass - def test_get_requests(self, server_sru_suite, test_request_parameters, expected_result): - pass + _test_get_request(server_sru_suite, test_request_parameters, + expected_result) class TestUtf8Suite(object): def test_post_requests(self, server_utf_8_suite, test_request, expected_result): - pass - - def test_get_requests(self, server_utf_8_suite, test_request_parameters, - expected_result): - pass + _test_post_request(server_utf_8_suite, test_request, expected_result) def _test_post_request(pycsw_server_url, test_request, expected_result): @@ -216,8 +198,20 @@ def _test_post_request(pycsw_server_url, test_request, expected_result): expected = expected_fh.read() response = requests.post(pycsw_server_url, data=request_data) - response_data = response.text + _compare_response(response, expected) + +def _test_get_request(pycsw_server_url, parameters, expected_result): + with open(expected_result, encoding=ENCODING) as expected_fh: + expected = expected_fh.read() + payload = parse_qs(parameters) + print("payload: {}".format(payload)) + response = requests.get(pycsw_server_url, params=payload) + _compare_response(response, expected) + + +def _compare_response(response, expected): + response_data = response.text normalized_result = _normalize(response_data, force_id_mask=False) print("expected: {0}".format(expected)) print("response: {0}".format(normalized_result)) @@ -229,10 +223,6 @@ def _test_post_request(pycsw_server_url, test_request, expected_result): assert matches_expected -def _test_get_request(pycsw_server_url, parameters, expected_result): - pass - - def _test_xml_result(result, expected): """Compare the XML test results with an expected value. From cc5a43333c10a93aa3dc43363164fb2493401416 Mon Sep 17 00:00:00 2001 From: Ricardo Garcia Silva Date: Thu, 18 Aug 2016 15:06:25 +0100 Subject: [PATCH 109/119] refactoring tests to use py.test --- tests/test_suites.py | 240 +++++++++++++++++++++++++++++-------------- 1 file changed, 162 insertions(+), 78 deletions(-) diff --git a/tests/test_suites.py b/tests/test_suites.py index 536993d75..2b439f33d 100644 --- a/tests/test_suites.py +++ b/tests/test_suites.py @@ -41,6 +41,7 @@ from lxml import objectify import re from urllib.parse import parse_qs +from urllib.parse import unquote import pytest import requests @@ -52,174 +53,257 @@ class TestApisoSuite(object): - def test_post_requests(self, server_apiso_suite, test_request, - expected_result): - _test_post_request(server_apiso_suite, test_request, expected_result) + def test_post_requests(self, + server_apiso_suite, + apiso_test_request, + apiso_expected_post_result): + _test_post_request(server_apiso_suite, + apiso_test_request, + apiso_expected_post_result) class TestApisoInspireSuite(object): - def test_get_requests(self, server_apiso_inspire_suite, - test_request_parameters, expected_result): - print("test_request_parameters: {}".format(test_request_parameters)) - _test_get_request(server_apiso_inspire_suite, test_request_parameters, - expected_result) + def test_get_requests(self, + server_apiso_inspire_suite, + apiso_inspire_test_request_parameters, + apiso_inspire_expected_get_result): + _test_get_request(server_apiso_inspire_suite, + apiso_inspire_test_request_parameters, + apiso_inspire_expected_get_result) class TestAtomSuite(object): - def test_post_requests(self, server_atom_suite, test_request, - expected_result): - _test_post_request(server_atom_suite, test_request, expected_result) + def test_post_requests(self, + server_atom_suite, + atom_test_request, + atom_expected_post_result): + _test_post_request(server_atom_suite, + atom_test_request, + atom_expected_post_result) def test_get_requests(self, server_atom_suite, - test_request_parameters, expected_result): - _test_get_request(server_atom_suite, test_request_parameters, - expected_result) + atom_test_request_parameters, + atom_expected_get_result): + _test_get_request(server_atom_suite, + atom_test_request_parameters, + atom_expected_get_result) class TestCiteSuite(object): - def test_post_requests(self, server_cite_suite, test_request, - expected_result): - _test_post_request(server_cite_suite, test_request, expected_result) + def test_post_requests(self, server_cite_suite, cite_test_request, + cite_expected_post_result): + _test_post_request(server_cite_suite, cite_test_request, + cite_expected_post_result) def test_get_requests(self, server_cite_suite, - test_request_parameters, expected_result): - _test_get_request(server_cite_suite, test_request_parameters, - expected_result) + cite_test_request_parameters, + cite_expected_get_result): + print("locals: {0}".format(locals())) + _test_get_request(server_cite_suite, cite_test_request_parameters, + cite_expected_get_result) class TestCsw30Suite(object): - def test_post_requests(self, server_csw30_suite, test_request, - expected_result): - _test_post_request(server_csw30_suite, test_request, expected_result) + def test_post_requests(self, + server_csw30_suite, + csw30_test_request, + csw30_expected_post_result): + _test_post_request(server_csw30_suite, + csw30_test_request, + csw30_expected_post_result) def test_get_requests(self, server_csw30_suite, - test_request_parameters, expected_result): - _test_get_request(server_csw30_suite, test_request_parameters, - expected_result) + csw30_test_request_parameters, + csw30_expected_get_result): + _test_get_request(server_csw30_suite, + csw30_test_request_parameters, + csw30_expected_get_result) class TestDefaultSuite(object): - def test_post_requests(self, server_default_suite, test_request, - expected_result): - _test_post_request(server_default_suite, test_request, expected_result) + def test_post_requests(self, + server_default_suite, + default_test_request, + default_expected_post_result): + _test_post_request(server_default_suite, + default_test_request, + default_expected_post_result) - def test_get_requests(self, server_default_suite, test_request_parameters, - expected_result): - _test_get_request(server_default_suite, test_request_parameters, - expected_result) + def test_get_requests(self, + server_default_suite, + default_test_request_parameters, + default_expected_get_result): + _test_get_request(server_default_suite, + default_test_request_parameters, + default_expected_get_result) class TestDifSuite(object): - def test_post_requests(self, server_dif_suite, test_request, - expected_result): - _test_post_request(server_dif_suite, test_request, expected_result) + def test_post_requests(self, + server_dif_suite, + dif_test_request, + dif_expected_post_result): + _test_post_request(server_dif_suite, + dif_test_request, + dif_expected_post_result) class TestEbrimSuite(object): - def test_post_requests(self, server_ebrim_suite, test_request, - expected_result): - _test_post_request(server_ebrim_suite, test_request, expected_result) + def test_post_requests(self, server_ebrim_suite, + ebrim_test_request, + ebrim_expected_post_result): + _test_post_request(server_ebrim_suite, + ebrim_test_request, + ebrim_expected_post_result) class TestFgdcSuite(object): - def test_post_requests(self, server_fgdc_suite, test_request, - expected_result): - _test_post_request(server_fgdc_suite, test_request, expected_result) + def test_post_requests(self, + server_fgdc_suite, + fgdc_test_request, + fgdc_expected_post_result): + _test_post_request(server_fgdc_suite, + fgdc_test_request, + fgdc_expected_post_result) class TestGm03Suite(object): - def test_post_requests(self, server_gm03_suite, test_request, - expected_result): - _test_post_request(server_gm03_suite, test_request, expected_result) + def test_post_requests(self, + server_gm03_suite, + gm03_test_request, + gm03_expected_post_result): + _test_post_request(server_gm03_suite, + gm03_test_request, + gm03_expected_post_result) class TestHarvestingSuite(object): - def test_post_requests(self, server_harvesting_suite, test_request, - expected_result): - _test_post_request(server_harvesting_suite, test_request, - expected_result) + def test_post_requests(self, + server_harvesting_suite, + harvesting_test_request, + harvesting_expected_post_result): + _test_post_request(server_harvesting_suite, + harvesting_test_request, + harvesting_expected_post_result) - def test_get_requests(self, server_harvesting_suite, - test_request_parameters, expected_result): - _test_get_request(server_harvesting_suite, test_request_parameters, - expected_result) + def test_get_requests(self, + server_harvesting_suite, + harvesting_test_request_parameters, + harvesting_expected_get_result): + _test_get_request(server_harvesting_suite, + harvesting_test_request_parameters, + harvesting_expected_get_result) class TestManagerSuite(object): - def test_post_requests(self, server_manager_suite, test_request, - expected_result): - _test_post_request(server_manager_suite, test_request, expected_result) + def test_post_requests(self, + server_manager_suite, + manager_test_request, + manager_expected_post_result): + _test_post_request(server_manager_suite, + manager_test_request, + manager_expected_post_result) class TestOaipmhSuite(object): - def test_get_requests(self, server_oaipmh_suite, test_request_parameters, - expected_result): - _test_get_request(server_oaipmh_suite, test_request_parameters, - expected_result) + def test_get_requests(self, server_oaipmh_suite, + oaipmh_test_request_parameters, + oaipmh_expected_get_result): + _test_get_request(server_oaipmh_suite, + oaipmh_test_request_parameters, + oaipmh_expected_get_result) + class TestRepofilterSuite(object): - def test_post_requests(self, server_repofilter_suite, test_request, - expected_result): - _test_post_request(server_repofilter_suite, test_request, - expected_result) + def test_post_requests(self, + server_repofilter_suite, + repofilter_test_request, + repofilter_expected_post_result): + _test_post_request(server_repofilter_suite, + repofilter_test_request, + repofilter_expected_post_result) class TestSruSuite(object): - def test_get_requests(self, server_sru_suite, test_request_parameters, - expected_result): - _test_get_request(server_sru_suite, test_request_parameters, - expected_result) + def test_get_requests(self, + server_sru_suite, + sru_test_request_parameters, + sru_expected_get_result): + _test_get_request(server_sru_suite, + sru_test_request_parameters, + sru_expected_get_result) class TestUtf8Suite(object): - def test_post_requests(self, server_utf_8_suite, test_request, - expected_result): - _test_post_request(server_utf_8_suite, test_request, expected_result) + def test_post_requests(self, + server_utf_8_suite, + utf_8_test_request, + utf_8_expected_post_result): + _test_post_request(server_utf_8_suite, + utf_8_test_request, + utf_8_expected_post_result) def _test_post_request(pycsw_server_url, test_request, expected_result): with open(test_request, encoding=ENCODING) as request_fh: request_data = request_fh.read() + response = requests.post(pycsw_server_url, + data=bytes(request_data, ENCODING)) with open(expected_result, encoding=ENCODING) as expected_fh: expected = expected_fh.read() - response = requests.post(pycsw_server_url, - data=request_data) _compare_response(response, expected) def _test_get_request(pycsw_server_url, parameters, expected_result): + print("**********************") + print("EXPECTED_RESULT: {0}".format(expected_result)) + print("PARAMETERS: {0}".format(parameters)) + print("**********************") with open(expected_result, encoding=ENCODING) as expected_fh: expected = expected_fh.read() - payload = parse_qs(parameters) - print("payload: {}".format(payload)) - response = requests.get(pycsw_server_url, params=payload) + #payload = parse_qs(bytes(parameters, ENCODING)) + #payload = parse_qs(parameters) + payload = {} + for kvp in parameters.split("&"): + print("kvp: {}".format(kvp)) + parts = kvp.split("=") + payload[parts[0].lower()] = unquote(parts[1]) if len(parts) > 1 else "" + #payload[parts[0].lower()] = parts[1] if len(parts) > 1 else "" + print("payload: {0}".format(payload)) + request_headers = {} + if "outputformat" in payload.keys(): + request_headers.setdefault("Accept", payload["outputformat"]) + response = requests.get(pycsw_server_url, params=payload, + headers=request_headers) _compare_response(response, expected) def _compare_response(response, expected): + response.encoding = ENCODING response_data = response.text normalized_result = _normalize(response_data, force_id_mask=False) - print("expected: {0}".format(expected)) - print("response: {0}".format(normalized_result)) try: matches_expected = _test_xml_result(normalized_result, expected) except etree.XMLSyntaxError: # the file is either not XML (perhaps JSON?) or malformed matches_expected = _test_json_result(normalized_result, expected) + if not matches_expected: + print("expected: {0}".format(expected)) + print("response: {0}".format(normalized_result)) assert matches_expected From 76d29e263810fd51076a4f04f5b1bf541448cfdb Mon Sep 17 00:00:00 2001 From: Ricardo Garcia Silva Date: Wed, 16 Nov 2016 17:45:06 +0000 Subject: [PATCH 110/119] refactored the implementation Removed a lot of boiler plate code, simplifying things --- tests/test_suites.py | 456 ------------------------------------------- 1 file changed, 456 deletions(-) delete mode 100644 tests/test_suites.py diff --git a/tests/test_suites.py b/tests/test_suites.py deleted file mode 100644 index 2b439f33d..000000000 --- a/tests/test_suites.py +++ /dev/null @@ -1,456 +0,0 @@ -# ================================================================= -# -# Authors: Tom Kralidis -# Ricardo Garcia Silva -# -# Copyright (c) 2016 Tom Kralidis -# Copyright (c) 2016 Ricardo Garcia Silva -# -# Permission is hereby granted, free of charge, to any person -# obtaining a copy of this software and associated documentation -# files (the "Software"), to deal in the Software without -# restriction, including without limitation the rights to use, -# copy, modify, merge, publish, distribute, sublicense, and/or sell -# copies of the Software, and to permit persons to whom the -# Software is furnished to do so, subject to the following -# conditions: -# -# The above copyright notice and this permission notice shall be -# included in all copies or substantial portions of the Software. -# -# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -# EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES -# OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -# NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT -# HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, -# WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING -# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR -# OTHER DEALINGS IN THE SOFTWARE. -# -# ================================================================= -"""Functional tests for pycsw. - -These tests are based on the execution of the requests defined in the suites -under the `suites` directory. - -""" - -from io import BytesIO -import json -from lxml import etree -from lxml import objectify -import re -from urllib.parse import parse_qs -from urllib.parse import unquote - -import pytest -import requests - -ENCODING = "utf-8" - -pytestmark = pytest.mark.functional - - -class TestApisoSuite(object): - - def test_post_requests(self, - server_apiso_suite, - apiso_test_request, - apiso_expected_post_result): - _test_post_request(server_apiso_suite, - apiso_test_request, - apiso_expected_post_result) - - -class TestApisoInspireSuite(object): - - def test_get_requests(self, - server_apiso_inspire_suite, - apiso_inspire_test_request_parameters, - apiso_inspire_expected_get_result): - _test_get_request(server_apiso_inspire_suite, - apiso_inspire_test_request_parameters, - apiso_inspire_expected_get_result) - - -class TestAtomSuite(object): - - def test_post_requests(self, - server_atom_suite, - atom_test_request, - atom_expected_post_result): - _test_post_request(server_atom_suite, - atom_test_request, - atom_expected_post_result) - - def test_get_requests(self, server_atom_suite, - atom_test_request_parameters, - atom_expected_get_result): - _test_get_request(server_atom_suite, - atom_test_request_parameters, - atom_expected_get_result) - - -class TestCiteSuite(object): - - def test_post_requests(self, server_cite_suite, cite_test_request, - cite_expected_post_result): - _test_post_request(server_cite_suite, cite_test_request, - cite_expected_post_result) - - def test_get_requests(self, server_cite_suite, - cite_test_request_parameters, - cite_expected_get_result): - print("locals: {0}".format(locals())) - _test_get_request(server_cite_suite, cite_test_request_parameters, - cite_expected_get_result) - - -class TestCsw30Suite(object): - - def test_post_requests(self, - server_csw30_suite, - csw30_test_request, - csw30_expected_post_result): - _test_post_request(server_csw30_suite, - csw30_test_request, - csw30_expected_post_result) - - def test_get_requests(self, server_csw30_suite, - csw30_test_request_parameters, - csw30_expected_get_result): - _test_get_request(server_csw30_suite, - csw30_test_request_parameters, - csw30_expected_get_result) - - -class TestDefaultSuite(object): - - def test_post_requests(self, - server_default_suite, - default_test_request, - default_expected_post_result): - _test_post_request(server_default_suite, - default_test_request, - default_expected_post_result) - - def test_get_requests(self, - server_default_suite, - default_test_request_parameters, - default_expected_get_result): - _test_get_request(server_default_suite, - default_test_request_parameters, - default_expected_get_result) - - -class TestDifSuite(object): - - def test_post_requests(self, - server_dif_suite, - dif_test_request, - dif_expected_post_result): - _test_post_request(server_dif_suite, - dif_test_request, - dif_expected_post_result) - - -class TestEbrimSuite(object): - - def test_post_requests(self, server_ebrim_suite, - ebrim_test_request, - ebrim_expected_post_result): - _test_post_request(server_ebrim_suite, - ebrim_test_request, - ebrim_expected_post_result) - - -class TestFgdcSuite(object): - - def test_post_requests(self, - server_fgdc_suite, - fgdc_test_request, - fgdc_expected_post_result): - _test_post_request(server_fgdc_suite, - fgdc_test_request, - fgdc_expected_post_result) - - -class TestGm03Suite(object): - - def test_post_requests(self, - server_gm03_suite, - gm03_test_request, - gm03_expected_post_result): - _test_post_request(server_gm03_suite, - gm03_test_request, - gm03_expected_post_result) - - -class TestHarvestingSuite(object): - - def test_post_requests(self, - server_harvesting_suite, - harvesting_test_request, - harvesting_expected_post_result): - _test_post_request(server_harvesting_suite, - harvesting_test_request, - harvesting_expected_post_result) - - def test_get_requests(self, - server_harvesting_suite, - harvesting_test_request_parameters, - harvesting_expected_get_result): - _test_get_request(server_harvesting_suite, - harvesting_test_request_parameters, - harvesting_expected_get_result) - - -class TestManagerSuite(object): - - def test_post_requests(self, - server_manager_suite, - manager_test_request, - manager_expected_post_result): - _test_post_request(server_manager_suite, - manager_test_request, - manager_expected_post_result) - - -class TestOaipmhSuite(object): - - def test_get_requests(self, server_oaipmh_suite, - oaipmh_test_request_parameters, - oaipmh_expected_get_result): - _test_get_request(server_oaipmh_suite, - oaipmh_test_request_parameters, - oaipmh_expected_get_result) - - -class TestRepofilterSuite(object): - - def test_post_requests(self, - server_repofilter_suite, - repofilter_test_request, - repofilter_expected_post_result): - _test_post_request(server_repofilter_suite, - repofilter_test_request, - repofilter_expected_post_result) - - -class TestSruSuite(object): - - def test_get_requests(self, - server_sru_suite, - sru_test_request_parameters, - sru_expected_get_result): - _test_get_request(server_sru_suite, - sru_test_request_parameters, - sru_expected_get_result) - -class TestUtf8Suite(object): - - def test_post_requests(self, - server_utf_8_suite, - utf_8_test_request, - utf_8_expected_post_result): - _test_post_request(server_utf_8_suite, - utf_8_test_request, - utf_8_expected_post_result) - - -def _test_post_request(pycsw_server_url, test_request, expected_result): - with open(test_request, encoding=ENCODING) as request_fh: - request_data = request_fh.read() - response = requests.post(pycsw_server_url, - data=bytes(request_data, ENCODING)) - with open(expected_result, encoding=ENCODING) as expected_fh: - expected = expected_fh.read() - _compare_response(response, expected) - - -def _test_get_request(pycsw_server_url, parameters, expected_result): - print("**********************") - print("EXPECTED_RESULT: {0}".format(expected_result)) - print("PARAMETERS: {0}".format(parameters)) - print("**********************") - with open(expected_result, encoding=ENCODING) as expected_fh: - expected = expected_fh.read() - #payload = parse_qs(bytes(parameters, ENCODING)) - #payload = parse_qs(parameters) - payload = {} - for kvp in parameters.split("&"): - print("kvp: {}".format(kvp)) - parts = kvp.split("=") - payload[parts[0].lower()] = unquote(parts[1]) if len(parts) > 1 else "" - #payload[parts[0].lower()] = parts[1] if len(parts) > 1 else "" - print("payload: {0}".format(payload)) - request_headers = {} - if "outputformat" in payload.keys(): - request_headers.setdefault("Accept", payload["outputformat"]) - response = requests.get(pycsw_server_url, params=payload, - headers=request_headers) - _compare_response(response, expected) - - -def _compare_response(response, expected): - response.encoding = ENCODING - response_data = response.text - normalized_result = _normalize(response_data, force_id_mask=False) - try: - matches_expected = _test_xml_result(normalized_result, expected) - except etree.XMLSyntaxError: - # the file is either not XML (perhaps JSON?) or malformed - matches_expected = _test_json_result(normalized_result, expected) - if not matches_expected: - print("expected: {0}".format(expected)) - print("response: {0}".format(normalized_result)) - assert matches_expected - - -def _test_xml_result(result, expected): - """Compare the XML test results with an expected value. - - This function compares the test result with the expected values by - performing XML canonicalization (c14n)[1]_. - - Parameters - ---------- - result: str - The result of running the test. - expected: str - The expected outcome. - - Returns - ------- - bool - Whether the result matches the expectations or not. - - Raises - ------ - etree.XMLSyntaxError - If any of the input parameters is not a valid XMl. - etree.C14NError - If any of the input parameters cannot be canonicalized. This may - happen if there are relative namespace URIs in any of the XML - documents, as they are explicitly not allowed when doing XML c14n - - References - ---------- - .. [1] http://www.w3.org/TR/xml-c14n - - """ - - result_element = etree.fromstring(result.encode(ENCODING)) - expected_element = etree.fromstring(expected.encode(ENCODING)) - result_buffer = BytesIO() - result_tree = result_element.getroottree() - objectify.deannotate(result_tree, cleanup_namespaces=True) - result_tree.write_c14n(result_buffer) - expected_buffer = BytesIO() - expected_tree = expected_element.getroottree() - objectify.deannotate(expected_tree, cleanup_namespaces=True) - expected_tree.write_c14n(expected_buffer) - matches = result_buffer.getvalue() == expected_buffer.getvalue() - return matches - - -def _test_json_result(result, expected): - """Compare the JSON test results with an expected value. - - Parameters - ---------- - result: str - The result of running the test. - expected: str - The expected outcome. - - Returns - ------- - bool - Whether the result matches the expectations or not. - - """ - - result_dict = json.loads(result, encoding=ENCODING) - expected_dict = json.loads(expected, encoding=ENCODING) - return result_dict == expected_dict - - -def _normalize(sresult, force_id_mask=False): - """Replace time, updateSequence and version specific values with generic - values""" - - # XML responses - version = re.search(r'', sresult) - updatesequence = re.search(r'updateSequence="(\S+)"', sresult) - timestamp = re.search(r'timestamp="(.*)"', sresult) - timestamp2 = re.search(r'timeStamp="(.*)"', sresult) - timestamp3 = re.search(r'(.*)', sresult) - timestamp4 = re.search(r'(.*)', sresult) - zrhost = re.search(r'(.*)', sresult) - zrport = re.search(r'(.*)', sresult) - elapsed_time = re.search(r'elapsedTime="(.*)"', sresult) - expires = re.search(r'expires="(.*?)"', sresult) - atom_updated = re.findall(r'(.*)', sresult) - - if version: - sresult = sresult.replace(version.group(0), r'') - if updatesequence: - sresult = sresult.replace(updatesequence.group(0), - r'updateSequence="PYCSW_UPDATESEQUENCE"') - if timestamp: - sresult = sresult.replace(timestamp.group(0), - r'timestamp="PYCSW_TIMESTAMP"') - if timestamp2: - sresult = sresult.replace(timestamp2.group(0), - r'timeStamp="PYCSW_TIMESTAMP"') - if timestamp3: - sresult = sresult.replace(timestamp3.group(0), - r'PYCSW_TIMESTAMP') - if timestamp4: - sresult = sresult.replace(timestamp4.group(0), - r'PYCSW_TIMESTAMP') - if zrport: - sresult = sresult.replace(zrport.group(0), - r'PYCSW_PORT') - if zrhost: - sresult = sresult.replace(zrhost.group(0), - r'PYCSW_HOST') - if elapsed_time: - sresult = sresult.replace(elapsed_time.group(0), - r'elapsedTime="PYCSW_ELAPSED_TIME"') - if expires: - sresult = sresult.replace(expires.group(0), - r'expires="PYCSW_EXPIRES"') - for au in atom_updated: - sresult = sresult.replace(au, r'PYCSW_TIMESTAMP') - - # for csw:HarvestResponse documents, mask identifiers - # which are dynamically generated for OWS endpoints - if sresult.find(r'HarvestResponse') != -1: - identifier = re.findall(r'(\S+)', - sresult) - for i in identifier: - sresult = sresult.replace(i, r'PYCSW_IDENTIFIER') - - # JSON responses - timestamp = re.search(r'"@timestamp": "(.*?)"', sresult) - - if timestamp: - sresult = sresult.replace(timestamp.group(0), - r'"@timestamp": "PYCSW_TIMESTAMP"') - - # harvesting-based GetRecords/GetRecordById responses - if force_id_mask: - dcid = re.findall(r'(urn:uuid.*)', sresult) - isoid = re.findall(r'id="(urn:uuid.*)"', sresult) - isoid2 = re.findall(r'(urn:uuid.*) Date: Wed, 14 Dec 2016 17:51:00 +0000 Subject: [PATCH 111/119] Updated several expected test results These changes have to be manual, since this branch changed the location of the expected test files --- .../suites/apiso-inspire/expected/get_GetCapabilities-lang.xml | 2 ++ .../suites/apiso-inspire/expected/get_GetCapabilities.xml | 2 ++ .../suites/apiso/expected/post_GetCapabilities.xml | 2 ++ .../suites/atom/expected/post_GetCapabilities.xml | 2 ++ .../cite/expected/get_27e17158-c57a-4493-92ac-dba8934cf462.xml | 2 ++ .../cite/expected/get_2ab7d1fa-885b-459f-80e4-b6282eab4f8c.xml | 2 ++ .../cite/expected/get_477b23a3-baa9-47c8-9541-5fe27735ed49.xml | 2 ++ .../cite/expected/get_48f26761-3a9d-48db-bee1-da089f5fb857.xml | 2 ++ .../cite/expected/get_55c38f00-2553-42c1-99ab-33edbb561ad7.xml | 2 ++ .../cite/expected/get_80f31def-4185-48b9-983a-960566918eae.xml | 2 ++ .../cite/expected/get_9697f0aa-3b6a-4125-83a5-61e8826127c4.xml | 2 ++ .../cite/expected/get_ba5fc729-3b71-47a0-b7d0-42ec565cd185.xml | 2 ++ .../cite/expected/get_f4692ec5-9547-4a05-88ab-e6154af2640a.xml | 2 ++ .../expected/get_0bdf8457-971e-4ed1-be4a-5feca4dcd8fa.xml | 2 ++ .../expected/get_22f44168-2ccf-4801-ad96-204212566d56.xml | 2 ++ .../expected/get_2499a9c9-8d33-449c-bc92-d494adfcc84d.xml | 2 ++ .../expected/get_27f4f39c-d92a-4e3c-b961-c6aa8c24e513.xml | 2 ++ .../expected/get_2b06a5c8-0df2-4af1-8d2e-a425de11c845.xml | 2 ++ .../expected/get_43cd6471-6ac7-45bd-8ff9-148cb2de9a52.xml | 2 ++ .../expected/get_5e9e67dc-18d6-4645-8111-c6263c88a61f.xml | 2 ++ .../expected/get_6a9d0558-9d87-495b-b999-b49a3ef1cf99.xml | 2 ++ .../expected/get_6e9cba43-5e27-415d-adbd-a92851c2c173.xml | 2 ++ .../expected/get_7e82446a-b5dc-43fe-9a73-4cc1f2f2f0bf.xml | 2 ++ .../expected/get_8025978e-1a35-4d70-80c2-e8329e0c7864.xml | 2 ++ .../suites/csw30/expected/get_GetCapabilities-base-url.xml | 2 ++ .../suites/csw30/expected/get_GetCapabilities-no-version.xml | 2 ++ .../suites/csw30/expected/get_GetCapabilities.xml | 2 ++ .../expected/get_c03d173a-3f42-4956-89c8-1fe02c3a0873.xml | 2 ++ .../expected/get_e67ca935-d65d-4d8c-8302-1405333dded0.xml | 2 ++ .../suites/csw30/expected/post_GetCapabilities.xml | 2 ++ .../suites/default/expected/get_GetCapabilities.xml | 2 ++ .../suites/default/expected/post_GetCapabilities-SOAP.xml | 2 ++ .../default/expected/post_GetCapabilities-updatesequence.xml | 2 ++ .../suites/default/expected/post_GetCapabilities.xml | 2 ++ .../suites/dif/expected/post_GetCapabilities.xml | 2 ++ .../suites/ebrim/expected/post_GetCapabilities.xml | 2 ++ .../suites/fgdc/expected/post_GetCapabilities.xml | 2 ++ .../suites/gm03/expected/post_GetCapabilities.xml | 2 ++ .../suites/harvesting/expected/post_GetCapabilities.xml | 2 ++ .../post_Harvest-zzz-post-GetRecords-filter-ows-dc.xml | 3 +++ ...post_Harvest-zzz-post-GetRecords-filter-sos-abstract-dc.xml | 1 + .../post_Harvest-zzz-post-GetRecords-filter-sos-dc.xml | 2 ++ .../post_Harvest-zzz-post-GetRecords-filter-wms-dc.xml | 1 + .../post_Harvest-zzz-post-GetRecords-filter-wms-layer.xml | 2 ++ .../suites/manager/expected/post_GetCapabilities.xml | 2 ++ .../suites/utf-8/expected/post_GetCapabilities.xml | 2 ++ tests/functionaltests/test_suites_functional.py | 2 ++ 47 files changed, 93 insertions(+) diff --git a/tests/functionaltests/suites/apiso-inspire/expected/get_GetCapabilities-lang.xml b/tests/functionaltests/suites/apiso-inspire/expected/get_GetCapabilities-lang.xml index 6ecec21c6..0434106ff 100644 --- a/tests/functionaltests/suites/apiso-inspire/expected/get_GetCapabilities-lang.xml +++ b/tests/functionaltests/suites/apiso-inspire/expected/get_GetCapabilities-lang.xml @@ -169,7 +169,9 @@ dc:title dc:type dct:abstract + dct:alternative dct:modified + dct:spatial ows:BoundingBox diff --git a/tests/functionaltests/suites/apiso-inspire/expected/get_GetCapabilities.xml b/tests/functionaltests/suites/apiso-inspire/expected/get_GetCapabilities.xml index 6ecec21c6..0434106ff 100644 --- a/tests/functionaltests/suites/apiso-inspire/expected/get_GetCapabilities.xml +++ b/tests/functionaltests/suites/apiso-inspire/expected/get_GetCapabilities.xml @@ -169,7 +169,9 @@ dc:title dc:type dct:abstract + dct:alternative dct:modified + dct:spatial ows:BoundingBox diff --git a/tests/functionaltests/suites/apiso/expected/post_GetCapabilities.xml b/tests/functionaltests/suites/apiso/expected/post_GetCapabilities.xml index 00656b296..fdfc1b626 100644 --- a/tests/functionaltests/suites/apiso/expected/post_GetCapabilities.xml +++ b/tests/functionaltests/suites/apiso/expected/post_GetCapabilities.xml @@ -169,7 +169,9 @@ dc:title dc:type dct:abstract + dct:alternative dct:modified + dct:spatial ows:BoundingBox diff --git a/tests/functionaltests/suites/atom/expected/post_GetCapabilities.xml b/tests/functionaltests/suites/atom/expected/post_GetCapabilities.xml index 7ce6b5663..6c3bf9d86 100644 --- a/tests/functionaltests/suites/atom/expected/post_GetCapabilities.xml +++ b/tests/functionaltests/suites/atom/expected/post_GetCapabilities.xml @@ -150,7 +150,9 @@ dc:title dc:type dct:abstract + dct:alternative dct:modified + dct:spatial ows:BoundingBox diff --git a/tests/functionaltests/suites/cite/expected/get_27e17158-c57a-4493-92ac-dba8934cf462.xml b/tests/functionaltests/suites/cite/expected/get_27e17158-c57a-4493-92ac-dba8934cf462.xml index 369f8d8d5..e38229588 100644 --- a/tests/functionaltests/suites/cite/expected/get_27e17158-c57a-4493-92ac-dba8934cf462.xml +++ b/tests/functionaltests/suites/cite/expected/get_27e17158-c57a-4493-92ac-dba8934cf462.xml @@ -152,7 +152,9 @@ dc:title dc:type dct:abstract + dct:alternative dct:modified + dct:spatial ows:BoundingBox diff --git a/tests/functionaltests/suites/cite/expected/get_2ab7d1fa-885b-459f-80e4-b6282eab4f8c.xml b/tests/functionaltests/suites/cite/expected/get_2ab7d1fa-885b-459f-80e4-b6282eab4f8c.xml index 369f8d8d5..e38229588 100644 --- a/tests/functionaltests/suites/cite/expected/get_2ab7d1fa-885b-459f-80e4-b6282eab4f8c.xml +++ b/tests/functionaltests/suites/cite/expected/get_2ab7d1fa-885b-459f-80e4-b6282eab4f8c.xml @@ -152,7 +152,9 @@ dc:title dc:type dct:abstract + dct:alternative dct:modified + dct:spatial ows:BoundingBox diff --git a/tests/functionaltests/suites/cite/expected/get_477b23a3-baa9-47c8-9541-5fe27735ed49.xml b/tests/functionaltests/suites/cite/expected/get_477b23a3-baa9-47c8-9541-5fe27735ed49.xml index 77dd76c6b..b8f8f6a2e 100644 --- a/tests/functionaltests/suites/cite/expected/get_477b23a3-baa9-47c8-9541-5fe27735ed49.xml +++ b/tests/functionaltests/suites/cite/expected/get_477b23a3-baa9-47c8-9541-5fe27735ed49.xml @@ -269,7 +269,9 @@ dc:title dc:type dct:abstract + dct:alternative dct:modified + dct:spatial ows:BoundingBox diff --git a/tests/functionaltests/suites/cite/expected/get_48f26761-3a9d-48db-bee1-da089f5fb857.xml b/tests/functionaltests/suites/cite/expected/get_48f26761-3a9d-48db-bee1-da089f5fb857.xml index 369f8d8d5..e38229588 100644 --- a/tests/functionaltests/suites/cite/expected/get_48f26761-3a9d-48db-bee1-da089f5fb857.xml +++ b/tests/functionaltests/suites/cite/expected/get_48f26761-3a9d-48db-bee1-da089f5fb857.xml @@ -152,7 +152,9 @@ dc:title dc:type dct:abstract + dct:alternative dct:modified + dct:spatial ows:BoundingBox diff --git a/tests/functionaltests/suites/cite/expected/get_55c38f00-2553-42c1-99ab-33edbb561ad7.xml b/tests/functionaltests/suites/cite/expected/get_55c38f00-2553-42c1-99ab-33edbb561ad7.xml index 14d595bc3..0bf0d3145 100644 --- a/tests/functionaltests/suites/cite/expected/get_55c38f00-2553-42c1-99ab-33edbb561ad7.xml +++ b/tests/functionaltests/suites/cite/expected/get_55c38f00-2553-42c1-99ab-33edbb561ad7.xml @@ -243,7 +243,9 @@ dc:title dc:type dct:abstract + dct:alternative dct:modified + dct:spatial ows:BoundingBox diff --git a/tests/functionaltests/suites/cite/expected/get_80f31def-4185-48b9-983a-960566918eae.xml b/tests/functionaltests/suites/cite/expected/get_80f31def-4185-48b9-983a-960566918eae.xml index 77dd76c6b..b8f8f6a2e 100644 --- a/tests/functionaltests/suites/cite/expected/get_80f31def-4185-48b9-983a-960566918eae.xml +++ b/tests/functionaltests/suites/cite/expected/get_80f31def-4185-48b9-983a-960566918eae.xml @@ -269,7 +269,9 @@ dc:title dc:type dct:abstract + dct:alternative dct:modified + dct:spatial ows:BoundingBox diff --git a/tests/functionaltests/suites/cite/expected/get_9697f0aa-3b6a-4125-83a5-61e8826127c4.xml b/tests/functionaltests/suites/cite/expected/get_9697f0aa-3b6a-4125-83a5-61e8826127c4.xml index 77dd76c6b..b8f8f6a2e 100644 --- a/tests/functionaltests/suites/cite/expected/get_9697f0aa-3b6a-4125-83a5-61e8826127c4.xml +++ b/tests/functionaltests/suites/cite/expected/get_9697f0aa-3b6a-4125-83a5-61e8826127c4.xml @@ -269,7 +269,9 @@ dc:title dc:type dct:abstract + dct:alternative dct:modified + dct:spatial ows:BoundingBox diff --git a/tests/functionaltests/suites/cite/expected/get_ba5fc729-3b71-47a0-b7d0-42ec565cd185.xml b/tests/functionaltests/suites/cite/expected/get_ba5fc729-3b71-47a0-b7d0-42ec565cd185.xml index 369f8d8d5..e38229588 100644 --- a/tests/functionaltests/suites/cite/expected/get_ba5fc729-3b71-47a0-b7d0-42ec565cd185.xml +++ b/tests/functionaltests/suites/cite/expected/get_ba5fc729-3b71-47a0-b7d0-42ec565cd185.xml @@ -152,7 +152,9 @@ dc:title dc:type dct:abstract + dct:alternative dct:modified + dct:spatial ows:BoundingBox diff --git a/tests/functionaltests/suites/cite/expected/get_f4692ec5-9547-4a05-88ab-e6154af2640a.xml b/tests/functionaltests/suites/cite/expected/get_f4692ec5-9547-4a05-88ab-e6154af2640a.xml index 369f8d8d5..e38229588 100644 --- a/tests/functionaltests/suites/cite/expected/get_f4692ec5-9547-4a05-88ab-e6154af2640a.xml +++ b/tests/functionaltests/suites/cite/expected/get_f4692ec5-9547-4a05-88ab-e6154af2640a.xml @@ -152,7 +152,9 @@ dc:title dc:type dct:abstract + dct:alternative dct:modified + dct:spatial ows:BoundingBox diff --git a/tests/functionaltests/suites/csw30/expected/get_0bdf8457-971e-4ed1-be4a-5feca4dcd8fa.xml b/tests/functionaltests/suites/csw30/expected/get_0bdf8457-971e-4ed1-be4a-5feca4dcd8fa.xml index ce9c9355d..c5cb70e29 100644 --- a/tests/functionaltests/suites/csw30/expected/get_0bdf8457-971e-4ed1-be4a-5feca4dcd8fa.xml +++ b/tests/functionaltests/suites/csw30/expected/get_0bdf8457-971e-4ed1-be4a-5feca4dcd8fa.xml @@ -217,7 +217,9 @@ dc:title dc:type dct:abstract + dct:alternative dct:modified + dct:spatial ows:BoundingBox diff --git a/tests/functionaltests/suites/csw30/expected/get_22f44168-2ccf-4801-ad96-204212566d56.xml b/tests/functionaltests/suites/csw30/expected/get_22f44168-2ccf-4801-ad96-204212566d56.xml index ce9c9355d..c5cb70e29 100644 --- a/tests/functionaltests/suites/csw30/expected/get_22f44168-2ccf-4801-ad96-204212566d56.xml +++ b/tests/functionaltests/suites/csw30/expected/get_22f44168-2ccf-4801-ad96-204212566d56.xml @@ -217,7 +217,9 @@ dc:title dc:type dct:abstract + dct:alternative dct:modified + dct:spatial ows:BoundingBox diff --git a/tests/functionaltests/suites/csw30/expected/get_2499a9c9-8d33-449c-bc92-d494adfcc84d.xml b/tests/functionaltests/suites/csw30/expected/get_2499a9c9-8d33-449c-bc92-d494adfcc84d.xml index ce9c9355d..c5cb70e29 100644 --- a/tests/functionaltests/suites/csw30/expected/get_2499a9c9-8d33-449c-bc92-d494adfcc84d.xml +++ b/tests/functionaltests/suites/csw30/expected/get_2499a9c9-8d33-449c-bc92-d494adfcc84d.xml @@ -217,7 +217,9 @@ dc:title dc:type dct:abstract + dct:alternative dct:modified + dct:spatial ows:BoundingBox diff --git a/tests/functionaltests/suites/csw30/expected/get_27f4f39c-d92a-4e3c-b961-c6aa8c24e513.xml b/tests/functionaltests/suites/csw30/expected/get_27f4f39c-d92a-4e3c-b961-c6aa8c24e513.xml index ce9c9355d..c5cb70e29 100644 --- a/tests/functionaltests/suites/csw30/expected/get_27f4f39c-d92a-4e3c-b961-c6aa8c24e513.xml +++ b/tests/functionaltests/suites/csw30/expected/get_27f4f39c-d92a-4e3c-b961-c6aa8c24e513.xml @@ -217,7 +217,9 @@ dc:title dc:type dct:abstract + dct:alternative dct:modified + dct:spatial ows:BoundingBox diff --git a/tests/functionaltests/suites/csw30/expected/get_2b06a5c8-0df2-4af1-8d2e-a425de11c845.xml b/tests/functionaltests/suites/csw30/expected/get_2b06a5c8-0df2-4af1-8d2e-a425de11c845.xml index ce9c9355d..c5cb70e29 100644 --- a/tests/functionaltests/suites/csw30/expected/get_2b06a5c8-0df2-4af1-8d2e-a425de11c845.xml +++ b/tests/functionaltests/suites/csw30/expected/get_2b06a5c8-0df2-4af1-8d2e-a425de11c845.xml @@ -217,7 +217,9 @@ dc:title dc:type dct:abstract + dct:alternative dct:modified + dct:spatial ows:BoundingBox diff --git a/tests/functionaltests/suites/csw30/expected/get_43cd6471-6ac7-45bd-8ff9-148cb2de9a52.xml b/tests/functionaltests/suites/csw30/expected/get_43cd6471-6ac7-45bd-8ff9-148cb2de9a52.xml index ce9c9355d..c5cb70e29 100644 --- a/tests/functionaltests/suites/csw30/expected/get_43cd6471-6ac7-45bd-8ff9-148cb2de9a52.xml +++ b/tests/functionaltests/suites/csw30/expected/get_43cd6471-6ac7-45bd-8ff9-148cb2de9a52.xml @@ -217,7 +217,9 @@ dc:title dc:type dct:abstract + dct:alternative dct:modified + dct:spatial ows:BoundingBox diff --git a/tests/functionaltests/suites/csw30/expected/get_5e9e67dc-18d6-4645-8111-c6263c88a61f.xml b/tests/functionaltests/suites/csw30/expected/get_5e9e67dc-18d6-4645-8111-c6263c88a61f.xml index 4d3fed27a..2037f14f0 100644 --- a/tests/functionaltests/suites/csw30/expected/get_5e9e67dc-18d6-4645-8111-c6263c88a61f.xml +++ b/tests/functionaltests/suites/csw30/expected/get_5e9e67dc-18d6-4645-8111-c6263c88a61f.xml @@ -177,7 +177,9 @@ dc:title dc:type dct:abstract + dct:alternative dct:modified + dct:spatial ows:BoundingBox diff --git a/tests/functionaltests/suites/csw30/expected/get_6a9d0558-9d87-495b-b999-b49a3ef1cf99.xml b/tests/functionaltests/suites/csw30/expected/get_6a9d0558-9d87-495b-b999-b49a3ef1cf99.xml index ce9c9355d..c5cb70e29 100644 --- a/tests/functionaltests/suites/csw30/expected/get_6a9d0558-9d87-495b-b999-b49a3ef1cf99.xml +++ b/tests/functionaltests/suites/csw30/expected/get_6a9d0558-9d87-495b-b999-b49a3ef1cf99.xml @@ -217,7 +217,9 @@ dc:title dc:type dct:abstract + dct:alternative dct:modified + dct:spatial ows:BoundingBox diff --git a/tests/functionaltests/suites/csw30/expected/get_6e9cba43-5e27-415d-adbd-a92851c2c173.xml b/tests/functionaltests/suites/csw30/expected/get_6e9cba43-5e27-415d-adbd-a92851c2c173.xml index ce9c9355d..c5cb70e29 100644 --- a/tests/functionaltests/suites/csw30/expected/get_6e9cba43-5e27-415d-adbd-a92851c2c173.xml +++ b/tests/functionaltests/suites/csw30/expected/get_6e9cba43-5e27-415d-adbd-a92851c2c173.xml @@ -217,7 +217,9 @@ dc:title dc:type dct:abstract + dct:alternative dct:modified + dct:spatial ows:BoundingBox diff --git a/tests/functionaltests/suites/csw30/expected/get_7e82446a-b5dc-43fe-9a73-4cc1f2f2f0bf.xml b/tests/functionaltests/suites/csw30/expected/get_7e82446a-b5dc-43fe-9a73-4cc1f2f2f0bf.xml index ce9c9355d..c5cb70e29 100644 --- a/tests/functionaltests/suites/csw30/expected/get_7e82446a-b5dc-43fe-9a73-4cc1f2f2f0bf.xml +++ b/tests/functionaltests/suites/csw30/expected/get_7e82446a-b5dc-43fe-9a73-4cc1f2f2f0bf.xml @@ -217,7 +217,9 @@ dc:title dc:type dct:abstract + dct:alternative dct:modified + dct:spatial ows:BoundingBox diff --git a/tests/functionaltests/suites/csw30/expected/get_8025978e-1a35-4d70-80c2-e8329e0c7864.xml b/tests/functionaltests/suites/csw30/expected/get_8025978e-1a35-4d70-80c2-e8329e0c7864.xml index ce9c9355d..c5cb70e29 100644 --- a/tests/functionaltests/suites/csw30/expected/get_8025978e-1a35-4d70-80c2-e8329e0c7864.xml +++ b/tests/functionaltests/suites/csw30/expected/get_8025978e-1a35-4d70-80c2-e8329e0c7864.xml @@ -217,7 +217,9 @@ dc:title dc:type dct:abstract + dct:alternative dct:modified + dct:spatial ows:BoundingBox diff --git a/tests/functionaltests/suites/csw30/expected/get_GetCapabilities-base-url.xml b/tests/functionaltests/suites/csw30/expected/get_GetCapabilities-base-url.xml index ce9c9355d..c5cb70e29 100644 --- a/tests/functionaltests/suites/csw30/expected/get_GetCapabilities-base-url.xml +++ b/tests/functionaltests/suites/csw30/expected/get_GetCapabilities-base-url.xml @@ -217,7 +217,9 @@ dc:title dc:type dct:abstract + dct:alternative dct:modified + dct:spatial ows:BoundingBox diff --git a/tests/functionaltests/suites/csw30/expected/get_GetCapabilities-no-version.xml b/tests/functionaltests/suites/csw30/expected/get_GetCapabilities-no-version.xml index ce9c9355d..c5cb70e29 100644 --- a/tests/functionaltests/suites/csw30/expected/get_GetCapabilities-no-version.xml +++ b/tests/functionaltests/suites/csw30/expected/get_GetCapabilities-no-version.xml @@ -217,7 +217,9 @@ dc:title dc:type dct:abstract + dct:alternative dct:modified + dct:spatial ows:BoundingBox diff --git a/tests/functionaltests/suites/csw30/expected/get_GetCapabilities.xml b/tests/functionaltests/suites/csw30/expected/get_GetCapabilities.xml index ce9c9355d..c5cb70e29 100644 --- a/tests/functionaltests/suites/csw30/expected/get_GetCapabilities.xml +++ b/tests/functionaltests/suites/csw30/expected/get_GetCapabilities.xml @@ -217,7 +217,9 @@ dc:title dc:type dct:abstract + dct:alternative dct:modified + dct:spatial ows:BoundingBox diff --git a/tests/functionaltests/suites/csw30/expected/get_c03d173a-3f42-4956-89c8-1fe02c3a0873.xml b/tests/functionaltests/suites/csw30/expected/get_c03d173a-3f42-4956-89c8-1fe02c3a0873.xml index ce9c9355d..c5cb70e29 100644 --- a/tests/functionaltests/suites/csw30/expected/get_c03d173a-3f42-4956-89c8-1fe02c3a0873.xml +++ b/tests/functionaltests/suites/csw30/expected/get_c03d173a-3f42-4956-89c8-1fe02c3a0873.xml @@ -217,7 +217,9 @@ dc:title dc:type dct:abstract + dct:alternative dct:modified + dct:spatial ows:BoundingBox diff --git a/tests/functionaltests/suites/csw30/expected/get_e67ca935-d65d-4d8c-8302-1405333dded0.xml b/tests/functionaltests/suites/csw30/expected/get_e67ca935-d65d-4d8c-8302-1405333dded0.xml index ce9c9355d..c5cb70e29 100644 --- a/tests/functionaltests/suites/csw30/expected/get_e67ca935-d65d-4d8c-8302-1405333dded0.xml +++ b/tests/functionaltests/suites/csw30/expected/get_e67ca935-d65d-4d8c-8302-1405333dded0.xml @@ -217,7 +217,9 @@ dc:title dc:type dct:abstract + dct:alternative dct:modified + dct:spatial ows:BoundingBox diff --git a/tests/functionaltests/suites/csw30/expected/post_GetCapabilities.xml b/tests/functionaltests/suites/csw30/expected/post_GetCapabilities.xml index ce9c9355d..c5cb70e29 100644 --- a/tests/functionaltests/suites/csw30/expected/post_GetCapabilities.xml +++ b/tests/functionaltests/suites/csw30/expected/post_GetCapabilities.xml @@ -217,7 +217,9 @@ dc:title dc:type dct:abstract + dct:alternative dct:modified + dct:spatial ows:BoundingBox diff --git a/tests/functionaltests/suites/default/expected/get_GetCapabilities.xml b/tests/functionaltests/suites/default/expected/get_GetCapabilities.xml index 8026e1b3b..43965feec 100644 --- a/tests/functionaltests/suites/default/expected/get_GetCapabilities.xml +++ b/tests/functionaltests/suites/default/expected/get_GetCapabilities.xml @@ -150,7 +150,9 @@ dc:title dc:type dct:abstract + dct:alternative dct:modified + dct:spatial ows:BoundingBox diff --git a/tests/functionaltests/suites/default/expected/post_GetCapabilities-SOAP.xml b/tests/functionaltests/suites/default/expected/post_GetCapabilities-SOAP.xml index ae7b31029..ad05bd817 100644 --- a/tests/functionaltests/suites/default/expected/post_GetCapabilities-SOAP.xml +++ b/tests/functionaltests/suites/default/expected/post_GetCapabilities-SOAP.xml @@ -152,7 +152,9 @@ dc:title dc:type dct:abstract + dct:alternative dct:modified + dct:spatial ows:BoundingBox diff --git a/tests/functionaltests/suites/default/expected/post_GetCapabilities-updatesequence.xml b/tests/functionaltests/suites/default/expected/post_GetCapabilities-updatesequence.xml index 8026e1b3b..43965feec 100644 --- a/tests/functionaltests/suites/default/expected/post_GetCapabilities-updatesequence.xml +++ b/tests/functionaltests/suites/default/expected/post_GetCapabilities-updatesequence.xml @@ -150,7 +150,9 @@ dc:title dc:type dct:abstract + dct:alternative dct:modified + dct:spatial ows:BoundingBox diff --git a/tests/functionaltests/suites/default/expected/post_GetCapabilities.xml b/tests/functionaltests/suites/default/expected/post_GetCapabilities.xml index 8026e1b3b..43965feec 100644 --- a/tests/functionaltests/suites/default/expected/post_GetCapabilities.xml +++ b/tests/functionaltests/suites/default/expected/post_GetCapabilities.xml @@ -150,7 +150,9 @@ dc:title dc:type dct:abstract + dct:alternative dct:modified + dct:spatial ows:BoundingBox diff --git a/tests/functionaltests/suites/dif/expected/post_GetCapabilities.xml b/tests/functionaltests/suites/dif/expected/post_GetCapabilities.xml index e062f2209..deefdd1b5 100644 --- a/tests/functionaltests/suites/dif/expected/post_GetCapabilities.xml +++ b/tests/functionaltests/suites/dif/expected/post_GetCapabilities.xml @@ -150,7 +150,9 @@ dc:title dc:type dct:abstract + dct:alternative dct:modified + dct:spatial ows:BoundingBox diff --git a/tests/functionaltests/suites/ebrim/expected/post_GetCapabilities.xml b/tests/functionaltests/suites/ebrim/expected/post_GetCapabilities.xml index 41b60a20a..c9fd517d5 100644 --- a/tests/functionaltests/suites/ebrim/expected/post_GetCapabilities.xml +++ b/tests/functionaltests/suites/ebrim/expected/post_GetCapabilities.xml @@ -153,7 +153,9 @@ dc:title dc:type dct:abstract + dct:alternative dct:modified + dct:spatial ows:BoundingBox diff --git a/tests/functionaltests/suites/fgdc/expected/post_GetCapabilities.xml b/tests/functionaltests/suites/fgdc/expected/post_GetCapabilities.xml index e4ea071fe..3a83ea90d 100644 --- a/tests/functionaltests/suites/fgdc/expected/post_GetCapabilities.xml +++ b/tests/functionaltests/suites/fgdc/expected/post_GetCapabilities.xml @@ -150,7 +150,9 @@ dc:title dc:type dct:abstract + dct:alternative dct:modified + dct:spatial ows:BoundingBox diff --git a/tests/functionaltests/suites/gm03/expected/post_GetCapabilities.xml b/tests/functionaltests/suites/gm03/expected/post_GetCapabilities.xml index 46b77ba68..fe524be71 100644 --- a/tests/functionaltests/suites/gm03/expected/post_GetCapabilities.xml +++ b/tests/functionaltests/suites/gm03/expected/post_GetCapabilities.xml @@ -150,7 +150,9 @@ dc:title dc:type dct:abstract + dct:alternative dct:modified + dct:spatial ows:BoundingBox diff --git a/tests/functionaltests/suites/harvesting/expected/post_GetCapabilities.xml b/tests/functionaltests/suites/harvesting/expected/post_GetCapabilities.xml index 731b83f90..c7b5eea6b 100644 --- a/tests/functionaltests/suites/harvesting/expected/post_GetCapabilities.xml +++ b/tests/functionaltests/suites/harvesting/expected/post_GetCapabilities.xml @@ -171,7 +171,9 @@ dc:title dc:type dct:abstract + dct:alternative dct:modified + dct:spatial ows:BoundingBox diff --git a/tests/functionaltests/suites/harvesting/expected/post_Harvest-zzz-post-GetRecords-filter-ows-dc.xml b/tests/functionaltests/suites/harvesting/expected/post_Harvest-zzz-post-GetRecords-filter-ows-dc.xml index 2b2887b5d..595739551 100644 --- a/tests/functionaltests/suites/harvesting/expected/post_Harvest-zzz-post-GetRecords-filter-ows-dc.xml +++ b/tests/functionaltests/suites/harvesting/expected/post_Harvest-zzz-post-GetRecords-filter-ows-dc.xml @@ -72,6 +72,7 @@ Eric Bridger http://www.neracoos.org/cgi-bin/sos/V1.0/oostethys_sos.cgi NONE + urn:ogc:def:crs:EPSG:6.11:4326 40.58 -73.73 47.79 -54.05 @@ -95,6 +96,7 @@ Boyan Brodaric http://ngwd-bdnes.cits.nrcan.gc.ca/GinService/sos/gw NONE + urn:ogc:def:crs:EPSG:6.11:4326 41.0 -120.0 60.0 -60.0 @@ -116,6 +118,7 @@ NONE + urn:ogc:def:crs:EPSG:6.11:4326 41.03 -97.71 49.67 -80.68 diff --git a/tests/functionaltests/suites/harvesting/expected/post_Harvest-zzz-post-GetRecords-filter-sos-abstract-dc.xml b/tests/functionaltests/suites/harvesting/expected/post_Harvest-zzz-post-GetRecords-filter-sos-abstract-dc.xml index f5af5079a..da7d58075 100644 --- a/tests/functionaltests/suites/harvesting/expected/post_Harvest-zzz-post-GetRecords-filter-sos-abstract-dc.xml +++ b/tests/functionaltests/suites/harvesting/expected/post_Harvest-zzz-post-GetRecords-filter-sos-abstract-dc.xml @@ -21,6 +21,7 @@ Boyan Brodaric http://ngwd-bdnes.cits.nrcan.gc.ca/GinService/sos/gw NONE + urn:ogc:def:crs:EPSG:6.11:4326 41.0 -120.0 60.0 -60.0 diff --git a/tests/functionaltests/suites/harvesting/expected/post_Harvest-zzz-post-GetRecords-filter-sos-dc.xml b/tests/functionaltests/suites/harvesting/expected/post_Harvest-zzz-post-GetRecords-filter-sos-dc.xml index 8523426f5..47a3ac295 100644 --- a/tests/functionaltests/suites/harvesting/expected/post_Harvest-zzz-post-GetRecords-filter-sos-dc.xml +++ b/tests/functionaltests/suites/harvesting/expected/post_Harvest-zzz-post-GetRecords-filter-sos-dc.xml @@ -37,6 +37,7 @@ Eric Bridger http://www.neracoos.org/cgi-bin/sos/V1.0/oostethys_sos.cgi NONE + urn:ogc:def:crs:EPSG:6.11:4326 40.58 -73.73 47.79 -54.05 @@ -60,6 +61,7 @@ Boyan Brodaric http://ngwd-bdnes.cits.nrcan.gc.ca/GinService/sos/gw NONE + urn:ogc:def:crs:EPSG:6.11:4326 41.0 -120.0 60.0 -60.0 diff --git a/tests/functionaltests/suites/harvesting/expected/post_Harvest-zzz-post-GetRecords-filter-wms-dc.xml b/tests/functionaltests/suites/harvesting/expected/post_Harvest-zzz-post-GetRecords-filter-wms-dc.xml index e39d7cb23..c825868d8 100644 --- a/tests/functionaltests/suites/harvesting/expected/post_Harvest-zzz-post-GetRecords-filter-wms-dc.xml +++ b/tests/functionaltests/suites/harvesting/expected/post_Harvest-zzz-post-GetRecords-filter-wms-dc.xml @@ -80,6 +80,7 @@ Daryl Herzmann http://mesonet.agron.iastate.edu/cgi-bin/wms/nexrad/n0r-t.cgi None + urn:ogc:def:crs:EPSG:6.11:4326 24.0 -126.0 50.0 -66.0 diff --git a/tests/functionaltests/suites/harvesting/expected/post_Harvest-zzz-post-GetRecords-filter-wms-layer.xml b/tests/functionaltests/suites/harvesting/expected/post_Harvest-zzz-post-GetRecords-filter-wms-layer.xml index 1bc09e79a..9b6b4645a 100644 --- a/tests/functionaltests/suites/harvesting/expected/post_Harvest-zzz-post-GetRecords-filter-wms-layer.xml +++ b/tests/functionaltests/suites/harvesting/expected/post_Harvest-zzz-post-GetRecords-filter-wms-layer.xml @@ -11,6 +11,7 @@ http://mesonet.agron.iastate.edu/cgi-bin/wms/nexrad/n0r-t.cgi http://mesonet.agron.iastate.edu/cgi-bin/wms/nexrad/n0r-t.cgi?layers=time_idx&width=200&version=1.1.1&bbox=-126.0%2C24.0%2C-66.0%2C50.0&service=WMS&format=image%2Fpng&styles=&srs=EPSG%3A4326&request=GetMap&height=200 http://mesonet.agron.iastate.edu/cgi-bin/wms/nexrad/n0r-t.cgi + urn:ogc:def:crs:EPSG:6.11:4326 24.0 -126.0 50.0 -66.0 @@ -24,6 +25,7 @@ http://mesonet.agron.iastate.edu/cgi-bin/wms/nexrad/n0r-t.cgi http://mesonet.agron.iastate.edu/cgi-bin/wms/nexrad/n0r-t.cgi?layers=nexrad-n0r-wmst&width=200&version=1.1.1&bbox=-126.0%2C24.0%2C-66.0%2C50.0&service=WMS&format=image%2Fpng&styles=&srs=EPSG%3A4326&request=GetMap&height=200 http://mesonet.agron.iastate.edu/cgi-bin/wms/nexrad/n0r-t.cgi + urn:ogc:def:crs:EPSG:6.11:4326 24.0 -126.0 50.0 -66.0 diff --git a/tests/functionaltests/suites/manager/expected/post_GetCapabilities.xml b/tests/functionaltests/suites/manager/expected/post_GetCapabilities.xml index 1fc931575..4931b7d31 100644 --- a/tests/functionaltests/suites/manager/expected/post_GetCapabilities.xml +++ b/tests/functionaltests/suites/manager/expected/post_GetCapabilities.xml @@ -171,7 +171,9 @@ dc:title dc:type dct:abstract + dct:alternative dct:modified + dct:spatial ows:BoundingBox diff --git a/tests/functionaltests/suites/utf-8/expected/post_GetCapabilities.xml b/tests/functionaltests/suites/utf-8/expected/post_GetCapabilities.xml index 094ce1123..4df1e4876 100644 --- a/tests/functionaltests/suites/utf-8/expected/post_GetCapabilities.xml +++ b/tests/functionaltests/suites/utf-8/expected/post_GetCapabilities.xml @@ -150,7 +150,9 @@ dc:title dc:type dct:abstract + dct:alternative dct:modified + dct:spatial ows:BoundingBox diff --git a/tests/functionaltests/test_suites_functional.py b/tests/functionaltests/test_suites_functional.py index da52b12ed..31b6e3f70 100644 --- a/tests/functionaltests/test_suites_functional.py +++ b/tests/functionaltests/test_suites_functional.py @@ -97,6 +97,8 @@ def test_suites(configuration, request_method, request_data, expected_result, if not matches_expected: print("expected: {0}".format(expected.encode(encoding))) print("response: {0}".format(normalized_result.encode(encoding))) + #print("expected: {0}".format(expected)) + #print("response: {0}".format(normalized_result)) assert matches_expected From 7eb33673980065a61533ebe69118f604652e5201 Mon Sep 17 00:00:00 2001 From: Ricardo Garcia Silva Date: Wed, 14 Dec 2016 17:53:13 +0000 Subject: [PATCH 112/119] deleted old suites and expected diectories --- ...apiso-inspire_get_GetCapabilities-lang.xml | 377 ----- ...ites_apiso-inspire_get_GetCapabilities.xml | 377 ----- .../suites_apiso_post_DescribeRecord.xml | 551 ------- .../suites_apiso_post_GetCapabilities.xml | 320 ---- .../suites_apiso_post_GetDomain-property.xml | 12 - .../suites_apiso_post_GetRecordById-brief.xml | 77 - ...uites_apiso_post_GetRecordById-full-dc.xml | 45 - .../suites_apiso_post_GetRecordById-full.xml | 40 - ...tes_apiso_post_GetRecordById-srv-brief.xml | 93 -- ...s_apiso_post_GetRecords-all-csw-output.xml | 399 ----- .../suites_apiso_post_GetRecords-all.xml | 399 ----- ...suites_apiso_post_GetRecords-cql-title.xml | 372 ----- ...ites_apiso_post_GetRecords-elementname.xml | 388 ----- ...-filter-and-nested-spatial-or-dateline.xml | 1132 -------------- ...s_apiso_post_GetRecords-filter-anytext.xml | 372 ----- ...post_GetRecords-filter-bbox-csw-output.xml | 52 - ...ites_apiso_post_GetRecords-filter-bbox.xml | 388 ----- ...iso_post_GetRecords-filter-servicetype.xml | 96 -- ...suites_atom_get_opensearch-description.xml | 13 - ..._atom_get_opensearch-ogc-bbox-and-time.xml | 38 - .../suites_atom_get_opensearch-ogc-bbox.xml | 52 - ...tom_get_opensearch-ogc-count-and-page1.xml | 32 - ...tom_get_opensearch-ogc-count-and-page2.xml | 17 - ...tes_atom_get_opensearch-ogc-q-and-bbox.xml | 24 - ...tes_atom_get_opensearch-ogc-q-and-time.xml | 18 - .../suites_atom_get_opensearch-ogc-q.xml | 18 - .../suites_atom_get_opensearch-ogc-time.xml | 18 - ...suites_atom_get_opensearch-ogc-timeend.xml | 18 - ...ites_atom_get_opensearch-ogc-timestart.xml | 47 - tests/expected/suites_atom_get_opensearch.xml | 110 -- .../suites_atom_post_DescribeRecord.xml | 3 - .../suites_atom_post_GetCapabilities.xml | 264 ---- ...uites_atom_post_GetRecords-filter-bbox.xml | 36 - ...t_27e17158-c57a-4493-92ac-dba8934cf462.xml | 312 ---- ...t_27f69b66-5f05-4311-a89c-73ca55c2686b.xml | 9 - ...t_2ab7d1fa-885b-459f-80e4-b6282eab4f8c.xml | 312 ---- ...t_37aa90e2-6ff0-420c-af15-8b9463099a73.xml | 14 - ...t_3a8a3c47-455f-4f49-9078-03119f3e70b3.xml | 7 - ...t_4515831f-834a-4699-95f6-ab0c2cbfcfd0.xml | 7 - ...t_477b23a3-baa9-47c8-9541-5fe27735ed49.xml | 545 ------- ...t_48f26761-3a9d-48db-bee1-da089f5fb857.xml | 312 ---- ...t_4e38092f-1586-44b8-988e-0acfa5855916.xml | 7 - ...t_55c38f00-2553-42c1-99ab-33edbb561ad7.xml | 394 ----- ...t_5ab5db18-c87a-4fbf-a8d8-b7289b09ac81.xml | 7 - ...t_6a4f57ca-a1bd-4802-89c2-44860dbdb0f0.xml | 11 - ...t_6c375703-9c00-4aef-bec7-d2e964f849eb.xml | 13 - ...t_80f31def-4185-48b9-983a-960566918eae.xml | 545 ------- ...t_8e2232ed-05d9-44ae-8b04-0911cbe6a507.xml | 7 - ...t_9697f0aa-3b6a-4125-83a5-61e8826127c4.xml | 545 ------- ...t_9bfd17fa-15dc-4a10-8fa7-b3cff7013dd7.xml | 13 - ...t_b81c3595-06d6-4693-82ea-1ff8650755ac.xml | 3 - ...t_ba5fc729-3b71-47a0-b7d0-42ec565cd185.xml | 312 ---- ...t_c4ea754f-c158-4d8d-8253-dc8f86021b52.xml | 7 - ...t_f4692ec5-9547-4a05-88ab-e6154af2640a.xml | 312 ---- ...t_f997f25e-c865-4d53-a362-0ed1846337f2.xml | 15 - ...t_0c976d98-c896-4b10-b1fe-a22ef50434e7.xml | 6 - ...t_19d2a6ed-be28-4866-ae15-e3bb634486cb.xml | 55 - ...t_1ab55aa3-6685-4595-8ecd-45987a7b8b59.xml | 19 - ...t_1c958b7a-ca09-4c38-98bd-ef1d1d28cc14.xml | 7 - ...t_1c97fc1a-61cd-4c1d-8054-933e17a6c5ee.xml | 7 - ...t_2102a460-5d62-465f-9668-d70b3faafbfa.xml | 12 - ...t_225f455a-0035-486b-a94e-fee7ae881b2b.xml | 17 - ...t_2d53ffea-60e4-4652-abf5-36eb23042fd5.xml | 69 - ...t_34a019a9-1581-42cb-9827-fbfdda2773b7.xml | 6 - ...t_3e76fd38-e035-41c9-83dc-61356f680c97.xml | 7 - ...t_418a6fb0-a89c-4a94-afc9-3f8168eb2980.xml | 15 - ...t_420b745e-0c4b-404e-9f2d-61fa580ff05a.xml | 22 - ...t_4735d649-a2b1-42fd-a101-14e1d7e4607f.xml | 44 - ...t_5c5861bc-f742-40a5-9998-5342615d674b.xml | 49 - ...t_6e736fd0-c266-4852-9eb3-0656f5d0f5c4.xml | 89 -- ...t_73f1551c-e269-4ef9-9dae-e535b5eebfc7.xml | 18 - ...t_78297c88-4850-4927-adc6-511cd9a3d539.xml | 115 -- ...t_7c89cdf5-0def-4cfb-8c55-2b8ffea5d92f.xml | 56 - ...t_7e2cd105-daec-4d25-bc8e-d49d21364912.xml | 3 - ...t_87f2f670-9cd6-4907-b82c-1b46a7dd2a78.xml | 50 - ...t_88b4e1ba-3bd4-4cbe-81e5-e004056d6ca3.xml | 7 - ...t_898cd63b-2585-4ec0-8720-d554bd324174.xml | 14 - ...t_8fb13dc3-5818-45e2-9e29-46abc16e7d38.xml | 48 - ...t_928c1896-52d4-4ac7-9832-f98e3eb65f02.xml | 17 - ...t_93bdbb9d-2734-4f01-92fb-48634cca41de.xml | 21 - ...t_948b39d5-bb4f-45b8-a8f2-4ff9501aaedd.xml | 51 - ...t_9fd64fcc-f69c-4626-b72e-5c7776a29aa9.xml | 7 - ...t_a06d04ab-e0d0-4a86-bfe8-71460f41fe37.xml | 69 - ...t_ad61686c-d304-42d1-b845-8c1f3070c83e.xml | 8 - ...t_af39c020-7b1d-429c-b474-f45c3164cb79.xml | 21 - ...t_b90e2de6-3d25-4298-a13e-dc9492a8fc73.xml | 91 -- ...t_ba9b0107-dcee-46ef-823a-a2e25a911a96.xml | 36 - ...t_bb66ebc5-7121-48b5-9f53-b56537d9561b.xml | 19 - ...t_c02d1c85-df9f-45ee-bea7-345c35e02a98.xml | 7 - ...t_c311a342-72e3-4983-be39-868e6ed9740f.xml | 115 -- ...t_c38916c2-4bc6-446d-b7aa-ab006d6ba31c.xml | 27 - ...t_c8588f47-8e65-45f5-ad34-ff4524cad84d.xml | 7 - ...t_da228d4c-e1be-43d7-9ccb-c3f27ee32541.xml | 7 - ...t_dc92c2c4-87d8-4a13-964e-ff9b0e0c27b3.xml | 22 - ...t_dcb13791-379e-4739-bcd4-dbaa69f0efdb.xml | 69 - ...t_e308f030-c097-4036-a838-44bad74c9ef7.xml | 69 - ...t_e6e9efb2-e2b7-4b0a-a3a2-7deea3f9b8e2.xml | 69 - ...t_f7976c55-a156-4421-8199-bc0487da4b0f.xml | 115 -- ...t_f7d79701-f10b-4087-a33c-f62df0a04fd1.xml | 69 - ...t_fc1bc094-88f1-4851-bc2b-dfc56be9f3c7.xml | 12 - ...t_fe20960f-a26c-4f13-852d-470a0d3233f9.xml | 12 - ...t_002258f0-627f-457f-b2ad-025777c77ac8.xml | 15 - ...t_045c600d-973d-41eb-9f60-eba1b717b720.xml | 24 - ...t_0bbcf862-5211-4351-9988-63f8bec49c98.xml | 116 -- ...t_0bdf8457-971e-4ed1-be4a-5feca4dcd8fa.xml | 493 ------ ...t_0d8bbdec-0846-42ca-8dc8-b7f4cba41d67.xml | 47 - ...t_0e1dca37-477a-4060-99fe-7799b52d656c.xml | 15 - ...t_13c87956-51a4-4780-a8e9-6e0b5c0bb473.xml | 92 -- ...t_151d982f-ebd3-4cb2-b507-a667713a1e92.xml | 7 - ...t_1869e495-1a61-4713-8285-76d1336ee1a6.xml | 7 - ...t_1bcb42a9-538c-4f0a-9d4c-d6f10b720aa6.xml | 7 - ...t_22f44168-2ccf-4801-ad96-204212566d56.xml | 493 ------ ...t_2499a9c9-8d33-449c-bc92-d494adfcc84d.xml | 493 ------ ...t_27f4f39c-d92a-4e3c-b961-c6aa8c24e513.xml | 493 ------ ...t_28e569df-8596-4128-8d9a-29ad03138915.xml | 8 - ...t_2b06a5c8-0df2-4af1-8d2e-a425de11c845.xml | 493 ------ ...t_2ba1418a-444d-4cce-9cfe-4c94efcf8b55.xml | 32 - ...t_397fe17a-d5b4-4f96-8cc4-4ce467ed4d0a.xml | 30 - ...t_3dcd1b15-73d2-4b7d-a3e3-ff15bf14aae4.xml | 69 - ...t_405e1ff1-5c75-4846-a28b-cfaff2a6921a.xml | 23 - ...t_43cd6471-6ac7-45bd-8ff9-148cb2de9a52.xml | 493 ------ ...t_4566d2ec-1283-4a02-baed-a74fc5b47e37.xml | 18 - ...t_461bd4c5-6623-490d-9036-d91a2201e87b.xml | 3 - ...t_5496894a-3877-4f62-a20b-5d7126f94925.xml | 7 - ...t_5a015f6a-bf14-4977-b1e3-6577eb0223c8.xml | 40 - ...t_5c3a2390-1fb9-43f0-b96c-f48c7a69c990.xml | 7 - ...t_5e9e67dc-18d6-4645-8111-c6263c88a61f.xml | 328 ---- ...t_604d9379-741c-42e5-b4cf-92e56c87fa64.xml | 32 - ...t_60e6af95-d5fc-465a-82e2-fd2e6d85e4af.xml | 7 - ...t_62ad94c2-b558-4265-a427-23d6677975d6.xml | 7 - ...t_6a5e247b-0961-4b8a-a0d6-35a491d9cfe7.xml | 7 - ...t_6a9d0558-9d87-495b-b999-b49a3ef1cf99.xml | 493 ------ ...t_6bd790c9-6019-4652-9c91-330a894d6700.xml | 16 - ...t_6e9cba43-5e27-415d-adbd-a92851c2c173.xml | 493 ------ ...t_7630d230-e142-4a09-accf-f091000b90cd.xml | 10 - ...t_7e82446a-b5dc-43fe-9a73-4cc1f2f2f0bf.xml | 493 ------ ...t_8025978e-1a35-4d70-80c2-e8329e0c7864.xml | 493 ------ ...t_8184ae4f-536d-4978-8b28-ad703be96967.xml | 34 - ...t_88f63a89-664f-4315-b4f8-04a0b33803a7.xml | 18 - ...t_8987f8f0-4d93-4481-968c-a2ccbd6b8be2.xml | 7 - ...t_8e5fa0f6-3f29-4d1f-abe2-d9866f3def98.xml | 58 - ...t_9000ec29-5649-474e-b2d6-55c00f8a52c0.xml | 7 - ...t_91914d35-7bbf-45e6-9b37-5ef484869a4e.xml | 38 - ...t_92d4844d-57d5-4cf3-8f47-ba50e369dc04.xml | 6 - ...t_9c0e2a4b-b4e6-41c0-b630-c8c99fc89ff3.xml | 7 - ...t_9d7ffac8-9798-428d-8e27-3cd12497ee6b.xml | 7 - ...et_Exception-GetDomain-value-reference.xml | 7 - .../suites_csw30_get_Exception-GetDomain.xml | 7 - ..._csw30_get_Exception-GetRecordById-404.xml | 7 - ...w30_get_Exception-GetRecordById-dc.xml.xml | 9 - ...t_Exception-GetRepositoryItem-notfound.xml | 7 - ...es_csw30_get_Exception-invalid-request.xml | 7 - ...tes_csw30_get_GetCapabilities-base-url.xml | 493 ------ ...s_csw30_get_GetCapabilities-no-version.xml | 493 ------ .../suites_csw30_get_GetCapabilities.xml | 493 ------ .../suites_csw30_get_GetDomain-parameter.xml | 12 - ...es_csw30_get_GetDomain-value-reference.xml | 18 - .../suites_csw30_get_GetRepositoryItem.xml | 11 - ...uites_csw30_get_OpenSearch-description.xml | 15 - ...t_a2f18643-e24e-4fa5-b780-6de4a2dbc814.xml | 9 - ...t_abc90c8c-5868-4405-a73e-64c849be3b2a.xml | 7 - ...t_ad0c0571-09ed-436a-9a4f-a5de744c88fe.xml | 22 - ...t_af502903-f4ee-47ee-b76e-af878d238bcc.xml | 40 - ...t_b2aafc3f-4f35-47bc-affd-08590972deae.xml | 58 - ...t_b6069623-f7d8-4021-8582-98f0aea0f763.xml | 48 - ...t_b9a07a54-75a8-45bd-b341-2823600211e3.xml | 8 - ...t_baa4a7d0-0c01-42b6-adc3-0d03e9949fa3.xml | 7 - ...t_bfbe6409-f64a-4c89-acb3-50f260a5c743.xml | 15 - ...t_bfe20134-d1da-42ef-9c0f-8e1307bbf92b.xml | 38 - ...t_c03d173a-3f42-4956-89c8-1fe02c3a0873.xml | 493 ------ ...t_cb43d8c3-e14c-4a9f-9231-4384b7dd21f3.xml | 7 - ...t_d03c6fd3-e821-4a26-b62f-d20a474e25af.xml | 30 - ...t_d4ccbf96-a529-480e-a53d-5b88dc1dea7f.xml | 7 - ...t_d94c801a-1207-4897-b84a-53f3a192515b.xml | 6 - ...t_da859e34-91fc-495a-8c09-285a40c0900b.xml | 14 - ...t_dc246fb8-5af5-4fda-82bb-c18b3ecd439c.xml | 40 - ...t_de016645-6d5c-4855-943c-2db07ae9f49a.xml | 30 - ...t_dff3ec6b-bb2d-4887-bd17-8fcf15def042.xml | 89 -- ...t_e38e6bfb-8ac4-4ae4-8b87-0aafbc8d3c6b.xml | 11 - ...t_e67ca935-d65d-4d8c-8302-1405333dded0.xml | 493 ------ ...t_e7704509-3441-458f-8ef0-e333c6b6043f.xml | 7 - ...t_f1223a49-6d08-44ff-97fe-4c32cbbfad82.xml | 6 - ...t_f89dd4e1-3a81-4433-afd2-a3fa1bdb1e18.xml | 7 - ..._Exception-GetDomain-parametername-bad.xml | 7 - ...Exception-GetDomain-valuereference-bad.xml | 7 - ...csw30_post_Exception-GetRecordById-404.xml | 7 - ...0_post_Exception-GetRecordById-bad-esn.xml | 7 - .../suites_csw30_post_Exception-bad-xml.xml | 8 - .../suites_csw30_post_Exception-not-xml.xml | 8 - .../suites_csw30_post_GetCapabilities.xml | 493 ------ ...tes_csw30_post_GetDomain-parametername.xml | 12 - ...es_csw30_post_GetDomain-valuereference.xml | 18 - ...uites_csw30_post_GetRecordById-dc-full.xml | 10 - .../suites_csw30_post_GetRecordById-dc.xml | 10 - ...t_Exception-GetRepositoryItem-notfound.xml | 7 - ...ion-GetRepositoryItem-service-invalid1.xml | 7 - ...ion-GetRepositoryItem-service-invalid2.xml | 7 - ...tion-GetRepositoryItem-version-invalid.xml | 7 - ...lt_get_GetCapabilities-invalid-request.xml | 7 - .../suites_default_get_GetCapabilities.xml | 264 ---- .../suites_default_get_GetRecords-all.xml | 6 - ...efault_get_GetRecords-empty-maxrecords.xml | 6 - ...lter-cql-title-or-abstract-with-spaces.xml | 23 - ...etRecords-filter-cql-title-or-abstract.xml | 23 - ...le-with-spaces-or-abstract-with-spaces.xml | 23 - ...lter-cql-title-with-spaces-or-abstract.xml | 23 - ...etRecords-filter-cql-title-with-spaces.xml | 23 - ...efault_get_GetRecords-filter-cql-title.xml | 23 - .../suites_default_get_GetRecords-filter.xml | 16 - ...ites_default_get_GetRecords-sortby-asc.xml | 91 -- ...tes_default_get_GetRecords-sortby-desc.xml | 93 -- ...lt_get_GetRecords-sortby-invalid-order.xml | 7 - ...GetRecords-sortby-invalid-propertyname.xml | 7 - .../suites_default_get_GetRepositoryItem.xml | 14 - ...uites_default_post_DescribeRecord-json.xml | 231 --- .../suites_default_post_DescribeRecord.xml | 115 -- ...t_post_Exception-GetRecords-badsrsname.xml | 7 - ..._post_Exception-GetRecords-elementname.xml | 7 - ..._post_Exception-GetRecords-invalid-xml.xml | 8 - ...ites_default_post_GetCapabilities-SOAP.xml | 268 ---- ..._default_post_GetCapabilities-sections.xml | 83 - ...lt_post_GetCapabilities-updatesequence.xml | 264 ---- .../suites_default_post_GetCapabilities.xml | 264 ---- ...uites_default_post_GetDomain-parameter.xml | 11 - ...suites_default_post_GetDomain-property.xml | 18 - ...suites_default_post_GetRecordById-json.xml | 18 - .../suites_default_post_GetRecordById.xml | 15 - ...uites_default_post_GetRecords-all-json.xml | 64 - ...lt_post_GetRecords-all-resulttype-hits.xml | 6 - ...ost_GetRecords-all-resulttype-validate.xml | 11 - ...efault_post_GetRecords-all-sortby-bbox.xml | 56 - .../suites_default_post_GetRecords-all.xml | 49 - ...ault_post_GetRecords-bbox-filter-crs84.xml | 34 - ...post_GetRecords-cql-title-and-abstract.xml | 12 - ...ites_default_post_GetRecords-cql-title.xml | 17 - ...ault_post_GetRecords-distributedsearch.xml | 17 - ...es_default_post_GetRecords-elementname.xml | 20 - .../suites_default_post_GetRecords-end.xml | 30 - ...st_GetRecords-filter-and-bbox-freetext.xml | 16 - ...t_post_GetRecords-filter-and-nested-or.xml | 16 - ..._post_GetRecords-filter-and-nested-or2.xml | 23 - ...post_GetRecords-filter-anytext-and-not.xml | 15 - ...t_post_GetRecords-filter-anytext-equal.xml | 36 - ...default_post_GetRecords-filter-anytext.xml | 36 - ..._post_GetRecords-filter-bbox-reproject.xml | 25 - ...ult_post_GetRecords-filter-bbox-sortby.xml | 25 - ...es_default_post_GetRecords-filter-bbox.xml | 25 - ...default_post_GetRecords-filter-between.xml | 49 - ...lt_post_GetRecords-filter-function-bad.xml | 7 - ...efault_post_GetRecords-filter-function.xml | 12 - ...efault_post_GetRecords-filter-not-bbox.xml | 36 - ...ost_GetRecords-filter-or-bbox-freetext.xml | 25 - ...t_post_GetRecords-filter-or-nested-and.xml | 60 - ...st_GetRecords-filter-or-title-abstract.xml | 19 - ...tes_default_post_GetRecords-maxrecords.xml | 16 - ...ites_default_post_GetRecords-requestid.xml | 50 - .../suites_default_post_Harvest-default.xml | 7 - ..._default_post_Harvest-response-handler.xml | 7 - ...suites_default_post_Transaction-delete.xml | 7 - ...suites_default_post_Transaction-insert.xml | 7 - ...s_default_post_Transaction-update-full.xml | 7 - ...post_Transaction-update-recordproperty.xml | 7 - .../suites_dif_post_DescribeRecord.xml | 3 - .../suites_dif_post_GetCapabilities.xml | 264 ---- ...suites_dif_post_GetRecords-filter-bbox.xml | 71 - .../suites_ebrim_post_DescribeRecord.xml | 93 -- .../suites_ebrim_post_GetCapabilities.xml | 268 ---- ...ebrim_post_GetRecords-filter-bbox-full.xml | 57 - ...ites_ebrim_post_GetRecords-filter-bbox.xml | 13 - .../suites_fgdc_post_DescribeRecord.xml | 3 - .../suites_fgdc_post_GetCapabilities.xml | 264 ---- ...uites_fgdc_post_GetRecords-filter-bbox.xml | 123 -- .../suites_gm03_post_GetCapabilities.xml | 264 ---- ...uites_gm03_post_GetRecords-filter-bbox.xml | 137 -- ...Exception-Harvest-invalid-resourcetype.xml | 7 - ...Exception-Harvest-missing-resourcetype.xml | 7 - ...g_get_Exception-Harvest-missing-source.xml | 7 - ...ng_get_Exception-Harvest-waf-bad-value.xml | 7 - ...Exception-Harvest-waf-no-records-found.xml | 11 - ...s_harvesting_post_Clear-000-delete-all.xml | 9 - ...rvesting_post_Exception-Havest-csw-404.xml | 7 - ...suites_harvesting_post_GetCapabilities.xml | 370 ----- ...es_harvesting_post_GetDomain-parameter.xml | 27 - ...suites_harvesting_post_Harvest-csw-iso.xml | 149 -- ...uites_harvesting_post_Harvest-csw-run1.xml | 65 - ...uites_harvesting_post_Harvest-csw-run2.xml | 11 - .../suites_harvesting_post_Harvest-dc.xml | 17 - .../suites_harvesting_post_Harvest-fgdc.xml | 17 - .../suites_harvesting_post_Harvest-iso.xml | 17 - .../suites_harvesting_post_Harvest-rdf.xml | 17 - .../suites_harvesting_post_Harvest-sos100.xml | 133 -- .../suites_harvesting_post_Harvest-sos200.xml | 21 - .../suites_harvesting_post_Harvest-waf.xml | 25 - .../suites_harvesting_post_Harvest-wcs.xml | 33 - .../suites_harvesting_post_Harvest-wfs110.xml | 37 - .../suites_harvesting_post_Harvest-wfs200.xml | 57 - ...uites_harvesting_post_Harvest-wms-run1.xml | 29 - ...uites_harvesting_post_Harvest-wms-run2.xml | 11 - .../suites_harvesting_post_Harvest-wmts.xml | 45 - .../suites_harvesting_post_Harvest-wps.xml | 57 - ...vest-zzz-post-GetRecords-filter-ows-dc.xml | 128 -- ...post-GetRecords-filter-sos-abstract-dc.xml | 31 - ...vest-zzz-post-GetRecords-filter-sos-dc.xml | 71 - ...est-zzz-post-GetRecords-filter-sos-iso.xml | 955 ------------ ...est-zzz-post-GetRecords-filter-wfs-iso.xml | 1041 ------------- ...vest-zzz-post-GetRecords-filter-wms-dc.xml | 90 -- ...est-zzz-post-GetRecords-filter-wms-iso.xml | 1361 ----------------- ...t-zzz-post-GetRecords-filter-wms-layer.xml | 35 - ...zzz-post-GetRecords-filter-wps-process.xml | 62 - ...esting_post_Transaction-000-delete-all.xml | 9 - ...ites_manager_post_Clear-000-delete-all.xml | 9 - .../suites_manager_post_GetCapabilities.xml | 370 ----- ...uites_manager_post_GetDomain-parameter.xml | 27 - ...anager_post_Transaction-000-delete-all.xml | 9 - ..._manager_post_Transaction-dc-01-insert.xml | 15 - ...ger_post_Transaction-dc-02-update-full.xml | 9 - ...anager_post_Transaction-fgdc-01-insert.xml | 15 - ...ost_Transaction-fgdc-02-update-recprop.xml | 9 - ...er_post_Transaction-fgdc-03-delete-all.xml | 9 - ...ger_post_Transaction-iso-00-delete-all.xml | 9 - ...manager_post_Transaction-iso-01-insert.xml | 15 - ...er_post_Transaction-iso-02-update-full.xml | 9 - ...post_Transaction-iso-03-update-recprop.xml | 9 - ...ction-iso-04-update-recprop-no-matches.xml | 9 - ...manager_post_Transaction-iso-05-delete.xml | 9 - ...anager_post_Transaction-xxx-delete-all.xml | 9 - ...ipmh_get_GetRecord_bad_metadata_prefix.xml | 7 - .../suites_oaipmh_get_GetRecord_dc.xml | 26 - .../suites_oaipmh_get_GetRecord_iso.xml | 62 - .../suites_oaipmh_get_GetRecord_oai_dc.xml | 26 - tests/expected/suites_oaipmh_get_Identify.xml | 15 - ...et_ListIdentifiers_bad_metadata_prefix.xml | 7 - .../suites_oaipmh_get_ListIdentifiers_dc.xml | 79 - .../suites_oaipmh_get_ListIdentifiers_iso.xml | 79 - ...istIdentifiers_missing_metadata_prefix.xml | 7 - ...ites_oaipmh_get_ListIdentifiers_oai_dc.xml | 79 - .../suites_oaipmh_get_ListMetadataFormats.xml | 38 - .../suites_oaipmh_get_ListRecords_dc.xml | 185 --- ...get_ListRecords_dc_bad_metadata_prefix.xml | 7 - ...suites_oaipmh_get_ListRecords_iso19139.xml | 588 ------- .../suites_oaipmh_get_ListRecords_oai_dc.xml | 185 --- tests/expected/suites_oaipmh_get_ListSets.xml | 16 - tests/expected/suites_oaipmh_get_bad_verb.xml | 7 - tests/expected/suites_oaipmh_get_empty.xml | 7 - .../suites_oaipmh_get_empty_with_amp.xml | 7 - .../suites_oaipmh_get_illegal_verb.xml | 7 - ...s_repofilter_post_GetRecordById-masked.xml | 3 - .../suites_repofilter_post_GetRecords-all.xml | 37 - tests/expected/suites_sru_get_explain.xml | 128 -- tests/expected/suites_sru_get_search.xml | 6 - tests/expected/suites_sru_get_search_cql.xml | 30 - .../suites_sru_get_search_maxrecords.xml | 30 - ..._sru_get_search_startrecord_maxrecords.xml | 30 - .../suites_utf-8_post_GetCapabilities.xml | 264 ---- tests/suites/apiso-inspire/default.cfg | 91 -- tests/suites/apiso-inspire/get/requests.txt | 2 - tests/suites/apiso/data/3e9a8c05.xml | 248 --- tests/suites/apiso/data/README.txt | 7 - .../T_aerfo_RAS_1991_GR800P001800000012.xml | 37 - .../T_aerfo_RAS_1991_GR800P001800000013.xml | 37 - .../T_aerfo_RAS_1991_GR800P001800000014.xml | 37 - .../T_aerfo_RAS_1991_GR800P001800000015.xml | 37 - .../apiso/data/T_ortho_RAS_1998_284404.xml | 37 - .../apiso/data/T_ortho_RAS_1998_288395.xml | 37 - .../apiso/data/T_ortho_RAS_1998_288398.xml | 37 - .../apiso/data/T_ortho_RAS_1998_288401.xml | 37 - .../apiso/data/T_ortho_RAS_1998_288404.xml | 37 - .../apiso/data/T_pmoed_DTM_1996_276395.xml | 37 - .../apiso/data/T_pmoed_DTM_1996_276398.xml | 37 - .../apiso/data/T_pmoed_DTM_1996_276401.xml | 37 - .../apiso/data/T_pmoed_DTM_1996_276404.xml | 37 - .../apiso/data/T_pmoed_DTM_1996_280395.xml | 37 - tests/suites/apiso/data/pacioos-NS06agg.xml | 1182 -------------- tests/suites/apiso/data/test.xml | 39 - tests/suites/apiso/default.cfg | 91 -- tests/suites/apiso/post/DescribeRecord.xml | 4 - tests/suites/apiso/post/GetCapabilities.xml | 9 - .../suites/apiso/post/GetDomain-property.xml | 5 - .../suites/apiso/post/GetRecordById-brief.xml | 6 - .../apiso/post/GetRecordById-full-dc.xml | 6 - .../suites/apiso/post/GetRecordById-full.xml | 6 - .../apiso/post/GetRecordById-srv-brief.xml | 6 - .../apiso/post/GetRecords-all-csw-output.xml | 6 - tests/suites/apiso/post/GetRecords-all.xml | 6 - .../apiso/post/GetRecords-cql-title.xml | 9 - .../apiso/post/GetRecords-elementname.xml | 6 - ...-filter-and-nested-spatial-or-dateline.xml | 45 - .../apiso/post/GetRecords-filter-anytext.xml | 15 - .../GetRecords-filter-bbox-csw-output.xml | 19 - .../apiso/post/GetRecords-filter-bbox.xml | 18 - .../post/GetRecords-filter-servicetype.xml | 14 - tests/suites/atom/default.cfg | 90 -- tests/suites/atom/get/requests.txt | 12 - tests/suites/atom/post/DescribeRecord.xml | 4 - tests/suites/atom/post/GetCapabilities.xml | 9 - .../atom/post/GetRecords-filter-bbox.xml | 17 - tests/suites/cite/data/README.txt | 65 - ...d_19887a8a-f6b0-4a63-ae56-7fba0e17801f.xml | 13 - ...d_1ef30a8b-876d-4828-9246-c37ab4510bbd.xml | 13 - ...d_66ae76b7-54ba-489b-a582-0f0633d96493.xml | 12 - ...d_6a3de50b-fa66-4b58-a0e6-ca146fdd18d4.xml | 11 - ...d_784e2afd-a9fd-44a6-9a92-a3848371c8ec.xml | 14 - ...d_829babb0-b2f1-49e1-8cd5-7b489fe71a1e.xml | 11 - ...d_88247b56-4cbc-4df9-9860-db3f8042e357.xml | 11 - ...d_94bc9c83-97f6-4b40-9eb8-a8e8787a5c63.xml | 17 - ...d_9a669547-b69b-469f-a11f-2d875366bbdc.xml | 16 - ...d_a06af396-3105-442d-8b40-22b57a90d2f2.xml | 11 - ...d_ab42a8c4-95e8-4630-bf79-33e59241605a.xml | 11 - ...d_e9330592-0932-474b-be34-c3a3bb67c7db.xml | 14 - tests/suites/cite/data/cite.db | Bin 82944 -> 0 bytes tests/suites/cite/default.cfg | 86 -- tests/suites/cite/get/requests.txt | 22 - .../0c976d98-c896-4b10-b1fe-a22ef50434e7.xml | 20 - .../19d2a6ed-be28-4866-ae15-e3bb634486cb.xml | 20 - .../1ab55aa3-6685-4595-8ecd-45987a7b8b59.xml | 14 - .../1c958b7a-ca09-4c38-98bd-ef1d1d28cc14.xml | 6 - .../1c97fc1a-61cd-4c1d-8054-933e17a6c5ee.xml | 14 - .../2102a460-5d62-465f-9668-d70b3faafbfa.xml | 14 - .../225f455a-0035-486b-a94e-fee7ae881b2b.xml | 16 - .../2d53ffea-60e4-4652-abf5-36eb23042fd5.xml | 6 - .../34a019a9-1581-42cb-9827-fbfdda2773b7.xml | 6 - .../3e76fd38-e035-41c9-83dc-61356f680c97.xml | 4 - .../418a6fb0-a89c-4a94-afc9-3f8168eb2980.xml | 25 - .../420b745e-0c4b-404e-9f2d-61fa580ff05a.xml | 16 - .../4735d649-a2b1-42fd-a101-14e1d7e4607f.xml | 6 - .../5c5861bc-f742-40a5-9998-5342615d674b.xml | 14 - .../6e736fd0-c266-4852-9eb3-0656f5d0f5c4.xml | 6 - .../73f1551c-e269-4ef9-9dae-e535b5eebfc7.xml | 14 - .../78297c88-4850-4927-adc6-511cd9a3d539.xml | 2 - .../7c89cdf5-0def-4cfb-8c55-2b8ffea5d92f.xml | 6 - .../7e2cd105-daec-4d25-bc8e-d49d21364912.xml | 4 - .../87f2f670-9cd6-4907-b82c-1b46a7dd2a78.xml | 8 - .../88b4e1ba-3bd4-4cbe-81e5-e004056d6ca3.xml | 4 - .../898cd63b-2585-4ec0-8720-d554bd324174.xml | 20 - .../8fb13dc3-5818-45e2-9e29-46abc16e7d38.xml | 20 - .../928c1896-52d4-4ac7-9832-f98e3eb65f02.xml | 16 - .../93bdbb9d-2734-4f01-92fb-48634cca41de.xml | 18 - .../948b39d5-bb4f-45b8-a8f2-4ff9501aaedd.xml | 14 - .../9fd64fcc-f69c-4626-b72e-5c7776a29aa9.xml | 4 - .../a06d04ab-e0d0-4a86-bfe8-71460f41fe37.xml | 6 - .../ad61686c-d304-42d1-b845-8c1f3070c83e.xml | 14 - .../af39c020-7b1d-429c-b474-f45c3164cb79.xml | 14 - .../b90e2de6-3d25-4298-a13e-dc9492a8fc73.xml | 16 - .../ba9b0107-dcee-46ef-823a-a2e25a911a96.xml | 20 - .../bb66ebc5-7121-48b5-9f53-b56537d9561b.xml | 27 - .../c02d1c85-df9f-45ee-bea7-345c35e02a98.xml | 16 - .../c311a342-72e3-4983-be39-868e6ed9740f.xml | 4 - .../c38916c2-4bc6-446d-b7aa-ab006d6ba31c.xml | 25 - .../c8588f47-8e65-45f5-ad34-ff4524cad84d.xml | 17 - .../da228d4c-e1be-43d7-9ccb-c3f27ee32541.xml | 14 - .../dc92c2c4-87d8-4a13-964e-ff9b0e0c27b3.xml | 16 - .../dcb13791-379e-4739-bcd4-dbaa69f0efdb.xml | 6 - .../e308f030-c097-4036-a838-44bad74c9ef7.xml | 6 - .../e6e9efb2-e2b7-4b0a-a3a2-7deea3f9b8e2.xml | 12 - .../f7976c55-a156-4421-8199-bc0487da4b0f.xml | 4 - .../f7d79701-f10b-4087-a33c-f62df0a04fd1.xml | 6 - .../fc1bc094-88f1-4851-bc2b-dfc56be9f3c7.xml | 14 - .../fe20960f-a26c-4f13-852d-470a0d3233f9.xml | 14 - tests/suites/csw30/default.cfg | 90 -- tests/suites/csw30/get/requests.txt | 82 - .../Exception-GetDomain-parametername-bad.xml | 4 - ...Exception-GetDomain-valuereference-bad.xml | 4 - .../post/Exception-GetRecordById-404.xml | 4 - .../post/Exception-GetRecordById-bad-esn.xml | 5 - tests/suites/csw30/post/Exception-bad-xml.xml | 9 - tests/suites/csw30/post/Exception-not-xml.xml | 1 - tests/suites/csw30/post/GetCapabilities.xml | 9 - .../csw30/post/GetDomain-parametername.xml | 4 - .../csw30/post/GetDomain-valuereference.xml | 4 - .../csw30/post/GetRecordById-dc-full.xml | 5 - tests/suites/csw30/post/GetRecordById-dc.xml | 4 - tests/suites/default/default.cfg | 90 -- tests/suites/default/get/requests.txt | 20 - .../default/post/DescribeRecord-json.xml | 4 - tests/suites/default/post/DescribeRecord.xml | 4 - .../post/Exception-GetRecords-badsrsname.xml | 19 - .../post/Exception-GetRecords-elementname.xml | 6 - .../post/Exception-GetRecords-invalid-xml.xml | 6 - .../default/post/GetCapabilities-SOAP.xml | 13 - .../default/post/GetCapabilities-sections.xml | 12 - .../post/GetCapabilities-updatesequence.xml | 9 - tests/suites/default/post/GetCapabilities.xml | 9 - .../default/post/GetDomain-parameter.xml | 4 - .../default/post/GetDomain-property.xml | 4 - .../default/post/GetRecordById-json.xml | 5 - tests/suites/default/post/GetRecordById.xml | 5 - .../default/post/GetRecords-all-json.xml | 6 - .../post/GetRecords-all-resulttype-hits.xml | 6 - .../GetRecords-all-resulttype-validate.xml | 6 - .../post/GetRecords-all-sortby-bbox.xml | 12 - tests/suites/default/post/GetRecords-all.xml | 6 - .../post/GetRecords-bbox-filter-crs84.xml | 17 - .../GetRecords-cql-title-and-abstract.xml | 9 - .../default/post/GetRecords-cql-title.xml | 9 - .../post/GetRecords-distributedsearch.xml | 15 - .../default/post/GetRecords-elementname.xml | 6 - tests/suites/default/post/GetRecords-end.xml | 6 - .../GetRecords-filter-and-bbox-freetext.xml | 23 - .../post/GetRecords-filter-and-nested-or.xml | 38 - .../post/GetRecords-filter-and-nested-or2.xml | 34 - .../GetRecords-filter-anytext-and-not.xml | 26 - .../post/GetRecords-filter-anytext-equal.xml | 14 - .../post/GetRecords-filter-anytext.xml | 14 - .../post/GetRecords-filter-bbox-reproject.xml | 17 - .../post/GetRecords-filter-bbox-sortby.xml | 23 - .../default/post/GetRecords-filter-bbox.xml | 17 - .../post/GetRecords-filter-between.xml | 20 - .../post/GetRecords-filter-function-bad.xml | 17 - .../post/GetRecords-filter-function.xml | 17 - .../post/GetRecords-filter-not-bbox.xml | 19 - .../GetRecords-filter-or-bbox-freetext.xml | 23 - .../post/GetRecords-filter-or-nested-and.xml | 30 - .../GetRecords-filter-or-title-abstract.xml | 20 - .../default/post/GetRecords-maxrecords.xml | 6 - .../default/post/GetRecords-requestid.xml | 6 - tests/suites/default/post/Harvest-default.xml | 6 - .../default/post/Harvest-response-handler.xml | 7 - .../default/post/Transaction-delete.xml | 13 - .../default/post/Transaction-insert.xml | 73 - .../default/post/Transaction-update-full.xml | 73 - .../Transaction-update-recordproperty.xml | 17 - tests/suites/dif/default.cfg | 90 -- tests/suites/dif/post/DescribeRecord.xml | 4 - tests/suites/dif/post/GetCapabilities.xml | 9 - .../dif/post/GetRecords-filter-bbox.xml | 17 - tests/suites/ebrim/default.cfg | 93 -- tests/suites/ebrim/post/DescribeRecord.xml | 4 - tests/suites/ebrim/post/GetCapabilities.xml | 9 - .../post/GetRecords-filter-bbox-full.xml | 17 - .../ebrim/post/GetRecords-filter-bbox.xml | 17 - tests/suites/fgdc/default.cfg | 90 -- tests/suites/fgdc/post/DescribeRecord.xml | 4 - tests/suites/fgdc/post/GetCapabilities.xml | 9 - .../fgdc/post/GetRecords-filter-bbox.xml | 17 - tests/suites/gm03/default.cfg | 90 -- tests/suites/gm03/post/GetCapabilities.xml | 9 - .../gm03/post/GetRecords-filter-bbox.xml | 17 - tests/suites/harvesting/data/.gitkeep | 0 tests/suites/harvesting/default.cfg | 91 -- tests/suites/harvesting/get/requests.txt | 5 - .../harvesting/post/Clear-000-delete-all.xml | 13 - .../post/Exception-Havest-csw-404.xml | 6 - .../harvesting/post/GetCapabilities.xml | 9 - .../harvesting/post/GetDomain-parameter.xml | 4 - .../harvesting/post/Harvest-csw-iso.xml | 6 - .../harvesting/post/Harvest-csw-run1.xml | 6 - .../harvesting/post/Harvest-csw-run2.xml | 6 - tests/suites/harvesting/post/Harvest-dc.xml | 6 - tests/suites/harvesting/post/Harvest-fgdc.xml | 6 - tests/suites/harvesting/post/Harvest-iso.xml | 6 - tests/suites/harvesting/post/Harvest-rdf.xml | 6 - .../suites/harvesting/post/Harvest-sos100.xml | 5 - .../suites/harvesting/post/Harvest-sos200.xml | 5 - tests/suites/harvesting/post/Harvest-waf.xml | 5 - tests/suites/harvesting/post/Harvest-wcs.xml | 6 - .../suites/harvesting/post/Harvest-wfs110.xml | 6 - .../suites/harvesting/post/Harvest-wfs200.xml | 6 - .../harvesting/post/Harvest-wms-run1.xml | 6 - .../harvesting/post/Harvest-wms-run2.xml | 6 - tests/suites/harvesting/post/Harvest-wmts.xml | 6 - tests/suites/harvesting/post/Harvest-wps.xml | 6 - ...vest-zzz-post-GetRecords-filter-ows-dc.xml | 36 - ...post-GetRecords-filter-sos-abstract-dc.xml | 24 - ...vest-zzz-post-GetRecords-filter-sos-dc.xml | 20 - ...est-zzz-post-GetRecords-filter-sos-iso.xml | 20 - ...est-zzz-post-GetRecords-filter-wfs-iso.xml | 20 - ...vest-zzz-post-GetRecords-filter-wms-dc.xml | 20 - ...est-zzz-post-GetRecords-filter-wms-iso.xml | 20 - ...t-zzz-post-GetRecords-filter-wms-layer.xml | 20 - ...zzz-post-GetRecords-filter-wps-process.xml | 14 - .../post/Transaction-000-delete-all.xml | 13 - tests/suites/manager/data/.gitkeep | 0 tests/suites/manager/default.cfg | 91 -- .../manager/post/Clear-000-delete-all.xml | 13 - tests/suites/manager/post/GetCapabilities.xml | 9 - .../manager/post/GetDomain-parameter.xml | 4 - .../post/Transaction-000-delete-all.xml | 13 - .../manager/post/Transaction-dc-01-insert.xml | 22 - .../post/Transaction-dc-02-update-full.xml | 22 - .../post/Transaction-fgdc-01-insert.xml | 214 --- .../Transaction-fgdc-02-update-recprop.xml | 17 - .../post/Transaction-fgdc-03-delete-all.xml | 13 - .../post/Transaction-iso-00-delete-all.xml | 13 - .../post/Transaction-iso-01-insert.xml | 73 - .../post/Transaction-iso-02-update-full.xml | 73 - .../Transaction-iso-03-update-recprop.xml | 17 - ...ction-iso-04-update-recprop-no-matches.xml | 17 - .../post/Transaction-iso-05-delete.xml | 13 - .../post/Transaction-xxx-delete-all.xml | 13 - tests/suites/oaipmh/default.cfg | 91 -- tests/suites/oaipmh/get/requests.txt | 20 - tests/suites/repofilter/default.cfg | 91 -- .../repofilter/post/GetRecordById-masked.xml | 5 - .../suites/repofilter/post/GetRecords-all.xml | 6 - tests/suites/sru/default.cfg | 90 -- tests/suites/sru/get/requests.txt | 5 - tests/suites/utf-8/default.cfg | 89 -- tests/suites/utf-8/post/GetCapabilities.xml | 9 - 598 files changed, 39644 deletions(-) delete mode 100644 tests/expected/suites_apiso-inspire_get_GetCapabilities-lang.xml delete mode 100644 tests/expected/suites_apiso-inspire_get_GetCapabilities.xml delete mode 100644 tests/expected/suites_apiso_post_DescribeRecord.xml delete mode 100644 tests/expected/suites_apiso_post_GetCapabilities.xml delete mode 100644 tests/expected/suites_apiso_post_GetDomain-property.xml delete mode 100644 tests/expected/suites_apiso_post_GetRecordById-brief.xml delete mode 100644 tests/expected/suites_apiso_post_GetRecordById-full-dc.xml delete mode 100644 tests/expected/suites_apiso_post_GetRecordById-full.xml delete mode 100644 tests/expected/suites_apiso_post_GetRecordById-srv-brief.xml delete mode 100644 tests/expected/suites_apiso_post_GetRecords-all-csw-output.xml delete mode 100644 tests/expected/suites_apiso_post_GetRecords-all.xml delete mode 100644 tests/expected/suites_apiso_post_GetRecords-cql-title.xml delete mode 100644 tests/expected/suites_apiso_post_GetRecords-elementname.xml delete mode 100644 tests/expected/suites_apiso_post_GetRecords-filter-and-nested-spatial-or-dateline.xml delete mode 100644 tests/expected/suites_apiso_post_GetRecords-filter-anytext.xml delete mode 100644 tests/expected/suites_apiso_post_GetRecords-filter-bbox-csw-output.xml delete mode 100644 tests/expected/suites_apiso_post_GetRecords-filter-bbox.xml delete mode 100644 tests/expected/suites_apiso_post_GetRecords-filter-servicetype.xml delete mode 100644 tests/expected/suites_atom_get_opensearch-description.xml delete mode 100644 tests/expected/suites_atom_get_opensearch-ogc-bbox-and-time.xml delete mode 100644 tests/expected/suites_atom_get_opensearch-ogc-bbox.xml delete mode 100644 tests/expected/suites_atom_get_opensearch-ogc-count-and-page1.xml delete mode 100644 tests/expected/suites_atom_get_opensearch-ogc-count-and-page2.xml delete mode 100644 tests/expected/suites_atom_get_opensearch-ogc-q-and-bbox.xml delete mode 100644 tests/expected/suites_atom_get_opensearch-ogc-q-and-time.xml delete mode 100644 tests/expected/suites_atom_get_opensearch-ogc-q.xml delete mode 100644 tests/expected/suites_atom_get_opensearch-ogc-time.xml delete mode 100644 tests/expected/suites_atom_get_opensearch-ogc-timeend.xml delete mode 100644 tests/expected/suites_atom_get_opensearch-ogc-timestart.xml delete mode 100644 tests/expected/suites_atom_get_opensearch.xml delete mode 100644 tests/expected/suites_atom_post_DescribeRecord.xml delete mode 100644 tests/expected/suites_atom_post_GetCapabilities.xml delete mode 100644 tests/expected/suites_atom_post_GetRecords-filter-bbox.xml delete mode 100644 tests/expected/suites_cite_get_27e17158-c57a-4493-92ac-dba8934cf462.xml delete mode 100644 tests/expected/suites_cite_get_27f69b66-5f05-4311-a89c-73ca55c2686b.xml delete mode 100644 tests/expected/suites_cite_get_2ab7d1fa-885b-459f-80e4-b6282eab4f8c.xml delete mode 100644 tests/expected/suites_cite_get_37aa90e2-6ff0-420c-af15-8b9463099a73.xml delete mode 100644 tests/expected/suites_cite_get_3a8a3c47-455f-4f49-9078-03119f3e70b3.xml delete mode 100644 tests/expected/suites_cite_get_4515831f-834a-4699-95f6-ab0c2cbfcfd0.xml delete mode 100644 tests/expected/suites_cite_get_477b23a3-baa9-47c8-9541-5fe27735ed49.xml delete mode 100644 tests/expected/suites_cite_get_48f26761-3a9d-48db-bee1-da089f5fb857.xml delete mode 100644 tests/expected/suites_cite_get_4e38092f-1586-44b8-988e-0acfa5855916.xml delete mode 100644 tests/expected/suites_cite_get_55c38f00-2553-42c1-99ab-33edbb561ad7.xml delete mode 100644 tests/expected/suites_cite_get_5ab5db18-c87a-4fbf-a8d8-b7289b09ac81.xml delete mode 100644 tests/expected/suites_cite_get_6a4f57ca-a1bd-4802-89c2-44860dbdb0f0.xml delete mode 100644 tests/expected/suites_cite_get_6c375703-9c00-4aef-bec7-d2e964f849eb.xml delete mode 100644 tests/expected/suites_cite_get_80f31def-4185-48b9-983a-960566918eae.xml delete mode 100644 tests/expected/suites_cite_get_8e2232ed-05d9-44ae-8b04-0911cbe6a507.xml delete mode 100644 tests/expected/suites_cite_get_9697f0aa-3b6a-4125-83a5-61e8826127c4.xml delete mode 100644 tests/expected/suites_cite_get_9bfd17fa-15dc-4a10-8fa7-b3cff7013dd7.xml delete mode 100644 tests/expected/suites_cite_get_b81c3595-06d6-4693-82ea-1ff8650755ac.xml delete mode 100644 tests/expected/suites_cite_get_ba5fc729-3b71-47a0-b7d0-42ec565cd185.xml delete mode 100644 tests/expected/suites_cite_get_c4ea754f-c158-4d8d-8253-dc8f86021b52.xml delete mode 100644 tests/expected/suites_cite_get_f4692ec5-9547-4a05-88ab-e6154af2640a.xml delete mode 100644 tests/expected/suites_cite_get_f997f25e-c865-4d53-a362-0ed1846337f2.xml delete mode 100644 tests/expected/suites_cite_post_0c976d98-c896-4b10-b1fe-a22ef50434e7.xml delete mode 100644 tests/expected/suites_cite_post_19d2a6ed-be28-4866-ae15-e3bb634486cb.xml delete mode 100644 tests/expected/suites_cite_post_1ab55aa3-6685-4595-8ecd-45987a7b8b59.xml delete mode 100644 tests/expected/suites_cite_post_1c958b7a-ca09-4c38-98bd-ef1d1d28cc14.xml delete mode 100644 tests/expected/suites_cite_post_1c97fc1a-61cd-4c1d-8054-933e17a6c5ee.xml delete mode 100644 tests/expected/suites_cite_post_2102a460-5d62-465f-9668-d70b3faafbfa.xml delete mode 100644 tests/expected/suites_cite_post_225f455a-0035-486b-a94e-fee7ae881b2b.xml delete mode 100644 tests/expected/suites_cite_post_2d53ffea-60e4-4652-abf5-36eb23042fd5.xml delete mode 100644 tests/expected/suites_cite_post_34a019a9-1581-42cb-9827-fbfdda2773b7.xml delete mode 100644 tests/expected/suites_cite_post_3e76fd38-e035-41c9-83dc-61356f680c97.xml delete mode 100644 tests/expected/suites_cite_post_418a6fb0-a89c-4a94-afc9-3f8168eb2980.xml delete mode 100644 tests/expected/suites_cite_post_420b745e-0c4b-404e-9f2d-61fa580ff05a.xml delete mode 100644 tests/expected/suites_cite_post_4735d649-a2b1-42fd-a101-14e1d7e4607f.xml delete mode 100644 tests/expected/suites_cite_post_5c5861bc-f742-40a5-9998-5342615d674b.xml delete mode 100644 tests/expected/suites_cite_post_6e736fd0-c266-4852-9eb3-0656f5d0f5c4.xml delete mode 100644 tests/expected/suites_cite_post_73f1551c-e269-4ef9-9dae-e535b5eebfc7.xml delete mode 100644 tests/expected/suites_cite_post_78297c88-4850-4927-adc6-511cd9a3d539.xml delete mode 100644 tests/expected/suites_cite_post_7c89cdf5-0def-4cfb-8c55-2b8ffea5d92f.xml delete mode 100644 tests/expected/suites_cite_post_7e2cd105-daec-4d25-bc8e-d49d21364912.xml delete mode 100644 tests/expected/suites_cite_post_87f2f670-9cd6-4907-b82c-1b46a7dd2a78.xml delete mode 100644 tests/expected/suites_cite_post_88b4e1ba-3bd4-4cbe-81e5-e004056d6ca3.xml delete mode 100644 tests/expected/suites_cite_post_898cd63b-2585-4ec0-8720-d554bd324174.xml delete mode 100644 tests/expected/suites_cite_post_8fb13dc3-5818-45e2-9e29-46abc16e7d38.xml delete mode 100644 tests/expected/suites_cite_post_928c1896-52d4-4ac7-9832-f98e3eb65f02.xml delete mode 100644 tests/expected/suites_cite_post_93bdbb9d-2734-4f01-92fb-48634cca41de.xml delete mode 100644 tests/expected/suites_cite_post_948b39d5-bb4f-45b8-a8f2-4ff9501aaedd.xml delete mode 100644 tests/expected/suites_cite_post_9fd64fcc-f69c-4626-b72e-5c7776a29aa9.xml delete mode 100644 tests/expected/suites_cite_post_a06d04ab-e0d0-4a86-bfe8-71460f41fe37.xml delete mode 100644 tests/expected/suites_cite_post_ad61686c-d304-42d1-b845-8c1f3070c83e.xml delete mode 100644 tests/expected/suites_cite_post_af39c020-7b1d-429c-b474-f45c3164cb79.xml delete mode 100644 tests/expected/suites_cite_post_b90e2de6-3d25-4298-a13e-dc9492a8fc73.xml delete mode 100644 tests/expected/suites_cite_post_ba9b0107-dcee-46ef-823a-a2e25a911a96.xml delete mode 100644 tests/expected/suites_cite_post_bb66ebc5-7121-48b5-9f53-b56537d9561b.xml delete mode 100644 tests/expected/suites_cite_post_c02d1c85-df9f-45ee-bea7-345c35e02a98.xml delete mode 100644 tests/expected/suites_cite_post_c311a342-72e3-4983-be39-868e6ed9740f.xml delete mode 100644 tests/expected/suites_cite_post_c38916c2-4bc6-446d-b7aa-ab006d6ba31c.xml delete mode 100644 tests/expected/suites_cite_post_c8588f47-8e65-45f5-ad34-ff4524cad84d.xml delete mode 100644 tests/expected/suites_cite_post_da228d4c-e1be-43d7-9ccb-c3f27ee32541.xml delete mode 100644 tests/expected/suites_cite_post_dc92c2c4-87d8-4a13-964e-ff9b0e0c27b3.xml delete mode 100644 tests/expected/suites_cite_post_dcb13791-379e-4739-bcd4-dbaa69f0efdb.xml delete mode 100644 tests/expected/suites_cite_post_e308f030-c097-4036-a838-44bad74c9ef7.xml delete mode 100644 tests/expected/suites_cite_post_e6e9efb2-e2b7-4b0a-a3a2-7deea3f9b8e2.xml delete mode 100644 tests/expected/suites_cite_post_f7976c55-a156-4421-8199-bc0487da4b0f.xml delete mode 100644 tests/expected/suites_cite_post_f7d79701-f10b-4087-a33c-f62df0a04fd1.xml delete mode 100644 tests/expected/suites_cite_post_fc1bc094-88f1-4851-bc2b-dfc56be9f3c7.xml delete mode 100644 tests/expected/suites_cite_post_fe20960f-a26c-4f13-852d-470a0d3233f9.xml delete mode 100644 tests/expected/suites_csw30_get_002258f0-627f-457f-b2ad-025777c77ac8.xml delete mode 100644 tests/expected/suites_csw30_get_045c600d-973d-41eb-9f60-eba1b717b720.xml delete mode 100644 tests/expected/suites_csw30_get_0bbcf862-5211-4351-9988-63f8bec49c98.xml delete mode 100644 tests/expected/suites_csw30_get_0bdf8457-971e-4ed1-be4a-5feca4dcd8fa.xml delete mode 100644 tests/expected/suites_csw30_get_0d8bbdec-0846-42ca-8dc8-b7f4cba41d67.xml delete mode 100644 tests/expected/suites_csw30_get_0e1dca37-477a-4060-99fe-7799b52d656c.xml delete mode 100644 tests/expected/suites_csw30_get_13c87956-51a4-4780-a8e9-6e0b5c0bb473.xml delete mode 100644 tests/expected/suites_csw30_get_151d982f-ebd3-4cb2-b507-a667713a1e92.xml delete mode 100644 tests/expected/suites_csw30_get_1869e495-1a61-4713-8285-76d1336ee1a6.xml delete mode 100644 tests/expected/suites_csw30_get_1bcb42a9-538c-4f0a-9d4c-d6f10b720aa6.xml delete mode 100644 tests/expected/suites_csw30_get_22f44168-2ccf-4801-ad96-204212566d56.xml delete mode 100644 tests/expected/suites_csw30_get_2499a9c9-8d33-449c-bc92-d494adfcc84d.xml delete mode 100644 tests/expected/suites_csw30_get_27f4f39c-d92a-4e3c-b961-c6aa8c24e513.xml delete mode 100644 tests/expected/suites_csw30_get_28e569df-8596-4128-8d9a-29ad03138915.xml delete mode 100644 tests/expected/suites_csw30_get_2b06a5c8-0df2-4af1-8d2e-a425de11c845.xml delete mode 100644 tests/expected/suites_csw30_get_2ba1418a-444d-4cce-9cfe-4c94efcf8b55.xml delete mode 100644 tests/expected/suites_csw30_get_397fe17a-d5b4-4f96-8cc4-4ce467ed4d0a.xml delete mode 100644 tests/expected/suites_csw30_get_3dcd1b15-73d2-4b7d-a3e3-ff15bf14aae4.xml delete mode 100644 tests/expected/suites_csw30_get_405e1ff1-5c75-4846-a28b-cfaff2a6921a.xml delete mode 100644 tests/expected/suites_csw30_get_43cd6471-6ac7-45bd-8ff9-148cb2de9a52.xml delete mode 100644 tests/expected/suites_csw30_get_4566d2ec-1283-4a02-baed-a74fc5b47e37.xml delete mode 100644 tests/expected/suites_csw30_get_461bd4c5-6623-490d-9036-d91a2201e87b.xml delete mode 100644 tests/expected/suites_csw30_get_5496894a-3877-4f62-a20b-5d7126f94925.xml delete mode 100644 tests/expected/suites_csw30_get_5a015f6a-bf14-4977-b1e3-6577eb0223c8.xml delete mode 100644 tests/expected/suites_csw30_get_5c3a2390-1fb9-43f0-b96c-f48c7a69c990.xml delete mode 100644 tests/expected/suites_csw30_get_5e9e67dc-18d6-4645-8111-c6263c88a61f.xml delete mode 100644 tests/expected/suites_csw30_get_604d9379-741c-42e5-b4cf-92e56c87fa64.xml delete mode 100644 tests/expected/suites_csw30_get_60e6af95-d5fc-465a-82e2-fd2e6d85e4af.xml delete mode 100644 tests/expected/suites_csw30_get_62ad94c2-b558-4265-a427-23d6677975d6.xml delete mode 100644 tests/expected/suites_csw30_get_6a5e247b-0961-4b8a-a0d6-35a491d9cfe7.xml delete mode 100644 tests/expected/suites_csw30_get_6a9d0558-9d87-495b-b999-b49a3ef1cf99.xml delete mode 100644 tests/expected/suites_csw30_get_6bd790c9-6019-4652-9c91-330a894d6700.xml delete mode 100644 tests/expected/suites_csw30_get_6e9cba43-5e27-415d-adbd-a92851c2c173.xml delete mode 100644 tests/expected/suites_csw30_get_7630d230-e142-4a09-accf-f091000b90cd.xml delete mode 100644 tests/expected/suites_csw30_get_7e82446a-b5dc-43fe-9a73-4cc1f2f2f0bf.xml delete mode 100644 tests/expected/suites_csw30_get_8025978e-1a35-4d70-80c2-e8329e0c7864.xml delete mode 100644 tests/expected/suites_csw30_get_8184ae4f-536d-4978-8b28-ad703be96967.xml delete mode 100644 tests/expected/suites_csw30_get_88f63a89-664f-4315-b4f8-04a0b33803a7.xml delete mode 100644 tests/expected/suites_csw30_get_8987f8f0-4d93-4481-968c-a2ccbd6b8be2.xml delete mode 100644 tests/expected/suites_csw30_get_8e5fa0f6-3f29-4d1f-abe2-d9866f3def98.xml delete mode 100644 tests/expected/suites_csw30_get_9000ec29-5649-474e-b2d6-55c00f8a52c0.xml delete mode 100644 tests/expected/suites_csw30_get_91914d35-7bbf-45e6-9b37-5ef484869a4e.xml delete mode 100644 tests/expected/suites_csw30_get_92d4844d-57d5-4cf3-8f47-ba50e369dc04.xml delete mode 100644 tests/expected/suites_csw30_get_9c0e2a4b-b4e6-41c0-b630-c8c99fc89ff3.xml delete mode 100644 tests/expected/suites_csw30_get_9d7ffac8-9798-428d-8e27-3cd12497ee6b.xml delete mode 100644 tests/expected/suites_csw30_get_Exception-GetDomain-value-reference.xml delete mode 100644 tests/expected/suites_csw30_get_Exception-GetDomain.xml delete mode 100644 tests/expected/suites_csw30_get_Exception-GetRecordById-404.xml delete mode 100644 tests/expected/suites_csw30_get_Exception-GetRecordById-dc.xml.xml delete mode 100644 tests/expected/suites_csw30_get_Exception-GetRepositoryItem-notfound.xml delete mode 100644 tests/expected/suites_csw30_get_Exception-invalid-request.xml delete mode 100644 tests/expected/suites_csw30_get_GetCapabilities-base-url.xml delete mode 100644 tests/expected/suites_csw30_get_GetCapabilities-no-version.xml delete mode 100644 tests/expected/suites_csw30_get_GetCapabilities.xml delete mode 100644 tests/expected/suites_csw30_get_GetDomain-parameter.xml delete mode 100644 tests/expected/suites_csw30_get_GetDomain-value-reference.xml delete mode 100644 tests/expected/suites_csw30_get_GetRepositoryItem.xml delete mode 100644 tests/expected/suites_csw30_get_OpenSearch-description.xml delete mode 100644 tests/expected/suites_csw30_get_a2f18643-e24e-4fa5-b780-6de4a2dbc814.xml delete mode 100644 tests/expected/suites_csw30_get_abc90c8c-5868-4405-a73e-64c849be3b2a.xml delete mode 100644 tests/expected/suites_csw30_get_ad0c0571-09ed-436a-9a4f-a5de744c88fe.xml delete mode 100644 tests/expected/suites_csw30_get_af502903-f4ee-47ee-b76e-af878d238bcc.xml delete mode 100644 tests/expected/suites_csw30_get_b2aafc3f-4f35-47bc-affd-08590972deae.xml delete mode 100644 tests/expected/suites_csw30_get_b6069623-f7d8-4021-8582-98f0aea0f763.xml delete mode 100644 tests/expected/suites_csw30_get_b9a07a54-75a8-45bd-b341-2823600211e3.xml delete mode 100644 tests/expected/suites_csw30_get_baa4a7d0-0c01-42b6-adc3-0d03e9949fa3.xml delete mode 100644 tests/expected/suites_csw30_get_bfbe6409-f64a-4c89-acb3-50f260a5c743.xml delete mode 100644 tests/expected/suites_csw30_get_bfe20134-d1da-42ef-9c0f-8e1307bbf92b.xml delete mode 100644 tests/expected/suites_csw30_get_c03d173a-3f42-4956-89c8-1fe02c3a0873.xml delete mode 100644 tests/expected/suites_csw30_get_cb43d8c3-e14c-4a9f-9231-4384b7dd21f3.xml delete mode 100644 tests/expected/suites_csw30_get_d03c6fd3-e821-4a26-b62f-d20a474e25af.xml delete mode 100644 tests/expected/suites_csw30_get_d4ccbf96-a529-480e-a53d-5b88dc1dea7f.xml delete mode 100644 tests/expected/suites_csw30_get_d94c801a-1207-4897-b84a-53f3a192515b.xml delete mode 100644 tests/expected/suites_csw30_get_da859e34-91fc-495a-8c09-285a40c0900b.xml delete mode 100644 tests/expected/suites_csw30_get_dc246fb8-5af5-4fda-82bb-c18b3ecd439c.xml delete mode 100644 tests/expected/suites_csw30_get_de016645-6d5c-4855-943c-2db07ae9f49a.xml delete mode 100644 tests/expected/suites_csw30_get_dff3ec6b-bb2d-4887-bd17-8fcf15def042.xml delete mode 100644 tests/expected/suites_csw30_get_e38e6bfb-8ac4-4ae4-8b87-0aafbc8d3c6b.xml delete mode 100644 tests/expected/suites_csw30_get_e67ca935-d65d-4d8c-8302-1405333dded0.xml delete mode 100644 tests/expected/suites_csw30_get_e7704509-3441-458f-8ef0-e333c6b6043f.xml delete mode 100644 tests/expected/suites_csw30_get_f1223a49-6d08-44ff-97fe-4c32cbbfad82.xml delete mode 100644 tests/expected/suites_csw30_get_f89dd4e1-3a81-4433-afd2-a3fa1bdb1e18.xml delete mode 100644 tests/expected/suites_csw30_post_Exception-GetDomain-parametername-bad.xml delete mode 100644 tests/expected/suites_csw30_post_Exception-GetDomain-valuereference-bad.xml delete mode 100644 tests/expected/suites_csw30_post_Exception-GetRecordById-404.xml delete mode 100644 tests/expected/suites_csw30_post_Exception-GetRecordById-bad-esn.xml delete mode 100644 tests/expected/suites_csw30_post_Exception-bad-xml.xml delete mode 100644 tests/expected/suites_csw30_post_Exception-not-xml.xml delete mode 100644 tests/expected/suites_csw30_post_GetCapabilities.xml delete mode 100644 tests/expected/suites_csw30_post_GetDomain-parametername.xml delete mode 100644 tests/expected/suites_csw30_post_GetDomain-valuereference.xml delete mode 100644 tests/expected/suites_csw30_post_GetRecordById-dc-full.xml delete mode 100644 tests/expected/suites_csw30_post_GetRecordById-dc.xml delete mode 100644 tests/expected/suites_default_get_Exception-GetRepositoryItem-notfound.xml delete mode 100644 tests/expected/suites_default_get_Exception-GetRepositoryItem-service-invalid1.xml delete mode 100644 tests/expected/suites_default_get_Exception-GetRepositoryItem-service-invalid2.xml delete mode 100644 tests/expected/suites_default_get_Exception-GetRepositoryItem-version-invalid.xml delete mode 100644 tests/expected/suites_default_get_GetCapabilities-invalid-request.xml delete mode 100644 tests/expected/suites_default_get_GetCapabilities.xml delete mode 100644 tests/expected/suites_default_get_GetRecords-all.xml delete mode 100644 tests/expected/suites_default_get_GetRecords-empty-maxrecords.xml delete mode 100644 tests/expected/suites_default_get_GetRecords-filter-cql-title-or-abstract-with-spaces.xml delete mode 100644 tests/expected/suites_default_get_GetRecords-filter-cql-title-or-abstract.xml delete mode 100644 tests/expected/suites_default_get_GetRecords-filter-cql-title-with-spaces-or-abstract-with-spaces.xml delete mode 100644 tests/expected/suites_default_get_GetRecords-filter-cql-title-with-spaces-or-abstract.xml delete mode 100644 tests/expected/suites_default_get_GetRecords-filter-cql-title-with-spaces.xml delete mode 100644 tests/expected/suites_default_get_GetRecords-filter-cql-title.xml delete mode 100644 tests/expected/suites_default_get_GetRecords-filter.xml delete mode 100644 tests/expected/suites_default_get_GetRecords-sortby-asc.xml delete mode 100644 tests/expected/suites_default_get_GetRecords-sortby-desc.xml delete mode 100644 tests/expected/suites_default_get_GetRecords-sortby-invalid-order.xml delete mode 100644 tests/expected/suites_default_get_GetRecords-sortby-invalid-propertyname.xml delete mode 100644 tests/expected/suites_default_get_GetRepositoryItem.xml delete mode 100644 tests/expected/suites_default_post_DescribeRecord-json.xml delete mode 100644 tests/expected/suites_default_post_DescribeRecord.xml delete mode 100644 tests/expected/suites_default_post_Exception-GetRecords-badsrsname.xml delete mode 100644 tests/expected/suites_default_post_Exception-GetRecords-elementname.xml delete mode 100644 tests/expected/suites_default_post_Exception-GetRecords-invalid-xml.xml delete mode 100644 tests/expected/suites_default_post_GetCapabilities-SOAP.xml delete mode 100644 tests/expected/suites_default_post_GetCapabilities-sections.xml delete mode 100644 tests/expected/suites_default_post_GetCapabilities-updatesequence.xml delete mode 100644 tests/expected/suites_default_post_GetCapabilities.xml delete mode 100644 tests/expected/suites_default_post_GetDomain-parameter.xml delete mode 100644 tests/expected/suites_default_post_GetDomain-property.xml delete mode 100644 tests/expected/suites_default_post_GetRecordById-json.xml delete mode 100644 tests/expected/suites_default_post_GetRecordById.xml delete mode 100644 tests/expected/suites_default_post_GetRecords-all-json.xml delete mode 100644 tests/expected/suites_default_post_GetRecords-all-resulttype-hits.xml delete mode 100644 tests/expected/suites_default_post_GetRecords-all-resulttype-validate.xml delete mode 100644 tests/expected/suites_default_post_GetRecords-all-sortby-bbox.xml delete mode 100644 tests/expected/suites_default_post_GetRecords-all.xml delete mode 100644 tests/expected/suites_default_post_GetRecords-bbox-filter-crs84.xml delete mode 100644 tests/expected/suites_default_post_GetRecords-cql-title-and-abstract.xml delete mode 100644 tests/expected/suites_default_post_GetRecords-cql-title.xml delete mode 100644 tests/expected/suites_default_post_GetRecords-distributedsearch.xml delete mode 100644 tests/expected/suites_default_post_GetRecords-elementname.xml delete mode 100644 tests/expected/suites_default_post_GetRecords-end.xml delete mode 100644 tests/expected/suites_default_post_GetRecords-filter-and-bbox-freetext.xml delete mode 100644 tests/expected/suites_default_post_GetRecords-filter-and-nested-or.xml delete mode 100644 tests/expected/suites_default_post_GetRecords-filter-and-nested-or2.xml delete mode 100644 tests/expected/suites_default_post_GetRecords-filter-anytext-and-not.xml delete mode 100644 tests/expected/suites_default_post_GetRecords-filter-anytext-equal.xml delete mode 100644 tests/expected/suites_default_post_GetRecords-filter-anytext.xml delete mode 100644 tests/expected/suites_default_post_GetRecords-filter-bbox-reproject.xml delete mode 100644 tests/expected/suites_default_post_GetRecords-filter-bbox-sortby.xml delete mode 100644 tests/expected/suites_default_post_GetRecords-filter-bbox.xml delete mode 100644 tests/expected/suites_default_post_GetRecords-filter-between.xml delete mode 100644 tests/expected/suites_default_post_GetRecords-filter-function-bad.xml delete mode 100644 tests/expected/suites_default_post_GetRecords-filter-function.xml delete mode 100644 tests/expected/suites_default_post_GetRecords-filter-not-bbox.xml delete mode 100644 tests/expected/suites_default_post_GetRecords-filter-or-bbox-freetext.xml delete mode 100644 tests/expected/suites_default_post_GetRecords-filter-or-nested-and.xml delete mode 100644 tests/expected/suites_default_post_GetRecords-filter-or-title-abstract.xml delete mode 100644 tests/expected/suites_default_post_GetRecords-maxrecords.xml delete mode 100644 tests/expected/suites_default_post_GetRecords-requestid.xml delete mode 100644 tests/expected/suites_default_post_Harvest-default.xml delete mode 100644 tests/expected/suites_default_post_Harvest-response-handler.xml delete mode 100644 tests/expected/suites_default_post_Transaction-delete.xml delete mode 100644 tests/expected/suites_default_post_Transaction-insert.xml delete mode 100644 tests/expected/suites_default_post_Transaction-update-full.xml delete mode 100644 tests/expected/suites_default_post_Transaction-update-recordproperty.xml delete mode 100644 tests/expected/suites_dif_post_DescribeRecord.xml delete mode 100644 tests/expected/suites_dif_post_GetCapabilities.xml delete mode 100644 tests/expected/suites_dif_post_GetRecords-filter-bbox.xml delete mode 100644 tests/expected/suites_ebrim_post_DescribeRecord.xml delete mode 100644 tests/expected/suites_ebrim_post_GetCapabilities.xml delete mode 100644 tests/expected/suites_ebrim_post_GetRecords-filter-bbox-full.xml delete mode 100644 tests/expected/suites_ebrim_post_GetRecords-filter-bbox.xml delete mode 100644 tests/expected/suites_fgdc_post_DescribeRecord.xml delete mode 100644 tests/expected/suites_fgdc_post_GetCapabilities.xml delete mode 100644 tests/expected/suites_fgdc_post_GetRecords-filter-bbox.xml delete mode 100644 tests/expected/suites_gm03_post_GetCapabilities.xml delete mode 100644 tests/expected/suites_gm03_post_GetRecords-filter-bbox.xml delete mode 100644 tests/expected/suites_harvesting_get_Exception-Harvest-invalid-resourcetype.xml delete mode 100644 tests/expected/suites_harvesting_get_Exception-Harvest-missing-resourcetype.xml delete mode 100644 tests/expected/suites_harvesting_get_Exception-Harvest-missing-source.xml delete mode 100644 tests/expected/suites_harvesting_get_Exception-Harvest-waf-bad-value.xml delete mode 100644 tests/expected/suites_harvesting_get_Exception-Harvest-waf-no-records-found.xml delete mode 100644 tests/expected/suites_harvesting_post_Clear-000-delete-all.xml delete mode 100644 tests/expected/suites_harvesting_post_Exception-Havest-csw-404.xml delete mode 100644 tests/expected/suites_harvesting_post_GetCapabilities.xml delete mode 100644 tests/expected/suites_harvesting_post_GetDomain-parameter.xml delete mode 100644 tests/expected/suites_harvesting_post_Harvest-csw-iso.xml delete mode 100644 tests/expected/suites_harvesting_post_Harvest-csw-run1.xml delete mode 100644 tests/expected/suites_harvesting_post_Harvest-csw-run2.xml delete mode 100644 tests/expected/suites_harvesting_post_Harvest-dc.xml delete mode 100644 tests/expected/suites_harvesting_post_Harvest-fgdc.xml delete mode 100644 tests/expected/suites_harvesting_post_Harvest-iso.xml delete mode 100644 tests/expected/suites_harvesting_post_Harvest-rdf.xml delete mode 100644 tests/expected/suites_harvesting_post_Harvest-sos100.xml delete mode 100644 tests/expected/suites_harvesting_post_Harvest-sos200.xml delete mode 100644 tests/expected/suites_harvesting_post_Harvest-waf.xml delete mode 100644 tests/expected/suites_harvesting_post_Harvest-wcs.xml delete mode 100644 tests/expected/suites_harvesting_post_Harvest-wfs110.xml delete mode 100644 tests/expected/suites_harvesting_post_Harvest-wfs200.xml delete mode 100644 tests/expected/suites_harvesting_post_Harvest-wms-run1.xml delete mode 100644 tests/expected/suites_harvesting_post_Harvest-wms-run2.xml delete mode 100644 tests/expected/suites_harvesting_post_Harvest-wmts.xml delete mode 100644 tests/expected/suites_harvesting_post_Harvest-wps.xml delete mode 100644 tests/expected/suites_harvesting_post_Harvest-zzz-post-GetRecords-filter-ows-dc.xml delete mode 100644 tests/expected/suites_harvesting_post_Harvest-zzz-post-GetRecords-filter-sos-abstract-dc.xml delete mode 100644 tests/expected/suites_harvesting_post_Harvest-zzz-post-GetRecords-filter-sos-dc.xml delete mode 100644 tests/expected/suites_harvesting_post_Harvest-zzz-post-GetRecords-filter-sos-iso.xml delete mode 100644 tests/expected/suites_harvesting_post_Harvest-zzz-post-GetRecords-filter-wfs-iso.xml delete mode 100644 tests/expected/suites_harvesting_post_Harvest-zzz-post-GetRecords-filter-wms-dc.xml delete mode 100644 tests/expected/suites_harvesting_post_Harvest-zzz-post-GetRecords-filter-wms-iso.xml delete mode 100644 tests/expected/suites_harvesting_post_Harvest-zzz-post-GetRecords-filter-wms-layer.xml delete mode 100644 tests/expected/suites_harvesting_post_Harvest-zzz-post-GetRecords-filter-wps-process.xml delete mode 100644 tests/expected/suites_harvesting_post_Transaction-000-delete-all.xml delete mode 100644 tests/expected/suites_manager_post_Clear-000-delete-all.xml delete mode 100644 tests/expected/suites_manager_post_GetCapabilities.xml delete mode 100644 tests/expected/suites_manager_post_GetDomain-parameter.xml delete mode 100644 tests/expected/suites_manager_post_Transaction-000-delete-all.xml delete mode 100644 tests/expected/suites_manager_post_Transaction-dc-01-insert.xml delete mode 100644 tests/expected/suites_manager_post_Transaction-dc-02-update-full.xml delete mode 100644 tests/expected/suites_manager_post_Transaction-fgdc-01-insert.xml delete mode 100644 tests/expected/suites_manager_post_Transaction-fgdc-02-update-recprop.xml delete mode 100644 tests/expected/suites_manager_post_Transaction-fgdc-03-delete-all.xml delete mode 100644 tests/expected/suites_manager_post_Transaction-iso-00-delete-all.xml delete mode 100644 tests/expected/suites_manager_post_Transaction-iso-01-insert.xml delete mode 100644 tests/expected/suites_manager_post_Transaction-iso-02-update-full.xml delete mode 100644 tests/expected/suites_manager_post_Transaction-iso-03-update-recprop.xml delete mode 100644 tests/expected/suites_manager_post_Transaction-iso-04-update-recprop-no-matches.xml delete mode 100644 tests/expected/suites_manager_post_Transaction-iso-05-delete.xml delete mode 100644 tests/expected/suites_manager_post_Transaction-xxx-delete-all.xml delete mode 100644 tests/expected/suites_oaipmh_get_GetRecord_bad_metadata_prefix.xml delete mode 100644 tests/expected/suites_oaipmh_get_GetRecord_dc.xml delete mode 100644 tests/expected/suites_oaipmh_get_GetRecord_iso.xml delete mode 100644 tests/expected/suites_oaipmh_get_GetRecord_oai_dc.xml delete mode 100644 tests/expected/suites_oaipmh_get_Identify.xml delete mode 100644 tests/expected/suites_oaipmh_get_ListIdentifiers_bad_metadata_prefix.xml delete mode 100644 tests/expected/suites_oaipmh_get_ListIdentifiers_dc.xml delete mode 100644 tests/expected/suites_oaipmh_get_ListIdentifiers_iso.xml delete mode 100644 tests/expected/suites_oaipmh_get_ListIdentifiers_missing_metadata_prefix.xml delete mode 100644 tests/expected/suites_oaipmh_get_ListIdentifiers_oai_dc.xml delete mode 100644 tests/expected/suites_oaipmh_get_ListMetadataFormats.xml delete mode 100644 tests/expected/suites_oaipmh_get_ListRecords_dc.xml delete mode 100644 tests/expected/suites_oaipmh_get_ListRecords_dc_bad_metadata_prefix.xml delete mode 100644 tests/expected/suites_oaipmh_get_ListRecords_iso19139.xml delete mode 100644 tests/expected/suites_oaipmh_get_ListRecords_oai_dc.xml delete mode 100644 tests/expected/suites_oaipmh_get_ListSets.xml delete mode 100644 tests/expected/suites_oaipmh_get_bad_verb.xml delete mode 100644 tests/expected/suites_oaipmh_get_empty.xml delete mode 100644 tests/expected/suites_oaipmh_get_empty_with_amp.xml delete mode 100644 tests/expected/suites_oaipmh_get_illegal_verb.xml delete mode 100644 tests/expected/suites_repofilter_post_GetRecordById-masked.xml delete mode 100644 tests/expected/suites_repofilter_post_GetRecords-all.xml delete mode 100644 tests/expected/suites_sru_get_explain.xml delete mode 100644 tests/expected/suites_sru_get_search.xml delete mode 100644 tests/expected/suites_sru_get_search_cql.xml delete mode 100644 tests/expected/suites_sru_get_search_maxrecords.xml delete mode 100644 tests/expected/suites_sru_get_search_startrecord_maxrecords.xml delete mode 100644 tests/expected/suites_utf-8_post_GetCapabilities.xml delete mode 100644 tests/suites/apiso-inspire/default.cfg delete mode 100644 tests/suites/apiso-inspire/get/requests.txt delete mode 100644 tests/suites/apiso/data/3e9a8c05.xml delete mode 100644 tests/suites/apiso/data/README.txt delete mode 100644 tests/suites/apiso/data/T_aerfo_RAS_1991_GR800P001800000012.xml delete mode 100644 tests/suites/apiso/data/T_aerfo_RAS_1991_GR800P001800000013.xml delete mode 100644 tests/suites/apiso/data/T_aerfo_RAS_1991_GR800P001800000014.xml delete mode 100644 tests/suites/apiso/data/T_aerfo_RAS_1991_GR800P001800000015.xml delete mode 100644 tests/suites/apiso/data/T_ortho_RAS_1998_284404.xml delete mode 100644 tests/suites/apiso/data/T_ortho_RAS_1998_288395.xml delete mode 100644 tests/suites/apiso/data/T_ortho_RAS_1998_288398.xml delete mode 100644 tests/suites/apiso/data/T_ortho_RAS_1998_288401.xml delete mode 100644 tests/suites/apiso/data/T_ortho_RAS_1998_288404.xml delete mode 100644 tests/suites/apiso/data/T_pmoed_DTM_1996_276395.xml delete mode 100644 tests/suites/apiso/data/T_pmoed_DTM_1996_276398.xml delete mode 100644 tests/suites/apiso/data/T_pmoed_DTM_1996_276401.xml delete mode 100644 tests/suites/apiso/data/T_pmoed_DTM_1996_276404.xml delete mode 100644 tests/suites/apiso/data/T_pmoed_DTM_1996_280395.xml delete mode 100644 tests/suites/apiso/data/pacioos-NS06agg.xml delete mode 100644 tests/suites/apiso/data/test.xml delete mode 100644 tests/suites/apiso/default.cfg delete mode 100644 tests/suites/apiso/post/DescribeRecord.xml delete mode 100644 tests/suites/apiso/post/GetCapabilities.xml delete mode 100644 tests/suites/apiso/post/GetDomain-property.xml delete mode 100644 tests/suites/apiso/post/GetRecordById-brief.xml delete mode 100644 tests/suites/apiso/post/GetRecordById-full-dc.xml delete mode 100644 tests/suites/apiso/post/GetRecordById-full.xml delete mode 100644 tests/suites/apiso/post/GetRecordById-srv-brief.xml delete mode 100644 tests/suites/apiso/post/GetRecords-all-csw-output.xml delete mode 100644 tests/suites/apiso/post/GetRecords-all.xml delete mode 100644 tests/suites/apiso/post/GetRecords-cql-title.xml delete mode 100644 tests/suites/apiso/post/GetRecords-elementname.xml delete mode 100644 tests/suites/apiso/post/GetRecords-filter-and-nested-spatial-or-dateline.xml delete mode 100644 tests/suites/apiso/post/GetRecords-filter-anytext.xml delete mode 100644 tests/suites/apiso/post/GetRecords-filter-bbox-csw-output.xml delete mode 100644 tests/suites/apiso/post/GetRecords-filter-bbox.xml delete mode 100644 tests/suites/apiso/post/GetRecords-filter-servicetype.xml delete mode 100644 tests/suites/atom/default.cfg delete mode 100644 tests/suites/atom/get/requests.txt delete mode 100644 tests/suites/atom/post/DescribeRecord.xml delete mode 100644 tests/suites/atom/post/GetCapabilities.xml delete mode 100644 tests/suites/atom/post/GetRecords-filter-bbox.xml delete mode 100644 tests/suites/cite/data/README.txt delete mode 100644 tests/suites/cite/data/Record_19887a8a-f6b0-4a63-ae56-7fba0e17801f.xml delete mode 100644 tests/suites/cite/data/Record_1ef30a8b-876d-4828-9246-c37ab4510bbd.xml delete mode 100644 tests/suites/cite/data/Record_66ae76b7-54ba-489b-a582-0f0633d96493.xml delete mode 100644 tests/suites/cite/data/Record_6a3de50b-fa66-4b58-a0e6-ca146fdd18d4.xml delete mode 100644 tests/suites/cite/data/Record_784e2afd-a9fd-44a6-9a92-a3848371c8ec.xml delete mode 100644 tests/suites/cite/data/Record_829babb0-b2f1-49e1-8cd5-7b489fe71a1e.xml delete mode 100644 tests/suites/cite/data/Record_88247b56-4cbc-4df9-9860-db3f8042e357.xml delete mode 100644 tests/suites/cite/data/Record_94bc9c83-97f6-4b40-9eb8-a8e8787a5c63.xml delete mode 100644 tests/suites/cite/data/Record_9a669547-b69b-469f-a11f-2d875366bbdc.xml delete mode 100644 tests/suites/cite/data/Record_a06af396-3105-442d-8b40-22b57a90d2f2.xml delete mode 100644 tests/suites/cite/data/Record_ab42a8c4-95e8-4630-bf79-33e59241605a.xml delete mode 100644 tests/suites/cite/data/Record_e9330592-0932-474b-be34-c3a3bb67c7db.xml delete mode 100644 tests/suites/cite/data/cite.db delete mode 100644 tests/suites/cite/default.cfg delete mode 100644 tests/suites/cite/get/requests.txt delete mode 100644 tests/suites/cite/post/0c976d98-c896-4b10-b1fe-a22ef50434e7.xml delete mode 100644 tests/suites/cite/post/19d2a6ed-be28-4866-ae15-e3bb634486cb.xml delete mode 100644 tests/suites/cite/post/1ab55aa3-6685-4595-8ecd-45987a7b8b59.xml delete mode 100644 tests/suites/cite/post/1c958b7a-ca09-4c38-98bd-ef1d1d28cc14.xml delete mode 100644 tests/suites/cite/post/1c97fc1a-61cd-4c1d-8054-933e17a6c5ee.xml delete mode 100644 tests/suites/cite/post/2102a460-5d62-465f-9668-d70b3faafbfa.xml delete mode 100644 tests/suites/cite/post/225f455a-0035-486b-a94e-fee7ae881b2b.xml delete mode 100644 tests/suites/cite/post/2d53ffea-60e4-4652-abf5-36eb23042fd5.xml delete mode 100644 tests/suites/cite/post/34a019a9-1581-42cb-9827-fbfdda2773b7.xml delete mode 100644 tests/suites/cite/post/3e76fd38-e035-41c9-83dc-61356f680c97.xml delete mode 100644 tests/suites/cite/post/418a6fb0-a89c-4a94-afc9-3f8168eb2980.xml delete mode 100644 tests/suites/cite/post/420b745e-0c4b-404e-9f2d-61fa580ff05a.xml delete mode 100644 tests/suites/cite/post/4735d649-a2b1-42fd-a101-14e1d7e4607f.xml delete mode 100644 tests/suites/cite/post/5c5861bc-f742-40a5-9998-5342615d674b.xml delete mode 100644 tests/suites/cite/post/6e736fd0-c266-4852-9eb3-0656f5d0f5c4.xml delete mode 100644 tests/suites/cite/post/73f1551c-e269-4ef9-9dae-e535b5eebfc7.xml delete mode 100644 tests/suites/cite/post/78297c88-4850-4927-adc6-511cd9a3d539.xml delete mode 100644 tests/suites/cite/post/7c89cdf5-0def-4cfb-8c55-2b8ffea5d92f.xml delete mode 100644 tests/suites/cite/post/7e2cd105-daec-4d25-bc8e-d49d21364912.xml delete mode 100644 tests/suites/cite/post/87f2f670-9cd6-4907-b82c-1b46a7dd2a78.xml delete mode 100644 tests/suites/cite/post/88b4e1ba-3bd4-4cbe-81e5-e004056d6ca3.xml delete mode 100644 tests/suites/cite/post/898cd63b-2585-4ec0-8720-d554bd324174.xml delete mode 100644 tests/suites/cite/post/8fb13dc3-5818-45e2-9e29-46abc16e7d38.xml delete mode 100644 tests/suites/cite/post/928c1896-52d4-4ac7-9832-f98e3eb65f02.xml delete mode 100644 tests/suites/cite/post/93bdbb9d-2734-4f01-92fb-48634cca41de.xml delete mode 100644 tests/suites/cite/post/948b39d5-bb4f-45b8-a8f2-4ff9501aaedd.xml delete mode 100644 tests/suites/cite/post/9fd64fcc-f69c-4626-b72e-5c7776a29aa9.xml delete mode 100644 tests/suites/cite/post/a06d04ab-e0d0-4a86-bfe8-71460f41fe37.xml delete mode 100644 tests/suites/cite/post/ad61686c-d304-42d1-b845-8c1f3070c83e.xml delete mode 100644 tests/suites/cite/post/af39c020-7b1d-429c-b474-f45c3164cb79.xml delete mode 100644 tests/suites/cite/post/b90e2de6-3d25-4298-a13e-dc9492a8fc73.xml delete mode 100644 tests/suites/cite/post/ba9b0107-dcee-46ef-823a-a2e25a911a96.xml delete mode 100644 tests/suites/cite/post/bb66ebc5-7121-48b5-9f53-b56537d9561b.xml delete mode 100644 tests/suites/cite/post/c02d1c85-df9f-45ee-bea7-345c35e02a98.xml delete mode 100644 tests/suites/cite/post/c311a342-72e3-4983-be39-868e6ed9740f.xml delete mode 100644 tests/suites/cite/post/c38916c2-4bc6-446d-b7aa-ab006d6ba31c.xml delete mode 100644 tests/suites/cite/post/c8588f47-8e65-45f5-ad34-ff4524cad84d.xml delete mode 100644 tests/suites/cite/post/da228d4c-e1be-43d7-9ccb-c3f27ee32541.xml delete mode 100644 tests/suites/cite/post/dc92c2c4-87d8-4a13-964e-ff9b0e0c27b3.xml delete mode 100644 tests/suites/cite/post/dcb13791-379e-4739-bcd4-dbaa69f0efdb.xml delete mode 100644 tests/suites/cite/post/e308f030-c097-4036-a838-44bad74c9ef7.xml delete mode 100644 tests/suites/cite/post/e6e9efb2-e2b7-4b0a-a3a2-7deea3f9b8e2.xml delete mode 100644 tests/suites/cite/post/f7976c55-a156-4421-8199-bc0487da4b0f.xml delete mode 100644 tests/suites/cite/post/f7d79701-f10b-4087-a33c-f62df0a04fd1.xml delete mode 100644 tests/suites/cite/post/fc1bc094-88f1-4851-bc2b-dfc56be9f3c7.xml delete mode 100644 tests/suites/cite/post/fe20960f-a26c-4f13-852d-470a0d3233f9.xml delete mode 100644 tests/suites/csw30/default.cfg delete mode 100644 tests/suites/csw30/get/requests.txt delete mode 100644 tests/suites/csw30/post/Exception-GetDomain-parametername-bad.xml delete mode 100644 tests/suites/csw30/post/Exception-GetDomain-valuereference-bad.xml delete mode 100644 tests/suites/csw30/post/Exception-GetRecordById-404.xml delete mode 100644 tests/suites/csw30/post/Exception-GetRecordById-bad-esn.xml delete mode 100644 tests/suites/csw30/post/Exception-bad-xml.xml delete mode 100644 tests/suites/csw30/post/Exception-not-xml.xml delete mode 100644 tests/suites/csw30/post/GetCapabilities.xml delete mode 100644 tests/suites/csw30/post/GetDomain-parametername.xml delete mode 100644 tests/suites/csw30/post/GetDomain-valuereference.xml delete mode 100644 tests/suites/csw30/post/GetRecordById-dc-full.xml delete mode 100644 tests/suites/csw30/post/GetRecordById-dc.xml delete mode 100644 tests/suites/default/default.cfg delete mode 100644 tests/suites/default/get/requests.txt delete mode 100644 tests/suites/default/post/DescribeRecord-json.xml delete mode 100644 tests/suites/default/post/DescribeRecord.xml delete mode 100644 tests/suites/default/post/Exception-GetRecords-badsrsname.xml delete mode 100644 tests/suites/default/post/Exception-GetRecords-elementname.xml delete mode 100644 tests/suites/default/post/Exception-GetRecords-invalid-xml.xml delete mode 100644 tests/suites/default/post/GetCapabilities-SOAP.xml delete mode 100644 tests/suites/default/post/GetCapabilities-sections.xml delete mode 100644 tests/suites/default/post/GetCapabilities-updatesequence.xml delete mode 100644 tests/suites/default/post/GetCapabilities.xml delete mode 100644 tests/suites/default/post/GetDomain-parameter.xml delete mode 100644 tests/suites/default/post/GetDomain-property.xml delete mode 100644 tests/suites/default/post/GetRecordById-json.xml delete mode 100644 tests/suites/default/post/GetRecordById.xml delete mode 100644 tests/suites/default/post/GetRecords-all-json.xml delete mode 100644 tests/suites/default/post/GetRecords-all-resulttype-hits.xml delete mode 100644 tests/suites/default/post/GetRecords-all-resulttype-validate.xml delete mode 100644 tests/suites/default/post/GetRecords-all-sortby-bbox.xml delete mode 100644 tests/suites/default/post/GetRecords-all.xml delete mode 100644 tests/suites/default/post/GetRecords-bbox-filter-crs84.xml delete mode 100644 tests/suites/default/post/GetRecords-cql-title-and-abstract.xml delete mode 100644 tests/suites/default/post/GetRecords-cql-title.xml delete mode 100644 tests/suites/default/post/GetRecords-distributedsearch.xml delete mode 100644 tests/suites/default/post/GetRecords-elementname.xml delete mode 100644 tests/suites/default/post/GetRecords-end.xml delete mode 100644 tests/suites/default/post/GetRecords-filter-and-bbox-freetext.xml delete mode 100644 tests/suites/default/post/GetRecords-filter-and-nested-or.xml delete mode 100644 tests/suites/default/post/GetRecords-filter-and-nested-or2.xml delete mode 100644 tests/suites/default/post/GetRecords-filter-anytext-and-not.xml delete mode 100644 tests/suites/default/post/GetRecords-filter-anytext-equal.xml delete mode 100644 tests/suites/default/post/GetRecords-filter-anytext.xml delete mode 100644 tests/suites/default/post/GetRecords-filter-bbox-reproject.xml delete mode 100644 tests/suites/default/post/GetRecords-filter-bbox-sortby.xml delete mode 100644 tests/suites/default/post/GetRecords-filter-bbox.xml delete mode 100644 tests/suites/default/post/GetRecords-filter-between.xml delete mode 100644 tests/suites/default/post/GetRecords-filter-function-bad.xml delete mode 100644 tests/suites/default/post/GetRecords-filter-function.xml delete mode 100644 tests/suites/default/post/GetRecords-filter-not-bbox.xml delete mode 100644 tests/suites/default/post/GetRecords-filter-or-bbox-freetext.xml delete mode 100644 tests/suites/default/post/GetRecords-filter-or-nested-and.xml delete mode 100644 tests/suites/default/post/GetRecords-filter-or-title-abstract.xml delete mode 100644 tests/suites/default/post/GetRecords-maxrecords.xml delete mode 100644 tests/suites/default/post/GetRecords-requestid.xml delete mode 100644 tests/suites/default/post/Harvest-default.xml delete mode 100644 tests/suites/default/post/Harvest-response-handler.xml delete mode 100644 tests/suites/default/post/Transaction-delete.xml delete mode 100644 tests/suites/default/post/Transaction-insert.xml delete mode 100644 tests/suites/default/post/Transaction-update-full.xml delete mode 100644 tests/suites/default/post/Transaction-update-recordproperty.xml delete mode 100644 tests/suites/dif/default.cfg delete mode 100644 tests/suites/dif/post/DescribeRecord.xml delete mode 100644 tests/suites/dif/post/GetCapabilities.xml delete mode 100644 tests/suites/dif/post/GetRecords-filter-bbox.xml delete mode 100644 tests/suites/ebrim/default.cfg delete mode 100644 tests/suites/ebrim/post/DescribeRecord.xml delete mode 100644 tests/suites/ebrim/post/GetCapabilities.xml delete mode 100644 tests/suites/ebrim/post/GetRecords-filter-bbox-full.xml delete mode 100644 tests/suites/ebrim/post/GetRecords-filter-bbox.xml delete mode 100644 tests/suites/fgdc/default.cfg delete mode 100644 tests/suites/fgdc/post/DescribeRecord.xml delete mode 100644 tests/suites/fgdc/post/GetCapabilities.xml delete mode 100644 tests/suites/fgdc/post/GetRecords-filter-bbox.xml delete mode 100644 tests/suites/gm03/default.cfg delete mode 100644 tests/suites/gm03/post/GetCapabilities.xml delete mode 100644 tests/suites/gm03/post/GetRecords-filter-bbox.xml delete mode 100644 tests/suites/harvesting/data/.gitkeep delete mode 100644 tests/suites/harvesting/default.cfg delete mode 100644 tests/suites/harvesting/get/requests.txt delete mode 100644 tests/suites/harvesting/post/Clear-000-delete-all.xml delete mode 100644 tests/suites/harvesting/post/Exception-Havest-csw-404.xml delete mode 100644 tests/suites/harvesting/post/GetCapabilities.xml delete mode 100644 tests/suites/harvesting/post/GetDomain-parameter.xml delete mode 100644 tests/suites/harvesting/post/Harvest-csw-iso.xml delete mode 100644 tests/suites/harvesting/post/Harvest-csw-run1.xml delete mode 100644 tests/suites/harvesting/post/Harvest-csw-run2.xml delete mode 100644 tests/suites/harvesting/post/Harvest-dc.xml delete mode 100644 tests/suites/harvesting/post/Harvest-fgdc.xml delete mode 100644 tests/suites/harvesting/post/Harvest-iso.xml delete mode 100644 tests/suites/harvesting/post/Harvest-rdf.xml delete mode 100644 tests/suites/harvesting/post/Harvest-sos100.xml delete mode 100644 tests/suites/harvesting/post/Harvest-sos200.xml delete mode 100644 tests/suites/harvesting/post/Harvest-waf.xml delete mode 100644 tests/suites/harvesting/post/Harvest-wcs.xml delete mode 100644 tests/suites/harvesting/post/Harvest-wfs110.xml delete mode 100644 tests/suites/harvesting/post/Harvest-wfs200.xml delete mode 100644 tests/suites/harvesting/post/Harvest-wms-run1.xml delete mode 100644 tests/suites/harvesting/post/Harvest-wms-run2.xml delete mode 100644 tests/suites/harvesting/post/Harvest-wmts.xml delete mode 100644 tests/suites/harvesting/post/Harvest-wps.xml delete mode 100644 tests/suites/harvesting/post/Harvest-zzz-post-GetRecords-filter-ows-dc.xml delete mode 100644 tests/suites/harvesting/post/Harvest-zzz-post-GetRecords-filter-sos-abstract-dc.xml delete mode 100644 tests/suites/harvesting/post/Harvest-zzz-post-GetRecords-filter-sos-dc.xml delete mode 100644 tests/suites/harvesting/post/Harvest-zzz-post-GetRecords-filter-sos-iso.xml delete mode 100644 tests/suites/harvesting/post/Harvest-zzz-post-GetRecords-filter-wfs-iso.xml delete mode 100644 tests/suites/harvesting/post/Harvest-zzz-post-GetRecords-filter-wms-dc.xml delete mode 100644 tests/suites/harvesting/post/Harvest-zzz-post-GetRecords-filter-wms-iso.xml delete mode 100644 tests/suites/harvesting/post/Harvest-zzz-post-GetRecords-filter-wms-layer.xml delete mode 100644 tests/suites/harvesting/post/Harvest-zzz-post-GetRecords-filter-wps-process.xml delete mode 100644 tests/suites/harvesting/post/Transaction-000-delete-all.xml delete mode 100644 tests/suites/manager/data/.gitkeep delete mode 100644 tests/suites/manager/default.cfg delete mode 100644 tests/suites/manager/post/Clear-000-delete-all.xml delete mode 100644 tests/suites/manager/post/GetCapabilities.xml delete mode 100644 tests/suites/manager/post/GetDomain-parameter.xml delete mode 100644 tests/suites/manager/post/Transaction-000-delete-all.xml delete mode 100644 tests/suites/manager/post/Transaction-dc-01-insert.xml delete mode 100644 tests/suites/manager/post/Transaction-dc-02-update-full.xml delete mode 100644 tests/suites/manager/post/Transaction-fgdc-01-insert.xml delete mode 100644 tests/suites/manager/post/Transaction-fgdc-02-update-recprop.xml delete mode 100644 tests/suites/manager/post/Transaction-fgdc-03-delete-all.xml delete mode 100644 tests/suites/manager/post/Transaction-iso-00-delete-all.xml delete mode 100644 tests/suites/manager/post/Transaction-iso-01-insert.xml delete mode 100644 tests/suites/manager/post/Transaction-iso-02-update-full.xml delete mode 100644 tests/suites/manager/post/Transaction-iso-03-update-recprop.xml delete mode 100644 tests/suites/manager/post/Transaction-iso-04-update-recprop-no-matches.xml delete mode 100644 tests/suites/manager/post/Transaction-iso-05-delete.xml delete mode 100644 tests/suites/manager/post/Transaction-xxx-delete-all.xml delete mode 100644 tests/suites/oaipmh/default.cfg delete mode 100644 tests/suites/oaipmh/get/requests.txt delete mode 100644 tests/suites/repofilter/default.cfg delete mode 100644 tests/suites/repofilter/post/GetRecordById-masked.xml delete mode 100644 tests/suites/repofilter/post/GetRecords-all.xml delete mode 100644 tests/suites/sru/default.cfg delete mode 100644 tests/suites/sru/get/requests.txt delete mode 100644 tests/suites/utf-8/default.cfg delete mode 100644 tests/suites/utf-8/post/GetCapabilities.xml diff --git a/tests/expected/suites_apiso-inspire_get_GetCapabilities-lang.xml b/tests/expected/suites_apiso-inspire_get_GetCapabilities-lang.xml deleted file mode 100644 index 0434106ff..000000000 --- a/tests/expected/suites_apiso-inspire_get_GetCapabilities-lang.xml +++ /dev/null @@ -1,377 +0,0 @@ - - - - - pycsw Geospatial Catalogue - pycsw is an OGC CSW server implementation written in Python - - catalogue - discovery - theme - - CSW - 2.0.2 - 3.0.0 - None - None - - - pycsw - - - Kralidis, Tom - Senior Systems Scientist - - - +01-416-xxx-xxxx - +01-416-xxx-xxxx - - - TBA - Toronto - Ontario - M9C 3Z9 - Canada - tomkralidis@gmail.com - - - 0800h - 1600h EST - During hours of service. Off on weekends. - - pointOfContact - - - - - - - - - - - - Filter_Capabilities - OperationsMetadata - ServiceIdentification - ServiceProvider - - - - - - - - - - - application/json - application/xml - - - http://www.w3.org/2001/XMLSchema - http://www.w3.org/TR/xmlschema-1/ - http://www.w3.org/XML/Schema - - - csw:Record - gmd:MD_Metadata - - - - - - - - - - - DescribeRecord.outputFormat - DescribeRecord.schemaLanguage - DescribeRecord.typeName - GetCapabilities.sections - GetRecordById.ElementSetName - GetRecordById.outputFormat - GetRecordById.outputSchema - GetRecords.CONSTRAINTLANGUAGE - GetRecords.ElementSetName - GetRecords.outputFormat - GetRecords.outputSchema - GetRecords.resultType - GetRecords.typeNames - - - - - - - - - - - CQL_TEXT - FILTER - - - brief - full - summary - - - application/json - application/xml - - - http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ - http://www.interlis.ch/INTERLIS2.3 - http://www.isotc211.org/2005/gmd - http://www.opengis.net/cat/csw/2.0.2 - http://www.opengis.net/cat/csw/csdgm - http://www.w3.org/2005/Atom - - - hits - results - validate - - - csw:Record - gmd:MD_Metadata - - - apiso:AccessConstraints - apiso:Classification - apiso:ConditionApplyingToAccessAndUse - apiso:Contributor - apiso:Creator - apiso:Degree - apiso:Lineage - apiso:OtherConstraints - apiso:Publisher - apiso:Relation - apiso:ResponsiblePartyRole - apiso:SpecificationDate - apiso:SpecificationDateType - apiso:SpecificationTitle - - - csw:AnyText - dc:contributor - dc:creator - dc:date - dc:format - dc:identifier - dc:language - dc:publisher - dc:relation - dc:rights - dc:source - dc:subject - dc:title - dc:type - dct:abstract - dct:alternative - dct:modified - dct:spatial - ows:BoundingBox - - - apiso:Abstract - apiso:AlternateTitle - apiso:AnyText - apiso:BoundingBox - apiso:CRS - apiso:CouplingType - apiso:CreationDate - apiso:Denominator - apiso:DistanceUOM - apiso:DistanceValue - apiso:Format - apiso:GeographicDescriptionCode - apiso:HasSecurityConstraints - apiso:Identifier - apiso:KeywordType - apiso:Language - apiso:Modified - apiso:OperatesOn - apiso:OperatesOnIdentifier - apiso:OperatesOnName - apiso:Operation - apiso:OrganisationName - apiso:ParentIdentifier - apiso:PublicationDate - apiso:ResourceLanguage - apiso:RevisionDate - apiso:ServiceType - apiso:ServiceTypeVersion - apiso:Subject - apiso:TempExtent_begin - apiso:TempExtent_end - apiso:Title - apiso:TopicCategory - apiso:Type - - - - - - - - - - - brief - full - summary - - - application/json - application/xml - - - http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ - http://www.interlis.ch/INTERLIS2.3 - http://www.isotc211.org/2005/gmd - http://www.opengis.net/cat/csw/2.0.2 - http://www.opengis.net/cat/csw/csdgm - http://www.w3.org/2005/Atom - - - - - - - - - - - CSW - - - 2.0.2 - 3.0.0 - - - http://geo.data.gov/geoportal/csw/discovery - - - 10 - - - XML - SOAP - - - allowed - - - - http://localhost/pycsw/csw.py?config=tests/suites/apiso-inspire/default.cfg&service=CSW&version=2.0.2&request=GetCapabilities - application/xml - - service - - - - 2011-02-01 - 2011-03-30 - - - - - - COMMISSION REGULATION (EU) No 1089/2010 of 23 November 2010 implementing Directive 2007/2/EC of the European Parliament and of the Council as regards interoperability of spatial data sets and services - 2010-12-08 - OJ:L:2010:323:0011:0102:EN:PDF - - http://eur-lex.europa.eu/LexUriServ/LexUriServ.do?uri=OJ:L:2010:323:0011:0102:EN:PDF - application/pdf - - - notEvaluated - - - National Technical University of Athens - tzotsos@gmail.com - - 2011-03-29 - discovery - - infoCatalogueService - - - - GEMET - INSPIRE themes - 2008-06-01 - - Utility and governmental services - - - - eng - - - eng - - - gre - - - - eng - - - - - - - gml:Point - gml:LineString - gml:Polygon - gml:Envelope - - - - - - - - - - - - - - - - - - - Between - EqualTo - GreaterThan - GreaterThanEqualTo - LessThan - LessThanEqualTo - Like - NotEqualTo - NullCheck - - - - - length - lower - ltrim - rtrim - trim - upper - - - - - - - - - - diff --git a/tests/expected/suites_apiso-inspire_get_GetCapabilities.xml b/tests/expected/suites_apiso-inspire_get_GetCapabilities.xml deleted file mode 100644 index 0434106ff..000000000 --- a/tests/expected/suites_apiso-inspire_get_GetCapabilities.xml +++ /dev/null @@ -1,377 +0,0 @@ - - - - - pycsw Geospatial Catalogue - pycsw is an OGC CSW server implementation written in Python - - catalogue - discovery - theme - - CSW - 2.0.2 - 3.0.0 - None - None - - - pycsw - - - Kralidis, Tom - Senior Systems Scientist - - - +01-416-xxx-xxxx - +01-416-xxx-xxxx - - - TBA - Toronto - Ontario - M9C 3Z9 - Canada - tomkralidis@gmail.com - - - 0800h - 1600h EST - During hours of service. Off on weekends. - - pointOfContact - - - - - - - - - - - - Filter_Capabilities - OperationsMetadata - ServiceIdentification - ServiceProvider - - - - - - - - - - - application/json - application/xml - - - http://www.w3.org/2001/XMLSchema - http://www.w3.org/TR/xmlschema-1/ - http://www.w3.org/XML/Schema - - - csw:Record - gmd:MD_Metadata - - - - - - - - - - - DescribeRecord.outputFormat - DescribeRecord.schemaLanguage - DescribeRecord.typeName - GetCapabilities.sections - GetRecordById.ElementSetName - GetRecordById.outputFormat - GetRecordById.outputSchema - GetRecords.CONSTRAINTLANGUAGE - GetRecords.ElementSetName - GetRecords.outputFormat - GetRecords.outputSchema - GetRecords.resultType - GetRecords.typeNames - - - - - - - - - - - CQL_TEXT - FILTER - - - brief - full - summary - - - application/json - application/xml - - - http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ - http://www.interlis.ch/INTERLIS2.3 - http://www.isotc211.org/2005/gmd - http://www.opengis.net/cat/csw/2.0.2 - http://www.opengis.net/cat/csw/csdgm - http://www.w3.org/2005/Atom - - - hits - results - validate - - - csw:Record - gmd:MD_Metadata - - - apiso:AccessConstraints - apiso:Classification - apiso:ConditionApplyingToAccessAndUse - apiso:Contributor - apiso:Creator - apiso:Degree - apiso:Lineage - apiso:OtherConstraints - apiso:Publisher - apiso:Relation - apiso:ResponsiblePartyRole - apiso:SpecificationDate - apiso:SpecificationDateType - apiso:SpecificationTitle - - - csw:AnyText - dc:contributor - dc:creator - dc:date - dc:format - dc:identifier - dc:language - dc:publisher - dc:relation - dc:rights - dc:source - dc:subject - dc:title - dc:type - dct:abstract - dct:alternative - dct:modified - dct:spatial - ows:BoundingBox - - - apiso:Abstract - apiso:AlternateTitle - apiso:AnyText - apiso:BoundingBox - apiso:CRS - apiso:CouplingType - apiso:CreationDate - apiso:Denominator - apiso:DistanceUOM - apiso:DistanceValue - apiso:Format - apiso:GeographicDescriptionCode - apiso:HasSecurityConstraints - apiso:Identifier - apiso:KeywordType - apiso:Language - apiso:Modified - apiso:OperatesOn - apiso:OperatesOnIdentifier - apiso:OperatesOnName - apiso:Operation - apiso:OrganisationName - apiso:ParentIdentifier - apiso:PublicationDate - apiso:ResourceLanguage - apiso:RevisionDate - apiso:ServiceType - apiso:ServiceTypeVersion - apiso:Subject - apiso:TempExtent_begin - apiso:TempExtent_end - apiso:Title - apiso:TopicCategory - apiso:Type - - - - - - - - - - - brief - full - summary - - - application/json - application/xml - - - http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ - http://www.interlis.ch/INTERLIS2.3 - http://www.isotc211.org/2005/gmd - http://www.opengis.net/cat/csw/2.0.2 - http://www.opengis.net/cat/csw/csdgm - http://www.w3.org/2005/Atom - - - - - - - - - - - CSW - - - 2.0.2 - 3.0.0 - - - http://geo.data.gov/geoportal/csw/discovery - - - 10 - - - XML - SOAP - - - allowed - - - - http://localhost/pycsw/csw.py?config=tests/suites/apiso-inspire/default.cfg&service=CSW&version=2.0.2&request=GetCapabilities - application/xml - - service - - - - 2011-02-01 - 2011-03-30 - - - - - - COMMISSION REGULATION (EU) No 1089/2010 of 23 November 2010 implementing Directive 2007/2/EC of the European Parliament and of the Council as regards interoperability of spatial data sets and services - 2010-12-08 - OJ:L:2010:323:0011:0102:EN:PDF - - http://eur-lex.europa.eu/LexUriServ/LexUriServ.do?uri=OJ:L:2010:323:0011:0102:EN:PDF - application/pdf - - - notEvaluated - - - National Technical University of Athens - tzotsos@gmail.com - - 2011-03-29 - discovery - - infoCatalogueService - - - - GEMET - INSPIRE themes - 2008-06-01 - - Utility and governmental services - - - - eng - - - eng - - - gre - - - - eng - - - - - - - gml:Point - gml:LineString - gml:Polygon - gml:Envelope - - - - - - - - - - - - - - - - - - - Between - EqualTo - GreaterThan - GreaterThanEqualTo - LessThan - LessThanEqualTo - Like - NotEqualTo - NullCheck - - - - - length - lower - ltrim - rtrim - trim - upper - - - - - - - - - - diff --git a/tests/expected/suites_apiso_post_DescribeRecord.xml b/tests/expected/suites_apiso_post_DescribeRecord.xml deleted file mode 100644 index bda19c0ac..000000000 --- a/tests/expected/suites_apiso_post_DescribeRecord.xml +++ /dev/null @@ -1,551 +0,0 @@ - - - - - - - - This file was generated from ISO TC/211 UML class diagrams == 01-26-2005 12:40:05 ====== - - - - - - - - - - - - Basic information about data - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Graphic that provides an illustration of the dataset (should include a legend for the graphic) - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - See 19119 for further info - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Brief description of ways in which the dataset is currently used. - - - - - - - - - - - - - - - - - - - - - - - - - - Keywords, their type and reference source - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Encapsulates the dataset aggregation information - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - High-level geospatial data thematic classification to assist in the grouping and search of available geospatial datasets - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - This file was generated from ISO TC/211 UML class diagrams == 10-13-2006 11:14:04 ====== - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/tests/expected/suites_apiso_post_GetCapabilities.xml b/tests/expected/suites_apiso_post_GetCapabilities.xml deleted file mode 100644 index fdfc1b626..000000000 --- a/tests/expected/suites_apiso_post_GetCapabilities.xml +++ /dev/null @@ -1,320 +0,0 @@ - - - - - pycsw Geospatial Catalogue - pycsw is an OGC CSW server implementation written in Python - - catalogue - discovery - theme - - CSW - 2.0.2 - 3.0.0 - None - None - - - pycsw - - - Kralidis, Tom - Senior Systems Scientist - - - +01-416-xxx-xxxx - +01-416-xxx-xxxx - - - TBA - Toronto - Ontario - M9C 3Z9 - Canada - tomkralidis@gmail.com - - - 0800h - 1600h EST - During hours of service. Off on weekends. - - pointOfContact - - - - - - - - - - - - Filter_Capabilities - OperationsMetadata - ServiceIdentification - ServiceProvider - - - - - - - - - - - application/json - application/xml - - - http://www.w3.org/2001/XMLSchema - http://www.w3.org/TR/xmlschema-1/ - http://www.w3.org/XML/Schema - - - csw:Record - gmd:MD_Metadata - - - - - - - - - - - DescribeRecord.outputFormat - DescribeRecord.schemaLanguage - DescribeRecord.typeName - GetCapabilities.sections - GetRecordById.ElementSetName - GetRecordById.outputFormat - GetRecordById.outputSchema - GetRecords.CONSTRAINTLANGUAGE - GetRecords.ElementSetName - GetRecords.outputFormat - GetRecords.outputSchema - GetRecords.resultType - GetRecords.typeNames - - - - - - - - - - - CQL_TEXT - FILTER - - - brief - full - summary - - - application/json - application/xml - - - http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ - http://www.interlis.ch/INTERLIS2.3 - http://www.isotc211.org/2005/gmd - http://www.opengis.net/cat/csw/2.0.2 - http://www.opengis.net/cat/csw/csdgm - http://www.w3.org/2005/Atom - - - hits - results - validate - - - csw:Record - gmd:MD_Metadata - - - apiso:AccessConstraints - apiso:Classification - apiso:ConditionApplyingToAccessAndUse - apiso:Contributor - apiso:Creator - apiso:Degree - apiso:Lineage - apiso:OtherConstraints - apiso:Publisher - apiso:Relation - apiso:ResponsiblePartyRole - apiso:SpecificationDate - apiso:SpecificationDateType - apiso:SpecificationTitle - - - csw:AnyText - dc:contributor - dc:creator - dc:date - dc:format - dc:identifier - dc:language - dc:publisher - dc:relation - dc:rights - dc:source - dc:subject - dc:title - dc:type - dct:abstract - dct:alternative - dct:modified - dct:spatial - ows:BoundingBox - - - apiso:Abstract - apiso:AlternateTitle - apiso:AnyText - apiso:BoundingBox - apiso:CRS - apiso:CouplingType - apiso:CreationDate - apiso:Denominator - apiso:DistanceUOM - apiso:DistanceValue - apiso:Format - apiso:GeographicDescriptionCode - apiso:HasSecurityConstraints - apiso:Identifier - apiso:KeywordType - apiso:Language - apiso:Modified - apiso:OperatesOn - apiso:OperatesOnIdentifier - apiso:OperatesOnName - apiso:Operation - apiso:OrganisationName - apiso:ParentIdentifier - apiso:PublicationDate - apiso:ResourceLanguage - apiso:RevisionDate - apiso:ServiceType - apiso:ServiceTypeVersion - apiso:Subject - apiso:TempExtent_begin - apiso:TempExtent_end - apiso:Title - apiso:TopicCategory - apiso:Type - - - - - - - - - - - brief - full - summary - - - application/json - application/xml - - - http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ - http://www.interlis.ch/INTERLIS2.3 - http://www.isotc211.org/2005/gmd - http://www.opengis.net/cat/csw/2.0.2 - http://www.opengis.net/cat/csw/csdgm - http://www.w3.org/2005/Atom - - - - - - - - - - - CSW - - - 2.0.2 - 3.0.0 - - - http://geo.data.gov/geoportal/csw/discovery - - - 10 - - - XML - SOAP - - - allowed - - - - - - gml:Point - gml:LineString - gml:Polygon - gml:Envelope - - - - - - - - - - - - - - - - - - - Between - EqualTo - GreaterThan - GreaterThanEqualTo - LessThan - LessThanEqualTo - Like - NotEqualTo - NullCheck - - - - - length - lower - ltrim - rtrim - trim - upper - - - - - - - - - - diff --git a/tests/expected/suites_apiso_post_GetDomain-property.xml b/tests/expected/suites_apiso_post_GetDomain-property.xml deleted file mode 100644 index 17c50d767..000000000 --- a/tests/expected/suites_apiso_post_GetDomain-property.xml +++ /dev/null @@ -1,12 +0,0 @@ - - - - - apiso:TopicCategory - - climatologyMeteorologyAtmosphere - elevation - geoscientificInformation - - - diff --git a/tests/expected/suites_apiso_post_GetRecordById-brief.xml b/tests/expected/suites_apiso_post_GetRecordById-brief.xml deleted file mode 100644 index ea58eb97e..000000000 --- a/tests/expected/suites_apiso_post_GetRecordById-brief.xml +++ /dev/null @@ -1,77 +0,0 @@ - - - - - - de53e931-778a-4792-94ad-9fe507aca483 - - - dataset - - - - - - - Ortho - - - - - 2000-01-01 - - - publication - - - - - - - - - - - 21.48 - - - 21.53 - - - 39.76 - - - 39.79 - - - - - - - - - - - - - - - http://www.ypaat.gr - - - None - - - None - - - None - - - - - - - - - diff --git a/tests/expected/suites_apiso_post_GetRecordById-full-dc.xml b/tests/expected/suites_apiso_post_GetRecordById-full-dc.xml deleted file mode 100644 index 155b3491d..000000000 --- a/tests/expected/suites_apiso_post_GetRecordById-full-dc.xml +++ /dev/null @@ -1,45 +0,0 @@ - - - - - NS06agg - PacIOOS Nearshore Sensor 06: Pohnpei, Micronesia - dataset - Oceans > Ocean Chemistry > Chlorophyll - Oceans > Ocean Optics > Turbidity - Oceans > Ocean Temperature > Water Temperature - Oceans > Salinity/Density > Conductivity - Oceans > Salinity/Density > Salinity - Oceans > Water Quality - Ocean &gt; Pacific Ocean &gt; Western Pacific Ocean &gt; Micronesia &gt; Federated States of Micronesia - Ocean &gt; Pacific Ocean &gt; United States of America &gt; Territories - Federated States of Micronesia &gt; Pohnpei &gt; Pohnpei Lagoon - Pacific Islands Ocean Observing System (PacIOOS) - Pacific Islands Ocean Observing System (PacIOOS) - sea_water_temperature - sea_water_electrical_conductivity - sea_water_turbidity - mass_concentration_of_chlorophyll_in_sea_water - sea_water_salinity - depth - latitude - longitude - time - climatologyMeteorologyAtmosphere - http://oos.soest.hawaii.edu/thredds/idd/nss_pacioos.html?dataset=NS06agg - http://oos.soest.hawaii.edu/thredds/dodsC/pacioos/nss/ns06agg.html - http://pacioos.org/voyager/index.html?b=6.874279%2C158.077126%2C7.050468%2C158.369808&tz=pont&o=qual:2::p0NS06p1 - http://oos.soest.hawaii.edu/dchart/index.html?dsetid=54cd0688ada08d86748b9c5762509f - http://oos.soest.hawaii.edu/erddap/tabledap/nss06_agg.graph?time%2Ctemperature&.draw=lines - http://pacioos.org/focus/waterquality/wq_fsm.php - http://oos.soest.hawaii.edu/thredds/dodsC/pacioos/nss/ns06agg - - 2014-04-16 - The nearshore sensors are part of the Pacific Islands Ocean Observing System (PacIOOS) and are designed to measure a variety of ocean parameters at fixed point locations. NS06 is located at the dock in Pohnpei lagoon and is mounted to the bottom in about 1 meter of water. The instrument is a Sea-Bird Electronics model 16+ V2 coupled with a WET Labs ECO-FLNTUS combination sensor. - 2014-04-16 - - 6.96 158.22 - 6.96 158.22 - - - diff --git a/tests/expected/suites_apiso_post_GetRecordById-full.xml b/tests/expected/suites_apiso_post_GetRecordById-full.xml deleted file mode 100644 index 6b88e5eef..000000000 --- a/tests/expected/suites_apiso_post_GetRecordById-full.xml +++ /dev/null @@ -1,40 +0,0 @@ - - - - - de53e931-778a-4792-94ad-9fe507aca483 - eng - dataset - YPAATypaat@ypaat.grpointOfContact - 2009-10-07 -ISO19115 -2003/Cor.1:2006 - - - - - Ortho - 2000-01-01publication - de53e931-778a-4792-94ad-9fe507aca483 - T_ortho_RAS_1998_284404.tif - - - Ortho -YPAATypaat@ypaat.growner - OrthoimageryGEMET - INSPIRE themes, version 1.02008-06-01publication - no conditions apply - otherRestrictionsno limitations - 5000 - eng - geoscientificInformation - 21.47878421.52731739.7600139.790341 - 1997-01-011999-01-01 - - -http://www.ypaat.gr - -dataset -test - - - diff --git a/tests/expected/suites_apiso_post_GetRecordById-srv-brief.xml b/tests/expected/suites_apiso_post_GetRecordById-srv-brief.xml deleted file mode 100644 index 896b014c5..000000000 --- a/tests/expected/suites_apiso_post_GetRecordById-srv-brief.xml +++ /dev/null @@ -1,93 +0,0 @@ - - - - - - 3e9a8c05 - - - service - - - - - - - test Title - - - - - 2011-04-19 - - - creation - - - - - - - view - - - - - - - - Geographic viewer (humanGeographicViewer) - - - administration - - - - - - - - - 19.37 - - - 29.61 - - - 34.8 - - - 41.75 - - - - - - - - - - - - - - - http://aiolos.survey.ntua.gr/geoserver/wms - - - None - - - None - - - None - - - - - - - - - diff --git a/tests/expected/suites_apiso_post_GetRecords-all-csw-output.xml b/tests/expected/suites_apiso_post_GetRecords-all-csw-output.xml deleted file mode 100644 index e428bacf7..000000000 --- a/tests/expected/suites_apiso_post_GetRecords-all-csw-output.xml +++ /dev/null @@ -1,399 +0,0 @@ - - - - - - - -3e9a8c05 - - -eng - - -service - - - - -NTUA - - - - - - -tzotsos@gmail.com - - - - - - -pointOfContact - - - - -2011-04-18 - - -ISO19115 - - -2003/Cor.1:2006 - - - - - - -test Title - - - - -2011-04-19 - - -creation - - - - - - -http://aiolos.survey.ntua.gr - - -ogc - - - - - - -test Abstract - - - - -NTUA - - - - - - -tzotsos@gmail.com - - - - - - -owner - - - - - - -Geographic viewer (humanGeographicViewer) - - - - - - -administration - - - - -GEMET Themes, version 2.3 - - - - -2011-04-18 - - -publication - - - - - - - - - - -Conditions unknown - - - - - - -no limitation - - - - - - - - -19.37 - - -29.61 - - -34.80 - - -41.75 - - - - - - - -2011-04-18 -2011-04-20 - - - - - - - -view - - - - - - - - - - - - - - - - - -http://aiolos.survey.ntua.gr/geoserver/wms - - - - - - - - - - - - -service - - - - - - - - -Conformity_001 - - -INSPIRE - - - - - - - - -Corrigendum to INSPIRE Metadata Regulation published in the Official Journal of the European Union, L 328, page 83 - - - - -2009-12-15 - - -publication - - - - - - -See the referenced specification - - -true - - - - - - - - - - 366f6257-19eb-4f20-ba78-0698ac4aae77 - eng - dataset - YPAATypaat@ypaat.grpointOfContact - 2009-10-09 -ISO19115 -2003/Cor.1:2006 - - - - - Aerial Photos - 2009-10-09creation - 366f6257-19eb-4f20-ba78-0698ac4aae77 - T_aerfo_RAS_1991_GR800P001800000012.tif - - - Aerial Photos -YPAATypaat@ypaat.growner - OrthoimageryGEMET - INSPIRE themes, version 1.02008-06-01publication - no conditions apply - otherRestrictionsno limitations - eng - geoscientificInformation - 20.0024.0038.0040.00 - 2009-10-092009-10-09 - - -http://www.ypaat.gr - -dataset -Conformity_001INSPIREINSPIRE2008-05-15publicationSee the referenced specificationtrue -test - - - - 75a7eb5e-336e-453d-ab06-209b1070d396 - eng - dataset - YPAATypaat@ypaat.grpointOfContact - 2009-10-09 -ISO19115 -2003/Cor.1:2006 - - - - - Aerial Photos - 2009-10-09creation - 75a7eb5e-336e-453d-ab06-209b1070d396 - T_aerfo_RAS_1991_GR800P001800000013.tif - - - Aerial Photos -YPAATypaat@ypaat.growner - OrthoimageryGEMET - INSPIRE themes, version 1.02008-06-01publication - no conditions apply - otherRestrictionsno limitations - eng - geoscientificInformation - 20.0024.0038.0040.00 - 2009-10-092009-10-09 - - -http://www.ypaat.gr - -dataset -Conformity_001INSPIREINSPIRE2008-05-15publicationSee the referenced specificationtrue -test - - - - a7308c0a-b748-48e2-bab7-0a608a51d416 - eng - dataset - YPAATypaat@ypaat.grpointOfContact - 2009-10-09 -ISO19115 -2003/Cor.1:2006 - - - - - Aerial Photos - 2009-10-09creation - a7308c0a-b748-48e2-bab7-0a608a51d416 - T_aerfo_RAS_1991_GR800P001800000014.tif - - - Aerial Photos -YPAATypaat@ypaat.growner - OrthoimageryGEMET - INSPIRE themes, version 1.02008-06-01publication - no conditions apply - otherRestrictionsno limitations - eng - geoscientificInformation - 20.0024.0038.0040.00 - 2009-10-092009-10-09 - - -http://www.ypaat.gr - -dataset -Conformity_001INSPIREINSPIRE2008-05-15publicationSee the referenced specificationtrue -test - - - - 0173e0d7-6ea9-4407-b846-f29d6bfa9903 - eng - dataset - YPAATypaat@ypaat.grpointOfContact - 2009-10-09 -ISO19115 -2003/Cor.1:2006 - - - - - Aerial Photos - 2009-10-09creation - 0173e0d7-6ea9-4407-b846-f29d6bfa9903 - T_aerfo_RAS_1991_GR800P001800000015.tif - - - Aerial Photos -YPAATypaat@ypaat.growner - OrthoimageryGEMET - INSPIRE themes, version 1.02008-06-01publication - no conditions apply - otherRestrictionsno limitations - eng - geoscientificInformation - 20.0024.0038.0040.00 - 2009-10-092009-10-09 - - -http://www.ypaat.gr - -dataset -Conformity_001INSPIREINSPIRE2008-05-15publicationSee the referenced specificationtrue -test - - - - diff --git a/tests/expected/suites_apiso_post_GetRecords-all.xml b/tests/expected/suites_apiso_post_GetRecords-all.xml deleted file mode 100644 index e428bacf7..000000000 --- a/tests/expected/suites_apiso_post_GetRecords-all.xml +++ /dev/null @@ -1,399 +0,0 @@ - - - - - - - -3e9a8c05 - - -eng - - -service - - - - -NTUA - - - - - - -tzotsos@gmail.com - - - - - - -pointOfContact - - - - -2011-04-18 - - -ISO19115 - - -2003/Cor.1:2006 - - - - - - -test Title - - - - -2011-04-19 - - -creation - - - - - - -http://aiolos.survey.ntua.gr - - -ogc - - - - - - -test Abstract - - - - -NTUA - - - - - - -tzotsos@gmail.com - - - - - - -owner - - - - - - -Geographic viewer (humanGeographicViewer) - - - - - - -administration - - - - -GEMET Themes, version 2.3 - - - - -2011-04-18 - - -publication - - - - - - - - - - -Conditions unknown - - - - - - -no limitation - - - - - - - - -19.37 - - -29.61 - - -34.80 - - -41.75 - - - - - - - -2011-04-18 -2011-04-20 - - - - - - - -view - - - - - - - - - - - - - - - - - -http://aiolos.survey.ntua.gr/geoserver/wms - - - - - - - - - - - - -service - - - - - - - - -Conformity_001 - - -INSPIRE - - - - - - - - -Corrigendum to INSPIRE Metadata Regulation published in the Official Journal of the European Union, L 328, page 83 - - - - -2009-12-15 - - -publication - - - - - - -See the referenced specification - - -true - - - - - - - - - - 366f6257-19eb-4f20-ba78-0698ac4aae77 - eng - dataset - YPAATypaat@ypaat.grpointOfContact - 2009-10-09 -ISO19115 -2003/Cor.1:2006 - - - - - Aerial Photos - 2009-10-09creation - 366f6257-19eb-4f20-ba78-0698ac4aae77 - T_aerfo_RAS_1991_GR800P001800000012.tif - - - Aerial Photos -YPAATypaat@ypaat.growner - OrthoimageryGEMET - INSPIRE themes, version 1.02008-06-01publication - no conditions apply - otherRestrictionsno limitations - eng - geoscientificInformation - 20.0024.0038.0040.00 - 2009-10-092009-10-09 - - -http://www.ypaat.gr - -dataset -Conformity_001INSPIREINSPIRE2008-05-15publicationSee the referenced specificationtrue -test - - - - 75a7eb5e-336e-453d-ab06-209b1070d396 - eng - dataset - YPAATypaat@ypaat.grpointOfContact - 2009-10-09 -ISO19115 -2003/Cor.1:2006 - - - - - Aerial Photos - 2009-10-09creation - 75a7eb5e-336e-453d-ab06-209b1070d396 - T_aerfo_RAS_1991_GR800P001800000013.tif - - - Aerial Photos -YPAATypaat@ypaat.growner - OrthoimageryGEMET - INSPIRE themes, version 1.02008-06-01publication - no conditions apply - otherRestrictionsno limitations - eng - geoscientificInformation - 20.0024.0038.0040.00 - 2009-10-092009-10-09 - - -http://www.ypaat.gr - -dataset -Conformity_001INSPIREINSPIRE2008-05-15publicationSee the referenced specificationtrue -test - - - - a7308c0a-b748-48e2-bab7-0a608a51d416 - eng - dataset - YPAATypaat@ypaat.grpointOfContact - 2009-10-09 -ISO19115 -2003/Cor.1:2006 - - - - - Aerial Photos - 2009-10-09creation - a7308c0a-b748-48e2-bab7-0a608a51d416 - T_aerfo_RAS_1991_GR800P001800000014.tif - - - Aerial Photos -YPAATypaat@ypaat.growner - OrthoimageryGEMET - INSPIRE themes, version 1.02008-06-01publication - no conditions apply - otherRestrictionsno limitations - eng - geoscientificInformation - 20.0024.0038.0040.00 - 2009-10-092009-10-09 - - -http://www.ypaat.gr - -dataset -Conformity_001INSPIREINSPIRE2008-05-15publicationSee the referenced specificationtrue -test - - - - 0173e0d7-6ea9-4407-b846-f29d6bfa9903 - eng - dataset - YPAATypaat@ypaat.grpointOfContact - 2009-10-09 -ISO19115 -2003/Cor.1:2006 - - - - - Aerial Photos - 2009-10-09creation - 0173e0d7-6ea9-4407-b846-f29d6bfa9903 - T_aerfo_RAS_1991_GR800P001800000015.tif - - - Aerial Photos -YPAATypaat@ypaat.growner - OrthoimageryGEMET - INSPIRE themes, version 1.02008-06-01publication - no conditions apply - otherRestrictionsno limitations - eng - geoscientificInformation - 20.0024.0038.0040.00 - 2009-10-092009-10-09 - - -http://www.ypaat.gr - -dataset -Conformity_001INSPIREINSPIRE2008-05-15publicationSee the referenced specificationtrue -test - - - - diff --git a/tests/expected/suites_apiso_post_GetRecords-cql-title.xml b/tests/expected/suites_apiso_post_GetRecords-cql-title.xml deleted file mode 100644 index 86fd86cf9..000000000 --- a/tests/expected/suites_apiso_post_GetRecords-cql-title.xml +++ /dev/null @@ -1,372 +0,0 @@ - - - - - - - - a2744b0c-becd-426a-95a8-46e9850ccc6d - - - dataset - - - - - - - DTM - - - - - 2009-10-07 - - - creation - - - - - - - - - - - 19.0 - - - 30.0 - - - 34.0 - - - 42.0 - - - - - - - - - - - - - - - http://www.ypaat.gr - - - None - - - None - - - None - - - - - - - - - - - 0dc824a6-b555-46c1-bd7b-bc66cb91a70f - - - dataset - - - - - - - DTM - - - - - 2009-10-07 - - - creation - - - - - - - - - - - 19.0 - - - 30.0 - - - 34.0 - - - 42.0 - - - - - - - - - - - - - - - http://www.ypaat.gr - - - None - - - None - - - None - - - - - - - - - - - 42c8e55a-2bf6-476d-a7c9-be3bcd697f13 - - - dataset - - - - - - - DTM - - - - - 2009-10-07 - - - creation - - - - - - - - - - - 19.0 - - - 30.0 - - - 34.0 - - - 42.0 - - - - - - - - - - - - - - - http://www.ypaat.gr - - - None - - - None - - - None - - - - - - - - - - - c3bf29d4-d60a-4959-a415-2c03fb0d4aef - - - dataset - - - - - - - DTM - - - - - 2009-10-07 - - - creation - - - - - - - - - - - 19.0 - - - 30.0 - - - 34.0 - - - 42.0 - - - - - - - - - - - - - - - http://www.ypaat.gr - - - None - - - None - - - None - - - - - - - - - - - b8cc2388-5d0a-43d8-9473-0e86dd0396da - - - dataset - - - - - - - DTM - - - - - 2009-10-07 - - - creation - - - - - - - - - - - 19.0 - - - 30.0 - - - 34.0 - - - 42.0 - - - - - - - - - - - - - - - http://www.ypaat.gr - - - None - - - None - - - None - - - - - - - - - - diff --git a/tests/expected/suites_apiso_post_GetRecords-elementname.xml b/tests/expected/suites_apiso_post_GetRecords-elementname.xml deleted file mode 100644 index 97175977f..000000000 --- a/tests/expected/suites_apiso_post_GetRecords-elementname.xml +++ /dev/null @@ -1,388 +0,0 @@ - - - - - - - - 3e9a8c05 - - - service - - - - - - - test Title - - - - - 2011-04-19 - - - creation - - - - - - - view - - - - - - - - Geographic viewer (humanGeographicViewer) - - - administration - - - - - - - - - 19.37 - - - 29.61 - - - 34.8 - - - 41.75 - - - - - - - - - - - - - - - http://aiolos.survey.ntua.gr/geoserver/wms - - - None - - - None - - - None - - - - - - - - - - - 366f6257-19eb-4f20-ba78-0698ac4aae77 - - - dataset - - - - - - - Aerial Photos - - - - - 2009-10-09 - - - creation - - - - - - - - - - - 20.0 - - - 24.0 - - - 38.0 - - - 40.0 - - - - - - - - - - - - - - - http://www.ypaat.gr - - - None - - - None - - - None - - - - - - - - - - - 75a7eb5e-336e-453d-ab06-209b1070d396 - - - dataset - - - - - - - Aerial Photos - - - - - 2009-10-09 - - - creation - - - - - - - - - - - 20.0 - - - 24.0 - - - 38.0 - - - 40.0 - - - - - - - - - - - - - - - http://www.ypaat.gr - - - None - - - None - - - None - - - - - - - - - - - a7308c0a-b748-48e2-bab7-0a608a51d416 - - - dataset - - - - - - - Aerial Photos - - - - - 2009-10-09 - - - creation - - - - - - - - - - - 20.0 - - - 24.0 - - - 38.0 - - - 40.0 - - - - - - - - - - - - - - - http://www.ypaat.gr - - - None - - - None - - - None - - - - - - - - - - - 0173e0d7-6ea9-4407-b846-f29d6bfa9903 - - - dataset - - - - - - - Aerial Photos - - - - - 2009-10-09 - - - creation - - - - - - - - - - - 20.0 - - - 24.0 - - - 38.0 - - - 40.0 - - - - - - - - - - - - - - - http://www.ypaat.gr - - - None - - - None - - - None - - - - - - - - - - diff --git a/tests/expected/suites_apiso_post_GetRecords-filter-and-nested-spatial-or-dateline.xml b/tests/expected/suites_apiso_post_GetRecords-filter-and-nested-spatial-or-dateline.xml deleted file mode 100644 index 4fe317617..000000000 --- a/tests/expected/suites_apiso_post_GetRecords-filter-and-nested-spatial-or-dateline.xml +++ /dev/null @@ -1,1132 +0,0 @@ - - - - - - - - NS06agg - - - eng - - - UTF8 - - - dataset - - - service - - - - - Margaret McManus - - - University of Hawaii - - - - - - - mamc@hawaii.edu - - - - - - - http://www.soest.hawaii.edu/oceanography/faculty/mcmanus.html - - - http - - - web browser - - - - - - - - - information - - - - - - - pointOfContact - - - - - 2014-04-16 - - - ISO 19115-2 Geographic Information - Metadata Part 2 Extensions for imagery and gridded data - - - ISO 19115-2:2009(E) - - - - - 3 - - - - - column - - - 1 - - - 0.0 - - - - - - - row - - - 1 - - - 0.0 - - - - - - - temporal - - - 482760 - - - 252.0 - - - - - area - - - - - - - - - - PacIOOS Nearshore Sensor 06: Pohnpei, Micronesia - - - - - 2011-04-12 - - - creation - - - - - - - 2011-04-19 - - - issued - - - - - - - 2014-03-18 - - - revision - - - - - - - - - org.pacioos - - - - - - NS06agg - - - - - - - Margaret McManus - - - University of Hawaii - - - - - - - mamc@hawaii.edu - - - - - - - http://www.soest.hawaii.edu/oceanography/faculty/mcmanus.html - - - http - - - web browser - - - - - - - - - information - - - - - - - originator - - - - - - - Jim Potemra - - - - - distributor - - - - - Data produced by Dr. Margaret McManus (mamc@hawaii.edu). Point of contact: Gordon Walker (gwalker@hawaii.edu). - - - - - The nearshore sensors are part of the Pacific Islands Ocean Observing System (PacIOOS) and are designed to measure a variety of ocean parameters at fixed point locations. NS06 is located at the dock in Pohnpei lagoon and is mounted to the bottom in about 1 meter of water. The instrument is a Sea-Bird Electronics model 16+ V2 coupled with a WET Labs ECO-FLNTUS combination sensor. - - - PacIOOS provides timely, reliable, and accurate ocean information to support a safe, clean, productive ocean and resilient coastal zone in the U.S. Pacific Islands region. - - - The Pacific Islands Ocean Observing System (PacIOOS) is funded through the National Oceanic and Atmospheric Administration (NOAA) as a Regional Association within the U.S. Integrated Ocean Observing System (IOOS). PacIOOS is coordinated by the University of Hawaii School of Ocean and Earth Science and Technology (SOEST). - - - - - Margaret McManus - - - University of Hawaii - - - - - - - mamc@hawaii.edu - - - - - - - http://www.soest.hawaii.edu/oceanography/faculty/mcmanus.html - - - http - - - web browser - - - - - - - - - information - - - - - - - pointOfContact - - - - - - http://pacioos.org/metadata/browse/NS06agg.png - - Sample image. - - - - - - - Oceans > Ocean Chemistry > Chlorophyll - - - Oceans > Ocean Optics > Turbidity - - - Oceans > Ocean Temperature > Water Temperature - - - Oceans > Salinity/Density > Conductivity - - - Oceans > Salinity/Density > Salinity - - - Oceans > Water Quality - - - theme - - - - - GCMD Science Keywords - - - - - - - - - - Ocean &gt; Pacific Ocean &gt; Western Pacific Ocean &gt; Micronesia &gt; Federated States of Micronesia - - - Ocean &gt; Pacific Ocean &gt; United States of America &gt; Territories - - - Federated States of Micronesia &gt; Pohnpei &gt; Pohnpei Lagoon - - - place - - - - - GCMD Location Keywords - - - - - - - - - - Pacific Islands Ocean Observing System (PacIOOS) - - - project - - - - - GCMD Project Keywords - - - - - - - - - - Pacific Islands Ocean Observing System (PacIOOS) - - - dataCenter - - - - - GCMD Data Center Keywords - - - - - - - - - - sea_water_temperature - - - sea_water_electrical_conductivity - - - sea_water_turbidity - - - mass_concentration_of_chlorophyll_in_sea_water - - - sea_water_salinity - - - depth - - - latitude - - - longitude - - - time - - - theme - - - - - CF-1.4 - - - - - - - - - - The data may be used and redistributed for free but is not intended for legal use, since it may contain inaccuracies. Neither the data Contributor, University of Hawaii, PacIOOS, NOAA, State of Hawaii nor the United States Government, nor any of their employees or contractors, makes any warranty, express or implied, including warranties of merchantability and fitness for a particular purpose, or assumes any legal liability for the accuracy, completeness, or usefulness, of this information. - - - - - - - - - Pacific Islands Ocean Observing System (PacIOOS) - - - - - - largerWorkCitation - - - project - - - - - - - - - - - Unidata Common Data Model - - - - - - Point - - - - - largerWorkCitation - - - project - - - - - eng - - - climatologyMeteorologyAtmosphere - - - - - - - 1 - - - 158.22402954101562 - - - 158.22402954101562 - - - 6.955227375030518 - - - 6.955227375030518 - - - - - - - - seconds - 2010-05-07T00:00:00Z - 2014-03-17T23:56:00Z - - - - - - - - -1.0 - - - -1.0 - - - - - - - - - - - - - - PacIOOS Nearshore Sensor 06: Pohnpei, Micronesia - - - - - 2011-04-12 - - - creation - - - - - - - 2011-04-19 - - - issued - - - - - - - 2014-03-18 - - - revision - - - - - - - Margaret McManus - - - University of Hawaii - - - - - - - mamc@hawaii.edu - - - - - - - http://www.soest.hawaii.edu/oceanography/faculty/mcmanus.html - - - http - - - web browser - - - - - - - - - information - - - - - - - originator - - - - - - - Jim Potemra - - - - - distributor - - - - - - - The nearshore sensors are part of the Pacific Islands Ocean Observing System (PacIOOS) and are designed to measure a variety of ocean parameters at fixed point locations. NS06 is located at the dock in Pohnpei lagoon and is mounted to the bottom in about 1 meter of water. The instrument is a Sea-Bird Electronics model 16+ V2 coupled with a WET Labs ECO-FLNTUS combination sensor. - - - THREDDS OPeNDAP - - - - - - - 1 - - - 158.22402954101562 - - - 158.22402954101562 - - - 6.955227375030518 - - - 6.955227375030518 - - - - - - - - 2010-05-07T00:00:00Z - 2014-03-17T23:56:00Z - - - - - - - - -1.0 - - - -1.0 - - - - - - - - tight - - - - - OPeNDAP Client Access - - - - - - http://oos.soest.hawaii.edu/thredds/dodsC/pacioos/nss/ns06agg - - - OPeNDAP - - - THREDDS OPeNDAP - - - download - - - - - - - - - - - - - - - - - - temp - - - - - float - - - - - - - Temperature (sea_water_temperature) - - - - - - - - - - cond - - - - - float - - - - - - - Conductivity (sea_water_electrical_conductivity) - - - - - - - - - - turb - - - - - float - - - - - - - Turbidity (sea_water_turbidity) - - - - - - - - - - flor - - - - - float - - - - - - - Chlorophyll (mass_concentration_of_chlorophyll_in_sea_water) - - - - - - - - - - salt - - - - - float - - - - - - - Salinity (sea_water_salinity) - - - - - - - - - - z - - - - - float - - - - - - - depth below mean sea level (depth) - - - - - - - - - - lat - - - - - float - - - - - - - Latitude (latitude) - - - - - - - - - - lon - - - - - float - - - - - - - Longitude (longitude) - - - - - - - - - - time - - - - - float - - - - - - - Time (time) - - - - - - - - - - - - - - - Pacific Islands Ocean Observing System (PacIOOS) - - - - - - - jimp@hawaii.edu - - - - - - - http://pacioos.org - - - http - - - web browser - - - URL for the data publisher - - - This URL provides contact information for the publisher of this dataset - - - information - - - - - - - publisher - - - - - - - OPeNDAP - - - - - - - - - - http://oos.soest.hawaii.edu/thredds/idd/nss_pacioos.html?dataset=NS06agg - - - THREDDS Catalog - - - This URL provides a catalog page for this dataset within THREDDS Data Server (TDS). - - - download - - - - - - - - - - - http://oos.soest.hawaii.edu/thredds/dodsC/pacioos/nss/ns06agg.html - - - File Information - - - This URL provides a standard OPeNDAP html interface for selecting data from this dataset. Change the extension to .info for a description of the dataset. - - - download - - - - - - - - - - - http://pacioos.org/voyager/index.html?b=6.874279%2C158.077126%2C7.050468%2C158.369808&tz=pont&o=qual:2::p0NS06p1 - - - PacIOOS Voyager (Google Maps API) - - - This URL provides a viewer for this dataset. - - - download - - - - - - - - - - - http://oos.soest.hawaii.edu/dchart/index.html?dsetid=54cd0688ada08d86748b9c5762509f - - - DChart - - - This URL provides a viewer for this dataset. - - - download - - - - - - - - - - - http://oos.soest.hawaii.edu/erddap/tabledap/nss06_agg.graph?time%2Ctemperature&.draw=lines - - - ERDDAP - - - This URL provides a viewer for this dataset. - - - download - - - - - - - - - - - http://pacioos.org/focus/waterquality/wq_fsm.php - - - PacIOOS Water Quality Platforms: FSM - - - This URL provides a viewer for this dataset. - - - download - - - - - - - - - - - - - - - dataset - - - - - - - UH/SOEST (M. McManus), PacIOOS asset (05/2010) - - - - - - - - - - This record was translated from NcML using UnidataDD2MI.xsl Version 2.3 - - - - - - diff --git a/tests/expected/suites_apiso_post_GetRecords-filter-anytext.xml b/tests/expected/suites_apiso_post_GetRecords-filter-anytext.xml deleted file mode 100644 index 96190eeb8..000000000 --- a/tests/expected/suites_apiso_post_GetRecords-filter-anytext.xml +++ /dev/null @@ -1,372 +0,0 @@ - - - - - - - - 366f6257-19eb-4f20-ba78-0698ac4aae77 - - - dataset - - - - - - - Aerial Photos - - - - - 2009-10-09 - - - creation - - - - - - - - - - - 20.0 - - - 24.0 - - - 38.0 - - - 40.0 - - - - - - - - - - - - - - - http://www.ypaat.gr - - - None - - - None - - - None - - - - - - - - - - - 75a7eb5e-336e-453d-ab06-209b1070d396 - - - dataset - - - - - - - Aerial Photos - - - - - 2009-10-09 - - - creation - - - - - - - - - - - 20.0 - - - 24.0 - - - 38.0 - - - 40.0 - - - - - - - - - - - - - - - http://www.ypaat.gr - - - None - - - None - - - None - - - - - - - - - - - a7308c0a-b748-48e2-bab7-0a608a51d416 - - - dataset - - - - - - - Aerial Photos - - - - - 2009-10-09 - - - creation - - - - - - - - - - - 20.0 - - - 24.0 - - - 38.0 - - - 40.0 - - - - - - - - - - - - - - - http://www.ypaat.gr - - - None - - - None - - - None - - - - - - - - - - - 0173e0d7-6ea9-4407-b846-f29d6bfa9903 - - - dataset - - - - - - - Aerial Photos - - - - - 2009-10-09 - - - creation - - - - - - - - - - - 20.0 - - - 24.0 - - - 38.0 - - - 40.0 - - - - - - - - - - - - - - - http://www.ypaat.gr - - - None - - - None - - - None - - - - - - - - - - - 437ae0a2-06e2-4015-b296-a66e7f407bf2 - - - dataset - - - - - - - Aerial Photos - - - - - 2009-10-09 - - - creation - - - - - - - - - - - 20.0 - - - 38.0 - - - 24.0 - - - 40.0 - - - - - - - - - - - - - - - http://www.ypaat.gr - - - None - - - None - - - None - - - - - - - - - - diff --git a/tests/expected/suites_apiso_post_GetRecords-filter-bbox-csw-output.xml b/tests/expected/suites_apiso_post_GetRecords-filter-bbox-csw-output.xml deleted file mode 100644 index 74ac35ab1..000000000 --- a/tests/expected/suites_apiso_post_GetRecords-filter-bbox-csw-output.xml +++ /dev/null @@ -1,52 +0,0 @@ - - - - - - - 3e9a8c05 - test Title - service - - 34.8 19.37 - 41.75 29.61 - - - - 366f6257-19eb-4f20-ba78-0698ac4aae77 - Aerial Photos - dataset - - 38.0 20.0 - 40.0 24.0 - - - - 75a7eb5e-336e-453d-ab06-209b1070d396 - Aerial Photos - dataset - - 38.0 20.0 - 40.0 24.0 - - - - a7308c0a-b748-48e2-bab7-0a608a51d416 - Aerial Photos - dataset - - 38.0 20.0 - 40.0 24.0 - - - - 0173e0d7-6ea9-4407-b846-f29d6bfa9903 - Aerial Photos - dataset - - 38.0 20.0 - 40.0 24.0 - - - - diff --git a/tests/expected/suites_apiso_post_GetRecords-filter-bbox.xml b/tests/expected/suites_apiso_post_GetRecords-filter-bbox.xml deleted file mode 100644 index cd76cde90..000000000 --- a/tests/expected/suites_apiso_post_GetRecords-filter-bbox.xml +++ /dev/null @@ -1,388 +0,0 @@ - - - - - - - - 3e9a8c05 - - - service - - - - - - - test Title - - - - - 2011-04-19 - - - creation - - - - - - - view - - - - - - - - Geographic viewer (humanGeographicViewer) - - - administration - - - - - - - - - 19.37 - - - 29.61 - - - 34.8 - - - 41.75 - - - - - - - - - - - - - - - http://aiolos.survey.ntua.gr/geoserver/wms - - - None - - - None - - - None - - - - - - - - - - - 366f6257-19eb-4f20-ba78-0698ac4aae77 - - - dataset - - - - - - - Aerial Photos - - - - - 2009-10-09 - - - creation - - - - - - - - - - - 20.0 - - - 24.0 - - - 38.0 - - - 40.0 - - - - - - - - - - - - - - - http://www.ypaat.gr - - - None - - - None - - - None - - - - - - - - - - - 75a7eb5e-336e-453d-ab06-209b1070d396 - - - dataset - - - - - - - Aerial Photos - - - - - 2009-10-09 - - - creation - - - - - - - - - - - 20.0 - - - 24.0 - - - 38.0 - - - 40.0 - - - - - - - - - - - - - - - http://www.ypaat.gr - - - None - - - None - - - None - - - - - - - - - - - a7308c0a-b748-48e2-bab7-0a608a51d416 - - - dataset - - - - - - - Aerial Photos - - - - - 2009-10-09 - - - creation - - - - - - - - - - - 20.0 - - - 24.0 - - - 38.0 - - - 40.0 - - - - - - - - - - - - - - - http://www.ypaat.gr - - - None - - - None - - - None - - - - - - - - - - - 0173e0d7-6ea9-4407-b846-f29d6bfa9903 - - - dataset - - - - - - - Aerial Photos - - - - - 2009-10-09 - - - creation - - - - - - - - - - - 20.0 - - - 24.0 - - - 38.0 - - - 40.0 - - - - - - - - - - - - - - - http://www.ypaat.gr - - - None - - - None - - - None - - - - - - - - - - diff --git a/tests/expected/suites_apiso_post_GetRecords-filter-servicetype.xml b/tests/expected/suites_apiso_post_GetRecords-filter-servicetype.xml deleted file mode 100644 index 80fa7ec19..000000000 --- a/tests/expected/suites_apiso_post_GetRecords-filter-servicetype.xml +++ /dev/null @@ -1,96 +0,0 @@ - - - - - - - - 3e9a8c05 - - - service - - - - - - - test Title - - - - - 2011-04-19 - - - creation - - - - - - - view - - - - - - - - Geographic viewer (humanGeographicViewer) - - - administration - - - - - - - - - 19.37 - - - 29.61 - - - 34.8 - - - 41.75 - - - - - - - - - - - - - - - http://aiolos.survey.ntua.gr/geoserver/wms - - - None - - - None - - - None - - - - - - - - - - diff --git a/tests/expected/suites_atom_get_opensearch-description.xml b/tests/expected/suites_atom_get_opensearch-description.xml deleted file mode 100644 index d9af17447..000000000 --- a/tests/expected/suites_atom_get_opensearch-description.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - pycsw Geospatial Catalogue - pycsw Geospatial Catalogue - pycsw is an OGC CSW server implementation written in Python - catalogue discovery - - http://pycsw.org/img/favicon.ico - Kralidis, Tom - tomkralidis@gmail.com - pycsw - diff --git a/tests/expected/suites_atom_get_opensearch-ogc-bbox-and-time.xml b/tests/expected/suites_atom_get_opensearch-ogc-bbox-and-time.xml deleted file mode 100644 index 1b8a63a22..000000000 --- a/tests/expected/suites_atom_get_opensearch-ogc-bbox-and-time.xml +++ /dev/null @@ -1,38 +0,0 @@ - - - - http://localhost/pycsw/csw.py?config=tests/suites/atom/default.cfg - pycsw Geospatial Catalogue - 2 - 1 - 2 - - - urn:uuid:9a669547-b69b-469f-a11f-2d875366bbdc - urn:uuid:9a669547-b69b-469f-a11f-2d875366bbdc - - Ñunç elementum - PYCSW_TIMESTAMP - - - 44.79 -6.17 - 51.13 -2.23 - - - - - - urn:uuid:94bc9c83-97f6-4b40-9eb8-a8e8787a5c63 - urn:uuid:94bc9c83-97f6-4b40-9eb8-a8e8787a5c63 - - Mauris sed neque - PYCSW_TIMESTAMP - Curabitur lacinia, ante non porta tempus, mi lorem feugiat odio, eget suscipit eros pede ac velit. - - - 47.59 -4.1 - 51.22 0.89 - - - - diff --git a/tests/expected/suites_atom_get_opensearch-ogc-bbox.xml b/tests/expected/suites_atom_get_opensearch-ogc-bbox.xml deleted file mode 100644 index cb6309ae5..000000000 --- a/tests/expected/suites_atom_get_opensearch-ogc-bbox.xml +++ /dev/null @@ -1,52 +0,0 @@ - - - - http://localhost/pycsw/csw.py?config=tests/suites/atom/default.cfg - pycsw Geospatial Catalogue - 3 - 1 - 3 - - urn:uuid:1ef30a8b-876d-4828-9246-c37ab4510bbd - urn:uuid:1ef30a8b-876d-4828-9246-c37ab4510bbd - - - PYCSW_TIMESTAMP - Proin sit amet justo. In justo. Aenean adipiscing nulla id tellus. - - - 60.04 13.75 - 68.41 17.92 - - - - - - urn:uuid:94bc9c83-97f6-4b40-9eb8-a8e8787a5c63 - urn:uuid:94bc9c83-97f6-4b40-9eb8-a8e8787a5c63 - - Mauris sed neque - PYCSW_TIMESTAMP - Curabitur lacinia, ante non porta tempus, mi lorem feugiat odio, eget suscipit eros pede ac velit. - - - 47.59 -4.1 - 51.22 0.89 - - - - - - urn:uuid:9a669547-b69b-469f-a11f-2d875366bbdc - urn:uuid:9a669547-b69b-469f-a11f-2d875366bbdc - - Ñunç elementum - PYCSW_TIMESTAMP - - - 44.79 -6.17 - 51.13 -2.23 - - - - diff --git a/tests/expected/suites_atom_get_opensearch-ogc-count-and-page1.xml b/tests/expected/suites_atom_get_opensearch-ogc-count-and-page1.xml deleted file mode 100644 index abc2039e2..000000000 --- a/tests/expected/suites_atom_get_opensearch-ogc-count-and-page1.xml +++ /dev/null @@ -1,32 +0,0 @@ - - - - http://localhost/pycsw/csw.py?config=tests/suites/atom/default.cfg - pycsw Geospatial Catalogue - 2 - 1 - 2 - - - urn:uuid:6a3de50b-fa66-4b58-a0e6-ca146fdd18d4 - urn:uuid:6a3de50b-fa66-4b58-a0e6-ca146fdd18d4 - - Ut facilisis justo ut lacus - PYCSW_TIMESTAMP - - - - urn:uuid:94bc9c83-97f6-4b40-9eb8-a8e8787a5c63 - urn:uuid:94bc9c83-97f6-4b40-9eb8-a8e8787a5c63 - - Mauris sed neque - PYCSW_TIMESTAMP - Curabitur lacinia, ante non porta tempus, mi lorem feugiat odio, eget suscipit eros pede ac velit. - - - 47.59 -4.1 - 51.22 0.89 - - - - diff --git a/tests/expected/suites_atom_get_opensearch-ogc-count-and-page2.xml b/tests/expected/suites_atom_get_opensearch-ogc-count-and-page2.xml deleted file mode 100644 index 709921a3f..000000000 --- a/tests/expected/suites_atom_get_opensearch-ogc-count-and-page2.xml +++ /dev/null @@ -1,17 +0,0 @@ - - - - http://localhost/pycsw/csw.py?config=tests/suites/atom/default.cfg - pycsw Geospatial Catalogue - 2 - 1 - 1 - - - urn:uuid:6a3de50b-fa66-4b58-a0e6-ca146fdd18d4 - urn:uuid:6a3de50b-fa66-4b58-a0e6-ca146fdd18d4 - - Ut facilisis justo ut lacus - PYCSW_TIMESTAMP - - diff --git a/tests/expected/suites_atom_get_opensearch-ogc-q-and-bbox.xml b/tests/expected/suites_atom_get_opensearch-ogc-q-and-bbox.xml deleted file mode 100644 index ed8c2a30c..000000000 --- a/tests/expected/suites_atom_get_opensearch-ogc-q-and-bbox.xml +++ /dev/null @@ -1,24 +0,0 @@ - - - - http://localhost/pycsw/csw.py?config=tests/suites/atom/default.cfg - pycsw Geospatial Catalogue - 1 - 1 - 1 - - - urn:uuid:94bc9c83-97f6-4b40-9eb8-a8e8787a5c63 - urn:uuid:94bc9c83-97f6-4b40-9eb8-a8e8787a5c63 - - Mauris sed neque - PYCSW_TIMESTAMP - Curabitur lacinia, ante non porta tempus, mi lorem feugiat odio, eget suscipit eros pede ac velit. - - - 47.59 -4.1 - 51.22 0.89 - - - - diff --git a/tests/expected/suites_atom_get_opensearch-ogc-q-and-time.xml b/tests/expected/suites_atom_get_opensearch-ogc-q-and-time.xml deleted file mode 100644 index 281c6df53..000000000 --- a/tests/expected/suites_atom_get_opensearch-ogc-q-and-time.xml +++ /dev/null @@ -1,18 +0,0 @@ - - - - http://localhost/pycsw/csw.py?config=tests/suites/atom/default.cfg - pycsw Geospatial Catalogue - 1 - 1 - 1 - - - urn:uuid:e9330592-0932-474b-be34-c3a3bb67c7db - urn:uuid:e9330592-0932-474b-be34-c3a3bb67c7db - - Fuscé vitae ligulä - PYCSW_TIMESTAMP - Morbi ultriçes, dui suscipit vestibulum prètium, velit ante pretium tortor, egët tincidunt pede odio ac nulla. - - diff --git a/tests/expected/suites_atom_get_opensearch-ogc-q.xml b/tests/expected/suites_atom_get_opensearch-ogc-q.xml deleted file mode 100644 index 7aaae428f..000000000 --- a/tests/expected/suites_atom_get_opensearch-ogc-q.xml +++ /dev/null @@ -1,18 +0,0 @@ - - - - http://localhost/pycsw/csw.py?config=tests/suites/atom/default.cfg - pycsw Geospatial Catalogue - 1 - 1 - 1 - - - urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f - urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f - - Lorem ipsum - PYCSW_TIMESTAMP - Quisque lacus diam, placerat mollis, pharetra in, commodo sed, augue. Duis iaculis arcu vel arcu. - - diff --git a/tests/expected/suites_atom_get_opensearch-ogc-time.xml b/tests/expected/suites_atom_get_opensearch-ogc-time.xml deleted file mode 100644 index 281c6df53..000000000 --- a/tests/expected/suites_atom_get_opensearch-ogc-time.xml +++ /dev/null @@ -1,18 +0,0 @@ - - - - http://localhost/pycsw/csw.py?config=tests/suites/atom/default.cfg - pycsw Geospatial Catalogue - 1 - 1 - 1 - - - urn:uuid:e9330592-0932-474b-be34-c3a3bb67c7db - urn:uuid:e9330592-0932-474b-be34-c3a3bb67c7db - - Fuscé vitae ligulä - PYCSW_TIMESTAMP - Morbi ultriçes, dui suscipit vestibulum prètium, velit ante pretium tortor, egët tincidunt pede odio ac nulla. - - diff --git a/tests/expected/suites_atom_get_opensearch-ogc-timeend.xml b/tests/expected/suites_atom_get_opensearch-ogc-timeend.xml deleted file mode 100644 index 281c6df53..000000000 --- a/tests/expected/suites_atom_get_opensearch-ogc-timeend.xml +++ /dev/null @@ -1,18 +0,0 @@ - - - - http://localhost/pycsw/csw.py?config=tests/suites/atom/default.cfg - pycsw Geospatial Catalogue - 1 - 1 - 1 - - - urn:uuid:e9330592-0932-474b-be34-c3a3bb67c7db - urn:uuid:e9330592-0932-474b-be34-c3a3bb67c7db - - Fuscé vitae ligulä - PYCSW_TIMESTAMP - Morbi ultriçes, dui suscipit vestibulum prètium, velit ante pretium tortor, egët tincidunt pede odio ac nulla. - - diff --git a/tests/expected/suites_atom_get_opensearch-ogc-timestart.xml b/tests/expected/suites_atom_get_opensearch-ogc-timestart.xml deleted file mode 100644 index 6e1694835..000000000 --- a/tests/expected/suites_atom_get_opensearch-ogc-timestart.xml +++ /dev/null @@ -1,47 +0,0 @@ - - - - http://localhost/pycsw/csw.py?config=tests/suites/atom/default.cfg - pycsw Geospatial Catalogue - 3 - 1 - 3 - - - urn:uuid:9a669547-b69b-469f-a11f-2d875366bbdc - urn:uuid:9a669547-b69b-469f-a11f-2d875366bbdc - - Ñunç elementum - PYCSW_TIMESTAMP - - - 44.79 -6.17 - 51.13 -2.23 - - - - - - urn:uuid:94bc9c83-97f6-4b40-9eb8-a8e8787a5c63 - urn:uuid:94bc9c83-97f6-4b40-9eb8-a8e8787a5c63 - - Mauris sed neque - PYCSW_TIMESTAMP - Curabitur lacinia, ante non porta tempus, mi lorem feugiat odio, eget suscipit eros pede ac velit. - - - 47.59 -4.1 - 51.22 0.89 - - - - - - urn:uuid:784e2afd-a9fd-44a6-9a92-a3848371c8ec - urn:uuid:784e2afd-a9fd-44a6-9a92-a3848371c8ec - - Aliquam fermentum purus quis arcu - PYCSW_TIMESTAMP - Vestibulum quis ipsum sit amet metus imperdiet vehicula. Nulla scelerisque cursus mi. - - diff --git a/tests/expected/suites_atom_get_opensearch.xml b/tests/expected/suites_atom_get_opensearch.xml deleted file mode 100644 index 68fbf0f78..000000000 --- a/tests/expected/suites_atom_get_opensearch.xml +++ /dev/null @@ -1,110 +0,0 @@ - - - - http://localhost/pycsw/csw.py?config=tests/suites/atom/default.cfg - pycsw Geospatial Catalogue - 12 - 1 - 10 - - - urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f - urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f - - Lorem ipsum - PYCSW_TIMESTAMP - Quisque lacus diam, placerat mollis, pharetra in, commodo sed, augue. Duis iaculis arcu vel arcu. - - - urn:uuid:1ef30a8b-876d-4828-9246-c37ab4510bbd - urn:uuid:1ef30a8b-876d-4828-9246-c37ab4510bbd - - - PYCSW_TIMESTAMP - Proin sit amet justo. In justo. Aenean adipiscing nulla id tellus. - - - 60.04 13.75 - 68.41 17.92 - - - - - - urn:uuid:66ae76b7-54ba-489b-a582-0f0633d96493 - urn:uuid:66ae76b7-54ba-489b-a582-0f0633d96493 - - Maecenas enim - PYCSW_TIMESTAMP - Pellentesque tempus magna non sapien fringilla blandit. - - - - urn:uuid:6a3de50b-fa66-4b58-a0e6-ca146fdd18d4 - urn:uuid:6a3de50b-fa66-4b58-a0e6-ca146fdd18d4 - - Ut facilisis justo ut lacus - PYCSW_TIMESTAMP - - - - urn:uuid:784e2afd-a9fd-44a6-9a92-a3848371c8ec - urn:uuid:784e2afd-a9fd-44a6-9a92-a3848371c8ec - - Aliquam fermentum purus quis arcu - PYCSW_TIMESTAMP - Vestibulum quis ipsum sit amet metus imperdiet vehicula. Nulla scelerisque cursus mi. - - - urn:uuid:829babb0-b2f1-49e1-8cd5-7b489fe71a1e - urn:uuid:829babb0-b2f1-49e1-8cd5-7b489fe71a1e - - Vestibulum massa purus - PYCSW_TIMESTAMP - - - - urn:uuid:88247b56-4cbc-4df9-9860-db3f8042e357 - urn:uuid:88247b56-4cbc-4df9-9860-db3f8042e357 - - - PYCSW_TIMESTAMP - Donec scelerisque pede ut nisl luctus accumsan. Quisque ultrices, lorem eget feugiat fringilla, lorem dui porttitor ante, cursus ultrices magna odio eu neque. - - - - urn:uuid:94bc9c83-97f6-4b40-9eb8-a8e8787a5c63 - urn:uuid:94bc9c83-97f6-4b40-9eb8-a8e8787a5c63 - - Mauris sed neque - PYCSW_TIMESTAMP - Curabitur lacinia, ante non porta tempus, mi lorem feugiat odio, eget suscipit eros pede ac velit. - - - 47.59 -4.1 - 51.22 0.89 - - - - - - urn:uuid:9a669547-b69b-469f-a11f-2d875366bbdc - urn:uuid:9a669547-b69b-469f-a11f-2d875366bbdc - - Ñunç elementum - PYCSW_TIMESTAMP - - - 44.79 -6.17 - 51.13 -2.23 - - - - - urn:uuid:a06af396-3105-442d-8b40-22b57a90d2f2 - urn:uuid:a06af396-3105-442d-8b40-22b57a90d2f2 - - Lorem ipsum dolor sit amet - PYCSW_TIMESTAMP - - diff --git a/tests/expected/suites_atom_post_DescribeRecord.xml b/tests/expected/suites_atom_post_DescribeRecord.xml deleted file mode 100644 index 5f82a7d41..000000000 --- a/tests/expected/suites_atom_post_DescribeRecord.xml +++ /dev/null @@ -1,3 +0,0 @@ - - - diff --git a/tests/expected/suites_atom_post_GetCapabilities.xml b/tests/expected/suites_atom_post_GetCapabilities.xml deleted file mode 100644 index 6c3bf9d86..000000000 --- a/tests/expected/suites_atom_post_GetCapabilities.xml +++ /dev/null @@ -1,264 +0,0 @@ - - - - - pycsw Geospatial Catalogue - pycsw is an OGC CSW server implementation written in Python - - catalogue - discovery - theme - - CSW - 2.0.2 - 3.0.0 - None - None - - - pycsw - - - Kralidis, Tom - Senior Systems Scientist - - - +01-416-xxx-xxxx - +01-416-xxx-xxxx - - - TBA - Toronto - Ontario - M9C 3Z9 - Canada - tomkralidis@gmail.com - - - 0800h - 1600h EST - During hours of service. Off on weekends. - - pointOfContact - - - - - - - - - - - - Filter_Capabilities - OperationsMetadata - ServiceIdentification - ServiceProvider - - - - - - - - - - - application/json - application/xml - - - http://www.w3.org/2001/XMLSchema - http://www.w3.org/TR/xmlschema-1/ - http://www.w3.org/XML/Schema - - - csw:Record - - - - - - - - - - - DescribeRecord.outputFormat - DescribeRecord.schemaLanguage - DescribeRecord.typeName - GetCapabilities.sections - GetRecordById.ElementSetName - GetRecordById.outputFormat - GetRecordById.outputSchema - GetRecords.CONSTRAINTLANGUAGE - GetRecords.ElementSetName - GetRecords.outputFormat - GetRecords.outputSchema - GetRecords.resultType - GetRecords.typeNames - - - - - - - - - - - CQL_TEXT - FILTER - - - brief - full - summary - - - application/json - application/xml - - - http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ - http://www.interlis.ch/INTERLIS2.3 - http://www.opengis.net/cat/csw/2.0.2 - http://www.opengis.net/cat/csw/csdgm - http://www.w3.org/2005/Atom - - - hits - results - validate - - - csw:Record - - - csw:AnyText - dc:contributor - dc:creator - dc:date - dc:format - dc:identifier - dc:language - dc:publisher - dc:relation - dc:rights - dc:source - dc:subject - dc:title - dc:type - dct:abstract - dct:alternative - dct:modified - dct:spatial - ows:BoundingBox - - - - - - - - - - - brief - full - summary - - - application/json - application/xml - - - http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ - http://www.interlis.ch/INTERLIS2.3 - http://www.opengis.net/cat/csw/2.0.2 - http://www.opengis.net/cat/csw/csdgm - http://www.w3.org/2005/Atom - - - - - - - - - - - CSW - - - 2.0.2 - 3.0.0 - - - http://geo.data.gov/geoportal/csw/discovery - - - 10 - - - XML - SOAP - - - allowed - - - - - - gml:Point - gml:LineString - gml:Polygon - gml:Envelope - - - - - - - - - - - - - - - - - - - Between - EqualTo - GreaterThan - GreaterThanEqualTo - LessThan - LessThanEqualTo - Like - NotEqualTo - NullCheck - - - - - length - lower - ltrim - rtrim - trim - upper - - - - - - - - - - diff --git a/tests/expected/suites_atom_post_GetRecords-filter-bbox.xml b/tests/expected/suites_atom_post_GetRecords-filter-bbox.xml deleted file mode 100644 index c345e05d9..000000000 --- a/tests/expected/suites_atom_post_GetRecords-filter-bbox.xml +++ /dev/null @@ -1,36 +0,0 @@ - - - - - - - - urn:uuid:94bc9c83-97f6-4b40-9eb8-a8e8787a5c63 - urn:uuid:94bc9c83-97f6-4b40-9eb8-a8e8787a5c63 - - Mauris sed neque - PYCSW_TIMESTAMP - Curabitur lacinia, ante non porta tempus, mi lorem feugiat odio, eget suscipit eros pede ac velit. - - - 47.59 -4.1 - 51.22 0.89 - - - - - - urn:uuid:9a669547-b69b-469f-a11f-2d875366bbdc - urn:uuid:9a669547-b69b-469f-a11f-2d875366bbdc - - Ñunç elementum - PYCSW_TIMESTAMP - - - 44.79 -6.17 - 51.13 -2.23 - - - - - diff --git a/tests/expected/suites_cite_get_27e17158-c57a-4493-92ac-dba8934cf462.xml b/tests/expected/suites_cite_get_27e17158-c57a-4493-92ac-dba8934cf462.xml deleted file mode 100644 index e38229588..000000000 --- a/tests/expected/suites_cite_get_27e17158-c57a-4493-92ac-dba8934cf462.xml +++ /dev/null @@ -1,312 +0,0 @@ - - - - - pycsw Geospatial Catalogue - pycsw is an OGC CSW server implementation written in Python - - catalogue - discovery - theme - - CSW - 2.0.2 - 3.0.0 - None - None - - - pycsw - - - Kralidis, Tom - Senior Systems Scientist - - - +01-416-xxx-xxxx - +01-416-xxx-xxxx - - - TBA - Toronto - Ontario - M9C 3Z9 - Canada - tomkralidis@gmail.com - - - 0800h - 1600h EST - During hours of service. Off on weekends. - - pointOfContact - - - - - - - - - - - - Filter_Capabilities - OperationsMetadata - ServiceIdentification - ServiceProvider - - - - - - - - - - - application/json - application/xml - - - http://www.w3.org/2001/XMLSchema - http://www.w3.org/TR/xmlschema-1/ - http://www.w3.org/XML/Schema - - - csw:Record - - - - - - - - - - - DescribeRecord.outputFormat - DescribeRecord.schemaLanguage - DescribeRecord.typeName - GetCapabilities.sections - GetRecordById.ElementSetName - GetRecordById.outputFormat - GetRecordById.outputSchema - GetRecords.CONSTRAINTLANGUAGE - GetRecords.ElementSetName - GetRecords.outputFormat - GetRecords.outputSchema - GetRecords.resultType - GetRecords.typeNames - Harvest.ResourceType - Transaction.TransactionSchemas - - - - - - - - - - - CQL_TEXT - FILTER - - - brief - full - summary - - - application/json - application/xml - - - http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ - http://www.interlis.ch/INTERLIS2.3 - http://www.opengis.net/cat/csw/2.0.2 - http://www.opengis.net/cat/csw/csdgm - http://www.w3.org/2005/Atom - - - hits - results - validate - - - csw:Record - - - csw:AnyText - dc:contributor - dc:creator - dc:date - dc:format - dc:identifier - dc:language - dc:publisher - dc:relation - dc:rights - dc:source - dc:subject - dc:title - dc:type - dct:abstract - dct:alternative - dct:modified - dct:spatial - ows:BoundingBox - - - - - - - - - - - brief - full - summary - - - application/json - application/xml - - - http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ - http://www.interlis.ch/INTERLIS2.3 - http://www.opengis.net/cat/csw/2.0.2 - http://www.opengis.net/cat/csw/csdgm - http://www.w3.org/2005/Atom - - - - - - - - - - - - - - - - - http://www.isotc211.org/2005/gmi - http://www.opengis.net/cat/csw/2.0.2 - http://www.opengis.net/cat/csw/3.0 - http://www.opengis.net/sos/1.0 - http://www.opengis.net/sos/2.0 - http://www.opengis.net/wcs - http://www.opengis.net/wfs - http://www.opengis.net/wfs/2.0 - http://www.opengis.net/wms - http://www.opengis.net/wmts/1.0 - http://www.opengis.net/wps/1.0.0 - urn:geoss:waf - - - - - - - - - - http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ - http://www.interlis.ch/INTERLIS2.3 - http://www.isotc211.org/2005/gmi - http://www.opengis.net/cat/csw/2.0.2 - http://www.opengis.net/cat/csw/3.0 - http://www.opengis.net/cat/csw/csdgm - http://www.opengis.net/sos/1.0 - http://www.opengis.net/sos/2.0 - http://www.opengis.net/wcs - http://www.opengis.net/wfs - http://www.opengis.net/wfs/2.0 - http://www.opengis.net/wms - http://www.opengis.net/wmts/1.0 - http://www.opengis.net/wps/1.0.0 - http://www.w3.org/2005/Atom - urn:geoss:waf - - - - CSW - - - 2.0.2 - 3.0.0 - - - http://geo.data.gov/geoportal/csw/discovery - - - 10 - - - XML - SOAP - - - allowed - - - - - - gml:Point - gml:LineString - gml:Polygon - gml:Envelope - - - - - - - - - - - - - - - - - - - Between - EqualTo - GreaterThan - GreaterThanEqualTo - LessThan - LessThanEqualTo - Like - NotEqualTo - NullCheck - - - - - length - lower - ltrim - rtrim - trim - upper - - - - - - - - - - diff --git a/tests/expected/suites_cite_get_27f69b66-5f05-4311-a89c-73ca55c2686b.xml b/tests/expected/suites_cite_get_27f69b66-5f05-4311-a89c-73ca55c2686b.xml deleted file mode 100644 index ccdc8dc66..000000000 --- a/tests/expected/suites_cite_get_27f69b66-5f05-4311-a89c-73ca55c2686b.xml +++ /dev/null @@ -1,9 +0,0 @@ - - - - - urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f - Lorem ipsum - http://purl.org/dc/dcmitype/Image - - diff --git a/tests/expected/suites_cite_get_2ab7d1fa-885b-459f-80e4-b6282eab4f8c.xml b/tests/expected/suites_cite_get_2ab7d1fa-885b-459f-80e4-b6282eab4f8c.xml deleted file mode 100644 index e38229588..000000000 --- a/tests/expected/suites_cite_get_2ab7d1fa-885b-459f-80e4-b6282eab4f8c.xml +++ /dev/null @@ -1,312 +0,0 @@ - - - - - pycsw Geospatial Catalogue - pycsw is an OGC CSW server implementation written in Python - - catalogue - discovery - theme - - CSW - 2.0.2 - 3.0.0 - None - None - - - pycsw - - - Kralidis, Tom - Senior Systems Scientist - - - +01-416-xxx-xxxx - +01-416-xxx-xxxx - - - TBA - Toronto - Ontario - M9C 3Z9 - Canada - tomkralidis@gmail.com - - - 0800h - 1600h EST - During hours of service. Off on weekends. - - pointOfContact - - - - - - - - - - - - Filter_Capabilities - OperationsMetadata - ServiceIdentification - ServiceProvider - - - - - - - - - - - application/json - application/xml - - - http://www.w3.org/2001/XMLSchema - http://www.w3.org/TR/xmlschema-1/ - http://www.w3.org/XML/Schema - - - csw:Record - - - - - - - - - - - DescribeRecord.outputFormat - DescribeRecord.schemaLanguage - DescribeRecord.typeName - GetCapabilities.sections - GetRecordById.ElementSetName - GetRecordById.outputFormat - GetRecordById.outputSchema - GetRecords.CONSTRAINTLANGUAGE - GetRecords.ElementSetName - GetRecords.outputFormat - GetRecords.outputSchema - GetRecords.resultType - GetRecords.typeNames - Harvest.ResourceType - Transaction.TransactionSchemas - - - - - - - - - - - CQL_TEXT - FILTER - - - brief - full - summary - - - application/json - application/xml - - - http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ - http://www.interlis.ch/INTERLIS2.3 - http://www.opengis.net/cat/csw/2.0.2 - http://www.opengis.net/cat/csw/csdgm - http://www.w3.org/2005/Atom - - - hits - results - validate - - - csw:Record - - - csw:AnyText - dc:contributor - dc:creator - dc:date - dc:format - dc:identifier - dc:language - dc:publisher - dc:relation - dc:rights - dc:source - dc:subject - dc:title - dc:type - dct:abstract - dct:alternative - dct:modified - dct:spatial - ows:BoundingBox - - - - - - - - - - - brief - full - summary - - - application/json - application/xml - - - http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ - http://www.interlis.ch/INTERLIS2.3 - http://www.opengis.net/cat/csw/2.0.2 - http://www.opengis.net/cat/csw/csdgm - http://www.w3.org/2005/Atom - - - - - - - - - - - - - - - - - http://www.isotc211.org/2005/gmi - http://www.opengis.net/cat/csw/2.0.2 - http://www.opengis.net/cat/csw/3.0 - http://www.opengis.net/sos/1.0 - http://www.opengis.net/sos/2.0 - http://www.opengis.net/wcs - http://www.opengis.net/wfs - http://www.opengis.net/wfs/2.0 - http://www.opengis.net/wms - http://www.opengis.net/wmts/1.0 - http://www.opengis.net/wps/1.0.0 - urn:geoss:waf - - - - - - - - - - http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ - http://www.interlis.ch/INTERLIS2.3 - http://www.isotc211.org/2005/gmi - http://www.opengis.net/cat/csw/2.0.2 - http://www.opengis.net/cat/csw/3.0 - http://www.opengis.net/cat/csw/csdgm - http://www.opengis.net/sos/1.0 - http://www.opengis.net/sos/2.0 - http://www.opengis.net/wcs - http://www.opengis.net/wfs - http://www.opengis.net/wfs/2.0 - http://www.opengis.net/wms - http://www.opengis.net/wmts/1.0 - http://www.opengis.net/wps/1.0.0 - http://www.w3.org/2005/Atom - urn:geoss:waf - - - - CSW - - - 2.0.2 - 3.0.0 - - - http://geo.data.gov/geoportal/csw/discovery - - - 10 - - - XML - SOAP - - - allowed - - - - - - gml:Point - gml:LineString - gml:Polygon - gml:Envelope - - - - - - - - - - - - - - - - - - - Between - EqualTo - GreaterThan - GreaterThanEqualTo - LessThan - LessThanEqualTo - Like - NotEqualTo - NullCheck - - - - - length - lower - ltrim - rtrim - trim - upper - - - - - - - - - - diff --git a/tests/expected/suites_cite_get_37aa90e2-6ff0-420c-af15-8b9463099a73.xml b/tests/expected/suites_cite_get_37aa90e2-6ff0-420c-af15-8b9463099a73.xml deleted file mode 100644 index fb6934aaa..000000000 --- a/tests/expected/suites_cite_get_37aa90e2-6ff0-420c-af15-8b9463099a73.xml +++ /dev/null @@ -1,14 +0,0 @@ - - - - - urn:uuid:9a669547-b69b-469f-a11f-2d875366bbdc - Ñunç elementum - http://purl.org/dc/dcmitype/Dataset - Hydrography-Oceanographic - - 44.79 -6.17 - 51.13 -2.23 - - - diff --git a/tests/expected/suites_cite_get_3a8a3c47-455f-4f49-9078-03119f3e70b3.xml b/tests/expected/suites_cite_get_3a8a3c47-455f-4f49-9078-03119f3e70b3.xml deleted file mode 100644 index 29f606bb3..000000000 --- a/tests/expected/suites_cite_get_3a8a3c47-455f-4f49-9078-03119f3e70b3.xml +++ /dev/null @@ -1,7 +0,0 @@ - - - - - Invalid acceptFormats parameter value: message/example - - diff --git a/tests/expected/suites_cite_get_4515831f-834a-4699-95f6-ab0c2cbfcfd0.xml b/tests/expected/suites_cite_get_4515831f-834a-4699-95f6-ab0c2cbfcfd0.xml deleted file mode 100644 index 95a2f2803..000000000 --- a/tests/expected/suites_cite_get_4515831f-834a-4699-95f6-ab0c2cbfcfd0.xml +++ /dev/null @@ -1,7 +0,0 @@ - - - - - Missing id parameter - - diff --git a/tests/expected/suites_cite_get_477b23a3-baa9-47c8-9541-5fe27735ed49.xml b/tests/expected/suites_cite_get_477b23a3-baa9-47c8-9541-5fe27735ed49.xml deleted file mode 100644 index b8f8f6a2e..000000000 --- a/tests/expected/suites_cite_get_477b23a3-baa9-47c8-9541-5fe27735ed49.xml +++ /dev/null @@ -1,545 +0,0 @@ - - - - - pycsw Geospatial Catalogue - pycsw is an OGC CSW server implementation written in Python - - catalogue - discovery - theme - - CSW - 2.0.2 - 3.0.0 - None - None - - - pycsw - - - Kralidis, Tom - Senior Systems Scientist - - - +01-416-xxx-xxxx - +01-416-xxx-xxxx - - - TBA - Toronto - Ontario - M9C 3Z9 - Canada - tomkralidis@gmail.com - - - 0800h - 1600h EST - During hours of service. Off on weekends. - - pointOfContact - - - - - - - - - - - - - application/xml - text/xml - - - - - 2.0.2 - 3.0.0 - - - - - All - Filter_Capabilities - OperationsMetadata - ServiceIdentification - ServiceProvider - - - - - - - - - - - - - GetCapabilities.acceptFormats - GetCapabilities.acceptVersions - GetCapabilities.sections - GetRecordById.ElementSetName - GetRecordById.outputFormat - GetRecordById.outputSchema - GetRecords.CONSTRAINTLANGUAGE - GetRecords.ElementSetName - GetRecords.outputFormat - GetRecords.outputSchema - GetRecords.typeNames - Harvest.ResourceType - Transaction.TransactionSchemas - - - - - - - - - - - - - CQL_TEXT - FILTER - - - - - brief - full - summary - - - - - application/atom+xml - application/json - application/xml - - - - - http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ - http://www.interlis.ch/INTERLIS2.3 - http://www.opengis.net/cat/csw/3.0 - http://www.opengis.net/cat/csw/csdgm - http://www.w3.org/2005/Atom - - - - - csw:Record - - - - - 10 - - - - - http://localhost/pycsw/csw.py?config=tests/suites/cite/default.cfg?mode=opensearch&service=CSW&version=3.0.0&request=GetCapabilities - - - - - http://geo.data.gov/geoportal/csw/discovery - - - - - - - - - - - - - brief - full - summary - - - - - application/atom+xml - application/json - application/xml - - - - - http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ - http://www.interlis.ch/INTERLIS2.3 - http://www.opengis.net/cat/csw/3.0 - http://www.opengis.net/cat/csw/csdgm - http://www.w3.org/2005/Atom - - - - - - - - - - - - - - - - - - - http://www.isotc211.org/2005/gmi - http://www.opengis.net/cat/csw/2.0.2 - http://www.opengis.net/cat/csw/3.0 - http://www.opengis.net/sos/1.0 - http://www.opengis.net/sos/2.0 - http://www.opengis.net/wcs - http://www.opengis.net/wfs - http://www.opengis.net/wfs/2.0 - http://www.opengis.net/wms - http://www.opengis.net/wmts/1.0 - http://www.opengis.net/wps/1.0.0 - urn:geoss:waf - - - - - - - - - - - - http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ - http://www.interlis.ch/INTERLIS2.3 - http://www.isotc211.org/2005/gmi - http://www.opengis.net/cat/csw/2.0.2 - http://www.opengis.net/cat/csw/3.0 - http://www.opengis.net/cat/csw/csdgm - http://www.opengis.net/sos/1.0 - http://www.opengis.net/sos/2.0 - http://www.opengis.net/wcs - http://www.opengis.net/wfs - http://www.opengis.net/wfs/2.0 - http://www.opengis.net/wms - http://www.opengis.net/wmts/1.0 - http://www.opengis.net/wps/1.0.0 - http://www.w3.org/2005/Atom - urn:geoss:waf - - - - - - CSW - - - - - 2.0.2 - 3.0.0 - - - - - csw:AnyText - dc:contributor - dc:creator - dc:date - dc:format - dc:identifier - dc:language - dc:publisher - dc:relation - dc:rights - dc:source - dc:subject - dc:title - dc:type - dct:abstract - dct:alternative - dct:modified - dct:spatial - ows:BoundingBox - - - - - http://geo.data.gov/geoportal/csw/discovery - - - - - 10 - - - - - SOAP - XML - - - - - allowed - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - http://www.opengis.net/gml - - - - - TRUE - - - - - en - - - - - - TRUE - - - - TRUE - - - - TRUE - - - - TRUE - - - - TRUE - - - - TRUE - - - - TRUE - - - - TRUE - - - - TRUE - - - - TRUE - - - - TRUE - - - - TRUE - - - - TRUE - - - - TRUE - - - - TRUE - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - xs:string - - - xs:string - - - xs:string - - - xs:string - - - xs:string - - - xs:string - - - - diff --git a/tests/expected/suites_cite_get_48f26761-3a9d-48db-bee1-da089f5fb857.xml b/tests/expected/suites_cite_get_48f26761-3a9d-48db-bee1-da089f5fb857.xml deleted file mode 100644 index e38229588..000000000 --- a/tests/expected/suites_cite_get_48f26761-3a9d-48db-bee1-da089f5fb857.xml +++ /dev/null @@ -1,312 +0,0 @@ - - - - - pycsw Geospatial Catalogue - pycsw is an OGC CSW server implementation written in Python - - catalogue - discovery - theme - - CSW - 2.0.2 - 3.0.0 - None - None - - - pycsw - - - Kralidis, Tom - Senior Systems Scientist - - - +01-416-xxx-xxxx - +01-416-xxx-xxxx - - - TBA - Toronto - Ontario - M9C 3Z9 - Canada - tomkralidis@gmail.com - - - 0800h - 1600h EST - During hours of service. Off on weekends. - - pointOfContact - - - - - - - - - - - - Filter_Capabilities - OperationsMetadata - ServiceIdentification - ServiceProvider - - - - - - - - - - - application/json - application/xml - - - http://www.w3.org/2001/XMLSchema - http://www.w3.org/TR/xmlschema-1/ - http://www.w3.org/XML/Schema - - - csw:Record - - - - - - - - - - - DescribeRecord.outputFormat - DescribeRecord.schemaLanguage - DescribeRecord.typeName - GetCapabilities.sections - GetRecordById.ElementSetName - GetRecordById.outputFormat - GetRecordById.outputSchema - GetRecords.CONSTRAINTLANGUAGE - GetRecords.ElementSetName - GetRecords.outputFormat - GetRecords.outputSchema - GetRecords.resultType - GetRecords.typeNames - Harvest.ResourceType - Transaction.TransactionSchemas - - - - - - - - - - - CQL_TEXT - FILTER - - - brief - full - summary - - - application/json - application/xml - - - http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ - http://www.interlis.ch/INTERLIS2.3 - http://www.opengis.net/cat/csw/2.0.2 - http://www.opengis.net/cat/csw/csdgm - http://www.w3.org/2005/Atom - - - hits - results - validate - - - csw:Record - - - csw:AnyText - dc:contributor - dc:creator - dc:date - dc:format - dc:identifier - dc:language - dc:publisher - dc:relation - dc:rights - dc:source - dc:subject - dc:title - dc:type - dct:abstract - dct:alternative - dct:modified - dct:spatial - ows:BoundingBox - - - - - - - - - - - brief - full - summary - - - application/json - application/xml - - - http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ - http://www.interlis.ch/INTERLIS2.3 - http://www.opengis.net/cat/csw/2.0.2 - http://www.opengis.net/cat/csw/csdgm - http://www.w3.org/2005/Atom - - - - - - - - - - - - - - - - - http://www.isotc211.org/2005/gmi - http://www.opengis.net/cat/csw/2.0.2 - http://www.opengis.net/cat/csw/3.0 - http://www.opengis.net/sos/1.0 - http://www.opengis.net/sos/2.0 - http://www.opengis.net/wcs - http://www.opengis.net/wfs - http://www.opengis.net/wfs/2.0 - http://www.opengis.net/wms - http://www.opengis.net/wmts/1.0 - http://www.opengis.net/wps/1.0.0 - urn:geoss:waf - - - - - - - - - - http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ - http://www.interlis.ch/INTERLIS2.3 - http://www.isotc211.org/2005/gmi - http://www.opengis.net/cat/csw/2.0.2 - http://www.opengis.net/cat/csw/3.0 - http://www.opengis.net/cat/csw/csdgm - http://www.opengis.net/sos/1.0 - http://www.opengis.net/sos/2.0 - http://www.opengis.net/wcs - http://www.opengis.net/wfs - http://www.opengis.net/wfs/2.0 - http://www.opengis.net/wms - http://www.opengis.net/wmts/1.0 - http://www.opengis.net/wps/1.0.0 - http://www.w3.org/2005/Atom - urn:geoss:waf - - - - CSW - - - 2.0.2 - 3.0.0 - - - http://geo.data.gov/geoportal/csw/discovery - - - 10 - - - XML - SOAP - - - allowed - - - - - - gml:Point - gml:LineString - gml:Polygon - gml:Envelope - - - - - - - - - - - - - - - - - - - Between - EqualTo - GreaterThan - GreaterThanEqualTo - LessThan - LessThanEqualTo - Like - NotEqualTo - NullCheck - - - - - length - lower - ltrim - rtrim - trim - upper - - - - - - - - - - diff --git a/tests/expected/suites_cite_get_4e38092f-1586-44b8-988e-0acfa5855916.xml b/tests/expected/suites_cite_get_4e38092f-1586-44b8-988e-0acfa5855916.xml deleted file mode 100644 index 82bbd70d8..000000000 --- a/tests/expected/suites_cite_get_4e38092f-1586-44b8-988e-0acfa5855916.xml +++ /dev/null @@ -1,7 +0,0 @@ - - - - - Invalid outputformat parameter application/bogus_xml - - diff --git a/tests/expected/suites_cite_get_55c38f00-2553-42c1-99ab-33edbb561ad7.xml b/tests/expected/suites_cite_get_55c38f00-2553-42c1-99ab-33edbb561ad7.xml deleted file mode 100644 index 0bf0d3145..000000000 --- a/tests/expected/suites_cite_get_55c38f00-2553-42c1-99ab-33edbb561ad7.xml +++ /dev/null @@ -1,394 +0,0 @@ - - - - - pycsw Geospatial Catalogue - pycsw is an OGC CSW server implementation written in Python - - catalogue - discovery - theme - - CSW - 2.0.2 - 3.0.0 - None - None - - - - - - - - - - - - application/xml - text/xml - - - - - 2.0.2 - 3.0.0 - - - - - All - Filter_Capabilities - OperationsMetadata - ServiceIdentification - ServiceProvider - - - - - - - - - - - - - GetCapabilities.acceptFormats - GetCapabilities.acceptVersions - GetCapabilities.sections - GetRecordById.ElementSetName - GetRecordById.outputFormat - GetRecordById.outputSchema - GetRecords.CONSTRAINTLANGUAGE - GetRecords.ElementSetName - GetRecords.outputFormat - GetRecords.outputSchema - GetRecords.typeNames - Harvest.ResourceType - Transaction.TransactionSchemas - - - - - - - - - - - - - CQL_TEXT - FILTER - - - - - brief - full - summary - - - - - application/atom+xml - application/json - application/xml - - - - - http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ - http://www.interlis.ch/INTERLIS2.3 - http://www.opengis.net/cat/csw/3.0 - http://www.opengis.net/cat/csw/csdgm - http://www.w3.org/2005/Atom - - - - - csw:Record - - - - - 10 - - - - - http://localhost/pycsw/csw.py?config=tests/suites/cite/default.cfg?mode=opensearch&service=CSW&version=3.0.0&request=GetCapabilities - - - - - http://geo.data.gov/geoportal/csw/discovery - - - - - - - - - - - - - brief - full - summary - - - - - application/atom+xml - application/json - application/xml - - - - - http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ - http://www.interlis.ch/INTERLIS2.3 - http://www.opengis.net/cat/csw/3.0 - http://www.opengis.net/cat/csw/csdgm - http://www.w3.org/2005/Atom - - - - - - - - - - - - - - - - - - - http://www.isotc211.org/2005/gmi - http://www.opengis.net/cat/csw/2.0.2 - http://www.opengis.net/cat/csw/3.0 - http://www.opengis.net/sos/1.0 - http://www.opengis.net/sos/2.0 - http://www.opengis.net/wcs - http://www.opengis.net/wfs - http://www.opengis.net/wfs/2.0 - http://www.opengis.net/wms - http://www.opengis.net/wmts/1.0 - http://www.opengis.net/wps/1.0.0 - urn:geoss:waf - - - - - - - - - - - - http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ - http://www.interlis.ch/INTERLIS2.3 - http://www.isotc211.org/2005/gmi - http://www.opengis.net/cat/csw/2.0.2 - http://www.opengis.net/cat/csw/3.0 - http://www.opengis.net/cat/csw/csdgm - http://www.opengis.net/sos/1.0 - http://www.opengis.net/sos/2.0 - http://www.opengis.net/wcs - http://www.opengis.net/wfs - http://www.opengis.net/wfs/2.0 - http://www.opengis.net/wms - http://www.opengis.net/wmts/1.0 - http://www.opengis.net/wps/1.0.0 - http://www.w3.org/2005/Atom - urn:geoss:waf - - - - - - CSW - - - - - 2.0.2 - 3.0.0 - - - - - csw:AnyText - dc:contributor - dc:creator - dc:date - dc:format - dc:identifier - dc:language - dc:publisher - dc:relation - dc:rights - dc:source - dc:subject - dc:title - dc:type - dct:abstract - dct:alternative - dct:modified - dct:spatial - ows:BoundingBox - - - - - http://geo.data.gov/geoportal/csw/discovery - - - - - 10 - - - - - SOAP - XML - - - - - allowed - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - http://www.opengis.net/gml - - - - - TRUE - - - - diff --git a/tests/expected/suites_cite_get_5ab5db18-c87a-4fbf-a8d8-b7289b09ac81.xml b/tests/expected/suites_cite_get_5ab5db18-c87a-4fbf-a8d8-b7289b09ac81.xml deleted file mode 100644 index 407b97b9a..000000000 --- a/tests/expected/suites_cite_get_5ab5db18-c87a-4fbf-a8d8-b7289b09ac81.xml +++ /dev/null @@ -1,7 +0,0 @@ - - - - - Invalid value for service: FOO. Value MUST be CSW - - diff --git a/tests/expected/suites_cite_get_6a4f57ca-a1bd-4802-89c2-44860dbdb0f0.xml b/tests/expected/suites_cite_get_6a4f57ca-a1bd-4802-89c2-44860dbdb0f0.xml deleted file mode 100644 index 5ef23a7ab..000000000 --- a/tests/expected/suites_cite_get_6a4f57ca-a1bd-4802-89c2-44860dbdb0f0.xml +++ /dev/null @@ -1,11 +0,0 @@ - - - - - urn:uuid:6a3de50b-fa66-4b58-a0e6-ca146fdd18d4 - Ut facilisis justo ut lacus - http://purl.org/dc/dcmitype/Service - Vegetation - urn:uuid:94bc9c83-97f6-4b40-9eb8-a8e8787a5c63 - - diff --git a/tests/expected/suites_cite_get_6c375703-9c00-4aef-bec7-d2e964f849eb.xml b/tests/expected/suites_cite_get_6c375703-9c00-4aef-bec7-d2e964f849eb.xml deleted file mode 100644 index 6ac70554f..000000000 --- a/tests/expected/suites_cite_get_6c375703-9c00-4aef-bec7-d2e964f849eb.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f - urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f - - Lorem ipsum - PYCSW_TIMESTAMP - Quisque lacus diam, placerat mollis, pharetra in, commodo sed, augue. Duis iaculis arcu vel arcu. - - diff --git a/tests/expected/suites_cite_get_80f31def-4185-48b9-983a-960566918eae.xml b/tests/expected/suites_cite_get_80f31def-4185-48b9-983a-960566918eae.xml deleted file mode 100644 index b8f8f6a2e..000000000 --- a/tests/expected/suites_cite_get_80f31def-4185-48b9-983a-960566918eae.xml +++ /dev/null @@ -1,545 +0,0 @@ - - - - - pycsw Geospatial Catalogue - pycsw is an OGC CSW server implementation written in Python - - catalogue - discovery - theme - - CSW - 2.0.2 - 3.0.0 - None - None - - - pycsw - - - Kralidis, Tom - Senior Systems Scientist - - - +01-416-xxx-xxxx - +01-416-xxx-xxxx - - - TBA - Toronto - Ontario - M9C 3Z9 - Canada - tomkralidis@gmail.com - - - 0800h - 1600h EST - During hours of service. Off on weekends. - - pointOfContact - - - - - - - - - - - - - application/xml - text/xml - - - - - 2.0.2 - 3.0.0 - - - - - All - Filter_Capabilities - OperationsMetadata - ServiceIdentification - ServiceProvider - - - - - - - - - - - - - GetCapabilities.acceptFormats - GetCapabilities.acceptVersions - GetCapabilities.sections - GetRecordById.ElementSetName - GetRecordById.outputFormat - GetRecordById.outputSchema - GetRecords.CONSTRAINTLANGUAGE - GetRecords.ElementSetName - GetRecords.outputFormat - GetRecords.outputSchema - GetRecords.typeNames - Harvest.ResourceType - Transaction.TransactionSchemas - - - - - - - - - - - - - CQL_TEXT - FILTER - - - - - brief - full - summary - - - - - application/atom+xml - application/json - application/xml - - - - - http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ - http://www.interlis.ch/INTERLIS2.3 - http://www.opengis.net/cat/csw/3.0 - http://www.opengis.net/cat/csw/csdgm - http://www.w3.org/2005/Atom - - - - - csw:Record - - - - - 10 - - - - - http://localhost/pycsw/csw.py?config=tests/suites/cite/default.cfg?mode=opensearch&service=CSW&version=3.0.0&request=GetCapabilities - - - - - http://geo.data.gov/geoportal/csw/discovery - - - - - - - - - - - - - brief - full - summary - - - - - application/atom+xml - application/json - application/xml - - - - - http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ - http://www.interlis.ch/INTERLIS2.3 - http://www.opengis.net/cat/csw/3.0 - http://www.opengis.net/cat/csw/csdgm - http://www.w3.org/2005/Atom - - - - - - - - - - - - - - - - - - - http://www.isotc211.org/2005/gmi - http://www.opengis.net/cat/csw/2.0.2 - http://www.opengis.net/cat/csw/3.0 - http://www.opengis.net/sos/1.0 - http://www.opengis.net/sos/2.0 - http://www.opengis.net/wcs - http://www.opengis.net/wfs - http://www.opengis.net/wfs/2.0 - http://www.opengis.net/wms - http://www.opengis.net/wmts/1.0 - http://www.opengis.net/wps/1.0.0 - urn:geoss:waf - - - - - - - - - - - - http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ - http://www.interlis.ch/INTERLIS2.3 - http://www.isotc211.org/2005/gmi - http://www.opengis.net/cat/csw/2.0.2 - http://www.opengis.net/cat/csw/3.0 - http://www.opengis.net/cat/csw/csdgm - http://www.opengis.net/sos/1.0 - http://www.opengis.net/sos/2.0 - http://www.opengis.net/wcs - http://www.opengis.net/wfs - http://www.opengis.net/wfs/2.0 - http://www.opengis.net/wms - http://www.opengis.net/wmts/1.0 - http://www.opengis.net/wps/1.0.0 - http://www.w3.org/2005/Atom - urn:geoss:waf - - - - - - CSW - - - - - 2.0.2 - 3.0.0 - - - - - csw:AnyText - dc:contributor - dc:creator - dc:date - dc:format - dc:identifier - dc:language - dc:publisher - dc:relation - dc:rights - dc:source - dc:subject - dc:title - dc:type - dct:abstract - dct:alternative - dct:modified - dct:spatial - ows:BoundingBox - - - - - http://geo.data.gov/geoportal/csw/discovery - - - - - 10 - - - - - SOAP - XML - - - - - allowed - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - http://www.opengis.net/gml - - - - - TRUE - - - - - en - - - - - - TRUE - - - - TRUE - - - - TRUE - - - - TRUE - - - - TRUE - - - - TRUE - - - - TRUE - - - - TRUE - - - - TRUE - - - - TRUE - - - - TRUE - - - - TRUE - - - - TRUE - - - - TRUE - - - - TRUE - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - xs:string - - - xs:string - - - xs:string - - - xs:string - - - xs:string - - - xs:string - - - - diff --git a/tests/expected/suites_cite_get_8e2232ed-05d9-44ae-8b04-0911cbe6a507.xml b/tests/expected/suites_cite_get_8e2232ed-05d9-44ae-8b04-0911cbe6a507.xml deleted file mode 100644 index 6dd138f50..000000000 --- a/tests/expected/suites_cite_get_8e2232ed-05d9-44ae-8b04-0911cbe6a507.xml +++ /dev/null @@ -1,7 +0,0 @@ - - - - - Invalid parameter value in acceptversions: 2006.10.29. Value MUST be 2.0.2 or 3.0.0 - - diff --git a/tests/expected/suites_cite_get_9697f0aa-3b6a-4125-83a5-61e8826127c4.xml b/tests/expected/suites_cite_get_9697f0aa-3b6a-4125-83a5-61e8826127c4.xml deleted file mode 100644 index b8f8f6a2e..000000000 --- a/tests/expected/suites_cite_get_9697f0aa-3b6a-4125-83a5-61e8826127c4.xml +++ /dev/null @@ -1,545 +0,0 @@ - - - - - pycsw Geospatial Catalogue - pycsw is an OGC CSW server implementation written in Python - - catalogue - discovery - theme - - CSW - 2.0.2 - 3.0.0 - None - None - - - pycsw - - - Kralidis, Tom - Senior Systems Scientist - - - +01-416-xxx-xxxx - +01-416-xxx-xxxx - - - TBA - Toronto - Ontario - M9C 3Z9 - Canada - tomkralidis@gmail.com - - - 0800h - 1600h EST - During hours of service. Off on weekends. - - pointOfContact - - - - - - - - - - - - - application/xml - text/xml - - - - - 2.0.2 - 3.0.0 - - - - - All - Filter_Capabilities - OperationsMetadata - ServiceIdentification - ServiceProvider - - - - - - - - - - - - - GetCapabilities.acceptFormats - GetCapabilities.acceptVersions - GetCapabilities.sections - GetRecordById.ElementSetName - GetRecordById.outputFormat - GetRecordById.outputSchema - GetRecords.CONSTRAINTLANGUAGE - GetRecords.ElementSetName - GetRecords.outputFormat - GetRecords.outputSchema - GetRecords.typeNames - Harvest.ResourceType - Transaction.TransactionSchemas - - - - - - - - - - - - - CQL_TEXT - FILTER - - - - - brief - full - summary - - - - - application/atom+xml - application/json - application/xml - - - - - http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ - http://www.interlis.ch/INTERLIS2.3 - http://www.opengis.net/cat/csw/3.0 - http://www.opengis.net/cat/csw/csdgm - http://www.w3.org/2005/Atom - - - - - csw:Record - - - - - 10 - - - - - http://localhost/pycsw/csw.py?config=tests/suites/cite/default.cfg?mode=opensearch&service=CSW&version=3.0.0&request=GetCapabilities - - - - - http://geo.data.gov/geoportal/csw/discovery - - - - - - - - - - - - - brief - full - summary - - - - - application/atom+xml - application/json - application/xml - - - - - http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ - http://www.interlis.ch/INTERLIS2.3 - http://www.opengis.net/cat/csw/3.0 - http://www.opengis.net/cat/csw/csdgm - http://www.w3.org/2005/Atom - - - - - - - - - - - - - - - - - - - http://www.isotc211.org/2005/gmi - http://www.opengis.net/cat/csw/2.0.2 - http://www.opengis.net/cat/csw/3.0 - http://www.opengis.net/sos/1.0 - http://www.opengis.net/sos/2.0 - http://www.opengis.net/wcs - http://www.opengis.net/wfs - http://www.opengis.net/wfs/2.0 - http://www.opengis.net/wms - http://www.opengis.net/wmts/1.0 - http://www.opengis.net/wps/1.0.0 - urn:geoss:waf - - - - - - - - - - - - http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ - http://www.interlis.ch/INTERLIS2.3 - http://www.isotc211.org/2005/gmi - http://www.opengis.net/cat/csw/2.0.2 - http://www.opengis.net/cat/csw/3.0 - http://www.opengis.net/cat/csw/csdgm - http://www.opengis.net/sos/1.0 - http://www.opengis.net/sos/2.0 - http://www.opengis.net/wcs - http://www.opengis.net/wfs - http://www.opengis.net/wfs/2.0 - http://www.opengis.net/wms - http://www.opengis.net/wmts/1.0 - http://www.opengis.net/wps/1.0.0 - http://www.w3.org/2005/Atom - urn:geoss:waf - - - - - - CSW - - - - - 2.0.2 - 3.0.0 - - - - - csw:AnyText - dc:contributor - dc:creator - dc:date - dc:format - dc:identifier - dc:language - dc:publisher - dc:relation - dc:rights - dc:source - dc:subject - dc:title - dc:type - dct:abstract - dct:alternative - dct:modified - dct:spatial - ows:BoundingBox - - - - - http://geo.data.gov/geoportal/csw/discovery - - - - - 10 - - - - - SOAP - XML - - - - - allowed - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - http://www.opengis.net/gml - - - - - TRUE - - - - - en - - - - - - TRUE - - - - TRUE - - - - TRUE - - - - TRUE - - - - TRUE - - - - TRUE - - - - TRUE - - - - TRUE - - - - TRUE - - - - TRUE - - - - TRUE - - - - TRUE - - - - TRUE - - - - TRUE - - - - TRUE - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - xs:string - - - xs:string - - - xs:string - - - xs:string - - - xs:string - - - xs:string - - - - diff --git a/tests/expected/suites_cite_get_9bfd17fa-15dc-4a10-8fa7-b3cff7013dd7.xml b/tests/expected/suites_cite_get_9bfd17fa-15dc-4a10-8fa7-b3cff7013dd7.xml deleted file mode 100644 index 3ac20591f..000000000 --- a/tests/expected/suites_cite_get_9bfd17fa-15dc-4a10-8fa7-b3cff7013dd7.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - urn:uuid:e9330592-0932-474b-be34-c3a3bb67c7db - http://purl.org/dc/dcmitype/Text - Fuscé vitae ligulä - 2003-05-09 - Land titles - text/rtf - Morbi ultriçes, dui suscipit vestibulum prètium, velit ante pretium tortor, egët tincidunt pede odio ac nulla. - - diff --git a/tests/expected/suites_cite_get_b81c3595-06d6-4693-82ea-1ff8650755ac.xml b/tests/expected/suites_cite_get_b81c3595-06d6-4693-82ea-1ff8650755ac.xml deleted file mode 100644 index 9bf61df8e..000000000 --- a/tests/expected/suites_cite_get_b81c3595-06d6-4693-82ea-1ff8650755ac.xml +++ /dev/null @@ -1,3 +0,0 @@ - - - diff --git a/tests/expected/suites_cite_get_ba5fc729-3b71-47a0-b7d0-42ec565cd185.xml b/tests/expected/suites_cite_get_ba5fc729-3b71-47a0-b7d0-42ec565cd185.xml deleted file mode 100644 index e38229588..000000000 --- a/tests/expected/suites_cite_get_ba5fc729-3b71-47a0-b7d0-42ec565cd185.xml +++ /dev/null @@ -1,312 +0,0 @@ - - - - - pycsw Geospatial Catalogue - pycsw is an OGC CSW server implementation written in Python - - catalogue - discovery - theme - - CSW - 2.0.2 - 3.0.0 - None - None - - - pycsw - - - Kralidis, Tom - Senior Systems Scientist - - - +01-416-xxx-xxxx - +01-416-xxx-xxxx - - - TBA - Toronto - Ontario - M9C 3Z9 - Canada - tomkralidis@gmail.com - - - 0800h - 1600h EST - During hours of service. Off on weekends. - - pointOfContact - - - - - - - - - - - - Filter_Capabilities - OperationsMetadata - ServiceIdentification - ServiceProvider - - - - - - - - - - - application/json - application/xml - - - http://www.w3.org/2001/XMLSchema - http://www.w3.org/TR/xmlschema-1/ - http://www.w3.org/XML/Schema - - - csw:Record - - - - - - - - - - - DescribeRecord.outputFormat - DescribeRecord.schemaLanguage - DescribeRecord.typeName - GetCapabilities.sections - GetRecordById.ElementSetName - GetRecordById.outputFormat - GetRecordById.outputSchema - GetRecords.CONSTRAINTLANGUAGE - GetRecords.ElementSetName - GetRecords.outputFormat - GetRecords.outputSchema - GetRecords.resultType - GetRecords.typeNames - Harvest.ResourceType - Transaction.TransactionSchemas - - - - - - - - - - - CQL_TEXT - FILTER - - - brief - full - summary - - - application/json - application/xml - - - http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ - http://www.interlis.ch/INTERLIS2.3 - http://www.opengis.net/cat/csw/2.0.2 - http://www.opengis.net/cat/csw/csdgm - http://www.w3.org/2005/Atom - - - hits - results - validate - - - csw:Record - - - csw:AnyText - dc:contributor - dc:creator - dc:date - dc:format - dc:identifier - dc:language - dc:publisher - dc:relation - dc:rights - dc:source - dc:subject - dc:title - dc:type - dct:abstract - dct:alternative - dct:modified - dct:spatial - ows:BoundingBox - - - - - - - - - - - brief - full - summary - - - application/json - application/xml - - - http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ - http://www.interlis.ch/INTERLIS2.3 - http://www.opengis.net/cat/csw/2.0.2 - http://www.opengis.net/cat/csw/csdgm - http://www.w3.org/2005/Atom - - - - - - - - - - - - - - - - - http://www.isotc211.org/2005/gmi - http://www.opengis.net/cat/csw/2.0.2 - http://www.opengis.net/cat/csw/3.0 - http://www.opengis.net/sos/1.0 - http://www.opengis.net/sos/2.0 - http://www.opengis.net/wcs - http://www.opengis.net/wfs - http://www.opengis.net/wfs/2.0 - http://www.opengis.net/wms - http://www.opengis.net/wmts/1.0 - http://www.opengis.net/wps/1.0.0 - urn:geoss:waf - - - - - - - - - - http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ - http://www.interlis.ch/INTERLIS2.3 - http://www.isotc211.org/2005/gmi - http://www.opengis.net/cat/csw/2.0.2 - http://www.opengis.net/cat/csw/3.0 - http://www.opengis.net/cat/csw/csdgm - http://www.opengis.net/sos/1.0 - http://www.opengis.net/sos/2.0 - http://www.opengis.net/wcs - http://www.opengis.net/wfs - http://www.opengis.net/wfs/2.0 - http://www.opengis.net/wms - http://www.opengis.net/wmts/1.0 - http://www.opengis.net/wps/1.0.0 - http://www.w3.org/2005/Atom - urn:geoss:waf - - - - CSW - - - 2.0.2 - 3.0.0 - - - http://geo.data.gov/geoportal/csw/discovery - - - 10 - - - XML - SOAP - - - allowed - - - - - - gml:Point - gml:LineString - gml:Polygon - gml:Envelope - - - - - - - - - - - - - - - - - - - Between - EqualTo - GreaterThan - GreaterThanEqualTo - LessThan - LessThanEqualTo - Like - NotEqualTo - NullCheck - - - - - length - lower - ltrim - rtrim - trim - upper - - - - - - - - - - diff --git a/tests/expected/suites_cite_get_c4ea754f-c158-4d8d-8253-dc8f86021b52.xml b/tests/expected/suites_cite_get_c4ea754f-c158-4d8d-8253-dc8f86021b52.xml deleted file mode 100644 index 42a76d4fd..000000000 --- a/tests/expected/suites_cite_get_c4ea754f-c158-4d8d-8253-dc8f86021b52.xml +++ /dev/null @@ -1,7 +0,0 @@ - - - - - Missing keyword: service - - diff --git a/tests/expected/suites_cite_get_f4692ec5-9547-4a05-88ab-e6154af2640a.xml b/tests/expected/suites_cite_get_f4692ec5-9547-4a05-88ab-e6154af2640a.xml deleted file mode 100644 index e38229588..000000000 --- a/tests/expected/suites_cite_get_f4692ec5-9547-4a05-88ab-e6154af2640a.xml +++ /dev/null @@ -1,312 +0,0 @@ - - - - - pycsw Geospatial Catalogue - pycsw is an OGC CSW server implementation written in Python - - catalogue - discovery - theme - - CSW - 2.0.2 - 3.0.0 - None - None - - - pycsw - - - Kralidis, Tom - Senior Systems Scientist - - - +01-416-xxx-xxxx - +01-416-xxx-xxxx - - - TBA - Toronto - Ontario - M9C 3Z9 - Canada - tomkralidis@gmail.com - - - 0800h - 1600h EST - During hours of service. Off on weekends. - - pointOfContact - - - - - - - - - - - - Filter_Capabilities - OperationsMetadata - ServiceIdentification - ServiceProvider - - - - - - - - - - - application/json - application/xml - - - http://www.w3.org/2001/XMLSchema - http://www.w3.org/TR/xmlschema-1/ - http://www.w3.org/XML/Schema - - - csw:Record - - - - - - - - - - - DescribeRecord.outputFormat - DescribeRecord.schemaLanguage - DescribeRecord.typeName - GetCapabilities.sections - GetRecordById.ElementSetName - GetRecordById.outputFormat - GetRecordById.outputSchema - GetRecords.CONSTRAINTLANGUAGE - GetRecords.ElementSetName - GetRecords.outputFormat - GetRecords.outputSchema - GetRecords.resultType - GetRecords.typeNames - Harvest.ResourceType - Transaction.TransactionSchemas - - - - - - - - - - - CQL_TEXT - FILTER - - - brief - full - summary - - - application/json - application/xml - - - http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ - http://www.interlis.ch/INTERLIS2.3 - http://www.opengis.net/cat/csw/2.0.2 - http://www.opengis.net/cat/csw/csdgm - http://www.w3.org/2005/Atom - - - hits - results - validate - - - csw:Record - - - csw:AnyText - dc:contributor - dc:creator - dc:date - dc:format - dc:identifier - dc:language - dc:publisher - dc:relation - dc:rights - dc:source - dc:subject - dc:title - dc:type - dct:abstract - dct:alternative - dct:modified - dct:spatial - ows:BoundingBox - - - - - - - - - - - brief - full - summary - - - application/json - application/xml - - - http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ - http://www.interlis.ch/INTERLIS2.3 - http://www.opengis.net/cat/csw/2.0.2 - http://www.opengis.net/cat/csw/csdgm - http://www.w3.org/2005/Atom - - - - - - - - - - - - - - - - - http://www.isotc211.org/2005/gmi - http://www.opengis.net/cat/csw/2.0.2 - http://www.opengis.net/cat/csw/3.0 - http://www.opengis.net/sos/1.0 - http://www.opengis.net/sos/2.0 - http://www.opengis.net/wcs - http://www.opengis.net/wfs - http://www.opengis.net/wfs/2.0 - http://www.opengis.net/wms - http://www.opengis.net/wmts/1.0 - http://www.opengis.net/wps/1.0.0 - urn:geoss:waf - - - - - - - - - - http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ - http://www.interlis.ch/INTERLIS2.3 - http://www.isotc211.org/2005/gmi - http://www.opengis.net/cat/csw/2.0.2 - http://www.opengis.net/cat/csw/3.0 - http://www.opengis.net/cat/csw/csdgm - http://www.opengis.net/sos/1.0 - http://www.opengis.net/sos/2.0 - http://www.opengis.net/wcs - http://www.opengis.net/wfs - http://www.opengis.net/wfs/2.0 - http://www.opengis.net/wms - http://www.opengis.net/wmts/1.0 - http://www.opengis.net/wps/1.0.0 - http://www.w3.org/2005/Atom - urn:geoss:waf - - - - CSW - - - 2.0.2 - 3.0.0 - - - http://geo.data.gov/geoportal/csw/discovery - - - 10 - - - XML - SOAP - - - allowed - - - - - - gml:Point - gml:LineString - gml:Polygon - gml:Envelope - - - - - - - - - - - - - - - - - - - Between - EqualTo - GreaterThan - GreaterThanEqualTo - LessThan - LessThanEqualTo - Like - NotEqualTo - NullCheck - - - - - length - lower - ltrim - rtrim - trim - upper - - - - - - - - - - diff --git a/tests/expected/suites_cite_get_f997f25e-c865-4d53-a362-0ed1846337f2.xml b/tests/expected/suites_cite_get_f997f25e-c865-4d53-a362-0ed1846337f2.xml deleted file mode 100644 index 6cddad959..000000000 --- a/tests/expected/suites_cite_get_f997f25e-c865-4d53-a362-0ed1846337f2.xml +++ /dev/null @@ -1,15 +0,0 @@ - - - - - urn:uuid:94bc9c83-97f6-4b40-9eb8-a8e8787a5c63 - Mauris sed neque - http://purl.org/dc/dcmitype/Dataset - Vegetation-Cropland - Curabitur lacinia, ante non porta tempus, mi lorem feugiat odio, eget suscipit eros pede ac velit. - - 47.59 -4.1 - 51.22 0.89 - - - diff --git a/tests/expected/suites_cite_post_0c976d98-c896-4b10-b1fe-a22ef50434e7.xml b/tests/expected/suites_cite_post_0c976d98-c896-4b10-b1fe-a22ef50434e7.xml deleted file mode 100644 index ce7aca9f6..000000000 --- a/tests/expected/suites_cite_post_0c976d98-c896-4b10-b1fe-a22ef50434e7.xml +++ /dev/null @@ -1,6 +0,0 @@ - - - - - - diff --git a/tests/expected/suites_cite_post_19d2a6ed-be28-4866-ae15-e3bb634486cb.xml b/tests/expected/suites_cite_post_19d2a6ed-be28-4866-ae15-e3bb634486cb.xml deleted file mode 100644 index b80c3b546..000000000 --- a/tests/expected/suites_cite_post_19d2a6ed-be28-4866-ae15-e3bb634486cb.xml +++ /dev/null @@ -1,55 +0,0 @@ - - - - - - - urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f - Lorem ipsum - http://purl.org/dc/dcmitype/Image - - - urn:uuid:a06af396-3105-442d-8b40-22b57a90d2f2 - Lorem ipsum dolor sit amet - http://purl.org/dc/dcmitype/Image - - - urn:uuid:829babb0-b2f1-49e1-8cd5-7b489fe71a1e - Vestibulum massa purus - http://purl.org/dc/dcmitype/Image - - - urn:uuid:66ae76b7-54ba-489b-a582-0f0633d96493 - Maecenas enim - http://purl.org/dc/dcmitype/Text - - - urn:uuid:784e2afd-a9fd-44a6-9a92-a3848371c8ec - Aliquam fermentum purus quis arcu - http://purl.org/dc/dcmitype/Text - - - urn:uuid:9a669547-b69b-469f-a11f-2d875366bbdc - Ñunç elementum - http://purl.org/dc/dcmitype/Dataset - - 44.79 -6.17 - 51.13 -2.23 - - - - urn:uuid:94bc9c83-97f6-4b40-9eb8-a8e8787a5c63 - Mauris sed neque - http://purl.org/dc/dcmitype/Dataset - - 47.59 -4.1 - 51.22 0.89 - - - - urn:uuid:6a3de50b-fa66-4b58-a0e6-ca146fdd18d4 - Ut facilisis justo ut lacus - http://purl.org/dc/dcmitype/Service - - - diff --git a/tests/expected/suites_cite_post_1ab55aa3-6685-4595-8ecd-45987a7b8b59.xml b/tests/expected/suites_cite_post_1ab55aa3-6685-4595-8ecd-45987a7b8b59.xml deleted file mode 100644 index a78d68a8c..000000000 --- a/tests/expected/suites_cite_post_1ab55aa3-6685-4595-8ecd-45987a7b8b59.xml +++ /dev/null @@ -1,19 +0,0 @@ - - - - - - - full - - - - csw:AnyText - *lorem* - - - - - - - diff --git a/tests/expected/suites_cite_post_1c958b7a-ca09-4c38-98bd-ef1d1d28cc14.xml b/tests/expected/suites_cite_post_1c958b7a-ca09-4c38-98bd-ef1d1d28cc14.xml deleted file mode 100644 index a1691f473..000000000 --- a/tests/expected/suites_cite_post_1c958b7a-ca09-4c38-98bd-ef1d1d28cc14.xml +++ /dev/null @@ -1,7 +0,0 @@ - - - - - Invalid outputFormat parameter value: application/xhtml+xml - - diff --git a/tests/expected/suites_cite_post_1c97fc1a-61cd-4c1d-8054-933e17a6c5ee.xml b/tests/expected/suites_cite_post_1c97fc1a-61cd-4c1d-8054-933e17a6c5ee.xml deleted file mode 100644 index 2b0eebed4..000000000 --- a/tests/expected/suites_cite_post_1c97fc1a-61cd-4c1d-8054-933e17a6c5ee.xml +++ /dev/null @@ -1,7 +0,0 @@ - - - - - Invalid Constraint: Invalid Filter request: Invalid PropertyName: /dc:title. '/dc:title' - - diff --git a/tests/expected/suites_cite_post_2102a460-5d62-465f-9668-d70b3faafbfa.xml b/tests/expected/suites_cite_post_2102a460-5d62-465f-9668-d70b3faafbfa.xml deleted file mode 100644 index 5c7ef391f..000000000 --- a/tests/expected/suites_cite_post_2102a460-5d62-465f-9668-d70b3faafbfa.xml +++ /dev/null @@ -1,12 +0,0 @@ - - - - - - - urn:uuid:ab42a8c4-95e8-4630-bf79-33e59241605a - - http://purl.org/dc/dcmitype/Service - - - diff --git a/tests/expected/suites_cite_post_225f455a-0035-486b-a94e-fee7ae881b2b.xml b/tests/expected/suites_cite_post_225f455a-0035-486b-a94e-fee7ae881b2b.xml deleted file mode 100644 index a9d06ca89..000000000 --- a/tests/expected/suites_cite_post_225f455a-0035-486b-a94e-fee7ae881b2b.xml +++ /dev/null @@ -1,17 +0,0 @@ - - - - - - - urn:uuid:94bc9c83-97f6-4b40-9eb8-a8e8787a5c63 - http://purl.org/dc/dcmitype/Dataset - 2006-03-26 - - - urn:uuid:784e2afd-a9fd-44a6-9a92-a3848371c8ec - http://purl.org/dc/dcmitype/Text - 2006-05-12 - - - diff --git a/tests/expected/suites_cite_post_2d53ffea-60e4-4652-abf5-36eb23042fd5.xml b/tests/expected/suites_cite_post_2d53ffea-60e4-4652-abf5-36eb23042fd5.xml deleted file mode 100644 index fb722adad..000000000 --- a/tests/expected/suites_cite_post_2d53ffea-60e4-4652-abf5-36eb23042fd5.xml +++ /dev/null @@ -1,69 +0,0 @@ - - - - - - - urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f - Lorem ipsum - http://purl.org/dc/dcmitype/Image - - - urn:uuid:1ef30a8b-876d-4828-9246-c37ab4510bbd - - http://purl.org/dc/dcmitype/Service - - 60.04 13.75 - 68.41 17.92 - - - - urn:uuid:66ae76b7-54ba-489b-a582-0f0633d96493 - Maecenas enim - http://purl.org/dc/dcmitype/Text - - - urn:uuid:6a3de50b-fa66-4b58-a0e6-ca146fdd18d4 - Ut facilisis justo ut lacus - http://purl.org/dc/dcmitype/Service - - - urn:uuid:784e2afd-a9fd-44a6-9a92-a3848371c8ec - Aliquam fermentum purus quis arcu - http://purl.org/dc/dcmitype/Text - - - urn:uuid:829babb0-b2f1-49e1-8cd5-7b489fe71a1e - Vestibulum massa purus - http://purl.org/dc/dcmitype/Image - - - urn:uuid:88247b56-4cbc-4df9-9860-db3f8042e357 - - http://purl.org/dc/dcmitype/Dataset - - - urn:uuid:94bc9c83-97f6-4b40-9eb8-a8e8787a5c63 - Mauris sed neque - http://purl.org/dc/dcmitype/Dataset - - 47.59 -4.1 - 51.22 0.89 - - - - urn:uuid:9a669547-b69b-469f-a11f-2d875366bbdc - Ñunç elementum - http://purl.org/dc/dcmitype/Dataset - - 44.79 -6.17 - 51.13 -2.23 - - - - urn:uuid:a06af396-3105-442d-8b40-22b57a90d2f2 - Lorem ipsum dolor sit amet - http://purl.org/dc/dcmitype/Image - - - diff --git a/tests/expected/suites_cite_post_34a019a9-1581-42cb-9827-fbfdda2773b7.xml b/tests/expected/suites_cite_post_34a019a9-1581-42cb-9827-fbfdda2773b7.xml deleted file mode 100644 index a22dee078..000000000 --- a/tests/expected/suites_cite_post_34a019a9-1581-42cb-9827-fbfdda2773b7.xml +++ /dev/null @@ -1,6 +0,0 @@ - - - - - - diff --git a/tests/expected/suites_cite_post_3e76fd38-e035-41c9-83dc-61356f680c97.xml b/tests/expected/suites_cite_post_3e76fd38-e035-41c9-83dc-61356f680c97.xml deleted file mode 100644 index c8ed32a33..000000000 --- a/tests/expected/suites_cite_post_3e76fd38-e035-41c9-83dc-61356f680c97.xml +++ /dev/null @@ -1,7 +0,0 @@ - - - - - Invalid value for schemalanguage: http://purl.oclc.org/dsdl/schematron - - diff --git a/tests/expected/suites_cite_post_418a6fb0-a89c-4a94-afc9-3f8168eb2980.xml b/tests/expected/suites_cite_post_418a6fb0-a89c-4a94-afc9-3f8168eb2980.xml deleted file mode 100644 index a53001dc4..000000000 --- a/tests/expected/suites_cite_post_418a6fb0-a89c-4a94-afc9-3f8168eb2980.xml +++ /dev/null @@ -1,15 +0,0 @@ - - - - - - - urn:uuid:94bc9c83-97f6-4b40-9eb8-a8e8787a5c63 - 2006-03-26 - - 47.59 -4.1 - 51.22 0.89 - - - - diff --git a/tests/expected/suites_cite_post_420b745e-0c4b-404e-9f2d-61fa580ff05a.xml b/tests/expected/suites_cite_post_420b745e-0c4b-404e-9f2d-61fa580ff05a.xml deleted file mode 100644 index 25097018b..000000000 --- a/tests/expected/suites_cite_post_420b745e-0c4b-404e-9f2d-61fa580ff05a.xml +++ /dev/null @@ -1,22 +0,0 @@ - - - - - - - urn:uuid:9a669547-b69b-469f-a11f-2d875366bbdc - http://purl.org/dc/dcmitype/Dataset - 2005-10-24 - - - urn:uuid:94bc9c83-97f6-4b40-9eb8-a8e8787a5c63 - http://purl.org/dc/dcmitype/Dataset - 2006-03-26 - - - urn:uuid:784e2afd-a9fd-44a6-9a92-a3848371c8ec - http://purl.org/dc/dcmitype/Text - 2006-05-12 - - - diff --git a/tests/expected/suites_cite_post_4735d649-a2b1-42fd-a101-14e1d7e4607f.xml b/tests/expected/suites_cite_post_4735d649-a2b1-42fd-a101-14e1d7e4607f.xml deleted file mode 100644 index a70706709..000000000 --- a/tests/expected/suites_cite_post_4735d649-a2b1-42fd-a101-14e1d7e4607f.xml +++ /dev/null @@ -1,44 +0,0 @@ - - - - - - - urn:uuid:66ae76b7-54ba-489b-a582-0f0633d96493 - Maecenas enim - http://purl.org/dc/dcmitype/Text - Marine sediments - application/xhtml+xml - Pellentesque tempus magna non sapien fringilla blandit. - - - urn:uuid:6a3de50b-fa66-4b58-a0e6-ca146fdd18d4 - Ut facilisis justo ut lacus - http://purl.org/dc/dcmitype/Service - Vegetation - urn:uuid:94bc9c83-97f6-4b40-9eb8-a8e8787a5c63 - - - urn:uuid:784e2afd-a9fd-44a6-9a92-a3848371c8ec - Aliquam fermentum purus quis arcu - http://purl.org/dc/dcmitype/Text - Hydrography--Dictionaries - application/pdf - Vestibulum quis ipsum sit amet metus imperdiet vehicula. Nulla scelerisque cursus mi. - - - urn:uuid:829babb0-b2f1-49e1-8cd5-7b489fe71a1e - Vestibulum massa purus - http://purl.org/dc/dcmitype/Image - image/jp2 - urn:uuid:9a669547-b69b-469f-a11f-2d875366bbdc - - - urn:uuid:88247b56-4cbc-4df9-9860-db3f8042e357 - - http://purl.org/dc/dcmitype/Dataset - Physiography-Landforms - Donec scelerisque pede ut nisl luctus accumsan. Quisque ultrices, lorem eget feugiat fringilla, lorem dui porttitor ante, cursus ultrices magna odio eu neque. - - - diff --git a/tests/expected/suites_cite_post_5c5861bc-f742-40a5-9998-5342615d674b.xml b/tests/expected/suites_cite_post_5c5861bc-f742-40a5-9998-5342615d674b.xml deleted file mode 100644 index 7d1cd623e..000000000 --- a/tests/expected/suites_cite_post_5c5861bc-f742-40a5-9998-5342615d674b.xml +++ /dev/null @@ -1,49 +0,0 @@ - - - - - - - urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f - http://purl.org/dc/dcmitype/Image - image/svg+xml - Lorem ipsum - GR-22 - Tourism--Greece - Quisque lacus diam, placerat mollis, pharetra in, commodo sed, augue. Duis iaculis arcu vel arcu. - - - urn:uuid:88247b56-4cbc-4df9-9860-db3f8042e357 - http://purl.org/dc/dcmitype/Dataset - Physiography-Landforms - FI-ES - Donec scelerisque pede ut nisl luctus accumsan. Quisque ultrices, lorem eget feugiat fringilla, lorem dui porttitor ante, cursus ultrices magna odio eu neque. - - - urn:uuid:94bc9c83-97f6-4b40-9eb8-a8e8787a5c63 - http://purl.org/dc/dcmitype/Dataset - Mauris sed neque - Vegetation-Cropland - Curabitur lacinia, ante non porta tempus, mi lorem feugiat odio, eget suscipit eros pede ac velit. - 2006-03-26 - - 47.595 -4.097 - 51.217 0.889 - - - - urn:uuid:a06af396-3105-442d-8b40-22b57a90d2f2 - http://purl.org/dc/dcmitype/Image - Lorem ipsum dolor sit amet - image/jpeg - IT-FI - - - urn:uuid:ab42a8c4-95e8-4630-bf79-33e59241605a - http://purl.org/dc/dcmitype/Service - Physiography - Suspendisse accumsan molestie lorem. Nullam velit turpis, mattis ut, varius bibendum, laoreet non, quam. - urn:uuid:88247b56-4cbc-4df9-9860-db3f8042e357 - - - diff --git a/tests/expected/suites_cite_post_6e736fd0-c266-4852-9eb3-0656f5d0f5c4.xml b/tests/expected/suites_cite_post_6e736fd0-c266-4852-9eb3-0656f5d0f5c4.xml deleted file mode 100644 index e96a0237f..000000000 --- a/tests/expected/suites_cite_post_6e736fd0-c266-4852-9eb3-0656f5d0f5c4.xml +++ /dev/null @@ -1,89 +0,0 @@ - - - - - - - urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f - Lorem ipsum - http://purl.org/dc/dcmitype/Image - Tourism--Greece - image/svg+xml - Quisque lacus diam, placerat mollis, pharetra in, commodo sed, augue. Duis iaculis arcu vel arcu. - - - urn:uuid:1ef30a8b-876d-4828-9246-c37ab4510bbd - - http://purl.org/dc/dcmitype/Service - Proin sit amet justo. In justo. Aenean adipiscing nulla id tellus. - - 60.04 13.75 - 68.41 17.92 - - - - urn:uuid:66ae76b7-54ba-489b-a582-0f0633d96493 - Maecenas enim - http://purl.org/dc/dcmitype/Text - Marine sediments - application/xhtml+xml - Pellentesque tempus magna non sapien fringilla blandit. - - - urn:uuid:6a3de50b-fa66-4b58-a0e6-ca146fdd18d4 - Ut facilisis justo ut lacus - http://purl.org/dc/dcmitype/Service - Vegetation - urn:uuid:94bc9c83-97f6-4b40-9eb8-a8e8787a5c63 - - - urn:uuid:784e2afd-a9fd-44a6-9a92-a3848371c8ec - Aliquam fermentum purus quis arcu - http://purl.org/dc/dcmitype/Text - Hydrography--Dictionaries - application/pdf - Vestibulum quis ipsum sit amet metus imperdiet vehicula. Nulla scelerisque cursus mi. - - - urn:uuid:829babb0-b2f1-49e1-8cd5-7b489fe71a1e - Vestibulum massa purus - http://purl.org/dc/dcmitype/Image - image/jp2 - urn:uuid:9a669547-b69b-469f-a11f-2d875366bbdc - - - urn:uuid:88247b56-4cbc-4df9-9860-db3f8042e357 - - http://purl.org/dc/dcmitype/Dataset - Physiography-Landforms - Donec scelerisque pede ut nisl luctus accumsan. Quisque ultrices, lorem eget feugiat fringilla, lorem dui porttitor ante, cursus ultrices magna odio eu neque. - - - urn:uuid:94bc9c83-97f6-4b40-9eb8-a8e8787a5c63 - Mauris sed neque - http://purl.org/dc/dcmitype/Dataset - Vegetation-Cropland - Curabitur lacinia, ante non porta tempus, mi lorem feugiat odio, eget suscipit eros pede ac velit. - - 47.59 -4.1 - 51.22 0.89 - - - - urn:uuid:9a669547-b69b-469f-a11f-2d875366bbdc - Ñunç elementum - http://purl.org/dc/dcmitype/Dataset - Hydrography-Oceanographic - - 44.79 -6.17 - 51.13 -2.23 - - - - urn:uuid:a06af396-3105-442d-8b40-22b57a90d2f2 - Lorem ipsum dolor sit amet - http://purl.org/dc/dcmitype/Image - image/jpeg - - - diff --git a/tests/expected/suites_cite_post_73f1551c-e269-4ef9-9dae-e535b5eebfc7.xml b/tests/expected/suites_cite_post_73f1551c-e269-4ef9-9dae-e535b5eebfc7.xml deleted file mode 100644 index 4060ee230..000000000 --- a/tests/expected/suites_cite_post_73f1551c-e269-4ef9-9dae-e535b5eebfc7.xml +++ /dev/null @@ -1,18 +0,0 @@ - - - - - - - urn:uuid:9a669547-b69b-469f-a11f-2d875366bbdc - http://purl.org/dc/dcmitype/Dataset - Ñunç elementum - Hydrography-Oceanographic - 2005-10-24 - - 44.792 -6.171 - 51.126 -2.228 - - - - diff --git a/tests/expected/suites_cite_post_78297c88-4850-4927-adc6-511cd9a3d539.xml b/tests/expected/suites_cite_post_78297c88-4850-4927-adc6-511cd9a3d539.xml deleted file mode 100644 index 76101a6bb..000000000 --- a/tests/expected/suites_cite_post_78297c88-4850-4927-adc6-511cd9a3d539.xml +++ /dev/null @@ -1,115 +0,0 @@ - - - - - - - - http://schemas.opengis.net/csw/2.0.2/record.xsd - - - This schema defines the basic record types that must be supported - by all CSW implementations. These correspond to full, summary, and - brief views based on DCMI metadata terms. - - CSW is an OGC Standard. - Copyright (c) 2004,2010 Open Geospatial Consortium, Inc. All Rights Reserved. - To obtain additional rights of use, visit http://www.opengeospatial.org/legal/ . - - - - - - - - - - - - - - - This type encapsulates all of the standard DCMI metadata terms, - including the Dublin Core refinements; these terms may be mapped - to the profile-specific information model. - - - - - - - - - - - - - - - - This type defines a brief representation of the common record - format. It extends AbstractRecordType to include only the - dc:identifier and dc:type properties. - - - - - - - - - - - - - - - - - - - This type defines a summary representation of the common record - format. It extends AbstractRecordType to include the core - properties. - - - - - - - - - - - - - - - - - - - - - - - - - This type extends DCMIRecordType to add ows:BoundingBox; - it may be used to specify a spatial envelope for the - catalogued resource. - - - - - - - - - - - - - - - diff --git a/tests/expected/suites_cite_post_7c89cdf5-0def-4cfb-8c55-2b8ffea5d92f.xml b/tests/expected/suites_cite_post_7c89cdf5-0def-4cfb-8c55-2b8ffea5d92f.xml deleted file mode 100644 index 4d9e1fd3d..000000000 --- a/tests/expected/suites_cite_post_7c89cdf5-0def-4cfb-8c55-2b8ffea5d92f.xml +++ /dev/null @@ -1,56 +0,0 @@ - - - - - - - - urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f - urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f - - Lorem ipsum - PYCSW_TIMESTAMP - Quisque lacus diam, placerat mollis, pharetra in, commodo sed, augue. Duis iaculis arcu vel arcu. - - - urn:uuid:1ef30a8b-876d-4828-9246-c37ab4510bbd - urn:uuid:1ef30a8b-876d-4828-9246-c37ab4510bbd - - - PYCSW_TIMESTAMP - Proin sit amet justo. In justo. Aenean adipiscing nulla id tellus. - - - 60.04 13.75 - 68.41 17.92 - - - - - - urn:uuid:66ae76b7-54ba-489b-a582-0f0633d96493 - urn:uuid:66ae76b7-54ba-489b-a582-0f0633d96493 - - Maecenas enim - PYCSW_TIMESTAMP - Pellentesque tempus magna non sapien fringilla blandit. - - - - urn:uuid:6a3de50b-fa66-4b58-a0e6-ca146fdd18d4 - urn:uuid:6a3de50b-fa66-4b58-a0e6-ca146fdd18d4 - - Ut facilisis justo ut lacus - PYCSW_TIMESTAMP - - - - urn:uuid:784e2afd-a9fd-44a6-9a92-a3848371c8ec - urn:uuid:784e2afd-a9fd-44a6-9a92-a3848371c8ec - - Aliquam fermentum purus quis arcu - PYCSW_TIMESTAMP - Vestibulum quis ipsum sit amet metus imperdiet vehicula. Nulla scelerisque cursus mi. - - - diff --git a/tests/expected/suites_cite_post_7e2cd105-daec-4d25-bc8e-d49d21364912.xml b/tests/expected/suites_cite_post_7e2cd105-daec-4d25-bc8e-d49d21364912.xml deleted file mode 100644 index 5f82a7d41..000000000 --- a/tests/expected/suites_cite_post_7e2cd105-daec-4d25-bc8e-d49d21364912.xml +++ /dev/null @@ -1,3 +0,0 @@ - - - diff --git a/tests/expected/suites_cite_post_87f2f670-9cd6-4907-b82c-1b46a7dd2a78.xml b/tests/expected/suites_cite_post_87f2f670-9cd6-4907-b82c-1b46a7dd2a78.xml deleted file mode 100644 index d81b5493e..000000000 --- a/tests/expected/suites_cite_post_87f2f670-9cd6-4907-b82c-1b46a7dd2a78.xml +++ /dev/null @@ -1,50 +0,0 @@ - - - - - - - urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f - http://purl.org/dc/dcmitype/Image - - - urn:uuid:1ef30a8b-876d-4828-9246-c37ab4510bbd - http://purl.org/dc/dcmitype/Service - - - urn:uuid:66ae76b7-54ba-489b-a582-0f0633d96493 - http://purl.org/dc/dcmitype/Text - - - urn:uuid:6a3de50b-fa66-4b58-a0e6-ca146fdd18d4 - http://purl.org/dc/dcmitype/Service - - - urn:uuid:784e2afd-a9fd-44a6-9a92-a3848371c8ec - http://purl.org/dc/dcmitype/Text - 2006-05-12 - - - urn:uuid:829babb0-b2f1-49e1-8cd5-7b489fe71a1e - http://purl.org/dc/dcmitype/Image - - - urn:uuid:88247b56-4cbc-4df9-9860-db3f8042e357 - http://purl.org/dc/dcmitype/Dataset - - - urn:uuid:94bc9c83-97f6-4b40-9eb8-a8e8787a5c63 - http://purl.org/dc/dcmitype/Dataset - 2006-03-26 - - - urn:uuid:9a669547-b69b-469f-a11f-2d875366bbdc - http://purl.org/dc/dcmitype/Dataset - 2005-10-24 - - - urn:uuid:a06af396-3105-442d-8b40-22b57a90d2f2 - http://purl.org/dc/dcmitype/Image - - - diff --git a/tests/expected/suites_cite_post_88b4e1ba-3bd4-4cbe-81e5-e004056d6ca3.xml b/tests/expected/suites_cite_post_88b4e1ba-3bd4-4cbe-81e5-e004056d6ca3.xml deleted file mode 100644 index ef7576e15..000000000 --- a/tests/expected/suites_cite_post_88b4e1ba-3bd4-4cbe-81e5-e004056d6ca3.xml +++ /dev/null @@ -1,7 +0,0 @@ - - - - - Invalid value for outputformat: text/sgml - - diff --git a/tests/expected/suites_cite_post_898cd63b-2585-4ec0-8720-d554bd324174.xml b/tests/expected/suites_cite_post_898cd63b-2585-4ec0-8720-d554bd324174.xml deleted file mode 100644 index f77acfc5c..000000000 --- a/tests/expected/suites_cite_post_898cd63b-2585-4ec0-8720-d554bd324174.xml +++ /dev/null @@ -1,14 +0,0 @@ - - - - - - - urn:uuid:829babb0-b2f1-49e1-8cd5-7b489fe71a1e - Vestibulum massa purus - http://purl.org/dc/dcmitype/Image - image/jp2 - urn:uuid:9a669547-b69b-469f-a11f-2d875366bbdc - - - diff --git a/tests/expected/suites_cite_post_8fb13dc3-5818-45e2-9e29-46abc16e7d38.xml b/tests/expected/suites_cite_post_8fb13dc3-5818-45e2-9e29-46abc16e7d38.xml deleted file mode 100644 index 9c08c604e..000000000 --- a/tests/expected/suites_cite_post_8fb13dc3-5818-45e2-9e29-46abc16e7d38.xml +++ /dev/null @@ -1,48 +0,0 @@ - - - - - - - urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f - - - urn:uuid:66ae76b7-54ba-489b-a582-0f0633d96493 - - - urn:uuid:6a3de50b-fa66-4b58-a0e6-ca146fdd18d4 - - - urn:uuid:784e2afd-a9fd-44a6-9a92-a3848371c8ec - - - urn:uuid:829babb0-b2f1-49e1-8cd5-7b489fe71a1e - - - urn:uuid:88247b56-4cbc-4df9-9860-db3f8042e357 - - - urn:uuid:94bc9c83-97f6-4b40-9eb8-a8e8787a5c63 - - 47.59 -4.1 - 51.22 0.89 - - - - urn:uuid:9a669547-b69b-469f-a11f-2d875366bbdc - - 44.79 -6.17 - 51.13 -2.23 - - - - urn:uuid:a06af396-3105-442d-8b40-22b57a90d2f2 - - - urn:uuid:ab42a8c4-95e8-4630-bf79-33e59241605a - - - urn:uuid:e9330592-0932-474b-be34-c3a3bb67c7db - - - diff --git a/tests/expected/suites_cite_post_928c1896-52d4-4ac7-9832-f98e3eb65f02.xml b/tests/expected/suites_cite_post_928c1896-52d4-4ac7-9832-f98e3eb65f02.xml deleted file mode 100644 index baf37aaf2..000000000 --- a/tests/expected/suites_cite_post_928c1896-52d4-4ac7-9832-f98e3eb65f02.xml +++ /dev/null @@ -1,17 +0,0 @@ - - - - - - - urn:uuid:e9330592-0932-474b-be34-c3a3bb67c7db - http://purl.org/dc/dcmitype/Text - 2003-05-09 - - - urn:uuid:9a669547-b69b-469f-a11f-2d875366bbdc - http://purl.org/dc/dcmitype/Dataset - 2005-10-24 - - - diff --git a/tests/expected/suites_cite_post_93bdbb9d-2734-4f01-92fb-48634cca41de.xml b/tests/expected/suites_cite_post_93bdbb9d-2734-4f01-92fb-48634cca41de.xml deleted file mode 100644 index 9a5d49e55..000000000 --- a/tests/expected/suites_cite_post_93bdbb9d-2734-4f01-92fb-48634cca41de.xml +++ /dev/null @@ -1,21 +0,0 @@ - - - - - - - urn:uuid:94bc9c83-97f6-4b40-9eb8-a8e8787a5c63 - - 47.59 -4.1 - 51.22 0.89 - - - - urn:uuid:9a669547-b69b-469f-a11f-2d875366bbdc - - 44.79 -6.17 - 51.13 -2.23 - - - - diff --git a/tests/expected/suites_cite_post_948b39d5-bb4f-45b8-a8f2-4ff9501aaedd.xml b/tests/expected/suites_cite_post_948b39d5-bb4f-45b8-a8f2-4ff9501aaedd.xml deleted file mode 100644 index b214975bc..000000000 --- a/tests/expected/suites_cite_post_948b39d5-bb4f-45b8-a8f2-4ff9501aaedd.xml +++ /dev/null @@ -1,51 +0,0 @@ - - - - - - - urn:uuid:784e2afd-a9fd-44a6-9a92-a3848371c8ec - http://purl.org/dc/dcmitype/Text - 2006-05-12 - - - urn:uuid:94bc9c83-97f6-4b40-9eb8-a8e8787a5c63 - http://purl.org/dc/dcmitype/Dataset - 2006-03-26 - - - urn:uuid:9a669547-b69b-469f-a11f-2d875366bbdc - http://purl.org/dc/dcmitype/Dataset - 2005-10-24 - - - urn:uuid:e9330592-0932-474b-be34-c3a3bb67c7db - http://purl.org/dc/dcmitype/Text - 2003-05-09 - - - urn:uuid:ab42a8c4-95e8-4630-bf79-33e59241605a - http://purl.org/dc/dcmitype/Service - - - urn:uuid:a06af396-3105-442d-8b40-22b57a90d2f2 - http://purl.org/dc/dcmitype/Image - - - urn:uuid:88247b56-4cbc-4df9-9860-db3f8042e357 - http://purl.org/dc/dcmitype/Dataset - - - urn:uuid:829babb0-b2f1-49e1-8cd5-7b489fe71a1e - http://purl.org/dc/dcmitype/Image - - - urn:uuid:6a3de50b-fa66-4b58-a0e6-ca146fdd18d4 - http://purl.org/dc/dcmitype/Service - - - urn:uuid:66ae76b7-54ba-489b-a582-0f0633d96493 - http://purl.org/dc/dcmitype/Text - - - diff --git a/tests/expected/suites_cite_post_9fd64fcc-f69c-4626-b72e-5c7776a29aa9.xml b/tests/expected/suites_cite_post_9fd64fcc-f69c-4626-b72e-5c7776a29aa9.xml deleted file mode 100644 index 214379d29..000000000 --- a/tests/expected/suites_cite_post_9fd64fcc-f69c-4626-b72e-5c7776a29aa9.xml +++ /dev/null @@ -1,7 +0,0 @@ - - - - - Typename not qualified: Record - - diff --git a/tests/expected/suites_cite_post_a06d04ab-e0d0-4a86-bfe8-71460f41fe37.xml b/tests/expected/suites_cite_post_a06d04ab-e0d0-4a86-bfe8-71460f41fe37.xml deleted file mode 100644 index fb722adad..000000000 --- a/tests/expected/suites_cite_post_a06d04ab-e0d0-4a86-bfe8-71460f41fe37.xml +++ /dev/null @@ -1,69 +0,0 @@ - - - - - - - urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f - Lorem ipsum - http://purl.org/dc/dcmitype/Image - - - urn:uuid:1ef30a8b-876d-4828-9246-c37ab4510bbd - - http://purl.org/dc/dcmitype/Service - - 60.04 13.75 - 68.41 17.92 - - - - urn:uuid:66ae76b7-54ba-489b-a582-0f0633d96493 - Maecenas enim - http://purl.org/dc/dcmitype/Text - - - urn:uuid:6a3de50b-fa66-4b58-a0e6-ca146fdd18d4 - Ut facilisis justo ut lacus - http://purl.org/dc/dcmitype/Service - - - urn:uuid:784e2afd-a9fd-44a6-9a92-a3848371c8ec - Aliquam fermentum purus quis arcu - http://purl.org/dc/dcmitype/Text - - - urn:uuid:829babb0-b2f1-49e1-8cd5-7b489fe71a1e - Vestibulum massa purus - http://purl.org/dc/dcmitype/Image - - - urn:uuid:88247b56-4cbc-4df9-9860-db3f8042e357 - - http://purl.org/dc/dcmitype/Dataset - - - urn:uuid:94bc9c83-97f6-4b40-9eb8-a8e8787a5c63 - Mauris sed neque - http://purl.org/dc/dcmitype/Dataset - - 47.59 -4.1 - 51.22 0.89 - - - - urn:uuid:9a669547-b69b-469f-a11f-2d875366bbdc - Ñunç elementum - http://purl.org/dc/dcmitype/Dataset - - 44.79 -6.17 - 51.13 -2.23 - - - - urn:uuid:a06af396-3105-442d-8b40-22b57a90d2f2 - Lorem ipsum dolor sit amet - http://purl.org/dc/dcmitype/Image - - - diff --git a/tests/expected/suites_cite_post_ad61686c-d304-42d1-b845-8c1f3070c83e.xml b/tests/expected/suites_cite_post_ad61686c-d304-42d1-b845-8c1f3070c83e.xml deleted file mode 100644 index 71d14fa61..000000000 --- a/tests/expected/suites_cite_post_ad61686c-d304-42d1-b845-8c1f3070c83e.xml +++ /dev/null @@ -1,8 +0,0 @@ - - - - - Exception: the document is not valid. -Error: Element '{http://www.opengis.net/foo}Filter': This element is not expected. Expected is one of ( {http://www.opengis.net/ogc}Filter, {http://www.opengis.net/cat/csw/2.0.2}CqlText ). - - diff --git a/tests/expected/suites_cite_post_af39c020-7b1d-429c-b474-f45c3164cb79.xml b/tests/expected/suites_cite_post_af39c020-7b1d-429c-b474-f45c3164cb79.xml deleted file mode 100644 index 960d5f57d..000000000 --- a/tests/expected/suites_cite_post_af39c020-7b1d-429c-b474-f45c3164cb79.xml +++ /dev/null @@ -1,21 +0,0 @@ - - - - - - - urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f - Lorem ipsum - http://purl.org/dc/dcmitype/Image - Tourism--Greece - image/svg+xml - Quisque lacus diam, placerat mollis, pharetra in, commodo sed, augue. Duis iaculis arcu vel arcu. - - - urn:uuid:a06af396-3105-442d-8b40-22b57a90d2f2 - Lorem ipsum dolor sit amet - http://purl.org/dc/dcmitype/Image - image/jpeg - - - diff --git a/tests/expected/suites_cite_post_b90e2de6-3d25-4298-a13e-dc9492a8fc73.xml b/tests/expected/suites_cite_post_b90e2de6-3d25-4298-a13e-dc9492a8fc73.xml deleted file mode 100644 index 0c5581f88..000000000 --- a/tests/expected/suites_cite_post_b90e2de6-3d25-4298-a13e-dc9492a8fc73.xml +++ /dev/null @@ -1,91 +0,0 @@ - - - - - - - urn:uuid:1ef30a8b-876d-4828-9246-c37ab4510bbd - - http://purl.org/dc/dcmitype/Service - Proin sit amet justo. In justo. Aenean adipiscing nulla id tellus. - - 60.04 13.75 - 68.41 17.92 - - - - urn:uuid:66ae76b7-54ba-489b-a582-0f0633d96493 - Maecenas enim - http://purl.org/dc/dcmitype/Text - Marine sediments - application/xhtml+xml - Pellentesque tempus magna non sapien fringilla blandit. - - - urn:uuid:6a3de50b-fa66-4b58-a0e6-ca146fdd18d4 - Ut facilisis justo ut lacus - http://purl.org/dc/dcmitype/Service - Vegetation - urn:uuid:94bc9c83-97f6-4b40-9eb8-a8e8787a5c63 - - - urn:uuid:784e2afd-a9fd-44a6-9a92-a3848371c8ec - Aliquam fermentum purus quis arcu - http://purl.org/dc/dcmitype/Text - Hydrography--Dictionaries - application/pdf - Vestibulum quis ipsum sit amet metus imperdiet vehicula. Nulla scelerisque cursus mi. - - - urn:uuid:829babb0-b2f1-49e1-8cd5-7b489fe71a1e - Vestibulum massa purus - http://purl.org/dc/dcmitype/Image - image/jp2 - urn:uuid:9a669547-b69b-469f-a11f-2d875366bbdc - - - urn:uuid:88247b56-4cbc-4df9-9860-db3f8042e357 - - http://purl.org/dc/dcmitype/Dataset - Physiography-Landforms - Donec scelerisque pede ut nisl luctus accumsan. Quisque ultrices, lorem eget feugiat fringilla, lorem dui porttitor ante, cursus ultrices magna odio eu neque. - - - urn:uuid:94bc9c83-97f6-4b40-9eb8-a8e8787a5c63 - Mauris sed neque - http://purl.org/dc/dcmitype/Dataset - Vegetation-Cropland - Curabitur lacinia, ante non porta tempus, mi lorem feugiat odio, eget suscipit eros pede ac velit. - - 47.59 -4.1 - 51.22 0.89 - - - - urn:uuid:9a669547-b69b-469f-a11f-2d875366bbdc - Ñunç elementum - http://purl.org/dc/dcmitype/Dataset - Hydrography-Oceanographic - - 44.79 -6.17 - 51.13 -2.23 - - - - urn:uuid:ab42a8c4-95e8-4630-bf79-33e59241605a - - http://purl.org/dc/dcmitype/Service - Physiography - urn:uuid:88247b56-4cbc-4df9-9860-db3f8042e357 - Suspendisse accumsan molestie lorem. Nullam velit turpis, mattis ut, varius bibendum, laoreet non, quam. - - - urn:uuid:e9330592-0932-474b-be34-c3a3bb67c7db - Fuscé vitae ligulä - http://purl.org/dc/dcmitype/Text - Land titles - text/rtf - Morbi ultriçes, dui suscipit vestibulum prètium, velit ante pretium tortor, egët tincidunt pede odio ac nulla. - - - diff --git a/tests/expected/suites_cite_post_ba9b0107-dcee-46ef-823a-a2e25a911a96.xml b/tests/expected/suites_cite_post_ba9b0107-dcee-46ef-823a-a2e25a911a96.xml deleted file mode 100644 index 98e2c78c5..000000000 --- a/tests/expected/suites_cite_post_ba9b0107-dcee-46ef-823a-a2e25a911a96.xml +++ /dev/null @@ -1,36 +0,0 @@ - - - - - - - urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f - Lorem ipsum - http://purl.org/dc/dcmitype/Image - Tourism--Greece - image/svg+xml - Quisque lacus diam, placerat mollis, pharetra in, commodo sed, augue. Duis iaculis arcu vel arcu. - - - urn:uuid:66ae76b7-54ba-489b-a582-0f0633d96493 - Maecenas enim - http://purl.org/dc/dcmitype/Text - Marine sediments - application/xhtml+xml - Pellentesque tempus magna non sapien fringilla blandit. - - - urn:uuid:829babb0-b2f1-49e1-8cd5-7b489fe71a1e - Vestibulum massa purus - http://purl.org/dc/dcmitype/Image - image/jp2 - urn:uuid:9a669547-b69b-469f-a11f-2d875366bbdc - - - urn:uuid:a06af396-3105-442d-8b40-22b57a90d2f2 - Lorem ipsum dolor sit amet - http://purl.org/dc/dcmitype/Image - image/jpeg - - - diff --git a/tests/expected/suites_cite_post_bb66ebc5-7121-48b5-9f53-b56537d9561b.xml b/tests/expected/suites_cite_post_bb66ebc5-7121-48b5-9f53-b56537d9561b.xml deleted file mode 100644 index 0a392cbdd..000000000 --- a/tests/expected/suites_cite_post_bb66ebc5-7121-48b5-9f53-b56537d9561b.xml +++ /dev/null @@ -1,19 +0,0 @@ - - - - - - - urn:uuid:88247b56-4cbc-4df9-9860-db3f8042e357 - http://purl.org/dc/dcmitype/Dataset - - - urn:uuid:94bc9c83-97f6-4b40-9eb8-a8e8787a5c63 - http://purl.org/dc/dcmitype/Dataset - - 47.59 -4.1 - 51.22 0.89 - - - - diff --git a/tests/expected/suites_cite_post_c02d1c85-df9f-45ee-bea7-345c35e02a98.xml b/tests/expected/suites_cite_post_c02d1c85-df9f-45ee-bea7-345c35e02a98.xml deleted file mode 100644 index 26bfbf2b7..000000000 --- a/tests/expected/suites_cite_post_c02d1c85-df9f-45ee-bea7-345c35e02a98.xml +++ /dev/null @@ -1,7 +0,0 @@ - - - - - Invalid Constraint: Invalid Filter request: 'NoneType' object has no attribute 'text' - - diff --git a/tests/expected/suites_cite_post_c311a342-72e3-4983-be39-868e6ed9740f.xml b/tests/expected/suites_cite_post_c311a342-72e3-4983-be39-868e6ed9740f.xml deleted file mode 100644 index 76101a6bb..000000000 --- a/tests/expected/suites_cite_post_c311a342-72e3-4983-be39-868e6ed9740f.xml +++ /dev/null @@ -1,115 +0,0 @@ - - - - - - - - http://schemas.opengis.net/csw/2.0.2/record.xsd - - - This schema defines the basic record types that must be supported - by all CSW implementations. These correspond to full, summary, and - brief views based on DCMI metadata terms. - - CSW is an OGC Standard. - Copyright (c) 2004,2010 Open Geospatial Consortium, Inc. All Rights Reserved. - To obtain additional rights of use, visit http://www.opengeospatial.org/legal/ . - - - - - - - - - - - - - - - This type encapsulates all of the standard DCMI metadata terms, - including the Dublin Core refinements; these terms may be mapped - to the profile-specific information model. - - - - - - - - - - - - - - - - This type defines a brief representation of the common record - format. It extends AbstractRecordType to include only the - dc:identifier and dc:type properties. - - - - - - - - - - - - - - - - - - - This type defines a summary representation of the common record - format. It extends AbstractRecordType to include the core - properties. - - - - - - - - - - - - - - - - - - - - - - - - - This type extends DCMIRecordType to add ows:BoundingBox; - it may be used to specify a spatial envelope for the - catalogued resource. - - - - - - - - - - - - - - - diff --git a/tests/expected/suites_cite_post_c38916c2-4bc6-446d-b7aa-ab006d6ba31c.xml b/tests/expected/suites_cite_post_c38916c2-4bc6-446d-b7aa-ab006d6ba31c.xml deleted file mode 100644 index d9c18a038..000000000 --- a/tests/expected/suites_cite_post_c38916c2-4bc6-446d-b7aa-ab006d6ba31c.xml +++ /dev/null @@ -1,27 +0,0 @@ - - - - - - - urn:uuid:784e2afd-a9fd-44a6-9a92-a3848371c8ec - 2006-05-12 - - - urn:uuid:94bc9c83-97f6-4b40-9eb8-a8e8787a5c63 - 2006-03-26 - - 47.59 -4.1 - 51.22 0.89 - - - - urn:uuid:9a669547-b69b-469f-a11f-2d875366bbdc - 2005-10-24 - - 44.79 -6.17 - 51.13 -2.23 - - - - diff --git a/tests/expected/suites_cite_post_c8588f47-8e65-45f5-ad34-ff4524cad84d.xml b/tests/expected/suites_cite_post_c8588f47-8e65-45f5-ad34-ff4524cad84d.xml deleted file mode 100644 index 12342af16..000000000 --- a/tests/expected/suites_cite_post_c8588f47-8e65-45f5-ad34-ff4524cad84d.xml +++ /dev/null @@ -1,7 +0,0 @@ - - - - - Invalid Constraint: Invalid Filter request: Invalid ogc:PropertyName in spatial filter: dct:spatial - - diff --git a/tests/expected/suites_cite_post_da228d4c-e1be-43d7-9ccb-c3f27ee32541.xml b/tests/expected/suites_cite_post_da228d4c-e1be-43d7-9ccb-c3f27ee32541.xml deleted file mode 100644 index 2b0eebed4..000000000 --- a/tests/expected/suites_cite_post_da228d4c-e1be-43d7-9ccb-c3f27ee32541.xml +++ /dev/null @@ -1,7 +0,0 @@ - - - - - Invalid Constraint: Invalid Filter request: Invalid PropertyName: /dc:title. '/dc:title' - - diff --git a/tests/expected/suites_cite_post_dc92c2c4-87d8-4a13-964e-ff9b0e0c27b3.xml b/tests/expected/suites_cite_post_dc92c2c4-87d8-4a13-964e-ff9b0e0c27b3.xml deleted file mode 100644 index 371b26a4c..000000000 --- a/tests/expected/suites_cite_post_dc92c2c4-87d8-4a13-964e-ff9b0e0c27b3.xml +++ /dev/null @@ -1,22 +0,0 @@ - - - - - - - urn:uuid:e9330592-0932-474b-be34-c3a3bb67c7db - http://purl.org/dc/dcmitype/Text - 2003-05-09 - - - urn:uuid:9a669547-b69b-469f-a11f-2d875366bbdc - http://purl.org/dc/dcmitype/Dataset - 2005-10-24 - - - urn:uuid:94bc9c83-97f6-4b40-9eb8-a8e8787a5c63 - http://purl.org/dc/dcmitype/Dataset - 2006-03-26 - - - diff --git a/tests/expected/suites_cite_post_dcb13791-379e-4739-bcd4-dbaa69f0efdb.xml b/tests/expected/suites_cite_post_dcb13791-379e-4739-bcd4-dbaa69f0efdb.xml deleted file mode 100644 index fb722adad..000000000 --- a/tests/expected/suites_cite_post_dcb13791-379e-4739-bcd4-dbaa69f0efdb.xml +++ /dev/null @@ -1,69 +0,0 @@ - - - - - - - urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f - Lorem ipsum - http://purl.org/dc/dcmitype/Image - - - urn:uuid:1ef30a8b-876d-4828-9246-c37ab4510bbd - - http://purl.org/dc/dcmitype/Service - - 60.04 13.75 - 68.41 17.92 - - - - urn:uuid:66ae76b7-54ba-489b-a582-0f0633d96493 - Maecenas enim - http://purl.org/dc/dcmitype/Text - - - urn:uuid:6a3de50b-fa66-4b58-a0e6-ca146fdd18d4 - Ut facilisis justo ut lacus - http://purl.org/dc/dcmitype/Service - - - urn:uuid:784e2afd-a9fd-44a6-9a92-a3848371c8ec - Aliquam fermentum purus quis arcu - http://purl.org/dc/dcmitype/Text - - - urn:uuid:829babb0-b2f1-49e1-8cd5-7b489fe71a1e - Vestibulum massa purus - http://purl.org/dc/dcmitype/Image - - - urn:uuid:88247b56-4cbc-4df9-9860-db3f8042e357 - - http://purl.org/dc/dcmitype/Dataset - - - urn:uuid:94bc9c83-97f6-4b40-9eb8-a8e8787a5c63 - Mauris sed neque - http://purl.org/dc/dcmitype/Dataset - - 47.59 -4.1 - 51.22 0.89 - - - - urn:uuid:9a669547-b69b-469f-a11f-2d875366bbdc - Ñunç elementum - http://purl.org/dc/dcmitype/Dataset - - 44.79 -6.17 - 51.13 -2.23 - - - - urn:uuid:a06af396-3105-442d-8b40-22b57a90d2f2 - Lorem ipsum dolor sit amet - http://purl.org/dc/dcmitype/Image - - - diff --git a/tests/expected/suites_cite_post_e308f030-c097-4036-a838-44bad74c9ef7.xml b/tests/expected/suites_cite_post_e308f030-c097-4036-a838-44bad74c9ef7.xml deleted file mode 100644 index fb722adad..000000000 --- a/tests/expected/suites_cite_post_e308f030-c097-4036-a838-44bad74c9ef7.xml +++ /dev/null @@ -1,69 +0,0 @@ - - - - - - - urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f - Lorem ipsum - http://purl.org/dc/dcmitype/Image - - - urn:uuid:1ef30a8b-876d-4828-9246-c37ab4510bbd - - http://purl.org/dc/dcmitype/Service - - 60.04 13.75 - 68.41 17.92 - - - - urn:uuid:66ae76b7-54ba-489b-a582-0f0633d96493 - Maecenas enim - http://purl.org/dc/dcmitype/Text - - - urn:uuid:6a3de50b-fa66-4b58-a0e6-ca146fdd18d4 - Ut facilisis justo ut lacus - http://purl.org/dc/dcmitype/Service - - - urn:uuid:784e2afd-a9fd-44a6-9a92-a3848371c8ec - Aliquam fermentum purus quis arcu - http://purl.org/dc/dcmitype/Text - - - urn:uuid:829babb0-b2f1-49e1-8cd5-7b489fe71a1e - Vestibulum massa purus - http://purl.org/dc/dcmitype/Image - - - urn:uuid:88247b56-4cbc-4df9-9860-db3f8042e357 - - http://purl.org/dc/dcmitype/Dataset - - - urn:uuid:94bc9c83-97f6-4b40-9eb8-a8e8787a5c63 - Mauris sed neque - http://purl.org/dc/dcmitype/Dataset - - 47.59 -4.1 - 51.22 0.89 - - - - urn:uuid:9a669547-b69b-469f-a11f-2d875366bbdc - Ñunç elementum - http://purl.org/dc/dcmitype/Dataset - - 44.79 -6.17 - 51.13 -2.23 - - - - urn:uuid:a06af396-3105-442d-8b40-22b57a90d2f2 - Lorem ipsum dolor sit amet - http://purl.org/dc/dcmitype/Image - - - diff --git a/tests/expected/suites_cite_post_e6e9efb2-e2b7-4b0a-a3a2-7deea3f9b8e2.xml b/tests/expected/suites_cite_post_e6e9efb2-e2b7-4b0a-a3a2-7deea3f9b8e2.xml deleted file mode 100644 index fb722adad..000000000 --- a/tests/expected/suites_cite_post_e6e9efb2-e2b7-4b0a-a3a2-7deea3f9b8e2.xml +++ /dev/null @@ -1,69 +0,0 @@ - - - - - - - urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f - Lorem ipsum - http://purl.org/dc/dcmitype/Image - - - urn:uuid:1ef30a8b-876d-4828-9246-c37ab4510bbd - - http://purl.org/dc/dcmitype/Service - - 60.04 13.75 - 68.41 17.92 - - - - urn:uuid:66ae76b7-54ba-489b-a582-0f0633d96493 - Maecenas enim - http://purl.org/dc/dcmitype/Text - - - urn:uuid:6a3de50b-fa66-4b58-a0e6-ca146fdd18d4 - Ut facilisis justo ut lacus - http://purl.org/dc/dcmitype/Service - - - urn:uuid:784e2afd-a9fd-44a6-9a92-a3848371c8ec - Aliquam fermentum purus quis arcu - http://purl.org/dc/dcmitype/Text - - - urn:uuid:829babb0-b2f1-49e1-8cd5-7b489fe71a1e - Vestibulum massa purus - http://purl.org/dc/dcmitype/Image - - - urn:uuid:88247b56-4cbc-4df9-9860-db3f8042e357 - - http://purl.org/dc/dcmitype/Dataset - - - urn:uuid:94bc9c83-97f6-4b40-9eb8-a8e8787a5c63 - Mauris sed neque - http://purl.org/dc/dcmitype/Dataset - - 47.59 -4.1 - 51.22 0.89 - - - - urn:uuid:9a669547-b69b-469f-a11f-2d875366bbdc - Ñunç elementum - http://purl.org/dc/dcmitype/Dataset - - 44.79 -6.17 - 51.13 -2.23 - - - - urn:uuid:a06af396-3105-442d-8b40-22b57a90d2f2 - Lorem ipsum dolor sit amet - http://purl.org/dc/dcmitype/Image - - - diff --git a/tests/expected/suites_cite_post_f7976c55-a156-4421-8199-bc0487da4b0f.xml b/tests/expected/suites_cite_post_f7976c55-a156-4421-8199-bc0487da4b0f.xml deleted file mode 100644 index 76101a6bb..000000000 --- a/tests/expected/suites_cite_post_f7976c55-a156-4421-8199-bc0487da4b0f.xml +++ /dev/null @@ -1,115 +0,0 @@ - - - - - - - - http://schemas.opengis.net/csw/2.0.2/record.xsd - - - This schema defines the basic record types that must be supported - by all CSW implementations. These correspond to full, summary, and - brief views based on DCMI metadata terms. - - CSW is an OGC Standard. - Copyright (c) 2004,2010 Open Geospatial Consortium, Inc. All Rights Reserved. - To obtain additional rights of use, visit http://www.opengeospatial.org/legal/ . - - - - - - - - - - - - - - - This type encapsulates all of the standard DCMI metadata terms, - including the Dublin Core refinements; these terms may be mapped - to the profile-specific information model. - - - - - - - - - - - - - - - - This type defines a brief representation of the common record - format. It extends AbstractRecordType to include only the - dc:identifier and dc:type properties. - - - - - - - - - - - - - - - - - - - This type defines a summary representation of the common record - format. It extends AbstractRecordType to include the core - properties. - - - - - - - - - - - - - - - - - - - - - - - - - This type extends DCMIRecordType to add ows:BoundingBox; - it may be used to specify a spatial envelope for the - catalogued resource. - - - - - - - - - - - - - - - diff --git a/tests/expected/suites_cite_post_f7d79701-f10b-4087-a33c-f62df0a04fd1.xml b/tests/expected/suites_cite_post_f7d79701-f10b-4087-a33c-f62df0a04fd1.xml deleted file mode 100644 index fb722adad..000000000 --- a/tests/expected/suites_cite_post_f7d79701-f10b-4087-a33c-f62df0a04fd1.xml +++ /dev/null @@ -1,69 +0,0 @@ - - - - - - - urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f - Lorem ipsum - http://purl.org/dc/dcmitype/Image - - - urn:uuid:1ef30a8b-876d-4828-9246-c37ab4510bbd - - http://purl.org/dc/dcmitype/Service - - 60.04 13.75 - 68.41 17.92 - - - - urn:uuid:66ae76b7-54ba-489b-a582-0f0633d96493 - Maecenas enim - http://purl.org/dc/dcmitype/Text - - - urn:uuid:6a3de50b-fa66-4b58-a0e6-ca146fdd18d4 - Ut facilisis justo ut lacus - http://purl.org/dc/dcmitype/Service - - - urn:uuid:784e2afd-a9fd-44a6-9a92-a3848371c8ec - Aliquam fermentum purus quis arcu - http://purl.org/dc/dcmitype/Text - - - urn:uuid:829babb0-b2f1-49e1-8cd5-7b489fe71a1e - Vestibulum massa purus - http://purl.org/dc/dcmitype/Image - - - urn:uuid:88247b56-4cbc-4df9-9860-db3f8042e357 - - http://purl.org/dc/dcmitype/Dataset - - - urn:uuid:94bc9c83-97f6-4b40-9eb8-a8e8787a5c63 - Mauris sed neque - http://purl.org/dc/dcmitype/Dataset - - 47.59 -4.1 - 51.22 0.89 - - - - urn:uuid:9a669547-b69b-469f-a11f-2d875366bbdc - Ñunç elementum - http://purl.org/dc/dcmitype/Dataset - - 44.79 -6.17 - 51.13 -2.23 - - - - urn:uuid:a06af396-3105-442d-8b40-22b57a90d2f2 - Lorem ipsum dolor sit amet - http://purl.org/dc/dcmitype/Image - - - diff --git a/tests/expected/suites_cite_post_fc1bc094-88f1-4851-bc2b-dfc56be9f3c7.xml b/tests/expected/suites_cite_post_fc1bc094-88f1-4851-bc2b-dfc56be9f3c7.xml deleted file mode 100644 index b3eb8b2c7..000000000 --- a/tests/expected/suites_cite_post_fc1bc094-88f1-4851-bc2b-dfc56be9f3c7.xml +++ /dev/null @@ -1,12 +0,0 @@ - - - - - - - urn:uuid:e9330592-0932-474b-be34-c3a3bb67c7db - Fuscé vitae ligulä - http://purl.org/dc/dcmitype/Text - - - diff --git a/tests/expected/suites_cite_post_fe20960f-a26c-4f13-852d-470a0d3233f9.xml b/tests/expected/suites_cite_post_fe20960f-a26c-4f13-852d-470a0d3233f9.xml deleted file mode 100644 index 5c7ef391f..000000000 --- a/tests/expected/suites_cite_post_fe20960f-a26c-4f13-852d-470a0d3233f9.xml +++ /dev/null @@ -1,12 +0,0 @@ - - - - - - - urn:uuid:ab42a8c4-95e8-4630-bf79-33e59241605a - - http://purl.org/dc/dcmitype/Service - - - diff --git a/tests/expected/suites_csw30_get_002258f0-627f-457f-b2ad-025777c77ac8.xml b/tests/expected/suites_csw30_get_002258f0-627f-457f-b2ad-025777c77ac8.xml deleted file mode 100644 index 60ffc8d10..000000000 --- a/tests/expected/suites_csw30_get_002258f0-627f-457f-b2ad-025777c77ac8.xml +++ /dev/null @@ -1,15 +0,0 @@ - - - - pycsw Geospatial - pycsw Geospatial Catalogue - pycsw is an OGC CSW server implementation written in Python - catalogue discovery - - - http://pycsw.org/img/favicon.ico - - Kralidis, Tom - tomkralidis@gmail.com - pycsw - diff --git a/tests/expected/suites_csw30_get_045c600d-973d-41eb-9f60-eba1b717b720.xml b/tests/expected/suites_csw30_get_045c600d-973d-41eb-9f60-eba1b717b720.xml deleted file mode 100644 index 5caeab5ae..000000000 --- a/tests/expected/suites_csw30_get_045c600d-973d-41eb-9f60-eba1b717b720.xml +++ /dev/null @@ -1,24 +0,0 @@ - - - - http://localhost/pycsw/csw.py?config=tests/suites/csw30/default.cfg - pycsw Geospatial Catalogue - - pycsw - - diff --git a/tests/expected/suites_csw30_get_0bbcf862-5211-4351-9988-63f8bec49c98.xml b/tests/expected/suites_csw30_get_0bbcf862-5211-4351-9988-63f8bec49c98.xml deleted file mode 100644 index c1b666067..000000000 --- a/tests/expected/suites_csw30_get_0bbcf862-5211-4351-9988-63f8bec49c98.xml +++ /dev/null @@ -1,116 +0,0 @@ - - - - http://localhost/pycsw/csw.py?config=tests/suites/csw30/default.cfg - pycsw Geospatial Catalogue - - pycsw - - diff --git a/tests/expected/suites_csw30_get_0bdf8457-971e-4ed1-be4a-5feca4dcd8fa.xml b/tests/expected/suites_csw30_get_0bdf8457-971e-4ed1-be4a-5feca4dcd8fa.xml deleted file mode 100644 index c5cb70e29..000000000 --- a/tests/expected/suites_csw30_get_0bdf8457-971e-4ed1-be4a-5feca4dcd8fa.xml +++ /dev/null @@ -1,493 +0,0 @@ - - - - - pycsw Geospatial Catalogue - pycsw is an OGC CSW server implementation written in Python - - catalogue - discovery - theme - - CSW - 2.0.2 - 3.0.0 - None - None - - - pycsw - - - Kralidis, Tom - Senior Systems Scientist - - - +01-416-xxx-xxxx - +01-416-xxx-xxxx - - - TBA - Toronto - Ontario - M9C 3Z9 - Canada - tomkralidis@gmail.com - - - 0800h - 1600h EST - During hours of service. Off on weekends. - - pointOfContact - - - - - - - - - - - - - application/xml - text/xml - - - - - 2.0.2 - 3.0.0 - - - - - All - Filter_Capabilities - OperationsMetadata - ServiceIdentification - ServiceProvider - - - - - - - - - - - - - GetCapabilities.acceptFormats - GetCapabilities.acceptVersions - GetCapabilities.sections - GetRecordById.ElementSetName - GetRecordById.outputFormat - GetRecordById.outputSchema - GetRecords.CONSTRAINTLANGUAGE - GetRecords.ElementSetName - GetRecords.outputFormat - GetRecords.outputSchema - GetRecords.typeNames - - - - - - - - - - - - - CQL_TEXT - FILTER - - - - - brief - full - summary - - - - - application/atom+xml - application/json - application/xml - - - - - http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ - http://www.interlis.ch/INTERLIS2.3 - http://www.opengis.net/cat/csw/3.0 - http://www.opengis.net/cat/csw/csdgm - http://www.w3.org/2005/Atom - - - - - csw:Record - - - - - 10 - - - - - http://localhost/pycsw/csw.py?config=tests/suites/csw30/default.cfg?mode=opensearch&service=CSW&version=3.0.0&request=GetCapabilities - - - - - http://demo.pycsw.org/gisdata/csw - - - - - - - - - - - - - brief - full - summary - - - - - application/atom+xml - application/json - application/xml - - - - - http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ - http://www.interlis.ch/INTERLIS2.3 - http://www.opengis.net/cat/csw/3.0 - http://www.opengis.net/cat/csw/csdgm - http://www.w3.org/2005/Atom - - - - - - - - - - - - - CSW - - - - - 2.0.2 - 3.0.0 - - - - - csw:AnyText - dc:contributor - dc:creator - dc:date - dc:format - dc:identifier - dc:language - dc:publisher - dc:relation - dc:rights - dc:source - dc:subject - dc:title - dc:type - dct:abstract - dct:alternative - dct:modified - dct:spatial - ows:BoundingBox - - - - - http://demo.pycsw.org/gisdata/csw - - - - - 10 - - - - - SOAP - XML - - - - - allowed - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - http://www.opengis.net/gml - - - - - TRUE - - - - - en - - - - - - TRUE - - - - TRUE - - - - TRUE - - - - TRUE - - - - TRUE - - - - TRUE - - - - TRUE - - - - TRUE - - - - TRUE - - - - TRUE - - - - TRUE - - - - TRUE - - - - TRUE - - - - TRUE - - - - TRUE - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - xs:string - - - xs:string - - - xs:string - - - xs:string - - - xs:string - - - xs:string - - - - diff --git a/tests/expected/suites_csw30_get_0d8bbdec-0846-42ca-8dc8-b7f4cba41d67.xml b/tests/expected/suites_csw30_get_0d8bbdec-0846-42ca-8dc8-b7f4cba41d67.xml deleted file mode 100644 index 21edd2682..000000000 --- a/tests/expected/suites_csw30_get_0d8bbdec-0846-42ca-8dc8-b7f4cba41d67.xml +++ /dev/null @@ -1,47 +0,0 @@ - - - - - - - urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f - Lorem ipsum - - - urn:uuid:1ef30a8b-876d-4828-9246-c37ab4510bbd - - - - urn:uuid:66ae76b7-54ba-489b-a582-0f0633d96493 - Maecenas enim - - - urn:uuid:6a3de50b-fa66-4b58-a0e6-ca146fdd18d4 - Ut facilisis justo ut lacus - - - urn:uuid:784e2afd-a9fd-44a6-9a92-a3848371c8ec - Aliquam fermentum purus quis arcu - - - urn:uuid:829babb0-b2f1-49e1-8cd5-7b489fe71a1e - Vestibulum massa purus - - - urn:uuid:88247b56-4cbc-4df9-9860-db3f8042e357 - - - - urn:uuid:94bc9c83-97f6-4b40-9eb8-a8e8787a5c63 - Mauris sed neque - - - urn:uuid:9a669547-b69b-469f-a11f-2d875366bbdc - Ñunç elementum - - - urn:uuid:a06af396-3105-442d-8b40-22b57a90d2f2 - Lorem ipsum dolor sit amet - - - diff --git a/tests/expected/suites_csw30_get_0e1dca37-477a-4060-99fe-7799b52d656c.xml b/tests/expected/suites_csw30_get_0e1dca37-477a-4060-99fe-7799b52d656c.xml deleted file mode 100644 index b6869d887..000000000 --- a/tests/expected/suites_csw30_get_0e1dca37-477a-4060-99fe-7799b52d656c.xml +++ /dev/null @@ -1,15 +0,0 @@ - - - - http://localhost/pycsw/csw.py?config=tests/suites/csw30/default.cfg - pycsw Geospatial Catalogue - - pycsw - - diff --git a/tests/expected/suites_csw30_get_13c87956-51a4-4780-a8e9-6e0b5c0bb473.xml b/tests/expected/suites_csw30_get_13c87956-51a4-4780-a8e9-6e0b5c0bb473.xml deleted file mode 100644 index 3ce950bca..000000000 --- a/tests/expected/suites_csw30_get_13c87956-51a4-4780-a8e9-6e0b5c0bb473.xml +++ /dev/null @@ -1,92 +0,0 @@ - - - - - - - urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f - Lorem ipsum - http://purl.org/dc/dcmitype/Image - Tourism--Greece - image/svg+xml - Quisque lacus diam, placerat mollis, pharetra in, commodo sed, augue. Duis iaculis arcu vel arcu. - - - urn:uuid:1ef30a8b-876d-4828-9246-c37ab4510bbd - - http://purl.org/dc/dcmitype/Service - Proin sit amet justo. In justo. Aenean adipiscing nulla id tellus. - - 60.04 13.75 - 68.41 17.92 - - - - urn:uuid:66ae76b7-54ba-489b-a582-0f0633d96493 - Maecenas enim - http://purl.org/dc/dcmitype/Text - Marine sediments - application/xhtml+xml - Pellentesque tempus magna non sapien fringilla blandit. - - - urn:uuid:6a3de50b-fa66-4b58-a0e6-ca146fdd18d4 - Ut facilisis justo ut lacus - http://purl.org/dc/dcmitype/Service - Vegetation - urn:uuid:94bc9c83-97f6-4b40-9eb8-a8e8787a5c63 - - - urn:uuid:784e2afd-a9fd-44a6-9a92-a3848371c8ec - Aliquam fermentum purus quis arcu - http://purl.org/dc/dcmitype/Text - Hydrography--Dictionaries - application/pdf - Vestibulum quis ipsum sit amet metus imperdiet vehicula. Nulla scelerisque cursus mi. - 2006-05-12 - - - urn:uuid:829babb0-b2f1-49e1-8cd5-7b489fe71a1e - Vestibulum massa purus - http://purl.org/dc/dcmitype/Image - image/jp2 - urn:uuid:9a669547-b69b-469f-a11f-2d875366bbdc - - - urn:uuid:88247b56-4cbc-4df9-9860-db3f8042e357 - - http://purl.org/dc/dcmitype/Dataset - Physiography-Landforms - Donec scelerisque pede ut nisl luctus accumsan. Quisque ultrices, lorem eget feugiat fringilla, lorem dui porttitor ante, cursus ultrices magna odio eu neque. - - - urn:uuid:94bc9c83-97f6-4b40-9eb8-a8e8787a5c63 - Mauris sed neque - http://purl.org/dc/dcmitype/Dataset - Vegetation-Cropland - Curabitur lacinia, ante non porta tempus, mi lorem feugiat odio, eget suscipit eros pede ac velit. - 2006-03-26 - - 47.59 -4.1 - 51.22 0.89 - - - - urn:uuid:9a669547-b69b-469f-a11f-2d875366bbdc - Ñunç elementum - http://purl.org/dc/dcmitype/Dataset - Hydrography-Oceanographic - 2005-10-24 - - 44.79 -6.17 - 51.13 -2.23 - - - - urn:uuid:a06af396-3105-442d-8b40-22b57a90d2f2 - Lorem ipsum dolor sit amet - http://purl.org/dc/dcmitype/Image - image/jpeg - - - diff --git a/tests/expected/suites_csw30_get_151d982f-ebd3-4cb2-b507-a667713a1e92.xml b/tests/expected/suites_csw30_get_151d982f-ebd3-4cb2-b507-a667713a1e92.xml deleted file mode 100644 index 633f7c9ae..000000000 --- a/tests/expected/suites_csw30_get_151d982f-ebd3-4cb2-b507-a667713a1e92.xml +++ /dev/null @@ -1,7 +0,0 @@ - - - - - Invalid acceptFormats parameter value: model/x3d+xml - - diff --git a/tests/expected/suites_csw30_get_1869e495-1a61-4713-8285-76d1336ee1a6.xml b/tests/expected/suites_csw30_get_1869e495-1a61-4713-8285-76d1336ee1a6.xml deleted file mode 100644 index 42a76d4fd..000000000 --- a/tests/expected/suites_csw30_get_1869e495-1a61-4713-8285-76d1336ee1a6.xml +++ /dev/null @@ -1,7 +0,0 @@ - - - - - Missing keyword: service - - diff --git a/tests/expected/suites_csw30_get_1bcb42a9-538c-4f0a-9d4c-d6f10b720aa6.xml b/tests/expected/suites_csw30_get_1bcb42a9-538c-4f0a-9d4c-d6f10b720aa6.xml deleted file mode 100644 index dd5dfc621..000000000 --- a/tests/expected/suites_csw30_get_1bcb42a9-538c-4f0a-9d4c-d6f10b720aa6.xml +++ /dev/null @@ -1,7 +0,0 @@ - - - - - Missing id parameter - - diff --git a/tests/expected/suites_csw30_get_22f44168-2ccf-4801-ad96-204212566d56.xml b/tests/expected/suites_csw30_get_22f44168-2ccf-4801-ad96-204212566d56.xml deleted file mode 100644 index c5cb70e29..000000000 --- a/tests/expected/suites_csw30_get_22f44168-2ccf-4801-ad96-204212566d56.xml +++ /dev/null @@ -1,493 +0,0 @@ - - - - - pycsw Geospatial Catalogue - pycsw is an OGC CSW server implementation written in Python - - catalogue - discovery - theme - - CSW - 2.0.2 - 3.0.0 - None - None - - - pycsw - - - Kralidis, Tom - Senior Systems Scientist - - - +01-416-xxx-xxxx - +01-416-xxx-xxxx - - - TBA - Toronto - Ontario - M9C 3Z9 - Canada - tomkralidis@gmail.com - - - 0800h - 1600h EST - During hours of service. Off on weekends. - - pointOfContact - - - - - - - - - - - - - application/xml - text/xml - - - - - 2.0.2 - 3.0.0 - - - - - All - Filter_Capabilities - OperationsMetadata - ServiceIdentification - ServiceProvider - - - - - - - - - - - - - GetCapabilities.acceptFormats - GetCapabilities.acceptVersions - GetCapabilities.sections - GetRecordById.ElementSetName - GetRecordById.outputFormat - GetRecordById.outputSchema - GetRecords.CONSTRAINTLANGUAGE - GetRecords.ElementSetName - GetRecords.outputFormat - GetRecords.outputSchema - GetRecords.typeNames - - - - - - - - - - - - - CQL_TEXT - FILTER - - - - - brief - full - summary - - - - - application/atom+xml - application/json - application/xml - - - - - http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ - http://www.interlis.ch/INTERLIS2.3 - http://www.opengis.net/cat/csw/3.0 - http://www.opengis.net/cat/csw/csdgm - http://www.w3.org/2005/Atom - - - - - csw:Record - - - - - 10 - - - - - http://localhost/pycsw/csw.py?config=tests/suites/csw30/default.cfg?mode=opensearch&service=CSW&version=3.0.0&request=GetCapabilities - - - - - http://demo.pycsw.org/gisdata/csw - - - - - - - - - - - - - brief - full - summary - - - - - application/atom+xml - application/json - application/xml - - - - - http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ - http://www.interlis.ch/INTERLIS2.3 - http://www.opengis.net/cat/csw/3.0 - http://www.opengis.net/cat/csw/csdgm - http://www.w3.org/2005/Atom - - - - - - - - - - - - - CSW - - - - - 2.0.2 - 3.0.0 - - - - - csw:AnyText - dc:contributor - dc:creator - dc:date - dc:format - dc:identifier - dc:language - dc:publisher - dc:relation - dc:rights - dc:source - dc:subject - dc:title - dc:type - dct:abstract - dct:alternative - dct:modified - dct:spatial - ows:BoundingBox - - - - - http://demo.pycsw.org/gisdata/csw - - - - - 10 - - - - - SOAP - XML - - - - - allowed - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - http://www.opengis.net/gml - - - - - TRUE - - - - - en - - - - - - TRUE - - - - TRUE - - - - TRUE - - - - TRUE - - - - TRUE - - - - TRUE - - - - TRUE - - - - TRUE - - - - TRUE - - - - TRUE - - - - TRUE - - - - TRUE - - - - TRUE - - - - TRUE - - - - TRUE - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - xs:string - - - xs:string - - - xs:string - - - xs:string - - - xs:string - - - xs:string - - - - diff --git a/tests/expected/suites_csw30_get_2499a9c9-8d33-449c-bc92-d494adfcc84d.xml b/tests/expected/suites_csw30_get_2499a9c9-8d33-449c-bc92-d494adfcc84d.xml deleted file mode 100644 index c5cb70e29..000000000 --- a/tests/expected/suites_csw30_get_2499a9c9-8d33-449c-bc92-d494adfcc84d.xml +++ /dev/null @@ -1,493 +0,0 @@ - - - - - pycsw Geospatial Catalogue - pycsw is an OGC CSW server implementation written in Python - - catalogue - discovery - theme - - CSW - 2.0.2 - 3.0.0 - None - None - - - pycsw - - - Kralidis, Tom - Senior Systems Scientist - - - +01-416-xxx-xxxx - +01-416-xxx-xxxx - - - TBA - Toronto - Ontario - M9C 3Z9 - Canada - tomkralidis@gmail.com - - - 0800h - 1600h EST - During hours of service. Off on weekends. - - pointOfContact - - - - - - - - - - - - - application/xml - text/xml - - - - - 2.0.2 - 3.0.0 - - - - - All - Filter_Capabilities - OperationsMetadata - ServiceIdentification - ServiceProvider - - - - - - - - - - - - - GetCapabilities.acceptFormats - GetCapabilities.acceptVersions - GetCapabilities.sections - GetRecordById.ElementSetName - GetRecordById.outputFormat - GetRecordById.outputSchema - GetRecords.CONSTRAINTLANGUAGE - GetRecords.ElementSetName - GetRecords.outputFormat - GetRecords.outputSchema - GetRecords.typeNames - - - - - - - - - - - - - CQL_TEXT - FILTER - - - - - brief - full - summary - - - - - application/atom+xml - application/json - application/xml - - - - - http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ - http://www.interlis.ch/INTERLIS2.3 - http://www.opengis.net/cat/csw/3.0 - http://www.opengis.net/cat/csw/csdgm - http://www.w3.org/2005/Atom - - - - - csw:Record - - - - - 10 - - - - - http://localhost/pycsw/csw.py?config=tests/suites/csw30/default.cfg?mode=opensearch&service=CSW&version=3.0.0&request=GetCapabilities - - - - - http://demo.pycsw.org/gisdata/csw - - - - - - - - - - - - - brief - full - summary - - - - - application/atom+xml - application/json - application/xml - - - - - http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ - http://www.interlis.ch/INTERLIS2.3 - http://www.opengis.net/cat/csw/3.0 - http://www.opengis.net/cat/csw/csdgm - http://www.w3.org/2005/Atom - - - - - - - - - - - - - CSW - - - - - 2.0.2 - 3.0.0 - - - - - csw:AnyText - dc:contributor - dc:creator - dc:date - dc:format - dc:identifier - dc:language - dc:publisher - dc:relation - dc:rights - dc:source - dc:subject - dc:title - dc:type - dct:abstract - dct:alternative - dct:modified - dct:spatial - ows:BoundingBox - - - - - http://demo.pycsw.org/gisdata/csw - - - - - 10 - - - - - SOAP - XML - - - - - allowed - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - http://www.opengis.net/gml - - - - - TRUE - - - - - en - - - - - - TRUE - - - - TRUE - - - - TRUE - - - - TRUE - - - - TRUE - - - - TRUE - - - - TRUE - - - - TRUE - - - - TRUE - - - - TRUE - - - - TRUE - - - - TRUE - - - - TRUE - - - - TRUE - - - - TRUE - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - xs:string - - - xs:string - - - xs:string - - - xs:string - - - xs:string - - - xs:string - - - - diff --git a/tests/expected/suites_csw30_get_27f4f39c-d92a-4e3c-b961-c6aa8c24e513.xml b/tests/expected/suites_csw30_get_27f4f39c-d92a-4e3c-b961-c6aa8c24e513.xml deleted file mode 100644 index c5cb70e29..000000000 --- a/tests/expected/suites_csw30_get_27f4f39c-d92a-4e3c-b961-c6aa8c24e513.xml +++ /dev/null @@ -1,493 +0,0 @@ - - - - - pycsw Geospatial Catalogue - pycsw is an OGC CSW server implementation written in Python - - catalogue - discovery - theme - - CSW - 2.0.2 - 3.0.0 - None - None - - - pycsw - - - Kralidis, Tom - Senior Systems Scientist - - - +01-416-xxx-xxxx - +01-416-xxx-xxxx - - - TBA - Toronto - Ontario - M9C 3Z9 - Canada - tomkralidis@gmail.com - - - 0800h - 1600h EST - During hours of service. Off on weekends. - - pointOfContact - - - - - - - - - - - - - application/xml - text/xml - - - - - 2.0.2 - 3.0.0 - - - - - All - Filter_Capabilities - OperationsMetadata - ServiceIdentification - ServiceProvider - - - - - - - - - - - - - GetCapabilities.acceptFormats - GetCapabilities.acceptVersions - GetCapabilities.sections - GetRecordById.ElementSetName - GetRecordById.outputFormat - GetRecordById.outputSchema - GetRecords.CONSTRAINTLANGUAGE - GetRecords.ElementSetName - GetRecords.outputFormat - GetRecords.outputSchema - GetRecords.typeNames - - - - - - - - - - - - - CQL_TEXT - FILTER - - - - - brief - full - summary - - - - - application/atom+xml - application/json - application/xml - - - - - http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ - http://www.interlis.ch/INTERLIS2.3 - http://www.opengis.net/cat/csw/3.0 - http://www.opengis.net/cat/csw/csdgm - http://www.w3.org/2005/Atom - - - - - csw:Record - - - - - 10 - - - - - http://localhost/pycsw/csw.py?config=tests/suites/csw30/default.cfg?mode=opensearch&service=CSW&version=3.0.0&request=GetCapabilities - - - - - http://demo.pycsw.org/gisdata/csw - - - - - - - - - - - - - brief - full - summary - - - - - application/atom+xml - application/json - application/xml - - - - - http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ - http://www.interlis.ch/INTERLIS2.3 - http://www.opengis.net/cat/csw/3.0 - http://www.opengis.net/cat/csw/csdgm - http://www.w3.org/2005/Atom - - - - - - - - - - - - - CSW - - - - - 2.0.2 - 3.0.0 - - - - - csw:AnyText - dc:contributor - dc:creator - dc:date - dc:format - dc:identifier - dc:language - dc:publisher - dc:relation - dc:rights - dc:source - dc:subject - dc:title - dc:type - dct:abstract - dct:alternative - dct:modified - dct:spatial - ows:BoundingBox - - - - - http://demo.pycsw.org/gisdata/csw - - - - - 10 - - - - - SOAP - XML - - - - - allowed - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - http://www.opengis.net/gml - - - - - TRUE - - - - - en - - - - - - TRUE - - - - TRUE - - - - TRUE - - - - TRUE - - - - TRUE - - - - TRUE - - - - TRUE - - - - TRUE - - - - TRUE - - - - TRUE - - - - TRUE - - - - TRUE - - - - TRUE - - - - TRUE - - - - TRUE - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - xs:string - - - xs:string - - - xs:string - - - xs:string - - - xs:string - - - xs:string - - - - diff --git a/tests/expected/suites_csw30_get_28e569df-8596-4128-8d9a-29ad03138915.xml b/tests/expected/suites_csw30_get_28e569df-8596-4128-8d9a-29ad03138915.xml deleted file mode 100644 index c998b50af..000000000 --- a/tests/expected/suites_csw30_get_28e569df-8596-4128-8d9a-29ad03138915.xml +++ /dev/null @@ -1,8 +0,0 @@ - - - - urn:uuid:a06af396-3105-442d-8b40-22b57a90d2f2 - Lorem ipsum dolor sit amet - http://purl.org/dc/dcmitype/Image - image/jpeg - diff --git a/tests/expected/suites_csw30_get_2b06a5c8-0df2-4af1-8d2e-a425de11c845.xml b/tests/expected/suites_csw30_get_2b06a5c8-0df2-4af1-8d2e-a425de11c845.xml deleted file mode 100644 index c5cb70e29..000000000 --- a/tests/expected/suites_csw30_get_2b06a5c8-0df2-4af1-8d2e-a425de11c845.xml +++ /dev/null @@ -1,493 +0,0 @@ - - - - - pycsw Geospatial Catalogue - pycsw is an OGC CSW server implementation written in Python - - catalogue - discovery - theme - - CSW - 2.0.2 - 3.0.0 - None - None - - - pycsw - - - Kralidis, Tom - Senior Systems Scientist - - - +01-416-xxx-xxxx - +01-416-xxx-xxxx - - - TBA - Toronto - Ontario - M9C 3Z9 - Canada - tomkralidis@gmail.com - - - 0800h - 1600h EST - During hours of service. Off on weekends. - - pointOfContact - - - - - - - - - - - - - application/xml - text/xml - - - - - 2.0.2 - 3.0.0 - - - - - All - Filter_Capabilities - OperationsMetadata - ServiceIdentification - ServiceProvider - - - - - - - - - - - - - GetCapabilities.acceptFormats - GetCapabilities.acceptVersions - GetCapabilities.sections - GetRecordById.ElementSetName - GetRecordById.outputFormat - GetRecordById.outputSchema - GetRecords.CONSTRAINTLANGUAGE - GetRecords.ElementSetName - GetRecords.outputFormat - GetRecords.outputSchema - GetRecords.typeNames - - - - - - - - - - - - - CQL_TEXT - FILTER - - - - - brief - full - summary - - - - - application/atom+xml - application/json - application/xml - - - - - http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ - http://www.interlis.ch/INTERLIS2.3 - http://www.opengis.net/cat/csw/3.0 - http://www.opengis.net/cat/csw/csdgm - http://www.w3.org/2005/Atom - - - - - csw:Record - - - - - 10 - - - - - http://localhost/pycsw/csw.py?config=tests/suites/csw30/default.cfg?mode=opensearch&service=CSW&version=3.0.0&request=GetCapabilities - - - - - http://demo.pycsw.org/gisdata/csw - - - - - - - - - - - - - brief - full - summary - - - - - application/atom+xml - application/json - application/xml - - - - - http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ - http://www.interlis.ch/INTERLIS2.3 - http://www.opengis.net/cat/csw/3.0 - http://www.opengis.net/cat/csw/csdgm - http://www.w3.org/2005/Atom - - - - - - - - - - - - - CSW - - - - - 2.0.2 - 3.0.0 - - - - - csw:AnyText - dc:contributor - dc:creator - dc:date - dc:format - dc:identifier - dc:language - dc:publisher - dc:relation - dc:rights - dc:source - dc:subject - dc:title - dc:type - dct:abstract - dct:alternative - dct:modified - dct:spatial - ows:BoundingBox - - - - - http://demo.pycsw.org/gisdata/csw - - - - - 10 - - - - - SOAP - XML - - - - - allowed - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - http://www.opengis.net/gml - - - - - TRUE - - - - - en - - - - - - TRUE - - - - TRUE - - - - TRUE - - - - TRUE - - - - TRUE - - - - TRUE - - - - TRUE - - - - TRUE - - - - TRUE - - - - TRUE - - - - TRUE - - - - TRUE - - - - TRUE - - - - TRUE - - - - TRUE - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - xs:string - - - xs:string - - - xs:string - - - xs:string - - - xs:string - - - xs:string - - - - diff --git a/tests/expected/suites_csw30_get_2ba1418a-444d-4cce-9cfe-4c94efcf8b55.xml b/tests/expected/suites_csw30_get_2ba1418a-444d-4cce-9cfe-4c94efcf8b55.xml deleted file mode 100644 index 06869ee15..000000000 --- a/tests/expected/suites_csw30_get_2ba1418a-444d-4cce-9cfe-4c94efcf8b55.xml +++ /dev/null @@ -1,32 +0,0 @@ - - - - http://localhost/pycsw/csw.py?config=tests/suites/csw30/default.cfg - pycsw Geospatial Catalogue - - pycsw - - diff --git a/tests/expected/suites_csw30_get_397fe17a-d5b4-4f96-8cc4-4ce467ed4d0a.xml b/tests/expected/suites_csw30_get_397fe17a-d5b4-4f96-8cc4-4ce467ed4d0a.xml deleted file mode 100644 index a2f3d5785..000000000 --- a/tests/expected/suites_csw30_get_397fe17a-d5b4-4f96-8cc4-4ce467ed4d0a.xml +++ /dev/null @@ -1,30 +0,0 @@ - - - - - - - urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f - Lorem ipsum - http://purl.org/dc/dcmitype/Image - Tourism--Greece - image/svg+xml - Quisque lacus diam, placerat mollis, pharetra in, commodo sed, augue. Duis iaculis arcu vel arcu. - - - urn:uuid:784e2afd-a9fd-44a6-9a92-a3848371c8ec - Aliquam fermentum purus quis arcu - http://purl.org/dc/dcmitype/Text - Hydrography--Dictionaries - application/pdf - Vestibulum quis ipsum sit amet metus imperdiet vehicula. Nulla scelerisque cursus mi. - 2006-05-12 - - - urn:uuid:a06af396-3105-442d-8b40-22b57a90d2f2 - Lorem ipsum dolor sit amet - http://purl.org/dc/dcmitype/Image - image/jpeg - - - diff --git a/tests/expected/suites_csw30_get_3dcd1b15-73d2-4b7d-a3e3-ff15bf14aae4.xml b/tests/expected/suites_csw30_get_3dcd1b15-73d2-4b7d-a3e3-ff15bf14aae4.xml deleted file mode 100644 index 4d7f6b1bf..000000000 --- a/tests/expected/suites_csw30_get_3dcd1b15-73d2-4b7d-a3e3-ff15bf14aae4.xml +++ /dev/null @@ -1,69 +0,0 @@ - - - - - - - urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f - Lorem ipsum - http://purl.org/dc/dcmitype/Image - - - urn:uuid:1ef30a8b-876d-4828-9246-c37ab4510bbd - - http://purl.org/dc/dcmitype/Service - - 60.04 13.75 - 68.41 17.92 - - - - urn:uuid:66ae76b7-54ba-489b-a582-0f0633d96493 - Maecenas enim - http://purl.org/dc/dcmitype/Text - - - urn:uuid:6a3de50b-fa66-4b58-a0e6-ca146fdd18d4 - Ut facilisis justo ut lacus - http://purl.org/dc/dcmitype/Service - - - urn:uuid:784e2afd-a9fd-44a6-9a92-a3848371c8ec - Aliquam fermentum purus quis arcu - http://purl.org/dc/dcmitype/Text - - - urn:uuid:829babb0-b2f1-49e1-8cd5-7b489fe71a1e - Vestibulum massa purus - http://purl.org/dc/dcmitype/Image - - - urn:uuid:88247b56-4cbc-4df9-9860-db3f8042e357 - - http://purl.org/dc/dcmitype/Dataset - - - urn:uuid:94bc9c83-97f6-4b40-9eb8-a8e8787a5c63 - Mauris sed neque - http://purl.org/dc/dcmitype/Dataset - - 47.59 -4.1 - 51.22 0.89 - - - - urn:uuid:9a669547-b69b-469f-a11f-2d875366bbdc - Ñunç elementum - http://purl.org/dc/dcmitype/Dataset - - 44.79 -6.17 - 51.13 -2.23 - - - - urn:uuid:a06af396-3105-442d-8b40-22b57a90d2f2 - Lorem ipsum dolor sit amet - http://purl.org/dc/dcmitype/Image - - - diff --git a/tests/expected/suites_csw30_get_405e1ff1-5c75-4846-a28b-cfaff2a6921a.xml b/tests/expected/suites_csw30_get_405e1ff1-5c75-4846-a28b-cfaff2a6921a.xml deleted file mode 100644 index 22bdf2c6f..000000000 --- a/tests/expected/suites_csw30_get_405e1ff1-5c75-4846-a28b-cfaff2a6921a.xml +++ /dev/null @@ -1,23 +0,0 @@ - - - - - - - urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f - Lorem ipsum - http://purl.org/dc/dcmitype/Image - Tourism--Greece - image/svg+xml - Quisque lacus diam, placerat mollis, pharetra in, commodo sed, augue. Duis iaculis arcu vel arcu. - - - urn:uuid:e9330592-0932-474b-be34-c3a3bb67c7db - Fuscé vitae ligulä - http://purl.org/dc/dcmitype/Text - Land titles - text/rtf - Morbi ultriçes, dui suscipit vestibulum prètium, velit ante pretium tortor, egët tincidunt pede odio ac nulla. - - - diff --git a/tests/expected/suites_csw30_get_43cd6471-6ac7-45bd-8ff9-148cb2de9a52.xml b/tests/expected/suites_csw30_get_43cd6471-6ac7-45bd-8ff9-148cb2de9a52.xml deleted file mode 100644 index c5cb70e29..000000000 --- a/tests/expected/suites_csw30_get_43cd6471-6ac7-45bd-8ff9-148cb2de9a52.xml +++ /dev/null @@ -1,493 +0,0 @@ - - - - - pycsw Geospatial Catalogue - pycsw is an OGC CSW server implementation written in Python - - catalogue - discovery - theme - - CSW - 2.0.2 - 3.0.0 - None - None - - - pycsw - - - Kralidis, Tom - Senior Systems Scientist - - - +01-416-xxx-xxxx - +01-416-xxx-xxxx - - - TBA - Toronto - Ontario - M9C 3Z9 - Canada - tomkralidis@gmail.com - - - 0800h - 1600h EST - During hours of service. Off on weekends. - - pointOfContact - - - - - - - - - - - - - application/xml - text/xml - - - - - 2.0.2 - 3.0.0 - - - - - All - Filter_Capabilities - OperationsMetadata - ServiceIdentification - ServiceProvider - - - - - - - - - - - - - GetCapabilities.acceptFormats - GetCapabilities.acceptVersions - GetCapabilities.sections - GetRecordById.ElementSetName - GetRecordById.outputFormat - GetRecordById.outputSchema - GetRecords.CONSTRAINTLANGUAGE - GetRecords.ElementSetName - GetRecords.outputFormat - GetRecords.outputSchema - GetRecords.typeNames - - - - - - - - - - - - - CQL_TEXT - FILTER - - - - - brief - full - summary - - - - - application/atom+xml - application/json - application/xml - - - - - http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ - http://www.interlis.ch/INTERLIS2.3 - http://www.opengis.net/cat/csw/3.0 - http://www.opengis.net/cat/csw/csdgm - http://www.w3.org/2005/Atom - - - - - csw:Record - - - - - 10 - - - - - http://localhost/pycsw/csw.py?config=tests/suites/csw30/default.cfg?mode=opensearch&service=CSW&version=3.0.0&request=GetCapabilities - - - - - http://demo.pycsw.org/gisdata/csw - - - - - - - - - - - - - brief - full - summary - - - - - application/atom+xml - application/json - application/xml - - - - - http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ - http://www.interlis.ch/INTERLIS2.3 - http://www.opengis.net/cat/csw/3.0 - http://www.opengis.net/cat/csw/csdgm - http://www.w3.org/2005/Atom - - - - - - - - - - - - - CSW - - - - - 2.0.2 - 3.0.0 - - - - - csw:AnyText - dc:contributor - dc:creator - dc:date - dc:format - dc:identifier - dc:language - dc:publisher - dc:relation - dc:rights - dc:source - dc:subject - dc:title - dc:type - dct:abstract - dct:alternative - dct:modified - dct:spatial - ows:BoundingBox - - - - - http://demo.pycsw.org/gisdata/csw - - - - - 10 - - - - - SOAP - XML - - - - - allowed - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - http://www.opengis.net/gml - - - - - TRUE - - - - - en - - - - - - TRUE - - - - TRUE - - - - TRUE - - - - TRUE - - - - TRUE - - - - TRUE - - - - TRUE - - - - TRUE - - - - TRUE - - - - TRUE - - - - TRUE - - - - TRUE - - - - TRUE - - - - TRUE - - - - TRUE - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - xs:string - - - xs:string - - - xs:string - - - xs:string - - - xs:string - - - xs:string - - - - diff --git a/tests/expected/suites_csw30_get_4566d2ec-1283-4a02-baed-a74fc5b47e37.xml b/tests/expected/suites_csw30_get_4566d2ec-1283-4a02-baed-a74fc5b47e37.xml deleted file mode 100644 index e907a5144..000000000 --- a/tests/expected/suites_csw30_get_4566d2ec-1283-4a02-baed-a74fc5b47e37.xml +++ /dev/null @@ -1,18 +0,0 @@ - - - - - pycsw Geospatial Catalogue - pycsw is an OGC CSW server implementation written in Python - - catalogue - discovery - theme - - CSW - 2.0.2 - 3.0.0 - None - None - - diff --git a/tests/expected/suites_csw30_get_461bd4c5-6623-490d-9036-d91a2201e87b.xml b/tests/expected/suites_csw30_get_461bd4c5-6623-490d-9036-d91a2201e87b.xml deleted file mode 100644 index cd2d3db66..000000000 --- a/tests/expected/suites_csw30_get_461bd4c5-6623-490d-9036-d91a2201e87b.xml +++ /dev/null @@ -1,3 +0,0 @@ - - - diff --git a/tests/expected/suites_csw30_get_5496894a-3877-4f62-a20b-5d7126f94925.xml b/tests/expected/suites_csw30_get_5496894a-3877-4f62-a20b-5d7126f94925.xml deleted file mode 100644 index f0c8bac70..000000000 --- a/tests/expected/suites_csw30_get_5496894a-3877-4f62-a20b-5d7126f94925.xml +++ /dev/null @@ -1,7 +0,0 @@ - - - - - 4326 coordinates out of range: ['514432', '5429689', '529130', '5451619'] - - diff --git a/tests/expected/suites_csw30_get_5a015f6a-bf14-4977-b1e3-6577eb0223c8.xml b/tests/expected/suites_csw30_get_5a015f6a-bf14-4977-b1e3-6577eb0223c8.xml deleted file mode 100644 index 73b0f786a..000000000 --- a/tests/expected/suites_csw30_get_5a015f6a-bf14-4977-b1e3-6577eb0223c8.xml +++ /dev/null @@ -1,40 +0,0 @@ - - - - - - - urn:uuid:1ef30a8b-876d-4828-9246-c37ab4510bbd - - http://purl.org/dc/dcmitype/Service - Proin sit amet justo. In justo. Aenean adipiscing nulla id tellus. - - 60.04 13.75 - 68.41 17.92 - - - - urn:uuid:94bc9c83-97f6-4b40-9eb8-a8e8787a5c63 - Mauris sed neque - http://purl.org/dc/dcmitype/Dataset - Vegetation-Cropland - Curabitur lacinia, ante non porta tempus, mi lorem feugiat odio, eget suscipit eros pede ac velit. - 2006-03-26 - - 47.59 -4.1 - 51.22 0.89 - - - - urn:uuid:9a669547-b69b-469f-a11f-2d875366bbdc - Ñunç elementum - http://purl.org/dc/dcmitype/Dataset - Hydrography-Oceanographic - 2005-10-24 - - 44.79 -6.17 - 51.13 -2.23 - - - - diff --git a/tests/expected/suites_csw30_get_5c3a2390-1fb9-43f0-b96c-f48c7a69c990.xml b/tests/expected/suites_csw30_get_5c3a2390-1fb9-43f0-b96c-f48c7a69c990.xml deleted file mode 100644 index ffd1bd085..000000000 --- a/tests/expected/suites_csw30_get_5c3a2390-1fb9-43f0-b96c-f48c7a69c990.xml +++ /dev/null @@ -1,7 +0,0 @@ - - - - - Invalid outputformat parameter model/vnd.collada+xml - - diff --git a/tests/expected/suites_csw30_get_5e9e67dc-18d6-4645-8111-c6263c88a61f.xml b/tests/expected/suites_csw30_get_5e9e67dc-18d6-4645-8111-c6263c88a61f.xml deleted file mode 100644 index 2037f14f0..000000000 --- a/tests/expected/suites_csw30_get_5e9e67dc-18d6-4645-8111-c6263c88a61f.xml +++ /dev/null @@ -1,328 +0,0 @@ - - - - - - - - - - - - - - application/xml - text/xml - - - - - 2.0.2 - 3.0.0 - - - - - All - Filter_Capabilities - OperationsMetadata - ServiceIdentification - ServiceProvider - - - - - - - - - - - - - GetCapabilities.acceptFormats - GetCapabilities.acceptVersions - GetCapabilities.sections - GetRecordById.ElementSetName - GetRecordById.outputFormat - GetRecordById.outputSchema - GetRecords.CONSTRAINTLANGUAGE - GetRecords.ElementSetName - GetRecords.outputFormat - GetRecords.outputSchema - GetRecords.typeNames - - - - - - - - - - - - - CQL_TEXT - FILTER - - - - - brief - full - summary - - - - - application/atom+xml - application/json - application/xml - - - - - http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ - http://www.interlis.ch/INTERLIS2.3 - http://www.opengis.net/cat/csw/3.0 - http://www.opengis.net/cat/csw/csdgm - http://www.w3.org/2005/Atom - - - - - csw:Record - - - - - 10 - - - - - http://localhost/pycsw/csw.py?config=tests/suites/csw30/default.cfg?mode=opensearch&service=CSW&version=3.0.0&request=GetCapabilities - - - - - http://demo.pycsw.org/gisdata/csw - - - - - - - - - - - - - brief - full - summary - - - - - application/atom+xml - application/json - application/xml - - - - - http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ - http://www.interlis.ch/INTERLIS2.3 - http://www.opengis.net/cat/csw/3.0 - http://www.opengis.net/cat/csw/csdgm - http://www.w3.org/2005/Atom - - - - - - - - - - - - - CSW - - - - - 2.0.2 - 3.0.0 - - - - - csw:AnyText - dc:contributor - dc:creator - dc:date - dc:format - dc:identifier - dc:language - dc:publisher - dc:relation - dc:rights - dc:source - dc:subject - dc:title - dc:type - dct:abstract - dct:alternative - dct:modified - dct:spatial - ows:BoundingBox - - - - - http://demo.pycsw.org/gisdata/csw - - - - - 10 - - - - - SOAP - XML - - - - - allowed - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - http://www.opengis.net/gml - - - - - TRUE - - - - diff --git a/tests/expected/suites_csw30_get_604d9379-741c-42e5-b4cf-92e56c87fa64.xml b/tests/expected/suites_csw30_get_604d9379-741c-42e5-b4cf-92e56c87fa64.xml deleted file mode 100644 index 17019ae5c..000000000 --- a/tests/expected/suites_csw30_get_604d9379-741c-42e5-b4cf-92e56c87fa64.xml +++ /dev/null @@ -1,32 +0,0 @@ - - - - - - - urn:uuid:1ef30a8b-876d-4828-9246-c37ab4510bbd - - http://purl.org/dc/dcmitype/Service - Proin sit amet justo. In justo. Aenean adipiscing nulla id tellus. - - 60.04 13.75 - 68.41 17.92 - - - - urn:uuid:784e2afd-a9fd-44a6-9a92-a3848371c8ec - Aliquam fermentum purus quis arcu - http://purl.org/dc/dcmitype/Text - Hydrography--Dictionaries - application/pdf - Vestibulum quis ipsum sit amet metus imperdiet vehicula. Nulla scelerisque cursus mi. - 2006-05-12 - - - urn:uuid:a06af396-3105-442d-8b40-22b57a90d2f2 - Lorem ipsum dolor sit amet - http://purl.org/dc/dcmitype/Image - image/jpeg - - - diff --git a/tests/expected/suites_csw30_get_60e6af95-d5fc-465a-82e2-fd2e6d85e4af.xml b/tests/expected/suites_csw30_get_60e6af95-d5fc-465a-82e2-fd2e6d85e4af.xml deleted file mode 100644 index d4ac1d550..000000000 --- a/tests/expected/suites_csw30_get_60e6af95-d5fc-465a-82e2-fd2e6d85e4af.xml +++ /dev/null @@ -1,7 +0,0 @@ - - - - - Invalid typeNames parameter value: UnknownType - - diff --git a/tests/expected/suites_csw30_get_62ad94c2-b558-4265-a427-23d6677975d6.xml b/tests/expected/suites_csw30_get_62ad94c2-b558-4265-a427-23d6677975d6.xml deleted file mode 100644 index faf07a500..000000000 --- a/tests/expected/suites_csw30_get_62ad94c2-b558-4265-a427-23d6677975d6.xml +++ /dev/null @@ -1,7 +0,0 @@ - - - - - No records found for 'uid-bc5017e6-5cc8-4b03-aee7-d88f88caba0a' - - diff --git a/tests/expected/suites_csw30_get_6a5e247b-0961-4b8a-a0d6-35a491d9cfe7.xml b/tests/expected/suites_csw30_get_6a5e247b-0961-4b8a-a0d6-35a491d9cfe7.xml deleted file mode 100644 index 5912e69e9..000000000 --- a/tests/expected/suites_csw30_get_6a5e247b-0961-4b8a-a0d6-35a491d9cfe7.xml +++ /dev/null @@ -1,7 +0,0 @@ - - - - - Invalid ElementSetName parameter value: undefined-view - - diff --git a/tests/expected/suites_csw30_get_6a9d0558-9d87-495b-b999-b49a3ef1cf99.xml b/tests/expected/suites_csw30_get_6a9d0558-9d87-495b-b999-b49a3ef1cf99.xml deleted file mode 100644 index c5cb70e29..000000000 --- a/tests/expected/suites_csw30_get_6a9d0558-9d87-495b-b999-b49a3ef1cf99.xml +++ /dev/null @@ -1,493 +0,0 @@ - - - - - pycsw Geospatial Catalogue - pycsw is an OGC CSW server implementation written in Python - - catalogue - discovery - theme - - CSW - 2.0.2 - 3.0.0 - None - None - - - pycsw - - - Kralidis, Tom - Senior Systems Scientist - - - +01-416-xxx-xxxx - +01-416-xxx-xxxx - - - TBA - Toronto - Ontario - M9C 3Z9 - Canada - tomkralidis@gmail.com - - - 0800h - 1600h EST - During hours of service. Off on weekends. - - pointOfContact - - - - - - - - - - - - - application/xml - text/xml - - - - - 2.0.2 - 3.0.0 - - - - - All - Filter_Capabilities - OperationsMetadata - ServiceIdentification - ServiceProvider - - - - - - - - - - - - - GetCapabilities.acceptFormats - GetCapabilities.acceptVersions - GetCapabilities.sections - GetRecordById.ElementSetName - GetRecordById.outputFormat - GetRecordById.outputSchema - GetRecords.CONSTRAINTLANGUAGE - GetRecords.ElementSetName - GetRecords.outputFormat - GetRecords.outputSchema - GetRecords.typeNames - - - - - - - - - - - - - CQL_TEXT - FILTER - - - - - brief - full - summary - - - - - application/atom+xml - application/json - application/xml - - - - - http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ - http://www.interlis.ch/INTERLIS2.3 - http://www.opengis.net/cat/csw/3.0 - http://www.opengis.net/cat/csw/csdgm - http://www.w3.org/2005/Atom - - - - - csw:Record - - - - - 10 - - - - - http://localhost/pycsw/csw.py?config=tests/suites/csw30/default.cfg?mode=opensearch&service=CSW&version=3.0.0&request=GetCapabilities - - - - - http://demo.pycsw.org/gisdata/csw - - - - - - - - - - - - - brief - full - summary - - - - - application/atom+xml - application/json - application/xml - - - - - http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ - http://www.interlis.ch/INTERLIS2.3 - http://www.opengis.net/cat/csw/3.0 - http://www.opengis.net/cat/csw/csdgm - http://www.w3.org/2005/Atom - - - - - - - - - - - - - CSW - - - - - 2.0.2 - 3.0.0 - - - - - csw:AnyText - dc:contributor - dc:creator - dc:date - dc:format - dc:identifier - dc:language - dc:publisher - dc:relation - dc:rights - dc:source - dc:subject - dc:title - dc:type - dct:abstract - dct:alternative - dct:modified - dct:spatial - ows:BoundingBox - - - - - http://demo.pycsw.org/gisdata/csw - - - - - 10 - - - - - SOAP - XML - - - - - allowed - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - http://www.opengis.net/gml - - - - - TRUE - - - - - en - - - - - - TRUE - - - - TRUE - - - - TRUE - - - - TRUE - - - - TRUE - - - - TRUE - - - - TRUE - - - - TRUE - - - - TRUE - - - - TRUE - - - - TRUE - - - - TRUE - - - - TRUE - - - - TRUE - - - - TRUE - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - xs:string - - - xs:string - - - xs:string - - - xs:string - - - xs:string - - - xs:string - - - - diff --git a/tests/expected/suites_csw30_get_6bd790c9-6019-4652-9c91-330a894d6700.xml b/tests/expected/suites_csw30_get_6bd790c9-6019-4652-9c91-330a894d6700.xml deleted file mode 100644 index 1430fc363..000000000 --- a/tests/expected/suites_csw30_get_6bd790c9-6019-4652-9c91-330a894d6700.xml +++ /dev/null @@ -1,16 +0,0 @@ - - - - - - - urn:uuid:e9330592-0932-474b-be34-c3a3bb67c7db - Fuscé vitae ligulä - http://purl.org/dc/dcmitype/Text - Land titles - text/rtf - Morbi ultriçes, dui suscipit vestibulum prètium, velit ante pretium tortor, egët tincidunt pede odio ac nulla. - 2003-05-09 - - - diff --git a/tests/expected/suites_csw30_get_6e9cba43-5e27-415d-adbd-a92851c2c173.xml b/tests/expected/suites_csw30_get_6e9cba43-5e27-415d-adbd-a92851c2c173.xml deleted file mode 100644 index c5cb70e29..000000000 --- a/tests/expected/suites_csw30_get_6e9cba43-5e27-415d-adbd-a92851c2c173.xml +++ /dev/null @@ -1,493 +0,0 @@ - - - - - pycsw Geospatial Catalogue - pycsw is an OGC CSW server implementation written in Python - - catalogue - discovery - theme - - CSW - 2.0.2 - 3.0.0 - None - None - - - pycsw - - - Kralidis, Tom - Senior Systems Scientist - - - +01-416-xxx-xxxx - +01-416-xxx-xxxx - - - TBA - Toronto - Ontario - M9C 3Z9 - Canada - tomkralidis@gmail.com - - - 0800h - 1600h EST - During hours of service. Off on weekends. - - pointOfContact - - - - - - - - - - - - - application/xml - text/xml - - - - - 2.0.2 - 3.0.0 - - - - - All - Filter_Capabilities - OperationsMetadata - ServiceIdentification - ServiceProvider - - - - - - - - - - - - - GetCapabilities.acceptFormats - GetCapabilities.acceptVersions - GetCapabilities.sections - GetRecordById.ElementSetName - GetRecordById.outputFormat - GetRecordById.outputSchema - GetRecords.CONSTRAINTLANGUAGE - GetRecords.ElementSetName - GetRecords.outputFormat - GetRecords.outputSchema - GetRecords.typeNames - - - - - - - - - - - - - CQL_TEXT - FILTER - - - - - brief - full - summary - - - - - application/atom+xml - application/json - application/xml - - - - - http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ - http://www.interlis.ch/INTERLIS2.3 - http://www.opengis.net/cat/csw/3.0 - http://www.opengis.net/cat/csw/csdgm - http://www.w3.org/2005/Atom - - - - - csw:Record - - - - - 10 - - - - - http://localhost/pycsw/csw.py?config=tests/suites/csw30/default.cfg?mode=opensearch&service=CSW&version=3.0.0&request=GetCapabilities - - - - - http://demo.pycsw.org/gisdata/csw - - - - - - - - - - - - - brief - full - summary - - - - - application/atom+xml - application/json - application/xml - - - - - http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ - http://www.interlis.ch/INTERLIS2.3 - http://www.opengis.net/cat/csw/3.0 - http://www.opengis.net/cat/csw/csdgm - http://www.w3.org/2005/Atom - - - - - - - - - - - - - CSW - - - - - 2.0.2 - 3.0.0 - - - - - csw:AnyText - dc:contributor - dc:creator - dc:date - dc:format - dc:identifier - dc:language - dc:publisher - dc:relation - dc:rights - dc:source - dc:subject - dc:title - dc:type - dct:abstract - dct:alternative - dct:modified - dct:spatial - ows:BoundingBox - - - - - http://demo.pycsw.org/gisdata/csw - - - - - 10 - - - - - SOAP - XML - - - - - allowed - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - http://www.opengis.net/gml - - - - - TRUE - - - - - en - - - - - - TRUE - - - - TRUE - - - - TRUE - - - - TRUE - - - - TRUE - - - - TRUE - - - - TRUE - - - - TRUE - - - - TRUE - - - - TRUE - - - - TRUE - - - - TRUE - - - - TRUE - - - - TRUE - - - - TRUE - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - xs:string - - - xs:string - - - xs:string - - - xs:string - - - xs:string - - - xs:string - - - - diff --git a/tests/expected/suites_csw30_get_7630d230-e142-4a09-accf-f091000b90cd.xml b/tests/expected/suites_csw30_get_7630d230-e142-4a09-accf-f091000b90cd.xml deleted file mode 100644 index 9a891dc4d..000000000 --- a/tests/expected/suites_csw30_get_7630d230-e142-4a09-accf-f091000b90cd.xml +++ /dev/null @@ -1,10 +0,0 @@ - - - - urn:uuid:66ae76b7-54ba-489b-a582-0f0633d96493 - Maecenas enim - http://purl.org/dc/dcmitype/Text - Marine sediments - application/xhtml+xml - Pellentesque tempus magna non sapien fringilla blandit. - diff --git a/tests/expected/suites_csw30_get_7e82446a-b5dc-43fe-9a73-4cc1f2f2f0bf.xml b/tests/expected/suites_csw30_get_7e82446a-b5dc-43fe-9a73-4cc1f2f2f0bf.xml deleted file mode 100644 index c5cb70e29..000000000 --- a/tests/expected/suites_csw30_get_7e82446a-b5dc-43fe-9a73-4cc1f2f2f0bf.xml +++ /dev/null @@ -1,493 +0,0 @@ - - - - - pycsw Geospatial Catalogue - pycsw is an OGC CSW server implementation written in Python - - catalogue - discovery - theme - - CSW - 2.0.2 - 3.0.0 - None - None - - - pycsw - - - Kralidis, Tom - Senior Systems Scientist - - - +01-416-xxx-xxxx - +01-416-xxx-xxxx - - - TBA - Toronto - Ontario - M9C 3Z9 - Canada - tomkralidis@gmail.com - - - 0800h - 1600h EST - During hours of service. Off on weekends. - - pointOfContact - - - - - - - - - - - - - application/xml - text/xml - - - - - 2.0.2 - 3.0.0 - - - - - All - Filter_Capabilities - OperationsMetadata - ServiceIdentification - ServiceProvider - - - - - - - - - - - - - GetCapabilities.acceptFormats - GetCapabilities.acceptVersions - GetCapabilities.sections - GetRecordById.ElementSetName - GetRecordById.outputFormat - GetRecordById.outputSchema - GetRecords.CONSTRAINTLANGUAGE - GetRecords.ElementSetName - GetRecords.outputFormat - GetRecords.outputSchema - GetRecords.typeNames - - - - - - - - - - - - - CQL_TEXT - FILTER - - - - - brief - full - summary - - - - - application/atom+xml - application/json - application/xml - - - - - http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ - http://www.interlis.ch/INTERLIS2.3 - http://www.opengis.net/cat/csw/3.0 - http://www.opengis.net/cat/csw/csdgm - http://www.w3.org/2005/Atom - - - - - csw:Record - - - - - 10 - - - - - http://localhost/pycsw/csw.py?config=tests/suites/csw30/default.cfg?mode=opensearch&service=CSW&version=3.0.0&request=GetCapabilities - - - - - http://demo.pycsw.org/gisdata/csw - - - - - - - - - - - - - brief - full - summary - - - - - application/atom+xml - application/json - application/xml - - - - - http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ - http://www.interlis.ch/INTERLIS2.3 - http://www.opengis.net/cat/csw/3.0 - http://www.opengis.net/cat/csw/csdgm - http://www.w3.org/2005/Atom - - - - - - - - - - - - - CSW - - - - - 2.0.2 - 3.0.0 - - - - - csw:AnyText - dc:contributor - dc:creator - dc:date - dc:format - dc:identifier - dc:language - dc:publisher - dc:relation - dc:rights - dc:source - dc:subject - dc:title - dc:type - dct:abstract - dct:alternative - dct:modified - dct:spatial - ows:BoundingBox - - - - - http://demo.pycsw.org/gisdata/csw - - - - - 10 - - - - - SOAP - XML - - - - - allowed - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - http://www.opengis.net/gml - - - - - TRUE - - - - - en - - - - - - TRUE - - - - TRUE - - - - TRUE - - - - TRUE - - - - TRUE - - - - TRUE - - - - TRUE - - - - TRUE - - - - TRUE - - - - TRUE - - - - TRUE - - - - TRUE - - - - TRUE - - - - TRUE - - - - TRUE - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - xs:string - - - xs:string - - - xs:string - - - xs:string - - - xs:string - - - xs:string - - - - diff --git a/tests/expected/suites_csw30_get_8025978e-1a35-4d70-80c2-e8329e0c7864.xml b/tests/expected/suites_csw30_get_8025978e-1a35-4d70-80c2-e8329e0c7864.xml deleted file mode 100644 index c5cb70e29..000000000 --- a/tests/expected/suites_csw30_get_8025978e-1a35-4d70-80c2-e8329e0c7864.xml +++ /dev/null @@ -1,493 +0,0 @@ - - - - - pycsw Geospatial Catalogue - pycsw is an OGC CSW server implementation written in Python - - catalogue - discovery - theme - - CSW - 2.0.2 - 3.0.0 - None - None - - - pycsw - - - Kralidis, Tom - Senior Systems Scientist - - - +01-416-xxx-xxxx - +01-416-xxx-xxxx - - - TBA - Toronto - Ontario - M9C 3Z9 - Canada - tomkralidis@gmail.com - - - 0800h - 1600h EST - During hours of service. Off on weekends. - - pointOfContact - - - - - - - - - - - - - application/xml - text/xml - - - - - 2.0.2 - 3.0.0 - - - - - All - Filter_Capabilities - OperationsMetadata - ServiceIdentification - ServiceProvider - - - - - - - - - - - - - GetCapabilities.acceptFormats - GetCapabilities.acceptVersions - GetCapabilities.sections - GetRecordById.ElementSetName - GetRecordById.outputFormat - GetRecordById.outputSchema - GetRecords.CONSTRAINTLANGUAGE - GetRecords.ElementSetName - GetRecords.outputFormat - GetRecords.outputSchema - GetRecords.typeNames - - - - - - - - - - - - - CQL_TEXT - FILTER - - - - - brief - full - summary - - - - - application/atom+xml - application/json - application/xml - - - - - http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ - http://www.interlis.ch/INTERLIS2.3 - http://www.opengis.net/cat/csw/3.0 - http://www.opengis.net/cat/csw/csdgm - http://www.w3.org/2005/Atom - - - - - csw:Record - - - - - 10 - - - - - http://localhost/pycsw/csw.py?config=tests/suites/csw30/default.cfg?mode=opensearch&service=CSW&version=3.0.0&request=GetCapabilities - - - - - http://demo.pycsw.org/gisdata/csw - - - - - - - - - - - - - brief - full - summary - - - - - application/atom+xml - application/json - application/xml - - - - - http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ - http://www.interlis.ch/INTERLIS2.3 - http://www.opengis.net/cat/csw/3.0 - http://www.opengis.net/cat/csw/csdgm - http://www.w3.org/2005/Atom - - - - - - - - - - - - - CSW - - - - - 2.0.2 - 3.0.0 - - - - - csw:AnyText - dc:contributor - dc:creator - dc:date - dc:format - dc:identifier - dc:language - dc:publisher - dc:relation - dc:rights - dc:source - dc:subject - dc:title - dc:type - dct:abstract - dct:alternative - dct:modified - dct:spatial - ows:BoundingBox - - - - - http://demo.pycsw.org/gisdata/csw - - - - - 10 - - - - - SOAP - XML - - - - - allowed - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - http://www.opengis.net/gml - - - - - TRUE - - - - - en - - - - - - TRUE - - - - TRUE - - - - TRUE - - - - TRUE - - - - TRUE - - - - TRUE - - - - TRUE - - - - TRUE - - - - TRUE - - - - TRUE - - - - TRUE - - - - TRUE - - - - TRUE - - - - TRUE - - - - TRUE - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - xs:string - - - xs:string - - - xs:string - - - xs:string - - - xs:string - - - xs:string - - - - diff --git a/tests/expected/suites_csw30_get_8184ae4f-536d-4978-8b28-ad703be96967.xml b/tests/expected/suites_csw30_get_8184ae4f-536d-4978-8b28-ad703be96967.xml deleted file mode 100644 index 0965e0534..000000000 --- a/tests/expected/suites_csw30_get_8184ae4f-536d-4978-8b28-ad703be96967.xml +++ /dev/null @@ -1,34 +0,0 @@ - - - - - - - urn:uuid:1ef30a8b-876d-4828-9246-c37ab4510bbd - - http://purl.org/dc/dcmitype/Service - - 60.04 13.75 - 68.41 17.92 - - - - urn:uuid:94bc9c83-97f6-4b40-9eb8-a8e8787a5c63 - Mauris sed neque - http://purl.org/dc/dcmitype/Dataset - - 47.59 -4.1 - 51.22 0.89 - - - - urn:uuid:9a669547-b69b-469f-a11f-2d875366bbdc - Ñunç elementum - http://purl.org/dc/dcmitype/Dataset - - 44.79 -6.17 - 51.13 -2.23 - - - - diff --git a/tests/expected/suites_csw30_get_88f63a89-664f-4315-b4f8-04a0b33803a7.xml b/tests/expected/suites_csw30_get_88f63a89-664f-4315-b4f8-04a0b33803a7.xml deleted file mode 100644 index 63e215121..000000000 --- a/tests/expected/suites_csw30_get_88f63a89-664f-4315-b4f8-04a0b33803a7.xml +++ /dev/null @@ -1,18 +0,0 @@ - - - - - - - urn:uuid:94bc9c83-97f6-4b40-9eb8-a8e8787a5c63 - Mauris sed neque - http://purl.org/dc/dcmitype/Dataset - Vegetation-Cropland - Curabitur lacinia, ante non porta tempus, mi lorem feugiat odio, eget suscipit eros pede ac velit. - - 47.59 -4.1 - 51.22 0.89 - - - - diff --git a/tests/expected/suites_csw30_get_8987f8f0-4d93-4481-968c-a2ccbd6b8be2.xml b/tests/expected/suites_csw30_get_8987f8f0-4d93-4481-968c-a2ccbd6b8be2.xml deleted file mode 100644 index d40a39ab3..000000000 --- a/tests/expected/suites_csw30_get_8987f8f0-4d93-4481-968c-a2ccbd6b8be2.xml +++ /dev/null @@ -1,7 +0,0 @@ - - - - - No repository item found for 'urn:example:1461546298217' - - diff --git a/tests/expected/suites_csw30_get_8e5fa0f6-3f29-4d1f-abe2-d9866f3def98.xml b/tests/expected/suites_csw30_get_8e5fa0f6-3f29-4d1f-abe2-d9866f3def98.xml deleted file mode 100644 index 6a8e4b02d..000000000 --- a/tests/expected/suites_csw30_get_8e5fa0f6-3f29-4d1f-abe2-d9866f3def98.xml +++ /dev/null @@ -1,58 +0,0 @@ - - - - http://localhost/pycsw/csw.py?config=tests/suites/csw30/default.cfg - pycsw Geospatial Catalogue - - pycsw - - diff --git a/tests/expected/suites_csw30_get_9000ec29-5649-474e-b2d6-55c00f8a52c0.xml b/tests/expected/suites_csw30_get_9000ec29-5649-474e-b2d6-55c00f8a52c0.xml deleted file mode 100644 index 3e5a418e8..000000000 --- a/tests/expected/suites_csw30_get_9000ec29-5649-474e-b2d6-55c00f8a52c0.xml +++ /dev/null @@ -1,7 +0,0 @@ - - - - - Invalid parameter value in acceptversions: 9999.12.31. Value MUST be 2.0.2 or 3.0.0 - - diff --git a/tests/expected/suites_csw30_get_91914d35-7bbf-45e6-9b37-5ef484869a4e.xml b/tests/expected/suites_csw30_get_91914d35-7bbf-45e6-9b37-5ef484869a4e.xml deleted file mode 100644 index ef58aa944..000000000 --- a/tests/expected/suites_csw30_get_91914d35-7bbf-45e6-9b37-5ef484869a4e.xml +++ /dev/null @@ -1,38 +0,0 @@ - - - - - - - urn:uuid:1ef30a8b-876d-4828-9246-c37ab4510bbd - - http://purl.org/dc/dcmitype/Service - Proin sit amet justo. In justo. Aenean adipiscing nulla id tellus. - - 60.04 13.75 - 68.41 17.92 - - - - urn:uuid:94bc9c83-97f6-4b40-9eb8-a8e8787a5c63 - Mauris sed neque - http://purl.org/dc/dcmitype/Dataset - Vegetation-Cropland - Curabitur lacinia, ante non porta tempus, mi lorem feugiat odio, eget suscipit eros pede ac velit. - - 47.59 -4.1 - 51.22 0.89 - - - - urn:uuid:9a669547-b69b-469f-a11f-2d875366bbdc - Ñunç elementum - http://purl.org/dc/dcmitype/Dataset - Hydrography-Oceanographic - - 44.79 -6.17 - 51.13 -2.23 - - - - diff --git a/tests/expected/suites_csw30_get_92d4844d-57d5-4cf3-8f47-ba50e369dc04.xml b/tests/expected/suites_csw30_get_92d4844d-57d5-4cf3-8f47-ba50e369dc04.xml deleted file mode 100644 index d91c31b05..000000000 --- a/tests/expected/suites_csw30_get_92d4844d-57d5-4cf3-8f47-ba50e369dc04.xml +++ /dev/null @@ -1,6 +0,0 @@ - - - - - - diff --git a/tests/expected/suites_csw30_get_9c0e2a4b-b4e6-41c0-b630-c8c99fc89ff3.xml b/tests/expected/suites_csw30_get_9c0e2a4b-b4e6-41c0-b630-c8c99fc89ff3.xml deleted file mode 100644 index e01594260..000000000 --- a/tests/expected/suites_csw30_get_9c0e2a4b-b4e6-41c0-b630-c8c99fc89ff3.xml +++ /dev/null @@ -1,7 +0,0 @@ - - - - - Invalid outputSchema parameter value: urn:uuid:6a29d2a8-9651-47a6-9b14-f05d2b5644f0 - - diff --git a/tests/expected/suites_csw30_get_9d7ffac8-9798-428d-8e27-3cd12497ee6b.xml b/tests/expected/suites_csw30_get_9d7ffac8-9798-428d-8e27-3cd12497ee6b.xml deleted file mode 100644 index e57613754..000000000 --- a/tests/expected/suites_csw30_get_9d7ffac8-9798-428d-8e27-3cd12497ee6b.xml +++ /dev/null @@ -1,7 +0,0 @@ - - - - - Invalid outputschema parameter http://www.example.org/ns/alpha - - diff --git a/tests/expected/suites_csw30_get_Exception-GetDomain-value-reference.xml b/tests/expected/suites_csw30_get_Exception-GetDomain-value-reference.xml deleted file mode 100644 index 3c1621b02..000000000 --- a/tests/expected/suites_csw30_get_Exception-GetDomain-value-reference.xml +++ /dev/null @@ -1,7 +0,0 @@ - - - - - dc:title2 - - diff --git a/tests/expected/suites_csw30_get_Exception-GetDomain.xml b/tests/expected/suites_csw30_get_Exception-GetDomain.xml deleted file mode 100644 index ead68239e..000000000 --- a/tests/expected/suites_csw30_get_Exception-GetDomain.xml +++ /dev/null @@ -1,7 +0,0 @@ - - - - - Missing value. One of valuereference or parametername must be specified - - diff --git a/tests/expected/suites_csw30_get_Exception-GetRecordById-404.xml b/tests/expected/suites_csw30_get_Exception-GetRecordById-404.xml deleted file mode 100644 index bd41e1dfd..000000000 --- a/tests/expected/suites_csw30_get_Exception-GetRecordById-404.xml +++ /dev/null @@ -1,7 +0,0 @@ - - - - - No repository item found for 'does_not_exist2' - - diff --git a/tests/expected/suites_csw30_get_Exception-GetRecordById-dc.xml.xml b/tests/expected/suites_csw30_get_Exception-GetRecordById-dc.xml.xml deleted file mode 100644 index 536321c2f..000000000 --- a/tests/expected/suites_csw30_get_Exception-GetRecordById-dc.xml.xml +++ /dev/null @@ -1,9 +0,0 @@ - - - - urn:uuid:829babb0-b2f1-49e1-8cd5-7b489fe71a1e - Vestibulum massa purus - http://purl.org/dc/dcmitype/Image - image/jp2 - urn:uuid:9a669547-b69b-469f-a11f-2d875366bbdc - diff --git a/tests/expected/suites_csw30_get_Exception-GetRepositoryItem-notfound.xml b/tests/expected/suites_csw30_get_Exception-GetRepositoryItem-notfound.xml deleted file mode 100644 index 04c7e9c7d..000000000 --- a/tests/expected/suites_csw30_get_Exception-GetRepositoryItem-notfound.xml +++ /dev/null @@ -1,7 +0,0 @@ - - - - - No repository item found for 'NOTFOUND' - - diff --git a/tests/expected/suites_csw30_get_Exception-invalid-request.xml b/tests/expected/suites_csw30_get_Exception-invalid-request.xml deleted file mode 100644 index 4cd3418d0..000000000 --- a/tests/expected/suites_csw30_get_Exception-invalid-request.xml +++ /dev/null @@ -1,7 +0,0 @@ - - - - - Invalid value for request: GetCapabilities-foo - - diff --git a/tests/expected/suites_csw30_get_GetCapabilities-base-url.xml b/tests/expected/suites_csw30_get_GetCapabilities-base-url.xml deleted file mode 100644 index c5cb70e29..000000000 --- a/tests/expected/suites_csw30_get_GetCapabilities-base-url.xml +++ /dev/null @@ -1,493 +0,0 @@ - - - - - pycsw Geospatial Catalogue - pycsw is an OGC CSW server implementation written in Python - - catalogue - discovery - theme - - CSW - 2.0.2 - 3.0.0 - None - None - - - pycsw - - - Kralidis, Tom - Senior Systems Scientist - - - +01-416-xxx-xxxx - +01-416-xxx-xxxx - - - TBA - Toronto - Ontario - M9C 3Z9 - Canada - tomkralidis@gmail.com - - - 0800h - 1600h EST - During hours of service. Off on weekends. - - pointOfContact - - - - - - - - - - - - - application/xml - text/xml - - - - - 2.0.2 - 3.0.0 - - - - - All - Filter_Capabilities - OperationsMetadata - ServiceIdentification - ServiceProvider - - - - - - - - - - - - - GetCapabilities.acceptFormats - GetCapabilities.acceptVersions - GetCapabilities.sections - GetRecordById.ElementSetName - GetRecordById.outputFormat - GetRecordById.outputSchema - GetRecords.CONSTRAINTLANGUAGE - GetRecords.ElementSetName - GetRecords.outputFormat - GetRecords.outputSchema - GetRecords.typeNames - - - - - - - - - - - - - CQL_TEXT - FILTER - - - - - brief - full - summary - - - - - application/atom+xml - application/json - application/xml - - - - - http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ - http://www.interlis.ch/INTERLIS2.3 - http://www.opengis.net/cat/csw/3.0 - http://www.opengis.net/cat/csw/csdgm - http://www.w3.org/2005/Atom - - - - - csw:Record - - - - - 10 - - - - - http://localhost/pycsw/csw.py?config=tests/suites/csw30/default.cfg?mode=opensearch&service=CSW&version=3.0.0&request=GetCapabilities - - - - - http://demo.pycsw.org/gisdata/csw - - - - - - - - - - - - - brief - full - summary - - - - - application/atom+xml - application/json - application/xml - - - - - http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ - http://www.interlis.ch/INTERLIS2.3 - http://www.opengis.net/cat/csw/3.0 - http://www.opengis.net/cat/csw/csdgm - http://www.w3.org/2005/Atom - - - - - - - - - - - - - CSW - - - - - 2.0.2 - 3.0.0 - - - - - csw:AnyText - dc:contributor - dc:creator - dc:date - dc:format - dc:identifier - dc:language - dc:publisher - dc:relation - dc:rights - dc:source - dc:subject - dc:title - dc:type - dct:abstract - dct:alternative - dct:modified - dct:spatial - ows:BoundingBox - - - - - http://demo.pycsw.org/gisdata/csw - - - - - 10 - - - - - SOAP - XML - - - - - allowed - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - http://www.opengis.net/gml - - - - - TRUE - - - - - en - - - - - - TRUE - - - - TRUE - - - - TRUE - - - - TRUE - - - - TRUE - - - - TRUE - - - - TRUE - - - - TRUE - - - - TRUE - - - - TRUE - - - - TRUE - - - - TRUE - - - - TRUE - - - - TRUE - - - - TRUE - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - xs:string - - - xs:string - - - xs:string - - - xs:string - - - xs:string - - - xs:string - - - - diff --git a/tests/expected/suites_csw30_get_GetCapabilities-no-version.xml b/tests/expected/suites_csw30_get_GetCapabilities-no-version.xml deleted file mode 100644 index c5cb70e29..000000000 --- a/tests/expected/suites_csw30_get_GetCapabilities-no-version.xml +++ /dev/null @@ -1,493 +0,0 @@ - - - - - pycsw Geospatial Catalogue - pycsw is an OGC CSW server implementation written in Python - - catalogue - discovery - theme - - CSW - 2.0.2 - 3.0.0 - None - None - - - pycsw - - - Kralidis, Tom - Senior Systems Scientist - - - +01-416-xxx-xxxx - +01-416-xxx-xxxx - - - TBA - Toronto - Ontario - M9C 3Z9 - Canada - tomkralidis@gmail.com - - - 0800h - 1600h EST - During hours of service. Off on weekends. - - pointOfContact - - - - - - - - - - - - - application/xml - text/xml - - - - - 2.0.2 - 3.0.0 - - - - - All - Filter_Capabilities - OperationsMetadata - ServiceIdentification - ServiceProvider - - - - - - - - - - - - - GetCapabilities.acceptFormats - GetCapabilities.acceptVersions - GetCapabilities.sections - GetRecordById.ElementSetName - GetRecordById.outputFormat - GetRecordById.outputSchema - GetRecords.CONSTRAINTLANGUAGE - GetRecords.ElementSetName - GetRecords.outputFormat - GetRecords.outputSchema - GetRecords.typeNames - - - - - - - - - - - - - CQL_TEXT - FILTER - - - - - brief - full - summary - - - - - application/atom+xml - application/json - application/xml - - - - - http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ - http://www.interlis.ch/INTERLIS2.3 - http://www.opengis.net/cat/csw/3.0 - http://www.opengis.net/cat/csw/csdgm - http://www.w3.org/2005/Atom - - - - - csw:Record - - - - - 10 - - - - - http://localhost/pycsw/csw.py?config=tests/suites/csw30/default.cfg?mode=opensearch&service=CSW&version=3.0.0&request=GetCapabilities - - - - - http://demo.pycsw.org/gisdata/csw - - - - - - - - - - - - - brief - full - summary - - - - - application/atom+xml - application/json - application/xml - - - - - http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ - http://www.interlis.ch/INTERLIS2.3 - http://www.opengis.net/cat/csw/3.0 - http://www.opengis.net/cat/csw/csdgm - http://www.w3.org/2005/Atom - - - - - - - - - - - - - CSW - - - - - 2.0.2 - 3.0.0 - - - - - csw:AnyText - dc:contributor - dc:creator - dc:date - dc:format - dc:identifier - dc:language - dc:publisher - dc:relation - dc:rights - dc:source - dc:subject - dc:title - dc:type - dct:abstract - dct:alternative - dct:modified - dct:spatial - ows:BoundingBox - - - - - http://demo.pycsw.org/gisdata/csw - - - - - 10 - - - - - SOAP - XML - - - - - allowed - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - http://www.opengis.net/gml - - - - - TRUE - - - - - en - - - - - - TRUE - - - - TRUE - - - - TRUE - - - - TRUE - - - - TRUE - - - - TRUE - - - - TRUE - - - - TRUE - - - - TRUE - - - - TRUE - - - - TRUE - - - - TRUE - - - - TRUE - - - - TRUE - - - - TRUE - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - xs:string - - - xs:string - - - xs:string - - - xs:string - - - xs:string - - - xs:string - - - - diff --git a/tests/expected/suites_csw30_get_GetCapabilities.xml b/tests/expected/suites_csw30_get_GetCapabilities.xml deleted file mode 100644 index c5cb70e29..000000000 --- a/tests/expected/suites_csw30_get_GetCapabilities.xml +++ /dev/null @@ -1,493 +0,0 @@ - - - - - pycsw Geospatial Catalogue - pycsw is an OGC CSW server implementation written in Python - - catalogue - discovery - theme - - CSW - 2.0.2 - 3.0.0 - None - None - - - pycsw - - - Kralidis, Tom - Senior Systems Scientist - - - +01-416-xxx-xxxx - +01-416-xxx-xxxx - - - TBA - Toronto - Ontario - M9C 3Z9 - Canada - tomkralidis@gmail.com - - - 0800h - 1600h EST - During hours of service. Off on weekends. - - pointOfContact - - - - - - - - - - - - - application/xml - text/xml - - - - - 2.0.2 - 3.0.0 - - - - - All - Filter_Capabilities - OperationsMetadata - ServiceIdentification - ServiceProvider - - - - - - - - - - - - - GetCapabilities.acceptFormats - GetCapabilities.acceptVersions - GetCapabilities.sections - GetRecordById.ElementSetName - GetRecordById.outputFormat - GetRecordById.outputSchema - GetRecords.CONSTRAINTLANGUAGE - GetRecords.ElementSetName - GetRecords.outputFormat - GetRecords.outputSchema - GetRecords.typeNames - - - - - - - - - - - - - CQL_TEXT - FILTER - - - - - brief - full - summary - - - - - application/atom+xml - application/json - application/xml - - - - - http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ - http://www.interlis.ch/INTERLIS2.3 - http://www.opengis.net/cat/csw/3.0 - http://www.opengis.net/cat/csw/csdgm - http://www.w3.org/2005/Atom - - - - - csw:Record - - - - - 10 - - - - - http://localhost/pycsw/csw.py?config=tests/suites/csw30/default.cfg?mode=opensearch&service=CSW&version=3.0.0&request=GetCapabilities - - - - - http://demo.pycsw.org/gisdata/csw - - - - - - - - - - - - - brief - full - summary - - - - - application/atom+xml - application/json - application/xml - - - - - http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ - http://www.interlis.ch/INTERLIS2.3 - http://www.opengis.net/cat/csw/3.0 - http://www.opengis.net/cat/csw/csdgm - http://www.w3.org/2005/Atom - - - - - - - - - - - - - CSW - - - - - 2.0.2 - 3.0.0 - - - - - csw:AnyText - dc:contributor - dc:creator - dc:date - dc:format - dc:identifier - dc:language - dc:publisher - dc:relation - dc:rights - dc:source - dc:subject - dc:title - dc:type - dct:abstract - dct:alternative - dct:modified - dct:spatial - ows:BoundingBox - - - - - http://demo.pycsw.org/gisdata/csw - - - - - 10 - - - - - SOAP - XML - - - - - allowed - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - http://www.opengis.net/gml - - - - - TRUE - - - - - en - - - - - - TRUE - - - - TRUE - - - - TRUE - - - - TRUE - - - - TRUE - - - - TRUE - - - - TRUE - - - - TRUE - - - - TRUE - - - - TRUE - - - - TRUE - - - - TRUE - - - - TRUE - - - - TRUE - - - - TRUE - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - xs:string - - - xs:string - - - xs:string - - - xs:string - - - xs:string - - - xs:string - - - - diff --git a/tests/expected/suites_csw30_get_GetDomain-parameter.xml b/tests/expected/suites_csw30_get_GetDomain-parameter.xml deleted file mode 100644 index 6b8227f71..000000000 --- a/tests/expected/suites_csw30_get_GetDomain-parameter.xml +++ /dev/null @@ -1,12 +0,0 @@ - - - - - GetRecords.ElementSetName - - brief - full - summary - - - diff --git a/tests/expected/suites_csw30_get_GetDomain-value-reference.xml b/tests/expected/suites_csw30_get_GetDomain-value-reference.xml deleted file mode 100644 index 3775ee212..000000000 --- a/tests/expected/suites_csw30_get_GetDomain-value-reference.xml +++ /dev/null @@ -1,18 +0,0 @@ - - - - - dc:title - - Aliquam fermentum purus quis arcu - Fuscé vitae ligulä - Lorem ipsum - Lorem ipsum dolor sit amet - Maecenas enim - Mauris sed neque - Ut facilisis justo ut lacus - Vestibulum massa purus - Ñunç elementum - - - diff --git a/tests/expected/suites_csw30_get_GetRepositoryItem.xml b/tests/expected/suites_csw30_get_GetRepositoryItem.xml deleted file mode 100644 index 862e439da..000000000 --- a/tests/expected/suites_csw30_get_GetRepositoryItem.xml +++ /dev/null @@ -1,11 +0,0 @@ - - - - urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f - http://purl.org/dc/dcmitype/Image - image/svg+xml - Lorem ipsum - GR-22 - Tourism--Greece - Quisque lacus diam, placerat mollis, pharetra in, commodo sed, augue. Duis iaculis arcu vel arcu. - diff --git a/tests/expected/suites_csw30_get_OpenSearch-description.xml b/tests/expected/suites_csw30_get_OpenSearch-description.xml deleted file mode 100644 index 60ffc8d10..000000000 --- a/tests/expected/suites_csw30_get_OpenSearch-description.xml +++ /dev/null @@ -1,15 +0,0 @@ - - - - pycsw Geospatial - pycsw Geospatial Catalogue - pycsw is an OGC CSW server implementation written in Python - catalogue discovery - - - http://pycsw.org/img/favicon.ico - - Kralidis, Tom - tomkralidis@gmail.com - pycsw - diff --git a/tests/expected/suites_csw30_get_a2f18643-e24e-4fa5-b780-6de4a2dbc814.xml b/tests/expected/suites_csw30_get_a2f18643-e24e-4fa5-b780-6de4a2dbc814.xml deleted file mode 100644 index 96afaaf6f..000000000 --- a/tests/expected/suites_csw30_get_a2f18643-e24e-4fa5-b780-6de4a2dbc814.xml +++ /dev/null @@ -1,9 +0,0 @@ - - - - urn:uuid:829babb0-b2f1-49e1-8cd5-7b489fe71a1e - urn:uuid:829babb0-b2f1-49e1-8cd5-7b489fe71a1e - - Vestibulum massa purus - PYCSW_TIMESTAMP - diff --git a/tests/expected/suites_csw30_get_abc90c8c-5868-4405-a73e-64c849be3b2a.xml b/tests/expected/suites_csw30_get_abc90c8c-5868-4405-a73e-64c849be3b2a.xml deleted file mode 100644 index f0c8bac70..000000000 --- a/tests/expected/suites_csw30_get_abc90c8c-5868-4405-a73e-64c849be3b2a.xml +++ /dev/null @@ -1,7 +0,0 @@ - - - - - 4326 coordinates out of range: ['514432', '5429689', '529130', '5451619'] - - diff --git a/tests/expected/suites_csw30_get_ad0c0571-09ed-436a-9a4f-a5de744c88fe.xml b/tests/expected/suites_csw30_get_ad0c0571-09ed-436a-9a4f-a5de744c88fe.xml deleted file mode 100644 index fb39b0b33..000000000 --- a/tests/expected/suites_csw30_get_ad0c0571-09ed-436a-9a4f-a5de744c88fe.xml +++ /dev/null @@ -1,22 +0,0 @@ - - - - - - - urn:uuid:66ae76b7-54ba-489b-a582-0f0633d96493 - Maecenas enim - http://purl.org/dc/dcmitype/Text - Marine sediments - application/xhtml+xml - Pellentesque tempus magna non sapien fringilla blandit. - - - urn:uuid:6a3de50b-fa66-4b58-a0e6-ca146fdd18d4 - Ut facilisis justo ut lacus - http://purl.org/dc/dcmitype/Service - Vegetation - urn:uuid:94bc9c83-97f6-4b40-9eb8-a8e8787a5c63 - - - diff --git a/tests/expected/suites_csw30_get_af502903-f4ee-47ee-b76e-af878d238bcc.xml b/tests/expected/suites_csw30_get_af502903-f4ee-47ee-b76e-af878d238bcc.xml deleted file mode 100644 index 73b0f786a..000000000 --- a/tests/expected/suites_csw30_get_af502903-f4ee-47ee-b76e-af878d238bcc.xml +++ /dev/null @@ -1,40 +0,0 @@ - - - - - - - urn:uuid:1ef30a8b-876d-4828-9246-c37ab4510bbd - - http://purl.org/dc/dcmitype/Service - Proin sit amet justo. In justo. Aenean adipiscing nulla id tellus. - - 60.04 13.75 - 68.41 17.92 - - - - urn:uuid:94bc9c83-97f6-4b40-9eb8-a8e8787a5c63 - Mauris sed neque - http://purl.org/dc/dcmitype/Dataset - Vegetation-Cropland - Curabitur lacinia, ante non porta tempus, mi lorem feugiat odio, eget suscipit eros pede ac velit. - 2006-03-26 - - 47.59 -4.1 - 51.22 0.89 - - - - urn:uuid:9a669547-b69b-469f-a11f-2d875366bbdc - Ñunç elementum - http://purl.org/dc/dcmitype/Dataset - Hydrography-Oceanographic - 2005-10-24 - - 44.79 -6.17 - 51.13 -2.23 - - - - diff --git a/tests/expected/suites_csw30_get_b2aafc3f-4f35-47bc-affd-08590972deae.xml b/tests/expected/suites_csw30_get_b2aafc3f-4f35-47bc-affd-08590972deae.xml deleted file mode 100644 index 6a8e4b02d..000000000 --- a/tests/expected/suites_csw30_get_b2aafc3f-4f35-47bc-affd-08590972deae.xml +++ /dev/null @@ -1,58 +0,0 @@ - - - - http://localhost/pycsw/csw.py?config=tests/suites/csw30/default.cfg - pycsw Geospatial Catalogue - - pycsw - - diff --git a/tests/expected/suites_csw30_get_b6069623-f7d8-4021-8582-98f0aea0f763.xml b/tests/expected/suites_csw30_get_b6069623-f7d8-4021-8582-98f0aea0f763.xml deleted file mode 100644 index 0ed0b0644..000000000 --- a/tests/expected/suites_csw30_get_b6069623-f7d8-4021-8582-98f0aea0f763.xml +++ /dev/null @@ -1,48 +0,0 @@ - - - - http://localhost/pycsw/csw.py?config=tests/suites/csw30/default.cfg - pycsw Geospatial Catalogue - - pycsw - - diff --git a/tests/expected/suites_csw30_get_b9a07a54-75a8-45bd-b341-2823600211e3.xml b/tests/expected/suites_csw30_get_b9a07a54-75a8-45bd-b341-2823600211e3.xml deleted file mode 100644 index 93cf54af2..000000000 --- a/tests/expected/suites_csw30_get_b9a07a54-75a8-45bd-b341-2823600211e3.xml +++ /dev/null @@ -1,8 +0,0 @@ - - - - - Invalid Filter query: Exception: document not valid. -Error: Reprojection error: Invalid srsName "urn:ogc:def:crs:EPSG::0000": Invalid source projection. - - diff --git a/tests/expected/suites_csw30_get_baa4a7d0-0c01-42b6-adc3-0d03e9949fa3.xml b/tests/expected/suites_csw30_get_baa4a7d0-0c01-42b6-adc3-0d03e9949fa3.xml deleted file mode 100644 index 4953497e2..000000000 --- a/tests/expected/suites_csw30_get_baa4a7d0-0c01-42b6-adc3-0d03e9949fa3.xml +++ /dev/null @@ -1,7 +0,0 @@ - - - - - Invalid value for request: getCapabilities - - diff --git a/tests/expected/suites_csw30_get_bfbe6409-f64a-4c89-acb3-50f260a5c743.xml b/tests/expected/suites_csw30_get_bfbe6409-f64a-4c89-acb3-50f260a5c743.xml deleted file mode 100644 index c6809c5c5..000000000 --- a/tests/expected/suites_csw30_get_bfbe6409-f64a-4c89-acb3-50f260a5c743.xml +++ /dev/null @@ -1,15 +0,0 @@ - - - - - - - urn:uuid:e9330592-0932-474b-be34-c3a3bb67c7db - Fuscé vitae ligulä - http://purl.org/dc/dcmitype/Text - Land titles - text/rtf - Morbi ultriçes, dui suscipit vestibulum prètium, velit ante pretium tortor, egët tincidunt pede odio ac nulla. - - - diff --git a/tests/expected/suites_csw30_get_bfe20134-d1da-42ef-9c0f-8e1307bbf92b.xml b/tests/expected/suites_csw30_get_bfe20134-d1da-42ef-9c0f-8e1307bbf92b.xml deleted file mode 100644 index 4dd660139..000000000 --- a/tests/expected/suites_csw30_get_bfe20134-d1da-42ef-9c0f-8e1307bbf92b.xml +++ /dev/null @@ -1,38 +0,0 @@ - - - - - - - urn:uuid:66ae76b7-54ba-489b-a582-0f0633d96493 - Maecenas enim - http://purl.org/dc/dcmitype/Text - Marine sediments - application/xhtml+xml - Pellentesque tempus magna non sapien fringilla blandit. - - - urn:uuid:6a3de50b-fa66-4b58-a0e6-ca146fdd18d4 - Ut facilisis justo ut lacus - http://purl.org/dc/dcmitype/Service - Vegetation - urn:uuid:94bc9c83-97f6-4b40-9eb8-a8e8787a5c63 - - - urn:uuid:784e2afd-a9fd-44a6-9a92-a3848371c8ec - Aliquam fermentum purus quis arcu - http://purl.org/dc/dcmitype/Text - Hydrography--Dictionaries - application/pdf - Vestibulum quis ipsum sit amet metus imperdiet vehicula. Nulla scelerisque cursus mi. - 2006-05-12 - - - urn:uuid:829babb0-b2f1-49e1-8cd5-7b489fe71a1e - Vestibulum massa purus - http://purl.org/dc/dcmitype/Image - image/jp2 - urn:uuid:9a669547-b69b-469f-a11f-2d875366bbdc - - - diff --git a/tests/expected/suites_csw30_get_c03d173a-3f42-4956-89c8-1fe02c3a0873.xml b/tests/expected/suites_csw30_get_c03d173a-3f42-4956-89c8-1fe02c3a0873.xml deleted file mode 100644 index c5cb70e29..000000000 --- a/tests/expected/suites_csw30_get_c03d173a-3f42-4956-89c8-1fe02c3a0873.xml +++ /dev/null @@ -1,493 +0,0 @@ - - - - - pycsw Geospatial Catalogue - pycsw is an OGC CSW server implementation written in Python - - catalogue - discovery - theme - - CSW - 2.0.2 - 3.0.0 - None - None - - - pycsw - - - Kralidis, Tom - Senior Systems Scientist - - - +01-416-xxx-xxxx - +01-416-xxx-xxxx - - - TBA - Toronto - Ontario - M9C 3Z9 - Canada - tomkralidis@gmail.com - - - 0800h - 1600h EST - During hours of service. Off on weekends. - - pointOfContact - - - - - - - - - - - - - application/xml - text/xml - - - - - 2.0.2 - 3.0.0 - - - - - All - Filter_Capabilities - OperationsMetadata - ServiceIdentification - ServiceProvider - - - - - - - - - - - - - GetCapabilities.acceptFormats - GetCapabilities.acceptVersions - GetCapabilities.sections - GetRecordById.ElementSetName - GetRecordById.outputFormat - GetRecordById.outputSchema - GetRecords.CONSTRAINTLANGUAGE - GetRecords.ElementSetName - GetRecords.outputFormat - GetRecords.outputSchema - GetRecords.typeNames - - - - - - - - - - - - - CQL_TEXT - FILTER - - - - - brief - full - summary - - - - - application/atom+xml - application/json - application/xml - - - - - http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ - http://www.interlis.ch/INTERLIS2.3 - http://www.opengis.net/cat/csw/3.0 - http://www.opengis.net/cat/csw/csdgm - http://www.w3.org/2005/Atom - - - - - csw:Record - - - - - 10 - - - - - http://localhost/pycsw/csw.py?config=tests/suites/csw30/default.cfg?mode=opensearch&service=CSW&version=3.0.0&request=GetCapabilities - - - - - http://demo.pycsw.org/gisdata/csw - - - - - - - - - - - - - brief - full - summary - - - - - application/atom+xml - application/json - application/xml - - - - - http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ - http://www.interlis.ch/INTERLIS2.3 - http://www.opengis.net/cat/csw/3.0 - http://www.opengis.net/cat/csw/csdgm - http://www.w3.org/2005/Atom - - - - - - - - - - - - - CSW - - - - - 2.0.2 - 3.0.0 - - - - - csw:AnyText - dc:contributor - dc:creator - dc:date - dc:format - dc:identifier - dc:language - dc:publisher - dc:relation - dc:rights - dc:source - dc:subject - dc:title - dc:type - dct:abstract - dct:alternative - dct:modified - dct:spatial - ows:BoundingBox - - - - - http://demo.pycsw.org/gisdata/csw - - - - - 10 - - - - - SOAP - XML - - - - - allowed - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - http://www.opengis.net/gml - - - - - TRUE - - - - - en - - - - - - TRUE - - - - TRUE - - - - TRUE - - - - TRUE - - - - TRUE - - - - TRUE - - - - TRUE - - - - TRUE - - - - TRUE - - - - TRUE - - - - TRUE - - - - TRUE - - - - TRUE - - - - TRUE - - - - TRUE - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - xs:string - - - xs:string - - - xs:string - - - xs:string - - - xs:string - - - xs:string - - - - diff --git a/tests/expected/suites_csw30_get_cb43d8c3-e14c-4a9f-9231-4384b7dd21f3.xml b/tests/expected/suites_csw30_get_cb43d8c3-e14c-4a9f-9231-4384b7dd21f3.xml deleted file mode 100644 index 8affab58f..000000000 --- a/tests/expected/suites_csw30_get_cb43d8c3-e14c-4a9f-9231-4384b7dd21f3.xml +++ /dev/null @@ -1,7 +0,0 @@ - - - - - Invalid ElementName parameter value: u - - diff --git a/tests/expected/suites_csw30_get_d03c6fd3-e821-4a26-b62f-d20a474e25af.xml b/tests/expected/suites_csw30_get_d03c6fd3-e821-4a26-b62f-d20a474e25af.xml deleted file mode 100644 index 770e62fe8..000000000 --- a/tests/expected/suites_csw30_get_d03c6fd3-e821-4a26-b62f-d20a474e25af.xml +++ /dev/null @@ -1,30 +0,0 @@ - - - - - pycsw - - - Kralidis, Tom - Senior Systems Scientist - - - +01-416-xxx-xxxx - +01-416-xxx-xxxx - - - TBA - Toronto - Ontario - M9C 3Z9 - Canada - tomkralidis@gmail.com - - - 0800h - 1600h EST - During hours of service. Off on weekends. - - pointOfContact - - - diff --git a/tests/expected/suites_csw30_get_d4ccbf96-a529-480e-a53d-5b88dc1dea7f.xml b/tests/expected/suites_csw30_get_d4ccbf96-a529-480e-a53d-5b88dc1dea7f.xml deleted file mode 100644 index faf07a500..000000000 --- a/tests/expected/suites_csw30_get_d4ccbf96-a529-480e-a53d-5b88dc1dea7f.xml +++ /dev/null @@ -1,7 +0,0 @@ - - - - - No records found for 'uid-bc5017e6-5cc8-4b03-aee7-d88f88caba0a' - - diff --git a/tests/expected/suites_csw30_get_d94c801a-1207-4897-b84a-53f3a192515b.xml b/tests/expected/suites_csw30_get_d94c801a-1207-4897-b84a-53f3a192515b.xml deleted file mode 100644 index d91c31b05..000000000 --- a/tests/expected/suites_csw30_get_d94c801a-1207-4897-b84a-53f3a192515b.xml +++ /dev/null @@ -1,6 +0,0 @@ - - - - - - diff --git a/tests/expected/suites_csw30_get_da859e34-91fc-495a-8c09-285a40c0900b.xml b/tests/expected/suites_csw30_get_da859e34-91fc-495a-8c09-285a40c0900b.xml deleted file mode 100644 index d85e801e6..000000000 --- a/tests/expected/suites_csw30_get_da859e34-91fc-495a-8c09-285a40c0900b.xml +++ /dev/null @@ -1,14 +0,0 @@ - - - - urn:uuid:94bc9c83-97f6-4b40-9eb8-a8e8787a5c63 - Mauris sed neque - http://purl.org/dc/dcmitype/Dataset - Vegetation-Cropland - Curabitur lacinia, ante non porta tempus, mi lorem feugiat odio, eget suscipit eros pede ac velit. - 2006-03-26 - - 47.59 -4.1 - 51.22 0.89 - - diff --git a/tests/expected/suites_csw30_get_dc246fb8-5af5-4fda-82bb-c18b3ecd439c.xml b/tests/expected/suites_csw30_get_dc246fb8-5af5-4fda-82bb-c18b3ecd439c.xml deleted file mode 100644 index 530b79be6..000000000 --- a/tests/expected/suites_csw30_get_dc246fb8-5af5-4fda-82bb-c18b3ecd439c.xml +++ /dev/null @@ -1,40 +0,0 @@ - - - - http://localhost/pycsw/csw.py?config=tests/suites/csw30/default.cfg - pycsw Geospatial Catalogue - - pycsw - - diff --git a/tests/expected/suites_csw30_get_de016645-6d5c-4855-943c-2db07ae9f49a.xml b/tests/expected/suites_csw30_get_de016645-6d5c-4855-943c-2db07ae9f49a.xml deleted file mode 100644 index 4cdb06187..000000000 --- a/tests/expected/suites_csw30_get_de016645-6d5c-4855-943c-2db07ae9f49a.xml +++ /dev/null @@ -1,30 +0,0 @@ - - - - http://localhost/pycsw/csw.py?config=tests/suites/csw30/default.cfg - pycsw Geospatial Catalogue - - pycsw - - diff --git a/tests/expected/suites_csw30_get_dff3ec6b-bb2d-4887-bd17-8fcf15def042.xml b/tests/expected/suites_csw30_get_dff3ec6b-bb2d-4887-bd17-8fcf15def042.xml deleted file mode 100644 index 81409198c..000000000 --- a/tests/expected/suites_csw30_get_dff3ec6b-bb2d-4887-bd17-8fcf15def042.xml +++ /dev/null @@ -1,89 +0,0 @@ - - - - - - - urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f - Lorem ipsum - http://purl.org/dc/dcmitype/Image - Tourism--Greece - image/svg+xml - Quisque lacus diam, placerat mollis, pharetra in, commodo sed, augue. Duis iaculis arcu vel arcu. - - - urn:uuid:1ef30a8b-876d-4828-9246-c37ab4510bbd - - http://purl.org/dc/dcmitype/Service - Proin sit amet justo. In justo. Aenean adipiscing nulla id tellus. - - 60.04 13.75 - 68.41 17.92 - - - - urn:uuid:66ae76b7-54ba-489b-a582-0f0633d96493 - Maecenas enim - http://purl.org/dc/dcmitype/Text - Marine sediments - application/xhtml+xml - Pellentesque tempus magna non sapien fringilla blandit. - - - urn:uuid:6a3de50b-fa66-4b58-a0e6-ca146fdd18d4 - Ut facilisis justo ut lacus - http://purl.org/dc/dcmitype/Service - Vegetation - urn:uuid:94bc9c83-97f6-4b40-9eb8-a8e8787a5c63 - - - urn:uuid:784e2afd-a9fd-44a6-9a92-a3848371c8ec - Aliquam fermentum purus quis arcu - http://purl.org/dc/dcmitype/Text - Hydrography--Dictionaries - application/pdf - Vestibulum quis ipsum sit amet metus imperdiet vehicula. Nulla scelerisque cursus mi. - - - urn:uuid:829babb0-b2f1-49e1-8cd5-7b489fe71a1e - Vestibulum massa purus - http://purl.org/dc/dcmitype/Image - image/jp2 - urn:uuid:9a669547-b69b-469f-a11f-2d875366bbdc - - - urn:uuid:88247b56-4cbc-4df9-9860-db3f8042e357 - - http://purl.org/dc/dcmitype/Dataset - Physiography-Landforms - Donec scelerisque pede ut nisl luctus accumsan. Quisque ultrices, lorem eget feugiat fringilla, lorem dui porttitor ante, cursus ultrices magna odio eu neque. - - - urn:uuid:94bc9c83-97f6-4b40-9eb8-a8e8787a5c63 - Mauris sed neque - http://purl.org/dc/dcmitype/Dataset - Vegetation-Cropland - Curabitur lacinia, ante non porta tempus, mi lorem feugiat odio, eget suscipit eros pede ac velit. - - 47.59 -4.1 - 51.22 0.89 - - - - urn:uuid:9a669547-b69b-469f-a11f-2d875366bbdc - Ñunç elementum - http://purl.org/dc/dcmitype/Dataset - Hydrography-Oceanographic - - 44.79 -6.17 - 51.13 -2.23 - - - - urn:uuid:a06af396-3105-442d-8b40-22b57a90d2f2 - Lorem ipsum dolor sit amet - http://purl.org/dc/dcmitype/Image - image/jpeg - - - diff --git a/tests/expected/suites_csw30_get_e38e6bfb-8ac4-4ae4-8b87-0aafbc8d3c6b.xml b/tests/expected/suites_csw30_get_e38e6bfb-8ac4-4ae4-8b87-0aafbc8d3c6b.xml deleted file mode 100644 index 2a3f20b3b..000000000 --- a/tests/expected/suites_csw30_get_e38e6bfb-8ac4-4ae4-8b87-0aafbc8d3c6b.xml +++ /dev/null @@ -1,11 +0,0 @@ - - - - urn:uuid:1ef30a8b-876d-4828-9246-c37ab4510bbd - - http://purl.org/dc/dcmitype/Service - - 60.04 13.75 - 68.41 17.92 - - diff --git a/tests/expected/suites_csw30_get_e67ca935-d65d-4d8c-8302-1405333dded0.xml b/tests/expected/suites_csw30_get_e67ca935-d65d-4d8c-8302-1405333dded0.xml deleted file mode 100644 index c5cb70e29..000000000 --- a/tests/expected/suites_csw30_get_e67ca935-d65d-4d8c-8302-1405333dded0.xml +++ /dev/null @@ -1,493 +0,0 @@ - - - - - pycsw Geospatial Catalogue - pycsw is an OGC CSW server implementation written in Python - - catalogue - discovery - theme - - CSW - 2.0.2 - 3.0.0 - None - None - - - pycsw - - - Kralidis, Tom - Senior Systems Scientist - - - +01-416-xxx-xxxx - +01-416-xxx-xxxx - - - TBA - Toronto - Ontario - M9C 3Z9 - Canada - tomkralidis@gmail.com - - - 0800h - 1600h EST - During hours of service. Off on weekends. - - pointOfContact - - - - - - - - - - - - - application/xml - text/xml - - - - - 2.0.2 - 3.0.0 - - - - - All - Filter_Capabilities - OperationsMetadata - ServiceIdentification - ServiceProvider - - - - - - - - - - - - - GetCapabilities.acceptFormats - GetCapabilities.acceptVersions - GetCapabilities.sections - GetRecordById.ElementSetName - GetRecordById.outputFormat - GetRecordById.outputSchema - GetRecords.CONSTRAINTLANGUAGE - GetRecords.ElementSetName - GetRecords.outputFormat - GetRecords.outputSchema - GetRecords.typeNames - - - - - - - - - - - - - CQL_TEXT - FILTER - - - - - brief - full - summary - - - - - application/atom+xml - application/json - application/xml - - - - - http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ - http://www.interlis.ch/INTERLIS2.3 - http://www.opengis.net/cat/csw/3.0 - http://www.opengis.net/cat/csw/csdgm - http://www.w3.org/2005/Atom - - - - - csw:Record - - - - - 10 - - - - - http://localhost/pycsw/csw.py?config=tests/suites/csw30/default.cfg?mode=opensearch&service=CSW&version=3.0.0&request=GetCapabilities - - - - - http://demo.pycsw.org/gisdata/csw - - - - - - - - - - - - - brief - full - summary - - - - - application/atom+xml - application/json - application/xml - - - - - http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ - http://www.interlis.ch/INTERLIS2.3 - http://www.opengis.net/cat/csw/3.0 - http://www.opengis.net/cat/csw/csdgm - http://www.w3.org/2005/Atom - - - - - - - - - - - - - CSW - - - - - 2.0.2 - 3.0.0 - - - - - csw:AnyText - dc:contributor - dc:creator - dc:date - dc:format - dc:identifier - dc:language - dc:publisher - dc:relation - dc:rights - dc:source - dc:subject - dc:title - dc:type - dct:abstract - dct:alternative - dct:modified - dct:spatial - ows:BoundingBox - - - - - http://demo.pycsw.org/gisdata/csw - - - - - 10 - - - - - SOAP - XML - - - - - allowed - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - http://www.opengis.net/gml - - - - - TRUE - - - - - en - - - - - - TRUE - - - - TRUE - - - - TRUE - - - - TRUE - - - - TRUE - - - - TRUE - - - - TRUE - - - - TRUE - - - - TRUE - - - - TRUE - - - - TRUE - - - - TRUE - - - - TRUE - - - - TRUE - - - - TRUE - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - xs:string - - - xs:string - - - xs:string - - - xs:string - - - xs:string - - - xs:string - - - - diff --git a/tests/expected/suites_csw30_get_e7704509-3441-458f-8ef0-e333c6b6043f.xml b/tests/expected/suites_csw30_get_e7704509-3441-458f-8ef0-e333c6b6043f.xml deleted file mode 100644 index d1dbd3ab1..000000000 --- a/tests/expected/suites_csw30_get_e7704509-3441-458f-8ef0-e333c6b6043f.xml +++ /dev/null @@ -1,7 +0,0 @@ - - - - - Only ONE of ElementSetName or ElementName parameter(s) is permitted - - diff --git a/tests/expected/suites_csw30_get_f1223a49-6d08-44ff-97fe-4c32cbbfad82.xml b/tests/expected/suites_csw30_get_f1223a49-6d08-44ff-97fe-4c32cbbfad82.xml deleted file mode 100644 index 6520e5212..000000000 --- a/tests/expected/suites_csw30_get_f1223a49-6d08-44ff-97fe-4c32cbbfad82.xml +++ /dev/null @@ -1,6 +0,0 @@ - - - - - - diff --git a/tests/expected/suites_csw30_get_f89dd4e1-3a81-4433-afd2-a3fa1bdb1e18.xml b/tests/expected/suites_csw30_get_f89dd4e1-3a81-4433-afd2-a3fa1bdb1e18.xml deleted file mode 100644 index 2b5272833..000000000 --- a/tests/expected/suites_csw30_get_f89dd4e1-3a81-4433-afd2-a3fa1bdb1e18.xml +++ /dev/null @@ -1,7 +0,0 @@ - - - - - Invalid outputFormat parameter value: text/example - - diff --git a/tests/expected/suites_csw30_post_Exception-GetDomain-parametername-bad.xml b/tests/expected/suites_csw30_post_Exception-GetDomain-parametername-bad.xml deleted file mode 100644 index 759884ffd..000000000 --- a/tests/expected/suites_csw30_post_Exception-GetDomain-parametername-bad.xml +++ /dev/null @@ -1,7 +0,0 @@ - - - - - GetRecords.outputFormat-something - - diff --git a/tests/expected/suites_csw30_post_Exception-GetDomain-valuereference-bad.xml b/tests/expected/suites_csw30_post_Exception-GetDomain-valuereference-bad.xml deleted file mode 100644 index 6aa6d9a40..000000000 --- a/tests/expected/suites_csw30_post_Exception-GetDomain-valuereference-bad.xml +++ /dev/null @@ -1,7 +0,0 @@ - - - - - dc:titlena - - diff --git a/tests/expected/suites_csw30_post_Exception-GetRecordById-404.xml b/tests/expected/suites_csw30_post_Exception-GetRecordById-404.xml deleted file mode 100644 index 992d6f29c..000000000 --- a/tests/expected/suites_csw30_post_Exception-GetRecordById-404.xml +++ /dev/null @@ -1,7 +0,0 @@ - - - - - No repository item found for 'does_not_exist' - - diff --git a/tests/expected/suites_csw30_post_Exception-GetRecordById-bad-esn.xml b/tests/expected/suites_csw30_post_Exception-GetRecordById-bad-esn.xml deleted file mode 100644 index 3b7e2b9ee..000000000 --- a/tests/expected/suites_csw30_post_Exception-GetRecordById-bad-esn.xml +++ /dev/null @@ -1,7 +0,0 @@ - - - - - Invalid elementsetname parameter bad - - diff --git a/tests/expected/suites_csw30_post_Exception-bad-xml.xml b/tests/expected/suites_csw30_post_Exception-bad-xml.xml deleted file mode 100644 index 76e5b29f7..000000000 --- a/tests/expected/suites_csw30_post_Exception-bad-xml.xml +++ /dev/null @@ -1,8 +0,0 @@ - - - - - Exception: document not well-formed. -Error: Opening and ending tag mismatch: GetCapabilities line 2 and GetCapabilities-bad, line 9, column 29. - - diff --git a/tests/expected/suites_csw30_post_Exception-not-xml.xml b/tests/expected/suites_csw30_post_Exception-not-xml.xml deleted file mode 100644 index 632a1d8cd..000000000 --- a/tests/expected/suites_csw30_post_Exception-not-xml.xml +++ /dev/null @@ -1,8 +0,0 @@ - - - - - Exception: document not well-formed. -Error: Start tag expected, '<' not found, line 1, column 1. - - diff --git a/tests/expected/suites_csw30_post_GetCapabilities.xml b/tests/expected/suites_csw30_post_GetCapabilities.xml deleted file mode 100644 index c5cb70e29..000000000 --- a/tests/expected/suites_csw30_post_GetCapabilities.xml +++ /dev/null @@ -1,493 +0,0 @@ - - - - - pycsw Geospatial Catalogue - pycsw is an OGC CSW server implementation written in Python - - catalogue - discovery - theme - - CSW - 2.0.2 - 3.0.0 - None - None - - - pycsw - - - Kralidis, Tom - Senior Systems Scientist - - - +01-416-xxx-xxxx - +01-416-xxx-xxxx - - - TBA - Toronto - Ontario - M9C 3Z9 - Canada - tomkralidis@gmail.com - - - 0800h - 1600h EST - During hours of service. Off on weekends. - - pointOfContact - - - - - - - - - - - - - application/xml - text/xml - - - - - 2.0.2 - 3.0.0 - - - - - All - Filter_Capabilities - OperationsMetadata - ServiceIdentification - ServiceProvider - - - - - - - - - - - - - GetCapabilities.acceptFormats - GetCapabilities.acceptVersions - GetCapabilities.sections - GetRecordById.ElementSetName - GetRecordById.outputFormat - GetRecordById.outputSchema - GetRecords.CONSTRAINTLANGUAGE - GetRecords.ElementSetName - GetRecords.outputFormat - GetRecords.outputSchema - GetRecords.typeNames - - - - - - - - - - - - - CQL_TEXT - FILTER - - - - - brief - full - summary - - - - - application/atom+xml - application/json - application/xml - - - - - http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ - http://www.interlis.ch/INTERLIS2.3 - http://www.opengis.net/cat/csw/3.0 - http://www.opengis.net/cat/csw/csdgm - http://www.w3.org/2005/Atom - - - - - csw:Record - - - - - 10 - - - - - http://localhost/pycsw/csw.py?config=tests/suites/csw30/default.cfg?mode=opensearch&service=CSW&version=3.0.0&request=GetCapabilities - - - - - http://demo.pycsw.org/gisdata/csw - - - - - - - - - - - - - brief - full - summary - - - - - application/atom+xml - application/json - application/xml - - - - - http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ - http://www.interlis.ch/INTERLIS2.3 - http://www.opengis.net/cat/csw/3.0 - http://www.opengis.net/cat/csw/csdgm - http://www.w3.org/2005/Atom - - - - - - - - - - - - - CSW - - - - - 2.0.2 - 3.0.0 - - - - - csw:AnyText - dc:contributor - dc:creator - dc:date - dc:format - dc:identifier - dc:language - dc:publisher - dc:relation - dc:rights - dc:source - dc:subject - dc:title - dc:type - dct:abstract - dct:alternative - dct:modified - dct:spatial - ows:BoundingBox - - - - - http://demo.pycsw.org/gisdata/csw - - - - - 10 - - - - - SOAP - XML - - - - - allowed - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - TRUE - - - - - http://www.opengis.net/gml - - - - - TRUE - - - - - en - - - - - - TRUE - - - - TRUE - - - - TRUE - - - - TRUE - - - - TRUE - - - - TRUE - - - - TRUE - - - - TRUE - - - - TRUE - - - - TRUE - - - - TRUE - - - - TRUE - - - - TRUE - - - - TRUE - - - - TRUE - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - xs:string - - - xs:string - - - xs:string - - - xs:string - - - xs:string - - - xs:string - - - - diff --git a/tests/expected/suites_csw30_post_GetDomain-parametername.xml b/tests/expected/suites_csw30_post_GetDomain-parametername.xml deleted file mode 100644 index d9cd1c604..000000000 --- a/tests/expected/suites_csw30_post_GetDomain-parametername.xml +++ /dev/null @@ -1,12 +0,0 @@ - - - - - GetRecords.outputFormat - - application/atom+xml - application/json - application/xml - - - diff --git a/tests/expected/suites_csw30_post_GetDomain-valuereference.xml b/tests/expected/suites_csw30_post_GetDomain-valuereference.xml deleted file mode 100644 index 3775ee212..000000000 --- a/tests/expected/suites_csw30_post_GetDomain-valuereference.xml +++ /dev/null @@ -1,18 +0,0 @@ - - - - - dc:title - - Aliquam fermentum purus quis arcu - Fuscé vitae ligulä - Lorem ipsum - Lorem ipsum dolor sit amet - Maecenas enim - Mauris sed neque - Ut facilisis justo ut lacus - Vestibulum massa purus - Ñunç elementum - - - diff --git a/tests/expected/suites_csw30_post_GetRecordById-dc-full.xml b/tests/expected/suites_csw30_post_GetRecordById-dc-full.xml deleted file mode 100644 index ae4a178b2..000000000 --- a/tests/expected/suites_csw30_post_GetRecordById-dc-full.xml +++ /dev/null @@ -1,10 +0,0 @@ - - - - urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f - Lorem ipsum - http://purl.org/dc/dcmitype/Image - Tourism--Greece - image/svg+xml - Quisque lacus diam, placerat mollis, pharetra in, commodo sed, augue. Duis iaculis arcu vel arcu. - diff --git a/tests/expected/suites_csw30_post_GetRecordById-dc.xml b/tests/expected/suites_csw30_post_GetRecordById-dc.xml deleted file mode 100644 index 731f3ba9e..000000000 --- a/tests/expected/suites_csw30_post_GetRecordById-dc.xml +++ /dev/null @@ -1,10 +0,0 @@ - - - - urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f - Lorem ipsum - http://purl.org/dc/dcmitype/Image - Tourism--Greece - image/svg+xml - Quisque lacus diam, placerat mollis, pharetra in, commodo sed, augue. Duis iaculis arcu vel arcu. - diff --git a/tests/expected/suites_default_get_Exception-GetRepositoryItem-notfound.xml b/tests/expected/suites_default_get_Exception-GetRepositoryItem-notfound.xml deleted file mode 100644 index 5607c7589..000000000 --- a/tests/expected/suites_default_get_Exception-GetRepositoryItem-notfound.xml +++ /dev/null @@ -1,7 +0,0 @@ - - - - - No repository item found for '['NOTFOUND']' - - diff --git a/tests/expected/suites_default_get_Exception-GetRepositoryItem-service-invalid1.xml b/tests/expected/suites_default_get_Exception-GetRepositoryItem-service-invalid1.xml deleted file mode 100644 index 4e35a17da..000000000 --- a/tests/expected/suites_default_get_Exception-GetRepositoryItem-service-invalid1.xml +++ /dev/null @@ -1,7 +0,0 @@ - - - - - 'Invalid value for service: CSW\x00. Value MUST be CSW' - - diff --git a/tests/expected/suites_default_get_Exception-GetRepositoryItem-service-invalid2.xml b/tests/expected/suites_default_get_Exception-GetRepositoryItem-service-invalid2.xml deleted file mode 100644 index 97ec989fa..000000000 --- a/tests/expected/suites_default_get_Exception-GetRepositoryItem-service-invalid2.xml +++ /dev/null @@ -1,7 +0,0 @@ - - - - - "Invalid value for service: CSW\x00'. Value MUST be CSW" - - diff --git a/tests/expected/suites_default_get_Exception-GetRepositoryItem-version-invalid.xml b/tests/expected/suites_default_get_Exception-GetRepositoryItem-version-invalid.xml deleted file mode 100644 index fd7123387..000000000 --- a/tests/expected/suites_default_get_Exception-GetRepositoryItem-version-invalid.xml +++ /dev/null @@ -1,7 +0,0 @@ - - - - - Invalid value for version: 2.0.2'. Value MUST be 2.0.2 or 3.0.0 - - diff --git a/tests/expected/suites_default_get_GetCapabilities-invalid-request.xml b/tests/expected/suites_default_get_GetCapabilities-invalid-request.xml deleted file mode 100644 index 03450eb2d..000000000 --- a/tests/expected/suites_default_get_GetCapabilities-invalid-request.xml +++ /dev/null @@ -1,7 +0,0 @@ - - - - - Invalid value for request: GetCapabilitiese - - diff --git a/tests/expected/suites_default_get_GetCapabilities.xml b/tests/expected/suites_default_get_GetCapabilities.xml deleted file mode 100644 index 43965feec..000000000 --- a/tests/expected/suites_default_get_GetCapabilities.xml +++ /dev/null @@ -1,264 +0,0 @@ - - - - - pycsw Geospatial Catalogue - pycsw is an OGC CSW server implementation written in Python - - catalogue - discovery - theme - - CSW - 2.0.2 - 3.0.0 - None - None - - - pycsw - - - Kralidis, Tom - Senior Systems Scientist - - - +01-416-xxx-xxxx - +01-416-xxx-xxxx - - - TBA - Toronto - Ontario - M9C 3Z9 - Canada - tomkralidis@gmail.com - - - 0800h - 1600h EST - During hours of service. Off on weekends. - - pointOfContact - - - - - - - - - - - - Filter_Capabilities - OperationsMetadata - ServiceIdentification - ServiceProvider - - - - - - - - - - - application/json - application/xml - - - http://www.w3.org/2001/XMLSchema - http://www.w3.org/TR/xmlschema-1/ - http://www.w3.org/XML/Schema - - - csw:Record - - - - - - - - - - - DescribeRecord.outputFormat - DescribeRecord.schemaLanguage - DescribeRecord.typeName - GetCapabilities.sections - GetRecordById.ElementSetName - GetRecordById.outputFormat - GetRecordById.outputSchema - GetRecords.CONSTRAINTLANGUAGE - GetRecords.ElementSetName - GetRecords.outputFormat - GetRecords.outputSchema - GetRecords.resultType - GetRecords.typeNames - - - - - - - - - - - CQL_TEXT - FILTER - - - brief - full - summary - - - application/json - application/xml - - - http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ - http://www.interlis.ch/INTERLIS2.3 - http://www.opengis.net/cat/csw/2.0.2 - http://www.opengis.net/cat/csw/csdgm - http://www.w3.org/2005/Atom - - - hits - results - validate - - - csw:Record - - - csw:AnyText - dc:contributor - dc:creator - dc:date - dc:format - dc:identifier - dc:language - dc:publisher - dc:relation - dc:rights - dc:source - dc:subject - dc:title - dc:type - dct:abstract - dct:alternative - dct:modified - dct:spatial - ows:BoundingBox - - - - - - - - - - - brief - full - summary - - - application/json - application/xml - - - http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ - http://www.interlis.ch/INTERLIS2.3 - http://www.opengis.net/cat/csw/2.0.2 - http://www.opengis.net/cat/csw/csdgm - http://www.w3.org/2005/Atom - - - - - - - - - - - CSW - - - 2.0.2 - 3.0.0 - - - http://demo.pycsw.org/gisdata/csw - - - 10 - - - XML - SOAP - - - allowed - - - - - - gml:Point - gml:LineString - gml:Polygon - gml:Envelope - - - - - - - - - - - - - - - - - - - Between - EqualTo - GreaterThan - GreaterThanEqualTo - LessThan - LessThanEqualTo - Like - NotEqualTo - NullCheck - - - - - length - lower - ltrim - rtrim - trim - upper - - - - - - - - - - diff --git a/tests/expected/suites_default_get_GetRecords-all.xml b/tests/expected/suites_default_get_GetRecords-all.xml deleted file mode 100644 index 9b45c7898..000000000 --- a/tests/expected/suites_default_get_GetRecords-all.xml +++ /dev/null @@ -1,6 +0,0 @@ - - - - - - diff --git a/tests/expected/suites_default_get_GetRecords-empty-maxrecords.xml b/tests/expected/suites_default_get_GetRecords-empty-maxrecords.xml deleted file mode 100644 index 9b45c7898..000000000 --- a/tests/expected/suites_default_get_GetRecords-empty-maxrecords.xml +++ /dev/null @@ -1,6 +0,0 @@ - - - - - - diff --git a/tests/expected/suites_default_get_GetRecords-filter-cql-title-or-abstract-with-spaces.xml b/tests/expected/suites_default_get_GetRecords-filter-cql-title-or-abstract-with-spaces.xml deleted file mode 100644 index 2b1accdf9..000000000 --- a/tests/expected/suites_default_get_GetRecords-filter-cql-title-or-abstract-with-spaces.xml +++ /dev/null @@ -1,23 +0,0 @@ - - - - - - - urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f - http://purl.org/dc/dcmitype/Image - image/svg+xml - Lorem ipsum - GR-22 - Tourism--Greece - Quisque lacus diam, placerat mollis, pharetra in, commodo sed, augue. Duis iaculis arcu vel arcu. - - - urn:uuid:a06af396-3105-442d-8b40-22b57a90d2f2 - http://purl.org/dc/dcmitype/Image - Lorem ipsum dolor sit amet - image/jpeg - IT-FI - - - diff --git a/tests/expected/suites_default_get_GetRecords-filter-cql-title-or-abstract.xml b/tests/expected/suites_default_get_GetRecords-filter-cql-title-or-abstract.xml deleted file mode 100644 index 2b1accdf9..000000000 --- a/tests/expected/suites_default_get_GetRecords-filter-cql-title-or-abstract.xml +++ /dev/null @@ -1,23 +0,0 @@ - - - - - - - urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f - http://purl.org/dc/dcmitype/Image - image/svg+xml - Lorem ipsum - GR-22 - Tourism--Greece - Quisque lacus diam, placerat mollis, pharetra in, commodo sed, augue. Duis iaculis arcu vel arcu. - - - urn:uuid:a06af396-3105-442d-8b40-22b57a90d2f2 - http://purl.org/dc/dcmitype/Image - Lorem ipsum dolor sit amet - image/jpeg - IT-FI - - - diff --git a/tests/expected/suites_default_get_GetRecords-filter-cql-title-with-spaces-or-abstract-with-spaces.xml b/tests/expected/suites_default_get_GetRecords-filter-cql-title-with-spaces-or-abstract-with-spaces.xml deleted file mode 100644 index 2b1accdf9..000000000 --- a/tests/expected/suites_default_get_GetRecords-filter-cql-title-with-spaces-or-abstract-with-spaces.xml +++ /dev/null @@ -1,23 +0,0 @@ - - - - - - - urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f - http://purl.org/dc/dcmitype/Image - image/svg+xml - Lorem ipsum - GR-22 - Tourism--Greece - Quisque lacus diam, placerat mollis, pharetra in, commodo sed, augue. Duis iaculis arcu vel arcu. - - - urn:uuid:a06af396-3105-442d-8b40-22b57a90d2f2 - http://purl.org/dc/dcmitype/Image - Lorem ipsum dolor sit amet - image/jpeg - IT-FI - - - diff --git a/tests/expected/suites_default_get_GetRecords-filter-cql-title-with-spaces-or-abstract.xml b/tests/expected/suites_default_get_GetRecords-filter-cql-title-with-spaces-or-abstract.xml deleted file mode 100644 index 2b1accdf9..000000000 --- a/tests/expected/suites_default_get_GetRecords-filter-cql-title-with-spaces-or-abstract.xml +++ /dev/null @@ -1,23 +0,0 @@ - - - - - - - urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f - http://purl.org/dc/dcmitype/Image - image/svg+xml - Lorem ipsum - GR-22 - Tourism--Greece - Quisque lacus diam, placerat mollis, pharetra in, commodo sed, augue. Duis iaculis arcu vel arcu. - - - urn:uuid:a06af396-3105-442d-8b40-22b57a90d2f2 - http://purl.org/dc/dcmitype/Image - Lorem ipsum dolor sit amet - image/jpeg - IT-FI - - - diff --git a/tests/expected/suites_default_get_GetRecords-filter-cql-title-with-spaces.xml b/tests/expected/suites_default_get_GetRecords-filter-cql-title-with-spaces.xml deleted file mode 100644 index 2b1accdf9..000000000 --- a/tests/expected/suites_default_get_GetRecords-filter-cql-title-with-spaces.xml +++ /dev/null @@ -1,23 +0,0 @@ - - - - - - - urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f - http://purl.org/dc/dcmitype/Image - image/svg+xml - Lorem ipsum - GR-22 - Tourism--Greece - Quisque lacus diam, placerat mollis, pharetra in, commodo sed, augue. Duis iaculis arcu vel arcu. - - - urn:uuid:a06af396-3105-442d-8b40-22b57a90d2f2 - http://purl.org/dc/dcmitype/Image - Lorem ipsum dolor sit amet - image/jpeg - IT-FI - - - diff --git a/tests/expected/suites_default_get_GetRecords-filter-cql-title.xml b/tests/expected/suites_default_get_GetRecords-filter-cql-title.xml deleted file mode 100644 index 2b1accdf9..000000000 --- a/tests/expected/suites_default_get_GetRecords-filter-cql-title.xml +++ /dev/null @@ -1,23 +0,0 @@ - - - - - - - urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f - http://purl.org/dc/dcmitype/Image - image/svg+xml - Lorem ipsum - GR-22 - Tourism--Greece - Quisque lacus diam, placerat mollis, pharetra in, commodo sed, augue. Duis iaculis arcu vel arcu. - - - urn:uuid:a06af396-3105-442d-8b40-22b57a90d2f2 - http://purl.org/dc/dcmitype/Image - Lorem ipsum dolor sit amet - image/jpeg - IT-FI - - - diff --git a/tests/expected/suites_default_get_GetRecords-filter.xml b/tests/expected/suites_default_get_GetRecords-filter.xml deleted file mode 100644 index 163bcd640..000000000 --- a/tests/expected/suites_default_get_GetRecords-filter.xml +++ /dev/null @@ -1,16 +0,0 @@ - - - - - - - urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f - http://purl.org/dc/dcmitype/Image - image/svg+xml - Lorem ipsum - GR-22 - Tourism--Greece - Quisque lacus diam, placerat mollis, pharetra in, commodo sed, augue. Duis iaculis arcu vel arcu. - - - diff --git a/tests/expected/suites_default_get_GetRecords-sortby-asc.xml b/tests/expected/suites_default_get_GetRecords-sortby-asc.xml deleted file mode 100644 index 9a5c0f935..000000000 --- a/tests/expected/suites_default_get_GetRecords-sortby-asc.xml +++ /dev/null @@ -1,91 +0,0 @@ - - - - - - - urn:uuid:1ef30a8b-876d-4828-9246-c37ab4510bbd - http://purl.org/dc/dcmitype/Service - Proin sit amet justo. In justo. Aenean adipiscing nulla id tellus. - - 60.042 13.754 - 68.410 17.920 - - - - urn:uuid:88247b56-4cbc-4df9-9860-db3f8042e357 - http://purl.org/dc/dcmitype/Dataset - Physiography-Landforms - FI-ES - Donec scelerisque pede ut nisl luctus accumsan. Quisque ultrices, lorem eget feugiat fringilla, lorem dui porttitor ante, cursus ultrices magna odio eu neque. - - - urn:uuid:ab42a8c4-95e8-4630-bf79-33e59241605a - http://purl.org/dc/dcmitype/Service - Physiography - Suspendisse accumsan molestie lorem. Nullam velit turpis, mattis ut, varius bibendum, laoreet non, quam. - urn:uuid:88247b56-4cbc-4df9-9860-db3f8042e357 - - - urn:uuid:784e2afd-a9fd-44a6-9a92-a3848371c8ec - Aliquam fermentum purus quis arcu - http://purl.org/dc/dcmitype/Text - Hydrography--Dictionaries - application/pdf - 2006-05-12 - Vestibulum quis ipsum sit amet metus imperdiet vehicula. Nulla scelerisque cursus mi. - - - urn:uuid:e9330592-0932-474b-be34-c3a3bb67c7db - http://purl.org/dc/dcmitype/Text - Fuscé vitae ligulä - 2003-05-09 - Land titles - text/rtf - Morbi ultriçes, dui suscipit vestibulum prètium, velit ante pretium tortor, egët tincidunt pede odio ac nulla. - - - urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f - http://purl.org/dc/dcmitype/Image - image/svg+xml - Lorem ipsum - GR-22 - Tourism--Greece - Quisque lacus diam, placerat mollis, pharetra in, commodo sed, augue. Duis iaculis arcu vel arcu. - - - urn:uuid:a06af396-3105-442d-8b40-22b57a90d2f2 - http://purl.org/dc/dcmitype/Image - Lorem ipsum dolor sit amet - image/jpeg - IT-FI - - - urn:uuid:66ae76b7-54ba-489b-a582-0f0633d96493 - Maecenas enim - http://purl.org/dc/dcmitype/Text - application/xhtml+xml - Marine sediments - Pellentesque tempus magna non sapien fringilla blandit. - - - urn:uuid:94bc9c83-97f6-4b40-9eb8-a8e8787a5c63 - http://purl.org/dc/dcmitype/Dataset - Mauris sed neque - Vegetation-Cropland - Curabitur lacinia, ante non porta tempus, mi lorem feugiat odio, eget suscipit eros pede ac velit. - 2006-03-26 - - 47.595 -4.097 - 51.217 0.889 - - - - urn:uuid:6a3de50b-fa66-4b58-a0e6-ca146fdd18d4 - http://purl.org/dc/dcmitype/Service - Ut facilisis justo ut lacus - Vegetation - urn:uuid:94bc9c83-97f6-4b40-9eb8-a8e8787a5c63 - - - diff --git a/tests/expected/suites_default_get_GetRecords-sortby-desc.xml b/tests/expected/suites_default_get_GetRecords-sortby-desc.xml deleted file mode 100644 index 1bf8d4e5a..000000000 --- a/tests/expected/suites_default_get_GetRecords-sortby-desc.xml +++ /dev/null @@ -1,93 +0,0 @@ - - - - - - - urn:uuid:9a669547-b69b-469f-a11f-2d875366bbdc - http://purl.org/dc/dcmitype/Dataset - Ñunç elementum - Hydrography-Oceanographic - 2005-10-24 - - 44.792 -6.171 - 51.126 -2.228 - - - - urn:uuid:829babb0-b2f1-49e1-8cd5-7b489fe71a1e - http://purl.org/dc/dcmitype/Image - image/jp2 - Vestibulum massa purus - urn:uuid:9a669547-b69b-469f-a11f-2d875366bbdc - - - urn:uuid:6a3de50b-fa66-4b58-a0e6-ca146fdd18d4 - http://purl.org/dc/dcmitype/Service - Ut facilisis justo ut lacus - Vegetation - urn:uuid:94bc9c83-97f6-4b40-9eb8-a8e8787a5c63 - - - urn:uuid:94bc9c83-97f6-4b40-9eb8-a8e8787a5c63 - http://purl.org/dc/dcmitype/Dataset - Mauris sed neque - Vegetation-Cropland - Curabitur lacinia, ante non porta tempus, mi lorem feugiat odio, eget suscipit eros pede ac velit. - 2006-03-26 - - 47.595 -4.097 - 51.217 0.889 - - - - urn:uuid:66ae76b7-54ba-489b-a582-0f0633d96493 - Maecenas enim - http://purl.org/dc/dcmitype/Text - application/xhtml+xml - Marine sediments - Pellentesque tempus magna non sapien fringilla blandit. - - - urn:uuid:a06af396-3105-442d-8b40-22b57a90d2f2 - http://purl.org/dc/dcmitype/Image - Lorem ipsum dolor sit amet - image/jpeg - IT-FI - - - urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f - http://purl.org/dc/dcmitype/Image - image/svg+xml - Lorem ipsum - GR-22 - Tourism--Greece - Quisque lacus diam, placerat mollis, pharetra in, commodo sed, augue. Duis iaculis arcu vel arcu. - - - urn:uuid:e9330592-0932-474b-be34-c3a3bb67c7db - http://purl.org/dc/dcmitype/Text - Fuscé vitae ligulä - 2003-05-09 - Land titles - text/rtf - Morbi ultriçes, dui suscipit vestibulum prètium, velit ante pretium tortor, egët tincidunt pede odio ac nulla. - - - urn:uuid:784e2afd-a9fd-44a6-9a92-a3848371c8ec - Aliquam fermentum purus quis arcu - http://purl.org/dc/dcmitype/Text - Hydrography--Dictionaries - application/pdf - 2006-05-12 - Vestibulum quis ipsum sit amet metus imperdiet vehicula. Nulla scelerisque cursus mi. - - - urn:uuid:ab42a8c4-95e8-4630-bf79-33e59241605a - http://purl.org/dc/dcmitype/Service - Physiography - Suspendisse accumsan molestie lorem. Nullam velit turpis, mattis ut, varius bibendum, laoreet non, quam. - urn:uuid:88247b56-4cbc-4df9-9860-db3f8042e357 - - - diff --git a/tests/expected/suites_default_get_GetRecords-sortby-invalid-order.xml b/tests/expected/suites_default_get_GetRecords-sortby-invalid-order.xml deleted file mode 100644 index 85457f69f..000000000 --- a/tests/expected/suites_default_get_GetRecords-sortby-invalid-order.xml +++ /dev/null @@ -1,7 +0,0 @@ - - - - - Invalid SortBy value: sort order must be "A" or "D" - - diff --git a/tests/expected/suites_default_get_GetRecords-sortby-invalid-propertyname.xml b/tests/expected/suites_default_get_GetRecords-sortby-invalid-propertyname.xml deleted file mode 100644 index 25c7b6f80..000000000 --- a/tests/expected/suites_default_get_GetRecords-sortby-invalid-propertyname.xml +++ /dev/null @@ -1,7 +0,0 @@ - - - - - Invalid SortBy propertyname: dc:titlei - - diff --git a/tests/expected/suites_default_get_GetRepositoryItem.xml b/tests/expected/suites_default_get_GetRepositoryItem.xml deleted file mode 100644 index 77fae8b66..000000000 --- a/tests/expected/suites_default_get_GetRepositoryItem.xml +++ /dev/null @@ -1,14 +0,0 @@ - - - - urn:uuid:94bc9c83-97f6-4b40-9eb8-a8e8787a5c63 - http://purl.org/dc/dcmitype/Dataset - Mauris sed neque - Vegetation-Cropland - Curabitur lacinia, ante non porta tempus, mi lorem feugiat odio, eget suscipit eros pede ac velit. - 2006-03-26 - - 47.595 -4.097 - 51.217 0.889 - - diff --git a/tests/expected/suites_default_post_DescribeRecord-json.xml b/tests/expected/suites_default_post_DescribeRecord-json.xml deleted file mode 100644 index 19f117bee..000000000 --- a/tests/expected/suites_default_post_DescribeRecord-json.xml +++ /dev/null @@ -1,231 +0,0 @@ -{ - "csw:DescribeRecordResponse": { - "@xsi:schemaLocation": "http://www.opengis.net/cat/csw/2.0.2 http://schemas.opengis.net/csw/2.0.2/CSW-discovery.xsd", - "csw:SchemaComponent": { - "@schemaLanguage": "XMLSCHEMA", - "@targetNamespace": "http://www.opengis.net/cat/csw/2.0.2", - "xs:schema": { - "@id": "csw-record", - "@targetNamespace": "http://www.opengis.net/cat/csw/2.0.2", - "@elementFormDefault": "qualified", - "@version": "2.0.2 2010-01-22", - "xs:annotation": { - "xs:appinfo": { - "dc:identifier": "http://schemas.opengis.net/csw/2.0.2/record.xsd" - }, - "xs:documentation": { - "@http://www.w3.org/XML/1998/namespace:lang": "en", - "#text": "This schema defines the basic record types that must be supported\n by all CSW implementations. These correspond to full, summary, and\n brief views based on DCMI metadata terms.\n \n CSW is an OGC Standard.\n Copyright (c) 2004,2010 Open Geospatial Consortium, Inc. All Rights Reserved.\n To obtain additional rights of use, visit http://www.opengeospatial.org/legal/ ." - } - }, - "xs:import": [ - { - "@namespace": "http://purl.org/dc/terms/", - "@schemaLocation": "rec-dcterms.xsd" - }, - { - "@namespace": "http://purl.org/dc/elements/1.1/", - "@schemaLocation": "rec-dcmes.xsd" - }, - { - "@namespace": "http://www.opengis.net/ows", - "@schemaLocation": "../../ows/1.0.0/owsAll.xsd" - } - ], - "xs:element": [ - { - "@name": "AbstractRecord", - "@id": "AbstractRecord", - "@type": "csw:AbstractRecordType", - "@abstract": "true" - }, - { - "@name": "DCMIRecord", - "@type": "csw:DCMIRecordType", - "@substitutionGroup": "csw:AbstractRecord" - }, - { - "@name": "BriefRecord", - "@type": "csw:BriefRecordType", - "@substitutionGroup": "csw:AbstractRecord" - }, - { - "@name": "SummaryRecord", - "@type": "csw:SummaryRecordType", - "@substitutionGroup": "csw:AbstractRecord" - }, - { - "@name": "Record", - "@type": "csw:RecordType", - "@substitutionGroup": "csw:AbstractRecord" - } - ], - "xs:complexType": [ - { - "@name": "AbstractRecordType", - "@id": "AbstractRecordType", - "@abstract": "true" - }, - { - "@name": "DCMIRecordType", - "xs:annotation": { - "xs:documentation": { - "@http://www.w3.org/XML/1998/namespace:lang": "en", - "#text": "This type encapsulates all of the standard DCMI metadata terms,\n including the Dublin Core refinements; these terms may be mapped\n to the profile-specific information model." - } - }, - "xs:complexContent": { - "xs:extension": { - "@base": "csw:AbstractRecordType", - "xs:sequence": { - "xs:group": { - "@ref": "dct:DCMI-terms" - } - } - } - } - }, - { - "@name": "BriefRecordType", - "@final": "#all", - "xs:annotation": { - "xs:documentation": { - "@http://www.w3.org/XML/1998/namespace:lang": "en", - "#text": "This type defines a brief representation of the common record\n format. It extends AbstractRecordType to include only the\n dc:identifier and dc:type properties." - } - }, - "xs:complexContent": { - "xs:extension": { - "@base": "csw:AbstractRecordType", - "xs:sequence": { - "xs:element": [ - { - "@ref": "dc:identifier", - "@minOccurs": "1", - "@maxOccurs": "unbounded" - }, - { - "@ref": "dc:title", - "@minOccurs": "1", - "@maxOccurs": "unbounded" - }, - { - "@ref": "dc:type", - "@minOccurs": "0" - }, - { - "@ref": "ows:BoundingBox", - "@minOccurs": "0", - "@maxOccurs": "unbounded" - } - ] - } - } - } - }, - { - "@name": "SummaryRecordType", - "@final": "#all", - "xs:annotation": { - "xs:documentation": { - "@http://www.w3.org/XML/1998/namespace:lang": "en", - "#text": "This type defines a summary representation of the common record\n format. It extends AbstractRecordType to include the core\n properties." - } - }, - "xs:complexContent": { - "xs:extension": { - "@base": "csw:AbstractRecordType", - "xs:sequence": { - "xs:element": [ - { - "@ref": "dc:identifier", - "@minOccurs": "1", - "@maxOccurs": "unbounded" - }, - { - "@ref": "dc:title", - "@minOccurs": "1", - "@maxOccurs": "unbounded" - }, - { - "@ref": "dc:type", - "@minOccurs": "0" - }, - { - "@ref": "dc:subject", - "@minOccurs": "0", - "@maxOccurs": "unbounded" - }, - { - "@ref": "dc:format", - "@minOccurs": "0", - "@maxOccurs": "unbounded" - }, - { - "@ref": "dc:relation", - "@minOccurs": "0", - "@maxOccurs": "unbounded" - }, - { - "@ref": "dct:modified", - "@minOccurs": "0", - "@maxOccurs": "unbounded" - }, - { - "@ref": "dct:abstract", - "@minOccurs": "0", - "@maxOccurs": "unbounded" - }, - { - "@ref": "dct:spatial", - "@minOccurs": "0", - "@maxOccurs": "unbounded" - }, - { - "@ref": "ows:BoundingBox", - "@minOccurs": "0", - "@maxOccurs": "unbounded" - } - ] - } - } - } - }, - { - "@name": "RecordType", - "@final": "#all", - "xs:annotation": { - "xs:documentation": { - "@http://www.w3.org/XML/1998/namespace:lang": "en", - "#text": "This type extends DCMIRecordType to add ows:BoundingBox;\n it may be used to specify a spatial envelope for the\n catalogued resource." - } - }, - "xs:complexContent": { - "xs:extension": { - "@base": "csw:DCMIRecordType", - "xs:sequence": { - "xs:element": [ - { - "@name": "AnyText", - "@type": "csw:EmptyType", - "@minOccurs": "0", - "@maxOccurs": "unbounded" - }, - { - "@ref": "ows:BoundingBox", - "@minOccurs": "0", - "@maxOccurs": "unbounded" - } - ] - } - } - } - }, - { - "@name": "EmptyType" - } - ] - } - } - } -} \ No newline at end of file diff --git a/tests/expected/suites_default_post_DescribeRecord.xml b/tests/expected/suites_default_post_DescribeRecord.xml deleted file mode 100644 index 76101a6bb..000000000 --- a/tests/expected/suites_default_post_DescribeRecord.xml +++ /dev/null @@ -1,115 +0,0 @@ - - - - - - - - http://schemas.opengis.net/csw/2.0.2/record.xsd - - - This schema defines the basic record types that must be supported - by all CSW implementations. These correspond to full, summary, and - brief views based on DCMI metadata terms. - - CSW is an OGC Standard. - Copyright (c) 2004,2010 Open Geospatial Consortium, Inc. All Rights Reserved. - To obtain additional rights of use, visit http://www.opengeospatial.org/legal/ . - - - - - - - - - - - - - - - This type encapsulates all of the standard DCMI metadata terms, - including the Dublin Core refinements; these terms may be mapped - to the profile-specific information model. - - - - - - - - - - - - - - - - This type defines a brief representation of the common record - format. It extends AbstractRecordType to include only the - dc:identifier and dc:type properties. - - - - - - - - - - - - - - - - - - - This type defines a summary representation of the common record - format. It extends AbstractRecordType to include the core - properties. - - - - - - - - - - - - - - - - - - - - - - - - - This type extends DCMIRecordType to add ows:BoundingBox; - it may be used to specify a spatial envelope for the - catalogued resource. - - - - - - - - - - - - - - - diff --git a/tests/expected/suites_default_post_Exception-GetRecords-badsrsname.xml b/tests/expected/suites_default_post_Exception-GetRecords-badsrsname.xml deleted file mode 100644 index fe0c923f3..000000000 --- a/tests/expected/suites_default_post_Exception-GetRecords-badsrsname.xml +++ /dev/null @@ -1,7 +0,0 @@ - - - - - Invalid Constraint: Invalid Filter request: Reprojection error: Invalid srsName "EPSG:226": Invalid source projection - - diff --git a/tests/expected/suites_default_post_Exception-GetRecords-elementname.xml b/tests/expected/suites_default_post_Exception-GetRecords-elementname.xml deleted file mode 100644 index 3654684e2..000000000 --- a/tests/expected/suites_default_post_Exception-GetRecords-elementname.xml +++ /dev/null @@ -1,7 +0,0 @@ - - - - - Invalid ElementName parameter value: dc:foo - - diff --git a/tests/expected/suites_default_post_Exception-GetRecords-invalid-xml.xml b/tests/expected/suites_default_post_Exception-GetRecords-invalid-xml.xml deleted file mode 100644 index f21f6db74..000000000 --- a/tests/expected/suites_default_post_Exception-GetRecords-invalid-xml.xml +++ /dev/null @@ -1,8 +0,0 @@ - - - - - Exception: the document is not valid. -Error: Element '{http://www.opengis.net/cat/csw/2.0.2}ElementNamefoo': This element is not expected. Expected is one of ( {http://www.opengis.net/cat/csw/2.0.2}ElementSetName, {http://www.opengis.net/cat/csw/2.0.2}ElementName ). - - diff --git a/tests/expected/suites_default_post_GetCapabilities-SOAP.xml b/tests/expected/suites_default_post_GetCapabilities-SOAP.xml deleted file mode 100644 index ad05bd817..000000000 --- a/tests/expected/suites_default_post_GetCapabilities-SOAP.xml +++ /dev/null @@ -1,268 +0,0 @@ - - - - - - - pycsw Geospatial Catalogue - pycsw is an OGC CSW server implementation written in Python - - catalogue - discovery - theme - - CSW - 2.0.2 - 3.0.0 - None - None - - - pycsw - - - Kralidis, Tom - Senior Systems Scientist - - - +01-416-xxx-xxxx - +01-416-xxx-xxxx - - - TBA - Toronto - Ontario - M9C 3Z9 - Canada - tomkralidis@gmail.com - - - 0800h - 1600h EST - During hours of service. Off on weekends. - - pointOfContact - - - - - - - - - - - - Filter_Capabilities - OperationsMetadata - ServiceIdentification - ServiceProvider - - - - - - - - - - - application/json - application/xml - - - http://www.w3.org/2001/XMLSchema - http://www.w3.org/TR/xmlschema-1/ - http://www.w3.org/XML/Schema - - - csw:Record - - - - - - - - - - - DescribeRecord.outputFormat - DescribeRecord.schemaLanguage - DescribeRecord.typeName - GetCapabilities.sections - GetRecordById.ElementSetName - GetRecordById.outputFormat - GetRecordById.outputSchema - GetRecords.CONSTRAINTLANGUAGE - GetRecords.ElementSetName - GetRecords.outputFormat - GetRecords.outputSchema - GetRecords.resultType - GetRecords.typeNames - - - - - - - - - - - CQL_TEXT - FILTER - - - brief - full - summary - - - application/json - application/xml - - - http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ - http://www.interlis.ch/INTERLIS2.3 - http://www.opengis.net/cat/csw/2.0.2 - http://www.opengis.net/cat/csw/csdgm - http://www.w3.org/2005/Atom - - - hits - results - validate - - - csw:Record - - - csw:AnyText - dc:contributor - dc:creator - dc:date - dc:format - dc:identifier - dc:language - dc:publisher - dc:relation - dc:rights - dc:source - dc:subject - dc:title - dc:type - dct:abstract - dct:alternative - dct:modified - dct:spatial - ows:BoundingBox - - - - - - - - - - - brief - full - summary - - - application/json - application/xml - - - http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ - http://www.interlis.ch/INTERLIS2.3 - http://www.opengis.net/cat/csw/2.0.2 - http://www.opengis.net/cat/csw/csdgm - http://www.w3.org/2005/Atom - - - - - - - - - - - CSW - - - 2.0.2 - 3.0.0 - - - http://demo.pycsw.org/gisdata/csw - - - 10 - - - XML - SOAP - - - allowed - - - - - - gml:Point - gml:LineString - gml:Polygon - gml:Envelope - - - - - - - - - - - - - - - - - - - Between - EqualTo - GreaterThan - GreaterThanEqualTo - LessThan - LessThanEqualTo - Like - NotEqualTo - NullCheck - - - - - length - lower - ltrim - rtrim - trim - upper - - - - - - - - - - - - diff --git a/tests/expected/suites_default_post_GetCapabilities-sections.xml b/tests/expected/suites_default_post_GetCapabilities-sections.xml deleted file mode 100644 index 9c51855de..000000000 --- a/tests/expected/suites_default_post_GetCapabilities-sections.xml +++ /dev/null @@ -1,83 +0,0 @@ - - - - - pycsw - - - Kralidis, Tom - Senior Systems Scientist - - - +01-416-xxx-xxxx - +01-416-xxx-xxxx - - - TBA - Toronto - Ontario - M9C 3Z9 - Canada - tomkralidis@gmail.com - - - 0800h - 1600h EST - During hours of service. Off on weekends. - - pointOfContact - - - - - - gml:Point - gml:LineString - gml:Polygon - gml:Envelope - - - - - - - - - - - - - - - - - - - Between - EqualTo - GreaterThan - GreaterThanEqualTo - LessThan - LessThanEqualTo - Like - NotEqualTo - NullCheck - - - - - length - lower - ltrim - rtrim - trim - upper - - - - - - - - - - diff --git a/tests/expected/suites_default_post_GetCapabilities-updatesequence.xml b/tests/expected/suites_default_post_GetCapabilities-updatesequence.xml deleted file mode 100644 index 43965feec..000000000 --- a/tests/expected/suites_default_post_GetCapabilities-updatesequence.xml +++ /dev/null @@ -1,264 +0,0 @@ - - - - - pycsw Geospatial Catalogue - pycsw is an OGC CSW server implementation written in Python - - catalogue - discovery - theme - - CSW - 2.0.2 - 3.0.0 - None - None - - - pycsw - - - Kralidis, Tom - Senior Systems Scientist - - - +01-416-xxx-xxxx - +01-416-xxx-xxxx - - - TBA - Toronto - Ontario - M9C 3Z9 - Canada - tomkralidis@gmail.com - - - 0800h - 1600h EST - During hours of service. Off on weekends. - - pointOfContact - - - - - - - - - - - - Filter_Capabilities - OperationsMetadata - ServiceIdentification - ServiceProvider - - - - - - - - - - - application/json - application/xml - - - http://www.w3.org/2001/XMLSchema - http://www.w3.org/TR/xmlschema-1/ - http://www.w3.org/XML/Schema - - - csw:Record - - - - - - - - - - - DescribeRecord.outputFormat - DescribeRecord.schemaLanguage - DescribeRecord.typeName - GetCapabilities.sections - GetRecordById.ElementSetName - GetRecordById.outputFormat - GetRecordById.outputSchema - GetRecords.CONSTRAINTLANGUAGE - GetRecords.ElementSetName - GetRecords.outputFormat - GetRecords.outputSchema - GetRecords.resultType - GetRecords.typeNames - - - - - - - - - - - CQL_TEXT - FILTER - - - brief - full - summary - - - application/json - application/xml - - - http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ - http://www.interlis.ch/INTERLIS2.3 - http://www.opengis.net/cat/csw/2.0.2 - http://www.opengis.net/cat/csw/csdgm - http://www.w3.org/2005/Atom - - - hits - results - validate - - - csw:Record - - - csw:AnyText - dc:contributor - dc:creator - dc:date - dc:format - dc:identifier - dc:language - dc:publisher - dc:relation - dc:rights - dc:source - dc:subject - dc:title - dc:type - dct:abstract - dct:alternative - dct:modified - dct:spatial - ows:BoundingBox - - - - - - - - - - - brief - full - summary - - - application/json - application/xml - - - http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ - http://www.interlis.ch/INTERLIS2.3 - http://www.opengis.net/cat/csw/2.0.2 - http://www.opengis.net/cat/csw/csdgm - http://www.w3.org/2005/Atom - - - - - - - - - - - CSW - - - 2.0.2 - 3.0.0 - - - http://demo.pycsw.org/gisdata/csw - - - 10 - - - XML - SOAP - - - allowed - - - - - - gml:Point - gml:LineString - gml:Polygon - gml:Envelope - - - - - - - - - - - - - - - - - - - Between - EqualTo - GreaterThan - GreaterThanEqualTo - LessThan - LessThanEqualTo - Like - NotEqualTo - NullCheck - - - - - length - lower - ltrim - rtrim - trim - upper - - - - - - - - - - diff --git a/tests/expected/suites_default_post_GetCapabilities.xml b/tests/expected/suites_default_post_GetCapabilities.xml deleted file mode 100644 index 43965feec..000000000 --- a/tests/expected/suites_default_post_GetCapabilities.xml +++ /dev/null @@ -1,264 +0,0 @@ - - - - - pycsw Geospatial Catalogue - pycsw is an OGC CSW server implementation written in Python - - catalogue - discovery - theme - - CSW - 2.0.2 - 3.0.0 - None - None - - - pycsw - - - Kralidis, Tom - Senior Systems Scientist - - - +01-416-xxx-xxxx - +01-416-xxx-xxxx - - - TBA - Toronto - Ontario - M9C 3Z9 - Canada - tomkralidis@gmail.com - - - 0800h - 1600h EST - During hours of service. Off on weekends. - - pointOfContact - - - - - - - - - - - - Filter_Capabilities - OperationsMetadata - ServiceIdentification - ServiceProvider - - - - - - - - - - - application/json - application/xml - - - http://www.w3.org/2001/XMLSchema - http://www.w3.org/TR/xmlschema-1/ - http://www.w3.org/XML/Schema - - - csw:Record - - - - - - - - - - - DescribeRecord.outputFormat - DescribeRecord.schemaLanguage - DescribeRecord.typeName - GetCapabilities.sections - GetRecordById.ElementSetName - GetRecordById.outputFormat - GetRecordById.outputSchema - GetRecords.CONSTRAINTLANGUAGE - GetRecords.ElementSetName - GetRecords.outputFormat - GetRecords.outputSchema - GetRecords.resultType - GetRecords.typeNames - - - - - - - - - - - CQL_TEXT - FILTER - - - brief - full - summary - - - application/json - application/xml - - - http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ - http://www.interlis.ch/INTERLIS2.3 - http://www.opengis.net/cat/csw/2.0.2 - http://www.opengis.net/cat/csw/csdgm - http://www.w3.org/2005/Atom - - - hits - results - validate - - - csw:Record - - - csw:AnyText - dc:contributor - dc:creator - dc:date - dc:format - dc:identifier - dc:language - dc:publisher - dc:relation - dc:rights - dc:source - dc:subject - dc:title - dc:type - dct:abstract - dct:alternative - dct:modified - dct:spatial - ows:BoundingBox - - - - - - - - - - - brief - full - summary - - - application/json - application/xml - - - http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ - http://www.interlis.ch/INTERLIS2.3 - http://www.opengis.net/cat/csw/2.0.2 - http://www.opengis.net/cat/csw/csdgm - http://www.w3.org/2005/Atom - - - - - - - - - - - CSW - - - 2.0.2 - 3.0.0 - - - http://demo.pycsw.org/gisdata/csw - - - 10 - - - XML - SOAP - - - allowed - - - - - - gml:Point - gml:LineString - gml:Polygon - gml:Envelope - - - - - - - - - - - - - - - - - - - Between - EqualTo - GreaterThan - GreaterThanEqualTo - LessThan - LessThanEqualTo - Like - NotEqualTo - NullCheck - - - - - length - lower - ltrim - rtrim - trim - upper - - - - - - - - - - diff --git a/tests/expected/suites_default_post_GetDomain-parameter.xml b/tests/expected/suites_default_post_GetDomain-parameter.xml deleted file mode 100644 index 71bdb8a76..000000000 --- a/tests/expected/suites_default_post_GetDomain-parameter.xml +++ /dev/null @@ -1,11 +0,0 @@ - - - - - GetRecords.CONSTRAINTLANGUAGE - - CQL_TEXT - FILTER - - - diff --git a/tests/expected/suites_default_post_GetDomain-property.xml b/tests/expected/suites_default_post_GetDomain-property.xml deleted file mode 100644 index 257726071..000000000 --- a/tests/expected/suites_default_post_GetDomain-property.xml +++ /dev/null @@ -1,18 +0,0 @@ - - - - - dc:title - - Aliquam fermentum purus quis arcu - Fuscé vitae ligulä - Lorem ipsum - Lorem ipsum dolor sit amet - Maecenas enim - Mauris sed neque - Ut facilisis justo ut lacus - Vestibulum massa purus - Ñunç elementum - - - diff --git a/tests/expected/suites_default_post_GetRecordById-json.xml b/tests/expected/suites_default_post_GetRecordById-json.xml deleted file mode 100644 index e8d687f71..000000000 --- a/tests/expected/suites_default_post_GetRecordById-json.xml +++ /dev/null @@ -1,18 +0,0 @@ -{ - "csw:GetRecordByIdResponse": { - "@xsi:schemaLocation": "http://www.opengis.net/cat/csw/2.0.2 http://schemas.opengis.net/csw/2.0.2/CSW-discovery.xsd", - "csw:SummaryRecord": { - "dc:identifier": "urn:uuid:94bc9c83-97f6-4b40-9eb8-a8e8787a5c63", - "dc:title": "Mauris sed neque", - "dc:type": "http://purl.org/dc/dcmitype/Dataset", - "dc:subject": "Vegetation-Cropland", - "dct:abstract": "Curabitur lacinia, ante non porta tempus, mi lorem feugiat odio, eget suscipit eros pede ac velit.", - "ows:BoundingBox": { - "@crs": "urn:x-ogc:def:crs:EPSG:6.11:4326", - "@dimensions": "2", - "ows:LowerCorner": "47.59 -4.1", - "ows:UpperCorner": "51.22 0.89" - } - } - } -} \ No newline at end of file diff --git a/tests/expected/suites_default_post_GetRecordById.xml b/tests/expected/suites_default_post_GetRecordById.xml deleted file mode 100644 index 6cddad959..000000000 --- a/tests/expected/suites_default_post_GetRecordById.xml +++ /dev/null @@ -1,15 +0,0 @@ - - - - - urn:uuid:94bc9c83-97f6-4b40-9eb8-a8e8787a5c63 - Mauris sed neque - http://purl.org/dc/dcmitype/Dataset - Vegetation-Cropland - Curabitur lacinia, ante non porta tempus, mi lorem feugiat odio, eget suscipit eros pede ac velit. - - 47.59 -4.1 - 51.22 0.89 - - - diff --git a/tests/expected/suites_default_post_GetRecords-all-json.xml b/tests/expected/suites_default_post_GetRecords-all-json.xml deleted file mode 100644 index 20fbf3798..000000000 --- a/tests/expected/suites_default_post_GetRecords-all-json.xml +++ /dev/null @@ -1,64 +0,0 @@ -{ - "csw:GetRecordsResponse": { - "@version": "2.0.2", - "@xsi:schemaLocation": "http://www.opengis.net/cat/csw/2.0.2 http://schemas.opengis.net/csw/2.0.2/CSW-discovery.xsd", - "csw:SearchStatus": { - "@timestamp": "PYCSW_TIMESTAMP" - }, - "csw:SearchResults": { - "@nextRecord": "6", - "@numberOfRecordsMatched": "12", - "@numberOfRecordsReturned": "5", - "@recordSchema": "http://www.opengis.net/cat/csw/2.0.2", - "@elementSet": "full", - "csw:Record": [ - { - "dc:identifier": "urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f", - "dc:type": "http://purl.org/dc/dcmitype/Image", - "dc:format": "image/svg+xml", - "dc:title": "Lorem ipsum", - "dct:spatial": "GR-22", - "dc:subject": "Tourism--Greece", - "dct:abstract": "Quisque lacus diam, placerat mollis, pharetra in, commodo sed, augue. Duis iaculis arcu vel arcu." - }, - { - "dc:identifier": "urn:uuid:1ef30a8b-876d-4828-9246-c37ab4510bbd", - "dc:type": "http://purl.org/dc/dcmitype/Service", - "dct:abstract": "Proin sit amet justo. In justo. Aenean adipiscing nulla id tellus.", - "ows:BoundingBox": { - "@crs": "urn:x-ogc:def:crs:EPSG:6.11:4326", - "ows:LowerCorner": "60.042 13.754", - "ows:UpperCorner": "68.410 17.920" - } - }, - { - "dc:identifier": "urn:uuid:66ae76b7-54ba-489b-a582-0f0633d96493", - "dc:title": "Maecenas enim", - "dc:type": "http://purl.org/dc/dcmitype/Text", - "dc:format": "application/xhtml+xml", - "dc:subject": "Marine sediments", - "dct:abstract": "Pellentesque tempus magna non sapien fringilla blandit." - }, - { - "dc:identifier": "urn:uuid:6a3de50b-fa66-4b58-a0e6-ca146fdd18d4", - "dc:type": "http://purl.org/dc/dcmitype/Service", - "dc:title": "Ut facilisis justo ut lacus", - "dc:subject": { - "@scheme": "http://www.digest.org/2.1", - "#text": "Vegetation" - }, - "dc:relation": "urn:uuid:94bc9c83-97f6-4b40-9eb8-a8e8787a5c63" - }, - { - "dc:identifier": "urn:uuid:784e2afd-a9fd-44a6-9a92-a3848371c8ec", - "dc:title": "Aliquam fermentum purus quis arcu", - "dc:type": "http://purl.org/dc/dcmitype/Text", - "dc:subject": "Hydrography--Dictionaries", - "dc:format": "application/pdf", - "dc:date": "2006-05-12", - "dct:abstract": "Vestibulum quis ipsum sit amet metus imperdiet vehicula. Nulla scelerisque cursus mi." - } - ] - } - } -} \ No newline at end of file diff --git a/tests/expected/suites_default_post_GetRecords-all-resulttype-hits.xml b/tests/expected/suites_default_post_GetRecords-all-resulttype-hits.xml deleted file mode 100644 index b93efb288..000000000 --- a/tests/expected/suites_default_post_GetRecords-all-resulttype-hits.xml +++ /dev/null @@ -1,6 +0,0 @@ - - - - - - diff --git a/tests/expected/suites_default_post_GetRecords-all-resulttype-validate.xml b/tests/expected/suites_default_post_GetRecords-all-resulttype-validate.xml deleted file mode 100644 index 40bc3449b..000000000 --- a/tests/expected/suites_default_post_GetRecords-all-resulttype-validate.xml +++ /dev/null @@ -1,11 +0,0 @@ - - - - - - - full - - - - diff --git a/tests/expected/suites_default_post_GetRecords-all-sortby-bbox.xml b/tests/expected/suites_default_post_GetRecords-all-sortby-bbox.xml deleted file mode 100644 index e6bb27292..000000000 --- a/tests/expected/suites_default_post_GetRecords-all-sortby-bbox.xml +++ /dev/null @@ -1,56 +0,0 @@ - - - - - - - urn:uuid:1ef30a8b-876d-4828-9246-c37ab4510bbd - http://purl.org/dc/dcmitype/Service - Proin sit amet justo. In justo. Aenean adipiscing nulla id tellus. - - 60.042 13.754 - 68.410 17.920 - - - - urn:uuid:9a669547-b69b-469f-a11f-2d875366bbdc - http://purl.org/dc/dcmitype/Dataset - Ñunç elementum - Hydrography-Oceanographic - 2005-10-24 - - 44.792 -6.171 - 51.126 -2.228 - - - - urn:uuid:94bc9c83-97f6-4b40-9eb8-a8e8787a5c63 - http://purl.org/dc/dcmitype/Dataset - Mauris sed neque - Vegetation-Cropland - Curabitur lacinia, ante non porta tempus, mi lorem feugiat odio, eget suscipit eros pede ac velit. - 2006-03-26 - - 47.595 -4.097 - 51.217 0.889 - - - - urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f - http://purl.org/dc/dcmitype/Image - image/svg+xml - Lorem ipsum - GR-22 - Tourism--Greece - Quisque lacus diam, placerat mollis, pharetra in, commodo sed, augue. Duis iaculis arcu vel arcu. - - - urn:uuid:66ae76b7-54ba-489b-a582-0f0633d96493 - Maecenas enim - http://purl.org/dc/dcmitype/Text - application/xhtml+xml - Marine sediments - Pellentesque tempus magna non sapien fringilla blandit. - - - diff --git a/tests/expected/suites_default_post_GetRecords-all.xml b/tests/expected/suites_default_post_GetRecords-all.xml deleted file mode 100644 index 97ead2e33..000000000 --- a/tests/expected/suites_default_post_GetRecords-all.xml +++ /dev/null @@ -1,49 +0,0 @@ - - - - - - - urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f - http://purl.org/dc/dcmitype/Image - image/svg+xml - Lorem ipsum - GR-22 - Tourism--Greece - Quisque lacus diam, placerat mollis, pharetra in, commodo sed, augue. Duis iaculis arcu vel arcu. - - - urn:uuid:1ef30a8b-876d-4828-9246-c37ab4510bbd - http://purl.org/dc/dcmitype/Service - Proin sit amet justo. In justo. Aenean adipiscing nulla id tellus. - - 60.042 13.754 - 68.410 17.920 - - - - urn:uuid:66ae76b7-54ba-489b-a582-0f0633d96493 - Maecenas enim - http://purl.org/dc/dcmitype/Text - application/xhtml+xml - Marine sediments - Pellentesque tempus magna non sapien fringilla blandit. - - - urn:uuid:6a3de50b-fa66-4b58-a0e6-ca146fdd18d4 - http://purl.org/dc/dcmitype/Service - Ut facilisis justo ut lacus - Vegetation - urn:uuid:94bc9c83-97f6-4b40-9eb8-a8e8787a5c63 - - - urn:uuid:784e2afd-a9fd-44a6-9a92-a3848371c8ec - Aliquam fermentum purus quis arcu - http://purl.org/dc/dcmitype/Text - Hydrography--Dictionaries - application/pdf - 2006-05-12 - Vestibulum quis ipsum sit amet metus imperdiet vehicula. Nulla scelerisque cursus mi. - - - diff --git a/tests/expected/suites_default_post_GetRecords-bbox-filter-crs84.xml b/tests/expected/suites_default_post_GetRecords-bbox-filter-crs84.xml deleted file mode 100644 index 97de18a9a..000000000 --- a/tests/expected/suites_default_post_GetRecords-bbox-filter-crs84.xml +++ /dev/null @@ -1,34 +0,0 @@ - - - - - - - urn:uuid:1ef30a8b-876d-4828-9246-c37ab4510bbd - - http://purl.org/dc/dcmitype/Service - - 60.04 13.75 - 68.41 17.92 - - - - urn:uuid:94bc9c83-97f6-4b40-9eb8-a8e8787a5c63 - Mauris sed neque - http://purl.org/dc/dcmitype/Dataset - - 47.59 -4.1 - 51.22 0.89 - - - - urn:uuid:9a669547-b69b-469f-a11f-2d875366bbdc - Ñunç elementum - http://purl.org/dc/dcmitype/Dataset - - 44.79 -6.17 - 51.13 -2.23 - - - - diff --git a/tests/expected/suites_default_post_GetRecords-cql-title-and-abstract.xml b/tests/expected/suites_default_post_GetRecords-cql-title-and-abstract.xml deleted file mode 100644 index 4ed61a2ee..000000000 --- a/tests/expected/suites_default_post_GetRecords-cql-title-and-abstract.xml +++ /dev/null @@ -1,12 +0,0 @@ - - - - - - - urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f - Lorem ipsum - http://purl.org/dc/dcmitype/Image - - - diff --git a/tests/expected/suites_default_post_GetRecords-cql-title.xml b/tests/expected/suites_default_post_GetRecords-cql-title.xml deleted file mode 100644 index 47493bb32..000000000 --- a/tests/expected/suites_default_post_GetRecords-cql-title.xml +++ /dev/null @@ -1,17 +0,0 @@ - - - - - - - urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f - Lorem ipsum - http://purl.org/dc/dcmitype/Image - - - urn:uuid:a06af396-3105-442d-8b40-22b57a90d2f2 - Lorem ipsum dolor sit amet - http://purl.org/dc/dcmitype/Image - - - diff --git a/tests/expected/suites_default_post_GetRecords-distributedsearch.xml b/tests/expected/suites_default_post_GetRecords-distributedsearch.xml deleted file mode 100644 index d8f0c0f9f..000000000 --- a/tests/expected/suites_default_post_GetRecords-distributedsearch.xml +++ /dev/null @@ -1,17 +0,0 @@ - - - - - - - - urn:uuid:dd87919a-e399-11e5-8327-aa0000ae6bfc - Aquifers - vector digital data - - 32.55 -117.6 - 33.51 -116.08 - - - - diff --git a/tests/expected/suites_default_post_GetRecords-elementname.xml b/tests/expected/suites_default_post_GetRecords-elementname.xml deleted file mode 100644 index 29fbf6340..000000000 --- a/tests/expected/suites_default_post_GetRecords-elementname.xml +++ /dev/null @@ -1,20 +0,0 @@ - - - - - - - Lorem ipsum - - - - Maecenas enim - - - Ut facilisis justo ut lacus - - - Aliquam fermentum purus quis arcu - - - diff --git a/tests/expected/suites_default_post_GetRecords-end.xml b/tests/expected/suites_default_post_GetRecords-end.xml deleted file mode 100644 index 814be1f3d..000000000 --- a/tests/expected/suites_default_post_GetRecords-end.xml +++ /dev/null @@ -1,30 +0,0 @@ - - - - - - - urn:uuid:a06af396-3105-442d-8b40-22b57a90d2f2 - http://purl.org/dc/dcmitype/Image - Lorem ipsum dolor sit amet - image/jpeg - IT-FI - - - urn:uuid:ab42a8c4-95e8-4630-bf79-33e59241605a - http://purl.org/dc/dcmitype/Service - Physiography - Suspendisse accumsan molestie lorem. Nullam velit turpis, mattis ut, varius bibendum, laoreet non, quam. - urn:uuid:88247b56-4cbc-4df9-9860-db3f8042e357 - - - urn:uuid:e9330592-0932-474b-be34-c3a3bb67c7db - http://purl.org/dc/dcmitype/Text - Fuscé vitae ligulä - 2003-05-09 - Land titles - text/rtf - Morbi ultriçes, dui suscipit vestibulum prètium, velit ante pretium tortor, egët tincidunt pede odio ac nulla. - - - diff --git a/tests/expected/suites_default_post_GetRecords-filter-and-bbox-freetext.xml b/tests/expected/suites_default_post_GetRecords-filter-and-bbox-freetext.xml deleted file mode 100644 index e45a6a273..000000000 --- a/tests/expected/suites_default_post_GetRecords-filter-and-bbox-freetext.xml +++ /dev/null @@ -1,16 +0,0 @@ - - - - - - - urn:uuid:94bc9c83-97f6-4b40-9eb8-a8e8787a5c63 - Mauris sed neque - http://purl.org/dc/dcmitype/Dataset - - 47.59 -4.1 - 51.22 0.89 - - - - diff --git a/tests/expected/suites_default_post_GetRecords-filter-and-nested-or.xml b/tests/expected/suites_default_post_GetRecords-filter-and-nested-or.xml deleted file mode 100644 index a05b8561a..000000000 --- a/tests/expected/suites_default_post_GetRecords-filter-and-nested-or.xml +++ /dev/null @@ -1,16 +0,0 @@ - - - - - - - urn:uuid:784e2afd-a9fd-44a6-9a92-a3848371c8ec - Aliquam fermentum purus quis arcu - http://purl.org/dc/dcmitype/Text - Hydrography--Dictionaries - application/pdf - 2006-05-12 - Vestibulum quis ipsum sit amet metus imperdiet vehicula. Nulla scelerisque cursus mi. - - - diff --git a/tests/expected/suites_default_post_GetRecords-filter-and-nested-or2.xml b/tests/expected/suites_default_post_GetRecords-filter-and-nested-or2.xml deleted file mode 100644 index 2b1accdf9..000000000 --- a/tests/expected/suites_default_post_GetRecords-filter-and-nested-or2.xml +++ /dev/null @@ -1,23 +0,0 @@ - - - - - - - urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f - http://purl.org/dc/dcmitype/Image - image/svg+xml - Lorem ipsum - GR-22 - Tourism--Greece - Quisque lacus diam, placerat mollis, pharetra in, commodo sed, augue. Duis iaculis arcu vel arcu. - - - urn:uuid:a06af396-3105-442d-8b40-22b57a90d2f2 - http://purl.org/dc/dcmitype/Image - Lorem ipsum dolor sit amet - image/jpeg - IT-FI - - - diff --git a/tests/expected/suites_default_post_GetRecords-filter-anytext-and-not.xml b/tests/expected/suites_default_post_GetRecords-filter-anytext-and-not.xml deleted file mode 100644 index d758ab92b..000000000 --- a/tests/expected/suites_default_post_GetRecords-filter-anytext-and-not.xml +++ /dev/null @@ -1,15 +0,0 @@ - - - - - - - urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f - Lorem ipsum - http://purl.org/dc/dcmitype/Image - Tourism--Greece - image/svg+xml - Quisque lacus diam, placerat mollis, pharetra in, commodo sed, augue. Duis iaculis arcu vel arcu. - - - diff --git a/tests/expected/suites_default_post_GetRecords-filter-anytext-equal.xml b/tests/expected/suites_default_post_GetRecords-filter-anytext-equal.xml deleted file mode 100644 index 3b348919b..000000000 --- a/tests/expected/suites_default_post_GetRecords-filter-anytext-equal.xml +++ /dev/null @@ -1,36 +0,0 @@ - - - - - - - urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f - Lorem ipsum - http://purl.org/dc/dcmitype/Image - - - urn:uuid:88247b56-4cbc-4df9-9860-db3f8042e357 - - http://purl.org/dc/dcmitype/Dataset - - - urn:uuid:94bc9c83-97f6-4b40-9eb8-a8e8787a5c63 - Mauris sed neque - http://purl.org/dc/dcmitype/Dataset - - 47.59 -4.1 - 51.22 0.89 - - - - urn:uuid:a06af396-3105-442d-8b40-22b57a90d2f2 - Lorem ipsum dolor sit amet - http://purl.org/dc/dcmitype/Image - - - urn:uuid:ab42a8c4-95e8-4630-bf79-33e59241605a - - http://purl.org/dc/dcmitype/Service - - - diff --git a/tests/expected/suites_default_post_GetRecords-filter-anytext.xml b/tests/expected/suites_default_post_GetRecords-filter-anytext.xml deleted file mode 100644 index 3b348919b..000000000 --- a/tests/expected/suites_default_post_GetRecords-filter-anytext.xml +++ /dev/null @@ -1,36 +0,0 @@ - - - - - - - urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f - Lorem ipsum - http://purl.org/dc/dcmitype/Image - - - urn:uuid:88247b56-4cbc-4df9-9860-db3f8042e357 - - http://purl.org/dc/dcmitype/Dataset - - - urn:uuid:94bc9c83-97f6-4b40-9eb8-a8e8787a5c63 - Mauris sed neque - http://purl.org/dc/dcmitype/Dataset - - 47.59 -4.1 - 51.22 0.89 - - - - urn:uuid:a06af396-3105-442d-8b40-22b57a90d2f2 - Lorem ipsum dolor sit amet - http://purl.org/dc/dcmitype/Image - - - urn:uuid:ab42a8c4-95e8-4630-bf79-33e59241605a - - http://purl.org/dc/dcmitype/Service - - - diff --git a/tests/expected/suites_default_post_GetRecords-filter-bbox-reproject.xml b/tests/expected/suites_default_post_GetRecords-filter-bbox-reproject.xml deleted file mode 100644 index 8f98b1d0e..000000000 --- a/tests/expected/suites_default_post_GetRecords-filter-bbox-reproject.xml +++ /dev/null @@ -1,25 +0,0 @@ - - - - - - - urn:uuid:94bc9c83-97f6-4b40-9eb8-a8e8787a5c63 - Mauris sed neque - http://purl.org/dc/dcmitype/Dataset - - 47.59 -4.1 - 51.22 0.89 - - - - urn:uuid:9a669547-b69b-469f-a11f-2d875366bbdc - Ñunç elementum - http://purl.org/dc/dcmitype/Dataset - - 44.79 -6.17 - 51.13 -2.23 - - - - diff --git a/tests/expected/suites_default_post_GetRecords-filter-bbox-sortby.xml b/tests/expected/suites_default_post_GetRecords-filter-bbox-sortby.xml deleted file mode 100644 index bb2e92067..000000000 --- a/tests/expected/suites_default_post_GetRecords-filter-bbox-sortby.xml +++ /dev/null @@ -1,25 +0,0 @@ - - - - - - - urn:uuid:9a669547-b69b-469f-a11f-2d875366bbdc - Ñunç elementum - http://purl.org/dc/dcmitype/Dataset - - 44.79 -6.17 - 51.13 -2.23 - - - - urn:uuid:94bc9c83-97f6-4b40-9eb8-a8e8787a5c63 - Mauris sed neque - http://purl.org/dc/dcmitype/Dataset - - 47.59 -4.1 - 51.22 0.89 - - - - diff --git a/tests/expected/suites_default_post_GetRecords-filter-bbox.xml b/tests/expected/suites_default_post_GetRecords-filter-bbox.xml deleted file mode 100644 index 8f98b1d0e..000000000 --- a/tests/expected/suites_default_post_GetRecords-filter-bbox.xml +++ /dev/null @@ -1,25 +0,0 @@ - - - - - - - urn:uuid:94bc9c83-97f6-4b40-9eb8-a8e8787a5c63 - Mauris sed neque - http://purl.org/dc/dcmitype/Dataset - - 47.59 -4.1 - 51.22 0.89 - - - - urn:uuid:9a669547-b69b-469f-a11f-2d875366bbdc - Ñunç elementum - http://purl.org/dc/dcmitype/Dataset - - 44.79 -6.17 - 51.13 -2.23 - - - - diff --git a/tests/expected/suites_default_post_GetRecords-filter-between.xml b/tests/expected/suites_default_post_GetRecords-filter-between.xml deleted file mode 100644 index 37d75866e..000000000 --- a/tests/expected/suites_default_post_GetRecords-filter-between.xml +++ /dev/null @@ -1,49 +0,0 @@ - - - - - - - urn:uuid:784e2afd-a9fd-44a6-9a92-a3848371c8ec - Aliquam fermentum purus quis arcu - http://purl.org/dc/dcmitype/Text - Hydrography--Dictionaries - application/pdf - 2006-05-12 - Vestibulum quis ipsum sit amet metus imperdiet vehicula. Nulla scelerisque cursus mi. - - - urn:uuid:e9330592-0932-474b-be34-c3a3bb67c7db - http://purl.org/dc/dcmitype/Text - Fuscé vitae ligulä - 2003-05-09 - Land titles - text/rtf - Morbi ultriçes, dui suscipit vestibulum prètium, velit ante pretium tortor, egët tincidunt pede odio ac nulla. - - - urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f - http://purl.org/dc/dcmitype/Image - image/svg+xml - Lorem ipsum - GR-22 - Tourism--Greece - Quisque lacus diam, placerat mollis, pharetra in, commodo sed, augue. Duis iaculis arcu vel arcu. - - - urn:uuid:a06af396-3105-442d-8b40-22b57a90d2f2 - http://purl.org/dc/dcmitype/Image - Lorem ipsum dolor sit amet - image/jpeg - IT-FI - - - urn:uuid:66ae76b7-54ba-489b-a582-0f0633d96493 - Maecenas enim - http://purl.org/dc/dcmitype/Text - application/xhtml+xml - Marine sediments - Pellentesque tempus magna non sapien fringilla blandit. - - - diff --git a/tests/expected/suites_default_post_GetRecords-filter-function-bad.xml b/tests/expected/suites_default_post_GetRecords-filter-function-bad.xml deleted file mode 100644 index bc63e8426..000000000 --- a/tests/expected/suites_default_post_GetRecords-filter-function-bad.xml +++ /dev/null @@ -1,7 +0,0 @@ - - - - - Invalid Constraint: Invalid Filter request: Invalid ogc:Function: foo - - diff --git a/tests/expected/suites_default_post_GetRecords-filter-function.xml b/tests/expected/suites_default_post_GetRecords-filter-function.xml deleted file mode 100644 index 4ed61a2ee..000000000 --- a/tests/expected/suites_default_post_GetRecords-filter-function.xml +++ /dev/null @@ -1,12 +0,0 @@ - - - - - - - urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f - Lorem ipsum - http://purl.org/dc/dcmitype/Image - - - diff --git a/tests/expected/suites_default_post_GetRecords-filter-not-bbox.xml b/tests/expected/suites_default_post_GetRecords-filter-not-bbox.xml deleted file mode 100644 index 03686d45d..000000000 --- a/tests/expected/suites_default_post_GetRecords-filter-not-bbox.xml +++ /dev/null @@ -1,36 +0,0 @@ - - - - - - - urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f - Lorem ipsum - http://purl.org/dc/dcmitype/Image - - - urn:uuid:1ef30a8b-876d-4828-9246-c37ab4510bbd - - http://purl.org/dc/dcmitype/Service - - 60.04 13.75 - 68.41 17.92 - - - - urn:uuid:66ae76b7-54ba-489b-a582-0f0633d96493 - Maecenas enim - http://purl.org/dc/dcmitype/Text - - - urn:uuid:6a3de50b-fa66-4b58-a0e6-ca146fdd18d4 - Ut facilisis justo ut lacus - http://purl.org/dc/dcmitype/Service - - - urn:uuid:784e2afd-a9fd-44a6-9a92-a3848371c8ec - Aliquam fermentum purus quis arcu - http://purl.org/dc/dcmitype/Text - - - diff --git a/tests/expected/suites_default_post_GetRecords-filter-or-bbox-freetext.xml b/tests/expected/suites_default_post_GetRecords-filter-or-bbox-freetext.xml deleted file mode 100644 index 8f98b1d0e..000000000 --- a/tests/expected/suites_default_post_GetRecords-filter-or-bbox-freetext.xml +++ /dev/null @@ -1,25 +0,0 @@ - - - - - - - urn:uuid:94bc9c83-97f6-4b40-9eb8-a8e8787a5c63 - Mauris sed neque - http://purl.org/dc/dcmitype/Dataset - - 47.59 -4.1 - 51.22 0.89 - - - - urn:uuid:9a669547-b69b-469f-a11f-2d875366bbdc - Ñunç elementum - http://purl.org/dc/dcmitype/Dataset - - 44.79 -6.17 - 51.13 -2.23 - - - - diff --git a/tests/expected/suites_default_post_GetRecords-filter-or-nested-and.xml b/tests/expected/suites_default_post_GetRecords-filter-or-nested-and.xml deleted file mode 100644 index 077ef2fb1..000000000 --- a/tests/expected/suites_default_post_GetRecords-filter-or-nested-and.xml +++ /dev/null @@ -1,60 +0,0 @@ - - - - - - - urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f - http://purl.org/dc/dcmitype/Image - image/svg+xml - Lorem ipsum - GR-22 - Tourism--Greece - Quisque lacus diam, placerat mollis, pharetra in, commodo sed, augue. Duis iaculis arcu vel arcu. - - - urn:uuid:829babb0-b2f1-49e1-8cd5-7b489fe71a1e - http://purl.org/dc/dcmitype/Image - image/jp2 - Vestibulum massa purus - urn:uuid:9a669547-b69b-469f-a11f-2d875366bbdc - - - urn:uuid:88247b56-4cbc-4df9-9860-db3f8042e357 - http://purl.org/dc/dcmitype/Dataset - Physiography-Landforms - FI-ES - Donec scelerisque pede ut nisl luctus accumsan. Quisque ultrices, lorem eget feugiat fringilla, lorem dui porttitor ante, cursus ultrices magna odio eu neque. - - - urn:uuid:94bc9c83-97f6-4b40-9eb8-a8e8787a5c63 - http://purl.org/dc/dcmitype/Dataset - Mauris sed neque - Vegetation-Cropland - Curabitur lacinia, ante non porta tempus, mi lorem feugiat odio, eget suscipit eros pede ac velit. - 2006-03-26 - - 47.595 -4.097 - 51.217 0.889 - - - - urn:uuid:9a669547-b69b-469f-a11f-2d875366bbdc - http://purl.org/dc/dcmitype/Dataset - Ñunç elementum - Hydrography-Oceanographic - 2005-10-24 - - 44.792 -6.171 - 51.126 -2.228 - - - - urn:uuid:a06af396-3105-442d-8b40-22b57a90d2f2 - http://purl.org/dc/dcmitype/Image - Lorem ipsum dolor sit amet - image/jpeg - IT-FI - - - diff --git a/tests/expected/suites_default_post_GetRecords-filter-or-title-abstract.xml b/tests/expected/suites_default_post_GetRecords-filter-or-title-abstract.xml deleted file mode 100644 index 0f34eb38b..000000000 --- a/tests/expected/suites_default_post_GetRecords-filter-or-title-abstract.xml +++ /dev/null @@ -1,19 +0,0 @@ - - - - - - - urn:uuid:94bc9c83-97f6-4b40-9eb8-a8e8787a5c63 - http://purl.org/dc/dcmitype/Dataset - Mauris sed neque - Vegetation-Cropland - Curabitur lacinia, ante non porta tempus, mi lorem feugiat odio, eget suscipit eros pede ac velit. - 2006-03-26 - - 47.595 -4.097 - 51.217 0.889 - - - - diff --git a/tests/expected/suites_default_post_GetRecords-maxrecords.xml b/tests/expected/suites_default_post_GetRecords-maxrecords.xml deleted file mode 100644 index bd4275d63..000000000 --- a/tests/expected/suites_default_post_GetRecords-maxrecords.xml +++ /dev/null @@ -1,16 +0,0 @@ - - - - - - - urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f - http://purl.org/dc/dcmitype/Image - image/svg+xml - Lorem ipsum - GR-22 - Tourism--Greece - Quisque lacus diam, placerat mollis, pharetra in, commodo sed, augue. Duis iaculis arcu vel arcu. - - - diff --git a/tests/expected/suites_default_post_GetRecords-requestid.xml b/tests/expected/suites_default_post_GetRecords-requestid.xml deleted file mode 100644 index 31d201904..000000000 --- a/tests/expected/suites_default_post_GetRecords-requestid.xml +++ /dev/null @@ -1,50 +0,0 @@ - - - - ce74a6c8-677a-42b3-a07c-ce44df8ce7ab - - - - urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f - http://purl.org/dc/dcmitype/Image - image/svg+xml - Lorem ipsum - GR-22 - Tourism--Greece - Quisque lacus diam, placerat mollis, pharetra in, commodo sed, augue. Duis iaculis arcu vel arcu. - - - urn:uuid:1ef30a8b-876d-4828-9246-c37ab4510bbd - http://purl.org/dc/dcmitype/Service - Proin sit amet justo. In justo. Aenean adipiscing nulla id tellus. - - 60.042 13.754 - 68.410 17.920 - - - - urn:uuid:66ae76b7-54ba-489b-a582-0f0633d96493 - Maecenas enim - http://purl.org/dc/dcmitype/Text - application/xhtml+xml - Marine sediments - Pellentesque tempus magna non sapien fringilla blandit. - - - urn:uuid:6a3de50b-fa66-4b58-a0e6-ca146fdd18d4 - http://purl.org/dc/dcmitype/Service - Ut facilisis justo ut lacus - Vegetation - urn:uuid:94bc9c83-97f6-4b40-9eb8-a8e8787a5c63 - - - urn:uuid:784e2afd-a9fd-44a6-9a92-a3848371c8ec - Aliquam fermentum purus quis arcu - http://purl.org/dc/dcmitype/Text - Hydrography--Dictionaries - application/pdf - 2006-05-12 - Vestibulum quis ipsum sit amet metus imperdiet vehicula. Nulla scelerisque cursus mi. - - - diff --git a/tests/expected/suites_default_post_Harvest-default.xml b/tests/expected/suites_default_post_Harvest-default.xml deleted file mode 100644 index 169151fb0..000000000 --- a/tests/expected/suites_default_post_Harvest-default.xml +++ /dev/null @@ -1,7 +0,0 @@ - - - - - Harvest operations are not supported - - diff --git a/tests/expected/suites_default_post_Harvest-response-handler.xml b/tests/expected/suites_default_post_Harvest-response-handler.xml deleted file mode 100644 index 169151fb0..000000000 --- a/tests/expected/suites_default_post_Harvest-response-handler.xml +++ /dev/null @@ -1,7 +0,0 @@ - - - - - Harvest operations are not supported - - diff --git a/tests/expected/suites_default_post_Transaction-delete.xml b/tests/expected/suites_default_post_Transaction-delete.xml deleted file mode 100644 index 2b4a6e3fd..000000000 --- a/tests/expected/suites_default_post_Transaction-delete.xml +++ /dev/null @@ -1,7 +0,0 @@ - - - - - Invalid Constraint: Invalid Filter request: Invalid PropertyName: apiso:Identifier. 'apiso:Identifier' - - diff --git a/tests/expected/suites_default_post_Transaction-insert.xml b/tests/expected/suites_default_post_Transaction-insert.xml deleted file mode 100644 index f5df4c66c..000000000 --- a/tests/expected/suites_default_post_Transaction-insert.xml +++ /dev/null @@ -1,7 +0,0 @@ - - - - - Transaction operations are not supported - - diff --git a/tests/expected/suites_default_post_Transaction-update-full.xml b/tests/expected/suites_default_post_Transaction-update-full.xml deleted file mode 100644 index f5df4c66c..000000000 --- a/tests/expected/suites_default_post_Transaction-update-full.xml +++ /dev/null @@ -1,7 +0,0 @@ - - - - - Transaction operations are not supported - - diff --git a/tests/expected/suites_default_post_Transaction-update-recordproperty.xml b/tests/expected/suites_default_post_Transaction-update-recordproperty.xml deleted file mode 100644 index f5df4c66c..000000000 --- a/tests/expected/suites_default_post_Transaction-update-recordproperty.xml +++ /dev/null @@ -1,7 +0,0 @@ - - - - - Transaction operations are not supported - - diff --git a/tests/expected/suites_dif_post_DescribeRecord.xml b/tests/expected/suites_dif_post_DescribeRecord.xml deleted file mode 100644 index 5f82a7d41..000000000 --- a/tests/expected/suites_dif_post_DescribeRecord.xml +++ /dev/null @@ -1,3 +0,0 @@ - - - diff --git a/tests/expected/suites_dif_post_GetCapabilities.xml b/tests/expected/suites_dif_post_GetCapabilities.xml deleted file mode 100644 index deefdd1b5..000000000 --- a/tests/expected/suites_dif_post_GetCapabilities.xml +++ /dev/null @@ -1,264 +0,0 @@ - - - - - pycsw Geospatial Catalogue - pycsw is an OGC CSW server implementation written in Python - - catalogue - discovery - theme - - CSW - 2.0.2 - 3.0.0 - None - None - - - pycsw - - - Kralidis, Tom - Senior Systems Scientist - - - +01-416-xxx-xxxx - +01-416-xxx-xxxx - - - TBA - Toronto - Ontario - M9C 3Z9 - Canada - tomkralidis@gmail.com - - - 0800h - 1600h EST - During hours of service. Off on weekends. - - pointOfContact - - - - - - - - - - - - Filter_Capabilities - OperationsMetadata - ServiceIdentification - ServiceProvider - - - - - - - - - - - application/json - application/xml - - - http://www.w3.org/2001/XMLSchema - http://www.w3.org/TR/xmlschema-1/ - http://www.w3.org/XML/Schema - - - csw:Record - - - - - - - - - - - DescribeRecord.outputFormat - DescribeRecord.schemaLanguage - DescribeRecord.typeName - GetCapabilities.sections - GetRecordById.ElementSetName - GetRecordById.outputFormat - GetRecordById.outputSchema - GetRecords.CONSTRAINTLANGUAGE - GetRecords.ElementSetName - GetRecords.outputFormat - GetRecords.outputSchema - GetRecords.resultType - GetRecords.typeNames - - - - - - - - - - - CQL_TEXT - FILTER - - - brief - full - summary - - - application/json - application/xml - - - http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ - http://www.interlis.ch/INTERLIS2.3 - http://www.opengis.net/cat/csw/2.0.2 - http://www.opengis.net/cat/csw/csdgm - http://www.w3.org/2005/Atom - - - hits - results - validate - - - csw:Record - - - csw:AnyText - dc:contributor - dc:creator - dc:date - dc:format - dc:identifier - dc:language - dc:publisher - dc:relation - dc:rights - dc:source - dc:subject - dc:title - dc:type - dct:abstract - dct:alternative - dct:modified - dct:spatial - ows:BoundingBox - - - - - - - - - - - brief - full - summary - - - application/json - application/xml - - - http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ - http://www.interlis.ch/INTERLIS2.3 - http://www.opengis.net/cat/csw/2.0.2 - http://www.opengis.net/cat/csw/csdgm - http://www.w3.org/2005/Atom - - - - - - - - - - - CSW - - - 2.0.2 - 3.0.0 - - - http://geo.data.gov/geoportal/csw/discovery - - - 10 - - - XML - SOAP - - - allowed - - - - - - gml:Point - gml:LineString - gml:Polygon - gml:Envelope - - - - - - - - - - - - - - - - - - - Between - EqualTo - GreaterThan - GreaterThanEqualTo - LessThan - LessThanEqualTo - Like - NotEqualTo - NullCheck - - - - - length - lower - ltrim - rtrim - trim - upper - - - - - - - - - - diff --git a/tests/expected/suites_dif_post_GetRecords-filter-bbox.xml b/tests/expected/suites_dif_post_GetRecords-filter-bbox.xml deleted file mode 100644 index d6a763d1f..000000000 --- a/tests/expected/suites_dif_post_GetRecords-filter-bbox.xml +++ /dev/null @@ -1,71 +0,0 @@ - - - - - - - urn:uuid:94bc9c83-97f6-4b40-9eb8-a8e8787a5c63 - Mauris sed neque - - - - - - - - Vegetation-Cropland - - - - - - 47.59 - 51.22 - -4.1 - 0.89 - - - - - Curabitur lacinia, ante non porta tempus, mi lorem feugiat odio, eget suscipit eros pede ac velit. - - - - - CEOS IDN DIF - 9.7 - - - urn:uuid:9a669547-b69b-469f-a11f-2d875366bbdc - Ñunç elementum - - - - - - - - Hydrography-Oceanographic - - - - - - 44.79 - 51.13 - -6.17 - -2.23 - - - - - - - - - - CEOS IDN DIF - 9.7 - - - diff --git a/tests/expected/suites_ebrim_post_DescribeRecord.xml b/tests/expected/suites_ebrim_post_DescribeRecord.xml deleted file mode 100644 index 87e4d86a2..000000000 --- a/tests/expected/suites_ebrim_post_DescribeRecord.xml +++ /dev/null @@ -1,93 +0,0 @@ - - - - - - - - - - - rim:Value not allowed in this context: expected wrs:AnyValue. - - - - - Schema for CSW-ebRIM catalogue profile (OGC 07-110r3). - - - - - - - - - - - - - A general record identifier, expressed as an absolute URI that maps to - the rim:RegistryObject/@id attribute. It substitutes for the ogc:_Id - element in an OGC filter expression. - - - - - - - - - - - - - - Extends rim:ExtrinsicObjectType to add the following: - 1. MTOM/XOP based attachment support. - 2. XLink based reference to a part in a multipart/related message - structure. - NOTE: This content model is planned for RegRep 4.0. - - - - - - - - - - - - - - - - Allows complex slot values. - - - - - - - - - - - - - - - - - - - - - Incorporates the attributes defined for use in simple XLink elements. - - - - - - - diff --git a/tests/expected/suites_ebrim_post_GetCapabilities.xml b/tests/expected/suites_ebrim_post_GetCapabilities.xml deleted file mode 100644 index c9fd517d5..000000000 --- a/tests/expected/suites_ebrim_post_GetCapabilities.xml +++ /dev/null @@ -1,268 +0,0 @@ - - - - - pycsw Geospatial Catalogue - pycsw is an OGC CSW server implementation written in Python - - catalogue - discovery - theme - - CSW - 2.0.2 - 3.0.0 - None - None - - - pycsw - - - Kralidis, Tom - Senior Systems Scientist - - - +01-416-xxx-xxxx - +01-416-xxx-xxxx - - - TBA - Toronto - Ontario - M9C 3Z9 - Canada - tomkralidis@gmail.com - - - 0800h - 1600h EST - During hours of service. Off on weekends. - - pointOfContact - - - - - - - - - - - - Filter_Capabilities - OperationsMetadata - ServiceIdentification - ServiceProvider - - - - - - - - - - - application/json - application/xml - - - http://www.w3.org/2001/XMLSchema - http://www.w3.org/TR/xmlschema-1/ - http://www.w3.org/XML/Schema - - - csw:Record - rim:RegistryObject - - - - - - - - - - - DescribeRecord.outputFormat - DescribeRecord.schemaLanguage - DescribeRecord.typeName - GetCapabilities.sections - GetRecordById.ElementSetName - GetRecordById.outputFormat - GetRecordById.outputSchema - GetRecords.CONSTRAINTLANGUAGE - GetRecords.ElementSetName - GetRecords.outputFormat - GetRecords.outputSchema - GetRecords.resultType - GetRecords.typeNames - - - - - - - - - - - CQL_TEXT - FILTER - - - brief - full - summary - - - application/json - application/xml - - - http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ - http://www.interlis.ch/INTERLIS2.3 - http://www.opengis.net/cat/csw/2.0.2 - http://www.opengis.net/cat/csw/csdgm - http://www.w3.org/2005/Atom - urn:oasis:names:tc:ebxml-regrep:xsd:rim:3.0 - - - hits - results - validate - - - csw:Record - rim:RegistryObject - - - csw:AnyText - dc:contributor - dc:creator - dc:date - dc:format - dc:identifier - dc:language - dc:publisher - dc:relation - dc:rights - dc:source - dc:subject - dc:title - dc:type - dct:abstract - dct:alternative - dct:modified - dct:spatial - ows:BoundingBox - - - - - - - - - - - brief - full - summary - - - application/json - application/xml - - - http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ - http://www.interlis.ch/INTERLIS2.3 - http://www.opengis.net/cat/csw/2.0.2 - http://www.opengis.net/cat/csw/csdgm - http://www.w3.org/2005/Atom - urn:oasis:names:tc:ebxml-regrep:xsd:rim:3.0 - - - - - - - - - - - CSW - - - 2.0.2 - 3.0.0 - - - http://geo.data.gov/geoportal/csw/discovery - - - 10 - - - XML - SOAP - - - allowed - - - - - - gml:Point - gml:LineString - gml:Polygon - gml:Envelope - - - - - - - - - - - - - - - - - - - Between - EqualTo - GreaterThan - GreaterThanEqualTo - LessThan - LessThanEqualTo - Like - NotEqualTo - NullCheck - - - - - length - lower - ltrim - rtrim - trim - upper - - - - - - - - - - diff --git a/tests/expected/suites_ebrim_post_GetRecords-filter-bbox-full.xml b/tests/expected/suites_ebrim_post_GetRecords-filter-bbox-full.xml deleted file mode 100644 index 5b2074c47..000000000 --- a/tests/expected/suites_ebrim_post_GetRecords-filter-bbox-full.xml +++ /dev/null @@ -1,57 +0,0 @@ - - - - - - - - - - - - - - - - - - - 47.59 -4.1 - 51.22 0.89 - - - - - - - Vegetation-Cropland - - - - - - - - - - - - - - - - - 44.79 -6.17 - 51.13 -2.23 - - - - - - - Hydrography-Oceanographic - - - - - diff --git a/tests/expected/suites_ebrim_post_GetRecords-filter-bbox.xml b/tests/expected/suites_ebrim_post_GetRecords-filter-bbox.xml deleted file mode 100644 index fdc31f2c3..000000000 --- a/tests/expected/suites_ebrim_post_GetRecords-filter-bbox.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - diff --git a/tests/expected/suites_fgdc_post_DescribeRecord.xml b/tests/expected/suites_fgdc_post_DescribeRecord.xml deleted file mode 100644 index 5f82a7d41..000000000 --- a/tests/expected/suites_fgdc_post_DescribeRecord.xml +++ /dev/null @@ -1,3 +0,0 @@ - - - diff --git a/tests/expected/suites_fgdc_post_GetCapabilities.xml b/tests/expected/suites_fgdc_post_GetCapabilities.xml deleted file mode 100644 index 3a83ea90d..000000000 --- a/tests/expected/suites_fgdc_post_GetCapabilities.xml +++ /dev/null @@ -1,264 +0,0 @@ - - - - - pycsw Geospatial Catalogue - pycsw is an OGC CSW server implementation written in Python - - catalogue - discovery - theme - - CSW - 2.0.2 - 3.0.0 - None - None - - - pycsw - - - Kralidis, Tom - Senior Systems Scientist - - - +01-416-xxx-xxxx - +01-416-xxx-xxxx - - - TBA - Toronto - Ontario - M9C 3Z9 - Canada - tomkralidis@gmail.com - - - 0800h - 1600h EST - During hours of service. Off on weekends. - - pointOfContact - - - - - - - - - - - - Filter_Capabilities - OperationsMetadata - ServiceIdentification - ServiceProvider - - - - - - - - - - - application/json - application/xml - - - http://www.w3.org/2001/XMLSchema - http://www.w3.org/TR/xmlschema-1/ - http://www.w3.org/XML/Schema - - - csw:Record - - - - - - - - - - - DescribeRecord.outputFormat - DescribeRecord.schemaLanguage - DescribeRecord.typeName - GetCapabilities.sections - GetRecordById.ElementSetName - GetRecordById.outputFormat - GetRecordById.outputSchema - GetRecords.CONSTRAINTLANGUAGE - GetRecords.ElementSetName - GetRecords.outputFormat - GetRecords.outputSchema - GetRecords.resultType - GetRecords.typeNames - - - - - - - - - - - CQL_TEXT - FILTER - - - brief - full - summary - - - application/json - application/xml - - - http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ - http://www.interlis.ch/INTERLIS2.3 - http://www.opengis.net/cat/csw/2.0.2 - http://www.opengis.net/cat/csw/csdgm - http://www.w3.org/2005/Atom - - - hits - results - validate - - - csw:Record - - - csw:AnyText - dc:contributor - dc:creator - dc:date - dc:format - dc:identifier - dc:language - dc:publisher - dc:relation - dc:rights - dc:source - dc:subject - dc:title - dc:type - dct:abstract - dct:alternative - dct:modified - dct:spatial - ows:BoundingBox - - - - - - - - - - - brief - full - summary - - - application/json - application/xml - - - http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ - http://www.interlis.ch/INTERLIS2.3 - http://www.opengis.net/cat/csw/2.0.2 - http://www.opengis.net/cat/csw/csdgm - http://www.w3.org/2005/Atom - - - - - - - - - - - CSW - - - 2.0.2 - 3.0.0 - - - http://geo.data.gov/geoportal/csw/discovery - - - 10 - - - XML - SOAP - - - allowed - - - - - - gml:Point - gml:LineString - gml:Polygon - gml:Envelope - - - - - - - - - - - - - - - - - - - Between - EqualTo - GreaterThan - GreaterThanEqualTo - LessThan - LessThanEqualTo - Like - NotEqualTo - NullCheck - - - - - length - lower - ltrim - rtrim - trim - upper - - - - - - - - - - diff --git a/tests/expected/suites_fgdc_post_GetRecords-filter-bbox.xml b/tests/expected/suites_fgdc_post_GetRecords-filter-bbox.xml deleted file mode 100644 index 5f8c20dc1..000000000 --- a/tests/expected/suites_fgdc_post_GetRecords-filter-bbox.xml +++ /dev/null @@ -1,123 +0,0 @@ - - - - - - - - urn:uuid:94bc9c83-97f6-4b40-9eb8-a8e8787a5c63 - - - Mauris sed neque - - - - - - - - - - - Vegetation-Cropland - - - - - Curabitur lacinia, ante non porta tempus, mi lorem feugiat odio, eget suscipit eros pede ac velit. - - - - -4.1 - 0.89 - 51.22 - 47.59 - - - - - http://purl.org/dc/dcmitype/Dataset - - - - - - - - - - - - - - - - - - - - - - - - - - - urn:uuid:9a669547-b69b-469f-a11f-2d875366bbdc - - - Ñunç elementum - - - - - - - - - - - Hydrography-Oceanographic - - - - - - - - - -6.17 - -2.23 - 51.13 - 44.79 - - - - - http://purl.org/dc/dcmitype/Dataset - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/tests/expected/suites_gm03_post_GetCapabilities.xml b/tests/expected/suites_gm03_post_GetCapabilities.xml deleted file mode 100644 index fe524be71..000000000 --- a/tests/expected/suites_gm03_post_GetCapabilities.xml +++ /dev/null @@ -1,264 +0,0 @@ - - - - - pycsw Geospatial Catalogue - pycsw is an OGC CSW server implementation written in Python - - catalogue - discovery - theme - - CSW - 2.0.2 - 3.0.0 - None - None - - - pycsw - - - Kralidis, Tom - Senior Systems Scientist - - - +01-416-xxx-xxxx - +01-416-xxx-xxxx - - - TBA - Toronto - Ontario - M9C 3Z9 - Canada - tomkralidis@gmail.com - - - 0800h - 1600h EST - During hours of service. Off on weekends. - - pointOfContact - - - - - - - - - - - - Filter_Capabilities - OperationsMetadata - ServiceIdentification - ServiceProvider - - - - - - - - - - - application/json - application/xml - - - http://www.w3.org/2001/XMLSchema - http://www.w3.org/TR/xmlschema-1/ - http://www.w3.org/XML/Schema - - - csw:Record - - - - - - - - - - - DescribeRecord.outputFormat - DescribeRecord.schemaLanguage - DescribeRecord.typeName - GetCapabilities.sections - GetRecordById.ElementSetName - GetRecordById.outputFormat - GetRecordById.outputSchema - GetRecords.CONSTRAINTLANGUAGE - GetRecords.ElementSetName - GetRecords.outputFormat - GetRecords.outputSchema - GetRecords.resultType - GetRecords.typeNames - - - - - - - - - - - CQL_TEXT - FILTER - - - brief - full - summary - - - application/json - application/xml - - - http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ - http://www.interlis.ch/INTERLIS2.3 - http://www.opengis.net/cat/csw/2.0.2 - http://www.opengis.net/cat/csw/csdgm - http://www.w3.org/2005/Atom - - - hits - results - validate - - - csw:Record - - - csw:AnyText - dc:contributor - dc:creator - dc:date - dc:format - dc:identifier - dc:language - dc:publisher - dc:relation - dc:rights - dc:source - dc:subject - dc:title - dc:type - dct:abstract - dct:alternative - dct:modified - dct:spatial - ows:BoundingBox - - - - - - - - - - - brief - full - summary - - - application/json - application/xml - - - http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ - http://www.interlis.ch/INTERLIS2.3 - http://www.opengis.net/cat/csw/2.0.2 - http://www.opengis.net/cat/csw/csdgm - http://www.w3.org/2005/Atom - - - - - - - - - - - CSW - - - 2.0.2 - 3.0.0 - - - http://geo.data.gov/geoportal/csw/discovery - - - 10 - - - XML - SOAP - - - allowed - - - - - - gml:Point - gml:LineString - gml:Polygon - gml:Envelope - - - - - - - - - - - - - - - - - - - Between - EqualTo - GreaterThan - GreaterThanEqualTo - LessThan - LessThanEqualTo - Like - NotEqualTo - NullCheck - - - - - length - lower - ltrim - rtrim - trim - upper - - - - - - - - - - diff --git a/tests/expected/suites_gm03_post_GetRecords-filter-bbox.xml b/tests/expected/suites_gm03_post_GetRecords-filter-bbox.xml deleted file mode 100644 index 55213c6e1..000000000 --- a/tests/expected/suites_gm03_post_GetRecords-filter-bbox.xml +++ /dev/null @@ -1,137 +0,0 @@ - - - - - - - - - - - - - urn:uuid:94bc9c83-97f6-4b40-9eb8-a8e8787a5c63 - - - GM03 - 2.3 - - - http://purl.org/dc/dcmitype/Dataset - - - - - - - - - - - - - - Mauris sed neque - - - - - - - - - - - Curabitur lacinia, ante non porta tempus, mi lorem feugiat odio, eget suscipit eros pede ac velit. - - - - - - - - - - - Vegetation-Cropland - - - - - - - 51.22 - 47.59 - -4.1 - 0.89 - - - - - - - - - - - - urn:uuid:9a669547-b69b-469f-a11f-2d875366bbdc - - - GM03 - 2.3 - - - http://purl.org/dc/dcmitype/Dataset - - - - - - - - - - - - - - Ñunç elementum - - - - - - - - - - - - - - - - - - - - - - Hydrography-Oceanographic - - - - - - - 51.13 - 44.79 - -6.17 - -2.23 - - - - - - diff --git a/tests/expected/suites_harvesting_get_Exception-Harvest-invalid-resourcetype.xml b/tests/expected/suites_harvesting_get_Exception-Harvest-invalid-resourcetype.xml deleted file mode 100644 index 4e1e40cd8..000000000 --- a/tests/expected/suites_harvesting_get_Exception-Harvest-invalid-resourcetype.xml +++ /dev/null @@ -1,7 +0,0 @@ - - - - - Invalid resource type parameter: http://www.opengis.net/wms1234. Allowable resourcetype values: http://www.opengis.net/cat/csw/2.0.2,http://www.opengis.net/cat/csw/3.0,http://www.opengis.net/wms,http://www.opengis.net/wmts/1.0,http://www.opengis.net/wfs,http://www.opengis.net/wfs/2.0,http://www.opengis.net/wcs,http://www.opengis.net/wps/1.0.0,http://www.opengis.net/sos/1.0,http://www.opengis.net/sos/2.0,http://www.isotc211.org/2005/gmi,urn:geoss:waf,http://www.interlis.ch/INTERLIS2.3,http://www.opengis.net/cat/csw/csdgm,http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/,http://www.w3.org/2005/Atom,http://www.isotc211.org/2005/gmd,http://www.isotc211.org/schemas/2005/gmd/ - - diff --git a/tests/expected/suites_harvesting_get_Exception-Harvest-missing-resourcetype.xml b/tests/expected/suites_harvesting_get_Exception-Harvest-missing-resourcetype.xml deleted file mode 100644 index 36852c4f6..000000000 --- a/tests/expected/suites_harvesting_get_Exception-Harvest-missing-resourcetype.xml +++ /dev/null @@ -1,7 +0,0 @@ - - - - - Missing resourcetype parameter - - diff --git a/tests/expected/suites_harvesting_get_Exception-Harvest-missing-source.xml b/tests/expected/suites_harvesting_get_Exception-Harvest-missing-source.xml deleted file mode 100644 index 250afe73d..000000000 --- a/tests/expected/suites_harvesting_get_Exception-Harvest-missing-source.xml +++ /dev/null @@ -1,7 +0,0 @@ - - - - - Missing source parameter - - diff --git a/tests/expected/suites_harvesting_get_Exception-Harvest-waf-bad-value.xml b/tests/expected/suites_harvesting_get_Exception-Harvest-waf-bad-value.xml deleted file mode 100644 index 4739bff30..000000000 --- a/tests/expected/suites_harvesting_get_Exception-Harvest-waf-bad-value.xml +++ /dev/null @@ -1,7 +0,0 @@ - - - - - Harvest failed: record parsing failed: unknown url type: badvalue - - diff --git a/tests/expected/suites_harvesting_get_Exception-Harvest-waf-no-records-found.xml b/tests/expected/suites_harvesting_get_Exception-Harvest-waf-no-records-found.xml deleted file mode 100644 index 177601c6b..000000000 --- a/tests/expected/suites_harvesting_get_Exception-Harvest-waf-no-records-found.xml +++ /dev/null @@ -1,11 +0,0 @@ - - - - - - 0 - 0 - 0 - - - diff --git a/tests/expected/suites_harvesting_post_Clear-000-delete-all.xml b/tests/expected/suites_harvesting_post_Clear-000-delete-all.xml deleted file mode 100644 index 01ccdf629..000000000 --- a/tests/expected/suites_harvesting_post_Clear-000-delete-all.xml +++ /dev/null @@ -1,9 +0,0 @@ - - - - - 0 - 0 - 0 - - diff --git a/tests/expected/suites_harvesting_post_Exception-Havest-csw-404.xml b/tests/expected/suites_harvesting_post_Exception-Havest-csw-404.xml deleted file mode 100644 index 371aae9c0..000000000 --- a/tests/expected/suites_harvesting_post_Exception-Havest-csw-404.xml +++ /dev/null @@ -1,7 +0,0 @@ - - - - - Harvest failed: record parsing failed: HTTP error: HTTP Error 404: Not Found - - diff --git a/tests/expected/suites_harvesting_post_GetCapabilities.xml b/tests/expected/suites_harvesting_post_GetCapabilities.xml deleted file mode 100644 index c7b5eea6b..000000000 --- a/tests/expected/suites_harvesting_post_GetCapabilities.xml +++ /dev/null @@ -1,370 +0,0 @@ - - - - - pycsw Geospatial Catalogue - pycsw is an OGC CSW server implementation written in Python - - catalogue - discovery - theme - - CSW - 2.0.2 - 3.0.0 - None - None - - - pycsw - - - Kralidis, Tom - Senior Systems Scientist - - - +01-416-xxx-xxxx - +01-416-xxx-xxxx - - - TBA - Toronto - Ontario - M9C 3Z9 - Canada - tomkralidis@gmail.com - - - 0800h - 1600h EST - During hours of service. Off on weekends. - - pointOfContact - - - - - - - - - - - - Filter_Capabilities - OperationsMetadata - ServiceIdentification - ServiceProvider - - - - - - - - - - - application/json - application/xml - - - http://www.w3.org/2001/XMLSchema - http://www.w3.org/TR/xmlschema-1/ - http://www.w3.org/XML/Schema - - - csw:Record - gmd:MD_Metadata - - - - - - - - - - - DescribeRecord.outputFormat - DescribeRecord.schemaLanguage - DescribeRecord.typeName - GetCapabilities.sections - GetRecordById.ElementSetName - GetRecordById.outputFormat - GetRecordById.outputSchema - GetRecords.CONSTRAINTLANGUAGE - GetRecords.ElementSetName - GetRecords.outputFormat - GetRecords.outputSchema - GetRecords.resultType - GetRecords.typeNames - Harvest.ResourceType - Transaction.TransactionSchemas - - - - - - - - - - - CQL_TEXT - FILTER - - - brief - full - summary - - - application/json - application/xml - - - http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ - http://www.interlis.ch/INTERLIS2.3 - http://www.isotc211.org/2005/gmd - http://www.opengis.net/cat/csw/2.0.2 - http://www.opengis.net/cat/csw/csdgm - http://www.w3.org/2005/Atom - - - hits - results - validate - - - csw:Record - gmd:MD_Metadata - - - apiso:AccessConstraints - apiso:Classification - apiso:ConditionApplyingToAccessAndUse - apiso:Contributor - apiso:Creator - apiso:Degree - apiso:Lineage - apiso:OtherConstraints - apiso:Publisher - apiso:Relation - apiso:ResponsiblePartyRole - apiso:SpecificationDate - apiso:SpecificationDateType - apiso:SpecificationTitle - - - csw:AnyText - dc:contributor - dc:creator - dc:date - dc:format - dc:identifier - dc:language - dc:publisher - dc:relation - dc:rights - dc:source - dc:subject - dc:title - dc:type - dct:abstract - dct:alternative - dct:modified - dct:spatial - ows:BoundingBox - - - apiso:Abstract - apiso:AlternateTitle - apiso:AnyText - apiso:BoundingBox - apiso:CRS - apiso:CouplingType - apiso:CreationDate - apiso:Denominator - apiso:DistanceUOM - apiso:DistanceValue - apiso:Format - apiso:GeographicDescriptionCode - apiso:HasSecurityConstraints - apiso:Identifier - apiso:KeywordType - apiso:Language - apiso:Modified - apiso:OperatesOn - apiso:OperatesOnIdentifier - apiso:OperatesOnName - apiso:Operation - apiso:OrganisationName - apiso:ParentIdentifier - apiso:PublicationDate - apiso:ResourceLanguage - apiso:RevisionDate - apiso:ServiceType - apiso:ServiceTypeVersion - apiso:Subject - apiso:TempExtent_begin - apiso:TempExtent_end - apiso:Title - apiso:TopicCategory - apiso:Type - - - - - - - - - - - brief - full - summary - - - application/json - application/xml - - - http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ - http://www.interlis.ch/INTERLIS2.3 - http://www.isotc211.org/2005/gmd - http://www.opengis.net/cat/csw/2.0.2 - http://www.opengis.net/cat/csw/csdgm - http://www.w3.org/2005/Atom - - - - - - - - - - - - - - - - - http://www.isotc211.org/2005/gmi - http://www.opengis.net/cat/csw/2.0.2 - http://www.opengis.net/cat/csw/3.0 - http://www.opengis.net/sos/1.0 - http://www.opengis.net/sos/2.0 - http://www.opengis.net/wcs - http://www.opengis.net/wfs - http://www.opengis.net/wfs/2.0 - http://www.opengis.net/wms - http://www.opengis.net/wmts/1.0 - http://www.opengis.net/wps/1.0.0 - urn:geoss:waf - - - - - - - - - - http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ - http://www.interlis.ch/INTERLIS2.3 - http://www.isotc211.org/2005/gmd - http://www.isotc211.org/2005/gmi - http://www.isotc211.org/schemas/2005/gmd/ - http://www.opengis.net/cat/csw/2.0.2 - http://www.opengis.net/cat/csw/3.0 - http://www.opengis.net/cat/csw/csdgm - http://www.opengis.net/sos/1.0 - http://www.opengis.net/sos/2.0 - http://www.opengis.net/wcs - http://www.opengis.net/wfs - http://www.opengis.net/wfs/2.0 - http://www.opengis.net/wms - http://www.opengis.net/wmts/1.0 - http://www.opengis.net/wps/1.0.0 - http://www.w3.org/2005/Atom - urn:geoss:waf - - - - CSW - - - 2.0.2 - 3.0.0 - - - http://geo.data.gov/geoportal/csw/discovery - - - 10 - - - XML - SOAP - - - allowed - - - - - - gml:Point - gml:LineString - gml:Polygon - gml:Envelope - - - - - - - - - - - - - - - - - - - Between - EqualTo - GreaterThan - GreaterThanEqualTo - LessThan - LessThanEqualTo - Like - NotEqualTo - NullCheck - - - - - length - lower - ltrim - rtrim - trim - upper - - - - - - - - - - diff --git a/tests/expected/suites_harvesting_post_GetDomain-parameter.xml b/tests/expected/suites_harvesting_post_GetDomain-parameter.xml deleted file mode 100644 index b47402ca2..000000000 --- a/tests/expected/suites_harvesting_post_GetDomain-parameter.xml +++ /dev/null @@ -1,27 +0,0 @@ - - - - - Harvest.ResourceType - - http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ - http://www.interlis.ch/INTERLIS2.3 - http://www.isotc211.org/2005/gmd - http://www.isotc211.org/2005/gmi - http://www.isotc211.org/schemas/2005/gmd/ - http://www.opengis.net/cat/csw/2.0.2 - http://www.opengis.net/cat/csw/3.0 - http://www.opengis.net/cat/csw/csdgm - http://www.opengis.net/sos/1.0 - http://www.opengis.net/sos/2.0 - http://www.opengis.net/wcs - http://www.opengis.net/wfs - http://www.opengis.net/wfs/2.0 - http://www.opengis.net/wms - http://www.opengis.net/wmts/1.0 - http://www.opengis.net/wps/1.0.0 - http://www.w3.org/2005/Atom - urn:geoss:waf - - - diff --git a/tests/expected/suites_harvesting_post_Harvest-csw-iso.xml b/tests/expected/suites_harvesting_post_Harvest-csw-iso.xml deleted file mode 100644 index 1aa0f2bfc..000000000 --- a/tests/expected/suites_harvesting_post_Harvest-csw-iso.xml +++ /dev/null @@ -1,149 +0,0 @@ - - - - - - 34 - 0 - 0 - - - - PYCSW_IDENTIFIER - pycsw Geospatial Catalogue OGC services demo - - - PYCSW_IDENTIFIER - 1 Million Scale WMS Layers from the National Atlas of the United States - - - PYCSW_IDENTIFIER-ports1m - 1 Million Scale - Ports - - - PYCSW_IDENTIFIER-national1m - 1 Million Scale - National Boundary - - - PYCSW_IDENTIFIER-elevation - 1 Million Scale - Elevation 100 Meter Resolution - - - PYCSW_IDENTIFIER-impervious - 1 Million Scale - Impervious Surface 100 Meter Resolution - - - PYCSW_IDENTIFIER-coast1m - 1 Million Scale - Coastlines - - - PYCSW_IDENTIFIER-cdl - 1 Million Scale - 113th Congressional Districts - - - PYCSW_IDENTIFIER-states1m - 1 Million Scale - States - - - PYCSW_IDENTIFIER-elsli0100g - 1 Million Scale - Color-Sliced Elevation 100 Meter Resolution - - - PYCSW_IDENTIFIER-landcov100m - 1 Million Scale - Land Cover 100 Meter Resolution - - - PYCSW_IDENTIFIER-cdp - 1 Million Scale - 113th Congressional Districts by Party - - - PYCSW_IDENTIFIER-amtrak1m - 1 Million Scale - Railroad and Bus Passenger Stations - - - PYCSW_IDENTIFIER-airports1m - 1 Million Scale - Airports - - - PYCSW_IDENTIFIER-one_million - 1 Million Scale WMS Layers from the National Atlas of the United States - - - PYCSW_IDENTIFIER-satvi0100g - 1 Million Scale - Satellite View 100 Meter Resolution - - - PYCSW_IDENTIFIER-srcoi0100g - 1 Million Scale - Color Shaded Relief 100 Meter Resolution - - - PYCSW_IDENTIFIER-srgri0100g - 1 Million Scale - Gray Shaded Relief 100 Meter Resolution - - - PYCSW_IDENTIFIER-treecanopy - 1 Million Scale - Tree Canopy 100 Meter Resolution - - - PYCSW_IDENTIFIER-svsri0100g - 1 Million Scale - Satellite View with Shaded Relief 100 Meter Resolution - - - PYCSW_IDENTIFIER - Wisconsin Lake Clarity - - - PYCSW_IDENTIFIER-Highways - Highways - - - PYCSW_IDENTIFIER-LakesTSI - LakesTSI - - - PYCSW_IDENTIFIER-LakeClarity - Wisconsin Lake Clarity - - - PYCSW_IDENTIFIER-LakesTSI_0305 - LakesTSI_0305 - - - PYCSW_IDENTIFIER-Relief - Relief - - - PYCSW_IDENTIFIER-LakeNames_0305 - LakeNames_0305 - - - PYCSW_IDENTIFIER-Roads - Roads - - - PYCSW_IDENTIFIER-LakeNames - LakeNames - - - PYCSW_IDENTIFIER-Counties - Counties - - - PYCSW_IDENTIFIER - View & download service for EU-DEM data provided by EOX - - - PYCSW_IDENTIFIER-EU-DEM - EU-DEM - - - PYCSW_IDENTIFIER-MS - View & download service for EU-DEM data provided by EOX - - - PYCSW_IDENTIFIER-eudem_color - EU-DEM color shaded - - - - diff --git a/tests/expected/suites_harvesting_post_Harvest-csw-run1.xml b/tests/expected/suites_harvesting_post_Harvest-csw-run1.xml deleted file mode 100644 index 5786b5423..000000000 --- a/tests/expected/suites_harvesting_post_Harvest-csw-run1.xml +++ /dev/null @@ -1,65 +0,0 @@ - - - - - - 13 - 0 - 0 - - - - PYCSW_IDENTIFIER - pycsw OGC CITE demo and Reference Implementation - - - PYCSW_IDENTIFIER - Lorem ipsum - - - PYCSW_IDENTIFIER - - - - PYCSW_IDENTIFIER - Maecenas enim - - - PYCSW_IDENTIFIER - Ut facilisis justo ut lacus - - - PYCSW_IDENTIFIER - Aliquam fermentum purus quis arcu - - - PYCSW_IDENTIFIER - Vestibulum massa purus - - - PYCSW_IDENTIFIER - - - - PYCSW_IDENTIFIER - Mauris sed neque - - - PYCSW_IDENTIFIER - Ñunç elementum - - - PYCSW_IDENTIFIER - Lorem ipsum dolor sit amet - - - PYCSW_IDENTIFIER - - - - PYCSW_IDENTIFIER - Fuscé vitae ligulä - - - - diff --git a/tests/expected/suites_harvesting_post_Harvest-csw-run2.xml b/tests/expected/suites_harvesting_post_Harvest-csw-run2.xml deleted file mode 100644 index 4362f5264..000000000 --- a/tests/expected/suites_harvesting_post_Harvest-csw-run2.xml +++ /dev/null @@ -1,11 +0,0 @@ - - - - - - 13 - 13 - 0 - - - diff --git a/tests/expected/suites_harvesting_post_Harvest-dc.xml b/tests/expected/suites_harvesting_post_Harvest-dc.xml deleted file mode 100644 index 58d6d5044..000000000 --- a/tests/expected/suites_harvesting_post_Harvest-dc.xml +++ /dev/null @@ -1,17 +0,0 @@ - - - - - - 1 - 0 - 0 - - - - PYCSW_IDENTIFIER - Image2000 Product 1 (at1) Multispectral - - - - diff --git a/tests/expected/suites_harvesting_post_Harvest-fgdc.xml b/tests/expected/suites_harvesting_post_Harvest-fgdc.xml deleted file mode 100644 index c12247fcb..000000000 --- a/tests/expected/suites_harvesting_post_Harvest-fgdc.xml +++ /dev/null @@ -1,17 +0,0 @@ - - - - - - 1 - 0 - 0 - - - - PYCSW_IDENTIFIER - CPC Merged Analysis of Precipitation Standard [POL 88.75 -88.75 180 -180] - - - - diff --git a/tests/expected/suites_harvesting_post_Harvest-iso.xml b/tests/expected/suites_harvesting_post_Harvest-iso.xml deleted file mode 100644 index 98b9770f4..000000000 --- a/tests/expected/suites_harvesting_post_Harvest-iso.xml +++ /dev/null @@ -1,17 +0,0 @@ - - - - - - 1 - 0 - 0 - - - - PYCSW_IDENTIFIER - Wasserkörper Linien - - - - diff --git a/tests/expected/suites_harvesting_post_Harvest-rdf.xml b/tests/expected/suites_harvesting_post_Harvest-rdf.xml deleted file mode 100644 index 2e926c2c4..000000000 --- a/tests/expected/suites_harvesting_post_Harvest-rdf.xml +++ /dev/null @@ -1,17 +0,0 @@ - - - - - - 1 - 0 - 0 - - - - PYCSW_IDENTIFIER - Website_gdb - - - - diff --git a/tests/expected/suites_harvesting_post_Harvest-sos100.xml b/tests/expected/suites_harvesting_post_Harvest-sos100.xml deleted file mode 100644 index 25e56a48b..000000000 --- a/tests/expected/suites_harvesting_post_Harvest-sos100.xml +++ /dev/null @@ -1,133 +0,0 @@ - - - - - - 30 - 0 - 0 - - - - PYCSW_IDENTIFIER - Northeastern Regional Association of Coastal Ocean Observing Systems - - - PYCSW_IDENTIFIER-CML - Mooring CML data from the COOA (UNH-COOA) located UNH Coastal Marine Lab Field Station - - - PYCSW_IDENTIFIER-F01 - Mooring F01 data from the Northeastern Regional Association of Coastal Ocean Observing Systems (Univ. of Maine) located Penobscot Bay - - - PYCSW_IDENTIFIER-F02 - Mooring F02 data from the Northeastern Regional Association of Coastal Ocean Observing Systems (Univ. of Maine) located DeepCwind Castine Test Site - - - PYCSW_IDENTIFIER-SMB-MO-04 - Mooring SMB-MO-04 data from the Northeastern Regional Association of Coastal Ocean Observing Systems (SmartBay) located Pilot Boarding Station, Red Island Shoal, Placentia Bay, NL, CA - - - PYCSW_IDENTIFIER-LDLC3 - Mooring LDLC3 data from the LISICOS (LISICOS) located New London Ledge Light - - - PYCSW_IDENTIFIER-CDIP154 - Mooring CDIP154 data from the COOA (UNH-COOA-CDIP) located Block Island, RI - - - PYCSW_IDENTIFIER-CDIP176 - Mooring CDIP176 data from the COOA (UNH-COOA-CDIP) located Halifax Harbor, CA - - - PYCSW_IDENTIFIER-ARTG - Mooring ARTG data from the LISICOS (LISICOS) located North of Smithtown Bay - - - PYCSW_IDENTIFIER-M01 - Mooring M01 data from the Northeastern Regional Association of Coastal Ocean Observing Systems (Univ. of Maine) located Jordan Basin - - - PYCSW_IDENTIFIER-N01 - Mooring N01 data from the Northeastern Regional Association of Coastal Ocean Observing Systems (Univ. of Maine) located Northeast Channel - - - PYCSW_IDENTIFIER-44039 - Mooring 44039 data from the LISICOS (LISICOS) located Central Long Island Sound - - - PYCSW_IDENTIFIER-SMB-MO-01 - Mooring SMB-MO-01 data from the Northeastern Regional Association of Coastal Ocean Observing Systems (SmartBay) located Mouth of Placentia Bay, NL, Canada - - - PYCSW_IDENTIFIER-SMB-MO-05 - Mooring SMB-MO-05 data from the Northeastern Regional Association of Coastal Ocean Observing Systems (SmartBay) located Come By Chance Point, Placentia Bay, NL, CA - - - PYCSW_IDENTIFIER-D02 - Mooring D02 data from the Northeastern Regional Association of Coastal Ocean Observing Systems (Univ. of Maine) located Lower Harpswell Sound - - - PYCSW_IDENTIFIER-E02 - Mooring E02 data from the Northeastern Regional Association of Coastal Ocean Observing Systems (Univ. of Maine) located DeepCwind Test Site - - - PYCSW_IDENTIFIER-E01 - Mooring E01 data from the Northeastern Regional Association of Coastal Ocean Observing Systems (Univ. of Maine) located Central Maine Shelf - - - PYCSW_IDENTIFIER-B01 - Mooring B01 data from the Northeastern Regional Association of Coastal Ocean Observing Systems (Univ. of Maine) located Western Maine Shelf - - - PYCSW_IDENTIFIER-EXRX - Mooring EXRX data from the LISICOS (LISICOS) located Execution Rocks Long Island Sound - - - PYCSW_IDENTIFIER-44098 - Mooring 44098 data from the COOA (UNH-COOA) located Jeffrey's Ledge - - - PYCSW_IDENTIFIER-WLIS - Mooring WLIS data from the LISICOS (LISICOS) located Western Long Island Sound - - - PYCSW_IDENTIFIER-CO2 - Mooring CO2 data from the COOA (UNH-COOA) located Appledore Island - - - PYCSW_IDENTIFIER-CDIP221 - Mooring CDIP221 data from the COOA (UNH-COOA-CDIP) located Cape Cod Bay, MA - - - PYCSW_IDENTIFIER-ALL_PLATFORMS - Mooring data for all buoys from the Northeastern Regional Association of Coastal Ocean Observing Systems (NERACOOS) located in the NERACOOS Region - - - PYCSW_IDENTIFIER-A01 - Mooring A01 data from the Northeastern Regional Association of Coastal Ocean Observing Systems (Univ. of Maine) located Massachusetts Bay - - - PYCSW_IDENTIFIER-MDS02 - Mooring MDS02 data from the URI (Univ. of Rhode Is.) located SAMP MD S - - - PYCSW_IDENTIFIER-GREAT_BAY - Mooring GREAT_BAY data from the COOA (UNH-COOA) located Great Bay, NH - - - PYCSW_IDENTIFIER-I01 - Mooring I01 data from the Northeastern Regional Association of Coastal Ocean Observing Systems (Univ. of Maine) located Eastern Maine Shelf - - - PYCSW_IDENTIFIER-CDIP207 - Mooring CDIP207 data from the COOA (UNH-COOA-CDIP) located Fire Island, NY - - - PYCSW_IDENTIFIER-44060 - Mooring 44060 data from the LISICOS (LISICOS) located Eastern Long Island Sound - - - - diff --git a/tests/expected/suites_harvesting_post_Harvest-sos200.xml b/tests/expected/suites_harvesting_post_Harvest-sos200.xml deleted file mode 100644 index b41170b20..000000000 --- a/tests/expected/suites_harvesting_post_Harvest-sos200.xml +++ /dev/null @@ -1,21 +0,0 @@ - - - - - - 2 - 0 - 0 - - - - PYCSW_IDENTIFIER - GIN SOS - - - PYCSW_IDENTIFIER-GW_LEVEL - - - - - diff --git a/tests/expected/suites_harvesting_post_Harvest-waf.xml b/tests/expected/suites_harvesting_post_Harvest-waf.xml deleted file mode 100644 index 75b60273f..000000000 --- a/tests/expected/suites_harvesting_post_Harvest-waf.xml +++ /dev/null @@ -1,25 +0,0 @@ - - - - - - 3 - 0 - 0 - - - - PYCSW_IDENTIFIER - CPC Merged Analysis of Precipitation Standard [POL 88.75 -88.75 180 -180] - - - PYCSW_IDENTIFIER - Image2000 Product 1 (at1) Multispectral - - - PYCSW_IDENTIFIER - NOAA_RNC - - - - diff --git a/tests/expected/suites_harvesting_post_Harvest-wcs.xml b/tests/expected/suites_harvesting_post_Harvest-wcs.xml deleted file mode 100644 index a5dcbed6f..000000000 --- a/tests/expected/suites_harvesting_post_Harvest-wcs.xml +++ /dev/null @@ -1,33 +0,0 @@ - - - - - - 5 - 0 - 0 - - - - PYCSW_IDENTIFIER - WCS Demo Server for MapServer - - - PYCSW_IDENTIFIER-ndvi - North Central US MODIS-based NDVI Images for 2002 - - - PYCSW_IDENTIFIER-modis-001 - North Central US MODIS Images for 2002-001 - - - PYCSW_IDENTIFIER-fpar - North Central US MODIS-based FPAR Images for 2002 - - - PYCSW_IDENTIFIER-modis - North Central US MODIS Images for 2002 - - - - diff --git a/tests/expected/suites_harvesting_post_Harvest-wfs110.xml b/tests/expected/suites_harvesting_post_Harvest-wfs110.xml deleted file mode 100644 index 96ec6feb3..000000000 --- a/tests/expected/suites_harvesting_post_Harvest-wfs110.xml +++ /dev/null @@ -1,37 +0,0 @@ - - - - - - 6 - 0 - 0 - - - - PYCSW_IDENTIFIER - GeoServer Web Feature Service - - - PYCSW_IDENTIFIER-geoss_water_sba:Reservoir - Reservoir - - - PYCSW_IDENTIFIER-geoss_water_sba:glwd_1 - glwd_1 - - - PYCSW_IDENTIFIER-geoss_water_sba:Dams - Dams - - - PYCSW_IDENTIFIER-geoss_water_sba:glwd_2 - glwd_2 - - - PYCSW_IDENTIFIER-geoss_water_sba:Lakes - Lakes - - - - diff --git a/tests/expected/suites_harvesting_post_Harvest-wfs200.xml b/tests/expected/suites_harvesting_post_Harvest-wfs200.xml deleted file mode 100644 index d73153e77..000000000 --- a/tests/expected/suites_harvesting_post_Harvest-wfs200.xml +++ /dev/null @@ -1,57 +0,0 @@ - - - - - - 11 - 0 - 0 - - - - PYCSW_IDENTIFIER - CERA_CERA_TechClasses_WGS84 - - - PYCSW_IDENTIFIER-CERA_CERA_TechClasses_WGS84:MBIE_Technical_Classes_WGS84_2012-08-16 - MBIE_Technical_Classes_WGS84_2012-08-16 - - - PYCSW_IDENTIFIER-CERA_CERA_TechClasses_WGS84:MBIE_Technical_Classes_WGS84_2012-05-18 - MBIE_Technical_Classes_WGS84_2012-05-18 - - - PYCSW_IDENTIFIER-CERA_CERA_TechClasses_WGS84:MBIE_Technical_Classes_WGS84_2013-12-04 - MBIE_Technical_Classes_WGS84_2013-12-04 - - - PYCSW_IDENTIFIER-CERA_CERA_TechClasses_WGS84:MBIE_Technical_Classes_WGS84_2011-10-28 - MBIE_Technical_Classes_WGS84_2011-10-28 - - - PYCSW_IDENTIFIER-CERA_CERA_TechClasses_WGS84:MBIE_Technical_Classes_WGS84_2012-02-10 - MBIE_Technical_Classes_WGS84_2012-02-10 - - - PYCSW_IDENTIFIER-CERA_CERA_TechClasses_WGS84:MBIE_Technical_Classes_WGS84_2012-09-14 - MBIE_Technical_Classes_WGS84_2012-09-14 - - - PYCSW_IDENTIFIER-CERA_CERA_TechClasses_WGS84:MBIE_Technical_Classes_WGS84_2012-03-23 - MBIE_Technical_Classes_WGS84_2012-03-23 - - - PYCSW_IDENTIFIER-CERA_CERA_TechClasses_WGS84:MBIE_Technical_Classes_WGS84_2011-11-17 - MBIE_Technical_Classes_WGS84_2011-11-17 - - - PYCSW_IDENTIFIER-CERA_CERA_TechClasses_WGS84:MBIE_Technical_Classes_WGS84_2012-08-24 - MBIE_Technical_Classes_WGS84_2012-08-24 - - - PYCSW_IDENTIFIER-CERA_CERA_TechClasses_WGS84:MBIE_Technical_Classes_WGS84_2012-10-31 - MBIE_Technical_Classes_WGS84_2012-10-31 - - - - diff --git a/tests/expected/suites_harvesting_post_Harvest-wms-run1.xml b/tests/expected/suites_harvesting_post_Harvest-wms-run1.xml deleted file mode 100644 index d75519d7d..000000000 --- a/tests/expected/suites_harvesting_post_Harvest-wms-run1.xml +++ /dev/null @@ -1,29 +0,0 @@ - - - - - - 4 - 0 - 0 - - - - PYCSW_IDENTIFIER - IEM WMS Service - - - PYCSW_IDENTIFIER-nexrad_base_reflect - IEM WMS Service - - - PYCSW_IDENTIFIER-time_idx - NEXRAD BASE REFLECT - - - PYCSW_IDENTIFIER-nexrad-n0r-wmst - NEXRAD BASE REFLECT - - - - diff --git a/tests/expected/suites_harvesting_post_Harvest-wms-run2.xml b/tests/expected/suites_harvesting_post_Harvest-wms-run2.xml deleted file mode 100644 index 19e8d8623..000000000 --- a/tests/expected/suites_harvesting_post_Harvest-wms-run2.xml +++ /dev/null @@ -1,11 +0,0 @@ - - - - - - 4 - 4 - 0 - - - diff --git a/tests/expected/suites_harvesting_post_Harvest-wmts.xml b/tests/expected/suites_harvesting_post_Harvest-wmts.xml deleted file mode 100644 index 372bad712..000000000 --- a/tests/expected/suites_harvesting_post_Harvest-wmts.xml +++ /dev/null @@ -1,45 +0,0 @@ - - - - - - 8 - 0 - 0 - - - - PYCSW_IDENTIFIER - Web Map Tile Service - - - PYCSW_IDENTIFIER-flwbplmzk - Flächenwidmungs- und Bebauungsplan - - - PYCSW_IDENTIFIER-lb - Luftbild - - - PYCSW_IDENTIFIER-lb2014 - Luftbild 2014 - - - PYCSW_IDENTIFIER-beschriftung - Beschriftung - - - PYCSW_IDENTIFIER-lb1938 - Luftbild 1938 - - - PYCSW_IDENTIFIER-fmzk - MZK Flächen - - - PYCSW_IDENTIFIER-lb1956 - Luftbild 1956 - - - - diff --git a/tests/expected/suites_harvesting_post_Harvest-wps.xml b/tests/expected/suites_harvesting_post_Harvest-wps.xml deleted file mode 100644 index 12381ec1e..000000000 --- a/tests/expected/suites_harvesting_post_Harvest-wps.xml +++ /dev/null @@ -1,57 +0,0 @@ - - - - - - 11 - 0 - 0 - - - - PYCSW_IDENTIFIER - Geo Data Portal WPS Implementation - - - PYCSW_IDENTIFIER-gov.usgs.cida.gdp.wps.algorithm.filemanagement.CreateNewShapefileDataStore - gov.usgs.cida.gdp.wps.algorithm.filemanagement.CreateNewShapefileDataStore - - - PYCSW_IDENTIFIER-gov.usgs.cida.gdp.wps.algorithm.discovery.GetGridTimeRange - Get Grid Time Range - - - PYCSW_IDENTIFIER-gov.usgs.cida.gdp.wps.algorithm.filemanagement.ReceiveFiles - gov.usgs.cida.gdp.wps.algorithm.filemanagement.ReceiveFiles - - - PYCSW_IDENTIFIER-gov.usgs.cida.gdp.wps.algorithm.discovery.GetWcsCoverages - gov.usgs.cida.gdp.wps.algorithm.discovery.GetWcsCoverages - - - PYCSW_IDENTIFIER-gov.usgs.cida.gdp.wps.algorithm.filemanagement.GetWatersGeom - gov.usgs.cida.gdp.wps.algorithm.filemanagement.GetWatersGeom - - - PYCSW_IDENTIFIER-gov.usgs.cida.gdp.wps.algorithm.communication.GeoserverManagementAlgorithm - gov.usgs.cida.gdp.wps.algorithm.communication.GeoserverManagementAlgorithm - - - PYCSW_IDENTIFIER-gov.usgs.cida.gdp.wps.algorithm.communication.EmailWhenFinishedAlgorithm - gov.usgs.cida.gdp.wps.algorithm.communication.EmailWhenFinishedAlgorithm - - - PYCSW_IDENTIFIER-gov.usgs.cida.gdp.wps.algorithm.discovery.InterrogateDataset - Interogate Dataset URI - - - PYCSW_IDENTIFIER-gov.usgs.cida.gdp.wps.algorithm.discovery.ListOpendapGrids - List OpendDAP Grids - - - PYCSW_IDENTIFIER-gov.usgs.cida.gdp.wps.algorithm.discovery.CalculateWCSCoverageInfo - gov.usgs.cida.gdp.wps.algorithm.discovery.CalculateWCSCoverageInfo - - - - diff --git a/tests/expected/suites_harvesting_post_Harvest-zzz-post-GetRecords-filter-ows-dc.xml b/tests/expected/suites_harvesting_post_Harvest-zzz-post-GetRecords-filter-ows-dc.xml deleted file mode 100644 index 595739551..000000000 --- a/tests/expected/suites_harvesting_post_Harvest-zzz-post-GetRecords-filter-ows-dc.xml +++ /dev/null @@ -1,128 +0,0 @@ - - - - - - - PYCSW_IDENTIFIER - pycsw Geospatial Catalogue OGC services demo - service - catalogue - discovery - metadata - services - CSW - http://demo.pycsw.org/services/csw - pycsw is an OGC CSW server implementation written in Python - Lastname, Firstname - Organization Name - Lastname, Firstname - http://demo.pycsw.org/services/csw - None - - - PYCSW_IDENTIFIER - pycsw OGC CITE demo and Reference Implementation - service - ogc - cite - compliance - interoperability - reference implementation - CSW - http://demo.pycsw.org/cite/csw - pycsw is an OGC CSW server implementation written in Python. pycsw fully implements the OpenGIS Catalogue Service Implementation Specification (Catalogue Service for the Web). Initial development started in 2010 (more formally announced in 2011). The project is certified OGC Compliant, and is an OGC Reference Implementation. Since 2015, pycsw is an official OSGeo Project. pycsw allows for the publishing and discovery of [[geospatial]] metadata via numerous APIs (CSW 2/CSW 3, OpenSearch, OAI-PMH, SRU). Existing repositories of geospatial metadata can also be exposed, providing a standards-based metadata and catalogue component of spatial data infrastructures. pycsw is Open Source, released under an MIT license, and runs on all major platforms (Windows, Linux, Mac OS X) - Lastname, Firstname - Organization Name - Lastname, Firstname - http://demo.pycsw.org/cite/csw - None - - - PYCSW_IDENTIFIER - Northeastern Regional Association of Coastal Ocean Observing Systems - service - NERACOOS - SOS - OCEANOGRAPHY - Ocean Observations - Gulf of Maine - Long Island Sound - Narragansett Bay - Cape Cod - Boston Harbor - Buzzards Bay - Weather - Ocean Currents - Water Temperature - Salinity - Winds - Waves - Ocean Color - GoMOOS - LISICOS - Univ. of New Hampshire - MVCO - Air Temperature - OGC:SOS - http://www.neracoos.org/cgi-bin/sos/V1.0/oostethys_sos.cgi - NERACOOS supports data collected from buoys in the Gulf of Maine and Long Island Sound. The six Gulf of Maine buoys carry a comprehensive sensor suite that includes the full complement of meteorological sensors carried by the standard NDBC buoys, and in addition commonly include atmospheric visibility, surface currents, water-column current profiles, temperature and conductivity, and fluorescence (for chlorophyll a estimation) and backscatter at multiple depths. In Long Island Sound, three buoys that measure wind speed and direction, circulation, salinity, temperature and dissolved oxygen. Two buoys will be located in western LIS (WLIS and EXRK stations) and the third will be in the Central Sound (CLIS). The buoys will be equipped with three YSI-SeaBird sensors to measure conductivity, temperature, pressure and dissolved oxygen concentration near the surface, bottom and mid-depth. A buoy in Great Bay measures physical, optical, meteorological and wave data. - Eric Bridger - NERACOOS - Eric Bridger - http://www.neracoos.org/cgi-bin/sos/V1.0/oostethys_sos.cgi - NONE - urn:ogc:def:crs:EPSG:6.11:4326 - - 40.58 -73.73 - 47.79 -54.05 - - - - PYCSW_IDENTIFIER - GIN SOS - service - groundwater level - monitoring - timeseries - Alberta - Ontario - Nova Scotia - OGC:SOS - http://ngwd-bdnes.cits.nrcan.gc.ca/GinService/sos/gw - Historical groundwater level monitoring stations from Alberta, Ontario and Nova Scotia. This SOS web service delivers the data using OGC's WaterML 2.0. The SOS service federates data from various provincial sources and publishes them as a single service. Many monitoring stations also have water well characteristics available through the GIN WFS web service. - Boyan Brodaric - Geological Survey of Canada, Earth Sciences Sector, Natural Resources Canada, Government of Canada - Boyan Brodaric - http://ngwd-bdnes.cits.nrcan.gc.ca/GinService/sos/gw - NONE - urn:ogc:def:crs:EPSG:6.11:4326 - - 41.0 -120.0 - 60.0 -60.0 - - - - PYCSW_IDENTIFIER - WCS Demo Server for MapServer - service - WCS - MODIS - NDVI - OGC:WCS - http://demo.mapserver.org/cgi-bin/wcs - Steve Lime - Minnesota DNR - Steve Lime - http://demo.mapserver.org/cgi-bin/wcs - - NONE - - urn:ogc:def:crs:EPSG:6.11:4326 - - 41.03 -97.71 - 49.67 -80.68 - - - - diff --git a/tests/expected/suites_harvesting_post_Harvest-zzz-post-GetRecords-filter-sos-abstract-dc.xml b/tests/expected/suites_harvesting_post_Harvest-zzz-post-GetRecords-filter-sos-abstract-dc.xml deleted file mode 100644 index da7d58075..000000000 --- a/tests/expected/suites_harvesting_post_Harvest-zzz-post-GetRecords-filter-sos-abstract-dc.xml +++ /dev/null @@ -1,31 +0,0 @@ - - - - - - - PYCSW_IDENTIFIER - GIN SOS - service - groundwater level - monitoring - timeseries - Alberta - Ontario - Nova Scotia - OGC:SOS - http://ngwd-bdnes.cits.nrcan.gc.ca/GinService/sos/gw - Historical groundwater level monitoring stations from Alberta, Ontario and Nova Scotia. This SOS web service delivers the data using OGC's WaterML 2.0. The SOS service federates data from various provincial sources and publishes them as a single service. Many monitoring stations also have water well characteristics available through the GIN WFS web service. - Boyan Brodaric - Geological Survey of Canada, Earth Sciences Sector, Natural Resources Canada, Government of Canada - Boyan Brodaric - http://ngwd-bdnes.cits.nrcan.gc.ca/GinService/sos/gw - NONE - urn:ogc:def:crs:EPSG:6.11:4326 - - 41.0 -120.0 - 60.0 -60.0 - - - - diff --git a/tests/expected/suites_harvesting_post_Harvest-zzz-post-GetRecords-filter-sos-dc.xml b/tests/expected/suites_harvesting_post_Harvest-zzz-post-GetRecords-filter-sos-dc.xml deleted file mode 100644 index 47a3ac295..000000000 --- a/tests/expected/suites_harvesting_post_Harvest-zzz-post-GetRecords-filter-sos-dc.xml +++ /dev/null @@ -1,71 +0,0 @@ - - - - - - - PYCSW_IDENTIFIER - Northeastern Regional Association of Coastal Ocean Observing Systems - service - NERACOOS - SOS - OCEANOGRAPHY - Ocean Observations - Gulf of Maine - Long Island Sound - Narragansett Bay - Cape Cod - Boston Harbor - Buzzards Bay - Weather - Ocean Currents - Water Temperature - Salinity - Winds - Waves - Ocean Color - GoMOOS - LISICOS - Univ. of New Hampshire - MVCO - Air Temperature - OGC:SOS - http://www.neracoos.org/cgi-bin/sos/V1.0/oostethys_sos.cgi - NERACOOS supports data collected from buoys in the Gulf of Maine and Long Island Sound. The six Gulf of Maine buoys carry a comprehensive sensor suite that includes the full complement of meteorological sensors carried by the standard NDBC buoys, and in addition commonly include atmospheric visibility, surface currents, water-column current profiles, temperature and conductivity, and fluorescence (for chlorophyll a estimation) and backscatter at multiple depths. In Long Island Sound, three buoys that measure wind speed and direction, circulation, salinity, temperature and dissolved oxygen. Two buoys will be located in western LIS (WLIS and EXRK stations) and the third will be in the Central Sound (CLIS). The buoys will be equipped with three YSI-SeaBird sensors to measure conductivity, temperature, pressure and dissolved oxygen concentration near the surface, bottom and mid-depth. A buoy in Great Bay measures physical, optical, meteorological and wave data. - Eric Bridger - NERACOOS - Eric Bridger - http://www.neracoos.org/cgi-bin/sos/V1.0/oostethys_sos.cgi - NONE - urn:ogc:def:crs:EPSG:6.11:4326 - - 40.58 -73.73 - 47.79 -54.05 - - - - PYCSW_IDENTIFIER - GIN SOS - service - groundwater level - monitoring - timeseries - Alberta - Ontario - Nova Scotia - OGC:SOS - http://ngwd-bdnes.cits.nrcan.gc.ca/GinService/sos/gw - Historical groundwater level monitoring stations from Alberta, Ontario and Nova Scotia. This SOS web service delivers the data using OGC's WaterML 2.0. The SOS service federates data from various provincial sources and publishes them as a single service. Many monitoring stations also have water well characteristics available through the GIN WFS web service. - Boyan Brodaric - Geological Survey of Canada, Earth Sciences Sector, Natural Resources Canada, Government of Canada - Boyan Brodaric - http://ngwd-bdnes.cits.nrcan.gc.ca/GinService/sos/gw - NONE - urn:ogc:def:crs:EPSG:6.11:4326 - - 41.0 -120.0 - 60.0 -60.0 - - - - diff --git a/tests/expected/suites_harvesting_post_Harvest-zzz-post-GetRecords-filter-sos-iso.xml b/tests/expected/suites_harvesting_post_Harvest-zzz-post-GetRecords-filter-sos-iso.xml deleted file mode 100644 index 71064f191..000000000 --- a/tests/expected/suites_harvesting_post_Harvest-zzz-post-GetRecords-filter-sos-iso.xml +++ /dev/null @@ -1,955 +0,0 @@ - - - - - - - - PYCSW_IDENTIFIER - - - - - - service - - - - - Eric Bridger - - - NERACOOS - - - DMAC Coordinator - - - - - - - 207 228-1662 - - - - - - - - - - 350 Commercial St. - - - Portland - - - ME - - - 04101 - - - US - - - ebridger@gmri.org - - - - - - http://www.neracoos.org/ - - - - - - pointOfContact - - - - - - - - ISO19119 - - - 2005/PDAM 1 - - - - - - - Northeastern Regional Association of Coastal Ocean Observing Systems - - - - - NERACOOS supports data collected from buoys in the Gulf of Maine and Long Island Sound. The six Gulf of Maine buoys carry a comprehensive sensor suite that includes the full complement of meteorological sensors carried by the standard NDBC buoys, and in addition commonly include atmospheric visibility, surface currents, water-column current profiles, temperature and conductivity, and fluorescence (for chlorophyll a estimation) and backscatter at multiple depths. In Long Island Sound, three buoys that measure wind speed and direction, circulation, salinity, temperature and dissolved oxygen. Two buoys will be located in western LIS (WLIS and EXRK stations) and the third will be in the Central Sound (CLIS). The buoys will be equipped with three YSI-SeaBird sensors to measure conductivity, temperature, pressure and dissolved oxygen concentration near the surface, bottom and mid-depth. A buoy in Great Bay measures physical, optical, meteorological and wave data. - - - - - NERACOOS - - - SOS - - - OCEANOGRAPHY - - - Ocean Observations - - - Gulf of Maine - - - Long Island Sound - - - Narragansett Bay - - - Cape Cod - - - Boston Harbor - - - Buzzards Bay - - - Weather - - - Ocean Currents - - - Water Temperature - - - Salinity - - - Winds - - - Waves - - - Ocean Color - - - GoMOOS - - - LISICOS - - - Univ. of New Hampshire - - - MVCO - - - Air Temperature - - - - - - - - OGC:SOS - - - 1.0.0 - - - - - NERACOOS - - - SOS - - - OCEANOGRAPHY - - - Ocean Observations - - - Gulf of Maine - - - Long Island Sound - - - Narragansett Bay - - - Cape Cod - - - Boston Harbor - - - Buzzards Bay - - - Weather - - - Ocean Currents - - - Water Temperature - - - Salinity - - - Winds - - - Waves - - - Ocean Color - - - GoMOOS - - - LISICOS - - - Univ. of New Hampshire - - - MVCO - - - Air Temperature - - - - - - - - - -73.73 - - - -54.05 - - - 40.58 - - - 47.79 - - - - - - - tight - - - - - GetObservation - - - CML - - - - - - - GetObservation - - - F01 - - - - - - - GetObservation - - - F02 - - - - - - - GetObservation - - - SMB-MO-04 - - - - - - - GetObservation - - - LDLC3 - - - - - - - GetObservation - - - CDIP154 - - - - - - - GetObservation - - - CDIP176 - - - - - - - GetObservation - - - ARTG - - - - - - - GetObservation - - - M01 - - - - - - - GetObservation - - - N01 - - - - - - - GetObservation - - - 44039 - - - - - - - GetObservation - - - SMB-MO-01 - - - - - - - GetObservation - - - SMB-MO-05 - - - - - - - GetObservation - - - D02 - - - - - - - GetObservation - - - E02 - - - - - - - GetObservation - - - E01 - - - - - - - GetObservation - - - B01 - - - - - - - GetObservation - - - EXRX - - - - - - - GetObservation - - - 44098 - - - - - - - GetObservation - - - WLIS - - - - - - - GetObservation - - - CO2 - - - - - - - GetObservation - - - CDIP221 - - - - - - - GetObservation - - - ALL_PLATFORMS - - - - - - - GetObservation - - - A01 - - - - - - - GetObservation - - - MDS02 - - - - - - - GetObservation - - - GREAT_BAY - - - - - - - GetObservation - - - I01 - - - - - - - GetObservation - - - CDIP207 - - - - - - - GetObservation - - - 44060 - - - - - - - GetCapabilities - - - HTTPGet - - - HTTPPost - - - - - http://www.neracoos.org/cgi-bin/sos/V1.0/oostethys_sos.cgi - - - - - - - - - GetObservation - - - HTTPGet - - - HTTPPost - - - - - http://www.neracoos.org/cgi-bin/sos/V1.0/oostethys_sos.cgi - - - - - - - - - DescribeSensor - - - HTTPGet - - - HTTPPost - - - - - http://www.neracoos.org/cgi-bin/sos/V1.0/oostethys_sos.cgi - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - http://www.neracoos.org/cgi-bin/sos/V1.0/oostethys_sos.cgi - - - OGC:SOS - - - PYCSW_IDENTIFIER - - - OGC-SOS Sensor Observation Service - - - - - - - - - - - PYCSW_IDENTIFIER - - - - - - service - - - - - Boyan Brodaric - - - Geological Survey of Canada, Earth Sciences Sector, Natural Resources Canada, Government of Canada - - - Research Scientist - - - - - - - +1-613-992-3562 - - - +1-613-995-9273 - - - - - - - 615 Booth Street - - - Ottawa - - - - - - K1A 0E9 - - - Canada - - - brodaric at nrcan dot gc dot ca - - - - - - http://gw-info.net - - - - - - pointOfContact - - - - - - - - ISO19119 - - - 2005/PDAM 1 - - - - - - - GIN SOS - - - - - Historical groundwater level monitoring stations from Alberta, Ontario and Nova Scotia. This SOS web service delivers the data using OGC's WaterML 2.0. The SOS service federates data from various provincial sources and publishes them as a single service. Many monitoring stations also have water well characteristics available through the GIN WFS web service. - - - - - groundwater level - - - monitoring - - - timeseries - - - Alberta - - - Ontario - - - Nova Scotia - - - - - - - - OGC:SOS - - - 2.0.0 - - - - - groundwater level - - - monitoring - - - timeseries - - - Alberta - - - Ontario - - - Nova Scotia - - - - - - - - - -120.0 - - - -60.0 - - - 41.0 - - - 60.0 - - - - - - - tight - - - - - GetObservation - - - GW_LEVEL - - - - - - - GetCapabilities - - - HTTPGet - - - HTTPPost - - - - - http://ngwd-bdnes.cits.nrcan.gc.ca/GinService/sos/gw - - - - - - - - - DescribeSensor - - - HTTPGet - - - HTTPPost - - - - - http://ngwd-bdnes.cits.nrcan.gc.ca/GinService/sos/gw - - - - - - - - - GetObservation - - - HTTPGet - - - HTTPPost - - - - - http://ngwd-bdnes.cits.nrcan.gc.ca/GinService/sos/gw - - - - - - - - - GetFeatureOfInterest - - - HTTPGet - - - HTTPPost - - - - - http://ngwd-bdnes.cits.nrcan.gc.ca/GinService/sos/gw - - - - - - - - - - - - - - - - http://ngwd-bdnes.cits.nrcan.gc.ca/GinService/sos/gw - - - OGC:SOS - - - PYCSW_IDENTIFIER - - - OGC-SOS Sensor Observation Service - - - - - - - - - - diff --git a/tests/expected/suites_harvesting_post_Harvest-zzz-post-GetRecords-filter-wfs-iso.xml b/tests/expected/suites_harvesting_post_Harvest-zzz-post-GetRecords-filter-wfs-iso.xml deleted file mode 100644 index c264459b3..000000000 --- a/tests/expected/suites_harvesting_post_Harvest-zzz-post-GetRecords-filter-wfs-iso.xml +++ /dev/null @@ -1,1041 +0,0 @@ - - - - - - - - PYCSW_IDENTIFIER - - - - - - service - - - - - Matt Austin - - - National Oceanic and Atmospheric Administration - - - - - - - - - - - - - - - - - - - - - - - Silver Spring - - - Maryland - - - 20910 - - - USA - - - - - - - - - - pointOfContact - - - - - - - - ISO19119 - - - 2005/PDAM 1 - - - - - - - GeoServer Web Feature Service - - - - - This is the reference implementation of WFS 1.0.0 and WFS 1.1.0, supports all WFS operations including Transaction. - - - - - WFS - - - WMS - - - GEOSERVER - - - - - - - - OGC:WFS - - - 1.1.0 - - - - - WFS - - - WMS - - - GEOSERVER - - - - - - - - - -179.87 - - - 179.99 - - - -54.61 - - - 83.46 - - - - - - - tight - - - - - GetFeature - - - geoss_water_sba:Reservoir - - - - - - - GetFeature - - - geoss_water_sba:glwd_1 - - - - - - - GetFeature - - - geoss_water_sba:Dams - - - - - - - GetFeature - - - geoss_water_sba:glwd_2 - - - - - - - GetFeature - - - geoss_water_sba:Lakes - - - - - - - GetCapabilities - - - HTTPGet - - - HTTPPost - - - - - http://services.ogc.noaa.gov/geoserver/geoss_water_sba/wfs - - - - - - - - - DescribeFeatureType - - - HTTPGet - - - HTTPPost - - - - - http://services.ogc.noaa.gov/geoserver/geoss_water_sba/wfs - - - - - - - - - GetFeature - - - HTTPGet - - - HTTPPost - - - - - http://services.ogc.noaa.gov/geoserver/geoss_water_sba/wfs - - - - - - - - - GetGmlObject - - - HTTPGet - - - HTTPPost - - - - - http://services.ogc.noaa.gov/geoserver/geoss_water_sba/wfs - - - - - - - - - LockFeature - - - HTTPGet - - - HTTPPost - - - - - http://services.ogc.noaa.gov/geoserver/geoss_water_sba/wfs - - - - - - - - - GetFeatureWithLock - - - HTTPGet - - - HTTPPost - - - - - http://services.ogc.noaa.gov/geoserver/geoss_water_sba/wfs - - - - - - - - - Transaction - - - HTTPGet - - - HTTPPost - - - - - http://services.ogc.noaa.gov/geoserver/geoss_water_sba/wfs - - - - - - - - - - - - - - - - - - - - http://services.ogc.noaa.gov/geoserver/geoss_water_sba/wfs - - - OGC:WFS - - - PYCSW_IDENTIFIER - - - OGC-WFS Web Feature Service - - - - - - - - - - - PYCSW_IDENTIFIER - - - - - - service - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - http://maps.cera.govt.nz/arcgis/services/CERA/CERA_TechClasses_WGS84/MapServer/WFSServer - - - - - - pointOfContact - - - - - - - - ISO19119 - - - 2005/PDAM 1 - - - - - - - CERA_CERA_TechClasses_WGS84 - - - - - - - - - - - - - - - - - - OGC:WFS - - - 2.0.0 - - - - - - - - - - - - - - 171.11 - - - 173.13 - - - -43.9 - - - -42.74 - - - - - - - tight - - - - - GetFeature - - - CERA_CERA_TechClasses_WGS84:MBIE_Technical_Classes_WGS84_2012-08-16 - - - - - - - GetFeature - - - CERA_CERA_TechClasses_WGS84:MBIE_Technical_Classes_WGS84_2012-05-18 - - - - - - - GetFeature - - - CERA_CERA_TechClasses_WGS84:MBIE_Technical_Classes_WGS84_2013-12-04 - - - - - - - GetFeature - - - CERA_CERA_TechClasses_WGS84:MBIE_Technical_Classes_WGS84_2011-10-28 - - - - - - - GetFeature - - - CERA_CERA_TechClasses_WGS84:MBIE_Technical_Classes_WGS84_2012-02-10 - - - - - - - GetFeature - - - CERA_CERA_TechClasses_WGS84:MBIE_Technical_Classes_WGS84_2012-09-14 - - - - - - - GetFeature - - - CERA_CERA_TechClasses_WGS84:MBIE_Technical_Classes_WGS84_2012-03-23 - - - - - - - GetFeature - - - CERA_CERA_TechClasses_WGS84:MBIE_Technical_Classes_WGS84_2011-11-17 - - - - - - - GetFeature - - - CERA_CERA_TechClasses_WGS84:MBIE_Technical_Classes_WGS84_2012-08-24 - - - - - - - GetFeature - - - CERA_CERA_TechClasses_WGS84:MBIE_Technical_Classes_WGS84_2012-10-31 - - - - - - - GetCapabilities - - - HTTPGet - - - HTTPPost - - - - - http://maps.cera.govt.nz/arcgis/services/CERA/CERA_TechClasses_WGS84/MapServer/WFSServer - - - - - - - - - DescribeFeatureType - - - HTTPGet - - - HTTPPost - - - - - http://maps.cera.govt.nz/arcgis/services/CERA/CERA_TechClasses_WGS84/MapServer/WFSServer - - - - - - - - - GetFeature - - - HTTPGet - - - HTTPPost - - - - - http://maps.cera.govt.nz/arcgis/services/CERA/CERA_TechClasses_WGS84/MapServer/WFSServer - - - - - - - - - ListStoredQueries - - - HTTPGet - - - HTTPPost - - - - - http://maps.cera.govt.nz/arcgis/services/CERA/CERA_TechClasses_WGS84/MapServer/WFSServer - - - - - - - - - DescribeStoredQueries - - - HTTPGet - - - HTTPPost - - - - - http://maps.cera.govt.nz/arcgis/services/CERA/CERA_TechClasses_WGS84/MapServer/WFSServer - - - - - - - - - ImplementsSimpleWFS - - - HTTPGet - - - HTTPPost - - - - - http://maps.cera.govt.nz/arcgis/services/CERA/CERA_TechClasses_WGS84/MapServer/WFSServer - - - - - - - - - ImplementsBasicWFS - - - HTTPGet - - - HTTPPost - - - - - http://maps.cera.govt.nz/arcgis/services/CERA/CERA_TechClasses_WGS84/MapServer/WFSServer - - - - - - - - - ImplementsTransactionalWFS - - - HTTPGet - - - HTTPPost - - - - - http://maps.cera.govt.nz/arcgis/services/CERA/CERA_TechClasses_WGS84/MapServer/WFSServer - - - - - - - - - ImplementsLockingWFS - - - HTTPGet - - - HTTPPost - - - - - http://maps.cera.govt.nz/arcgis/services/CERA/CERA_TechClasses_WGS84/MapServer/WFSServer - - - - - - - - - ImplementsInheritance - - - HTTPGet - - - HTTPPost - - - - - http://maps.cera.govt.nz/arcgis/services/CERA/CERA_TechClasses_WGS84/MapServer/WFSServer - - - - - - - - - ImplementsRemoteResolve - - - HTTPGet - - - HTTPPost - - - - - http://maps.cera.govt.nz/arcgis/services/CERA/CERA_TechClasses_WGS84/MapServer/WFSServer - - - - - - - - - ImplementsResultPaging - - - HTTPGet - - - HTTPPost - - - - - http://maps.cera.govt.nz/arcgis/services/CERA/CERA_TechClasses_WGS84/MapServer/WFSServer - - - - - - - - - ImplementsStandardJoins - - - HTTPGet - - - HTTPPost - - - - - http://maps.cera.govt.nz/arcgis/services/CERA/CERA_TechClasses_WGS84/MapServer/WFSServer - - - - - - - - - ImplementsSpatialJoins - - - HTTPGet - - - HTTPPost - - - - - http://maps.cera.govt.nz/arcgis/services/CERA/CERA_TechClasses_WGS84/MapServer/WFSServer - - - - - - - - - ImplementsTemporalJoins - - - HTTPGet - - - HTTPPost - - - - - http://maps.cera.govt.nz/arcgis/services/CERA/CERA_TechClasses_WGS84/MapServer/WFSServer - - - - - - - - - ImplementsFeatureVersioning - - - HTTPGet - - - HTTPPost - - - - - http://maps.cera.govt.nz/arcgis/services/CERA/CERA_TechClasses_WGS84/MapServer/WFSServer - - - - - - - - - ManageStoredQueries - - - HTTPGet - - - HTTPPost - - - - - http://maps.cera.govt.nz/arcgis/services/CERA/CERA_TechClasses_WGS84/MapServer/WFSServer - - - - - - - - - KVPEncoding - - - HTTPGet - - - HTTPPost - - - - - http://maps.cera.govt.nz/arcgis/services/CERA/CERA_TechClasses_WGS84/MapServer/WFSServer - - - - - - - - - XMLEncoding - - - HTTPGet - - - HTTPPost - - - - - http://maps.cera.govt.nz/arcgis/services/CERA/CERA_TechClasses_WGS84/MapServer/WFSServer - - - - - - - - - SOAPEncoding - - - HTTPGet - - - HTTPPost - - - - - http://maps.cera.govt.nz/arcgis/services/CERA/CERA_TechClasses_WGS84/MapServer/WFSServer - - - - - - - - - - - - - - - - - - - - - - - - - http://maps.cera.govt.nz/arcgis/services/CERA/CERA_TechClasses_WGS84/MapServer/WFSServer - - - OGC:WFS - - - PYCSW_IDENTIFIER - - - OGC-WFS Web Feature Service - - - - - - - - - - diff --git a/tests/expected/suites_harvesting_post_Harvest-zzz-post-GetRecords-filter-wms-dc.xml b/tests/expected/suites_harvesting_post_Harvest-zzz-post-GetRecords-filter-wms-dc.xml deleted file mode 100644 index c825868d8..000000000 --- a/tests/expected/suites_harvesting_post_Harvest-zzz-post-GetRecords-filter-wms-dc.xml +++ /dev/null @@ -1,90 +0,0 @@ - - - - - - - PYCSW_IDENTIFIER - 1 Million Scale WMS Layers from the National Atlas of the United States - service - - http://webservices.nationalatlas.gov/wms/1million - http://webservices.nationalatlas.gov/wms/1million?version=1.1.1&request=GetCapabilities&service=WMS - http://webservices.nationalatlas.gov/wms/1million - http://webservices.nationalatlas.gov/wms/1million - http://webservices.nationalatlas.gov/wms/1million - http://webservices.nationalatlas.gov/wms/1million - http://webservices.nationalatlas.gov/wms/1million - http://webservices.nationalatlas.gov/wms/1million - http://demo.pycsw.org/services/csw - - 18.92 -179.13 - 71.4 179.79 - - - - PYCSW_IDENTIFIER - Wisconsin Lake Clarity - service - SSEC - PAW - remote sensing - meteorology - atmospheric science - University of Wisconsin - Madison - weather - land - http://wms.ssec.wisc.edu/cgi-bin/mapserv?map=/home/wms/data/mapfiles/lakestsi.map - http://wms.ssec.wisc.edu/cgi-bin/mapserv?map=%2Fhome%2Fwms%2Fdata%2Fmapfiles%2Flakestsi.map&version=1.1.1&request=GetCapabilities&service=WMS - http://wms.ssec.wisc.edu/cgi-bin/mapserv?map=/home/wms/data/mapfiles/lakestsi.map - http://wms.ssec.wisc.edu/cgi-bin/mapserv?map=/home/wms/data/mapfiles/lakestsi.map - http://wms.ssec.wisc.edu/cgi-bin/mapserv?map=/home/wms/data/mapfiles/lakestsi.map - General: This server hosts a set of experimental OGC Web Services of remote sensing data products for use in a broad range of both desktop and mobile device clients. - http://demo.pycsw.org/services/csw - - 42.41 -93.03 - 47.13 -86.64 - - - - PYCSW_IDENTIFIER - View & download service for EU-DEM data provided by EOX - service - EU-DEM - http://data.eox.at/eudem_ows - http://data.eox.at/eudem_ows?version=1.1.1&request=GetCapabilities&service=WMS - http://data.eox.at/eudem_ows - http://data.eox.at/eudem_ows - http://data.eox.at/eudem_ows - http://data.eox.at/eudem_ows - http://data.eox.at/eudem_ows - http://data.eox.at/eudem_ows - Produced using Copernicus data and information funded by the European Union - EU-DEM layers. - http://demo.pycsw.org/services/csw - - 12.99 -29.09 - 12.99 -29.09 - - - - PYCSW_IDENTIFIER - IEM WMS Service - service - - WMS - http://mesonet.agron.iastate.edu/cgi-bin/wms/nexrad/n0r-t.cgi - IEM generated CONUS composite of NWS WSR-88D level III base reflectivity. - Daryl Herzmann - Iowa State University - Daryl Herzmann - http://mesonet.agron.iastate.edu/cgi-bin/wms/nexrad/n0r-t.cgi - None - urn:ogc:def:crs:EPSG:6.11:4326 - - 24.0 -126.0 - 50.0 -66.0 - - - - diff --git a/tests/expected/suites_harvesting_post_Harvest-zzz-post-GetRecords-filter-wms-iso.xml b/tests/expected/suites_harvesting_post_Harvest-zzz-post-GetRecords-filter-wms-iso.xml deleted file mode 100644 index b17cbca72..000000000 --- a/tests/expected/suites_harvesting_post_Harvest-zzz-post-GetRecords-filter-wms-iso.xml +++ /dev/null @@ -1,1361 +0,0 @@ - - - - - - - - PYCSW_IDENTIFIER - - - - - - service - - - - - - - ISO19119 - - - 2005/PDAM 1 - - - - - - - 1 Million Scale WMS Layers from the National Atlas of the United States - - - - - - - - - - - - - - - - - - OGC:WMS - - - 1.1.1 - - - - - - - - - - - - - - -179.13 - - - 179.79 - - - 18.92 - - - 71.4 - - - - - - - tight - - - - - GetMap - - - ports1m - - - - - - - GetMap - - - national1m - - - - - - - GetMap - - - elevation - - - - - - - GetMap - - - impervious - - - - - - - GetMap - - - coast1m - - - - - - - GetMap - - - cdl - - - - - - - GetMap - - - states1m - - - - - - - GetMap - - - elsli0100g - - - - - - - GetMap - - - landcov100m - - - - - - - GetMap - - - cdp - - - - - - - GetMap - - - amtrak1m - - - - - - - GetMap - - - airports1m - - - - - - - GetMap - - - one_million - - - - - - - GetMap - - - satvi0100g - - - - - - - GetMap - - - srcoi0100g - - - - - - - GetMap - - - srgri0100g - - - - - - - GetMap - - - treecanopy - - - - - - - GetMap - - - svsri0100g - - - - - - - GetCapabilities - - - HTTPGet - - - HTTPPost - - - - - http://webservices.nationalatlas.gov/wms/1million - - - - - - - - - GetMap - - - HTTPGet - - - HTTPPost - - - - - http://webservices.nationalatlas.gov/wms/1million - - - - - - - - - GetFeatureInfo - - - HTTPGet - - - HTTPPost - - - - - http://webservices.nationalatlas.gov/wms/1million - - - - - - - - - DescribeLayer - - - HTTPGet - - - HTTPPost - - - - - http://webservices.nationalatlas.gov/wms/1million - - - - - - - - - GetLegendGraphic - - - HTTPGet - - - HTTPPost - - - - - http://webservices.nationalatlas.gov/wms/1million - - - - - - - - - GetStyles - - - HTTPGet - - - HTTPPost - - - - - http://webservices.nationalatlas.gov/wms/1million - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - http://webservices.nationalatlas.gov/wms/1million - - - OGC:WMS - - - PYCSW_IDENTIFIER - - - OGC-WMS Web Map Service - - - - - - - http://webservices.nationalatlas.gov/wms/1million?version=1.1.1&request=GetCapabilities&service=WMS - - - OGC:WMS-1.1.1-http-get-capabilities - - - PYCSW_IDENTIFIER - - - OGC-WMS Capabilities service (ver 1.1.1) - - - - - - - - - - - PYCSW_IDENTIFIER - - - - - - service - - - - - Dr. Sam Batzli - - - - - - - - ISO19119 - - - 2005/PDAM 1 - - - - - - - Wisconsin Lake Clarity - - - - - General: This server hosts a set of experimental OGC Web Services of remote sensing data products for use in a broad range of both desktop and mobile device clients. - - - - - SSEC - - - PAW - - - remote sensing - - - meteorology - - - atmospheric science - - - University of Wisconsin - - - Madison - - - weather - - - land - - - - - - - - OGC:WMS - - - 1.1.1 - - - - - SSEC - - - PAW - - - remote sensing - - - meteorology - - - atmospheric science - - - University of Wisconsin - - - Madison - - - weather - - - land - - - - - - - - - -93.03 - - - -86.64 - - - 42.41 - - - 47.13 - - - - - - - tight - - - - - GetMap - - - Highways - - - - - - - GetMap - - - LakesTSI - - - - - - - GetMap - - - LakeClarity - - - - - - - GetMap - - - LakesTSI_0305 - - - - - - - GetMap - - - Relief - - - - - - - GetMap - - - LakeNames_0305 - - - - - - - GetMap - - - Roads - - - - - - - GetMap - - - LakeNames - - - - - - - GetMap - - - Counties - - - - - - - GetCapabilities - - - HTTPGet - - - HTTPPost - - - - - http://wms.ssec.wisc.edu/cgi-bin/mapserv?map=/home/wms/data/mapfiles/lakestsi.map - - - - - - - - - GetMap - - - HTTPGet - - - HTTPPost - - - - - http://wms.ssec.wisc.edu/cgi-bin/mapserv?map=/home/wms/data/mapfiles/lakestsi.map - - - - - - - - - GetFeatureInfo - - - HTTPGet - - - HTTPPost - - - - - http://wms.ssec.wisc.edu/cgi-bin/mapserv?map=/home/wms/data/mapfiles/lakestsi.map - - - - - - - - - - - - - - - - - - - - - - - - http://wms.ssec.wisc.edu/cgi-bin/mapserv?map=/home/wms/data/mapfiles/lakestsi.map - - - OGC:WMS - - - PYCSW_IDENTIFIER - - - OGC-WMS Web Map Service - - - - - - - http://wms.ssec.wisc.edu/cgi-bin/mapserv?map=%2Fhome%2Fwms%2Fdata%2Fmapfiles%2Flakestsi.map&version=1.1.1&request=GetCapabilities&service=WMS - - - OGC:WMS-1.1.1-http-get-capabilities - - - PYCSW_IDENTIFIER - - - OGC-WMS Capabilities service (ver 1.1.1) - - - - - - - - - - - PYCSW_IDENTIFIER - - - - - - service - - - - - Stephan Meissl - - - - - - - - ISO19119 - - - 2005/PDAM 1 - - - - - - - View & download service for EU-DEM data provided by EOX - - - - - Produced using Copernicus data and information funded by the European Union - EU-DEM layers. - - - - - EU-DEM - - - - - - - - OGC:WMS - - - 1.1.1 - - - - - EU-DEM - - - - - - - - - -29.09 - - - -29.09 - - - 12.99 - - - 12.99 - - - - - - - tight - - - - - GetMap - - - EU-DEM - - - - - - - GetMap - - - MS - - - - - - - GetMap - - - eudem_color - - - - - - - GetCapabilities - - - HTTPGet - - - HTTPPost - - - - - http://data.eox.at/eudem_ows - - - - - - - - - GetMap - - - HTTPGet - - - HTTPPost - - - - - http://data.eox.at/eudem_ows - - - - - - - - - GetFeatureInfo - - - HTTPGet - - - HTTPPost - - - - - http://data.eox.at/eudem_ows - - - - - - - - - DescribeLayer - - - HTTPGet - - - HTTPPost - - - - - http://data.eox.at/eudem_ows - - - - - - - - - GetLegendGraphic - - - HTTPGet - - - HTTPPost - - - - - http://data.eox.at/eudem_ows - - - - - - - - - GetStyles - - - HTTPGet - - - HTTPPost - - - - - http://data.eox.at/eudem_ows - - - - - - - - - - - - - - - - - - http://data.eox.at/eudem_ows - - - OGC:WMS - - - PYCSW_IDENTIFIER - - - OGC-WMS Web Map Service - - - - - - - http://data.eox.at/eudem_ows?version=1.1.1&request=GetCapabilities&service=WMS - - - OGC:WMS-1.1.1-http-get-capabilities - - - PYCSW_IDENTIFIER - - - OGC-WMS Capabilities service (ver 1.1.1) - - - - - - - - - - - PYCSW_IDENTIFIER - - - - - - service - - - - - Daryl Herzmann - - - Iowa State University - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - https://mesonet.agron.iastate.edu/cgi-bin/wms/nexrad/n0r-t.cgi? - - - - - - - - - - - ISO19119 - - - 2005/PDAM 1 - - - - - - - IEM WMS Service - - - - - IEM generated CONUS composite of NWS WSR-88D level III base reflectivity. - - - - - - - - - - - - - OGC:WMS - - - 1.3.0 - - - - - - - - - - - - - - -126.0 - - - -66.0 - - - 24.0 - - - 50.0 - - - - - - - tight - - - - - GetMap - - - nexrad_base_reflect - - - - - - - GetMap - - - time_idx - - - - - - - GetMap - - - nexrad-n0r-wmst - - - - - - - GetCapabilities - - - HTTPGet - - - HTTPPost - - - - - http://mesonet.agron.iastate.edu/cgi-bin/wms/nexrad/n0r-t.cgi - - - - - - - - - GetMap - - - HTTPGet - - - HTTPPost - - - - - http://mesonet.agron.iastate.edu/cgi-bin/wms/nexrad/n0r-t.cgi - - - - - - - - - GetFeatureInfo - - - HTTPGet - - - HTTPPost - - - - - http://mesonet.agron.iastate.edu/cgi-bin/wms/nexrad/n0r-t.cgi - - - - - - - - - DescribeLayer - - - HTTPGet - - - HTTPPost - - - - - http://mesonet.agron.iastate.edu/cgi-bin/wms/nexrad/n0r-t.cgi - - - - - - - - - GetLegendGraphic - - - HTTPGet - - - HTTPPost - - - - - http://mesonet.agron.iastate.edu/cgi-bin/wms/nexrad/n0r-t.cgi - - - - - - - - - GetStyles - - - HTTPGet - - - HTTPPost - - - - - http://mesonet.agron.iastate.edu/cgi-bin/wms/nexrad/n0r-t.cgi - - - - - - - - - - - - - - - - - - http://mesonet.agron.iastate.edu/cgi-bin/wms/nexrad/n0r-t.cgi - - - OGC:WMS - - - PYCSW_IDENTIFIER - - - OGC-WMS Web Map Service - - - - - - - - - - diff --git a/tests/expected/suites_harvesting_post_Harvest-zzz-post-GetRecords-filter-wms-layer.xml b/tests/expected/suites_harvesting_post_Harvest-zzz-post-GetRecords-filter-wms-layer.xml deleted file mode 100644 index 9b6b4645a..000000000 --- a/tests/expected/suites_harvesting_post_Harvest-zzz-post-GetRecords-filter-wms-layer.xml +++ /dev/null @@ -1,35 +0,0 @@ - - - - - - - PYCSW_IDENTIFIER - NEXRAD BASE REFLECT - dataset - - http://mesonet.agron.iastate.edu/cgi-bin/wms/nexrad/n0r-t.cgi - http://mesonet.agron.iastate.edu/cgi-bin/wms/nexrad/n0r-t.cgi?layers=time_idx&width=200&version=1.1.1&bbox=-126.0%2C24.0%2C-66.0%2C50.0&service=WMS&format=image%2Fpng&styles=&srs=EPSG%3A4326&request=GetMap&height=200 - http://mesonet.agron.iastate.edu/cgi-bin/wms/nexrad/n0r-t.cgi - urn:ogc:def:crs:EPSG:6.11:4326 - - 24.0 -126.0 - 50.0 -66.0 - - - - PYCSW_IDENTIFIER - NEXRAD BASE REFLECT - dataset - - http://mesonet.agron.iastate.edu/cgi-bin/wms/nexrad/n0r-t.cgi - http://mesonet.agron.iastate.edu/cgi-bin/wms/nexrad/n0r-t.cgi?layers=nexrad-n0r-wmst&width=200&version=1.1.1&bbox=-126.0%2C24.0%2C-66.0%2C50.0&service=WMS&format=image%2Fpng&styles=&srs=EPSG%3A4326&request=GetMap&height=200 - http://mesonet.agron.iastate.edu/cgi-bin/wms/nexrad/n0r-t.cgi - urn:ogc:def:crs:EPSG:6.11:4326 - - 24.0 -126.0 - 50.0 -66.0 - - - - diff --git a/tests/expected/suites_harvesting_post_Harvest-zzz-post-GetRecords-filter-wps-process.xml b/tests/expected/suites_harvesting_post_Harvest-zzz-post-GetRecords-filter-wps-process.xml deleted file mode 100644 index 0d0761488..000000000 --- a/tests/expected/suites_harvesting_post_Harvest-zzz-post-GetRecords-filter-wps-process.xml +++ /dev/null @@ -1,62 +0,0 @@ - - - - - - - PYCSW_IDENTIFIER - gov.usgs.cida.gdp.wps.algorithm.filemanagement.CreateNewShapefileDataStore - software - http://cida.usgs.gov/gdp/utility/WebProcessingService - http://cida.usgs.gov/gdp/utility/WebProcessingService?version=1.0.0&request=GetCapabilities&service=WPS - http://cida.usgs.gov/gdp/utility/WebProcessingService?identifier=gov.usgs.cida.gdp.wps.algorithm.filemanagement.CreateNewShapefileDataStore&version=1.0.0&request=DescribeProcess&service=WPS - http://cida.usgs.gov/gdp/utility/WebProcessingService - - - PYCSW_IDENTIFIER - Get Grid Time Range - software - http://cida.usgs.gov/gdp/utility/WebProcessingService - http://cida.usgs.gov/gdp/utility/WebProcessingService?version=1.0.0&request=GetCapabilities&service=WPS - http://cida.usgs.gov/gdp/utility/WebProcessingService?identifier=gov.usgs.cida.gdp.wps.algorithm.filemanagement.CreateNewShapefileDataStore&version=1.0.0&request=DescribeProcess&service=WPS - http://cida.usgs.gov/gdp/utility/WebProcessingService?identifier=gov.usgs.cida.gdp.wps.algorithm.discovery.GetGridTimeRange&version=1.0.0&request=DescribeProcess&service=WPS - http://cida.usgs.gov/gdp/utility/WebProcessingService - - - PYCSW_IDENTIFIER - gov.usgs.cida.gdp.wps.algorithm.filemanagement.ReceiveFiles - software - http://cida.usgs.gov/gdp/utility/WebProcessingService - http://cida.usgs.gov/gdp/utility/WebProcessingService?version=1.0.0&request=GetCapabilities&service=WPS - http://cida.usgs.gov/gdp/utility/WebProcessingService?identifier=gov.usgs.cida.gdp.wps.algorithm.filemanagement.CreateNewShapefileDataStore&version=1.0.0&request=DescribeProcess&service=WPS - http://cida.usgs.gov/gdp/utility/WebProcessingService?identifier=gov.usgs.cida.gdp.wps.algorithm.discovery.GetGridTimeRange&version=1.0.0&request=DescribeProcess&service=WPS - http://cida.usgs.gov/gdp/utility/WebProcessingService?identifier=gov.usgs.cida.gdp.wps.algorithm.filemanagement.ReceiveFiles&version=1.0.0&request=DescribeProcess&service=WPS - http://cida.usgs.gov/gdp/utility/WebProcessingService - - - PYCSW_IDENTIFIER - gov.usgs.cida.gdp.wps.algorithm.discovery.GetWcsCoverages - software - http://cida.usgs.gov/gdp/utility/WebProcessingService - http://cida.usgs.gov/gdp/utility/WebProcessingService?version=1.0.0&request=GetCapabilities&service=WPS - http://cida.usgs.gov/gdp/utility/WebProcessingService?identifier=gov.usgs.cida.gdp.wps.algorithm.filemanagement.CreateNewShapefileDataStore&version=1.0.0&request=DescribeProcess&service=WPS - http://cida.usgs.gov/gdp/utility/WebProcessingService?identifier=gov.usgs.cida.gdp.wps.algorithm.discovery.GetGridTimeRange&version=1.0.0&request=DescribeProcess&service=WPS - http://cida.usgs.gov/gdp/utility/WebProcessingService?identifier=gov.usgs.cida.gdp.wps.algorithm.filemanagement.ReceiveFiles&version=1.0.0&request=DescribeProcess&service=WPS - http://cida.usgs.gov/gdp/utility/WebProcessingService?identifier=gov.usgs.cida.gdp.wps.algorithm.discovery.GetWcsCoverages&version=1.0.0&request=DescribeProcess&service=WPS - http://cida.usgs.gov/gdp/utility/WebProcessingService - - - PYCSW_IDENTIFIER - gov.usgs.cida.gdp.wps.algorithm.filemanagement.GetWatersGeom - software - http://cida.usgs.gov/gdp/utility/WebProcessingService - http://cida.usgs.gov/gdp/utility/WebProcessingService?version=1.0.0&request=GetCapabilities&service=WPS - http://cida.usgs.gov/gdp/utility/WebProcessingService?identifier=gov.usgs.cida.gdp.wps.algorithm.filemanagement.CreateNewShapefileDataStore&version=1.0.0&request=DescribeProcess&service=WPS - http://cida.usgs.gov/gdp/utility/WebProcessingService?identifier=gov.usgs.cida.gdp.wps.algorithm.discovery.GetGridTimeRange&version=1.0.0&request=DescribeProcess&service=WPS - http://cida.usgs.gov/gdp/utility/WebProcessingService?identifier=gov.usgs.cida.gdp.wps.algorithm.filemanagement.ReceiveFiles&version=1.0.0&request=DescribeProcess&service=WPS - http://cida.usgs.gov/gdp/utility/WebProcessingService?identifier=gov.usgs.cida.gdp.wps.algorithm.discovery.GetWcsCoverages&version=1.0.0&request=DescribeProcess&service=WPS - http://cida.usgs.gov/gdp/utility/WebProcessingService?identifier=gov.usgs.cida.gdp.wps.algorithm.filemanagement.GetWatersGeom&version=1.0.0&request=DescribeProcess&service=WPS - http://cida.usgs.gov/gdp/utility/WebProcessingService - - - diff --git a/tests/expected/suites_harvesting_post_Transaction-000-delete-all.xml b/tests/expected/suites_harvesting_post_Transaction-000-delete-all.xml deleted file mode 100644 index c400e312a..000000000 --- a/tests/expected/suites_harvesting_post_Transaction-000-delete-all.xml +++ /dev/null @@ -1,9 +0,0 @@ - - - - - 0 - 0 - 131 - - diff --git a/tests/expected/suites_manager_post_Clear-000-delete-all.xml b/tests/expected/suites_manager_post_Clear-000-delete-all.xml deleted file mode 100644 index 01ccdf629..000000000 --- a/tests/expected/suites_manager_post_Clear-000-delete-all.xml +++ /dev/null @@ -1,9 +0,0 @@ - - - - - 0 - 0 - 0 - - diff --git a/tests/expected/suites_manager_post_GetCapabilities.xml b/tests/expected/suites_manager_post_GetCapabilities.xml deleted file mode 100644 index 4931b7d31..000000000 --- a/tests/expected/suites_manager_post_GetCapabilities.xml +++ /dev/null @@ -1,370 +0,0 @@ - - - - - pycsw Geospatial Catalogue - pycsw is an OGC CSW server implementation written in Python - - catalogue - discovery - theme - - CSW - 2.0.2 - 3.0.0 - None - None - - - pycsw - - - Kralidis, Tom - Senior Systems Scientist - - - +01-416-xxx-xxxx - +01-416-xxx-xxxx - - - TBA - Toronto - Ontario - M9C 3Z9 - Canada - tomkralidis@gmail.com - - - 0800h - 1600h EST - During hours of service. Off on weekends. - - pointOfContact - - - - - - - - - - - - Filter_Capabilities - OperationsMetadata - ServiceIdentification - ServiceProvider - - - - - - - - - - - application/json - application/xml - - - http://www.w3.org/2001/XMLSchema - http://www.w3.org/TR/xmlschema-1/ - http://www.w3.org/XML/Schema - - - csw:Record - gmd:MD_Metadata - - - - - - - - - - - DescribeRecord.outputFormat - DescribeRecord.schemaLanguage - DescribeRecord.typeName - GetCapabilities.sections - GetRecordById.ElementSetName - GetRecordById.outputFormat - GetRecordById.outputSchema - GetRecords.CONSTRAINTLANGUAGE - GetRecords.ElementSetName - GetRecords.outputFormat - GetRecords.outputSchema - GetRecords.resultType - GetRecords.typeNames - Harvest.ResourceType - Transaction.TransactionSchemas - - - - - - - - - - - CQL_TEXT - FILTER - - - brief - full - summary - - - application/json - application/xml - - - http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ - http://www.interlis.ch/INTERLIS2.3 - http://www.isotc211.org/2005/gmd - http://www.opengis.net/cat/csw/2.0.2 - http://www.opengis.net/cat/csw/csdgm - http://www.w3.org/2005/Atom - - - hits - results - validate - - - csw:Record - gmd:MD_Metadata - - - apiso:AccessConstraints - apiso:Classification - apiso:ConditionApplyingToAccessAndUse - apiso:Contributor - apiso:Creator - apiso:Degree - apiso:Lineage - apiso:OtherConstraints - apiso:Publisher - apiso:Relation - apiso:ResponsiblePartyRole - apiso:SpecificationDate - apiso:SpecificationDateType - apiso:SpecificationTitle - - - csw:AnyText - dc:contributor - dc:creator - dc:date - dc:format - dc:identifier - dc:language - dc:publisher - dc:relation - dc:rights - dc:source - dc:subject - dc:title - dc:type - dct:abstract - dct:alternative - dct:modified - dct:spatial - ows:BoundingBox - - - apiso:Abstract - apiso:AlternateTitle - apiso:AnyText - apiso:BoundingBox - apiso:CRS - apiso:CouplingType - apiso:CreationDate - apiso:Denominator - apiso:DistanceUOM - apiso:DistanceValue - apiso:Format - apiso:GeographicDescriptionCode - apiso:HasSecurityConstraints - apiso:Identifier - apiso:KeywordType - apiso:Language - apiso:Modified - apiso:OperatesOn - apiso:OperatesOnIdentifier - apiso:OperatesOnName - apiso:Operation - apiso:OrganisationName - apiso:ParentIdentifier - apiso:PublicationDate - apiso:ResourceLanguage - apiso:RevisionDate - apiso:ServiceType - apiso:ServiceTypeVersion - apiso:Subject - apiso:TempExtent_begin - apiso:TempExtent_end - apiso:Title - apiso:TopicCategory - apiso:Type - - - - - - - - - - - brief - full - summary - - - application/json - application/xml - - - http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ - http://www.interlis.ch/INTERLIS2.3 - http://www.isotc211.org/2005/gmd - http://www.opengis.net/cat/csw/2.0.2 - http://www.opengis.net/cat/csw/csdgm - http://www.w3.org/2005/Atom - - - - - - - - - - - - - - - - - http://www.isotc211.org/2005/gmi - http://www.opengis.net/cat/csw/2.0.2 - http://www.opengis.net/cat/csw/3.0 - http://www.opengis.net/sos/1.0 - http://www.opengis.net/sos/2.0 - http://www.opengis.net/wcs - http://www.opengis.net/wfs - http://www.opengis.net/wfs/2.0 - http://www.opengis.net/wms - http://www.opengis.net/wmts/1.0 - http://www.opengis.net/wps/1.0.0 - urn:geoss:waf - - - - - - - - - - http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ - http://www.interlis.ch/INTERLIS2.3 - http://www.isotc211.org/2005/gmd - http://www.isotc211.org/2005/gmi - http://www.isotc211.org/schemas/2005/gmd/ - http://www.opengis.net/cat/csw/2.0.2 - http://www.opengis.net/cat/csw/3.0 - http://www.opengis.net/cat/csw/csdgm - http://www.opengis.net/sos/1.0 - http://www.opengis.net/sos/2.0 - http://www.opengis.net/wcs - http://www.opengis.net/wfs - http://www.opengis.net/wfs/2.0 - http://www.opengis.net/wms - http://www.opengis.net/wmts/1.0 - http://www.opengis.net/wps/1.0.0 - http://www.w3.org/2005/Atom - urn:geoss:waf - - - - CSW - - - 2.0.2 - 3.0.0 - - - http://geo.data.gov/geoportal/csw/discovery - - - 10 - - - XML - SOAP - - - allowed - - - - - - gml:Point - gml:LineString - gml:Polygon - gml:Envelope - - - - - - - - - - - - - - - - - - - Between - EqualTo - GreaterThan - GreaterThanEqualTo - LessThan - LessThanEqualTo - Like - NotEqualTo - NullCheck - - - - - length - lower - ltrim - rtrim - trim - upper - - - - - - - - - - diff --git a/tests/expected/suites_manager_post_GetDomain-parameter.xml b/tests/expected/suites_manager_post_GetDomain-parameter.xml deleted file mode 100644 index b47402ca2..000000000 --- a/tests/expected/suites_manager_post_GetDomain-parameter.xml +++ /dev/null @@ -1,27 +0,0 @@ - - - - - Harvest.ResourceType - - http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ - http://www.interlis.ch/INTERLIS2.3 - http://www.isotc211.org/2005/gmd - http://www.isotc211.org/2005/gmi - http://www.isotc211.org/schemas/2005/gmd/ - http://www.opengis.net/cat/csw/2.0.2 - http://www.opengis.net/cat/csw/3.0 - http://www.opengis.net/cat/csw/csdgm - http://www.opengis.net/sos/1.0 - http://www.opengis.net/sos/2.0 - http://www.opengis.net/wcs - http://www.opengis.net/wfs - http://www.opengis.net/wfs/2.0 - http://www.opengis.net/wms - http://www.opengis.net/wmts/1.0 - http://www.opengis.net/wps/1.0.0 - http://www.w3.org/2005/Atom - urn:geoss:waf - - - diff --git a/tests/expected/suites_manager_post_Transaction-000-delete-all.xml b/tests/expected/suites_manager_post_Transaction-000-delete-all.xml deleted file mode 100644 index 01ccdf629..000000000 --- a/tests/expected/suites_manager_post_Transaction-000-delete-all.xml +++ /dev/null @@ -1,9 +0,0 @@ - - - - - 0 - 0 - 0 - - diff --git a/tests/expected/suites_manager_post_Transaction-dc-01-insert.xml b/tests/expected/suites_manager_post_Transaction-dc-01-insert.xml deleted file mode 100644 index 07d452a06..000000000 --- a/tests/expected/suites_manager_post_Transaction-dc-01-insert.xml +++ /dev/null @@ -1,15 +0,0 @@ - - - - - 1 - 0 - 0 - - - - xyz - pycsw Catalogue - - - diff --git a/tests/expected/suites_manager_post_Transaction-dc-02-update-full.xml b/tests/expected/suites_manager_post_Transaction-dc-02-update-full.xml deleted file mode 100644 index 0b9104ebe..000000000 --- a/tests/expected/suites_manager_post_Transaction-dc-02-update-full.xml +++ /dev/null @@ -1,9 +0,0 @@ - - - - - 0 - 1 - 0 - - diff --git a/tests/expected/suites_manager_post_Transaction-fgdc-01-insert.xml b/tests/expected/suites_manager_post_Transaction-fgdc-01-insert.xml deleted file mode 100644 index c44db37b3..000000000 --- a/tests/expected/suites_manager_post_Transaction-fgdc-01-insert.xml +++ /dev/null @@ -1,15 +0,0 @@ - - - - - 1 - 0 - 0 - - - - foorecord - NCEP - - - diff --git a/tests/expected/suites_manager_post_Transaction-fgdc-02-update-recprop.xml b/tests/expected/suites_manager_post_Transaction-fgdc-02-update-recprop.xml deleted file mode 100644 index 0b9104ebe..000000000 --- a/tests/expected/suites_manager_post_Transaction-fgdc-02-update-recprop.xml +++ /dev/null @@ -1,9 +0,0 @@ - - - - - 0 - 1 - 0 - - diff --git a/tests/expected/suites_manager_post_Transaction-fgdc-03-delete-all.xml b/tests/expected/suites_manager_post_Transaction-fgdc-03-delete-all.xml deleted file mode 100644 index a788564e4..000000000 --- a/tests/expected/suites_manager_post_Transaction-fgdc-03-delete-all.xml +++ /dev/null @@ -1,9 +0,0 @@ - - - - - 0 - 0 - 2 - - diff --git a/tests/expected/suites_manager_post_Transaction-iso-00-delete-all.xml b/tests/expected/suites_manager_post_Transaction-iso-00-delete-all.xml deleted file mode 100644 index 01ccdf629..000000000 --- a/tests/expected/suites_manager_post_Transaction-iso-00-delete-all.xml +++ /dev/null @@ -1,9 +0,0 @@ - - - - - 0 - 0 - 0 - - diff --git a/tests/expected/suites_manager_post_Transaction-iso-01-insert.xml b/tests/expected/suites_manager_post_Transaction-iso-01-insert.xml deleted file mode 100644 index 2e3a528d5..000000000 --- a/tests/expected/suites_manager_post_Transaction-iso-01-insert.xml +++ /dev/null @@ -1,15 +0,0 @@ - - - - - 1 - 0 - 0 - - - - 12345 - pycsw record - - - diff --git a/tests/expected/suites_manager_post_Transaction-iso-02-update-full.xml b/tests/expected/suites_manager_post_Transaction-iso-02-update-full.xml deleted file mode 100644 index 0b9104ebe..000000000 --- a/tests/expected/suites_manager_post_Transaction-iso-02-update-full.xml +++ /dev/null @@ -1,9 +0,0 @@ - - - - - 0 - 1 - 0 - - diff --git a/tests/expected/suites_manager_post_Transaction-iso-03-update-recprop.xml b/tests/expected/suites_manager_post_Transaction-iso-03-update-recprop.xml deleted file mode 100644 index 0b9104ebe..000000000 --- a/tests/expected/suites_manager_post_Transaction-iso-03-update-recprop.xml +++ /dev/null @@ -1,9 +0,0 @@ - - - - - 0 - 1 - 0 - - diff --git a/tests/expected/suites_manager_post_Transaction-iso-04-update-recprop-no-matches.xml b/tests/expected/suites_manager_post_Transaction-iso-04-update-recprop-no-matches.xml deleted file mode 100644 index 01ccdf629..000000000 --- a/tests/expected/suites_manager_post_Transaction-iso-04-update-recprop-no-matches.xml +++ /dev/null @@ -1,9 +0,0 @@ - - - - - 0 - 0 - 0 - - diff --git a/tests/expected/suites_manager_post_Transaction-iso-05-delete.xml b/tests/expected/suites_manager_post_Transaction-iso-05-delete.xml deleted file mode 100644 index 0e48fd530..000000000 --- a/tests/expected/suites_manager_post_Transaction-iso-05-delete.xml +++ /dev/null @@ -1,9 +0,0 @@ - - - - - 0 - 0 - 1 - - diff --git a/tests/expected/suites_manager_post_Transaction-xxx-delete-all.xml b/tests/expected/suites_manager_post_Transaction-xxx-delete-all.xml deleted file mode 100644 index 01ccdf629..000000000 --- a/tests/expected/suites_manager_post_Transaction-xxx-delete-all.xml +++ /dev/null @@ -1,9 +0,0 @@ - - - - - 0 - 0 - 0 - - diff --git a/tests/expected/suites_oaipmh_get_GetRecord_bad_metadata_prefix.xml b/tests/expected/suites_oaipmh_get_GetRecord_bad_metadata_prefix.xml deleted file mode 100644 index 8633a422d..000000000 --- a/tests/expected/suites_oaipmh_get_GetRecord_bad_metadata_prefix.xml +++ /dev/null @@ -1,7 +0,0 @@ - - - - PYCSW_TIMESTAMP - http://localhost/pycsw/csw.py?config=tests/suites/oaipmh/default.cfg&mode=oaipmh - Invalid outputschema parameter csw-recordd - diff --git a/tests/expected/suites_oaipmh_get_GetRecord_dc.xml b/tests/expected/suites_oaipmh_get_GetRecord_dc.xml deleted file mode 100644 index 367da8832..000000000 --- a/tests/expected/suites_oaipmh_get_GetRecord_dc.xml +++ /dev/null @@ -1,26 +0,0 @@ - - - - PYCSW_TIMESTAMP - http://localhost/pycsw/csw.py?config=tests/suites/oaipmh/default.cfg&mode=oaipmh - - - - urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f - - - - - - urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f - http://purl.org/dc/dcmitype/Image - image/svg+xml - Lorem ipsum - GR-22 - Tourism--Greece - Quisque lacus diam, placerat mollis, pharetra in, commodo sed, augue. Duis iaculis arcu vel arcu. - - - - - diff --git a/tests/expected/suites_oaipmh_get_GetRecord_iso.xml b/tests/expected/suites_oaipmh_get_GetRecord_iso.xml deleted file mode 100644 index 8a482b63e..000000000 --- a/tests/expected/suites_oaipmh_get_GetRecord_iso.xml +++ /dev/null @@ -1,62 +0,0 @@ - - - - PYCSW_TIMESTAMP - http://localhost/pycsw/csw.py?config=tests/suites/oaipmh/default.cfg&mode=oaipmh - - - - urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f - - - - - - - urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f - - - - - - http://purl.org/dc/dcmitype/Image - - - - - - - ISO19115 - - - 2003/Cor.1:2006 - - - - - - - Lorem ipsum - - - - - Quisque lacus diam, placerat mollis, pharetra in, commodo sed, augue. Duis iaculis arcu vel arcu. - - - - - Tourism--Greece - - - - - - - - - - - - - diff --git a/tests/expected/suites_oaipmh_get_GetRecord_oai_dc.xml b/tests/expected/suites_oaipmh_get_GetRecord_oai_dc.xml deleted file mode 100644 index c8840efba..000000000 --- a/tests/expected/suites_oaipmh_get_GetRecord_oai_dc.xml +++ /dev/null @@ -1,26 +0,0 @@ - - - - PYCSW_TIMESTAMP - http://localhost/pycsw/csw.py?config=tests/suites/oaipmh/default.cfg&mode=oaipmh - - - - urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f - - - - - - urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f - http://purl.org/dc/dcmitype/Image - image/svg+xml - Lorem ipsum - GR-22 - Tourism--Greece - Quisque lacus diam, placerat mollis, pharetra in, commodo sed, augue. Duis iaculis arcu vel arcu. - - - - - diff --git a/tests/expected/suites_oaipmh_get_Identify.xml b/tests/expected/suites_oaipmh_get_Identify.xml deleted file mode 100644 index 967a385c5..000000000 --- a/tests/expected/suites_oaipmh_get_Identify.xml +++ /dev/null @@ -1,15 +0,0 @@ - - - - PYCSW_TIMESTAMP - http://localhost/pycsw/csw.py?config=tests/suites/oaipmh/default.cfg&mode=oaipmh - - pycsw Geospatial Catalogue - http://localhost/pycsw/csw.py?config=tests/suites/oaipmh/default.cfg&mode=oaipmh - 2.0 - tomkralidis@gmail.com - PYCSW_TIMESTAMP - no - YYYY-MM-DDThh:mm:ssZ - - diff --git a/tests/expected/suites_oaipmh_get_ListIdentifiers_bad_metadata_prefix.xml b/tests/expected/suites_oaipmh_get_ListIdentifiers_bad_metadata_prefix.xml deleted file mode 100644 index 3eaa03c66..000000000 --- a/tests/expected/suites_oaipmh_get_ListIdentifiers_bad_metadata_prefix.xml +++ /dev/null @@ -1,7 +0,0 @@ - - - - PYCSW_TIMESTAMP - http://localhost/pycsw/csw.py?config=tests/suites/oaipmh/default.cfg&mode=oaipmh - Invalid outputSchema parameter value: foo - diff --git a/tests/expected/suites_oaipmh_get_ListIdentifiers_dc.xml b/tests/expected/suites_oaipmh_get_ListIdentifiers_dc.xml deleted file mode 100644 index 388be64cd..000000000 --- a/tests/expected/suites_oaipmh_get_ListIdentifiers_dc.xml +++ /dev/null @@ -1,79 +0,0 @@ - - - - PYCSW_TIMESTAMP - http://localhost/pycsw/csw.py?config=tests/suites/oaipmh/default.cfg&mode=oaipmh - - - - urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f - - - - - - - urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f - - - - - - - urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f - - - - - - - urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f - - - - - - - urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f - - - - - - - urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f - - - - - - - urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f - - - - - - - urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f - - - - - - - urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f - - - - - - - urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f - - - - - 11 - - diff --git a/tests/expected/suites_oaipmh_get_ListIdentifiers_iso.xml b/tests/expected/suites_oaipmh_get_ListIdentifiers_iso.xml deleted file mode 100644 index 1ab8be85c..000000000 --- a/tests/expected/suites_oaipmh_get_ListIdentifiers_iso.xml +++ /dev/null @@ -1,79 +0,0 @@ - - - - PYCSW_TIMESTAMP - http://localhost/pycsw/csw.py?config=tests/suites/oaipmh/default.cfg&mode=oaipmh - - - - urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f - - - - - - - urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f - - - - - - - urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f - - - - - - - urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f - - - - - - - urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f - - - - - - - urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f - - - - - - - urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f - - - - - - - urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f - - - - - - - urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f - - - - - - - urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f - - - - - 11 - - diff --git a/tests/expected/suites_oaipmh_get_ListIdentifiers_missing_metadata_prefix.xml b/tests/expected/suites_oaipmh_get_ListIdentifiers_missing_metadata_prefix.xml deleted file mode 100644 index 4104799d7..000000000 --- a/tests/expected/suites_oaipmh_get_ListIdentifiers_missing_metadata_prefix.xml +++ /dev/null @@ -1,7 +0,0 @@ - - - - PYCSW_TIMESTAMP - http://localhost/pycsw/csw.py?config=tests/suites/oaipmh/default.cfg&mode=oaipmh - Missing metadataPrefix parameter - diff --git a/tests/expected/suites_oaipmh_get_ListIdentifiers_oai_dc.xml b/tests/expected/suites_oaipmh_get_ListIdentifiers_oai_dc.xml deleted file mode 100644 index a41a083ab..000000000 --- a/tests/expected/suites_oaipmh_get_ListIdentifiers_oai_dc.xml +++ /dev/null @@ -1,79 +0,0 @@ - - - - PYCSW_TIMESTAMP - http://localhost/pycsw/csw.py?config=tests/suites/oaipmh/default.cfg&mode=oaipmh - - - - urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f - - - - - - - urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f - - - - - - - urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f - - - - - - - urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f - - - - - - - urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f - - - - - - - urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f - - - - - - - urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f - - - - - - - urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f - - - - - - - urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f - - - - - - - urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f - - - - - 11 - - diff --git a/tests/expected/suites_oaipmh_get_ListMetadataFormats.xml b/tests/expected/suites_oaipmh_get_ListMetadataFormats.xml deleted file mode 100644 index 2549bc963..000000000 --- a/tests/expected/suites_oaipmh_get_ListMetadataFormats.xml +++ /dev/null @@ -1,38 +0,0 @@ - - - - PYCSW_TIMESTAMP - http://localhost/pycsw/csw.py?config=tests/suites/oaipmh/default.cfg&mode=oaipmh - - - csw-record - http://schemas.opengis.net/csw/2.0.2/record.xsd - http://www.opengis.net/cat/csw/2.0.2 - - - dif - http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/dif.xsd - http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ - - - fgdc-std - http://www.fgdc.gov/metadata/fgdc-std-001-1998.xsd - http://www.opengis.net/cat/csw/csdgm - - - gm03 - http://www.geocat.ch/internet/geocat/en/home/documentation/gm03.parsys.50316.downloadList.86742.DownloadFile.tmp/gm0321.zip - http://www.interlis.ch/INTERLIS2.3 - - - iso19139 - http://www.isotc211.org/2005/gmd/gmd.xsd - http://www.isotc211.org/2005/gmd - - - oai_dc - http://www.openarchives.org/OAI/2.0/oai_dc.xsd - http://www.openarchives.org/OAI/2.0/oai_dc/ - - - diff --git a/tests/expected/suites_oaipmh_get_ListRecords_dc.xml b/tests/expected/suites_oaipmh_get_ListRecords_dc.xml deleted file mode 100644 index 43a853d38..000000000 --- a/tests/expected/suites_oaipmh_get_ListRecords_dc.xml +++ /dev/null @@ -1,185 +0,0 @@ - - - - PYCSW_TIMESTAMP - http://localhost/pycsw/csw.py?config=tests/suites/oaipmh/default.cfg&mode=oaipmh - - - - urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f - - - - - - urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f - http://purl.org/dc/dcmitype/Image - image/svg+xml - Lorem ipsum - GR-22 - Tourism--Greece - Quisque lacus diam, placerat mollis, pharetra in, commodo sed, augue. Duis iaculis arcu vel arcu. - - - - - - urn:uuid:1ef30a8b-876d-4828-9246-c37ab4510bbd - - - - - - urn:uuid:1ef30a8b-876d-4828-9246-c37ab4510bbd - http://purl.org/dc/dcmitype/Service - Proin sit amet justo. In justo. Aenean adipiscing nulla id tellus. - - 60.042 13.754 - 68.410 17.920 - - - - - - - urn:uuid:66ae76b7-54ba-489b-a582-0f0633d96493 - - - - - - urn:uuid:66ae76b7-54ba-489b-a582-0f0633d96493 - Maecenas enim - http://purl.org/dc/dcmitype/Text - application/xhtml+xml - Marine sediments - Pellentesque tempus magna non sapien fringilla blandit. - - - - - - urn:uuid:6a3de50b-fa66-4b58-a0e6-ca146fdd18d4 - - - - - - urn:uuid:6a3de50b-fa66-4b58-a0e6-ca146fdd18d4 - http://purl.org/dc/dcmitype/Service - Ut facilisis justo ut lacus - Vegetation - urn:uuid:94bc9c83-97f6-4b40-9eb8-a8e8787a5c63 - - - - - - urn:uuid:784e2afd-a9fd-44a6-9a92-a3848371c8ec - - - - - - urn:uuid:784e2afd-a9fd-44a6-9a92-a3848371c8ec - Aliquam fermentum purus quis arcu - http://purl.org/dc/dcmitype/Text - Hydrography--Dictionaries - application/pdf - 2006-05-12 - Vestibulum quis ipsum sit amet metus imperdiet vehicula. Nulla scelerisque cursus mi. - - - - - - urn:uuid:829babb0-b2f1-49e1-8cd5-7b489fe71a1e - - - - - - urn:uuid:829babb0-b2f1-49e1-8cd5-7b489fe71a1e - http://purl.org/dc/dcmitype/Image - image/jp2 - Vestibulum massa purus - urn:uuid:9a669547-b69b-469f-a11f-2d875366bbdc - - - - - - urn:uuid:88247b56-4cbc-4df9-9860-db3f8042e357 - - - - - - urn:uuid:88247b56-4cbc-4df9-9860-db3f8042e357 - http://purl.org/dc/dcmitype/Dataset - Physiography-Landforms - FI-ES - Donec scelerisque pede ut nisl luctus accumsan. Quisque ultrices, lorem eget feugiat fringilla, lorem dui porttitor ante, cursus ultrices magna odio eu neque. - - - - - - urn:uuid:94bc9c83-97f6-4b40-9eb8-a8e8787a5c63 - - - - - - urn:uuid:94bc9c83-97f6-4b40-9eb8-a8e8787a5c63 - http://purl.org/dc/dcmitype/Dataset - Mauris sed neque - Vegetation-Cropland - Curabitur lacinia, ante non porta tempus, mi lorem feugiat odio, eget suscipit eros pede ac velit. - 2006-03-26 - - 47.595 -4.097 - 51.217 0.889 - - - - - - - urn:uuid:9a669547-b69b-469f-a11f-2d875366bbdc - - - - - - urn:uuid:9a669547-b69b-469f-a11f-2d875366bbdc - http://purl.org/dc/dcmitype/Dataset - Ñunç elementum - Hydrography-Oceanographic - 2005-10-24 - - 44.792 -6.171 - 51.126 -2.228 - - - - - - - urn:uuid:a06af396-3105-442d-8b40-22b57a90d2f2 - - - - - - urn:uuid:a06af396-3105-442d-8b40-22b57a90d2f2 - http://purl.org/dc/dcmitype/Image - Lorem ipsum dolor sit amet - image/jpeg - IT-FI - - - - 11 - - diff --git a/tests/expected/suites_oaipmh_get_ListRecords_dc_bad_metadata_prefix.xml b/tests/expected/suites_oaipmh_get_ListRecords_dc_bad_metadata_prefix.xml deleted file mode 100644 index 6ed9a9c58..000000000 --- a/tests/expected/suites_oaipmh_get_ListRecords_dc_bad_metadata_prefix.xml +++ /dev/null @@ -1,7 +0,0 @@ - - - - PYCSW_TIMESTAMP - http://localhost/pycsw/csw.py?config=tests/suites/oaipmh/default.cfg&mode=oaipmh - Invalid outputSchema parameter value: csw-recording - diff --git a/tests/expected/suites_oaipmh_get_ListRecords_iso19139.xml b/tests/expected/suites_oaipmh_get_ListRecords_iso19139.xml deleted file mode 100644 index 58bd0023a..000000000 --- a/tests/expected/suites_oaipmh_get_ListRecords_iso19139.xml +++ /dev/null @@ -1,588 +0,0 @@ - - - - PYCSW_TIMESTAMP - http://localhost/pycsw/csw.py?config=tests/suites/oaipmh/default.cfg&mode=oaipmh - - - - urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f - - - - - - - urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f - - - - - - http://purl.org/dc/dcmitype/Image - - - - - - - ISO19115 - - - 2003/Cor.1:2006 - - - - - - - Lorem ipsum - - - - - Quisque lacus diam, placerat mollis, pharetra in, commodo sed, augue. Duis iaculis arcu vel arcu. - - - - - Tourism--Greece - - - - - - - - - - - - - - urn:uuid:1ef30a8b-876d-4828-9246-c37ab4510bbd - - - - - - - urn:uuid:1ef30a8b-876d-4828-9246-c37ab4510bbd - - - - - - http://purl.org/dc/dcmitype/Service - - - - - - - ISO19115 - - - 2003/Cor.1:2006 - - - - - - - - - - - - Proin sit amet justo. In justo. Aenean adipiscing nulla id tellus. - - - - - - - - - - 13.75 - - - 17.92 - - - 60.04 - - - 68.41 - - - - - - - - - - - - - urn:uuid:66ae76b7-54ba-489b-a582-0f0633d96493 - - - - - - - urn:uuid:66ae76b7-54ba-489b-a582-0f0633d96493 - - - - - - http://purl.org/dc/dcmitype/Text - - - - - - - ISO19115 - - - 2003/Cor.1:2006 - - - - - - - Maecenas enim - - - - - Pellentesque tempus magna non sapien fringilla blandit. - - - - - Marine sediments - - - - - - - - - - - - - - urn:uuid:6a3de50b-fa66-4b58-a0e6-ca146fdd18d4 - - - - - - - urn:uuid:6a3de50b-fa66-4b58-a0e6-ca146fdd18d4 - - - - - - http://purl.org/dc/dcmitype/Service - - - - - - - ISO19115 - - - 2003/Cor.1:2006 - - - - - - - Ut facilisis justo ut lacus - - - - - - - - - - Vegetation - - - - - - - - - - - - - - urn:uuid:784e2afd-a9fd-44a6-9a92-a3848371c8ec - - - - - - - urn:uuid:784e2afd-a9fd-44a6-9a92-a3848371c8ec - - - - - - http://purl.org/dc/dcmitype/Text - - - - - - - ISO19115 - - - 2003/Cor.1:2006 - - - - - - - Aliquam fermentum purus quis arcu - - - - - Vestibulum quis ipsum sit amet metus imperdiet vehicula. Nulla scelerisque cursus mi. - - - - - Hydrography--Dictionaries - - - - - - - - - - - - - - urn:uuid:829babb0-b2f1-49e1-8cd5-7b489fe71a1e - - - - - - - urn:uuid:829babb0-b2f1-49e1-8cd5-7b489fe71a1e - - - - - - http://purl.org/dc/dcmitype/Image - - - - - - - ISO19115 - - - 2003/Cor.1:2006 - - - - - - - Vestibulum massa purus - - - - - - - - - - - - - - - - - urn:uuid:88247b56-4cbc-4df9-9860-db3f8042e357 - - - - - - - urn:uuid:88247b56-4cbc-4df9-9860-db3f8042e357 - - - - - - dataset - - - - - - - ISO19115 - - - 2003/Cor.1:2006 - - - - - - - - - - - - Donec scelerisque pede ut nisl luctus accumsan. Quisque ultrices, lorem eget feugiat fringilla, lorem dui porttitor ante, cursus ultrices magna odio eu neque. - - - - - Physiography-Landforms - - - - - - - - - - - - - - urn:uuid:94bc9c83-97f6-4b40-9eb8-a8e8787a5c63 - - - - - - - urn:uuid:94bc9c83-97f6-4b40-9eb8-a8e8787a5c63 - - - - - - dataset - - - - - - - ISO19115 - - - 2003/Cor.1:2006 - - - - - - - Mauris sed neque - - - - - Curabitur lacinia, ante non porta tempus, mi lorem feugiat odio, eget suscipit eros pede ac velit. - - - - - Vegetation-Cropland - - - - - - - - - - - - -4.1 - - - 0.89 - - - 47.59 - - - 51.22 - - - - - - - - - - - - - urn:uuid:9a669547-b69b-469f-a11f-2d875366bbdc - - - - - - - urn:uuid:9a669547-b69b-469f-a11f-2d875366bbdc - - - - - - dataset - - - - - - - ISO19115 - - - 2003/Cor.1:2006 - - - - - - - Ñunç elementum - - - - - - - - - - Hydrography-Oceanographic - - - - - - - - - - - - -6.17 - - - -2.23 - - - 44.79 - - - 51.13 - - - - - - - - - - - - - urn:uuid:a06af396-3105-442d-8b40-22b57a90d2f2 - - - - - - - urn:uuid:a06af396-3105-442d-8b40-22b57a90d2f2 - - - - - - http://purl.org/dc/dcmitype/Image - - - - - - - ISO19115 - - - 2003/Cor.1:2006 - - - - - - - Lorem ipsum dolor sit amet - - - - - - - - - - - - - - - 11 - - diff --git a/tests/expected/suites_oaipmh_get_ListRecords_oai_dc.xml b/tests/expected/suites_oaipmh_get_ListRecords_oai_dc.xml deleted file mode 100644 index a5dc39975..000000000 --- a/tests/expected/suites_oaipmh_get_ListRecords_oai_dc.xml +++ /dev/null @@ -1,185 +0,0 @@ - - - - PYCSW_TIMESTAMP - http://localhost/pycsw/csw.py?config=tests/suites/oaipmh/default.cfg&mode=oaipmh - - - - urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f - - - - - - urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f - http://purl.org/dc/dcmitype/Image - image/svg+xml - Lorem ipsum - GR-22 - Tourism--Greece - Quisque lacus diam, placerat mollis, pharetra in, commodo sed, augue. Duis iaculis arcu vel arcu. - - - - - - urn:uuid:1ef30a8b-876d-4828-9246-c37ab4510bbd - - - - - - urn:uuid:1ef30a8b-876d-4828-9246-c37ab4510bbd - http://purl.org/dc/dcmitype/Service - Proin sit amet justo. In justo. Aenean adipiscing nulla id tellus. - - 60.042 13.754 - 68.410 17.920 - - - - - - - urn:uuid:66ae76b7-54ba-489b-a582-0f0633d96493 - - - - - - urn:uuid:66ae76b7-54ba-489b-a582-0f0633d96493 - Maecenas enim - http://purl.org/dc/dcmitype/Text - application/xhtml+xml - Marine sediments - Pellentesque tempus magna non sapien fringilla blandit. - - - - - - urn:uuid:6a3de50b-fa66-4b58-a0e6-ca146fdd18d4 - - - - - - urn:uuid:6a3de50b-fa66-4b58-a0e6-ca146fdd18d4 - http://purl.org/dc/dcmitype/Service - Ut facilisis justo ut lacus - Vegetation - urn:uuid:94bc9c83-97f6-4b40-9eb8-a8e8787a5c63 - - - - - - urn:uuid:784e2afd-a9fd-44a6-9a92-a3848371c8ec - - - - - - urn:uuid:784e2afd-a9fd-44a6-9a92-a3848371c8ec - Aliquam fermentum purus quis arcu - http://purl.org/dc/dcmitype/Text - Hydrography--Dictionaries - application/pdf - 2006-05-12 - Vestibulum quis ipsum sit amet metus imperdiet vehicula. Nulla scelerisque cursus mi. - - - - - - urn:uuid:829babb0-b2f1-49e1-8cd5-7b489fe71a1e - - - - - - urn:uuid:829babb0-b2f1-49e1-8cd5-7b489fe71a1e - http://purl.org/dc/dcmitype/Image - image/jp2 - Vestibulum massa purus - urn:uuid:9a669547-b69b-469f-a11f-2d875366bbdc - - - - - - urn:uuid:88247b56-4cbc-4df9-9860-db3f8042e357 - - - - - - urn:uuid:88247b56-4cbc-4df9-9860-db3f8042e357 - http://purl.org/dc/dcmitype/Dataset - Physiography-Landforms - FI-ES - Donec scelerisque pede ut nisl luctus accumsan. Quisque ultrices, lorem eget feugiat fringilla, lorem dui porttitor ante, cursus ultrices magna odio eu neque. - - - - - - urn:uuid:94bc9c83-97f6-4b40-9eb8-a8e8787a5c63 - - - - - - urn:uuid:94bc9c83-97f6-4b40-9eb8-a8e8787a5c63 - http://purl.org/dc/dcmitype/Dataset - Mauris sed neque - Vegetation-Cropland - Curabitur lacinia, ante non porta tempus, mi lorem feugiat odio, eget suscipit eros pede ac velit. - 2006-03-26 - - 47.595 -4.097 - 51.217 0.889 - - - - - - - urn:uuid:9a669547-b69b-469f-a11f-2d875366bbdc - - - - - - urn:uuid:9a669547-b69b-469f-a11f-2d875366bbdc - http://purl.org/dc/dcmitype/Dataset - Ñunç elementum - Hydrography-Oceanographic - 2005-10-24 - - 44.792 -6.171 - 51.126 -2.228 - - - - - - - urn:uuid:a06af396-3105-442d-8b40-22b57a90d2f2 - - - - - - urn:uuid:a06af396-3105-442d-8b40-22b57a90d2f2 - http://purl.org/dc/dcmitype/Image - Lorem ipsum dolor sit amet - image/jpeg - IT-FI - - - - 11 - - diff --git a/tests/expected/suites_oaipmh_get_ListSets.xml b/tests/expected/suites_oaipmh_get_ListSets.xml deleted file mode 100644 index 2be90809f..000000000 --- a/tests/expected/suites_oaipmh_get_ListSets.xml +++ /dev/null @@ -1,16 +0,0 @@ - - - - PYCSW_TIMESTAMP - http://localhost/pycsw/csw.py?config=tests/suites/oaipmh/default.cfg&mode=oaipmh - - - datasets - Datasets - - - interactiveResources - Interactive Resources - - - diff --git a/tests/expected/suites_oaipmh_get_bad_verb.xml b/tests/expected/suites_oaipmh_get_bad_verb.xml deleted file mode 100644 index 0e3dfba47..000000000 --- a/tests/expected/suites_oaipmh_get_bad_verb.xml +++ /dev/null @@ -1,7 +0,0 @@ - - - - PYCSW_TIMESTAMP - http://localhost/pycsw/csw.py?config=tests/suites/oaipmh/default.cfg&mode=oaipmh - Unknown verb 'foo' - diff --git a/tests/expected/suites_oaipmh_get_empty.xml b/tests/expected/suites_oaipmh_get_empty.xml deleted file mode 100644 index 1f6d54ab8..000000000 --- a/tests/expected/suites_oaipmh_get_empty.xml +++ /dev/null @@ -1,7 +0,0 @@ - - - - PYCSW_TIMESTAMP - http://localhost/pycsw/csw.py?config=tests/suites/oaipmh/default.cfg&mode=oaipmh - Missing 'verb' parameter - diff --git a/tests/expected/suites_oaipmh_get_empty_with_amp.xml b/tests/expected/suites_oaipmh_get_empty_with_amp.xml deleted file mode 100644 index 1f6d54ab8..000000000 --- a/tests/expected/suites_oaipmh_get_empty_with_amp.xml +++ /dev/null @@ -1,7 +0,0 @@ - - - - PYCSW_TIMESTAMP - http://localhost/pycsw/csw.py?config=tests/suites/oaipmh/default.cfg&mode=oaipmh - Missing 'verb' parameter - diff --git a/tests/expected/suites_oaipmh_get_illegal_verb.xml b/tests/expected/suites_oaipmh_get_illegal_verb.xml deleted file mode 100644 index 4a88ffe48..000000000 --- a/tests/expected/suites_oaipmh_get_illegal_verb.xml +++ /dev/null @@ -1,7 +0,0 @@ - - - - PYCSW_TIMESTAMP - http://localhost/pycsw/csw.py?config=tests/suites/oaipmh/default.cfg&mode=oaipmh - Unknown verb 'foo' - diff --git a/tests/expected/suites_repofilter_post_GetRecordById-masked.xml b/tests/expected/suites_repofilter_post_GetRecordById-masked.xml deleted file mode 100644 index 9bf61df8e..000000000 --- a/tests/expected/suites_repofilter_post_GetRecordById-masked.xml +++ /dev/null @@ -1,3 +0,0 @@ - - - diff --git a/tests/expected/suites_repofilter_post_GetRecords-all.xml b/tests/expected/suites_repofilter_post_GetRecords-all.xml deleted file mode 100644 index 99af61e73..000000000 --- a/tests/expected/suites_repofilter_post_GetRecords-all.xml +++ /dev/null @@ -1,37 +0,0 @@ - - - - - - - urn:uuid:88247b56-4cbc-4df9-9860-db3f8042e357 - http://purl.org/dc/dcmitype/Dataset - Physiography-Landforms - FI-ES - Donec scelerisque pede ut nisl luctus accumsan. Quisque ultrices, lorem eget feugiat fringilla, lorem dui porttitor ante, cursus ultrices magna odio eu neque. - - - urn:uuid:94bc9c83-97f6-4b40-9eb8-a8e8787a5c63 - http://purl.org/dc/dcmitype/Dataset - Mauris sed neque - Vegetation-Cropland - Curabitur lacinia, ante non porta tempus, mi lorem feugiat odio, eget suscipit eros pede ac velit. - 2006-03-26 - - 47.595 -4.097 - 51.217 0.889 - - - - urn:uuid:9a669547-b69b-469f-a11f-2d875366bbdc - http://purl.org/dc/dcmitype/Dataset - Ñunç elementum - Hydrography-Oceanographic - 2005-10-24 - - 44.792 -6.171 - 51.126 -2.228 - - - - diff --git a/tests/expected/suites_sru_get_explain.xml b/tests/expected/suites_sru_get_explain.xml deleted file mode 100644 index 34103909d..000000000 --- a/tests/expected/suites_sru_get_explain.xml +++ /dev/null @@ -1,128 +0,0 @@ - - - - 1.1 - - XML - http://explain.z3950.org/dtd/2.1/ - - - - PYCSW_HOST - PYCSW_PORT - pycsw - - - pycsw Geospatial Catalogue - pycsw is an OGC CSW server implementation written in Python - - - - - abstract - - abstract - - - - contributor - - contributor - - - - creator - - creator - - - - date - - date - - - - format - - format - - - - identifier - - identifier - - - - language - - language - - - - modified - - modified - - - - publisher - - publisher - - - - relation - - relation - - - - rights - - rights - - - - source - - source - - - - subject - - subject - - - - title - - title - - - - type - - type - - - - - title222 - - - - - - Simple Dublin Core - - - - 0 - - - - - diff --git a/tests/expected/suites_sru_get_search.xml b/tests/expected/suites_sru_get_search.xml deleted file mode 100644 index ce70bc154..000000000 --- a/tests/expected/suites_sru_get_search.xml +++ /dev/null @@ -1,6 +0,0 @@ - - - - 1.1 - 5 - diff --git a/tests/expected/suites_sru_get_search_cql.xml b/tests/expected/suites_sru_get_search_cql.xml deleted file mode 100644 index 9a98be980..000000000 --- a/tests/expected/suites_sru_get_search_cql.xml +++ /dev/null @@ -1,30 +0,0 @@ - - - - 1.1 - 2 - - - - urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f - Lorem ipsum - http://purl.org/dc/dcmitype/Image - - - -2 - - info:srw/schema/1/dc-v1.1 - xml - - - - urn:uuid:a06af396-3105-442d-8b40-22b57a90d2f2 - Lorem ipsum dolor sit amet - http://purl.org/dc/dcmitype/Image - - - -1 - - info:srw/schema/1/dc-v1.1 - xml - diff --git a/tests/expected/suites_sru_get_search_maxrecords.xml b/tests/expected/suites_sru_get_search_maxrecords.xml deleted file mode 100644 index cba2314eb..000000000 --- a/tests/expected/suites_sru_get_search_maxrecords.xml +++ /dev/null @@ -1,30 +0,0 @@ - - - - 1.1 - 5 - - - - urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f - Lorem ipsum - http://purl.org/dc/dcmitype/Image - - - 1 - - info:srw/schema/1/dc-v1.1 - xml - - - - urn:uuid:88247b56-4cbc-4df9-9860-db3f8042e357 - - http://purl.org/dc/dcmitype/Dataset - - - 2 - - info:srw/schema/1/dc-v1.1 - xml - diff --git a/tests/expected/suites_sru_get_search_startrecord_maxrecords.xml b/tests/expected/suites_sru_get_search_startrecord_maxrecords.xml deleted file mode 100644 index cba2314eb..000000000 --- a/tests/expected/suites_sru_get_search_startrecord_maxrecords.xml +++ /dev/null @@ -1,30 +0,0 @@ - - - - 1.1 - 5 - - - - urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f - Lorem ipsum - http://purl.org/dc/dcmitype/Image - - - 1 - - info:srw/schema/1/dc-v1.1 - xml - - - - urn:uuid:88247b56-4cbc-4df9-9860-db3f8042e357 - - http://purl.org/dc/dcmitype/Dataset - - - 2 - - info:srw/schema/1/dc-v1.1 - xml - diff --git a/tests/expected/suites_utf-8_post_GetCapabilities.xml b/tests/expected/suites_utf-8_post_GetCapabilities.xml deleted file mode 100644 index 4df1e4876..000000000 --- a/tests/expected/suites_utf-8_post_GetCapabilities.xml +++ /dev/null @@ -1,264 +0,0 @@ - - - - - ErrŹĆŁÓdd - pycsw is an OGC CSW server implementation written in Python - - catalogue - discovery - theme - - CSW - 2.0.2 - 3.0.0 - None - None - - - pycsw - - - Kralidis, Tom - Senior Systems Scientist - - - +01-416-xxx-xxxx - +01-416-xxx-xxxx - - - TBA - Toronto - Ontario - M9C 3Z9 - Canada - tomkralidis@gmail.com - - - 0800h - 1600h EST - During hours of service. Off on weekends. - - pointOfContact - - - - - - - - - - - - Filter_Capabilities - OperationsMetadata - ServiceIdentification - ServiceProvider - - - - - - - - - - - application/json - application/xml - - - http://www.w3.org/2001/XMLSchema - http://www.w3.org/TR/xmlschema-1/ - http://www.w3.org/XML/Schema - - - csw:Record - - - - - - - - - - - DescribeRecord.outputFormat - DescribeRecord.schemaLanguage - DescribeRecord.typeName - GetCapabilities.sections - GetRecordById.ElementSetName - GetRecordById.outputFormat - GetRecordById.outputSchema - GetRecords.CONSTRAINTLANGUAGE - GetRecords.ElementSetName - GetRecords.outputFormat - GetRecords.outputSchema - GetRecords.resultType - GetRecords.typeNames - - - - - - - - - - - CQL_TEXT - FILTER - - - brief - full - summary - - - application/json - application/xml - - - http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ - http://www.interlis.ch/INTERLIS2.3 - http://www.opengis.net/cat/csw/2.0.2 - http://www.opengis.net/cat/csw/csdgm - http://www.w3.org/2005/Atom - - - hits - results - validate - - - csw:Record - - - csw:AnyText - dc:contributor - dc:creator - dc:date - dc:format - dc:identifier - dc:language - dc:publisher - dc:relation - dc:rights - dc:source - dc:subject - dc:title - dc:type - dct:abstract - dct:alternative - dct:modified - dct:spatial - ows:BoundingBox - - - - - - - - - - - brief - full - summary - - - application/json - application/xml - - - http://gcmd.gsfc.nasa.gov/Aboutus/xml/dif/ - http://www.interlis.ch/INTERLIS2.3 - http://www.opengis.net/cat/csw/2.0.2 - http://www.opengis.net/cat/csw/csdgm - http://www.w3.org/2005/Atom - - - - - - - - - - - CSW - - - 2.0.2 - 3.0.0 - - - http://demo.pycsw.org/gisdata/csw - - - 10 - - - XML - SOAP - - - allowed - - - - - - gml:Point - gml:LineString - gml:Polygon - gml:Envelope - - - - - - - - - - - - - - - - - - - Between - EqualTo - GreaterThan - GreaterThanEqualTo - LessThan - LessThanEqualTo - Like - NotEqualTo - NullCheck - - - - - length - lower - ltrim - rtrim - trim - upper - - - - - - - - - - diff --git a/tests/suites/apiso-inspire/default.cfg b/tests/suites/apiso-inspire/default.cfg deleted file mode 100644 index a72121449..000000000 --- a/tests/suites/apiso-inspire/default.cfg +++ /dev/null @@ -1,91 +0,0 @@ -# ================================================================= -# -# Authors: Tom Kralidis -# -# Copyright (c) 2011 Tom Kralidis -# -# Permission is hereby granted, free of charge, to any person -# obtaining a copy of this software and associated documentation -# files (the "Software"), to deal in the Software without -# restriction, including without limitation the rights to use, -# copy, modify, merge, publish, distribute, sublicense, and/or sell -# copies of the Software, and to permit persons to whom the -# Software is furnished to do so, subject to the following -# conditions: -# -# The above copyright notice and this permission notice shall be -# included in all copies or substantial portions of the Software. -# -# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -# EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES -# OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -# NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT -# HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, -# WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING -# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR -# OTHER DEALINGS IN THE SOFTWARE. -# -# ================================================================= - -[server] -home=. -url=http://localhost/pycsw/csw.py?config=tests/suites/apiso-inspire/default.cfg -mimetype=application/xml; charset=UTF-8 -encoding=UTF-8 -language=en-US -maxrecords=10 -#loglevel=DEBUG -#logfile=/tmp/pycsw.log -#ogc_schemas_base=http://foo -federatedcatalogues=http://geo.data.gov/geoportal/csw/discovery -pretty_print=true -#gzip_compresslevel=8 -#spatial_ranking=true -profiles=apiso - -[manager] -transactions=false -allowed_ips=127.0.0.1 - -[metadata:main] -identification_title=pycsw Geospatial Catalogue -identification_abstract=pycsw is an OGC CSW server implementation written in Python -identification_keywords=catalogue,discovery -identification_keywords_type=theme -identification_fees=None -identification_accessconstraints=None -provider_name=pycsw -provider_url=http://pycsw.org/ -contact_name=Kralidis, Tom -contact_position=Senior Systems Scientist -contact_address=TBA -contact_city=Toronto -contact_stateorprovince=Ontario -contact_postalcode=M9C 3Z9 -contact_country=Canada -contact_phone=+01-416-xxx-xxxx -contact_fax=+01-416-xxx-xxxx -contact_email=tomkralidis@gmail.com -contact_url=http://kralidis.ca/ -contact_hours=0800h - 1600h EST -contact_instructions=During hours of service. Off on weekends. -contact_role=pointOfContact - -[repository] -# sqlite -database=sqlite:///tests/suites/cite/data/records.db -# postgres -#database=postgres://username:password@localhost/pycsw -table=records - -[metadata:inspire] -enabled=true -languages_supported=eng,gre -default_language=eng -date=2011-03-29 -gemet_keywords=Utility and governmental services -conformity_service=notEvaluated -contact_name=National Technical University of Athens -contact_email=tzotsos@gmail.com -temp_extent=2011-02-01/2011-03-30 - diff --git a/tests/suites/apiso-inspire/get/requests.txt b/tests/suites/apiso-inspire/get/requests.txt deleted file mode 100644 index 09816a219..000000000 --- a/tests/suites/apiso-inspire/get/requests.txt +++ /dev/null @@ -1,2 +0,0 @@ -GetCapabilities,service=CSW&version=2.0.2&request=GetCapabilities -GetCapabilities-lang,service=CSW&version=2.0.2&request=GetCapabilities&lang=gre diff --git a/tests/suites/apiso/data/3e9a8c05.xml b/tests/suites/apiso/data/3e9a8c05.xml deleted file mode 100644 index 5c9c97620..000000000 --- a/tests/suites/apiso/data/3e9a8c05.xml +++ /dev/null @@ -1,248 +0,0 @@ - - -3e9a8c05 - - -eng - - -service - - - - -NTUA - - - - - - -tzotsos@gmail.com - - - - - - -pointOfContact - - - - -2011-04-18 - - -ISO19115 - - -2003/Cor.1:2006 - - - - - - -test Title - - - - -2011-04-19 - - -creation - - - - - - -http://aiolos.survey.ntua.gr - - -ogc - - - - - - -test Abstract - - - - -NTUA - - - - - - -tzotsos@gmail.com - - - - - - -owner - - - - - - -Geographic viewer (humanGeographicViewer) - - - - - - -administration - - - - -GEMET Themes, version 2.3 - - - - -2011-04-18 - - -publication - - - - - - - - - - -Conditions unknown - - - - - - -no limitation - - - - - - - - -19.37 - - -29.61 - - -34.80 - - -41.75 - - - - - - - -2011-04-18 -2011-04-20 - - - - - - - -view - - - - - - - - - - - - - - - - - -http://aiolos.survey.ntua.gr/geoserver/wms - - - - - - - - - - - - -service - - - - - - - - -Conformity_001 - - -INSPIRE - - - - - - - - -Corrigendum to INSPIRE Metadata Regulation published in the Official Journal of the European Union, L 328, page 83 - - - - -2009-12-15 - - -publication - - - - - - -See the referenced specification - - -true - - - - - - - - diff --git a/tests/suites/apiso/data/README.txt b/tests/suites/apiso/data/README.txt deleted file mode 100644 index 3dd817cbc..000000000 --- a/tests/suites/apiso/data/README.txt +++ /dev/null @@ -1,7 +0,0 @@ -APISO Data -========== - -This directory provides data used to check conformance against pycsw APISO support. - -- pacioos-NS06agg.xml: http://oos.soest.hawaii.edu/pacioos/metadata/NS06agg.html -- all other *.xml files are from the Greek National Mapping Agency (metadata submitted to the INSPIRE geoportal) diff --git a/tests/suites/apiso/data/T_aerfo_RAS_1991_GR800P001800000012.xml b/tests/suites/apiso/data/T_aerfo_RAS_1991_GR800P001800000012.xml deleted file mode 100644 index de5188346..000000000 --- a/tests/suites/apiso/data/T_aerfo_RAS_1991_GR800P001800000012.xml +++ /dev/null @@ -1,37 +0,0 @@ - - - 366f6257-19eb-4f20-ba78-0698ac4aae77 - eng - dataset - YPAATypaat@ypaat.grpointOfContact - 2009-10-09 -ISO19115 -2003/Cor.1:2006 - - - - - Aerial Photos - 2009-10-09creation - 366f6257-19eb-4f20-ba78-0698ac4aae77 - T_aerfo_RAS_1991_GR800P001800000012.tif - - - Aerial Photos -YPAATypaat@ypaat.growner - OrthoimageryGEMET - INSPIRE themes, version 1.02008-06-01publication - no conditions apply - otherRestrictionsno limitations - eng - geoscientificInformation - 20.0024.0038.0040.00 - 2009-10-092009-10-09 - - -http://www.ypaat.gr - -dataset -Conformity_001INSPIREINSPIRE2008-05-15publicationSee the referenced specificationtrue -test - - diff --git a/tests/suites/apiso/data/T_aerfo_RAS_1991_GR800P001800000013.xml b/tests/suites/apiso/data/T_aerfo_RAS_1991_GR800P001800000013.xml deleted file mode 100644 index 0de59fea5..000000000 --- a/tests/suites/apiso/data/T_aerfo_RAS_1991_GR800P001800000013.xml +++ /dev/null @@ -1,37 +0,0 @@ - - - 75a7eb5e-336e-453d-ab06-209b1070d396 - eng - dataset - YPAATypaat@ypaat.grpointOfContact - 2009-10-09 -ISO19115 -2003/Cor.1:2006 - - - - - Aerial Photos - 2009-10-09creation - 75a7eb5e-336e-453d-ab06-209b1070d396 - T_aerfo_RAS_1991_GR800P001800000013.tif - - - Aerial Photos -YPAATypaat@ypaat.growner - OrthoimageryGEMET - INSPIRE themes, version 1.02008-06-01publication - no conditions apply - otherRestrictionsno limitations - eng - geoscientificInformation - 20.0024.0038.0040.00 - 2009-10-092009-10-09 - - -http://www.ypaat.gr - -dataset -Conformity_001INSPIREINSPIRE2008-05-15publicationSee the referenced specificationtrue -test - - diff --git a/tests/suites/apiso/data/T_aerfo_RAS_1991_GR800P001800000014.xml b/tests/suites/apiso/data/T_aerfo_RAS_1991_GR800P001800000014.xml deleted file mode 100644 index 5ac2f71c4..000000000 --- a/tests/suites/apiso/data/T_aerfo_RAS_1991_GR800P001800000014.xml +++ /dev/null @@ -1,37 +0,0 @@ - - - a7308c0a-b748-48e2-bab7-0a608a51d416 - eng - dataset - YPAATypaat@ypaat.grpointOfContact - 2009-10-09 -ISO19115 -2003/Cor.1:2006 - - - - - Aerial Photos - 2009-10-09creation - a7308c0a-b748-48e2-bab7-0a608a51d416 - T_aerfo_RAS_1991_GR800P001800000014.tif - - - Aerial Photos -YPAATypaat@ypaat.growner - OrthoimageryGEMET - INSPIRE themes, version 1.02008-06-01publication - no conditions apply - otherRestrictionsno limitations - eng - geoscientificInformation - 20.0024.0038.0040.00 - 2009-10-092009-10-09 - - -http://www.ypaat.gr - -dataset -Conformity_001INSPIREINSPIRE2008-05-15publicationSee the referenced specificationtrue -test - - diff --git a/tests/suites/apiso/data/T_aerfo_RAS_1991_GR800P001800000015.xml b/tests/suites/apiso/data/T_aerfo_RAS_1991_GR800P001800000015.xml deleted file mode 100644 index 63ff4cf35..000000000 --- a/tests/suites/apiso/data/T_aerfo_RAS_1991_GR800P001800000015.xml +++ /dev/null @@ -1,37 +0,0 @@ - - - 0173e0d7-6ea9-4407-b846-f29d6bfa9903 - eng - dataset - YPAATypaat@ypaat.grpointOfContact - 2009-10-09 -ISO19115 -2003/Cor.1:2006 - - - - - Aerial Photos - 2009-10-09creation - 0173e0d7-6ea9-4407-b846-f29d6bfa9903 - T_aerfo_RAS_1991_GR800P001800000015.tif - - - Aerial Photos -YPAATypaat@ypaat.growner - OrthoimageryGEMET - INSPIRE themes, version 1.02008-06-01publication - no conditions apply - otherRestrictionsno limitations - eng - geoscientificInformation - 20.0024.0038.0040.00 - 2009-10-092009-10-09 - - -http://www.ypaat.gr - -dataset -Conformity_001INSPIREINSPIRE2008-05-15publicationSee the referenced specificationtrue -test - - diff --git a/tests/suites/apiso/data/T_ortho_RAS_1998_284404.xml b/tests/suites/apiso/data/T_ortho_RAS_1998_284404.xml deleted file mode 100644 index 05d95c8d4..000000000 --- a/tests/suites/apiso/data/T_ortho_RAS_1998_284404.xml +++ /dev/null @@ -1,37 +0,0 @@ - - - de53e931-778a-4792-94ad-9fe507aca483 - eng - dataset - YPAATypaat@ypaat.grpointOfContact - 2009-10-07 -ISO19115 -2003/Cor.1:2006 - - - - - Ortho - 2000-01-01publication - de53e931-778a-4792-94ad-9fe507aca483 - T_ortho_RAS_1998_284404.tif - - - Ortho -YPAATypaat@ypaat.growner - OrthoimageryGEMET - INSPIRE themes, version 1.02008-06-01publication - no conditions apply - otherRestrictionsno limitations - 5000 - eng - geoscientificInformation - 21.47878421.52731739.7600139.790341 - 1997-01-011999-01-01 - - -http://www.ypaat.gr - -dataset -test - - diff --git a/tests/suites/apiso/data/T_ortho_RAS_1998_288395.xml b/tests/suites/apiso/data/T_ortho_RAS_1998_288395.xml deleted file mode 100644 index e02d4ec22..000000000 --- a/tests/suites/apiso/data/T_ortho_RAS_1998_288395.xml +++ /dev/null @@ -1,37 +0,0 @@ - - - 4a5109d7-9ce5-4197-a423-b5fa8c426dee - eng - dataset - YPAATypaat@ypaat.grpointOfContact - 2009-10-07 -ISO19115 -2003/Cor.1:2006 - - - - - Ortho - 2000-01-01publication - 4a5109d7-9ce5-4197-a423-b5fa8c426dee - T_ortho_RAS_1998_288395.tif - - - Ortho -YPAATypaat@ypaat.growner - OrthoimageryGEMET - INSPIRE themes, version 1.02008-06-01publication - no conditions apply - otherRestrictionsno limitations - 5000 - eng - geoscientificInformation - 21.52833321.57683439.67999939.710309 - 1997-01-011999-01-01 - - -http://www.ypaat.gr - -dataset -test - - diff --git a/tests/suites/apiso/data/T_ortho_RAS_1998_288398.xml b/tests/suites/apiso/data/T_ortho_RAS_1998_288398.xml deleted file mode 100644 index 8766c0c7a..000000000 --- a/tests/suites/apiso/data/T_ortho_RAS_1998_288398.xml +++ /dev/null @@ -1,37 +0,0 @@ - - - 5f37e0f8-4fb1-4637-b959-b415058bdb68 - eng - dataset - YPAATypaat@ypaat.grpointOfContact - 2009-10-07 -ISO19115 -2003/Cor.1:2006 - - - - - Ortho - 2000-01-01publication - 5f37e0f8-4fb1-4637-b959-b415058bdb68 - T_ortho_RAS_1998_288398.tif - - - Ortho -YPAATypaat@ypaat.growner - OrthoimageryGEMET - INSPIRE themes, version 1.02008-06-01publication - no conditions apply - otherRestrictionsno limitations - 5000 - eng - geoscientificInformation - 21.52736921.57588839.70700439.737315 - 1997-01-011999-01-01 - - -http://www.ypaat.gr - -dataset -test - - diff --git a/tests/suites/apiso/data/T_ortho_RAS_1998_288401.xml b/tests/suites/apiso/data/T_ortho_RAS_1998_288401.xml deleted file mode 100644 index 0ae753a1f..000000000 --- a/tests/suites/apiso/data/T_ortho_RAS_1998_288401.xml +++ /dev/null @@ -1,37 +0,0 @@ - - - f99cc358-f379-4e79-ab1e-cb2f7709f594 - eng - dataset - YPAATypaat@ypaat.grpointOfContact - 2009-10-07 -ISO19115 -2003/Cor.1:2006 - - - - - Ortho - 2000-01-01publication - f99cc358-f379-4e79-ab1e-cb2f7709f594 - T_ortho_RAS_1998_288401.tif - - - Ortho -YPAATypaat@ypaat.growner - OrthoimageryGEMET - INSPIRE themes, version 1.02008-06-01publication - no conditions apply - otherRestrictionsno limitations - 5000 - eng - geoscientificInformation - 21.52640421.57494139.73400939.764321 - 1997-01-011999-01-01 - - -http://www.ypaat.gr - -dataset -test - - diff --git a/tests/suites/apiso/data/T_ortho_RAS_1998_288404.xml b/tests/suites/apiso/data/T_ortho_RAS_1998_288404.xml deleted file mode 100644 index 6dca0cffc..000000000 --- a/tests/suites/apiso/data/T_ortho_RAS_1998_288404.xml +++ /dev/null @@ -1,37 +0,0 @@ - - - ae200a05-2800-40b8-b85d-8f8d007b9e30 - eng - dataset - YPAATypaat@ypaat.grpointOfContact - 2009-10-07 -ISO19115 -2003/Cor.1:2006 - - - - - Ortho - 2000-01-01publication - ae200a05-2800-40b8-b85d-8f8d007b9e30 - T_ortho_RAS_1998_288404.tif - - - Ortho -YPAATypaat@ypaat.growner - OrthoimageryGEMET - INSPIRE themes, version 1.02008-06-01publication - no conditions apply - otherRestrictionsno limitations - 5000 - eng - geoscientificInformation - 21.52543721.57399239.76101539.791327 - 1997-01-011999-01-01 - - -http://www.ypaat.gr - -dataset -test - - diff --git a/tests/suites/apiso/data/T_pmoed_DTM_1996_276395.xml b/tests/suites/apiso/data/T_pmoed_DTM_1996_276395.xml deleted file mode 100644 index 2213557b4..000000000 --- a/tests/suites/apiso/data/T_pmoed_DTM_1996_276395.xml +++ /dev/null @@ -1,37 +0,0 @@ - - - a2744b0c-becd-426a-95a8-46e9850ccc6d - eng - dataset - YPAATypaat@ypaat.grpointOfContact - 2009-10-07 -ISO19115 -2003/Cor.1:2006 - - - - - DTM - 2009-10-07creation - a2744b0c-becd-426a-95a8-46e9850ccc6d - T_pmoed_DTM_1996_276395.tif - - - DTM -YPAATypaat@ypaat.growner - ElevationGEMET - INSPIRE themes, version 1.02008-06-01publication - no conditions apply - otherRestrictionsno limitations - 5000 - eng - elevation - 19.0030.0034.0042.00 - 2009-10-072009-10-07 - - -http://www.ypaat.gr - -dataset -test - - diff --git a/tests/suites/apiso/data/T_pmoed_DTM_1996_276398.xml b/tests/suites/apiso/data/T_pmoed_DTM_1996_276398.xml deleted file mode 100644 index adf548664..000000000 --- a/tests/suites/apiso/data/T_pmoed_DTM_1996_276398.xml +++ /dev/null @@ -1,37 +0,0 @@ - - - 0dc824a6-b555-46c1-bd7b-bc66cb91a70f - eng - dataset - YPAATypaat@ypaat.grpointOfContact - 2009-10-07 -ISO19115 -2003/Cor.1:2006 - - - - - DTM - 2009-10-07creation - 0dc824a6-b555-46c1-bd7b-bc66cb91a70f - T_pmoed_DTM_1996_276398.tif - - - DTM -YPAATypaat@ypaat.growner - ElevationGEMET - INSPIRE themes, version 1.02008-06-01publication - no conditions apply - otherRestrictionsno limitations - 5000 - eng - elevation - 19.0030.0034.0042.00 - 2009-10-072009-10-07 - - -http://www.ypaat.gr - -dataset -test - - diff --git a/tests/suites/apiso/data/T_pmoed_DTM_1996_276401.xml b/tests/suites/apiso/data/T_pmoed_DTM_1996_276401.xml deleted file mode 100644 index 343234780..000000000 --- a/tests/suites/apiso/data/T_pmoed_DTM_1996_276401.xml +++ /dev/null @@ -1,37 +0,0 @@ - - - 42c8e55a-2bf6-476d-a7c9-be3bcd697f13 - eng - dataset - YPAATypaat@ypaat.grpointOfContact - 2009-10-07 -ISO19115 -2003/Cor.1:2006 - - - - - DTM - 2009-10-07creation - 42c8e55a-2bf6-476d-a7c9-be3bcd697f13 - T_pmoed_DTM_1996_276401.tif - - - DTM -YPAATypaat@ypaat.growner - ElevationGEMET - INSPIRE themes, version 1.02008-06-01publication - no conditions apply - otherRestrictionsno limitations - 5000 - eng - elevation - 19.0030.0034.0042.00 - 2009-10-072009-10-07 - - -http://www.ypaat.gr - -dataset -test - - diff --git a/tests/suites/apiso/data/T_pmoed_DTM_1996_276404.xml b/tests/suites/apiso/data/T_pmoed_DTM_1996_276404.xml deleted file mode 100644 index ef2357456..000000000 --- a/tests/suites/apiso/data/T_pmoed_DTM_1996_276404.xml +++ /dev/null @@ -1,37 +0,0 @@ - - - c3bf29d4-d60a-4959-a415-2c03fb0d4aef - eng - dataset - YPAATypaat@ypaat.grpointOfContact - 2009-10-07 -ISO19115 -2003/Cor.1:2006 - - - - - DTM - 2009-10-07creation - c3bf29d4-d60a-4959-a415-2c03fb0d4aef - T_pmoed_DTM_1996_276404.tif - - - DTM -YPAATypaat@ypaat.growner - ElevationGEMET - INSPIRE themes, version 1.02008-06-01publication - no conditions apply - otherRestrictionsno limitations - 5000 - eng - elevation - 19.0030.0034.0042.00 - 2009-10-072009-10-07 - - -http://www.ypaat.gr - -dataset -test - - diff --git a/tests/suites/apiso/data/T_pmoed_DTM_1996_280395.xml b/tests/suites/apiso/data/T_pmoed_DTM_1996_280395.xml deleted file mode 100644 index d65cce94f..000000000 --- a/tests/suites/apiso/data/T_pmoed_DTM_1996_280395.xml +++ /dev/null @@ -1,37 +0,0 @@ - - - b8cc2388-5d0a-43d8-9473-0e86dd0396da - eng - dataset - YPAATypaat@ypaat.grpointOfContact - 2009-10-07 -ISO19115 -2003/Cor.1:2006 - - - - - DTM - 2009-10-07creation - b8cc2388-5d0a-43d8-9473-0e86dd0396da - T_pmoed_DTM_1996_280395.tif - - - DTM -YPAATypaat@ypaat.growner - ElevationGEMET - INSPIRE themes, version 1.02008-06-01publication - no conditions apply - otherRestrictionsno limitations - 5000 - eng - elevation - 19.0030.0034.0042.00 - 2009-10-072009-10-07 - - -http://www.ypaat.gr - -dataset -test - - diff --git a/tests/suites/apiso/data/pacioos-NS06agg.xml b/tests/suites/apiso/data/pacioos-NS06agg.xml deleted file mode 100644 index 5d9636487..000000000 --- a/tests/suites/apiso/data/pacioos-NS06agg.xml +++ /dev/null @@ -1,1182 +0,0 @@ - - - - NS06agg - - - eng - - - UTF8 - - - dataset - - - service - - - - - Margaret McManus - - - University of Hawaii - - - - - - - mamc@hawaii.edu - - - - - - - http://www.soest.hawaii.edu/oceanography/faculty/mcmanus.html - - - http - - - web browser - - - - - - - - - information - - - - - - - pointOfContact - - - - - 2014-04-16 - - - ISO 19115-2 Geographic Information - Metadata Part 2 Extensions for imagery and gridded data - - - ISO 19115-2:2009(E) - - - - - 3 - - - - - column - - - 1 - - - 0.0 - - - - - - - row - - - 1 - - - 0.0 - - - - - - - temporal - - - 482760 - - - 252.0 - - - - - area - - - - - - - - - - PacIOOS Nearshore Sensor 06: Pohnpei, Micronesia - - - - - 2011-04-12 - - - creation - - - - - - - 2011-04-19 - - - issued - - - - - - - 2014-03-18 - - - revision - - - - - - - - - org.pacioos - - - - - - NS06agg - - - - - - - Margaret McManus - - - University of Hawaii - - - - - - - mamc@hawaii.edu - - - - - - - http://www.soest.hawaii.edu/oceanography/faculty/mcmanus.html - - - http - - - web browser - - - - - - - - - information - - - - - - - originator - - - - - - - Jim Potemra - - - - - distributor - - - - - Data produced by Dr. Margaret McManus (mamc@hawaii.edu). Point of contact: Gordon Walker (gwalker@hawaii.edu). - - - - - The nearshore sensors are part of the Pacific Islands Ocean Observing System (PacIOOS) and are designed to measure a variety of ocean parameters at fixed point locations. NS06 is located at the dock in Pohnpei lagoon and is mounted to the bottom in about 1 meter of water. The instrument is a Sea-Bird Electronics model 16+ V2 coupled with a WET Labs ECO-FLNTUS combination sensor. - - - PacIOOS provides timely, reliable, and accurate ocean information to support a safe, clean, productive ocean and resilient coastal zone in the U.S. Pacific Islands region. - - - The Pacific Islands Ocean Observing System (PacIOOS) is funded through the National Oceanic and Atmospheric Administration (NOAA) as a Regional Association within the U.S. Integrated Ocean Observing System (IOOS). PacIOOS is coordinated by the University of Hawaii School of Ocean and Earth Science and Technology (SOEST). - - - - - Margaret McManus - - - University of Hawaii - - - - - - - mamc@hawaii.edu - - - - - - - http://www.soest.hawaii.edu/oceanography/faculty/mcmanus.html - - - http - - - web browser - - - - - - - - - information - - - - - - - pointOfContact - - - - - - http://pacioos.org/metadata/browse/NS06agg.png - - Sample image. - - - - - - - Oceans > Ocean Chemistry > Chlorophyll - - - Oceans > Ocean Optics > Turbidity - - - Oceans > Ocean Temperature > Water Temperature - - - Oceans > Salinity/Density > Conductivity - - - Oceans > Salinity/Density > Salinity - - - Oceans > Water Quality - - - theme - - - - - GCMD Science Keywords - - - - - - - - - - Ocean &gt; Pacific Ocean &gt; Western Pacific Ocean &gt; Micronesia &gt; Federated States of Micronesia - - - Ocean &gt; Pacific Ocean &gt; United States of America &gt; Territories - - - Federated States of Micronesia &gt; Pohnpei &gt; Pohnpei Lagoon - - - place - - - - - GCMD Location Keywords - - - - - - - - - - Pacific Islands Ocean Observing System (PacIOOS) - - - project - - - - - GCMD Project Keywords - - - - - - - - - - Pacific Islands Ocean Observing System (PacIOOS) - - - dataCenter - - - - - GCMD Data Center Keywords - - - - - - - - - - sea_water_temperature - - - sea_water_electrical_conductivity - - - sea_water_turbidity - - - mass_concentration_of_chlorophyll_in_sea_water - - - sea_water_salinity - - - depth - - - latitude - - - longitude - - - time - - - theme - - - - - CF-1.4 - - - - - - - - - - The data may be used and redistributed for free but is not intended for legal use, since it may contain inaccuracies. Neither the data Contributor, University of Hawaii, PacIOOS, NOAA, State of Hawaii nor the United States Government, nor any of their employees or contractors, makes any warranty, express or implied, including warranties of merchantability and fitness for a particular purpose, or assumes any legal liability for the accuracy, completeness, or usefulness, of this information. - - - - - - - - - Pacific Islands Ocean Observing System (PacIOOS) - - - - - - largerWorkCitation - - - project - - - - - - - - - - - Unidata Common Data Model - - - - - - Point - - - - - largerWorkCitation - - - project - - - - - eng - - - climatologyMeteorologyAtmosphere - - - - - - - 1 - - - 158.22402954101562 - - - 158.22402954101562 - - - 6.955227375030518 - - - 6.955227375030518 - - - - - - - - seconds - 2010-05-07T00:00:00Z - 2014-03-17T23:56:00Z - - - - - - - - -1.0 - - - -1.0 - - - - - - - - - - - - - - PacIOOS Nearshore Sensor 06: Pohnpei, Micronesia - - - - - 2011-04-12 - - - creation - - - - - - - 2011-04-19 - - - issued - - - - - - - 2014-03-18 - - - revision - - - - - - - Margaret McManus - - - University of Hawaii - - - - - - - mamc@hawaii.edu - - - - - - - http://www.soest.hawaii.edu/oceanography/faculty/mcmanus.html - - - http - - - web browser - - - - - - - - - information - - - - - - - originator - - - - - - - Jim Potemra - - - - - distributor - - - - - - - The nearshore sensors are part of the Pacific Islands Ocean Observing System (PacIOOS) and are designed to measure a variety of ocean parameters at fixed point locations. NS06 is located at the dock in Pohnpei lagoon and is mounted to the bottom in about 1 meter of water. The instrument is a Sea-Bird Electronics model 16+ V2 coupled with a WET Labs ECO-FLNTUS combination sensor. - - - THREDDS OPeNDAP - - - - - - - 1 - - - 158.22402954101562 - - - 158.22402954101562 - - - 6.955227375030518 - - - 6.955227375030518 - - - - - - - - 2010-05-07T00:00:00Z - 2014-03-17T23:56:00Z - - - - - - - - -1.0 - - - -1.0 - - - - - - - - tight - - - - - OPeNDAP Client Access - - - - - - http://oos.soest.hawaii.edu/thredds/dodsC/pacioos/nss/ns06agg - - - OPeNDAP - - - THREDDS OPeNDAP - - - download - - - - - - - - - - - - - - - - - - temp - - - - - float - - - - - - - Temperature (sea_water_temperature) - - - - - - - - - - cond - - - - - float - - - - - - - Conductivity (sea_water_electrical_conductivity) - - - - - - - - - - turb - - - - - float - - - - - - - Turbidity (sea_water_turbidity) - - - - - - - - - - flor - - - - - float - - - - - - - Chlorophyll (mass_concentration_of_chlorophyll_in_sea_water) - - - - - - - - - - salt - - - - - float - - - - - - - Salinity (sea_water_salinity) - - - - - - - - - - z - - - - - float - - - - - - - depth below mean sea level (depth) - - - - - - - - - - lat - - - - - float - - - - - - - Latitude (latitude) - - - - - - - - - - lon - - - - - float - - - - - - - Longitude (longitude) - - - - - - - - - - time - - - - - float - - - - - - - Time (time) - - - - - - - - - - - - - - - Pacific Islands Ocean Observing System (PacIOOS) - - - - - - - jimp@hawaii.edu - - - - - - - http://pacioos.org - - - http - - - web browser - - - URL for the data publisher - - - This URL provides contact information for the publisher of this dataset - - - information - - - - - - - publisher - - - - - - - OPeNDAP - - - - - - - - - - http://oos.soest.hawaii.edu/thredds/idd/nss_pacioos.html?dataset=NS06agg - - - THREDDS Catalog - - - This URL provides a catalog page for this dataset within THREDDS Data Server (TDS). - - - download - - - - - - - - - - - http://oos.soest.hawaii.edu/thredds/dodsC/pacioos/nss/ns06agg.html - - - File Information - - - This URL provides a standard OPeNDAP html interface for selecting data from this dataset. Change the extension to .info for a description of the dataset. - - - download - - - - - - - - - - - http://pacioos.org/voyager/index.html?b=6.874279%2C158.077126%2C7.050468%2C158.369808&tz=pont&o=qual:2::p0NS06p1 - - - PacIOOS Voyager (Google Maps API) - - - This URL provides a viewer for this dataset. - - - download - - - - - - - - - - - http://oos.soest.hawaii.edu/dchart/index.html?dsetid=54cd0688ada08d86748b9c5762509f - - - DChart - - - This URL provides a viewer for this dataset. - - - download - - - - - - - - - - - http://oos.soest.hawaii.edu/erddap/tabledap/nss06_agg.graph?time%2Ctemperature&.draw=lines - - - ERDDAP - - - This URL provides a viewer for this dataset. - - - download - - - - - - - - - - - http://pacioos.org/focus/waterquality/wq_fsm.php - - - PacIOOS Water Quality Platforms: FSM - - - This URL provides a viewer for this dataset. - - - download - - - - - - - - - - - - - - - dataset - - - - - - - UH/SOEST (M. McManus), PacIOOS asset (05/2010) - - - - - - - - - - This record was translated from NcML using UnidataDD2MI.xsl Version 2.3 - - - - diff --git a/tests/suites/apiso/data/test.xml b/tests/suites/apiso/data/test.xml deleted file mode 100644 index d492ed7a7..000000000 --- a/tests/suites/apiso/data/test.xml +++ /dev/null @@ -1,39 +0,0 @@ - - - 437ae0a2-06e2-4015-b296-a66e7f407bf2 - eng - dataset - YPAATypaat@ypaat.grpointOfContact - NTUAtzotsos@gmail.compointOfContact - 2009-10-09 -ISO19115 -2003/Cor.1:2006 - - - - - Aerial Photos - 2009-10-09creation - 437ae0a2-06e2-4015-b296-a66e7f407bf2 - T_aerfo_RAS_1991_GR800P001800000011.tif - - - Aerial Photos -YPAATypaat@ypaat.growner -NTUAtzotsos@hotmail.comuser - OrthoimageryGEMET - INSPIRE themes, version 1.02008-06-01publication - no conditions apply - otherRestrictionsno limitations - eng - geoscientificInformation - 20.0038.0024.0040.00 - 2009-10-092009-10-09 - - -http://www.ypaat.gr - -dataset -Conformity_001INSPIREINSPIRE2008-05-15publicationSee the referenced specificationtrue -test - - diff --git a/tests/suites/apiso/default.cfg b/tests/suites/apiso/default.cfg deleted file mode 100644 index 6a60f3f9e..000000000 --- a/tests/suites/apiso/default.cfg +++ /dev/null @@ -1,91 +0,0 @@ -# ================================================================= -# -# Authors: Tom Kralidis -# -# Copyright (c) 2011 Tom Kralidis -# -# Permission is hereby granted, free of charge, to any person -# obtaining a copy of this software and associated documentation -# files (the "Software"), to deal in the Software without -# restriction, including without limitation the rights to use, -# copy, modify, merge, publish, distribute, sublicense, and/or sell -# copies of the Software, and to permit persons to whom the -# Software is furnished to do so, subject to the following -# conditions: -# -# The above copyright notice and this permission notice shall be -# included in all copies or substantial portions of the Software. -# -# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -# EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES -# OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -# NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT -# HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, -# WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING -# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR -# OTHER DEALINGS IN THE SOFTWARE. -# -# ================================================================= - -[server] -home=. -url=http://localhost/pycsw/csw.py?config=tests/suites/apiso/default.cfg -mimetype=application/xml; charset=UTF-8 -encoding=UTF-8 -language=en-US -maxrecords=10 -#loglevel=DEBUG -#logfile=/tmp/pycsw.log -#ogc_schemas_base=http://foo -federatedcatalogues=http://geo.data.gov/geoportal/csw/discovery -pretty_print=true -#gzip_compresslevel=8 -#spatial_ranking=true -profiles=apiso - -[manager] -transactions=false -allowed_ips=127.0.0.1 - -[metadata:main] -identification_title=pycsw Geospatial Catalogue -identification_abstract=pycsw is an OGC CSW server implementation written in Python -identification_keywords=catalogue,discovery -identification_keywords_type=theme -identification_fees=None -identification_accessconstraints=None -provider_name=pycsw -provider_url=http://pycsw.org/ -contact_name=Kralidis, Tom -contact_position=Senior Systems Scientist -contact_address=TBA -contact_city=Toronto -contact_stateorprovince=Ontario -contact_postalcode=M9C 3Z9 -contact_country=Canada -contact_phone=+01-416-xxx-xxxx -contact_fax=+01-416-xxx-xxxx -contact_email=tomkralidis@gmail.com -contact_url=http://kralidis.ca/ -contact_hours=0800h - 1600h EST -contact_instructions=During hours of service. Off on weekends. -contact_role=pointOfContact - -[repository] -# sqlite -database=sqlite:///tests/suites/apiso/data/records.db -# postgres -#database=postgres://username:password@localhost/pycsw -table=records - -[metadata:inspire] -enabled=false -languages_supported=eng,gre -default_language=eng -date=2011-03-29 -gemet_keywords=Utility and governmental services -conformity_service=notEvaluated -contact_name=National Technical University of Athens -contact_email=tzotsos@gmail.com -temp_extent=2011-02-01/2011-03-30 - diff --git a/tests/suites/apiso/post/DescribeRecord.xml b/tests/suites/apiso/post/DescribeRecord.xml deleted file mode 100644 index e449f61d2..000000000 --- a/tests/suites/apiso/post/DescribeRecord.xml +++ /dev/null @@ -1,4 +0,0 @@ - - - gmd:MD_Metadata - diff --git a/tests/suites/apiso/post/GetCapabilities.xml b/tests/suites/apiso/post/GetCapabilities.xml deleted file mode 100644 index e4dc8070b..000000000 --- a/tests/suites/apiso/post/GetCapabilities.xml +++ /dev/null @@ -1,9 +0,0 @@ - - - - 2.0.2 - - - application/xml - - diff --git a/tests/suites/apiso/post/GetDomain-property.xml b/tests/suites/apiso/post/GetDomain-property.xml deleted file mode 100644 index a3ff1bac0..000000000 --- a/tests/suites/apiso/post/GetDomain-property.xml +++ /dev/null @@ -1,5 +0,0 @@ - - - apiso:TopicCategory - - diff --git a/tests/suites/apiso/post/GetRecordById-brief.xml b/tests/suites/apiso/post/GetRecordById-brief.xml deleted file mode 100644 index 84f6c16af..000000000 --- a/tests/suites/apiso/post/GetRecordById-brief.xml +++ /dev/null @@ -1,6 +0,0 @@ - - - de53e931-778a-4792-94ad-9fe507aca483 - brief - - diff --git a/tests/suites/apiso/post/GetRecordById-full-dc.xml b/tests/suites/apiso/post/GetRecordById-full-dc.xml deleted file mode 100644 index c58520a66..000000000 --- a/tests/suites/apiso/post/GetRecordById-full-dc.xml +++ /dev/null @@ -1,6 +0,0 @@ - - - NS06agg - full - - diff --git a/tests/suites/apiso/post/GetRecordById-full.xml b/tests/suites/apiso/post/GetRecordById-full.xml deleted file mode 100644 index 2fe6e2d4c..000000000 --- a/tests/suites/apiso/post/GetRecordById-full.xml +++ /dev/null @@ -1,6 +0,0 @@ - - - de53e931-778a-4792-94ad-9fe507aca483 - full - - diff --git a/tests/suites/apiso/post/GetRecordById-srv-brief.xml b/tests/suites/apiso/post/GetRecordById-srv-brief.xml deleted file mode 100644 index 88ec9dec5..000000000 --- a/tests/suites/apiso/post/GetRecordById-srv-brief.xml +++ /dev/null @@ -1,6 +0,0 @@ - - - 3e9a8c05 - brief - - diff --git a/tests/suites/apiso/post/GetRecords-all-csw-output.xml b/tests/suites/apiso/post/GetRecords-all-csw-output.xml deleted file mode 100644 index 1cdb55562..000000000 --- a/tests/suites/apiso/post/GetRecords-all-csw-output.xml +++ /dev/null @@ -1,6 +0,0 @@ - - - - full - - diff --git a/tests/suites/apiso/post/GetRecords-all.xml b/tests/suites/apiso/post/GetRecords-all.xml deleted file mode 100644 index 1cdb55562..000000000 --- a/tests/suites/apiso/post/GetRecords-all.xml +++ /dev/null @@ -1,6 +0,0 @@ - - - - full - - diff --git a/tests/suites/apiso/post/GetRecords-cql-title.xml b/tests/suites/apiso/post/GetRecords-cql-title.xml deleted file mode 100644 index a8d37e802..000000000 --- a/tests/suites/apiso/post/GetRecords-cql-title.xml +++ /dev/null @@ -1,9 +0,0 @@ - - - - brief - - apiso:TopicCategory like '%elevation%' - - - diff --git a/tests/suites/apiso/post/GetRecords-elementname.xml b/tests/suites/apiso/post/GetRecords-elementname.xml deleted file mode 100644 index ff191228e..000000000 --- a/tests/suites/apiso/post/GetRecords-elementname.xml +++ /dev/null @@ -1,6 +0,0 @@ - - - - apiso:Title - - diff --git a/tests/suites/apiso/post/GetRecords-filter-and-nested-spatial-or-dateline.xml b/tests/suites/apiso/post/GetRecords-filter-and-nested-spatial-or-dateline.xml deleted file mode 100644 index 3074a10e6..000000000 --- a/tests/suites/apiso/post/GetRecords-filter-and-nested-spatial-or-dateline.xml +++ /dev/null @@ -1,45 +0,0 @@ - - - full - - - - - csw:AnyText - *pacioos* - - - - ows:BoundingBox - - 5.0721 17.8247 - 31.7842 180 - - - - ows:BoundingBox - - 15.0721 -180 - 31.7842 -151.2378 - - - - - - - - - dc:title - ASC - - - - diff --git a/tests/suites/apiso/post/GetRecords-filter-anytext.xml b/tests/suites/apiso/post/GetRecords-filter-anytext.xml deleted file mode 100644 index 4bb8d9cbd..000000000 --- a/tests/suites/apiso/post/GetRecords-filter-anytext.xml +++ /dev/null @@ -1,15 +0,0 @@ - - - - brief - - - - apiso:AnyText - Aerial% - - - - - - diff --git a/tests/suites/apiso/post/GetRecords-filter-bbox-csw-output.xml b/tests/suites/apiso/post/GetRecords-filter-bbox-csw-output.xml deleted file mode 100644 index f7e47c78e..000000000 --- a/tests/suites/apiso/post/GetRecords-filter-bbox-csw-output.xml +++ /dev/null @@ -1,19 +0,0 @@ - - - - brief - - - - apiso:BoundingBox - - 35 18 - 42 28 - - - - - - - - diff --git a/tests/suites/apiso/post/GetRecords-filter-bbox.xml b/tests/suites/apiso/post/GetRecords-filter-bbox.xml deleted file mode 100644 index 2444873bf..000000000 --- a/tests/suites/apiso/post/GetRecords-filter-bbox.xml +++ /dev/null @@ -1,18 +0,0 @@ - - - - brief - - - - apiso:BoundingBox - - 35 18 - 42 28 - - - - - - - diff --git a/tests/suites/apiso/post/GetRecords-filter-servicetype.xml b/tests/suites/apiso/post/GetRecords-filter-servicetype.xml deleted file mode 100644 index 02078b62e..000000000 --- a/tests/suites/apiso/post/GetRecords-filter-servicetype.xml +++ /dev/null @@ -1,14 +0,0 @@ - - - - brief - - - - apiso:ServiceType - view - - - - - diff --git a/tests/suites/atom/default.cfg b/tests/suites/atom/default.cfg deleted file mode 100644 index b97c23e6b..000000000 --- a/tests/suites/atom/default.cfg +++ /dev/null @@ -1,90 +0,0 @@ -# ================================================================= -# -# Authors: Tom Kralidis -# -# Copyright (c) 2012 Tom Kralidis -# -# Permission is hereby granted, free of charge, to any person -# obtaining a copy of this software and associated documentation -# files (the "Software"), to deal in the Software without -# restriction, including without limitation the rights to use, -# copy, modify, merge, publish, distribute, sublicense, and/or sell -# copies of the Software, and to permit persons to whom the -# Software is furnished to do so, subject to the following -# conditions: -# -# The above copyright notice and this permission notice shall be -# included in all copies or substantial portions of the Software. -# -# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -# EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES -# OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -# NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT -# HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, -# WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING -# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR -# OTHER DEALINGS IN THE SOFTWARE. -# -# ================================================================= - -[server] -home=. -url=http://localhost/pycsw/csw.py?config=tests/suites/atom/default.cfg -mimetype=application/xml; charset=UTF-8 -encoding=UTF-8 -language=en-US -maxrecords=10 -#loglevel=DEBUG -#logfile=/tmp/pycsw.log -#ogc_schemas_base=http://foo -federatedcatalogues=http://geo.data.gov/geoportal/csw/discovery -pretty_print=true -#gzip_compresslevel=8 -#spatial_ranking=true - -[manager] -transactions=false -allowed_ips=127.0.0.1 - -[metadata:main] -identification_title=pycsw Geospatial Catalogue -identification_abstract=pycsw is an OGC CSW server implementation written in Python -identification_keywords=catalogue,discovery -identification_keywords_type=theme -identification_fees=None -identification_accessconstraints=None -provider_name=pycsw -provider_url=http://pycsw.org/ -contact_name=Kralidis, Tom -contact_position=Senior Systems Scientist -contact_address=TBA -contact_city=Toronto -contact_stateorprovince=Ontario -contact_postalcode=M9C 3Z9 -contact_country=Canada -contact_phone=+01-416-xxx-xxxx -contact_fax=+01-416-xxx-xxxx -contact_email=tomkralidis@gmail.com -contact_url=http://kralidis.ca/ -contact_hours=0800h - 1600h EST -contact_instructions=During hours of service. Off on weekends. -contact_role=pointOfContact - -[repository] -# sqlite -database=sqlite:///tests/suites/cite/data/records.db -# postgres -#database=postgres://username:password@localhost/pycsw -table=records - -[metadata:inspire] -enabled=false -languages_supported=eng,gre -default_language=eng -date=2011-03-29 -gemet_keywords=Utility and governmental services -conformity_service=notEvaluated -contact_name=National Technical University of Athens -contact_email=tzotsos@gmail.com -temp_extent=2011-02-01/2011-03-30 - diff --git a/tests/suites/atom/get/requests.txt b/tests/suites/atom/get/requests.txt deleted file mode 100644 index 6734cd5a7..000000000 --- a/tests/suites/atom/get/requests.txt +++ /dev/null @@ -1,12 +0,0 @@ -opensearch,mode=opensearch&service=CSW&version=2.0.2&request=GetRecords&typenames=csw:Record&resulttype=results&elementsetname=brief -opensearch-description,mode=opensearch&service=CSW&version=2.0.2&request=GetCapabilities -opensearch-ogc-q,mode=opensearch&service=CSW&version=2.0.2&request=GetRecords&elementsetname=full&resulttype=results&typenames=csw:Record&q=greece -opensearch-ogc-bbox,mode=opensearch&service=CSW&version=2.0.2&request=GetRecords&elementsetname=full&resulttype=results&typenames=csw:Record&bbox=-180,-90,180,90 -opensearch-ogc-time,mode=opensearch&service=CSW&version=2.0.2&request=GetRecords&elementsetname=full&resulttype=results&typenames=csw:Record&time=2001/2004 -opensearch-ogc-timestart,mode=opensearch&service=CSW&version=2.0.2&request=GetRecords&elementsetname=full&resulttype=results&typenames=csw:Record&time=2004/ -opensearch-ogc-timeend,mode=opensearch&service=CSW&version=2.0.2&request=GetRecords&elementsetname=full&resulttype=results&typenames=csw:Record&time=/2004 -opensearch-ogc-q-and-time,mode=opensearch&service=CSW&version=2.0.2&request=GetRecords&elementsetname=full&resulttype=results&typenames=csw:Record&time=2001/2007&q=vitae -opensearch-ogc-bbox-and-time,mode=opensearch&service=CSW&version=2.0.2&request=GetRecords&elementsetname=full&resulttype=results&typenames=csw:Record&time=2001/2007&bbox=-180,-90,180,90 -opensearch-ogc-q-and-bbox,mode=opensearch&service=CSW&version=2.0.2&request=GetRecords&elementsetname=full&resulttype=results&typenames=csw:Record&q=vegetation&bbox=-180,-90,180,90 -opensearch-ogc-count-and-page1,mode=opensearch&service=CSW&version=2.0.2&request=GetRecords&elementsetname=full&resulttype=results&typenames=csw:Record&q=vegetation&startposition=1 -opensearch-ogc-count-and-page2,mode=opensearch&service=CSW&version=2.0.2&request=GetRecords&elementsetname=full&resulttype=results&typenames=csw:Record&q=vegetation&startposition=1&maxrecords=1 diff --git a/tests/suites/atom/post/DescribeRecord.xml b/tests/suites/atom/post/DescribeRecord.xml deleted file mode 100644 index cd923b8c8..000000000 --- a/tests/suites/atom/post/DescribeRecord.xml +++ /dev/null @@ -1,4 +0,0 @@ - - - atom:entry - diff --git a/tests/suites/atom/post/GetCapabilities.xml b/tests/suites/atom/post/GetCapabilities.xml deleted file mode 100644 index e4dc8070b..000000000 --- a/tests/suites/atom/post/GetCapabilities.xml +++ /dev/null @@ -1,9 +0,0 @@ - - - - 2.0.2 - - - application/xml - - diff --git a/tests/suites/atom/post/GetRecords-filter-bbox.xml b/tests/suites/atom/post/GetRecords-filter-bbox.xml deleted file mode 100644 index 1c431c21f..000000000 --- a/tests/suites/atom/post/GetRecords-filter-bbox.xml +++ /dev/null @@ -1,17 +0,0 @@ - - - - brief - - - - ows:BoundingBox - - 47 -5 - 55 20 - - - - - - diff --git a/tests/suites/cite/data/README.txt b/tests/suites/cite/data/README.txt deleted file mode 100644 index 67996869c..000000000 --- a/tests/suites/cite/data/README.txt +++ /dev/null @@ -1,65 +0,0 @@ -CITE Data -========= - -This directory provides data used to check conformance against the -Open Geospatial Consortium Compliance and Interoperability Testing Initiative (CITE). - -* http://cite.opengeospatial.org/teamengine/ - -The CITE team engine does not offer a specific license for re-distribution, as such it falls -under the general guidance provided by the OGC legal page (http://www.opengeospatial.org/legal/) -and the following license: - -* http://www.opengeospatial.org/ogc/software - -DATA LICENSE ------------- - -The data directory includes information provided by the Open Geospatial Consortium:: - - Copyright © 2012 Open Geospatial Consortium, Inc. - All Rights Reserved. http://www.opengeospatial.org/ogc/legal - -The test data is available directly from the following link: - -* http://cite.opengeospatial.org/teamengine/about/csw/2.0.2/web/ - -This content has been format shifted from CSW record format into a text based -"property file" for release testing. - -Software Notice ---------------- - -This OGC work (including software, documents, or other related items) is being provided by the -copyright holders under the following license. By obtaining, using and/or copying this work, you -(the licensee) agree that you have read, understood, and will comply with the following terms and -conditions: - -Permission to use, copy, and modify this software and its documentation, with or without -modification, for any purpose and without fee or royalty is hereby granted, provided that you -include the following on ALL copies of the software and documentation or portions thereof, including -modifications, that you make: - -1. The full text of this NOTICE in a location viewable to users of the redistributed or derivative -work. - -2. Any pre-existing intellectual property disclaimers, notices, or terms and conditions. If none exist, -a short notice of the following form (hypertext is preferred, text is permitted) should be used -within the body of any redistributed or derivative code: "Copyright © [$date-of-document] Open -Geospatial Consortium, Inc. All Rights Reserved. http://www.opengeospatial.org/ogc/legal (Hypertext -is preferred, but a textual representation is permitted.) - -3. Notice of any changes or modifications to the OGC files, including the date changes were made. (We -recommend you provide URIs to the location from which the code is derived.) - -THIS SOFTWARE AND DOCUMENTATION IS PROVIDED "AS IS," AND COPYRIGHT HOLDERS MAKE NO REPRESENTATIONS -OR WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO, WARRANTIES OF MERCHANTABILITY OR -FITNESS FOR ANY PARTICULAR PURPOSE OR THAT THE USE OF THE SOFTWARE OR DOCUMENTATION WILL NOT -INFRINGE ANY THIRD PARTY PATENTS, COPYRIGHTS, TRADEMARKS OR OTHER RIGHTS. - -COPYRIGHT HOLDERS WILL NOT BE LIABLE FOR ANY DIRECT, INDIRECT, SPECIAL OR CONSEQUENTIAL DAMAGES -ARISING OUT OF ANY USE OF THE SOFTWARE OR DOCUMENTATION. - -The name and trademarks of copyright holders may NOT be used in advertising or publicity pertaining -to the software without specific, written prior permission. Title to copyright in this software and -any associated documentation will at all times remain with copyright holders. diff --git a/tests/suites/cite/data/Record_19887a8a-f6b0-4a63-ae56-7fba0e17801f.xml b/tests/suites/cite/data/Record_19887a8a-f6b0-4a63-ae56-7fba0e17801f.xml deleted file mode 100644 index 7292511ed..000000000 --- a/tests/suites/cite/data/Record_19887a8a-f6b0-4a63-ae56-7fba0e17801f.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f - http://purl.org/dc/dcmitype/Image - image/svg+xml - Lorem ipsum - GR-22 - Tourism--Greece - Quisque lacus diam, placerat mollis, pharetra in, commodo sed, augue. Duis iaculis arcu vel arcu. - \ No newline at end of file diff --git a/tests/suites/cite/data/Record_1ef30a8b-876d-4828-9246-c37ab4510bbd.xml b/tests/suites/cite/data/Record_1ef30a8b-876d-4828-9246-c37ab4510bbd.xml deleted file mode 100644 index 97c595793..000000000 --- a/tests/suites/cite/data/Record_1ef30a8b-876d-4828-9246-c37ab4510bbd.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - urn:uuid:1ef30a8b-876d-4828-9246-c37ab4510bbd - http://purl.org/dc/dcmitype/Service - Proin sit amet justo. In justo. Aenean adipiscing nulla id tellus. - - 60.042 13.754 - 68.410 17.920 - - \ No newline at end of file diff --git a/tests/suites/cite/data/Record_66ae76b7-54ba-489b-a582-0f0633d96493.xml b/tests/suites/cite/data/Record_66ae76b7-54ba-489b-a582-0f0633d96493.xml deleted file mode 100644 index b58bcdbb0..000000000 --- a/tests/suites/cite/data/Record_66ae76b7-54ba-489b-a582-0f0633d96493.xml +++ /dev/null @@ -1,12 +0,0 @@ - - - urn:uuid:66ae76b7-54ba-489b-a582-0f0633d96493 - Maecenas enim - http://purl.org/dc/dcmitype/Text - application/xhtml+xml - Marine sediments - Pellentesque tempus magna non sapien fringilla blandit. - \ No newline at end of file diff --git a/tests/suites/cite/data/Record_6a3de50b-fa66-4b58-a0e6-ca146fdd18d4.xml b/tests/suites/cite/data/Record_6a3de50b-fa66-4b58-a0e6-ca146fdd18d4.xml deleted file mode 100644 index 13f973a1c..000000000 --- a/tests/suites/cite/data/Record_6a3de50b-fa66-4b58-a0e6-ca146fdd18d4.xml +++ /dev/null @@ -1,11 +0,0 @@ - - - urn:uuid:6a3de50b-fa66-4b58-a0e6-ca146fdd18d4 - http://purl.org/dc/dcmitype/Service - Ut facilisis justo ut lacus - Vegetation - urn:uuid:94bc9c83-97f6-4b40-9eb8-a8e8787a5c63 - \ No newline at end of file diff --git a/tests/suites/cite/data/Record_784e2afd-a9fd-44a6-9a92-a3848371c8ec.xml b/tests/suites/cite/data/Record_784e2afd-a9fd-44a6-9a92-a3848371c8ec.xml deleted file mode 100644 index cb2d08b38..000000000 --- a/tests/suites/cite/data/Record_784e2afd-a9fd-44a6-9a92-a3848371c8ec.xml +++ /dev/null @@ -1,14 +0,0 @@ - - - urn:uuid:784e2afd-a9fd-44a6-9a92-a3848371c8ec - Aliquam fermentum purus quis arcu - http://purl.org/dc/dcmitype/Text - Hydrography--Dictionaries - application/pdf - 2006-05-12 - Vestibulum quis ipsum sit amet metus imperdiet vehicula. Nulla scelerisque cursus mi. - diff --git a/tests/suites/cite/data/Record_829babb0-b2f1-49e1-8cd5-7b489fe71a1e.xml b/tests/suites/cite/data/Record_829babb0-b2f1-49e1-8cd5-7b489fe71a1e.xml deleted file mode 100644 index 83a96d20f..000000000 --- a/tests/suites/cite/data/Record_829babb0-b2f1-49e1-8cd5-7b489fe71a1e.xml +++ /dev/null @@ -1,11 +0,0 @@ - - - urn:uuid:829babb0-b2f1-49e1-8cd5-7b489fe71a1e - http://purl.org/dc/dcmitype/Image - image/jp2 - Vestibulum massa purus - urn:uuid:9a669547-b69b-469f-a11f-2d875366bbdc - \ No newline at end of file diff --git a/tests/suites/cite/data/Record_88247b56-4cbc-4df9-9860-db3f8042e357.xml b/tests/suites/cite/data/Record_88247b56-4cbc-4df9-9860-db3f8042e357.xml deleted file mode 100644 index 2771e6a49..000000000 --- a/tests/suites/cite/data/Record_88247b56-4cbc-4df9-9860-db3f8042e357.xml +++ /dev/null @@ -1,11 +0,0 @@ - - - urn:uuid:88247b56-4cbc-4df9-9860-db3f8042e357 - http://purl.org/dc/dcmitype/Dataset - Physiography-Landforms - FI-ES - Donec scelerisque pede ut nisl luctus accumsan. Quisque ultrices, lorem eget feugiat fringilla, lorem dui porttitor ante, cursus ultrices magna odio eu neque. - \ No newline at end of file diff --git a/tests/suites/cite/data/Record_94bc9c83-97f6-4b40-9eb8-a8e8787a5c63.xml b/tests/suites/cite/data/Record_94bc9c83-97f6-4b40-9eb8-a8e8787a5c63.xml deleted file mode 100644 index ccf590fa7..000000000 --- a/tests/suites/cite/data/Record_94bc9c83-97f6-4b40-9eb8-a8e8787a5c63.xml +++ /dev/null @@ -1,17 +0,0 @@ - - - urn:uuid:94bc9c83-97f6-4b40-9eb8-a8e8787a5c63 - http://purl.org/dc/dcmitype/Dataset - Mauris sed neque - Vegetation-Cropland - Curabitur lacinia, ante non porta tempus, mi lorem feugiat odio, eget suscipit eros pede ac velit. - 2006-03-26 - - 47.595 -4.097 - 51.217 0.889 - - diff --git a/tests/suites/cite/data/Record_9a669547-b69b-469f-a11f-2d875366bbdc.xml b/tests/suites/cite/data/Record_9a669547-b69b-469f-a11f-2d875366bbdc.xml deleted file mode 100644 index 577f2c4ef..000000000 --- a/tests/suites/cite/data/Record_9a669547-b69b-469f-a11f-2d875366bbdc.xml +++ /dev/null @@ -1,16 +0,0 @@ - - - urn:uuid:9a669547-b69b-469f-a11f-2d875366bbdc - http://purl.org/dc/dcmitype/Dataset - Ñunç elementum - Hydrography-Oceanographic - 2005-10-24 - - 44.792 -6.171 - 51.126 -2.228 - - diff --git a/tests/suites/cite/data/Record_a06af396-3105-442d-8b40-22b57a90d2f2.xml b/tests/suites/cite/data/Record_a06af396-3105-442d-8b40-22b57a90d2f2.xml deleted file mode 100644 index a7ba06c7a..000000000 --- a/tests/suites/cite/data/Record_a06af396-3105-442d-8b40-22b57a90d2f2.xml +++ /dev/null @@ -1,11 +0,0 @@ - - - urn:uuid:a06af396-3105-442d-8b40-22b57a90d2f2 - http://purl.org/dc/dcmitype/Image - Lorem ipsum dolor sit amet - image/jpeg - IT-FI - \ No newline at end of file diff --git a/tests/suites/cite/data/Record_ab42a8c4-95e8-4630-bf79-33e59241605a.xml b/tests/suites/cite/data/Record_ab42a8c4-95e8-4630-bf79-33e59241605a.xml deleted file mode 100644 index b4d2a23b4..000000000 --- a/tests/suites/cite/data/Record_ab42a8c4-95e8-4630-bf79-33e59241605a.xml +++ /dev/null @@ -1,11 +0,0 @@ - - - urn:uuid:ab42a8c4-95e8-4630-bf79-33e59241605a - http://purl.org/dc/dcmitype/Service - Physiography - Suspendisse accumsan molestie lorem. Nullam velit turpis, mattis ut, varius bibendum, laoreet non, quam. - urn:uuid:88247b56-4cbc-4df9-9860-db3f8042e357 - \ No newline at end of file diff --git a/tests/suites/cite/data/Record_e9330592-0932-474b-be34-c3a3bb67c7db.xml b/tests/suites/cite/data/Record_e9330592-0932-474b-be34-c3a3bb67c7db.xml deleted file mode 100644 index 1e6bdc2da..000000000 --- a/tests/suites/cite/data/Record_e9330592-0932-474b-be34-c3a3bb67c7db.xml +++ /dev/null @@ -1,14 +0,0 @@ - - - urn:uuid:e9330592-0932-474b-be34-c3a3bb67c7db - http://purl.org/dc/dcmitype/Text - Fuscé vitae ligulä - 2003-05-09 - Land titles - text/rtf - Morbi ultriçes, dui suscipit vestibulum prètium, velit ante pretium tortor, egët tincidunt pede odio ac nulla. - diff --git a/tests/suites/cite/data/cite.db b/tests/suites/cite/data/cite.db deleted file mode 100644 index 6bbd3f18ca39cc0bbe41fb4bba50998ec26da50e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 82944 zcmeHwdyE{%d1v?3KDbL#Z+R^+P-2HK1b@%jRc6ztTA?aPR2Fqr5)mQaZ{p$7AS6@|~f8(_2QrxoaE^)CeObDVV z{3OPLAS}bbH{jpk*MOIa!3X>=Cf>7Nmj&qu)05ykh5nY&97X>Z{crR?(SJuj3>>lo za(9jZN8k=2pj05D7hi-2o`=V$o`T2TN8m9twI7~h;YR}e@gGOven;T?{$FoR2~QSo zJiL7N{K-dtaB_L|!o?N;bFHE>hx2D&TRyjX>O@RZmmAHB z+*qip%~G}2s8;1#U0yhL@xp7X=T2RC>x=U&=J|#BMp-V;zx(b8pSoPFGoQ2PPOU5h zx05!dy{o2vX?~$Rg1o7gD~$Z&nNt_OIB(E4kOO6@TxlpZxvExc6;)N_YI8(bwNkB) zP6PyCiSXM$`knxP{KpaC2<&bI7R8yTo;vWHC>9>?ds@fTgQrb(%Ql>=@4IVlYIUh= zucN{vKltg_FEH7B68(_n`fMzl?`{xy>Nx@&fnfyB%!13x3_N~n4?JF*g2%~8=D1J% z7{-6}Yv_HXqUpl-3%^mgTzI*#U;JzE;J=-LKn1l$&+aXGo@p#mRhG*&wJMcWxhg3Q zMUyltE0Qh~S<~tby^|HBt@kasi_+^si7%NwM82hQlV3+5RIlntE6Q} zM1_Z&oswFUk0Suc&YSkh8kPTTP6rgLgG)P^g(JWV5ta6)fhvEy%U%0SIj&7~H*$ENu3u$B#U=-Ly&nhb6Pxy2(_oL5N$rT*rXAv%RxfgJ z%`RQjXxkieqCF#~vHGSCscKvHdgN$R$MS3);_J0N(vErSHYKhVv-D*l=TagOy47=S zQ}dEkmfa>j^JmhDbExjwrn?RS7z}35jq^=(ojT4aAIk-1qdbfxvg~8crdLcS35W0M z=U|g-Ak(E2=#zIXgMl356{>XyWfCO|ASC}hHj;e#@>x+YYD1cZj^xTL4k zE2QHkC_`7z>PC?#WzERZq4pJ1r>Po}aJxe76b4qG+UacSme=o?y>=>wfDCFuTytWl z5mhhtB;7!6ehs`{kU|Qrs3GRxA5!BZ{ZhWM2fRT zfBZ)u2f;|v>6c7?-nEroC_!KM( z3V&RfLXV+i=o^BtQ4*);4j&e;KkgEcSe!lxL8JphYHQ6|cZNO-$ImSvyReKe9DC*T zG9L28FU-z3wrSu~XD%$CTt0`-tX{xpE}lNk<{HFvFRk^GLYVK8q-SJ~?b2)U#3Lol zFj^2}uD?{6o|7c;#$i9f110C0ZgsqF&l&zksU#2kvNX5W{D{^-{39K!?aO1Sv=0az z{SxhxZ2u^GL!pP5ZjK-#@a4J?J_d(w!L)15fawy*lOXdZypqVJ_(hQ=W&{zzZ1F=8 zP0t-TApY`Oey&4xaroav3arqPVH69Jn^VscJv!@IfOU<;^dw3f%dpvlIfAwTNJlose!i1o70F6U$$~Bk1tz8606d2wYs7nwqN}5WhSedo(i& zgY3zQJ|axTAGwC|KOg_c>VJ7)j=+x-0XCYCG5*gAFM@fH@T5k-^JF<^qdNbpB#>FpwI% zC23Qfk{-piy`zVQNXr?rc{qzrM3~|cxfWadGB8Vw$03hLvUns&Q(O}6#n%1|J_!Y6 z$mh{4J_*tkpM-nyt%s)ODhEVwQ_%!!;*iB-Su6(Hs6uUSacdTj* zqklXr`j|46f!Mit{*kFU>3|3-*>u(N6^3E-Ph>?OXcd!b_g(n-pYG)N7e`?CAuz`H z&-H)1uef=NIRYsJc>7Pm!9O?x4-^8t{XbB}%`?jpNFgw8`!9T7fOY@xq3?jr&ke8w zJ_mNd7%YMR0X+DRBe2^L_%y1C)pDgKmFrTqexaf))zl@W@%FwfkG)wQvsoT9qdn?x z@5%C*&hnVb@|eu>m>BI*dmCkW6y{KEW-}zUxB2{kw^eSQUXH*J0^^SVVCKi||AsK- zpB#bRf&g#-yQQRfIynM&9)Ypj|9$~Z`(;Q?D7Q_a>h~$Hj{-ZV}z=z}8U*zvnrwg*_K{ zi0(NPkD^1sn(APN?O@t7yMfXFL+II=L@xOJe}~pZo-B?)UIfM%|JnYZ8Q~QH{(eRH zk+>rMapCpCchG0izs$@0{G+4I68#;>p;_XSS!RjBHsz#QqVH0C^RcP9#RKByVOz&w zi%1yjTvn{%Mv`Q-fm89F$4Bqh80-rPWBznj%mccVjpo3ycxRRsVqL5Hg~5OZt^W|h)+(>y$-C4!>nTi(s;X0$o(@}+((5;C14am(fm|~?Q`-( zg^=}uOxDTM7m@{-jHK9_%P<*+?fHWP9YRh&k;N%Nn#x#NV0{0;Ty#3#Yh03$U5y*)EZ~r-g;$$3w`w#)%{_n#=+k|MWA{bEm)t>bYSXs1bMKgjPwy;O5*#SJi~q(u9oWvlxxI$R=sPw%NP*=F_9C9D_Sv zLw?U@@e8O@*$SMB*FKwJhq&pgqL9buvUqF?kYcyVxA@L8qYG@BZMY*^xoWost(I$-a4^CRjkV8b)91G_iOK5WUj5^t^O+c$s9HNEZvIKpY}nDpRU zv%XE48-~lR;BNub_RVj(*fo2)X?Q&s_bJ?j1=nd=nCQ6YbvmT9uRF2vu6W)9>sz=3 z%7M$Cp#FPZhxBk4ZgYaI9I#=8?GGv8Gb}(i5>4U77@Eforg;Dt>0XLyRX8cVuKEFW{S~gsjWdbMzUshNw*o!EF|APi!>A#O@h?S4^-gXRsd!!=4<7% zzd|pWx(DSLlujy#A?L1H3hu}_g1#i4rJW9J;-P-#0&K$+F~}X#H)#(?`NA4lfy2#U zC3JFP<5BUf4fh2^dxL_lIVF6mH+VZn;d-zhCI(bisIk3vP{%M_l;Hwj&nXq?#K!8( z09=1d4>n8!b)^p<>|Qih>tN>(I9!5D_TW}JY(nMHtu9;xXR+-@P(!@7M@#qw+cadt zt{@=yHxIEA_g_lf{%=S2a6C~Qf&2)JA^-FCpC4vU$r0F*2=Mm5Ba4M6iX(7O5E#4t zzsS!2{B`s?`b~5ey@>u4Euo)fMv{b0!>t9go1n=vnbJ%<(}<kVaG^{Iz^;jOo#5<`$I#)K z3l=+#q$^1$LE)rRF8}ZNipLYk5!f1mvB!UY{^!;Jb6<|Y4n}~t{~cU7JZT((yNm#D z|92T+9z9232O}^>`)BrldxU=?z~7&XuZSNNP8a?SdNTj%f8(I?*0ZB8WQHREDQORm zI4fouI)!8@`=-#XXnrokQfy#L=B|TX2-Pjya1LiNNYbXbBt44ya~XF(x2a`NM~6qq zXd#PHOqpU6I~Oh<$(st1DnGjk5U%v zZGxxLvkh(W?4hZ-!v{ojIEje^4@+6;U^FRa%%SMLkYN#SZM_}ys|7-F6e}9So41F8@ zJGcq>JLnViH@h4eo_vnL?nQtZ_EgJdSt`R-#%gd25o_zSp+`-sl%=XN6MohuAg$Je z`-K?YRO|ty)nIQE^9am=5E5p%{J(pv2TwUiz(-*0@t@oO@S4OC*tH1o_P=Y3jwhTW zFg60?w*Nv|DEzO&pA>!r{WUsJ_%ixk)GAy=zle^32mf&d5(s<_t%#Rgx4*Qw2$$7% zN^mXTqM^fI*JLIYix=oMci$m&eoLbB)IVEkFT3b=tH@5l2_STKyVy<;mpIg&$w{{- zC*5?e)J^39WO6%}As`cZB11VND|`;E&TNk^l$g=hV`?oclUV*FK ztzKwlCTGRXjO8NY6qA%s@f~UO@q8>Pz4%tyS{9!HU5drPvG`7DbnG_m`1@VMT-38- zAJC;@A2=4h#SB|On+BIV!%o_^7u$_Cve~5RhuEb(i*J@kpV8>(muMHP5PcKUW)`o2 zD#amiDsD_vrsr0`qEi|+mrU6Nvhrg9hm6!rMoG)WL7+6>Q52#5-->|#5&a#k{Cxte zejlMe4yCSJ;>S+?)RN*YILue+@7G+><7r zPJjCAdNHwo06_dXktRmz&%%Cma3&@W*8h$U*8jhYZlHe#ZQnyj(Q))g@hQN&ykvOt zIRbY90blU0ptk7Qy(P~xjiqL@sx-7(T~c&SmlUI=N@}xSmJCg9HOoqs%C$z~Xjc|N zuwI{vMJ4sRT2mU5R#!DisjDrCR4Og0YBU=)xn9>aL!V+{C)2?cO;`1%EUAqaq(D>3 zl1jCvM4GhOXf{YqugeoG7+?Rt3zdOK$r1SRAmDdH>@l)uVIDze!QMu-|H6|3`U~{$ z;moghk%IOX{SDE2 zE>-vCCES~ra5gXDOkTo0c?qZU5>DkMoXkr&k(UtVB`h357YEA!EsK!b|2=rko9FmG zLtxzTpRfPjXBC2H=Yc|ixBmyKxOrwd0x1M|`%l5aKR5yp6au{cKTyTZGs_W3AuvY! z5A6S*5DLc%pCB3iYw^E`UlX55#s0v3c+Ct;GvAo5?`a(q)ZnpM-mxsBtYP|;J=U;i z@twwK^Enr;a9D$TLPHajQi!RxC5$G%z;yJL#$5E zy$*J4#bG-(u*>UPJ;&5K6i(Q4*KN2YHRQ9D#b;EQ6xUG%#g4p{5v6X^WN97A;_Vm6 zfH=i8m zJBRjv>jL_(=ugl$(Kpc7VHNQA(SJrCqpzVKaZBI_uJhv=zBdT$Lr;q?Y?fNI-Bxh2 z2eZ>N*^Z~h_xiLw%Lers_6Y2Q_M>Ma-|E!k=&;BRd<_Sp#lF!BPWN~UHBuheF1g*# z;cMMaVDj?_Iy4jTaIUnOGhhF^H^t4la0Koe0%OSky#3#`QsEJE1nvz2W3+#kK(>Vm zgDlW@^Yh`R;Vtck=EDHiRVOn5_zlPmJ)%l(8>b!WUr)GLDODC@T6ZL|OW{7m z#rdPN7=AAq`ci!S`_ah$x}rA0(78#ZR$VJg3aQHyp#7WyF@g{wF!{F;hD~5kKzu|JqH^m=`LWn zgHoq9adFq`bW8^vF2Tk&pvPu!0qa(`YZ(^1OL74dukFziJ^`^{6QTfeOl;l5S7^t7 zDFw-m_|3k=%mu?8F-P$&l@rF>mIcNs%rQr&_MSQG<0jMessJS*oc^O6~2J;sU&HdI{Q+%cQAE%|_jjlxDRlsa2&e z>2iZ;O080c4HkY&N^~)U#girMb zZ^tOyfzrdoF#D#X!?hl`=XE;JBH{j7+Ua=CriSMCiqPdQy<&NAB}lLRiggX^HgwOd z(Or|Qw!UQ0))F`^EuTGqa;aXbRF)LES`WKa=u}zo)7DjLAGhotwU5@zCD^lqD{`q( zQ(jse_VytOgI(;yCe=Z(W=W}(aivjGtK}eA(mO!Xk1dhbqnTYrj>6iys|X7O*VU07hdp7CP>jjP)tF3;Ddob^ubCqB4Z!LB5VJ0+`#h; z{SQ({QLhu)sA~hF?O(w&s9hoWCgva_RcclH-??*wQPGp1D%9_-I9htDBvId(e%M=6!Qc>zH z!>BY37#DAMI*}v-2@>U#B5(gz@8h3?m>T$nl~(kO&I$pOwec!#pZE_ z*`|)`pVn0^RpyVzm(Y)F{7ZvVH{ywvnqzONA6FDKYdp_`>DDbg8qc=?2;(@9IG%Up z$;OsVJLJ6u=a_Fa+sVUqtR_5GV14m+=HcO7;F@EkYT8vfsAc7HW$_Cur_cMxq--;3 zZ!{HJB`rfDDm)aJwM!~ds}hl$N>grB^d{A_TbbVoj&;n-9_iv1C<$P!^12xG3@}bz zW;0bbLmky%ww2^FM&7|#`P#Z+TWy>4FRe?`2~+p4;j>NZjBZpT25eZj@o9&LYPRBh z6pns}Bi-4_?LLj~Hez^w6I!;Zc^$~JpIcwA5Kk>&dI30?T@cR=6Q&wh=p_>-?xcjz z_%jMehtjtLt$^;?4jbIfyn}b1lEZl0!r8jH2LpO0*y*tz5XCq~j&%cf0iG?p2$tS$ zvwT;Qm5EUdNK%9VteE}Jr0^>OdZqAj;fVO3;B_bbK0G}6Qv2Y=x!Q-_8;=VstHMU( z<#f6Zvd_b5x9BVCc=OcH`$PJHyubR@?!*xvwVykAoeJlV3j(0jj!@a=B?2wS01Z(s z|J?H^we&Lt}&+bBeibKg9y_6CXTO_`ILD57w`LSvW5U8;@qh%$zs; z>X9Uf_*HVK6Y^FGU~v2cSq!S`2i8~Cgwg;IwJzj)+^^~-Hp7D*HM#$wStRB^2G9HW9eQHoPgYTJ62X{Q33FdHFx7T$@uN19H zc^%g_bqecn9e(#W zVd~)?g$2O80)Cz%+`5^B#RQ7Bkx*moqlxj(hHJ}K8D?>3=U_DaZ2T_>zatdB2alcp z`}w&&feiQyZ`?R2oR@@+H{^7hlVab-(`mni%$Y|Y^B_wYcTl&J2kJXB20&@Q{^9e} z;k@y=8#0?ETt5{^p~F>S^!F`|T)V!400yTR4rxg)5YkqN2Rb2U^bw2~!6=&+&u(Fu zjdh~ZaoYlelU}gCKG39%7(S1CHqlJivzfx%?3o0tPhfQO*PPgZM_?hGEk!MWx+)wg z2ZJOV=@zg*Zh|^Xhb43uQ`>T|KL8V*S*wg#pz>GHL6`3<+5(LUyHC;2y6+aG@(!=D zD~(c3tzk(imDNW6HTGJiRIM~{xzuc`V=uAiX{0$v`QeI_)Wb(*kMZ3v-GLU66(N*t z3TBLx@a4+caK7$-21c}*xKc(I08nqh)WXl*0;@#u!SYsJU{ym+y{Cx$k6``ZxBP=z zozmkc4}Al_*f=ku8rP8TP7X3T=2drQkQvoiKL2dBtRC@t@V{I+g2Q>#NZY#}el-7xQ7(nT(Xt$n@CW|zXKC8rRfEfyH^ z=qT^V+@Ue1#SLWTwBP=P?+Wa1m;HYBmDzB$;n4Mmh1FxDlb_TGBq^e)9x2yJOIGWW zT!HRYQL2X2WGAOrt6Hr=)Ur`+Rd+;j{g}kGtyR2v(7S!f%U5^%!AHqm2^)HBSfDJ8 zj2?m@>Dg+y7%|X%)3#4Ev_ugrbWdH7UOmM~VyCR7ggh8*EeZJfOmALDXDD7~plyu( zv~8)8^drp1CkBBv33in8K)%2C(|~R2m!?!nQ&%LlMw@UGf()yIt%fSeGOdBhex+Wn z5x*dBYc(s|0Phxb8%f2gpOj(IJYha7Ex7}%h1O`btlbKm=8T9Uh z)q;p(F!nQ30_=w#ZA>sQm~p{YlpO)%N3}^9jkeLQShi+je?dRcGBWc3w)7vZZ(NDZ zT>CbosUC4nCLH){9l_E`A9nSE8wN`O_+u+1jIegZg_QPm)9`w3utegU3cxyvzvpn1 zFp;s5Cr>$UJ^lxVzN}Dgew-|jo8R?lc c-`WP4EhPY!nNeA}=c!Df1scQ -# -# Copyright (c) 2012 Tom Kralidis -# -# Permission is hereby granted, free of charge, to any person -# obtaining a copy of this software and associated documentation -# files (the "Software"), to deal in the Software without -# restriction, including without limitation the rights to use, -# copy, modify, merge, publish, distribute, sublicense, and/or sell -# copies of the Software, and to permit persons to whom the -# Software is furnished to do so, subject to the following -# conditions: -# -# The above copyright notice and this permission notice shall be -# included in all copies or substantial portions of the Software. -# -# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -# EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES -# OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -# NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT -# HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, -# WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING -# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR -# OTHER DEALINGS IN THE SOFTWARE. -# -# ================================================================= - -[server] -home=. -url=http://localhost/pycsw/csw.py?config=tests/suites/cite/default.cfg -mimetype=application/xml; charset=UTF-8 -encoding=UTF-8 -language=en-US -#maxrecords=10 -federatedcatalogues=http://geo.data.gov/geoportal/csw/discovery -pretty_print=true -#spatial_ranking=true -gzip_compresslevel=9 - -[manager] -transactions=true -allowed_ips=127.0.0.1 -csw_harvest_pagination_size=10 - -[metadata:main] -identification_title=pycsw Geospatial Catalogue -identification_abstract=pycsw is an OGC CSW server implementation written in Python -identification_keywords=catalogue,discovery -identification_keywords_type=theme -identification_fees=None -identification_accessconstraints=None -provider_name=pycsw -provider_url=http://pycsw.org/ -contact_name=Kralidis, Tom -contact_position=Senior Systems Scientist -contact_address=TBA -contact_city=Toronto -contact_stateorprovince=Ontario -contact_postalcode=M9C 3Z9 -contact_country=Canada -contact_phone=+01-416-xxx-xxxx -contact_fax=+01-416-xxx-xxxx -contact_email=tomkralidis@gmail.com -contact_url=http://kralidis.ca/ -contact_hours=0800h - 1600h EST -contact_instructions=During hours of service. Off on weekends. -contact_role=pointOfContact - -[repository] -# sqlite -database=sqlite:///tests/suites/cite/data/records.db -table=records - -[metadata:inspire] -#enabled=true -languages_supported=eng,gre -default_language=eng -date=2011-03-29 -gemet_keywords=Utility and governmental services -conformity_service=notEvaluated -contact_name=National Technical University of Athens -contact_email=tzotsos@gmail.com -temp_extent=2011-02-01/2011-03-30 - diff --git a/tests/suites/cite/get/requests.txt b/tests/suites/cite/get/requests.txt deleted file mode 100644 index 271982886..000000000 --- a/tests/suites/cite/get/requests.txt +++ /dev/null @@ -1,22 +0,0 @@ -27e17158-c57a-4493-92ac-dba8934cf462,service=CSW&version=2.0.2&request=GetCapabilities -27f69b66-5f05-4311-a89c-73ca55c2686b,Service=CSW&Version=2.0.2&Request=GetRecordById&ElementSetName=brief&ID=urn%3Auuid%3A19887a8a-f6b0-4a63-ae56-7fba0e17801f -2ab7d1fa-885b-459f-80e4-b6282eab4f8c,service=CSW&request=GetCapabilities&acceptversions=2.0.2&date=2006-10-20 -37aa90e2-6ff0-420c-af15-8b9463099a73,service=CSW&version=2.0.2&request=GetRecordById&id=urn%3Auuid%3A9a669547-b69b-469f-a11f-2d875366bbdc -3a8a3c47-455f-4f49-9078-03119f3e70b3,service=CSW&request=GetCapabilities&acceptformats=message/example -4515831f-834a-4699-95f6-ab0c2cbfcfd0,service=CSW&version=2.0.2&request=GetRecordById -477b23a3-baa9-47c8-9541-5fe27735ed49,service=CSW&request=GetCapabilities§ions= -48f26761-3a9d-48db-bee1-da089f5fb857,sErViCe=CSW&REQUEST=GetCapabilities&version=2.0.2 -4e38092f-1586-44b8-988e-0acfa5855916,Service=CSW&Version=2.0.2&Request=GetRecordById&OutputFormat=application/bogus_xml&id=urn:uuid:a06af396-3105-442d-8b40-22b57a90d2f2,urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f,urn:uuid:ab42a8c4-95e8-4630-bf79-33e59241605a -55c38f00-2553-42c1-99ab-33edbb561ad7,service=CSW&request=GetCapabilities§ions=OperationsMetadata,ServiceIdentification -5ab5db18-c87a-4fbf-a8d8-b7289b09ac81,service=FOO&request=GetCapabilities -6a4f57ca-a1bd-4802-89c2-44860dbdb0f0,service=CSW&version=2.0.2&request=GetRecordById&id=urn:uuid:ce8627a0-685c-11db-bd13-0800200c9a66,urn:uuid:6a3de50b-fa66-4b58-a0e6-ca146fdd18d4 -6c375703-9c00-4aef-bec7-d2e964f849eb,Service=CSW&Version=2.0.2&Request=GetRecordById&OutputSchema=http://www.w3.org/2005/Atom&Id=urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f -80f31def-4185-48b9-983a-960566918eae,service=CSW&request=GetCapabilities -8e2232ed-05d9-44ae-8b04-0911cbe6a507,SERVICE=CSW&REQUEST=GetCapabilities&ACCEPTVERSIONS=2006.10.29 -9697f0aa-3b6a-4125-83a5-61e8826127c4,service=CSW&request=GetCapabilities -9bfd17fa-15dc-4a10-8fa7-b3cff7013dd7,Service=CSW&Version=2.0.2&Request=GetRecordById&ElementSetName=full&ID=urn%3Auuid%3Ae9330592-0932-474b-be34-c3a3bb67c7db -b81c3595-06d6-4693-82ea-1ff8650755ac,service=CSW&version=2.0.2&request=GetRecordById&id=urn:uuid:ce8627a0-685c-11db-bd13-0800200c9a66 -ba5fc729-3b71-47a0-b7d0-42ec565cd185,SERVICE=CSW&REQUEST=GetCapabilities&ACCEPTVERSIONS=2.0.2,2.0.0 -c4ea754f-c158-4d8d-8253-dc8f86021b52,request=GetCapabilities -f4692ec5-9547-4a05-88ab-e6154af2640a,service=CSW&version=2.0.2&request=GetCapabilities -f997f25e-c865-4d53-a362-0ed1846337f2,service=CSW&version=2.0.2&request=GetRecordById&id=urn:uuid:94bc9c83-97f6-4b40-9eb8-a8e8787a5c63 diff --git a/tests/suites/cite/post/0c976d98-c896-4b10-b1fe-a22ef50434e7.xml b/tests/suites/cite/post/0c976d98-c896-4b10-b1fe-a22ef50434e7.xml deleted file mode 100644 index c73f51141..000000000 --- a/tests/suites/cite/post/0c976d98-c896-4b10-b1fe-a22ef50434e7.xml +++ /dev/null @@ -1,20 +0,0 @@ - - - - dc:identifier - ows:BoundingBox - - - - - ows:BoundingBox - - 60.0 12.0 - 70.0 20.0 - - - - - - - diff --git a/tests/suites/cite/post/19d2a6ed-be28-4866-ae15-e3bb634486cb.xml b/tests/suites/cite/post/19d2a6ed-be28-4866-ae15-e3bb634486cb.xml deleted file mode 100644 index 6823bcfce..000000000 --- a/tests/suites/cite/post/19d2a6ed-be28-4866-ae15-e3bb634486cb.xml +++ /dev/null @@ -1,20 +0,0 @@ - - - - brief - - - - dc:title - Fuscé vitae ligulä - - - - - - dc:format - DESC - - - - diff --git a/tests/suites/cite/post/1ab55aa3-6685-4595-8ecd-45987a7b8b59.xml b/tests/suites/cite/post/1ab55aa3-6685-4595-8ecd-45987a7b8b59.xml deleted file mode 100644 index cd46b042d..000000000 --- a/tests/suites/cite/post/1ab55aa3-6685-4595-8ecd-45987a7b8b59.xml +++ /dev/null @@ -1,14 +0,0 @@ - - - - full - - - - csw:AnyText - *lorem* - - - - - diff --git a/tests/suites/cite/post/1c958b7a-ca09-4c38-98bd-ef1d1d28cc14.xml b/tests/suites/cite/post/1c958b7a-ca09-4c38-98bd-ef1d1d28cc14.xml deleted file mode 100644 index dabb279ee..000000000 --- a/tests/suites/cite/post/1c958b7a-ca09-4c38-98bd-ef1d1d28cc14.xml +++ /dev/null @@ -1,6 +0,0 @@ - - - - summary - - diff --git a/tests/suites/cite/post/1c97fc1a-61cd-4c1d-8054-933e17a6c5ee.xml b/tests/suites/cite/post/1c97fc1a-61cd-4c1d-8054-933e17a6c5ee.xml deleted file mode 100644 index d2e53427e..000000000 --- a/tests/suites/cite/post/1c97fc1a-61cd-4c1d-8054-933e17a6c5ee.xml +++ /dev/null @@ -1,14 +0,0 @@ - - - - brief - - - - /dc:title - *lorem* - - - - - diff --git a/tests/suites/cite/post/2102a460-5d62-465f-9668-d70b3faafbfa.xml b/tests/suites/cite/post/2102a460-5d62-465f-9668-d70b3faafbfa.xml deleted file mode 100644 index da787a01f..000000000 --- a/tests/suites/cite/post/2102a460-5d62-465f-9668-d70b3faafbfa.xml +++ /dev/null @@ -1,14 +0,0 @@ - - - - brief - - - - dc:subject - pHYSIOGRAPHy - - - - - diff --git a/tests/suites/cite/post/225f455a-0035-486b-a94e-fee7ae881b2b.xml b/tests/suites/cite/post/225f455a-0035-486b-a94e-fee7ae881b2b.xml deleted file mode 100644 index d83d4883e..000000000 --- a/tests/suites/cite/post/225f455a-0035-486b-a94e-fee7ae881b2b.xml +++ /dev/null @@ -1,16 +0,0 @@ - - - - dc:identifier - dc:type - dc:date - - - - dc:date - 2006-03-26 - - - - - diff --git a/tests/suites/cite/post/2d53ffea-60e4-4652-abf5-36eb23042fd5.xml b/tests/suites/cite/post/2d53ffea-60e4-4652-abf5-36eb23042fd5.xml deleted file mode 100644 index 19bb2e0a6..000000000 --- a/tests/suites/cite/post/2d53ffea-60e4-4652-abf5-36eb23042fd5.xml +++ /dev/null @@ -1,6 +0,0 @@ - - - - brief - - diff --git a/tests/suites/cite/post/34a019a9-1581-42cb-9827-fbfdda2773b7.xml b/tests/suites/cite/post/34a019a9-1581-42cb-9827-fbfdda2773b7.xml deleted file mode 100644 index 4451d7c05..000000000 --- a/tests/suites/cite/post/34a019a9-1581-42cb-9827-fbfdda2773b7.xml +++ /dev/null @@ -1,6 +0,0 @@ - - - - brief - - diff --git a/tests/suites/cite/post/3e76fd38-e035-41c9-83dc-61356f680c97.xml b/tests/suites/cite/post/3e76fd38-e035-41c9-83dc-61356f680c97.xml deleted file mode 100644 index cfa0b1c60..000000000 --- a/tests/suites/cite/post/3e76fd38-e035-41c9-83dc-61356f680c97.xml +++ /dev/null @@ -1,4 +0,0 @@ - - - csw:Record - diff --git a/tests/suites/cite/post/418a6fb0-a89c-4a94-afc9-3f8168eb2980.xml b/tests/suites/cite/post/418a6fb0-a89c-4a94-afc9-3f8168eb2980.xml deleted file mode 100644 index 84a7fc7de..000000000 --- a/tests/suites/cite/post/418a6fb0-a89c-4a94-afc9-3f8168eb2980.xml +++ /dev/null @@ -1,25 +0,0 @@ - - - - dc:identifier - dc:date - ows:BoundingBox - - - - - ows:BoundingBox - - 47.0 -4.5 - 52.0 1.0 - - - - dc:date - 2006-01-01 - - - - - - diff --git a/tests/suites/cite/post/420b745e-0c4b-404e-9f2d-61fa580ff05a.xml b/tests/suites/cite/post/420b745e-0c4b-404e-9f2d-61fa580ff05a.xml deleted file mode 100644 index f31dca0ba..000000000 --- a/tests/suites/cite/post/420b745e-0c4b-404e-9f2d-61fa580ff05a.xml +++ /dev/null @@ -1,16 +0,0 @@ - - - - dc:identifier - dc:type - dc:date - - - - dc:date - 2004-01-01 - - - - - diff --git a/tests/suites/cite/post/4735d649-a2b1-42fd-a101-14e1d7e4607f.xml b/tests/suites/cite/post/4735d649-a2b1-42fd-a101-14e1d7e4607f.xml deleted file mode 100644 index 44672f629..000000000 --- a/tests/suites/cite/post/4735d649-a2b1-42fd-a101-14e1d7e4607f.xml +++ /dev/null @@ -1,6 +0,0 @@ - - - - summary - - diff --git a/tests/suites/cite/post/5c5861bc-f742-40a5-9998-5342615d674b.xml b/tests/suites/cite/post/5c5861bc-f742-40a5-9998-5342615d674b.xml deleted file mode 100644 index b127a7dcf..000000000 --- a/tests/suites/cite/post/5c5861bc-f742-40a5-9998-5342615d674b.xml +++ /dev/null @@ -1,14 +0,0 @@ - - - - full - - - - csw:AnyText - *lorem* - - - - - diff --git a/tests/suites/cite/post/6e736fd0-c266-4852-9eb3-0656f5d0f5c4.xml b/tests/suites/cite/post/6e736fd0-c266-4852-9eb3-0656f5d0f5c4.xml deleted file mode 100644 index 28e25bfaf..000000000 --- a/tests/suites/cite/post/6e736fd0-c266-4852-9eb3-0656f5d0f5c4.xml +++ /dev/null @@ -1,6 +0,0 @@ - - - - summary - - diff --git a/tests/suites/cite/post/73f1551c-e269-4ef9-9dae-e535b5eebfc7.xml b/tests/suites/cite/post/73f1551c-e269-4ef9-9dae-e535b5eebfc7.xml deleted file mode 100644 index 160cf6d18..000000000 --- a/tests/suites/cite/post/73f1551c-e269-4ef9-9dae-e535b5eebfc7.xml +++ /dev/null @@ -1,14 +0,0 @@ - - - - full - - - - dc:date - 200?-10-* - - - - - diff --git a/tests/suites/cite/post/78297c88-4850-4927-adc6-511cd9a3d539.xml b/tests/suites/cite/post/78297c88-4850-4927-adc6-511cd9a3d539.xml deleted file mode 100644 index 5b0e1b92c..000000000 --- a/tests/suites/cite/post/78297c88-4850-4927-adc6-511cd9a3d539.xml +++ /dev/null @@ -1,2 +0,0 @@ - - \ No newline at end of file diff --git a/tests/suites/cite/post/7c89cdf5-0def-4cfb-8c55-2b8ffea5d92f.xml b/tests/suites/cite/post/7c89cdf5-0def-4cfb-8c55-2b8ffea5d92f.xml deleted file mode 100644 index 0ea98491e..000000000 --- a/tests/suites/cite/post/7c89cdf5-0def-4cfb-8c55-2b8ffea5d92f.xml +++ /dev/null @@ -1,6 +0,0 @@ - - - - summary - - diff --git a/tests/suites/cite/post/7e2cd105-daec-4d25-bc8e-d49d21364912.xml b/tests/suites/cite/post/7e2cd105-daec-4d25-bc8e-d49d21364912.xml deleted file mode 100644 index 81865e378..000000000 --- a/tests/suites/cite/post/7e2cd105-daec-4d25-bc8e-d49d21364912.xml +++ /dev/null @@ -1,4 +0,0 @@ - - - csw:DummyRecord - diff --git a/tests/suites/cite/post/87f2f670-9cd6-4907-b82c-1b46a7dd2a78.xml b/tests/suites/cite/post/87f2f670-9cd6-4907-b82c-1b46a7dd2a78.xml deleted file mode 100644 index 4c03f7935..000000000 --- a/tests/suites/cite/post/87f2f670-9cd6-4907-b82c-1b46a7dd2a78.xml +++ /dev/null @@ -1,8 +0,0 @@ - - - - dc:identifier - dc:type - dc:date - - diff --git a/tests/suites/cite/post/88b4e1ba-3bd4-4cbe-81e5-e004056d6ca3.xml b/tests/suites/cite/post/88b4e1ba-3bd4-4cbe-81e5-e004056d6ca3.xml deleted file mode 100644 index b683c9954..000000000 --- a/tests/suites/cite/post/88b4e1ba-3bd4-4cbe-81e5-e004056d6ca3.xml +++ /dev/null @@ -1,4 +0,0 @@ - - - csw:Record - diff --git a/tests/suites/cite/post/898cd63b-2585-4ec0-8720-d554bd324174.xml b/tests/suites/cite/post/898cd63b-2585-4ec0-8720-d554bd324174.xml deleted file mode 100644 index 6c0e09407..000000000 --- a/tests/suites/cite/post/898cd63b-2585-4ec0-8720-d554bd324174.xml +++ /dev/null @@ -1,20 +0,0 @@ - - - - summary - - - - - dc:format - image/* - - - dc:relation - urn:uuid:9a669547-b69b-469f-a11f-2d875366bbdc - - - - - - diff --git a/tests/suites/cite/post/8fb13dc3-5818-45e2-9e29-46abc16e7d38.xml b/tests/suites/cite/post/8fb13dc3-5818-45e2-9e29-46abc16e7d38.xml deleted file mode 100644 index 9a4bd54d6..000000000 --- a/tests/suites/cite/post/8fb13dc3-5818-45e2-9e29-46abc16e7d38.xml +++ /dev/null @@ -1,20 +0,0 @@ - - - - dc:identifier - ows:BoundingBox - - - - - ows:BoundingBox - - 60.0 12.0 - 70.0 20.0 - - - - - - - diff --git a/tests/suites/cite/post/928c1896-52d4-4ac7-9832-f98e3eb65f02.xml b/tests/suites/cite/post/928c1896-52d4-4ac7-9832-f98e3eb65f02.xml deleted file mode 100644 index d1d69e9cd..000000000 --- a/tests/suites/cite/post/928c1896-52d4-4ac7-9832-f98e3eb65f02.xml +++ /dev/null @@ -1,16 +0,0 @@ - - - - dc:identifier - dc:type - dc:date - - - - dc:date - 2005-10-24 - - - - - diff --git a/tests/suites/cite/post/93bdbb9d-2734-4f01-92fb-48634cca41de.xml b/tests/suites/cite/post/93bdbb9d-2734-4f01-92fb-48634cca41de.xml deleted file mode 100644 index f2389b702..000000000 --- a/tests/suites/cite/post/93bdbb9d-2734-4f01-92fb-48634cca41de.xml +++ /dev/null @@ -1,18 +0,0 @@ - - - - dc:identifier - ows:BoundingBox - - - - /ows:BoundingBox - - 47.0 -4.5 - 52.0 1.0 - - - - - - diff --git a/tests/suites/cite/post/948b39d5-bb4f-45b8-a8f2-4ff9501aaedd.xml b/tests/suites/cite/post/948b39d5-bb4f-45b8-a8f2-4ff9501aaedd.xml deleted file mode 100644 index 14c9935af..000000000 --- a/tests/suites/cite/post/948b39d5-bb4f-45b8-a8f2-4ff9501aaedd.xml +++ /dev/null @@ -1,14 +0,0 @@ - - - - dc:identifier - dc:type - dc:date - - - dc:date - DESC - - - - diff --git a/tests/suites/cite/post/9fd64fcc-f69c-4626-b72e-5c7776a29aa9.xml b/tests/suites/cite/post/9fd64fcc-f69c-4626-b72e-5c7776a29aa9.xml deleted file mode 100644 index c90f2b69e..000000000 --- a/tests/suites/cite/post/9fd64fcc-f69c-4626-b72e-5c7776a29aa9.xml +++ /dev/null @@ -1,4 +0,0 @@ - - - Record - diff --git a/tests/suites/cite/post/a06d04ab-e0d0-4a86-bfe8-71460f41fe37.xml b/tests/suites/cite/post/a06d04ab-e0d0-4a86-bfe8-71460f41fe37.xml deleted file mode 100644 index 19bb2e0a6..000000000 --- a/tests/suites/cite/post/a06d04ab-e0d0-4a86-bfe8-71460f41fe37.xml +++ /dev/null @@ -1,6 +0,0 @@ - - - - brief - - diff --git a/tests/suites/cite/post/ad61686c-d304-42d1-b845-8c1f3070c83e.xml b/tests/suites/cite/post/ad61686c-d304-42d1-b845-8c1f3070c83e.xml deleted file mode 100644 index 843265b2d..000000000 --- a/tests/suites/cite/post/ad61686c-d304-42d1-b845-8c1f3070c83e.xml +++ /dev/null @@ -1,14 +0,0 @@ - - - - brief - - - - dc:title - Maecenas enim - - - - - diff --git a/tests/suites/cite/post/af39c020-7b1d-429c-b474-f45c3164cb79.xml b/tests/suites/cite/post/af39c020-7b1d-429c-b474-f45c3164cb79.xml deleted file mode 100644 index 50566b7fb..000000000 --- a/tests/suites/cite/post/af39c020-7b1d-429c-b474-f45c3164cb79.xml +++ /dev/null @@ -1,14 +0,0 @@ - - - - summary - - - - dc:title - Lorem ipsum* - - - - - diff --git a/tests/suites/cite/post/b90e2de6-3d25-4298-a13e-dc9492a8fc73.xml b/tests/suites/cite/post/b90e2de6-3d25-4298-a13e-dc9492a8fc73.xml deleted file mode 100644 index aa555faa6..000000000 --- a/tests/suites/cite/post/b90e2de6-3d25-4298-a13e-dc9492a8fc73.xml +++ /dev/null @@ -1,16 +0,0 @@ - - - - summary - - - - - dc:title - Lorem ipsum* - - - - - - diff --git a/tests/suites/cite/post/ba9b0107-dcee-46ef-823a-a2e25a911a96.xml b/tests/suites/cite/post/ba9b0107-dcee-46ef-823a-a2e25a911a96.xml deleted file mode 100644 index 53e552d24..000000000 --- a/tests/suites/cite/post/ba9b0107-dcee-46ef-823a-a2e25a911a96.xml +++ /dev/null @@ -1,20 +0,0 @@ - - - - summary - - - - - dc:format - application/*xml - - - dc:type - http://purl.org/dc/dcmitype/Image - - - - - - diff --git a/tests/suites/cite/post/bb66ebc5-7121-48b5-9f53-b56537d9561b.xml b/tests/suites/cite/post/bb66ebc5-7121-48b5-9f53-b56537d9561b.xml deleted file mode 100644 index 873cda46f..000000000 --- a/tests/suites/cite/post/bb66ebc5-7121-48b5-9f53-b56537d9561b.xml +++ /dev/null @@ -1,27 +0,0 @@ - - - - dc:identifier - dc:type - ows:BoundingBox - - - - - - ows:BoundingBox - - 40.0 -9.0 - 50.0 -5.0 - - - - - dc:type - HTTP://purl.org/dc/dcmitype/dataset - - - - - - diff --git a/tests/suites/cite/post/c02d1c85-df9f-45ee-bea7-345c35e02a98.xml b/tests/suites/cite/post/c02d1c85-df9f-45ee-bea7-345c35e02a98.xml deleted file mode 100644 index dde6f18da..000000000 --- a/tests/suites/cite/post/c02d1c85-df9f-45ee-bea7-345c35e02a98.xml +++ /dev/null @@ -1,16 +0,0 @@ - - - - brief - - - - dc:title - - input.argument - - - - - - diff --git a/tests/suites/cite/post/c311a342-72e3-4983-be39-868e6ed9740f.xml b/tests/suites/cite/post/c311a342-72e3-4983-be39-868e6ed9740f.xml deleted file mode 100644 index 52008563a..000000000 --- a/tests/suites/cite/post/c311a342-72e3-4983-be39-868e6ed9740f.xml +++ /dev/null @@ -1,4 +0,0 @@ - - - csw:Record - diff --git a/tests/suites/cite/post/c38916c2-4bc6-446d-b7aa-ab006d6ba31c.xml b/tests/suites/cite/post/c38916c2-4bc6-446d-b7aa-ab006d6ba31c.xml deleted file mode 100644 index b58e172a0..000000000 --- a/tests/suites/cite/post/c38916c2-4bc6-446d-b7aa-ab006d6ba31c.xml +++ /dev/null @@ -1,25 +0,0 @@ - - - - dc:identifier - dc:date - ows:BoundingBox - - - - - ows:BoundingBox - - 47.0 -4.5 - 52.0 1.0 - - - - dc:date - 2006-01-01 - - - - - - diff --git a/tests/suites/cite/post/c8588f47-8e65-45f5-ad34-ff4524cad84d.xml b/tests/suites/cite/post/c8588f47-8e65-45f5-ad34-ff4524cad84d.xml deleted file mode 100644 index 0b55fed66..000000000 --- a/tests/suites/cite/post/c8588f47-8e65-45f5-ad34-ff4524cad84d.xml +++ /dev/null @@ -1,17 +0,0 @@ - - - - brief - - - - dct:spatial - - 47.0 -4.5 - 52.0 1.0 - - - - - - diff --git a/tests/suites/cite/post/da228d4c-e1be-43d7-9ccb-c3f27ee32541.xml b/tests/suites/cite/post/da228d4c-e1be-43d7-9ccb-c3f27ee32541.xml deleted file mode 100644 index a694ce4e5..000000000 --- a/tests/suites/cite/post/da228d4c-e1be-43d7-9ccb-c3f27ee32541.xml +++ /dev/null @@ -1,14 +0,0 @@ - - - - summary - - - - /dc:title - *lorem* - - - - - diff --git a/tests/suites/cite/post/dc92c2c4-87d8-4a13-964e-ff9b0e0c27b3.xml b/tests/suites/cite/post/dc92c2c4-87d8-4a13-964e-ff9b0e0c27b3.xml deleted file mode 100644 index de0ae7a91..000000000 --- a/tests/suites/cite/post/dc92c2c4-87d8-4a13-964e-ff9b0e0c27b3.xml +++ /dev/null @@ -1,16 +0,0 @@ - - - - dc:identifier - dc:type - dc:date - - - - dc:date - 2006-05-01 - - - - - diff --git a/tests/suites/cite/post/dcb13791-379e-4739-bcd4-dbaa69f0efdb.xml b/tests/suites/cite/post/dcb13791-379e-4739-bcd4-dbaa69f0efdb.xml deleted file mode 100644 index 81aea41d7..000000000 --- a/tests/suites/cite/post/dcb13791-379e-4739-bcd4-dbaa69f0efdb.xml +++ /dev/null @@ -1,6 +0,0 @@ - - - - brief - - diff --git a/tests/suites/cite/post/e308f030-c097-4036-a838-44bad74c9ef7.xml b/tests/suites/cite/post/e308f030-c097-4036-a838-44bad74c9ef7.xml deleted file mode 100644 index 19bb2e0a6..000000000 --- a/tests/suites/cite/post/e308f030-c097-4036-a838-44bad74c9ef7.xml +++ /dev/null @@ -1,6 +0,0 @@ - - - - brief - - diff --git a/tests/suites/cite/post/e6e9efb2-e2b7-4b0a-a3a2-7deea3f9b8e2.xml b/tests/suites/cite/post/e6e9efb2-e2b7-4b0a-a3a2-7deea3f9b8e2.xml deleted file mode 100644 index 6dc06f199..000000000 --- a/tests/suites/cite/post/e6e9efb2-e2b7-4b0a-a3a2-7deea3f9b8e2.xml +++ /dev/null @@ -1,12 +0,0 @@ - - - - brief - - - dc:identifier - ASC - - - - diff --git a/tests/suites/cite/post/f7976c55-a156-4421-8199-bc0487da4b0f.xml b/tests/suites/cite/post/f7976c55-a156-4421-8199-bc0487da4b0f.xml deleted file mode 100644 index 52008563a..000000000 --- a/tests/suites/cite/post/f7976c55-a156-4421-8199-bc0487da4b0f.xml +++ /dev/null @@ -1,4 +0,0 @@ - - - csw:Record - diff --git a/tests/suites/cite/post/f7d79701-f10b-4087-a33c-f62df0a04fd1.xml b/tests/suites/cite/post/f7d79701-f10b-4087-a33c-f62df0a04fd1.xml deleted file mode 100644 index 19bb2e0a6..000000000 --- a/tests/suites/cite/post/f7d79701-f10b-4087-a33c-f62df0a04fd1.xml +++ /dev/null @@ -1,6 +0,0 @@ - - - - brief - - diff --git a/tests/suites/cite/post/fc1bc094-88f1-4851-bc2b-dfc56be9f3c7.xml b/tests/suites/cite/post/fc1bc094-88f1-4851-bc2b-dfc56be9f3c7.xml deleted file mode 100644 index 186beb174..000000000 --- a/tests/suites/cite/post/fc1bc094-88f1-4851-bc2b-dfc56be9f3c7.xml +++ /dev/null @@ -1,14 +0,0 @@ - - - - brief - - - - dc:title - Fuscé vitae ligulä - - - - - diff --git a/tests/suites/cite/post/fe20960f-a26c-4f13-852d-470a0d3233f9.xml b/tests/suites/cite/post/fe20960f-a26c-4f13-852d-470a0d3233f9.xml deleted file mode 100644 index d011b2e68..000000000 --- a/tests/suites/cite/post/fe20960f-a26c-4f13-852d-470a0d3233f9.xml +++ /dev/null @@ -1,14 +0,0 @@ - - - - brief - - - - dc:subject - pHYSIOGRAPHy - - - - - diff --git a/tests/suites/csw30/default.cfg b/tests/suites/csw30/default.cfg deleted file mode 100644 index 328045bb4..000000000 --- a/tests/suites/csw30/default.cfg +++ /dev/null @@ -1,90 +0,0 @@ -# ================================================================= -# -# Authors: Tom Kralidis -# -# Copyright (c) 2011 Tom Kralidis -# -# Permission is hereby granted, free of charge, to any person -# obtaining a copy of this software and associated documentation -# files (the "Software"), to deal in the Software without -# restriction, including without limitation the rights to use, -# copy, modify, merge, publish, distribute, sublicense, and/or sell -# copies of the Software, and to permit persons to whom the -# Software is furnished to do so, subject to the following -# conditions: -# -# The above copyright notice and this permission notice shall be -# included in all copies or substantial portions of the Software. -# -# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -# EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES -# OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -# NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT -# HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, -# WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING -# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR -# OTHER DEALINGS IN THE SOFTWARE. -# -# ================================================================= - -[server] -home=. -url=http://localhost/pycsw/csw.py?config=tests/suites/csw30/default.cfg -mimetype=application/xml; charset=UTF-8 -encoding=UTF-8 -language=en-US -maxrecords=10 -#loglevel=DEBUG -#logfile=/tmp/pycsw.log -#ogc_schemas_base=http://foo -federatedcatalogues=http://demo.pycsw.org/gisdata/csw -pretty_print=true -#gzip_compresslevel=8 -#spatial_ranking=true - -[manager] -transactions=false -allowed_ips=127.0.0.1 - -[metadata:main] -identification_title=pycsw Geospatial Catalogue -identification_abstract=pycsw is an OGC CSW server implementation written in Python -identification_keywords=catalogue,discovery -identification_keywords_type=theme -identification_fees=None -identification_accessconstraints=None -provider_name=pycsw -provider_url=http://pycsw.org/ -contact_name=Kralidis, Tom -contact_position=Senior Systems Scientist -contact_address=TBA -contact_city=Toronto -contact_stateorprovince=Ontario -contact_postalcode=M9C 3Z9 -contact_country=Canada -contact_phone=+01-416-xxx-xxxx -contact_fax=+01-416-xxx-xxxx -contact_email=tomkralidis@gmail.com -contact_url=http://kralidis.ca/ -contact_hours=0800h - 1600h EST -contact_instructions=During hours of service. Off on weekends. -contact_role=pointOfContact - -[repository] -# sqlite -database=sqlite:///tests/suites/cite/data/records.db -# postgres -#database=postgres://username:password@localhost/pycsw -table=records - -[metadata:inspire] -enabled=false -languages_supported=eng,gre -default_language=eng -date=2011-03-29 -gemet_keywords=Utility and governmental services -conformity_service=notEvaluated -contact_name=National Technical University of Athens -contact_email=tzotsos@gmail.com -temp_extent=2011-02-01/2011-03-30 - diff --git a/tests/suites/csw30/get/requests.txt b/tests/suites/csw30/get/requests.txt deleted file mode 100644 index 57b9acf43..000000000 --- a/tests/suites/csw30/get/requests.txt +++ /dev/null @@ -1,82 +0,0 @@ -GetCapabilities-base-url, -GetCapabilities-no-version,service=CSW&request=GetCapabilities -GetCapabilities,service=CSW&version=3.0.0&request=GetCapabilities -Exception-invalid-request,service=CSW&version=3.0.0&request=GetCapabilities-foo -Exception-GetDomain,service=CSW&version=3.0.0&request=GetDomain -GetDomain-parameter,service=CSW&version=3.0.0&request=GetDomain¶metername=GetRecords.ElementSetName -GetDomain-value-reference,service=CSW&version=3.0.0&request=GetDomain&valuereference=dc:title -Exception-GetDomain-value-reference,service=CSW&version=3.0.0&request=GetDomain&valuereference=dc:title2 -Exception-GetRecordById-dc.xml,service=CSW&version=3.0.0&request=GetRecordById&id=urn:uuid:829babb0-b2f1-49e1-8cd5-7b489fe71a1e -Exception-GetRecordById-404,service=CSW&version=3.0.0&request=GetRecordById&id=does_not_exist2 -OpenSearch-description,mode=opensearch&service=CSW&version=3.0.0&request=GetCapabilities -GetRepositoryItem,service=CSW&version=3.0.0&request=GetRepositoryItem&id=urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f -Exception-GetRepositoryItem-notfound,service=CSW&version=3.0.0&request=GetRepositoryItem&id=NOTFOUND -002258f0-627f-457f-b2ad-025777c77ac8,mode=opensearch&service=CSW&version=3.0.0&request=GetCapabilities -045c600d-973d-41eb-9f60-eba1b717b720,mode=opensearch&service=CSW&version=3.0.0&request=GetRecords&elementsetname=full&typenames=csw:Record&resulttype=results&q=Fusc%C3%A9%20Land&bbox=&time=/&outputformat=application/atom%2Bxml&startposition=1&maxrecords=&recordids= -0bbcf862-5211-4351-9988-63f8bec49c98,elementSetName=summary&outputFormat=application/atom%2Bxml&request=GetRecords&service=CSW&typeNames=Record&version=3.0.0 -0bdf8457-971e-4ed1-be4a-5feca4dcd8fa, -0d8bbdec-0846-42ca-8dc8-b7f4cba41d67,elementName=tns:title&request=GetRecords&service=CSW&typeNames=Record&namespace=xmlns(tns%3Dhttp://purl.org/dc/elements/1.1/)&version=3.0.0 -0e1dca37-477a-4060-99fe-7799b52d656c,mode=opensearch&service=CSW&version=3.0.0&request=GetRecords&elementsetname=full&typenames=csw:Record&resulttype=results&q=lpppclq&bbox=&time=/&outputformat=application/atom%2Bxml&startposition=1&maxrecords=&recordids= -13c87956-51a4-4780-a8e9-6e0b5c0bb473,elementSetName=full&maxRecords=20&request=GetRecords&service=CSW&typeNames=Record&version=3.0.0 -151d982f-ebd3-4cb2-b507-a667713a1e92,acceptFormats=model/x3d%2Bxml&acceptVersions=3.0.0&request=GetCapabilities&service=CSW -1869e495-1a61-4713-8285-76d1336ee1a6,acceptVersions=3.0.0&request=GetCapabilities -1bcb42a9-538c-4f0a-9d4c-d6f10b720aa6,request=GetRecordById&service=CSW&version=3.0.0 -22f44168-2ccf-4801-ad96-204212566d56, -2499a9c9-8d33-449c-bc92-d494adfcc84d,acceptVersions=3.0.0§ions=All&request=GetCapabilities&service=CSW -27f4f39c-d92a-4e3c-b961-c6aa8c24e513,acceptFormats=application/xml&acceptVersions=3.0.0&request=GetCapabilities&service=CSW -28e569df-8596-4128-8d9a-29ad03138915,id=urn:uuid:a06af396-3105-442d-8b40-22b57a90d2f2&request=GetRecordById&service=CSW&version=3.0.0 -2b06a5c8-0df2-4af1-8d2e-a425de11c845, -2ba1418a-444d-4cce-9cfe-4c94efcf8b55,maxRecords=2&elementSetName=summary&outputFormat=application/atom%2Bxml&request=GetRecords&service=CSW&typeNames=csw3:Record&startPosition=3&namespace=xmlns(csw3%3Dhttp://www.opengis.net/cat/csw/3.0)&version=3.0.0 -397fe17a-d5b4-4f96-8cc4-4ce467ed4d0a,service=CSW&version=3.0.0&request=GetRecords&elementsetname=full&typenames=csw:Record&resulttype=results&q=ipsum&bbox=&time=/&outputformat=application/xml&outputschema=http://www.opengis.net/cat/csw/3.0&startposition=1&maxrecords=&recordids= -3dcd1b15-73d2-4b7d-a3e3-ff15bf14aae4,elementSetName=brief&request=GetRecords&service=CSW&typeNames=tns:Record&namespace=xmlns(tns%3Dhttp://www.opengis.net/cat/csw/3.0)&version=3.0.0 -405e1ff1-5c75-4846-a28b-cfaff2a6921a,elementSetName=summary&recordIds=urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f,urn:uuid:e9330592-0932-474b-be34-c3a3bb67c7db&request=GetRecords&service=CSW&typeNames=Record&version=3.0.0 -43cd6471-6ac7-45bd-8ff9-148cb2de9a52, -4566d2ec-1283-4a02-baed-a74fc5b47e37,acceptVersions=3.0.0§ions=ServiceIdentification&request=GetCapabilities&service=CSW -461bd4c5-6623-490d-9036-d91a2201e87b,acceptVersions=3.0.0§ions=Filter_Capabilities&request=GetCapabilities&service=CSW -5496894a-3877-4f62-a20b-5d7126f94925,service=CSW&version=3.0.0&request=GetRecords&elementsetname=full&typenames=csw:Record&resulttype=results&q=&bbox=514432,5429689,529130,5451619&time=/&outputformat=application/xml&outputschema=http://www.opengis.net/cat/csw/3.0&startposition=1&maxrecords=&recordids= -5a015f6a-bf14-4977-b1e3-6577eb0223c8,service=CSW&version=3.0.0&request=GetRecords&elementsetname=full&typenames=csw:Record&resulttype=results&q=&bbox=-6.17,44.79,17.92,68.41&time=/&outputformat=application/xml&outputschema=http://www.opengis.net/cat/csw/3.0&startposition=1&maxrecords=&recordids= -5c3a2390-1fb9-43f0-b96c-f48c7a69c990,id=urn:uuid:88247b56-4cbc-4df9-9860-db3f8042e357&outputFormat=model/vnd.collada%2Bxml&request=GetRecordById&service=CSW&version=3.0.0 -5e9e67dc-18d6-4645-8111-c6263c88a61f,acceptVersions=3.0.0§ions=OperationsMetadata&request=GetCapabilities&service=CSW -604d9379-741c-42e5-b4cf-92e56c87fa64,elementSetName=full&q=amet&request=GetRecords&service=CSW&typeNames=Record&version=3.0.0 -60e6af95-d5fc-465a-82e2-fd2e6d85e4af,request=GetRecords&service=CSW&typeNames=UnknownType&version=3.0.0 -62ad94c2-b558-4265-a427-23d6677975d6,mode=opensearch&service=CSW&version=3.0.0&request=GetRecords&elementsetname=full&typenames=csw:Record&resulttype=results&q=&bbox=&time=/&outputformat=application/atom%2Bxml&startposition=1&maxrecords=&recordids=uid-bc5017e6-5cc8-4b03-aee7-d88f88caba0a -6a5e247b-0961-4b8a-a0d6-35a491d9cfe7,elementSetName=undefined-view&request=GetRecords&service=CSW&typeNames=Record&version=3.0.0 -6a9d0558-9d87-495b-b999-b49a3ef1cf99, -6bd790c9-6019-4652-9c91-330a894d6700,service=CSW&version=3.0.0&request=GetRecords&elementsetname=full&typenames=csw:Record&resulttype=results&q=Fusc%C3%A9%20Land&bbox=&time=/&outputformat=application/xml&outputschema=http://www.opengis.net/cat/csw/3.0&startposition=1&maxrecords=&recordids= -6e9cba43-5e27-415d-adbd-a92851c2c173,acceptVersions=3.0.0&request=GetCapabilities&service=CSW -7630d230-e142-4a09-accf-f091000b90cd,id=urn:uuid:66ae76b7-54ba-489b-a582-0f0633d96493&request=GetRecordById&service=CSW&version=3.0.0 -7e82446a-b5dc-43fe-9a73-4cc1f2f2f0bf,acceptFormats=text/xml&acceptVersions=3.0.0&request=GetCapabilities&service=CSW -8025978e-1a35-4d70-80c2-e8329e0c7864, -8184ae4f-536d-4978-8b28-ad703be96967,elementSetName=brief&bbox=44.79,-6.17,68.41,17.92,urn:ogc:def:crs:EPSG::4326&request=GetRecords&service=CSW&typeNames=Record&version=3.0.0 -88f63a89-664f-4315-b4f8-04a0b33803a7,maxRecords=15&elementSetName=summary&q=Mauris&bbox=-6.17,44.79,17.92,68.41&request=GetRecords&service=CSW&typeNames=Record&version=3.0.0 -8987f8f0-4d93-4481-968c-a2ccbd6b8be2,id=urn:example:1461546298217&request=GetRecordById&service=CSW&version=3.0.0 -8e5fa0f6-3f29-4d1f-abe2-d9866f3def98,mode=opensearch&service=CSW&version=3.0.0&request=GetRecords&elementsetname=full&typenames=csw:Record&resulttype=results&q=&bbox=-180,-90,180,90&time=/&outputformat=application/atom%2Bxml&startposition=1&maxrecords=&recordids= -9000ec29-5649-474e-b2d6-55c00f8a52c0,acceptVersions=9999.12.31&request=GetCapabilities&service=CSW -91914d35-7bbf-45e6-9b37-5ef484869a4e,elementSetName=summary&bbox=-6.17,44.79,17.92,68.41&request=GetRecords&service=CSW&typeNames=Record&version=3.0.0 -92d4844d-57d5-4cf3-8f47-ba50e369dc04,elementSetName=full&q=atkovxqmf&request=GetRecords&service=CSW&typeNames=Record&version=3.0.0 -9c0e2a4b-b4e6-41c0-b630-c8c99fc89ff3,elementSetName=brief&outputSchema=urn:uuid:6a29d2a8-9651-47a6-9b14-f05d2b5644f0&request=GetRecords&service=CSW&typeNames=Record&version=3.0.0 -9d7ffac8-9798-428d-8e27-3cd12497ee6b,id=urn:uuid:1ef30a8b-876d-4828-9246-c37ab4510bbd&outputSchema=http://www.example.org/ns/alpha&request=GetRecordById&service=CSW&version=3.0.0 -a2f18643-e24e-4fa5-b780-6de4a2dbc814,id=urn:uuid:829babb0-b2f1-49e1-8cd5-7b489fe71a1e&outputFormat=application/atom%2Bxml&request=GetRecordById&service=CSW&version=3.0.0 -abc90c8c-5868-4405-a73e-64c849be3b2a,mode=opensearch&service=CSW&version=3.0.0&request=GetRecords&elementsetname=full&typenames=csw:Record&resulttype=results&q=&bbox=514432,5429689,529130,5451619&time=/&outputformat=application/atom%2Bxml&startposition=1&maxrecords=&recordids= -ad0c0571-09ed-436a-9a4f-a5de744c88fe,maxRecords=2&elementSetName=summary&request=GetRecords&service=CSW&typeNames=csw3:Record&startPosition=3&namespace=xmlns(csw3%3Dhttp://www.opengis.net/cat/csw/3.0)&version=3.0.0 -af502903-f4ee-47ee-b76e-af878d238bcc,service=CSW&version=3.0.0&request=GetRecords&elementsetname=full&typenames=csw:Record&resulttype=results&q=&bbox=-180,-90,180,90&time=/&outputformat=application/xml&outputschema=http://www.opengis.net/cat/csw/3.0&startposition=1&maxrecords=&recordids= -b2aafc3f-4f35-47bc-affd-08590972deae,mode=opensearch&service=CSW&version=3.0.0&request=GetRecords&elementsetname=full&typenames=csw:Record&resulttype=results&q=&bbox=-6.17,44.79,17.92,68.41&time=/&outputformat=application/atom%2Bxml&startposition=1&maxrecords=&recordids= -b6069623-f7d8-4021-8582-98f0aea0f763,mode=opensearch&service=CSW&version=3.0.0&request=GetRecords&elementsetname=full&typenames=csw:Record&resulttype=results&q=&bbox=&time=/&outputformat=application/atom%2Bxml&startposition=3&maxrecords=4&recordids= -b9a07a54-75a8-45bd-b341-2823600211e3,elementSetName=brief&bbox=472944,5363287,492722,5455253,urn:ogc:def:crs:EPSG::0000&request=GetRecords&service=CSW&typeNames=Record&version=3.0.0 -baa4a7d0-0c01-42b6-adc3-0d03e9949fa3,acceptVersions=3.0.0&request=getCapabilities&service=CSW -bfbe6409-f64a-4c89-acb3-50f260a5c743,elementSetName=summary&q=Fusc%C3%A9%20Land&request=GetRecords&service=CSW&typeNames=Record&version=3.0.0 -bfe20134-d1da-42ef-9c0f-8e1307bbf92b,service=CSW&version=3.0.0&request=GetRecords&elementsetname=full&typenames=csw:Record&resulttype=results&q=&bbox=&time=/&outputformat=application/xml&outputschema=http://www.opengis.net/cat/csw/3.0&startposition=3&maxrecords=4&recordids= -c03d173a-3f42-4956-89c8-1fe02c3a0873,SERVICE=CSW&Request=GetCapabilities&acceptversions=3.0.0 -cb43d8c3-e14c-4a9f-9231-4384b7dd21f3,elementName=undefined&request=GetRecords&service=CSW&typeNames=Record&version=3.0.0 -d03c6fd3-e821-4a26-b62f-d20a474e25af,acceptVersions=3.0.0§ions=ServiceProvider&request=GetCapabilities&service=CSW -d4ccbf96-a529-480e-a53d-5b88dc1dea7f,service=CSW&version=3.0.0&request=GetRecords&elementsetname=full&typenames=csw:Record&resulttype=results&q=&bbox=&time=/&outputformat=application/xml&outputschema=http://www.opengis.net/cat/csw/3.0&startposition=1&maxrecords=&recordids=uid-bc5017e6-5cc8-4b03-aee7-d88f88caba0a -d94c801a-1207-4897-b84a-53f3a192515b,service=CSW&version=3.0.0&request=GetRecords&elementsetname=full&typenames=csw:Record&resulttype=results&q=lpppclq&bbox=&time=/&outputformat=application/xml&outputschema=http://www.opengis.net/cat/csw/3.0&startposition=1&maxrecords=&recordids= -da859e34-91fc-495a-8c09-285a40c0900b,id=urn:uuid:94bc9c83-97f6-4b40-9eb8-a8e8787a5c63&elementSetName=full&request=GetRecordById&service=CSW&version=3.0.0 -dc246fb8-5af5-4fda-82bb-c18b3ecd439c,mode=opensearch&service=CSW&version=3.0.0&request=GetRecords&elementsetname=full&typenames=csw:Record&resulttype=results&q=ipsum&bbox=&time=/&outputformat=application/atom%2Bxml&startposition=1&maxrecords=&recordids= -de016645-6d5c-4855-943c-2db07ae9f49a,mode=opensearch&service=CSW&version=3.0.0&request=GetRecords&elementsetname=full&typenames=csw:Record&resulttype=results&q=&bbox=&time=/&outputformat=application/atom%2Bxml&startposition=1&maxrecords=&recordids=urn%3Auuid%3A94bc9c83-97f6-4b40-9eb8-a8e8787a5c63 -dff3ec6b-bb2d-4887-bd17-8fcf15def042,elementSetName=summary&request=GetRecords&service=CSW&typeNames=Record&version=3.0.0 -e38e6bfb-8ac4-4ae4-8b87-0aafbc8d3c6b,id=urn:uuid:1ef30a8b-876d-4828-9246-c37ab4510bbd&elementSetName=brief&request=GetRecordById&service=CSW&version=3.0.0 -e67ca935-d65d-4d8c-8302-1405333dded0, -e7704509-3441-458f-8ef0-e333c6b6043f,elementName=ns1:subject&elementSetName=brief&request=GetRecords&service=CSW&typeNames=Record&namespace=xmlns(ns1%3Dhttp://purl.org/dc/elements/1.1/)&version=3.0.0 -f1223a49-6d08-44ff-97fe-4c32cbbfad82,elementSetName=summary&maxRecords=0&q=titles&request=GetRecords&service=CSW&typeNames=Record&version=3.0.0 -f89dd4e1-3a81-4433-afd2-a3fa1bdb1e18,elementSetName=full&outputFormat=text/example&request=GetRecords&service=CSW&typeNames=Record&version=3.0.0 diff --git a/tests/suites/csw30/post/Exception-GetDomain-parametername-bad.xml b/tests/suites/csw30/post/Exception-GetDomain-parametername-bad.xml deleted file mode 100644 index beeda8211..000000000 --- a/tests/suites/csw30/post/Exception-GetDomain-parametername-bad.xml +++ /dev/null @@ -1,4 +0,0 @@ - - - GetRecords.outputFormat-something - diff --git a/tests/suites/csw30/post/Exception-GetDomain-valuereference-bad.xml b/tests/suites/csw30/post/Exception-GetDomain-valuereference-bad.xml deleted file mode 100644 index 64184b6f0..000000000 --- a/tests/suites/csw30/post/Exception-GetDomain-valuereference-bad.xml +++ /dev/null @@ -1,4 +0,0 @@ - - - dc:titlena - diff --git a/tests/suites/csw30/post/Exception-GetRecordById-404.xml b/tests/suites/csw30/post/Exception-GetRecordById-404.xml deleted file mode 100644 index 41528ed0f..000000000 --- a/tests/suites/csw30/post/Exception-GetRecordById-404.xml +++ /dev/null @@ -1,4 +0,0 @@ - - - does_not_exist - diff --git a/tests/suites/csw30/post/Exception-GetRecordById-bad-esn.xml b/tests/suites/csw30/post/Exception-GetRecordById-bad-esn.xml deleted file mode 100644 index 2ab71279c..000000000 --- a/tests/suites/csw30/post/Exception-GetRecordById-bad-esn.xml +++ /dev/null @@ -1,5 +0,0 @@ - - - urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f - bad - diff --git a/tests/suites/csw30/post/Exception-bad-xml.xml b/tests/suites/csw30/post/Exception-bad-xml.xml deleted file mode 100644 index 6ba741f83..000000000 --- a/tests/suites/csw30/post/Exception-bad-xml.xml +++ /dev/null @@ -1,9 +0,0 @@ - - - - 3.0.0 - - - application/xml - - diff --git a/tests/suites/csw30/post/Exception-not-xml.xml b/tests/suites/csw30/post/Exception-not-xml.xml deleted file mode 100644 index 2b2530072..000000000 --- a/tests/suites/csw30/post/Exception-not-xml.xml +++ /dev/null @@ -1 +0,0 @@ -not an XML payload diff --git a/tests/suites/csw30/post/GetCapabilities.xml b/tests/suites/csw30/post/GetCapabilities.xml deleted file mode 100644 index 3e80d5ccc..000000000 --- a/tests/suites/csw30/post/GetCapabilities.xml +++ /dev/null @@ -1,9 +0,0 @@ - - - - 3.0.0 - - - application/xml - - diff --git a/tests/suites/csw30/post/GetDomain-parametername.xml b/tests/suites/csw30/post/GetDomain-parametername.xml deleted file mode 100644 index 00ca59f16..000000000 --- a/tests/suites/csw30/post/GetDomain-parametername.xml +++ /dev/null @@ -1,4 +0,0 @@ - - - GetRecords.outputFormat - diff --git a/tests/suites/csw30/post/GetDomain-valuereference.xml b/tests/suites/csw30/post/GetDomain-valuereference.xml deleted file mode 100644 index 7cfd0eb87..000000000 --- a/tests/suites/csw30/post/GetDomain-valuereference.xml +++ /dev/null @@ -1,4 +0,0 @@ - - - dc:title - diff --git a/tests/suites/csw30/post/GetRecordById-dc-full.xml b/tests/suites/csw30/post/GetRecordById-dc-full.xml deleted file mode 100644 index 925049056..000000000 --- a/tests/suites/csw30/post/GetRecordById-dc-full.xml +++ /dev/null @@ -1,5 +0,0 @@ - - - urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f - full - diff --git a/tests/suites/csw30/post/GetRecordById-dc.xml b/tests/suites/csw30/post/GetRecordById-dc.xml deleted file mode 100644 index 148f0e4f3..000000000 --- a/tests/suites/csw30/post/GetRecordById-dc.xml +++ /dev/null @@ -1,4 +0,0 @@ - - - urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f - diff --git a/tests/suites/default/default.cfg b/tests/suites/default/default.cfg deleted file mode 100644 index 952454c13..000000000 --- a/tests/suites/default/default.cfg +++ /dev/null @@ -1,90 +0,0 @@ -# ================================================================= -# -# Authors: Tom Kralidis -# -# Copyright (c) 2011 Tom Kralidis -# -# Permission is hereby granted, free of charge, to any person -# obtaining a copy of this software and associated documentation -# files (the "Software"), to deal in the Software without -# restriction, including without limitation the rights to use, -# copy, modify, merge, publish, distribute, sublicense, and/or sell -# copies of the Software, and to permit persons to whom the -# Software is furnished to do so, subject to the following -# conditions: -# -# The above copyright notice and this permission notice shall be -# included in all copies or substantial portions of the Software. -# -# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -# EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES -# OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -# NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT -# HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, -# WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING -# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR -# OTHER DEALINGS IN THE SOFTWARE. -# -# ================================================================= - -[server] -home=. -url=http://localhost/pycsw/csw.py?config=tests/suites/default/default.cfg -mimetype=application/xml; charset=UTF-8 -encoding=UTF-8 -language=en-US -maxrecords=10 -#loglevel=DEBUG -#logfile=/tmp/pycsw.log -#ogc_schemas_base=http://foo -federatedcatalogues=http://demo.pycsw.org/gisdata/csw -pretty_print=true -#gzip_compresslevel=8 -#spatial_ranking=true - -[manager] -transactions=false -allowed_ips=127.0.0.1 - -[metadata:main] -identification_title=pycsw Geospatial Catalogue -identification_abstract=pycsw is an OGC CSW server implementation written in Python -identification_keywords=catalogue,discovery -identification_keywords_type=theme -identification_fees=None -identification_accessconstraints=None -provider_name=pycsw -provider_url=http://pycsw.org/ -contact_name=Kralidis, Tom -contact_position=Senior Systems Scientist -contact_address=TBA -contact_city=Toronto -contact_stateorprovince=Ontario -contact_postalcode=M9C 3Z9 -contact_country=Canada -contact_phone=+01-416-xxx-xxxx -contact_fax=+01-416-xxx-xxxx -contact_email=tomkralidis@gmail.com -contact_url=http://kralidis.ca/ -contact_hours=0800h - 1600h EST -contact_instructions=During hours of service. Off on weekends. -contact_role=pointOfContact - -[repository] -# sqlite -database=sqlite:///tests/suites/cite/data/records.db -# postgres -#database=postgres://username:password@localhost/pycsw -table=records - -[metadata:inspire] -enabled=false -languages_supported=eng,gre -default_language=eng -date=2011-03-29 -gemet_keywords=Utility and governmental services -conformity_service=notEvaluated -contact_name=National Technical University of Athens -contact_email=tzotsos@gmail.com -temp_extent=2011-02-01/2011-03-30 - diff --git a/tests/suites/default/get/requests.txt b/tests/suites/default/get/requests.txt deleted file mode 100644 index 299790a0f..000000000 --- a/tests/suites/default/get/requests.txt +++ /dev/null @@ -1,20 +0,0 @@ -GetCapabilities,service=CSW&version=2.0.2&request=GetCapabilities -GetCapabilities-invalid-request,service=CSW&version=2.0.2&request=GetCapabilitiese -GetRecords-all,service=CSW&version=2.0.2&request=GetRecords&typenames=csw:Record&elementsetname=full -GetRecords-sortby-asc,service=CSW&version=2.0.2&request=GetRecords&typenames=csw:Record&elementsetname=full&resulttype=results&sortby=dc:title:A -GetRecords-sortby-desc,service=CSW&version=2.0.2&request=GetRecords&typenames=csw:Record&elementsetname=full&resulttype=results&sortby=dc:title:D -GetRecords-sortby-invalid-propertyname,service=CSW&version=2.0.2&request=GetRecords&typenames=csw:Record&elementsetname=full&resulttype=results&sortby=dc:titlei:A -GetRecords-sortby-invalid-order,service=CSW&version=2.0.2&request=GetRecords&typenames=csw:Record&elementsetname=full&resulttype=results&sortby=dc:title:FOO -GetRecords-filter,service=CSW&version=2.0.2&request=GetRecords&typenames=csw:Record&elementsetname=full&resulttype=results&constraintlanguage=FILTER&constraint=%3Cogc%3AFilter%20xmlns%3Aogc%3D%22http%3A%2F%2Fwww.opengis.net%2Fogc%22%3E%3Cogc%3APropertyIsEqualTo%3E%3Cogc%3APropertyName%3Edc%3Atitle%3C%2Fogc%3APropertyName%3E%3Cogc%3ALiteral%3ELorem%20ipsum%3C%2Fogc%3ALiteral%3E%3C%2Fogc%3APropertyIsEqualTo%3E%3C%2Fogc%3AFilter%3E -GetRecords-filter-cql-title,service=CSW&version=2.0.2&request=GetRecords&typenames=csw:Record&elementsetname=full&resulttype=results&constraintlanguage=CQL_TEXT&constraint=dc%3Atitle%20like%20%27%25lor%25%27 -GetRecords-filter-cql-title-with-spaces,service=CSW&version=2.0.2&request=GetRecords&typenames=csw:Record&elementsetname=full&resulttype=results&constraintlanguage=CQL_TEXT&constraint=dc%3Atitle%20like%20%27%25Lorem%20ipsum%25%27 -GetRecords-filter-cql-title-or-abstract,service=CSW&version=2.0.2&request=GetRecords&typenames=csw:Record&elementsetname=full&resulttype=results&constraintlanguage=CQL_TEXT&constraint=dc%3Atitle%20like%20%27%25lor%25%27%20or%20dct%3Aabstract%20like%20%27%25pharetra%25%27 -GetRecords-filter-cql-title-with-spaces-or-abstract,service=CSW&version=2.0.2&request=GetRecords&typenames=csw:Record&elementsetname=full&resulttype=results&constraintlanguage=CQL_TEXT&constraint=dc%3Atitle%20like%20%27%25dolor%20sit%25%27%20or%20dct%3Aabstract%20like%20%27%25pharetra%25%27 -GetRecords-filter-cql-title-or-abstract-with-spaces,service=CSW&version=2.0.2&request=GetRecords&typenames=csw:Record&elementsetname=full&resulttype=results&constraintlanguage=CQL_TEXT&constraint=dc%3Atitle%20like%20%27%25lor%25%27%20or%20dct%3Aabstract%20like%20%27%25pharetra%20in%25%27 -GetRecords-filter-cql-title-with-spaces-or-abstract-with-spaces,service=CSW&version=2.0.2&request=GetRecords&typenames=csw:Record&elementsetname=full&resulttype=results&constraintlanguage=CQL_TEXT&constraint=dc%3Atitle%20like%20%27%25dolor%20sit%25%27%20or%20dct%3Aabstract%20like%20%27%25pharetra%20in%25%27 -GetRecords-empty-maxrecords,service=CSW&version=2.0.2&request=GetRecords&typenames=csw:Record&elementsetname=full&maxrecords= -GetRepositoryItem,service=CSW&version=2.0.2&request=GetRepositoryItem&id=urn:uuid:94bc9c83-97f6-4b40-9eb8-a8e8787a5c63 -Exception-GetRepositoryItem-notfound,service=CSW&version=2.0.2&request=GetRepositoryItem&id=NOTFOUND -Exception-GetRepositoryItem-service-invalid1,service=CSW%00&version=2.0.2&request=GetRepositoryItem&id=123 -Exception-GetRepositoryItem-service-invalid2,service=CSW%00'&version=2.0.2&request=GetRepositoryItem&id=123 -Exception-GetRepositoryItem-version-invalid,service=CSW&version=2.0.2'&request=GetRepositoryItem&id=123 diff --git a/tests/suites/default/post/DescribeRecord-json.xml b/tests/suites/default/post/DescribeRecord-json.xml deleted file mode 100644 index 35c176c91..000000000 --- a/tests/suites/default/post/DescribeRecord-json.xml +++ /dev/null @@ -1,4 +0,0 @@ - - - csw:Record - diff --git a/tests/suites/default/post/DescribeRecord.xml b/tests/suites/default/post/DescribeRecord.xml deleted file mode 100644 index 102443e47..000000000 --- a/tests/suites/default/post/DescribeRecord.xml +++ /dev/null @@ -1,4 +0,0 @@ - - - csw:Record - diff --git a/tests/suites/default/post/Exception-GetRecords-badsrsname.xml b/tests/suites/default/post/Exception-GetRecords-badsrsname.xml deleted file mode 100644 index 61f4b2da5..000000000 --- a/tests/suites/default/post/Exception-GetRecords-badsrsname.xml +++ /dev/null @@ -1,19 +0,0 @@ - - - - brief - - - - - ows:BoundingBox - - -90 -180 - 90 180 - - - - - - - diff --git a/tests/suites/default/post/Exception-GetRecords-elementname.xml b/tests/suites/default/post/Exception-GetRecords-elementname.xml deleted file mode 100644 index 2dc8935e2..000000000 --- a/tests/suites/default/post/Exception-GetRecords-elementname.xml +++ /dev/null @@ -1,6 +0,0 @@ - - - - dc:foo - - diff --git a/tests/suites/default/post/Exception-GetRecords-invalid-xml.xml b/tests/suites/default/post/Exception-GetRecords-invalid-xml.xml deleted file mode 100644 index 0bdf07fb3..000000000 --- a/tests/suites/default/post/Exception-GetRecords-invalid-xml.xml +++ /dev/null @@ -1,6 +0,0 @@ - - - - dc:foo - - diff --git a/tests/suites/default/post/GetCapabilities-SOAP.xml b/tests/suites/default/post/GetCapabilities-SOAP.xml deleted file mode 100644 index 906918983..000000000 --- a/tests/suites/default/post/GetCapabilities-SOAP.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - 2.0.2 - - - application/xml - - - - diff --git a/tests/suites/default/post/GetCapabilities-sections.xml b/tests/suites/default/post/GetCapabilities-sections.xml deleted file mode 100644 index b3390dee5..000000000 --- a/tests/suites/default/post/GetCapabilities-sections.xml +++ /dev/null @@ -1,12 +0,0 @@ - - - - 2.0.2 - - - ServiceProvider - - - application/xml - - diff --git a/tests/suites/default/post/GetCapabilities-updatesequence.xml b/tests/suites/default/post/GetCapabilities-updatesequence.xml deleted file mode 100644 index d2f329611..000000000 --- a/tests/suites/default/post/GetCapabilities-updatesequence.xml +++ /dev/null @@ -1,9 +0,0 @@ - - - - 2.0.2 - - - application/xml - - diff --git a/tests/suites/default/post/GetCapabilities.xml b/tests/suites/default/post/GetCapabilities.xml deleted file mode 100644 index e4dc8070b..000000000 --- a/tests/suites/default/post/GetCapabilities.xml +++ /dev/null @@ -1,9 +0,0 @@ - - - - 2.0.2 - - - application/xml - - diff --git a/tests/suites/default/post/GetDomain-parameter.xml b/tests/suites/default/post/GetDomain-parameter.xml deleted file mode 100644 index 2d1dd2d4a..000000000 --- a/tests/suites/default/post/GetDomain-parameter.xml +++ /dev/null @@ -1,4 +0,0 @@ - - - GetRecords.CONSTRAINTLANGUAGE - diff --git a/tests/suites/default/post/GetDomain-property.xml b/tests/suites/default/post/GetDomain-property.xml deleted file mode 100644 index c6ca09c8c..000000000 --- a/tests/suites/default/post/GetDomain-property.xml +++ /dev/null @@ -1,4 +0,0 @@ - - - dc:title - diff --git a/tests/suites/default/post/GetRecordById-json.xml b/tests/suites/default/post/GetRecordById-json.xml deleted file mode 100644 index 887e6d186..000000000 --- a/tests/suites/default/post/GetRecordById-json.xml +++ /dev/null @@ -1,5 +0,0 @@ - - - urn:uuid:94bc9c83-97f6-4b40-9eb8-a8e8787a5c63 - summary - diff --git a/tests/suites/default/post/GetRecordById.xml b/tests/suites/default/post/GetRecordById.xml deleted file mode 100644 index af59d786b..000000000 --- a/tests/suites/default/post/GetRecordById.xml +++ /dev/null @@ -1,5 +0,0 @@ - - - urn:uuid:94bc9c83-97f6-4b40-9eb8-a8e8787a5c63 - summary - diff --git a/tests/suites/default/post/GetRecords-all-json.xml b/tests/suites/default/post/GetRecords-all-json.xml deleted file mode 100644 index 3e17c97ca..000000000 --- a/tests/suites/default/post/GetRecords-all-json.xml +++ /dev/null @@ -1,6 +0,0 @@ - - - - full - - diff --git a/tests/suites/default/post/GetRecords-all-resulttype-hits.xml b/tests/suites/default/post/GetRecords-all-resulttype-hits.xml deleted file mode 100644 index c91e92ec7..000000000 --- a/tests/suites/default/post/GetRecords-all-resulttype-hits.xml +++ /dev/null @@ -1,6 +0,0 @@ - - - - full - - diff --git a/tests/suites/default/post/GetRecords-all-resulttype-validate.xml b/tests/suites/default/post/GetRecords-all-resulttype-validate.xml deleted file mode 100644 index c977bda36..000000000 --- a/tests/suites/default/post/GetRecords-all-resulttype-validate.xml +++ /dev/null @@ -1,6 +0,0 @@ - - - - full - - diff --git a/tests/suites/default/post/GetRecords-all-sortby-bbox.xml b/tests/suites/default/post/GetRecords-all-sortby-bbox.xml deleted file mode 100644 index eace825a6..000000000 --- a/tests/suites/default/post/GetRecords-all-sortby-bbox.xml +++ /dev/null @@ -1,12 +0,0 @@ - - - - full - - - ows:BoundingBox - DESC - - - - diff --git a/tests/suites/default/post/GetRecords-all.xml b/tests/suites/default/post/GetRecords-all.xml deleted file mode 100644 index 6bb353cf4..000000000 --- a/tests/suites/default/post/GetRecords-all.xml +++ /dev/null @@ -1,6 +0,0 @@ - - - - full - - diff --git a/tests/suites/default/post/GetRecords-bbox-filter-crs84.xml b/tests/suites/default/post/GetRecords-bbox-filter-crs84.xml deleted file mode 100644 index ca1674dfc..000000000 --- a/tests/suites/default/post/GetRecords-bbox-filter-crs84.xml +++ /dev/null @@ -1,17 +0,0 @@ - - - - brief - - - - ows:BoundingBox - - -180 -90 - 180 90 - - - - - - diff --git a/tests/suites/default/post/GetRecords-cql-title-and-abstract.xml b/tests/suites/default/post/GetRecords-cql-title-and-abstract.xml deleted file mode 100644 index 9bdb5795c..000000000 --- a/tests/suites/default/post/GetRecords-cql-title-and-abstract.xml +++ /dev/null @@ -1,9 +0,0 @@ - - - - brief - - dc:title like '%ips%' and dct:abstract like '%pharetra%' - - - diff --git a/tests/suites/default/post/GetRecords-cql-title.xml b/tests/suites/default/post/GetRecords-cql-title.xml deleted file mode 100644 index 929722324..000000000 --- a/tests/suites/default/post/GetRecords-cql-title.xml +++ /dev/null @@ -1,9 +0,0 @@ - - - - brief - - dc:title like '%ips%' - - - diff --git a/tests/suites/default/post/GetRecords-distributedsearch.xml b/tests/suites/default/post/GetRecords-distributedsearch.xml deleted file mode 100644 index b64549a2e..000000000 --- a/tests/suites/default/post/GetRecords-distributedsearch.xml +++ /dev/null @@ -1,15 +0,0 @@ - - - - - brief - - - - dc:title - Aquifers - - - - - diff --git a/tests/suites/default/post/GetRecords-elementname.xml b/tests/suites/default/post/GetRecords-elementname.xml deleted file mode 100644 index 2acf2ae34..000000000 --- a/tests/suites/default/post/GetRecords-elementname.xml +++ /dev/null @@ -1,6 +0,0 @@ - - - - dc:title - - diff --git a/tests/suites/default/post/GetRecords-end.xml b/tests/suites/default/post/GetRecords-end.xml deleted file mode 100644 index e03137ea9..000000000 --- a/tests/suites/default/post/GetRecords-end.xml +++ /dev/null @@ -1,6 +0,0 @@ - - - - full - - diff --git a/tests/suites/default/post/GetRecords-filter-and-bbox-freetext.xml b/tests/suites/default/post/GetRecords-filter-and-bbox-freetext.xml deleted file mode 100644 index ce787131c..000000000 --- a/tests/suites/default/post/GetRecords-filter-and-bbox-freetext.xml +++ /dev/null @@ -1,23 +0,0 @@ - - - - brief - - - - - csw:AnyText - %lor% - - - ows:BoundingBox - - 47 -5 - 55 20 - - - - - - - diff --git a/tests/suites/default/post/GetRecords-filter-and-nested-or.xml b/tests/suites/default/post/GetRecords-filter-and-nested-or.xml deleted file mode 100644 index 46884d195..000000000 --- a/tests/suites/default/post/GetRecords-filter-and-nested-or.xml +++ /dev/null @@ -1,38 +0,0 @@ - - - - full - - - - - dc:title - Aliquam fermentum purus quis arcu - - - dc:format - application/pdf - - - - dc:type - http://purl.org/dc/dcmitype/Dataset - - - dc:type - http://purl.org/dc/dcmitype/Service - - - dc:type - http://purl.org/dc/dcmitype/Image - - - dc:type - http://purl.org/dc/dcmitype/Text - - - - - - - diff --git a/tests/suites/default/post/GetRecords-filter-and-nested-or2.xml b/tests/suites/default/post/GetRecords-filter-and-nested-or2.xml deleted file mode 100644 index 729113817..000000000 --- a/tests/suites/default/post/GetRecords-filter-and-nested-or2.xml +++ /dev/null @@ -1,34 +0,0 @@ - - - - full - - - - - dc:title - Lorem% - - - - dc:type - http://purl.org/dc/dcmitype/Dataset - - - dc:type - http://purl.org/dc/dcmitype/Service - - - dc:type - http://purl.org/dc/dcmitype/Image - - - dc:type - http://purl.org/dc/dcmitype/Text - - - - - - - diff --git a/tests/suites/default/post/GetRecords-filter-anytext-and-not.xml b/tests/suites/default/post/GetRecords-filter-anytext-and-not.xml deleted file mode 100644 index d3125b6f7..000000000 --- a/tests/suites/default/post/GetRecords-filter-anytext-and-not.xml +++ /dev/null @@ -1,26 +0,0 @@ - - - - summary - - - - - csw:AnyText - *lorem* - - - csw:AnyText - *ipsum* - - - - csw:AnyText - *dolor* - - - - - - - diff --git a/tests/suites/default/post/GetRecords-filter-anytext-equal.xml b/tests/suites/default/post/GetRecords-filter-anytext-equal.xml deleted file mode 100644 index 0c64e7112..000000000 --- a/tests/suites/default/post/GetRecords-filter-anytext-equal.xml +++ /dev/null @@ -1,14 +0,0 @@ - - - - brief - - - - csw:AnyText - Lor - - - - - diff --git a/tests/suites/default/post/GetRecords-filter-anytext.xml b/tests/suites/default/post/GetRecords-filter-anytext.xml deleted file mode 100644 index 8ab5bff9d..000000000 --- a/tests/suites/default/post/GetRecords-filter-anytext.xml +++ /dev/null @@ -1,14 +0,0 @@ - - - - brief - - - - csw:AnyText - %Lor% - - - - - diff --git a/tests/suites/default/post/GetRecords-filter-bbox-reproject.xml b/tests/suites/default/post/GetRecords-filter-bbox-reproject.xml deleted file mode 100644 index 73d60ef00..000000000 --- a/tests/suites/default/post/GetRecords-filter-bbox-reproject.xml +++ /dev/null @@ -1,17 +0,0 @@ - - - - brief - - - - ows:BoundingBox - - -72310.84768270838 2013215.2698528299 - 279667.74290441966 2690819.5081175645 - - - - - - diff --git a/tests/suites/default/post/GetRecords-filter-bbox-sortby.xml b/tests/suites/default/post/GetRecords-filter-bbox-sortby.xml deleted file mode 100644 index 9e7b7ef73..000000000 --- a/tests/suites/default/post/GetRecords-filter-bbox-sortby.xml +++ /dev/null @@ -1,23 +0,0 @@ - - - - brief - - - - ows:BoundingBox - - 47 -5 - 55 20 - - - - - - - dc:title - DESC - - - - diff --git a/tests/suites/default/post/GetRecords-filter-bbox.xml b/tests/suites/default/post/GetRecords-filter-bbox.xml deleted file mode 100644 index 9df955319..000000000 --- a/tests/suites/default/post/GetRecords-filter-bbox.xml +++ /dev/null @@ -1,17 +0,0 @@ - - - - brief - - - - ows:BoundingBox - - 47 -5 - 55 20 - - - - - - diff --git a/tests/suites/default/post/GetRecords-filter-between.xml b/tests/suites/default/post/GetRecords-filter-between.xml deleted file mode 100644 index ea00efbe8..000000000 --- a/tests/suites/default/post/GetRecords-filter-between.xml +++ /dev/null @@ -1,20 +0,0 @@ - - - - full - - - - dc:title - - Aliquam fermentum purus quis arcu - - - Maecenas enim - - - - - - - diff --git a/tests/suites/default/post/GetRecords-filter-function-bad.xml b/tests/suites/default/post/GetRecords-filter-function-bad.xml deleted file mode 100644 index 75dbacc10..000000000 --- a/tests/suites/default/post/GetRecords-filter-function-bad.xml +++ /dev/null @@ -1,17 +0,0 @@ - - - - brief - - - - - dc:title - - LOREM IPSUM - - - - - - diff --git a/tests/suites/default/post/GetRecords-filter-function.xml b/tests/suites/default/post/GetRecords-filter-function.xml deleted file mode 100644 index 68cb04564..000000000 --- a/tests/suites/default/post/GetRecords-filter-function.xml +++ /dev/null @@ -1,17 +0,0 @@ - - - - brief - - - - - dc:title - - LOREM IPSUM - - - - - - diff --git a/tests/suites/default/post/GetRecords-filter-not-bbox.xml b/tests/suites/default/post/GetRecords-filter-not-bbox.xml deleted file mode 100644 index 6adb4cf1f..000000000 --- a/tests/suites/default/post/GetRecords-filter-not-bbox.xml +++ /dev/null @@ -1,19 +0,0 @@ - - - - brief - - - - - ows:BoundingBox - - 47 -5 - 55 20 - - - - - - - diff --git a/tests/suites/default/post/GetRecords-filter-or-bbox-freetext.xml b/tests/suites/default/post/GetRecords-filter-or-bbox-freetext.xml deleted file mode 100644 index bdfc60ea7..000000000 --- a/tests/suites/default/post/GetRecords-filter-or-bbox-freetext.xml +++ /dev/null @@ -1,23 +0,0 @@ - - - - brief - - - - - dc:title - foo - - - ows:BoundingBox - - 47 -5 - 55 20 - - - - - - - diff --git a/tests/suites/default/post/GetRecords-filter-or-nested-and.xml b/tests/suites/default/post/GetRecords-filter-or-nested-and.xml deleted file mode 100644 index 1ff37fa31..000000000 --- a/tests/suites/default/post/GetRecords-filter-or-nested-and.xml +++ /dev/null @@ -1,30 +0,0 @@ - - - - full - - - - - dc:type - http://purl.org/dc/dcmitype/Image - - - dc:type - http://purl.org/dc/dcmitype/Dataset - - - - dc:title - Mauris% - - - dc:title - %neque - - - - - - - diff --git a/tests/suites/default/post/GetRecords-filter-or-title-abstract.xml b/tests/suites/default/post/GetRecords-filter-or-title-abstract.xml deleted file mode 100644 index 331dca256..000000000 --- a/tests/suites/default/post/GetRecords-filter-or-title-abstract.xml +++ /dev/null @@ -1,20 +0,0 @@ - - - - full - - - - - dc:title - Mauris% - - - dct:abstract - foo - - - - - - \ No newline at end of file diff --git a/tests/suites/default/post/GetRecords-maxrecords.xml b/tests/suites/default/post/GetRecords-maxrecords.xml deleted file mode 100644 index 1379ea6f9..000000000 --- a/tests/suites/default/post/GetRecords-maxrecords.xml +++ /dev/null @@ -1,6 +0,0 @@ - - - - full - - diff --git a/tests/suites/default/post/GetRecords-requestid.xml b/tests/suites/default/post/GetRecords-requestid.xml deleted file mode 100644 index 186d04e3b..000000000 --- a/tests/suites/default/post/GetRecords-requestid.xml +++ /dev/null @@ -1,6 +0,0 @@ - - - - full - - diff --git a/tests/suites/default/post/Harvest-default.xml b/tests/suites/default/post/Harvest-default.xml deleted file mode 100644 index 599ba769c..000000000 --- a/tests/suites/default/post/Harvest-default.xml +++ /dev/null @@ -1,6 +0,0 @@ - - - http://schemas.opengis.net/csw/2.0.2/profiles/apiso/1.0.0/examples-ISO19139/dataset2_minimalst.xml - http://www.isotc211.org/schemas/2005/gmd/ - application/xml - diff --git a/tests/suites/default/post/Harvest-response-handler.xml b/tests/suites/default/post/Harvest-response-handler.xml deleted file mode 100644 index 9d4351727..000000000 --- a/tests/suites/default/post/Harvest-response-handler.xml +++ /dev/null @@ -1,7 +0,0 @@ - - - http://kralidis.ca/pycsw/trunk/tests/test_iso.xml - http://www.isotc211.org/schemas/2005/gmd/ - application/xml - mailto:tkralidi - diff --git a/tests/suites/default/post/Transaction-delete.xml b/tests/suites/default/post/Transaction-delete.xml deleted file mode 100644 index 675a8690e..000000000 --- a/tests/suites/default/post/Transaction-delete.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - apiso:Identifier - 12345 - - - - - diff --git a/tests/suites/default/post/Transaction-insert.xml b/tests/suites/default/post/Transaction-insert.xml deleted file mode 100644 index 1b238dd4d..000000000 --- a/tests/suites/default/post/Transaction-insert.xml +++ /dev/null @@ -1,73 +0,0 @@ - - - - - - 12345 - - - - - - - - pycsw - - - - - - - - 2011-05-17 - - - - - - - pycsw record - - - - - 2011-05-17 - - - - - - - - - - Sample metadata record - - - eng - - - - - - - -180 - - - 180 - - - -90 - - - 90 - - - - - - - - - - diff --git a/tests/suites/default/post/Transaction-update-full.xml b/tests/suites/default/post/Transaction-update-full.xml deleted file mode 100644 index 2ff6604ea..000000000 --- a/tests/suites/default/post/Transaction-update-full.xml +++ /dev/null @@ -1,73 +0,0 @@ - - - - - - 12345 - - - - - - - - pycsw - - - - - - - - 2011-05-17 - - - - - - - pycsw record - - - - - 2011-05-17 - - - - - - - - - - Sample metadata record - - - eng - - - - - - - -180 - - - 180 - - - -90 - - - 90 - - - - - - - - - - diff --git a/tests/suites/default/post/Transaction-update-recordproperty.xml b/tests/suites/default/post/Transaction-update-recordproperty.xml deleted file mode 100644 index a130a5f25..000000000 --- a/tests/suites/default/post/Transaction-update-recordproperty.xml +++ /dev/null @@ -1,17 +0,0 @@ - - - - - apiso:Title - NEW_TITLE - - - - - apiso:Identifier - 12345 - - - - - diff --git a/tests/suites/dif/default.cfg b/tests/suites/dif/default.cfg deleted file mode 100644 index 08d69c6ed..000000000 --- a/tests/suites/dif/default.cfg +++ /dev/null @@ -1,90 +0,0 @@ -# ================================================================= -# -# Authors: Tom Kralidis -# -# Copyright (c) 2011 Tom Kralidis -# -# Permission is hereby granted, free of charge, to any person -# obtaining a copy of this software and associated documentation -# files (the "Software"), to deal in the Software without -# restriction, including without limitation the rights to use, -# copy, modify, merge, publish, distribute, sublicense, and/or sell -# copies of the Software, and to permit persons to whom the -# Software is furnished to do so, subject to the following -# conditions: -# -# The above copyright notice and this permission notice shall be -# included in all copies or substantial portions of the Software. -# -# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -# EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES -# OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -# NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT -# HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, -# WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING -# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR -# OTHER DEALINGS IN THE SOFTWARE. -# -# ================================================================= - -[server] -home=. -url=http://localhost/pycsw/csw.py?config=tests/suites/dif/default.cfg -mimetype=application/xml; charset=UTF-8 -encoding=UTF-8 -language=en-US -maxrecords=10 -#loglevel=DEBUG -#logfile=/tmp/pycsw.log -#ogc_schemas_base=http://foo -federatedcatalogues=http://geo.data.gov/geoportal/csw/discovery -pretty_print=true -#gzip_compresslevel=8 -#spatial_ranking=true - -[manager] -transactions=false -allowed_ips=127.0.0.1 - -[metadata:main] -identification_title=pycsw Geospatial Catalogue -identification_abstract=pycsw is an OGC CSW server implementation written in Python -identification_keywords=catalogue,discovery -identification_keywords_type=theme -identification_fees=None -identification_accessconstraints=None -provider_name=pycsw -provider_url=http://pycsw.org/ -contact_name=Kralidis, Tom -contact_position=Senior Systems Scientist -contact_address=TBA -contact_city=Toronto -contact_stateorprovince=Ontario -contact_postalcode=M9C 3Z9 -contact_country=Canada -contact_phone=+01-416-xxx-xxxx -contact_fax=+01-416-xxx-xxxx -contact_email=tomkralidis@gmail.com -contact_url=http://kralidis.ca/ -contact_hours=0800h - 1600h EST -contact_instructions=During hours of service. Off on weekends. -contact_role=pointOfContact - -[repository] -# sqlite -database=sqlite:///tests/suites/cite/data/records.db -# postgres -#database=postgres://username:password@localhost/pycsw -table=records - -[metadata:inspire] -enabled=false -languages_supported=eng,gre -default_language=eng -date=2011-03-29 -gemet_keywords=Utility and governmental services -conformity_service=notEvaluated -contact_name=National Technical University of Athens -contact_email=tzotsos@gmail.com -temp_extent=2011-02-01/2011-03-30 - diff --git a/tests/suites/dif/post/DescribeRecord.xml b/tests/suites/dif/post/DescribeRecord.xml deleted file mode 100644 index 2408da75b..000000000 --- a/tests/suites/dif/post/DescribeRecord.xml +++ /dev/null @@ -1,4 +0,0 @@ - - - dif:DIF - diff --git a/tests/suites/dif/post/GetCapabilities.xml b/tests/suites/dif/post/GetCapabilities.xml deleted file mode 100644 index e4dc8070b..000000000 --- a/tests/suites/dif/post/GetCapabilities.xml +++ /dev/null @@ -1,9 +0,0 @@ - - - - 2.0.2 - - - application/xml - - diff --git a/tests/suites/dif/post/GetRecords-filter-bbox.xml b/tests/suites/dif/post/GetRecords-filter-bbox.xml deleted file mode 100644 index 8804efe60..000000000 --- a/tests/suites/dif/post/GetRecords-filter-bbox.xml +++ /dev/null @@ -1,17 +0,0 @@ - - - - brief - - - - ows:BoundingBox - - 47 -5 - 55 20 - - - - - - diff --git a/tests/suites/ebrim/default.cfg b/tests/suites/ebrim/default.cfg deleted file mode 100644 index 048432616..000000000 --- a/tests/suites/ebrim/default.cfg +++ /dev/null @@ -1,93 +0,0 @@ -# ================================================================= -# -# $Id: default.cfg 366 2011-11-24 21:52:13Z tomkralidis $ -# -# Authors: Tom Kralidis -# -# Copyright (c) 2011 Tom Kralidis -# -# Permission is hereby granted, free of charge, to any person -# obtaining a copy of this software and associated documentation -# files (the "Software"), to deal in the Software without -# restriction, including without limitation the rights to use, -# copy, modify, merge, publish, distribute, sublicense, and/or sell -# copies of the Software, and to permit persons to whom the -# Software is furnished to do so, subject to the following -# conditions: -# -# The above copyright notice and this permission notice shall be -# included in all copies or substantial portions of the Software. -# -# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -# EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES -# OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -# NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT -# HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, -# WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING -# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR -# OTHER DEALINGS IN THE SOFTWARE. -# -# ================================================================= - -[server] -home=. -url=http://localhost/pycsw/csw.py?config=tests/suites/fgdc/default.cfg -mimetype=application/xml; charset=UTF-8 -encoding=UTF-8 -language=en-US -maxrecords=10 -#loglevel=DEBUG -#logfile=/tmp/pycsw.log -#ogc_schemas_base=http://foo -federatedcatalogues=http://geo.data.gov/geoportal/csw/discovery -pretty_print=true -#gzip_compresslevel=8 -#spatial_ranking=true -profiles=ebrim - -[manager] -transactions=false -allowed_ips=127.0.0.1 - -[metadata:main] -identification_title=pycsw Geospatial Catalogue -identification_abstract=pycsw is an OGC CSW server implementation written in Python -identification_keywords=catalogue,discovery -identification_keywords_type=theme -identification_fees=None -identification_accessconstraints=None -provider_name=pycsw -provider_url=http://pycsw.org/ -contact_name=Kralidis, Tom -contact_position=Senior Systems Scientist -contact_address=TBA -contact_city=Toronto -contact_stateorprovince=Ontario -contact_postalcode=M9C 3Z9 -contact_country=Canada -contact_phone=+01-416-xxx-xxxx -contact_fax=+01-416-xxx-xxxx -contact_email=tomkralidis@gmail.com -contact_url=http://kralidis.ca/ -contact_hours=0800h - 1600h EST -contact_instructions=During hours of service. Off on weekends. -contact_role=pointOfContact - -[repository] -# sqlite -database=sqlite:///tests/suites/cite/data/records.db -# postgres -#database=postgres://username:password@localhost/pycsw -table=records - -[metadata:inspire] -enabled=false -languages_supported=eng,gre -default_language=eng -date=2011-03-29 -gemet_keywords=Utility and governmental services -conformity_service=notEvaluated -contact_name=National Technical University of Athens -contact_email=tzotsos@gmail.com -temp_extent=2011-02-01/2011-03-30 - diff --git a/tests/suites/ebrim/post/DescribeRecord.xml b/tests/suites/ebrim/post/DescribeRecord.xml deleted file mode 100644 index cd708816b..000000000 --- a/tests/suites/ebrim/post/DescribeRecord.xml +++ /dev/null @@ -1,4 +0,0 @@ - - - rim:RegistryObject - diff --git a/tests/suites/ebrim/post/GetCapabilities.xml b/tests/suites/ebrim/post/GetCapabilities.xml deleted file mode 100644 index e4dc8070b..000000000 --- a/tests/suites/ebrim/post/GetCapabilities.xml +++ /dev/null @@ -1,9 +0,0 @@ - - - - 2.0.2 - - - application/xml - - diff --git a/tests/suites/ebrim/post/GetRecords-filter-bbox-full.xml b/tests/suites/ebrim/post/GetRecords-filter-bbox-full.xml deleted file mode 100644 index 6b6f84942..000000000 --- a/tests/suites/ebrim/post/GetRecords-filter-bbox-full.xml +++ /dev/null @@ -1,17 +0,0 @@ - - - - full - - - - ows:BoundingBox - - 47 -5 - 55 20 - - - - - - diff --git a/tests/suites/ebrim/post/GetRecords-filter-bbox.xml b/tests/suites/ebrim/post/GetRecords-filter-bbox.xml deleted file mode 100644 index ddb68ce96..000000000 --- a/tests/suites/ebrim/post/GetRecords-filter-bbox.xml +++ /dev/null @@ -1,17 +0,0 @@ - - - - brief - - - - ows:BoundingBox - - 47 -5 - 55 20 - - - - - - diff --git a/tests/suites/fgdc/default.cfg b/tests/suites/fgdc/default.cfg deleted file mode 100644 index da6707ac7..000000000 --- a/tests/suites/fgdc/default.cfg +++ /dev/null @@ -1,90 +0,0 @@ -# ================================================================= -# -# Authors: Tom Kralidis -# -# Copyright (c) 2011 Tom Kralidis -# -# Permission is hereby granted, free of charge, to any person -# obtaining a copy of this software and associated documentation -# files (the "Software"), to deal in the Software without -# restriction, including without limitation the rights to use, -# copy, modify, merge, publish, distribute, sublicense, and/or sell -# copies of the Software, and to permit persons to whom the -# Software is furnished to do so, subject to the following -# conditions: -# -# The above copyright notice and this permission notice shall be -# included in all copies or substantial portions of the Software. -# -# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -# EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES -# OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -# NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT -# HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, -# WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING -# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR -# OTHER DEALINGS IN THE SOFTWARE. -# -# ================================================================= - -[server] -home=. -url=http://localhost/pycsw/csw.py?config=tests/suites/fgdc/default.cfg -mimetype=application/xml; charset=UTF-8 -encoding=UTF-8 -language=en-US -maxrecords=10 -#loglevel=DEBUG -#logfile=/tmp/pycsw.log -#ogc_schemas_base=http://foo -federatedcatalogues=http://geo.data.gov/geoportal/csw/discovery -pretty_print=true -#gzip_compresslevel=8 -#spatial_ranking=true - -[manager] -transactions=false -allowed_ips=127.0.0.1 - -[metadata:main] -identification_title=pycsw Geospatial Catalogue -identification_abstract=pycsw is an OGC CSW server implementation written in Python -identification_keywords=catalogue,discovery -identification_keywords_type=theme -identification_fees=None -identification_accessconstraints=None -provider_name=pycsw -provider_url=http://pycsw.org/ -contact_name=Kralidis, Tom -contact_position=Senior Systems Scientist -contact_address=TBA -contact_city=Toronto -contact_stateorprovince=Ontario -contact_postalcode=M9C 3Z9 -contact_country=Canada -contact_phone=+01-416-xxx-xxxx -contact_fax=+01-416-xxx-xxxx -contact_email=tomkralidis@gmail.com -contact_url=http://kralidis.ca/ -contact_hours=0800h - 1600h EST -contact_instructions=During hours of service. Off on weekends. -contact_role=pointOfContact - -[repository] -# sqlite -database=sqlite:///tests/suites/cite/data/records.db -# postgres -#database=postgres://username:password@localhost/pycsw -table=records - -[metadata:inspire] -enabled=false -languages_supported=eng,gre -default_language=eng -date=2011-03-29 -gemet_keywords=Utility and governmental services -conformity_service=notEvaluated -contact_name=National Technical University of Athens -contact_email=tzotsos@gmail.com -temp_extent=2011-02-01/2011-03-30 - diff --git a/tests/suites/fgdc/post/DescribeRecord.xml b/tests/suites/fgdc/post/DescribeRecord.xml deleted file mode 100644 index 11dec8922..000000000 --- a/tests/suites/fgdc/post/DescribeRecord.xml +++ /dev/null @@ -1,4 +0,0 @@ - - - fgdc:metadata - diff --git a/tests/suites/fgdc/post/GetCapabilities.xml b/tests/suites/fgdc/post/GetCapabilities.xml deleted file mode 100644 index e4dc8070b..000000000 --- a/tests/suites/fgdc/post/GetCapabilities.xml +++ /dev/null @@ -1,9 +0,0 @@ - - - - 2.0.2 - - - application/xml - - diff --git a/tests/suites/fgdc/post/GetRecords-filter-bbox.xml b/tests/suites/fgdc/post/GetRecords-filter-bbox.xml deleted file mode 100644 index 47060cbcc..000000000 --- a/tests/suites/fgdc/post/GetRecords-filter-bbox.xml +++ /dev/null @@ -1,17 +0,0 @@ - - - - brief - - - - ows:BoundingBox - - 47 -5 - 55 20 - - - - - - diff --git a/tests/suites/gm03/default.cfg b/tests/suites/gm03/default.cfg deleted file mode 100644 index c67325399..000000000 --- a/tests/suites/gm03/default.cfg +++ /dev/null @@ -1,90 +0,0 @@ -# ================================================================= -# -# Authors: Tom Kralidis -# -# Copyright (c) 2011 Tom Kralidis -# -# Permission is hereby granted, free of charge, to any person -# obtaining a copy of this software and associated documentation -# files (the "Software"), to deal in the Software without -# restriction, including without limitation the rights to use, -# copy, modify, merge, publish, distribute, sublicense, and/or sell -# copies of the Software, and to permit persons to whom the -# Software is furnished to do so, subject to the following -# conditions: -# -# The above copyright notice and this permission notice shall be -# included in all copies or substantial portions of the Software. -# -# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -# EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES -# OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -# NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT -# HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, -# WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING -# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR -# OTHER DEALINGS IN THE SOFTWARE. -# -# ================================================================= - -[server] -home=. -url=http://localhost/pycsw/csw.py?config=tests/suites/gm03/default.cfg -mimetype=application/xml; charset=UTF-8 -encoding=UTF-8 -language=en-US -maxrecords=10 -#loglevel=DEBUG -#logfile=/tmp/pycsw.log -#ogc_schemas_base=http://foo -federatedcatalogues=http://geo.data.gov/geoportal/csw/discovery -pretty_print=true -#gzip_compresslevel=8 -#spatial_ranking=true - -[manager] -transactions=false -allowed_ips=127.0.0.1 - -[metadata:main] -identification_title=pycsw Geospatial Catalogue -identification_abstract=pycsw is an OGC CSW server implementation written in Python -identification_keywords=catalogue,discovery -identification_keywords_type=theme -identification_fees=None -identification_accessconstraints=None -provider_name=pycsw -provider_url=http://pycsw.org/ -contact_name=Kralidis, Tom -contact_position=Senior Systems Scientist -contact_address=TBA -contact_city=Toronto -contact_stateorprovince=Ontario -contact_postalcode=M9C 3Z9 -contact_country=Canada -contact_phone=+01-416-xxx-xxxx -contact_fax=+01-416-xxx-xxxx -contact_email=tomkralidis@gmail.com -contact_url=http://kralidis.ca/ -contact_hours=0800h - 1600h EST -contact_instructions=During hours of service. Off on weekends. -contact_role=pointOfContact - -[repository] -# sqlite -database=sqlite:///tests/suites/cite/data/records.db -# postgres -#database=postgres://username:password@localhost/pycsw -table=records - -[metadata:inspire] -enabled=false -languages_supported=eng,gre -default_language=eng -date=2011-03-29 -gemet_keywords=Utility and governmental services -conformity_service=notEvaluated -contact_name=National Technical University of Athens -contact_email=tzotsos@gmail.com -temp_extent=2011-02-01/2011-03-30 - diff --git a/tests/suites/gm03/post/GetCapabilities.xml b/tests/suites/gm03/post/GetCapabilities.xml deleted file mode 100644 index e4dc8070b..000000000 --- a/tests/suites/gm03/post/GetCapabilities.xml +++ /dev/null @@ -1,9 +0,0 @@ - - - - 2.0.2 - - - application/xml - - diff --git a/tests/suites/gm03/post/GetRecords-filter-bbox.xml b/tests/suites/gm03/post/GetRecords-filter-bbox.xml deleted file mode 100644 index 4b2319124..000000000 --- a/tests/suites/gm03/post/GetRecords-filter-bbox.xml +++ /dev/null @@ -1,17 +0,0 @@ - - - - brief - - - - ows:BoundingBox - - 47 -5 - 55 20 - - - - - - diff --git a/tests/suites/harvesting/data/.gitkeep b/tests/suites/harvesting/data/.gitkeep deleted file mode 100644 index e69de29bb..000000000 diff --git a/tests/suites/harvesting/default.cfg b/tests/suites/harvesting/default.cfg deleted file mode 100644 index 78f00ea1c..000000000 --- a/tests/suites/harvesting/default.cfg +++ /dev/null @@ -1,91 +0,0 @@ -# ================================================================= -# -# Authors: Tom Kralidis -# -# Copyright (c) 2012 Tom Kralidis -# -# Permission is hereby granted, free of charge, to any person -# obtaining a copy of this software and associated documentation -# files (the "Software"), to deal in the Software without -# restriction, including without limitation the rights to use, -# copy, modify, merge, publish, distribute, sublicense, and/or sell -# copies of the Software, and to permit persons to whom the -# Software is furnished to do so, subject to the following -# conditions: -# -# The above copyright notice and this permission notice shall be -# included in all copies or substantial portions of the Software. -# -# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -# EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES -# OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -# NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT -# HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, -# WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING -# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR -# OTHER DEALINGS IN THE SOFTWARE. -# -# ================================================================= - -[server] -home=. -url=http://localhost/pycsw/csw.py?config=tests/suites/harvesting/default.cfg -mimetype=application/xml; charset=UTF-8 -encoding=UTF-8 -language=en-US -maxrecords=10 -#loglevel=DEBUG -#logfile=/tmp/pycsw.log -#ogc_schemas_base=http://foo -federatedcatalogues=http://geo.data.gov/geoportal/csw/discovery -pretty_print=true -#gzip_compresslevel=8 -#spatial_ranking=true -profiles=apiso - -[manager] -transactions=true -allowed_ips=127.0.0.1 - -[metadata:main] -identification_title=pycsw Geospatial Catalogue -identification_abstract=pycsw is an OGC CSW server implementation written in Python -identification_keywords=catalogue,discovery -identification_keywords_type=theme -identification_fees=None -identification_accessconstraints=None -provider_name=pycsw -provider_url=http://pycsw.org/ -contact_name=Kralidis, Tom -contact_position=Senior Systems Scientist -contact_address=TBA -contact_city=Toronto -contact_stateorprovince=Ontario -contact_postalcode=M9C 3Z9 -contact_country=Canada -contact_phone=+01-416-xxx-xxxx -contact_fax=+01-416-xxx-xxxx -contact_email=tomkralidis@gmail.com -contact_url=http://kralidis.ca/ -contact_hours=0800h - 1600h EST -contact_instructions=During hours of service. Off on weekends. -contact_role=pointOfContact - -[repository] -# sqlite -database=sqlite:///tests/suites/harvesting/data/records.db -# postgres -#database=postgres://username:password@localhost/pycsw -table=records - -[metadata:inspire] -enabled=false -languages_supported=eng,gre -default_language=eng -date=2011-03-29 -gemet_keywords=Utility and governmental services -conformity_service=notEvaluated -contact_name=National Technical University of Athens -contact_email=tzotsos@gmail.com -temp_extent=2011-02-01/2011-03-30 - diff --git a/tests/suites/harvesting/get/requests.txt b/tests/suites/harvesting/get/requests.txt deleted file mode 100644 index 3b13c3b11..000000000 --- a/tests/suites/harvesting/get/requests.txt +++ /dev/null @@ -1,5 +0,0 @@ -Exception-Harvest-missing-resourcetype,service=CSW&version=2.0.2&request=Harvest -Exception-Harvest-missing-source,service=CSW&version=2.0.2&request=Harvest&resourcetype=http://www.opengis.net/wms -Exception-Harvest-invalid-resourcetype,service=CSW&version=2.0.2&request=Harvest&resourcetype=http://www.opengis.net/wms1234&source=http://demo.pycsw.org/cite/csw -Exception-Harvest-waf-no-records-found,service=CSW&version=2.0.2&request=Harvest&resourcetype=urn:geoss:waf&source=http://demo.pycsw.org -Exception-Harvest-waf-bad-value,service=CSW&version=2.0.2&request=Harvest&resourcetype=urn:geoss:waf&source=badvalue diff --git a/tests/suites/harvesting/post/Clear-000-delete-all.xml b/tests/suites/harvesting/post/Clear-000-delete-all.xml deleted file mode 100644 index 827ccc7f0..000000000 --- a/tests/suites/harvesting/post/Clear-000-delete-all.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - dc:identifier - % - - - - - diff --git a/tests/suites/harvesting/post/Exception-Havest-csw-404.xml b/tests/suites/harvesting/post/Exception-Havest-csw-404.xml deleted file mode 100644 index dc660970b..000000000 --- a/tests/suites/harvesting/post/Exception-Havest-csw-404.xml +++ /dev/null @@ -1,6 +0,0 @@ - - - http://demo.pycsw.org/gisdata/cswBAD - http://www.opengis.net/cat/csw/2.0.2 - application/xml - diff --git a/tests/suites/harvesting/post/GetCapabilities.xml b/tests/suites/harvesting/post/GetCapabilities.xml deleted file mode 100644 index e4dc8070b..000000000 --- a/tests/suites/harvesting/post/GetCapabilities.xml +++ /dev/null @@ -1,9 +0,0 @@ - - - - 2.0.2 - - - application/xml - - diff --git a/tests/suites/harvesting/post/GetDomain-parameter.xml b/tests/suites/harvesting/post/GetDomain-parameter.xml deleted file mode 100644 index 3779a0555..000000000 --- a/tests/suites/harvesting/post/GetDomain-parameter.xml +++ /dev/null @@ -1,4 +0,0 @@ - - - Harvest.ResourceType - diff --git a/tests/suites/harvesting/post/Harvest-csw-iso.xml b/tests/suites/harvesting/post/Harvest-csw-iso.xml deleted file mode 100644 index b5ce58274..000000000 --- a/tests/suites/harvesting/post/Harvest-csw-iso.xml +++ /dev/null @@ -1,6 +0,0 @@ - - - http://demo.pycsw.org/services/csw - http://www.opengis.net/cat/csw/2.0.2 - application/xml - diff --git a/tests/suites/harvesting/post/Harvest-csw-run1.xml b/tests/suites/harvesting/post/Harvest-csw-run1.xml deleted file mode 100644 index a3514f77c..000000000 --- a/tests/suites/harvesting/post/Harvest-csw-run1.xml +++ /dev/null @@ -1,6 +0,0 @@ - - - http://demo.pycsw.org/cite/csw - http://www.opengis.net/cat/csw/2.0.2 - application/xml - diff --git a/tests/suites/harvesting/post/Harvest-csw-run2.xml b/tests/suites/harvesting/post/Harvest-csw-run2.xml deleted file mode 100644 index a3514f77c..000000000 --- a/tests/suites/harvesting/post/Harvest-csw-run2.xml +++ /dev/null @@ -1,6 +0,0 @@ - - - http://demo.pycsw.org/cite/csw - http://www.opengis.net/cat/csw/2.0.2 - application/xml - diff --git a/tests/suites/harvesting/post/Harvest-dc.xml b/tests/suites/harvesting/post/Harvest-dc.xml deleted file mode 100644 index bd94c7241..000000000 --- a/tests/suites/harvesting/post/Harvest-dc.xml +++ /dev/null @@ -1,6 +0,0 @@ - - - http://demo.pycsw.org/metadata/Clause_10.2.5.3.2_Example03_Full.xml - http://www.opengis.net/cat/csw/2.0.2 - application/xml - diff --git a/tests/suites/harvesting/post/Harvest-fgdc.xml b/tests/suites/harvesting/post/Harvest-fgdc.xml deleted file mode 100644 index a9a48b540..000000000 --- a/tests/suites/harvesting/post/Harvest-fgdc.xml +++ /dev/null @@ -1,6 +0,0 @@ - - - http://demo.pycsw.org/metadata/CDC008.xml - http://www.opengis.net/cat/csw/csdgm - application/xml - diff --git a/tests/suites/harvesting/post/Harvest-iso.xml b/tests/suites/harvesting/post/Harvest-iso.xml deleted file mode 100644 index 54492757f..000000000 --- a/tests/suites/harvesting/post/Harvest-iso.xml +++ /dev/null @@ -1,6 +0,0 @@ - - - http://demo.pycsw.org/metadata/dataset2_minimalst.xml - http://www.isotc211.org/schemas/2005/gmd/ - application/xml - diff --git a/tests/suites/harvesting/post/Harvest-rdf.xml b/tests/suites/harvesting/post/Harvest-rdf.xml deleted file mode 100644 index cd6415171..000000000 --- a/tests/suites/harvesting/post/Harvest-rdf.xml +++ /dev/null @@ -1,6 +0,0 @@ - - - http://demo.pycsw.org/metadata/dc-rdf.xml - http://www.opengis.net/cat/csw/2.0.2 - application/xml - diff --git a/tests/suites/harvesting/post/Harvest-sos100.xml b/tests/suites/harvesting/post/Harvest-sos100.xml deleted file mode 100644 index a7de0a332..000000000 --- a/tests/suites/harvesting/post/Harvest-sos100.xml +++ /dev/null @@ -1,5 +0,0 @@ - - - http://www.neracoos.org/cgi-bin/sos/V1.0/oostethys_sos.cgi - http://www.opengis.net/sos/1.0 - diff --git a/tests/suites/harvesting/post/Harvest-sos200.xml b/tests/suites/harvesting/post/Harvest-sos200.xml deleted file mode 100644 index 37e3db12a..000000000 --- a/tests/suites/harvesting/post/Harvest-sos200.xml +++ /dev/null @@ -1,5 +0,0 @@ - - - http://ngwd-bdnes.cits.nrcan.gc.ca/GinService/sos/gw - http://www.opengis.net/sos/2.0 - diff --git a/tests/suites/harvesting/post/Harvest-waf.xml b/tests/suites/harvesting/post/Harvest-waf.xml deleted file mode 100644 index 9ecd86f59..000000000 --- a/tests/suites/harvesting/post/Harvest-waf.xml +++ /dev/null @@ -1,5 +0,0 @@ - - - http://demo.pycsw.org/waf - urn:geoss:waf - diff --git a/tests/suites/harvesting/post/Harvest-wcs.xml b/tests/suites/harvesting/post/Harvest-wcs.xml deleted file mode 100644 index f59f4cc29..000000000 --- a/tests/suites/harvesting/post/Harvest-wcs.xml +++ /dev/null @@ -1,6 +0,0 @@ - - - http://demo.mapserver.org/cgi-bin/wcs - http://www.opengis.net/wcs - application/xml - diff --git a/tests/suites/harvesting/post/Harvest-wfs110.xml b/tests/suites/harvesting/post/Harvest-wfs110.xml deleted file mode 100644 index 72e28fbb2..000000000 --- a/tests/suites/harvesting/post/Harvest-wfs110.xml +++ /dev/null @@ -1,6 +0,0 @@ - - - http://services.ogc.noaa.gov/geoserver/geoss_water_sba/wfs - http://www.opengis.net/wfs - application/xml - diff --git a/tests/suites/harvesting/post/Harvest-wfs200.xml b/tests/suites/harvesting/post/Harvest-wfs200.xml deleted file mode 100644 index 9968eb702..000000000 --- a/tests/suites/harvesting/post/Harvest-wfs200.xml +++ /dev/null @@ -1,6 +0,0 @@ - - - http://maps.cera.govt.nz/arcgis/services/CERA/CERA_TechClasses_WGS84/MapServer/WFSServer - http://www.opengis.net/wfs/2.0 - application/xml - diff --git a/tests/suites/harvesting/post/Harvest-wms-run1.xml b/tests/suites/harvesting/post/Harvest-wms-run1.xml deleted file mode 100644 index a67274f81..000000000 --- a/tests/suites/harvesting/post/Harvest-wms-run1.xml +++ /dev/null @@ -1,6 +0,0 @@ - - - http://mesonet.agron.iastate.edu/cgi-bin/wms/nexrad/n0r-t.cgi - http://www.opengis.net/wms - application/xml - diff --git a/tests/suites/harvesting/post/Harvest-wms-run2.xml b/tests/suites/harvesting/post/Harvest-wms-run2.xml deleted file mode 100644 index a67274f81..000000000 --- a/tests/suites/harvesting/post/Harvest-wms-run2.xml +++ /dev/null @@ -1,6 +0,0 @@ - - - http://mesonet.agron.iastate.edu/cgi-bin/wms/nexrad/n0r-t.cgi - http://www.opengis.net/wms - application/xml - diff --git a/tests/suites/harvesting/post/Harvest-wmts.xml b/tests/suites/harvesting/post/Harvest-wmts.xml deleted file mode 100644 index 6d8339354..000000000 --- a/tests/suites/harvesting/post/Harvest-wmts.xml +++ /dev/null @@ -1,6 +0,0 @@ - - - http://maps.wien.gv.at/wmts/1.0.0/WMTSCapabilities.xml - http://www.opengis.net/wmts/1.0 - application/xml - diff --git a/tests/suites/harvesting/post/Harvest-wps.xml b/tests/suites/harvesting/post/Harvest-wps.xml deleted file mode 100644 index 0a38c61dc..000000000 --- a/tests/suites/harvesting/post/Harvest-wps.xml +++ /dev/null @@ -1,6 +0,0 @@ - - - http://cida.usgs.gov/gdp/utility/WebProcessingService - http://www.opengis.net/wps/1.0.0 - application/xml - diff --git a/tests/suites/harvesting/post/Harvest-zzz-post-GetRecords-filter-ows-dc.xml b/tests/suites/harvesting/post/Harvest-zzz-post-GetRecords-filter-ows-dc.xml deleted file mode 100644 index 5fe7eff25..000000000 --- a/tests/suites/harvesting/post/Harvest-zzz-post-GetRecords-filter-ows-dc.xml +++ /dev/null @@ -1,36 +0,0 @@ - - - - full - - - - - apiso:ServiceType - OGC:SOS - - - apiso:ServiceType - OGC:WPS - - - apiso:ServiceType - OGC:WMS - - - apiso:ServiceType - OGC:WFS - - - apiso:ServiceType - OGC:CSW - - - apiso:ServiceType - OGC:WCS - - - - - - diff --git a/tests/suites/harvesting/post/Harvest-zzz-post-GetRecords-filter-sos-abstract-dc.xml b/tests/suites/harvesting/post/Harvest-zzz-post-GetRecords-filter-sos-abstract-dc.xml deleted file mode 100644 index 294218008..000000000 --- a/tests/suites/harvesting/post/Harvest-zzz-post-GetRecords-filter-sos-abstract-dc.xml +++ /dev/null @@ -1,24 +0,0 @@ - - - - full - - - - - apiso:Type - service - - - apiso:ServiceType - OGC:SOS - - - apiso:Abstract - (groundwater( - - - - - - diff --git a/tests/suites/harvesting/post/Harvest-zzz-post-GetRecords-filter-sos-dc.xml b/tests/suites/harvesting/post/Harvest-zzz-post-GetRecords-filter-sos-dc.xml deleted file mode 100644 index caf43cc26..000000000 --- a/tests/suites/harvesting/post/Harvest-zzz-post-GetRecords-filter-sos-dc.xml +++ /dev/null @@ -1,20 +0,0 @@ - - - - full - - - - - apiso:Type - service - - - apiso:ServiceType - OGC:SOS - - - - - - diff --git a/tests/suites/harvesting/post/Harvest-zzz-post-GetRecords-filter-sos-iso.xml b/tests/suites/harvesting/post/Harvest-zzz-post-GetRecords-filter-sos-iso.xml deleted file mode 100644 index edc45b3fa..000000000 --- a/tests/suites/harvesting/post/Harvest-zzz-post-GetRecords-filter-sos-iso.xml +++ /dev/null @@ -1,20 +0,0 @@ - - - - full - - - - - apiso:Type - service - - - apiso:ServiceType - OGC:SOS - - - - - - diff --git a/tests/suites/harvesting/post/Harvest-zzz-post-GetRecords-filter-wfs-iso.xml b/tests/suites/harvesting/post/Harvest-zzz-post-GetRecords-filter-wfs-iso.xml deleted file mode 100644 index 3e26f62db..000000000 --- a/tests/suites/harvesting/post/Harvest-zzz-post-GetRecords-filter-wfs-iso.xml +++ /dev/null @@ -1,20 +0,0 @@ - - - - full - - - - - apiso:Type - service - - - apiso:ServiceType - OGC:WFS - - - - - - diff --git a/tests/suites/harvesting/post/Harvest-zzz-post-GetRecords-filter-wms-dc.xml b/tests/suites/harvesting/post/Harvest-zzz-post-GetRecords-filter-wms-dc.xml deleted file mode 100644 index c67d38186..000000000 --- a/tests/suites/harvesting/post/Harvest-zzz-post-GetRecords-filter-wms-dc.xml +++ /dev/null @@ -1,20 +0,0 @@ - - - - full - - - - - apiso:Type - service - - - apiso:ServiceType - OGC:WMS - - - - - - diff --git a/tests/suites/harvesting/post/Harvest-zzz-post-GetRecords-filter-wms-iso.xml b/tests/suites/harvesting/post/Harvest-zzz-post-GetRecords-filter-wms-iso.xml deleted file mode 100644 index f4300e7ef..000000000 --- a/tests/suites/harvesting/post/Harvest-zzz-post-GetRecords-filter-wms-iso.xml +++ /dev/null @@ -1,20 +0,0 @@ - - - - full - - - - - apiso:Type - service - - - apiso:ServiceType - OGC:WMS - - - - - - diff --git a/tests/suites/harvesting/post/Harvest-zzz-post-GetRecords-filter-wms-layer.xml b/tests/suites/harvesting/post/Harvest-zzz-post-GetRecords-filter-wms-layer.xml deleted file mode 100644 index ab70e4b8b..000000000 --- a/tests/suites/harvesting/post/Harvest-zzz-post-GetRecords-filter-wms-layer.xml +++ /dev/null @@ -1,20 +0,0 @@ - - - - full - - - - - dc:type - dataset - - - csw:AnyText - %nexrad% - - - - - - diff --git a/tests/suites/harvesting/post/Harvest-zzz-post-GetRecords-filter-wps-process.xml b/tests/suites/harvesting/post/Harvest-zzz-post-GetRecords-filter-wps-process.xml deleted file mode 100644 index 3c87edd95..000000000 --- a/tests/suites/harvesting/post/Harvest-zzz-post-GetRecords-filter-wps-process.xml +++ /dev/null @@ -1,14 +0,0 @@ - - - - full - - - - dc:type - software - - - - - diff --git a/tests/suites/harvesting/post/Transaction-000-delete-all.xml b/tests/suites/harvesting/post/Transaction-000-delete-all.xml deleted file mode 100644 index 827ccc7f0..000000000 --- a/tests/suites/harvesting/post/Transaction-000-delete-all.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - dc:identifier - % - - - - - diff --git a/tests/suites/manager/data/.gitkeep b/tests/suites/manager/data/.gitkeep deleted file mode 100644 index e69de29bb..000000000 diff --git a/tests/suites/manager/default.cfg b/tests/suites/manager/default.cfg deleted file mode 100644 index 3e9c1f8f5..000000000 --- a/tests/suites/manager/default.cfg +++ /dev/null @@ -1,91 +0,0 @@ -# ================================================================= -# -# Authors: Tom Kralidis -# -# Copyright (c) 2012 Tom Kralidis -# -# Permission is hereby granted, free of charge, to any person -# obtaining a copy of this software and associated documentation -# files (the "Software"), to deal in the Software without -# restriction, including without limitation the rights to use, -# copy, modify, merge, publish, distribute, sublicense, and/or sell -# copies of the Software, and to permit persons to whom the -# Software is furnished to do so, subject to the following -# conditions: -# -# The above copyright notice and this permission notice shall be -# included in all copies or substantial portions of the Software. -# -# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -# EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES -# OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -# NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT -# HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, -# WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING -# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR -# OTHER DEALINGS IN THE SOFTWARE. -# -# ================================================================= - -[server] -home=. -url=http://localhost/pycsw/csw.py?config=tests/suites/manager/default.cfg -mimetype=application/xml; charset=UTF-8 -encoding=UTF-8 -language=en-US -maxrecords=10 -#loglevel=DEBUG -#logfile=/tmp/pycsw.log -#ogc_schemas_base=http://foo -federatedcatalogues=http://geo.data.gov/geoportal/csw/discovery -pretty_print=true -#gzip_compresslevel=8 -#spatial_ranking=true -profiles=apiso - -[manager] -transactions=true -allowed_ips=127.0.0.1 - -[metadata:main] -identification_title=pycsw Geospatial Catalogue -identification_abstract=pycsw is an OGC CSW server implementation written in Python -identification_keywords=catalogue,discovery -identification_keywords_type=theme -identification_fees=None -identification_accessconstraints=None -provider_name=pycsw -provider_url=http://pycsw.org/ -contact_name=Kralidis, Tom -contact_position=Senior Systems Scientist -contact_address=TBA -contact_city=Toronto -contact_stateorprovince=Ontario -contact_postalcode=M9C 3Z9 -contact_country=Canada -contact_phone=+01-416-xxx-xxxx -contact_fax=+01-416-xxx-xxxx -contact_email=tomkralidis@gmail.com -contact_url=http://kralidis.ca/ -contact_hours=0800h - 1600h EST -contact_instructions=During hours of service. Off on weekends. -contact_role=pointOfContact - -[repository] -# sqlite -database=sqlite:///tests/suites/manager/data/records.db -# postgres -#database=postgres://username:password@localhost/pycsw -table=records - -[metadata:inspire] -enabled=false -languages_supported=eng,gre -default_language=eng -date=2011-03-29 -gemet_keywords=Utility and governmental services -conformity_service=notEvaluated -contact_name=National Technical University of Athens -contact_email=tzotsos@gmail.com -temp_extent=2011-02-01/2011-03-30 - diff --git a/tests/suites/manager/post/Clear-000-delete-all.xml b/tests/suites/manager/post/Clear-000-delete-all.xml deleted file mode 100644 index 827ccc7f0..000000000 --- a/tests/suites/manager/post/Clear-000-delete-all.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - dc:identifier - % - - - - - diff --git a/tests/suites/manager/post/GetCapabilities.xml b/tests/suites/manager/post/GetCapabilities.xml deleted file mode 100644 index e4dc8070b..000000000 --- a/tests/suites/manager/post/GetCapabilities.xml +++ /dev/null @@ -1,9 +0,0 @@ - - - - 2.0.2 - - - application/xml - - diff --git a/tests/suites/manager/post/GetDomain-parameter.xml b/tests/suites/manager/post/GetDomain-parameter.xml deleted file mode 100644 index 3779a0555..000000000 --- a/tests/suites/manager/post/GetDomain-parameter.xml +++ /dev/null @@ -1,4 +0,0 @@ - - - Harvest.ResourceType - diff --git a/tests/suites/manager/post/Transaction-000-delete-all.xml b/tests/suites/manager/post/Transaction-000-delete-all.xml deleted file mode 100644 index 827ccc7f0..000000000 --- a/tests/suites/manager/post/Transaction-000-delete-all.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - dc:identifier - % - - - - - diff --git a/tests/suites/manager/post/Transaction-dc-01-insert.xml b/tests/suites/manager/post/Transaction-dc-01-insert.xml deleted file mode 100644 index 1fca1e266..000000000 --- a/tests/suites/manager/post/Transaction-dc-01-insert.xml +++ /dev/null @@ -1,22 +0,0 @@ - - - - - xyz - pycsw Catalogue - 2012-06-05 - Sample metadata - dataset - imagery - baseMaps - earthCover - BIL - Vanda Lima - en - - -90 -180 - 90 180 - - - - diff --git a/tests/suites/manager/post/Transaction-dc-02-update-full.xml b/tests/suites/manager/post/Transaction-dc-02-update-full.xml deleted file mode 100644 index 3d3bf1a75..000000000 --- a/tests/suites/manager/post/Transaction-dc-02-update-full.xml +++ /dev/null @@ -1,22 +0,0 @@ - - - - - xyz - THIS HAS BEEN UPDATED - 2012-06-05 - Sample metadata - dataset - imagery - baseMaps - earthCover - BIL - Vanda Lima - en - - -90 -180 - 90 180 - - - - diff --git a/tests/suites/manager/post/Transaction-fgdc-01-insert.xml b/tests/suites/manager/post/Transaction-fgdc-01-insert.xml deleted file mode 100644 index 3a7c368df..000000000 --- a/tests/suites/manager/post/Transaction-fgdc-01-insert.xml +++ /dev/null @@ -1,214 +0,0 @@ - - - - - -foorecord - - -NOAA/ESRL Physical Sciences Division -20001201 -NCEP - -Boulder, CO -NOAA/ESRL Physical Sciences Division - -ftp://ftp.cdc.noaa.gov/Datasets/ncep/ -http://www.esrl.noaa.gov/psd/thredds/dodsC/Datasets/ncep/ -http://www.esrl.noaa.gov/psd/data/gridded/data.ncep.html - - - -NCEP's twice-daily global analysis at 2.5&#176; resolution on pressure levels which is a product of their operational forecast system. -Scientific research. - -Additional Fields: ------------------: -StartDate: 19790101 -StopDate: 20001201 -Storage_Medium: online -PSD Search Fields: -Entry_ID: ncep.fgdc - - - - - -19790101 -20001201 - - -Publication_Date: 20001201 - - -Complete -Irregular - - - --180 -180 -90.00 --90.00 - - - - -GCMD DIF 5.33 -NCEP -Air temperature -Geopotential height -Precipitable Water Content -Precipitable water Content -Relative humidity -Sea level pressure -Station pressure -Surface potential temperature -Surface Pressure -Tropopause Pressure -Tropopause temperature -u-wind -v-wind - - -none -Global - - -none -none - - -none -19790101, 20001201 - - -None -None. Acknowledgement of PSD would appreciated in products derived from these data. - - - -PSD Data Management - - -mailing address -
NOAA/ESRL Physical Sciences Division
-
U.S. Dept. of Commerce
-
NOAA, R/PSD
-
325 Broadway
-Boulder -CO -80305 -USA -
-(303) 497-6640 -(303) 497-6020 -esrl.psd.data@noaa.gov -
-
- -None -Unclassified -None - -Data resides in netCDF files at PSD -
- - -Data QC'd at source. We have checked our stored values. - -None -None - - -None - - - - - - -None -20001201 -None -None -None - - -None - - - -9999 -9999 - - -None - -None -None - - -None -9999 - - - - - - - -PSD Data Management - - -mailing address -
NOAA/ESRL Physical Sciences Division
-
U.S. Dept. of Commerce
-
NOAA, Code R/PSD
-
325 Broadway
-Boulder -CO -80305 -USA -
-(303) 497-7200 -(303) 497-6020 -esrl.psd.data@noaa.gov -
-
-No warranty expressed or implied. -
- -20001201 - - - -PSD Data Management - - -mailing address -
NOAA/ESRL Physical Sciences Division
-
U.S. Dept. of Commerce
-
NOAA, Code R/PSD
-
325 Broadway
-Boulder -CO -80305 -USA -
-(303) 497-7200 -(303) 497-6020 -esrl.psd.data@noaa.gov -
-
-FGDC Content Standards for Digital Geospatial Metadata -FGDC-STD-001-1998 - -None -Unclassified -None - -
-
-
-
diff --git a/tests/suites/manager/post/Transaction-fgdc-02-update-recprop.xml b/tests/suites/manager/post/Transaction-fgdc-02-update-recprop.xml deleted file mode 100644 index 252beb6be..000000000 --- a/tests/suites/manager/post/Transaction-fgdc-02-update-recprop.xml +++ /dev/null @@ -1,17 +0,0 @@ - - - - - idinfo/citation/citeinfo/title - NEW_TITLE - - - - - dct:abstract - NCEP% - - - - - diff --git a/tests/suites/manager/post/Transaction-fgdc-03-delete-all.xml b/tests/suites/manager/post/Transaction-fgdc-03-delete-all.xml deleted file mode 100644 index 9e0fba0d7..000000000 --- a/tests/suites/manager/post/Transaction-fgdc-03-delete-all.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - dc:identifier - % - - - - - diff --git a/tests/suites/manager/post/Transaction-iso-00-delete-all.xml b/tests/suites/manager/post/Transaction-iso-00-delete-all.xml deleted file mode 100644 index 0fb063efc..000000000 --- a/tests/suites/manager/post/Transaction-iso-00-delete-all.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - apiso:Identifier - % - - - - - diff --git a/tests/suites/manager/post/Transaction-iso-01-insert.xml b/tests/suites/manager/post/Transaction-iso-01-insert.xml deleted file mode 100644 index 1b238dd4d..000000000 --- a/tests/suites/manager/post/Transaction-iso-01-insert.xml +++ /dev/null @@ -1,73 +0,0 @@ - - - - - - 12345 - - - - - - - - pycsw - - - - - - - - 2011-05-17 - - - - - - - pycsw record - - - - - 2011-05-17 - - - - - - - - - - Sample metadata record - - - eng - - - - - - - -180 - - - 180 - - - -90 - - - 90 - - - - - - - - - - diff --git a/tests/suites/manager/post/Transaction-iso-02-update-full.xml b/tests/suites/manager/post/Transaction-iso-02-update-full.xml deleted file mode 100644 index a5a5d0019..000000000 --- a/tests/suites/manager/post/Transaction-iso-02-update-full.xml +++ /dev/null @@ -1,73 +0,0 @@ - - - - - - 12345 - - - - - - - - pycsw - - - - - - - - 2011-05-17 - - - - - - - pycsw record UPDATED - - - - - 2011-05-17 - - - - - - - - - - Sample metadata record - - - eng - - - - - - - -180 - - - 180 - - - -90 - - - 90 - - - - - - - - - - diff --git a/tests/suites/manager/post/Transaction-iso-03-update-recprop.xml b/tests/suites/manager/post/Transaction-iso-03-update-recprop.xml deleted file mode 100644 index a130a5f25..000000000 --- a/tests/suites/manager/post/Transaction-iso-03-update-recprop.xml +++ /dev/null @@ -1,17 +0,0 @@ - - - - - apiso:Title - NEW_TITLE - - - - - apiso:Identifier - 12345 - - - - - diff --git a/tests/suites/manager/post/Transaction-iso-04-update-recprop-no-matches.xml b/tests/suites/manager/post/Transaction-iso-04-update-recprop-no-matches.xml deleted file mode 100644 index e1ff7ac3a..000000000 --- a/tests/suites/manager/post/Transaction-iso-04-update-recprop-no-matches.xml +++ /dev/null @@ -1,17 +0,0 @@ - - - - - apiso:Title - NEW_TITLE - - - - - apiso:Identifier - non-existent - - - - - diff --git a/tests/suites/manager/post/Transaction-iso-05-delete.xml b/tests/suites/manager/post/Transaction-iso-05-delete.xml deleted file mode 100644 index 675a8690e..000000000 --- a/tests/suites/manager/post/Transaction-iso-05-delete.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - apiso:Identifier - 12345 - - - - - diff --git a/tests/suites/manager/post/Transaction-xxx-delete-all.xml b/tests/suites/manager/post/Transaction-xxx-delete-all.xml deleted file mode 100644 index 827ccc7f0..000000000 --- a/tests/suites/manager/post/Transaction-xxx-delete-all.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - dc:identifier - % - - - - - diff --git a/tests/suites/oaipmh/default.cfg b/tests/suites/oaipmh/default.cfg deleted file mode 100644 index 18a08989f..000000000 --- a/tests/suites/oaipmh/default.cfg +++ /dev/null @@ -1,91 +0,0 @@ -# ================================================================= -# -# Authors: Tom Kralidis -# -# Copyright (c) 2011 Tom Kralidis -# -# Permission is hereby granted, free of charge, to any person -# obtaining a copy of this software and associated documentation -# files (the "Software"), to deal in the Software without -# restriction, including without limitation the rights to use, -# copy, modify, merge, publish, distribute, sublicense, and/or sell -# copies of the Software, and to permit persons to whom the -# Software is furnished to do so, subject to the following -# conditions: -# -# The above copyright notice and this permission notice shall be -# included in all copies or substantial portions of the Software. -# -# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -# EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES -# OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -# NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT -# HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, -# WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING -# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR -# OTHER DEALINGS IN THE SOFTWARE. -# -# ================================================================= - -[server] -home=. -url=http://localhost/pycsw/csw.py?config=tests/suites/oaipmh/default.cfg -mimetype=application/xml; charset=UTF-8 -encoding=UTF-8 -language=en-US -maxrecords=10 -#loglevel=DEBUG -#logfile=/tmp/pycsw.log -#ogc_schemas_base=http://foo -federatedcatalogues=http://geo.data.gov/geoportal/csw/discovery -pretty_print=true -profiles=apiso -#gzip_compresslevel=8 -#spatial_ranking=true - -[manager] -transactions=false -allowed_ips=127.0.0.1 - -[metadata:main] -identification_title=pycsw Geospatial Catalogue -identification_abstract=pycsw is an OGC CSW server implementation written in Python -identification_keywords=catalogue,discovery -identification_keywords_type=theme -identification_fees=None -identification_accessconstraints=None -provider_name=pycsw -provider_url=http://pycsw.org/ -contact_name=Kralidis, Tom -contact_position=Senior Systems Scientist -contact_address=TBA -contact_city=Toronto -contact_stateorprovince=Ontario -contact_postalcode=M9C 3Z9 -contact_country=Canada -contact_phone=+01-416-xxx-xxxx -contact_fax=+01-416-xxx-xxxx -contact_email=tomkralidis@gmail.com -contact_url=http://kralidis.ca/ -contact_hours=0800h - 1600h EST -contact_instructions=During hours of service. Off on weekends. -contact_role=pointOfContact - -[repository] -# sqlite -database=sqlite:///tests/suites/cite/data/records.db -# postgres -#database=postgres://username:password@localhost/pycsw -table=records - -[metadata:inspire] -enabled=false -languages_supported=eng,gre -default_language=eng -date=2011-03-29 -gemet_keywords=Utility and governmental services -conformity_service=notEvaluated -contact_name=National Technical University of Athens -contact_email=tzotsos@gmail.com -temp_extent=2011-02-01/2011-03-30 - diff --git a/tests/suites/oaipmh/get/requests.txt b/tests/suites/oaipmh/get/requests.txt deleted file mode 100644 index bf6955232..000000000 --- a/tests/suites/oaipmh/get/requests.txt +++ /dev/null @@ -1,20 +0,0 @@ -empty,mode=oaipmh -empty_with_amp,mode=oaipmh& -bad_verb,mode=oaipmh&verb=foo -illegal_verb,mode=oaipmh&verb=foo&foo=bar -Identify,mode=oaipmh&verb=Identify -ListSets,mode=oaipmh&verb=ListSets -ListMetadataFormats,mode=oaipmh&verb=ListMetadataFormats -GetRecord_dc,mode=oaipmh&verb=GetRecord&identifier=urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f&metadataPrefix=csw-record -GetRecord_bad_metadata_prefix,mode=oaipmh&verb=GetRecord&identifier=urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f&metadataPrefix=csw-recordd -GetRecord_oai_dc,mode=oaipmh&verb=GetRecord&identifier=urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f&metadataPrefix=oai_dc -GetRecord_iso,mode=oaipmh&verb=GetRecord&identifier=urn:uuid:19887a8a-f6b0-4a63-ae56-7fba0e17801f&metadataPrefix=iso19139 -ListIdentifiers_missing_metadata_prefix,mode=oaipmh&verb=ListIdentifiers -ListIdentifiers_dc,mode=oaipmh&verb=ListIdentifiers&metadataPrefix=csw-record -ListIdentifiers_iso,mode=oaipmh&verb=ListIdentifiers&metadataPrefix=iso19139 -ListIdentifiers_oai_dc,mode=oaipmh&verb=ListIdentifiers&metadataPrefix=oai_dc -ListIdentifiers_bad_metadata_prefix,mode=oaipmh&verb=ListIdentifiers&metadataPrefix=foo -ListRecords_dc,mode=oaipmh&verb=ListRecords&metadataPrefix=csw-record -ListRecords_dc_bad_metadata_prefix,mode=oaipmh&verb=ListRecords&metadataPrefix=csw-recording -ListRecords_oai_dc,mode=oaipmh&verb=ListRecords&metadataPrefix=oai_dc -ListRecords_iso19139,mode=oaipmh&verb=ListRecords&metadataPrefix=iso19139 diff --git a/tests/suites/repofilter/default.cfg b/tests/suites/repofilter/default.cfg deleted file mode 100644 index 63339ccbb..000000000 --- a/tests/suites/repofilter/default.cfg +++ /dev/null @@ -1,91 +0,0 @@ -# ================================================================= -# -# Authors: Tom Kralidis -# -# Copyright (c) 2011 Tom Kralidis -# -# Permission is hereby granted, free of charge, to any person -# obtaining a copy of this software and associated documentation -# files (the "Software"), to deal in the Software without -# restriction, including without limitation the rights to use, -# copy, modify, merge, publish, distribute, sublicense, and/or sell -# copies of the Software, and to permit persons to whom the -# Software is furnished to do so, subject to the following -# conditions: -# -# The above copyright notice and this permission notice shall be -# included in all copies or substantial portions of the Software. -# -# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -# EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES -# OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -# NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT -# HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, -# WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING -# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR -# OTHER DEALINGS IN THE SOFTWARE. -# -# ================================================================= - -[server] -home=. -url=http://localhost/pycsw/csw.py?config=tests/suites/repofilter/default.cfg -mimetype=application/xml; charset=UTF-8 -encoding=UTF-8 -language=en-US -maxrecords=10 -#loglevel=DEBUG -#logfile=/tmp/pycsw.log -#ogc_schemas_base=http://foo -federatedcatalogues=http://geo.data.gov/geoportal/csw/discovery -pretty_print=true -#gzip_compresslevel=8 -#spatial_ranking=true - -[manager] -transactions=false -allowed_ips=127.0.0.1 - -[metadata:main] -identification_title=pycsw Geospatial Catalogue -identification_abstract=pycsw is an OGC CSW server implementation written in Python -identification_keywords=catalogue,discovery -identification_keywords_type=theme -identification_fees=None -identification_accessconstraints=None -provider_name=pycsw -provider_url=http://pycsw.org/ -contact_name=Kralidis, Tom -contact_position=Senior Systems Scientist -contact_address=TBA -contact_city=Toronto -contact_stateorprovince=Ontario -contact_postalcode=M9C 3Z9 -contact_country=Canada -contact_phone=+01-416-xxx-xxxx -contact_fax=+01-416-xxx-xxxx -contact_email=tomkralidis@gmail.com -contact_url=http://kralidis.ca/ -contact_hours=0800h - 1600h EST -contact_instructions=During hours of service. Off on weekends. -contact_role=pointOfContact - -[repository] -# sqlite -database=sqlite:///tests/suites/cite/data/records.db -# postgres -#database=postgres://username:password@localhost/pycsw -table=records -filter=type = 'http://purl.org/dc/dcmitype/Dataset' - -[metadata:inspire] -enabled=false -languages_supported=eng,gre -default_language=eng -date=2011-03-29 -gemet_keywords=Utility and governmental services -conformity_service=notEvaluated -contact_name=National Technical University of Athens -contact_email=tzotsos@gmail.com -temp_extent=2011-02-01/2011-03-30 - diff --git a/tests/suites/repofilter/post/GetRecordById-masked.xml b/tests/suites/repofilter/post/GetRecordById-masked.xml deleted file mode 100644 index 1a61c85a8..000000000 --- a/tests/suites/repofilter/post/GetRecordById-masked.xml +++ /dev/null @@ -1,5 +0,0 @@ - - - urn:uuid:784e2afd-a9fd-44a6-9a92-a3848371c8ec - summary - diff --git a/tests/suites/repofilter/post/GetRecords-all.xml b/tests/suites/repofilter/post/GetRecords-all.xml deleted file mode 100644 index ecae692a0..000000000 --- a/tests/suites/repofilter/post/GetRecords-all.xml +++ /dev/null @@ -1,6 +0,0 @@ - - - - full - - diff --git a/tests/suites/sru/default.cfg b/tests/suites/sru/default.cfg deleted file mode 100644 index 0140efaf4..000000000 --- a/tests/suites/sru/default.cfg +++ /dev/null @@ -1,90 +0,0 @@ -# ================================================================= -# -# Authors: Tom Kralidis -# -# Copyright (c) 2011 Tom Kralidis -# -# Permission is hereby granted, free of charge, to any person -# obtaining a copy of this software and associated documentation -# files (the "Software"), to deal in the Software without -# restriction, including without limitation the rights to use, -# copy, modify, merge, publish, distribute, sublicense, and/or sell -# copies of the Software, and to permit persons to whom the -# Software is furnished to do so, subject to the following -# conditions: -# -# The above copyright notice and this permission notice shall be -# included in all copies or substantial portions of the Software. -# -# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -# EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES -# OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -# NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT -# HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, -# WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING -# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR -# OTHER DEALINGS IN THE SOFTWARE. -# -# ================================================================= - -[server] -home=. -url=http://localhost/pycsw/csw.py?config=tests/suites/sru/default.cfg -mimetype=application/xml; charset=UTF-8 -encoding=UTF-8 -language=en-US -maxrecords=10 -#loglevel=DEBUG -#logfile=/tmp/pycsw.log -#ogc_schemas_base=http://foo -federatedcatalogues=http://geo.data.gov/geoportal/csw/discovery -pretty_print=true -#gzip_compresslevel=8 -#spatial_ranking=true - -[manager] -transactions=false -allowed_ips=127.0.0.1 - -[metadata:main] -identification_title=pycsw Geospatial Catalogue -identification_abstract=pycsw is an OGC CSW server implementation written in Python -identification_keywords=catalogue,discovery -identification_keywords_type=theme -identification_fees=None -identification_accessconstraints=None -provider_name=pycsw -provider_url=http://pycsw.org/ -contact_name=Kralidis, Tom -contact_position=Senior Systems Scientist -contact_address=TBA -contact_city=Toronto -contact_stateorprovince=Ontario -contact_postalcode=M9C 3Z9 -contact_country=Canada -contact_phone=+01-416-xxx-xxxx -contact_fax=+01-416-xxx-xxxx -contact_email=tomkralidis@gmail.com -contact_url=http://kralidis.ca/ -contact_hours=0800h - 1600h EST -contact_instructions=During hours of service. Off on weekends. -contact_role=pointOfContact - -[repository] -# sqlite -database=sqlite:///tests/suites/cite/data/records.db -# postgres -#database=postgres://username:password@localhost/pycsw -table=records - -[metadata:inspire] -enabled=false -languages_supported=eng,gre -default_language=eng -date=2011-03-29 -gemet_keywords=Utility and governmental services -conformity_service=notEvaluated -contact_name=National Technical University of Athens -contact_email=tzotsos@gmail.com -temp_extent=2011-02-01/2011-03-30 - diff --git a/tests/suites/sru/get/requests.txt b/tests/suites/sru/get/requests.txt deleted file mode 100644 index 3db4b8cd0..000000000 --- a/tests/suites/sru/get/requests.txt +++ /dev/null @@ -1,5 +0,0 @@ -explain,mode=sru -search,mode=sru&version=1.1&operation=searchRetrieve&query=lor -search_maxrecords,mode=sru&operation=searchRetrieve&query=lor&maximumRecords=2 -search_startrecord_maxrecords,mode=sru&operation=searchRetrieve&query=lor&maximumRecords=2&startRecord=1 -search_cql,mode=sru&operation=searchRetrieve&query=dc:title%20like%20'%lor%'&maximumRecords=5 diff --git a/tests/suites/utf-8/default.cfg b/tests/suites/utf-8/default.cfg deleted file mode 100644 index d68bfbdcb..000000000 --- a/tests/suites/utf-8/default.cfg +++ /dev/null @@ -1,89 +0,0 @@ -# ================================================================= -# -# Authors: Tom Kralidis -# -# Copyright (c) 2011 Tom Kralidis -# -# Permission is hereby granted, free of charge, to any person -# obtaining a copy of this software and associated documentation -# files (the "Software"), to deal in the Software without -# restriction, including without limitation the rights to use, -# copy, modify, merge, publish, distribute, sublicense, and/or sell -# copies of the Software, and to permit persons to whom the -# Software is furnished to do so, subject to the following -# conditions: -# -# The above copyright notice and this permission notice shall be -# included in all copies or substantial portions of the Software. -# -# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -# EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES -# OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -# NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT -# HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, -# WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING -# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR -# OTHER DEALINGS IN THE SOFTWARE. -# -# ================================================================= - -[server] -home=. -url=http://localhost/pycsw/csw.py?config=tests/suites/utf-8/default.cfg -mimetype=application/xml; charset=UTF-8 -encoding=UTF-8 -language=en-US -maxrecords=10 -#loglevel=DEBUG -#logfile=/tmp/pycsw.log -#ogc_schemas_base=http://foo -federatedcatalogues=http://demo.pycsw.org/gisdata/csw -pretty_print=true -#gzip_compresslevel=8 -#spatial_ranking=true - -[manager] -transactions=false -allowed_ips=127.0.0.1 - -[metadata:main] -identification_title=ErrŹĆŁÓdd -identification_abstract=pycsw is an OGC CSW server implementation written in Python -identification_keywords=catalogue,discovery -identification_keywords_type=theme -identification_fees=None -identification_accessconstraints=None -provider_name=pycsw -provider_url=http://pycsw.org/ -contact_name=Kralidis, Tom -contact_position=Senior Systems Scientist -contact_address=TBA -contact_city=Toronto -contact_stateorprovince=Ontario -contact_postalcode=M9C 3Z9 -contact_country=Canada -contact_phone=+01-416-xxx-xxxx -contact_fax=+01-416-xxx-xxxx -contact_email=tomkralidis@gmail.com -contact_url=http://kralidis.ca/ -contact_hours=0800h - 1600h EST -contact_instructions=During hours of service. Off on weekends. -contact_role=pointOfContact - -[repository] -# sqlite -database=sqlite:///tests/suites/cite/data/records.db -# postgres -#database=postgres://username:password@localhost/pycsw -table=records - -[metadata:inspire] -enabled=false -languages_supported=eng,gre -default_language=eng -date=2011-03-29 -gemet_keywords=Utility and governmental services -conformity_service=notEvaluated -contact_name=National Technical University of Athens -contact_email=tzotsos@gmail.com -temp_extent=2011-02-01/2011-03-30 diff --git a/tests/suites/utf-8/post/GetCapabilities.xml b/tests/suites/utf-8/post/GetCapabilities.xml deleted file mode 100644 index e4dc8070b..000000000 --- a/tests/suites/utf-8/post/GetCapabilities.xml +++ /dev/null @@ -1,9 +0,0 @@ - - - - 2.0.2 - - - application/xml - - From cda6ab6a072526eac8ca67916f0cf4c9e5cf7526 Mon Sep 17 00:00:00 2001 From: Ricardo Garcia Silva Date: Wed, 14 Dec 2016 17:54:51 +0000 Subject: [PATCH 113/119] deleted older run_tests.py test runner --- tests/run_tests.py | 577 --------------------------------------------- 1 file changed, 577 deletions(-) delete mode 100644 tests/run_tests.py diff --git a/tests/run_tests.py b/tests/run_tests.py deleted file mode 100644 index 5ab6912e4..000000000 --- a/tests/run_tests.py +++ /dev/null @@ -1,577 +0,0 @@ -#!/usr/bin/python -# ================================================================= -# -# Authors: Tom Kralidis -# Ricardo Garcia Silva -# -# Copyright (c) 2016 Tom Kralidis -# Copyright (c) 2016 Ricardo Garcia Silva -# -# Permission is hereby granted, free of charge, to any person -# obtaining a copy of this software and associated documentation -# files (the "Software"), to deal in the Software without -# restriction, including without limitation the rights to use, -# copy, modify, merge, publish, distribute, sublicense, and/or sell -# copies of the Software, and to permit persons to whom the -# Software is furnished to do so, subject to the following -# conditions: -# -# The above copyright notice and this permission notice shall be -# included in all copies or substantial portions of the Software. -# -# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -# EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES -# OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -# NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT -# HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, -# WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING -# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR -# OTHER DEALINGS IN THE SOFTWARE. -# -# ================================================================= - -# simple testing framework inspired by MapServer msautotest - -import codecs -import csv -import filecmp -import getopt -import glob -from io import BytesIO -import json -import os -import re -import sys -import time - -from lxml import etree -from lxml import objectify - -from pycsw.core.util import get_elapsed_time, http_request - -ENCODING = 'utf-8' - -def plural(num): - """Determine plurality given an integer""" - if num != 1: - return 's' - else: - return '' - - -def test_xml_result(result, expected, encoding=ENCODING): - """Compare the XML test results with an expected value. - - This function compares the test result with the expected values by - performing XML canonicalization (c14n)[1]_. - - Parameters - ---------- - result: bytes - The result of running the test. - expected: bytes - The expected outcome. - - Returns - ------- - bool - Whether the result matches the expectations or not. - - Raises - ------ - etree.XMLSyntaxError - If any of the input parameters is not a valid XMl. - etree.C14NError - If any of the input parameters cannot be canonicalized. This may - happen if there are relative namespace URIs in any of the XML - documents, as they are explicitly not allowed when doing XML c14n - - References - ---------- - .. [1] http://www.w3.org/TR/xml-c14n - - """ - - try: - result_element = etree.fromstring(result) - expected_element = etree.fromstring(expected) - result_buffer = BytesIO() - result_tree = result_element.getroottree() - objectify.deannotate(result_tree, cleanup_namespaces=True) - result_tree.write_c14n(result_buffer) - expected_buffer = BytesIO() - expected_tree = expected_element.getroottree() - objectify.deannotate(expected_tree, cleanup_namespaces=True) - expected_tree.write_c14n(expected_buffer) - matches = result_buffer.getvalue() == expected_buffer.getvalue() - if not matches: - print("result:") - print(result_buffer.getvalue()) - print("+++++++++++++++++++++++") - print("expected:") - print(expected_buffer.getvalue()) - - except etree.XMLSyntaxError: - matches = None - return matches - - -def test_json_result(result, expected, encoding=ENCODING): - """Compare the JSON test results with an expected value. - - Parameters - ---------- - result: bytes - The result of running the test. - expected: bytes - The expected outcome. - - Returns - ------- - bool - Whether the result matches the expectations or not. - - """ - - try: - result_dict = json.loads(result.decode(encoding)) - expected_dict = json.loads(expected.decode(encoding)) - except ValueError: - matches = None - else: - matches = result_dict == expected_dict - return matches - - -def get_validity(expected_path, result, output_file_name, force_id_mask=False): - """Test whether the test result matches the expected outcome. - - This function deals with both XML and JSON results. It first tries to - parse the result and the expected outcome as XML and evaluates them using - XML canonicalization (c14n). If the result cannot be parsed as XML, it then - tries to load it as JSON and does a sorted comparison. - - Parameters - ---------- - expected_path: bytes - The path to the file that has the expected test outcome - result: bytes - The actual result that was generated by running the test code - output_file_name: str - Name of the file that will be written to disk with the contents of - the result - force_id_mask: bool, optional - Whether to apply result normalization to id fields - - Returns - ------- - int - One of three possible values: - - * If the input `expected_path` could not be found, the results will - be used to generate a new expected file. In this case the return - value will be 0; - * If the result matches the expected outcome, the return value is 1; - * If the result does not match the expected outcome the return value is - -1. - - """ - - normalized_result = normalize(result, force_id_mask=force_id_mask) - if not os.path.exists(expected_path): # create expected file - with open(expected_path, 'wb') as f: - f.write(normalized_result) - status = 0 - else: # compare result with expected - with open(expected_path, 'rb') as expected_fh: - expected = expected_fh.read() - matches_expected = test_xml_result(normalized_result, expected) - if matches_expected is None: - # the file is either not XML (perhaps JSON?) or malformed - matches_expected = test_json_result( - normalized_result, expected, encoding=ENCODING) - if matches_expected: # pass - status = 1 - else: # failed - status = -1 - if not os.path.exists('results'): - os.mkdir('results') - with open('results%s%s' % (os.sep, output_file_name), 'wb') as f: - f.write(normalized_result) - return status - - -def pedantic_get_validity(sexpected, sresult, soutfile, force_id_mask=False): - """Decipher whether the output passes, fails, or initializes""" - if not os.path.exists(sexpected): # create expected file - with open(sexpected, 'wb') as f: - f.write(normalize(sresult, force_id_mask)) - sstatus = 0 - else: # compare result with expected - if not os.path.exists('results'): - os.mkdir('results') - with open('results%s%s' % (os.sep, soutfile), 'wb') as f: - f.write(normalize(sresult, force_id_mask)) - if filecmp.cmp(sexpected, 'results%s%s' % (os.sep, soutfile)): # pass - os.remove('results%s%s' % (os.sep, soutfile)) - sstatus = 1 - else: # fail - import difflib - with open(sexpected, 'rb') as a: - with open('results%s%s' % (os.sep, soutfile), 'rb') as b: - a2 = a.readlines() - b2 = b.readlines() - diff = difflib.unified_diff(a2, b2) - print('\n'.join(list(diff))) - if len(a2) != len(b2): - print('LINE COUNT: expected: %d, result: %d' % (len(a2), len(b2))) - sstatus = -1 - return sstatus - - -def normalize(sresult, force_id_mask=False): - """Replace time, updateSequence and version specific values with generic - values""" - - # XML responses - version = re.search(b'', sresult) - updatesequence = re.search(b'updateSequence="(\S+)"', sresult) - timestamp = re.search(b'timestamp="(.*)"', sresult) - timestamp2 = re.search(b'timeStamp="(.*)"', sresult) - timestamp3 = re.search(b'(.*)', sresult) - timestamp4 = re.search(b'(.*)', sresult) - zrhost = re.search(b'(.*)', sresult) - zrport = re.search(b'(.*)', sresult) - elapsed_time = re.search(b'elapsedTime="(.*)"', sresult) - expires = re.search(b'expires="(.*?)"', sresult) - atom_updated = re.findall(b'(.*)', sresult) - - if version: - sresult = sresult.replace(version.group(0), b'') - if updatesequence: - sresult = sresult.replace(updatesequence.group(0), - b'updateSequence="PYCSW_UPDATESEQUENCE"') - if timestamp: - sresult = sresult.replace(timestamp.group(0), - b'timestamp="PYCSW_TIMESTAMP"') - if timestamp2: - sresult = sresult.replace(timestamp2.group(0), - b'timeStamp="PYCSW_TIMESTAMP"') - if timestamp3: - sresult = sresult.replace(timestamp3.group(0), - b'PYCSW_TIMESTAMP') - if timestamp4: - sresult = sresult.replace(timestamp4.group(0), - b'PYCSW_TIMESTAMP') - if zrport: - sresult = sresult.replace(zrport.group(0), - b'PYCSW_PORT') - if zrhost: - sresult = sresult.replace(zrhost.group(0), - b'PYCSW_HOST') - if elapsed_time: - sresult = sresult.replace(elapsed_time.group(0), - b'elapsedTime="PYCSW_ELAPSED_TIME"') - if expires: - sresult = sresult.replace(expires.group(0), - b'expires="PYCSW_EXPIRES"') - for au in atom_updated: - sresult = sresult.replace(au, b'PYCSW_TIMESTAMP') - - # for csw:HarvestResponse documents, mask identifiers - # which are dynamically generated for OWS endpoints - if sresult.find(b'HarvestResponse') != -1: - identifier = re.findall(b'(\S+)', - sresult) - for i in identifier: - sresult = sresult.replace(i, b'PYCSW_IDENTIFIER') - - # JSON responses - timestamp = re.search(b'"@timestamp": "(.*?)"', sresult) - - if timestamp: - sresult = sresult.replace(timestamp.group(0), - b'"@timestamp": "PYCSW_TIMESTAMP"') - - # harvesting-based GetRecords/GetRecordById responses - if force_id_mask: - dcid = re.findall(b'(urn:uuid.*)', sresult) - isoid = re.findall(b'id="(urn:uuid.*)"', sresult) - isoid2 = re.findall(b'(urn:uuid.*) [-l logfile] [-s suite1[,suite2]] - - Available options: - - -u URL to test - - -l log results to file - - -s testsuites to run (comma-seperated list) - - -p run tests in pedantic mode (byte level diff check) (default: c14n mode) - - -d database (SQLite3 [default], PostgreSQL, MySQL) - - -r run tests which harvest remote resources (default off) - - -t time (milliseconds) in which requests should complete - -EXAMPLES - - 1.) default test example - - run_tests.py -u http://localhost:8000/ - - 2.) log results to logfile - - run_tests.py -u http://localhost:8000/ -l /path/to/results.log - - 3.) run only specified testsuites - - run_tests.py -u http://localhost:8000/ -s default,apiso - - 4.) run tests including remote harvest tests - - run_tests.py -u http://localhost:8000/ -s default,apiso -r - - 5.) default test example with 1000ms time benchmark - - run_tests.py -u http://localhost:8000/ -t 1000 - - -''' - -# main - -if len(sys.argv) < 2: - print(usage()) - sys.exit(1) - -URL = sys.argv[1] - -URL = None -LOGFILE = None -TESTSUITES = [] - -PASSED = 0 -FAILED = 0 -WARNING = 0 -INITED = 0 - -LOGWRITER = None -DATABASE = 'SQLite3' -REMOTE = False -PEDANTIC = False -TIME = None - -try: - OPTS, ARGS = getopt.getopt(sys.argv[1:], 'u:l:s:d:t:rhp') -except getopt.GetoptError as err: - print('\nERROR: %s' % err) - print(usage()) - sys.exit(2) - -for o, a in OPTS: - if o == '-u': - URL = a - if o == '-l': - LOGFILE = a - if o == '-d': - DATABASE = a - if o == '-t': - TIME = int(a) - if o == '-r': - REMOTE = True - if o == '-p': - PEDANTIC = True - if o == '-s': - TESTSUITES = a.split(',') - if o == '-h': # dump help and exit - print(usage()) - sys.exit(3) - -print('\nRunning tests against %s' % URL) - -if LOGFILE is not None: # write detailed output to CSV - LOGWRITER = csv.writer(open(LOGFILE, 'wb')) - LOGWRITER.writerow(['url', 'configuration', 'testname', 'result']) - -if TIME is not None: # perform benchmarking - print('Benchmark: %dms' % TIME) - -if TESTSUITES: - if 'harvesting' in TESTSUITES: - REMOTE = True - TESTSUITES_LIST = ['suites%s%s' % (os.sep, x) for x in TESTSUITES] -else: - TESTSUITES_LIST = glob.glob('suites%s*' % os.sep) - -for testsuite in TESTSUITES_LIST: - if not os.path.exists(testsuite): - raise RuntimeError('Testsuite %s not found' % testsuite) - - if testsuite == 'suites%sharvesting' % os.sep and not REMOTE: - continue - - force_id_mask = False - if testsuite in ['suites%smanager' % os.sep, 'suites%sharvesting' % os.sep]: - force_id_mask = True - - # get configuration - for cfg in glob.glob('%s%s*.cfg' % (testsuite, os.sep)): - print('\nTesting configuration %s' % cfg) - - for root, dirs, files in os.walk(testsuite): - if files: - for sfile in sorted(files): - if os.path.splitext(sfile)[1] not in ['.xml', '.txt']: - break - - if os.path.basename(root) == "exports": - continue - - if sfile == 'requests.txt': # GET requests - filename = '%s%s%s' % (root, os.sep, sfile) - with open(filename) as f: - gets = csv.reader(f) - for row in gets: - testfile = '%s%s%s' % (root, os.sep, sfile) - request = ','.join(row[1:]).replace('PYCSW_SERVER', - URL) - outfile = '%s%s' % (root.replace(os.sep, '_'), - '_%s.xml' % row[0]) - expected = 'expected%s%s' % (os.sep, outfile) - print('\n test %s:%s' % (testfile, row[0])) - - try: - begin = time.time() - result = http_request('GET', request) - end = time.time() - elapsed = get_elapsed_time(begin, end) - print(' completed in %dms' % elapsed) - except Exception as err: - result = err.read() - if PEDANTIC: - status = pedantic_get_validity( - expected, result, outfile, - force_id_mask - ) - else: - try: - status = get_validity(expected, result, - outfile, - force_id_mask) - except etree.C14NError: - print("Could not canonicalize {0}. " - "Using pedantic " - "mode".format(row[0])) - status = pedantic_get_validity( - expected, result, outfile, - force_id_mask - ) - - if status == 1: - print(' passed') - PASSED += 1 - elif status == 0: - print(' initialized') - INITED += 1 - elif status == -1 and DATABASE == 'PostgreSQL': - print(' warning: possible collation issue') - WARNING += 1 - else: - print(' FAILED') - FAILED += 1 - - if TIME and get_elapsed_time(begin, end) > TIME: - print(' FAILED BENCHMARK') - - if LOGWRITER is not None: - LOGWRITER.writerow([URL, cfg, - testfile, status]) - - else: # POST requests - testfile = '%s%s%s' % (root, os.sep, sfile) - if '%sdata' % os.sep in testfile: # sample data - break - outfile = '%s%s' % (os.sep, - testfile.replace(os.sep, '_')) - expected = 'expected%s%s' % (os.sep, outfile) - print('\n test %s' % testfile) - - # read test - with open(testfile, 'rb') as fh: - request = fh.read() - - configkvp = 'config=tests%s%s' % (os.sep, cfg) - url2 = '%s?%s' % (URL, configkvp) - - # invoke request - try: - begin = time.time() - result = http_request('POST', url2, request) - end = time.time() - elapsed = get_elapsed_time(begin, end) - print(' completed in %dms' % elapsed) - except Exception as err: - result = err.read() - if PEDANTIC: - status = pedantic_get_validity( - expected, result, outfile, force_id_mask) - else: - try: - status = get_validity(expected, result, outfile, - force_id_mask) - except etree.C14NError: - print("Could not canonicalize {0}. Using " - "pedantic mode".format(sfile)) - status = pedantic_get_validity( - expected, result, outfile, force_id_mask) - - if status == 1: - print(' passed') - PASSED += 1 - elif status == 0: - print(' initialized') - INITED += 1 - elif status == -1 and DATABASE == 'PostgreSQL': - print(' warning: possible sorting collation issue') - WARNING += 1 - else: - print(' FAILED') - FAILED += 1 - - if TIME and get_elapsed_time(begin, end) > TIME: - print(' FAILED BENCHMARK') - - if LOGWRITER is not None: - LOGWRITER.writerow([URL, cfg, testfile, status]) - -if LOGWRITER is not None: - LOGWRITER.close() - -print('\nResults (%d/%d - %.2f%%)' % - (PASSED, PASSED + FAILED, float(PASSED) / float(PASSED + FAILED) * 100)) -print(' %d test%s passed' % (PASSED, plural(PASSED))) -print(' %d test%s warnings' % (WARNING, plural(WARNING))) -print(' %d test%s failed' % (FAILED, plural(FAILED))) -print(' %d test%s initialized' % (INITED, plural(INITED))) - -sys.exit(FAILED) From 25c708e1f2b3ea3423cb2727b76d706ad00b7740 Mon Sep 17 00:00:00 2001 From: Ricardo Garcia Silva Date: Thu, 15 Dec 2016 19:19:57 +0000 Subject: [PATCH 114/119] Improving docstrings --- tests/conftest.py | 4 +- tests/functionaltests/conftest.py | 101 +++++++++++++++--- .../functionaltests/test_suites_functional.py | 11 +- 3 files changed, 95 insertions(+), 21 deletions(-) diff --git a/tests/conftest.py b/tests/conftest.py index 0640ca8f0..ce9de75f5 100644 --- a/tests/conftest.py +++ b/tests/conftest.py @@ -31,7 +31,7 @@ import pytest def pytest_configure(config): - """Configure pytest + """Configure pytest. This function adds additional markers to pytest. @@ -48,7 +48,7 @@ def pytest_configure(config): def pytest_addoption(parser): - """Add additional command-line parameters to pytest""" + """Add additional command-line parameters to pytest.""" parser.addoption( "--database-backend", choices=["sqlite", "postgresql"], diff --git a/tests/functionaltests/conftest.py b/tests/functionaltests/conftest.py index 7470f4810..95a6460f0 100644 --- a/tests/functionaltests/conftest.py +++ b/tests/functionaltests/conftest.py @@ -84,6 +84,9 @@ def pytest_generate_tests(metafunc): The tests are autogenerated by parametrizing the ``tests/functionaltests/test_suites_functional::test_suites`` function + Notes + ----- + Check pytest's documentation for information on autogenerating parametrized tests for further details on how the ``pytest_generate_tests`` function can be used: @@ -144,14 +147,14 @@ def pytest_generate_tests(metafunc): @pytest.fixture() def configuration(request, tests_directory, log_level): - """Return a SafeConfigParser with the configuration for use in tests. + """Configure a suite for execution in tests. This function is executed once for each individual test request, after tests have been collected. - The config_parser is read from the original location and then adjusted - to match the test's temporary directory. The repository will also be - created and populated if it is not already present in the tests_directory. + The configuration file for each test suite is read into memory. Some + configuration parameters, like the repository's url and table name are + adjusted. The suite's repository is also created, if needed. Parameters ---------- @@ -195,7 +198,7 @@ def configuration(request, tests_directory, log_level): def fixture_tests_directory(tmpdir_factory): """Create a temporary directory for each test session. - This directory is typicaly situated under ``/tmp`` and is used to create + This directory is typically situated under ``/tmp`` and is used to create eventual sqlite databases for each suite. This functionality is mostly provided by pytest's built-in @@ -210,7 +213,7 @@ def fixture_tests_directory(tmpdir_factory): def _get_cite_suite_data_dir(): - """Return the path to the data directry of the CITE test suite.""" + """Return the path to the data directory of the CITE test suite.""" global TESTS_ROOT suites_root_dir = os.path.join(TESTS_ROOT, "functionaltests", "suites") suite_dir = os.path.join(suites_root_dir, "cite") @@ -221,7 +224,7 @@ def _get_cite_suite_data_dir(): def _get_get_parameters(get_tests_dir, expected_tests_dir, config_path, suite_name, normalize_ids): - """Return the parameters suitable for parametrizing HTTP GET tests""" + """Return the parameters suitable for parametrizing HTTP GET tests.""" method = "GET" test_argvalues = [] test_ids = [] @@ -249,7 +252,7 @@ def _get_get_parameters(get_tests_dir, expected_tests_dir, config_path, def _get_post_parameters(post_tests_dir, expected_tests_dir, config_path, suite_name, normalize_ids): - """Return the parameters suitable for parametrizing HTTP POST tests""" + """Return the parameters suitable for parametrizing HTTP POST tests.""" method = "POST" test_argvalues = [] test_ids = [] @@ -281,7 +284,15 @@ def _get_post_parameters(post_tests_dir, expected_tests_dir, config_path, def _get_repository_url(conf, suite_name, test_dir): - """Return the repository_url for the input parameters.""" + """Return the repository_url for the input parameters. + + Returns + ------- + repository_url: str + SQLAlchemy URL for the repository in use. + + """ + db_type = conf.getoption("--database-backend") if db_type == "sqlite": repository_url = "sqlite:///{test_dir}/{suite}.db".format( @@ -301,7 +312,21 @@ def _get_repository_url(conf, suite_name, test_dir): def _get_suite_dirs(suite_name): - """Return a tuple with suite dirs: get, post, data, expected""" + """Get the paths to relevant suite directories. + + Parameters + ---------- + suite_name: str + Name of the site + + Returns + ------- + SuiteDirs + A four element named tuple with the input suite's relevant test + directories. + + """ + global TESTS_ROOT suites_root_dir = os.path.join(TESTS_ROOT, "functionaltests", "suites") suite_dir = os.path.join(suites_root_dir, suite_name) @@ -354,6 +379,18 @@ def _initialize_database(repository_url, table_name, data_dir, test_dir): This function will create the database and load any test data that the suite may require. + Parameters + ---------- + repository_url: str + URL for the repository, as used by SQLAlchemy engines + table_name: str + Name of the table that is to be used to store pycsw records + data_dir: str + Path to a directory that contains sample data records to be loaded + into the database + test_dir: str + Directory where the database is to be created, in case of sqlite. + """ print("Setting up {0!r} repository...".format(repository_url)) @@ -373,6 +410,20 @@ def _initialize_database(repository_url, table_name, data_dir, test_dir): def _parse_postgresql_repository_url(repository_url): + """Parse a SQLAlchemy engine URL describing a postgresql database. + + Parameters + ---------- + repository_url: str + SQLAlchemy URL for the repository in use. + + Returns + ------- + dict + A mapping with the database's connection parameters. + + """ + info_re = re.search(r"postgresql://(?P[\w_]+):(?P.*?)@" r"(?P[\w_.]+):(?P\d+)/" r"(?P[\w_]+)", @@ -397,8 +448,6 @@ def _recreate_postgresql_database(configuration): ---------- configuration: _pytest.config.Config The configuration object used by pytest - create_plpythonu_extension: bool, optional - Whether the `plpythonu` language is to bre created for the database Raises ------ @@ -433,6 +482,17 @@ def _recreate_postgresql_database(configuration): def _create_postgresql_extension(configuration, extension): + """Create a postgresql extension in a previously created database. + + Parameters + ---------- + configuration: _pytest.config.Config + The configuration object used by pytest + extension: str + Name of the extension to be created + + """ + connection = psycopg2.connect( database=configuration.getoption("--database-name-postgresql"), user=configuration.getoption("--database-user-postgresql"), @@ -449,7 +509,22 @@ def _create_postgresql_extension(configuration, extension): def _repository_exists(repository_url, table_name): - """Test if the database already exists.""" + """Test if the database already exists. + + Parameters + ---------- + repository_url: str + URL for the repository, as used by SQLAlchemy engines + table_name: str + Name of the table that is to be used to store pycsw records + + Returns + ------- + bool + Whether the repository exists or not. + + """ + if repository_url.startswith("sqlite"): repository_path = repository_url.replace("sqlite:///", "") result = os.path.isfile(repository_path) diff --git a/tests/functionaltests/test_suites_functional.py b/tests/functionaltests/test_suites_functional.py index 31b6e3f70..2ccabcc8a 100644 --- a/tests/functionaltests/test_suites_functional.py +++ b/tests/functionaltests/test_suites_functional.py @@ -1,10 +1,10 @@ # ================================================================= # -# Authors: Tom Kralidis -# Ricardo Garcia Silva +# Authors: Ricardo Garcia Silva +# Tom Kralidis # -# Copyright (c) 2016 Tom Kralidis # Copyright (c) 2016 Ricardo Garcia Silva +# Copyright (c) 2016 Tom Kralidis # # Permission is hereby granted, free of charge, to any person # obtaining a copy of this software and associated documentation @@ -48,11 +48,10 @@ def test_suites(configuration, request_method, request_data, expected_result, normalize_identifier_fields): - """ - Test suites. + """Test suites. This function is automatically parametrized by pytest as a result of the - ``conftest:pytest_Generate_tests`` function. The input parameters are thus + ``conftest:pytest_generate_tests`` function. The input parameters are thus supplied by pytest as a result of discovering and parsing the existing test suites located under ``tests/functionaltests/suites``. From 686d2a437a23a854e391eb86643949cfe6902355 Mon Sep 17 00:00:00 2001 From: Ricardo Garcia Silva Date: Thu, 15 Dec 2016 19:20:39 +0000 Subject: [PATCH 115/119] Added python2.6 to tox --- tox.ini | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tox.ini b/tox.ini index bf143db74..1dc46270a 100644 --- a/tox.ini +++ b/tox.ini @@ -5,7 +5,7 @@ [tox] #envlist = py27, py34, py35 -envlist = {py27,py34,py35}-{sqlite,postgresql} +envlist = {py26,py27,py34,py35}-{sqlite,postgresql} skip_missing_interpreters = True [testenv] From 393f162e9453371c75e82c5265d9a6dda73d97bf Mon Sep 17 00:00:00 2001 From: Ricardo Garcia Silva Date: Thu, 15 Dec 2016 19:21:48 +0000 Subject: [PATCH 116/119] Requirements-dev now includes the other requirements files This simplifies installation for develoment and testing purposes by requiring a single pip install -r requirements-dev.txt --- requirements-dev.txt | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/requirements-dev.txt b/requirements-dev.txt index 1ffc07358..4c713aaf9 100644 --- a/requirements-dev.txt +++ b/requirements-dev.txt @@ -1,3 +1,7 @@ +-r requirements.txt +-r requirements-standalone.txt +-r requirements-pg.txt + Paver==1.2.4 pytest==3.0.3 pytest-cov==2.4.0 From 4acbcddc1c5f6a34bb5cd55723407c60da25af25 Mon Sep 17 00:00:00 2001 From: Ricardo Garcia Silva Date: Wed, 21 Dec 2016 23:21:06 +0000 Subject: [PATCH 117/119] added gitignore files to relevant test dirs --- .../suites/harvesting/data/.gitignore | 30 +++++++++++++++++++ .../suites/manager/data/.gitignore | 30 +++++++++++++++++++ 2 files changed, 60 insertions(+) create mode 100644 tests/functionaltests/suites/harvesting/data/.gitignore create mode 100644 tests/functionaltests/suites/manager/data/.gitignore diff --git a/tests/functionaltests/suites/harvesting/data/.gitignore b/tests/functionaltests/suites/harvesting/data/.gitignore new file mode 100644 index 000000000..709918b3c --- /dev/null +++ b/tests/functionaltests/suites/harvesting/data/.gitignore @@ -0,0 +1,30 @@ +# This file exists to force git to include this directory in the code +# repository. +# +# git does not include empty directories in code repositories. +# +# Functional tests are automatically generated by py.test. The way that the +# tests are set up, the presence of a ``data/`` directory inside a test suite +# has the following meaning: +# +# * if a ``data/`` directory does not exist, the tests of the suite use data +# from the CITE suite; +# +# * if an empty ``data/`` directory exists, then a new empty database is +# created and used; +# +# * if the ``data/`` directory exists and has files inside, a new database is +# created and the files are loaded into the database as records. +# +# As such, the current suite needs an empty ``data/`` directory because its +# functional tests depend on the existence of an empty database. + + +# ignore all files in this directory (in case some file is put here by mistake, +# we do not want it to be sent to the git repository and mess up the functional +# tests) +* + +# however, be sure to not ignore this file, as we need at least one file inside +# this directory, so that git will aknowledge its existence +!.gitignore diff --git a/tests/functionaltests/suites/manager/data/.gitignore b/tests/functionaltests/suites/manager/data/.gitignore new file mode 100644 index 000000000..709918b3c --- /dev/null +++ b/tests/functionaltests/suites/manager/data/.gitignore @@ -0,0 +1,30 @@ +# This file exists to force git to include this directory in the code +# repository. +# +# git does not include empty directories in code repositories. +# +# Functional tests are automatically generated by py.test. The way that the +# tests are set up, the presence of a ``data/`` directory inside a test suite +# has the following meaning: +# +# * if a ``data/`` directory does not exist, the tests of the suite use data +# from the CITE suite; +# +# * if an empty ``data/`` directory exists, then a new empty database is +# created and used; +# +# * if the ``data/`` directory exists and has files inside, a new database is +# created and the files are loaded into the database as records. +# +# As such, the current suite needs an empty ``data/`` directory because its +# functional tests depend on the existence of an empty database. + + +# ignore all files in this directory (in case some file is put here by mistake, +# we do not want it to be sent to the git repository and mess up the functional +# tests) +* + +# however, be sure to not ignore this file, as we need at least one file inside +# this directory, so that git will aknowledge its existence +!.gitignore From 32299b305980f0618489852a1b71744dee80b3d9 Mon Sep 17 00:00:00 2001 From: Ricardo Garcia Silva Date: Fri, 23 Dec 2016 17:51:00 +0000 Subject: [PATCH 118/119] changed travis settings in order to use tox --- .coveragerc | 12 ++++++++++++ .travis.yml | 37 ++++++++++++++++--------------------- tox.ini | 13 +++++-------- 3 files changed, 33 insertions(+), 29 deletions(-) create mode 100644 .coveragerc diff --git a/.coveragerc b/.coveragerc new file mode 100644 index 000000000..f6f4d2f49 --- /dev/null +++ b/.coveragerc @@ -0,0 +1,12 @@ +[run] +branch = True +source = pycsw + +[paths] +source = + pycsw + .tox/*/lib/python*/site-packages/pycsw + /usr/local/lib/python*/dist-packages/pycsw + +[report] +show_missing = True \ No newline at end of file diff --git a/.travis.yml b/.travis.yml index 714532b33..1ddee0a4d 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,38 +1,33 @@ language: python -sudo: required -dist: trusty +cache: pip -python: - - "2.6" - - "2.7" - - "3.4" - - "3.5" +dist: trusty -#matrix: -# allow_failures: -# - python: "3.4" +matrix: + include: + - python: "2.6" + env: TOXENV=py26-sqlite + - python: "2.7" + env: TOXENV=py27-sqlite + - python: "3.4" + env: TOXENV=py34-sqlite + - python: "3.5" + env: TOXENV=py35-sqlite addons: apt: packages: - libgeos-c1 - libxml2-dev - -before_script: - - pycsw-admin.py -c get_sysprof + - libxslt1-dev + - libz-dev install: - - pip install -r requirements.txt - - pip install -r requirements-dev.txt - - pip install -r requirements-standalone.txt - - python setup.py -q install + - pip install tox script: - - paver test - -after_script: - - paver stop + - tox -- --exitfirst -k 'not harvesting' notifications: irc: diff --git a/tox.ini b/tox.ini index 1dc46270a..deb7d9cd6 100644 --- a/tox.ini +++ b/tox.ini @@ -4,17 +4,14 @@ # and then run "tox" from this directory. [tox] -#envlist = py27, py34, py35 -envlist = {py26,py27,py34,py35}-{sqlite,postgresql} +envlist = {py26,py27,py34,py35}-sqlite skip_missing_interpreters = True + [testenv] deps = - -rrequirements.txt - -rrequirements-standalone.txt -rrequirements-dev.txt - -rrequirements-pg.txt - +usedevelop=True commands = - sqlite: py.test {posargs} - postgresql: py.test --database-backend postgresql {posargs} + py{26,27,35}-sqlite: py.test {posargs} + py34-sqlite: py.test --cov pycsw {posargs} From d2bdf23b947a118e501405e26a38b0c9301c7299 Mon Sep 17 00:00:00 2001 From: Ricardo Garcia Silva Date: Fri, 23 Dec 2016 18:52:40 +0000 Subject: [PATCH 119/119] re-added travis notifications --- .travis.yml | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/.travis.yml b/.travis.yml index b47a27434..0bc1c3220 100644 --- a/.travis.yml +++ b/.travis.yml @@ -30,8 +30,8 @@ install: script: - tox -- --exitfirst -k 'not harvesting' -#notifications: -# irc: -# channels: -# - "irc.freenode.org#pycsw" -# use_notice: true +notifications: + irc: + channels: + - "irc.freenode.org#pycsw" + use_notice: true