Skip to content
Snippets Groups Projects
Commit 3e391416 authored by OZGCloud's avatar OZGCloud
Browse files

Merge branch 'master' of git.ozg-sh.de:mgm/goofy

parents 2cc27853 eb4ee814
Branches
Tags
No related merge requests found
Showing
with 165 additions and 35 deletions
......@@ -149,9 +149,10 @@ pipeline {
steps {
script {
def stageName = env.STAGE_NAME
def namespace = generateNamespaceName(stageName)
def bezeichner = generateBezeichner(stageName)
def namespace = generateNamespaceName(bezeichner)
startEnvironment(namespace, 'ea-values.yaml', 'ea-values.yaml', IMAGE_TAG)
startEnvironment(namespace, 'ea-values.yaml', 'ea-values.yaml', IMAGE_TAG, bezeichner)
def testResult = runTests(stageName, 'einheitlicher-ansprechpartner')
......@@ -175,9 +176,10 @@ pipeline {
steps {
script {
def stageName = env.STAGE_NAME
def namespace = generateNamespaceName(stageName)
def bezeichner = generateBezeichner(stageName)
def namespace = generateNamespaceName(bezeichner)
startEnvironment(namespace, 'values.yaml', 'values.yaml', IMAGE_TAG)
startEnvironment(namespace, 'values.yaml', 'values.yaml', IMAGE_TAG, bezeichner)
def testResult = runTests(stageName, 'main-tests')
......@@ -304,15 +306,15 @@ pipeline {
}
}
Void startEnvironment(String namespace, String goofyValues, String plutoValues, String imageTag){
Void startEnvironment(String namespace, String goofyValues, String plutoValues, String imageTag, String bezeichner){
checkIfNamespaceExists(namespace)
parallel(
startGoofy: {
startGoofy(namespace, goofyValues, imageTag)
startGoofy(namespace, goofyValues, imageTag, bezeichner)
},
startPluto: {
startPluto(namespace, plutoValues)
startPluto(namespace, plutoValues, bezeichner)
}
)
}
......@@ -340,11 +342,11 @@ Void checkIfNamespaceExists(String namespace) {
}
}
Void startPluto(String namespace, String values) {
Void startPluto(String namespace, String values, String bezeichner) {
container("k8s") {
dir('goofy-client/apps/goofy-e2e/deployment-values/pluto') {
withCredentials([usernamePassword(credentialsId: 'jenkins-nexus-login', usernameVariable: 'USER', passwordVariable: 'PASSWORD')]) {
sh "helm upgrade --install --create-namespace pluto pluto -f ${values} --namespace ${namespace}" + ' --repo https://nexus.ozg-sh.de/repository/ozg-base-apps --username ${USER} --password ${PASSWORD} --wait --wait-for-jobs'
sh "helm upgrade --install --create-namespace pluto pluto -f ${values} --set kop.bezeichner=${bezeichner} --namespace ${namespace}" + ' --repo https://nexus.ozg-sh.de/repository/ozg-base-apps --username ${USER} --password ${PASSWORD} --wait --wait-for-jobs'
}
}
......@@ -352,11 +354,11 @@ Void startPluto(String namespace, String values) {
}
}
Void startGoofy(String namespace, String values, String imageTag) {
Void startGoofy(String namespace, String values, String imageTag, String bezeichner) {
container("k8s") {
dir('goofy-client/apps/goofy-e2e/deployment-values/goofy') {
withCredentials([usernamePassword(credentialsId: 'jenkins-nexus-login', usernameVariable: 'USER', passwordVariable: 'PASSWORD')]) {
sh "helm upgrade --install --create-namespace goofy goofy -f ${values} --set image.tag=${imageTag} --namespace ${namespace}" + ' --repo https://nexus.ozg-sh.de/repository/ozg-base-apps --username ${USER} --password ${PASSWORD} --wait --wait-for-jobs'
sh "helm upgrade --install --create-namespace goofy goofy -f ${values} --set image.tag=${imageTag} --set kop.bezeichner=${bezeichner} --namespace ${namespace}" + ' --repo https://nexus.ozg-sh.de/repository/ozg-base-apps --username ${USER} --password ${PASSWORD} --wait --wait-for-jobs'
}
}
......@@ -397,11 +399,15 @@ String makeUrlConform(String input) {
return input.replaceAll(/[^a-zA-Z0-9]+/, "").toLowerCase()
}
String generateNamespaceName(String stage) {
String generateBezeichner(String stage) {
def branchName = makeUrlConform(env.BRANCH_NAME)
def stageName = makeUrlConform(stage)
return "e2e-${branchName}${stageName}-dev"
return "${branchName}${stageName}"
}
String generateNamespaceName(String bezeichner) {
return "e2e-${bezeichner}-dev"
}
Void generateKeycloakUserYaml(String namespace) {
......@@ -474,7 +480,8 @@ Void removeKeycloakUser(String namespace) {
}
String generateCypressConfig(String stage, String testFolder) {
def namespace = generateNamespaceName(stage)
def bezeichner = generateBezeichner(stage)
def namespace = generateNamespaceName(bezeichner)
def configName = "cypress-ci-"+testFolder+".json"
dir('goofy-client/apps/goofy-e2e/'){
......
......@@ -2,7 +2,10 @@ sso:
serverUrl: 'https://sso.dev.ozg-sh.de/auth'
role_einheitlicher_ansprechpartner: true
env:
sprintProfiles: 'oc,dev,e2e'
overrideSpringProfiles: 'oc,dev,ea,e2e'
plutoName: pluto
replicaCount: '1'
scrapeMetricsDisabled: true
kop:
bundesland: e2e
environment: dev
\ No newline at end of file
sso:
serverUrl: 'https://sso.dev.ozg-sh.de/auth'
env:
springProfiles: 'oc, dev, e2e'
overrideSpringProfiles: 'oc, dev, e2e'
plutoName: pluto
replicaCount: '1'
scrapeMetricsDisabled: true
kop:
bundesland: e2e
environment: dev
\ No newline at end of file
......@@ -5,7 +5,7 @@ env:
aktenzeichen:
enabled: true
value: de.itvsh.ozg.pluto.vorgang.AktenzeichenProviderEA
springProfiles: "oc,ea,dev,e2e"
overrideSpringProfiles: "oc,ea,dev,e2e"
image:
tag: snapshot-latest
kopProxyApi:
......@@ -26,3 +26,6 @@ osipostfach:
host: 10.61.16.6
port: "3128"
scrapeMetricsDisabled: true
kop:
bundesland: e2e
environment: dev
\ No newline at end of file
......@@ -5,7 +5,7 @@ env:
aktenzeichen:
enabled: false
value: de.itvsh.ozg.pluto.vorgang.AktenzeichenProviderEA
springProfiles: "oc, dev, e2e"
overrideSpringProfiles: "oc, dev, e2e"
image:
tag: snapshot-latest
kopProxyApi:
......@@ -26,3 +26,6 @@ osipostfach:
host: 10.61.16.6
port: "3128"
scrapeMetricsDisabled: true
kop:
bundesland: e2e
environment: dev
\ No newline at end of file
<div class="wrapper">
<span data-test-id="snackbar-message" class="message">{{ message }}</span>
<button mat-icon-button (click)="close()" data-test-id="snackbar-close-button">
<mat-icon data-test-class="icon">clear</mat-icon>
</button>
</div>
......@@ -20,9 +20,11 @@
content: url("/assets/icons/error_outline_white.svg");
display: block;
background-color: mat.get-color-from-palette($warnPalette);
margin: -14px -16px;
left: 0;
top: 0;
padding: 11px 9px 11px 7px;
color: #fff;
height: 100%;
}
> div {
......@@ -30,6 +32,11 @@
}
}
.wrapper {
display: flex;
align-items: center;
}
.mat-button {
color: mat.get-color-from-palette($primaryPalette, lighter);
}
......
......@@ -31,6 +31,7 @@ class VorgangHeader implements Vorgang {
private VorgangStatus status;
private ZonedDateTime createdAt;
private String aktenzeichen;
private String nummer;
@With
@JsonProperty(access = Access.READ_ONLY)
......
......@@ -6,9 +6,7 @@ import org.junit.jupiter.api.Nested;
import org.junit.jupiter.api.Test;
import org.mapstruct.factory.Mappers;
import de.itvsh.ozg.pluto.vorgang.GrpcEingangHeader;
public class EingangHeaderMapperTest {
class EingangHeaderMapperTest {
private EingangHeaderMapper mapper = Mappers.getMapper(EingangHeaderMapper.class);
......@@ -17,11 +15,20 @@ public class EingangHeaderMapperTest {
@Test
void shouldMapCreatedAt() {
GrpcEingangHeader grpcEingangHeader = GrpcEingangHeaderTestFactory.create();
var eingang = mapper.toEingangHeader(grpcEingangHeader);
var eingang = callMapper();
assertThat(eingang.getCreatedAt()).isEqualTo(GrpcEingangHeaderTestFactory.CREATED_AT);
}
@Test
void shouldMapRequestId() {
var eingang = callMapper();
assertThat(eingang.getRequestId()).isEqualTo(GrpcEingangHeaderTestFactory.REQUEST_ID);
}
private EingangHeader callMapper() {
return mapper.toEingangHeader(GrpcEingangHeaderTestFactory.create());
}
}
}
......@@ -9,7 +9,7 @@ import de.itvsh.ozg.pluto.vorgang.GrpcEingangHeader;
public class GrpcEingangHeaderTestFactory {
private final static String REQUEST_ID = UUID.randomUUID().toString();
public final static String REQUEST_ID = UUID.randomUUID().toString();
private final static String CREATED_AT_STR = "2021-01-10T10:30:00Z";
public final static ZonedDateTime CREATED_AT = ZonedDateTime.parse(CREATED_AT_STR);
private final static String FORM_ID = UUID.randomUUID().toString();
......
package de.itvsh.goofy.vorgang;
import static de.itvsh.goofy.vorgang.VorgangHeaderTestFactory.*;
import de.itvsh.ozg.pluto.vorgang.GrpcVorgangHeader;
public class GrpcVorgangHeaderTestFactory {
public static GrpcVorgangHeader create() {
return createBuilder().build();
}
public static GrpcVorgangHeader.Builder createBuilder() {
return GrpcVorgangHeader.newBuilder()
.setNummer(NUMMER)
.setCreatedAt(CREATED_AT_STR)
.setAktenzeichen(AKTENZEICHEN)
.setAssignedTo(ASSIGNED_TO)
.setName(NAME)
.setStatus(STATUS.name());
}
}
\ No newline at end of file
......@@ -16,6 +16,7 @@ public class GrpcVorgangTestFactory {
private static final String NAME = LoremIpsum.getInstance().getWords(10);
private static final String CREATED_AT = LocalDateTime.now().toString();
private static final String STATUS = "NEU";
private static final String NUMMER = "VorgangNummer123";
public static GrpcFindVorgangResponse createVorgangResponse() {
return createVorgangResponseBuilder().build();
......@@ -35,6 +36,7 @@ public class GrpcVorgangTestFactory {
return GrpcVorgangHeader.newBuilder()
.setId(ID)
.setName(NAME)
.setNummer(NUMMER)
.setCreatedAt(CREATED_AT)
.setStatus(STATUS);
}
......
package de.itvsh.goofy.vorgang;
import static de.itvsh.goofy.vorgang.VorgangHeaderTestFactory.*;
import static org.assertj.core.api.Assertions.*;
import org.junit.jupiter.api.Nested;
import org.junit.jupiter.api.Test;
import org.mapstruct.factory.Mappers;
import org.mockito.InjectMocks;
import org.mockito.Spy;
import de.itvsh.goofy.common.user.UserId;
import de.itvsh.goofy.common.user.UserIdMapper;
import de.itvsh.goofy.vorgang.Vorgang.VorgangStatus;
class VorgangHeaderMapperTest {
@Spy
@InjectMocks
private VorgangHeaderMapper mapper = Mappers.getMapper(VorgangHeaderMapper.class);
@Spy
private UserIdMapper userIdMapper = Mappers.getMapper(UserIdMapper.class);
@Nested
class TestGrpcVorgangHeaderToGoofyVorgangHeader {
@Test
void shouldMapCreatedAt() {
var header = callMapper();
assertThat(header.getCreatedAt()).isEqualTo(CREATED_AT);
}
@Test
void shouldMapNummer() {
var header = callMapper();
assertThat(header.getNummer()).isEqualTo(NUMMER);
}
@Test
void shouldMapAktenzeichen() {
var header = callMapper();
assertThat(header.getAktenzeichen()).isEqualTo(AKTENZEICHEN);
}
@Test
void shouldMapStatus() {
var header = callMapper();
assertThat(header.getStatus()).isEqualTo(VorgangStatus.NEU);
}
@Test
void shouldMapAssignedTo() {
var header = callMapper();
assertThat(header.getAssignedTo()).isEqualTo(UserId.from(ASSIGNED_TO));
}
private VorgangHeader callMapper() {
return mapper.toVorgangHeader(GrpcVorgangHeaderTestFactory.create());
}
}
}
......@@ -16,17 +16,21 @@ public class VorgangHeaderTestFactory {
public static final VorgangStatus STATUS = VorgangStatus.NEU;
public static final String CREATED_AT_STR = "2021-01-10T10:30:00Z";
public static final ZonedDateTime CREATED_AT = ZonedDateTime.parse(CREATED_AT_STR);
public static final String NUMMER = "VorgangNummerTest123";
public static final String AKTENZEICHEN = "0123456789XY";
public static final String ASSIGNED_TO = "paul";
public static VorgangHeader create() {
return createBuilder().build();
}
public static VorgangHeader.VorgangHeaderBuilder createBuilder() {
return VorgangHeader.builder()//
.id(ID)//
return VorgangHeader.builder()
.id(ID)
.version(VERSION)
.name(NAME)//
.status(STATUS)//
.name(NAME)
.nummer(NUMMER)
.status(STATUS)
.createdAt(CREATED_AT)
.assignedTo(UserTestFactory.ID);
}
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment