Files
hms-licht-ton/backend/tests/__pycache__/test_rentman_import.cpython-313-pytest-9.1.1.pyc
T

127 lines
19 KiB
Plaintext
Raw Normal View History

ó
ÆÞNj§ã ó¸•SrSSKrSSKJs Jr SSKrSSKrSSK J
r
J r J r SSK
Jr SSKJr SSKJr SSKJr SSKJr SS \S
\S \S \4S
jjr\R4R6S5r\R4R6S5r\R4R6S5r\R4R6S5r\R4R6S5r g)z2Tests for Rentman equipment import pipeline (T04).éN)Ú AsyncMockÚpatchÚ MagicMock)Úselect)ÚEquipmentCache)ÚSyncLog)Ú SyncService)ÚRentmanServiceÚridÚnameÚcategoryÚreturnc óŒ•UUUSSR5S3USSR5S3SU0SU3SSS.SS US
30/S S S
S. $)Néz-001r zDescription for é2iî)ÚweightÚpowerÚurlzhttps://example.com/z.jpggÀb@ú L-AcousticsT) Úidr ÚnumberÚcodeÚequipment_groupÚ descriptionÚspecificationsÚimagesÚ rental_priceÚbrandÚ available)Úupper)r r r
s ÚF/a0/usr/workdir/hms-licht-ton-t04/backend/tests/test_rentman_import.pyÚmake_raw_equipmentr" sz€àØØ˜"˜1�X—^‘^Ó%Ð& dÐ+ؘ˜�8—>‘>Ó#Ð$ DÐ)Ø" HÐ-Ø)¨$¨Ð0Ø%'°#Ñ6ØÐ1°#°°dÐ;Ð<Ð=ØØØñ ð ócƒóŽ# •[SSS5n[R"U5nUSnSo2U:HoD(do[R"SU4SX#45[R
"U5[R
"U5S.-nSS U0-n[
[R"U55eS=n=pCUS
nSo2U:HoD(do[R"SU4SX#45[R
"U5[R
"U5S.-nSS U0-n[
[R"U55eS=n=pCUS nSo2U:HoD(do[R"SU4SX#45[R
"U5[R
"U5S.-nSS U0-n[
[R"U55eS=n=pCUS nS
/o2U:HoD(do[R"SU4SX#45[R
"U5[R
"U5S.-nSS U0-n[
[R"U55eS=n=pCUSnSo2U:HoD(do[R"SU4SX#45[R
"U5[R
"U5S.-nSS U0-n[
[R"U55eS=n=pCUSnSo2ULoD(do[R"SU4SX#45[R
"U5[R
"U5S.-nSS U0-n[
[R"U55eS=n=pCg7f)NÚ42z
K2 Line ArrayÚ LautsprecherÚ
rentman_id©ú==©z%(py1)s == %(py4)s©Úpy1Úpy4úassert %(py6)sÚpy6r r
rzhttps://example.com/42.jpgrrrT)Úis)z%(py1)s is %(py4)s)r"r
Útransform_equipmentÚ
@pytest_arÚ_call_reprcompareÚ _safereprÚAssertionErrorÚ_format_explanation)ÚrawÚresultÚ @py_assert0Ú @py_assert3Ú @py_assert2Ú @py_format5Ú @py_format7s r!Útest_transform_equipmentr>sé€ä
˜T ?°NÓ
C€CÜ
×
/Ò
/°Ó
4€FØ �,Ñ Ð' 4Ð' 4Ñ '×'×'×'Ò'Ð ×'×'Ô'Ð ×'×'Ó' 4×'×'×'×'×'×'Ó'Ø �&‰>Ð,˜_Ð,˜_Ñ ,×,×,×,Ò,ˆ>×,×,Ô,ˆ>×,×,Ó,˜_×,×,×,×,×,×,Ó,Ø �*Ñ Ð/ Ð/ Ñ /×/×/×/Ò/Ð ×/×/Ô/Ð ×/×/Ó/ ×/×/×/×/×/×/Ó/Ø �(Ñ Ð=Ð <Ð=Ð=Ð=Ñ =×=×=×=Ò=Ð ×=×=Ô=Ð ×=×=Ó=Ð=×=×=×=×=×=×=Ó=Ø �'‰?Ð+˜mÐ+˜mÑ +×+×+×+Ò+ˆ?×+×+Ô+ˆ?×+×+Ó+˜m×+×+×+×+×+×+Ó+Ø �+Ñ Ð& $Ð& $Ð &×&×&×&Ò&Ð ×&×&Ô&Ð ×&×&Ó& $×&×&×&×&×&×&Ô&ùs‚MMc ƒób# •[S5Vs/sHn[[U5SU35PM snSS.n[SS5Vs/sHn[[U5SU35PM snSS.n[SS5Vs/sHn[[U5SU35PM snSS.n/SS.n[5n[ /[S5Vs/sHn[[U5SU35PM snQS9Ul[
S5n[ SS9Ul[XS 9nUR5IS
hv•N n S
S
S
5 W S n
S oºU :HoÌ(do[R"S
U 4SX«45[R"U
5[R"U 5S.-n
SSU
0-n[[R"U55eS
=n
=pËU Sn
SoºU :HoÌ(do[R"S
U 4SX«45[R"U
5[R"U 5S.-n
SSU
0-n[[R"U55eS
=n
=pËU Sn
SoºU :HoÌ(do[R"S
U 4SX«45[R"U
5[R"U 5S.-n
SSU
0-n[[R"U55eS
=n
=pËUR[!["55IS
hv•N nUR%5R'5n[)U5n SnU U:HnU(Gd[R"S
U4SU U45S[*R,"5;d[R."[(5(a[R"[(5OSS[*R,"5;d[R."U5(a[R"U5OS[R"U 5[R"U5S.-nSSU0-n[[R"U55eS
=n =nnUR[![055IS
hv•N nUR%5R'5n[)U5n SnU U:HnU(Gd[R"S
U4SU U45S[*R,"5;d[R."[(5(a[R"[(5OSS[*R,"5;d[R."U5(a[R"U5OS[R"U 5[R"U5S.-nSSU0-n[[R"U55eS
=n =nnUSoªR2n S nU U:HnU(d…[R"S
U4SU U45[R"U
5[R"U 5[R"U5S.-nSSU0-n[[R"U55eS
=n
=n =nnUSoªR4n SnU U:HnU(d…[R"S
U4SU U45[R"U
5[R"U 5[R"U5S.-nSSU0-n[[R"U55eS
=n
=n =nng
s snfs snfs snfs snfGNë!,(df  GNð=fGNCGNÔ7f)z;Import service iterates all pages (3 pages with 250 items).édúItem éú)ÚdataÚ itemCountéÈ©Ú return_valueúapp.services.sync_service.cacher©ÚrentmanNÚstatusÚ completedr(r*r+r.r/Úitems_processedÚ items_failed©z0%(py3)s
{%(py3)s = %(py0)s(%(py1)s)
} == %(py6)sÚlenÚitems©Úpy0r,Úpy3r/úassert %(py8)sÚpy8éÚlogs)z.%(py3)s
{%(py3)s = %(py1)s.status
} == %(py6)s©r,rTr/)z7%(py3)s
{%(py3)s = %(py1)s.items_processed
} == %(py6)s)Úranger"ÚstrrrÚget_all_equipmentrÚdelete_patternr Úrun_syncr2r3r4r5r6ÚexecuterrÚscalarsÚallrPÚ @py_builtinsÚlocalsÚ_should_repr_global_namerrKrM)Útest_dbÚiÚpage1Úpage2Úpage3Úpage4Ú mock_rentmanÚ
mock_cacheÚ sync_servicer8r9r:r;r<r=Ú db_resultrQÚ @py_assert5Ú @py_assert4Ú @py_format9Ú
log_resultrXs r!Útest_paginated_importrs(s—é€ôHMÈSÄzÓRÂzÀ!Ô(¬¨Q«°5¸¸°Ö=ÁzÑRÐadÑ e€EÜGLÈSÐRUÄÓWÂÀ!Ô(¬¨Q«°5¸¸°Ö=ÁÑWÐfiÑ j€EÜGLÈSÐRUÄÓWÂÀ!Ô(¬¨Q«°5¸¸°Ö=ÁÑWÐfiÑ j€EØ cÑ *€Eä“;€LÜ%.ð=Ü;@À¼:Ó Fº:°aÔ
œS ›V u¨Q¨C [Ö
1¹:Ñ Fð=ñ&€LÔ"ô
Ð0Ô 1°ZÜ$-¸1Ñ$=ˆ
Ô!Ü" 7ÑAˆ Ø#×,Ñ,Ó.×.ˆ÷
2ð
�(Ñ Ð*˜{Ð*˜{Ñ *×*×*×*Ò*Ð ×*×*Ô*Ð ×*×*Ó*˜{×*×*×*×*×*×*Ó*Ø Ð#Ñ $Ð+¨Ð+¨Ñ +×+×+×+Ò+Ð $×+×+Ô+Ð $×+×+Ó+¨×+×+×+×+×+×+Ó+Ø �.Ñ !Ð& QÐ& QÑ &×&×&×&Ò&Ð !×&×&Ô&Ð !×&×&Ó& Q×&×&×&×&×&×&Ó&ð—o‘o¤f¬^Ó&<Ó=×=€IØ × Ñ Ó × #Ñ #Ó %€EÜ ˆu‹:ИЈ:˜Ñ ×××Ôˆ:˜×××××ÕŒ3×××ÑŒ3×××××Öˆu×××шu××Õˆ:××Ó˜××××××Ô𗑤v¬g£Ó7×7€JØ × Ñ Ó × #Ñ #Ó %€DÜ ˆt‹9ИЈ9˜‰>×××Ôˆ9˜×××××ÕŒ3×××ÑŒ3×××××Öˆt×××шt××Õˆ9××Ó˜××××××ÔØ �‰7Ð(�>‰>Ð(˜[Ð(ˆ>˜[Ñ (×(×(×(Ó(ˆ>˜[×(×(Ô(ˆ7×(×(Ó(ˆ>×(×(Ó(˜[×(×(×(×(×(×(Ö(Ø �‰7Ð)× "Ñ "Ð) cÐ)Ð " cÑ )×)×)×)Ó)Ð " c×)×)Ô)ˆ7×)×)Ó)Ð "×)×)Ó) c×)×)×)×)×)×)×)ùò;SùÚWùÚWùò
Gò /÷
2Ö 1úò>ò
8ùs~‚\/�"\²\/Á"\Á(\/Á<"\
Â(\/Ã"\
Ã(\/Ã>+\Ä)\Ä*\Ä.F8\/Ë&\)Ë'E1\/Ñ\,ÑJ;\/Ü\Ü
\&Ü! \/Ü,\/cƒó¬# •[SSSS9nURU5 UR5IShv•N [5n[ [ SSS5/S9Ul[S 5n[ S
S9Ul[XS 9nUR5IShv•N nSSS5 WS nS
ovU:Hoˆ(do[R"SU4SXg45[R"U5[R"U5S.-n SSU 0-n
[[R"U
55eS=n=p‡UR![#[55IShv•N n U R%5R'5n [)U 5nS
oØU
:Hoî(Gd
[R"SU4SX�45S[*R,"5;d[R."[(5(a[R"[(5OSS[*R,"5;d[R."U 5(a[R"U 5OS[R"U5[R"U
5S.-n
SSU
0-n[[R"U55eS=n=píU S
ofR0nSoØU
:Hoî(d„[R"SU4SX�45[R"U5[R"U5[R"U
5S.-n
SSU
0-n[[R"U55eS=n=n=pígGNGN«!,(df  GN°=fGN
7f)z7Upsert should update existing equipment, not duplicate.Ú100zOld NameÚOld)r'r r
NzNew Namer&rFrHrrIrMrWr(r*r+r.r/rOrPrQrRrUrV)z,%(py3)s
{%(py3)s = %(py1)s.name
} == %(py6)srY)rÚaddÚcommitrrr"r\rr]r r^r2r3r4r5r6r_rr`rarPrbrcrdr )reÚexistingrkrlrmr8r9r:r;r<r=rnrQrorprqs r!Útest_sync_upsert_existingrzKsé€ô¨°ZÈ%ÑP€HØ ‡K�K�ÔØ
�.‰.Ó
×Ðä“;€LÜ%.ܘ5 *¨nÓ=ð=ñ&€LÔ"ô
Ð0Ô 1°ZÜ$-¸1Ñ$=ˆ
Ô!Ü" 7ÑAˆ Ø#×,Ñ,Ó.×.ˆ÷
2ð