From b527a40422c054d2d57503d51ba849822a4183fc Mon Sep 17 00:00:00 2001 From: graphitezeppelin Date: Thu, 29 Oct 2015 00:10:50 -0400 Subject: [PATCH] new comments, fixed some tests, 4 more fail atm. Hopefully no merge issues as I touched US2 tests --- bin/US1S4NameExists.class | Bin 3905 -> 4178 bytes bin/US1S5InvalidPassword.class | Bin 4070 -> 4343 bytes bin/US2S2MakeNewRepo.class | Bin 5138 -> 5093 bytes bin/US3S1FeaturesToggle.class | Bin 4820 -> 4864 bytes bin/US3S2AddCollaborator.class | Bin 4215 -> 4738 bytes bin/US3S3AddWebhook.class | Bin 4500 -> 5008 bytes bin/US3S4AddDeployKey.class | Bin 5161 -> 5683 bytes bin/US3S5TransferRepo.class | Bin 0 -> 4909 bytes bin/US3S6DeleteRepo.class | Bin 0 -> 4847 bytes bin/US3US5TransferRepo.class | Bin 4367 -> 0 bytes bin/US3US6DeleteRepo.class | Bin 4326 -> 0 bytes tests/US1S4NameExists.java | 5 ++ tests/US1S5InvalidPassword.java | 8 ++ tests/US3S1FeaturesToggle.java | 79 ++++++++---------- tests/US3S2AddCollaborator.java | 18 +++- tests/US3S3AddWebhook.java | 16 ++++ tests/US3S4AddDeployKey.java | 21 ++++- ...ansferRepo.java => US3S5TransferRepo.java} | 19 ++++- ...S6DeleteRepo.java => US3S6DeleteRepo.java} | 18 +++- 19 files changed, 136 insertions(+), 48 deletions(-) create mode 100644 bin/US3S5TransferRepo.class create mode 100644 bin/US3S6DeleteRepo.class delete mode 100644 bin/US3US5TransferRepo.class delete mode 100644 bin/US3US6DeleteRepo.class rename tests/{US3US5TransferRepo.java => US3S5TransferRepo.java} (81%) rename tests/{US3US6DeleteRepo.java => US3S6DeleteRepo.java} (80%) diff --git a/bin/US1S4NameExists.class b/bin/US1S4NameExists.class index 52760529908e984f575df3a98fd793d67d755648..4f6e866deb5f30d5f31f481722efa037bfcc61aa 100644 GIT binary patch delta 1131 zcmZXT+jCP@6vlr$Npo^JNo_2RwYEeWYfG`gdzlPE9vBrj#vk%vQiOjFwwPEH+o z>Y(+0ts9jhDqitY(L${aNTq1KR7J(xzu_O?Z6$>V$2l{5?X~vW-}=_K_L*-vp9n4f zeR2-Cf#0V>2mOA72NZ33Ue)i~Xx(p>a!z5lyJ4@L8*zu70Aq^AWV_|$M~3X8TiUUD zXGd4A-zw(q_KtLz{XA^)2#+cvcJ+?kTLn<8Y0nM_UTRQsQ@yTJDCW~U^cG*s=;mDm zcFs))cwDgWEZI)c8nP3GQo1b%6 zbg@fC`*>#ArT=d~t+yGiD_${qm8inEXQUwD_1qocbp;{r;7yaacw0{xt^NbNWAd&( zYuxMmP_eS2s9ql!^M7J8OIa@l*7;9y+Tc@N8(bZo<1W<3VS#GB@0Ijxmgzu1bj^%b?s%qYs7RBZQ6X1$YghGf-o=0DYLk=Qzkt|vxD z*G1#Yj&oLWFVxs-NWO>9_1frV$%}y5&N5#pdZbKj0#m%N6h{flW>N2pt{S~nKyMSR zZ>O1!v`VvWWJQ`yBFPr{zc)#9o9UMQTDDf_k`Ph|k)^rR%CzSAUT8GP7|w}kOHDW8 x{fjn(1<|kOA9?1=kQ`Zlkc6KEz{7cdmZE~`<$4*!Fa98>#QrKaBlb6c@L$it`B?w} delta 916 zcmY+C=}!|;6vcn9t)0$vELgEv7X&qkfYvSU#<*`_Vl>eZH6gX)jTB(gPbahRh9 zM--{0(UQ=*vQ2B_p=q&LBpSCl#&P}Fn509Vtk5Z&)A$swEoE!vtu%@}oKs-2fJ&Px z&MVxJEoH?UVv1fl`iIfeEK0Cnw7I0KJgZ&T6uG)xrRnu%K!?mt?mISjxu>hmsb)P5 z1`iZ@Nx*M2=xpSn?rY_`9{s&sVTH{$4j4RE1e36DmJw{@sm-&5Fn4h{9N8TA(nh<@ z3*BLjS8p1|de1AfnQn+ww(GBU@nZju+(xqfyPDb4!WsuH>{m2%s9q2bf)e}SmYBf+ zc}9`REV3wOAln!uJ+M33=u1DT6esjBJ6)aB-@6AUXxXxn^d`;}_|N7wQBjGJ*UW_k zyEDli5H&CalN@?5R2Xw*R=ytYOAlVgBYan+FZm}KhPdnCD%EUE?tS!b#4fsPdIA1DKWw9Mim;=NOg=c#AuUPj z;8VvL@s1X^XupiWZ%AT~+)4izM`n*|_W_iXiw~L6t9{+R zSw1p3rHD(zVmtncd5a5rzkiMTPM`5#41{n~i%&F023KbD zjg7WV(R_-1$$0pF_YB6ZhEoXNQzTzvmy1-12MxA{_m|6$6**8Ymv}-^XVN68RrO6+GuO#e0Gm6pU%!m$!o~_vtk`CRve^&IY5SCln=4Dz>^OlE#D#IG3&A zlmF25NbM%6-b|QVuJAEZp$nHu&Q#xxDdXR=$+@Xh6k-)uRe_E#4;+oH}xAWIP zH3Mr>&@OMen+43DL5ob9XNRm@VX25! zETVCZAqB4U1nW;Es(cFrZa{QPqdjADPejx~KtK+mEQXD@iN?~9U^4#)(S@@IyPLR0 z!Dx!~;Wo#hv;tA8^1cS#!Cl#GcQxM=1U4wJ)znvF>{rCfG&Ka1&52>oROW9{W`&nMR@@63tHde!OA~7hn4|;f6`X w!}ts7D#pk;>JPtsp>hw0H{9@+Ney_1_cW!Zk&GAOgJQuD>qpi?)=9cL}cQ?>l zaR!Hf@BrmEs8mGpsz*II+9qgGJfR|pT5nOT)rz3j`@rLE8V82aKeF%r-tWEdeczYe zb=6~4^6+0fb^yBgxj8;dnDsIO*?iCw_J8+kXJNcDjg?$5h_)2l6 zYa=#^xQD@)ol?|jhZawoG<7fTOTQ1Bn3V%l;Ek1)7(EfF`O#JX!q zEYzV%c#H;4C|;!*VLh5*B%zOtSf=S+WwB_OTA$?mrD^PGepITNvsJ}5G%%dfrkRaN zUDsmfrFy%Jehi8jV91T@ZGmf&v8WknFbqvMRiu#SL6`1-PDKpWmMyzfynrGG$F<3* zDWeqi5?*G2j9GY9#cu53hh3FIKVDO@mwV-_9d9z!@?A;+ACvQWuN)ITQ1Kx?;!~A+ z;UGR0@d;n5%*r{0&*(o0wbNdPX}nx4bTwFqc_KcihC)7~goSY&7V#CIua;JSZAlSH z$|YK-sbCyOReWPH6GGvzmdKR8Q!&9;sb{gDwhgKCY_5H9!cOnf^_;mYn$tMfhT83@ z@faywkVdl&X|xbqtCUP(dA79p(Ud{# zoP>Qo<8b)^UJQC(svE#7JrL_s80LHO&MtmEvt=JmkzvQ+6X{K}VL#sBrJfpgfS>P~ z-TW5brtLXYAHh5Hw7SWYCJ_hd^e*0`Tg#gWMQeZlbPL!G>S(E5%dEt2Ok+{U*3@kmBzYH&XmV GaQy@IY)wD_ delta 1225 zcmZ9LX>e0j6vzKJ%UhCXlcpQ7P`f~zHkF7v!njP8e$ol;FqHxAR7o?BHZwE{$t$)h zjx)*!T%kutTNZb5q>5~9fC5%75lbkziMHBH zY1H0Vq2M-wymrHgCoc>H+9F1KXY1^6tRvt=J?_wOC+?!v(p+^ddSt8O`m+aKA3zrF; z(WV>qor#1VH5Mh7J1~f}j1;-m0_$!(OFlJG`+|ljd}b9dX?Pja1Z*ohBZdPds8jH& z030|62Q(bSYqU?TkOuLFhBs+KU1obvpr*%`PeYDEy2TNdKGkp-pV3iAojQUqWQ+>< zd*rj|8fT962)?A4v&Qz7sd3JTvxxRPgX%cGm+_r|m*SeYM#B##x6IsE>RpBtRW!wmn#SmDN+wlt!y1>#&MVslhe>nCxzWeB8So_ocDXhQ&1=m&Y@RN66y7Ks-hb zxkch}TIepYZBAo8^}1`CPlef%!qum-pOmK9pE`wo>;D?!*%r)l>=0PsuT5cqCfvci z=Q6ZwAYl*BEKI)F#F#t86?pku#r0V@R+*>;gLpn`@?xfUWdnF6=-KBV!2UkS{uExP z4Y?P4-^zHt%~{-uW2lt*N3!4@yi1e0)#4Bpd*(F0j}Q2+9M*^NA&=&131WeaL%jM3 zAM>txe>+F>{`~B{pO{VjTwt-SKWOdeJ-~%rjL~|}oPuF|&B~P1LK$P6`3;SFrp^2> zE$C09S j55KejAAG=qKk*mGGr3o5`9b|HsTkpSjN>Mb$0hY&(L+C8 diff --git a/bin/US3S1FeaturesToggle.class b/bin/US3S1FeaturesToggle.class index bccdc4bf2930cebd700148245f9731fd2b84b24f..5db603282fc0ba441cc7838edd95e61e36e30746 100644 GIT binary patch literal 4864 zcmbVPhkFy}9ez)ieX@OEES3qukOdwX1)D&ESY9N62SFYIO5iM=q{F8>ad*PFD}B1s zbfkMEok>SJXq%(~+o4IiN1C>2o3?4wy?6hCH0}G{$(D>{=o9;S?)&b$@3-II(33Ab z`Z$0s__vIJgr&o=j@ahCn(F3k%^9*%DMOPHl(6KadRmPbs+o!mj-Axvu7s+Dt)JFx z32XZ-I~B3Ant4i%IGUlEdM*gP7XDl{4c&I0YrE{OMszU))J9JZbcS)#dY95gg?6wkG z4Jy!}U>TNIL&6mbs!=23N(n12HpW+`2CLB^uC7&33xx*u>83W2%ZzFEkUC~)!Vgwl zHAYlh7w`GQpqtjI!t%Z{QJ{g9hLzf9O4!g;;)H1FN%M%%V1t56RLN+Tu(DKH-AHJ* zxYnvbMyLjDh{)J9FWi2V6kLzZ4CHCy(7~jH^~Fl~kcc*yYEgqGbO_gNpZs7KU%>zdCDbN$Gtp~k8OqVasn=H z=<)FomY9-dw%?}Uu&^(nCj{4{3SN?@&{SK-?elV@JFVI=?Nm-P%v@4``Fb{FO~di{e^L5ET$17D6IFCoDS=0^wH`w=x;s6{@5a=t7mCsb-j2 zA(7(#w$jnu;Vcup_l&47EF+E#CeYGCCd_@2uPX<*A` zWew%;Ml0Db#9w1IUW3=kcrA0tb7;=hjY!-w<2lyH`dfX{er?-1>peH68 z#wG95oV)NQ8E<5jxwJX6Iw^QF-XdYKp2-rix@%01sycIJf7AZUh`OAIXC<(>NO-G) zYjGVbsjE3|nHtTyS%i}zUW$hBP6_psR?cp-wXEf|C3VBq>=52fhnU)gI1J&vEOn7c z&N#Y9Pwd)kaFI=9E)Zi2Nq>KkhDB|j;Q>VjxB}P7lPcu`Q<9r*kbHsnJ z>4?bvvrIov`)tlhYj&F$791yp&%Fp6=o(=|2oG{d&>bhI6@2pWi{Q7#=O)J%B{R}&*IN{G)%bY7n)PN28DD3PmrJGrE0&9=^HD6ShJi7bqK2~d zhpmPkn*rKb_H%iTBw4IG-gq~M6^>X(MCJRgg74w`bfPn%yYcjpB_VS8dZgNH%3_Ri zE#cxH;72lk$Wf-8m4%WyR7|Ge8T^~xZWIAP* z?-l$(9LWjY$uI#VtS+mg$C4UVtHL#cp^U%G>zqSr+nVr)*_s&ZTU^_#i^;a3Okvz4 z>OG6lKGW3fZbKwFCCmBt#Z;UZ6#`+l?BXhx-3m6FDg?wJ%UwWBs@}>e+*>(fbG-tK zcutggXLWq9FM1Dqdrt7Yv4S@akSntf%UhuAYOWV?#RErvFNro zjZ{Hg!OE*Whpxd|G@_l)UaZ3j+Ud}~yJ_Klv`<*Q&bKUYHEqO6&#hvY;4VNPjMGaM zFnBx2w+t-qs<_K?6^=K(bN=F_zfaNM&N-}a3A^XeB5a+(X^GBwDO(v{^)OyNgEs^* z+7hk{ho^9NLE{zlGC1znqL~qCK`Z||u(2pMTk={;c-sORz1`PH%8(bMDb)%EE*G(P zlsbIw$ai@7T}2*$&otgw@VFPv_m>`hu)uT{1{WQLKTN7A+&7JndrUr4N^#Lq__OmV zK3__4(NXxJIf{a#ccG4Mx}KoeOlY+82T2EK_bqU71Mb9DP9WRZ)Nf?WZo*U8j%N|Y z-?0NPV5d}r-GzWiwQ~Xa!U6$##19Au4zHX1_`bmW$`nD6<0x#5_Y3_y`Sn zIA0>fw|dbV4W8|#4Wcy1vEqt3# zA)Q&#FOydQPvSdy*=erA^ku&3Pl;rBS_0+w<>lAW!k^5OKgb4@Am*wS$ zJ*m%2SkX7*}$}WmHBomc$}_1fi=X=H5kKs#F?xb@1}?)jTA{@D8--d=^_X2 z&Kpq2M1KZ<^pw2{fAR{AFl7}g{)6>0o?`?n|I20|$-KkIpJ~ruc_Dzm5sacWRPYDV V9{i)Knq$Hq{FCclT>n*7{Xe8g-HQMK literal 4820 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 delta 2123 zcmZ`)S#(oX6x}!PHSZ;Pl#-?`6ooPsNQXcfZNUmvoCGyeIn%MaIb`6KFnNfrfM{M_N(d(PhH>~r7SI^?fB=jDG+ zodYl$S9dxuO1J2p*~>r=q&pyxX}|%ehAcTz^wmA+Wf^C0lkmo$^AO(>@AgG>n#AXs1G74|Yr)G$F#vkz46 zM!9UT7uzSHLc?Ua-(H|h!Blz0zFZ^am>G@j%<#y0TBf35hWu6J<~cD7vo%x+WUTV9 z_4^wA;W}S+ED{XY8JL5)(q|jvs>FP&8Vdw#aKPqqFVeA4K=_=f#3BQWu|)2+mFbmO zYT!OBlUHqnJw;e<-~r1=sWW3b`~syis0~zOW~f>2(6Su?m>O0JFgeBJp1i@pgQyco zTi@)D)e967Dod)Gr^nV@;8$69L2wtg)i&jlpokLUTPCt>e9@>5l~Ji$Z3o){I#9$YP^)&lX(i zLI|4-Y)-}IO$~9cEfm}3 z@7hT5q|DO?6bA6LfoCifS0Ea#HXF?VY3kTPLX*NPBj&oiN`Iu;r0IDX(sN2e*kwRs znSjPxTI`+Jjh8gMNZFbqb-q<=!oiqtQZ#BtnCQ#cBU|+{@rwLIFB)8g{RUpQl2BK# z3DVPpr8?defTjIg2HwUYS>YI@@5Z|Z-opYJcC1v733x4Cp5*({PqeoN8M6vok|Ej|=iQr&qn0w0mT+E8ytFE)Aaw^hv}z;?nwd;&TI+Ejo68 zAYeAfT!F>aLKN4G7kxKWkA!QKnLoB@`q^%XZ{pZ=9MOryiFu=!VjDUN7CNw<+Cg z3~MR4njK-|+~1vTC5(PtsGA1>0)ai zO#vr+b_APcB&{WkJ&KrdunLI)DNu%D{f^T;ouNuCWJs7ev&$s9kriNIZ?T}o>iAJGKl5}!?*2$CY;=I#VOX6O{`e2pP&_yo&R zuwC3)MJ&G=wuv%R#Kc2 zzF=T7DOQlx6gJCL_Qf>hV>%U@!Mn5g|DHjQnHbOYL{ueoOO~)al|fHRdmdjgd^Wr5 zYbuv4VIL^hkguVWBBuSz&J-F(@E@na%II4n+wdK}=bTGEqxd`e!S28r&OdUV#Q7(? F<3H&?i!T5G diff --git a/bin/US3S3AddWebhook.class b/bin/US3S3AddWebhook.class index 7c09b4dbc5ac15123f2930598110d8e8425010ef..669d35c2cbab0449322a44cb4089be355ed2f827 100644 GIT binary patch literal 5008 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 diff --git a/bin/US3S4AddDeployKey.class b/bin/US3S4AddDeployKey.class index 1d2c614fe2568d1e9e0cf56c89c9165292b3a875..2d29c685a70f39c6c608d585c0f42722940554df 100644 GIT binary patch delta 2904 zcmai03wTrI8GipH%{fU76-5G0 ze{9)`mgcdT9u-ip>Fn@rfbN79^E8xT zt^)!U8XRycxJaOMukS`*Q^*${YU)39(&cob67!_a0;5dyBtns)^m3f}wyOm1+$d6sS%tL6d@|0!8QRYPbYqnbB)ouGXPN z#@=civ{e+Y5D-mH)ZtPMmtmE0!q!HGb`6)K!+71c$gu`p3OWVm8=ZM2#;C>N(a?=n z;xVMhRS;aIKR6Wj1j9~TiS-KJVszwHTCc(e5pdJcHi`Qz{iVXsmV8Dfq*rwt7%n98WRj|X@ zrj$G7lU*8oxWTwnX>1L!qOyAXBhi40-7KO%GBOg3OM81X1f@M&*f*k6PZB_Gja{Nl zgpC7Yy^VyZHzRybl-c)To{F)9)TU?^f`x!`5o+t+>rtY+dTO9d{@=C{UBuww74$#9hX1)*a-Cz<3+)EVK z>Z75^xMx@&kE!^GKtX39;0eqMRea32&t9$y9MNz;jv7zfTN20cfPznwJdx;7)7~-C zzNs@tc;Xs9g-^3D2r2J2N5=@9t?s(|0TrL2`smmVEZYRE+qj{8lC_fRUt7q>jzlvWB9y=CvnQCb+w5v7=Bl^_>ys} zt9{WLd`-jGC68?T#w0H)(XQet0mv5mmWFTRJH{E;#p*FUqv3n(m13>M_N;){EZ@Ug zsS(veB=;{gJdYQQGump$OZb(7U$PZ56?PfD`32UO@rtn{-)sBz%!4EOe#bOY3VtV0 zZmN0;l=^A>LBk(qKz5(suaCxEn8u$q{6&hCKrl8El*6d9$2@U!zTMbcP#|76#tX)U z-FU5FVWI;0P)Vf%4nPYEQGw!|d$+mgz@kPeH8ya9F_PNB?en?SkuBr3N~Vg3ZF z9yLvPcy+_ZYZ0$=IO9tAFTz4fwDe(A<6_=fNZ!QajODYOS5^v-dLKv4Nz`rS>P@0? z3eE22lUO;4wiH%dARoKeCUHdyJr<;J4Z)S7ElCV!MAw}!vOS6ITdfWKDeTM`@Xu%` zQkYSnm8I1ibJX=DhO+*$c~%o1;36!*d^Dp9>$uwm4`R&rZf1Eu^OSje(y3+gW|G)z z0t+OLBEYSMC=3&2D?(Ja@ooeW?(E!+a+TPJO*vmvgnS<%k4>P)>yA&rD*;I1MnO2< zN}}WD$8bvu@3CRf>n?P=r*L;Rui5&vX5tih-@fx zg~kLRJTij+SG2b7pmQNuE_mSR&NR)PvR5ii3ewjnXTolC|yhU zLpjC#Y_57D&7N6VM*nj;`i~}YA{(RoA=Bq%R+tn>;-uGonxdSjzL?BSEn9#NHW|=F zrd&eKB$kmh&A65&80H7aek{j9tiS_U$zooLXZdn{6|0DGo6yiM7U1%1p@e6)P+xwN zLVYD&DC{G{EZi@U!Kd(5vqP#T@r^`}`UyGEen2%pJkly z;VP3aNhkkv*(WawFn}Iw;y53IB`L<4a{}n6Y%`@>ILroevM$L4;5Oa9%F`LQ8x>lx z;5X=?Oy>Ly?<9t+&vo0w^nWYROKJH%NNBwMz2J+|!Ofop8durOxms>}q|e+eIc-MR zL`KZirkR5j{GKVqc6!>u;j@#2W*2JsCDRB$$)%G^ex3-BLpnLLI|stmnG6a!0bU-& zYi76$@mF&U$z;l5eFHTLrdh?j|MJx)6zcHuH)iyADp>Fj{F7@15xa?BH~+Fb@DkU5 LbG@DGS-azZW$#q9 delta 2383 zcmZ`*YkZT{9ez%d=6#dCG;L^8>NZ+i=q0@bTM^fyP@x-2i`arl1zDQDwxMm3CU1o9 z7RT^1=M9gWcQ@VCxv{N?ZBr0Yr{dV$oWtEOZc~5zw(ZltOx<(dycW=(A961LbI$WT z|I0aV4!1nn=s)@1k!Jy%k9Q9EkIR5q5-KyW2qiuUEH>bSUqgjJ=)iQy??*Yx)WQO)U!;WNgi^S%gsfVU3G;s4F-zf)zL)UQOinY zIwO&hxHXy`YKtW&A_}(IfCjx7t%zu76Zn*kF%JIkr0H$*bz_}|O9bi*+r8!P_2`i&yw}Kx*6h`AsX(Qi zc2(+rY($@iURmapK)1|^RN71>{fNQTFwB5bP>9;E#fThquhv@; zH?SLH@?m$McLGTb3Hcv)U0Dhx0!6X$cx+5ZTA))-Xtn(x;6<1NE1nq1G&JpOy1IR* z!nX`$F~UQ8Q&DSF#~y*=^=4{3IaM=ePGxjV36yjX57!JY7zNuAJ#_%NrUsi`* z@nJtRa=n4CV4oCvM{YlE)Nq49X)-+$*_}=4E8BK0mSZjGD8n82+DZgc!HqiGFyFdn<3*F_`a(Zon(-DosDU`}SuM9kE2 zfZ@9~Iu|Lw{>K**u2WhE1BLzew(O{L=# z(e#vx(L)9vR&Ex@GMNE$+>BYtw2p5JlxM7TGBMJY$&9uVu6053qXxc%9ReD2y2adU z`LQ358F(B|2p9#|dnU8d@r*!2WAAQRYSfD-l}q`sLe3hv!*=uwA(;7VTq+ylmhEUXe!@t?{13&o%r^ zzQ1Ti>8tn!vmG60E_i1eo8+{+!q=^)T^e5FmP%=r#C)glsD?KLsuWv@?Ua@F{f8W330Y}o7W>T3Z^T>S2blpdH?LFHR{Cpl?%*`Q}$5(BXuW|06eBA+FFnNyQ_U-QAodff@ z%hB=8k8WQuIot0&WBdJiJa}4T@J^fZTO|L$`iMXt-wg-9N7EUqzJHc)r-Og7ox!Ed zYBkzXgC1u0DrR;Jb=ZStxCP63k?I+x2E2hr{8N1-5EcfSMKxNSMCI(TFJ$WA$7Je< zPQgsF09_ncEA{jEksYSWSsdyOKGi&nr|*Z>oJU@%bla60VrIebj1T9rMB2&P!FpV2 zvxf+kBbLKnM((4~SqRVY2>btGsm2@OQm-Ygs$dhGx!IR0{$@Lz+dK#R+z0I{F6K=- z<`5UI$fsGGowRlld$mnkQ#kK%lD`zk@f?qr5c+w%z*f=omhi)MjI*EMMTdNpy>h<1 z;QUMKZv0e$0(u<*0s8pMvjkj1+3RRs&zst_;59KE0lA<}`zt~_v{z_^aN%|AaA;rS zOa*bx*|fcM|JMS2vo-wU*KdhF+;$}_#m9<&}O91y`OwuRiZ^SxmF zH&S9RLg?djv5CcVIg4g93#6Z$x9~qqKaULHLXI!O)-z(b#&IFQ;(8T-B7BG?_-AIW z5W*_B-$lKKQ%qvf`+Sjwdh6Kyg&W?a3K#x{>c4Yv4h41a56VBhKAdF#7W;1YZ+m_J E2e%d5NdN!< diff --git a/bin/US3S5TransferRepo.class b/bin/US3S5TransferRepo.class new file mode 100644 index 0000000000000000000000000000000000000000..f921176396ec8fb15cd5a2c410be85d6aad0fe5d GIT binary patch literal 4909 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 D@h9{d literal 0 HcmV?d00001 diff --git a/bin/US3S6DeleteRepo.class b/bin/US3S6DeleteRepo.class new file mode 100644 index 0000000000000000000000000000000000000000..a985ea6484dba65224682120f11dd765710d3b7c GIT binary patch literal 4847 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 WhlB2~)is<`9rzp1Zk~UyuK6EzPHu4k diff --git a/bin/US3US6DeleteRepo.class b/bin/US3US6DeleteRepo.class deleted file mode 100644 index eb4cfca8833f8a2118e1f2d1c81acc9c7cbf27d5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4326 zcmai1iCYxs9exK^W`Xfwizu2XRaCBJDyYc=9^o=k5!3~Y65Gr!-@@qb%rY~pV6QYi z(z{L1#Pq(>!?ZDt3b9F=o=JM8_wn?9=s(cw{bmMOU{RmP{bs)Te)s$Sz8|mu_l1`L z?7=@&lqgs?oM<0T?CTX7;fYfsXRC;C_q=h@&@+ZLt`8>9i z?VPYC4c(=jW#+T`X_4&p4|FO}lZGpXos5E5|AL}~=a|+wKd&`XDUtIA#FW>S5e{`L zXL*#$&9s>^Jkz%N9LIKC1sj*icjwb-;ZRH2e$z6&g9=I;8b=gFdh9V#fl^dySdBI1 zQ1B)V<)~1xUO~-LHv%;ks794Mx=}+VG`iMrT4ErdO$ukoNM?kLz)l&N5yLU%d$<|# zCQN!4>tC8Y`nAdx-f&JqMcgdga3-ezT)Sk*)o|zRRrfX7vmu1P)+IB>zih2c&#qysv9Uhs|4+m>diwbNH;@hQR70RM$q#qNWmvcLGecbdW z^2yeeoz-Ounl-41Rw52vMXQ3li&>ekvWB-{H;a%pEMuH$YHVn{JuK=6gIsi0q8)ox z>`}1ewif0DH0;AY3ZgPgcHU!Nn(k<8C_LM_ib$9Lwv?k22UP55Tz(z$o|(~8ww1~| zj<7skN(?j68V=$R5uE7j864ro)6Bw3(O|1{Tc;`8sZ7!>4<_23&;#O+MPEuW5TJx zF&tOXzo;DqCo~LTkZHPTWb$G#&EOjfm>RT<&c=eRko*;R04F6uPbpYmC=z~e9EoCx z{XmxoM>L$qg9Mq8W3w4k5HBXN%t+{cr&MuP!zdn-=&=I}ObyYqG+)6z?t>@ji#ns4|mqpyoC$pxBh<&9&*OPhAv#rtlyy=`c zuqy~<*SW^gz2~C%h=QtVJMYB(B*oKa#*-9F;bR&;E`upC$D;To@z<5fMDZyFh~hKk zm?bVrktjZ=pj;NCRlZ6;pV086M7K)BO4wE4DST1I7f4uH@_^@EF2iHtzJxC;&3dyk5x#!|Amz5l&SFO{6Q$Abk9OUBfqI>LZhRla5s5tZW}o zYxp+4LkctPzQskPpVQByPvLtSu1fkv(uT>&VZ*X1Iur_}^UADPIR&C^uv-q)`=r zTr|K9O*r38a&+TUiJZ^;l~b+1a%API@+2o-{;uWQF-oy@V13g~tZRx~N37`9r(5zIlqTAW0=BuRC&sXUyD^%&LAyy^{;SxS?m5$BgYkm$l z+`u>cV~;oAz_+eIZJxn*rGurAAgy6pf!zdX8{yGTqk9O&eZKLUKvihGil(0-I~07M z5?ud{Eh@QCf*;^n?nA|V_8sBa*-+}E3t}^uMAoN+uiWe2oet&3xEhGHt zBKtk`x|h3sBkaaedYHoTadt7l>P@hRlLdyuKFK)og!Nt mfBwJ&f1(p5_%r^(braobCm8=)R?a&wj=yp3;`;Zp^8W*oxKm{S diff --git a/tests/US1S4NameExists.java b/tests/US1S4NameExists.java index 21d2252..6ef9d2d 100644 --- a/tests/US1S4NameExists.java +++ b/tests/US1S4NameExists.java @@ -31,6 +31,11 @@ public void testNameExists() throws Exception { driver.findElement(By.linkText("Sign up")).click(); driver.findElement(By.id("user_login")).clear(); driver.findElement(By.id("user_login")).sendKeys("laboon"); + + //Hack to trigger the onchange javascript event we are looking for. + JavascriptExecutor jsExecutor = (JavascriptExecutor) driver; + jsExecutor.executeScript("$(arguments[0]).change();", driver.findElement(By.id("user_login"))); + assertEquals("Username is already taken", driver.findElement(By.cssSelector("dd.error")).getText()); } diff --git a/tests/US1S5InvalidPassword.java b/tests/US1S5InvalidPassword.java index 42b3373..4164891 100644 --- a/tests/US1S5InvalidPassword.java +++ b/tests/US1S5InvalidPassword.java @@ -1,6 +1,9 @@ //Test for US-1 Scenario-5 //Tests that the new user sign up page successfully notifies user when they attempt to use an invalid password +//Notes: +//Failed before adding a hack to induce onchange() JS events + import java.util.regex.Pattern; import java.util.concurrent.TimeUnit; import org.junit.*; @@ -31,6 +34,11 @@ public void testInvalidPassword() throws Exception { driver.findElement(By.id("user_login")).sendKeys("uniqueusername32"); driver.findElement(By.id("user_password")).clear(); driver.findElement(By.id("user_password")).sendKeys("abd"); + + //Hack to trigger the onchange javascript event we are looking for. + JavascriptExecutor jsExecutor = (JavascriptExecutor) driver; + jsExecutor.executeScript("$(arguments[0]).change();", driver.findElement(By.id("user_password"))); + assertEquals("Password is too short (minimum is 7 characters) and needs at least one number", driver.findElement(By.cssSelector("dd.error")).getText()); } diff --git a/tests/US3S1FeaturesToggle.java b/tests/US3S1FeaturesToggle.java index d88897c..d50627e 100644 --- a/tests/US3S1FeaturesToggle.java +++ b/tests/US3S1FeaturesToggle.java @@ -1,5 +1,9 @@ //Test for US-3 Scenario-1 -//Tests that user can toggle is repo's options in the features field +//Tests that user can toggle its repo's options in the features field + +//NOTES: +//Does not assert against settings actually being changed +//Asserts against a JS generated small image, had issues with asserting against value import java.util.regex.Pattern; import java.util.concurrent.TimeUnit; @@ -15,58 +19,47 @@ public class US3S1FeaturesToggle { private String baseUrl; private boolean acceptNextAlert = true; private StringBuffer verificationErrors = new StringBuffer(); + + //Hardcoded auth for 'permenent' user. Hopefully a bot doesn't steal this account. + private static final String USERNAME = "cs1632user"; + private static final String PASSWORD = "cs1632pass"; + + //Utility function + private void logIn(String username, String password) { + driver.get(baseUrl + "/"); + driver.findElement(By.linkText("Sign in")).click(); + driver.findElement(By.id("login_field")).clear(); + driver.findElement(By.id("login_field")).sendKeys(username); + driver.findElement(By.id("password")).clear(); + driver.findElement(By.id("password")).sendKeys(password); + driver.findElement(By.name("commit")).click(); + } @Before public void setUp() throws Exception { driver = new FirefoxDriver(); baseUrl = "https://github.com/"; driver.manage().timeouts().implicitlyWait(30, TimeUnit.SECONDS); + logIn(USERNAME, PASSWORD); //login } @Test public void testUS3S1FeaturesToggle() throws Exception { - driver.get(baseUrl + "/"); - driver.findElement(By.xpath("//div[@id='your_repos']/div/a")).click(); - driver.findElement(By.id("repository_name")).clear(); - driver.findElement(By.id("repository_name")).sendKeys("temprepo"); - driver.findElement(By.xpath("//button[@type='submit']")).click(); - driver.findElement(By.xpath("//ul[3]/li/a/span[2]")).click(); - driver.findElement(By.id("wiki-feature")).click(); - try { - assertEquals("off", driver.findElement(By.id("wiki-feature")).getAttribute("value")); - } catch (Error e) { - verificationErrors.append(e.toString()); - } - driver.findElement(By.id("wiki-feature")).click(); - try { - assertEquals("on", driver.findElement(By.id("wiki-feature")).getAttribute("value")); - } catch (Error e) { - verificationErrors.append(e.toString()); - } - driver.findElement(By.id("wiki-pusher-access")).click(); - try { - assertEquals("on", driver.findElement(By.id("wiki-pusher-access")).getAttribute("value")); - } catch (Error e) { - verificationErrors.append(e.toString()); - } - driver.findElement(By.id("wiki-pusher-access")).click(); - try { - assertEquals("off", driver.findElement(By.id("wiki-pusher-access")).getAttribute("value")); - } catch (Error e) { - verificationErrors.append(e.toString()); - } - driver.findElement(By.id("issue-feature")).click(); - try { - assertEquals("off", driver.findElement(By.id("issue-feature")).getAttribute("value")); - } catch (Error e) { - verificationErrors.append(e.toString()); - } - driver.findElement(By.id("issue-feature")).click(); - try { - assertEquals("on", driver.findElement(By.id("issue-feature")).getAttribute("value")); - } catch (Error e) { - verificationErrors.append(e.toString()); - } + driver.get(baseUrl + "/"); + driver.findElement(By.id("your-repos-filter")).clear(); + driver.findElement(By.id("your-repos-filter")).sendKeys("newrepo"); + driver.findElement(By.xpath("//ul[@id='repo_listing']/li[2]/a/span[2]/span")).click(); + driver.findElement(By.xpath("//ul[3]/li/a/span[2]")).click(); + driver.findElement(By.id("wiki-feature")).click(); + driver.findElement(By.id("wiki-feature")).click(); + assertTrue(isElementPresent(By.xpath("//div[@id='options_bucket']/div[2]/div/form/div[2]/span"))); + driver.findElement(By.id("wiki-pusher-access")).click(); + driver.findElement(By.id("wiki-pusher-access")).click(); + assertTrue(isElementPresent(By.xpath("//div[@id='options_bucket']/div[2]/div/form/div[3]/span"))); + driver.findElement(By.id("issue-feature")).click(); + driver.findElement(By.id("issue-feature")).click(); + assertTrue(isElementPresent(By.xpath("//div[@id='options_bucket']/div[2]/div/form/div[4]/span"))); + } @After diff --git a/tests/US3S2AddCollaborator.java b/tests/US3S2AddCollaborator.java index fd5a77d..bf672b1 100644 --- a/tests/US3S2AddCollaborator.java +++ b/tests/US3S2AddCollaborator.java @@ -14,17 +14,33 @@ public class US3S2AddCollaborator { private boolean acceptNextAlert = true; private StringBuffer verificationErrors = new StringBuffer(); + //Hardcoded auth for 'permenent' user. Hopefully a bot doesn't steal this account. + private static final String USERNAME = "cs1632user"; + private static final String PASSWORD = "cs1632pass"; + + //Utility function + private void logIn(String username, String password) { + driver.get(baseUrl + "/"); + driver.findElement(By.linkText("Sign in")).click(); + driver.findElement(By.id("login_field")).clear(); + driver.findElement(By.id("login_field")).sendKeys(username); + driver.findElement(By.id("password")).clear(); + driver.findElement(By.id("password")).sendKeys(password); + driver.findElement(By.name("commit")).click(); + } + @Before public void setUp() throws Exception { driver = new FirefoxDriver(); baseUrl = "https://github.com/"; driver.manage().timeouts().implicitlyWait(30, TimeUnit.SECONDS); + logIn(USERNAME, PASSWORD); //login } @Test public void testUS3S2AddCollaborator() throws Exception { driver.get(baseUrl + "/"); - driver.findElement(By.xpath("(//a[contains(@href, '/cs1632user/temprepo/settings')])[2]")).click(); + driver.findElement(By.xpath("(//a[contains(@href, '/cs1632user/newrepo/settings')])[2]")).click(); //failed on temprepo, switched to newrepo driver.findElement(By.linkText("Collaborators")).click(); driver.findElement(By.id("search-member")).clear(); driver.findElement(By.id("search-member")).sendKeys("graphitezep"); diff --git a/tests/US3S3AddWebhook.java b/tests/US3S3AddWebhook.java index e0f3529..348e1d7 100644 --- a/tests/US3S3AddWebhook.java +++ b/tests/US3S3AddWebhook.java @@ -16,11 +16,27 @@ public class US3S3AddWebhook { private boolean acceptNextAlert = true; private StringBuffer verificationErrors = new StringBuffer(); + //Hardcoded auth for 'permenent' user. Hopefully a bot doesn't steal this account. + private static final String USERNAME = "cs1632user"; + private static final String PASSWORD = "cs1632pass"; + + //Utility function + private void logIn(String username, String password) { + driver.get(baseUrl + "/"); + driver.findElement(By.linkText("Sign in")).click(); + driver.findElement(By.id("login_field")).clear(); + driver.findElement(By.id("login_field")).sendKeys(username); + driver.findElement(By.id("password")).clear(); + driver.findElement(By.id("password")).sendKeys(password); + driver.findElement(By.name("commit")).click(); + } + @Before public void setUp() throws Exception { driver = new FirefoxDriver(); baseUrl = "https://github.com/"; driver.manage().timeouts().implicitlyWait(30, TimeUnit.SECONDS); + logIn(USERNAME, PASSWORD); //login } @Test diff --git a/tests/US3S4AddDeployKey.java b/tests/US3S4AddDeployKey.java index 2ef5d30..f9c6736 100644 --- a/tests/US3S4AddDeployKey.java +++ b/tests/US3S4AddDeployKey.java @@ -1,6 +1,7 @@ //Test for US-3 Scenario-4 //Tests that user can add a deploy key to their repo +//Notes: //Key used is a non used 'dummy' key generated by me import java.util.regex.Pattern; @@ -17,19 +18,35 @@ public class US3S4AddDeployKey { private String baseUrl; private boolean acceptNextAlert = true; private StringBuffer verificationErrors = new StringBuffer(); + + //Hardcoded auth for 'permenent' user. Hopefully a bot doesn't steal this account. + private static final String USERNAME = "cs1632user"; + private static final String PASSWORD = "cs1632pass"; + + //Utility function + private void logIn(String username, String password) { + driver.get(baseUrl + "/"); + driver.findElement(By.linkText("Sign in")).click(); + driver.findElement(By.id("login_field")).clear(); + driver.findElement(By.id("login_field")).sendKeys(username); + driver.findElement(By.id("password")).clear(); + driver.findElement(By.id("password")).sendKeys(password); + driver.findElement(By.name("commit")).click(); + } @Before public void setUp() throws Exception { driver = new FirefoxDriver(); baseUrl = "https://github.com/"; driver.manage().timeouts().implicitlyWait(30, TimeUnit.SECONDS); + logIn(USERNAME, PASSWORD); //login } @Test public void testUS3S4AddDeployKey() throws Exception { driver.get(baseUrl + "/"); - driver.findElement(By.linkText("temprepo")).click(); - driver.findElement(By.xpath("(//a[contains(@href, '/cs1632user/temprepo/settings')])[2]")).click(); + driver.findElement(By.linkText("newrepo")).click(); + driver.findElement(By.xpath("(//a[contains(@href, '/cs1632user/newrepo/settings')])[2]")).click(); driver.findElement(By.linkText("Deploy keys")).click(); driver.findElement(By.linkText("Add deploy key")).click(); assertTrue(isElementPresent(By.id("public_key_read_only"))); diff --git a/tests/US3US5TransferRepo.java b/tests/US3S5TransferRepo.java similarity index 81% rename from tests/US3US5TransferRepo.java rename to tests/US3S5TransferRepo.java index 6df319a..246cd84 100644 --- a/tests/US3US5TransferRepo.java +++ b/tests/US3S5TransferRepo.java @@ -1,6 +1,7 @@ //Test for US-3 Scenario-5 //Tests that user can transfer the repo's ownership to another +//Notes: //The test transfer ownership to my own github account, but will be ignored until it is deleted so ownership does not technically leave the user. //In order to actually test the transfer, one would have to log onto the existing user that it is transferred to in order to accept, //and then back to the original temp user. Thus the hacky solution of only testing that that the user is prompted that their half of @@ -15,17 +16,33 @@ import org.openqa.selenium.firefox.FirefoxDriver; import org.openqa.selenium.support.ui.Select; -public class US3US5TransferRepo { +public class US3S5TransferRepo { private WebDriver driver; private String baseUrl; private boolean acceptNextAlert = true; private StringBuffer verificationErrors = new StringBuffer(); + //Hardcoded auth for 'permenent' user. Hopefully a bot doesn't steal this account. + private static final String USERNAME = "cs1632user"; + private static final String PASSWORD = "cs1632pass"; + + //Utility function + private void logIn(String username, String password) { + driver.get(baseUrl + "/"); + driver.findElement(By.linkText("Sign in")).click(); + driver.findElement(By.id("login_field")).clear(); + driver.findElement(By.id("login_field")).sendKeys(username); + driver.findElement(By.id("password")).clear(); + driver.findElement(By.id("password")).sendKeys(password); + driver.findElement(By.name("commit")).click(); + } + @Before public void setUp() throws Exception { driver = new FirefoxDriver(); baseUrl = "https://github.com/"; driver.manage().timeouts().implicitlyWait(30, TimeUnit.SECONDS); + logIn(USERNAME, PASSWORD); //login } @Test diff --git a/tests/US3US6DeleteRepo.java b/tests/US3S6DeleteRepo.java similarity index 80% rename from tests/US3US6DeleteRepo.java rename to tests/US3S6DeleteRepo.java index 2a68c8b..6ec6224 100644 --- a/tests/US3US6DeleteRepo.java +++ b/tests/US3S6DeleteRepo.java @@ -14,17 +14,33 @@ import org.openqa.selenium.firefox.FirefoxDriver; import org.openqa.selenium.support.ui.Select; -public class US3US6DeleteRepo { +public class US3S6DeleteRepo { private WebDriver driver; private String baseUrl; private boolean acceptNextAlert = true; private StringBuffer verificationErrors = new StringBuffer(); + //Hardcoded auth for 'permenent' user. Hopefully a bot doesn't steal this account. + private static final String USERNAME = "cs1632user"; + private static final String PASSWORD = "cs1632pass"; + + //Utility function + private void logIn(String username, String password) { + driver.get(baseUrl + "/"); + driver.findElement(By.linkText("Sign in")).click(); + driver.findElement(By.id("login_field")).clear(); + driver.findElement(By.id("login_field")).sendKeys(username); + driver.findElement(By.id("password")).clear(); + driver.findElement(By.id("password")).sendKeys(password); + driver.findElement(By.name("commit")).click(); + } + @Before public void setUp() throws Exception { driver = new FirefoxDriver(); baseUrl = "https://github.com/"; driver.manage().timeouts().implicitlyWait(30, TimeUnit.SECONDS); + logIn(USERNAME, PASSWORD); //login } @Test