diff --git a/common/pom.xml b/common/pom.xml index 30d5659794f107e25c422b89d060f869695e6264..308eb1f1cdab2265e2c4e0d650f5f80a21b3e182 100644 --- a/common/pom.xml +++ b/common/pom.xml @@ -31,7 +31,7 @@ <parent> <groupId>de.ozgcloud.eingang</groupId> <artifactId>eingang-manager</artifactId> - <version>2.7.0-SNAPSHOT</version> + <version>2.8.0-SNAPSHOT</version> <relativePath>../</relativePath> </parent> <artifactId>common</artifactId> diff --git a/common/src/main/java/de/ozgcloud/eingang/common/formdata/Antragsteller.java b/common/src/main/java/de/ozgcloud/eingang/common/formdata/Antragsteller.java index d5f6c9ef528895e290290279889cb2fbb464c3e0..81826cff9dccf04d8b16040f00f1d8c4f967e8a0 100644 --- a/common/src/main/java/de/ozgcloud/eingang/common/formdata/Antragsteller.java +++ b/common/src/main/java/de/ozgcloud/eingang/common/formdata/Antragsteller.java @@ -33,6 +33,7 @@ import lombok.Getter; public class Antragsteller { private String anrede; + private String firmaName; private String vorname; private String nachname; private String geburtsname; diff --git a/common/src/test/java/de/ozgcloud/eingang/common/formdata/AntragstellerTestFactory.java b/common/src/test/java/de/ozgcloud/eingang/common/formdata/AntragstellerTestFactory.java index c3f5320bc928490b407bf0ff8a83b192566eb0d7..6a506945dc9822cafcc2f1dc37d7ecedb6405b6c 100644 --- a/common/src/test/java/de/ozgcloud/eingang/common/formdata/AntragstellerTestFactory.java +++ b/common/src/test/java/de/ozgcloud/eingang/common/formdata/AntragstellerTestFactory.java @@ -30,6 +30,7 @@ public class AntragstellerTestFactory { public static final String ANREDE = "Herr"; + public static final String FIRMA_NAME = "Firma X"; public static final String GEBIET_BEZEICHNUNG_KEY = "GebietBEZEICHNUNG"; public static final String GEBIET_BEZEICHNUNG_VALUE = "Schleswig"; @@ -54,6 +55,18 @@ public class AntragstellerTestFactory { return createBuilder().build(); } + public static Antragsteller createFirm() { + return createFirmBuilder().build(); + } + + public static Antragsteller.AntragstellerBuilder createFirmBuilder() { + return createBuilder() + .firmaName(FIRMA_NAME) + .geburtsname(null) + .geburtsdatum(null) + .geburtsort(null); + } + public static Antragsteller.AntragstellerBuilder createBuilder() { return Antragsteller.builder() .anrede(ANREDE) diff --git a/enterprise-adapter/pom.xml b/enterprise-adapter/pom.xml index 9db735be38bbccf7790d13fb2024f18751a68743..2198068056ad1def403e4896c8ed3f195dedc416 100644 --- a/enterprise-adapter/pom.xml +++ b/enterprise-adapter/pom.xml @@ -4,7 +4,7 @@ <parent> <groupId>de.ozgcloud.eingang</groupId> <artifactId>eingang-manager</artifactId> - <version>2.7.0-SNAPSHOT</version> + <version>2.8.0-SNAPSHOT</version> </parent> <artifactId>enterprise-adapter</artifactId> <name>EM - Enterprise Interface Adapter</name> diff --git a/formcycle-adapter/formcycle-adapter-impl/pom.xml b/formcycle-adapter/formcycle-adapter-impl/pom.xml index 6a0ee94001fcb3949a0da8d2348b89a2204011d9..3cb1d3fb8eddd78716f644d0265b8c7aafa702c2 100644 --- a/formcycle-adapter/formcycle-adapter-impl/pom.xml +++ b/formcycle-adapter/formcycle-adapter-impl/pom.xml @@ -29,7 +29,7 @@ <parent> <groupId>de.ozgcloud.eingang</groupId> <artifactId>formcycle-adapter</artifactId> - <version>2.7.0-SNAPSHOT</version> + <version>2.8.0-SNAPSHOT</version> <relativePath>../</relativePath> </parent> diff --git a/formcycle-adapter/formcycle-adapter-interface/pom.xml b/formcycle-adapter/formcycle-adapter-interface/pom.xml index f4b4df771e63084db8be2911e8d470d5b9e2fbc4..21e5e3f512c753f7c576cb894854388968816595 100644 --- a/formcycle-adapter/formcycle-adapter-interface/pom.xml +++ b/formcycle-adapter/formcycle-adapter-interface/pom.xml @@ -36,7 +36,7 @@ <groupId>de.ozgcloud.eingang</groupId> <artifactId>formcycle-adapter-interface</artifactId> <name>EM - Formcycle Adapter - Interface</name> - <version>2.7.0-SNAPSHOT</version> + <version>2.8.0-SNAPSHOT</version> <properties> <vorgang-manager.version>2.0.0</vorgang-manager.version> diff --git a/formcycle-adapter/pom.xml b/formcycle-adapter/pom.xml index 744c618971f7acbb70f27b600b038c66aa6727b9..16b6c8e4d98f2a859eaa3f0ab25d29e59a95b844 100644 --- a/formcycle-adapter/pom.xml +++ b/formcycle-adapter/pom.xml @@ -29,7 +29,7 @@ <parent> <groupId>de.ozgcloud.eingang</groupId> <artifactId>eingang-manager</artifactId> - <version>2.7.0-SNAPSHOT</version> + <version>2.8.0-SNAPSHOT</version> </parent> <artifactId>formcycle-adapter</artifactId> diff --git a/formsolutions-adapter/pom.xml b/formsolutions-adapter/pom.xml index 3333c42c1c469c176d199960deb18a51d12e4785..952b50c715b0346251c2ed9f00ca0e60b4c1e86e 100644 --- a/formsolutions-adapter/pom.xml +++ b/formsolutions-adapter/pom.xml @@ -30,7 +30,7 @@ <parent> <groupId>de.ozgcloud.eingang</groupId> <artifactId>eingang-manager</artifactId> - <version>2.7.0-SNAPSHOT</version> + <version>2.8.0-SNAPSHOT</version> <relativePath>../</relativePath> </parent> diff --git a/forwarder/pom.xml b/forwarder/pom.xml index b0841bad595825b8bc8817bdf7742e7fee789dfd..a58d20065792d755199352bb724e9d5032a93666 100644 --- a/forwarder/pom.xml +++ b/forwarder/pom.xml @@ -29,7 +29,7 @@ <parent> <groupId>de.ozgcloud.eingang</groupId> <artifactId>eingang-manager</artifactId> - <version>2.7.0-SNAPSHOT</version> + <version>2.8.0-SNAPSHOT</version> <relativePath>../</relativePath> </parent> diff --git a/intelliform-adapter/pom.xml b/intelliform-adapter/pom.xml index 75a304118ad028eb716199dcf9f5dde9ce11ba19..6a9627f80baf281236d2b09bb60f18056d3c82e4 100644 --- a/intelliform-adapter/pom.xml +++ b/intelliform-adapter/pom.xml @@ -31,7 +31,7 @@ <parent> <groupId>de.ozgcloud.eingang</groupId> <artifactId>eingang-manager</artifactId> - <version>2.7.0-SNAPSHOT</version> + <version>2.8.0-SNAPSHOT</version> <relativePath>../</relativePath> </parent> diff --git a/pom.xml b/pom.xml index 8f8b61c4ea856454bc2a1ce111be3fec068950ef..0c785ea14113aa96c32c0b2fc0454daab2fa0f88 100644 --- a/pom.xml +++ b/pom.xml @@ -37,7 +37,7 @@ <groupId>de.ozgcloud.eingang</groupId> <artifactId>eingang-manager</artifactId> - <version>2.7.0-SNAPSHOT</version> + <version>2.8.0-SNAPSHOT</version> <packaging>pom</packaging> <name>OZG-Cloud Eingang Manager</name> @@ -54,7 +54,7 @@ </modules> <properties> - <vorgang-manager.version>2.6.0</vorgang-manager.version> + <vorgang-manager.version>2.7.0</vorgang-manager.version> <jsoup.version>1.14.3</jsoup.version> <xmlschema.version>2.3.0</xmlschema.version> diff --git a/router/pom.xml b/router/pom.xml index 3f53f90aab040b701dc55217cd2bf7165eed88d5..af606b25085e2150a860105df0b4d6c0f472dac9 100644 --- a/router/pom.xml +++ b/router/pom.xml @@ -29,7 +29,7 @@ <parent> <groupId>de.ozgcloud.eingang</groupId> <artifactId>eingang-manager</artifactId> - <version>2.7.0-SNAPSHOT</version> + <version>2.8.0-SNAPSHOT</version> <relativePath>../</relativePath> </parent> diff --git a/router/src/test/java/de/ozgcloud/eingang/router/GrpcEingangMapperTest.java b/router/src/test/java/de/ozgcloud/eingang/router/GrpcEingangMapperTest.java index b0348cc39fa405d1b7ea467d6d99e2a5ee5db4f0..3909125566b6f297d16633590aa4dcc05644611b 100644 --- a/router/src/test/java/de/ozgcloud/eingang/router/GrpcEingangMapperTest.java +++ b/router/src/test/java/de/ozgcloud/eingang/router/GrpcEingangMapperTest.java @@ -69,6 +69,13 @@ class GrpcEingangMapperTest { } + @Test + void shouldMapFirmaName() { + var mapped = mapper.toAntragsteller(AntragstellerTestFactory.createFirm()); + + assertThat(mapped.getFirmaName()).isEqualTo(AntragstellerTestFactory.FIRMA_NAME); + } + private GrpcAntragsteller toAntragsteller() { return mapper.toAntragsteller(AntragstellerTestFactory.create()); } diff --git a/semantik-adapter/pom.xml b/semantik-adapter/pom.xml index d80a72d50482be10bf3ed8c1541c1829151d7a73..ca5cde0556e7dccac70388701cc2fb40ed46c636 100644 --- a/semantik-adapter/pom.xml +++ b/semantik-adapter/pom.xml @@ -30,7 +30,7 @@ <parent> <groupId>de.ozgcloud.eingang</groupId> <artifactId>eingang-manager</artifactId> - <version>2.7.0-SNAPSHOT</version> + <version>2.8.0-SNAPSHOT</version> </parent> <artifactId>semantik-adapter</artifactId> diff --git a/semantik-adapter/src/main/java/de/ozgcloud/eingang/semantik/enginebased/afm/AfmAntragstellerMapper.java b/semantik-adapter/src/main/java/de/ozgcloud/eingang/semantik/enginebased/afm/AfmAntragstellerMapper.java index 4e5251da5812a678dd2234ab964de002cabd78e8..ac02afebba1744dce9c70987997fd397fb4ea601 100644 --- a/semantik-adapter/src/main/java/de/ozgcloud/eingang/semantik/enginebased/afm/AfmAntragstellerMapper.java +++ b/semantik-adapter/src/main/java/de/ozgcloud/eingang/semantik/enginebased/afm/AfmAntragstellerMapper.java @@ -27,10 +27,12 @@ import static java.util.Objects.*; import java.util.Collections; import java.util.LinkedHashMap; -import java.util.List; import java.util.Map; import java.util.Optional; +import java.util.Set; +import java.util.stream.Collectors; +import org.apache.commons.collections.MapUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Component; @@ -57,6 +59,15 @@ class AfmAntragstellerMapper implements AfmEngineBasedMapper { static final String PLZ = "sh_plz"; static final String ORT = "ort"; + static final String FIELD_FIRMA_NAME = "firma_name"; + static final String FIELD_FIRMA_STRASSE = "firma_strasse"; + static final String FIELD_FIRMA_HAUSNUMMER = "firma_hausnummer"; + static final String FIELD_FIRMA_PLZ = "firma_plz"; + static final String FIELD_FIRMA_STADT = "firma_stadt"; + static final String FIELD_ANSPRECHPARTNER_ANREDE = "firma_ansprechpartner_anrede"; + static final String FIELD_ANSPRECHPARTNER_VORNAME = "firma_ansprechpartner_vorname"; + static final String FIELD_ANSPRECHPARTNER_NACHNAME = "firma_ansprechpartner_nachname"; + @Autowired private AfmAntragstellerHeaderMapper antragstellerHeaderMapper; @@ -81,15 +92,21 @@ class AfmAntragstellerMapper implements AfmEngineBasedMapper { return (String) formDataMap.get(POSTFACH_ID); } - @SuppressWarnings("unchecked") private Optional<Map<String, Object>> getAntragstellerMap(Map<String, Object> formDataMap) { return Optional.ofNullable(formDataMap.get(ANTRAGSTELLER)) .or(() -> Optional.ofNullable(formDataMap.get(ANTRAGSTELLER_UPPERCASE))) - .map(Map.class::cast).map(LinkedHashMap::new); + .map(Map.class::cast).map(LinkedHashMap<String, Object>::new); } private Antragsteller.AntragstellerBuilder addAntragstellerData(Antragsteller.AntragstellerBuilder builder, Map<String, Object> antragstellerMap) { + return isNull(antragstellerMap.get(FIELD_FIRMA_NAME)) + ? addPrivateAntragstellerData(builder, antragstellerMap) + : addFirmAntragstellerData(builder, antragstellerMap); + } + + private Antragsteller.AntragstellerBuilder addPrivateAntragstellerData(Antragsteller.AntragstellerBuilder builder, + Map<String, Object> antragstellerMap) { return builder // .anrede((String) antragstellerMap.get(ANREDE)) // .vorname((String) antragstellerMap.get(VORNAME)) // @@ -103,17 +120,37 @@ class AfmAntragstellerMapper implements AfmEngineBasedMapper { .hausnummer((String) antragstellerMap.get(HAUSNUMMER)) // .plz((String) antragstellerMap.get(PLZ)) // .ort((String) antragstellerMap.get(ORT)) // - .data(getNotMappedData(antragstellerMap)); + .data(getNotMappedData(antragstellerMap, getPrivateFields())); + } + + Antragsteller.AntragstellerBuilder addFirmAntragstellerData(Antragsteller.AntragstellerBuilder builder, + Map<String, Object> antragstellerMap) { + return builder + .firmaName(MapUtils.getString(antragstellerMap, FIELD_FIRMA_NAME)) + .strasse(MapUtils.getString(antragstellerMap, FIELD_FIRMA_STRASSE)) + .hausnummer(MapUtils.getString(antragstellerMap, FIELD_FIRMA_HAUSNUMMER)) + .plz(MapUtils.getString(antragstellerMap, FIELD_FIRMA_PLZ)) + .ort(MapUtils.getString(antragstellerMap, FIELD_FIRMA_STADT)) + .anrede(MapUtils.getString(antragstellerMap, FIELD_ANSPRECHPARTNER_ANREDE)) + .vorname(MapUtils.getString(antragstellerMap, FIELD_ANSPRECHPARTNER_VORNAME)) + .nachname(MapUtils.getString(antragstellerMap, FIELD_ANSPRECHPARTNER_NACHNAME)) + .telefon(MapUtils.getString(antragstellerMap, TELEFON)) + .email(MapUtils.getString(antragstellerMap, EMAIL)) + .data(getNotMappedData(antragstellerMap, getFirmaFields())); + } + + private Map<String, Object> getNotMappedData(Map<String, Object> antragstellerMap, Set<String> mappedFields) { + return antragstellerMap.entrySet().stream().filter(entry -> !mappedFields.contains(entry.getKey())) + .collect(Collectors.toMap(Map.Entry::getKey, Map.Entry::getValue, (key1, key2) -> key1, LinkedHashMap::new)); } - private Map<String, Object> getNotMappedData(Map<String, Object> antragstellerMap) { - var map = new LinkedHashMap<>(antragstellerMap); - getFields().forEach(map::remove); - return map; + private Set<String> getPrivateFields() { + return Set.of(ANREDE, VORNAME, NACHNAME, GEBURTSNAME, GEBURTSDATUM, GEBURTSORT, EMAIL, TELEFON, STRASSE, HAUSNUMMER, PLZ, ORT); } - private List<String> getFields() { - return List.of(ANREDE, VORNAME, NACHNAME, GEBURTSNAME, GEBURTSDATUM, GEBURTSORT, EMAIL, TELEFON, STRASSE, HAUSNUMMER, PLZ, ORT); + private Set<String> getFirmaFields() { + return Set.of(FIELD_FIRMA_NAME, FIELD_FIRMA_STRASSE, FIELD_FIRMA_HAUSNUMMER, FIELD_FIRMA_PLZ, FIELD_FIRMA_STADT, + FIELD_ANSPRECHPARTNER_ANREDE, FIELD_ANSPRECHPARTNER_VORNAME, FIELD_ANSPRECHPARTNER_NACHNAME, TELEFON, EMAIL); } private Map<String, Object> removeMappedData(Map<String, Object> formDataMap) { diff --git a/semantik-adapter/src/main/java/de/ozgcloud/eingang/semantik/enginebased/formcycle/FormcycleAntragstellerMapper.java b/semantik-adapter/src/main/java/de/ozgcloud/eingang/semantik/enginebased/formcycle/FormcycleAntragstellerMapper.java index a8d133be63359eca9db5d610c01f4bfd144f1a96..ab351eb8f849b811373de9c7e4f2b95e0d080086 100644 --- a/semantik-adapter/src/main/java/de/ozgcloud/eingang/semantik/enginebased/formcycle/FormcycleAntragstellerMapper.java +++ b/semantik-adapter/src/main/java/de/ozgcloud/eingang/semantik/enginebased/formcycle/FormcycleAntragstellerMapper.java @@ -1,5 +1,7 @@ package de.ozgcloud.eingang.semantik.enginebased.formcycle; +import static org.apache.commons.lang3.StringUtils.*; + import java.util.Map; import java.util.Optional; @@ -25,6 +27,7 @@ public class FormcycleAntragstellerMapper implements FormcycleEngineBasedMapper static final String KEY_ADDRESS = "tfAntragstellerAdresse"; static final String KEY_PLZ = "tfAntragstellerPLZ"; static final String KEY_ORT = "tfAntragstellerOrt"; + static final String KEY_FIRMA_NAME = "tfOrgName"; @Override public FormData parseFormData(final FormData formData) { @@ -41,19 +44,26 @@ public class FormcycleAntragstellerMapper implements FormcycleEngineBasedMapper } Antragsteller buildAntragsteller(Map<String, Object> antragstellerData) { - return Antragsteller.builder() + var firmaName = getValue(antragstellerData, KEY_FIRMA_NAME); + var antragstellerBuilder = Antragsteller.builder() + .firmaName(firmaName) .anrede(getValue(antragstellerData, KEY_ANREDE)) .vorname(getValue(antragstellerData, KEY_VORNAME)) .nachname(getValue(antragstellerData, KEY_NACHNAME)) - .geburtsname(getValue(antragstellerData, KEY_GEBURTSNAME)) - .geburtsdatum(getValue(antragstellerData, KEY_GEBURTSDATUM)) - .geburtsort(getValue(antragstellerData, KEY_GEBURTSORT)) .email(getValue(antragstellerData, KEY_EMAIL)) .telefon(getValue(antragstellerData, KEY_TELEFON)) .strasse(getValue(antragstellerData, KEY_ADDRESS)) .plz(getValue(antragstellerData, KEY_PLZ)) - .ort(getValue(antragstellerData, KEY_ORT)) - .build(); + .ort(getValue(antragstellerData, KEY_ORT)); + if (isBlank(firmaName)) { + antragstellerBuilder + .geburtsname(getValue(antragstellerData, KEY_GEBURTSNAME)) + .geburtsdatum(getValue(antragstellerData, KEY_GEBURTSDATUM)) + .geburtsort(getValue(antragstellerData, KEY_GEBURTSORT)); + }else { + antragstellerBuilder.firmaName(firmaName); + } + return antragstellerBuilder.build(); } String getValue(Map<String, Object> formDataMap, String key) { diff --git a/semantik-adapter/src/test/java/de/ozgcloud/eingang/semantik/enginebased/afm/AfmAntragstellerMapperTest.java b/semantik-adapter/src/test/java/de/ozgcloud/eingang/semantik/enginebased/afm/AfmAntragstellerMapperTest.java index e40b13db45356729cd68b0fec172931b999c4c17..f68df9df3da7a3905ef9a4dc0fdd9a96c112c890 100644 --- a/semantik-adapter/src/test/java/de/ozgcloud/eingang/semantik/enginebased/afm/AfmAntragstellerMapperTest.java +++ b/semantik-adapter/src/test/java/de/ozgcloud/eingang/semantik/enginebased/afm/AfmAntragstellerMapperTest.java @@ -37,11 +37,9 @@ import org.junit.jupiter.api.Nested; import org.junit.jupiter.api.Test; import org.mockito.InjectMocks; import org.mockito.Mock; -import org.mockito.Mockito; import de.ozgcloud.eingang.common.formdata.Antragsteller; import de.ozgcloud.eingang.common.formdata.FormData; -import de.ozgcloud.eingang.semantik.enginebased.afm.AfmAntragstellerMapper; class AfmAntragstellerMapperTest { @@ -52,7 +50,7 @@ class AfmAntragstellerMapperTest { private AfmAntragstellerHeaderMapper antragstellerHeaderMapper; private FormData formData = FormData.builder().formData(AfmAntragstellerTestFactory.createFormDataMap()).build(); - + @DisplayName("Parse form data") @Nested class TestParseFormData { @@ -88,7 +86,8 @@ class AfmAntragstellerMapperTest { @Test @DisplayName("should map antragsteller when key starts with an uppercase letter") void shouldMapAntragstellerUppercase() { - formData = FormData.builder().formData(AfmAntragstellerTestFactory.createFormDataMap(AfmAntragstellerMapper.ANTRAGSTELLER_UPPERCASE)).build(); + formData = FormData.builder().formData(AfmAntragstellerTestFactory.createFormDataMap(AfmAntragstellerMapper.ANTRAGSTELLER_UPPERCASE)) + .build(); var parsedFormData = parseFormData(formData); @@ -99,7 +98,8 @@ class AfmAntragstellerMapperTest { @Test @DisplayName("should map only antragsteller key when both present") void shouldMapOnlyOneKey() { - var expectedAntragsteller = AfmAntragstellerTestFactory.createBuilder().anrede("anrede").vorname("firstName").nachname("lastName").build(); + var expectedAntragsteller = AfmAntragstellerTestFactory.createBuilder().anrede("anrede").vorname("firstName").nachname("lastName") + .build(); var parsedFormData = parseFormData(createFormData(expectedAntragsteller)); @@ -109,7 +109,7 @@ class AfmAntragstellerMapperTest { private FormData createFormData(Antragsteller antragsteller) { var formDataMap = AfmAntragstellerTestFactory.createMutableFormDataMap(AfmAntragstellerMapper.ANTRAGSTELLER_UPPERCASE); - var antragstelleMap = AfmAntragstellerTestFactory.createAntragstelleMap( + var antragstelleMap = AfmAntragstellerTestFactory.createPrivateAntragstelleMap( MapEntry.entry(AfmAntragstellerMapper.ANREDE, antragsteller.getAnrede()), MapEntry.entry(AfmAntragstellerMapper.VORNAME, antragsteller.getVorname()), MapEntry.entry(AfmAntragstellerMapper.NACHNAME, antragsteller.getNachname()) @@ -118,9 +118,9 @@ class AfmAntragstellerMapperTest { return FormData.builder().formData(formDataMap).build(); } - @DisplayName("map antragsteller data") + @DisplayName("map private antragsteller data") @Nested - class TestMapAntragstellerData { + class TestMapPrivateAntragstellerData { @Test void shouldMapPostfachId() { @@ -140,7 +140,8 @@ class AfmAntragstellerMapperTest { @BeforeEach void buildFormData() { - var antragstellerMap = AfmAntragstellerTestFactory.createAntragstelleMap(MapEntry.entry(NOT_MAPPED_FIELD, NOT_MAPPED_VALUE)); + var antragstellerMap = AfmAntragstellerTestFactory.createPrivateAntragstelleMap( + MapEntry.entry(NOT_MAPPED_FIELD, NOT_MAPPED_VALUE)); var formDataMap = new HashMap<String, Object>(); formDataMap.put(AfmAntragstellerMapper.ANTRAGSTELLER, antragstellerMap); @@ -176,9 +177,9 @@ class AfmAntragstellerMapperTest { } } - @DisplayName("remove fields") + @DisplayName("remove private fields") @Nested - class TestRemoveFields { + class TestRemovePrivateFields { @Test void shouldRemoveAntragsteller() { @@ -190,7 +191,8 @@ class AfmAntragstellerMapperTest { @Test @DisplayName("should remove Antragsteller when key starts with an uppercase latter") void shouldRemoveAntragstellerUppercase() { - formData = FormData.builder().formData(AfmAntragstellerTestFactory.createFormDataMap(AfmAntragstellerMapper.ANTRAGSTELLER_UPPERCASE)).build(); + formData = FormData.builder().formData(AfmAntragstellerTestFactory.createFormDataMap(AfmAntragstellerMapper.ANTRAGSTELLER_UPPERCASE)) + .build(); var parsedFormData = parseFormData(formData); @@ -207,12 +209,31 @@ class AfmAntragstellerMapperTest { private FormData createFormData() { var formDataMap = AfmAntragstellerTestFactory.createMutableFormDataMap(AfmAntragstellerMapper.ANTRAGSTELLER_UPPERCASE); - formDataMap.put(AfmAntragstellerMapper.ANTRAGSTELLER, AfmAntragstellerTestFactory.createAntragstelleMap()); + formDataMap.put(AfmAntragstellerMapper.ANTRAGSTELLER, AfmAntragstellerTestFactory.createPrivateAntragstelleMap()); return FormData.builder().formData(formDataMap).build(); } } } + @Nested + class TestMapFirmAntragstellerData { + + @Test + void shouldMapFirmAntragstellerData() { + var parsedFormData = parseFormData(createFormData()); + + assertThat(parsedFormData.getAntragsteller()).usingRecursiveComparison() + .ignoringFields("data") + .isEqualTo(AfmAntragstellerTestFactory.createFirm()); + } + + private FormData createFormData() { + var formDataMap = AfmAntragstellerTestFactory.createFormDataMap(); + formDataMap.put(AfmAntragstellerMapper.ANTRAGSTELLER, AfmAntragstellerTestFactory.createFirmAntragstelleMap()); + return FormData.builder().formData(formDataMap).build(); + } + } + private FormData parseFormData(FormData formData) { return mapper.parseFormData(formData); } diff --git a/semantik-adapter/src/test/java/de/ozgcloud/eingang/semantik/enginebased/afm/AfmAntragstellerTestFactory.java b/semantik-adapter/src/test/java/de/ozgcloud/eingang/semantik/enginebased/afm/AfmAntragstellerTestFactory.java index b127c5a0d30be66e723c7b1744378b5b613e3043..bcdf3985f30f88c7fe5d1a0d47f669aca86942b6 100644 --- a/semantik-adapter/src/test/java/de/ozgcloud/eingang/semantik/enginebased/afm/AfmAntragstellerTestFactory.java +++ b/semantik-adapter/src/test/java/de/ozgcloud/eingang/semantik/enginebased/afm/AfmAntragstellerTestFactory.java @@ -32,11 +32,11 @@ import java.util.UUID; import org.assertj.core.data.MapEntry; import de.ozgcloud.eingang.common.formdata.Antragsteller; -import de.ozgcloud.eingang.semantik.enginebased.afm.AfmAntragstellerMapper; public class AfmAntragstellerTestFactory { public static final String ANREDE = "Herr"; + public static final String FIRMA_NAME = "Firma X"; public static final String VORNAME = "Max"; public static final String NACHNAME = "Mustermann"; public static final String GEBURTSNAME = "Maxi"; @@ -55,6 +55,15 @@ public class AfmAntragstellerTestFactory { return createBuilder().build(); } + public static Antragsteller createFirm() { + return createBuilder() + .firmaName(FIRMA_NAME) + .geburtsname(null) + .geburtsdatum(null) + .geburtsort(null) + .build(); + } + public static Antragsteller.AntragstellerBuilder createBuilder() { return Antragsteller.builder() .anrede(ANREDE) @@ -77,18 +86,18 @@ public class AfmAntragstellerTestFactory { } public static Map<String, Object> createFormDataMap(String antragstellerKey) { - return Collections.unmodifiableMap(createMutableFormDataMap(antragstellerKey)); + return createMutableFormDataMap(antragstellerKey); } public static Map<String, Object> createMutableFormDataMap(String antragstellerKey) { var map = new HashMap<String, Object>(); - map.put(antragstellerKey, createAntragstelleMap()); + map.put(antragstellerKey, createPrivateAntragstelleMap()); map.put(AfmAntragstellerMapper.POSTFACH_ID, POSTFACH_ID); return map; } @SafeVarargs - public static Map<String, Object> createAntragstelleMap(MapEntry<String, Object>... additionalEntries) { + public static Map<String, Object> createPrivateAntragstelleMap(MapEntry<String, Object>... additionalEntries) { var map = new HashMap<String, Object>(); map.put(AfmAntragstellerMapper.ANREDE, ANREDE); map.put(AfmAntragstellerMapper.VORNAME, VORNAME); @@ -107,4 +116,23 @@ public class AfmAntragstellerTestFactory { return Collections.unmodifiableMap(map); } + + @SafeVarargs + public static Map<String, Object> createFirmAntragstelleMap(MapEntry<String, Object>... additionalEntries) { + var map = new HashMap<String, Object>(); + map.put(AfmAntragstellerMapper.FIELD_FIRMA_NAME, FIRMA_NAME); + map.put(AfmAntragstellerMapper.FIELD_ANSPRECHPARTNER_ANREDE, ANREDE); + map.put(AfmAntragstellerMapper.FIELD_ANSPRECHPARTNER_VORNAME, VORNAME); + map.put(AfmAntragstellerMapper.FIELD_ANSPRECHPARTNER_NACHNAME, NACHNAME); + map.put(AfmAntragstellerMapper.EMAIL, EMAIL); + map.put(AfmAntragstellerMapper.TELEFON, TELEFON); + map.put(AfmAntragstellerMapper.FIELD_FIRMA_STRASSE, STRASSE); + map.put(AfmAntragstellerMapper.FIELD_FIRMA_HAUSNUMMER, HAUSNUMMER); + map.put(AfmAntragstellerMapper.FIELD_FIRMA_PLZ, PLZ); + map.put(AfmAntragstellerMapper.FIELD_FIRMA_STADT, ORT); + + Arrays.stream(additionalEntries).forEach(entry -> map.put(entry.getKey(), entry.getValue())); + + return Collections.unmodifiableMap(map); + } } \ No newline at end of file diff --git a/semantik-adapter/src/test/java/de/ozgcloud/eingang/semantik/enginebased/formcycle/FormcycleAntragstellerMapperTest.java b/semantik-adapter/src/test/java/de/ozgcloud/eingang/semantik/enginebased/formcycle/FormcycleAntragstellerMapperTest.java index ecce809dfc165ebda375212fcc659021b9f8ea76..4bcbc1cba5239aeffb34b319eb5d0d81b54bc5a7 100644 --- a/semantik-adapter/src/test/java/de/ozgcloud/eingang/semantik/enginebased/formcycle/FormcycleAntragstellerMapperTest.java +++ b/semantik-adapter/src/test/java/de/ozgcloud/eingang/semantik/enginebased/formcycle/FormcycleAntragstellerMapperTest.java @@ -7,8 +7,7 @@ import java.util.HashMap; import java.util.Map; import java.util.Optional; -import org.assertj.core.api.Assertions; -import org.junit.jupiter.api.BeforeAll; +import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Nested; import org.junit.jupiter.api.Test; import org.mockito.InjectMocks; @@ -28,23 +27,9 @@ class FormcycleAntragstellerMapperTest { private static final String VALUE_KEY = "value"; private static final String LABEL_KEY = "label"; - private static final Map<String, Object> ANTRAGSTELLER_DATA = new HashMap<>(); - private static final Map<String, Object> ANTRAGSTELLER_MAP = Map.of("fsBKAllDaten", Map.of(VALUE_KEY, ANTRAGSTELLER_DATA)); - - @BeforeAll - static void fillAntragstellerData() { - ANTRAGSTELLER_DATA.put("tfAntragstellerAnrede", Map.of(VALUE_KEY, AntragstellerTestFactory.ANREDE, LABEL_KEY, "Anrede")); - ANTRAGSTELLER_DATA.put("tfAntragstellerVorname", Map.of(LABEL_KEY, "Vorname", VALUE_KEY, AntragstellerTestFactory.VORNAME)); - ANTRAGSTELLER_DATA.put("tfAntragstellerName", Map.of(VALUE_KEY, AntragstellerTestFactory.NACHNAME, LABEL_KEY, "Nachname")); - ANTRAGSTELLER_DATA.put("tfAntragstellerGeburtsname", Map.of(VALUE_KEY, AntragstellerTestFactory.GEBURTSNAME, LABEL_KEY, "Geburtsname")); - ANTRAGSTELLER_DATA.put("tfAntragstellerGeburtsdatum", Map.of(VALUE_KEY, AntragstellerTestFactory.GEBURTSDATUM, LABEL_KEY, "Geburtsdatum")); - ANTRAGSTELLER_DATA.put("tfAntragstellerGeburtsort", Map.of(VALUE_KEY, AntragstellerTestFactory.GEBURTSORT, LABEL_KEY, "Geburtsort")); - ANTRAGSTELLER_DATA.put("tfAntragstellerEmail", Map.of(VALUE_KEY, AntragstellerTestFactory.EMAIL, LABEL_KEY, "E-Mail")); - ANTRAGSTELLER_DATA.put("tfAntragstellerTelefon", Map.of(VALUE_KEY, AntragstellerTestFactory.TELEFON, LABEL_KEY, "Telefon")); - ANTRAGSTELLER_DATA.put("tfAntragstellerAdresse", Map.of(LABEL_KEY, "Adresse", VALUE_KEY, AntragstellerTestFactory.STRASSE + " " + AntragstellerTestFactory.HAUSNUMMER)); - ANTRAGSTELLER_DATA.put("tfAntragstellerPLZ", Map.of(LABEL_KEY, "PLZ", VALUE_KEY, AntragstellerTestFactory.PLZ)); - ANTRAGSTELLER_DATA.put("tfAntragstellerOrt", Map.of(LABEL_KEY, "Ort", VALUE_KEY, AntragstellerTestFactory.ORT)); - } + + private Map<String, Object> antragstellerData = new HashMap<>(); + private Map<String, Object> antragstellerMap = Map.of("fsBKAllDaten", Map.of(VALUE_KEY, antragstellerData)); @Nested class TestParseFormData { @@ -56,16 +41,16 @@ class FormcycleAntragstellerMapperTest { void shouldCallGetAntragsteller() { mapper.parseFormData(buildFormData()); - verify(mapper).getAntragstellerData(ANTRAGSTELLER_MAP); + verify(mapper).getAntragstellerData(antragstellerMap); } @Test void shouldCallBuildAntragsteller() { - doReturn(Optional.of(ANTRAGSTELLER_DATA)).when(mapper).getAntragstellerData(anyMap()); + doReturn(Optional.of(antragstellerData)).when(mapper).getAntragstellerData(anyMap()); mapper.parseFormData(buildFormData()); - verify(mapper).buildAntragsteller(ANTRAGSTELLER_DATA); + verify(mapper).buildAntragsteller(antragstellerData); } @Test @@ -87,7 +72,7 @@ class FormcycleAntragstellerMapperTest { } FormData buildFormData() { - return FormData.builder().formData(ANTRAGSTELLER_MAP).build(); + return FormData.builder().formData(antragstellerMap).build(); } } @@ -105,9 +90,9 @@ class FormcycleAntragstellerMapperTest { @Test void shouldReturnAntragstellerData() { - var result = mapper.getAntragstellerData(ANTRAGSTELLER_MAP); + var result = mapper.getAntragstellerData(antragstellerMap); - assertThat(result).contains(ANTRAGSTELLER_DATA); + assertThat(result).contains(antragstellerData); } } @@ -116,6 +101,8 @@ class FormcycleAntragstellerMapperTest { @Test void shouldSetAnrede() { + antragstellerData.put("tfAntragstellerAnrede", Map.of(VALUE_KEY, AntragstellerTestFactory.ANREDE, LABEL_KEY, "Anrede")); + var result = buildAntragsteller(); assertThat(result.getAnrede()).isEqualTo(AntragstellerTestFactory.ANREDE); @@ -123,6 +110,8 @@ class FormcycleAntragstellerMapperTest { @Test void shouldSetVorname() { + antragstellerData.put("tfAntragstellerVorname", Map.of(LABEL_KEY, "Vorname", VALUE_KEY, AntragstellerTestFactory.VORNAME)); + var result = buildAntragsteller(); assertThat(result.getVorname()).isEqualTo(AntragstellerTestFactory.VORNAME); @@ -130,6 +119,8 @@ class FormcycleAntragstellerMapperTest { @Test void shouldSetNachname() { + antragstellerData.put("tfAntragstellerName", Map.of(VALUE_KEY, AntragstellerTestFactory.NACHNAME, LABEL_KEY, "Nachname")); + var result = buildAntragsteller(); assertThat(result.getNachname()).isEqualTo(AntragstellerTestFactory.NACHNAME); @@ -137,6 +128,8 @@ class FormcycleAntragstellerMapperTest { @Test void shouldSetGeburtsname() { + antragstellerData.put("tfAntragstellerGeburtsname", Map.of(VALUE_KEY, AntragstellerTestFactory.GEBURTSNAME, LABEL_KEY, "Geburtsname")); + var result = buildAntragsteller(); assertThat(result.getGeburtsname()).isEqualTo(AntragstellerTestFactory.GEBURTSNAME); @@ -144,6 +137,8 @@ class FormcycleAntragstellerMapperTest { @Test void shouldSetGeburtsdatum() { + antragstellerData.put("tfAntragstellerGeburtsdatum", Map.of(VALUE_KEY, AntragstellerTestFactory.GEBURTSDATUM, LABEL_KEY, "Geburtsdatum")); + var result = buildAntragsteller(); assertThat(result.getGeburtsdatum()).isEqualTo(AntragstellerTestFactory.GEBURTSDATUM); @@ -151,6 +146,8 @@ class FormcycleAntragstellerMapperTest { @Test void shouldSetGeburtsort() { + antragstellerData.put("tfAntragstellerGeburtsort", Map.of(VALUE_KEY, AntragstellerTestFactory.GEBURTSORT, LABEL_KEY, "Geburtsort")); + var result = buildAntragsteller(); assertThat(result.getGeburtsort()).isEqualTo(AntragstellerTestFactory.GEBURTSORT); @@ -158,6 +155,8 @@ class FormcycleAntragstellerMapperTest { @Test void shouldSetEmail() { + antragstellerData.put("tfAntragstellerEmail", Map.of(VALUE_KEY, AntragstellerTestFactory.EMAIL, LABEL_KEY, "E-Mail")); + var result = buildAntragsteller(); assertThat(result.getEmail()).isEqualTo(AntragstellerTestFactory.EMAIL); @@ -165,6 +164,8 @@ class FormcycleAntragstellerMapperTest { @Test void shouldSetTelefon() { + antragstellerData.put("tfAntragstellerTelefon", Map.of(VALUE_KEY, AntragstellerTestFactory.TELEFON, LABEL_KEY, "Telefon")); + var result = buildAntragsteller(); assertThat(result.getTelefon()).isEqualTo(AntragstellerTestFactory.TELEFON); @@ -172,6 +173,9 @@ class FormcycleAntragstellerMapperTest { @Test void shouldSetAdresse() { + antragstellerData.put("tfAntragstellerAdresse", + Map.of(LABEL_KEY, "Adresse", VALUE_KEY, AntragstellerTestFactory.STRASSE + " " + AntragstellerTestFactory.HAUSNUMMER)); + var result = buildAntragsteller(); assertThat(result.getStrasse()).isEqualTo(AntragstellerTestFactory.STRASSE + " " + AntragstellerTestFactory.HAUSNUMMER); @@ -179,6 +183,8 @@ class FormcycleAntragstellerMapperTest { @Test void shouldSetPlz() { + antragstellerData.put("tfAntragstellerPLZ", Map.of(LABEL_KEY, "PLZ", VALUE_KEY, AntragstellerTestFactory.PLZ)); + var result = buildAntragsteller(); assertThat(result.getPlz()).isEqualTo(AntragstellerTestFactory.PLZ); @@ -186,13 +192,48 @@ class FormcycleAntragstellerMapperTest { @Test void shouldSetOrt() { + antragstellerData.put("tfAntragstellerOrt", Map.of(LABEL_KEY, "Ort", VALUE_KEY, AntragstellerTestFactory.ORT)); + var result = buildAntragsteller(); assertThat(result.getOrt()).isEqualTo(AntragstellerTestFactory.ORT); } Antragsteller buildAntragsteller() { - return mapper.buildAntragsteller(ANTRAGSTELLER_DATA); + return mapper.buildAntragsteller(antragstellerData); + } + } + + @Nested + class TestBuildFirmaAntragsteller { + + @BeforeEach + void fillAntragstellerData() { + antragstellerData.put("tfOrgName", Map.of(VALUE_KEY, AntragstellerTestFactory.FIRMA_NAME, LABEL_KEY, "Firmenname")); + antragstellerData.put("tfAntragstellerAnrede", Map.of(VALUE_KEY, AntragstellerTestFactory.ANREDE, LABEL_KEY, "Anrede")); + antragstellerData.put("tfAntragstellerVorname", Map.of(LABEL_KEY, "Vorname", VALUE_KEY, AntragstellerTestFactory.VORNAME)); + antragstellerData.put("tfAntragstellerName", Map.of(VALUE_KEY, AntragstellerTestFactory.NACHNAME, LABEL_KEY, "Nachname")); + antragstellerData.put("tfAntragstellerGeburtsname", Map.of(VALUE_KEY, AntragstellerTestFactory.GEBURTSNAME, LABEL_KEY, "Geburtsname")); + antragstellerData.put("tfAntragstellerGeburtsdatum", Map.of(VALUE_KEY, AntragstellerTestFactory.GEBURTSDATUM, LABEL_KEY, "Geburtsdatum")); + antragstellerData.put("tfAntragstellerGeburtsort", Map.of(VALUE_KEY, AntragstellerTestFactory.GEBURTSORT, LABEL_KEY, "Geburtsort")); + antragstellerData.put("tfAntragstellerEmail", Map.of(VALUE_KEY, AntragstellerTestFactory.EMAIL, LABEL_KEY, "E-Mail")); + antragstellerData.put("tfAntragstellerTelefon", Map.of(VALUE_KEY, AntragstellerTestFactory.TELEFON, LABEL_KEY, "Telefon")); + antragstellerData.put("tfAntragstellerAdresse", + Map.of(LABEL_KEY, "Adresse", VALUE_KEY, AntragstellerTestFactory.STRASSE + " " + AntragstellerTestFactory.HAUSNUMMER)); + antragstellerData.put("tfAntragstellerPLZ", Map.of(LABEL_KEY, "PLZ", VALUE_KEY, AntragstellerTestFactory.PLZ)); + antragstellerData.put("tfAntragstellerOrt", Map.of(LABEL_KEY, "Ort", VALUE_KEY, AntragstellerTestFactory.ORT)); } + + @Test + void shouldMapFirmaData() { + var expectedAntragsteller = AntragstellerTestFactory.createFirmBuilder() + .strasse("%s %s".formatted(AntragstellerTestFactory.STRASSE, AntragstellerTestFactory.HAUSNUMMER)) + .hausnummer(null).postfachId(null).data(null).build(); + + var result = mapper.buildAntragsteller(antragstellerData); + + assertThat(result).usingRecursiveComparison().isEqualTo(expectedAntragsteller); + } + } } \ No newline at end of file diff --git a/src/main/helm/README.md b/src/main/helm/README.md index 343f5028d591329a068cf876ba38de3dd9b642a5..67032f5378d94bdfc436404c1845a0c1cac57833 100644 --- a/src/main/helm/README.md +++ b/src/main/helm/README.md @@ -91,3 +91,10 @@ env: - name: ... value: ... ``` + +```yaml +env: + customList: + key_1: value_1 + key_2: value_2 +``` \ No newline at end of file diff --git a/src/main/helm/templates/_helpers.tpl b/src/main/helm/templates/_helpers.tpl index e0ff7ea44b451f802f623ad7b1f1e3cd47f829ce..a66961e50f3068d6dbd68be3bc801d1860195c3a 100644 --- a/src/main/helm/templates/_helpers.tpl +++ b/src/main/helm/templates/_helpers.tpl @@ -88,4 +88,22 @@ app.kubernetes.io/namespace: {{ include "app.namespace" . }} {{- else if eq (.Values.image).name "enterprise-adapter" }} {{- printf "enterprise-adapter-service-account" }} {{- end }} +{{- end -}} + +{{- define "app.getCustomList" -}} +{{- with (.Values.env).customList -}} +{{- if kindIs "map" . -}} +{{ include "app.dictToList" . }} +{{- else if kindIs "slice" . -}} +{{ . | toYaml }} +{{- end -}} +{{- end -}} +{{- end -}} + +{{- define "app.dictToList" -}} +{{- $customList := list -}} +{{- range $key, $value := . -}} +{{- $customList = append $customList (dict "name" $key "value" $value) }} +{{- end -}} +{{- $customList | toYaml -}} {{- end -}} \ No newline at end of file diff --git a/src/main/helm/templates/deployment.yaml b/src/main/helm/templates/deployment.yaml index 51d9cccd3ec673ca0ce45105e58695766febbb30..f32fad253196c1daaad39a05bb08b22e5ed63219 100644 --- a/src/main/helm/templates/deployment.yaml +++ b/src/main/helm/templates/deployment.yaml @@ -83,8 +83,8 @@ spec: - name: grpc_client_vorgang-manager-{{ (.Values.routing).targetVorgangManagerName}}_negotiationType value: {{ (.Values.routing).negotiationType | default "TLS" }} {{- end }} - {{- with (.Values.env).customList }} -{{ toYaml . | indent 8 }} + {{- with include "app.getCustomList" . }} +{{ . | indent 8 }} {{- end }} image: "{{ .Values.image.repo }}/{{ .Values.image.name }}:{{ coalesce (.Values.image).tag "latest" }}" imagePullPolicy: Always diff --git a/src/main/helm/values.yaml b/src/main/helm/values.yaml index 11fdeb4ae386e81f51da0db2f35833333c0079f8..118009532b1262af86efb421e2108e41dae7775c 100644 --- a/src/main/helm/values.yaml +++ b/src/main/helm/values.yaml @@ -29,18 +29,6 @@ image: name: intelliform-adapter # [default: intelliform-adapter] tag: latest # [default: latest] -# env: -# overrideSpringProfiles: "oc,prod" - # customList: # add name value pair for additional environments - # - name: Dinge - # value: true -#resources: -# limits: -# cpu: 1 # [default: 1] -# memory: 1200Mi # [default: 1200Mi] -# requests: -# cpu: 100m # [default: 100m] -# memory: 250Mi # [default: 250Mi] ingress: enabled: true diff --git a/src/test/helm/deployment_env_customList_test.yaml b/src/test/helm/deployment_env_customList_test.yaml index 16022898f61af3474411ceff275c470d1feed81a..32e81b53357cbab961e85421719a7cb5b274e5e0 100644 --- a/src/test/helm/deployment_env_customList_test.yaml +++ b/src/test/helm/deployment_env_customList_test.yaml @@ -29,17 +29,40 @@ set: ozgcloud.environment: test imagePullSecret: image-pull-secret tests: - - it: check customList + - it: check customList as list set: env.customList: - name: my_test_environment_name value: "A test value" + - name: test_environment + value: "B test value" asserts: - contains: path: spec.template.spec.containers[0].env content: name: my_test_environment_name value: "A test value" + - contains: + path: spec.template.spec.containers[0].env + content: + name: test_environment + value: "B test value" + - it: check customList as dict + set: + env.customList: + my_test_environment_name: "A test value" + test_environment: "B test value" + asserts: + - contains: + path: spec.template.spec.containers[0].env + content: + name: my_test_environment_name + value: "A test value" + - contains: + path: spec.template.spec.containers[0].env + content: + name: test_environment + value: "B test value" - it: check customList test value is not set by default asserts: - notContains: diff --git a/xta-adapter/pom.xml b/xta-adapter/pom.xml index b23ad1bdb3a554de2c5f51dee4499458b5cb1400..668a46db3edd844580fdafd5e2692d870360dd4d 100644 --- a/xta-adapter/pom.xml +++ b/xta-adapter/pom.xml @@ -4,7 +4,7 @@ <parent> <groupId>de.ozgcloud.eingang</groupId> <artifactId>eingang-manager</artifactId> - <version>2.7.0-SNAPSHOT</version> + <version>2.8.0-SNAPSHOT</version> </parent> <artifactId>xta-adapter</artifactId> <name>Eingangs Adapter - XTA</name> diff --git a/xta-adapter/src/main/helm/templates/network_policy.yaml b/xta-adapter/src/main/helm/templates/network_policy.yaml index f8261b0885fd73688689a3f6fb873025e1ba0bde..b65e30f07ac0bc4277370f0879bc71c2c9c8adb5 100644 --- a/xta-adapter/src/main/helm/templates/network_policy.yaml +++ b/xta-adapter/src/main/helm/templates/network_policy.yaml @@ -66,7 +66,10 @@ spec: protocol: TCP - port: 9000 protocol: TCP -{{- with (.Values.networkPolicy).additionalEgressConfig }} +{{- with (.Values.networkPolicy).additionalEgressConfigLocal }} +{{ toYaml . | indent 2 }} +{{- end }} +{{- with (.Values.networkPolicy).additionalEgressConfigGlobal }} {{ toYaml . | indent 2 }} {{- end }} diff --git a/xta-adapter/src/test/helm/network_policy_test.yaml b/xta-adapter/src/test/helm/network_policy_test.yaml index 62eac6b1ad08aca179db7207cfd4071d92bc219e..7e725ee8a94e63b8a7156aa15cfad027b7d45575 100644 --- a/xta-adapter/src/test/helm/network_policy_test.yaml +++ b/xta-adapter/src/test/helm/network_policy_test.yaml @@ -89,12 +89,28 @@ tests: - port: 9000 protocol: TCP - - it: add egress rules by values + - it: add egress rules by values local set: networkPolicy: ssoPublicIp: 51.89.117.53/32 dnsServerNamespace: test-dns-namespace - additionalEgressConfig: + additionalEgressConfigLocal: + - to: + - ipBlock: + cidr: 1.2.3.4/32 + asserts: + - contains: + path: spec.egress + content: + to: + - ipBlock: + cidr: 1.2.3.4/32 + - it: add egress rules by values global + set: + networkPolicy: + ssoPublicIp: 51.89.117.53/32 + dnsServerNamespace: test-dns-namespace + additionalEgressConfigGlobal: - to: - ipBlock: cidr: 1.2.3.4/32