From c1835f3275dd047393e05f92085a42bd61a5bd39 Mon Sep 17 00:00:00 2001 From: AndyWalshe Date: Thu, 25 Apr 2019 11:20:38 +0000 Subject: [PATCH] Update Sanity tests to verify PNF package onboarding Change-Id: Ibf7af544bf5fb9c63cf8d9c1573dafe50a395560 Issue-ID: SDC-1970 Signed-off-by: AndyWalshe --- sdc-os-chef/scripts/docker_run.sh | 2 +- .../Files/PNFs/sample-pnf-1.0.1-SNAPSHOT.csar | Bin 0 -> 22793 bytes .../PNFs/sample-signed-pnf-1.0.1-SNAPSHOT.zip | Bin 0 -> 23132 bytes .../sdc-api-tests/files/default/cert/root.cert | 21 ++++++++++++++++ .../sanityApiTests_2_setup_configuration.rb | 9 +++++++ .../sdc/ci/tests/api/ComponentBaseTest.java | 3 ++- .../dataProviders/OnboardingDataProviders.java | 3 ++- .../dataProviders/OnbordingDataProviders.java | 24 ++++++++++++------ .../sdc/ci/tests/datatypes/enums/XnfTypeEnum.java | 17 +++++++++++++ .../org/openecomp/sdc/ci/tests/sanity/Onboard.java | 18 ++++++-------- .../sdc/ci/tests/utils/general/FileHandling.java | 5 ++++ .../ci/tests/utils/general/OnboardingUtils.java | 27 +++++++++------------ .../tests/dataProvider/OnbordingDataProviders.java | 3 ++- .../ci/tests/execute/sanity/OnboardingFlowsUI.java | 3 ++- .../sdc/ci/tests/utilities/FileHandling.java | 2 +- 15 files changed, 97 insertions(+), 40 deletions(-) create mode 100644 test-apis-ci/sdc-api-tests/chef-repo/cookbooks/sdc-api-tests/files/default/Files/PNFs/sample-pnf-1.0.1-SNAPSHOT.csar create mode 100644 test-apis-ci/sdc-api-tests/chef-repo/cookbooks/sdc-api-tests/files/default/Files/PNFs/sample-signed-pnf-1.0.1-SNAPSHOT.zip create mode 100644 test-apis-ci/sdc-api-tests/chef-repo/cookbooks/sdc-api-tests/files/default/cert/root.cert create mode 100644 test-apis-ci/src/main/java/org/openecomp/sdc/ci/tests/datatypes/enums/XnfTypeEnum.java diff --git a/sdc-os-chef/scripts/docker_run.sh b/sdc-os-chef/scripts/docker_run.sh index 6378726b11..2832f62fe9 100755 --- a/sdc-os-chef/scripts/docker_run.sh +++ b/sdc-os-chef/scripts/docker_run.sh @@ -525,7 +525,7 @@ function sdc-api-tests { docker pull ${PREFIX}/sdc-api-tests:${RELEASE} fi - docker run --detach --name sdc-api-tests --env HOST_IP=${IP} --env ENVNAME="${DEP_ENV}" --env JAVA_OPTIONS="${API_TESTS_JAVA_OPTIONS}" --env SUITE_NAME=${API_SUITE} --log-driver=json-file --log-opt max-size=100m --log-opt max-file=10 --ulimit memlock=-1:-1 --ulimit nofile=4096:100000 ${LOCAL_TIME_MOUNT_CMD} --volume ${WORKSPACE}/data/logs/sdc-api-tests/target:/var/lib/tests/target --volume ${WORKSPACE}/data/logs/sdc-api-tests/ExtentReport:/var/lib/tests/ExtentReport --volume ${WORKSPACE}/data/logs/sdc-api-tests/outputCsar:/var/lib/tests/outputCsar --volume ${WORKSPACE}/data/environments:/root/chef-solo/environments --publish 9560:9560 ${PREFIX}/sdc-api-tests:${RELEASE} echo "please wait while SDC-API-TESTS is starting....." + docker run --detach --name sdc-api-tests --env HOST_IP=${IP} --env ENVNAME="${DEP_ENV}" --env JAVA_OPTIONS="${API_TESTS_JAVA_OPTIONS}" --env SUITE_NAME=${API_SUITE} --log-driver=json-file --log-opt max-size=100m --log-opt max-file=10 --ulimit memlock=-1:-1 --ulimit nofile=4096:100000 ${LOCAL_TIME_MOUNT_CMD} --volume ${WORKSPACE}/data/logs/sdc-api-tests/target:/var/lib/tests/target --volume ${WORKSPACE}/data/logs/sdc-api-tests/ExtentReport:/var/lib/tests/ExtentReport --volume ${WORKSPACE}/data/logs/sdc-api-tests/outputCsar:/var/lib/tests/outputCsar --volume ${WORKSPACE}/data/environments:/root/chef-solo/environments --volume ${WORKSPACE}/data/${SDC_CERT_DIR}:/var/lib/tests/cert --publish 9560:9560 ${PREFIX}/sdc-api-tests:${RELEASE} echo "please wait while SDC-API-TESTS is starting....." monitor_docker sdc-api-tests fi fi diff --git a/test-apis-ci/sdc-api-tests/chef-repo/cookbooks/sdc-api-tests/files/default/Files/PNFs/sample-pnf-1.0.1-SNAPSHOT.csar b/test-apis-ci/sdc-api-tests/chef-repo/cookbooks/sdc-api-tests/files/default/Files/PNFs/sample-pnf-1.0.1-SNAPSHOT.csar new file mode 100644 index 0000000000000000000000000000000000000000..6142b9bb95f7fd2e0ff8a3d55b8f6dedf433da0f GIT binary patch literal 22793 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 literal 0 HcmV?d00001 diff --git a/test-apis-ci/sdc-api-tests/chef-repo/cookbooks/sdc-api-tests/files/default/Files/PNFs/sample-signed-pnf-1.0.1-SNAPSHOT.zip b/test-apis-ci/sdc-api-tests/chef-repo/cookbooks/sdc-api-tests/files/default/Files/PNFs/sample-signed-pnf-1.0.1-SNAPSHOT.zip new file mode 100644 index 0000000000000000000000000000000000000000..d97e6397110c40669d55baeee350866acff314a8 GIT binary patch literal 23132 zcmaf&Gq@-U&=`+x+qP}nwsDVb+qP}nwr$(C^3vq{(oS=fTguDu!v5k{%l5|=n z2TI7m*N9zhfiUyT${GTUCuMAGc*76}REMv(nkEV zz+GX=N22}Q0F!x}KXyPdl1isX(INm%sWX0{c#r@rKqwaYf;#kz;*KOWPlikOq_MwB z>OC+Tz7aba2n`?tLWF)(b=HXkuIjE@tko~$jLeQE!#U+*8h8iJPIxzsE2k|*UTz(Q zd^vsrm9*sL*0nunFtZJ@6GFxWVY{b-Qbh;!BZ67M%IO3(o#~Gr-Hp4hqRe#$Y?faA zV(r%1Q#;G{b7!m7m$53)T1%=Gz5J=6Y;0h+_ZhZiF6QMHHrvh{Mb_MID}32;m%ACz zszIFxReC`NZj_Ix29Auw-{kf05EbR??OC95s$>d19~eDiZM4C-Nu-72k(D0{z0fIL&R(3A6>A-^GuyRhw~1mc5;a$+f?{u- z(1}(L1qa}-A#0S4Anb7MxBX9t^5(vjIiKNzr=F}o00n7qi2sSP!v6uB@ISz%p}*=R z|ASi{1ONc<{|&gQqq9x2bW)`RLde^9DHzGL^v;6VcSQi1~`7galdp?(_Ks^3CA!o8tIx$FX9t7jF=&Dv!(3jAt z0sKjtRuNFgV5~oR>^E==*TGU@300Tp+}m4ID}w0fT04=gm+N5t4A4upkq- z?XSfJ3eH?6&Sw|lv!{|Fo)~};P-j8*d3mffnU_N>y0X& ztq;qW5MwVt{A>Qv5bEiTX_0(L`6xs9+A5l*>0Wfp!Ize9*O@Z=36fJ$$^rPAuO4xh z461bQ(h&dRTo_c6HI`-@oRVn4Q4!zZ$VmzWw-(1|R_D$^w%ejjOu3@Ar;8!gT~1c- zYf>7kOWR8*bQX2tX_c2X?`2S{19eM%V>Q0r;gk-e+r~)^OZMw6?;y$wwiAxa+SVxe z+T+|_%1}^~TEdMWXhXdf*26(c2;=^#%AmN&bn-5W_+_Bv0yZlilYBmD6&)0Ju1X0` zlD0kV*sQi@>c};K&&I@K7e74~8ZVv4`c9gomq_Y!rFM*txQ~yqF0*ZR-Qjdw!`mzh zpuo30R=`&;0N}iW%2;E9O7>D<(*Vh7x|+DssDUqy^hUY<>e+00+0-=F!t5k;)(HZ| zhi04X(L~*t5Xi=SmQv)oizN(lO`Lo)0AXWSc;=|ij=6eAGdgz6RL7;jmWA!cM&Q1O zVU@HmD{q=%wKN)Rlp!$`!_ox~ZBY%5!N#iY=~O_YcICTAmughMO@@&y%^DV;udpBP zMLYlXV+;{uxdQwY^tGNjR9P(jVE3^H$iLcJ=3vBxfD0a-kB!<^^la0k!xudAA$zJAM(kJ$N5G5zT&<;kd33i-q^kWE#?1I@Bfxk3YmbrKnVZ#V7Qk;GU%Yb*(~sTU&!6DP z&M$r!(JyjkpNdGx#mS6Lv`man^e;LF6x1dE0KnEO7oQjb0ilus!RcR3ry1R>8W?~R zJFvNzHW`^2FuQ+81z;3l7hqFBR9R34b5L1A&JF5c>5`h)&Iu&4e0_#blwfHDYB8@;{yVbyBgR^7f zpXoeO*EZtL;N^C0JH>GS986Ex={&2vwfU;QBlz2CWkdv7x=HHm&$-npWY^Ubo620? zT;Xi~oW&Ao*8-PrqW8s4^Z8oS*4yHlOp<890CvFL66n>r#wlSH`c~cZOk3NGFj;4z zSnqs;`tkl91^o7W&gjERuNuzYgcxRCBcL0mA6Gt&)iW3!?^8kyBW(NKy?bc8KBiM* z&;v~kA|{xnn=3~_-HDT+^Wz90wzwAO0F|?iJ&iU?9b0?HXmq&+ilxTtc2~JMSTb#&0j0>mQM?o z9mxU;yK)z=`F`;%x@w&{bn0xuTH=(fDwOC=!Kp_45%xEn9}_xdu>$f_8!tfs<0Q>I z;#B>_c8Xp0DuP`MD(aLi?l;+nO3(HtD)<|obmK6o_=MYYX5vKp8D%EN>sB3gXoHN$ z(=;~RbrR8qPuX%gZ>(2)MdMOK*V8yl&e?^B&?oDiQ-K3Fk#}nO+PcWr0qF9VdfS7d zXQ`fXHy%hQmik^Sb|-2f2>_fG?m;wGD7ZvOKs{>_bOE%(!=+!^fIgDSoafShNy>JyY(M^ z_)@XDB8)Gv4?yTz4YS4gHGBK%XPZ@eexHXv%i&@)`h9MNbxtr^ zk6cST33~f!ont$$UnrXcgEDDc%7i^Bu;5vE;CR}!TD>R?e0nU|z;Ykgu+-+MVuzS+ zaMZOoE2Ni!C;nngv=-QWie>rMBB*Bm?JT>3WL3>sMv=T?&x8$=1fe3zss%kuvu&E{ z`zp^j=|Q#RZCIJxnpZ9zY)mZ&0L0r?)br~ej<4MMKYFd$TLi*PXMK^oA+9itODJID zf~sJsCNwS}nMS)K6Y+W{G(GStltyEZI9oX7Ou2Vn}>^MN;Xd3(Eys?mXR$b%({L;AV;p@Rg^?d=_8%w!tni zyznfeUX^jxD_<8V!pV;^9w~+gz`MffJ}UGdY_mSk_H;6obDTzknC2chv`Q;$D)n@&a?~!a=t$cfK|9k%>$V{S2}Sxky{#_oVi!mBA%r3yo40NjZ;!` zk;T{Fz>h?>`}i2W|5@P^Xy zuOH~aZ)*^PV?{A3y=`-1c@>RWN&Jl#RD)4fgVh&Tb>-DucH$Pl zH{1PScd^01dtSJl+FViFQdhFZVk1*oIpLp2>DS1ksc4g5Y3_UO+ZlO!st;JhAE0xBDV|agqX9-m{y9$4gOjcptNxNmJ3>>SeV8j zb=*uXp*CQZJVa09I=@6RD=MOPHKF07IuNS$@kMkdkPcKp1unY=q#=wl+Ef9hQb?h5 zj`^`kcu}-V0=-D=jkPEqj`O`T?OZXq8fIk|17PUDy}tSc2f6-Jntpkd!A48{an;=K z_yrk237u!OPQ<+d0)_`zt;{(*kJWgvEJ(?fY~Z0Q5Dt=$sLdY&^D@XrGwFEA4P>%Q@y zGwIE&dv&ATF@%apZ-%_Ok>|(&rh{EHO=7e+=+)?k(Y#Ga25Z-e3rEU@*y@Tv&ps3B zQz4%EXF%&ocal`GxVy%ai9SoJ0m#Kkc6B@+US9FUP7p9j$z>I!5XYXC*96&?a%8}t zl&kEsIHh|IKAI(Zx~ceKRK)ZM1`v>7EGxRy9RtyW1UvU(2lofe4(1tuf@Ytl@^_q*em#RXKrzm|bKzo1K(w48p zGYpwnhCCskF}%;;hexeBwFn(V=vsI7CzV@@8|^9T+vf^{cLB{6LHBh?@#!*tO*l=N zL+qmM#H_ERUcNLJ?-T6r@Jh=r@@SD9g;;G(4AFS-VSX&YJ4GjLJ*cc|85RD{I5fI# z`sQxmDww!!L?~F6enRY1jC3h9bFvvUkBe<AvzUsUj2 z8$d!0KBal-nvv2?zm;VyjXW=cd0#kMC6h}1iFklTYpEY>m z=Yrn_r;}h(uvClSn96Rh zo>>rtLLlYfqzHOvXmV^k3Wd%|c+x{?4)H1O94280$=oAM+%kJEf1wdK-px4LK~5zo zcS(!lxXzUgP>B4phK0e_c$OCfZh?x(&sIzlLzZ)7=%?7j{fk@@e+{p*f=lh z>p5aKFE0MB5^DvWd+is9kq4!mOx<=;mez?~Unf>x7npUtJU`EBs&e-Bbhp|%$z^-X zoO>RRP6v^~ZZQLteHs9XK2<}N>E0pKeTUwoFsh_Wa8A@5&yhO?(D{%UtPiI5cDMe} zr-#W)%sk7l#U31;CM$G!9#svhIm3@(t1Vz2sR-0%`C;#^*VvUx^5!fK_Pc?+a5_d4 z*M4{*qZdDt(Bg9>isn^FvZ!ocCi54AsR+jwfzuX#cXSgy*edjaA)s-G?+wG7KHuXe zl*5TnMG$Mh zqfg4$E=5{@>tIhaV3L9E$rT-Yx5#}k8^g(E=G%`^%aR+0_}R}Eg-MQmx5ye5VM@(sa>w$q&BCrgjGZ4x0HS-V z=8D~>tN%ObKY%+D%3KX9GB=XZ=qJ@OtbicdCy1jHCB&X6LAqI~)&(JoE^B^iX30a-_puYEqSXr8Xha%~mMSzdqcQm$VVq`qJ2xasKP{eOMcWVq*yH ziZ3|RY7OCBNEt~zq^*%)&yf>9|B5Ke(5n}g2peMt<{nfZr8Dby;NrIDn#zHBwNFZt zU9K!L%-m!wbSKH%P*J<*p8zoWeGkKlObzVl!!oB8nZ3V*!^bh!K)dT9e5_JliM*l%xa?k zJoC=zf(L0mvJ4T(DUF=n3o%e=pC*CVk{}oxRWd{0!m$dc`gF$>_Ee;qJq0#k_rjT| z_dBsXThL<7Y3J>+IN9Fuf5Fm@oN&;Z6@ewrwJ{1tdv^R&<+u9WL`v^|On?L8nh#Gj z49uE}HC%uM9TUc`EdFk->7nhOpR>@-<#ea}_lcCwpHAswRHEW__yXrQ+j2E}HdzhA zvz!3;R%^#mgNcp@%bG|#Ie8GIQITo^KJSi=`&ZAAwq-^FCqP}x0^YbsIIY@I3aEYm zfUH~hyG#k-$K(Pqt24Zx&6Ev*9SQV{oQyZ?_3cFyXG`>%UdOb(OVZn7KBjgG1A zAq&K3t1ke3SGAvBqo}Q$t)9=k$!dmVT|pLN%mM;_-cvUH7CDM;&Y!cpjyhj+`+nuy z*(3lJs`rI8>DiC}$%3Z`Xmv90B~N8Xw(N~-7oJCQX(-MDkeDE;CmNiEB+bv8d)NA& z2BxS-t?&I5ygw-ARs^FIy2LY~cN6u(^+)%>!qj`8&+^=e=2L&a=ews}md5pCDm(f# z?WM<62A@U0a;yaOxGQPNDC9^QaA*TQl?@6VGx1lrxmWwG-cj_35$qB@VuLj%So3Tu zqy<8O6~tfIs)HQaTe)W`ZDb6rr?QCzel+Tf_s^iG30_f6a>|5&o&(z`CjzsSI=*=z{u$teOY zLht~t&Ix460zCjLc=gMt z&Z2?KpyO*xm@s9_V3xlLK2TRk7{9dS=t?{g}nE~EFnKY+h(1TeT>!+$}r^VK4~WlAl;ZbnM~GrfY&w?yE>xczCC&3Cul z!8C{$82vt5y5eWRT#>RVFM^R74%x5X<#%dJ!A~$rwwT8s>>*8D;CIAkTiwQG2UEzu zfVvg^Wsv;3a^u5cY!-+t9;4TrY4)QqvfVbC5e|04H>->@7d%ed7w5?7Jb4JoP{|gb zaHfm4h!`?^(<5f|g#;F^gDZAXob<*bjftF4>{y8-6m`4kU;4rerq%^*f_2Qxv0h2B zNAGq_q*=&lw<0hHaEdPxIK@GL{Z};svOl?I%X>sEh>pVv=XWGp!Semml44LefW;1Z|YfTEz?hOMxV`9X!Vd<}-RZeOea zvm^1^cB~!=T~>03vR02m^n7Wf1#prw9t8Og9s)2r;Co;OZ*erPK6ilM4=*6T>Ahu+ zH8_pPhaoRS~E;+ zM2Y-WQ+AUQvL_?Z%nw9_dGiN1vGT<0Xs@fSZ2ju^-_FE|2Y=DnUC|9r$!Kk$Rkt;U zGsu`|UuSRx>mA8L9@Cy=>&N;BgERTK+RtUF>Gg$tvz|prv_k$p8NwdmlSr6&qwa~> zOBTplbgEpjS7ug~BRH-jVS6d@RCTLKz9K;@Ck!9I{ynsuqjL@5Gtz{EwqQP-7T}W* z1PkF^NTod2@$G|vJ_-Ij^>2@Y-H^yVMVQxjv^s+ck8=sMP#oi;g#`e}xTP31DU4FZjR*`7sYV3}vRl;Ff$ME=1Nv zt0Gm+O9)y(-WYHS>YrXGWNm)>=2Sc;PJ+PZGnx}IyFWli(s9nbLvOxb+FE5NU86F` z25(QwE@&=E5O(X76*keu!C}hyMSL-^laU-1!(HNaqh~HH;$a_X10ggwvc0NuO{?9- zj|;2CWXJYxpsnv2&J4oD2qg>~v-l0hYc zE<@*NxVe<1D$j3$xq#LJypp2%wn&3(E2g z+0Z%j;UA6#>M@&BwV5BnXk}7TG27^zjtpPrrgg#PPmoE94E1~O35`(1#ou}@MUDfQ zC}Q40&?wNlcwceG3ZT@{upZKO5efQP?;mdY=%s_tT)W@k#uz(cr|wJ9$T-tq7AnXW z=AV`mmVP>{CIw+q^MF;c=7OC$S9NOta=Glzv!&b}g#^QYjf>4woFbRH!0X0i@WF9s z%G?va1(yp8Y7?XKMyK+iq{!)V4k0@}jf+U>GQ)Z$y)9-r6tX{RT2$}zpM5Gs*nBa? zA4Q4gBqC3>gIxgVg9p~#ziB1YreMB>eBfF^z|5i^fWbAUoM<`jit3 z)kEh~b+b64J1vX3D=;VvP;N7*K!V~nIs5;>nZ|J<65;XIqDn z-@B0UhDX5A(I6YSr{Trr$iD7Qf9xFVH`K8|8y&%DuN8 zAjkiiB!>ZuK-wawi6htIntJAy^8WfN-qACSXuY$|3!E5<1R6RVXx(A%D-n%o zg&8_Moox2dP~r6#FLv*Jla>~zNdsW`I#0oaN++{r)Dqk;U058}SWc$3_!28V1jISN zsiitUih7*i0J+NV_(Kxahgo`z$f_gu!ks2HIDN&#ufuJIU&9a;11=4;yKRQl`BLyf zw16nOj1tkDV0EFj1Uf>MyHWO9*^)}=ZDvl`H|8!0F$1_LMslCjzb`CEsHb7r0;;a(ruxT=qrH8UiFszp zFumC{?l|u^@|{(afisj0&5a~;&^qq{ZAqPldx_9$>cYwb}Rur`v zgF?U7(N6_xe|cBgOmF$3BgGzgJ2e)o8rCupCa1%h#lJ$yqp2Wpu;X}iyNbD{gx12W zloF}l>e&EVF8hH-3F9I*DU3F{c@eB_YQ2}CtcU@drP3h7`2*%P=B*b%RW}`j;ZutQ z)?VyNdpB84%yQvQTeN;Wp*hVZ*tli5STJ=oi8Xq+ArOAVwscSNQvLyD0& z*I6pbK>)SNRs*!$`L7U`IE$%TG{yE^KodsUYGDWxb}=xv_(-QUj0so<&zd3F^Ut{C zg2TCyoStE36#|G>9OK|N$fnHz%6qORO4(J=dOrvaUFE8iw=`Yo7fGb6ZzCDF;|m|P zFf^{~er4`#Plk=1F325W8*rvZkDrH$1y`DUb%j9~3^bLktd0hY&j_YCC&q!_!odU1 zT)WPOEM?bk3gicPL>&*3>5t8Xxko`c2@)FBTss?=HX-+hp29H(HQBlfd?z|5uV*Tkkl+%v}55@$yW+HegxO z%Tv4q_XI^<&V`btShn9)rBa>RmP2NfI5Ho$Rep~bap9Nn=CO;&wCSyE^DHxQv=i)+ft&sz}R6ZM1grdkVB)lwMq^HP;_Gtk-H>pR)_rzit{kyxTFAxUqf8G!er^TSj7y115&Vf(AOMZE zZ|PhUf8m{41knZVCT5EIU5Q>MozZ5so zAeQKj{Bs0Dv7=p~QnnLy-)?FcJ3<5~Vjlll7#jEzB=uN~6+(xS!2O6mnjom{`% z7c59&Q8v^BL`GX|85|V2(@M?J+B`an=jZR>A9bxOcMs=LHRW85#de#1S{nIf!`id%2wk5cql<@HSfqL}6#q*%;MO`D!z9=b`Uu!^JVCC9c&9SY5$(#nJK? z%t*5OJWkJ&%>psae*VN4vfu`ju%)C;JZe(kwxrH&do_zxuN|R8wZ=*GX%{u!`A^hW zf96mkaP&)t1wO0t!rs`Re-DI)yVh_b-bV6{=y#g-N{$}!d4s1;E>0#G%$CVCd}9*A z^6${^^a!e2O}?ov0fEknR<2*6wHlE;uKGfn63Q$Bq~X3d>K6SU`X?rwcLZ=P*9%=+ z8hn9$`Ol*~HVy4cMMrduadvO)!GT~NJ%Q)Nw!taS2~!7bEqZu{Lvs?uv=IN*x=Hlv zSQQ𝔣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 literal 0 HcmV?d00001 diff --git a/test-apis-ci/sdc-api-tests/chef-repo/cookbooks/sdc-api-tests/files/default/cert/root.cert b/test-apis-ci/sdc-api-tests/chef-repo/cookbooks/sdc-api-tests/files/default/cert/root.cert new file mode 100644 index 0000000000..8db7c191a6 --- /dev/null +++ b/test-apis-ci/sdc-api-tests/chef-repo/cookbooks/sdc-api-tests/files/default/cert/root.cert @@ -0,0 +1,21 @@ +-----BEGIN CERTIFICATE----- +MIIDYDCCAkigAwIBAgIJAKqOa8IS4G5sMA0GCSqGSIb3DQEBCwUAMEUxCzAJBgNV +BAYTAkFVMRMwEQYDVQQIDApTb21lLVN0YXRlMSEwHwYDVQQKDBhJbnRlcm5ldCBX +aWRnaXRzIFB0eSBMdGQwHhcNMTkwNDAxMTY1NDU0WhcNMTkwNTAxMTY1NDU0WjBF +MQswCQYDVQQGEwJBVTETMBEGA1UECAwKU29tZS1TdGF0ZTEhMB8GA1UECgwYSW50 +ZXJuZXQgV2lkZ2l0cyBQdHkgTHRkMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIB +CgKCAQEA4MWjUSuRVMn6LtN32JqCwIC7Gqi+drYof+uDV20jA48wohFj2nX87Eqb +W6vlz3VoEZeGCRk583l3hxctHl8t1hWwLuuCUJPOYCytkZkN0vBkfEumhg3sAy0/ +81DKO/GmEwB0H/xs6fVYFRS+KoQblCMVEcO86jsvlLi4wEaFGDWnj5YeTsYbB5Nt +gzBUGYVx0yMGIvMMZy6j2Etu4LNuiyp9Ji9kNp2/3a/eO5Q1eTOq1aIPfg75S61k +PAyraf7wreOmlbN+tV+cho0GlFOdsIs9Nl/dlf1SuIGLw6+/YEv9mhRyZQ88Gq35 +Kqx3BYna+uktKSZ/UkRfT/KyiGPNsQIDAQABo1MwUTAdBgNVHQ4EFgQUSWuR/OMI +iYFthwlP9Zw4PPAjGcEwHwYDVR0jBBgwFoAUSWuR/OMIiYFthwlP9Zw4PPAjGcEw +DwYDVR0TAQH/BAUwAwEB/zANBgkqhkiG9w0BAQsFAAOCAQEAxKoUuvCQp52dqi0g +h818IS4lK7A/uiP4xvCitpaVitQD4qMdRhmwtkx2Y++AD1aiOG0JqcLFtas7JFCI +Fi8ZMLG2CgVE8G3p1pg2o1ORhqtM+gBr3s1kwNILi5UpcGtkgRUrjMWsYo4Igiwu +dDyvjkdwaDXjVnl12joofGJMqPkg0zKiQDLwGEaGUI8lrSyP1NI0zKJoUOiSK6ss +QwyQa4Kge0qLxvCbPHLIiSD8/hEMQnruvvL7j8MqhcU4x0f+2p87xRWrtEBYHYH9 +/jQhlGaqrBb7F40LsgqqTjMLQMnGjEEuyTxO356Bv8DwI497N+I2Hxm98UY5YzUM +bR057A== +-----END CERTIFICATE----- diff --git a/test-apis-ci/sdc-api-tests/chef-repo/cookbooks/sdc-api-tests/recipes/sanityApiTests_2_setup_configuration.rb b/test-apis-ci/sdc-api-tests/chef-repo/cookbooks/sdc-api-tests/recipes/sanityApiTests_2_setup_configuration.rb index 7321155232..595b24a6d1 100644 --- a/test-apis-ci/sdc-api-tests/chef-repo/cookbooks/sdc-api-tests/recipes/sanityApiTests_2_setup_configuration.rb +++ b/test-apis-ci/sdc-api-tests/chef-repo/cookbooks/sdc-api-tests/recipes/sanityApiTests_2_setup_configuration.rb @@ -41,3 +41,12 @@ template "titan.properties" do :DC_NAME => node['cassandra']['datacenter_name']+node.chef_environment }) end + +bash "Make root cert file available" do +cwd "#{tests_base}" +code <<-EOH + cp /root/chef-solo/cookbooks/sdc-api-tests/files/default/cert/root.cert /var/lib/tests/cert/root.cert + echo "root.cert file made available for tests." +EOH +end + diff --git a/test-apis-ci/src/main/java/org/openecomp/sdc/ci/tests/api/ComponentBaseTest.java b/test-apis-ci/src/main/java/org/openecomp/sdc/ci/tests/api/ComponentBaseTest.java index c0f209fdd2..4f74345182 100644 --- a/test-apis-ci/src/main/java/org/openecomp/sdc/ci/tests/api/ComponentBaseTest.java +++ b/test-apis-ci/src/main/java/org/openecomp/sdc/ci/tests/api/ComponentBaseTest.java @@ -107,7 +107,8 @@ public abstract class ComponentBaseTest { public void setupBeforeTest(java.lang.reflect.Method method, ITestContext context) throws Exception { System.out.println(" method.getName() " + method.getName()); - if (!method.getName().equals("onboardVNFShotFlow")) { + if (!"onboardVNFShotFlow".equals(method.getName()) && + !"onboardPNFFlow".equals(method.getName()) ) { logger.info("ExtentReport instance started from BeforeMethod..."); ExtentTestManager.startTest(method.getName()); ExtentTestManager.assignCategory(this.getClass()); diff --git a/test-apis-ci/src/main/java/org/openecomp/sdc/ci/tests/dataProviders/OnboardingDataProviders.java b/test-apis-ci/src/main/java/org/openecomp/sdc/ci/tests/dataProviders/OnboardingDataProviders.java index 29de86adb3..6b58baf981 100644 --- a/test-apis-ci/src/main/java/org/openecomp/sdc/ci/tests/dataProviders/OnboardingDataProviders.java +++ b/test-apis-ci/src/main/java/org/openecomp/sdc/ci/tests/dataProviders/OnboardingDataProviders.java @@ -1,5 +1,6 @@ package org.openecomp.sdc.ci.tests.dataProviders; +import org.openecomp.sdc.ci.tests.datatypes.enums.XnfTypeEnum; import org.openecomp.sdc.ci.tests.utils.general.FileHandling; import org.openecomp.sdc.ci.tests.utils.general.OnboardingUtils; import org.testng.annotations.DataProvider; @@ -25,7 +26,7 @@ public class OnboardingDataProviders { @DataProvider(name = "VNF_List" , parallel = true) private static final Object[][] VnfList() throws Exception { - List fileNamesFromFolder = OnboardingUtils.getVnfNamesFileList(); + List fileNamesFromFolder = OnboardingUtils.getXnfNamesFileList(XnfTypeEnum.VNF); System.out.println(String.format("There are %s zip file(s) to test", fileNamesFromFolder.size())); return provideData(fileNamesFromFolder, filepath); diff --git a/test-apis-ci/src/main/java/org/openecomp/sdc/ci/tests/dataProviders/OnbordingDataProviders.java b/test-apis-ci/src/main/java/org/openecomp/sdc/ci/tests/dataProviders/OnbordingDataProviders.java index 9f9fd99bd9..e834d6e436 100644 --- a/test-apis-ci/src/main/java/org/openecomp/sdc/ci/tests/dataProviders/OnbordingDataProviders.java +++ b/test-apis-ci/src/main/java/org/openecomp/sdc/ci/tests/dataProviders/OnbordingDataProviders.java @@ -1,5 +1,6 @@ package org.openecomp.sdc.ci.tests.dataProviders; +import org.openecomp.sdc.ci.tests.datatypes.enums.XnfTypeEnum; import org.openecomp.sdc.ci.tests.utils.general.FileHandling; import org.openecomp.sdc.ci.tests.utils.general.OnboardingUtils; import org.testng.annotations.DataProvider; @@ -12,7 +13,7 @@ import static org.testng.Assert.assertFalse; public class OnbordingDataProviders { - protected static String filepath = FileHandling.getVnfRepositoryPath(); + protected static String vnfFilepath = FileHandling.getXnfRepositoryPath(XnfTypeEnum.VNF); // -----------------------dataProviders----------------------------------------- @DataProvider(name = "randomVNF_List", parallel = false) @@ -21,26 +22,33 @@ public class OnbordingDataProviders { List fileNamesFromFolder = OnboardingUtils.getVnfNamesFileListExcludeToscaParserFailure(); List newRandomFileNamesFromFolder = getRandomElements(randomElementNumber, fileNamesFromFolder); if(newRandomFileNamesFromFolder == null){ - assertFalse(true,"Requered number of VNF files not exists under " + filepath); + assertFalse(true,"Requered number of VNF files not exists under " + vnfFilepath); } System.out.println(String.format("There are %s zip file(s) to test", newRandomFileNamesFromFolder.size())); - return provideData(newRandomFileNamesFromFolder, filepath); + return provideData(newRandomFileNamesFromFolder, vnfFilepath); } @DataProvider(name = "VNF_List" , parallel = true) private static final Object[][] VnfList() throws Exception { - List fileNamesFromFolder = OnboardingUtils.getVnfNamesFileList(); - System.out.println(String.format("There are %s zip file(s) to test", fileNamesFromFolder.size())); - return provideData(fileNamesFromFolder, filepath); + List fileNamesFromFolder = OnboardingUtils.getXnfNamesFileList(XnfTypeEnum.VNF); + System.out.println(String.format("There are %s package file(s) to test", fileNamesFromFolder.size())); + return provideData(fileNamesFromFolder, vnfFilepath); + } + + @DataProvider(name = "PNF_List" , parallel = true) + private static final Object[][] nfList() throws Exception { + List fileNamesFromFolder = OnboardingUtils.getXnfNamesFileList(XnfTypeEnum.PNF); + System.out.println(String.format("There are %s package file(s) to test", fileNamesFromFolder.size())); + return provideData(fileNamesFromFolder, FileHandling.getXnfRepositoryPath(XnfTypeEnum.PNF)); } @DataProvider(name = "Single_VNF" , parallel = true) private static final Object[][] SingleVNF() throws Exception { - List fileNamesFromFolder = OnboardingUtils.getVnfNamesFileList(); + List fileNamesFromFolder = OnboardingUtils.getXnfNamesFileList(XnfTypeEnum.VNF); List newList = new ArrayList<>(); newList.add(fileNamesFromFolder.get(0)); System.out.println(String.format("There are %s zip file(s) to test", fileNamesFromFolder.size())); - return provideData(newList, filepath); + return provideData(newList, vnfFilepath); } // -----------------------factories----------------------------------------- diff --git a/test-apis-ci/src/main/java/org/openecomp/sdc/ci/tests/datatypes/enums/XnfTypeEnum.java b/test-apis-ci/src/main/java/org/openecomp/sdc/ci/tests/datatypes/enums/XnfTypeEnum.java new file mode 100644 index 0000000000..b2181227f2 --- /dev/null +++ b/test-apis-ci/src/main/java/org/openecomp/sdc/ci/tests/datatypes/enums/XnfTypeEnum.java @@ -0,0 +1,17 @@ +package org.openecomp.sdc.ci.tests.datatypes.enums; + +public enum XnfTypeEnum { + + VNF ("VNF"), + PNF ("PNF"); + + private String value; + + private XnfTypeEnum(String value) { + this.value = value; + } + + public String getValue() { + return value; + } +} diff --git a/test-apis-ci/src/main/java/org/openecomp/sdc/ci/tests/sanity/Onboard.java b/test-apis-ci/src/main/java/org/openecomp/sdc/ci/tests/sanity/Onboard.java index 99bfad6bbd..1f8e8b5c06 100644 --- a/test-apis-ci/src/main/java/org/openecomp/sdc/ci/tests/sanity/Onboard.java +++ b/test-apis-ci/src/main/java/org/openecomp/sdc/ci/tests/sanity/Onboard.java @@ -80,9 +80,14 @@ public class Onboard extends ComponentBaseTest { @Test(dataProviderClass = OnbordingDataProviders.class, dataProvider = "VNF_List") public void onboardVNFShotFlow(String filePath, String vnfFile) throws Exception, Throwable { setLog(vnfFile); - System.out.println("print - >" + makeDistributionValue); runOnboardToDistributionFlow(filePath, vnfFile); } + + @Test(dataProviderClass = OnbordingDataProviders.class, dataProvider = "PNF_List") + public void onboardPNFFlow(String filePath, String pnfFile) throws Exception, Throwable { + setLog(pnfFile); + runOnboardToDistributionFlow(filePath, pnfFile); + } @Test public void passTest() { @@ -99,10 +104,8 @@ public class Onboard extends ComponentBaseTest { User user = ElementFactory.getDefaultUser(UserRoleEnum.DESIGNER); ResourceReqDetails resourceReqDetails = ElementFactory.getDefaultResource(); VendorSoftwareProductObject vendorSoftwareProductObject = OnboardingUtillViaApis.createVspViaApis(resourceReqDetails, filePath, vnfFile, user); -// vendorSoftwareProductObject.setName(vendorSoftwareProductObject.getName()); // create VF base on VNF imported from previous step - have, resourceReqDetails object include part of resource metadata -// ResourceReqDetails resourceReqDetails = ElementFactory.getDefaultResource(); resourceReqDetails = OnboardingUtillViaApis.prepareOnboardedResourceDetailsBeforeCreate(resourceReqDetails, vendorSoftwareProductObject); ExtentTestActions.log(Status.INFO, String.format("Create VF %s From VSP", resourceReqDetails.getName())); Resource resource = OnboardingUtillViaApis.createResourceFromVSP(resourceReqDetails, UserRoleEnum.DESIGNER); @@ -126,18 +129,11 @@ public class Onboard extends ComponentBaseTest { if (makeToscaValidationValue.equals("true")) { - ExtentTestActions.log(Status.INFO, String.format("Start tosca validation")); + ExtentTestActions.log(Status.INFO, "Start tosca validation"); AtomicOperationUtils.toscaValidation(service ,vnfFile); - - } - - - ExtentTestActions.log(Status.INFO, String.format("The onboarding %s test is passed ! ", vnfFile)); } - - } diff --git a/test-apis-ci/src/main/java/org/openecomp/sdc/ci/tests/utils/general/FileHandling.java b/test-apis-ci/src/main/java/org/openecomp/sdc/ci/tests/utils/general/FileHandling.java index 72610331d9..4dbc8b2dee 100644 --- a/test-apis-ci/src/main/java/org/openecomp/sdc/ci/tests/utils/general/FileHandling.java +++ b/test-apis-ci/src/main/java/org/openecomp/sdc/ci/tests/utils/general/FileHandling.java @@ -25,6 +25,7 @@ import org.apache.commons.io.FileUtils; import org.openecomp.sdc.be.model.DataTypeDefinition; import org.openecomp.sdc.ci.tests.api.ComponentBaseTest; import org.openecomp.sdc.ci.tests.config.Config; +import org.openecomp.sdc.ci.tests.datatypes.enums.XnfTypeEnum; import org.openecomp.sdc.common.util.GeneralUtility; import org.yaml.snakeyaml.Yaml; @@ -140,6 +141,10 @@ public class FileHandling { return getFilePath("VNFs"); } + public static String getXnfRepositoryPath(XnfTypeEnum xnfTypeEnum) { + return xnfTypeEnum.getValue().equals(XnfTypeEnum.PNF.name()) ? getFilePath("PNFs") : getFilePath("VNFs"); + } + public static String getPortMirroringRepositoryPath() { return getFilePath("PortMirroring"); } diff --git a/test-apis-ci/src/main/java/org/openecomp/sdc/ci/tests/utils/general/OnboardingUtils.java b/test-apis-ci/src/main/java/org/openecomp/sdc/ci/tests/utils/general/OnboardingUtils.java index 8b5f91b53d..1a15f46c08 100644 --- a/test-apis-ci/src/main/java/org/openecomp/sdc/ci/tests/utils/general/OnboardingUtils.java +++ b/test-apis-ci/src/main/java/org/openecomp/sdc/ci/tests/utils/general/OnboardingUtils.java @@ -23,6 +23,7 @@ package org.openecomp.sdc.ci.tests.utils.general; import org.openecomp.sdc.be.model.User; import org.openecomp.sdc.ci.tests.api.Urls; import org.openecomp.sdc.ci.tests.config.Config; +import org.openecomp.sdc.ci.tests.datatypes.enums.XnfTypeEnum; import org.openecomp.sdc.ci.tests.datatypes.http.HttpHeaderEnum; import org.openecomp.sdc.ci.tests.datatypes.http.HttpRequest; import org.openecomp.sdc.ci.tests.datatypes.http.RestResponse; @@ -34,9 +35,9 @@ import java.util.*; public class OnboardingUtils { /** - * excluded VNF file list + * excluded VNF or PNF file list */ - public static List exludeVnfList = + public static List excludeXnfList = // new ArrayList<>(); Arrays.asList( // DUPLICATE_RESOURCE_ID_IN_DIFFERENT_FILES: @@ -85,9 +86,9 @@ public class OnboardingUtils { ); /** - * additional files to exludeVnfList files for tosca parser tests + * additional files to excludeXnfList files for tosca parser tests */ - protected static List exludeVnfListForToscaParser = //new ArrayList(); + protected static List excludeXnfListForToscaParser = //new ArrayList(); Arrays.asList( "1-Vvig-062017-(MOBILITY)_v5.1.zip", "1-Mvm-sbc-1710-092017-(MOBILITY)_v7.0.zip", @@ -177,18 +178,14 @@ public class OnboardingUtils { return headersMap; } - /** * @return - * The method returns VNF names list from Files directory under sdc-vnfs repository + * The method returns XNF names list from Files directory under sdc repository */ - public static List getVnfNamesFileList() { - String filepath = FileHandling.getVnfRepositoryPath(); + public static List getXnfNamesFileList(XnfTypeEnum xnfTypeEnum) { + String filepath = FileHandling.getXnfRepositoryPath(xnfTypeEnum); List fileNamesFromFolder = FileHandling.getZipFileNamesFromFolder(filepath); - //Please remove the hardcoded configuration ONAP Tal G!!!!!! - fileNamesFromFolder.removeAll(exludeVnfList); - //List halfResourceListByDay = divideListByDayOfMonth(fileNamesFromFolder); - //System.out.println(halfResourceListByDay.toString()); + fileNamesFromFolder.removeAll(excludeXnfList); return fileNamesFromFolder; } @@ -213,8 +210,8 @@ public class OnboardingUtils { * The method returns VNF names list from Files directory under sdc-vnfs repository excluding zip files that known as failed in tosca parser */ public static List getVnfNamesFileListExcludeToscaParserFailure() { - List fileNamesFromFolder = getVnfNamesFileList(); - fileNamesFromFolder.removeAll(exludeVnfListForToscaParser); + List fileNamesFromFolder = getXnfNamesFileList(XnfTypeEnum.VNF); + fileNamesFromFolder.removeAll(excludeXnfListForToscaParser); return fileNamesFromFolder; } @@ -230,7 +227,7 @@ public class OnboardingUtils { String vnfSourceFile = (String) objectArr[i][0]; String vnfUpdateFile = (String) objectArr[i][1]; - if(!exludeVnfList.contains(vnfSourceFile) && !exludeVnfList.contains(vnfUpdateFile)) + if(!excludeXnfList.contains(vnfSourceFile) && !excludeXnfList.contains(vnfUpdateFile)) { filteredArObject[index] = new Object[]{vnfSourceFile , vnfUpdateFile }; index++; diff --git a/ui-ci/src/main/java/org/openecomp/sdc/ci/tests/dataProvider/OnbordingDataProviders.java b/ui-ci/src/main/java/org/openecomp/sdc/ci/tests/dataProvider/OnbordingDataProviders.java index aefee13cc2..5832e87186 100644 --- a/ui-ci/src/main/java/org/openecomp/sdc/ci/tests/dataProvider/OnbordingDataProviders.java +++ b/ui-ci/src/main/java/org/openecomp/sdc/ci/tests/dataProvider/OnbordingDataProviders.java @@ -1,5 +1,6 @@ package org.openecomp.sdc.ci.tests.dataProvider; +import org.openecomp.sdc.ci.tests.datatypes.enums.XnfTypeEnum; import org.openecomp.sdc.ci.tests.utilities.FileHandling; import org.openecomp.sdc.ci.tests.utils.general.OnboardingUtils; import org.testng.annotations.DataProvider; @@ -25,7 +26,7 @@ public class OnbordingDataProviders { @DataProvider(name = "VNF_List" , parallel = true) private static final Object[][] VnfList() throws Exception { - List fileNamesFromFolder = OnboardingUtils.getVnfNamesFileList(); + List fileNamesFromFolder = OnboardingUtils.getXnfNamesFileList(XnfTypeEnum.VNF); System.out.println(String.format("There are %s zip file(s) to test", fileNamesFromFolder.size())); return provideData(fileNamesFromFolder, filepath); diff --git a/ui-ci/src/main/java/org/openecomp/sdc/ci/tests/execute/sanity/OnboardingFlowsUI.java b/ui-ci/src/main/java/org/openecomp/sdc/ci/tests/execute/sanity/OnboardingFlowsUI.java index 419ca6e7ae..6a02a917f8 100644 --- a/ui-ci/src/main/java/org/openecomp/sdc/ci/tests/execute/sanity/OnboardingFlowsUI.java +++ b/ui-ci/src/main/java/org/openecomp/sdc/ci/tests/execute/sanity/OnboardingFlowsUI.java @@ -24,6 +24,7 @@ import com.aventstack.extentreports.Status; import org.openecomp.sdc.ci.tests.dataProvider.OnbordingDataProviders; import org.openecomp.sdc.ci.tests.datatypes.*; import org.openecomp.sdc.ci.tests.datatypes.enums.UserRoleEnum; +import org.openecomp.sdc.ci.tests.datatypes.enums.XnfTypeEnum; import org.openecomp.sdc.ci.tests.execute.setup.ArtifactsCorrelationManager; import org.openecomp.sdc.ci.tests.execute.setup.ExtentTestActions; import org.openecomp.sdc.ci.tests.execute.setup.SetupCDTest; @@ -91,7 +92,7 @@ public class OnboardingFlowsUI extends SetupCDTest { @Test public void onboardVNFTestSanity() throws Throwable { - List fileNamesFromFolder = OnboardingUtils.getVnfNamesFileList(); + List fileNamesFromFolder = OnboardingUtils.getXnfNamesFileList(XnfTypeEnum.VNF); String vnfFile = fileNamesFromFolder.get(0).toString(); ResourceReqDetails resourceReqDetails = ElementFactory.getDefaultResource();//getResourceReqDetails(ComponentConfigurationTypeEnum.DEFAULT); ServiceReqDetails serviceReqDetails = ElementFactory.getDefaultService();//getServiceReqDetails(ComponentConfigurationTypeEnum.DEFAULT); diff --git a/ui-ci/src/main/java/org/openecomp/sdc/ci/tests/utilities/FileHandling.java b/ui-ci/src/main/java/org/openecomp/sdc/ci/tests/utilities/FileHandling.java index 0394513de0..35460f6cb2 100644 --- a/ui-ci/src/main/java/org/openecomp/sdc/ci/tests/utilities/FileHandling.java +++ b/ui-ci/src/main/java/org/openecomp/sdc/ci/tests/utilities/FileHandling.java @@ -202,7 +202,7 @@ public class FileHandling { filenames.add(file.getName()); } - filenames.removeAll(OnboardingUtils.exludeVnfList); + filenames.removeAll(OnboardingUtils.excludeXnfList); return filenames; } -- 2.16.6