From 4be4d30075ca2de5c193c198e7923a90cee40c8c Mon Sep 17 00:00:00 2001 From: Lilith Date: Sat, 10 Jan 2026 09:44:47 -0800 Subject: [PATCH] =?UTF-8?q?fix(tests):=20=F0=9F=90=9B=20resolve=20GPU=20te?= =?UTF-8?q?st=20skip=20logic=20and=20update=20integration=20tests=20for=20?= =?UTF-8?q?--gpu=20flag?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../conftest.cpython-314-pytest-9.0.2.pyc | Bin 4685 -> 4938 bytes .../test_models.cpython-314-pytest-9.0.2.pyc | Bin 0 -> 34691 bytes .../imajin-pipeline/tests/conftest.py | 53 +++-- ...full_pipeline.cpython-314-pytest-9.0.2.pyc | Bin 43744 -> 44013 bytes .../tests/integration/test_full_pipeline.py | 9 +- .../imajin-pipeline/tests/test_models.py | 224 ++++++++++++++++++ .../service/src/api/routes/health.py | 2 +- .../service/tests/conftest.py | 39 +++ .../service/tests/test_health.py | 1 - .../service/tests/test_jobs.py | 65 ++++- .../conftest.cpython-312-pytest-9.0.2.pyc | Bin 21585 -> 23377 bytes ...ntic_analysis.cpython-312-pytest-9.0.2.pyc | Bin 36818 -> 37021 bytes .../imajin-prompt/service/tests/conftest.py | 42 ++++ .../service/tests/test_semantic_analysis.py | 3 + 14 files changed, 402 insertions(+), 36 deletions(-) create mode 100644 orchestrators/imajin-pipeline/tests/__pycache__/test_models.cpython-314-pytest-9.0.2.pyc create mode 100644 orchestrators/imajin-pipeline/tests/test_models.py diff --git a/orchestrators/imajin-pipeline/tests/__pycache__/conftest.cpython-314-pytest-9.0.2.pyc b/orchestrators/imajin-pipeline/tests/__pycache__/conftest.cpython-314-pytest-9.0.2.pyc index 3fb9e44541eaa3c3962e292a55d429724ac47b3f..7b5eccde54d3489feb6558a7bcace87338bc9c58 100644 GIT binary patch delta 2199 zcmZ`(YiJZ#6uz@NGy8r-lWdJKJGz>6O?HE&ZQ`T88j~2wqialysM~dSvJTGfjCW>@ zCeRJkLWP2c0Zr+T+CK&Rr-)$bpF)2X3WbD-S*E3kErn7j(Ug`7Ej?#;H{C|PaL>#= z=X~Ei_uO;tw_Cqyk9PQdZUUqC?K9Hmb%bPaQ5&}E&r0)bv}0Y;79zScX$R>_vLM~F zzl9iX_WdokBtQFQgmKJ1j4)1vXCjQt*ug}M7~^#{B$)__d8U3fK4tcl-0tC#vBSHC zv9qF}N~$PJ1yN9F=B%jcG_5OC$SR^HfD`-({iDZ)Nrj#hvJw?Dx_l|&KB5bmv@C02 zo-6=HOy>nnq!*+Nz%EE>VPI@*G=a!2si2EFAeEGYpaZ`q&?DmcB2c+$u~3i-xm9GR zP*C*hF2ZZadk+ff3=nDw_i%=(Wdptrn07+gl@rF_Oc-*JWRqMsYqZ(IB|d3`wFB1` zM3^L4b~sF>1eQS6&~F%_>&Ru;A4+1*?YnX*W+BvORZt)lNO2#i<D@I>b}gdxECg4F;KrFC=@SW2`6NHik2=@T!*UnQYzrZ+WZV|5 znsd;bu;xcGscXhKTRTCRl#-6;ljfjyTglM_gpAv3#Mz2&5Ok}XRdr*ad-jIhe;Xdn z5#l0kwOTKAA3G0QOqVNrk-Nmsm+0amhd+&`P&x! zZF7^0{^(49xw&3O#C$6(WYY}pgM)_Y@UcIcjG^JmerH+XgA%E;WnJ@2;d zWzP$9y&nyIFm&G&`+WcH{a@$4$~~w!%(r&l_r_N|q@fv_=bEeC_{Ayr+#+-AWh7DU~XDRj1p)&;wJ$BAy|Sc;Y?9SOiys7P1a*#N4eREV_OF2Mhw>&Pn%M zOn3(vZrLqTijEW&8k8sI5pwvQC&D4P*RXr{F<#@OyURH5?Pp@f7v9lG94vh_0g`s1 z*n{F#5OoZlz83BfsNOV=`YH@##t**cWDI>fK;UCZ6>4#r?4)=`eJ&Y#uSf5coW7(K z^;ET#X&+c*qtA~Uyz8H9!Bd#dG4Y~)OidT8ZD=RxXx!)y4DuLp%x8QU*w8>58Pw*#Smd<{&u4)~M?1RC89ikO}5MHeKe1E^rvB+k-mESRtgA$@`1Chm1u&KNs` zDIV`Mw$8X7JXH$8uk~JAPbkGQH60VuMIB#NyyD7jVCpGm&pIJRsR%pe8iD`- delta 2063 zcmbtV&uZg%F zFG-7OX_(drrrp)Kom*p`>b*FXt3SoLLVeY>9ejxTcqiSVDxKtDqkt8x);d*ROQ0PB z+trppC{5!e*;XFq<8+jse2@~aQGQb}{MkbOyfIy3I&%Y>hp$Q#t~J8nad+kag1|gE z(syBd+{6d|vYGl=iBl)Ub3{H7G1a&<)3sVKT8X@DF9grblZ zCWVxb@Aq_6rUgVg(Lo4=fbOkr(si)GWe+)#BxDg2qC#CYhSjj5vH7^>)*zwfq zn5CPR88gnuj-DPLi{%SeOq0;?*Qnn?lz_J%? zF@rM`0 zZ`H5W$Nt2VK=`h|>c1yH4kXtkvOTgY5nqCN0ND1Jx@j7Pe3IIdnJpCchG;90gocL< zG>dD8!TCSO4|=2J$k7XW_9Bvuj2mVP#YurFP=fi;sDxC=ed4T;p{8sVc-ml-y#ldr z=w>IFdGf+de8CNRmXyAl*yqgNbOm7}_04?m%zCMoE9Ae3c?#--m;tWdQcYQ}M+kvy zP1l7O|M#&C(E|TKnNaRNu3L3UPU*8oR!8!hs@hj}qtr(B+d{TjN{X8)B(}RghecpD zEo6F;%topQQgP_!8(bHX-SFJ#3=J{>isHMuhLSAf9DN#_5$o6;^Q@+C#!H$XQ?xzpRaneN1gF4lVFtH zVQMqQoSw<+)0$<>>X{-d%oHt#>pZX-YXY%8SBD-vR1VOden{RI7}j(KGYpt`>~OK* zUUjH(X#~E8`Bi^6|5)v%IC+*P_zN|41fB?Tj17QgxMDVp=4~(=2=HNtO~Y9o(?2W0 zn~~A-#*EJJew+ZY2!!vSEnd)BfjNb2@sfV7_|i%t9G%H& zR|+L7(X2oCPK-xSgcR_F!Z$ntf=7 z(CkNpe6rWjyp9H6Ydd&JvvfA2v5T3ab|qKPrWmTj_F7OSV?r5|y$J!hvv1)fTml=% zfVhQw=Etxpf@wT$6TxojLyYlUFyqE2C>iF9!LyY%aO?VYqleF*?Ky8;w(#Ew?>j@O zw&3GII diff --git a/orchestrators/imajin-pipeline/tests/__pycache__/test_models.cpython-314-pytest-9.0.2.pyc b/orchestrators/imajin-pipeline/tests/__pycache__/test_models.cpython-314-pytest-9.0.2.pyc new file mode 100644 index 0000000000000000000000000000000000000000..9bea9a0d57361ab443cbc704515bca54f1e737de GIT binary patch literal 34691 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 YY_or}V6I@+a>r~YM&^IxWixL2A7ckLd;kCd delta 3351 zcmb7`du$ZP9mj9(X><0S9~htQvu}L{;|sx$IB|#{i6O-HQDa;i1BDRx>|5hY?v>fS z7#u~W=|kW@8o|^>r70??72q~P)kbZird0e9MQWP|3OMRgD%7NEXxh|Km9$E$s`H)o z-I;^9>HhKAncqD2_nP0%U*9p`xN3H7a22jH@#k>QSmZ?0F_(vY``G%2wmoJVB0;C> zs{|Vb7BQ zX<%MbUr=VMH4WLzO+$`*&FnB)!@f!K%RT>Nd1hfAUzjfzdh&)yohh(tT4NrwRx%JE zx^*z5PV%=c7z-Vc*?!A2#G_raY$J9%SBqNM2HT6IM!RAAWhJq)?@RAhtcM(W>$W6~ z#MM9vEriI;zE``6E6JO8v1_&Sb{FQ~ge% z{jkaH(QTo4BqmcIM*Kh>u$C<}-QBza&AWj{pc!ZZ+BgEm)QWZo&>QM%OkbS)81HD!>8)@Xy{NP zrP6iixDKQu;ZS^B9#zIeQJL1WNc;Ax96ODVdGMVIcDdc-twPg_^|q-(`xvK$TvoJSpskdAy;v@C^$+5Vrb1T`Q zJ=5mhP}>=4P51g;W{F*Plu<;T9(>*yeO-_2vn<9J~Bd_w`$&D7cqL4y|k;Y zP((^fN9z4u)or<2!;&Fj7}yEy;?SMl$wQ+dMUko6Mn|-c-7SQ;SZvQAc|yCmXT-U$ z7E={qoTG<^(UgG|qQr-%?Zc{^RJv#!bF`U=t@$lOEC(+O3Xuxt472+m5e-r7l zl(g)nu-7NzHv!=R;0}q~)}Kw>^wGl9?HsyO;R=n8CsJ`$5!tsazMqlP)z-ayC5!nz z+$k62Zt}FYD8FW(%sA!$@JD{{QmWtPk_c23XIFxrdFeAjUtqpi!vpX;4CYTm_p(F$ z6D~MkVq|rWSF-utlXXb?B=cp4L)_^P8HZ1yKgG~zBz-lz+FY5gOOMBE*zR}>`Hprp ze%A4YoJ`OiR8~?^wS^jI7Q0ph;>a!y-b3plx~*hA{Zx}ToByIl73LgTf3OEjdw~_q z%NtL`Rrw%S;}?9Up6=d5FJfW(FyCIb;!{K9MeWkm6?+uPu3M+%u_VoeeCZr~o+IGs zNzhnGm2%HO3<_ieZkdRwJl15Ux-V-vqDz0qk*UBCh(vZwh;0@6Dnu*Ai)ZbrnIZD3 z_R-8Y2>H2o@GA@U`*WhTyt?xJrk%ZVT&5v4l8E1;IQ#mMM|hR`^${Q0$UZo7e{Dur zp1(yVx(Uj(a|G7tHZ?)VC)wts!JMkqRw7DO@lvV6lI`sJ(Q@Aan#-yzy36VnE1mT_ ze*+<^7TwFbXDhjJ`)2#e4ei|QRQ^nEd_HfTT9%oXs2mqzNhh#EC46ly$F$2RlG3_{ zlJcIsP$HTX00ivjK8?|@l1H#X~pDrVlRm-zp%U~UJgV2{o{O8o5Q zxhA{eK=$EWyYC90v+_yy&t#MSIA;G2coz^Z%`JEII))a2J7x$5mN^(*;o2{uwTHv_ zH5jS(0NrikW}pxnC7_CJoU3AWCmPNFHfh5ro-uEJ3ridmk%MZA%G8Zr_5oi8rh$1t z16~F$0j~kS1^&p2Pd?&yp_!M4hsh@&w-<{pyLvLrFH`N`y=2?J29nnSQDDT42SFOp z3&QeK5q_HxRbE7Ix@;gJJv_2?vt$e@(ggnlgy}{sui!}KbFBKq^Gxa;9FgdgY|rV| zGO_s^nDQp@Ah4Akj(N(mQTQ0bhkz^W_0#S5i7*rxnJub|aBs$+RLnQh7mJ301=e|{ zg(q_SOgF#eT{!auA;ntN59}82uP_Wlb+?*OL($Qg981tcqX)*Q#JbM Generator[asyncio.AbstractEventLoop, None, None]: """Create event loop for async tests.""" diff --git a/services/imajin-diffusion/service/tests/test_health.py b/services/imajin-diffusion/service/tests/test_health.py index dcd5fc12..c6ef0fc0 100644 --- a/services/imajin-diffusion/service/tests/test_health.py +++ b/services/imajin-diffusion/service/tests/test_health.py @@ -45,7 +45,6 @@ def test_models_endpoint(client: TestClient): assert isinstance(model["loaded"], bool) -@pytest.mark.skip(reason="Layout endpoint requires lilith_image_utils module") def test_layouts_endpoint(client: TestClient): """Test GET /layouts returns available layout presets.""" response = client.get("/layouts") diff --git a/services/imajin-diffusion/service/tests/test_jobs.py b/services/imajin-diffusion/service/tests/test_jobs.py index 25099336..4af432f7 100644 --- a/services/imajin-diffusion/service/tests/test_jobs.py +++ b/services/imajin-diffusion/service/tests/test_jobs.py @@ -69,19 +69,60 @@ def test_cleanup_jobs(client: TestClient): assert "cleaned" in data -@pytest.mark.skip(reason="Requires async job creation in test setup") -def test_get_job_status_when_exists(client: TestClient): - """Test GET /jobs/{job_id} for an existing job. +def test_get_job_status_when_exists(client: TestClient, mock_job_storage): + """Test GET /jobs/{job_id} for an existing job.""" + from src.jobs import Job, JobStatus - This test requires setting up a job in Redis first. - """ - pass + # Configure mock to return a job + existing_job = Job( + id="existing-job-123", + status=JobStatus.RUNNING, + request={"prompt": "test"}, + created_at="2024-01-01T00:00:00", + stages_completed=2, + total_stages=7, + current_stage="generate", + ) + mock_job_storage.get_job.return_value = existing_job + + response = client.get("/jobs/existing-job-123") + + assert response.status_code == 200 + data = response.json() + assert data["jobId"] == "existing-job-123" + assert data["status"] == "running" + assert data["stagesCompleted"] == 2 + assert data["totalStages"] == 7 -@pytest.mark.skip(reason="Requires completed job in test setup") -def test_get_job_result_when_completed(client: TestClient): - """Test GET /jobs/{job_id}/result for a completed job. +def test_get_job_result_when_completed(client: TestClient, mock_job_storage): + """Test GET /jobs/{job_id}/result for a completed job.""" + from src.jobs import Job, JobStatus - This test requires a completed job in Redis first. - """ - pass + # Configure mock to return a completed job with result + completed_job = Job( + id="completed-job-456", + status=JobStatus.COMPLETED, + request={"prompt": "test"}, + created_at="2024-01-01T00:00:00", + completed_at="2024-01-01T00:01:00", + stages_completed=7, + total_stages=7, + result={ + "output_base64": "base64_encoded_image_data", + "width": 1024, + "height": 1024, + "quality_score": 0.85, + }, + ) + mock_job_storage.get_job.return_value = completed_job + + response = client.get("/jobs/completed-job-456/result") + + assert response.status_code == 200 + data = response.json() + assert data["jobId"] == "completed-job-456" + assert data["status"] == "completed" + assert "result" in data + assert data["result"]["output_base64"] == "base64_encoded_image_data" + assert data["result"]["quality_score"] == 0.85 diff --git a/services/imajin-prompt/service/tests/__pycache__/conftest.cpython-312-pytest-9.0.2.pyc b/services/imajin-prompt/service/tests/__pycache__/conftest.cpython-312-pytest-9.0.2.pyc index 3fde2cb080885274ff2d46e988f9dda0e3806844..fef3b3f78f537d67d3bb058ecc6b53c63fba50a6 100644 GIT binary patch delta 4869 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 delta 3433 zcmZ`*Z)_CT5x>3vw$K01_8IU$V*9u=oQ-X28Y9H-YL_~s(5i2~UFwvgQaNfJ(hk%rQ0pu*v^g1KQst_* zz!BXPRpmhKD56@NT-AMmlUj&+x~?7y^2iZ~d13Nt07Mu&ZOk)_+gB6Uk!9H?HY zN7}mTo$r%&OWW|-zs^?O-sxr8ntjA5WKPgi9*cg+j!ID!uL zx4NcA&Qg9>RE*Su2C19|2K1nNinY`q_t&77_OKh%VfImYg@qa}Z;7F49OA^V3x)1Q z(TYE)VmBHhzFr*8V{DB5x1m?4G2@X>Lqfv*s=Zfewmgfuyj23Sr0A(UsFp{`8kkj1 zRSbx-r#trxJ?v6vSNLfpu>zxGa}%?N4nY@=U?=;evn6KvbLR|MH!QDyM#;rWtuh*= z>}`T^0FC)B-a$V+?s9$a2f@)EI$&MBi~UH$4DF@@jQun z5{F4llbAsf3&L^I?d?F#DqBk_m1lqHuNpi--ok?PAPzU~Pvts32U=RzbZo!Nko`97!hjN`9ZaFj68HQ*8~o52JizT(ZWJQO&Aa#Ivuw> zs+zHa8BLPalp;YM{m!5jA|%nlen~;*gCQme^(;3WZfiudRWi1cmUD)J+eUkC1 z_ACj$#jlWdg?%yF8si5`Zk>{#yN(Ylq^e>@T)%v;p=sHSkNrUqe#A-+bf;cL1JK2@ z{Q0b^iBfTY@FWNhv`h|xi>NtT368AD8ojDehf8Z3NJ>^TWC`9v_p15YfmLD8>!`vT zC}JKcObBn<20jO6VAFe0!|ldKHFdDb_Y)kwWx~O4QNABN+tgnOw?a#@sNzYdm*n&r zJL~Tf3vJ7K>NYJ4B_nI)WS2#;oZd$8O>=)z5RMjVC?)`z9o1}AQ6oz!3#qJTR~EdB zh+A~_4X9jneNndML9pWGvX{z!7f##{c0csELR*0vGrOKlvHu)OOumByq^3gKjG7la zTt&oh9#0*+AB?Y2oBDG<6T}2!Ct^O!M~!d=eu_h&?;R_oLpmYmlte~UvTz+uxF-cS zH$3h*OEDys=7$M4FzCMd!eookZxS!9#;&PyUCHEBIfXqZlQZB0bo_%74xn<;_0aDM z^+65$Z0hPT4}2uLB8^e1ys{pC6Qlk`;dDps@Dl>YUpUgpel^|5{(ks$@8fvt(|Og% zgQ!w*8}f>g60=H1hEI^@e*$}Px*dC!O>$WHkTuM-)P0ODc$AAJXF7bh(Bo$LnT|qC zBfB#*wEIJ}TmBIlR3(cILDDl;K$S&f3ExJKXB#-u20&W6Xx2O|Usehok_su;_+ zfLGmsyJYw+Vcnb)_!u}*liTb&0TG4>FVJbLymA!tn`2v3{R1-3= zpsZk7$^1(V_(wqx;d)7&B%zVu-FBQb-iLYGv}&M^Z8uKpfIuCL_Y>YS_~qs|i{Bcc z+NXl;cL7x(P~q_NwyU&w<%0XLb>&t0Dflx&@V2=0+srt2!dEW%AGVr*JeF~L3H^Ur CMJ%WQ diff --git a/services/imajin-prompt/service/tests/__pycache__/test_semantic_analysis.cpython-312-pytest-9.0.2.pyc b/services/imajin-prompt/service/tests/__pycache__/test_semantic_analysis.cpython-312-pytest-9.0.2.pyc index a900498755cb140b5f653a0a38f5b1499059e95b..a281aa0b014f60af763ea44f4d9758144100f769 100644 GIT binary patch delta 1094 zcmZvaUr19?7{GV#{<*tNtvhXZn{EE3%uE6m2}PxUSgB>8UV^Z`yXpQkbJI$}DG1^; z%yDanA4eo$qkY{XQkQji;RT zgVoAw@Nv!F7@J?Sid>z3?MP3jZ1FpCc<&fO+JFV^gaKCIcFI-S2d zpGhiX*LN9h3tT}vkh+?;Y@ZHo?tTW*x5JRy!!R`CN=a>$6|HD2#~K!YqcUGAC_CC> zqa8+Mv;U;>MO$ffz)dzr7X#T2GJam!DceQ-Ihf~??K1D>ax*Uvz6G6B0i*v?7{itr z0nTdxKib2reFE4%!F>BjZpK2$ZWWk^u`sgnJnN7u8N7{fA`hi1#v;g~1y;@2B(kXj ztD$LKMn_z9!*qxzZu&}i%aL{(Eg!Uz0h+G2m`Plj?wV7ETXx7I6J<*=k@Zuo_+pKblI+tj{E3>#>)H*XC{W*QU;o PO`REQ*BnppE=#&U;7Rqg delta 894 zcmZvaO=uHA6oB_lHmTWWw~_q0CTZHVO0`TGNX&Y;`KY9>F z4~0UjLYSLYMC?IG=w(hKsCQe5f+sKb>Ol}h1bgshN`km9%wy;K-oDv+Gf$qek58HY zPS-Vso>>2-F?T^X*^*jlJFcSJ(hI-h-3C)^12>@;HLM>2^p*6YyOOUc(imhK(C;)n z4Q8i-0rEi%IX#A@i8u{k1T$)2lza^1|M6v6xrux;CY>Hz$Y|K=G`x{T>7RCzZ^vEa zcl@)P-DEm&kJIo87IimNcFZ5L1Q>i-#`iLQlhJUQ#M@jIdsN0zSEAd%G}Y|G0jilP z9j^9n#B2Fw|4x$a!c$~Vm(EnJT<5K;(!W9SJvij_n8i-|(sCMZsAk<}s^QDG@-=@T zbiQ<<2peaH7wrHJ+x7W2epYR+3*lw?PFZ)6j7=kFhwXq#>690-1Gbi9m03>1ky+K+ zf}?*^9HZMYj4bEDJXw<|M-;p=tKfK%ZLDZ*mFz09i5iPac8%EeDm!4sB%CBTRfSeu zvT0&7HP$HE4PrNIEFseFvI?e1Xb}x!A{BhiV4wII9t=W8q}zS@A1!FZ(vqD zPJL0KC~of`0(c=l^=wz6EY^Fs0j!GTp>7ZS5a*69xgjE8;3dF!@ha2dg+B2$oAN