1
0
Fork 0
mirror of https://github.com/moby/moby.git synced 2022-11-09 12:21:53 -05:00
moby--moby/libnetwork/test/integration
Jana Radhakrishnan 2479562e72 Introduce test remote plugin in dnet
There are multiple goals of introducing test driver plugin
  - Need a driver which can be configured to simulate
    different driver behaviors
  - For pure libnetwork multi-host integration testing
    a test driver configured for global scope can be used
    without trying to use a real driver like overlay
    which comes with it's own dependencies which can't
    be satisfied all enviroments(I am looking at you
    circleci)

This PR also makes all test cases that we have so far to be run
in circleci without any skipping needed.

Signed-off-by: Jana Radhakrishnan <mrjana@docker.com>
2015-09-17 10:38:34 -07:00
..
dnet Introduce test remote plugin in dnet 2015-09-17 10:38:34 -07:00
daemon-configs.bats Initial bats based integration tests for testing daemon network configs 2015-04-25 07:33:48 -07:00
daemon.cfg Initial bats based integration tests for testing daemon network configs 2015-04-25 07:33:48 -07:00
helpers.bash Initial bats based integration tests for testing daemon network configs 2015-04-25 07:33:48 -07:00
README.md Initial bats based integration tests for testing daemon network configs 2015-04-25 07:33:48 -07:00

LibNetwork Integration Tests

Integration tests provide end-to-end testing of LibNetwork and Drivers.

While unit tests verify the code is working as expected by relying on mocks and artificially created fixtures, integration tests actually use real docker engines and communicate to it through the CLI.

Note that integration tests do not replace unit tests and Docker is used as a good use-case.

As a rule of thumb, code should be tested thoroughly with unit tests. Integration tests on the other hand are meant to test a specific feature end to end.

Integration tests are written in bash using the bats framework.

Pre-Requisites

  1. Bats (https://github.com/sstephenson/bats#installing-bats-from-source)
  2. Docker Machine (https://github.com/docker/machine)
  3. Virtualbox (as a Docker machine driver)

Running integration tests

In order to run all integration tests, pass bats the test path:

$ bats test/integration/daemon-configs.bats