From 0ed081753817ad349b3f50be38cbf629c5afa994 Mon Sep 17 00:00:00 2001 From: Adrian Tamas Date: Mon, 18 Apr 2022 10:58:11 +0300 Subject: [PATCH 1/2] lock lib version and fix for sqlalchemy 14+ --- db.sqlite | Bin 77824 -> 135168 bytes library_backend/database.py | 10 +++++++--- requirements.txt | 9 +++++---- tests/books_endpoints/test_book_service.py | 3 ++- 4 files changed, 14 insertions(+), 8 deletions(-) diff --git a/db.sqlite b/db.sqlite index 6108c74ca06abf519ccbcef9b2eb0e8d3b02a826..659559a90e25b563bc72c761510f7c2356c26dda 100644 GIT binary patch literal 135168 zcmeFa3zS^fS)g0p)$gYhM^PNbaXF47J62VnN1duVNgQ{p)sk9LOL9x?j_jDuKIiPy zUGD0tPCX>I0t7jBfOUsFfPo~eVIaVrVIbjhfdnRZn1Rf2*YFtDB@kG%U=cDGxFMOD z010cj4CH?QKGiQvvQ8My8n`1_DtA}y+Gp>7|Np=L_kZE>Gu5`v#f|2MYUkX{U74Pq z%ycf7$=v;ynM~&X?!O-XpXFa4|F-|gd$;(*9EDX9fljKKNkI^G~%^ zP}5D_(#^}NU2W7`dw(9BU7VY_IG4LPbM(wyZto|#hen2jMq_=Y8s(mtS)4sNvzR-3 z?qcrj(wQ?yawEeXCcN2ad*)e*6uMG(0{PzF&-AmK)uvh0b;Hgt&M(X?Udo-GyOevV zyN)Bd?n57ziH@IJoSQ#!Rz_?OcsRE>cYJPf?(FQ`g`9k;m3ycfT{n7rmc66py<~Lm z+}Yf*xifP>WpVDp#l`vAiz5%02L}$Gey}G~tw;LV);nt`fGeugZkXR!_Ux&(V(L;l5iBwaw7}Yq_3e^Y@v}n-eiF zz56!bJ*k^+{>9q{@N13c-YrJD6*jAzg5G=I4jY&CzHu)G1sm^usoj{Bt=Q&&qRS5n zGwJ8wz~txU$5&1M)#P7H{^{hGCjWTy^OL_TZ{7Lx|1StU|L%dIC3X0{t!pcmt>VZp z7xS(i+xep7l=BrkD(1_sRrE`CvEq8glZ|Gll{+a6ck4~Li)%V}yjERZYv&rV`E9P+ z()CtbSL>%B=2q^)6;-P>uAEettM%2~m1?`LTP+>s+I+LEo6RcBJGY@)EfqGkOftW* zshd?*6Z=!h1YrDptJS`&`2YO;k=!w@+H1KJ9o39-vud-gs`cCn)oeC$EnU6J7gVmb zR^800dc-?z`8{lOnk{3{%3b7Nb}V1m-fWx^%cB(SrV{7g9X6sE; zQ&-lC)_S3)pRIPAcRn?X1dUdKQn{Q3E*E$=)lsDxCQwcug^$sEwp4nWT za$Rfl+58PZd;aD9Lre1yyx?DZ$_wqtcXTE1s!-*Nf$e~SahQ+FmaU7SU2=-0{TO&c z)zq_Fx%oPHCq<3l*S2yY6t$+KBRj{jgMWfvakUNwZE-r6!4!6}gN|})95Z8@>S}_3m#adZ zL1QCG(BQ(R3UzKlHLH+auH6CWp(l1#ZRP^iZr5}^Xg2sA*`SM@8x1xTRNDdy5Vy0s z3W3Tgvkqvr@V7vV%2cH|l^oPcwZ4)Z)E=z3(MQkM`i7PsJ^Zb+*T&<(Di^(qlP^|a zMn&y_6w0ykp6hr)7;0VA;eMnzu4>TxiAK~q(Nt?{BexKq)z#WXPV)p<-pdU4m(~6`%(%1(GaD~u}wu#9OKuKk<1*Rh!8o@gGg}oHr&LpZQ(3kEXZv(IqGJ(X3*zIf@|!D5r$M) zIcs54Jfn+Axh@(W6AphQ$KZ_)7{m!Qx+rFLUai+bs7UDzcvT^{T!o3tHU(O3y#XIj zxR^PSgpZkXX|UZ`H;?3CK4$P0El0&dk|Sp;)mHoKV^+nfVmM`RWJPd9F!6<}*`cMG z`@enV+GOMhzE{?zyrt|QU$nzGAGo2Nhc7uGU+k;M*^h3?Z;RCyKtIMZX9DQ5J#R=; z_UGCFWP_v8^*X$ykXr&#nr1fvTe;legSO!~(4pL2-P>S(W24b*a}{tKJN|@KGVULAevKWEiY&V))$uhQy07iLPcnkZ4zsf#@*Bs$4gn59Fa{2Jts-Zh!b%yTt zl7l##3_Tb)7INod(~UNJfoOKfV;2Fc5va_WSHms}gxvmHX5;dp?z*_fSLN0<=*dQ! z$Q}mWK;=#I0Fk9zjVoq#Ev@19Y!Oa~V3Si|=_-e|hcsG`bsv|Uvyg<@vnVdPa1BX> zBkdBZ-ehqcoPnB*+KVqokVxcMLfJuBy^J!$EzM+*RC`UpWYC+<2e56ZIFK`yS@g4j zldrLGS!$PAeSI7`nu@F`vz(^ESA+aP@6gf%_P3pQuD?=_ZObb~dB+by{;=f2Yq^TG zTMEmL=SP)N`K-u$acv7^J)s*-P-(HSSdd$W<(&h$!1Y#3R>{&uOp~?meknm8bIqs- zu`cAK4c3EY+)ABltt}vGYxp+XY=u=&iSusdG;9a?NG7fWj7@|P0}Md50aFmcOU?o$ z1h^t=3X9>}pk%BIxeIbxCQM{Y198XlU9%W2!|fHzJzx%Y1LS#8uc^N6gqSCka7H{LR5%L6V~6Z+>Hbv7wC4#y4O z3&Re4Po8ODA;^r3e1!?Qi)DnNR)I5PHd?v{9YS}At~qn11I1+h><=NR)@g~{7$!2a zxyiQJ4PO^2RptZtYKYLXnFQgWV4YiQAY6mmt@>erssK4i$(GDh1)!iO5NH`uBcDg` zh4xg9$s(xIERF@p3GZO)&SQWffr5L-r77kG23zKdOzO3~gHFiTSEs^DK00ZQN~QvLPlenCLjQb-Jj+Xu3%E;g8h zyNnJZ0_L{V)Y+^xRAlyTWat9)GbKw({O5L%g^HUSGM!%PSUndD&yU-1RUolXvkl z(cjB!&*W!#&D=BjnZe=ApJ)GO;C*A6L8t#uM*blCp1!YS?V+nfKQ!_AfxE|kc;J(h zzcUhNetF^pJ@tXNjJ|z%bLgR=$H(3^`21wC_Y?iUkR6(M>wq5ni~h#&7khty@MFWj znEmnL4^JGJ{E1O_?ALl;(|>&Uwc{tpztner{GC1D+kfxSSNpa`U+Di(?{^ISYR?z? zKH3}g9UeY0u{!qf$omIA*E2Wz+k;>0efh{MCVp<@XU9L%_bZd{%|6-luX^7+wmAOj z!KVg4oBgekM@K(C`Lrzmq3lwRQ*zw06R3RIN1G^Cw3Sz-qMKJ*mz*eaV&xWFGSJd) z9O|-{SEw3@nIK3|3M%=MiX!b)!l-0>O&RDHwNcwr7-q_sI(~q-Jq=l!IbJ1}ax8uUyjkuoRa-U9Xg{gpQkc-Evs0pe~hype_TWSQlAjl(#G8Fkkf8 zaHYs1DrKt_l*`4EXO}i)U|KXHBw-Qu* z#ssm&j5=Uo(NkC-Y}*Z8ZF#n;nt>LS3LDK^fyEk2C6)Kfv7dKCzg%+4QS3WvO$L_A zGCQ}IE{74Kn~wpb#P?j+u}~jl?b@YP8Cb5^fwFzp$XfHoxWW;ZN>1KUVQdvEMc210 zv6(TBm5qv#x2%%Sz*r#+maKfqk4rq=3RKC}GSDuEjuRjz2B8nYLs?_!Sv+4kED9DB zRU#P}1;xN+Re4LcPz){BSd0OtwyeOltk5mRp_#Gd3-J6r2+WMSWEfVM*P#`J40K{n zP6n2h#kE~x9-snvBG%}*+}@rWMMWpH!5$?8aye3T@UHmcqOWieWw$ z&JW9nywsC2&@THWB!53|c^-7_YM6xQmh!e;2{rTr`d2QQHF}Qry`lwD2utxR(7umW z>U)k0#NakT>1{F)TbdtQ?8AqqAXghIaCE=}oHAzxt0;xbGO%27oj5LoxZr5MsQhBy z2cz=Z_mwIKUZrH~C(NUx&6j)9?&$FE+8CVJ|@Y~~o6^g1FkV!hqwhTrdMeEP__40?t7D z#n=!R&?+grY{3!zigp%dV9~NU8!U)ebA%LN7e1^I;&Lt5^1`rK3?7$(z{65PO&}$^ zj*Fa8;FR)ZUG!1Nd_Wk)Wjk-#VGwbd7dfZXW?)>d#F#wt zb_}|L?!~pm1EI3AQwC>M*@Fr(BmgMTtW%k?JQ#m06t)S$G zCGa7Hy!v%B@7OhxUe7B^}%RtXl5v1=R_0R#9ReIFdxHgJr~oDA|pC2~1Y%TXTe z%(qn0HIFXARN|7D(2+8WHWz~8LdgRPH;y5a3RkKOgwrEUfUc-nU=Pc{@EKZMwqTPJ zdu}BvP07G=P$??M<CyG=t$y_94UtXUHo=>^vCY ziU4BkIJ9IS_p!y9aThq;oJd4KR0AGA4oXnE=LS~%dKu^xSywp>d9+9=GO$wQd)(e! zx`8J`%o}82paEdfck?m#JDU;yq=7#-YY73yizC;1(5#V5ry|hfLSUd>#=z;6;nbSz z9y;*jvc6vi+8*}W(BUXbKE&lk;A6@5x$#^_L1twybaFD#D#A59c(^LT@xXV;EGkzJ ztQ=K=W=cgnzE1}FmK(x`*=vcbns;LnkhtdpTOt{yHn9iJL_Q*4 zQ6uOf4+?*-*p6j!?j0WrD?8k<6&G=FQU+>do01Fm_yN2R4CfjQ;X=woOW`VyDxNiA9&J1DTJ0b@ z0qbJSogNfn=}y35D^;;z592bhV!JW2SS1g`U|@yOeh359W&DF-%p^$-*&LhZ{ECf4WRoqb-7$_8>QsCt+b6@j)=vqj~LTh&s7(*S8$UvlgWIdQ2 zGPW=PK?)bPk5mZi#~v4@H7o-oFGf#8Ec41D*&`1DN0^ig2Zb>Nu&LsZ475YXig*m7 zs|QPq5sQ5rDal4gaRdAdOgbn7(|AP(WMCTSRlf{OSD4 zHFg@DAgVpxX}9#o*-ovd#29m`(7$x>P}zboD~jt9h6lc(-WnzVTaCja+}E@H=oFUh z`cb~v2-kH@V`HpG)3NG=)u7W7H|gno|I&eb(NWRDVESBZaL1wp8&@TCzlsjIB+D)$ zYw<~zf|sy~->I%~-WIBxtYSjSe`Lv3vo467%48~%z#?Y<`p;~#PY+uDL zcaVj=6*!_Tp?0xiZWf!%!bX7(xJECkraIchWz8< z*Fv?9Sry#I7T&^2sM{U<8Z2(3A-fmYU3gGnH;-P5nMKr;Ky+SFrNtE04sS#Bhg_&CQogKANxZJ62c5nykX`D^`od;o8braLH`51J4 z;sHQ=@NpHz6|A)g^00QUBVH87fIPCJW1}8Nn0yv>2W&dYOVb?8LZcZ}rymCtkU&*J zKccFz0tM7n_`3e3`wk(Lpu&Ju+^|LpC?oMXsP3+h1+juoiSTfiAQW81x;87JC$(Av zf$mZZ1}~-s8^lK2X&LS!krN==rTYcZF5yWjvrxc;Y67AGt%^prjkxDa7CM#Vxj4U? zx_(}V>x9Bo`TFi*PS>l!nmGneoCDaBGd+<5{0GX|5JKffqNqa4Vvx)$SNIJo1F|99 z!U@D%+d5BB0>}chnrp)yAPRsY6Fq((6CIpK%?VV<@^mEeK%Ry0hIElfQ2{S3gxYfH zLX{xBqj*i4h6-AZu!^TZwHr*eDf~5IhHCz`{Y&@Wi#`dHf)8U~6aiG>W(}ZN^mXKd zQe=Bh=o7+$F+6M^uNj|a^E@6-7+0q?eHQcx)y%#9OLyOU*t1btvC2SMHmmc|3~LTak;6G9o{ObJ{Y!`Lo3o3^pzsjvBFM{_I+(KrH)1`I zELLT^Sek`Bx3s#@7M~CJFN9yfAIBEWt6+}sYvBY>y;_#~6k4r=Vt@en1RPufDf9)V;`&WsH(hH45V}w#piYS7>_OIb&tv5%3Q^|#dsTYYh4kL^r*u_fmS-sZmEO5dSj)af68W922J^O?i z3FhxWM$q-l-Q3OxW-&5p^mUytVXI}`k(jKJh2to|OHx!AZi7=w*G_Z0;G@!oooiU` zz3F;#fo@!SIR|#{;}I9H50;B@8|efG9!6>A#l(Xrj`PE0dq%f#$`bQKSfJW^V&@Vm zAdKj)+=CDW=TC6q$(KP_2QGPm4@Gg6XeFG3%TKfmEXdsN=nz<({pbu~RfH))2dht1 zFDn933eB}fT{zq^pdL;`ukh?dR1^HaaF^i4ITnh966?GtR&Id6tsh}{iZyHsOSltQ z{z;Hm6SmTZ4PR#QAeLMkB1!Ckq+^)N!X&Ub^ybJ`ep&P{=##q}OAy*S_Nfw5pAV5B zY}rqkh>Dpy@xJvfb2kCiwQAU@sRXnj*zANH6!&Mv2}&4;xbp0at)0GIz20jgSqN;#Q zV?l}3El9U>C89Ba^JaN+BnyKq?4HL&j`J&69ZIT#aSJCKxFU9TtV?VVlSi>UCjtxv zBjOj*#dKG8G2B9g3t8e*1Mv2POSmiI5|&D+8c-F95*CXLE5?sd4CLle0e6|iNLJzP zTr;9`uvwvPU67kM>Qv1lx1~5}Z>ithm!J<8X;knsgba@pyE#seyo=Q}vLhToVYC3> zWt|t`LC6GMK3S;2B%th0d%8t*qPd2F(mVR(Y*qvGe~o7n1r9SRjyq1tf~1k?F*M=r zasvN&v)aD8%mq#?hsYNNqYfk@+w``6LximLU_Q+N4#mWgW*kYqW=@erQtV~dp zYdm)G1G+`aorwsru3zM~B^aw(KnowgHo)u1d0vJO@A3bSO@0Pn{;v(ZuV-%J1B1h( zA2)vbPmj92zu)&2@w^Xytmic&j}Cu$(8<0h`#0n7ocMfCee~^_U+({ffzOTo#rVnI zsQ=#Hm-l?{si5yc&Em1c-BH1sP2`_;j4#v0wSmvAg7sfy#S*r1tOD4X za6{wGw6RLs#+M1BLh}`$s0lPFp;6*0F`h?^jM(=v5*uG8{$G4!STeCnLSVSCFc89@ zJlxaZ6wa8aXndJv3u`%UP|RTBWYXBmvE|1YyNFbXaBX_7ZG4%CzxX)BV`huTEW-VX zvji`*k9U;0k({;hWyYA8ixJ9Mfcc(B!@hit#^A%Y*)+~1uVQ?em_$5Qhl>*9s2Cnl zSP-*uW#B#H#Rrhaml?!}sQB*;Apmdy6%-M#fiqD7MG@M4@ zBRoVUpIrtKszso|7;sYt zILq)85_5o8*L8GcT$G5r$}Qs|D9H)4GiHq0CKBuj zlY~=X&c%V{xx^@ltz2A>fjuV!OQC~*!r}Drd&^m)i$#!vMSk1^lG<}WKjjOkWM<0?C&m-<0gev@4U>(5<#wSe3 zO&B9A;5Nb4iER^d)m-yLO(9rf0DvhPpD_FdQ5Xay1O%D^#n?3pDdHV2Pf#kdOU5UR z{Q=b%bir%Fqs1PJa!xP_K7A+vXiA*mjC7)!?0 zYq2X!^oSDfVrJyNRq#3ju#iCbfGDomc$qm+ygSeg$H72_i;z$d5ly*SH9mxrQ+iVZ zo*2}`Rena4S`O8HgLg#pM9oLtTVFa+sA6e8f#DQ7mPwgR${4 z7twiLjdQ}mjSOoRCw%C`A5nixcv4X`E5^$lU<*?fSW1jBNdz8=MN=Go1v3FOjk`Wf zyv*7P;1wmd8NmRs#=x3oZ-n*WG>0r~*EnWfJl#d?($KYV3PCePbOUG>^&5Fm%hV6^{%;u1dm+*o@B$+C1JU&JLFw(jcxf z8CW5h!^M-z%?100s8~=qCV7M>#G4SyEzH3< zkJH%jjVC;fiM}9@PGf)1%fK|Y^~ATH!chK*%$UaZ{YDv>#)fUY^=S;$56O&a49|yU zU>X~Mh zW4JW_|1{=F!pTewU{QqeTM#lf2#wcX`|7k2e#{Zwjcw_wk zY0NRk|DVRxV*LMU%qhnIpTB4iNW~)Z)HG07dG%t zMXibc|9hf9-#z(zlixBKPoA8#Ctp4BR};TG@u`UqO*}UdPCPm>KK_^EpU?c&_%HN4 zJ^o|k?;o#^zl}J4cf5b>^JD*f?1N+P?s?1D%Gg`S4vv1Q=T)P>KKetW|I27=^wQ|j z(fdbVM)bhH9{KT+_l-O|GC%UbNM`sChkt4K$A;fG+#Y^>*d2b^(4P(c&d^T{ePn2J z=)zE8sCV!`4*u5Q&kw$TFd95R_{PDP4gAHx?+$!w;2#WZ44fT!r2nt`|L^|a=>O;a z@9lr8-|ByP-=FpU%f5fy_lZ^MPeB*uD*&ckKt9s=^xVC}S zs#4nf`MVBer+P>T?6fyA^O;BhvBSx~En;(3ay^=UD|^Vsn9 z*#$m$X+!$>E3pUJlhKON!+dC&Da8_1y3q$+p8?ul0yvXY! zu6yjZ9Cw0XOce>zh_xPvDz4`)a?ZalJKrNY$h=>z7q)|G_8558v{2AXc%tqWh}_`w z3!N4;jUAa>&#nh(wn=CW5IG@JCWhJVh?d0czyKZ*9=j)7%c>Tew+hZIndsqQTs9%;n+=JI)*J*o?;H$jz z3}GGO88f~&j^$!LyCNT?3nF=g99Lc88xePFLNVKCR?`hZnYX<*JF_zcA2*JDB1T%` z?G#pUUOv9LANW;;tm0#dF4;!<#GNUabA4>Z>x54xyzj=&fqvmUiR<=7ArCoWS2wn- z_X@D8(Kc#qdlo}AE39;fWNzlr8oN9DNDnFOl5S5(7p^be_5=}j-V;wMepPW+8;scT z?g#*j0)lOz0y6L{+1vCP@fI6zToRRIIOrMSC0#U{raDMl63#>Qw4eqasJ+}+B6i*+ z4EM#JsbS%ju>I{gfzA&7Z8L*pu|hj<6$Z!HB+g*(^xGaKp0X?)oI!g+aJqbr8I~T- zF88Ezh#!!HU?jyT>i9=-sffoIa6V=haf@)YN963e53Y~>dRUNgN5fZKo z7tEVIb;AeMzH=9>ishSfsU)|>&P~arC0XuE$9X*{h<{5z_+5gz>7)7HC^rH^&;EGK zDFH3fS%#y__6cOf?I)oz1XHaDS_@Vgy6Mt92%+Q>+JkK`z6ZMjUk}JWlCT59pm6DL z$9dpym0y#GoRbSPai^Quyu-p}>Lsr?0PzGTmJ+BrtO@ z>kW%5uB~8pdz^Y^d%}5$hLDH=6Ie-Ph!AMX5T92I0ucmYpdk*<>1~D$VIC7cw9U|7 zbZNgRRN`d<(pyJsyj*~D5x1wv&xO;f)4r;kzBRq2)*9wQxFVM=-ePJVv=5N=YIi^_QEr`a2#H}5S@Wy9pX!tQmo^V2jS0uYjr=wxf`-`e;3>@Q^3vi-du?R~80cYC&aUU?hh{uROMOZVSTW=HoY zyf@vSaA3rtI9>dT1muuFDxP`#_$0`b#hru`m25cNTR8a2p7^^$e!@MC>zU9uQhaTf z&|4};lyRx$9rEFEPZ66-cp%a2JQnL4kSH+wG*JUDegr{Igt^NuQlvUl8K4xK z93w~KYbCIWq$hHtNS*iGqDSfzDKy&ddhe*xduJX& zJON(+om~(gFMvvs^elmoadITPH0VTUo516&5Ni-&nnwSHE1t>fK9!bS3DpW{7 z2_gJ8ksUUfXV-xTYIt1&o)r1kusseF^v4H{%iLt7K_C)bLqH=raHPv`!`&vpVfzG@ z36uvsX|hhKxPkkTC?}E~C09dIsy#fll${`OmH-G!Ms4rHv6l&xXW}#&plPByU=~Ei z5$Rzq6E@GpX);FBxX2PNM5d{|Oz=Dtr^zr)6Cl9E1<5*Yh=$5|%&o{7_B?56R{FtNlY@pqXpd?rql z;hXaCfCCX1&N4yx0^<}J!D(W0k`+_R!Coc?pNZ3C5K|$jXsUZq%!g>oifN zOl+{i@s|nH7f__g$W9X+z{HRpqHJlISbZi=lfj*m9~-gQa+e9$XW}#&-;|^ADL&;8 zmn0<@BsjZb5xZtvQq{qtQVw+|x;F@iN5DQ4r^ygc6Hvj#WMaT8++~9InK(^Gd79`Z zCWfA&5r3J0ekM+nfu1HL$$$d3$;3qUGjW=X^)zw6Ow8c{cXxTfOq?deJtZD_sAn9cS{#kLFYKFH6 z@j}smZOF@^W4yfj_2U2UoqRj5nfoR`KKb^(je(i$|CRN|f4}cj!{68cBa=ThKHH;u zKioe&_{i|W#Jk4+$w+zZQuaNQI&-D>j|YBl_zNSS857fJte?I=f%)c3JOdcHi+UURNUmpBFC;n~E-SQaoXQ6M2I5>hxL(+N)jwCgwSR&&O zWfOFzdJ1VZcF8Lv%ZG&N5;jTg3prS7vrzYk)DF&-dR>elN!83oaiR*Tz{D|A=>Zj% z5XB0i&V+F~DzaU-MDZ1hIFUa}#v8R^2#Tf*j|6xUOUbW<&{HRh+F@okP=<^tYzm}? zQwc_Dk5OTS=<s}TN5Ha_8zenkO0kgIO;~xEtY&Nyu~(Mr zex!O*c!x0(hDtOmm159o8A5_d>{@0v2#tCxQh7~jG-;w%NlK#75v7RG42jz%m>xDs z5WFNRi0Vi}8u6r3AGDvXh2Mg*zjOTazh^XOAl)N^AMhh>`rFcxvr z5tUP@dPXe{)<&`o1`1wC2C~Q?BzZ}f3d!2a)XO2SnK>kIR62!)-apgNXIey}{q%bVG-&qy^tD~~~k@L2-K$#do>!o$gIB3p{$ z2xy!-k}PB5^<}3(xgxRo4%u(;0PK!V@rar2c3F%bF|*w+zU6z*nleMKN zu$4wn$eG!0mrdn9Gu!Plq`cP5cDt-6_nO&mm&xQcX13d9CplzhyIsbSSDV>xmqp|r zGu!PlgS^VjcDrmJ2hD7^%i!_K1a7y<%5lKVcDqa)uQ0RSE_=q^X13d9#CUnK)7xaZ zc$t~)c9|>gGPB(-8^xrV?RFU^CX$`rCTqmFneBF&AjZsWx6AG@YG%7##)c6y+wHP2 z44c_*msw%R%yzqM34>;~+hsr)Ftgn*t3kh+?RJ?8`pj(qt@Z&l-Q=1ly_4F86wDy! z6eX6dW%7m5c1dw|sP0YHBDEFB-KJmzY00(}DGqRKlTu6?u1)qfbudZ%bvKzYx#~-0 z(y&RxBuP@r+){a7N_I+#M6@=K1jLYvh}c3X{f^^M3f+@RiUXNS*64YtT&`b2O%9(J zXUfCbi?w;-M&-*?@s-{JN5tW)c=#B zL3ir^-Kqa~r~coa`hR!o|J|wocc=c}|8({LUYv9!`v1edf1Dws{=NMV_WgQatM3ij zf1mxp{L(fd{gc-aqdBuHJ>7uk`%0p0{Vdn)x`7xh;SCI|uK7 zjD}^mEb}*8RZTV9F_qHk3cW9@jFyLgcHsVMn&NdcH2Qu*YTT3LB#ow}q;er;^7WY| zYNj4~G)?Kdb2YtsToS3sQMyU$y0^SsV+s5Z&66#*di0(^GKS4duL2x;FI(g(DfImAw5nZ(tBpoRO35O7A;xp zH8o3}P`!1d9GGre-+6#{XeNyh^1@a?_i$-3DoLkFy7Tq9%uk$?3D2b|@OQM?2`Pcx zjHH~aDSP}9`GRKiRc26o=rPrf9*_Kb8k*e9G{@l9c<>{@aI;pl=>67e_pJsvg5CV4VGMQ&I z4HD|r<0SD>yyHccO_omq#`{jEsiJwBzTk~IJdIB8WI^8|KX7iIi4RVtsk)hT$asR9 z7+0?=$1!_Ss)kRcsmXbkJ}?*Bw1U1a!!JhEykCIOO5_NKpzS;2YG}T&9 z8u@u^A*3xmRs46W5uJXMz)&jl-m;MEaYU!E3I<+AtdANusBUt~2LTUJ0r}Pe+h?oc zT7$~zdnrvh+tXWIzsDO_C^2B_x!khw(vl-{pG#8# z_X%C^w2n3CBe!+Sk_V@30mh?gGD?o2S*?>oxGWLUGXU85K{ja0HG4NNTKRWs?qfd%(syJ}~s9p-&HenEHMvhF&}PmBC*g{DHwMgJ%aH9QciaAI<*a zz_$!64-^Ladw;3_cl&>;|J(cD(O;&b+=u!n`u?!*JNwr94)lJx?^D??ZU1*$3<-B8 zNdbYrxAy!yI?B>#P%0GA4VGyAfZp>Kxfni8XGv|M{X{X$e1efbOgA7JAW+VoM)ric z(6F2Dkjp@uL7MhZOPb9m)tK4zXy^EL`fP}bd%HdD0gA-;!$kn-CU*r&Cs zXJ>v)MpDRK8og1Tf^KB8P6CVqng)@nLE4CCOH+%?k4nwt)ODRxmFAXb({?;&E#$-p zl2a2=BqDGLT=FQ2L9q<_qm;tT56ehe*Otk_ksNH&uxNoxI*rB7qL?PJ^pK({v6Xqw zlz>j5$(=D%(s?JMjWZ=VNd5u?q(na1SZFac7KmNSdw7}u)l8YTjCbnV#i{F5r%6uJ zvYRq}hv{ztlEna!d^S>m=rcyie0r@*=W`mGWZrLflcLS2DRZ7CmCrOfNn>s^%`a|M zepdR|^qMuM?O&26(bsevNux-aUJMMRNCupWE{jqzg%qwziAwo|ztP8)Cc^aKxhfEc z*l2PA@>Zn(GOb^!4MSNO8UPe&=oZo-)Q>a&M0Nucqem*NfPUy8ucqe+$xq~01thn| zw8ExM_Np0}w$n+fa?!F#kFp;&$}Z`a5bf z$$nDT$xb7An>Gt+bh>G?$P|@OG9NOFOyLnQjepXl51SffsoV6Vt}UIq>USDblj+Ek z#w2ID#-vd?$^vn@is8w$JBlPVk8Bs|D8&^`7csi1(d^PvneP^e(*aFcG;_#P^#&57 z^&8Qp^d2wM15kQxlXhs=WlA^l@iWNXMT=SF2ktY-kS0|mM3THmZ$GD;`F@#_8bGvA zqPGh|0C%XZ>HBS&j*X#D4Hv@u9itKw<%Y(+q?Rw*o_0ZsPAKHN2J-AQ1)nk>mS?B#3GsCl>rdH8DRou<)XgK(m_AG^oHXT_E(>_l zRF5%L{Zn^ROJjR7oq{Y*R@#q~W-Oh<>CuI10Fq#fkGZ>J`aG*|Hfuygbz>5yZQ74Q zU{rkrJ-A6}+#~H$DK%Gqw;7nCPpj!Nkw$Mft#DFzxJlEX(X=Q?)z(Aw|1;T7XZk<5 z*8(8=KYjP!pXmRCUrQ_i{eL+0IKBTqJ@6gb|0vdg!O!;JJ^tDOfAIPKM+ZMP_SLap z9s8lNt7DH3gkuj4e2xx+UmJR8^s}QM8+>Z?`O&9FozdZu&-Ja3e3DK8y6+1kZyC9J z_)ms^q3>Y->hOp9{^f9E`1tU>1Cv8v8TysJf7mxO^wIuL4P8zCOQEXX8FB{#|KlLg z^IvEVhz)@HNfd}ct*6Ts1?mu_Dio?HQp-Zx*=0US1GJF!AHZ!SLCgb`g5U~$QOLPo~0 zJH!R_42#}fT#+>NGhOB4AS_EIj#w8nKVwEx$%7t+$ZVeUEB7h;BUMPyC@_&A@dZ@d z%>0y$i~`5TfPxlPX0gQ(cqsu|38M{N%&6B{#PDP0r01I@EubArQiw@I3Vlj_P8uhc zof2jm+sgcJW+a-7PeBaIV@hwm^j72xS| zvq=%uqEGWq8hvKIPe!JxjhXp~nG+p3sL+1d#_$J*NHGsG(CFS)qQP8|=FxUJ^ABVs zrX?0gA{$jCk>EVJVS#xb^x%UMGOrtDzFkJ9DLt9_UNdKk3X+-ckvrI@7zw@N6=I;l zr4q_+D5n*G7I2Ez=9u3-t*IW`k%5Y;Br$bNsjMU=Ix+EKvO!Hk$^b8s#w(uJlz}vLmLxxr zkv5}fNt6rqF^I7eO@m%fBhbbz87PWQD4YZF8FfohkA>dfn9680h}{P{+1JmQfiBj+ zP*g5ocmhoX!F%NAvSNMmWJ+x|%o@r6b6oQM?0_;h93!TUGA2R`>tltIv#2LgECbV& z>WX9_w27?^v{XQpM+0!>gO(K!izfY>H3qBDJepSEG@i!pK+j7aP2);{jFC=JZ?|I8 z1Dd*{hqFt=X&M;IgsB_Xrf$o`z*{ylH|?#`M9Ez+YfRhVGIgK8H2!(hC^U6{yEM*Z z)2%a26o~1}nkE*(bUjT|f6%ljOjFhDk^nqa$dC+7-M}q%hq5#tYtwo(O54CKO@%+x z{x5YSyi_qb0-n@8_|nA7J|Q!vaZ8uXK%|69ge}8$;Sn?!#dlD`k`%i1(8V%@{Gr}p z2EvfbD8tA<;)D`i4(W;1W=cZgE1^e=%&0}Vujbuw%@nm4iM#^a_%D%(Qn6?XVsy4IZ6JNnFd}Qp?V;f_y9{tql=4fu@H%HzzVhw+8 z_&bN+I`q|{j}1LNG(7mP2j4mP(7 z%D%=7^VcY+eehlc(OX-g>Gsf8C+Ib$2o^j^1Gehw8jZ7engX7^Mm_37_dFV>5V~iY zwCApEEvwqPZc4Dr3bBIit90So(?RguHR@0wI5e9^How>iw$8Pxb=nY~r^{Ef@MO@a zhiaX!8GB}&yG8-(d+x#Bed{vyCrlg<9YxsfSwh__d%AL5x<9l zt8tDfyr4KF&mRPN;!U7W$^R{=56JP210s*U!rZG}4D7~sUi%z({*l4v@PO5O7 zOoU2#_f(kfBSa9-(u)0-9xd85HfnK$_%8|nI<2+{%UelW!W8YjYdm+2TF?g%&ZY5( z%+$6*y&#eOPv|E&&%bYpCI8*hLC#*I zmffR1dyP`F_Z@iDP2tu7@mj=-t2QT7my_081#?KYw>#naYrU-SzL_+U35$&&*lF{5 zR5$DJ9e570jWy5P?e((wZV2$c87qY)`QjE`an?_CYO9Sako5@_Gzmzosg>iM`ubjM zJoe4~OLyO6r!ixbxH8v_h|fEtiQZIpX?L>=?~-7*$I__HN1Iy`PrABVrJ+u972bNR zL(Fd7+0)eK{8c%NnKZ8Uot>SAKOfVrD*IkJ3p;FuYkC)Sb5}TwgZTb#t*#3*xX@P3 z^)u3-$9MKZ>%wIT1f5Oem>|Ty)zP&^w>|4ibgDYhk+spk-zd8PAAsc>%pls{$?R``d&o~YD@0%7j@rSe8$8Hr!n3vsOA~LxqLeh7s@8AXdg^S<3J=Vv6vm)4KrA9>QqeT^ro9B`HAisB zO%u{|imrO9eu^6#)U8W1y8WF>mm~Pmp~ushpH9OTw-!6JbFI~0)Vb~k?PgDfa=cy| zbJdw@%WV26@(L7oeNW%BfiTUPH16UB?wA%b=w(gl_RZRg%_{>xdhguQLUz)~XUCJQ z&>QqUeEJ=7v@2;8huNBIeB)E0T}X+U}aV?8ksr81!_3Tr*~PU0eBDS%BoE{ywxU@BWuFsk|_N4?$L zZ?|je$+rW}gJMn~2!&|RO5_{cCEghqD|}2GRcuu-OW5&Ql0!+i$(fW~|1ENK#V!{*>8FA1Y5r?Iz5fck6$>FnwaJ9%Gto1E)>8Y}HWqorFkP2Uur z@Y2nMm*qlQND~~m&>;6>Lq$hX6Sx~muzAT2wUZyq9NH(PpT9;EoI{5m3*x`K8O&Yv zd3fo-1CP45FBe?$|NHwkGZUX3{nMeZ47|{{+4G-np{d{b`0p_UdY@ZThu_<}wvwid z=gCI1)5>uV>DJbpau?Th?l|pC*V?&8Y<`=ol0DUG>ngYWhHm99T!FtfuAEfl&adXK zRNLf6lJ1owEiH#Vpji!SI%hgmhD|M#%u6|is;cE;x~nolqn?{@wc6ycOwsW(5YM$b&CAux0FU93=B|oVo4(}$D$dQWsRkQn^r~)~Z^$-f$?RCZ zu)SGaj2LKkHoQrWR4Zq8or{|orI_%swRU^6^`@z*D{Dn-y-?H7R_PL-bTXdW(1;FK zs_WIMs%*YB)n4mt1XJFW7fdDikk>niPCHkwN2KoGm~Y zjn3-Y?l8^>=(nz*%hk4WAr!Tyqa!=Vv4ektUNI&!BwbGDGMK_HcF<8yjbmm^Q(a9E z@N!kCGiYoC2^w73#N?PmIjcf;Ig*|0LQm|f+RO#yhSqRRB})&)%r?uPl<2n^zgUNUK>wS!FNAW z9G9{zxf6}3mE>UN7Q(aS;a}u5Pk`m^+$>-s>Yoks%bEf-B=**GAhC2!-U1d~f@xt; zXu&}0*qu5WqLewdsR)W={CZWWlQ}>UA#$L}VSyKd1~34I@MgmxUaUYnK}AHJBWC1_ z@UD=%#F28~a;)_R%m?*m`)EK>aCMtkB#aV*>|!imXtj|+lY&eFw#oTN&lSF9QIIg;QS`(cD36;=+KuqlwIi%GdI8Xgl4efEl0&d zk|Sp;)mHoKV^+nfVmM`RWJPd9F!6<}*`cMG`@enV+GLs%&->9W`E9X^DSj2BWo{;b zF5B~lG-ZFT4M1qlOxNi;yrhs@0#TY~H}rLe6Y)XYa2)7R?yl}_Fi%m7W}B<9i*O0X zY@fS~THt8{CJ2=#+c1$F6&P|VY+?&D^RF8ASjZ)dQMuJdEdtTu+4A*B68Yhc308pR z?*zx&$*os!Tsg9R#IPP2PG|CVqq&tVW19$Il;{@bVenVkhwz#s+=Va?5K=B5V6bZF zPFS6xyS?O4ZNm$N9t<1{x%05;Mw`7rG&|(6ivU#`K-D<&YS=}AP)smpHy12$y z<<>Rm$wr#U9?(WxkbToUfIE)IUNNh~yaBgoi*P~&o16kmS2?sjq|th;`?%zsg(T#0 zT=tAZ=i3y9+2x^nlf`jx25K^DFTNZ>B9UVWWd~suwNV5DCWEBfYXT;N-fSM*uTXIy zXDYMkX8|W)W8t#YF0=ajIC3-1wt%Ru zl@W_5<^(En-mM%N@FE|{#C3o{fe<692%c=f6t>R-Bm}r3YYL0u+n{8u3%Lt&Std+m zO9OGo@?EnSF2n5=%ROKYb_3}RgLkrcsYoFpmyKW%;=8RaWQC0*xtL9ZGkn65_Fe{N zGpmidW*(8X_KK1s_QqT0YpS5{_)dl^YWigO9hP1VF~ z*M2Mv9;F9gMLMP1q{J2d=MMJ_F8TJ;&*?NB^Jau2t;(6>(J^ooss4I&zaXG%DI^BN z?E~3W7aIgw+LzHmM8MpZnmU`c2Ie8zw~?Wx49ArGCdjO&biFG{L#E->%*q88vC@cF z=0m;0VXho!5i5c0Tneyg!wdNR*%dS$-r5ER4eSxN|F&Nj{eQIg%bEVA@pp_wgTLMP zU;BQn?`ZbVv;Qc2uJ_Bm-`{(p=Rfy+U(e~xUt~U-sq~KY{B)1*8Oi*MOeU)zpUb3b zNW7OJzA1MBlNtW5+&Oee@W$v~vuiM@HrC?YF`R$q2=LLa=T2{JXv+PcojsgM)uDL* zla34FUu>AiMEf*U!m$6}*@rW!niKDz^CAaL)wx7&+Q00x2L_NTGN~F9@1OKE_iyfO zBPR>ql_?fqF|ahxd}*5Y?4R$Lu0j1$F-7OjAmX1;mqjgUZt5rQW==MqrghK$Ic4ML zI&DgKv_&nC_6ggyrI!yZonYQHO?>vxI|H``6+{^pYr%eyo`2cE(wu-GMK_=Q(;`>2 zMAt{DZ`ND8Kz;hIfu+-4CRGFC{WA&xAW61=61joZB-7bwi;vkG+I}vHZ~Qq>yBl`Sa!LsWPNzE2`j?tABX68IZ^ z0QK}tV~d(zVjΞ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 literal 77824 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%0DK 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 a4O)~4v_1vF&ty7-OO@}BExEfULHz=G^^-jS diff --git a/library_backend/database.py b/library_backend/database.py index 8297b01..9943901 100644 --- a/library_backend/database.py +++ b/library_backend/database.py @@ -1,5 +1,8 @@ import random +import sqlalchemy import uuid + + from datetime import date from functools import wraps from faker import Faker @@ -39,6 +42,7 @@ def __init__(self): self.engine = create_engine("sqlite:///db.sqlite", echo=False) self.session = None self.connection_name = None + self.inspect = sqlalchemy.inspect(self.engine) def __enter__(self): self.session = sessionmaker(bind=self.engine)() @@ -46,9 +50,9 @@ def __enter__(self): @check_session() def create_tables_if_not_exists(self): try: - if not (self.engine.dialect.has_table(self.engine, UsersDBModel.__tablename__) - and self.engine.dialect.has_table(self.engine, BooksDBModel.__tablename__) - and self.engine.dialect.has_table(self.engine, ReservationsDBModel.__tablename__)): + if not (self.inspect.has_table(UsersDBModel.__tablename__, schema=None) + and self.inspect.has_table(BooksDBModel.__tablename__, schema=None) + and self.inspect.has_table(ReservationsDBModel.__tablename__, schema=None)): logger.info(f"Creating table {UsersDBModel.__tablename__}...") try: Base.metadata.create_all(self.engine) diff --git a/requirements.txt b/requirements.txt index b203acf..32f6d5d 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1,4 +1,5 @@ -flask -sqlalchemy -faker -pytest +mock==4.0.3 +flask==1.1.2 +sqlalchemy==1.4.35 +faker==13.3.4 +pytest==7.11.1 diff --git a/tests/books_endpoints/test_book_service.py b/tests/books_endpoints/test_book_service.py index 91d6d1b..6a4218a 100644 --- a/tests/books_endpoints/test_book_service.py +++ b/tests/books_endpoints/test_book_service.py @@ -1,8 +1,9 @@ import copy -import mock import pytest +from unittest import mock + from library_backend.exceptions import BookAlreadyExists, ResourceNotFound from library_backend.service import BookService, BooksDBModel From db6c8e4b4c37fc7a3fcd33868806d73d9efb2b10 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 1 May 2023 22:27:00 +0000 Subject: [PATCH 2/2] Bump flask from 1.1.2 to 2.3.2 Bumps [flask](https://github.com/pallets/flask) from 1.1.2 to 2.3.2. - [Release notes](https://github.com/pallets/flask/releases) - [Changelog](https://github.com/pallets/flask/blob/main/CHANGES.rst) - [Commits](https://github.com/pallets/flask/compare/1.1.2...2.3.2) --- updated-dependencies: - dependency-name: flask dependency-type: direct:production ... Signed-off-by: dependabot[bot] --- requirements.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/requirements.txt b/requirements.txt index 32f6d5d..9f0967f 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1,5 +1,5 @@ mock==4.0.3 -flask==1.1.2 +flask==2.3.2 sqlalchemy==1.4.35 faker==13.3.4 pytest==7.11.1