add more tests

This commit is contained in:
Vladimir Repin 2023-01-09 21:01:28 +03:00
parent 7d2bb86cce
commit 00005ac9af
4 changed files with 49 additions and 9 deletions

View file

@ -1,10 +1,12 @@
import unittest import unittest
import requests
from gradio.processing_utils import encode_pil_to_base64
from PIL import Image
class TestExtrasWorking(unittest.TestCase): class TestExtrasWorking(unittest.TestCase):
def setUp(self): def setUp(self):
self.url_img2img = "http://localhost:7860/sdapi/v1/extra-single-image" self.url_extras_single = "http://localhost:7860/sdapi/v1/extra-single-image"
self.simple_extras = { self.extras_single = {
"resize_mode": 0, "resize_mode": 0,
"show_extras_results": True, "show_extras_results": True,
"gfpgan_visibility": 0, "gfpgan_visibility": 0,
@ -17,12 +19,35 @@ class TestExtrasWorking(unittest.TestCase):
"upscaler_1": "None", "upscaler_1": "None",
"upscaler_2": "None", "upscaler_2": "None",
"extras_upscaler_2_visibility": 0, "extras_upscaler_2_visibility": 0,
"image": "" "image": encode_pil_to_base64(Image.open(r"test/test_files/img2img_basic.png"))
} }
def test_simple_upscaling_performed(self):
self.extras_single["upscaler_1"] = "Lanczos"
self.assertEqual(requests.post(self.url_extras_single, json=self.extras_single).status_code, 200)
class TestExtrasCorrectness(unittest.TestCase):
pass class TestPngInfoWorking(unittest.TestCase):
def setUp(self):
self.url_png_info = "http://localhost:7860/sdapi/v1/extra-single-image"
self.png_info = {
"image": encode_pil_to_base64(Image.open(r"test/test_files/img2img_basic.png"))
}
def test_png_info_performed(self):
self.assertEqual(requests.post(self.url_png_info, json=self.png_info).status_code, 200)
class TestInterrogateWorking(unittest.TestCase):
def setUp(self):
self.url_interrogate = "http://localhost:7860/sdapi/v1/extra-single-image"
self.interrogate = {
"image": encode_pil_to_base64(Image.open(r"test/test_files/img2img_basic.png")),
"model": "clip"
}
def test_interrogate_performed(self):
self.assertEqual(requests.post(self.url_interrogate, json=self.interrogate).status_code, 200)
if __name__ == "__main__": if __name__ == "__main__":

View file

@ -16,7 +16,7 @@ class TestImg2ImgWorking(unittest.TestCase):
"inpainting_fill": 0, "inpainting_fill": 0,
"inpaint_full_res": False, "inpaint_full_res": False,
"inpaint_full_res_padding": 0, "inpaint_full_res_padding": 0,
"inpainting_mask_invert": 0, "inpainting_mask_invert": False,
"prompt": "example prompt", "prompt": "example prompt",
"styles": [], "styles": [],
"seed": -1, "seed": -1,
@ -50,6 +50,11 @@ class TestImg2ImgWorking(unittest.TestCase):
self.simple_img2img["mask"] = encode_pil_to_base64(Image.open(r"test/test_files/mask_basic.png")) 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) self.assertEqual(requests.post(self.url_img2img, json=self.simple_img2img).status_code, 200)
def test_inpainting_with_inverted_masked_performed(self):
self.simple_img2img["mask"] = encode_pil_to_base64(Image.open(r"test/test_files/mask_basic.png"))
self.simple_img2img["inpainting_mask_invert"] = True
self.assertEqual(requests.post(self.url_img2img, json=self.simple_img2img).status_code, 200)
def test_img2img_sd_upscale_performed(self): def test_img2img_sd_upscale_performed(self):
self.simple_img2img["script_name"] = "sd upscale" self.simple_img2img["script_name"] = "sd upscale"
self.simple_img2img["script_args"] = ["", 8, "Lanczos", 2.0] self.simple_img2img["script_args"] = ["", 8, "Lanczos", 2.0]

