From 841edeb1141e7ca6b9eab5da03a87d15be3142da Mon Sep 17 00:00:00 2001 From: Daniele Teti Date: Tue, 31 Mar 2020 00:47:35 +0200 Subject: [PATCH] https://github.com/danieleteti/delphimvcframework/issues/349 https://github.com/danieleteti/delphimvcframework/issues/38 --- README.md | 16 +++++++++++----- sources/MVCFramework.Serializer.Commons.pas | 2 +- .../general/Several/ActiveRecordTestsU.pas | 2 +- unittests/general/Several/BOs.pas | 4 ++-- .../general/Several/Win32/GUI/sqlitetest.db | Bin 40960 -> 0 bytes .../TestServer/TestServerControllerU.pas | 6 +++--- 6 files changed, 18 insertions(+), 12 deletions(-) delete mode 100644 unittests/general/Several/Win32/GUI/sqlitetest.db diff --git a/README.md b/README.md index 0f11f8f27..8eaa58343 100644 --- a/README.md +++ b/README.md @@ -61,9 +61,9 @@ Congratulations to Daniele Teti and all the staff for the excellent work!" -- Ma * Works on Linux (Delphi 10.2 Tokyo or better) * Completely unit tested (more than 130 unit tests) * There is a sample for each functionality (check the [dmvcframework_(yourversion)_samples.zip](https://github.com/danieleteti/delphimvcframework/releases)) - * Server side generated pages using [Mustache for Delphi](https://github.com/synopse/dmustache) + * Server side generated pages using [Mustache for Delphi](https://github.com/synopse/dmustache) or [TemplatePro](https://github.com/danieleteti/templatepro) * Specific trainings are available (email to `professionals@bittime.it` for a date and a place) - * Messaging extension using [ServerSentEvents](https://github.com/danieleteti/delphimvcframework/tree/master/samples/serversentevents) + * Push notifications support using [ServerSentEvents](https://github.com/danieleteti/delphimvcframework/tree/master/samples/serversentevents) * Automatic documentation through `/system/describeserver.info` * Driven by its huge community (Facebook group https://www.facebook.com/groups/delphimvcframework) * Semantic Versioning @@ -195,6 +195,8 @@ end; - New! Added `TMVCActiveRecord.Count(RQL)` to count record based on RQL criteria +- New! `TMVCActiveRecord` can handle non autogenerated primary key. + - New! Calling `/describe` returns the methods list available for that endpoint. - New! Experimental (alpha stage) support for Android servers! @@ -249,9 +251,9 @@ begin end; ``` - New! Shortcut render' methods which simplify RESTful API development - - `procedure ResponseCreated(const Location: String = ''; const Reason: String = 'Created'); virtual;` - - ` procedure ResponseAccepted(const HREF: String; const ID: String; const Reason: String = 'Accepted'); virtual;` - - `procedure ResponseNoContent(const Reason: String = 'No Content'); virtual;` + - `procedure Render201Created(const Location: String = ''; const Reason: String = 'Created'); virtual;` + - ` procedure Render202Accepted(const HREF: String; const ID: String; const Reason: String = 'Accepted'); virtual;` + - `procedure Render204NoContent(const Reason: String = 'No Content'); virtual;` - Added de/serializing iterables (e.g. generic lists) support without `MVCListOf` attribute (Thank you to [João Antônio Duarte](https://github.com/joaoduarte19)). @@ -277,6 +279,8 @@ end; - New! The **MVCAREntitiesGenerator** can optionally register all the generated entities also in the `ActiveRecordMappingRegistry` (Thanks to [Fabrizio Bitti](https://twitter.com/fabriziobitti) from [bit Time Software](http://www.bittime.it)) +- Fixed! [issue38](https://github.com/danieleteti/delphimvcframework/issues/38) + - Fixed! [issue184](https://github.com/danieleteti/delphimvcframework/issues/184) - Fixed! [issue278](https://github.com/danieleteti/delphimvcframework/issues/278) @@ -305,6 +309,8 @@ end; - Fixed! [issue345](https://github.com/danieleteti/delphimvcframework/issues/345) +- Fixed! [issue349](https://github.com/danieleteti/delphimvcframework/issues/349) + - **Breaking Change!** In `MVCActiveRecord` attribute `MVCPrimaryKey` has been removed and merged with `MVCTableField`, so now `TMVCActiveRecordFieldOption` is a set of `foPrimaryKey`, `foAutoGenerated`, `foTransient` (check `activerecord_showcase.dproj` sample). - **Breaking Change!** Middleware `OnAfterControllerAction` are now invoked in the same order of `OnBeforeControllerAction` (previously were invoked in reversed order). diff --git a/sources/MVCFramework.Serializer.Commons.pas b/sources/MVCFramework.Serializer.Commons.pas index 81dd7f1ab..ba565ddd5 100644 --- a/sources/MVCFramework.Serializer.Commons.pas +++ b/sources/MVCFramework.Serializer.Commons.pas @@ -912,7 +912,7 @@ procedure MapDataSetFieldToRTTIField(const AField: TField; const aRTTIField: TRt begin aRTTIField.SetValue(AObject, BCDtoCurrency(AField.AsBCD)); end; - ftFloat: + ftFloat, ftSingle: begin aRTTIField.SetValue(AObject, AField.AsFloat); end; diff --git a/unittests/general/Several/ActiveRecordTestsU.pas b/unittests/general/Several/ActiveRecordTestsU.pas index 56127f7a8..38ff9d218 100644 --- a/unittests/general/Several/ActiveRecordTestsU.pas +++ b/unittests/general/Several/ActiveRecordTestsU.pas @@ -188,7 +188,7 @@ procedure TTestActiveRecord.TestLifeCycle; Assert.AreEqual('OnBeforeLoad|MapDatasetToObject|OnAfterLoad', lCustomer.GetHistory); lCustomer.ClearHistory; lCustomer.Delete; - Assert.AreEqual('OnBeforeDelete|OnBeforeExecuteSQL|MapObjectToParams|OnAfterDelete', lCustomer.GetHistory); + Assert.AreEqual('OnValidation|OnBeforeDelete|OnBeforeExecuteSQL|MapObjectToParams|OnAfterDelete', lCustomer.GetHistory); finally lCustomer.Free; end; diff --git a/unittests/general/Several/BOs.pas b/unittests/general/Several/BOs.pas index 5180fca26..a4440fb8d 100644 --- a/unittests/general/Several/BOs.pas +++ b/unittests/general/Several/BOs.pas @@ -99,7 +99,7 @@ TCustomerWithLF = class(TCustomer) function GetHistory: String; procedure ClearHistory; protected - procedure OnValidation; override; + procedure OnValidation(const Action: TMVCEntityAction); override; procedure OnAfterLoad; override; procedure OnBeforeLoad; override; procedure OnBeforeInsert; override; @@ -1058,7 +1058,7 @@ procedure TCustomerWithLF.OnBeforeUpdate; fHistory.Add('OnBeforeUpdate'); end; -procedure TCustomerWithLF.OnValidation; +procedure TCustomerWithLF.OnValidation(const Action: TMVCEntityAction); begin inherited; fHistory.Add('OnValidation'); diff --git a/unittests/general/Several/Win32/GUI/sqlitetest.db b/unittests/general/Several/Win32/GUI/sqlitetest.db deleted file mode 100644 index b36911a6f6003201e2fc76c7bda687e5e12c9627..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 40960 zcmeHveUx2Sb>F=2@AnJ_gbCQsqj~S$d*95P56QM{pw;v|3*Af;+xl{n;s(5~PG2?;FH0&x;r=>F|< z&OIOZjy?LT$y!e!$#b>m-1FP}xA!^cclMj3w;nvTvD&|9ZTVbb09*8a}*0%Y6A-;3t_}!;h&zw7b8h@XC-Nx$K4g0Io zzT5WiIkvxlY|q|<`}_94dH1~T)R~QyKK_{R^B24D#V+~9PJFQwU!2`oKXvBb{`uqU zCw}bsI-cCUwsyL|_weC^`}Z8e*C&tD0ruE|TlOD4w&#{3c(QToe&-2nvQO_hy>@(K zXJ7nVr`PW8?>%^UuOD7lsBOFA zibAxHU2@{w*^MyFdYv*uh*#3U| zzqkKwd!v1Gd#?4jt0*H>Ovc~1H3 z<&T%&S-!ixtNfhOUzC2U^!C!drRz)2D}KHBc=3_q{l!-lFDrbb@Y{v=79J?vRJd&B zTQi@fx%;oK&1_qK$)$65(%=5`FPqu9V|iugZ4`n2UW)G7{>im9e6{!7`n{{`9;_EH z+a|2`uCAXxb*6vI+Q!;C8;S?~eG7Mx<&G<)%~{%E&i*>j;1RnaA@_7{X5py@9Xmz{iExr)f4*G z!Hk5p_cD;5kI*i%x))KacD&@%XopX*Ncf z0!Q9JG(1SA3wbd*aOT8B2Wjw1vdhCn^e{2qOlB8>=>VC#m;}*X-i>a;L~~!W(WYArIRw=o<8FM1}`Q19T}&pcv&^dyN+xZC|EqU2#qRc zc2W(lB}<1_T$1eq?e8KpM3e_qywp`!Js}?l*I=Gboscf&=o_ILUX6L?Ip2={+uSvu~`UUZTMk+83SkI3mPI}?C8!dk+ofe z)5S-p_jplGVCkA&yLPFUDatq#7*5D|>;yt3ff0nk0_-RVJSb;?UQqPAC-ZoBHmyV% z$|CZ{WRC@qhm~m{*=mmG=met?7DU24LdLIq;aN2PL(EKYhj!e2?cKp{bEm zew#xFBQiyL*{&6y06OJu^5AfY36sZ`cU`qpY-%Jh7;2Y!1AhHBVQ0I*E(VKpWO)ra zmq$!Ns69~DyTk4D4cOT5H%Md%E{$u!nk75HVmpOFF~(kF=B~t;7A%a&No#=WlNI91 zBT7)31O~AduE4vqpwiH$IN8hI~<-LHc+;B-; z_C9p-e6mD>vj@`HC=O<}ZsX@+t_~_WGIPe{;rLPvzDdY3n}X+(u^ls`B5Q1;=fKX1 znP7~aUJI9Cs#$1~iS8yl=#e@0I_C0eEFUJYQI~ATju%vwH4TFf=0F~>mr$KKDmm$! z{Wd1BiMJ@chUsjJOb5ho9u~e)=Ns*(K@)SdazLW7sNy&9R&pl~WtS^(&qx8UPNti& z$~q5BYGj$S&CwK0nZ}WuuVNC}P{F0yGU!#v+TG}+May!38RI%}l9Rx=rmbIsZ6;Kb zS=PQhD3U3n%4?U3i#+2xrN}SHVP|Hl$@A%uT#H{$f7YXu^k*Y#)1S?7C;eHu6X*Xz z@8@Rd|I=Sn4@^BU^}y5vQx8l%F!jLH15*!7Juvma)B{rwOg-@b#RGR0I)y@Ed*jN% zOKT)=6zk=iR!^T^>%VGk{q)I|rIn?HrIm%H<>i&@R(4*uz}JXT7P5xhWd+Y->!YS_OrD!wY{|; zs(!2bsp=!u`>Ok@msP%5dA#xty8Yi>xwQP1@~_b}p17$0AtvhnUxrWbHxKQ9;=u<16Jk?y-CkBz?D8+~TzrR3$fK~96FYpPxzF8HD8nev~OCk-#8cl;~6u3f%5eWAW#Ods(aeBAN# zb+GL;mh0^+hzaiabJRjDSK33D9-BEP^*@@4jB=`io9M_g$S8%mmh-snzb2#pnGsQe zC-#>8nZdSEMt=pzbclUi^SjEbc)1(l1zhw)s^%!9X!TWV`iOm7eptqr&7}jBw(493 z;l@8JK#SaQq{>QRX2?0l!wwU)(TICmaWi=hE>t&K4>qMw6 z5^2WSNP`5qCscVO*5WeHP3cjBrW!O>Fhy0o#5KGn;BHTlej->=(849Xkdvc+A~FvezDB0JW(RSUpuc7-zy=A@PINXXV3NaBe|5|T z335*KD`;qNfqjQENzhcYX~42|+Dp(~BgA@f9&rZtzK zy~e)x!fe@2!}1fAbLNGfbO7jL)U$Ddq(cjqbM=LBsY=>J942V8$-R5Edn?8X_t+2# zd02%(trkwo%_Zotv2jUf9ob{z;^rFX(o2%X!8J+HU4xK0xD>bCz6mcun@#>rWhP|Y zW|IXcs=Bqp&n9TH!6g;X17Nb3R9+%lZ0s9YUHFZ7O%k-&HmLJPx27ntb~*GD)nLPhvd#-fx$q|m zI&2Uuw$)QrBy?x%Cup;Ad##kUn_}p)$+qN(;JU6ICg`%+0zNN6qYc)vEWS*Rq0J@- zp6~{&Q^@?tOVDqF9OJPi$a6N z1l=~g*+lPdib8Jlc--`%gob__7n*Pct&%3RAQ_Qq_Tp3+gKer@l4k}98g9T}c9}?D z!AmPE1_>H&^7=W+%%~rWiE6iTC}}JYHnLHIejBtJnB7ci39-gT#|^xe+oP1@H9tY$ z&1QVJ7s^qB?i;il@aP74Ks4LI+O#Kq8^ch{RF)?Sby`npKPjm3A%6G zyMG-w!xu{lns2Zd%3ptSoH0nyhvSqgUQ+A|G)T~d!<1NBmOWUiq?sk%OVE46nG8Ft zQaPEtl%V+rv)u{PlmNu{YMh`Ehbt9KmGk8(m&aDmC?GgO z)2}N1#%KK-^t(>K@p*qdEB}M<|EEdvuWA23r=R4VUc`(nnfCv0R{QKFW7_}ktbjRX zaoYdCadz7Oe{|aaPit*PZ_`qdQGKWV|I_||e9my%|9^Da|Ls{h~7fphLbasPk&%vWc6pYJ`|d$4z;H|+jR z_rG>O&^_P1x%;BdH#?u|yt{K>XJ6-q?QgU{(SCdTp7u5ER_jk%zuJ0R>-N@&?*E@` z{$lej&70}||L+^W*LZ*9{>GlhW%X~=KUx2o`pNqB_2<^UTKj12Cu=8a*VH=IFIPWO z{fX*ps>{_v<;lu_s61FXT=6P1RW1Tq8lgF zr<0?;84J7tZ;;?aNVd2rhP6dVKf%Y3TyVyi2DrHdA3(wt)Q+pJU6CI&XEzXmO@HCD zM+jNYU9cl5dI>&!gtXuxrEhc7Vv?Zt@GXU%76KN+o9dnX$WKUY%uq*LTh5Ii!r+ja zF}QN1BC;dq&&F>hYtD@HM}lNBV-Wu{GJ19;e=dFt>?|URNm_~K#s8Gd+ybJhZNzCY zevnK>iw%KEy`s=$T{Vc`Oy42cLJd5e>e^8{v_bqPvU3}K%(OA4u@Juz#wEqEzIa z{qsV+PPSXeHj3Xs_PF#gd%3_F%)w-$A3uOuFcWDO3WyZh?N*~fyoOQppjjE|#b?M) zaK}K#sf+g;L7R{7$Lq5}Q*%wj$i5EZ(=c~%i7;?&G@%9YePo<%J(JO}?{jA3*OReW zeN@;u$IRPaFFr*^F0lOa5&syOit<6@r7$-C;C*~Ak8OucC!CG!9r`f@B%%rbO$^YAu4={wNf26&u|vjFwH6;UZh z+vB^)82w1PZBWri!yCn~BP-lTvXx3VCZ*kvv>3mZEH9>I(2swVzC-L9$Q=TS5or^e zAHRldx0-NwlC2#&&0dYoi(k#}x3MWpyNN8`q<2(X+i@Gm=w!oE#mlSmyZVf~vsC%9 zXlJvdtgjhOPYh!8vjH8C3^;1Zpnzy}lNfDmNF`ph)9FbEgPQ3xrkWq4l?~zGZ;;`T zlW=wf^D&y)&}zcADLj+N>LHP85TmONb7u2rm@|6Xa(Wz;E8Nv6h|$r;l?`jWJ?CuE zMoSxW2*zrD(jj(X^I|l$ZL;OFck6=~eQiv)be|z=E269e;>GA|Lm4!$_O+!^-^VdJ z+BV(j0GOIRd3PA2scj3#n;=F<+ZK-j3o-iIayH4LnvlC(`fzU>FEX^Bk)hD}VRAT# z(b<+g0|;k0@aAH4x7k}SF$Zh;^kcNOxqDyD=u$UmDZO3A3>vh|$yL22J|aJ=siR^tR<}zlFm*IdFQV?pYFV;b8lxi_5XjR{jv7XwC`?T z-7dBMh|d2%-nz3Dw2I9yHGjDoHV-$qQ~&?x8Xsu9p>b2AU;p3r&(z;lzmI?V-(S@p zuf3yos`m2QbLpr5eYE;h)sxk0s?Ey(tbC;Mw#uEAaryh@-!K1iIVr!Yyjc1{>B-WE zN)MH8D_vQ9y7>9xzbn3}cvG=o`1`_z!lQ+a!Yd22Gf&f$-Cur;W1s`JYXlNX~; zZ!vR{P$4zqG>p-!=VX^YR_gp7#%R>zpM!+Z%cT+{!tDn8#xeTz_y_UXXC&BW@@g2P zO^<)HAgpCxNj{mF=3}(#p(fj>Bahbx=0YwuvFfGJr z)XT{z44J#HL9?FNl4?|Ps_>VIY!stWZ)-_~Ha$D3bP3Y1Mlm<&@wP_CN^r#nHi^-p zmy=PNSawDQG5Ykjh-?s}M-TJm{&%Ygn2UK3qd{+r1=EYUM~}eqppuB%4OZCDq=&Gv zX^KRxiSBwkh|#KN`&X^acF{tE9-P4AO45oVlsR#XVzlUqR&)B%c#5N{b60&$Oqz|+ zpNHdyb{7a{ZG5~K&3Ra7P563gG2jO=`t!0IW^HV|d?7|_-sZk?7ep^cgC6F=o1SM1 zgBM>(rr2$m?vix0cN^olk5RMRI`%_$4rtE9z}ZG)XG<5vXw8E!cn%7<+FRO-R}iB& z5An^}E4t}Bh|!(*>?9w>XvxD_BO5sTtTBnvl!v5bOHEtN#q=3_(TmZY=Q=pu$(Y5) zi_x9Or&Vm{WZ2Ze)~Udc(Upe{rQdNXci`xsvRGs+Z}_u zlNefco)1#R!1jS3L$MZ$AI(7Jq)?zUWPnIL zAXn!=(|PGagJkVOlaqCzjbmul;$&u48yR7cS8<=>Gl-#9+uYT&&~Y2a5UR2Go7_c! zoyC7KhE9!RvP)gPr?A0!G1TgO?mF0l7(#V6Y>K^B*ak7A>Su@M#}KKpu{NO@wcLo@ zVho}BV$cOKJ6zl8<0WqZJqZdK1-qIqt z6hX6wD&;a#l!lz$n;${D-Ws$Zf@-~4%$#%^Mv$(t+2*;J`yseN;~Pbgtv4wqR^0pu zg0*`tGzezWH-ciFM_=92Whduc1l?L3PE7%nou;QdiJ)48JiIqg$55*)EpO>FW=If0 zx^~k-=CPX=UIg756@o`sm7NQUQz6C?gzHVKpTo6b#L_jVzWv!Fr>X@JwCgQiIRp{Z zYcRq-sN`nxID&SK3Fj(J4u9q%h}R+<>QIxD^K%hoYnW+0O1zym|2k@3q=jqul;AkP ziy&NYw%N0fN)aUMoTHMQflGy@2(mTulP8<RpFw=XI z&j06ohv@VF-|0TleRuav_Z8h2be`&btn*0cp3X}<&G!Fj|62Pe+OKWTw~MVmZhg4* zaO-eud-HFbpKpGs`5^uD{}(sD)3`wA|MQJQjZyu3_1~+%zka5^kAC|9*J@AH{w1CN zudX$#PgOrw{mJT&R#)i!|E0=*th}XiYh}LtgYp;3zfe9`zNOqReY^C@(tAn|lx`@! zn11&ECyM{7c)ECfu~Ya;;nxdqE8Jf2X1+i32kznD`g#~algE+S+?{escRuA3L6G0d z!Ezyj4v(NYpSBU~qAW|}!eJaokm9qn6*1+`U-Xq|Ic7>$VL$~`FtKx zX*VK0h@i?pJFr0nG5*DI#>g5dMUdok_XOr*??=$%-F>1_uMJ>J z5j6Rn$eF&iY3W5!=G{G-7@jsAX5fMdLUxvvxj8o*LCMaN(vrj`5j1RZcAY{PBte#7eU?zhxDau8arLs1`$+kX`;lGZf(d32LDCj$3k@hjsnk{@ zut5YR8?&@OtSd=QFIN+%t<@xgk}c{q4Vp&Lz?43dk%gqq>5e^*qK&8{Zk--PkhI}g zy>fstwrx*{VY%>YPmChS+So$zu#ycaxeaiO5d>{y zuLI7QfsJkyLD$~Or^x3c$l6$}Y;a~lHP|*6LDxn;vN^|DptJJKkDzIzjG5RBHyG$9 z5hU%r(4|Y84bF=oYv+f~se3^LWjmWm(s5*MV4IB~Zlj`WY&g4E$h-)GHu!5I)8iSy zmLdq+SghDI1@R1ri*W>DdxyhHIeKPaKZ+o2WB1E1P*7AwQC|~=K?HRhX{@2i2s`MY zZM*0MCy~b%I;h$gg)WF7Zlm(>EM(;|NNi?Z5JBADG<5Fn9ul{WPtRKCTo6IvhFrok z5OAz`7zig3#O)kn${EuX(wOqg{0Is+7PcIG&R#>D|LOi8KmYIH-qD`deY$(0`@!y8 zx`*lh|GS+FbpL-}XHREa`|IsbwjXJqX}`REN$aWBe{RLC+hqU$hnq?BRZWlX|Nl$l zeT{RC1C1Bg|BCwm-%~$T-(Bz4o}&BzpROIRE!Qg4|Nkr1xO%iYsun9>to&l-eC6iK zmF1_)7s~&p{6Kks`FW*pmOfE>XKA%`ZK+=Ta`D5(hl;N*E*49LKP-H(@L=KQ!WFr< z|MZgpBS`hQjbYe|cKRw)Jz*lUT)zb(LapBt5f>uJ^f?LvayRF6=||A&-6(0cm?WG; zkm|+aY8_sMd3IUxBWU*SIYAS~9Ndqf*^AaX8eDma)7L#DcoEck_=7h%HgSns25n~} zX!XysG4&&8^eE80uae{CudRy_gnBGL{O*+VGQc@5_9963sL=c!GSPDv*GUMm9vy;B3yy@&_JtQhwFfKACQ*rwhBjC+ z3ZdI$N8n0x?g?)aLbn&3w>Om1$C-&nO!VdAzhqVk^K<5y+~;j zo}|8|NX>?j?nRy|fGAlOCHxSQy*Lk&k<3%U9e%q3ZXtwXFZ6A)O>yWWVfu&%2tsJ~ zF5x9KmlZ(>l+*F&m3rV#*#fbP(@dbaDpHeq$lj>U|En>|z{3 zz0a^R6|Y1j#k+zKvi+vuC?W>9VF;1iCZ;iEjm`@pa&IX+7elDr7sJb82%TGWr;$4( zFTo!tku05m2f)YRv4n}UJUXY7u}5DNF^ zNtgYOaR`YUi-Ebpm$S(%20_RgH?Pjd9f_!eZt)I6Xxs>#y@{5NwoA|?gw`!G%G#D{ z$JkJ3Lnz+aqb-$f9p@l~#w~bBqso#Zhji0!7((Pm-;EhV)E_5;;}G(;*eRL2Tw`2= zlB1ACZeBUanlse&ub%BFgvRaOKnb4PDH?>(x8Yje`lz=Vyikv5`b#17?Hq+!27=>e zJ9iX9=f-DcGa4CN>p2fYNZoK6Tgsvdr#Xw=B!te50JCBGK2=o+VERnf6sX*Y9e;z2 zosp$xO&NvIxv>djV}(9PH<%5T$jz1<4osKcuTl9SL~g9&Y-BG54jU#R^z9sABKzS6 z8<-a=k=q0&tSKo>SV0JpI~!-|1$&D!7ee30mRutfqgvR!5Xv^{kBKd}RE_{r_XVhkA#5Ua#2wV)w({hr73SN8Li_$l^ zjTs*=gh-F8Beu0@2b!n{P=u~5ip_6hfwUXO54y(djsAeTp)8Slx)svrG2I|%L^gZXV@pFY@PZiA%yxI zfQtQY#qdKY_HN{4t#vYMK7?qWg=bb~3m$}f8=jtqhBpc!+PmRP<7|X)91bzrE#}rR zgkYc7hT`DzLumEbJKA9rv7ka=fZ85Hu1EWyjv1zEZ-KlJQvH@9wiH66$4bKkru0)a zK4+!zLWuPkoi}W<((0HQ9t%PU_3nZoP2I(O5<;#AdGb3EGt12=gl4~$6=WPjtVbU4 z&?0Fph-Myb524pTyOSZ*Z>ec>973+&`tco#{nl2pVF;-nyJC0q>=Y?4gi0@N%;|)n zD8;L-Q}(pq)_T}@?C~FqZJK8==HgqbIJ;xl#3xmdhCkxxqx}3T;)XZ zLMZi6`Its_(CV=Uuz1HsGG~PjLa6j0x=FB2i0+3S z`F=a$)0$(ve=&rt4M#ZV30cardzDcLaa(LjDbg}MWihd;^*DsQjZN_iezv@NtI7)u zt)9`;1|bw~4jsJ4o)DuV7&>%82xS`^Aa;csK^^t&4bU)zv@HY#z1xQ)oFX|2t7HgN z9EWE>H6OB|O&(*}CuK=W_4EnPej$XW4ZVs7PXCe3bE;nuLf97P6LPOzO5h2zlK3G6 zZY*y+xFTh`+MBlH5CV5r%#|c^q7j4;x8Y?TS$jE^meeDV80t1Stcyg-H61t~k~Yc? zTdA_n#7#ho@n$g(Jw>IPhpx z(pOIH8$r+pbxdI5^~6R4)*^)LoT4LhEn9Sa$k{G1waKvCdVJ{FSzu`#jBpL1WN)FS z2T-wbjcDRBU0^_)K*!EmTXhudkOe}{&I=iP*NmA5IUDOm-p`=692~HWor$jW81csN z!U9BW){*U|STW-a#{%fsoR-;s5;rZ!_rn=94d-XpYpxsf7(vhGpFx$DJvm>8X1)-z zZ8sQ8fDw&F$k?p;*w_qfI~+cwY!HoSY}XN|QjVc!Zx!4ee@Fp{9Iu_1eZHIY70}#NIbzmwH4v{~vojD>ncD diff --git a/unittests/general/TestServer/TestServerControllerU.pas b/unittests/general/TestServer/TestServerControllerU.pas index 8c3306dc7..06d9f0ec1 100644 --- a/unittests/general/TestServer/TestServerControllerU.pas +++ b/unittests/general/TestServer/TestServerControllerU.pas @@ -608,17 +608,17 @@ procedure TTestServerController.TestRenderStreamAndFreeWithOwnerTrue; procedure TTestServerController.TestResponseAccepted; begin - ResponseAccepted('http://pippo.it/1234', '1234', 'thisisthereason'); + Render202Accepted('http://pippo.it/1234', '1234', 'thisisthereason'); end; procedure TTestServerController.TestResponseCreated; begin - ResponseCreated('thisisthelocation', 'thisisthereason'); + Render201Created('thisisthelocation', 'thisisthereason'); end; procedure TTestServerController.TestResponseNoContent; begin - ResponseNoContent('thisisthereason'); + Render204NoContent('thisisthereason'); end; procedure TTestServerController.TestSerializeNullables;