better error messages
This commit is contained in:
parent
0f8972a8f0
commit
acc4a1a2ef
|
@ -78,7 +78,8 @@ rebuildableTest {
|
||||||
with subtest("Account creation"):
|
with subtest("Account creation"):
|
||||||
account_creation_output = server.succeed("mastodon-tootctl accounts create test --email test@test.com --confirmed --approve")
|
account_creation_output = server.succeed("mastodon-tootctl accounts create test --email test@test.com --confirmed --approve")
|
||||||
password_match = re.match('.*New password: ([^\n]*).*', account_creation_output, re.S)
|
password_match = re.match('.*New password: ([^\n]*).*', account_creation_output, re.S)
|
||||||
assert password_match is not None
|
if password_match is None:
|
||||||
|
raise Exception(f"account creation did not generate a password.\n{account_creation_output}")
|
||||||
password = password_match.group(1)
|
password = password_match.group(1)
|
||||||
|
|
||||||
with subtest("TTY Login"):
|
with subtest("TTY Login"):
|
||||||
|
@ -105,26 +106,32 @@ rebuildableTest {
|
||||||
with subtest("access image in garage"):
|
with subtest("access image in garage"):
|
||||||
image = server.succeed("mc find garage --regex original")
|
image = server.succeed("mc find garage --regex original")
|
||||||
image = image.rstrip()
|
image = image.rstrip()
|
||||||
assert image != ""
|
if image == "":
|
||||||
|
raise Exception("image posted to mastodon did not get stored in garage")
|
||||||
server.succeed(f"mc cat {image} >/garage-image.webp")
|
server.succeed(f"mc cat {image} >/garage-image.webp")
|
||||||
garage_image_hash = server.succeed("identify -quiet -format '%#' /garage-image.webp")
|
garage_image_hash = server.succeed("identify -quiet -format '%#' /garage-image.webp")
|
||||||
image_hash = server.succeed("identify -quiet -format '%#' $POST_MEDIA")
|
image_hash = server.succeed("identify -quiet -format '%#' $POST_MEDIA")
|
||||||
assert garage_image_hash == image_hash
|
if garage_image_hash != image_hash:
|
||||||
|
raise Exception("image stored in garage did not match image uploaded")
|
||||||
|
|
||||||
with subtest("Content security policy allows garage images"):
|
with subtest("Content security policy allows garage images"):
|
||||||
headers = server.succeed("xh -h http://masstodon.localhost:55001/public/local")
|
headers = server.succeed("xh -h http://masstodon.localhost:55001/public/local")
|
||||||
csp_match = re.match('^Content-Security-Policy: (.*)$', headers, re.M)
|
csp_match = re.match('^Content-Security-Policy: (.*)$', headers, re.M)
|
||||||
assert csp_match is not None
|
if csp_match is None:
|
||||||
|
raise Exception("mastodon did not send a content security policy header")
|
||||||
csp = csp_match.group(1)
|
csp = csp_match.group(1)
|
||||||
# the content security policy should include the garage server
|
# the content security policy should include the garage server
|
||||||
garage_csp = re.match(".*web\.garage\.localhost:3902.*", csp)
|
garage_csp = re.match(".*web\.garage\.localhost:3902.*", csp)
|
||||||
assert garage_csp is not None
|
if garage_csp is None:
|
||||||
|
raise Exception("Mastodon's content security policy does not include garage server. image will not be displayed properly on mastodon.")
|
||||||
|
|
||||||
with subtest("image displays"):
|
with subtest("image displays"):
|
||||||
server.succeed("selenium-script")
|
server.succeed("selenium-script")
|
||||||
server.copy_from_vm("/mastodon-screenshot.png", "")
|
server.copy_from_vm("/mastodon-screenshot.png", "")
|
||||||
displayed_colors = server.succeed("convert /mastodon-screenshot.png -define histogram:unique-colors=true -format %c histogram:info:")
|
displayed_colors = server.succeed("convert /mastodon-screenshot.png -define histogram:unique-colors=true -format %c histogram:info:")
|
||||||
# check that the green image displayed somewhere
|
# check that the green image displayed somewhere
|
||||||
re.match(".*#00FF00.*", displayed_colors, re.S)
|
green_check = re.match(".*#00FF00.*", displayed_colors, re.S)
|
||||||
|
if green_check is None:
|
||||||
|
raise Exception("cannot detect the uploaded image on mastodon page.")
|
||||||
'';
|
'';
|
||||||
}
|
}
|
||||||
|
|
Reference in a new issue