test_class.declarator: CONNECTED_SUCCESS = new Status.Success(BaseClientState.CONNECTED)
test_class.modifier: private static final
test_class.original_string: private static final Status.Success CONNECTED_SUCCESS = new Status.Success(BaseClientState.CONNECTED);
test_class.type: Status.Success
test_class.var_name: CONNECTED_SUCCESS
test_class.declarator: DISCONNECTED_SUCCESS = new Status.Success(BaseClientState.DISCONNECTED)
test_class.modifier: private static final
test_class.original_string: private static final Status.Success DISCONNECTED_SUCCESS = new Status.Success(BaseClientState.DISCONNECTED);
test_class.type: Status.Success
test_class.var_name: DISCONNECTED_SUCCESS
test_class.declarator: CUSTOM_EXCEPTION =
              new IllegalArgumentException("custom error message")
test_class.modifier: private static final
test_class.original_string: private static final IllegalArgumentException CUSTOM_EXCEPTION =
              new IllegalArgumentException("custom error message");
test_class.type: IllegalArgumentException
test_class.var_name: CUSTOM_EXCEPTION
test_class.declarator: CONNECTION_ID = TestConstants.createRandomConnectionId()
test_class.modifier: private static final
test_class.original_string: private static final ConnectionId CONNECTION_ID = TestConstants.createRandomConnectionId();
test_class.type: ConnectionId
test_class.var_name: CONNECTION_ID
test_class.declarator: actorSystem
test_class.modifier: @SuppressWarnings("NullableProblems") private static
test_class.original_string: @SuppressWarnings("NullableProblems") private static ActorSystem actorSystem;
test_class.type: ActorSystem
test_class.var_name: actorSystem
test_class.declarator: connection
test_class.modifier: private static
test_class.original_string: private static Connection connection;
test_class.type: Connection
test_class.var_name: connection
test_class.declarator: mockConnectionFactory
test_class.modifier: @Mock private
test_class.original_string: @Mock private ConnectionFactory mockConnectionFactory;
test_class.type: ConnectionFactory
test_class.var_name: mockConnectionFactory
test_class.declarator: failingMockConnectionFactory
test_class.modifier: @Mock private
test_class.original_string: @Mock private ConnectionFactory failingMockConnectionFactory;
test_class.type: ConnectionFactory
test_class.var_name: failingMockConnectionFactory
test_class.declarator: mockConnection
test_class.modifier: @Mock private
test_class.original_string: @Mock private com.rabbitmq.client.Connection mockConnection;
test_class.type: com.rabbitmq.client.Connection
test_class.var_name: mockConnection
test_class.declarator: mockReconnection
test_class.modifier: @Mock private
test_class.original_string: @Mock private com.rabbitmq.client.Connection mockReconnection;
test_class.type: com.rabbitmq.client.Connection
test_class.var_name: mockReconnection
test_class.declarator: mockChannel
test_class.modifier: @Mock private
test_class.original_string: @Mock private Channel mockChannel;
test_class.type: Channel
test_class.var_name: mockChannel
test_class.declarator: mockChannelReconnected
test_class.modifier: @Mock private
test_class.original_string: @Mock private Channel mockChannelReconnected;
test_class.type: Channel
test_class.var_name: mockChannelReconnected
test_class.declarator: rabbitConnectionFactoryFactory =
              (con, exHandler) -> mockConnectionFactory
test_class.modifier: private final
test_class.original_string: private final RabbitConnectionFactoryFactory rabbitConnectionFactoryFactory =
              (con, exHandler) -> mockConnectionFactory;