View file

@ -41,6 +41,9 @@ class TestTxt2ImgWorking(unittest.TestCase):
self.simple_txt2img["negative_prompt"] = "example negative prompt" self.simple_txt2img["negative_prompt"] = "example negative prompt"
self.assertEqual(requests.post(self.url_txt2img, json=self.simple_txt2img).status_code, 200) self.assertEqual(requests.post(self.url_txt2img, json=self.simple_txt2img).status_code, 200)
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]"
def test_txt2img_not_square_image_performed(self): def test_txt2img_not_square_image_performed(self):
self.simple_txt2img["height"] = 128 self.simple_txt2img["height"] = 128
self.assertEqual(requests.post(self.url_txt2img, json=self.simple_txt2img).status_code, 200) self.assertEqual(requests.post(self.url_txt2img, json=self.simple_txt2img).status_code, 200)
@ -53,6 +56,10 @@ class TestTxt2ImgWorking(unittest.TestCase):
self.simple_txt2img["tiling"] = True self.simple_txt2img["tiling"] = True
self.assertEqual(requests.post(self.url_txt2img, json=self.simple_txt2img).status_code, 200) self.assertEqual(requests.post(self.url_txt2img, json=self.simple_txt2img).status_code, 200)
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)
def test_txt2img_with_vanilla_sampler_performed(self): def test_txt2img_with_vanilla_sampler_performed(self):
self.simple_txt2img["sampler_index"] = "PLMS" self.simple_txt2img["sampler_index"] = "PLMS"
self.assertEqual(requests.post(self.url_txt2img, json=self.simple_txt2img).status_code, 200) self.assertEqual(requests.post(self.url_txt2img, json=self.simple_txt2img).status_code, 200)
@ -63,8 +70,8 @@ class TestTxt2ImgWorking(unittest.TestCase):
self.simple_txt2img["n_iter"] = 2 self.simple_txt2img["n_iter"] = 2
self.assertEqual(requests.post(self.url_txt2img, json=self.simple_txt2img).status_code, 200) self.assertEqual(requests.post(self.url_txt2img, json=self.simple_txt2img).status_code, 200)
def test_txt2img_with_restore_faces_performed(self): def test_txt2img_batch_performed(self):
self.simple_txt2img["restore_faces"] = True self.simple_txt2img["batch_size"] = 2
self.assertEqual(requests.post(self.url_txt2img, json=self.simple_txt2img).status_code, 200) self.assertEqual(requests.post(self.url_txt2img, json=self.simple_txt2img).status_code, 200)

View file

@ -14,6 +14,7 @@ class UtilsTests(unittest.TestCase):
self.url_prompt_styles = "http://localhost:7860/sdapi/v1/prompt-styles" self.url_prompt_styles = "http://localhost:7860/sdapi/v1/prompt-styles"
self.url_artist_categories = "http://localhost:7860/sdapi/v1/artist-categories" self.url_artist_categories = "http://localhost:7860/sdapi/v1/artist-categories"
self.url_artists = "http://localhost:7860/sdapi/v1/artists" self.url_artists = "http://localhost:7860/sdapi/v1/artists"
self.url_embeddings = "http://localhost:7860/sdapi/v1/embeddings"
def test_options_get(self): def test_options_get(self):
self.assertEqual(requests.get(self.url_options).status_code, 200) self.assertEqual(requests.get(self.url_options).status_code, 200)
@ -62,6 +63,8 @@ class UtilsTests(unittest.TestCase):
def test_artists(self): def test_artists(self):
self.assertEqual(requests.get(self.url_artists).status_code, 200) self.assertEqual(requests.get(self.url_artists).status_code, 200)
def test_embeddings(self):
self.assertEqual(requests.get(self.url_artists).status_code, 200)
if __name__ == "__main__": if __name__ == "__main__":
unittest.main() unittest.main()