tokenbridge/oracle/e2e
Przemyslaw Rzad d656025378
Update the token-bridge sub-repo (#19)
* Moved audit to root directory.

* Moved code of conduct, contributing and licence files.

* Removed travis config and badge.

* Updated repository links in CONTRIBUTING.

* Moved Gitter badge to main readme. Updated links to contributing and licence.

* Updated main readme.

* Moved references to main readme.

* Renamed token-bridge to oracle.

* Update README.md

Co-Authored-By: rzadp <rzadp@student.mini.pw.edu.pl>
2019-05-07 16:52:44 +02:00
..
envs Update the token-bridge sub-repo (#19) 2019-05-07 16:52:44 +02:00
parity Update the token-bridge sub-repo (#19) 2019-05-07 16:52:44 +02:00
scripts Update the token-bridge sub-repo (#19) 2019-05-07 16:52:44 +02:00
test Update the token-bridge sub-repo (#19) 2019-05-07 16:52:44 +02:00
utils Update the token-bridge sub-repo (#19) 2019-05-07 16:52:44 +02:00
.dockerignore Update the token-bridge sub-repo (#19) 2019-05-07 16:52:44 +02:00
.eslintrc Update the token-bridge sub-repo (#19) 2019-05-07 16:52:44 +02:00
.gitignore Update the token-bridge sub-repo (#19) 2019-05-07 16:52:44 +02:00
.nvmrc Update the token-bridge sub-repo (#19) 2019-05-07 16:52:44 +02:00
constants.json Update the token-bridge sub-repo (#19) 2019-05-07 16:52:44 +02:00
deploy.js Update the token-bridge sub-repo (#19) 2019-05-07 16:52:44 +02:00
docker-compose.yml Update the token-bridge sub-repo (#19) 2019-05-07 16:52:44 +02:00
Dockerfile Update the token-bridge sub-repo (#19) 2019-05-07 16:52:44 +02:00
LICENSE Update the token-bridge sub-repo (#19) 2019-05-07 16:52:44 +02:00
package-lock.json Update the token-bridge sub-repo (#19) 2019-05-07 16:52:44 +02:00
package.json Update the token-bridge sub-repo (#19) 2019-05-07 16:52:44 +02:00
README.md Update the token-bridge sub-repo (#19) 2019-05-07 16:52:44 +02:00
run-tests.sh Update the token-bridge sub-repo (#19) 2019-05-07 16:52:44 +02:00

bridge-e2e

End to end tests for the NodeJS Bridge.

Prerequisites

To run the tests you need to have Docker and Docker Compose installed. If you are on Linux, it's also recommended that you create a docker group and add your user to it, so that you can use the CLI without sudo.

Running

To run the bridge end-to-end tests, you just have to go to the e2e directory and run:

$ ./run-tests.sh

If this is the first time that you do this, it will take some time to build the docker images, but the next time they will be cached.

How it works

The script starts several containers and then use them to run the tests. These services are:

  • Two parity nodes with the InstanSeal engine, representing the home and foreign chains.
  • A Redis container.
  • A RabbitMQ container.
  • The bridge (without doing anything at first)
  • The container for the end-to-end tests (also without doing anything)

Afterwards, contracts will be deployed to the respective chains, all the bridge scripts will be executed (using the bridge service) and tests (using the e2e service) will be executed. The last process exit code will be used as the result of the testing suite.

Debugging

Sometimes you may need to look into what happened in each service after running the tests. For doing this, comment out the docker-compose down line in the run-tests.sh file, and all the containers will be kept running after the script finishes. Some things you can do:

  • Connect to the home chain using http://localhost:8541 as the URL.
  • Connect to the foreign chain using http://localhost:8542 as the URL.
  • Open the RabbitMQ Management service (go to http://localhost:15672 in the browser and log in with username/password guest/guest).
  • Inspect the logs using docker logs CONTAINER. You can obtain the container name with the docker ps command.