From e8b328488257b41d8444a4d87ee6da62fedf072c Mon Sep 17 00:00:00 2001 From: Dmitry Kruchinin Date: Fri, 8 Oct 2021 14:01:24 +0300 Subject: [PATCH] Cypress test. Connected file share. (#3764) * Cypress test case 106. docker-compose for file share. * Continue writing the test * Added class to reducer * Case 106. Added check issue 3733 * Updated yml files * debug * Fix renaming a image * Remove debug * Update the test * Added comment * Rename test case/file/images * Added assert. * Applying comments * Apply comments --- .github/workflows/main.yml | 4 +- .github/workflows/publish_docker_images.yml | 2 +- .github/workflows/schedule.yml | 2 +- cvat-ui/src/reducers/notifications-reducer.ts | 1 + .../assets/case_107/image_case_107_1.png | Bin 0 -> 11470 bytes .../assets/case_107/image_case_107_2.png | Bin 0 -> 11916 bytes .../assets/case_107/image_case_107_3.png | Bin 0 -> 12075 bytes .../case_107_connected_file_share.js | 92 ++++++++++++++++++ tests/docker-compose.file_share.yml | 15 +++ 9 files changed, 112 insertions(+), 4 deletions(-) create mode 100644 tests/cypress/integration/actions_tasks3/assets/case_107/image_case_107_1.png create mode 100644 tests/cypress/integration/actions_tasks3/assets/case_107/image_case_107_2.png create mode 100644 tests/cypress/integration/actions_tasks3/assets/case_107/image_case_107_3.png create mode 100644 tests/cypress/integration/actions_tasks3/case_107_connected_file_share.js create mode 100644 tests/docker-compose.file_share.yml diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 5aed690b..08796606 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -158,9 +158,9 @@ jobs: DJANGO_SU_PASSWORD: '12qwaszx' API_ABOUT_PAGE: "localhost:8080/api/v1/server/about" run: | - docker-compose -f docker-compose.yml -f docker-compose.dev.yml -f components/serverless/docker-compose.serverless.yml up -d + docker-compose -f docker-compose.yml -f docker-compose.dev.yml -f components/serverless/docker-compose.serverless.yml -f tests/docker-compose.file_share.yml up -d /bin/bash -c 'while [[ "$(curl -s -o /dev/null -w ''%{http_code}'' ${API_ABOUT_PAGE})" != "401" ]]; do sleep 5; done' - docker exec -i cvat /bin/bash -c "echo \"from django.contrib.auth.models import User; User.objects.create_superuser('${DJANGO_SU_NAME}', '${DJANGO_SU_EMAIL}', '${DJANGO_SU_PASSWORD}')\" | python3 ~/manage.py shell" docker exec -i cvat /bin/bash -c "echo \"from django.contrib.auth.models import User; User.objects.create_superuser('${DJANGO_SU_NAME}', '${DJANGO_SU_EMAIL}', '${DJANGO_SU_PASSWORD}')\" | python3 ~/manage.py shell" + docker exec -i cvat /bin/bash -c "echo \"from django.contrib.auth.models import User; User.objects.create_superuser('${DJANGO_SU_NAME}', '${DJANGO_SU_EMAIL}', '${DJANGO_SU_PASSWORD}')\" | python3 ~/manage.py shell" cd ./tests npm ci if [[ ${{ github.ref }} == 'refs/heads/develop' ]]; then diff --git a/.github/workflows/publish_docker_images.yml b/.github/workflows/publish_docker_images.yml index 0cf349d4..3e11e28c 100644 --- a/.github/workflows/publish_docker_images.yml +++ b/.github/workflows/publish_docker_images.yml @@ -31,7 +31,7 @@ jobs: API_ABOUT_PAGE: "localhost:8080/api/v1/server/about" run: | docker-compose -f docker-compose.yml -f docker-compose.dev.yml build - docker-compose -f docker-compose.yml -f docker-compose.dev.yml -f components/serverless/docker-compose.serverless.yml up -d + docker-compose -f docker-compose.yml -f docker-compose.dev.yml -f components/serverless/docker-compose.serverless.yml -f tests/docker-compose.file_share.yml up -d /bin/bash -c 'while [[ "$(curl -s -o /dev/null -w ''%{http_code}'' ${API_ABOUT_PAGE})" != "401" ]]; do sleep 5; done' docker exec -i cvat /bin/bash -c "echo \"from django.contrib.auth.models import User; User.objects.create_superuser('${DJANGO_SU_NAME}', '${DJANGO_SU_EMAIL}', '${DJANGO_SU_PASSWORD}')\" | python3 ~/manage.py shell" cd ./tests diff --git a/.github/workflows/schedule.yml b/.github/workflows/schedule.yml index e7d23696..621b51a4 100644 --- a/.github/workflows/schedule.yml +++ b/.github/workflows/schedule.yml @@ -18,7 +18,7 @@ jobs: DJANGO_SU_PASSWORD: "12qwaszx" API_ABOUT_PAGE: "localhost:8080/api/v1/server/about" run: | - docker-compose -f docker-compose.yml -f docker-compose.dev.yml -f ./tests/docker-compose.email.yml -f components/serverless/docker-compose.serverless.yml up -d --build + docker-compose -f docker-compose.yml -f docker-compose.dev.yml -f ./tests/docker-compose.email.yml -f tests/docker-compose.file_share.yml -f components/serverless/docker-compose.serverless.yml up -d --build /bin/bash -c 'while [[ "$(curl -s -o /dev/null -w ''%{http_code}'' ${API_ABOUT_PAGE})" != "401" ]]; do sleep 5; done' docker exec -i cvat /bin/bash -c "echo \"from django.contrib.auth.models import User; User.objects.create_superuser('${DJANGO_SU_NAME}', '${DJANGO_SU_EMAIL}', '${DJANGO_SU_PASSWORD}')\" | python3 ~/manage.py shell" - name: End-to-end testing diff --git a/cvat-ui/src/reducers/notifications-reducer.ts b/cvat-ui/src/reducers/notifications-reducer.ts index 42051c78..681ee53c 100644 --- a/cvat-ui/src/reducers/notifications-reducer.ts +++ b/cvat-ui/src/reducers/notifications-reducer.ts @@ -1162,6 +1162,7 @@ export default function (state = defaultState, action: AnyAction): Notifications jobFetching: { message: 'Could not fetch frame data from the server', reason: action.payload.error, + className: 'cvat-notification-notice-fetch-frame-data-from-the-server-failed', }, }, }, diff --git a/tests/cypress/integration/actions_tasks3/assets/case_107/image_case_107_1.png b/tests/cypress/integration/actions_tasks3/assets/case_107/image_case_107_1.png new file mode 100644 index 0000000000000000000000000000000000000000..643a2d9d4f1079851b9068d7c60b5042cbbae48f GIT binary patch literal 11470 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 literal 0 HcmV?d00001 diff --git a/tests/cypress/integration/actions_tasks3/assets/case_107/image_case_107_2.png b/tests/cypress/integration/actions_tasks3/assets/case_107/image_case_107_2.png new file mode 100644 index 0000000000000000000000000000000000000000..580010d41eb41b8b431c5e6d6f14b62dca8b602e GIT binary patch literal 11916 zcmeHM`&*M&o{!c#czcRgX=*`-BGptBnL);+f&(icaiJv&G{MC2LQyhEC1eG{r4L1C zM1%zcPHg}Oi69|l3X`y=CUm@jm6=2Yl4)5JtuhhQ8e73oD7c?<(Ajn z_dVx(zTeO7J^o%?^rHF8=Q9|LMKRm9@)(Sleop@Pn2T2iKb(7j!C1c|W^4G)>{;Lb z#rMPe`Xb%kjD(lwyo^7K7A<;X`P`6&-v9C8oue=PEabNb=$|$CqbscWS}#qVIPyVd zT>YtE=F~YljrkK#x6H;>Kbl*LpNzAM{m8EaS3StDw=}Z zG24}*PVfl#oij__FBqMiI5Hp@&9EEu`(%S|;e=5oulF;tk9zh?YXsX^EMwQP1eOuX(J}Bq$)CuMa z-mOl)c-g+4cJ~jq1=;U9_05)MFD^?^9f`YGn(bfdV*7#*GUqP3a@PH)^iQi(;#rZM z?XJ(OQ!3n|D;w5yHEp@pkzvo;KmC!+i@W5!TWTzIUZIXxVv!E$(wnsp*-!JWo6SGi zR4$oRxSBEc!1%yNDG!c4#bxE56sUCReY*6Lpk|lssOOwZT6raIvtYvL%r!h*(bIOo ze&po6H7_njtfT5YOu{cBack!q}FC^McL^F{IvHg3{0sF1gfe1eZljx*J3TTsd!nyCRh4yVm)K5snqtqiNB@brm+L=Nia zWiQYs#`ZM`RJLTY4xFbIHORcU#?d0fT&9prl%vlYt-D8#Wt#N6*5evUE!rP!Ym3kNX%m%lxx}LR*S?0% zEaB=qB6ce7sA#t(s}pFAe1`RL`Su=}rcNpUbHE86SDzpr2#(Fo%j@4hq|mmi%CcP> z7k<3AlvByOwb_h1Saj+0eVd$|$qT4{X}nD~%l&t^urGKR4HOi0jk#=JzgnO|>GZAm zbfP)|o88@6P^C>|Jg&&=ed9~EGxK5-diN?57rx}qE#sBYgGCQs4~`w*Zk5g!rP+_r z$_W18;47Ej&NL0@h4ru-{e0)(EYk%ug_#%!{q~UyHux={*!RBPq zPoaY8gIVI*)N9NX^*~+PnYTj2!scgR5U9={ytUY6Sg~ToeMR4n7VSfQoY0CUz!#FW ziTHWg`(?(;jG7BPaAgZ5Lgqi8C(RLk!kFoSsrF_zGOGz zuGrERzKP${=8=6tD#YH_iPc?)<&rq_fZL#N?W-VzxP+0nDk|d+8qv~>N?Xv{}-a zbA9;MghG7^AC2^Q$)IldI<2F!>+nvG@MvB7tK`NSTrbnaxh1VJIoi>TSRwv$$xRx= z=$c)SVm~rD_Wi#A4wQ6K*Etm9M(g%bvVudnrQ>}oX7cv(?sya1u+u6<{SsM`%B7RT z=MOGu#mhofnCBjCEIU`$Ajdc!?_Jw3c;16$=WLbQ#Cw|_vYh()n|R#bq0C+s zofR2<$&E{eHpsIYT(a9&1S)KGt)oTJUXUtGLb2C&HOa0qrK^+;TZGdUF3Yz|8=M@& zF-e^7oZD|Jo8)gY#@3XI_6U;(1kxUX>UY2Unc-(H!?8U#E98}#rr8A{v8RlM&syb` zwM!yy{+L%SiF56-A0e~jE(vh=vyVbv1bw{c~!kR{74!aY^^{y@nJo z{}gB9M@M+%sy&O!@w?QGv4a~QT`CdLi(#F0R_cqoAc|EU$#~oiL zR$l_@Vjms4^iMNQm@1Y1yfxogLIVg%RK5Bnr z6Eo+o>#0v>r{d=x=E#w;r{8^g2n4l7k6bj2RkyxI|Qm$s|ppb zNgoV0x35^aa!Aovp=kd{P9jd2;@^DV1K!bWNB^x23&%U;m5e*>Ki0p4YWM|3Vd`!A z)*b2u-#JG;?;EV!@iJhF+iOTuqkw}tR#y`m>-Ijr7uF-gyZLqu_pv?yu1$2mUme-g z_F#oJ5pPL_7=XQ{#NOXfKMQ3-0iYY6 ztAoeI(Xsp|%iN-TyUNMQ4}mOGHed>He#~>1+?Nag`lO`}%`L5o@X%LDEc#YZ@-%_7 zQz!q5>2NLux#!ynB)2%5jS!y$TcF$sDKPH%VHEBwq*rB{@2_l2z)a|c;jCM(t5BYO!LdYO=v#4qWZv2W$d%(7Pqk>rt8nv( zo9IRpzXNS~@7}o?Vve1XOo3+p)Qek5u$P@iU z4~O#M5fClflN>9{|27r^QWvOBKbR2NWTe%P0PZlMU5EQ6IWA0ei&l^Cy8?RZ{cJJ_ zRq*l^c4K#U^ij_&P_tAx%Ev*YW*v7Z>WJQ^GE*v)mMhxVpFV-hrGBG8Uyv4W3%LBu z%x--0V*q4EDs%2+oSigjXP>kNqzl%XI!^I3dfW)8MI$nA`(o4~WcH&x*N3yfrEV-W zn#&rmQM3~b<=LRQ8Eu~Q9E z>V&>vcndT57ki;pcl4R_?%i;RjA)N=n=I77_-x;Bg9BrS?~bpASVL!_Df8_M7-7rL zz0)s{qNU5hN+{&pAZ%O*11ZDn<;-(a-zau?ghQiYpOC8C3fmva-iV3j!Y9e_sRwjUTJ*b zkiiOl3T4c48A!Q4Js$&2w$1LI@9V(`s}CICiUy5d67e24X3JV7tOfwr&`1e+RA6G~ zxG=kB9`|zh4rpX(IIDEr$Dx4Ug*e6NsEK{(1%U;iRg5kWGTNym=!Q&VUfx<8JKzFC|!~^hF&_mc~cD5%YZ~yM%*WfuFE%HjZkR+=V1wnhF zSH@4cF;f60w*iob9zv%%PP5R0An6$#=5azV_47rh0} zsk2f77AWLbN7^7NA%EN=H*CUnh|y%=0hFNcoV)kHtQNtv6y0cUKZNdpZ2Dv*Uqi=A zox)#AzE}rmoPCkbcAA<4VR_}s$1U2~AC*5k@#r_|feK#9)P<+{NhUsFqn+IN1^IU9 z+VsJZUF=j?vw#x{2{mGv-CfG1J~6C$82}*shZ9upEzLdI>V%3p1Yz|0$^Qj_Ur3<* zP=Q7q5^+1vmSXpmkw)GHD(ljBaAOMb4)7gz^}=(5mT9^`C0L&KwA_M?jGzYyf&<@l zM0nuN8>#hlwA2j<63Fq?9hbymSOB~)=yO)*FU;+rf*t6RO=Yt`DqM2zooq_Lg+;uQ zf}h6zNC_2^7a5cZQ=-50~K!Z8F1ADym0b#}qQp zl>ufI?H|Ga3N=YEA7svfxs0(!kQ8o)1Fi=2oq)kYbD$B`34za(6e`|!V|~dU#CUh2 zQeZqH?{kk+fe1dr;7Isl%&834qy4by!bYf^%K}x$Z`8}CG|)FRiIIXoi02&RQxnWi z4NdWmrn$!I@%ner!*Y3Lgh$#Q0y_5z#8Kr)!5?^^rXKfkq2cHIUY`~sY5rYJ07IZZ z)eN{C%}QYI9FK{mT#!K=GRq(RfII?neR!KkILrT!KEz7)kLC`%82s7f8g$Q)2%I|P zEejY^7mN?$f}#kJO&D=WcOq&2LYDHtU42#qr8X72eh7HSFa|gRE`?HaIx5g65_yG~;6NbR2_k|QqcHZLFOmx|Dy#^Rq+34e ztwHQSMM7={QXbg)+dy7y4ZaJBLIMHA2YwP0gf-X&OgiZ@CGwQurf_mGWZui$;vbTmT9fci!ETHEp6Q@R3>)`3*xo62D!6`z?o=#=7K{ zsAF3I-kUxNv^+@|fJ7OvsE~Fv!ed3&@nPk7Tp+ecxfE=PGv0kX=pigPC>*2N0Ri}| zBnaf|*VBdss-s%s71qitfyMbs3D4m_ad zDicLMgx15+60<~&Uhy+#cRZ*k3Ew?`5E>=}>}R%3$61QQ(L1nP$ab^ z^pseVVem=GBxo&?P`W`YI5WfseprMEjgGO6CY?{?xM&t}hB$X%>o412lsH&9T(+Tq zTAmYf7pw7cfa)XoJID)|e79(HN=cU>z8PI z1d1$w!`A1?BHn^y&;Q`c1`_L`KQCf@K*oSsJ3_xbOlUabB?3-}-c&Y#jQl_on?i_C z&fSht0mo_+LvhlGR9)vR%{jHiS`fA>YzxeN>4opb2;jS(MdL=KA%PVV3-u5zaAj8$ z8XOsRGOYJ>a6!{O5a?O}6T*?8D6|(W0eYy_iPg9uH!tqmDIQQW&lL=TcQP+Nw?Fqb zq3)A$&tcqWctQjv{Q>PTWQ-(#ritF}uiU~Xo1NFGcVpAa;-AnSP`gO_1ghPbe;VH< z3$0kwX_82kEhLG=$m-85a4TRdLzQRI^n79TAlk4n4R8hhEna5priYH+K~JbbB@P9A z*I50pet7)&ETkH*1i=}y6rz@K!jm_^6uMZnR1zAbCT_f@)rl031XZ!802{CYk~nBA zd}dIGX|NO90(!$FVi2HJ^{t@bd^^EUn5n@KA1o3goa+&etV)k+o1VIM-g^yuLNGoB-fgFgvzA+@B6OJ2+Ud60w(?8{L(XuE! z9mq6jv1NV6wDlII2hGGxp- zwQvs*>A5A6I1rv2xMmTMU{<*lKczzQZl(!n4QR!h+br`tf3@&q91JTm&iW$tX=KKAnFco`4+ktRP>u#_u@FLQ1c38`x# z0VFgFLk3X+lgX(WSsN4up@_#0i7i?0H#PDn>`ttHypldnq45tEDp7eq?@h!uAKs`A;?@ zU}W`J#L5*LCy+cj($g*ET<2;XvrnGHBBslCD^r@%Yr;A zK5GXebv32%aRPXxwceqi8Q*jS3rPd)rOyZqTTA1Ch9>r1E1XB283T$(4S0e8p+~0e zYzKlEt7bQX7?2h#(!6*&HC^C-<5)O-?AP%jrv{(VrQ@q+Y?sbSwv3&M=5X)E6T*p= zhIU0eK)~pN^YvFqN{CCvCXk8YJ2dabyyDp*kA;U-EC(KMA%%qOvr0*F${mff4)tKpxnQ@o_hZ#IX1!mY`h7e~6@qZHHGfn8G z^N>uxX59aF<=0*!R7VkvAFCHJ7+=J^#9(}QYv!eyO3d`c%qYx&!VDJvzhZ@7gfX60 UGtZQSf&m#Zk#SpFBYso#Uu;2vB>(^b literal 0 HcmV?d00001 diff --git a/tests/cypress/integration/actions_tasks3/assets/case_107/image_case_107_3.png b/tests/cypress/integration/actions_tasks3/assets/case_107/image_case_107_3.png new file mode 100644 index 0000000000000000000000000000000000000000..9828fa5413970664fc628d4e5e8d8ed693b4a11d GIT binary patch literal 12075 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 + +context('Connected file share.', () => { + const caseId = '107'; + const taskName = `Case ${caseId}`; + const labelName = taskName; + let stdoutToList; + const assetLocalPath = `cypress/integration/actions_tasks3/assets/case_${caseId}`; + + function createOpenTaskWithShare() { + cy.get('#cvat-create-task-button').should('be.visible').click(); + cy.get('#name').type(taskName); + cy.addNewLabel(labelName); + cy.contains('[role="tab"]', 'Connected file share').click(); + cy.get('.cvat-share-tree') + .should('be.visible') + .within(() => { + cy.get('[aria-label="plus-square"]').click(); + cy.exec('docker exec -i cvat /bin/bash -c "ls ~/share"').then((command) => { + stdoutToList = command.stdout.split('\n'); + // [image_case_107_1.png, image_case_107_2.png, image_case_107_3.png] + expect(stdoutToList.length).to.be.eq(3); + // Number of images to select + selection of all images. + cy.get('[title]').should('have.length', stdoutToList.length + 1); + stdoutToList.forEach((el) => { + cy.get(`[title="${el}"]`).should('exist'); + // Click on the checkboxes + cy.get(`[title="${el}"]`).prev().click().should('have.attr', 'class').and('contain', 'checked'); + }); + }); + }); + cy.contains('button', 'Submit').click(); + cy.get('.cvat-notification-create-task-success').should('exist').find('button').click(); + cy.get('.cvat-notification-create-task-success').should('exist').find('[data-icon="close"]').click(); + cy.get('.cvat-task-details').should('exist'); + } + + before(() => { + cy.visit('auth/login'); + cy.login(); + }); + + afterEach(() => { + cy.goToTaskList(); + cy.deleteTask(taskName); + }); + + after(() => { + // Renaming to the original name + cy.exec(`mv ${assetLocalPath}/${stdoutToList[0]}.bk ${assetLocalPath}/${stdoutToList[0]}`); + }); + + describe(`Testing case "${caseId}"`, () => { + it('Create a task with "Connected file share".', () => { + createOpenTaskWithShare(); + cy.openJob(); + cy.get('.cvat-player-filename-wrapper').then((playerFilenameWrapper) => { + for (let el = 0; el < stdoutToList.length; el++) { + cy.get(playerFilenameWrapper).should('have.text', stdoutToList[el]); + cy.checkFrameNum(el); + cy.get('.cvat-player-next-button').click().trigger('mouseout'); + } + }); + }); + + it('Check "Fix problem with getting share data for the task when data not available more in Firefox".', () => { + cy.goToTaskList(); + createOpenTaskWithShare(); + // Rename the image + cy.exec(`mv ${assetLocalPath}/${stdoutToList[0]} ${assetLocalPath}/${stdoutToList[0]}.bk`).then( + (fileRenameCommand) => { + expect(fileRenameCommand.code).to.be.eq(0); + }, + ); + cy.exec(`docker exec -i cvat /bin/bash -c "find ~/share -name "*.png" -type f"`).then( + (findFilesCommand) => { + // [image_case_107_2.png, image_case_107_3.png] + expect(findFilesCommand.stdout.split('\n').length).to.be.eq(2); + }, + ); + cy.openJob(); + cy.get('.cvat-annotation-header').should('exist'); + // Error: . "\"No such file or directory /home/django/share/image_case_107_1.png\"". + cy.get('.cvat-notification-notice-fetch-frame-data-from-the-server-failed').should('exist'); + cy.closeNotification('.cvat-notification-notice-fetch-frame-data-from-the-server-failed'); + }); + }); +}); diff --git a/tests/docker-compose.file_share.yml b/tests/docker-compose.file_share.yml new file mode 100644 index 00000000..d34b8347 --- /dev/null +++ b/tests/docker-compose.file_share.yml @@ -0,0 +1,15 @@ +version: '3.3' + +services: + cvat: + environment: + CVAT_SHARE_URL: 'Mounted from asset for case 107 host directory' + volumes: + - cvat_share:/home/django/share:rw + +volumes: + cvat_share: + driver_opts: + type: none + device: tests/cypress/integration/actions_tasks3/assets/case_107 + o: bind