-
Notifications
You must be signed in to change notification settings - Fork 3.1k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Cypress test. Connected file share. #3764
Changes from 13 commits
02be31c
745af70
0b79145
c5bf860
31119b7
144f0c4
a09d46c
24b9b2c
ff325f5
ba9b430
ae8a7d4
deb76de
98c5681
09e59b8
3ded30b
3287673
8f47705
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,87 @@ | ||
// Copyright (C) 2021 Intel Corporation | ||
// | ||
// SPDX-License-Identifier: MIT | ||
|
||
/// <reference types="cypress" /> | ||
|
||
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.get('[title]').should('have.length', 4) // Also "root" | ||
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); | ||
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 cloud storages 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); | ||
}); | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Why need this check if the previous command
will return code 0? There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. To make sure that the file has been renamed. And there are only 2 images used in the task. Checking the exit code of the rename command has been added just in case. |
||
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'); | ||
}); | ||
}); | ||
}); |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -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 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
So, if this test doesn't have common with cloud storage features, maybe better to use a such message?
or
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I chose the second option. Applied locally.
Right now GitHub is having problems with actions. The jobs will start after the problems are fixed. https://www.githubstatus.com/