/stormpath-framework-tck

HTTP integration tests that ensure a Stormpath web framework integration implements the Stormpath Framework Specification

Primary LanguageGroovyApache License 2.0Apache-2.0

Stormpath Framework TCK

The Stormpath Framework TCK (Test Compatibility Kit) is a collection of HTTP-based integration tests that ensure a Stormpath web framework integration supports all Stormpath Framework Specification behavior. The TCK uses only HTTP(S) requests to ensure that they may execute against a web application written in any programming language that uses any of the various Stormpath integrations

This project is mostly used by the Stormpath SDK teams to ensure stability and consistent behavior for our customers, especially those that use Stormpath across multiple programming languages. And for our own development sanity :) Comments, suggestions and/or contributions from the Open Source community are most welcome.

Getting Started

  1. If you haven't installed Maven already:

     brew install maven
    
  2. Clone the project:

     git clone git@github.com:stormpath/stormpath-framework-tck.git
    

Running tests

Fire up your web application under test. For example, a Java project might do this:

mvn jetty:run

And a node.js project might do this:

node server.js

Once your web app is running, you can run the TCK against this webapp:

cd stormpath-framework-tck
mvn clean verify

This will run all tests against the targeted webapp.

To run a single suite, name it using the -Dtest flag:

mvn clean verify -Dtest=LogoutIT

Using Maven Profiles to Customize TCK Behavior

The TCK will attempt to interact with a web application accessible by default via http://localhost:8080. You can tell the TCK which type of application you are using by using a Maven Profile by specifying the -P flag:

mvn clean verify -Pexpress

And this will assume a default base URI of http://localhost:3000 (notice the changed port) since this is common for node.js environments.

The currently supported profile names are:

  • express
  • java
  • laravel

Additional profile names can be added if different language environments require custom settings.

Test output as HTML

Besides viewing the output in the console, there's a nicer HTML format so you can view it through your browser:

open target/surefire-reports/index.html