diff --git a/goofy-client/apps/goofy-e2e/Jenkinsfile b/goofy-client/apps/goofy-e2e/Jenkinsfile index c25dede479bf24c9037d9c13d44f45abb864d9c3..a2d3aaf4a684ca4d52a5ce2fc5ef1653d827d3d9 100644 --- a/goofy-client/apps/goofy-e2e/Jenkinsfile +++ b/goofy-client/apps/goofy-e2e/Jenkinsfile @@ -606,12 +606,11 @@ Void publishE2ETestResult(String reportFolder, String reportName) { String runTests(String bezeichner, String reportFolder, Integer dbPort, String stageName) { def config = generateCypressConfig(bezeichner, reportFolder, dbPort) - def spec = "apps/goofy-e2e/src/e2e/${reportFolder}" try { dir('goofy-client'){ sh "npm run cypress:version" - sh "npm run cypress:ci-run --CONFIG=./${config} --REPORT_FOLDER=${reportFolder}" + sh "apps/goofy-e2e/run-tests.sh ${reportFolder} ${config}" } } catch (Exception e) { printNpmDebugLog() diff --git a/goofy-client/apps/goofy-e2e/run-tests.sh b/goofy-client/apps/goofy-e2e/run-tests.sh new file mode 100755 index 0000000000000000000000000000000000000000..cea8e1905a1f6ac1aa1b90a14769e0c6c86a1f79 --- /dev/null +++ b/goofy-client/apps/goofy-e2e/run-tests.sh @@ -0,0 +1,26 @@ +#!/bin/bash + +export NO_COLOR=1 + +REPORT_FOLDER=$1 +CONFIG_FILE="${2:-cypress.config.ts}" + +echo "Run E2E for $REPORT_FOLDER with configuration apps/goofy-e2e/$CONFIG_FILE..." + +rm -rf apps/goofy-e2e/reports/${REPORT_FOLDER} + +npx cypress run --project apps/goofy-e2e --spec apps/goofy-e2e/src/e2e/${REPORT_FOLDER} --config-file $CONFIG_FILE + +TEST_RESULT=$? + +if [ -d "apps/goofy-e2e/reports/${REPORT_FOLDER}/mochawesome-report/.jsons" ]; then + mv apps/goofy-e2e/reports/${REPORT_FOLDER}/mochawesome-report/.jsons apps/goofy-e2e/reports/${REPORT_FOLDER}/mochawesome-report/jsons + npx mochawesome-merge apps/goofy-e2e/reports/${REPORT_FOLDER}/mochawesome-report/**/*.json > apps/goofy-e2e/reports/${REPORT_FOLDER}/report.json + # Workaround: mochawesome's "screenshotsFolder" value is not added in the generated HTML file. Add "screenshots" to image paths. + sed --in-place --regexp-extended 's/"([^"]*\.png)/"screenshots\1/' apps/goofy-e2e/reports/${REPORT_FOLDER}/report.json + npx marge apps/goofy-e2e/reports/${REPORT_FOLDER}/report.json -f report -o apps/goofy-e2e/reports/${REPORT_FOLDER} +else + echo "ERROR: Reports do not exist at apps/goofy-e2e/reports/${REPORT_FOLDER}/mochawesome-report/.jsons" +fi + +exit $TEST_RESULT \ No newline at end of file diff --git a/goofy-client/apps/goofy-e2e/src/support/delete-old-reports.ts b/goofy-client/apps/goofy-e2e/src/support/delete-old-reports.ts deleted file mode 100644 index 7e1fe4e63291541aca5faff95ceafd503f76d672..0000000000000000000000000000000000000000 --- a/goofy-client/apps/goofy-e2e/src/support/delete-old-reports.ts +++ /dev/null @@ -1,26 +0,0 @@ -/* - * Copyright (C) 2022 Das Land Schleswig-Holstein vertreten durch den - * Ministerpräsidenten des Landes Schleswig-Holstein - * Staatskanzlei - * Abteilung Digitalisierung und zentrales IT-Management der Landesregierung - * - * Lizenziert unter der EUPL, Version 1.2 oder - sobald - * diese von der Europäischen Kommission genehmigt wurden - - * Folgeversionen der EUPL ("Lizenz"); - * Sie dürfen dieses Werk ausschließlich gemäß - * dieser Lizenz nutzen. - * Eine Kopie der Lizenz finden Sie hier: - * - * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12 - * - * Sofern nicht durch anwendbare Rechtsvorschriften - * gefordert oder in schriftlicher Form vereinbart, wird - * die unter der Lizenz verbreitete Software "so wie sie - * ist", OHNE JEGLICHE GEWÄHRLEISTUNG ODER BEDINGUNGEN - - * ausdrücklich oder stillschweigend - verbreitet. - * Die sprachspezifischen Genehmigungen und Beschränkungen - * unter der Lizenz sind dem Lizenztext zu entnehmen. - */ -const fs = require('fs'); - -fs.rmdirSync(`apps/goofy-e2e/reports/${process.env.REPORT_FOLDER}`, { recursive: true }); \ No newline at end of file diff --git a/goofy-client/apps/goofy-e2e/src/support/pre-ea-report-merge.ts b/goofy-client/apps/goofy-e2e/src/support/pre-ea-report-merge.ts deleted file mode 100644 index 08d5f533e0192fe38759f724e2eb41984fea6fed..0000000000000000000000000000000000000000 --- a/goofy-client/apps/goofy-e2e/src/support/pre-ea-report-merge.ts +++ /dev/null @@ -1,28 +0,0 @@ -/* - * Copyright (C) 2022 Das Land Schleswig-Holstein vertreten durch den - * Ministerpräsidenten des Landes Schleswig-Holstein - * Staatskanzlei - * Abteilung Digitalisierung und zentrales IT-Management der Landesregierung - * - * Lizenziert unter der EUPL, Version 1.2 oder - sobald - * diese von der Europäischen Kommission genehmigt wurden - - * Folgeversionen der EUPL ("Lizenz"); - * Sie dürfen dieses Werk ausschließlich gemäß - * dieser Lizenz nutzen. - * Eine Kopie der Lizenz finden Sie hier: - * - * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12 - * - * Sofern nicht durch anwendbare Rechtsvorschriften - * gefordert oder in schriftlicher Form vereinbart, wird - * die unter der Lizenz verbreitete Software "so wie sie - * ist", OHNE JEGLICHE GEWÄHRLEISTUNG ODER BEDINGUNGEN - - * ausdrücklich oder stillschweigend - verbreitet. - * Die sprachspezifischen Genehmigungen und Beschränkungen - * unter der Lizenz sind dem Lizenztext zu entnehmen. - */ -const fs = require('fs'); - -if (fs.existsSync(`apps/goofy-e2e/reports_einheitlicher-ansprechpartner/mochawesome-report/.jsons`)) { - fs.rename(`apps/goofy-e2e/reports_einheitlicher-ansprechpartner/mochawesome-report/.jsons`, `apps/goofy-e2e/reports_einheitlicher-ansprechpartner/mochawesome-report/jsons`, () => { }) -} \ No newline at end of file diff --git a/goofy-client/apps/goofy-e2e/src/support/pre-merge.ts b/goofy-client/apps/goofy-e2e/src/support/pre-merge.ts deleted file mode 100644 index 6ea856303c5a3675377b4df88b5e7fbdf19f9c38..0000000000000000000000000000000000000000 --- a/goofy-client/apps/goofy-e2e/src/support/pre-merge.ts +++ /dev/null @@ -1,28 +0,0 @@ -/* - * Copyright (C) 2022 Das Land Schleswig-Holstein vertreten durch den - * Ministerpräsidenten des Landes Schleswig-Holstein - * Staatskanzlei - * Abteilung Digitalisierung und zentrales IT-Management der Landesregierung - * - * Lizenziert unter der EUPL, Version 1.2 oder - sobald - * diese von der Europäischen Kommission genehmigt wurden - - * Folgeversionen der EUPL ("Lizenz"); - * Sie dürfen dieses Werk ausschließlich gemäß - * dieser Lizenz nutzen. - * Eine Kopie der Lizenz finden Sie hier: - * - * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12 - * - * Sofern nicht durch anwendbare Rechtsvorschriften - * gefordert oder in schriftlicher Form vereinbart, wird - * die unter der Lizenz verbreitete Software "so wie sie - * ist", OHNE JEGLICHE GEWÄHRLEISTUNG ODER BEDINGUNGEN - - * ausdrücklich oder stillschweigend - verbreitet. - * Die sprachspezifischen Genehmigungen und Beschränkungen - * unter der Lizenz sind dem Lizenztext zu entnehmen. - */ -const fs = require('fs'); - -if (fs.existsSync(`apps/goofy-e2e/reports/${process.env.REPORT_FOLDER}/mochawesome-report/.jsons`)) { - fs.rename(`apps/goofy-e2e/reports/${process.env.REPORT_FOLDER}/mochawesome-report/.jsons`, `apps/goofy-e2e/reports/${process.env.REPORT_FOLDER}/mochawesome-report/jsons`, () => { }) -} \ No newline at end of file diff --git a/goofy-client/apps/goofy-e2e/start-e2e-environment.sh b/goofy-client/apps/goofy-e2e/start-e2e-environment.sh index 1a90b7fb229e8069532eacd82d3b588e386eda5f..092840b925f24cb6d11854056d22903aeeaee27b 100755 --- a/goofy-client/apps/goofy-e2e/start-e2e-environment.sh +++ b/goofy-client/apps/goofy-e2e/start-e2e-environment.sh @@ -49,7 +49,7 @@ SPRING_PROFILE=dev,e2e,initSearchIndex docker compose -f ${SCRIPT_DIR}/docker-co echo waitForInitSearchIndex() { - (docker compose -f ${SCRIPT_DIR}/docker-compose.yml logs | fgrep -q 'Successful filled up index - exiting') + (docker compose -f ${SCRIPT_DIR}/docker-compose.yml logs | grep -F -q 'Successful filled up index - exiting') } echo "Waiting for Pluto to finish search index initialisation." diff --git a/goofy-client/package.json b/goofy-client/package.json index 5d0c25a68eee1797610e63ba2606a7ee02b0e19d..0eccd787840c4f816483f44c73406bbaa626d8fc 100644 --- a/goofy-client/package.json +++ b/goofy-client/package.json @@ -39,12 +39,6 @@ "cypress:version": "npx cypress version", "cypress:install": "npx cypress install", "cypress:open": "npx cypress open --project apps/goofy-e2e", - "cypress:ci-run": "npm run cypress:delete-old-reports --REPORT_FOLDER=${npm_config_report_folder} ; NO_COLOR=1 npm run cypress:run -- --config-file=${npm_config_config} ; test=$(echo \"$?\") ; npm run cypress:pre-merge --REPORT_FOLDER=${npm_config_report_folder} ; npm run cypress:generate-report --REPORT_FOLDER=${npm_config_report_folder} ; exit $test", - "cypress:delete-old-reports": "REPORT_FOLDER=${npm_config_report_folder} node apps/goofy-e2e/src/support/delete-old-reports.ts", - "cypress:pre-merge": "REPORT_FOLDER=${npm_config_report_folder} node apps/goofy-e2e/src/support/pre-merge.ts", - "cypress:generate-report": "npm run cypress:merge-report --REPORT_FOLDER=${npm_config_report_folder} ; npm run cypress:generate-html --REPORT_FOLDER=${npm_config_report_folder}", - "cypress:merge-report": "mochawesome-merge apps/goofy-e2e/reports/${npm_config_report_folder}/mochawesome-report/**/*.json > apps/goofy-e2e/reports/${npm_config_report_folder}/report.json", - "cypress:generate-html": "marge apps/goofy-e2e/reports/${npm_config_report_folder}/report.json -f report -o apps/goofy-e2e/reports/${npm_config_report_folder}", "workspace-generator": "nx workspace-generator", "sonar-scanner": "npm test -- --testResultsProcessor='jest-sonar-reporter' && sonar-scanner -Dsonar.host.url=https://sonarqube.ozg-sh.de/ -Dsonar.login=364c6e09430714838730a83f55d3369a7ffda0e9" },