Commit 00005ac9 authored by Vladimir Repin's avatar Vladimir Repin
Browse files

add more tests

parent 7d2bb86c
Loading
Loading
Loading
Loading
+31 −6
Original line number Diff line number Diff line
import unittest

import requests
from gradio.processing_utils import encode_pil_to_base64
from PIL import Image

class TestExtrasWorking(unittest.TestCase):
    def setUp(self):
        self.url_img2img = "http://localhost:7860/sdapi/v1/extra-single-image"
        self.simple_extras = {
        self.url_extras_single = "http://localhost:7860/sdapi/v1/extra-single-image"
        self.extras_single = {
            "resize_mode": 0,
            "show_extras_results": True,
            "gfpgan_visibility": 0,
@@ -17,12 +19,35 @@ class TestExtrasWorking(unittest.TestCase):
            "upscaler_1": "None",
            "upscaler_2": "None",
            "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 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"
        }

class TestExtrasCorrectness(unittest.TestCase):
    pass
    def test_interrogate_performed(self):
        self.assertEqual(requests.post(self.url_interrogate, json=self.interrogate).status_code, 200)


if __name__ == "__main__":
+6 −1
Original line number Diff line number Diff line
@@ -16,7 +16,7 @@ class TestImg2ImgWorking(unittest.TestCase):
            "inpainting_fill": 0,
            "inpaint_full_res": False,
            "inpaint_full_res_padding": 0,
            "inpainting_mask_invert": 0,
            "inpainting_mask_invert": False,
            "prompt": "example prompt",
            "styles": [],
            "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.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):
        self.simple_img2img["script_name"] = "sd upscale"
        self.simple_img2img["script_args"] = ["", 8, "Lanczos", 2.0]
+9 −2
Original line number Diff line number Diff line
@@ -41,6 +41,9 @@ class TestTxt2ImgWorking(unittest.TestCase):
        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_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):
        self.simple_txt2img["height"] = 128
        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.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):
        self.simple_txt2img["sampler_index"] = "PLMS"
        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.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
    def test_txt2img_batch_performed(self):
        self.simple_txt2img["batch_size"] = 2
        self.assertEqual(requests.post(self.url_txt2img, json=self.simple_txt2img).status_code, 200)


+3 −0
Original line number Diff line number Diff line
@@ -14,6 +14,7 @@ class UtilsTests(unittest.TestCase):
    self.url_prompt_styles = "http://localhost:7860/sdapi/v1/prompt-styles"
    self.url_artist_categories = "http://localhost:7860/sdapi/v1/artist-categories"
    self.url_artists = "http://localhost:7860/sdapi/v1/artists"
    self.url_embeddings = "http://localhost:7860/sdapi/v1/embeddings"

  def test_options_get(self):
    self.assertEqual(requests.get(self.url_options).status_code, 200)
@@ -62,6 +63,8 @@ class UtilsTests(unittest.TestCase):
  def test_artists(self):
    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__":
    unittest.main()