mirror of
https://github.com/moby/moby.git
synced 2022-11-09 12:21:53 -05:00
15237db7d6
With DNS resolution happening within the container namespace test should not try to ping a DNS name and expect a packet loss message. It will only show up as a DNS name resolution failure. Changed the bridge internal test to test for a well known IP address. Also rearranged the overlay internal tests so that it gets to run before the dnet container is removed which was happening in previous tests. Signed-off-by: Jana Radhakrishnan <mrjana@docker.com> |
||
---|---|---|
.. | ||
dnet | ||
daemon-configs.bats | ||
daemon.cfg | ||
helpers.bash | ||
README.md |
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
- Bats (https://github.com/sstephenson/bats#installing-bats-from-source)
- Docker Machine (https://github.com/docker/machine)
- Virtualbox (as a Docker machine driver)
Running integration tests
- Start by [installing] (https://github.com/sstephenson/bats#installing-bats-from-source) bats on your system.
- If not done already, install docker-machine into /usr/bin
- Make sure Virtualbox is installed as well, which will be used by docker-machine as a driver to launch VMs
In order to run all integration tests, pass bats the test path:
$ bats test/integration/daemon-configs.bats