pi-hole/test
Christian König 42424b515b Add getFTLAPIPort function
Add ftl_api_port function

Signed-off-by: Christian König <ckoenig@posteo.de>

Use getFTLAPIPort in pihole

Signed-off-by: Christian König <ckoenig@posteo.de>

Use default portfile as fallback

Signed-off-by: Christian König <ckoenig@posteo.de>

Fix stickler

Signed-off-by: Christian König <ckoenig@posteo.de>

Correct variables

Signed-off-by: Christian König <ckoenig@posteo.de>

Apply suggestions from code review

Co-authored-by: DL6ER <DL6ER@users.noreply.github.com>

Add test getFTLAPIPort returing default port

Signed-off-by: Christian König <ckoenig@posteo.de>

Remove unused code from test_key_val_replacement_works

Signed-off-by: Christian König <ckoenig@posteo.de>

Add getFTLAPIPort_custom test

Signed-off-by: Christian König <ckoenig@posteo.de>

Fix output format

Signed-off-by: Christian König <ckoenig@posteo.de>

Add debugging

Signed-off-by: Christian König <ckoenig@posteo.de>

Remove debugging and fix function

Signed-off-by: Christian König <ckoenig@posteo.de>
2022-02-27 18:16:53 +01:00
..
__init__.py setupVar tests passing for debian & centos 2016-10-10 23:14:39 -05:00
_centos_7.Dockerfile Update the tests (#4427) 2021-11-18 01:03:37 +00:00
_centos_8.Dockerfile Switch from centos8 to centos8:stream base image for centos 8 tests 2022-02-03 18:43:19 +00:00
_debian_9.Dockerfile add OS_CHECK_DOMAIN_NAME override to all the dockerfiles 2021-07-14 22:41:17 +01:00
_debian_10.Dockerfile add OS_CHECK_DOMAIN_NAME override to all the dockerfiles 2021-07-14 22:41:17 +01:00
_debian_11.Dockerfile Support and test Debian Bullsye (11) 2021-07-07 19:09:54 +00:00
_fedora_33.Dockerfile Update the tests (#4427) 2021-11-18 01:03:37 +00:00
_fedora_34.Dockerfile Update the tests (#4427) 2021-11-18 01:03:37 +00:00
_ubuntu_16.Dockerfile add OS_CHECK_DOMAIN_NAME override to all the dockerfiles 2021-07-14 22:41:17 +01:00
_ubuntu_18.Dockerfile add OS_CHECK_DOMAIN_NAME override to all the dockerfiles 2021-07-14 22:41:17 +01:00
_ubuntu_20.Dockerfile add OS_CHECK_DOMAIN_NAME override to all the dockerfiles 2021-07-14 22:41:17 +01:00
_ubuntu_21.Dockerfile add tests for ubuntu 21 2021-07-14 22:36:02 +01:00
conftest.py Update the tests (#4427) 2021-11-18 01:03:37 +00:00
README.md unit test for umask problems in #3177 and #2730 (#3191) 2021-11-11 16:44:57 +00:00
requirements.txt Update the tests (#4427) 2021-11-18 01:03:37 +00:00
setup.py Remove Travis CI config 2020-12-01 10:02:31 +00:00
test_any_automated_install.py Remove pihole-FTL.conf.5 from automated tests 2022-02-04 20:43:47 +01:00
test_any_utils.py Add getFTLAPIPort function 2022-02-27 18:16:53 +01:00
test_centos_7_support.py Update the tests (#4427) 2021-11-18 01:03:37 +00:00
test_centos_8_support.py Update the tests (#4427) 2021-11-18 01:03:37 +00:00
test_centos_common_support.py Update the tests (#4427) 2021-11-18 01:03:37 +00:00
test_centos_fedora_common_support.py Update the tests (#4427) 2021-11-18 01:03:37 +00:00
test_fedora_support.py Update the tests (#4427) 2021-11-18 01:03:37 +00:00
tox.centos_7.ini Split new function out into a separte utility script and add a test for it. Can be used in future to organise re/commonly-used code 2022-01-30 23:05:28 +00:00
tox.centos_8.ini Split new function out into a separte utility script and add a test for it. Can be used in future to organise re/commonly-used code 2022-01-30 23:05:28 +00:00
tox.debian_9.ini Split new function out into a separte utility script and add a test for it. Can be used in future to organise re/commonly-used code 2022-01-30 23:05:28 +00:00
tox.debian_10.ini Split new function out into a separte utility script and add a test for it. Can be used in future to organise re/commonly-used code 2022-01-30 23:05:28 +00:00
tox.debian_11.ini Split new function out into a separte utility script and add a test for it. Can be used in future to organise re/commonly-used code 2022-01-30 23:05:28 +00:00
tox.fedora_33.ini Split new function out into a separte utility script and add a test for it. Can be used in future to organise re/commonly-used code 2022-01-30 23:05:28 +00:00
tox.fedora_34.ini Split new function out into a separte utility script and add a test for it. Can be used in future to organise re/commonly-used code 2022-01-30 23:05:28 +00:00
tox.ubuntu_16.ini Split new function out into a separte utility script and add a test for it. Can be used in future to organise re/commonly-used code 2022-01-30 23:05:28 +00:00
tox.ubuntu_18.ini Split new function out into a separte utility script and add a test for it. Can be used in future to organise re/commonly-used code 2022-01-30 23:05:28 +00:00
tox.ubuntu_20.ini Split new function out into a separte utility script and add a test for it. Can be used in future to organise re/commonly-used code 2022-01-30 23:05:28 +00:00
tox.ubuntu_21.ini Split new function out into a separte utility script and add a test for it. Can be used in future to organise re/commonly-used code 2022-01-30 23:05:28 +00:00

Recommended way to run tests

Make sure you have Docker and Python w/pip package manager.

From command line all you need to do is:

  • pip install tox
  • tox

Tox handles setting up a virtual environment for python dependencies, installing dependencies, building the docker images used by tests, and finally running tests. It's an easy way to have travis-ci like build behavior locally.

Alternative py.test method of running tests

You're responsible for setting up your virtual env and dependencies in this situation.

py.test -vv -n auto -m "build_stage"
py.test -vv -n auto -m "not build_stage"

The build_stage tests have to run first to create the docker images, followed by the actual tests which utilize said images. Unless you're changing your dockerfiles you shouldn't have to run the build_stage every time - but it's a good idea to rebuild at least once a day in case the base Docker images or packages change.

How do I debug python?

Highly recommended: Setup PyCharm on a Docker enabled machine. Having a python debugger like PyCharm changes your life if you've never used it :)