test_class.type: RabbitConnectionFactoryFactory
test_class.var_name: rabbitConnectionFactoryFactory
test_class.file: services/connectivity/messaging/src/test/java/org/eclipse/ditto/services/connectivity/messaging/rabbitmq/RabbitMQClientActorTest.java
test_class.identifier: RabbitMQClientActorTest
test_class.superclass: extends AbstractBaseClientActorTest
test_case.body: @Test
      public void invalidTargetFormatThrowsConnectionConfigurationInvalidException() {
          final Connection connection = ConnectivityModelFactory.newConnectionBuilder(CONNECTION_ID,
                  ConnectionType.AMQP_091, ConnectivityStatus.OPEN, TestConstants.getUriOfNewMockServer())
                  .targets(Collections.singletonList(ConnectivityModelFactory.newTargetBuilder()
                          .address("exchangeOnly")
                          .authorizationContext(TestConstants.Authorization.AUTHORIZATION_CONTEXT)
                          .topics(Topic.TWIN_EVENTS)
                          .build()))
                  .build();
  
          final ThrowableAssert.ThrowingCallable props1 =
                  () -> RabbitMQClientActor.propsForTests(connection, Actor.noSender(), Actor.noSender(), null);
          final ThrowableAssert.ThrowingCallable props2 =
                  () -> RabbitMQClientActor.propsForTests(connection, Actor.noSender(), Actor.noSender(),
                          rabbitConnectionFactoryFactory
                  );
          Stream.of(props1, props2)
                  .forEach(throwingCallable ->
                          assertThatExceptionOfType(ConnectionConfigurationInvalidException.class)
                                  .isThrownBy(throwingCallable)
                                  .withMessageContaining("exchangeOnly")
                                  .withNoCause()
                  );
      }
test_case.class_method_signature: RabbitMQClientActorTest.invalidTargetFormatThrowsConnectionConfigurationInvalidException()
test_case.full_signature: @Test public void invalidTargetFormatThrowsConnectionConfigurationInvalidException()
test_case.identifier: invalidTargetFormatThrowsConnectionConfigurationInvalidException
test_case.invocations: build targets newConnectionBuilder getUriOfNewMockServer singletonList build topics authorizationContext address newTargetBuilder propsForTests noSender noSender propsForTests noSender noSender forEach of withNoCause withMessageContaining isThrownBy assertThatExceptionOfType
test_case.modifiers: @Test public
test_case.parameters: ()
test_case.return: void
test_case.signature: void invalidTargetFormatThrowsConnectionConfigurationInvalidException()
focal_class.declarator: RMQ_CONNECTION_ACTOR_NAME = "rmq-connection"
focal_class.modifier: private static final
focal_class.original_string: private static final String RMQ_CONNECTION_ACTOR_NAME = "rmq-connection";
focal_class.type: String
focal_class.var_name: RMQ_CONNECTION_ACTOR_NAME
focal_class.declarator: CONSUMER_CHANNEL = "consumer-channel"
focal_class.modifier: private static final
focal_class.original_string: private static final String CONSUMER_CHANNEL = "consumer-channel";
focal_class.type: String
focal_class.var_name: CONSUMER_CHANNEL
focal_class.declarator: PUBLISHER_CHANNEL = "publisher-channel"
focal_class.modifier: private static final
focal_class.original_string: private static final String PUBLISHER_CHANNEL = "publisher-channel";
focal_class.type: String
focal_class.var_name: PUBLISHER_CHANNEL
focal_class.declarator: CONSUMER_ACTOR_PREFIX = "consumer-"
focal_class.modifier: private static final
focal_class.original_string: private static final String CONSUMER_ACTOR_PREFIX = "consumer-";
focal_class.type: String
focal_class.var_name: CONSUMER_ACTOR_PREFIX
focal_class.declarator: rabbitConnectionFactoryFactory
focal_class.modifier: private final
focal_class.original_string: private final RabbitConnectionFactoryFactory rabbitConnectionFactoryFactory;
focal_class.type: RabbitConnectionFactoryFactory
focal_class.var_name: rabbitConnectionFactoryFactory
focal_class.declarator: consumedTagsToAddresses
focal_class.modifier: private final
focal_class.original_string: private final Map<String, String> consumedTagsToAddresses;
focal_class.type: Map<String, String>
focal_class.var_name: consumedTagsToAddresses
focal_class.declarator: consumerByAddressWithIndex
focal_class.modifier: private final
focal_class.original_string: private final Map<String, ActorRef> consumerByAddressWithIndex;
focal_class.type: Map<String, ActorRef>
focal_class.var_name: consumerByAddressWithIndex
focal_class.declarator: rmqConnectionActor
focal_class.modifier: @Nullable private
focal_class.original_string: @Nullable private ActorRef rmqConnectionActor;
focal_class.type: ActorRef
focal_class.var_name: rmqConnectionActor
focal_class.declarator: rmqPublisherActor
focal_class.modifier: private
focal_class.original_string: private ActorRef rmqPublisherActor;
focal_class.type: ActorRef
focal_class.var_name: rmqPublisherActor
focal_class.file: services/connectivity/messaging/src/main/java/org/eclipse/ditto/services/connectivity/messaging/rabbitmq/RabbitMQClientActor.java
focal_class.identifier: RabbitMQClientActor
focal_class.class_method_signature: RabbitMQClientActor.RabbitMQClientActor(final Connection connection,
              final RabbitConnectionFactoryFactory rabbitConnectionFactoryFactory,
              @Nullable final ActorRef proxyActor,
              final ActorRef connectionActor)
