Skip to content
Snippets Groups Projects
Commit e93fee4b authored by Felix Reichenbach's avatar Felix Reichenbach
Browse files

Merge branch 'OZG-7609-configure-statistik-to-cloud-config' into 'main'

OZG-7609 add ozgcloud prefix to aggregation properties and ITCase

See merge request !7
parents b38665c9 56580948
Branches
Tags
1 merge request!7OZG-7609 add ozgcloud prefix to aggregation properties and ITCase
......@@ -52,6 +52,6 @@ class ReportingAggregationManagerSettingDtoService implements SettingDtoService
@Override
public String getSettingKeyName() {
return "aggregation";
return "ozgcloud.aggregation";
}
}
/*
* Copyright (C) 2025 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.
*/
package de.ozgcloud.admin.reporting;
import static org.assertj.core.api.Assertions.*;
import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.*;
import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.*;
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Nested;
import org.junit.jupiter.api.Test;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.autoconfigure.web.servlet.AutoConfigureMockMvc;
import org.springframework.data.mongodb.core.MongoOperations;
import org.springframework.security.test.context.support.WithMockUser;
import org.springframework.test.web.servlet.MockMvc;
import org.springframework.test.web.servlet.ResultActions;
import de.ozgcloud.admin.common.user.UserRole;
import de.ozgcloud.admin.setting.YamlTestFactory;
import de.ozgcloud.common.test.DataITCase;
import lombok.SneakyThrows;
@DataITCase
@AutoConfigureMockMvc
@WithMockUser(roles = UserRole.DATENBEAUFTRAGUNG)
public class AggregationMappingEnvironmentSettingITCase {
@Autowired
private MockMvc mockMvc;
@Autowired
private MongoOperations mongoOperations;
@Nested
class TestGetAggregationSettings {
@BeforeEach
void fillDb() {
fillDbWithAggregationMappings();
}
@Test
@SneakyThrows
void shouldReturnValuesForAggregationManager() {
var result = getAggregationSettings();
assertThat(result.andReturn().getResponse().getContentAsString())
.isEqualTo(YamlTestFactory.createAggregationYaml());
}
private ResultActions getAggregationSettings() throws Exception {
return mockMvc.perform(get("/configserver/OzgCloud_AggregationManager-any.yaml"))
.andExpect(status().isOk());
}
private void fillDbWithAggregationMappings() {
var aggregationMapping1 = AggregationMapping.builder()
.formIdentifier(AggregationMapping.FormIdentifier.builder()
.formEngineName(YamlTestFactory.FORM_ENGINE_NAME_1)
.formId(YamlTestFactory.FORM_ID_1)
.build())
.mapping(AggregationMapping.FieldMapping.builder().sourcePath(YamlTestFactory.SOURCE_PATH_1_1)
.targetPath(YamlTestFactory.TARGET_PATH_1_1).build())
.mapping(AggregationMapping.FieldMapping.builder().sourcePath(YamlTestFactory.SOURCE_PATH_1_2)
.targetPath(YamlTestFactory.TARGET_PATH_1_2).build())
.mapping(AggregationMapping.FieldMapping.builder().sourcePath(YamlTestFactory.SOURCE_PATH_1_3)
.targetPath(YamlTestFactory.TARGET_PATH_1_3).build())
.build();
var aggregationMapping2 = AggregationMapping.builder()
.formIdentifier(AggregationMapping.FormIdentifier.builder()
.formEngineName(YamlTestFactory.FORM_ENGINE_NAME_2)
.formId(YamlTestFactory.FORM_ID_2)
.build())
.mapping(AggregationMapping.FieldMapping.builder().sourcePath(YamlTestFactory.SOURCE_PATH_2_1)
.targetPath(YamlTestFactory.TARGET_PATH_2_1).build())
.mapping(AggregationMapping.FieldMapping.builder().sourcePath(YamlTestFactory.SOURCE_PATH_2_2)
.targetPath(YamlTestFactory.TARGET_PATH_2_2).build())
.build();
mongoOperations.dropCollection("settings");
mongoOperations.save(aggregationMapping1);
mongoOperations.save(aggregationMapping2);
}
}
}
......@@ -23,6 +23,8 @@
*/
package de.ozgcloud.admin.setting;
import com.thedeanda.lorem.LoremIpsum;
import de.ozgcloud.admin.organisationseinheit.OrganisationsEinheitSettingsTestFactory;
import de.ozgcloud.admin.organisationseinheit.OrganisationsEinheitTestFactory;
import de.ozgcloud.admin.setting.postfach.PostfachSettingBody;
......@@ -32,6 +34,20 @@ import de.ozgcloud.common.test.TestUtils;
public class YamlTestFactory {
public static final PostfachSettingBody POSTFACH = PostfachSettingBodyTestFactory.create();
public static final String FORM_ENGINE_NAME_1 = LoremIpsum.getInstance().getWords(1);
public static final String FORM_ID_1 = LoremIpsum.getInstance().getWords(1);
public static final String SOURCE_PATH_1_1 = LoremIpsum.getInstance().getWords(1);
public static final String TARGET_PATH_1_1 = LoremIpsum.getInstance().getWords(1);
public static final String SOURCE_PATH_1_2 = LoremIpsum.getInstance().getWords(1);
public static final String TARGET_PATH_1_2 = LoremIpsum.getInstance().getWords(1);
public static final String SOURCE_PATH_1_3 = LoremIpsum.getInstance().getWords(1);
public static final String TARGET_PATH_1_3 = LoremIpsum.getInstance().getWords(1);
public static final String FORM_ENGINE_NAME_2 = LoremIpsum.getInstance().getWords(1);
public static final String FORM_ID_2 = LoremIpsum.getInstance().getWords(1);
public static final String SOURCE_PATH_2_1 = LoremIpsum.getInstance().getWords(1);
public static final String TARGET_PATH_2_1 = LoremIpsum.getInstance().getWords(1);
public static final String SOURCE_PATH_2_2 = LoremIpsum.getInstance().getWords(1);
public static final String TARGET_PATH_2_2 = LoremIpsum.getInstance().getWords(1);
public static String createVorgangManagerYaml() {
return TestUtils.loadTextFile("yamlTemplates/settings/vorgangManager.yaml.tmpl",
......@@ -55,4 +71,22 @@ public class YamlTestFactory {
public static String createInitialYaml() {
return TestUtils.loadTextFile("yamlTemplates/settings/initial.yaml.tmpl");
}
public static String createAggregationYaml() {
return TestUtils.loadTextFile("yamlTemplates/settings/aggregation.yaml.tmpl",
FORM_ENGINE_NAME_1,
FORM_ID_1,
SOURCE_PATH_1_1,
TARGET_PATH_1_1,
SOURCE_PATH_1_2,
TARGET_PATH_1_2,
SOURCE_PATH_1_3,
TARGET_PATH_1_3,
FORM_ENGINE_NAME_2,
FORM_ID_2,
SOURCE_PATH_2_1,
TARGET_PATH_2_1,
SOURCE_PATH_2_2,
TARGET_PATH_2_2);
}
}
ozgcloud:
aggregation:
aggregationMappings:
- formIdentifier:
formEngineName: %s
formId: %s
fieldMappings:
- sourcePath: %s
targetPath: %s
- sourcePath: %s
targetPath: %s
- sourcePath: %s
targetPath: %s
- formIdentifier:
formEngineName: %s
formId: %s
fieldMappings:
- sourcePath: %s
targetPath: %s
- sourcePath: %s
targetPath: %s
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment