The OGC Catalogue 3.0 test suite verifies catalog implementations for conformance against the following specifications:
- OGC Catalogue Services 3.0 Specification - HTTP Protocol Binding (OGC 12-176r7)
- Catalog Services Specification 3.0 - General Model (OGC 12-168r6)
- OGC Catalogue Services 3.0 Specification - HTTP Protocol Binding - Abstract Test Suite (OGC 14-014r3)
- OGC OpenSearch Geo and Time Extensions (OGC 10-032r8)
- OpenSearch 1.1 (Draft 5)
- The Atom Syndication Format (RFC 4287)
The test suite currently covers the following conformance classes:
- Basic-Catalogue (mandatory for all implementations)
- OpenSearch
Visit the project documentation website for more information, including the API documentation.
There are several options for executing the test suite.
Use TEAM Engine, 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.
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">http://demo.pycsw.org/cite/csw?service=CSW&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.
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 [-o|--outputDir $TMPDIR] [test-run-props.xml]
If you would like to get involved, you can:
- Report an issue such as a defect or an enhancement request
- Help to resolve an open issue
- Fix a bug: Fork the repository, apply the fix, and create a pull request
- Add new tests: Fork the repository, implement and verify the tests on a new topic branch, and create a pull request (don't forget to periodically rebase long-duration branches)
The OGC Testbed 11 funded the development of this test suite. The goal is to make it available for OGC certification in late summer.
To help develop the test suite, implementations are exercised to test the test suite. Implementations also get improved in the process. The following implementations are participating in the development of the test suite:
- pycsw
- ESRI GeoPortal
- GMU LAITS
- CubeWerx
- GI-cat