mirror of
https://github.com/bitnami/charts.git
synced 2026-04-02 07:17:26 +08:00
[bitnami/mediawiki] Review Cypress and Goss tests for Mediawiki Chart (#12702)
* [bitnami/charts] Review Cypress and Goss tests for Mediawiki Chart Signed-off-by: Michiel <michield@vmware.com>
This commit is contained in:
@@ -1,10 +1,10 @@
|
||||
{
|
||||
"env": {
|
||||
"username": "user",
|
||||
"username": "test_user",
|
||||
"password": "ComplicatedPassword123!4"
|
||||
},
|
||||
"hosts": {
|
||||
"bitnami-mediawiki.my": "{{ TARGET_IP }}"
|
||||
"vmware-mediawiki.my": "{{ TARGET_IP }}"
|
||||
},
|
||||
"defaultCommandTimeout": 30000
|
||||
}
|
||||
|
||||
Binary file not shown.
|
Before Width: | Height: | Size: 27 KiB |
BIN
.vib/mediawiki/cypress/cypress/fixtures/images/test_image.jpeg
Normal file
BIN
.vib/mediawiki/cypress/cypress/fixtures/images/test_image.jpeg
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 12 KiB |
@@ -1,6 +0,0 @@
|
||||
{
|
||||
"user": {
|
||||
"realName": "Magnus Developer",
|
||||
"signature": "Creating exciting software since childhood"
|
||||
}
|
||||
}
|
||||
@@ -1,6 +0,0 @@
|
||||
{
|
||||
"newUser": {
|
||||
"username": "NonTrivialUser",
|
||||
"password": "N0ntR1Vi@lPaS$wOrD"
|
||||
}
|
||||
}
|
||||
@@ -1,29 +1,6 @@
|
||||
/// <reference types="cypress" />
|
||||
import { random, getPageUrlFromTitle, confirmLogOut } from '../support/utils';
|
||||
|
||||
it('allows to log in and out', () => {
|
||||
cy.login();
|
||||
cy.contains('li', 'Preferences');
|
||||
cy.contains('Log out').click();
|
||||
confirmLogOut();
|
||||
cy.contains('You are now logged out');
|
||||
});
|
||||
|
||||
it('allows to create user', () => {
|
||||
cy.visit('/index.php?title=Special:CreateAccount');
|
||||
cy.fixture('users').then((user) => {
|
||||
cy.get('input[id="wpName2"]').type(`${user.newUser.username}-${random}`);
|
||||
cy.get('input[id="wpPassword2"]').type(
|
||||
`${user.newUser.password}-${random}`
|
||||
);
|
||||
cy.get('input[id="wpRetype"]').type(`${user.newUser.password}-${random}`);
|
||||
});
|
||||
cy.contains('button', 'Create your account').click();
|
||||
cy.fixture('users').then((user) => {
|
||||
cy.contains(`Welcome, ${user.newUser.username}-${random}`);
|
||||
});
|
||||
});
|
||||
|
||||
it('allows to create a new page', () => {
|
||||
cy.login();
|
||||
cy.fixture('pages').then((page) => {
|
||||
@@ -45,29 +22,14 @@ it('allows to create a new page', () => {
|
||||
it('allows to upload a file', () => {
|
||||
cy.login();
|
||||
cy.visit('/wiki/Special:Upload');
|
||||
cy.get('#wpUploadFile').selectFile('cypress/fixtures/images/post_image.png', {
|
||||
cy.get('#wpUploadFile').selectFile('cypress/fixtures/images/test_image.jpeg', {
|
||||
force: true,
|
||||
});
|
||||
// We'll use a random fileName to bypass duplication-related errors
|
||||
cy.get('input[name="wpDestFile"]').type(`${random}.png`);
|
||||
cy.get('[name="wpDestFile"]').clear().type(`testfile-${random}.jpeg`);
|
||||
// If Mediawiki detects that an identical file was already uploaded
|
||||
// it will ask for confirmation, requiring additional steps
|
||||
cy.get('input[name="wpIgnoreWarning"]').click();
|
||||
cy.get('input[name="wpUpload"]').click();
|
||||
cy.contains('h1', `File:${random}.png`, { matchCase: false });
|
||||
cy.get('[name="wpIgnoreWarning"]').click();
|
||||
cy.get('[name="wpUpload"]').click();
|
||||
cy.contains(`File:testfile-${random}.jpeg`, { matchCase: false });
|
||||
});
|
||||
|
||||
it('allows to change users settings', () => {
|
||||
cy.login();
|
||||
cy.visit('/wiki/Special:Preferences');
|
||||
cy.fixture('user-settings').then((userSettings) => {
|
||||
cy.get('input[name="wprealname"]')
|
||||
.clear({ force: true })
|
||||
.type(`${userSettings.user.realName} ${random}`);
|
||||
cy.get('input[name="wpnickname"]')
|
||||
.clear({ force: true })
|
||||
.type(`${userSettings.user.signature}`);
|
||||
});
|
||||
cy.contains('button', 'Save').should('not.be.disabled').click();
|
||||
cy.contains('Your preferences have been saved');
|
||||
});
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
const COMMAND_DELAY = 2000;
|
||||
const BASE_URL = 'http://bitnami-mediawiki.my';
|
||||
const BASE_URL = 'http://vmware-mediawiki.my';
|
||||
|
||||
for (const command of ['click']) {
|
||||
Cypress.Commands.overwrite(command, (originalFn, ...args) => {
|
||||
|
||||
@@ -1,28 +1,36 @@
|
||||
file:
|
||||
/opt/bitnami/mediawiki/cache:
|
||||
/bitnami/mediawiki:
|
||||
exists: true
|
||||
filetype: directory
|
||||
mode: "0775"
|
||||
owner: daemon
|
||||
group: root
|
||||
/opt/bitnami/mediawiki/images:
|
||||
filetype: symlink
|
||||
linked-to: /bitnami/mediawiki/images
|
||||
mode: "2775"
|
||||
owner: root
|
||||
/etc/hosts:
|
||||
exists: true
|
||||
/bitnami/mediawiki/LocalSettings.php:
|
||||
mode: "0644"
|
||||
filetype: file
|
||||
exists: true
|
||||
# Checks the user running the container is non-root
|
||||
contains:
|
||||
{{ range .Vars.hostAliases }}
|
||||
{{ $ip := .ip }}
|
||||
{{ range $host := .hostnames }}
|
||||
- /{{ $ip }}.*{{ $host }}/
|
||||
{{ end }}
|
||||
{{ end }}
|
||||
http:
|
||||
https://mediawiki:{{ .Vars.service.ports.https }}:
|
||||
## Only checking for status code 301 to avoid the automatic redirect to the domain.
|
||||
status: 301
|
||||
no-follow-redirects: true
|
||||
allow-insecure: true
|
||||
command:
|
||||
user-id-test:
|
||||
exec: if [ "$(id -u)" -eq 0 ]; then exit 1; fi
|
||||
exit-status: 0
|
||||
stdout: []
|
||||
stderr: []
|
||||
which-php:
|
||||
exec: which php
|
||||
check-user-info:
|
||||
exec: id
|
||||
exit-status: 0
|
||||
stdout:
|
||||
- "/opt/bitnami/php/bin/php"
|
||||
stderr: []
|
||||
- uid={{ .Vars.containerSecurityContext.runAsUser }}
|
||||
- /groups=.*{{ .Vars.podSecurityContext.fsGroup }}/
|
||||
check-db-credentials:
|
||||
exec: env
|
||||
exit-status: 0
|
||||
stdout:
|
||||
- /MEDIAWIKI_DATABASE_NAME.*{{ .Vars.mariadb.auth.database }}/
|
||||
- /MEDIAWIKI_DATABASE_USER.*{{ .Vars.mariadb.auth.username }}/
|
||||
- /MEDIAWIKI_DATABASE_PASSWORD.*{{ .Vars.mariadb.auth.password }}/
|
||||
|
||||
16
.vib/mediawiki/goss/vars.yaml
Normal file
16
.vib/mediawiki/goss/vars.yaml
Normal file
@@ -0,0 +1,16 @@
|
||||
hostAliases:
|
||||
- ip: 127.0.0.1
|
||||
hostnames:
|
||||
- status.testhost
|
||||
containerSecurityContext:
|
||||
runAsUser: 1002
|
||||
podSecurityContext:
|
||||
fsGroup: 1002
|
||||
service:
|
||||
ports:
|
||||
https: 444
|
||||
mariadb:
|
||||
auth:
|
||||
database: test_db_database
|
||||
username: test_db_user
|
||||
password: test_db_password
|
||||
@@ -22,7 +22,7 @@
|
||||
"url": "{SHA_ARCHIVE}",
|
||||
"path": "/bitnami/mediawiki"
|
||||
},
|
||||
"runtime_parameters": "bWVkaWF3aWtpVXNlcjogdXNlcgptZWRpYXdpa2lQYXNzd29yZDogQ29tcGxpY2F0ZWRQYXNzd29yZDEyMyE0Cm1lZGlhd2lraUVtYWlsOiB1c2VyQGV4YW1wbGUuY29tCm1lZGlhd2lraUhvc3Q6IGJpdG5hbWktbWVkaWF3aWtpLm15CnNlcnZpY2U6CiAgdHlwZTogTG9hZEJhbGFuY2VyCiAgcG9ydHM6CiAgICBodHRwOiA4MA==",
|
||||
"runtime_parameters": "bWVkaWF3aWtpSG9zdDogdm13YXJlLW1lZGlhd2lraS5teQptZWRpYXdpa2lVc2VyOiB0ZXN0X3VzZXIKbWVkaWF3aWtpUGFzc3dvcmQ6IENvbXBsaWNhdGVkUGFzc3dvcmQxMjMhNApwZXJzaXN0ZW5jZToKICBlbmFibGVkOiB0cnVlCmhvc3RBbGlhc2VzOgogIC0gaXA6IDEyNy4wLjAuMQogICAgaG9zdG5hbWVzOgogICAgICAtIHN0YXR1cy50ZXN0aG9zdApjb250YWluZXJTZWN1cml0eUNvbnRleHQ6CiAgZW5hYmxlZDogdHJ1ZQogIHJ1bkFzVXNlcjogMTAwMgpwb2RTZWN1cml0eUNvbnRleHQ6CiAgZnNHcm91cDogMTAwMgogIGVuYWJsZWQ6IHRydWUKc2VydmljZToKICB0eXBlOiBMb2FkQmFsYW5jZXIKICBwb3J0czoKICAgIGh0dHA6IDgwCiAgICBodHRwczogNDQ0Cm1hcmlhZGI6CiAgZW5hYmxlZDogdHJ1ZQogIGF1dGg6CiAgICBkYXRhYmFzZTogdGVzdF9kYl9kYXRhYmFzZQogICAgdXNlcm5hbWU6IHRlc3RfZGJfdXNlcgogICAgcGFzc3dvcmQ6IHRlc3RfZGJfcGFzc3dvcmQK",
|
||||
"target_platform": {
|
||||
"target_platform_id": "{VIB_ENV_TARGET_PLATFORM}",
|
||||
"size": {
|
||||
@@ -44,6 +44,7 @@
|
||||
"resources": {
|
||||
"path": "/.vib/mediawiki/goss"
|
||||
},
|
||||
"vars_file": "vars.yaml",
|
||||
"remote": {
|
||||
"workload": "deploy-mediawiki"
|
||||
}
|
||||
@@ -58,7 +59,7 @@
|
||||
"endpoint": "lb-mediawiki-http",
|
||||
"app_protocol": "HTTP",
|
||||
"env": {
|
||||
"username": "user",
|
||||
"username": "test_user",
|
||||
"password": "ComplicatedPassword123!4"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -22,7 +22,7 @@
|
||||
"url": "{SHA_ARCHIVE}",
|
||||
"path": "/bitnami/mediawiki"
|
||||
},
|
||||
"runtime_parameters": "bWVkaWF3aWtpVXNlcjogdXNlcgptZWRpYXdpa2lQYXNzd29yZDogQ29tcGxpY2F0ZWRQYXNzd29yZDEyMyE0Cm1lZGlhd2lraUVtYWlsOiB1c2VyQGV4YW1wbGUuY29tCm1lZGlhd2lraUhvc3Q6IGJpdG5hbWktbWVkaWF3aWtpLm15CnNlcnZpY2U6CiAgdHlwZTogTG9hZEJhbGFuY2VyCiAgcG9ydHM6CiAgICBodHRwOiA4MA==",
|
||||
"runtime_parameters": "bWVkaWF3aWtpSG9zdDogdm13YXJlLW1lZGlhd2lraS5teQptZWRpYXdpa2lVc2VyOiB0ZXN0X3VzZXIKbWVkaWF3aWtpUGFzc3dvcmQ6IENvbXBsaWNhdGVkUGFzc3dvcmQxMjMhNApwZXJzaXN0ZW5jZToKICBlbmFibGVkOiB0cnVlCmhvc3RBbGlhc2VzOgogIC0gaXA6IDEyNy4wLjAuMQogICAgaG9zdG5hbWVzOgogICAgICAtIHN0YXR1cy50ZXN0aG9zdApjb250YWluZXJTZWN1cml0eUNvbnRleHQ6CiAgZW5hYmxlZDogdHJ1ZQogIHJ1bkFzVXNlcjogMTAwMgpwb2RTZWN1cml0eUNvbnRleHQ6CiAgZnNHcm91cDogMTAwMgogIGVuYWJsZWQ6IHRydWUKc2VydmljZToKICB0eXBlOiBMb2FkQmFsYW5jZXIKICBwb3J0czoKICAgIGh0dHA6IDgwCiAgICBodHRwczogNDQ0Cm1hcmlhZGI6CiAgZW5hYmxlZDogdHJ1ZQogIGF1dGg6CiAgICBkYXRhYmFzZTogdGVzdF9kYl9kYXRhYmFzZQogICAgdXNlcm5hbWU6IHRlc3RfZGJfdXNlcgogICAgcGFzc3dvcmQ6IHRlc3RfZGJfcGFzc3dvcmQK",
|
||||
"target_platform": {
|
||||
"target_platform_id": "{VIB_ENV_TARGET_PLATFORM}",
|
||||
"size": {
|
||||
@@ -44,6 +44,7 @@
|
||||
"resources": {
|
||||
"path": "/.vib/mediawiki/goss"
|
||||
},
|
||||
"vars_file": "vars.yaml",
|
||||
"remote": {
|
||||
"workload": "deploy-mediawiki"
|
||||
}
|
||||
@@ -58,7 +59,7 @@
|
||||
"endpoint": "lb-mediawiki-http",
|
||||
"app_protocol": "HTTP",
|
||||
"env": {
|
||||
"username": "user",
|
||||
"username": "test_user",
|
||||
"password": "ComplicatedPassword123!4"
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user