The teamengine-virtualization
module enables the automatic creation of a fully provisioned server
image that can be deployed and run on a dynamic infrastructure platform such as Amazon EC2
and VirtualBox. See the Virtualization Guide for
instructions.
The TEAM Engine Builder project provides another way to build TEAM Engine and selected OGC test suites on a physical or virtual machine. Shell scripts for Windows and Unix-like systems are available. Detailed instructions are provided in the tutorial.
The source code is available from GitHub. Use Git to clone the repository and checkout a branch or a tagged release as indicated below:
git clone https://github.com/opengeospatial/teamengine.git
git checkout ${project.version}
Apache Maven 3.9 is required to build the TEAM Engine code base, which currently consists of the following modules:
Simply run mvn package
in the root project directory to generate all
build artifacts, or run mvn install
to also install them into the local
Maven repository. The main build artifacts are listed below.
The site documentation can be generated by simply executing the ‘mvn site’ phase against the top-level POM. An aggregrate PDF document is also created and placed in the target/pdf directory.
The value of the TE_BASE
system property or environment variable specifies the
location of the instance directory that contains several essential sub-directories.
Create the TE_BASE directory (e.g. at /srv/teamengine) and unpack the contents of
the teamengine-console-${project.version}-base archive into this location; make
sure that users (including the Tomcat user) have write access. The structure of
the TE_BASE directory is shown below.
TE_BASE
|-- config.xml # main configuration file
|-- resources/ # test suite resources
|-- site # site-specific HTML (welcome, title, etc.)
|-- lib # Java-based test suites and supporting libraries
|-- scripts/ # CTL test scripts
|-- work/ # teamengine work directory
+-- users/
|-- {user1}/ # user account information and test run results
|-- {user2}/
+-- ...
CTL test scripts must be placed in the TE_BASE/scripts directory. Java-based test suites along with their supporting libraries are placed in the TE_BASE/resources/lib directory.
Apache Tomcat 10.1 is a supported servlet container. It is strongly
recommended that a dedicated Tomcat instance be created to host the
teamengine application. That is, keep the location of the instance-specific
data–referred to as CATALINA_BASE
in the Tomcat documentation–separate
from the Tomcat software installation (CATALINA_HOME). Create it as outlined
below for your operating system.
To create a CATALINA_BASE directory in Windows:
mkdir base-1 & cd base-1
xcopy %CATALINA_HOME%\conf conf\
mkdir lib logs temp webapps work
In a Unix-like environment:
sudo mkdir -p /srv/tomcat/base-1; cd /srv/tomcat/base-1
sudo cp -r $CATALINA_HOME/conf .
sudo mkdir lib logs temp webapps work
The recommended JVM options for the Tomcat instance are shown below.
Note that the maximum memory heap size (-Xmx
) may need to be increased
as the number of concurrent users increases.
CATALINA_OPTS="-server -Xmx1024m -XX:MaxPermSize=128m -DTE_BASE=$TE_BASE -Dderby.system.home=$DERBY_DATA"
Unpack the contents of the teamengine-common-libs archive into the
CATALINA_BASE/lib directory. Deploy the teamengine.war
component by
either copying it into the CATALINA_BASE/webapps directory or using the
Tomcat Manager application. Start the Tomcat instance.
The URIs listed below provide starting points for discovering and executing test suites. Modify the path if the name of the WAR file (and hence the context path) has been changed from the default value: “teamengine”.
/teamengine
: Home page for selecting and running test suites using the web interface/teamengine/rest/suites
: Presents a listing of available test suites that expose
a RESTful API, with links to test suite documentationThere are various examples of an executable test suite (ETS) that can be installed in TEAM Engine. For example,
Even though the GML suite is a Java-based implementation that uses TestNG and the WMS 1.3 suite uses OGC CTL scripts, they both follow Maven conventions; the suites are built and deployed in a similar manner. To download and install a test suite do the following steps:
git clone https://github.com/opengeospatial/ets-gml32.git
cd ets-gml32
git tag
command to list these) e.g. for GML, git checkout 1.25
mvn clean install
cd target
$TE_BASE/scripts
$TE_BASE/resources/lib
Several elements of the welcome page may be customized if desired: the logo in the header, the main text, and the content in the footer. The files located in the TE_BASE/resources/site directory can be modified to provide site-specific content:
It is recommended to enable HSTS in proxy configuration when using TEAM Engine behind a reverse proxy.