Skip to content
Snippets Groups Projects
Commit f19ef035 authored by Jan Zickermann's avatar Jan Zickermann
Browse files

KOP-2139 KOP-2471 Use better identifiers

parent 18d46dcb
Branches
Tags
No related merge requests found
......@@ -41,7 +41,10 @@ public class XtaClient {
}
Identifier deriveIdentifier(String xtaIdentifier) {
return Identifier.builder().value(xtaIdentifier).build();
return config.getClientIdentifiers().stream()
.filter(id -> id.value().equals(xtaIdentifier))
.findFirst()
.orElseThrow(() -> new IllegalArgumentException("Unknown identifier: " + xtaIdentifier));
}
public XtaMessage getMessage(String messageId) {
......
......@@ -19,6 +19,7 @@ import jakarta.validation.constraints.NotEmpty;
import jakarta.validation.constraints.NotNull;
import jakarta.validation.constraints.Positive;
import de.ozgcloud.xta.client.model.Identifier;
import lombok.Builder;
import lombok.Getter;
import lombok.RequiredArgsConstructor;
......@@ -31,7 +32,7 @@ import lombok.ToString;
public class XtaClientConfig {
@NotEmpty(message = "at least one client identifier is required")
private final List<@NotBlank String> clientIdentifiers;
private final List<@Valid Identifier> clientIdentifiers;
@NotBlank
private final String managementServiceUrl;
......
......@@ -69,7 +69,7 @@ public interface ModelMapper {
@Mapping(target = "originators.author.identifier", source = "authorIdentifier")
@Mapping(target = "destinations.reader.identifier", source = "readerIdentifier")
@Mapping(target = "msgSize", source = "messageSize")
@Mapping(target = "testMsg", constant = "false")
@Mapping(target = "testMsg", ignore = true)
@Mapping(target = "deliveryAttributes", ignore = true)
@Mapping(target = "messageProperties", ignore = true)
MessageMetaData mapMessageMetaDataFromXtaMessageMetaData(XtaMessageMetaData xtaMessageMetaData);
......
......@@ -21,14 +21,18 @@ import lombok.SneakyThrows;
public class XtaClientConfigTestFactory {
public static final String SELF_IDENTIFIER_VALUE = "selfIdentifier";
public static final String SELF_IDENTIFIER_VALUE = "dp:selfIdentifier";
public static final Identifier SELF_IDENTIFIER = Identifier.builder()
.value(SELF_IDENTIFIER_VALUE)
.category("Generic category")
.name("Generic Name")
.build();
public static final int MAX_LIST_ITEMS = 10;
static final String SELF_IDENTIFIER2 = "selfIdentifier2";
static final Identifier SELF_IDENTIFIER2 = Identifier.builder()
.value("dp:selfIdentifier2")
.category("Generic category")
.name("Generic Name")
.build();
public static final String KEYSTORE_ALIAS = "selfSigned";
......@@ -51,7 +55,7 @@ public class XtaClientConfigTestFactory {
.managementServiceUrl(MANAGEMENT_PORT_SVC)
.sendServiceUrl(SEND_PORT_SVC)
.msgBoxServiceUrl(MSG_BOX_PORT_SVC)
.clientIdentifiers(List.of(SELF_IDENTIFIER_VALUE, SELF_IDENTIFIER2))
.clientIdentifiers(List.of(SELF_IDENTIFIER, SELF_IDENTIFIER2))
.maxListItems(MAX_LIST_ITEMS)
.logSoapRequests(true)
.logSoapResponses(true)
......
......@@ -9,8 +9,6 @@ import org.junit.jupiter.api.Nested;
import org.junit.jupiter.api.Test;
import org.junit.jupiter.api.condition.EnabledIfEnvironmentVariable;
import org.junit.jupiter.api.extension.RegisterExtension;
import org.junit.jupiter.params.ParameterizedTest;
import org.junit.jupiter.params.provider.ValueSource;
import lombok.SneakyThrows;
......@@ -42,11 +40,10 @@ class XtaClientITCase {
class TestWithNoMessages {
@DisplayName("should return zero pending messages")
@ParameterizedTest
@ValueSource(strings = { CLIENT_IDENTIFIER1, CLIENT_IDENTIFIER2 })
@Test
@SneakyThrows
void shouldReturnZeroPendingMessages(String clientIdentifiers) {
var result = client.getMessagesMetadata(clientIdentifiers);
void shouldReturnZeroPendingMessages() {
var result = client.getMessagesMetadata(CLIENT_IDENTIFIER2.value());
assertThat(result.pendingMessageCount()).isZero();
}
......@@ -65,7 +62,7 @@ class XtaClientITCase {
@Test
@SneakyThrows
void shouldReturnOnePendingMessageClient2() {
var result = client.getMessagesMetadata(CLIENT_IDENTIFIER2);
var result = client.getMessagesMetadata(CLIENT_IDENTIFIER2.value());
assertThat(result.pendingMessageCount()).isOne();
......@@ -75,7 +72,7 @@ class XtaClientITCase {
@Test
@SneakyThrows
void shouldReturnNoPendingMessageForClient1() {
var result = client.getMessagesMetadata(CLIENT_IDENTIFIER1);
var result = client.getMessagesMetadata(CLIENT_IDENTIFIER1.value());
assertThat(result.pendingMessageCount()).isZero();
}
......
......@@ -4,6 +4,8 @@ import static de.ozgcloud.xta.client.XtaClientConfigTestFactory.*;
import static org.assertj.core.api.Assertions.*;
import static org.mockito.Mockito.*;
import java.util.List;
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.DisplayName;
import org.junit.jupiter.api.Nested;
......@@ -77,7 +79,6 @@ class XtaClientTest {
@BeforeEach
@SneakyThrows
void mock() {
doReturn(SELF_IDENTIFIER).when(client).deriveIdentifier(SELF_IDENTIFIER_VALUE);
when(service.getStatusList(SELF_IDENTIFIER, MAX_LIST_ITEMS)).thenReturn(xtaMessageMetaDataListing);
when(config.getMaxListItems()).thenReturn(MAX_LIST_ITEMS);
}
......@@ -99,10 +100,22 @@ class XtaClientTest {
@DisplayName("should use value")
@Test
void shouldUseValue() {
when(config.getClientIdentifiers()).thenReturn(List.of(SELF_IDENTIFIER2, SELF_IDENTIFIER));
var result = client.deriveIdentifier(SELF_IDENTIFIER_VALUE);
assertThat(result.value()).isEqualTo(SELF_IDENTIFIER_VALUE);
}
@DisplayName("should throw when unknown")
@Test
void shouldThrowWhenUnknown() {
when(config.getClientIdentifiers()).thenReturn(List.of(SELF_IDENTIFIER2));
assertThatThrownBy(() -> client.deriveIdentifier(SELF_IDENTIFIER_VALUE))
.isInstanceOf(IllegalArgumentException.class)
.hasMessage("Unknown identifier: " + SELF_IDENTIFIER_VALUE);
}
}
}
\ No newline at end of file
......@@ -33,8 +33,22 @@ public class XtaDevServerSetupExtension implements BeforeAllCallback, BeforeEach
static final String BASE_URL = "https://li33-0005.dp.dsecurecloud.de/MB_XTA-WS/XTA210";
// static final String CLIENT_IDENTIFIER1 = "dp:012345678910_XtaClientITCase1";
static final String CLIENT_IDENTIFIER1 = "ehp:010100100000";
static final String CLIENT_IDENTIFIER2 = "vbe:010550120100";
static final Identifier CLIENT_IDENTIFIER1 = Identifier.builder()
.value("gad:010103000000")
.category("DMS Schleswig-Holstein")
.name("Generischer Antragsdienst")
.build();
// static final Identifier CLIENT_IDENTIFIER1 = Identifier.builder()
// .value("gae:test-environment@ozg-cloud.de")
// .category("Generischer Antragsempfänger")
// .name("Test-Umgebung")
// .build();
// static final String CLIENT_IDENTIFIER2 = "vbe:010550120100";
static final Identifier CLIENT_IDENTIFIER2 = Identifier.builder()
.value("gae:test-environment@ozg-cloud.de")
.category("Generischer Antragsempfänger")
.name("Test-Umgebung")
.build();
@Override
@SneakyThrows
......@@ -73,12 +87,12 @@ public class XtaDevServerSetupExtension implements BeforeAllCallback, BeforeEach
@Override
@SneakyThrows
public void beforeEach(ExtensionContext context) {
closeAllMessages(clientId2());
closeAllMessages(CLIENT_IDENTIFIER2);
}
@SneakyThrows
public void sendTestMessageToClient2() {
sendTestMessageToClient2(clientId(), clientId2());
sendTestMessageToClient2(CLIENT_IDENTIFIER1, CLIENT_IDENTIFIER2);
}
@SneakyThrows
......@@ -121,12 +135,4 @@ public class XtaDevServerSetupExtension implements BeforeAllCallback, BeforeEach
return Files.toByteArray(new File(path));
}
private Identifier clientId() {
return client.deriveIdentifier(CLIENT_IDENTIFIER1);
}
private Identifier clientId2() {
return client.deriveIdentifier(CLIENT_IDENTIFIER2);
}
}
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment