diff --git a/cypress/e2e/gui/allButProject.cy.js b/cypress/e2e/gui/allButProject.cy.js index 3674a86..c284b22 100644 --- a/cypress/e2e/gui/allButProject.cy.js +++ b/cypress/e2e/gui/allButProject.cy.js @@ -5,6 +5,7 @@ import '../gui/profile/createAccessToken.cy' import './admin/broadcastMessage.cy' // The below test destroys the user session. The next one recreates it. import './admin/impersonateUser.cy.js' +import './profile/deploykeyCreation.cy' import './group/createGroup.cy' import './group/createGroupLabel.cy' import './group/removeGroup.cy.js' @@ -13,7 +14,9 @@ import './profile/setStatus.cy.js' import './snippets/createSnippet.cy.js' import './authentication/loginAsNonDefaultUser.cy' + // Teardown - Delete access token(s) import './profile/deleteAccessTokens.cy' // Leave the logout test to the end since it destroys the user session import './authentication/logout.cy' + diff --git a/cypress/e2e/gui/profile/deploykeyCreation.cy.js b/cypress/e2e/gui/profile/deploykeyCreation.cy.js new file mode 100644 index 0000000..5e69604 --- /dev/null +++ b/cypress/e2e/gui/profile/deploykeyCreation.cy.js @@ -0,0 +1,22 @@ +describe('Deploy Key Creation', () => { + beforeEach(() => cy.sessionLogin()) + + it('creates an key ', () => { + /** + * início + * 1 -Acesssa a sessionLogin + * 2 - Uso dois comandos customizados que são eles: + * gui_deployKeyCreationName() , para gerar um nome aleatório para a key + * gui_deployKeyCreation() , contém a key publica na variável "const publicKey" com valor da key gerada antes + * 3 - verifica o número de key(s), se é igual a (1) assert, caso seja, + * passa para o próximo step que é clique btn "remove" + * 4 - Clique no BTN "remove" + * 5 - Verifica o se número de Keys é igual (0) assert + * fim + */ + cy.gui_deployKeyCreationName() + cy.gui_deployKeyCreation() + cy.gui_deleteKey() + }) + }) + \ No newline at end of file diff --git a/cypress/fixtures/id_rsa b/cypress/fixtures/id_rsa new file mode 100644 index 0000000..875ad8e --- /dev/null +++ b/cypress/fixtures/id_rsa @@ -0,0 +1,49 @@ +-----BEGIN OPENSSH PRIVATE KEY----- +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 +-----END OPENSSH PRIVATE KEY----- diff --git a/cypress/fixtures/id_rsa.pub b/cypress/fixtures/id_rsa.pub new file mode 100644 index 0000000..f8a56a6 --- /dev/null +++ b/cypress/fixtures/id_rsa.pub @@ -0,0 +1 @@ +ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQCqUv54GitjIkrEaDKaSOGl0beg3ZbQM1SUTnGR4e++K9hkrmCuX6nGWcCRool9OoYSS+3M4SgbREcjfjTlSFJZw0NTX5SYcF8WLUCDrKspb0nU6MU84xgQzeBZqE3OPmD6PD3rA0tIvTPjB7S906eWQEndBI9Rv1RL7bzwnJ6N+Ys2f1F8RGQoEJBI0arcnnKBxN091KSg+vZOARDdcOjAFDdpF/1acbJl8qvG/n9s6ahDGp2bHj4+OUw7o/CXPvudKEdZiooTdln63RCRBgNEAOwso32KllBIyUPP1YLfdEwEKcbJVs2iP/IRLx0mgkZaMWshyv+zaIlKvJnZWE7ag6uZg2WdtuZkCooqTyqR3iemMY7kfTI2cyGNzuQr1fd/2RtzmdtuZi7OCfbRlctH7Ez+UlrTiCv9Kz6ZCVBWSFWJKYxor/mYzP7NaP6kSfvgL1lyIjbH+OrZ0zPwlJFOQY6EtKLBqNamSxuhuPFJ9QHaTD7GRQmjbPh4ABn/bLN/M+k14awMCZK5N+6sQbNEKD6PxfWcH/7Al6JQoxRHSLwxpZ64aZ+0SJ5lPExr0wP2/tAkzrWaPLxJ/rkcfA2zULCRqXlkjeLNs5EoAMq7I3zbrKOCdCoQpkWolitdhsijgezYAdxv7t4syewoM0f8xyD/F4SQjO5BJQ7n+dEizw== seu-email@example.com diff --git a/cypress/support/commands/gui_commands.js b/cypress/support/commands/gui_commands.js index 0f89353..15a6dfe 100644 --- a/cypress/support/commands/gui_commands.js +++ b/cypress/support/commands/gui_commands.js @@ -281,3 +281,23 @@ Cypress.Commands.add('assertStatus', statusText => { .should('contain', statusText) cy.get('.qa-user-avatar').click() }) +// CRUD +Cypress.Commands.add('gui_deployKeyCreationName', (name = faker.string.uuid()) => { + cy.visit('http://localhost/admin/deploy_keys/new') + cy.get('#deploy_key_title').type(name) +}) + +Cypress.Commands.add('gui_deployKeyCreation',() => { + const publicKey = 'ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIF55ZxNcdW524Ob/y6kFkYu92DjTi2bqLkz37AFgFpZ+ root@example.com' + cy.get('#deploy_key_key').type(publicKey) + cy.get('.btn-success').click() + +}) +Cypress.Commands.add('gui_deleteKey', () => { + cy.get('.page-title') + .should('contain', '1') + cy.get('.btn-remove').click() + cy.get('.page-title') + .should('contain', '0') +}) +