focal_class.full_signature: @SuppressWarnings("unused") private  RabbitMQClientActor(final Connection connection,
              final RabbitConnectionFactoryFactory rabbitConnectionFactoryFactory,
              @Nullable final ActorRef proxyActor,
              final ActorRef connectionActor)
focal_class.identifier: RabbitMQClientActor
focal_class.modifiers: @SuppressWarnings("unused") private
focal_class.parameters: (final Connection connection,
              final RabbitConnectionFactoryFactory rabbitConnectionFactoryFactory,
              @Nullable final ActorRef proxyActor,
              final ActorRef connectionActor)
focal_class.signature:  RabbitMQClientActor(final Connection connection,
              final RabbitConnectionFactoryFactory rabbitConnectionFactoryFactory,
              @Nullable final ActorRef proxyActor,
              final ActorRef connectionActor)
focal_class.class_method_signature: RabbitMQClientActor.RabbitMQClientActor(final Connection connection, @Nullable final ActorRef proxyActor,
              final ActorRef connectionActor)
focal_class.full_signature: @SuppressWarnings("unused") private  RabbitMQClientActor(final Connection connection, @Nullable final ActorRef proxyActor,
              final ActorRef connectionActor)
focal_class.identifier: RabbitMQClientActor
focal_class.modifiers: @SuppressWarnings("unused") private
focal_class.parameters: (final Connection connection, @Nullable final ActorRef proxyActor,
              final ActorRef connectionActor)
focal_class.signature:  RabbitMQClientActor(final Connection connection, @Nullable final ActorRef proxyActor,
              final ActorRef connectionActor)
focal_class.class_method_signature: RabbitMQClientActor.props(final Connection connection, @Nullable final ActorRef proxyActor,
              final ActorRef connectionActor)
focal_class.full_signature: public static Props props(final Connection connection, @Nullable final ActorRef proxyActor,
              final ActorRef connectionActor)
focal_class.identifier: props
focal_class.modifiers: public static
focal_class.parameters: (final Connection connection, @Nullable final ActorRef proxyActor,
              final ActorRef connectionActor)
focal_class.return: Props
focal_class.signature: Props props(final Connection connection, @Nullable final ActorRef proxyActor,
              final ActorRef connectionActor)
focal_class.class_method_signature: RabbitMQClientActor.propsForTests(final Connection connection, @Nullable final ActorRef proxyActor,
              final ActorRef connectionActor, final RabbitConnectionFactoryFactory rabbitConnectionFactoryFactory)
focal_class.full_signature: static Props propsForTests(final Connection connection, @Nullable final ActorRef proxyActor,
              final ActorRef connectionActor, final RabbitConnectionFactoryFactory rabbitConnectionFactoryFactory)
