Skip to content
Snippets Groups Projects
Commit 62d20312 authored by OZGCloud's avatar OZGCloud
Browse files

e2e cleanup

parent 7dae409c
No related branches found
No related tags found
No related merge requests found
...@@ -221,7 +221,7 @@ pipeline { ...@@ -221,7 +221,7 @@ pipeline {
Integer mongoDbPort = forwardMongoDbPort(generateNamespace(bezeichner)) Integer mongoDbPort = forwardMongoDbPort(generateNamespace(bezeichner))
runTests(bezeichner, 'einheitlicher-ansprechpartner', 'user-ea', mongoDbPort, env.STAGE_NAME) runTests(bezeichner, 'einheitlicher-ansprechpartner', mongoDbPort, env.STAGE_NAME)
stopForwardMongoDbPort(generateNamespace(bezeichner)) stopForwardMongoDbPort(generateNamespace(bezeichner))
} }
...@@ -252,7 +252,7 @@ pipeline { ...@@ -252,7 +252,7 @@ pipeline {
Integer mongoDbPort = forwardMongoDbPort(generateNamespace(bezeichner)) Integer mongoDbPort = forwardMongoDbPort(generateNamespace(bezeichner))
runTests(bezeichner, 'main-tests', 'user-main', mongoDbPort, env.STAGE_NAME) runTests(bezeichner, 'main-tests', mongoDbPort, env.STAGE_NAME)
stopForwardMongoDbPort(generateNamespace(bezeichner)) stopForwardMongoDbPort(generateNamespace(bezeichner))
} }
...@@ -440,14 +440,14 @@ Void checkoutGitopsE2eBranch() { ...@@ -440,14 +440,14 @@ Void checkoutGitopsE2eBranch() {
} }
Void generateEaNamespaceYaml() { Void generateEaNamespaceYaml() {
generateNamespaceYaml(env.EA_BEZEICHNER, "by-ea-dev.yaml", "user-ea"); generateNamespaceYaml(env.EA_BEZEICHNER, "by-ea-dev.yaml");
} }
Void generateMainNamespaceYaml() { Void generateMainNamespaceYaml() {
generateNamespaceYaml(env.MAIN_BEZEICHNER, "by-main-dev.yaml", "user-main"); generateNamespaceYaml(env.MAIN_BEZEICHNER, "by-main-dev.yaml");
} }
Void generateNamespaceYaml(String bezeichner, String valuesPathSuffix, String userFolder) { Void generateNamespaceYaml(String bezeichner, String valuesPathSuffix) {
def envValues def envValues
dir('alfa-client/apps/alfa-e2e/') { dir('alfa-client/apps/alfa-e2e/') {
envValues = readYaml file: "src/fixtures/argocd/" + valuesPathSuffix; envValues = readYaml file: "src/fixtures/argocd/" + valuesPathSuffix;
...@@ -564,8 +564,8 @@ Void publishE2ETestResult(String reportFolder, String reportName) { ...@@ -564,8 +564,8 @@ Void publishE2ETestResult(String reportFolder, String reportName) {
) )
} }
String runTests(String bezeichner, String reportFolder, String userFolder, Integer dbPort, String stageName) { String runTests(String bezeichner, String reportFolder, Integer dbPort, String stageName) {
def config = generateCypressConfig(bezeichner, reportFolder, userFolder, dbPort) def config = generateCypressConfig(bezeichner, reportFolder, dbPort)
try { try {
dir('alfa-client'){ dir('alfa-client'){
...@@ -607,7 +607,7 @@ String cutBranchNameForKeycloakRealm(String branchName, String stageName) { ...@@ -607,7 +607,7 @@ String cutBranchNameForKeycloakRealm(String branchName, String stageName) {
return branchName.take(cutBranchNamePosition) return branchName.take(cutBranchNamePosition)
} }
String generateCypressConfig(String bezeichner, String testFolder, String userFolder, Integer dbPort) { String generateCypressConfig(String bezeichner, String testFolder, Integer dbPort) {
def namespace = generateNamespace(bezeichner) def namespace = generateNamespace(bezeichner)
def configName = "cypress-ci-"+testFolder+".json" def configName = "cypress-ci-"+testFolder+".json"
...@@ -622,7 +622,6 @@ String generateCypressConfig(String bezeichner, String testFolder, String userFo ...@@ -622,7 +622,6 @@ String generateCypressConfig(String bezeichner, String testFolder, String userFo
config.env.dbUrl = "mongodb://${decodeString(vorgangManagerDatabaseSecret.username)}:${parsablePassword}@localhost:${dbPort}/admin?ssl=false&directConnection=true" as String config.env.dbUrl = "mongodb://${decodeString(vorgangManagerDatabaseSecret.username)}:${parsablePassword}@localhost:${dbPort}/admin?ssl=false&directConnection=true" as String
config.env.keycloakUrl = "https://${env.SSO_URL}/" as String config.env.keycloakUrl = "https://${env.SSO_URL}/" as String
config.env.keycloakRealm = namespace as String config.env.keycloakRealm = namespace as String
// config.env += createUserIdsEnv(userFolder, namespace)
config.videosFolder = "./reports/${testFolder}/videos" as String config.videosFolder = "./reports/${testFolder}/videos" as String
config.screenshotsFolder = "./reports/${testFolder}/screenshots" as String config.screenshotsFolder = "./reports/${testFolder}/screenshots" as String
config.reporterOptions.reportDir = "./reports/${testFolder}/mochawesome-report" as String config.reporterOptions.reportDir = "./reports/${testFolder}/mochawesome-report" as String
...@@ -663,70 +662,6 @@ Map getUserManagerDatabaseSecret(String namespace) { ...@@ -663,70 +662,6 @@ Map getUserManagerDatabaseSecret(String namespace) {
return readJSON ( text: sh (script: "kubectl get secret ozg-mongodb-admin-user-manager-user -n ${namespace} -o jsonpath={.data}", returnStdout: true)) return readJSON ( text: sh (script: "kubectl get secret ozg-mongodb-admin-user-manager-user -n ${namespace} -o jsonpath={.data}", returnStdout: true))
} }
Map createUserIdsEnv(String userFolder, realm) {
def keycloakUsers = getKeycloakUsers(realm)
def usersFixtures = readUsersFixtures(userFolder)
return usersFixtures.collectEntries { username, user ->
[(username + "Uuid") : keycloakUsers[username].id,
(username + "InternalId"): keycloakUsers[username].attributes.ozgCloudUserId[0]]
}
}
Map getKeycloakUsers(realm) {
def shScript = """curl -H 'Content-Type: application/json' \
-H 'Authorization: bearer ${getKeycloakAccessToken(realm)}' \
'https://${env.SSO_URL}/admin/realms/${realm}/users'
"""
def keycloakUsers = readJSON text: sh(script: shScript, returnStdout: true)
echo "keycloak users: ${keycloakUsers}"
return keycloakUsers.collectEntries { [it.username, it] }
}
Map readUsersFixtures(String userFolder) {
def userFolderPath = "src/fixtures/${userFolder}"
def usersFixturesFiles = sh(script: "ls ${userFolderPath}", returnStdout: true);
return usersFixturesFiles.split("\\n")
.collect { userFixtureFile ->
def userFixture = readJSON file: "${userFolderPath}/${userFixtureFile}"
return createUserFromFixture(userFixture)
}.collectEntries { [it.name, it] }
}
Map createUserFromFixture(Map userFixture) {
return ["name" : userFixture.name,
"password" : userFixture.password,
"first_name": userFixture.get("firstName", ""),
"last_name" : userFixture.get("lastName", ""),
"email" : userFixture.get("email", ""),
"initials" : userFixture.initials,
"dataTestId" : userFixture.dataTestId,
"clientRoles" : userFixture.clientRoles,
"groups" : userFixture.groups]
}
String getKeycloakAccessToken(String realm) {
def userManagerApiUserCredentials = getUserManagerApiUserCredentials(realm)
echo "Keycloak ApiUser Credentials: " + userManagerApiUserCredentials
def token = readJSON text: sh (script: "set +x && curl -d \"client_id=admin-cli\" -d \"username=${userManagerApiUserCredentials.user}\" -d \"password=${userManagerApiUserCredentials.password}\" -d \"grant_type=password\" https://$SSO_URL/realms/$realm/protocol/openid-connect/token", returnStdout: true)
echo "Keycloak Access Token: " + token
return token.access_token
}
Map getUserManagerApiUserCredentials(String namespace) {
def userManagerApiUserCredentials = readJSON ( text: sh (script: "kubectl get secret usermanagerapiuser-credentials -n ${namespace} -o jsonpath={.data}", returnStdout: true))
return [
"user": decodeString(userManagerApiUserCredentials.name),
"password": decodeString(userManagerApiUserCredentials.password)
]
}
Void sendFailureMessage() { Void sendFailureMessage() {
def data = [ def data = [
"msgtype": "m.text", "msgtype": "m.text",
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment