Skip to content
Snippets Groups Projects
Commit 7b4129b6 authored by OZGCloud's avatar OZGCloud
Browse files

Merge pull request 'ozg-5794-e2e-smartdocuments-mock' (#627) from...

Merge pull request 'ozg-5794-e2e-smartdocuments-mock' (#627) from ozg-5794-e2e-smartdocuments-mock into master

Reviewed-on: https://git.ozg-sh.de/ozgcloud-app/alfa/pulls/627


Reviewed-by: default avatarOZGCloud <ozgcloud@mgm-tp.com>
parents af752237 7b055607
Branches
Tags
No related merge requests found
Showing
with 149 additions and 2 deletions
...@@ -659,6 +659,7 @@ String generateCypressConfig(String bezeichner, String testFolder, Integer dbPor ...@@ -659,6 +659,7 @@ String generateCypressConfig(String bezeichner, String testFolder, Integer dbPor
config.env.put("search", getElasticsearchEnv(namespace)) config.env.put("search", getElasticsearchEnv(namespace))
config.env.put("userManager", getUserManagerEnv(namespace, dbPort)) config.env.put("userManager", getUserManagerEnv(namespace, dbPort))
config.env.put("smocker", getSmockerEnv(namespace))
writeJSON file: configName, json: config writeJSON file: configName, json: config
...@@ -802,3 +803,9 @@ Map getElasticsearchSecret(String namespace) { ...@@ -802,3 +803,9 @@ Map getElasticsearchSecret(String namespace) {
Boolean hasNpmDebugLog() { Boolean hasNpmDebugLog() {
return sh (script: "ls -l /root/.npm/_logs/*-debug.log", returnStatus: true) == env.SH_SUCCESS_STATUS_CODE as Integer return sh (script: "ls -l /root/.npm/_logs/*-debug.log", returnStatus: true) == env.SH_SUCCESS_STATUS_CODE as Integer
} }
Map getSmockerEnv(String namespace) {
return [
"url": "https://${namespace}-smocker.dev.by.ozg-cloud.de".toString()
]
}
\ No newline at end of file
...@@ -15,6 +15,9 @@ ...@@ -15,6 +15,9 @@
"userManager": { "userManager": {
"dbUrl": "mongodb://localhost:27018", "dbUrl": "mongodb://localhost:27018",
"database": "usermanager" "database": "usermanager"
},
"smocker": {
"url": "http://localhost:7081"
} }
}, },
"fileServerFolder": ".", "fileServerFolder": ".",
......
...@@ -55,8 +55,11 @@ user_manager: ...@@ -55,8 +55,11 @@ user_manager:
use_staging_cert: true use_staging_cert: true
smocker: smocker:
enabled: false enabled: true
ingress:
enabled: true
use_staging_cert: true
mocks: mocks:
- request: - request:
method: POST method: POST
......
...@@ -40,7 +40,11 @@ user_manager: ...@@ -40,7 +40,11 @@ user_manager:
use_staging_cert: true use_staging_cert: true
smocker: smocker:
enabled: false enabled: true
ingress:
enabled: true
use_staging_cert: true
mocks: mocks:
- request: - request:
......
- request:
method: POST
path: /bspx-postkorb-okkomm-ws/bspservices/postkorbkomm
response:
staus: 200
headers:
Content-Type: text/xml
charset: UTF-8
body: >
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"><SOAP-ENV:Header/><SOAP-ENV:Body><ns2:sendBspNachrichtNativeOutput xmlns:ns2="urn:akdb:bsp:postkorb:komm:webservice"><bspQuittung>&lt;?xml version="1.0" encoding="UTF-8" standalone="yes"?&gt;&lt;BspQuittung version="1.5" fassung="2020-03-15" xmlns="http://www.akdb.de/egov/bsp/nachrichten"&gt;&lt;AnnahmeErfolgreich&gt;true&lt;/AnnahmeErfolgreich&gt;&lt;ErgebnisStatus&gt;&lt;Tabelle&gt;9006&lt;/Tabelle&gt;&lt;Schluessel&gt;0&lt;/Schluessel&gt;&lt;/ErgebnisStatus&gt;&lt;ErgaenzendeHinweise&gt;Nachricht wurde angenommen&lt;/ErgaenzendeHinweise&gt;&lt;/BspQuittung&gt;</bspQuittung></ns2:sendBspNachrichtNativeOutput></SOAP-ENV:Body></SOAP-ENV:Envelope>
\ No newline at end of file
- request:
method: POST
path: /externe-processor-failure
response:
status: 500
headers:
body: 'Da ist etwas schiefgelaufen'
\ No newline at end of file
- request:
method: POST
path: /externe-processor-success
response:
status: 200
headers:
Content-Type: application/json
body: >
{
"action": "CREATE_AKTENNOTIZ",
"body": {
"headline": "Eine neue Notiz",
"severity": "INFO",
"text": "Alles fein"
}
}
\ No newline at end of file
This diff is collapsed.
/*
* 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.
*/
export enum SmockerMocks {
BAYERNID_MOCK = 'bayernid-mock.yaml',
EXTERNE_PROCESSOR_FAILURE_MOCK = 'externe-processor-failure-mock.yaml',
EXTERNE_PROCESSOR_SUCCESS_MOCK = 'externe-processor-success-mock.yaml',
SMARTDOCUMENT_MOCK = 'smartdocument-mock.yaml',
}
\ No newline at end of file
...@@ -48,6 +48,7 @@ enum CypressEnv { ...@@ -48,6 +48,7 @@ enum CypressEnv {
KEYCLOAK_REALM = 'keycloakRealm', KEYCLOAK_REALM = 'keycloakRealm',
KEYCLOAK_URL = 'keycloakUrl', KEYCLOAK_URL = 'keycloakUrl',
SEARCH = 'search', SEARCH = 'search',
SMOCKER = 'smocker',
} }
const CONTENT_TYPE_HEADER_VALUE: string = 'application/x-www-form-urlencoded'; const CONTENT_TYPE_HEADER_VALUE: string = 'application/x-www-form-urlencoded';
...@@ -80,6 +81,8 @@ declare namespace Cypress { ...@@ -80,6 +81,8 @@ declare namespace Cypress {
getUserInfo(); getUserInfo();
addVorgangToSearchIndex(vorgang); addVorgangToSearchIndex(vorgang);
removeAllDocumentsFromSearchIndex(); removeAllDocumentsFromSearchIndex();
addMockToSmocker(mock);
resetSmocker();
} }
} }
...@@ -239,3 +242,32 @@ function buildSearchIndexRemoveAllBody(): any { ...@@ -239,3 +242,32 @@ function buildSearchIndexRemoveAllBody(): any {
}, },
}; };
} }
Cypress.Commands.add('addMockToSmocker', (mock) => {
cy.fixture(`smocker/${mock}`).then((mockFile) => {
cy.request({
method: HttpMethod.POST,
url: `${getSmockerUrl()}/mocks`,
body: mockFile,
headers: {
"Content-Type": "application/x-yaml"
}
});
});
});
Cypress.Commands.add('resetSmocker', () => {
cy.request({
method: HttpMethod.POST,
url: `${getSmockerUrl()}/reset`,
});
});
function getSmockerUrl(): string {
const smockerEnv: string = getSmockerEnv();
return smockerEnv['url'];
}
function getSmockerEnv(): string {
return Cypress.env(CypressEnv.SMOCKER);
}
\ No newline at end of file
...@@ -24,6 +24,7 @@ ...@@ -24,6 +24,7 @@
import { Interception, RouteHandler, RouteMatcher } from 'cypress/types/net-stubbing'; import { Interception, RouteHandler, RouteMatcher } from 'cypress/types/net-stubbing';
import { GridFsChunkE2E, GridFsFileDataE2E, GridFsFileE2E } from '../model/binary-file'; import { GridFsChunkE2E, GridFsFileDataE2E, GridFsFileE2E } from '../model/binary-file';
import { CommandE2E } from '../model/command'; import { CommandE2E } from '../model/command';
import { SmockerMocks } from '../model/smocker';
import { UsermanagerUserE2E } from '../model/usermanager'; import { UsermanagerUserE2E } from '../model/usermanager';
import { VorgangE2E } from '../model/vorgang'; import { VorgangE2E } from '../model/vorgang';
import { VorgangAttachedItemE2E } from '../model/vorgang-attached-item'; import { VorgangAttachedItemE2E } from '../model/vorgang-attached-item';
...@@ -194,3 +195,11 @@ export function getBaseUrl(): string { ...@@ -194,3 +195,11 @@ export function getBaseUrl(): string {
export function getCypressEnv(value: string) { export function getCypressEnv(value: string) {
return Cypress.env(value); return Cypress.env(value);
} }
export function addSmockerMock(mock: SmockerMocks): void {
cy.addMockToSmocker(mock);
}
export function resetSmocker(): void {
cy.resetSmocker();
}
\ No newline at end of file
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment