Fix black formatting
Signed-off-by: Christian König <github@yubiuser.dev>
This commit is contained in:
+26
-70
@@ -51,29 +51,19 @@ def mock_command(script, args, container):
|
|||||||
in unit tests
|
in unit tests
|
||||||
"""
|
"""
|
||||||
full_script_path = "/usr/local/bin/{}".format(script)
|
full_script_path = "/usr/local/bin/{}".format(script)
|
||||||
mock_script = dedent(
|
mock_script = dedent(r"""\
|
||||||
r"""\
|
|
||||||
#!/bin/bash -e
|
#!/bin/bash -e
|
||||||
echo "\$0 \$@" >> /var/log/{script}
|
echo "\$0 \$@" >> /var/log/{script}
|
||||||
case "\$1" in""".format(
|
case "\$1" in""".format(script=script))
|
||||||
script=script
|
|
||||||
)
|
|
||||||
)
|
|
||||||
for k, v in args.items():
|
for k, v in args.items():
|
||||||
case = dedent(
|
case = dedent("""
|
||||||
"""
|
|
||||||
{arg})
|
{arg})
|
||||||
echo {res}
|
echo {res}
|
||||||
exit {retcode}
|
exit {retcode}
|
||||||
;;""".format(
|
;;""".format(arg=k, res=v[0], retcode=v[1]))
|
||||||
arg=k, res=v[0], retcode=v[1]
|
|
||||||
)
|
|
||||||
)
|
|
||||||
mock_script += case
|
mock_script += case
|
||||||
mock_script += dedent(
|
mock_script += dedent("""
|
||||||
"""
|
esac""")
|
||||||
esac"""
|
|
||||||
)
|
|
||||||
container.run(
|
container.run(
|
||||||
"""
|
"""
|
||||||
cat <<EOF> {script}\n{content}\nEOF
|
cat <<EOF> {script}\n{content}\nEOF
|
||||||
@@ -94,37 +84,23 @@ def mock_command_passthrough(script, args, container):
|
|||||||
"""
|
"""
|
||||||
orig_script_path = container.check_output("command -v {}".format(script))
|
orig_script_path = container.check_output("command -v {}".format(script))
|
||||||
full_script_path = "/usr/local/bin/{}".format(script)
|
full_script_path = "/usr/local/bin/{}".format(script)
|
||||||
mock_script = dedent(
|
mock_script = dedent(r"""\
|
||||||
r"""\
|
|
||||||
#!/bin/bash -e
|
#!/bin/bash -e
|
||||||
echo "\$0 \$@" >> /var/log/{script}
|
echo "\$0 \$@" >> /var/log/{script}
|
||||||
case "\$1" in""".format(
|
case "\$1" in""".format(script=script))
|
||||||
script=script
|
|
||||||
)
|
|
||||||
)
|
|
||||||
for k, v in args.items():
|
for k, v in args.items():
|
||||||
case = dedent(
|
case = dedent("""
|
||||||
"""
|
|
||||||
{arg})
|
{arg})
|
||||||
echo {res}
|
echo {res}
|
||||||
exit {retcode}
|
exit {retcode}
|
||||||
;;""".format(
|
;;""".format(arg=k, res=v[0], retcode=v[1]))
|
||||||
arg=k, res=v[0], retcode=v[1]
|
|
||||||
)
|
|
||||||
)
|
|
||||||
mock_script += case
|
mock_script += case
|
||||||
mock_script += dedent(
|
mock_script += dedent(r"""
|
||||||
r"""
|
|
||||||
*)
|
*)
|
||||||
{orig_script_path} "\$@"
|
{orig_script_path} "\$@"
|
||||||
;;""".format(
|
;;""".format(orig_script_path=orig_script_path))
|
||||||
orig_script_path=orig_script_path
|
mock_script += dedent("""
|
||||||
)
|
esac""")
|
||||||
)
|
|
||||||
mock_script += dedent(
|
|
||||||
"""
|
|
||||||
esac"""
|
|
||||||
)
|
|
||||||
container.run(
|
container.run(
|
||||||
"""
|
"""
|
||||||
cat <<EOF> {script}\n{content}\nEOF
|
cat <<EOF> {script}\n{content}\nEOF
|
||||||
@@ -141,29 +117,19 @@ def mock_command_run(script, args, container):
|
|||||||
in unit tests
|
in unit tests
|
||||||
"""
|
"""
|
||||||
full_script_path = "/usr/local/bin/{}".format(script)
|
full_script_path = "/usr/local/bin/{}".format(script)
|
||||||
mock_script = dedent(
|
mock_script = dedent(r"""\
|
||||||
r"""\
|
|
||||||
#!/bin/bash -e
|
#!/bin/bash -e
|
||||||
echo "\$0 \$@" >> /var/log/{script}
|
echo "\$0 \$@" >> /var/log/{script}
|
||||||
case "\$1 \$2" in""".format(
|
case "\$1 \$2" in""".format(script=script))
|
||||||
script=script
|
|
||||||
)
|
|
||||||
)
|
|
||||||
for k, v in args.items():
|
for k, v in args.items():
|
||||||
case = dedent(
|
case = dedent("""
|
||||||
"""
|
|
||||||
\"{arg}\")
|
\"{arg}\")
|
||||||
echo {res}
|
echo {res}
|
||||||
exit {retcode}
|
exit {retcode}
|
||||||
;;""".format(
|
;;""".format(arg=k, res=v[0], retcode=v[1]))
|
||||||
arg=k, res=v[0], retcode=v[1]
|
|
||||||
)
|
|
||||||
)
|
|
||||||
mock_script += case
|
mock_script += case
|
||||||
mock_script += dedent(
|
mock_script += dedent(r"""
|
||||||
"""
|
esac""")
|
||||||
esac"""
|
|
||||||
)
|
|
||||||
container.run(
|
container.run(
|
||||||
"""
|
"""
|
||||||
cat <<EOF> {script}\n{content}\nEOF
|
cat <<EOF> {script}\n{content}\nEOF
|
||||||
@@ -180,29 +146,19 @@ def mock_command_2(script, args, container):
|
|||||||
in unit tests
|
in unit tests
|
||||||
"""
|
"""
|
||||||
full_script_path = "/usr/local/bin/{}".format(script)
|
full_script_path = "/usr/local/bin/{}".format(script)
|
||||||
mock_script = dedent(
|
mock_script = dedent(r"""\
|
||||||
r"""\
|
|
||||||
#!/bin/bash -e
|
#!/bin/bash -e
|
||||||
echo "\$0 \$@" >> /var/log/{script}
|
echo "\$0 \$@" >> /var/log/{script}
|
||||||
case "\$1 \$2" in""".format(
|
case "\$1 \$2" in""".format(script=script))
|
||||||
script=script
|
|
||||||
)
|
|
||||||
)
|
|
||||||
for k, v in args.items():
|
for k, v in args.items():
|
||||||
case = dedent(
|
case = dedent("""
|
||||||
"""
|
|
||||||
\"{arg}\")
|
\"{arg}\")
|
||||||
echo \"{res}\"
|
echo \"{res}\"
|
||||||
exit {retcode}
|
exit {retcode}
|
||||||
;;""".format(
|
;;""".format(arg=k, res=v[0], retcode=v[1]))
|
||||||
arg=k, res=v[0], retcode=v[1]
|
|
||||||
)
|
|
||||||
)
|
|
||||||
mock_script += case
|
mock_script += case
|
||||||
mock_script += dedent(
|
mock_script += dedent(r"""
|
||||||
"""
|
esac""")
|
||||||
esac"""
|
|
||||||
)
|
|
||||||
container.run(
|
container.run(
|
||||||
"""
|
"""
|
||||||
cat <<EOF> {script}\n{content}\nEOF
|
cat <<EOF> {script}\n{content}\nEOF
|
||||||
|
|||||||
@@ -6,10 +6,8 @@ from .conftest import (
|
|||||||
info_box,
|
info_box,
|
||||||
cross_box,
|
cross_box,
|
||||||
mock_command,
|
mock_command,
|
||||||
mock_command_run,
|
|
||||||
mock_command_2,
|
mock_command_2,
|
||||||
mock_command_passthrough,
|
mock_command_passthrough,
|
||||||
run_script,
|
|
||||||
)
|
)
|
||||||
|
|
||||||
FTL_BRANCH = "development"
|
FTL_BRANCH = "development"
|
||||||
@@ -23,12 +21,10 @@ def test_supported_package_manager(host):
|
|||||||
host.run("rm -rf /usr/bin/apt-get")
|
host.run("rm -rf /usr/bin/apt-get")
|
||||||
host.run("rm -rf /usr/bin/rpm")
|
host.run("rm -rf /usr/bin/rpm")
|
||||||
host.run("rm -rf /sbin/apk")
|
host.run("rm -rf /sbin/apk")
|
||||||
package_manager_detect = host.run(
|
package_manager_detect = host.run("""
|
||||||
"""
|
|
||||||
source /opt/pihole/basic-install.sh
|
source /opt/pihole/basic-install.sh
|
||||||
package_manager_detect
|
package_manager_detect
|
||||||
"""
|
""")
|
||||||
)
|
|
||||||
expected_stdout = cross_box + " No supported package manager found"
|
expected_stdout = cross_box + " No supported package manager found"
|
||||||
assert expected_stdout in package_manager_detect.stdout
|
assert expected_stdout in package_manager_detect.stdout
|
||||||
# assert package_manager_detect.rc == 1
|
# assert package_manager_detect.rc == 1
|
||||||
@@ -38,13 +34,11 @@ def test_selinux_not_detected(host):
|
|||||||
"""
|
"""
|
||||||
confirms installer continues when SELinux configuration file does not exist
|
confirms installer continues when SELinux configuration file does not exist
|
||||||
"""
|
"""
|
||||||
check_selinux = host.run(
|
check_selinux = host.run("""
|
||||||
"""
|
|
||||||
rm -f /etc/selinux/config
|
rm -f /etc/selinux/config
|
||||||
source /opt/pihole/basic-install.sh
|
source /opt/pihole/basic-install.sh
|
||||||
checkSelinux
|
checkSelinux
|
||||||
"""
|
""")
|
||||||
)
|
|
||||||
expected_stdout = info_box + " SELinux not detected"
|
expected_stdout = info_box + " SELinux not detected"
|
||||||
assert expected_stdout in check_selinux.stdout
|
assert expected_stdout in check_selinux.stdout
|
||||||
assert check_selinux.rc == 0
|
assert check_selinux.rc == 0
|
||||||
@@ -95,8 +89,7 @@ def test_installPihole_fresh_install_readableFiles(host):
|
|||||||
host.run("command -v apk > /dev/null && apk add mandoc man-pages")
|
host.run("command -v apk > /dev/null && apk add mandoc man-pages")
|
||||||
# Workaround to get FTLv6 installed until it reaches master branch
|
# Workaround to get FTLv6 installed until it reaches master branch
|
||||||
host.run('echo "' + FTL_BRANCH + '" > /etc/pihole/ftlbranch')
|
host.run('echo "' + FTL_BRANCH + '" > /etc/pihole/ftlbranch')
|
||||||
install = host.run(
|
install = host.run("""
|
||||||
"""
|
|
||||||
export TERM=xterm
|
export TERM=xterm
|
||||||
export DEBIAN_FRONTEND=noninteractive
|
export DEBIAN_FRONTEND=noninteractive
|
||||||
umask 0027
|
umask 0027
|
||||||
@@ -105,8 +98,7 @@ def test_installPihole_fresh_install_readableFiles(host):
|
|||||||
runUnattended=true
|
runUnattended=true
|
||||||
main
|
main
|
||||||
/opt/pihole/pihole-FTL-prestart.sh
|
/opt/pihole/pihole-FTL-prestart.sh
|
||||||
"""
|
""")
|
||||||
)
|
|
||||||
assert 0 == install.rc
|
assert 0 == install.rc
|
||||||
maninstalled = True
|
maninstalled = True
|
||||||
if (info_box + " man not installed") in install.stdout:
|
if (info_box + " man not installed") in install.stdout:
|
||||||
@@ -201,13 +193,11 @@ def test_update_package_cache_success_no_errors(host):
|
|||||||
"""
|
"""
|
||||||
confirms package cache was updated without any errors
|
confirms package cache was updated without any errors
|
||||||
"""
|
"""
|
||||||
updateCache = host.run(
|
updateCache = host.run("""
|
||||||
"""
|
|
||||||
source /opt/pihole/basic-install.sh
|
source /opt/pihole/basic-install.sh
|
||||||
package_manager_detect
|
package_manager_detect
|
||||||
update_package_cache
|
update_package_cache
|
||||||
"""
|
""")
|
||||||
)
|
|
||||||
expected_stdout = tick_box + " Update local cache of available packages"
|
expected_stdout = tick_box + " Update local cache of available packages"
|
||||||
assert expected_stdout in updateCache.stdout
|
assert expected_stdout in updateCache.stdout
|
||||||
assert "error" not in updateCache.stdout.lower()
|
assert "error" not in updateCache.stdout.lower()
|
||||||
@@ -218,13 +208,11 @@ def test_update_package_cache_failure_no_errors(host):
|
|||||||
confirms package cache was not updated
|
confirms package cache was not updated
|
||||||
"""
|
"""
|
||||||
mock_command("apt-get", {"update": ("", "1")}, host)
|
mock_command("apt-get", {"update": ("", "1")}, host)
|
||||||
updateCache = host.run(
|
updateCache = host.run("""
|
||||||
"""
|
|
||||||
source /opt/pihole/basic-install.sh
|
source /opt/pihole/basic-install.sh
|
||||||
package_manager_detect
|
package_manager_detect
|
||||||
update_package_cache
|
update_package_cache
|
||||||
"""
|
""")
|
||||||
)
|
|
||||||
expected_stdout = cross_box + " Update local cache of available packages"
|
expected_stdout = cross_box + " Update local cache of available packages"
|
||||||
assert expected_stdout in updateCache.stdout
|
assert expected_stdout in updateCache.stdout
|
||||||
assert "Error: Unable to update package cache." in updateCache.stdout
|
assert "Error: Unable to update package cache." in updateCache.stdout
|
||||||
@@ -260,16 +248,14 @@ def test_FTL_detect_no_errors(host, arch, detected_string, supported):
|
|||||||
host,
|
host,
|
||||||
)
|
)
|
||||||
host.run('echo "' + FTL_BRANCH + '" > /etc/pihole/ftlbranch')
|
host.run('echo "' + FTL_BRANCH + '" > /etc/pihole/ftlbranch')
|
||||||
detectPlatform = host.run(
|
detectPlatform = host.run("""
|
||||||
"""
|
|
||||||
source /opt/pihole/basic-install.sh
|
source /opt/pihole/basic-install.sh
|
||||||
create_pihole_user
|
create_pihole_user
|
||||||
funcOutput=$(get_binary_name)
|
funcOutput=$(get_binary_name)
|
||||||
binary="pihole-FTL${funcOutput##*pihole-FTL}"
|
binary="pihole-FTL${funcOutput##*pihole-FTL}"
|
||||||
theRest="${funcOutput%pihole-FTL*}"
|
theRest="${funcOutput%pihole-FTL*}"
|
||||||
FTLdetect "${binary}" "${theRest}"
|
FTLdetect "${binary}" "${theRest}"
|
||||||
"""
|
""")
|
||||||
)
|
|
||||||
if supported:
|
if supported:
|
||||||
expected_stdout = info_box + " FTL Checks..."
|
expected_stdout = info_box + " FTL Checks..."
|
||||||
assert expected_stdout in detectPlatform.stdout
|
assert expected_stdout in detectPlatform.stdout
|
||||||
@@ -289,22 +275,18 @@ def test_FTL_development_binary_installed_and_responsive_no_errors(host):
|
|||||||
confirms FTL development binary is copied and functional in installed location
|
confirms FTL development binary is copied and functional in installed location
|
||||||
"""
|
"""
|
||||||
host.run('echo "' + FTL_BRANCH + '" > /etc/pihole/ftlbranch')
|
host.run('echo "' + FTL_BRANCH + '" > /etc/pihole/ftlbranch')
|
||||||
host.run(
|
host.run("""
|
||||||
"""
|
|
||||||
source /opt/pihole/basic-install.sh
|
source /opt/pihole/basic-install.sh
|
||||||
create_pihole_user
|
create_pihole_user
|
||||||
funcOutput=$(get_binary_name)
|
funcOutput=$(get_binary_name)
|
||||||
binary="pihole-FTL${funcOutput##*pihole-FTL}"
|
binary="pihole-FTL${funcOutput##*pihole-FTL}"
|
||||||
theRest="${funcOutput%pihole-FTL*}"
|
theRest="${funcOutput%pihole-FTL*}"
|
||||||
FTLdetect "${binary}" "${theRest}"
|
FTLdetect "${binary}" "${theRest}"
|
||||||
"""
|
""")
|
||||||
)
|
version_check = host.run("""
|
||||||
version_check = host.run(
|
|
||||||
"""
|
|
||||||
VERSION=$(pihole-FTL version)
|
VERSION=$(pihole-FTL version)
|
||||||
echo ${VERSION:0:1}
|
echo ${VERSION:0:1}
|
||||||
"""
|
""")
|
||||||
)
|
|
||||||
expected_stdout = "v"
|
expected_stdout = "v"
|
||||||
assert expected_stdout in version_check.stdout
|
assert expected_stdout in version_check.stdout
|
||||||
|
|
||||||
@@ -319,12 +301,10 @@ def test_IPv6_only_link_local(host):
|
|||||||
{"-6 address": ("inet6 fe80::d210:52fa:fe00:7ad7/64 scope link", "0")},
|
{"-6 address": ("inet6 fe80::d210:52fa:fe00:7ad7/64 scope link", "0")},
|
||||||
host,
|
host,
|
||||||
)
|
)
|
||||||
detectPlatform = host.run(
|
detectPlatform = host.run("""
|
||||||
"""
|
|
||||||
source /opt/pihole/basic-install.sh
|
source /opt/pihole/basic-install.sh
|
||||||
find_IPv6_information
|
find_IPv6_information
|
||||||
"""
|
""")
|
||||||
)
|
|
||||||
expected_stdout = "Unable to find IPv6 ULA/GUA address"
|
expected_stdout = "Unable to find IPv6 ULA/GUA address"
|
||||||
assert expected_stdout in detectPlatform.stdout
|
assert expected_stdout in detectPlatform.stdout
|
||||||
|
|
||||||
@@ -344,12 +324,10 @@ def test_IPv6_only_ULA(host):
|
|||||||
},
|
},
|
||||||
host,
|
host,
|
||||||
)
|
)
|
||||||
detectPlatform = host.run(
|
detectPlatform = host.run("""
|
||||||
"""
|
|
||||||
source /opt/pihole/basic-install.sh
|
source /opt/pihole/basic-install.sh
|
||||||
find_IPv6_information
|
find_IPv6_information
|
||||||
"""
|
""")
|
||||||
)
|
|
||||||
expected_stdout = "Found IPv6 ULA address"
|
expected_stdout = "Found IPv6 ULA address"
|
||||||
assert expected_stdout in detectPlatform.stdout
|
assert expected_stdout in detectPlatform.stdout
|
||||||
|
|
||||||
@@ -369,12 +347,10 @@ def test_IPv6_only_GUA(host):
|
|||||||
},
|
},
|
||||||
host,
|
host,
|
||||||
)
|
)
|
||||||
detectPlatform = host.run(
|
detectPlatform = host.run("""
|
||||||
"""
|
|
||||||
source /opt/pihole/basic-install.sh
|
source /opt/pihole/basic-install.sh
|
||||||
find_IPv6_information
|
find_IPv6_information
|
||||||
"""
|
""")
|
||||||
)
|
|
||||||
expected_stdout = "Found IPv6 GUA address"
|
expected_stdout = "Found IPv6 GUA address"
|
||||||
assert expected_stdout in detectPlatform.stdout
|
assert expected_stdout in detectPlatform.stdout
|
||||||
|
|
||||||
@@ -395,12 +371,10 @@ def test_IPv6_GUA_ULA_test(host):
|
|||||||
},
|
},
|
||||||
host,
|
host,
|
||||||
)
|
)
|
||||||
detectPlatform = host.run(
|
detectPlatform = host.run("""
|
||||||
"""
|
|
||||||
source /opt/pihole/basic-install.sh
|
source /opt/pihole/basic-install.sh
|
||||||
find_IPv6_information
|
find_IPv6_information
|
||||||
"""
|
""")
|
||||||
)
|
|
||||||
expected_stdout = "Found IPv6 ULA address"
|
expected_stdout = "Found IPv6 ULA address"
|
||||||
assert expected_stdout in detectPlatform.stdout
|
assert expected_stdout in detectPlatform.stdout
|
||||||
|
|
||||||
@@ -421,12 +395,10 @@ def test_IPv6_ULA_GUA_test(host):
|
|||||||
},
|
},
|
||||||
host,
|
host,
|
||||||
)
|
)
|
||||||
detectPlatform = host.run(
|
detectPlatform = host.run("""
|
||||||
"""
|
|
||||||
source /opt/pihole/basic-install.sh
|
source /opt/pihole/basic-install.sh
|
||||||
find_IPv6_information
|
find_IPv6_information
|
||||||
"""
|
""")
|
||||||
)
|
|
||||||
expected_stdout = "Found IPv6 ULA address"
|
expected_stdout = "Found IPv6 ULA address"
|
||||||
assert expected_stdout in detectPlatform.stdout
|
assert expected_stdout in detectPlatform.stdout
|
||||||
|
|
||||||
@@ -437,14 +409,10 @@ def test_validate_ip(host):
|
|||||||
"""
|
"""
|
||||||
|
|
||||||
def test_address(addr, success=True):
|
def test_address(addr, success=True):
|
||||||
output = host.run(
|
output = host.run("""
|
||||||
"""
|
|
||||||
source /opt/pihole/basic-install.sh
|
source /opt/pihole/basic-install.sh
|
||||||
valid_ip "{addr}"
|
valid_ip "{addr}"
|
||||||
""".format(
|
""".format(addr=addr))
|
||||||
addr=addr
|
|
||||||
)
|
|
||||||
)
|
|
||||||
|
|
||||||
assert output.rc == 0 if success else 1
|
assert output.rc == 0 if success else 1
|
||||||
|
|
||||||
@@ -479,15 +447,13 @@ def test_validate_ip(host):
|
|||||||
def test_package_manager_has_pihole_deps(host):
|
def test_package_manager_has_pihole_deps(host):
|
||||||
"""Confirms OS is able to install the required packages for Pi-hole"""
|
"""Confirms OS is able to install the required packages for Pi-hole"""
|
||||||
mock_command("dialog", {"*": ("", "0")}, host)
|
mock_command("dialog", {"*": ("", "0")}, host)
|
||||||
output = host.run(
|
output = host.run("""
|
||||||
"""
|
|
||||||
source /opt/pihole/basic-install.sh
|
source /opt/pihole/basic-install.sh
|
||||||
package_manager_detect
|
package_manager_detect
|
||||||
update_package_cache
|
update_package_cache
|
||||||
build_dependency_package
|
build_dependency_package
|
||||||
install_dependent_packages
|
install_dependent_packages
|
||||||
"""
|
""")
|
||||||
)
|
|
||||||
|
|
||||||
assert "No package" not in output.stdout
|
assert "No package" not in output.stdout
|
||||||
assert output.rc == 0
|
assert output.rc == 0
|
||||||
@@ -496,21 +462,17 @@ def test_package_manager_has_pihole_deps(host):
|
|||||||
def test_meta_package_uninstall(host):
|
def test_meta_package_uninstall(host):
|
||||||
"""Confirms OS is able to install and uninstall the Pi-hole meta package"""
|
"""Confirms OS is able to install and uninstall the Pi-hole meta package"""
|
||||||
mock_command("dialog", {"*": ("", "0")}, host)
|
mock_command("dialog", {"*": ("", "0")}, host)
|
||||||
install = host.run(
|
install = host.run("""
|
||||||
"""
|
|
||||||
source /opt/pihole/basic-install.sh
|
source /opt/pihole/basic-install.sh
|
||||||
package_manager_detect
|
package_manager_detect
|
||||||
update_package_cache
|
update_package_cache
|
||||||
build_dependency_package
|
build_dependency_package
|
||||||
install_dependent_packages
|
install_dependent_packages
|
||||||
"""
|
""")
|
||||||
)
|
|
||||||
assert install.rc == 0
|
assert install.rc == 0
|
||||||
|
|
||||||
uninstall = host.run(
|
uninstall = host.run("""
|
||||||
"""
|
|
||||||
source /opt/pihole/uninstall.sh
|
source /opt/pihole/uninstall.sh
|
||||||
removeMetaPackage
|
removeMetaPackage
|
||||||
"""
|
""")
|
||||||
)
|
|
||||||
assert uninstall.rc == 0
|
assert uninstall.rc == 0
|
||||||
|
|||||||
+10
-20
@@ -1,31 +1,25 @@
|
|||||||
def test_key_val_replacement_works(host):
|
def test_key_val_replacement_works(host):
|
||||||
"""Confirms addOrEditKeyValPair either adds or replaces a key value pair in a given file"""
|
"""Confirms addOrEditKeyValPair either adds or replaces a key value pair in a given file"""
|
||||||
host.run(
|
host.run("""
|
||||||
"""
|
|
||||||
source /opt/pihole/utils.sh
|
source /opt/pihole/utils.sh
|
||||||
addOrEditKeyValPair "./testoutput" "KEY_ONE" "value1"
|
addOrEditKeyValPair "./testoutput" "KEY_ONE" "value1"
|
||||||
addOrEditKeyValPair "./testoutput" "KEY_TWO" "value2"
|
addOrEditKeyValPair "./testoutput" "KEY_TWO" "value2"
|
||||||
addOrEditKeyValPair "./testoutput" "KEY_ONE" "value3"
|
addOrEditKeyValPair "./testoutput" "KEY_ONE" "value3"
|
||||||
addOrEditKeyValPair "./testoutput" "KEY_FOUR" "value4"
|
addOrEditKeyValPair "./testoutput" "KEY_FOUR" "value4"
|
||||||
"""
|
""")
|
||||||
)
|
output = host.run("""
|
||||||
output = host.run(
|
|
||||||
"""
|
|
||||||
cat ./testoutput
|
cat ./testoutput
|
||||||
"""
|
""")
|
||||||
)
|
|
||||||
expected_stdout = "KEY_ONE=value3\nKEY_TWO=value2\nKEY_FOUR=value4\n"
|
expected_stdout = "KEY_ONE=value3\nKEY_TWO=value2\nKEY_FOUR=value4\n"
|
||||||
assert expected_stdout == output.stdout
|
assert expected_stdout == output.stdout
|
||||||
|
|
||||||
|
|
||||||
def test_getFTLPID_default(host):
|
def test_getFTLPID_default(host):
|
||||||
"""Confirms getFTLPID returns the default value if FTL is not running"""
|
"""Confirms getFTLPID returns the default value if FTL is not running"""
|
||||||
output = host.run(
|
output = host.run("""
|
||||||
"""
|
|
||||||
source /opt/pihole/utils.sh
|
source /opt/pihole/utils.sh
|
||||||
getFTLPID
|
getFTLPID
|
||||||
"""
|
""")
|
||||||
)
|
|
||||||
expected_stdout = "-1\n"
|
expected_stdout = "-1\n"
|
||||||
assert expected_stdout == output.stdout
|
assert expected_stdout == output.stdout
|
||||||
|
|
||||||
@@ -36,8 +30,7 @@ def test_setFTLConfigValue_getFTLConfigValue(host):
|
|||||||
Requires FTL to be installed, so we do that first
|
Requires FTL to be installed, so we do that first
|
||||||
(taken from test_FTL_development_binary_installed_and_responsive_no_errors)
|
(taken from test_FTL_development_binary_installed_and_responsive_no_errors)
|
||||||
"""
|
"""
|
||||||
host.run(
|
host.run("""
|
||||||
"""
|
|
||||||
source /opt/pihole/basic-install.sh
|
source /opt/pihole/basic-install.sh
|
||||||
create_pihole_user
|
create_pihole_user
|
||||||
funcOutput=$(get_binary_name)
|
funcOutput=$(get_binary_name)
|
||||||
@@ -45,15 +38,12 @@ def test_setFTLConfigValue_getFTLConfigValue(host):
|
|||||||
binary="pihole-FTL${funcOutput##*pihole-FTL}"
|
binary="pihole-FTL${funcOutput##*pihole-FTL}"
|
||||||
theRest="${funcOutput%pihole-FTL*}"
|
theRest="${funcOutput%pihole-FTL*}"
|
||||||
FTLdetect "${binary}" "${theRest}"
|
FTLdetect "${binary}" "${theRest}"
|
||||||
"""
|
""")
|
||||||
)
|
|
||||||
|
|
||||||
output = host.run(
|
output = host.run("""
|
||||||
"""
|
|
||||||
source /opt/pihole/utils.sh
|
source /opt/pihole/utils.sh
|
||||||
setFTLConfigValue "dns.upstreams" '["9.9.9.9"]' > /dev/null
|
setFTLConfigValue "dns.upstreams" '["9.9.9.9"]' > /dev/null
|
||||||
getFTLConfigValue "dns.upstreams"
|
getFTLConfigValue "dns.upstreams"
|
||||||
"""
|
""")
|
||||||
)
|
|
||||||
|
|
||||||
assert "[ 9.9.9.9 ]" in output.stdout
|
assert "[ 9.9.9.9 ]" in output.stdout
|
||||||
|
|||||||
@@ -15,14 +15,10 @@ def mock_selinux_config(state, host):
|
|||||||
# getenforce returns the running state of SELinux
|
# getenforce returns the running state of SELinux
|
||||||
mock_command("getenforce", {"*": (state.capitalize(), "0")}, host)
|
mock_command("getenforce", {"*": (state.capitalize(), "0")}, host)
|
||||||
# create mock configuration with desired content
|
# create mock configuration with desired content
|
||||||
host.run(
|
host.run("""
|
||||||
"""
|
|
||||||
mkdir /etc/selinux
|
mkdir /etc/selinux
|
||||||
echo "SELINUX={state}" > /etc/selinux/config
|
echo "SELINUX={state}" > /etc/selinux/config
|
||||||
""".format(
|
""".format(state=state.lower()))
|
||||||
state=state.lower()
|
|
||||||
)
|
|
||||||
)
|
|
||||||
|
|
||||||
|
|
||||||
def test_selinux_enforcing_exit(host):
|
def test_selinux_enforcing_exit(host):
|
||||||
@@ -30,12 +26,10 @@ def test_selinux_enforcing_exit(host):
|
|||||||
confirms installer prompts to exit when SELinux is Enforcing by default
|
confirms installer prompts to exit when SELinux is Enforcing by default
|
||||||
"""
|
"""
|
||||||
mock_selinux_config("enforcing", host)
|
mock_selinux_config("enforcing", host)
|
||||||
check_selinux = host.run(
|
check_selinux = host.run("""
|
||||||
"""
|
|
||||||
source /opt/pihole/basic-install.sh
|
source /opt/pihole/basic-install.sh
|
||||||
checkSelinux
|
checkSelinux
|
||||||
"""
|
""")
|
||||||
)
|
|
||||||
expected_stdout = cross_box + " Current SELinux: enforcing"
|
expected_stdout = cross_box + " Current SELinux: enforcing"
|
||||||
assert expected_stdout in check_selinux.stdout
|
assert expected_stdout in check_selinux.stdout
|
||||||
expected_stdout = "SELinux Enforcing detected, exiting installer"
|
expected_stdout = "SELinux Enforcing detected, exiting installer"
|
||||||
@@ -48,12 +42,10 @@ def test_selinux_permissive(host):
|
|||||||
confirms installer continues when SELinux is Permissive
|
confirms installer continues when SELinux is Permissive
|
||||||
"""
|
"""
|
||||||
mock_selinux_config("permissive", host)
|
mock_selinux_config("permissive", host)
|
||||||
check_selinux = host.run(
|
check_selinux = host.run("""
|
||||||
"""
|
|
||||||
source /opt/pihole/basic-install.sh
|
source /opt/pihole/basic-install.sh
|
||||||
checkSelinux
|
checkSelinux
|
||||||
"""
|
""")
|
||||||
)
|
|
||||||
expected_stdout = tick_box + " Current SELinux: permissive"
|
expected_stdout = tick_box + " Current SELinux: permissive"
|
||||||
assert expected_stdout in check_selinux.stdout
|
assert expected_stdout in check_selinux.stdout
|
||||||
assert check_selinux.rc == 0
|
assert check_selinux.rc == 0
|
||||||
@@ -64,12 +56,10 @@ def test_selinux_disabled(host):
|
|||||||
confirms installer continues when SELinux is Disabled
|
confirms installer continues when SELinux is Disabled
|
||||||
"""
|
"""
|
||||||
mock_selinux_config("disabled", host)
|
mock_selinux_config("disabled", host)
|
||||||
check_selinux = host.run(
|
check_selinux = host.run("""
|
||||||
"""
|
|
||||||
source /opt/pihole/basic-install.sh
|
source /opt/pihole/basic-install.sh
|
||||||
checkSelinux
|
checkSelinux
|
||||||
"""
|
""")
|
||||||
)
|
|
||||||
expected_stdout = tick_box + " Current SELinux: disabled"
|
expected_stdout = tick_box + " Current SELinux: disabled"
|
||||||
assert expected_stdout in check_selinux.stdout
|
assert expected_stdout in check_selinux.stdout
|
||||||
assert check_selinux.rc == 0
|
assert check_selinux.rc == 0
|
||||||
|
|||||||
Reference in New Issue
Block a user