ansible/docs/docsite/rst/dev_guide/testing_httptester.rst
2017-07-25 09:23:01 -04:00

1.8 KiB

httptester

Topics

Overview

httptester is a docker container used to host certain resources required by testing_integration. This is to avoid CI tests requiring external resources (such as git or package repos) which, if temporarily unavailable, would cause tests to fail.

HTTP Testing endpoint which provides the following capabilities:

  • httpbin
  • nginx
  • SSL
  • SNI

Source files can be found at test/utils/docker/httptester/

Building

Docker

Both ways of building docker utilize the nginx:alpine image, but can be customized for Fedora, Red Hat, CentOS, Ubuntu, Debian and other variants of Alpine

When utilizing packer or configuring with ansible-playbook, the services will not automatically start on launch, and will have to be manually started using:

cd test/utils/docker/httptester
./services.sh

Such as when starting a docker container:

cd test/utils/docker/httptester
docker run -ti --rm -p 80:80 -p 443:443 --name httptester ansible/ansible:httptester /services.sh

docker build

cd test/utils/docker/httptester
docker build -t ansible/ansible:httptester .

packer

The packer build will use ansible-playbook to perform the configuration, and will tag the image as ansible/ansible:httptester:

cd test/utils/docker/httptester
packer build packer.json

Ansible

::

cd test/utils/docker/httptester ansible-playbook -i hosts -v httptester.yml

Extending httptester

If you have sometime to improve httptester please add a comment on the Testing Working Group Agenda to avoid duplicated effort.