From d86ec73a6de6d97c49c444f162c80f1da41414cf Mon Sep 17 00:00:00 2001 From: Jose Antonio Carmona Date: Wed, 17 Aug 2022 12:23:37 +0200 Subject: [PATCH] [bitnami/phpbb] Add tests and publish using VIB (#11705) * [bitnami/phpbb] Add test and publish using VIB Signed-off-by: Jose Antonio Carmona * Simplify some selectors Signed-off-by: Jose Antonio Carmona * Increase robustness Signed-off-by: Jose Antonio Carmona Signed-off-by: Jose Antonio Carmona --- .github/workflows/cd-pipeline.yaml | 1 + .vib/phpbb/cypress/cypress.json | 8 ++++++ .../cypress/fixtures/images/post_image.png | Bin 0 -> 28012 bytes .../cypress/cypress/fixtures/topics.json | 6 ++++ .../cypress/cypress/integration/phpbb_spec.js | 27 ++++++++++++++++++ .../phpbb/cypress/cypress/support/commands.js | 27 ++++++++++++++++++ .vib/phpbb/cypress/cypress/support/index.js | 20 +++++++++++++ .vib/phpbb/cypress/cypress/support/utils.js | 3 ++ .vib/phpbb/goss/goss.yaml | 5 ++++ .vib/phpbb/vib-publish.json | 27 +++++++++++++++++- .vib/phpbb/vib-verify.json | 27 +++++++++++++++++- 11 files changed, 149 insertions(+), 2 deletions(-) create mode 100644 .vib/phpbb/cypress/cypress.json create mode 100644 .vib/phpbb/cypress/cypress/fixtures/images/post_image.png create mode 100644 .vib/phpbb/cypress/cypress/fixtures/topics.json create mode 100644 .vib/phpbb/cypress/cypress/integration/phpbb_spec.js create mode 100644 .vib/phpbb/cypress/cypress/support/commands.js create mode 100644 .vib/phpbb/cypress/cypress/support/index.js create mode 100644 .vib/phpbb/cypress/cypress/support/utils.js create mode 100644 .vib/phpbb/goss/goss.yaml diff --git a/.github/workflows/cd-pipeline.yaml b/.github/workflows/cd-pipeline.yaml index ddc0b731e..7cdc5c0a4 100644 --- a/.github/workflows/cd-pipeline.yaml +++ b/.github/workflows/cd-pipeline.yaml @@ -33,6 +33,7 @@ on: # rebuild any PRs and main branch changes - 'bitnami/odoo/**' - 'bitnami/opencart/**' - 'bitnami/owncloud/**' + - 'bitnami/phpbb/**' - 'bitnami/phpmyadmin/**' - 'bitnami/pinniped/**' - 'bitnami/postgresql/**' diff --git a/.vib/phpbb/cypress/cypress.json b/.vib/phpbb/cypress/cypress.json new file mode 100644 index 000000000..8c86998ec --- /dev/null +++ b/.vib/phpbb/cypress/cypress.json @@ -0,0 +1,8 @@ +{ + "baseUrl": "http://localhost", + "defaultCommandTimeout": 30000, + "env": { + "username": "user", + "password": "ComplicatedPassword123!4" + } +} diff --git a/.vib/phpbb/cypress/cypress/fixtures/images/post_image.png b/.vib/phpbb/cypress/cypress/fixtures/images/post_image.png new file mode 100644 index 0000000000000000000000000000000000000000..87ad739c0975a639b66ea5a456cd2a8c7929617b GIT binary patch literal 28012 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 +import { random } from '../support/utils'; + +it('allows to access Administrator Control Panel', () => { + cy.login(); + cy.contains('Administration Control Panel').click(); + // ACP requires double login + cy.get('[type="password"]').type(Cypress.env('password')); + cy.get('[name=login]').click(); + cy.contains('ACP Logout'); +}); + +it('allows to create a topic', () => { + cy.login(); + cy.get('.forumtitle').click(); + cy.contains('New Topic').click(); + cy.fixture('topics').then((topic) => { + cy.get('[name="subject"]').type(`${topic.newTopic.subject}-${random}`); + cy.get('#message').type(`${topic.newTopic.content} ${random}`); + cy.contains('Attachments').click(); + cy.get('[type=file]').selectFile('cypress/fixtures/images/post_image.png', { force: true }); + cy.get('.file-uploaded'); + cy.contains('Submit').click(); + cy.visit('/search.php?search_id=newposts'); + cy.contains(`${topic.newTopic.subject}-${random}`); + }); +}); diff --git a/.vib/phpbb/cypress/cypress/support/commands.js b/.vib/phpbb/cypress/cypress/support/commands.js new file mode 100644 index 000000000..61fcb5f1b --- /dev/null +++ b/.vib/phpbb/cypress/cypress/support/commands.js @@ -0,0 +1,27 @@ +const COMMAND_DELAY = 2000; + +for (const command of ['click']) { + Cypress.Commands.overwrite(command, (originalFn, ...args) => { + const origVal = originalFn(...args); + + return new Promise((resolve) => { + setTimeout(() => { + resolve(origVal); + }, COMMAND_DELAY); + }); + }); +} + +Cypress.Commands.add( + 'login', + (username = Cypress.env('username'), password = Cypress.env('password')) => { + // Using the specific URL results in random authentication errors + cy.visit('/'); + cy.contains('Login').click(); + cy.get('#username').type(username); + cy.get('#password').type(password); + cy.get('[name=login]').click(); + // The authentication is not completed until the page is rendered + cy.contains('Notifications'); + } +); diff --git a/.vib/phpbb/cypress/cypress/support/index.js b/.vib/phpbb/cypress/cypress/support/index.js new file mode 100644 index 000000000..37a498fb5 --- /dev/null +++ b/.vib/phpbb/cypress/cypress/support/index.js @@ -0,0 +1,20 @@ +// *********************************************************** +// This example support/index.js is processed and +// loaded automatically before your test files. +// +// This is a great place to put global configuration and +// behavior that modifies Cypress. +// +// You can change the location of this file or turn off +// automatically serving support files with the +// 'supportFile' configuration option. +// +// You can read more here: +// https://on.cypress.io/configuration +// *********************************************************** + +// Import commands.js using ES2015 syntax: +import './commands'; + +// Alternatively you can use CommonJS syntax: +// require('./commands') diff --git a/.vib/phpbb/cypress/cypress/support/utils.js b/.vib/phpbb/cypress/cypress/support/utils.js new file mode 100644 index 000000000..f0217c977 --- /dev/null +++ b/.vib/phpbb/cypress/cypress/support/utils.js @@ -0,0 +1,3 @@ +/// + +export let random = (Math.random() + 1).toString(36).substring(7); diff --git a/.vib/phpbb/goss/goss.yaml b/.vib/phpbb/goss/goss.yaml new file mode 100644 index 000000000..884161361 --- /dev/null +++ b/.vib/phpbb/goss/goss.yaml @@ -0,0 +1,5 @@ +file: + /bitnami/phpbb: + exists: true + mode: "2755" + filetype: directory \ No newline at end of file diff --git a/.vib/phpbb/vib-publish.json b/.vib/phpbb/vib-publish.json index a94e2e935..30da45392 100644 --- a/.vib/phpbb/vib-publish.json +++ b/.vib/phpbb/vib-publish.json @@ -22,7 +22,7 @@ "url": "{SHA_ARCHIVE}", "path": "/bitnami/phpbb" }, - "runtime_parameters": "InBocGJiUGFzc3dvcmQiOiAiYml0bmFtaSIKInNlcnZpY2UiOgogICJwb3J0IjogODAKICAidHlwZSI6ICJMb2FkQmFsYW5jZXIi", + "runtime_parameters": "cGhwYmJVc2VybmFtZTogInVzZXIiCnBocGJiUGFzc3dvcmQ6ICJDb21wbGljYXRlZFBhc3N3b3JkMTIzITQiCnNlcnZpY2U6CiAgdHlwZTogTG9hZEJhbGFuY2VyCiAgcG9ydHM6CiAgICBodHRwOiA4MAo=", "target_platform": { "target_platform_id": "{VIB_ENV_TARGET_PLATFORM}", "size": { @@ -37,6 +37,31 @@ "endpoint": "lb-phpbb-http", "app_protocol": "HTTP" } + }, + { + "action_id": "goss", + "params": { + "resources": { + "path": "/.vib/phpbb/goss" + }, + "remote": { + "workload": "deploy-phpbb" + } + } + }, + { + "action_id": "cypress", + "params": { + "resources": { + "path": "/.vib/phpbb/cypress" + }, + "endpoint": "lb-phpbb-http", + "app_protocol": "HTTP", + "env": { + "username": "user", + "password": "ComplicatedPassword123!4" + } + } } ] }, diff --git a/.vib/phpbb/vib-verify.json b/.vib/phpbb/vib-verify.json index 56d10ccc8..5e5cdf3d8 100644 --- a/.vib/phpbb/vib-verify.json +++ b/.vib/phpbb/vib-verify.json @@ -22,7 +22,7 @@ "url": "{SHA_ARCHIVE}", "path": "/bitnami/phpbb" }, - "runtime_parameters": "InBocGJiUGFzc3dvcmQiOiAiYml0bmFtaSIKInNlcnZpY2UiOgogICJwb3J0IjogODAKICAidHlwZSI6ICJMb2FkQmFsYW5jZXIi", + "runtime_parameters": "cGhwYmJVc2VybmFtZTogInVzZXIiCnBocGJiUGFzc3dvcmQ6ICJDb21wbGljYXRlZFBhc3N3b3JkMTIzITQiCnNlcnZpY2U6CiAgdHlwZTogTG9hZEJhbGFuY2VyCiAgcG9ydHM6CiAgICBodHRwOiA4MAo=", "target_platform": { "target_platform_id": "{VIB_ENV_TARGET_PLATFORM}", "size": { @@ -37,6 +37,31 @@ "endpoint": "lb-phpbb-http", "app_protocol": "HTTP" } + }, + { + "action_id": "goss", + "params": { + "resources": { + "path": "/.vib/phpbb/goss" + }, + "remote": { + "workload": "deploy-phpbb" + } + } + }, + { + "action_id": "cypress", + "params": { + "resources": { + "path": "/.vib/phpbb/cypress" + }, + "endpoint": "lb-phpbb-http", + "app_protocol": "HTTP", + "env": { + "username": "user", + "password": "ComplicatedPassword123!4" + } + } } ] }