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. $)z-001r zDescription for é2)Ú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àØØ˜"˜1X—^& ˜˜8—>$ " )¨$¨Ð0Ø%'°#ÑÐ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)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×'×'×'×'×'× &‰>Ð,˜,˜ ,×,×,×,ˆ>×,×,ˆ>×,×,˜_×,×,×  ÐÐÑ  × ××  Ð=Ð <Ð =×=× × ×=×=×=× '‰?Ð+˜+˜ +×+×+ˆ?×+ˆ?×+×+˜m×+×+×  Ð& &  &×&×&× ×&× ×&×& $×&×&×&×&×&×&ùsMMc ƒó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
hvN 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
hvN 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
hvN 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Ú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ÄÓÀ!Ô¨Q«°5¸¸°ÖÑWÐfiÑ j€EÜGLÈSÐRUÄÓÀ!Ô¨Q«°5¸¸°ÖÑWÐfiÑ j€EØ cÑ *€Eä“;€LÜ%.ð=Ü;@À¼:Ó Fº:°aÔ
œS V u¨Q¨C 
1¹:Ñ Fð=ñ&€LÔ
Ð0Ô 1°ZÜ$-¸1Ñ$=ˆ
Ô" Aˆ Ø#×÷
 Ð*˜{Ð*˜{Ñ  × ×*˜{× Ð ÐÑ   ×+×  & &  &×&×&× !×&× !×&×& Q×&×&×&×&×&×—oo¤f¬^Ó&<Ó=×=€IØ × Ñ Ó × %€EÜ ˆu‹:ИЈ:˜Ñ ×××Ôˆ:˜×××××ÕŒ3×××ÑŒ3×××××Öˆu×××шu××Õˆ:××Ó˜××××××Ôð¤v¬g£Ó7€JØ × Ñ Ó × %€DÜ ˆt‹9ИЈ9˜‰>×××Ôˆ9˜×××××ÕŒ3×××ÑŒ3×××××Öˆt×××шt××Õˆ9××Ó˜××××××ÔØ ‰7Ð(>‰>Ð(˜(ˆ>˜ (×(×(×(ˆ>˜[×(×(ˆ7×(×(ˆ>×(×(˜[×(×(× ‰7Ð)× )  "  )×)×)× " c×)×)ˆ7×)× "×)×) c×)×)×)ùò;SùÚWùÚWùò
Gò 
2Ö 1úò
8ùs~\/"\²\/Á"\Á(\/Á<"\
Â(\/Ã"\
Ã(\/Ã>+\Ä)\Ä*\Ä.F8\/Ë&\)Ë'E1\/Ñ\,ÑJ;\/Ü\Ü
\&Ü! \/Ü,\/cƒó¬# [SSSS9nURU5 UR5IShvN [5n[ [ SSS5/S9Ul[S 5n[ S
S9Ul[XS 9nUR5IShvN nSSS5 WS nS
ovU:Hoˆ(do[R"SU4SXg45[R"U5[R"U5S.-n SSU 0-n
[[R"U
55eS=n=p‡UR![#[55IShvN n U R%5R'5n [)U 5nS
oØU
:Hoî(Gd
[R"SU4SX45S[*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"SU4SX45[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Ø ‡KKÔØ
.‰.Ó
×Ðä“;€LÜ%.ܘ5 *¨nÓ=ñ&€LÔ
Ð0Ô 1°ZÜ$-¸1Ñ$=ˆ
Ô" Aˆ Ø#×÷