| 
									
										
										
										
											2022-10-29 18:26:28 +03:00
										 |  |  | import unittest | 
					
						
							|  |  |  | import requests | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2022-10-30 08:22:44 +03:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2022-10-29 18:26:28 +03:00
										 |  |  | class TestTxt2ImgWorking(unittest.TestCase): | 
					
						
							| 
									
										
										
										
											2022-10-29 21:43:32 +03:00
										 |  |  |     def setUp(self): | 
					
						
							| 
									
										
										
										
											2022-11-14 18:40:15 +03:00
										 |  |  |         self.url_txt2img = "http://localhost:7860/sdapi/v1/txt2img" | 
					
						
							| 
									
										
										
										
											2022-10-29 21:43:32 +03:00
										 |  |  |         self.simple_txt2img = { | 
					
						
							|  |  |  |             "enable_hr": False, | 
					
						
							|  |  |  |             "denoising_strength": 0, | 
					
						
							|  |  |  |             "firstphase_width": 0, | 
					
						
							|  |  |  |             "firstphase_height": 0, | 
					
						
							|  |  |  |             "prompt": "example prompt", | 
					
						
							| 
									
										
										
										
											2022-10-30 08:22:44 +03:00
										 |  |  |             "styles": [], | 
					
						
							| 
									
										
										
										
											2022-10-29 21:43:32 +03:00
										 |  |  |             "seed": -1, | 
					
						
							|  |  |  |             "subseed": -1, | 
					
						
							|  |  |  |             "subseed_strength": 0, | 
					
						
							|  |  |  |             "seed_resize_from_h": -1, | 
					
						
							|  |  |  |             "seed_resize_from_w": -1, | 
					
						
							|  |  |  |             "batch_size": 1, | 
					
						
							|  |  |  |             "n_iter": 1, | 
					
						
							|  |  |  |             "steps": 3, | 
					
						
							|  |  |  |             "cfg_scale": 7, | 
					
						
							|  |  |  |             "width": 64, | 
					
						
							|  |  |  |             "height": 64, | 
					
						
							|  |  |  |             "restore_faces": False, | 
					
						
							|  |  |  |             "tiling": False, | 
					
						
							|  |  |  |             "negative_prompt": "", | 
					
						
							|  |  |  |             "eta": 0, | 
					
						
							|  |  |  |             "s_churn": 0, | 
					
						
							|  |  |  |             "s_tmax": 0, | 
					
						
							|  |  |  |             "s_tmin": 0, | 
					
						
							|  |  |  |             "s_noise": 1, | 
					
						
							|  |  |  |             "sampler_index": "Euler a" | 
					
						
							|  |  |  |         } | 
					
						
							| 
									
										
										
										
											2022-10-30 08:22:44 +03:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2022-10-29 18:26:28 +03:00
										 |  |  |     def test_txt2img_simple_performed(self): | 
					
						
							| 
									
										
										
										
											2022-10-29 21:43:32 +03:00
										 |  |  |         self.assertEqual(requests.post(self.url_txt2img, json=self.simple_txt2img).status_code, 200) | 
					
						
							| 
									
										
										
										
											2022-10-29 18:26:28 +03:00
										 |  |  | 
 | 
					
						
							|  |  |  |     def test_txt2img_with_negative_prompt_performed(self): | 
					
						
							| 
									
										
										
										
											2022-10-29 21:43:32 +03:00
										 |  |  |         self.simple_txt2img["negative_prompt"] = "example negative prompt" | 
					
						
							|  |  |  |         self.assertEqual(requests.post(self.url_txt2img, json=self.simple_txt2img).status_code, 200) | 
					
						
							| 
									
										
										
										
											2022-10-29 18:26:28 +03:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2023-01-09 21:01:28 +03:00
										 |  |  |     def test_txt2img_with_complex_prompt_performed(self): | 
					
						
							|  |  |  |         self.simple_txt2img["prompt"] = "((emphasis)), (emphasis1:1.1), [to:1], [from::2], [from:to:0.3], [alt|alt1]" | 
					
						
							| 
									
										
										
										
											2023-01-10 12:46:35 +03:00
										 |  |  |         self.assertEqual(requests.post(self.url_txt2img, json=self.simple_txt2img).status_code, 200) | 
					
						
							| 
									
										
										
										
											2023-01-09 21:01:28 +03:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2022-10-29 18:26:28 +03:00
										 |  |  |     def test_txt2img_not_square_image_performed(self): | 
					
						
							| 
									
										
										
										
											2022-10-29 21:43:32 +03:00
										 |  |  |         self.simple_txt2img["height"] = 128 | 
					
						
							|  |  |  |         self.assertEqual(requests.post(self.url_txt2img, json=self.simple_txt2img).status_code, 200) | 
					
						
							| 
									
										
										
										
											2022-10-29 18:26:28 +03:00
										 |  |  | 
 | 
					
						
							|  |  |  |     def test_txt2img_with_hrfix_performed(self): | 
					
						
							| 
									
										
										
										
											2022-10-29 21:43:32 +03:00
										 |  |  |         self.simple_txt2img["enable_hr"] = True | 
					
						
							|  |  |  |         self.assertEqual(requests.post(self.url_txt2img, json=self.simple_txt2img).status_code, 200) | 
					
						
							| 
									
										
										
										
											2022-10-29 18:26:28 +03:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2022-11-12 15:12:15 +03:00
										 |  |  |     def test_txt2img_with_tiling_performed(self): | 
					
						
							| 
									
										
										
										
											2022-10-29 21:43:32 +03:00
										 |  |  |         self.simple_txt2img["tiling"] = True | 
					
						
							|  |  |  |         self.assertEqual(requests.post(self.url_txt2img, json=self.simple_txt2img).status_code, 200) | 
					
						
							| 
									
										
										
										
											2022-10-29 18:26:28 +03:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2023-01-09 21:01:28 +03:00
										 |  |  |     def test_txt2img_with_restore_faces_performed(self): | 
					
						
							|  |  |  |         self.simple_txt2img["restore_faces"] = True | 
					
						
							|  |  |  |         self.assertEqual(requests.post(self.url_txt2img, json=self.simple_txt2img).status_code, 200) | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2022-10-29 18:26:28 +03:00
										 |  |  |     def test_txt2img_with_vanilla_sampler_performed(self): | 
					
						
							| 
									
										
										
										
											2022-10-29 21:43:32 +03:00
										 |  |  |         self.simple_txt2img["sampler_index"] = "PLMS" | 
					
						
							|  |  |  |         self.assertEqual(requests.post(self.url_txt2img, json=self.simple_txt2img).status_code, 200) | 
					
						
							| 
									
										
										
										
											2022-11-12 15:12:15 +03:00
										 |  |  |         self.simple_txt2img["sampler_index"] = "DDIM" | 
					
						
							|  |  |  |         self.assertEqual(requests.post(self.url_txt2img, json=self.simple_txt2img).status_code, 200) | 
					
						
							| 
									
										
										
										
											2022-10-29 18:26:28 +03:00
										 |  |  | 
 | 
					
						
							|  |  |  |     def test_txt2img_multiple_batches_performed(self): | 
					
						
							| 
									
										
										
										
											2022-10-29 21:43:32 +03:00
										 |  |  |         self.simple_txt2img["n_iter"] = 2 | 
					
						
							|  |  |  |         self.assertEqual(requests.post(self.url_txt2img, json=self.simple_txt2img).status_code, 200) | 
					
						
							| 
									
										
										
										
											2022-10-29 18:26:28 +03:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2023-01-09 21:01:28 +03:00
										 |  |  |     def test_txt2img_batch_performed(self): | 
					
						
							|  |  |  |         self.simple_txt2img["batch_size"] = 2 | 
					
						
							| 
									
										
										
										
											2023-01-09 19:39:06 +03:00
										 |  |  |         self.assertEqual(requests.post(self.url_txt2img, json=self.simple_txt2img).status_code, 200) | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2022-10-30 08:22:44 +03:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2022-10-29 18:26:28 +03:00
										 |  |  | if __name__ == "__main__": | 
					
						
							|  |  |  |     unittest.main() |