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

71 lines
14 KiB
Plaintext
Raw Normal View History

С
фчNj╟
ЦСrSrSSKrSSKJs Jr SSKrSSKJ r J
r
J r J r Sr
SrSrSr\R"R$S5r\R"R$S 5r\R"R$S
5r\R"R$S 5r\R"R$S 5rg)
z%Tests for admin authentication (T04).ИN)зcreate_access_tokenз verify_tokenзget_password_hashзverify_passwordcСXSn[U5nX:go"([R"SU4SX45S[R"5;d[R
"U5(a[R "U5OSS[R"5;d[R
"U5(a[R "U5OSS.-nSSU0-n[[R"U55eSn[X5nS oeULow(GdX[R"S
U4S XV45S [R"5;d[R
"[5(a[R "[5OS S[R"5;d[R
"U5(a[R "U5OSS[R"5;d[R
"U5(a[R "U5OS[R "U5[R "U5S
.-nSSU0-n [[R"U 55eS=n=pvSn[X!5n
So╨U Lof(Gd"[R"S
U4SX╚45S [R"5;d[R
"[5(a[R "[5OS [R "U5S[R"5;d[R
"U5(a[R "U5OS[R "U
5[R "U 5S.-n SSU 0-n
[[R"U
55eS=n=n
=pkg)mysecret)З!=)z%(py0)s != %(py2)sзhashedзplain)зpy0зpy2zassert %(py4)sзpy4T╘зis)z9%(py4)s
{%(py4)s = %(py0)s(%(py1)s, %(py2)s)
} is %(py7)sr)r зpy1r
rзpy7zassert %(py9)sзpy9зwrongF)z9%(py5)s
{%(py5)s = %(py0)s(%(py2)s, %(py3)s)
} is %(py8)s)r r
зpy3зpy5зpy8zassert %(py10)sзpy10)
rз
@pytest_arз_call_reprcompareз @py_builtinsзlocalsз_should_repr_global_nameз _safereprзAssertionErrorз_format_explanationr)r r
з @py_assert1з @py_format3з @py_format5з @py_assert3з @py_assert6з @py_assert5з @py_format8з @py_format10з @py_assert4з @py_assert7з @py_format9з @py_format11s зB/a0/usr/workdir/hms-licht-ton-t04/backend/tests/test_admin_auth.pyзtest_password_hash_and_verifyr.ь ─Eэ
≤uс
%─Fь ┴?вввр┬6ввввву┬6вввя┬6вввввж░Uвввя░Uвввввврэ ≤5с )п1╗Tп1╗Tп 1п 1▄?в1▄?в1≤5в1≤5в1═&в1═&в1у1п 1с1╗Tв1с"п4▄?≤7с +п4╗uп4╗uп 4п 4▄?в4▄?в4≤7в4═Fв4═Fв4п 4╗uв4СcС
[SS05nSoULo"(d╔[R"SU4SX45S[R"5;d[R
"U5(a[R "U5OS[R "U5S.-nSSU0-n[[R"U55eS=p![U5nSoULo"(d╔[R"SU4SXQ45S [R"5;d[R
"U5(a[R "U5OS [R "U5S.-nSSU0-n[[R"U55eS=p!USnSovU:Ho(do[R"S
U4S Xg45[R "U5[R "U5S .-nS
SU0-n [[R"U 55eS=n=pg)subзadmin)Зis not)z%(py0)s is not %(py3)sзtoken╘r rЗassert %(py5)srзpayload╘З==╘z%(py1)s == %(py4)s╘rrЗassert %(py6)sзpy6)
rrrrrrrrr r)
r4з @py_assert2r!з @py_format4з @py_format6r7з @py_assert0r$r#з @py_format7s
r-зtest_create_and_verify_tokenrCsэ п 0с 1─Eьпп вввр┬5ввввву┬5вввя┬5ввуввввввяэ≤5с!─Gьп≤$п вввр┬7ввввву┬7вввя┬7вву≤$ввввввяь ░5┴>п$≤Wп$≤Wя $р$┬>в$┬>в$с$≤Wв$r/cС─[S5nSoULo"(d╔[R"SU4SX45S[R"5;d[R
"U5(a[R "U5OS[R "U5S.-nSSU0-n[[R"U55eS=p!g)Nzinvalid.token.hererz%(py0)s is %(py3)sr7r5r6r) rrrrrrrrr )r7r>r!r?r@s r-зtest_verify_invalid_tokenrFsgэп0─Gьп░d┬?вввр┬7ввввву┬7вввя┬7вву░dвввввврr/cС╛SSKJn [SS0U"SS9S9n[U5nSo2ULoD(d╔[R
"SU4S X#45S
[ R"5;d[R"U5(a[R"U5OS
[R"U5S .-nS S
U0-n[[R"U55eS=pCg)Nr)з timedeltar1r2ИЪЪЪЪ)зseconds)з
expires_deltarrEr7r5r6r) зdatetimerHrrrrrrrrrr )rHr4r7r>r!r?r@s r-зtest_verify_expired_tokenrMs─щ п 0а пRTя@Uя V─Eэ≤5с!─Gьп░d┬?вввр┬7ввввву┬7вввя┬7вву░dвввввврr/cС4# URSSSS.S9IShvN nURnSoCU:HoU(d╨[R"SU4S X445S
[R
"5;d[R "U5(a[R"U5OS
[R"U5[R"U5S .-nS S
U0-n[[R"U55eS=n=pTUR5nSo≥U;o╙(d╔[R"SU
4SX≤45[R"U 5S[R
"5;d[R "U5(a[R"U5OSS.-n SSU 0-n[[R"U55eS=p USn SoYU:Ho╙(do[R"SU
4SX∙45[R"U 5[R"U5S.-n SSU 0-n
[[R"U
55eS=n =p╔So▓RoIU;o╙(d╨[R"SU
4SX■45[R"U 5S
[R
"5;d[R "U5(a[R"U5OS
[R"U5S.-nS S
U0-n[[R"U55eS=n =p╓gGNЭ7f)zDPOST /api/admin/login with valid credentials returns 200 with token.З/api/admin/loginr2з testpassword╘зusernameзpassword╘зjsonNИхr8z3%(py2)s
{%(py2)s = %(py0)s.status_code
} == %(py5)sзresp╘r r
rЗassert %(py7)srз access_token)зin)z%(py1)s in %(py3)sзdata)rrr6rз
token_typeзbearerr:r;r<r=зhms_admin_token)z/%(py1)s in %(py5)s
{%(py5)s = %(py3)s.cookies
})rrr) зpostз status_coderrrrrrrr rUзcookies)зclientз seeded_adminrXr!r)r$r@r'r]rAr>r?r#rBs r-зtest_login_successrf"ИПпь7ПВ ─DП в я п"≤sп"≤sя "р"п в"у"┬4в"┬4в"у"п в"с"≤sв"с ▐9┴9▀;─Dь п!≤Tя !р!┬>в!┬>в!≤Tв!≤Tв  я п)═п)═я )п в)п в)═в п,╖ п,═ я ,п в,п в,═в,═в,═ в ЫsLL K<LcСТ# URSSSS.S9IShvN nURnSoCU:HoU(d╨[R"SU4S X445S
[R
"5;d[R "U5(a[R"U5OS
[R"U5[R"U5S .-nS S