qois.cloud: add basic test (WIP)
This commit is contained in:
parent
b295ae9396
commit
a76519ac01
2 changed files with 70 additions and 0 deletions
34
nixos-modules/cloud/test.py
Normal file
34
nixos-modules/cloud/test.py
Normal file
|
@ -0,0 +1,34 @@
|
|||
def test(subtest, webserver):
|
||||
webserver.wait_for_unit("nginx")
|
||||
webserver.wait_for_open_port(80)
|
||||
webserver.wait_for_unit("nextcloud-setup.service")
|
||||
webserver.wait_for_unit("phpfpm-nextcloud.service")
|
||||
|
||||
# Helpers
|
||||
def curl_variable_test(node, variable, expected, url):
|
||||
value = node.succeed(
|
||||
f"curl -s --no-location -o /dev/null -w '%{{{variable}}}' '{url}'"
|
||||
)
|
||||
assert value == expected, (
|
||||
f"expected {variable} to be '{expected}' but got '{value}'"
|
||||
)
|
||||
|
||||
def expect_http_code(node, code, url):
|
||||
curl_variable_test(node, "http_code", code, url)
|
||||
|
||||
def expect_http_content_contains(node, expectedContentSnippet, url):
|
||||
content = node.succeed(f"curl --no-location --silent '{url}'")
|
||||
assert expectedContentSnippet in content, f"""
|
||||
expected in content:
|
||||
{expectedContentSnippet}
|
||||
at {url} but got following content:
|
||||
{content}
|
||||
"""
|
||||
|
||||
# Tests
|
||||
with subtest("website is successfully served on cloud.example.com"):
|
||||
webserver.succeed("grep cloud.example.com /etc/hosts")
|
||||
expect_http_code(webserver, "200", "http://cloud.example.com")
|
||||
expect_http_content_contains(
|
||||
webserver, "Log in to cloud.qoo.is", "http://docs.example.com"
|
||||
)
|
Loading…
Add table
Add a link
Reference in a new issue