focal_class.identifier: propsForTests
focal_class.modifiers: static
focal_class.parameters: (final Connection connection, @Nullable final ActorRef proxyActor,
              final ActorRef connectionActor, final RabbitConnectionFactoryFactory rabbitConnectionFactoryFactory)
focal_class.return: Props
focal_class.signature: Props propsForTests(final Connection connection, @Nullable final ActorRef proxyActor,
              final ActorRef connectionActor, final RabbitConnectionFactoryFactory rabbitConnectionFactoryFactory)
focal_class.class_method_signature: RabbitMQClientActor.validateConnection(final Connection connection)
focal_class.full_signature: private static Connection validateConnection(final Connection connection)
focal_class.identifier: validateConnection
focal_class.modifiers: private static
focal_class.parameters: (final Connection connection)
focal_class.return: Connection
focal_class.signature: Connection validateConnection(final Connection connection)
focal_class.class_method_signature: RabbitMQClientActor.inConnectedState()
focal_class.full_signature: @Override protected FSMStateFunctionBuilder<BaseClientState, BaseClientData> inConnectedState()
focal_class.identifier: inConnectedState
focal_class.modifiers: @Override protected
focal_class.parameters: ()
focal_class.return: FSMStateFunctionBuilder<BaseClientState, BaseClientData>
focal_class.signature: FSMStateFunctionBuilder<BaseClientState, BaseClientData> inConnectedState()
focal_class.class_method_signature: RabbitMQClientActor.doTestConnection(final TestConnection testConnectionCommand)
focal_class.full_signature: @Override protected CompletionStage<Status.Status> doTestConnection(final TestConnection testConnectionCommand)
focal_class.identifier: doTestConnection
focal_class.modifiers: @Override protected
focal_class.parameters: (final TestConnection testConnectionCommand)
focal_class.return: CompletionStage<Status.Status>
focal_class.signature: CompletionStage<Status.Status> doTestConnection(final TestConnection testConnectionCommand)
focal_class.class_method_signature: RabbitMQClientActor.doConnectClient(final Connection connection, @Nullable final ActorRef origin)
focal_class.full_signature: @Override protected void doConnectClient(final Connection connection, @Nullable final ActorRef origin)
focal_class.identifier: doConnectClient
focal_class.modifiers: @Override protected
focal_class.parameters: (final Connection connection, @Nullable final ActorRef origin)
focal_class.return: void
focal_class.signature: void doConnectClient(final Connection connection, @Nullable final ActorRef origin)
focal_class.class_method_signature: RabbitMQClientActor.doDisconnectClient(final Connection connection, @Nullable final ActorRef origin)
focal_class.full_signature: @Override protected void doDisconnectClient(final Connection connection, @Nullable final ActorRef origin)
focal_class.identifier: doDisconnectClient
focal_class.modifiers: @Override protected
focal_class.parameters: (final Connection connection, @Nullable final ActorRef origin)
focal_class.return: void
focal_class.signature: void doDisconnectClient(final Connection connection, @Nullable final ActorRef origin)
focal_class.class_method_signature: RabbitMQClientActor.allocateResourcesOnConnection(final ClientConnected clientConnected)
focal_class.full_signature: @Override protected void allocateResourcesOnConnection(final ClientConnected clientConnected)
focal_class.identifier: allocateResourcesOnConnection
focal_class.modifiers: @Override protected
focal_class.parameters: (final ClientConnected clientConnected)
focal_class.return: void
focal_class.signature: void allocateResourcesOnConnection(final ClientConnected clientConnected)
focal_class.class_method_signature: RabbitMQClientActor.startConsumerActors(final ClientConnected clientConnected)
focal_class.full_signature: @Override protected CompletionStage<Status.Status> startConsumerActors(final ClientConnected clientConnected)
focal_class.identifier: startConsumerActors
focal_class.modifiers: @Override protected
focal_class.parameters: (final ClientConnected clientConnected)
focal_class.return: CompletionStage<Status.Status>
focal_class.signature: CompletionStage<Status.Status> startConsumerActors(final ClientConnected clientConnected)
focal_class.class_method_signature: RabbitMQClientActor.cleanupResourcesForConnection()
focal_class.full_signature: @Override protected void cleanupResourcesForConnection()
focal_class.identifier: cleanupResourcesForConnection
focal_class.modifiers: @Override protected
focal_class.parameters: ()
focal_class.return: void
focal_class.signature: void cleanupResourcesForConnection()
focal_class.class_method_signature: RabbitMQClientActor.getPublisherActor()
focal_class.full_signature: @Override protected ActorRef getPublisherActor()
focal_class.identifier: getPublisherActor
focal_class.modifiers: @Override protected
focal_class.parameters: ()
focal_class.return: ActorRef
focal_class.signature: ActorRef getPublisherActor()
focal_class.class_method_signature: RabbitMQClientActor.tryToCreateConnectionFactory(
              final RabbitConnectionFactoryFactory factoryFactory,
              final Connection connection,
              final RabbitMQExceptionHandler rabbitMQExceptionHandler)
