Skip to content
Snippets Groups Projects
Select Git revision
  • f43601d6a0ac29b04e0c53b258a4e8becf87b193
  • main default protected
  • OZG-8073-date-component
  • OZG-7856_schadcode_scanner
  • OZG-7985-Statistik-Datenfreigabe
  • OZG-8305-Create-webpack-sbom
  • tooltip-improvements
  • ods-remove-class-inputs
  • release-info
  • release-administration
  • release
  • OZG-7714-UpgradeKeycloakDependencyTo25
  • OZG-8086-Admin-Datenanfrage-erstellen
  • OZG-8086-Datenanfrage-Umbenennung
  • mongodb-7-0-16-e2e
  • OZG-6220-Bescheid-speichern-ohne-Postfach
  • OZG-7922-KeycloakOperatorExceptions
  • OZG-8142-poc-cards
  • OZG-8086-E2E
  • OZG-8086-E2E2
  • OZG-8142-ProjectionStuff
  • 1.11.0-info
  • 1.11.0-administration
  • 2.26.0-alfa
  • 1.10.0-info
  • 1.10.0-administration
  • 2.25.0-alfa
  • 1.9.0-info
  • 1.9.0-administration
  • 2.24.0-alfa
  • 1.8.0-info
  • 1.8.0-administration
  • 2.23.0-alfa
  • 1.7.0-info
  • 1.7.0-administration
  • 2.22.0-alfa
  • 1.6.0-info
  • 1.6.0-administration
  • 2.21.0-alfa
  • 1.5.0-info
  • 1.5.0-administration
41 results

link.component.ts

Blame
  • XtaClientRemoteITCase.java 4.26 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 de.ozgcloud.xta.client.extension.XtaMessageExampleLoader;
    import de.ozgcloud.xta.client.extension.XtaRemoteServerSetupExtension;
    import de.ozgcloud.xta.client.model.XtaMessage;
    import de.ozgcloud.xta.client.model.XtaMessageStatus;
    import genv3.de.xoev.transport.xta.x211.InvalidMessageIDException;
    import lombok.SneakyThrows;
    
    @EnabledIfEnvironmentVariable(
    		named = "KOP_SH_KIEL_DEV_PATH",
    		matches = ".+",
    		disabledReason = "This test requires the path and password of KOP_SH_KIEL_DEV.p12. "
    				+ "Additionally, the endpoint of the DEV-xta-server at li33-0005.dp.dsecurecloud.de must be reachable."
    )
    class XtaClientRemoteITCase {
    
    	@RegisterExtension
    	static final XtaRemoteServerSetupExtension XTA_REMOTE_SERVER_SETUP_EXTENSION = new XtaRemoteServerSetupExtension();
    
    	private XtaClient client;
    
    	@BeforeEach
    	@SneakyThrows
    	void setup() {
    		client = XTA_REMOTE_SERVER_SETUP_EXTENSION.getClient();
    	}
    
    	@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 = client.getMessagesMetadata(CLIENT_IDENTIFIER1.value());
    
    				assertThat(result.pendingMessageCount()).isZero();
    			}
    		}
    
    		@DisplayName("with one message")
    		@Nested
    		class TestWithOneMessage {
    
    			@BeforeEach
    			void setup() {
    				XTA_REMOTE_SERVER_SETUP_EXTENSION.sendTestMessage();
    			}
    
    			@DisplayName("should return one pending message for client")
    			@Test
    			@SneakyThrows
    			void shouldReturnOnePendingMessageClient() {
    				var result = client.getMessagesMetadata(CLIENT_IDENTIFIER1.value());
    
    				assertThat(result.pendingMessageCount()).isOne();
    			}
    
    			@DisplayName("should return no pending message for another client")
    			@Test
    			@SneakyThrows
    			void shouldReturnNoPendingMessageForAnotherClient() {
    				var result = client.getMessagesMetadata(CLIENT_IDENTIFIER2.value());
    
    				assertThat(result.pendingMessageCount()).isZero();
    			}
    		}
    
    	}
    
    	@DisplayName("get message")
    	@Nested
    	class TestGetMessage {
    
    		private String messageId;
    
    		@BeforeEach
    		@SneakyThrows
    		void setup() {
    			messageId = XTA_REMOTE_SERVER_SETUP_EXTENSION.sendTestMessage();
    		}
    
    		@DisplayName("should return message with green status")
    		@Test
    		@SneakyThrows
    		void shouldReturnMessageWithGreenStatus() {
    			var result = client.getMessage(CLIENT_IDENTIFIER1.value(), messageId);
    
    			assertThat(result.message().metaData().messageId()).isEqualTo(messageId);
    			assertThat(result.transportReport().metaData().messageId()).isEqualTo(messageId);
    			assertThat(result.transportReport().status()).isEqualTo(XtaMessageStatus.GREEN);
    		}
    
    		@DisplayName("should throw invalid message id exception for modified message id")
    		@Test
    		void shouldThrowInvalidMessageIdExceptionForModifiedMessageId() {
    			assertThatThrownBy(() -> client.getMessage(CLIENT_IDENTIFIER1.value(), messageId + "1"))
    					.isInstanceOf(InvalidMessageIDException.class);
    		}
    
    		@DisplayName("should throw invalid message id exception for other client")
    		@Test
    		void shouldThrowInvalidMessageIdExceptionForOtherClient() {
    			assertThatThrownBy(() -> client.getMessage(CLIENT_IDENTIFIER2.value(), messageId))
    					.isInstanceOf(InvalidMessageIDException.class);
    		}
    
    	}
    
    	@DisplayName("send message")
    	@Nested
    	class TestSendMessage {
    
    		private final XtaMessage xtaMessage = XtaMessageExampleLoader.load(
    				XtaMessageExampleLoader.MessageExampleConfig.builder()
    						.messageLabel("dfoerdermittel")
    						.messageId(null)
    						.author(CLIENT_IDENTIFIER1)
    						.reader(CLIENT_IDENTIFIER1)
    						.build());
    
    		@DisplayName("should return with open status")
    		@Test
    		@SneakyThrows
    		void shouldReturn() {
    			var result = client.sendMessage(xtaMessage);
    
    			assertThat(result.status()).isEqualTo(XtaMessageStatus.OPEN);
    		}
    	}
    
    }