Skip to content
This repository

A fitnesse suite for a web server

branch: master

Fetching latest commit…

Octocat-spinner-32-eaf2f5

Cannot retrieve the latest commit at this time

Octocat-spinner-32 FitNesseRoot
Octocat-spinner-32 fixtures
Octocat-spinner-32 public
Octocat-spinner-32 .gitignore
Octocat-spinner-32 .gitmodules
Octocat-spinner-32 .rvmrc
Octocat-spinner-32 Gemfile
Octocat-spinner-32 Gemfile.lock
Octocat-spinner-32 README.md
Octocat-spinner-32 fitnesse.jar
Octocat-spinner-32 plugins.properties
README.md

Cob Spec

Cob Spec is a suite of tests used to validate a web server to ensure it adheres to HTTP specifications. These acceptance tests were created using a testing suite called FitNesse. FitNesse is an application testing suite that allows you to test the business layer of your application.

To test your server against the Cob Spec suite of tests, follow the instructions below.

git clone git@github.com:8thlight/cob_spec.git
git clone git@github.com:marosluuce/rubyslim.git
cd cob_spec

bundle install

Starting Fitnesse Server

Start the Fitnesse server on port 9090.

java -jar fitnesse.jar -p 9090

Open your browser and go to http://localhost:9090. You should see the Cob Spec website.

Configuring Cob Spec

To run the tests you have to change three variables.

  • Navigate to the HttpTestSuite.
  • Click on Edit.
  • Update the paths for the User-Defined Variables.
    • TEST_RUNNER is the path to the ruby slim executable in your clone of the rubyslim repository on your machine.
      • Example: /User/somebody/rubyslim/bin/rubyslim
    • SERVER_START_COMMAND is the command to start your server.
      • Example: java -jar /User/somebody/project/my_jar.jar
    • PUBLIC_DIR is the path to cob spec public folder.
      • Example: /User/somebody/cob_spec/public/
  • Click Save.

Http Server

Your server jar needs to take two command line arguments.

  • -p which specifies the port to listen on. Default is 5000.
  • -d which specifies the directory to serve files from. Default is the PUBLIC_DIR variable.

Running Tests

  • To run all tests, click the Suite button.
  • To run the simple http request tests, first click the ResponseTestSuite link, then click the Suite button.
  • To run the tests that require threading, first click the SimultaniousTestSuite link, then click the Suite button.
  • To run a test individually, first click on the test link, then click the Test button.
Something went wrong with that request. Please try again.