focal_class.full_signature: private static Optional<ConnectionFactory> tryToCreateConnectionFactory(
              final RabbitConnectionFactoryFactory factoryFactory,
              final Connection connection,
              final RabbitMQExceptionHandler rabbitMQExceptionHandler)
focal_class.identifier: tryToCreateConnectionFactory
focal_class.modifiers: private static
focal_class.parameters: (
              final RabbitConnectionFactoryFactory factoryFactory,
              final Connection connection,
              final RabbitMQExceptionHandler rabbitMQExceptionHandler)
focal_class.return: Optional<ConnectionFactory>
focal_class.signature: Optional<ConnectionFactory> tryToCreateConnectionFactory(
              final RabbitConnectionFactoryFactory factoryFactory,
              final Connection connection,
              final RabbitMQExceptionHandler rabbitMQExceptionHandler)
focal_class.class_method_signature: RabbitMQClientActor.messageFromConnectionStatus(final Status.Status status)
focal_class.full_signature: private static Object messageFromConnectionStatus(final Status.Status status)
focal_class.identifier: messageFromConnectionStatus
focal_class.modifiers: private static
focal_class.parameters: (final Status.Status status)
focal_class.return: Object
focal_class.signature: Object messageFromConnectionStatus(final Status.Status status)
focal_class.class_method_signature: RabbitMQClientActor.connect(final Connection connection,
              @Nullable final CharSequence correlationId,
              final Duration createChannelTimeout,
              final Duration internalReconnectTimeout)
focal_class.full_signature: private CompletionStage<Status.Status> connect(final Connection connection,
              @Nullable final CharSequence correlationId,
              final Duration createChannelTimeout,
              final Duration internalReconnectTimeout)
focal_class.identifier: connect
focal_class.modifiers: private
focal_class.parameters: (final Connection connection,
              @Nullable final CharSequence correlationId,
              final Duration createChannelTimeout,
              final Duration internalReconnectTimeout)
focal_class.return: CompletionStage<Status.Status>
focal_class.signature: CompletionStage<Status.Status> connect(final Connection connection,
              @Nullable final CharSequence correlationId,
              final Duration createChannelTimeout,
              final Duration internalReconnectTimeout)
focal_class.class_method_signature: RabbitMQClientActor.createConsumerChannelAndNotifySelf(final Status.Status status, final boolean consuming,
              final ActorRef self, final Duration createChannelTimeout)
focal_class.full_signature: private void createConsumerChannelAndNotifySelf(final Status.Status status, final boolean consuming,
              final ActorRef self, final Duration createChannelTimeout)
focal_class.identifier: createConsumerChannelAndNotifySelf
focal_class.modifiers: private
focal_class.parameters: (final Status.Status status, final boolean consuming,
              final ActorRef self, final Duration createChannelTimeout)
