Make Qwen Image 2.1 the production image worker
This commit is contained in:
@@ -0,0 +1,47 @@
|
||||
import importlib.util
|
||||
import os
|
||||
import pathlib
|
||||
import unittest
|
||||
|
||||
|
||||
os.environ.setdefault("WORKER_TOKEN", "x" * 48)
|
||||
PATH = (pathlib.Path(__file__).parents[1]
|
||||
/ "platform/docker/qwen-image-worker/qwen_image_worker.py")
|
||||
SPEC = importlib.util.spec_from_file_location("qwen_image_worker", PATH)
|
||||
worker = importlib.util.module_from_spec(SPEC)
|
||||
assert SPEC and SPEC.loader
|
||||
SPEC.loader.exec_module(worker)
|
||||
|
||||
|
||||
class QwenImageWorkerTests(unittest.TestCase):
|
||||
def test_text_to_image_uses_empty_latent(self):
|
||||
workflow = worker.make_workflow("test", 7, 25, 1024, 1024, [], "job")
|
||||
self.assertEqual(workflow["6"]["inputs"]["latent_image"], ["5", 0])
|
||||
self.assertIn("5", workflow)
|
||||
self.assertNotIn("vae", workflow["4"]["inputs"])
|
||||
|
||||
def test_edit_uses_reference_latent_and_qwen_dynamic_inputs(self):
|
||||
workflow = worker.make_workflow(
|
||||
"edit <image1>", 7, 25, 1024, 1024,
|
||||
["job-ref-1.png", "job-ref-2.jpg"], "job")
|
||||
encode = workflow["4"]["inputs"]
|
||||
self.assertEqual(workflow["6"]["inputs"]["latent_image"], ["4", 2])
|
||||
self.assertEqual(encode["vae"], ["3", 0])
|
||||
self.assertEqual(encode["image_1"], ["9", 0])
|
||||
self.assertEqual(encode["image_2"], ["10", 0])
|
||||
self.assertNotIn("5", workflow)
|
||||
|
||||
def test_router_contract_is_fixed_to_production_parameters(self):
|
||||
request = {
|
||||
"prompt": "test", "filename": "result.png", "width": 1024,
|
||||
"height": 1024, "steps": 25, "guidance": 1.0, "seed": 42,
|
||||
}
|
||||
self.assertEqual(worker.validate_request(request)[1:],
|
||||
("result.png", 1024, 1024, 25, 1.0, 42))
|
||||
request["steps"] = 4
|
||||
with self.assertRaisesRegex(ValueError, "steps=25"):
|
||||
worker.validate_request(request)
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
unittest.main()
|
||||
Reference in New Issue
Block a user