img2img test template and setUp added

This commit is contained in:
Vladimir Repin 2022-10-29 21:43:32 +03:00
parent af45b5a11a
commit 2f3d8172c3
5 changed files with 106 additions and 55 deletions

0
test/extras_test.py Normal file
View File

59
test/img2img_test.py Normal file
View File

@ -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()

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 362 B

View File

@ -1,9 +1,10 @@
import unittest import unittest
import requests import requests
import time
url_txt2img = "http://localhost:7860/sdapi/v1/txt2img" class TestTxt2ImgWorking(unittest.TestCase):
simple_txt2img = { def setUp(self):
self.url_txt2img = "http://localhost:7860/sdapi/v1/txt2img"
self.simple_txt2img = {
"enable_hr": False, "enable_hr": False,
"denoising_strength": 0, "denoising_strength": 0,
"firstphase_width": 0, "firstphase_width": 0,
@ -19,7 +20,7 @@ simple_txt2img = {
"seed_resize_from_w": -1, "seed_resize_from_w": -1,
"batch_size": 1, "batch_size": 1,
"n_iter": 1, "n_iter": 1,
"steps": 5, "steps": 3,
"cfg_scale": 7, "cfg_scale": 7,
"width": 64, "width": 64,
"height": 64, "height": 64,
@ -32,46 +33,37 @@ simple_txt2img = {
"s_tmin": 0, "s_tmin": 0,
"s_noise": 1, "s_noise": 1,
"sampler_index": "Euler a" "sampler_index": "Euler a"
} }
class TestTxt2ImgWorking(unittest.TestCase):
def test_txt2img_simple_performed(self): 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): def test_txt2img_with_negative_prompt_performed(self):
params = simple_txt2img.copy() self.simple_txt2img["negative_prompt"] = "example negative prompt"
params["negative_prompt"] = "example negative prompt" self.assertEqual(requests.post(self.url_txt2img, json=self.simple_txt2img).status_code, 200)
self.assertEqual(requests.post(url_txt2img, json=params).status_code, 200)
def test_txt2img_not_square_image_performed(self): def test_txt2img_not_square_image_performed(self):
params = simple_txt2img.copy() self.simple_txt2img["height"] = 128
params["height"] = 128 self.assertEqual(requests.post(self.url_txt2img, json=self.simple_txt2img).status_code, 200)
self.assertEqual(requests.post(url_txt2img, json=params).status_code, 200)
def test_txt2img_with_hrfix_performed(self): def test_txt2img_with_hrfix_performed(self):
params = simple_txt2img.copy() self.simple_txt2img["enable_hr"] = True
params["enable_hr"] = True self.assertEqual(requests.post(self.url_txt2img, json=self.simple_txt2img).status_code, 200)
self.assertEqual(requests.post(url_txt2img, json=params).status_code, 200)
def test_txt2img_with_restore_faces_performed(self): def test_txt2img_with_restore_faces_performed(self):
params = simple_txt2img.copy() self.simple_txt2img["restore_faces"] = True
params["restore_faces"] = True self.assertEqual(requests.post(self.url_txt2img, json=self.simple_txt2img).status_code, 200)
self.assertEqual(requests.post(url_txt2img, json=params).status_code, 200)
def test_txt2img_with_tiling_faces_performed(self): def test_txt2img_with_tiling_faces_performed(self):
params = simple_txt2img.copy() self.simple_txt2img["tiling"] = True
params["tiling"] = True self.assertEqual(requests.post(self.url_txt2img, json=self.simple_txt2img).status_code, 200)
self.assertEqual(requests.post(url_txt2img, json=params).status_code, 200)
def test_txt2img_with_vanilla_sampler_performed(self): def test_txt2img_with_vanilla_sampler_performed(self):
params = simple_txt2img.copy() self.simple_txt2img["sampler_index"] = "PLMS"
params["sampler_index"] = "PLMS" self.assertEqual(requests.post(self.url_txt2img, json=self.simple_txt2img).status_code, 200)
self.assertEqual(requests.post(url_txt2img, json=params).status_code, 200)
def test_txt2img_multiple_batches_performed(self): def test_txt2img_multiple_batches_performed(self):
params = simple_txt2img.copy() self.simple_txt2img["n_iter"] = 2
params["n_iter"] = 2 self.assertEqual(requests.post(self.url_txt2img, json=self.simple_txt2img).status_code, 200)
self.assertEqual(requests.post(url_txt2img, json=params).status_code, 200)
class TestTxt2ImgCorrectness(unittest.TestCase): class TestTxt2ImgCorrectness(unittest.TestCase):
pass pass