focal_class.return: void
focal_class.signature: void createConsumerChannelAndNotifySelf(final Status.Status status, final boolean consuming,
              final ActorRef self, final Duration createChannelTimeout)
focal_class.class_method_signature: RabbitMQClientActor.startRmqPublisherActor()
focal_class.full_signature: private ActorRef startRmqPublisherActor()
focal_class.identifier: startRmqPublisherActor
focal_class.modifiers: private
focal_class.parameters: ()
focal_class.return: ActorRef
focal_class.signature: ActorRef startRmqPublisherActor()
focal_class.class_method_signature: RabbitMQClientActor.startPublisherActor()
focal_class.full_signature: @Override protected CompletionStage<Status.Status> startPublisherActor()
focal_class.identifier: startPublisherActor
focal_class.modifiers: @Override protected
focal_class.parameters: ()
focal_class.return: CompletionStage<Status.Status>
focal_class.signature: CompletionStage<Status.Status> startPublisherActor()
focal_class.class_method_signature: RabbitMQClientActor.stopCommandConsumers()
focal_class.full_signature: private void stopCommandConsumers()
focal_class.identifier: stopCommandConsumers
focal_class.modifiers: private
focal_class.parameters: ()
focal_class.return: void
focal_class.signature: void stopCommandConsumers()
focal_class.class_method_signature: RabbitMQClientActor.startCommandConsumers(final Channel channel)
focal_class.full_signature: private void startCommandConsumers(final Channel channel)
focal_class.identifier: startCommandConsumers
focal_class.modifiers: private
focal_class.parameters: (final Channel channel)
focal_class.return: void
focal_class.signature: void startCommandConsumers(final Channel channel)
focal_class.class_method_signature: RabbitMQClientActor.startConsumers(final Channel channel)
focal_class.full_signature: private void startConsumers(final Channel channel)
focal_class.identifier: startConsumers
focal_class.modifiers: private
focal_class.parameters: (final Channel channel)
focal_class.return: void
focal_class.signature: void startConsumers(final Channel channel)
focal_class.class_method_signature: RabbitMQClientActor.ensureQueuesExist(final Channel channel)
focal_class.full_signature: private void ensureQueuesExist(final Channel channel)
focal_class.identifier: ensureQueuesExist
focal_class.modifiers: private
focal_class.parameters: (final Channel channel)
focal_class.return: void
focal_class.signature: void ensureQueuesExist(final Channel channel)
focal_class.superclass: extends BaseClientActor
focal_method.body: static Props propsForTests(final Connection connection, @Nullable final ActorRef proxyActor,
              final ActorRef connectionActor, final RabbitConnectionFactoryFactory rabbitConnectionFactoryFactory) {
  
          return Props.create(RabbitMQClientActor.class, validateConnection(connection), rabbitConnectionFactoryFactory,
                  proxyActor, connectionActor);
      }
focal_method.class_method_signature: RabbitMQClientActor.propsForTests(final Connection connection, @Nullable final ActorRef proxyActor,
              final ActorRef connectionActor, final RabbitConnectionFactoryFactory rabbitConnectionFactoryFactory)
focal_method.full_signature: static Props propsForTests(final Connection connection, @Nullable final ActorRef proxyActor,
              final ActorRef connectionActor, final RabbitConnectionFactoryFactory rabbitConnectionFactoryFactory)
focal_method.identifier: propsForTests
focal_method.invocations: create validateConnection
focal_method.modifiers: static
focal_method.parameters: (final Connection connection, @Nullable final ActorRef proxyActor,
              final ActorRef connectionActor, final RabbitConnectionFactoryFactory rabbitConnectionFactoryFactory)
focal_method.return: Props
focal_method.signature: Props propsForTests(final Connection connection, @Nullable final ActorRef proxyActor,
              final ActorRef connectionActor, final RabbitConnectionFactoryFactory rabbitConnectionFactoryFactory)