forked from fediversity/fediversity
		
	better error messages
This commit is contained in:
		
							parent
							
								
									0f8972a8f0
								
							
						
					
					
						commit
						acc4a1a2ef
					
				
					 1 changed files with 13 additions and 6 deletions
				
			
		| 
						 | 
				
			
			@ -78,7 +78,8 @@ rebuildableTest {
 | 
			
		|||
    with subtest("Account creation"):
 | 
			
		||||
      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)
 | 
			
		||||
      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)
 | 
			
		||||
 | 
			
		||||
    with subtest("TTY Login"):
 | 
			
		||||
| 
						 | 
				
			
			@ -105,26 +106,32 @@ rebuildableTest {
 | 
			
		|||
    with subtest("access image in garage"):
 | 
			
		||||
      image = server.succeed("mc find garage --regex original")
 | 
			
		||||
      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")
 | 
			
		||||
      garage_image_hash = server.succeed("identify -quiet -format '%#' /garage-image.webp")
 | 
			
		||||
      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"):
 | 
			
		||||
      headers = server.succeed("xh -h http://masstodon.localhost:55001/public/local")
 | 
			
		||||
      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)
 | 
			
		||||
      # the content security policy should include the garage server
 | 
			
		||||
      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"):
 | 
			
		||||
      server.succeed("selenium-script")
 | 
			
		||||
      server.copy_from_vm("/mastodon-screenshot.png", "")
 | 
			
		||||
      displayed_colors = server.succeed("convert /mastodon-screenshot.png -define histogram:unique-colors=true -format %c histogram:info:")
 | 
			
		||||
      # 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.")
 | 
			
		||||
  '';
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
	Add table
		
		Reference in a new issue