From b5340b118ef9e3c21ac4bb2021554167ae41b16e Mon Sep 17 00:00:00 2001 From: MathewFrancis Date: Sat, 12 Apr 2025 15:59:55 +0530 Subject: [PATCH] Aplication spring backend test cases --- .../test1/mariadb_data/aria_log.00000001 | Bin 4890624 -> 4890624 bytes .../test1/mariadb_data/aria_log_control | Bin 52 -> 52 bytes .../asterisk_db/extensions_table.ibd | Bin 114688 -> 114688 bytes .../mariadb_data/asterisk_db/ps_aors.ibd | Bin 65536 -> 65536 bytes .../mariadb_data/asterisk_db/ps_auths.ibd | Bin 81920 -> 81920 bytes .../mariadb_data/asterisk_db/ps_endpoints.ibd | Bin 98304 -> 98304 bytes .../test1/mariadb_data/ib_buffer_pool | 5 +- MySQL_conf_pbx/test1/mariadb_data/ib_logfile0 | Bin 100663296 -> 100663296 bytes MySQL_conf_pbx/test1/mariadb_data/ibdata1 | Bin 12582912 -> 12582912 bytes .../mariadb_data/mysql/innodb_index_stats.ibd | Bin 65536 -> 65536 bytes .../mariadb_data/mysql/innodb_table_stats.ibd | Bin 65536 -> 65536 bytes MySQL_conf_pbx/test1/mariadb_data/undo001 | Bin 10485760 -> 10485760 bytes MySQL_conf_pbx/test1/mariadb_data/undo002 | Bin 10485760 -> 10485760 bytes MySQL_conf_pbx/test1/mariadb_data/undo003 | Bin 10485760 -> 10485760 bytes MySQL_conf_pbx/test1/springCezenPBX/pom.xml | 15 ++ .../example/cezenPBX/DTO/PsEndPointsDTO.java | 25 +- .../controller/CezenPbxController.java | 9 +- .../example/cezenPBX/entity/PsEndPoints.java | 17 +- .../src/main/resources/application.properties | 1 - .../CezenPbxHTTPControllerTest.java | 229 ++++++++++++++++++ 20 files changed, 286 insertions(+), 15 deletions(-) create mode 100644 MySQL_conf_pbx/test1/springCezenPBX/src/test/java/com/example/cezenPBX/controller/CezenPbxHTTPControllerTest.java diff --git a/MySQL_conf_pbx/test1/mariadb_data/aria_log.00000001 b/MySQL_conf_pbx/test1/mariadb_data/aria_log.00000001 index 53eebe895ba0c58b24214b0bbf71ddaba31c9815..2bc4d79947114dc8175986914730d8304be8fa17 100644 GIT binary patch delta 368 zcmYk!xl+P#6vg3yC=yHrL|H@yWKmpM+)?8O_#awcfG4n}qxh8;Vv1CuqoMWzY%P5e zJ8K=Fxp(F?=bLl;pJQ)-5h9qTyjO7Yi_v3;*NVBc;tx&OFP`s+lplz$5A$v;|*3Uom_MBP( delta 168 zcmWl|SyF)k007|Wmlml|gpv@77HcIfNb9Q$dHC+olj*&;W*nd+bp+El^G$!hgXw=u z0wK%7R;*gHE@DH}rY+lI;u3c3N=n(2mXWpZK+d7OBLzhz$I2?IPMoT#J9F;BrG}=K pwvMhV*KYLO>brCA!J~npktbu%Uc7qqKL41_KL5T_v7f;tSO8QRI#d7v diff --git a/MySQL_conf_pbx/test1/mariadb_data/aria_log_control b/MySQL_conf_pbx/test1/mariadb_data/aria_log_control index 046d59e09145afe288ff1f296b727f2c22354f7e..f221f0d72bf9fd95c37d6b6318bddaee90aec4df 100644 GIT binary patch delta 27 fcmXppnIIwX3V;AUXwY;90v6Jeae>B+zfl#qr>T26L2pv}m#Ip@G_ z4z};=4GavHlMfyc=QIJb7+o?GbEY3;VU*Z>`lN!{#0zedU;pQ02O7TqaESF3Mp2+W zi_q-hVC8L)W7*4~12mrz2%+{c2~2fh1lqGThf#%vF=F~e7Djbu1%?L`52|rUumIJ* z_}xBzFAJkQD)=YB%+ja=uHkP?S+d>&M&~2OU0Jd&> yjsxQXX2t-Jee&$gK%2mJD#7gh47QUIXrGVu^q2Ku`wq4BmRoH+XkkC`!U+JvP*J}C delta 424 zcmZo@U~gz(-ynKGoB8Nn*Zm9#z|FwUdAdP~O@wgVjHS7fg2mJ7If{1LFZ^Mh%b~ig{u%CG01OUg6 BX*K`= diff --git a/MySQL_conf_pbx/test1/mariadb_data/asterisk_db/ps_aors.ibd b/MySQL_conf_pbx/test1/mariadb_data/asterisk_db/ps_aors.ibd index 9785d3857a09f83f72d53884a6bed9f780fd8448..b2a159c9f5ca9be52607117e558526d7aa1ca2cc 100644 GIT binary patch delta 82 zcmZo@U}wX3V;9_86c+tQH7P!p73Zz*kTO2TEWSyLIAeHU^Ttfo` Zlg*zGFxgMMAj4h2kjwxyV0E17RRACy76$+T delta 107 zcmZo@U}gJVj{#kCZ4Gd ijM|K>Q*#)dxc(minGC`k4_ew!yuboA*5UCh^P>PLvM1#L delta 214 zcmZo@U~On%-5`2Enfd$<*Zm9#z{$YG7}CHF5@0l9U}9ioV4ZAnz?hM3a?XJnYz#Vv z1_maR?;Vg3F)=hUHZf&o;b7rmU@-V^2b3@cNwArMB{m*hXvbZ^kjwzIVCL3z^C^s? z+RVrK(d}Y50kMnW0K_hcLl|F8bzszHWSg49=p@A;0J0N=Sy+J52LCsJtODVU2X*Zs Mb{yxQeEk6<0N9={lmGw# diff --git a/MySQL_conf_pbx/test1/mariadb_data/asterisk_db/ps_endpoints.ibd b/MySQL_conf_pbx/test1/mariadb_data/asterisk_db/ps_endpoints.ibd index e04003e25420fe915cb9c5c879ce954c6548759d..2235245b0ae536fb64697d2ab5c5e28c843a03fe 100644 GIT binary patch delta 291 zcmZo@U~6b#+aP*CnWbhIgAfA(a4;}2vo>%uRxxS=1#^Lzb+W|)V@9^gIS2j;FmW=o zv#>C;FgGwLFqr(`GV!4O=A8#Q7}@@=H8e0VnXGt7cJh-$ikl-2&$XF&A(*>>A(;Va z!}rqoOH&v{wOMKwy6#8V#Q?O7VMhZSRD=~svq0EP{!<+owHaBb<}f;O{XYOQ8-zC= jw6vdifdy*p!mQ0ppH6cCo4b}+bEi8HHh8U-XGIVI(gQ@$ delta 339 zcmZo@U~6b#+aP*CnfWjagAfA(a4;}2M>Oy-Rx)Zci!o#|Ffy=Bwm4wS$UZsez(0OY zW_A`9UKZv9Kn*7Uw@y6huzBY}4n{VHU_%1~lgWyQWG6p4q&PYL5FdNY-zcD%DM*af z6wLZ?P-Zjh;kh>41q{gyKzoHJPd+h)QB<3G+h*7O2p2E_oxpISfgLPz0LW%!V1>vs zKAGyksLjYWHHXnjia`KmB?z;y0HqE7Zva^W!W$3j+C%KvwwbHk?8-C;uq7vnwPd;j MiME{Vl6Bz)04rfl9{>OV diff --git a/MySQL_conf_pbx/test1/mariadb_data/ib_buffer_pool b/MySQL_conf_pbx/test1/mariadb_data/ib_buffer_pool index de03a0a..26aefdd 100644 --- a/MySQL_conf_pbx/test1/mariadb_data/ib_buffer_pool +++ b/MySQL_conf_pbx/test1/mariadb_data/ib_buffer_pool @@ -94,6 +94,7 @@ 3,24 2,24 1,24 +3,46 3,23 2,23 1,23 @@ -109,6 +110,7 @@ 3,19 2,19 1,19 +3,45 3,18 2,18 1,18 @@ -118,7 +120,6 @@ 3,16 2,16 1,16 -3,45 3,15 2,15 1,48 @@ -144,12 +145,10 @@ 1,9 3,8 2,8 -1,46 1,8 3,7 2,7 1,7 -3,46 3,6 2,6 1,6 diff --git a/MySQL_conf_pbx/test1/mariadb_data/ib_logfile0 b/MySQL_conf_pbx/test1/mariadb_data/ib_logfile0 index b31bbf5c18ff4f8366cf4aa748cdd1b1f76a2f40..ee82e5486a4b5cac1ff86baf4c3e022a0d07722e 100644 GIT binary patch delta 15938 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 diff --git a/MySQL_conf_pbx/test1/mariadb_data/ibdata1 b/MySQL_conf_pbx/test1/mariadb_data/ibdata1 index e088b514b4344a64d47f361e05a2745174bd8d2b..c3cc1241f25ac742aaa55870c3a5de64db85ceb0 100644 GIT binary patch delta 2181 zcma)6X>b#D9L;Xhq@}b?vZRevjuzx-OAqYbLIVO4kfU6JJ)iGln;XA42<%@Va6H9QQ!*$iX)W~#NF-MWWW#X%+Bub|K9KY&Rqaz zsJBn>i9VyxhTKUV4CXt-9X%G2srwgYEK*NhTs)$ z5RGAo6ud&Ra=2JdcSSmy-L^!*++1b*$0|k`EhdxEWQ3u=A@kvh#tNax-!9m~1@nW} zjP&$OIYG4bk$)9!3I5qe+pfaKYGHb0wPC(N3Dmh_?)OcCBiU5DckH=fNP`m7a0+Jq zBusgly57Ypvdd*lmOTL}O0IF)vU@xXs6o_Qsbu>|MSY*HzIV~_{nylb75UaDm&X&z zx8}QRrZqt6rpNl<1U%LO>*s~36YyBI2?$H&RF}i)-yCpwlo@!e56&F#(=~&nLcgRf==Ke%bify*u*K4tty|bl8)6+$zyKY?QM)?75-# z$`1Re9=9uXJl=o4!=5wJqUbd6`Y=t>JEF}g4HY%X+ZM?o&k-e;W(j5~MZPFXxtg`v zDh-qe8+B}vQJSG0cNnFLAnrEl_(oF@&yahCN$Ek7CromM=GYb{O%QLD$V$8l^{GW# zXO>2VlCGGgVii>4CCkMYDW{ux#3B`iGCM7jTbE0bmxN21-OP*O()f^O$h{+^Y2xil zHE@c&BSIRX8ftX^g9vH07)o8+Q>qTyCi#9(sWxcG%WI>gRjRj^-jHY|S6xcp6D=(a zGEH)HjI=yx$IBaHByYE8hE*z248M|uNBNq)BN|V7?zTYv)>9JwPM4(aMWViEDT&|2 z_Whv?&AX{=VJ{UOq@#H^4`t0?(}m^_YjZk6!Tezbzf>M>38=yamlRpR{_i^{6Gud9#o0Z-I)IwzoOs)M9gWu(Z7<&9tQ@pn~OPN}n{e zP)Ezl=Gi7hb)nkNLqkXEsK?ql>ss$7qvBe%TPZ#6v3f*tw9c*C{b$qV$r@MvKLq}d zJ5J|%>l#bkn_FC}u(v}g-kK^}jy>AcZg$5{*^~Yt;s_`46w#ZAC!Qwy5PgY$M1LZI zNF)Xj1BqvdLBwEU2r-mMB9e&|Vi=K1q!H;v1~Hs?mdGTsh-@N<$R+ZKe4>CTBt{S; zi6X*9j3P!8&kW;|%q8X#6~xQLd}0Bykf)x>zd$9}v5U-NYW^Lt-!S5%DpxkJwKfAU+{JB@PmYh|h?_L@RNG l_?$ROd_f!|juR({HsU1VCr%OV#A)J7;w$0|arOYt;a~Z$;1vJ> delta 7569 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 diff --git a/MySQL_conf_pbx/test1/mariadb_data/mysql/innodb_index_stats.ibd b/MySQL_conf_pbx/test1/mariadb_data/mysql/innodb_index_stats.ibd index f2bbc7c571e085d310a8a78acc8c6520c816dee5..194297b5c30308009d52ccd72e1596f413e11a54 100644 GIT binary patch delta 383 zcmZo@U}SCgvYMKTUprTy%2eAqOy<@tDr!6NfCo?7j;slhqGH z#Ip{EfW;0TPK3*O9)Za99D&IhP8K<80GH1`>cI6bngIfsCvQFK#q=(EGUKsC5Ct;4 z|nJo(iDN3KhJ3=qIN+4P_V*Cio1xBQ?Z*C`7q TS8DU2gXVVZK;8N)4u1sz8+;jG diff --git a/MySQL_conf_pbx/test1/mariadb_data/undo001 b/MySQL_conf_pbx/test1/mariadb_data/undo001 index 4ee5ac60be530f00e09d3b8278763f46c3f82fd2..0dbcd8655a94958f52026fc5dde6e2de8d5a90fc 100644 GIT binary patch delta 826 zcmXZW$#0bf6ozrXdrK=~8HB=zK!FM}m6kzDu|O}QNP&XP+Exn6phaecw#cKv!)#kx zE{a-XNJt1P8PdQ4Zr!m#6Bn}cPr$?&qL}FS-Q305oZp*sUZ4-rv==4wntMCK@j-dV z{MkWEXIW-=N89A!pC9j6R~JOIJ->4ItyEDej@=Gv9Me<#OOoK)-#-+`{NJ4e4{l|O zNal@r+7qUNih+s5$lHye~_O@l;v_Ytu4R)`%^j<2gB!4gGAh5 za8ASL4{QHuPZMk1y{JJ}D|1?R??`!GTRIbKLw(dBt8;VOP`_o+^1`lUgiYOd!(@DS zVa}Sm|LXdARXP=8b8qxDt4nj*-1~dQ%0DG3dD2Jnr9fVkzVedvlb5AX`pWknJzPA zro17uq(Wv(rOc5xrAp??Jee=ml9C0oP!`EzSt3j2EmayRkq0o@}X>(9kNq)$w%_BG|6uHME1yD*(dwu zfE<)Va#%ibHE=i|! Y$z@5)75PfOmaFoOd@J8c_jSJKf7J&-umAu6 delta 840 zcmY+;$#2wk9LDkf=GU=~3rvC00ZT!pAVo`21X(*G0u}`-tB7dX#0^0f6+zwCg(Q8YE;f-_c z>6)Ovedgp~b7x&JwEb{xaO=XghK7oW{vBQQ=fzAaQ;7AXX&xEO&Hlr*pf1~#-<4e* z{Brv5pQ{VOS#$pAxR_57#(Hb7rZd5$WGqdulT zT9ZNJosKXnj<;M+hf!}?U#U0Va;1NNO)gWwM0fOSQSX#A(fw=ZZ_i68@{&xEsWMHb%M6(*4U&KxWWc73I(70R zKy7Ta6Gk#)mEMX!fr5^)bsQUZceZ$o_x;TKysr=06$*vYILW1cXV=vTuZBp=*|* z_KojFZ9{>urtV-!4(pn0s5_W2{nbA!spxV2lqD^uvBrGIjWhc9kv5`V5 zyV=8D_L0VZ(#ar`17vZKLu8Y~VRAXbQS!*=7zGq^oFa-T;RJR{Imsy;l;K3-H07M3 zg0r}&ULY9eB_qHqM)5PoI1{|)4R3kJdnTD;ni*!9 SBftlOd}N*l7Wu?yzH9=Y!O6A& delta 545 zcmY+;%QsbV7{>AT-gF!(q|Gi}L_!yiE=q-6Dk`@~x`|V6)hV~4gno6tQF0Ai={Bul zEY33Oj2dOiYApl)h#0k2ze5v)ckn)+wVwACLih_g{ko>jCJY#*O6B(^cZN+anK>Qv zW2SEUVB8Q3%VCN2H)71I3r+p=)nk}SN{Fh|j60QYNj91MZ2moA2}Re`MVH4At8~#- z9{s~@d40O%@EG1zy5vx2ewjn6t|@aP6NV~#*UYW-${ig6_EsK}AqKRf6^Mn?j(n=fcJVWrD7r23!bkNBwUem=Jy6K^pKKdEpErSd( SjKv7=c+V&w_{b+d^W`6ISI##8 diff --git a/MySQL_conf_pbx/test1/mariadb_data/undo003 b/MySQL_conf_pbx/test1/mariadb_data/undo003 index ddcfc520a41a4c154cd9281a98df72c7928c5074..2ae60d668f0276bc2cbf1917d5d1794ff91b8670 100644 GIT binary patch delta 702 zcmXZWw@=go7>Dt2pxDKNo*jEZET|w@cx>p|8wz5>g1z@sxgVAX8>pbzb<)JdK_SRy zZsTt-aWN*kIyrlHx#1n&?kN}oloJZ&wbx{PoSB_SivN6zwgwrAU8Mz`;UJ}x(pp-u z;8*RZ)_77Q-#f$clul1;Rj&NpjwmhxTSW9)JNiro%x=DA*mLAemdP#5TBYmZx^p_kNAOmHP z43=COB10uC!(_OOkdZPR#>)hmD3fHeOp&QFP4Z>B6vzyjDYIm@6v`Z# zEAymCief=h^&@1vR2l~df6ZwWs_`{EwWWA zWSeZ4N~w|^QY|}Wm+Y23vR7(kpX`?da!_jJkQ|mHa#W7VaXBF;<&>P3GjdkW$$7aT z7v+*%mMapKt8z`QOP$0dkb1cxH|3Vx7NtS%$X&T7_vL{!N|QX4NAg&jrA3~|Q)!iF T@?2iXOL--)<&C`kz`OW=JU;T2 delta 702 zcmY+;M{tb+6oz5FHLNW?0j2vAtyCl9v8ehUrn4O)Fgs0 z|H8p9a<5d^$Aeh(*VnoPk*v1S$nKiF$ji*sFv(sy_FH)niN~V9tLhTLfBL(s_I2gQ z^7>FC&x`94^+|0~-Ovq_KVx?MxEl?zqO3L%P1=V>t07RW+bB#UKspring-boot-starter-test test + + + org.springframework.boot + spring-boot-starter-validation + + + org.modelmapper + modelmapper + 3.0.0 + + + + org.springframework.boot + spring-boot-starter-actuator + diff --git a/MySQL_conf_pbx/test1/springCezenPBX/src/main/java/com/example/cezenPBX/DTO/PsEndPointsDTO.java b/MySQL_conf_pbx/test1/springCezenPBX/src/main/java/com/example/cezenPBX/DTO/PsEndPointsDTO.java index 378d7d3..094cd64 100644 --- a/MySQL_conf_pbx/test1/springCezenPBX/src/main/java/com/example/cezenPBX/DTO/PsEndPointsDTO.java +++ b/MySQL_conf_pbx/test1/springCezenPBX/src/main/java/com/example/cezenPBX/DTO/PsEndPointsDTO.java @@ -1,7 +1,24 @@ package com.example.cezenPBX.DTO; -public record PsEndPointsDTO - (String id, String transport, String aors, String auth, String context, - String disallow, String allow, String directMedia, String connectedLineMethod, - String callerid, String dtmfMode, String mohsuggest, String mailboxes) { +import jakarta.validation.constraints.Email; +import jakarta.validation.constraints.NotBlank; +import jakarta.validation.constraints.Size; + +public record PsEndPointsDTO( + @NotBlank(message = "ID is required") + @Size(min=1, message="Extension point length must be 1 or longer") + String id, + String transport, +// String aors, +// String auth, + String context, + String disallow, + String allow, + String directMedia, + String connectedLineMethod, + String callerid, + String dtmfMode, + String mohsuggest, + @Email + String mailboxes) { } diff --git a/MySQL_conf_pbx/test1/springCezenPBX/src/main/java/com/example/cezenPBX/controller/CezenPbxController.java b/MySQL_conf_pbx/test1/springCezenPBX/src/main/java/com/example/cezenPBX/controller/CezenPbxController.java index c4f186e..2078369 100644 --- a/MySQL_conf_pbx/test1/springCezenPBX/src/main/java/com/example/cezenPBX/controller/CezenPbxController.java +++ b/MySQL_conf_pbx/test1/springCezenPBX/src/main/java/com/example/cezenPBX/controller/CezenPbxController.java @@ -1,6 +1,7 @@ package com.example.cezenPBX.controller; import com.example.cezenPBX.DTO.*; import com.example.cezenPBX.service.BasicPbxServiceInterface; +import jakarta.validation.Valid; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestBody; @@ -17,7 +18,7 @@ public class CezenPbxController { @PostMapping("/add_user") // this method will accept json input fields, process them using jackson then pass them to the service - public boolean createNewEndPointController(@RequestBody PsEndPointsDTO psEndPointsRecordDTO){ + public boolean createNewEndPointController(@RequestBody @Valid PsEndPointsDTO psEndPointsRecordDTO){ System.out.println(psEndPointsRecordDTO); @@ -26,8 +27,9 @@ public class CezenPbxController { return this.basicPbxServiceInterface.createANewEndpointService( psEndPointsRecordDTO.id(), psEndPointsRecordDTO.transport(), - psEndPointsRecordDTO.aors(), - psEndPointsRecordDTO.auth(), + // because the id and AORS and AUTHS are the same and have to be so + psEndPointsRecordDTO.id(), + psEndPointsRecordDTO.id(), psEndPointsRecordDTO.context(), psEndPointsRecordDTO.disallow(), psEndPointsRecordDTO.allow(), @@ -38,6 +40,7 @@ public class CezenPbxController { psEndPointsRecordDTO.mohsuggest(), psEndPointsRecordDTO.mailboxes() ); + // return false; } @PostMapping("/add_extension") diff --git a/MySQL_conf_pbx/test1/springCezenPBX/src/main/java/com/example/cezenPBX/entity/PsEndPoints.java b/MySQL_conf_pbx/test1/springCezenPBX/src/main/java/com/example/cezenPBX/entity/PsEndPoints.java index 384d6a7..7c1b228 100644 --- a/MySQL_conf_pbx/test1/springCezenPBX/src/main/java/com/example/cezenPBX/entity/PsEndPoints.java +++ b/MySQL_conf_pbx/test1/springCezenPBX/src/main/java/com/example/cezenPBX/entity/PsEndPoints.java @@ -1,9 +1,6 @@ package com.example.cezenPBX.entity; -import jakarta.persistence.Column; -import jakarta.persistence.Entity; -import jakarta.persistence.Id; -import jakarta.persistence.Table; +import jakarta.persistence.*; @Entity @Table(name = "ps_endpoints") @@ -70,6 +67,18 @@ public class PsEndPoints implements PBXentiry{ public PsEndPoints() { } + //This ensures mohsuggest will never be null in the database — it defaults to "default". + @PrePersist + @PreUpdate + public void applyDefaults() { + if (this.transport == null) {this.transport = "transport-udp";} + if (this.context == null) this.context = "default"; + if (this.disallow == null) this.disallow = "all"; + if (this.allow == null) this.allow = "ulaw,alaw"; + if (this.directMedia == null) this.directMedia = "no"; + if (this.mohsuggest == null) this.mohsuggest = "default"; + } + public String getExtension() { return extension; } diff --git a/MySQL_conf_pbx/test1/springCezenPBX/src/main/resources/application.properties b/MySQL_conf_pbx/test1/springCezenPBX/src/main/resources/application.properties index 48cb15e..fac65e4 100644 --- a/MySQL_conf_pbx/test1/springCezenPBX/src/main/resources/application.properties +++ b/MySQL_conf_pbx/test1/springCezenPBX/src/main/resources/application.properties @@ -12,7 +12,6 @@ logging.level.org.hibernate.type.descriptor.sql.BasicBinder=TRACE logging.level.org.springframework.web: DEBUG logging.level.org.hibernate: ERROR -logging.level.=DEBUG #using J-SESSION ID till i use JWT server.servlet.session.cookie.secure=true \ No newline at end of file diff --git a/MySQL_conf_pbx/test1/springCezenPBX/src/test/java/com/example/cezenPBX/controller/CezenPbxHTTPControllerTest.java b/MySQL_conf_pbx/test1/springCezenPBX/src/test/java/com/example/cezenPBX/controller/CezenPbxHTTPControllerTest.java new file mode 100644 index 0000000..6ae070f --- /dev/null +++ b/MySQL_conf_pbx/test1/springCezenPBX/src/test/java/com/example/cezenPBX/controller/CezenPbxHTTPControllerTest.java @@ -0,0 +1,229 @@ +package com.example.cezenPBX.controller; + +import com.example.cezenPBX.DTO.PsEndPointsDTO; +import com.example.cezenPBX.service.BasicPbxService; +import com.example.cezenPBX.service.BasicPbxServiceInterface; +import com.fasterxml.jackson.databind.ObjectMapper; +import org.junit.jupiter.api.Assertions; +import org.junit.jupiter.api.DisplayName; +import org.junit.jupiter.api.Test; +import org.mockito.Mockito; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.boot.test.autoconfigure.web.servlet.WebMvcTest; +import org.springframework.boot.test.mock.mockito.MockBean; +import org.springframework.http.MediaType; +import org.springframework.mock.web.MockHttpServletResponse; +import org.springframework.test.web.servlet.MockMvc; +import org.springframework.test.web.servlet.MvcResult; +import org.springframework.test.web.servlet.RequestBuilder; +import org.springframework.test.web.servlet.request.MockMvcRequestBuilders; + +import static org.mockito.ArgumentMatchers.*; + + +@WebMvcTest(CezenPbxController.class) +@MockBean({BasicPbxService.class}) +public class CezenPbxHTTPControllerTest { + + @Autowired + private MockMvc mockMvc; + + @Autowired + private BasicPbxServiceInterface basicPbxServiceInterface; + + // test for exception when user passes null value + @Test + @DisplayName("Null value input") + void testCreateEndpoint_whenUserEntersNullValues_thenAppMustReturn400() throws Exception { + + //ModelMapper modelMapper = new ModelMapper(); + + // create a new object for an endpoint DTO + PsEndPointsDTO psEndPointsDTO = new PsEndPointsDTO( + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null + ); + + httpTestSupportForEndpointCreation(psEndPointsDTO, 400); + } + + @Test + @DisplayName("1001 value input") + void testCreateEndpoint_whenUserEntersProperValue_thenAppMustReturn200() throws Exception { + + //ModelMapper modelMapper = new ModelMapper(); + + // create a new object for an endpoint DTO + PsEndPointsDTO psEndPointsDTO = new PsEndPointsDTO( + "1001", + null, + null, + null, + null, + null, + null, + null, + null, + null, + null + ); + + httpTestSupportForEndpointCreation(psEndPointsDTO, 200); + } + + @Test + @DisplayName("Empty value input") + void testCreateEndpoint_whenUserEntersNullValues_thenAppMustThrowException() throws Exception { + + //ModelMapper modelMapper = new ModelMapper(); + + // create a new object for an endpoint DTO + PsEndPointsDTO psEndPointsDTO = new PsEndPointsDTO( + "", + null, + null, + null, + null, + null, + null, + null, + null, + null, + null + ); + httpTestSupportForEndpointCreation(psEndPointsDTO, 400); + } + + @Test + @DisplayName("Wrong Email Format input") + void testCreateEndpoint_whenUserEntersWrongEmailFormat_thenAppMustThrowException() throws Exception { + + //ModelMapper modelMapper = new ModelMapper(); + + // create a new object for an endpoint DTO + PsEndPointsDTO psEndPointsDTO = new PsEndPointsDTO( + "1001", + null, + null, + null, + null, + null, + null, + null, + null, + null, + "mathew" + ); + + httpTestSupportForEndpointCreation(psEndPointsDTO, 400); + } + + @Test + @DisplayName("Correct email format") + void testCreateEndpoint_whenUserEntersCorrectEmailFormat_thenAppMustReturn200() throws Exception { + + //ModelMapper modelMapper = new ModelMapper(); + + // create a new object for an endpoint DTO + PsEndPointsDTO psEndPointsDTO = new PsEndPointsDTO( + "1001", + null, + null, + null, + null, + null, + null, + null, + null, + null, + "mathew@gmail.com" + ); + + httpTestSupportForEndpointCreation(psEndPointsDTO, 200); + } + + private void httpTestSupportForEndpointCreation(PsEndPointsDTO psEndPointsDTO, final int testHttpStatus) throws Exception { + + RequestBuilder requestBuilder = MockMvcRequestBuilders.post("/cezen/add_user") + .contentType(MediaType.APPLICATION_JSON) + .accept(MediaType.APPLICATION_JSON) + .content(new ObjectMapper().writeValueAsBytes(psEndPointsDTO)); + + // Act + // get the result of the simulated post request + MvcResult mvcResult = mockMvc.perform(requestBuilder).andReturn(); + + // Assert + Assertions.assertEquals(testHttpStatus, mvcResult.getResponse().getStatus(), "Incorrect HTTP Status code"); + + } + + + // database error or duplicate value check + @Test + @DisplayName("JDBC returns true when value attempts to persist and values checks out") + void testCreateEndpoint_whenUserEntersDuplicateValue_thenAppReturnFalse() throws Exception { + + //ModelMapper modelMapper = new ModelMapper(); + + // create a new object for an endpoint DTO + PsEndPointsDTO psEndPointsDTO = new PsEndPointsDTO( + "1005", + null, + null, + null, + null, + null, + null, + null, + null, + null, + null + ); + + // now mock psEndPoints and basicPbxServiceInterface + Mockito.when(basicPbxServiceInterface.createANewEndpointService( + eq("1005"), // Arg 1: psEndPointsRecordDTO.id() + isNull(String.class), // Arg 2: psEndPointsRecordDTO.transport() - is null + eq("1005"), // Arg 3: psEndPointsRecordDTO.id() again + eq("1005"), // Arg 4: psEndPointsRecordDTO.id() again + isNull(String.class), // Arg 5: psEndPointsRecordDTO.context() - is null + isNull(String.class), // Arg 6: psEndPointsRecordDTO.disallow() - is null + isNull(String.class), // Arg 7: psEndPointsRecordDTO.allow() - is null + isNull(String.class), // Arg 8: psEndPointsRecordDTO.directMedia() - is null + isNull(String.class), // Arg 9: psEndPointsRecordDTO.connectedLineMethod() - is null + isNull(String.class), // Arg 10: psEndPointsRecordDTO.callerid() - is null + isNull(String.class), // Arg 11: psEndPointsRecordDTO.dtmfMode() - is null + isNull(String.class), // Arg 12: psEndPointsRecordDTO.mohsuggest() - is null + isNull(String.class) + )).thenReturn(true); + + + + RequestBuilder requestBuilder = MockMvcRequestBuilders.post("/cezen/add_user") + .contentType(MediaType.APPLICATION_JSON) + .accept(MediaType.APPLICATION_JSON) + .content(new ObjectMapper().writeValueAsBytes(psEndPointsDTO)); + + // Act + // get the result of the simulated post request + MvcResult mvcResult = mockMvc.perform(requestBuilder).andReturn(); + + // --- Get the Response --- + MockHttpServletResponse response = mvcResult.getResponse(); + String responseBody = response.getContentAsString(); + // --- --- --- --- --- --- + + Assertions.assertEquals("true", responseBody); + } + +}