# backbone-adapter-testsuite

Gherkin feature definitions and fixtures to run against all language ports of the backbone-adapter. 

## Contents 

### /features 

Gherkin `.feature` files describing a suite of tests which 
should be run against all language ports of the adapter 

### /fixtures

A set of fixtures to be used to configure the tests.

## Implementations 

You can see existing implementations of the test suite here 

- [JS-Cucumber](https://git.noc.ac.uk/communications-backbone-system/backbone-adapter-javascript) 
Step definitions are in `test/cucumber`

## Installing

The intention is to install a tagged version of the testsuite into each adapter so that if we develop 
the testsuite existing adapter implementations won't break. 

### NPM 

```bash
npm install --saveDev git+https://git.noc.ac.uk/communications-backbone-system/backbone-adapter-testsuite.git#[tag|branch|commit]
```

### Yarn 

```bash
yarn add --dev git+https://git.noc.ac.uk/communications-backbone-system/backbone-adapter-testsuite.git#[tag|branch|commit]
```

### PIP 

```bash
echo
"git+https://git.noc.ac.uk/communications-backbone-system/backbone-adapter-testsuite.git@[tag|branch|commit]#egg=backbone-adapter-testsuite" >> requirements.txt 
pip install -r reqiurements.txt
# copy features and fixtures into test directory
copy_tests
```