Skip to content
Snippets Groups Projects
Select Git revision
1 result Searching

test-setup.ts

Blame
  • XtaClientRemoteITCase.java 5.54 KiB
    package de.ozgcloud.xta.client;
    
    import static de.ozgcloud.xta.client.extension.XtaServerSetupExtensionTestUtil.*;
    import static org.assertj.core.api.Assertions.*;
    
    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.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 de.ozgcloud.xta.client.extension.XtaMessageExampleLoader;
    import de.ozgcloud.xta.client.extension.XtaRemoteServerSetupExtension;
    import de.ozgcloud.xta.client.model.XtaFile;
    import de.ozgcloud.xta.client.model.XtaMessage;
    import de.ozgcloud.xta.client.model.XtaMessageStatus;
    import de.ozgcloud.xta.client.xdomea.XdomeaXtaMessageCreatorFactory;
    import genv3.de.xoev.transport.xta.x211.InvalidMessageIDException;
    import genv3.de.xoev.transport.xta.x211.MessageSchemaViolationException;
    import lombok.SneakyThrows;
    import lombok.extern.slf4j.Slf4j;
    
    @Slf4j
    @EnabledIfEnvironmentVariable(
    		named = "KOP_SH_KIEL_DEV_PATH",
    		matches = ".+",
    		disabledReason =
    				"This test requires the path KOP_SH_KIEL_{DEV,TEST}_PATH and password KOP_SH_KIEL_{DEV,TEST}_PASSWORD of KOP_SH_KIEL_DEV.p12 and OZG-CLOUD_SH_KIEL_TEST.pfx. "
    						+ "Additionally, the endpoint of the DEV-xta-server at li33-0005.dp.dsecurecloud.de must be reachable."
    )
    class XtaClientRemoteITCase {
    
    	@RegisterExtension
    	static final XtaRemoteServerSetupExtension XTA_DEV_SERVER_SETUP_EXTENSION = new XtaRemoteServerSetupExtension();
    
    	private XtaClient authorClient;
    	private XtaClient readerClient;
    
    	@BeforeEach
    	@SneakyThrows
    	void setup() {
    		authorClient = XTA_DEV_SERVER_SETUP_EXTENSION.getAuthorClient();
    		readerClient = XTA_DEV_SERVER_SETUP_EXTENSION.getReaderClient();
    	}
    
    	@DisplayName("get messages metadata")
    	@Nested
    	class TestGetMessagesMetadata {
    
    		@DisplayName("with no messages")
    		@Nested
    		class TestWithNoMessages {
    
    			@DisplayName("should return zero pending messages")
    			@Test
    			@SneakyThrows
    			void shouldReturnZeroPendingMessages() {
    				var result = readerClient.getMessagesMetadata(READER_CLIENT_IDENTIFIER1.value());
    
    				assertThat(result.pendingMessageCount()).isZero();
    			}
    		}
    
    		@DisplayName("with one message")
    		@Nested
    		class TestWithOneMessage {