From 4665f947c10597edd89f17e83dff18dea0b1a510 Mon Sep 17 00:00:00 2001 From: Micah Nagel Date: Thu, 13 May 2021 16:45:33 +0000 Subject: [PATCH] Update to Helm Tests --- CHANGELOG.md | 5 ++ chart/Chart.lock | 7 +- chart/Chart.yaml | 5 +- chart/charts/bb-test-lib-0.5.2.tgz | Bin 0 -> 2475 bytes chart/charts/minio-instance-2.0.9-bb.9.tgz | Bin 6058 -> 4725 bytes chart/charts/postgresql-10.3.5.tgz | Bin 40043 -> 40043 bytes chart/deps/minio/cypress/minio-health.spec.js | 5 -- chart/deps/minio/cypress/minio-login.js | 24 ------ .../templates/tests/test-ui-configmap.yaml | 15 ---- chart/deps/minio/templates/tests/test-ui.yaml | 69 ---------------- .../minio/templates/tests/test-write.yaml | 54 ------------ chart/templates/tests/test-ui.yaml | 13 +++ .../minio => tests}/cypress/cypress.json | 0 chart/tests/cypress/mattermost-health.spec.js | 77 ++++++++++++++++++ tests/cy-run.sh | 16 ---- tests/cypress.json | 11 --- .../integration/mattermost-health.spec.js | 44 ---------- tests/main-test-gateway.yaml | 26 ------ tests/test-values.yml | 12 ++- 19 files changed, 113 insertions(+), 270 deletions(-) create mode 100644 chart/charts/bb-test-lib-0.5.2.tgz delete mode 100644 chart/deps/minio/cypress/minio-health.spec.js delete mode 100644 chart/deps/minio/cypress/minio-login.js delete mode 100644 chart/deps/minio/templates/tests/test-ui-configmap.yaml delete mode 100644 chart/deps/minio/templates/tests/test-ui.yaml delete mode 100644 chart/deps/minio/templates/tests/test-write.yaml create mode 100644 chart/templates/tests/test-ui.yaml rename chart/{deps/minio => tests}/cypress/cypress.json (100%) create mode 100644 chart/tests/cypress/mattermost-health.spec.js delete mode 100755 tests/cy-run.sh delete mode 100644 tests/cypress.json delete mode 100644 tests/cypress/integration/mattermost-health.spec.js delete mode 100644 tests/main-test-gateway.yaml diff --git a/CHANGELOG.md b/CHANGELOG.md index f04687d..805368e 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,6 +4,11 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), --- +## [0.1.6-bb.0] - 2021-05-11 +### Changed +- Migrated Cypress tests to Helm tests +- Added additional testing of file storage and settings modification + ## [0.1.5-bb.0] - 2021-05-06 ### Changed - Updated to 5.34.2 diff --git a/chart/Chart.lock b/chart/Chart.lock index 9c02284..042b232 100644 --- a/chart/Chart.lock +++ b/chart/Chart.lock @@ -5,5 +5,8 @@ dependencies: - name: minio-instance repository: file://./deps/minio version: 2.0.9-bb.9 -digest: sha256:655a9483cf53a24afb867a32f3bcdaedced200bb5cdefb93b5889f79486e8b55 -generated: "2021-04-19T09:54:43.894362-06:00" +- name: bb-test-lib + repository: oci://registry.dso.mil/platform-one/big-bang/pipeline-templates/pipeline-templates + version: 0.5.2 +digest: sha256:0a15fa5bcd2dafdc621740c7cd177210b2c875337f32fe78755af8806bba735a +generated: "2021-05-13T10:38:37.154607-06:00" diff --git a/chart/Chart.yaml b/chart/Chart.yaml index f3a7748..54b8cbe 100644 --- a/chart/Chart.yaml +++ b/chart/Chart.yaml @@ -2,7 +2,7 @@ apiVersion: v2 name: mattermost type: application -version: "0.1.5-bb.0" +version: "0.1.6-bb.0" appVersion: "5.34.2" description: "Deployment of mattermost" keywords: @@ -21,3 +21,6 @@ dependencies: alias: minio condition: minio.install repository: file://./deps/minio + - name: bb-test-lib + version: 0.5.2 + repository: "oci://registry.dso.mil/platform-one/big-bang/pipeline-templates/pipeline-templates" diff --git a/chart/charts/bb-test-lib-0.5.2.tgz b/chart/charts/bb-test-lib-0.5.2.tgz new file mode 100644 index 0000000000000000000000000000000000000000..0df8143dd476200a3e95ccc1ddc9b52dac0bfae4 GIT binary patch literal 2475 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 literal 0 HcmV?d00001 diff --git a/chart/charts/minio-instance-2.0.9-bb.9.tgz b/chart/charts/minio-instance-2.0.9-bb.9.tgz index c3f8d1aa9a9210e25ff9b58c9ea4778a74b0a975..bbfa7b0d3abe6d2381694e9538bf214d1dbb934b 100644 GIT binary patch delta 4709 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%0DU4p@P6IzOt&YrwkqYj{Tmd1mC)}V}8?=AExM*vQ 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 }6CkWvq!15^q$0w;uR#g2A%b3tUXZ~WST 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 diff --git a/chart/deps/minio/cypress/minio-health.spec.js b/chart/deps/minio/cypress/minio-health.spec.js deleted file mode 100644 index 6778cf9..0000000 --- a/chart/deps/minio/cypress/minio-health.spec.js +++ /dev/null @@ -1,5 +0,0 @@ -describe('Basic Minio', function() { - it('Check Minio UI is accessible', function() { - cy.visit(Cypress.env('url')) - }) -}) diff --git a/chart/deps/minio/cypress/minio-login.js b/chart/deps/minio/cypress/minio-login.js deleted file mode 100644 index d64096b..0000000 --- a/chart/deps/minio/cypress/minio-login.js +++ /dev/null @@ -1,24 +0,0 @@ -describe('Minio Login', function() { - it('Check Minio Login', function() { - cy.visit(Cypress.env('url')+"/minio/login") - // Fill the username - cy.get('[name="username"]') - .type(Cypress.env('accesskey')) - .should('have.value', Cypress.env('accesskey')); - - // Fill the password - cy.get('[name="password"]') - .type(Cypress.env('secretkey')) - .should('have.value', Cypress.env('secretkey')); - - // Locate and submit the form - cy.get('form').submit(); - - // Verify the app redirected you to the homepage - cy.location('pathname', { timeout: 10000 }).should('eq', '/minio/'); - - // Verify the page title is "Home" - cy.title().should('eq', 'MinIO Browser'); - - }) -}) diff --git a/chart/deps/minio/templates/tests/test-ui-configmap.yaml b/chart/deps/minio/templates/tests/test-ui-configmap.yaml deleted file mode 100644 index d3b0c95..0000000 --- a/chart/deps/minio/templates/tests/test-ui-configmap.yaml +++ /dev/null @@ -1,15 +0,0 @@ -apiVersion: v1 -kind: ConfigMap -metadata: - name: "{{ .Release.Name }}-cypress-test-configmap" - annotations: - "helm.sh/hook": test-success - "helm.sh/hook-weight": "5" - sidecar.istio.io/inject: "false" - labels: - helm-test: enabled - {{- include "minio.labels" . | nindent 4 }} - namespace: {{ .Release.Namespace }} -data: -{{ (.Files.Glob "cypress/*").AsConfig | indent 2 }} - diff --git a/chart/deps/minio/templates/tests/test-ui.yaml b/chart/deps/minio/templates/tests/test-ui.yaml deleted file mode 100644 index 86dc8e6..0000000 --- a/chart/deps/minio/templates/tests/test-ui.yaml +++ /dev/null @@ -1,69 +0,0 @@ -kind: Pod -apiVersion: v1 -metadata: - name: "{{ .Release.Name }}-ui-test" - namespace: {{ .Release.Namespace }} - annotations: - "helm.sh/hook": test-success - "helm.sh/hook-weight": "20" - sidecar.istio.io/inject: "false" - labels: - helm-test: enabled - {{- include "minio.labels" . | nindent 4 }} -spec: - initContainers: - - name: copier - image: registry.dso.mil/platform-one/big-bang/pipeline-templates/pipeline-templates/cypress/included:5.0.0 - command: - - "/bin/bash" - - "-c" - - | - - ls -la /src/ - cp /src/cypress.json /dest/ - mkdir -p /dest/cypress/integration/ - cp /src/*.js /dest/cypress/integration/ - ls -la /dest/ - ls -la /dest/cypress/integration/ - volumeMounts: - - name: cypress-tests - mountPath: /src - - name: workdir - mountPath: /dest - containers: - - name: {{ .Release.Name }}-ui-test - image: registry.dso.mil/platform-one/big-bang/pipeline-templates/pipeline-templates/cypress/included:5.0.0 - imagePullPolicy: {{ .Values.image.imagePullPolicy | quote }} - workingDir: /e2e - env: - - name: HOST - value: {{ .Values.service.port | quote }} - - name: MINIO_HOST - value: {{ include "minio.serviceName" . }} - - name: cypress_secretkey - valueFrom: - secretKeyRef: - name: {{ .Values.minioRootCreds }} - key: secretkey - - name: cypress_accesskey - valueFrom: - secretKeyRef: - name: {{ .Values.minioRootCreds }} - key: accesskey - - name: cypress_url - value: "http://{{ include "minio.serviceName" . }}:{{ .Values.service.port }}" - args: - - "--" - - "--reporter-options=list" - - "--reporter=spec" - volumeMounts: - - name: workdir - mountPath: /e2e/ - restartPolicy: Never - volumes: - - name: cypress-tests - configMap: - name: "{{ .Release.Name }}-cypress-test-configmap" - - name: workdir - emptyDir: {} - diff --git a/chart/deps/minio/templates/tests/test-write.yaml b/chart/deps/minio/templates/tests/test-write.yaml deleted file mode 100644 index e352bc6..0000000 --- a/chart/deps/minio/templates/tests/test-write.yaml +++ /dev/null @@ -1,54 +0,0 @@ -kind: Pod -apiVersion: v1 -metadata: - name: "{{ .Release.Name }}-access-test" - namespace: {{ .Release.Namespace }} - annotations: - "helm.sh/hook": test-success - "helm.sh/hook-weight": "10" - sidecar.istio.io/inject: "false" - labels: - helm-test: enabled - {{- include "minio.labels" . | nindent 4 }} -spec: - containers: - - name: {{ .Release.Name }}-credentials-test - image: {{.Values.mcImage }} - imagePullPolicy: {{ .Values.image.imagePullPolicy | quote }} - env: - - name: MINIO_PORT - value: {{ .Values.service.port | quote }} - - name: MINIO_HOST - value: {{ include "minio.serviceName" . }} - - name: SECRET_KEY - valueFrom: - secretKeyRef: - name: {{ .Values.minioRootCreds }} - key: secretkey - - name: ACCESS_KEY - valueFrom: - secretKeyRef: - name: {{ .Values.minioRootCreds }} - key: accesskey - command: - - /bin/bash - - -ec - - |- - set -x - mc config host add bigbang http://${MINIO_HOST}:${MINIO_PORT} ${ACCESS_KEY} ${SECRET_KEY} - # cleanup from pervious runs - mc rb bigbang/foobar --force || true - mc mb bigbang/foobar - mc ls bigbang/foobar - base64 /dev/urandom | head -c 10000000 > /tmp/file.txt - md5sum /tmp/file.txt > /tmp/filesig - mc cp /tmp/file.txt bigbang/foobar/file.txt - mc ls bigbang/foobar/file.txt - mc cp bigbang/foobar/file.txt /tmp/file.txt - mc rb bigbang/foobar --force - md5sum -c /tmp/filesig - {{- with .Values.imagePullSecrets }} - imagePullSecrets: - {{- toYaml . | nindent 4}} - {{- end }} - restartPolicy: Never \ No newline at end of file diff --git a/chart/templates/tests/test-ui.yaml b/chart/templates/tests/test-ui.yaml new file mode 100644 index 0000000..57f9771 --- /dev/null +++ b/chart/templates/tests/test-ui.yaml @@ -0,0 +1,13 @@ +{{- include "bb-test-lib.cypress-configmap.overrides" (list . "mattermost-test.cypress-configmap") }} +{{- define "mattermost-test.cypress-configmap" }} +metadata: + labels: + {{ include "mattermost.labels" . | nindent 4 }} +{{- end }} +--- +{{- include "bb-test-lib.cypress-runner.overrides" (list . "mattermost-test.cypress-runner") -}} +{{- define "mattermost-test.cypress-runner" -}} +metadata: + labels: + {{ include "mattermost.labels" . | nindent 4 }} +{{- end }} diff --git a/chart/deps/minio/cypress/cypress.json b/chart/tests/cypress/cypress.json similarity index 100% rename from chart/deps/minio/cypress/cypress.json rename to chart/tests/cypress/cypress.json diff --git a/chart/tests/cypress/mattermost-health.spec.js b/chart/tests/cypress/mattermost-health.spec.js new file mode 100644 index 0000000..ffb3a95 --- /dev/null +++ b/chart/tests/cypress/mattermost-health.spec.js @@ -0,0 +1,77 @@ +describe('Mattermost Healthcheck', function() { + // This provides us with a login account on fresh installs + before(() => { + cy.visit(Cypress.env('url')) + cy.get('div[id="root"]').should('be.visible') + + cy.url().then(($url) => { + if ($url.includes('signup')) { + cy.get('input[id="email"]').type(Cypress.env('mm_email')) + cy.get('input[id="name"]').type(Cypress.env('mm_user')) + cy.get('input[id="password"]').type(Cypress.env('mm_password')) + cy.get('button[id="createAccountButton"]').click() + } + }) + }) + + beforeEach(() => { + cy.visit(Cypress.env('url')) + cy.get('div[id="root"]').should('be.visible') + + // Check if login is needed + cy.url().then(($url) => { + if ($url.includes('login')) { + cy.get('input[id="loginId"]').type(Cypress.env('mm_user')) + cy.get('input[id="loginPassword"]').type(Cypress.env('mm_password')) + cy.get('button[id="loginButton"]').click() + } + }) + cy.wait(500) + }) + + it('should create / persist teams', function() { + cy.get("body").then($body => { + if ($body.find('a[id="createNewTeamLink"]').length > 0) { + cy.get('a[id="createNewTeamLink"]').click() + cy.get('input[id="teamNameInput"]').type("Big Bang") + cy.get('button[id="teamNameNextButton"]').click() + cy.get('button[id="teamURLFinishButton"]').click() + cy.title().should('include', 'Town Square - Big Bang') + } else { + cy.title().should('include', 'Town Square - Big Bang') + } + }) + cy.get("body").then($body => { + if ($body.find('a[id="tutorialSkipLink"]').length > 0) { + cy.get('a[id="tutorialSkipLink"]').click() + } + }) + }) + + it('should allow chatting', function() { + let randomChat = "Hello " + Math.random().toString(36).substring(8); + cy.get('textarea[id="post_textbox"]').type(randomChat).type('{enter}') + cy.get('p').contains(randomChat).should('be.visible') + }) + + it('should have file storage connection', function() { + cy.get('button[aria-label="main menu"]').click() + cy.get('a[href="/admin_console"]').click() + + cy.get('a[id="environment/file_storage"]').click() + cy.get('span').contains("Test Connection").click() + cy.get('div[class="alert alert-success"]').should('be.visible') + }) + + it('should save settings changes', function() { + cy.get('button[aria-label="main menu"]').click() + cy.get('a[href="/admin_console"]').click() + + cy.get('a[id="site_config/customization"]').click() + let randomName = Math.random().toString(36).substring(8); + cy.get('input[id="TeamSettings.SiteName"]').clear().type(randomName) + cy.get('button[id="saveSetting"]').click() + cy.reload() + cy.title().should('include', randomName) + }) +}) diff --git a/tests/cy-run.sh b/tests/cy-run.sh deleted file mode 100755 index 2df7a77..0000000 --- a/tests/cy-run.sh +++ /dev/null @@ -1,16 +0,0 @@ - -#!/usr/bin/env bash -echo "Running Cypress e2e tests headlessly without copying files" - -# explanation of the "docker run" command line arguments -# -# -it = interactive terminal -# -v $PWD:/e2e = map current folder to /e2e inside the container -# -w /e2e = set working directy to /e2e -# $@ = pass any arguments to this script to the Cypress command -# like "./cy-run.sh --record" -# -# Docker image "cypress/included:3.2.0" has its entrypoint -# set to "cypress run" by default - -docker run -it -v $PWD:/e2e -w /e2e cypress/included:5.0.0 $@ diff --git a/tests/cypress.json b/tests/cypress.json deleted file mode 100644 index a12fbe8..0000000 --- a/tests/cypress.json +++ /dev/null @@ -1,11 +0,0 @@ -{ - "pluginsFile": false, - "supportFile": false, - "fixturesFolder": false, - "env": { - "mm_url": "chat.bigbang.dev", - "mm_email": "test@bigbang.dev", - "mm_user": "bigbang", - "mm_password": "Bigbang#123" - } -} diff --git a/tests/cypress/integration/mattermost-health.spec.js b/tests/cypress/integration/mattermost-health.spec.js deleted file mode 100644 index e19742c..0000000 --- a/tests/cypress/integration/mattermost-health.spec.js +++ /dev/null @@ -1,44 +0,0 @@ -describe('Basic Mattermost', function() { - it('Check Mattermost is accessible', function() { - cy.visit(Cypress.env('mm_url')) - // Wait for redirects to happen - cy.get('div[id="root"]').should('be.visible') - - // Check if this is a fresh install or upgrade - cy.url().then(($url) => { - if ($url.includes('signup')) { - cy.get('input[id="email"]').type(Cypress.env('mm_email')) - cy.get('input[id="name"]').type(Cypress.env('mm_user')) - cy.get('input[id="password"]').type(Cypress.env('mm_password')) - cy.get('button[id="createAccountButton"]').click() - - cy.get('a[id="createNewTeamLink"]').click() - cy.get('input[id="teamNameInput"]').type(Cypress.env('mm_user')) - cy.get('button[id="teamNameNextButton"]').click() - cy.get('button[id="teamURLFinishButton"]').click() - - cy.title().should('include', 'Town Square - ') - - cy.get('a[id="tutorialSkipLink"]').click() - cy.get('textarea[id="post_textbox"]').type("Hello Big Bang").type('{enter}') - cy.get('p').contains("Hello Big Bang").should('be.visible') - } else { - cy.get('input[id="loginId"]').type(Cypress.env('mm_user')) - cy.get('input[id="loginPassword"]').type(Cypress.env('mm_password')) - cy.get('button[id="loginButton"]').click() - - cy.title().should('include', 'Town Square - ') - - // Safeguard in case tutorial link is still there - cy.get("body").then($body => { - if ($body.find('a[id="tutorialSkipLink"]').length > 0) { - cy.get('a[id="tutorialSkipLink"]').click() - } - }) - - cy.get('textarea[id="post_textbox"]').type("Hello upgraded Big Bang").type('{enter}') - cy.get('p').contains("Hello upgraded Big Bang").should('be.visible') - } - }) - }) -}) diff --git a/tests/main-test-gateway.yaml b/tests/main-test-gateway.yaml deleted file mode 100644 index 1c7d7d1..0000000 --- a/tests/main-test-gateway.yaml +++ /dev/null @@ -1,26 +0,0 @@ -apiVersion: networking.istio.io/v1beta1 -kind: Gateway -metadata: - name: main - namespace: istio-system -spec: - selector: - istio: ingressgateway - servers: - - hosts: - - '*' - port: - name: http - number: 80 - protocol: HTTP - tls: - httpsRedirect: true - - hosts: - - '*.bigbang.dev' - port: - name: https - number: 443 - protocol: HTTPS - tls: - credentialName: wildcard-cert - mode: SIMPLE diff --git a/tests/test-values.yml b/tests/test-values.yml index cf64ee1..f180ba2 100644 --- a/tests/test-values.yml +++ b/tests/test-values.yml @@ -1,8 +1,14 @@ -istio: - enabled: true - minio: install: true postgresql: install: true + +bbtests: + cypress: + artifacts: true + envs: + cypress_url: http://mattermost.mattermost.svc.cluster.local:8065 + cypress_mm_email: "test@bigbang.dev" + cypress_mm_user: "bigbang" + cypress_mm_password: "Bigbang#123" -- GitLab