moby/libnetwork/test/integration
Jana Radhakrishnan b7d0fefabc Add overlay network support < 3.16 kernels
Add support for overlay networking in older kernels.

Following were done to achieve this:
    + Create the vxlan network in host namespace.
    + This may create conflicts with other private
      networks so check for conflicts and fail a
      join if there is any conflict.
    + Add iptable based filtering to only allow
      subnet bridges in the same network to forward
      traffic while different network bridges will
      not be able to forward b/w each other. Also
      block traffic to overlay network originating
      from the host itself.

Signed-off-by: Jana Radhakrishnan <mrjana@docker.com>
2015-12-17 10:17:03 -08:00
..
dnet Add overlay network support < 3.16 kernels 2015-12-17 10:17:03 -08: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