diff --git a/test/extras_test.py b/test/extras_test.py new file mode 100644 index 000000000..e69de29bb diff --git a/test/img2img_test.py b/test/img2img_test.py new file mode 100644 index 000000000..d8ed309de --- /dev/null +++ b/test/img2img_test.py @@ -0,0 +1,59 @@ +import unittest +import requests +from gradio.processing_utils import encode_pil_to_base64 +from PIL import Image + +class Img2ImgWorking(unittest.TestCase): + def setUp(self): + self.url_img2img = "http://localhost:7860/sdapi/v1/img2img" + self.simple_img2img = { + "init_images": [ + encode_pil_to_base64(Image.open(r"test/test_files/img2img_basic.png")) + ], + "resize_mode": 0, + "denoising_strength": 0.75, + "mask": None, + "mask_blur": 4, + "inpainting_fill": 0, + "inpaint_full_res": False, + "inpaint_full_res_padding": 0, + "inpainting_mask_invert": 0, + "prompt": "example prompt", + "styles": [ + "" + ], + "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, + "override_settings": {}, + "sampler_index": "Euler a", + "include_init_images": False + } + def test_img2img_simple_performed(self): + self.assertEqual(requests.post(self.url_img2img, json=self.simple_img2img).status_code, 200) + + def test_inpainting_masked_performed(self): + self.simple_img2img["mask"] = encode_pil_to_base64(Image.open(r"test/test_files/mask_basic.png")) + self.assertEqual(requests.post(self.url_img2img, json=self.simple_img2img).status_code, 200) + +class TestImg2ImgCorrectness(unittest.TestCase): + pass + +if __name__ == "__main__": + unittest.main() \ No newline at end of file diff --git a/test/test_files/img2img_basic.png b/test/test_files/img2img_basic.png new file mode 100644 index 000000000..49a420482 Binary files /dev/null and b/test/test_files/img2img_basic.png differ diff --git a/test/test_files/mask_basic.png b/test/test_files/mask_basic.png new file mode 100644 index 000000000..0c2e9a689 Binary files /dev/null and b/test/test_files/mask_basic.png differ diff --git a/test/txt2img_test.py b/test/txt2img_test.py index 9484fd991..ad27686a9 100644 --- a/test/txt2img_test.py +++ b/test/txt2img_test.py @@ -1,77 +1,69 @@ import unittest import requests -import time - -url_txt2img = "http://localhost:7860/sdapi/v1/txt2img" -simple_txt2img = { - "enable_hr": False, - "denoising_strength": 0, - "firstphase_width": 0, - "firstphase_height": 0, - "prompt": "example prompt", - "styles": [ - "" - ], - "seed": -1, - "subseed": -1, - "subseed_strength": 0, - "seed_resize_from_h": -1, - "seed_resize_from_w": -1, - "batch_size": 1, - "n_iter": 1, - "steps": 5, - "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" -} class TestTxt2ImgWorking(unittest.TestCase): + def setUp(self): + self.url_txt2img = "http://localhost:7860/sdapi/v1/txt2img" + self.simple_txt2img = { + "enable_hr": False, + "denoising_strength": 0, + "firstphase_width": 0, + "firstphase_height": 0, + "prompt": "example prompt", + "styles": [ + "" + ], + "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" + } def test_txt2img_simple_performed(self): - self.assertEqual(requests.post(url_txt2img, json=simple_txt2img).status_code, 200) + self.assertEqual(requests.post(self.url_txt2img, json=self.simple_txt2img).status_code, 200) def test_txt2img_with_negative_prompt_performed(self): - params = simple_txt2img.copy() - params["negative_prompt"] = "example negative prompt" - self.assertEqual(requests.post(url_txt2img, json=params).status_code, 200) + self.simple_txt2img["negative_prompt"] = "example negative prompt" + self.assertEqual(requests.post(self.url_txt2img, json=self.simple_txt2img).status_code, 200) def test_txt2img_not_square_image_performed(self): - params = simple_txt2img.copy() - params["height"] = 128 - self.assertEqual(requests.post(url_txt2img, json=params).status_code, 200) + self.simple_txt2img["height"] = 128 + self.assertEqual(requests.post(self.url_txt2img, json=self.simple_txt2img).status_code, 200) def test_txt2img_with_hrfix_performed(self): - params = simple_txt2img.copy() - params["enable_hr"] = True - self.assertEqual(requests.post(url_txt2img, json=params).status_code, 200) + self.simple_txt2img["enable_hr"] = True + self.assertEqual(requests.post(self.url_txt2img, json=self.simple_txt2img).status_code, 200) def test_txt2img_with_restore_faces_performed(self): - params = simple_txt2img.copy() - params["restore_faces"] = True - self.assertEqual(requests.post(url_txt2img, json=params).status_code, 200) + self.simple_txt2img["restore_faces"] = True + self.assertEqual(requests.post(self.url_txt2img, json=self.simple_txt2img).status_code, 200) def test_txt2img_with_tiling_faces_performed(self): - params = simple_txt2img.copy() - params["tiling"] = True - self.assertEqual(requests.post(url_txt2img, json=params).status_code, 200) + self.simple_txt2img["tiling"] = True + self.assertEqual(requests.post(self.url_txt2img, json=self.simple_txt2img).status_code, 200) def test_txt2img_with_vanilla_sampler_performed(self): - params = simple_txt2img.copy() - params["sampler_index"] = "PLMS" - self.assertEqual(requests.post(url_txt2img, json=params).status_code, 200) + self.simple_txt2img["sampler_index"] = "PLMS" + self.assertEqual(requests.post(self.url_txt2img, json=self.simple_txt2img).status_code, 200) def test_txt2img_multiple_batches_performed(self): - params = simple_txt2img.copy() - params["n_iter"] = 2 - self.assertEqual(requests.post(url_txt2img, json=params).status_code, 200) + self.simple_txt2img["n_iter"] = 2 + self.assertEqual(requests.post(self.url_txt2img, json=self.simple_txt2img).status_code, 200) class TestTxt2ImgCorrectness(unittest.TestCase): pass