Files
cdtestplant_v1/apps/project/controllers/__pycache__/case.cpython-313.pyc

115 lines
26 KiB
Plaintext
Raw Normal View History

2025-04-29 18:09:00 +08:00
<EFBFBD>
2026-02-07 17:26:34 +08:00
t<><74>i<EFBFBD>U<00><00><><00>SSKJrJrJr SSKJr SSKJr SSKJ r SSK
2025-04-29 18:09:00 +08:00
J r SSK J r SSKJr SSKJr SS KJr SS
2025-12-23 10:36:55 +08:00
KJr SS KJrJr SS KJr SS KJr SSKJr SSKJr SSK J!r! SSK"J#r# SSK$J%r%J&r&J'r'J(r(J)r)J*r*J+r+J,r, SSK-J.r.J/r/J0r0J1r1J2r2J3r3J4r4J5r5J6r6J7r7J8r8 SSK9J:r: SSK;J<r<J=r= SSK>J?r?J@r@JArA SSKBJCrC SSKDJErE SSK-JFrFJGrG \"S\"5\ /S/S9"SS\55rHg) <20>)<03>api_controller<65>ControllerBase<73>route)<01>Query)<01>JWTAuth)<01>IsAuthenticated)<01>paginate)<01> HttpError)<01> MyPagination)<01> transaction)<01>get_object_or_404)<01>Replace)<02>F<>Value)<01>List)<01>Faker)<01>datetime)<01>timezone)<01> ChenResponse)<01>multi_delete_case)<08>Design<67>Dut<75>Round<6E>
2026-02-07 17:26:34 +08:00
TestDemand<EFBFBD>Case<73>CaseStep<65>Project<63>Problem) <0B> DeleteSchema<6D>CaseModelOutSchema<6D>CaseFilterSchema<6D>CaseTreeReturnSchema<6D>ReplaceCaseSchema<6D>PersonReplaceSchema<6D>ExetimeReplaceSchema<6D>CaseTreeInputSchema<6D>CaseCreateOutSchema<6D>CaseCreateInputSchema<6D>DemandNodeSchema)<01> get_testType)<02>HTTP_INDEX_ERROR<4F>HTTP_EXISTS_CASES)<03>case_move_to_test<73>case_copy_to_test<73>case_to_case_copy_or_move)<01>conditionNoneToBlank)<01>parse_case_content_string)<02> CaseModelOutSchemaWithoutProblem<65>BatchCreateCaseInputSchemaz/projectu测试用例接口)<03>auth<74> permissions<6E>tagsc <00>@<00>\rSrSr\R
2025-04-29 18:09:00 +08:00
"S\\SSS9\R\
"\ 5\ "S54S\ 4Sjj555r\R
"S \S
S 9\RS \S \4Sj55r\R
2025-05-10 19:21:24 +08:00
"S\SS 9\RS\4Sj55r\R
"S\\SS 9\R\ "S54S\4Sjj55r\R."S\SS 9\RS\4Sj55r\R."SSS9\RS\4Sj55r\R:"S\SS 9\RS\S\4S j55r\R>"S!S"S9\RS\ 4S#j55r!\R."S$S%S9S&\"4S'j5r#\R
"S(S)S9\RS*\S+\S,\S-\$4S.j55r%\R
"S/S0S9\RS*\S1\S2\S-\$S3\4
2026-02-07 17:26:34 +08:00
S4j55r&\R."S5S6S9\RS\'4S7j55r(\R."S8S9S9\RS\)4S:j55r*\R."S;S<S9\RS\+4S=j55r,\R
"S>S?S9S\S@\4SAj5r-SBr.gC)D<>CaseController<65>z /getCaseListTz case-list)<03>response<73> exclude_none<6E>url_name.<2E>datac
2025-05-10 19:21:24 +08:00
<00>P<00>UR5nURS5nU(a[RR US9nGO[ U5 UR URURURURURURS.nUR(agUR(aVUR(aESR!UR"SURSURSUR/5nXeS'OUR"US'[RR"S0UD6R%S5n/nUGHDn['US UR(R+5R-55 ['US
[/UR0R2S
S 95 UR4R75n UR4R+5(a ['US U 5 UR0n
/n U
R8R+5HGn ['U S U R:R+5R-55 U R=U 5 MI ['U
SU 5 ['USU
2025-12-23 10:36:55 +08:00
5 UR=U5 GMG U$)u/有id则查询一个case无id则查询多个<E5A49A>id<69>r?)<07> project__id<69>ident__icontains<6E>name__icontains<6E>designPerson__icontains<6E>testPerson__icontains<6E>monitorPerson__icontains<6E>summarize__icontains<6E><00>-<2D> test__key<65>
round__key<EFBFBD>key<65>testStep<65>testType<70><01> dict_code<64>problem<65>subStep<65> testContent<6E>test<73>)<1F>dict<63>popr<00>objects<74>filterr0<00>
2025-04-29 18:09:00 +08:00
project_id<EFBFBD>ident<6E>name<6D> designPerson<6F>
2025-12-23 10:36:55 +08:00
testPerson<EFBFBD> monitorPerson<6F> summarize<7A>dut_id<69> design_id<69>test_id<69>join<69>round_id<69>order_by<62>setattr<74>step<65>all<6C>valuesr*rTrN<00> caseField<6C>first<73>
testQField<EFBFBD> testStepField<6C>append) <0A>selfr=<00> data_dict<63>case_id<69>qs<71> query_params<6D>test_key<65>
query_list<EFBFBD> query_single<6C>related_problem<65>test_obj<62>sub_list<73>step_objs <20>BE:\pycharmProjects\cdtestplant_v1\apps\project\controllers\case.py<70> get_case_list<73>CaseController.get_case_list s <00><00> <19>I<EFBFBD>I<EFBFBD>K<EFBFBD> <09><1B>-<2D>-<2D><04>%<25><07> <12><15><1C><1C>$<24>$<24><07>$<24>0<>B<EFBFBD> <20><14> &<26>#<23><EFBFBD><EFBFBD>$(<28>J<EFBFBD>J<EFBFBD>#'<27>9<EFBFBD>9<EFBFBD>+/<2F>+<<3C>+<<3C>)-<2D><1F><1F>,0<>,><3E>,><3E>(,<2C><0E><0E><0E>L<EFBFBD><14>{<7B>{<7B>t<EFBFBD>~<7E>~<7E>$<24>,<2C>,<2C><1D>7<EFBFBD>7<EFBFBD>D<EFBFBD>M<EFBFBD>M<EFBFBD>3<EFBFBD><04> <0B> <0B>S<EFBFBD>$<24>.<2E>.<2E>Z]<5D>_c<5F>_k<5F>_k<5F>#l<>m<><08>,4<>[<5B>)<29>.2<EFBFBD>]<5D>]<5D> <0C>\<5C>*<2A><15><1C><1C>$<24>$<24>4<>|<7C>4<>=<3D>=<3D>e<EFBFBD>D<>B<EFBFBD><17>
<EFBFBD><1E>L<EFBFBD> <13>L<EFBFBD>*<2A>l<EFBFBD>.?<3F>.?<3F>.C<>.C<>.E<>.L<>.L<>.N<> O<> <13>L<EFBFBD>*<2A>l<EFBFBD><<3C>;L<>;L<>;U<>;U<>ak<61>.l<> m<>'3<>'=<3D>'=<3D>'C<>'C<>'E<>O<EFBFBD><1B>%<25>%<25>)<29>)<29>+<2B>+<2B><17> <0C>i<EFBFBD><1F>A<>#<23>(<28>(<28>H<EFBFBD><19>H<EFBFBD>$<24>/<2F>/<2F>3<>3<>5<><08><17><08>)<29>X<EFBFBD>-C<>-C<>-G<>-G<>-I<>-P<>-P<>-R<>S<><18><0F><0F><08>)<29>6<> <14>H<EFBFBD>m<EFBFBD>X<EFBFBD> 6<> <13>L<EFBFBD>&<26>(<28> 3<> <16> <1D> <1D>l<EFBFBD> +<2B>!<1F>"<1A><19>z /getCaseOnezcase-one)r:r<rL<00> projectIdc <00>N<00>[[US9nURRUS9R 5nU(a^[ USUR R5R55 [ US[URRSS95 U$[SS5e)<08>P用于在用例树状页面获取promblem信息这里根据key获取信息r@<00>rLrMrNrO<00><><00>您获取的数据不存在) r r<00>pcFieldrYrlrgrhrirjr*rTrNr
)rprLr<><00> project_obj<62>cases r|<00> get_case_one<6E>CaseController.get_case_oneSs<><00><00>(<28><07>I<EFBFBD>><3E> <0B><1A>"<22>"<22>)<29>)<29>c<EFBFBD>)<29>2<>8<>8<>:<3A><04> <0F> <13>D<EFBFBD>*<2A>d<EFBFBD>i<EFBFBD>i<EFBFBD>m<EFBFBD>m<EFBFBD>o<EFBFBD>&<<3C>&<<3C>&><3E> ?<3F> <13>D<EFBFBD>*<2A>l<EFBFBD>4<EFBFBD>9<EFBFBD>9<EFBFBD>3E<33>3E<33>Q[<5B>&\<5C> ]<5D><17>K<EFBFBD><17><03>:<3A>;<3B>;rz/getCaseOneByIdzcase-one-by-idr?c <00>:<00>[RRUS9R5nU(a^[ USUR
R 5R55 [ US[URRSS95 U$[SS5e)r<>r@rMrNrOr<>r<>) rrXrYrlrgrhrirjr*rTrNr
)rpr?r<>s r|<00>get_case_by_id<69>CaseController.get_case_by_id_sw<00><00><14>|<7C>|<7C>"<22>"<22>b<EFBFBD>"<22>)<29>/<2F>/<2F>1<><04> <0F> <13>D<EFBFBD>*<2A>d<EFBFBD>i<EFBFBD>i<EFBFBD>m<EFBFBD>m<EFBFBD>o<EFBFBD>&<<3C>&<<3C>&><3E> ?<3F> <13>D<EFBFBD>*<2A>l<EFBFBD>4<EFBFBD>9<EFBFBD>9<EFBFBD>3E<33>3E<33>Q[<5B>&\<5C> ]<5D><17>K<EFBFBD><17><03>:<3A>;<3B>;rz /getCaseInfoz case-info<66>payloadc<00>H<00>[RRURURS9nUHinUR
R 5S:<3A>aSUlSUlURR5HnURS:XdMSUlM Mk U$)N<>rArJrTF<54>2) rrXrYrZrLrk<00>count<6E>isRelatedProblem<65> isNotPassedrhri<00>passed)rpr<>rs<00>qrhs r|<00> get_case_tree<65>CaseController.get_case_treeks<><00><00><12>\<5C>\<5C> <20> <20>W<EFBFBD>-?<3F>-?<3F>7<EFBFBD>;<3B>;<3B> <20> W<><02><13>A<EFBFBD><10>{<7B>{<7B> <20> <20>"<22>Q<EFBFBD>&<26>%)<29><01>"<22>!<21>A<EFBFBD>M<EFBFBD><19><06><06>
2025-04-29 18:09:00 +08:00
<EFBFBD>
2025-12-23 10:36:55 +08:00
<EFBFBD> <0C><04><17>;<3B>;<3B>#<23>%<25>$(<28>A<EFBFBD>M<EFBFBD>%<25> <14><12> rz
2025-04-29 18:09:00 +08:00
/case/savez case-createc <00> <00>URSS9nSRURSURSURSUR
/5n[ RRURUS9R5nSRUS[U5/5n[RRURURS9n[RRURSRURSUR/5S9n[RRURSRURSURSUR/5S9n[ RRURSRURSURSURSUR
/5S9n U R"US'UR%XVXxX<78>R&S.5 UR)S 5 UR)S
5 UR)S 5 UR)S 5 UR)S 5 [ RR*"S0UD6n
/n UR5S HFn [-U [5(dU R5n X<>S'U R/[1S0U D65 MH [0RR3U 5 U
2025-12-23 10:36:55 +08:00
$)NT)r;rHrIr<>)rArLr[)rL<00>round<6E>dut<75>designrT<00>title<6C> round_key<65>dut_key<65>
design_keyrurMr<>rU)rVrdr<>r<>r<>rurrXrYrZr<><00>strr<00>getrrrr[<00>updater\rW<00>create<74>
isinstanceror<00> bulk_create) rpr<><00>
2025-04-29 18:09:00 +08:00
asert_dict<EFBFBD>test_whole_key<65>
case_count<EFBFBD>
2025-12-23 10:36:55 +08:00
key_string<EFBFBD>round_instance<63> dut_instance<63>design_instance<63> test_instancers<00> data_list<73>items r|<00> create_case<73>CaseController.create_case{s<><00><00><1D>\<5C>\<5C>t<EFBFBD>\<5C>4<>
2025-04-29 18:09:00 +08:00
<EFBFBD><1B><17><17> <14> <1E> <1E><03>W<EFBFBD>_<EFBFBD>_<EFBFBD>c<EFBFBD>7<EFBFBD>;M<>;M<>s<EFBFBD>T[<5B>Td<54>Td<54> e<>g<01><0E><1A>\<5C>\<5C>(<28>(<28>W<EFBFBD>5G<35>5G<35>3A<33>)<29>C<01>CH<43>5<EFBFBD>7<EFBFBD> <13><17>W<EFBFBD>W<EFBFBD>n<EFBFBD>c<EFBFBD>3<EFBFBD>z<EFBFBD>?<3F>C<>D<>
<EFBFBD><1E><1D><1D>*<2A>*<2A>w<EFBFBD>7I<37>7I<37>w<EFBFBD>O`<60>O`<60>*<2A>a<><0E><1A>{<7B>{<7B><EFBFBD><EFBFBD>7<EFBFBD>3E<33>3E<33>+-<2D>7<EFBFBD>7<EFBFBD>G<EFBFBD>4E<34>4E<34>s<EFBFBD>G<EFBFBD>O<EFBFBD>O<EFBFBD>3\<5C>+]<5D>'<27>_<01> <0C> <20>.<2E>.<2E>,<2C>,<2C><17>9K<39>9K<39>QS<51>QX<51>QX<51> <14> <1E> <1E><03>W<EFBFBD>_<EFBFBD>_<EFBFBD>c<EFBFBD>7<EFBFBD>;M<>;M<> N<>RP<01>,<2C>Q<01><0F>"<22>*<2A>*<2A>.<2E>.<2E>7<EFBFBD>;M<>;M<>SU<53>SZ<53>SZ<53> <14> <1E> <1E><03>W<EFBFBD>_<EFBFBD>_<EFBFBD>c<EFBFBD>7<EFBFBD>;M<>;M<>s<EFBFBD>T[<5B>Td<54>Td<54> e<>Tg<01>.<2E>h<01> <0A>,<2C>1<>1<>
2025-05-10 19:21:24 +08:00
<EFBFBD>7<EFBFBD><1B><12><19><19><1E> <0C>"<22>\<5C>\<5C> ;<3B> <<3C> <13><0E><0E>{<7B>#<23><12><0E><0E>y<EFBFBD>!<21><12><0E><0E>|<7C>$<24><12><0E><0E>z<EFBFBD>"<22><12><0E><0E>z<EFBFBD>"<22> <11>\<5C>\<5C> <20> <20> .<2E>:<3A> .<2E><02><16> <09><1B>L<EFBFBD>L<EFBFBD>N<EFBFBD>:<3A>.<2E>D<EFBFBD><1D>d<EFBFBD>D<EFBFBD>)<29>)<29><1B>y<EFBFBD>y<EFBFBD>{<7B><04><1D><16>L<EFBFBD> <15> <1C> <1C>X<EFBFBD>-<2D><04>-<2D> .<2E> /<2F>
2025-12-23 10:36:55 +08:00
<11><18><18>$<24>$<24>Y<EFBFBD>/<2F><11> rz/case/multi_savezcase-batch-create)r<c <00>p<00>[[URS9nURRR
R n/nURR5nURGH<>n[UR5n[U[5(aUs $URnURUS9R!5n U R"R%5n
SR'US[)U
5/5n UR+U 5 0SU R,_SUR _SU _SUR._S UR0_S
2025-12-23 10:36:55 +08:00
UR2_S U_S U_S U_SU_SU R4_SU R6_SU R8_SU _S[:R<"5_SUR>_SUR _n [@RBRD"S0U D6n /nUH&nUR+[GS0X<>SUSS.D65 M( [FRBRIU5 GM<> [SSUSS9$)Nr@r<>rHrIr[r\rL<00>initialization<6F>premiser`r]r^r_<00>projectr<74>r<>r<>rT<00>exe_time<6D>timing_diagramr<6D><00> operation<6F>expect)r<>r<>r<>i`<60><00><>u成功录入用例)<04>code<64>statusr=<00>messagerU)%r rrZ<00>context<78>request<73>userr\<00>ptFieldri<00>casesr1<00> test_stepr<70>r<00>
parent_keyrYrl<00>tcFieldr<64>rdr<>ror[r<>r<>r`r<>r<>r<>r<00>now<6F>sequencerrXr<>rr<>)rpr<>r<><00> user_name<6D>keys<79>demands<64> case_data<74>stepsOrErrorResponse<73>
demand_key<EFBFBD>
2025-12-23 10:36:55 +08:00
demand_objr<EFBFBD>r<><00> case_dict<63> case_new_obj<62>case_step_listrhs r|<00>multi_case_save<76>CaseController.multi_case_save<76>sk<00><00>(<28><07>G<EFBFBD>4F<34>4F<34>G<> <0B><18>L<EFBFBD>L<EFBFBD>(<28>(<28>-<2D>-<2D>2<>2<> <09><11><04><1D>%<25>%<25>)<29>)<29>+<2B><07> <20><1D><1D>I<EFBFBD>#<<3C>Y<EFBFBD>=P<>=P<>#Q<> <20><19>.<2E> <0C>=<3D>=<3D>+<2B>+<2B>"<22>-<2D>-<2D>J<EFBFBD> <20><1E><1E>J<EFBFBD><1E>7<>=<3D>=<3D>?<3F>J<EFBFBD>#<23>+<2B>+<2B>1<>1<>3<>J<EFBFBD><1B><17><17>*<2A>c<EFBFBD>3<EFBFBD>z<EFBFBD>?<3F>!C<>D<>J<EFBFBD> <10>K<EFBFBD>K<EFBFBD>
<EFBFBD> #<23><0E><17><1A>)<29>)<29><0E><16> <09><0E><0E><0E><16>z<EFBFBD><0E>!<21>)<29>":<3A>":<3A> <0E>
<1A>9<EFBFBD>,<2C>,<2C> <0E> <1C>Y<EFBFBD>0<>0<> <0E><1F> <09><0E><1D>i<EFBFBD><0E> <20><19><0E><1A>;<3B><0E><18><1A>)<29>)<29><0E><16>z<EFBFBD>~<7E>~<7E><0E><19>*<2A>+<2B>+<2B><0E><17>
2025-12-23 10:36:55 +08:00
<EFBFBD><0E><1B>H<EFBFBD>L<EFBFBD>L<EFBFBD>N<EFBFBD><0E> !<21>)<29>"4<>"4<>!<0E>"<18><19><1E><1E>#<0E>I<EFBFBD>& <20><<3C><<3C>.<2E>.<2E>;<3B><19>;<3B>L<EFBFBD><1F>N<EFBFBD>,<2C><04><1E>%<25>%<25>h<EFBFBD>'M<01>,<2C>Ze<5A>Uf<55><@<40><18>N<EFBFBD>2L<01>'M<01>N<01>-<2D> <15> <1C> <1C> (<28> (<28><1E> 8<>G'<27>H<1C><15>s<EFBFBD><14>G[<5B>\<5C>\rz/case/update/{id}z case-updatec <00><><00>[RRUS9nUR5R 5H<>upEUS:XdUS:XdUS:Xd US:XdUS:XaM%US:Xa [ USU5 US :Xa<>UR R5nUHnUR5 M /nUHUn U S
(d*U S (d U S (dU S (d U S(dM7X9S'UR[S0U D65 MW [RRU5 [ X4U5 M<> URRUl UR5 U$)Nr@rZr<>r<>r<>rur\r<>rMr<>r<><00>resultr<74>r<>r<>rU)rrXr<>rV<00>itemsrgrhri<00>deleterorr<>rTr[<00>save)
rpr?r<><00>case_qs<71>attr<74>value<75> content_list<73>content_singler<65>r<>s
r|<00> update_case<73>CaseController.update_case<73>s@<00><00><17>,<2C>,<2C>"<22>"<22>b<EFBFBD>"<22>)<29><07>"<22><<3C><<3C>><3E>/<2F>/<2F>1<>K<EFBFBD>D<EFBFBD><13>|<7C>#<23>t<EFBFBD>{<7B>':<3A>d<EFBFBD>i<EFBFBD>>O<>SW<53>[g<>Sg<53>ko<6B>s}<7D>k}<7D><18><13>v<EFBFBD>~<7E><17><07><17>%<25>0<><13>z<EFBFBD>!<21>&<26>|<7C>|<7C>/<2F>/<2F>1<> <0C>&2<>N<EFBFBD>"<22>)<29>)<29>+<2B>'3<><1E> <09>!<21>D<EFBFBD><1B>K<EFBFBD>(<28>D<EFBFBD><18>N<EFBFBD>d<EFBFBD>8<EFBFBD>n<EFBFBD>PT<50>U]<5D>P^<5E>bf<62> <20>c"<22>c"<22>'.<2E>V<EFBFBD> <0C>!<21>(<28>(<28><18>)9<>D<EFBFBD>)9<>:<3A> "<22>
<19> <20> <20>,<2C>,<2C>Y<EFBFBD>7<> <13>G<EFBFBD>5<EFBFBD> )<29>%2<>( <20> <0C> <0C>*<2A>*<2A><07> <0A><0F> <0C> <0C><0E><16>rz /case/deletez case-deletec<00><00>[RRURSS9SnURRnURRn[UR[5 Sn[RRUS9RS5nUH;nSRUS [U5/5nX<>l US
-nUR5 M= [ S S 9$![a [ S[ SS9s$f=f) Nrr@r<>u!您未选择需要删除的内容<E58685>r<>r<>r<>)<01>test__idr?rHrI<00>u测试用例删除成功!)r<>)rrXrY<00>ids<64>
IndexErrorrr+rTr?rLrrfrdr<>r<>) rpr=<00> case_singlercru<00>index<65> case_all_qs<71> single_qs<71>case_keys r|<00> delete_case<73>CaseController.delete_case<73>s<><00><00> p<01><1E>,<2C>,<2C>-<2D>-<2D><14><18><18>!<21><1B>-<2D>=<3D>a<EFBFBD>@<40>K<EFBFBD><1E>"<22>"<22>%<25>%<25><07><1E>#<23>#<23>'<27>'<27><08><19>$<24>(<28>(<28>D<EFBFBD>)<29><11><05><1A>l<EFBFBD>l<EFBFBD>)<29>)<29>7<EFBFBD>)<29>;<3B>D<>D<>T<EFBFBD>J<> <0B>$<24>I<EFBFBD><19>w<EFBFBD>w<EFBFBD><08>#<23>s<EFBFBD>5<EFBFBD>z<EFBFBD>:<3A>;<3B>H<EFBFBD>$<24>M<EFBFBD><19>A<EFBFBD>I<EFBFBD>E<EFBFBD> <15>N<EFBFBD>N<EFBFBD> <1C> %<25>
2025-04-29 18:09:00 +08:00
<1C>$A<>B<>B<><42><1A> p<01><1F>s<EFBFBD>1A<31>Kn<4B>o<> o<> p<01>s<00>-C-<00>-D <03>D z/case/create_by_demandzcase-create-by-demand<6E> demand_nodec
<00>F<00>[[URS9nUR(Ga<>URS:wGa<>[[URUS9nUR
R 5nU(a[S[SS9$URR5nSnUGHcnURRRRn0SUR_S UR _S
S _S S _SUR"_SU_SU_SU_SU_SUR$_SUR&_SUR(_SU_SUR _SSR+URS[-U5/5_SS_n [.R0R2"S!0U D6n
UR4R5HUn U R6n SR+U bU OS/5U R8SU
2025-12-23 10:36:55 +08:00
S.n [:R0R2"S!0U D6 MW US- nGMf [SUR0SSSS 9$)"Nr@rH)rLr<>r<>u-测试项下面有用例请删除后生成r<E68890>rr[r\r<>u!软件正常启动正常运行r<E8A18C>u-软件正常启动外部接口运行正常r`r]r^r_r<>r<>r<>r<>rTr<>rLrI<00>level<65>4)r<>r<>r<>r<>r<>r<>u!测试项自动生成用例成功)r=r<>r<>r<>rU)r rrZrLrr<><00>existsrr,rmrir<>r<>r<>r\r[<00>subName<6D>testDesciptionr<6E>r<>r<>rdr<>rrXr<>rnr<>r<>r)rpr<><00>
project_qs<EFBFBD>demand<6E> case_exists<74> sub_itemsr<73><00>subr<62>r<><00>
case_model<EFBFBD>demand_step_objr<6A><00>case_step_dicts r|<00>create_case_by_demand<6E>$CaseController.create_case_by_demandsT<00><00>&<26>w<EFBFBD>;<3B>3I<33>3I<33>J<>
2025-05-10 19:21:24 +08:00
<EFBFBD> <16>?<3F>?<3F>?<3F>{<7B><EFBFBD><EFBFBD>"<22>4<>&<26>z<EFBFBD>{<7B><EFBFBD><EFBFBD>PZ<50>[<5B>F<EFBFBD> <20>.<2E>.<2E>/<2F>/<2F>1<>K<EFBFBD><1A>#<23>3<EFBFBD>5F<35>,[<5B>]<01>]<01><1F>)<29>)<29>-<2D>-<2D>/<2F>I<EFBFBD><15>E<EFBFBD> <20><03> <20>L<EFBFBD>L<EFBFBD>0<>0<>5<>5<>:<3A>:<3A> <09><12><1B>V<EFBFBD>\<5C>\<5C><12><1A>C<EFBFBD>K<EFBFBD>K<EFBFBD><12>%<25>&I<><12><1E>N<> <12>
2025-04-29 18:09:00 +08:00
 <20><16>!6<>!6<> <12> #<23>I<EFBFBD> <12>!<21>)<29><12>$<24>Y<EFBFBD><12><1E>z<EFBFBD><12><1C>V<EFBFBD>\<5C>\<5C><12><1A>6<EFBFBD>:<3A>:<3A><12><1D>f<EFBFBD>m<EFBFBD>m<EFBFBD><12><1B>F<EFBFBD><12><1C>S<EFBFBD>[<5B>[<5B><12><1A>2<EFBFBD>7<EFBFBD>7<EFBFBD>K<EFBFBD>O<EFBFBD>O<EFBFBD>S<EFBFBD>#<23>e<EFBFBD>*<2A>#E<>F<><12> <1C>S<EFBFBD>!<12> <09>$"<22>\<5C>\<5C>0<>0<>=<3D>9<EFBFBD>=<3D>
<EFBFBD>'*<2A>'8<>'8<>'<<3C>'<<3C>'><3E>O<EFBFBD> /<2F> 9<> 9<>I<EFBFBD>%'<27>W<EFBFBD>W<EFBFBD>9<EFBFBD>;P<>i<EFBFBD>VX<56>-Y<>%Z<>"1<>"8<>"8<>"$<24> *<2A> &<16>N<EFBFBD> <1D>$<24>$<24>+<2B>+<2B>=<3D>n<EFBFBD>=<3D>(?<3F><16><11>
2025-12-23 10:36:55 +08:00
<EFBFBD><05>?!<21>B<1C>%<25><1B><1F><1F>!9<>#<23>C<EFBFBD>$G<>I<01> Irz/case/copy_or_move_to_demandzcase-copy-move-demandrZr<>r<><00>movec<00>j<00>U(a[XU5upVO[XU5upV[SU0SU0S.S9$)NrL)<02>
2025-04-29 18:09:00 +08:00
oldCaseKey<EFBFBD>
2025-12-23 10:36:55 +08:00
newCaseKey<EFBFBD>r=)r-r.r)rprZr<>r<>r<><00>old_key<65>new_keys r|<00>copy_move_case_to_demand<6E>'CaseController.copy_move_case_to_demand:sC<00><00> <10>0<><1A>z<EFBFBD>R<> <1C>G<EFBFBD>W<EFBFBD>0<><1A>z<EFBFBD>R<> <1C>G<EFBFBD><1B><15><07>0@<40>QV<51>X_<58>P`<60>!a<>b<>brz/case/copy_or_move_by_casezcase-copy-move-case<73>drag_key<65>drop_key<65>positionc<00><<00>[XX4U5 [SU0SU0S.S9$)NrL)<02>old<6C>newr)r/r)rprZrr r<>r
s r|<00>copy_move_case_by_case<73>%CaseController.copy_move_case_by_caseEs*<00><00> "<22>*<2A><08><08>Q<><1B>%<25><18>):<3A>E<EFBFBD>8<EFBFBD>CT<43>!U<>V<>Vrz/case/replace/z case-replacec <00><><00>[[URS9nURR UR
UR S9nURVs/sH oDS:wdM
UPM nnUVs0sH@nU[[U5[UR5[UR55_MB nnSnSUR;a<>[RR US9n U R[[S5[UR5[UR55[[S5[UR5[UR55[[S5[UR5[UR55S 9nUR"S 0UD6n
2025-05-28 18:44:25 +08:00
S
2025-12-23 10:36:55 +08:00
X<EFBFBD>-0$s snfs snf) Nr@)<02>id__inrKrMr)<01>case__inr<6E>r<>r<>)r<>r<>r<>r<>rU)r rrZr<>rY<00>
selectRowsr<EFBFBD><00> selectColumnrrr<00>
originText<EFBFBD> replaceTextrrXr<>) rpr<>r<>r<><00>xr<00>
2025-05-10 19:21:24 +08:00
field_name<EFBFBD>replace_kwargs<67>
2025-12-23 10:36:55 +08:00
step_count<EFBFBD> caseStep_qs<71> replace_counts r|<00>replace_case_step_content<6E>(CaseController.replace_case_step_contentMs<><00><00> 1<><17>W<EFBFBD>=O<>=O<>P<> <0B><1D>%<25>%<25>,<2C>,<2C>G<EFBFBD>4F<34>4F<34>SZ<53>Sd<53>Sd<53>,<2C>e<><07>#*<2A>#7<>#7<>K<>#7<>a<EFBFBD>
2025-05-10 19:21:24 +08:00
<EFBFBD>?<3F><01>#7<> <0C>K<>+<2B>
<EFBFBD>*<2A>
<EFBFBD> <17><07><01>*<2A> <0A>u<EFBFBD>W<EFBFBD>5G<35>5G<35>/H<>%<25>PW<50>Pc<50>Pc<50>Jd<4A>e<> e<>*<2A> <17>
<EFBFBD> <17>
2025-05-28 18:44:25 +08:00
<EFBFBD> <15><17>-<2D>-<2D> -<2D>"<22>*<2A>*<2A>1<>1<>7<EFBFBD>1<>C<>K<EFBFBD>$<24>+<2B>+<2B>!<21>!<21>K<EFBFBD>.<2E>%<25><07>8J<38>8J<38>2K<32>U<EFBFBD>SZ<53>Sf<53>Sf<53>Mg<4D>h<><1E>q<EFBFBD><18>{<7B>E<EFBFBD>'<27>2D<32>2D<32>,E<>u<EFBFBD>W<EFBFBD>M`<60>M`<60>Ga<47>b<><1E>q<EFBFBD><18>{<7B>E<EFBFBD>'<27>2D<32>2D<32>,E<>u<EFBFBD>W<EFBFBD>M`<60>M`<60>Ga<47>b<>,<2C><0E>J<EFBFBD>  <20><0E><0E>8<><1E>8<> <0A><17><1D>3<>4<>4<><34>%L<01><>
2025-12-23 10:36:55 +08:00
s<00> F=<04>"F=<04>.AGz/case/personReplace/zcase-person-replacec<00><><00>[RRURS9nURS:wa)URS:waUR URS9 UR S:wa)UR S:waUR UR S9 URS:wa+URS:waUR URS9 ggg)N<>ru 不替换rH)r])r^)r_)rrXrYrr]r<>r^r_)rpr<>r<>s r|<00>bulk_replace_person<6F>"CaseController.bulk_replace_personjs<><00><00><17>,<2C>,<2C>%<25>%<25>W<EFBFBD>-?<3F>-?<3F>%<25>@<40><07> <12> <1F> <1F>;<3B> .<2E>7<EFBFBD>3G<33>3G<33>2<EFBFBD>3M<33> <13>N<EFBFBD>N<EFBFBD><07>(<<3C>(<<3C>N<EFBFBD> =<3D> <12> <1D> <1D><1B> ,<2C><17>1C<31>1C<31>r<EFBFBD>1I<31> <13>N<EFBFBD>N<EFBFBD>g<EFBFBD>&8<>&8<>N<EFBFBD> 9<> <12> <20> <20>K<EFBFBD> /<2F>G<EFBFBD>4I<34>4I<34>R<EFBFBD>4O<34> <13>N<EFBFBD>N<EFBFBD><17>)><3E>)><3E>N<EFBFBD> ?<3F>5P<01> /rz/case/timeReplace/zcase-time-replacec <00>\<00>URnU(d [SSSSS9$URup4[R"US5R 5n[R"US5R 5n/n[ RRURS9n[5n UH:n
U RXVS9n U RS5n X<>l URU
5 M< [ RRUS /5 [S
S
[U5S [U5S 3S 9$)Nr<4E>i7<69>u 未选择行!rH)r<>r<>r<>r=z%Y-%m-%dr )<02>
start_date<EFBFBD>end_dater<65>r<>u 成功更新u个用例执行时间)r<>r<>r=r<>)rr<00>exetimer<00>strptime<6D>daterrXrYr<00> date_between<65>strftimer<65>ro<00> bulk_update<74>len) rpr<><00>selected_case_ids<64>start<72>endr$r%<00> updated_casesr<73><00>fakerr<72><00> random_date<74>formatted_dates r|<00>bulk_replace_time<6D> CaseController.bulk_replace_timews<00><00>$<24>.<2E>.<2E><19> <20><1F>s<EFBFBD><15><0F>VX<56>Y<> Y<><1C>_<EFBFBD>_<EFBFBD>
<EFBFBD><05><1D>&<26>&<26>u<EFBFBD>j<EFBFBD>9<>><3E>><3E>@<40>
<EFBFBD><1B>$<24>$<24>S<EFBFBD>*<2A>5<>:<3A>:<3A><<3C><08><1A> <0A><16>,<2C>,<2C>%<25>%<25>W<EFBFBD>-?<3F>-?<3F>%<25>@<40><07><15><07><05><1B>D<EFBFBD><1F>,<2C>,<2C>
<EFBFBD>,<2C>V<>K<EFBFBD>(<28>1<>1<>*<2A>=<3D>N<EFBFBD>*<2A>M<EFBFBD> <19> <20> <20><14> &<26> <1C>
2026-02-07 17:26:34 +08:00
<0A> <0C> <0C> <20> <20><1D><1A> <0C>=<3D><1B>3<EFBFBD>S<EFBFBD>s<EFBFBD>=<3D>7I<37>&2<>3<EFBFBD>}<7D>3E<33>2F<32>F[<5B>$\<5C>^<01> ^rz/case/getRelatedCasezcase-related-caser<65>c<00><><00>[[US9nURR[ U5S-
S9R 5n/nUR R5H<>nURUR/S.nURR5H<>nURURUR/S.n URR5H;n
U
RU
RU
RS.n U SRU 5 M= USRU 5 M<> URU5 M<> [SUS 9$)
Nr@r<>r<>)<03>labelr<6C><00>children)r7r<>rLr8)r7r<>rLr8u 获取成功)r<>r=)r r<00>pFieldrY<00>intrl<00>rdFieldrir\r?<00>rsFieldrL<00>dcFieldror) rpr?r<>r<><00>previous_round_objr<6A>r<><00>dut_dictr<74><00> design_dictr<74>r<>s r|<00>get_cases_related_case<73>%CaseController.get_cases_related_case<73>s<00><00>'<27><07>B<EFBFBD>7<> <0B>(<28>/<2F>/<2F>6<>6<>3<EFBFBD>y<EFBFBD>><3E>A<EFBFBD>;M<>6<>N<>T<>T<>V<><1A><16> <09>%<25>-<2D>-<2D>1<>1<>3<>C<EFBFBD>!$<24><18><18>C<EFBFBD>F<EFBFBD>F<EFBFBD><02>K<>H<EFBFBD><1D>+<2B>+<2B>/<2F>/<2F>+<2B><06>(.<2E> <0B> <0B>f<EFBFBD>i<EFBFBD>i<EFBFBD>PV<50>PZ<50>PZ<50>hj<68>k<> <0B>"<22>N<EFBFBD>N<EFBFBD>.<2E>.<2E>0<>D<EFBFBD>*.<2E>)<29>)<29>d<EFBFBD>g<EFBFBD>g<EFBFBD>d<EFBFBD>h<EFBFBD>h<EFBFBD> W<>I<EFBFBD><1F>
<EFBFBD>+<2B>2<>2<>9<EFBFBD>=<3D>1<><19><1A>$<24>+<2B>+<2B>K<EFBFBD>8<> ,<2C> <16> <1C> <1C>X<EFBFBD> &<26>4<><1C>N<EFBFBD><19>C<>CrrUN)/<2F>__name__<5F>
__module__<EFBFBD> __qualname__<5F>__firstlineno__rr<>rr r <00>atomicr r rr!r}r2r<>r:r<>r<>r"r&r<><00>postr'r(r<>r3r<><00>putr<74>r<>rr<>r)r<><00>boolrrr#rr$r!r%r4rA<00>__static_attributes__rUrr|r8r8s<><00><00>
<EFBFBD>Y<EFBFBD>Y<EFBFBD>~<7E><04>-?<3F>(@<40>t<EFBFBD>#<23>%<25><10><17><17> <0A>l<EFBFBD><1B>5:<3A>3<EFBFBD>Z<EFBFBD>-<1A>"2<>-<1A><1C><18>%<25>-<1A>^ <0B>Y<EFBFBD>Y<EFBFBD>}<7D>'G<>R\<5C>]<5D><10><17><17><<3C><03><<3C><03><<3C><18>^<01><<3C> <0B>Y<EFBFBD>Y<EFBFBD> <20>+K<>Vf<56>g<><10><17><17><<3C><13><<3C><18>h<01><<3C> <0B>Y<EFBFBD>Y<EFBFBD>~<7E><04>-A<>(B<>[<5B>Y<><10><17><17>;@<40><13>:<3A> <12>%8<> <12><18>Z<01> <12> <0B>Z<EFBFBD>Z<EFBFBD> <0C>':<3A>]<5D>S<><10><17><17>%<12>#8<>%<12><18>T<01>%<12>P <0B>Z<EFBFBD>Z<EFBFBD>"<22>-@<40>A<><10><17><17>)]<01>'A<>)]<01><18>B<01>)]<01>X <0B>Y<EFBFBD>Y<EFBFBD>"<22>-@<40>=<3D>Y<><10><17><17><17>c<EFBFBD><17>,A<><17><18>Z<01><17>: <0B>\<5C>\<5C>.<2E>=<3D>9<><10><17><17>C<01> <0C>C<01><18>:<3A>C<01>& <0B>Z<EFBFBD>Z<EFBFBD>(<28>3J<33>K<>/I<01>1A<31>/I<01>L<01>/I<01>d <0B>Y<EFBFBD>Y<EFBFBD>-<2D>8O<38>P<><10><17><17>c<01>3<EFBFBD>c<01>#<23>c<01>SV<53>c<01>^b<>c<01><18>Q<01>c<01> <0B>Y<EFBFBD>Y<EFBFBD>+<2B>6K<36>L<><10><17><17>W<01><13>W<01><03>W<01>s<EFBFBD>W<01>Z^<5E>W<01>),<2C>W<01><18>M<01>W<01>  <0B>Z<EFBFBD>Z<EFBFBD> <20>><3E>:<3A><10><17><17>5<>1B<31>5<><18>;<3B>5<>6 <0B>Z<EFBFBD>Z<EFBFBD>&<26>1F<31>G<><10><17><17>@<01>+><3E>@<01><18>H<01>@<01> <0B>Z<EFBFBD>Z<EFBFBD>$<24>/B<>C<><10><17><17>^<01>)=<3D>^<01><18>D<01>^<01>0 <0B>Y<EFBFBD>Y<EFBFBD>%<25>0C<30>D<>D<01><13>D<01><13>D<01>E<01>Drr8N)I<> ninja_extrarrr<00>ninjar<00>ninja_jwt.authenticationr<00>ninja_extra.permissionsr<00>ninja.paginationr <00> ninja.errorsr
2025-12-23 10:36:55 +08:00
<00>utils.chen_paginationr <00> django.dbr <00>django.shortcutsr <00>django.db.models.functionsr<00>django.db.modelsrr<00>typingrr1rr<00> django.utilsr<00>utils.chen_responser<00>utils.chen_crudr<00>apps.project.modelsrrrrrrrr<00>apps.project.schemas.caserr r!r"r#r$r%r&r'r(r)<00>
2026-02-07 17:26:34 +08:00
utils.utilr*<00> utils.codesr+r,<00>apps.project.tools.copyCaser-r.r/<00>utils.smallTools.interfaceToolsr0<00>apps.project.tool.batchToolsr1r2r3r8rUrr|<00><module>rbs<><00><01>=<3D>=<3D><17>,<2C>3<>%<25>"<22>.<2E>!<21>.<2E>.<2E>%<25><17><17><1D>!<21>,<2C>-<2D>`<60>`<60>`<60>V<01>V<01>V<01>V<01>$<24>;<3B>g<>g<>@<40>B<>b<><0F>
<EFBFBD><17><19><1F>8I<38>Qe<51>Pf<50>g<>AD<01>^<5E>AD<01>h<01>ADr