From 592f99459f4881d887b710b50fe99b01e6f90c3a Mon Sep 17 00:00:00 2001 From: Julien Castiaux Date: Tue, 31 Jan 2023 15:19:05 +0000 Subject: [PATCH] [IMP] core: unit test for `/web/content` as public This revision adds a unit test for the revision 55a14300168e1a1b9f96701a9f62d46a86573868 closes odoo/odoo#113728 --- odoo/addons/test_http/data.xml | 2 ++ odoo/addons/test_http/models.py | 3 +++ .../test_http/static/src/img/milky_way.jpg | Bin 0 -> 10558 bytes .../addons/test_http/static/src/img/pegasus.jpg | Bin 0 -> 11245 bytes odoo/addons/test_http/tests/test_static.py | 16 +++++++++++++--- 5 files changed, 18 insertions(+), 3 deletions(-) create mode 100644 odoo/addons/test_http/static/src/img/milky_way.jpg create mode 100644 odoo/addons/test_http/static/src/img/pegasus.jpg diff --git a/odoo/addons/test_http/data.xml b/odoo/addons/test_http/data.xml index 5eaf9c0c6f2..023555bc903 100644 --- a/odoo/addons/test_http/data.xml +++ b/odoo/addons/test_http/data.xml @@ -25,10 +25,12 @@ Milky Way + Pegasus + diff --git a/odoo/addons/test_http/models.py b/odoo/addons/test_http/models.py index c3bcef1aafb..b99f8c897ca 100644 --- a/odoo/addons/test_http/models.py +++ b/odoo/addons/test_http/models.py @@ -18,6 +18,8 @@ class Stargate(models.Model): has_galaxy_crystal = fields.Boolean(store=True, compute='_compute_has_galaxy_crystal', readonly=False) glyph_attach = fields.Image(attachment=True) glyph_inline = fields.Image(attachment=False) + galaxy_picture = fields.Image(related='galaxy_id.picture', attachment=True, store=False) + _sql_constraints = [ ('address_length', 'CHECK(LENGTH(address) = 6)', "Local addresses have 6 glyphs"), @@ -57,6 +59,7 @@ class Galaxy(models.Model): _description = 'Galaxy' name = fields.Char(required=True, help='The galaxy common name.') + picture = fields.Image(attachment=True, groups="base.group_user") @api.model def render(self, galaxy_id): diff --git a/odoo/addons/test_http/static/src/img/milky_way.jpg b/odoo/addons/test_http/static/src/img/milky_way.jpg new file mode 100644 index 0000000000000000000000000000000000000000..989e36164dc07c6a2f01ed7716a37051e27df698 GIT binary patch literal 10558 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 literal 0 HcmV?d00001 diff --git a/odoo/addons/test_http/static/src/img/pegasus.jpg b/odoo/addons/test_http/static/src/img/pegasus.jpg new file mode 100644 index 0000000000000000000000000000000000000000..f2032cac51d95410af4ba0994afa5f8daab0ceb6 GIT binary patch literal 11245 zcmeHrc{r5o|Nk>H_Q;GaOX|U7Cu1l^$}pIT#*BTbjxh_v%wUYQ)5&sl#uQmfh>{Rv zDMg}N6nEf%9PdY0*#Th4Y?bSOg#F(Qatvk+9Ws4^{`S(N_yQ={ z-H^N{UJ$h^he5JRNW?e!=T(^x1qkW0SLM*}a``vRclq)+jJKx~gz14~htU6!L;gel z;TM7c2)gC!$N$?QU?xEE1AvPo0Ib&ZJNsX?`b&pUgF?Up0KEJ!U1S*m*epW&?7ws& zg#gf;4gl)of9cSr0HF9Q09@*)$MWO8`v5ed&wH>t2)bmhOvIY^$Q`OwEi0Y3M%k9? zcDXK+)c8Gf5m8B!84X20*RpTyAG$STv9hxAZ0&_GfglREc{4A@oW_U@VVct;xtkMc zQJXR57Mp=>I})O3^a!Q^3}J?{dG-eLS8f=9Y=*sopY<+_T~SWVFg7uX&-6+nd()F5 z=(Y@l9oyx$CEyacQCy~g1}1Phyck@9y}>tf93-!*HyeQ8Ac6>c0}_`O%EaNE6WA>8 z$Vd)oYrfUW0OH^?SU69D%MS)M_{ns zBP5(j7vMk&Gn5t+8v_#JX?zw);`5oIu^bv7bfs}<35lTLf3q8zf&_vGXo=Zk3i`M@ zVJx>`u;%6-P&#xRNcJFOEG#TQLrV*b&8rfZ3zC`f0w`0KHT0w_#RqhXgdETXk$iLW zU6HXo$iG)aVmwVi4`cE{e4v>#b&I*V6OGH{({Ny*p9hHdB7vAK78bj9nK^+DpqZt` z&GSwW7mdvWw_2Nm9xPT2)DIYIb8{CqN5JHNf6Up%58Rr7-NNOXf{rvA17csDfZs9Z z=FSOGkukA+CJq!t3TPYqav6Ea{^7k-0U7nr>*uI4z#quY&Em6HM7K+f^K|f z2$N?Hjc+XvQuvW{W=zZ~<*JgxPGIw5*r8zpXzIASKomYR>faczZ*2z}(rFxa2p{qS zM)Ej`&>}lU#z0$&P5-gbkXuvGOF-k}IqXp0Y6n9_j1_ZU~$ALq~9QhO!BZ6huP2{8eJ8fKET$etT*cEhd7=@DlKuP?QiaksTw5ggCk0 zd>Su?70KuRpz?P0B`|rB>=-5pX}_`UHrbBC(0CK-M__xNL z8OP*6EAw5wi_K$mW4YfO3(6ll1DTNV8))0+)h*6pf8U$mCOfv~1|VR%02~EFpkONs?&cv1YjsQ2Ct*EG7iWiU{Gub6tDwWw#?lx7H$+}v+5f2zF4?Oy&STp z?s3{QkzPBl=ACSH&{W@&@!`pI10u0Tx)<#cZ8ffC92^Y9SD&%R1_lJ-BNHkX*~=SB z4iTRW8oVWCpFuuN8`mv4|LayE5k@XhHb}WKEj;r0$<1{;EgFN!mvJn8gR3aVz~MSm zsT|$JzMD1F!FALjtTHjl%NNvtr|MfL9TqAB7J^+92Rw=v<^*4r_hZE^2gK12Hrl{5F)%4ZO+$EEJ zH2h`vxMjOWTlq#AAH!Qr{^VcrW{0X1x*bi?z1+2^>(aHODWD=p13M|q-kM`mQ7QGr znyO6jVPeu;CA>N~p;w3W#YnUs8X=a?DNgz_QZY(CIaiwBec3zTaE(mK5v`ZkjR^`} zk2F2eGf1P%HRSgNC)~R`RR1inAfV<{b@mO-s~BZA*jE`kh98q6Bp#eBJD6yFE=7E6 zj|)ZQV|6i;kR7L$lld_xVE3ib0;!DTDEyO&NbVnOJx2?z!abAq zF5q1FIqs~KJoR#yvo+;WJ5XE{5p{^1ts_LY6?=3~W(f1hp;mO?f7z`7f#Bin;KP&v z$1K-lqLVVg2d=raJ@9jV@c0kS=K(UEb4|^P+})~nLcMp_Xt5*DccviFe8$V6uhkN{ zF44kXeXw0l`qIb%y*%Ra4r(GVkV^9rHMP|a4!n?F+z{OrabmJsYP!`_kU1PQtF6$a zMzNE=tdavJ;vc=Fb(}Pj1ZH!k4D=4{Ov*?;V;3Ar@fa_vW)JGyQL}?%92>lhiRfr& z^~@P^jLVc5UIV`{mS#uYMRJs}!;9n01D~G{39{seVguy8q*y6=+nXK?{IsV2o@G$e zFx#zJbM!(Q#nM(QIz&Opm+OWRAs^Y{}v+;`@y@^J( zS8FE0_$L%F7!Su@T5tvRt=?jH-JclRM6OUs+wrVI>DTT;xUD!Mi5o=M^X{k()_!^N zmtk4|jDZFuL!qVo&4WFKV;3=Z43a2{*H9Z@2*iA-_BCWi zMVzU9HNQBn=sEoiUlE#YBhLD%sB-AVP}TEZFmhXxcQShP;H@$fOI6oy-scq{T-H?a z4=<#?hc$T2QeLB|>C&>s{_PaUyxGvtnyCcFDUWb)P(l@(VI#Eaa)~cLq?3iYX8+a1 z%q73B>7^Sh~Oa8nlK()bajQ>RO}xjw*L^yycgX>-BG& z85Z)htqaw*AhG0qZJG52n{>=oW&3o(ZL6EK!-rk%K2w6KT#W0R*GYS(Z7d!YbS={n zY2S>oSGtPi|QAFR^e6PcFF?qxpHr~|4-23=JL^Y=@Rm|G!?vV1XV7x(EH6ay9 z4Z(K8KUf{kL-+1T0;FQqyNrKTtgvLUQL6Y17^7{BO76YInrclCsdR{yS8SgwKL{g9 z$=t3B^I!9ex;NVD6~aJxazy4x{5@_!w?vyVz*sg+PhPup7S&|hQBnmDhUv4P4iJNX z=XQG4A_I1s$o|B$pUKqmPS;udos>F$zR21P@eHt@-2onnI@PQ zefz`p#Wa7m6n&d0O(V0)`oetp-bZ9VP`mx<5;>vvgQ_3*+Hs@Uo#!*8hdutZ-Z1R= zzRnD6so&$ZGr!w*p)>UQ@ShIqw>uraR#%M`4q5E-XsMCDd)Hgza8Aw~l_WH{i@BXd zeWiB|G3OwqpL(!Ff-R9N-#3}#w&cZ=0lSN%XNa5w$0)<`ZKbT%)?dncuNS?jDZ$xY zsa{92Ooqz<$hA*jo?oo@QX0tV)HU~Wc;fxi=EywtNO+BV_n*m1cr8S#ZuZ?gkU+nN z7(*Jzy+4cGlIFgX&5X3Lw3o30K=)MExeY3n>gzu>OAmdSykLvY%gb{|>c_nE31%`_ zuAa5>NS9$XG~fWpw52BYC;4}4EY@7o*o|v5#!GY%`)xj!o(O*+<1KjvV5QAtcGauJ z(UrQ~W$sj`v^}?`tYxRXbNJ9!pH)-QGO#rg;}=R*NfpVk75jo z`m$qB83&T8*N6VHxNYPTDYH`i+(d%PrIgK}m8UJ;i|4!SyhV2ttU6e`)+swVwq8y- zHl96UGe-a-RXPwk7{4uFHYG2cpQ*~V>e3sH|Kcq?JnWtFvCceMI z3>A@7m&=!tL+74p;U{j5)VM$Q9nzjEw-SZ~lMtiF^}|ak?k68s>c`wp8tFc-V{CkRvfZ(Z_uUjH1&rQo$R4VW(hUIkdNz?yu1uOD&am zn7>hnM_{ZgZb#GxzB>N1tUd#_v0IKEW_{%_&-f3xYDRwFtxv*t;;UthhvetOiuWq1)$?yKgX!`ZD4ZrB7x-W7+VFj420#TQoEoA`p zH`~L8D?q~$%fNW;vfP)S?;AeStO6bEGLBqB8c6Kx-M8`L3V^?|_@+^?-{fI)RL%98 z2czRRt1+hW9k4!0^7W?eS1E>BBTe^`$OTf;8%Ga?nWG{-P1XUJwm!>!ayv1_1lam_ z?g}UPAR@lAXG4%EYBTBb)rFkBg-5OqIIe z#|!hU4z49+%&W*EuXfNF)5awkavH%YH=;X1qOOGt!}C#YytQ|7(PLah9S(J3XM~0R zx|Ymz#P&c}1sO&#y>rC&ldes>Z&0&4J*1)1H@gZ5Jwe z%D35z_OoX$Jif7ZaPKB!2q9cq@A8wP*^NG}`P()nP+0bH%c)myGd*uksO@G5Pl@_> zr>+e@)37u>IE88wzBA2volx%=i~HH4?RJs-oxJ8wCZWx`Dl;joa-PEd_+Y~`f=ugJ z0rkB0Zxu1~247U0g>{^|&P`7x*qOQ>>qqs}%dAY*dnB;u)jw`jEqmxYlleRr5uOtH z)m7_#mI*MRCxUeu8$UY=$IHdpzX~!PKgKNx5xgi3eG=Zj*WK#Wj31|zJ{2z9QMoqZ z%dn5Osrv4a^(gh6p8lx|FSUkj5PI`Obu6%?nfk?~NTIFn+3b)QgTcJ7v|2;xX~Ag! zmXzsCAc98@{A;-9v$tAoAWKOf{9SuC%CE%ht;+B^I)Z8dDD=}Dt8gz;+t3Kxg$+%v z#97?QqR!$(?OpH}p+B&Mr1@FB$cp<4_&g%c1V+A=k~Z^(8am@Ff|*ouN)(J@?dF<)pWSd+sPA1 z(x6T#oMnUuLz;tjv`1tu=`ExhQ0MI5*_L51^%RLP>Z$m{>ruq%%=go+if?XLUOpha z<|?!*RVo7eSS@RCK)+Z0Wv%%wlQ7`!`LrFMrz-qU%a^CFmBC0=?w@TZKWm(E z$Szez-vvKIC=I>qXfM)7CRg(>>kpi~a_V-@UFxP7KITr*H+jL`qSLIr-sNYcMr3NHnI zC<`t+!yX-f#MDvGKAWbs0^mgFcU=A`cH_pTf@aY|A0K7wc%{eryVfav$i@aIYaLt6 zdakOr=8(t?c*8KXhw=bn%xT$nv2$pcLqJv=E6n>(HMCH8%=S}7^J#HSTI|DPE-q!r zV8uBKfkRmGQSj}PJ&4jJWH|$XEcOrGY@ZV@Gr%3@7-Ys!6j>ij6_*Cf!yR(A(IezMUIDihLBM7cnnAcO{&rHV-n>WJqZlhyr7P3`-6js(WNesrZO(6yz)tpqGU@b}w?HO1c)@G}HPU(GjpbULDy+%Xon zF}Y!v)=}1>W$&z~6vdji_-GwdVy|`oJlr9Oy*G5$FF{}yyR^skW`tN()F%sMEB3|= z*i1~Hl+T90XE$A?i0QMj@;ki{ zp}mg!V7zH@Z}k#6C*!So-8p2vd?JHPpWp2v*IOws?5@B_pzN=B_x}ui(W;ingSpb0 zxT9OiytILedvObSY3XPw0sO8N7>KxcLE-hhf}<3 zu=)}y1|p}0B7NA#B+2F`pDUT%k+}vxPr36J`1QSlMQ!Jr(N<*T)wnzjmyyPtyd>Okd4p`ev?>O%R;04 zxL>yV4%TTLR8qWLR?*1*NnYa!2HF@+BuSD4>XBxM!=#~POqF(n_Q&cPxCtg*X&+&* zu9YYL;2hsM!?Qm=cvo9q9ZWSCR@xpBq%gSra@cIR^|6iYAIDIABrThDBbPC+q{S| z`_LiR`}sEo@zTR9K;mf9DXn|YW->MP5_|e95{7^j;(GNdVIA%s9uC{i%2)xCdOmv< zdChxMFxW!vn$vqcNA7Wief}uEd$IunBNe|;s|Jqtaw2qOjmc|dayqp@=${e!B{tRW zK*@~a?i3q+@oWN*(s&H54km}DTEtD3-bNZ{^agmI|0!haWI3#-XDY)^`7OahpKkwa zBry+8-*A*kQb?OMiGbge(spZo5nP7I==(jo`M}P!P3_%__1CY|Y10}fB@bzuZMyMH zKYN@IzWppe(faPpY2m5xnVBWKLSLLorhPET0U%@1Jg6KC$oYOzWGI^Fc$)i!^hS-Hqldqopqx4C3^~SG@6S z!;@ErCjM1-F*gI(n9+7JIHdB7-6ieK2?V2`X)?i~!}~_#CT?D?^~Ol3)4(rr_2muB zR+9&(s(h~3pXU5wc^98w@~gw`I=&KlIzepw?qjp|f;d0qei?95y27!|c4Dyck}lB* zgS>VBW%K7z`jC};xuFgAQuv#PEklW$A2L|ZvBNU$-Iy^^KU>6my#mx7QU}!XQaUw- zlhJ__TXA;z^&cG>xP<%{LH1cPQx{7J*;^0@73;28N}oSWZjCa$)VT?RmM?4*g?Fsy zV5N1>u;&AV_DcrHj;g!BHvWDezXwx=nkPQZmQRi!k8pdS`E}wruklKY+2K2PY&u!C zVs!(XviNEKu5GCf67i~aT`j{}&2KD1h@Fv^5f1;`KGHAHgcvbL*a9GWl>>TxszP+@HLf@^?qXo*F5^4kyJ8K2muXJVf z?e}r-(zMyM+vECZA`D(z>9ZErF1VZUpy041jD zJ@wZbkq3h*0h{iaGCt_n#Q+9N%Q*ub@=g8$9Ukhhe0QP~f zqz!4cOTW1-yz;9TUzEZ-I0nvBlYV) zs{TqpJ%gLf?LCL6H1s+5yQ!hiVHo<|yj!R`>0IAe+ah-ol5|`32Bn7E?dO};8C;8i z`={8NTvIs&2Zm7n`We}s!s5u5s*ysg@J?q6#W&V14@S>==as5pv{5wpDiEC@cemAB z+l6_?U_E(Q84bO79zS~{+)Lx^_KUs>7O@FMhtyLKoa@vjIHXDZ9utsu)wl9tkegs; z(7y_oqOX_Pwff$(OmD-nx)Tpf3ok~`6&8AF-(K92)PZ_3zsKJCP;*+-iNMY#&2nO1 z%AcgRd2dDv{+%ok?5$nay3}>?^NV)Y<9ogcw%n6iSlT=5J9?)&5xe@&*Z0*d2UV;9 z%`3nk1I|R7+g1-wi41G|1|AO{xbxL%`PUVo+hpYH@vj^GSAbXN4p^6oX4K!lJGaz- z4L|mo>dX=hY#bh`JNMCV|8MWgM52_X%*}Joss=>YB=g8W4a;gBpHHWqFB4tQR9^IJ z8aQw_cEhbt1J10R-=91hMI2~Sp@t-WQrY_HLz&20xxaJ!29dEWx0m{e>ipAAspsPd tzq*J_g3kq&tpMqxE5PHX6(Cn+G<$jTf!kMBfS?1oj%a5U){d2j{{;>rmpcFe literal 0 HcmV?d00001 diff --git a/odoo/addons/test_http/tests/test_static.py b/odoo/addons/test_http/tests/test_static.py index f2868919673..ee5021f761a 100644 --- a/odoo/addons/test_http/tests/test_static.py +++ b/odoo/addons/test_http/tests/test_static.py @@ -264,10 +264,20 @@ class TestHttpStatic(TestHttpStaticCommon): assert_content=self.gizeh_data[100:200] ) - def test_static16_public_user_image(self): + def test_static16_public_access_rights(self): public_user = self.env.ref('base.public_user') - res = self.url_open(f'/web/image/res.users/{public_user.id}/image_128?download=1') - self.assertEqual(res.status_code, 404) + + with self.subTest('model access rights'): + res = self.url_open(f'/web/content/res.users/{public_user.id}/image_128') + self.assertEqual(res.status_code, 404) + + with self.subTest('attachment + field access rights'): + res = self.url_open('/web/content/test_http.pegasus?field=picture') + self.assertEqual(res.status_code, 404) + + with self.subTest('related attachment + field access rights'): + res = self.url_open('/web/content/test_http.earth?field=galaxy_picture') + self.assertEqual(res.status_code, 404) @tagged('post_install', '-at_install')