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

Merge branch 'refs/heads/master' into...

Merge branch 'refs/heads/master' into OZG-6259-Anlegen-einer-ZusammenarbeitAnfrage-Edit-Add-comment-Assign-More-IN-PROGRESS-Export

# Conflicts:
#	Jenkinsfile
#	vorgang-manager-server/pom.xml
parents d4b93f16 2f9b9850
No related branches found
No related tags found
No related merge requests found
......@@ -29,7 +29,7 @@
<modelVersion>4.0.0</modelVersion>
<groupId>de.ozgcloud.vorgang</groupId>
<artifactId>vorgang-manager</artifactId>
<version>2.11.0-SNAPSHOT</version>
<version>2.12.0-SNAPSHOT</version>
<name>OZG-Cloud Vorgang Manager</name>
<packaging>pom</packaging>
......
......@@ -6,13 +6,13 @@
<parent>
<groupId>de.ozgcloud.common</groupId>
<artifactId>ozgcloud-common-parent</artifactId>
<version>4.3.0</version>
<version>4.3.1</version>
<relativePath />
</parent>
<groupId>de.ozgcloud.vorgang</groupId>
<artifactId>vorgang-manager-base</artifactId>
<version>2.11.0-SNAPSHOT</version>
<version>2.12.0-SNAPSHOT</version>
<name>OZG-Cloud Vorgang Manager Base</name>
......
......@@ -4,13 +4,13 @@
<parent>
<groupId>de.ozgcloud.common</groupId>
<artifactId>ozgcloud-common-dependencies</artifactId>
<version>4.3.0</version>
<version>4.3.1</version>
<relativePath/>
</parent>
<groupId>de.ozgcloud.command</groupId>
<artifactId>command-manager</artifactId>
<version>2.11.0-SNAPSHOT</version>
<version>2.12.0-SNAPSHOT</version>
<name>OZG-Cloud Command Manager</name>
<properties>
......
......@@ -30,13 +30,13 @@
<parent>
<groupId>de.ozgcloud.common</groupId>
<artifactId>ozgcloud-common-dependencies</artifactId>
<version>4.3.0</version>
<version>4.3.1</version>
<relativePath/>
</parent>
<groupId>de.ozgcloud.vorgang</groupId>
<artifactId>vorgang-manager-interface</artifactId>
<version>2.11.0-SNAPSHOT</version>
<version>2.12.0-SNAPSHOT</version>
<name>OZG-Cloud Vorgang Manager gRPC Interface</name>
<description>Interface (gRPC) for Vorgang Manager Server</description>
......
......@@ -32,13 +32,13 @@
<parent>
<groupId>de.ozgcloud.common</groupId>
<artifactId>ozgcloud-common-parent</artifactId>
<version>4.3.0</version>
<version>4.3.1</version>
<relativePath />
</parent>
<groupId>de.ozgcloud.vorgang</groupId>
<artifactId>vorgang-manager-server</artifactId>
<version>2.11.0-SNAPSHOT</version>
<version>2.12.0-SNAPSHOT</version>
<name>OZG-Cloud Vorgang Manager Server</name>
<description>Server Implementierung des VorgangManagers</description>
......@@ -53,11 +53,11 @@
<zufi-manager-interface.version>1.0.0</zufi-manager-interface.version>
<user-manager-interface.version>2.1.0</user-manager-interface.version>
<bescheid-manager.version>1.15.0-SNAPSHOT</bescheid-manager.version>
<bescheid-manager.version>1.16.0-SNAPSHOT</bescheid-manager.version>
<processor-manager.version>0.4.1</processor-manager.version>
<nachrichten-manager.version>2.10.0-SNAPSHOT</nachrichten-manager.version>
<nachrichten-manager.version>2.10.0</nachrichten-manager.version>
<ozgcloud-starter.version>0.10.0</ozgcloud-starter.version>
<notification-manager.version>2.8.0</notification-manager.version>
<notification-manager.version>2.9.0</notification-manager.version>
<collaboration-manager.version>0.1.0-SNAPSHOT</collaboration-manager.version>
<zip.version>2.11.1</zip.version>
......
package de.ozgcloud.vorgang.common.migration;
import org.springframework.data.mongodb.core.MongoTemplate;
import org.springframework.data.mongodb.core.query.Criteria;
import org.springframework.data.mongodb.core.query.Query;
import org.springframework.data.mongodb.core.query.Update;
import io.mongock.api.annotations.ChangeUnit;
import io.mongock.api.annotations.Execution;
import io.mongock.api.annotations.RollbackExecution;
@ChangeUnit(id = "2024-07-29 17:30:00 OZG-6259", order = "M011", author = "mkuester", runAlways = true)
public class M011_SetDefaultCollaborationLevel { // NOSONAR
private static final String VORGANG_COLLECTION = "vorgang";
static final String HEADER_FIELD = "header";
static final String COLLABORATION_LEVEL_FIELD = "collaborationLevel";
static final String HEADER_COLLABORATION_LEVEL_FIELD = HEADER_FIELD + "." + COLLABORATION_LEVEL_FIELD;
private static final int DEFAULT_COLLABORATION_LEVEL = 0;
@Execution
public void doMigration(MongoTemplate template) {
template.updateMulti(createFilterQuery(), createUpdate(), VORGANG_COLLECTION);
}
private Query createFilterQuery() {
return new Query(Criteria.where(HEADER_COLLABORATION_LEVEL_FIELD).exists(false));
}
private Update createUpdate() {
return new Update().set(HEADER_COLLABORATION_LEVEL_FIELD, DEFAULT_COLLABORATION_LEVEL);
}
@RollbackExecution
public void rollback() {
// kein rollback implementiert
}
}
\ No newline at end of file
package de.ozgcloud.vorgang.common.migration;
import static org.assertj.core.api.Assertions.*;
import org.bson.Document;
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.DisplayName;
import org.junit.jupiter.api.Nested;
import org.junit.jupiter.api.Test;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.mongodb.core.MongoTemplate;
import org.springframework.data.mongodb.core.query.Query;
import com.thedeanda.lorem.LoremIpsum;
import de.ozgcloud.common.test.DataITCase;
@DataITCase
class M011_SetDefaultCollaborationLevelITCase {
private final M011_SetDefaultCollaborationLevel migration = new M011_SetDefaultCollaborationLevel();
private final String nameField = "name";
private final String nameFieldValue = LoremIpsum.getInstance().getWords(1);
private final String organisationsEinheitField = "organisationsEinheitId";
private final String organisationsEinheitFieldValue = LoremIpsum.getInstance().getWords(1);
@Autowired
private MongoTemplate template;
@Autowired
private MigrationDbTestUtils dbTestUtils;
@DisplayName("Do migration")
@Nested
class TestDoMigration {
@BeforeEach
void mock() {
dbTestUtils.dropVorgangCollection();
}
@DisplayName("on missing collaboration level")
@Nested
class TestOnMissingCollaborationLevel {
@BeforeEach
void initVorgang() {
dbTestUtils.saveVorgang(createVorgangWithName());
}
@Test
void shouldSetDefaultCollaborationLevel() {
migration.doMigration(template);
assertThat(getVorgangHeader()).containsEntry(M011_SetDefaultCollaborationLevel.COLLABORATION_LEVEL_FIELD, 0);
}
@Test
void shouldKeepVorgangData() {
migration.doMigration(template);
assertThat(getVorgang()).containsEntry(nameField, nameFieldValue);
}
@Test
void shouldKeepHeaderData() {
migration.doMigration(template);
assertThat(getVorgangHeader()).containsEntry(organisationsEinheitField,
organisationsEinheitFieldValue);
}
}
@DisplayName("on existing collaboration level")
@Nested
class TestOnExistingCollaborationLevel {
@BeforeEach
void initVorgang() {
dbTestUtils.saveVorgang(createVorgangWithCollaborationLevel());
}
@Test
void shouldKeepCollaborationLevel() {
migration.doMigration(template);
assertThat(getVorgangHeader()).containsEntry(M011_SetDefaultCollaborationLevel.COLLABORATION_LEVEL_FIELD, 1);
}
@Test
void shouldKeepVorgangData() {
migration.doMigration(template);
assertThat(getVorgang()).containsEntry(nameField, nameFieldValue);
}
@Test
void shouldKeepHeaderData() {
migration.doMigration(template);
assertThat(getVorgangHeader()).containsEntry(organisationsEinheitField,
organisationsEinheitFieldValue);
}
}
private Document createVorgangWithCollaborationLevel() {
var vorgang = createVorgangWithName();
vorgang.append(M011_SetDefaultCollaborationLevel.HEADER_FIELD, createHeaderWithCollaborationLevel());
return vorgang;
}
private Document createHeaderWithCollaborationLevel() {
var header = createHeaderWithOrganisationsEinheitId();
header.append(M011_SetDefaultCollaborationLevel.COLLABORATION_LEVEL_FIELD, 1);
return header;
}
private Document createVorgangWithName() {
var vorgang = new Document();
vorgang.append(nameField, nameFieldValue);
vorgang.append(M011_SetDefaultCollaborationLevel.HEADER_FIELD, createHeaderWithOrganisationsEinheitId());
return vorgang;
}
private Document createHeaderWithOrganisationsEinheitId() {
var header = new Document();
header.append(organisationsEinheitField, organisationsEinheitFieldValue);
return header;
}
private Document getVorgangHeader() {
return (Document) getVorgang().get(M011_SetDefaultCollaborationLevel.HEADER_FIELD);
}
private Document getVorgang() {
var vorgaenge = dbTestUtils.findVorgang(new Query());
assertThat(vorgaenge).hasSize(1);
return vorgaenge.get(0);
}
}
}
\ No newline at end of file
......@@ -30,14 +30,14 @@
<parent>
<groupId>de.ozgcloud.common</groupId>
<artifactId>ozgcloud-common-dependencies</artifactId>
<version>4.3.0</version>
<version>4.3.1</version>
<relativePath/>
</parent>
<groupId>de.ozgcloud.vorgang</groupId>
<artifactId>vorgang-manager-utils</artifactId>
<name>OZG-Cloud Vorgang Manager Utils</name>
<version>2.11.0-SNAPSHOT</version>
<version>2.12.0-SNAPSHOT</version>
<properties>
<maven-compiler-plugin.version>3.10.1</maven-compiler-plugin.version>
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment