Skip to content
Tom Kralidis edited this page May 8, 2020 · 8 revisions

CSW 3.0 Conformance Test Suite

What is tested

This test suite (ets-cat30) determines the extent to which an implementation conforms to this specification: OGC Catalogue Services 3.0 Specification - HTTP Protocol Binding (OGC 12-176r5). Test coverage is summarized in Table 1 below.

Table 1: Test coverage

Conformance class Package Test classes
Basic-Catalogue org.opengis.cite.cat30.basic GetCapabilitiesTests
GetRecordByIdTests
OpenSearch org.opengis.cite.cat30.opensearch OpenSearchDescriptionTests

How to run the tests

There are several options for executing the test suite.

1. OGC test harness

Use TEAMengine, the official OGC test harness. The latest test suite release should be available at the beta testing facility. You can also build and deploy the test harness yourself and use a local installation.

2. Integrated development environment (IDE)

Use a Java IDE such as Eclipse, NetBeans, or IntelliJ. Clone the repository and build the project.

Set the main class to run: org.opengis.cite.cat30.TestNGController

Arguments: The first argument must refer to an XML properties file containing the required test run argument (a reference to a CSW 3.0 capabilities document). If not specified, the default location at ${user.home}/test-run-props.xml will be used.

You can modify the sample file in src/main/config/test-run-props.xml

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE properties SYSTEM "http://java.sun.com/dtd/properties.dtd">
<properties version="1.0">
  <comment>Test run arguments (ets-cat30)</comment>
  <entry key="iut">https://demo.pycsw.org/cite/csw?service=CSW&amp;request=GetCapabilities</entry>
</properties>

The TestNG results file (testng-results.xml) will be written to a subdirectory in ${user.home}/testng/ having a UUID value as its name.

3. Command shell (console)

One of the build artifacts is an "all-in-one" JAR file that includes the test suite and all of its dependencies; this makes it very easy to execute the test suite in a command shell:

java -jar ets-cat30-${version}-aio.jar [test-run-props.xml]