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.") | ||||
|   ''; | ||||
| } | ||||
|  |  | |||
		Reference in a new issue
	
	 Taeer Bar-Yam
						Taeer Bar-Yam