test_class.declarator: mockHiveMqtt5ClientFactory
test_class.modifier: private
test_class.original_string: private MockHiveMqtt5ClientFactory mockHiveMqtt5ClientFactory;
test_class.type: MockHiveMqtt5ClientFactory
test_class.var_name: mockHiveMqtt5ClientFactory
test_class.file: services/connectivity/messaging/src/test/java/org/eclipse/ditto/services/connectivity/messaging/mqtt/hivemq/HiveMqtt5ClientActorTest.java
test_class.identifier: HiveMqtt5ClientActorTest
test_class.superclass: extends AbstractMqttClientActorTest<Mqtt5Publish>
test_case.body: @Test
      public void testSubscribeFails() {
          new TestKit(actorSystem) {{
              final MockHiveMqtt5ClientFactory clientFactory = mockHiveMqtt5ClientFactory
                      .withTestProbe(getRef())
                      .withFailingSubscribe();
  
              final Props props =
                      HiveMqtt5ClientActor.props(connection, getRef(), clientFactory, mockConnectionActor.ref());
              final ActorRef mqttClientActor = actorSystem.actorOf(props, "mqttClientActor-testSubscribeFails");
  
              mqttClientActor.tell(OpenConnection.of(connectionId, DittoHeaders.empty()), getRef());
              expectMsgClass(Status.Failure.class);
  
              mqttClientActor.tell(CloseConnection.of(connectionId, DittoHeaders.empty()), getRef());
              expectMsg(DISCONNECTED_SUCCESS);
          }};
      }
test_case.class_method_signature: HiveMqtt5ClientActorTest.testSubscribeFails()
test_case.full_signature: @Test public void testSubscribeFails()
test_case.identifier: testSubscribeFails
test_case.invocations: withFailingSubscribe withTestProbe getRef props getRef ref actorOf tell of empty getRef expectMsgClass tell of empty getRef expectMsg
test_case.modifiers: @Test public
test_case.parameters: ()
test_case.return: void
test_case.signature: void testSubscribeFails()
focal_class.file: services/connectivity/messaging/src/main/java/org/eclipse/ditto/services/connectivity/messaging/mqtt/hivemq/HiveMqtt5ClientActor.java
focal_class.identifier: HiveMqtt5ClientActor
focal_class.class_method_signature: HiveMqtt5ClientActor.HiveMqtt5ClientActor(final Connection connection,
              final ActorRef proxyActor,
              final ActorRef connectionActor,
              final HiveMqtt5ClientFactory clientFactory)
focal_class.full_signature: @SuppressWarnings("unused") // used by `props` via reflection private  HiveMqtt5ClientActor(final Connection connection,
              final ActorRef proxyActor,
              final ActorRef connectionActor,
              final HiveMqtt5ClientFactory clientFactory)
focal_class.identifier: HiveMqtt5ClientActor
focal_class.modifiers: @SuppressWarnings("unused") // used by `props` via reflection private
focal_class.parameters: (final Connection connection,
              final ActorRef proxyActor,
              final ActorRef connectionActor,
              final HiveMqtt5ClientFactory clientFactory)
focal_class.signature:  HiveMqtt5ClientActor(final Connection connection,
              final ActorRef proxyActor,
              final ActorRef connectionActor,
              final HiveMqtt5ClientFactory clientFactory)
focal_class.class_method_signature: HiveMqtt5ClientActor.HiveMqtt5ClientActor(final Connection connection, final ActorRef proxyActor,
              final ActorRef connectionActor)
focal_class.full_signature: @SuppressWarnings("unused") // used by `props` via reflection private  HiveMqtt5ClientActor(final Connection connection, final ActorRef proxyActor,
              final ActorRef connectionActor)
focal_class.identifier: HiveMqtt5ClientActor
focal_class.modifiers: @SuppressWarnings("unused") // used by `props` via reflection private
focal_class.parameters: (final Connection connection, final ActorRef proxyActor,
              final ActorRef connectionActor)
focal_class.signature:  HiveMqtt5ClientActor(final Connection connection, final ActorRef proxyActor,
              final ActorRef connectionActor)
focal_class.class_method_signature: HiveMqtt5ClientActor.props(final Connection connection, final ActorRef proxyActor,
              final HiveMqtt5ClientFactory clientFactory, final ActorRef connectionActor)
focal_class.full_signature: public static Props props(final Connection connection, final ActorRef proxyActor,
              final HiveMqtt5ClientFactory clientFactory, final ActorRef connectionActor)
focal_class.identifier: props
focal_class.modifiers: public static
focal_class.parameters: (final Connection connection, final ActorRef proxyActor,
              final HiveMqtt5ClientFactory clientFactory, final ActorRef connectionActor)
focal_class.return: Props
focal_class.signature: Props props(final Connection connection, final ActorRef proxyActor,
              final HiveMqtt5ClientFactory clientFactory, final ActorRef connectionActor)
focal_class.class_method_signature: HiveMqtt5ClientActor.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: HiveMqtt5ClientActor.createSubscriptionHandler(
              final Connection connection, final Mqtt5AsyncClient client, final ThreadSafeDittoLoggingAdapter logger)
focal_class.full_signature: @Override AbstractMqttSubscriptionHandler<Mqtt5Subscribe, Mqtt5Publish, Mqtt5SubAck> createSubscriptionHandler(
              final Connection connection, final Mqtt5AsyncClient client, final ThreadSafeDittoLoggingAdapter logger)
focal_class.identifier: createSubscriptionHandler
focal_class.modifiers: @Override
focal_class.parameters: (
              final Connection connection, final Mqtt5AsyncClient client, final ThreadSafeDittoLoggingAdapter logger)
focal_class.return: AbstractMqttSubscriptionHandler<Mqtt5Subscribe, Mqtt5Publish, Mqtt5SubAck>
focal_class.signature: AbstractMqttSubscriptionHandler<Mqtt5Subscribe, Mqtt5Publish, Mqtt5SubAck> createSubscriptionHandler(
              final Connection connection, final Mqtt5AsyncClient client, final ThreadSafeDittoLoggingAdapter logger)
focal_class.class_method_signature: HiveMqtt5ClientActor.sendConn(final Mqtt5AsyncClient client, final boolean cleanSession)
focal_class.full_signature: @Override CompletionStage<?> sendConn(final Mqtt5AsyncClient client, final boolean cleanSession)
focal_class.identifier: sendConn
focal_class.modifiers: @Override
focal_class.parameters: (final Mqtt5AsyncClient client, final boolean cleanSession)
focal_class.return: CompletionStage<?>
focal_class.signature: CompletionStage<?> sendConn(final Mqtt5AsyncClient client, final boolean cleanSession)
focal_class.class_method_signature: HiveMqtt5ClientActor.disconnectClient(final Mqtt5AsyncClient client)
focal_class.full_signature: @Override CompletionStage<Void> disconnectClient(final Mqtt5AsyncClient client)
focal_class.identifier: disconnectClient
focal_class.modifiers: @Override
focal_class.parameters: (final Mqtt5AsyncClient client)
focal_class.return: CompletionStage<Void>
focal_class.signature: CompletionStage<Void> disconnectClient(final Mqtt5AsyncClient client)
focal_class.class_method_signature: HiveMqtt5ClientActor.startPublisherActor(final Connection connection, final Mqtt5AsyncClient client)
focal_class.full_signature: @Override ActorRef startPublisherActor(final Connection connection, final Mqtt5AsyncClient client)
focal_class.identifier: startPublisherActor
focal_class.modifiers: @Override
focal_class.parameters: (final Connection connection, final Mqtt5AsyncClient client)
focal_class.return: ActorRef
focal_class.signature: ActorRef startPublisherActor(final Connection connection, final Mqtt5AsyncClient client)
focal_class.class_method_signature: HiveMqtt5ClientActor.startConsumerActor(final boolean dryRun,
              final Source source,
              final ActorRef mappingActor,
              final MqttSpecificConfig specificConfig)
focal_class.full_signature: @Override ActorRef startConsumerActor(final boolean dryRun,
              final Source source,
              final ActorRef mappingActor,
              final MqttSpecificConfig specificConfig)
focal_class.identifier: startConsumerActor
focal_class.modifiers: @Override
focal_class.parameters: (final boolean dryRun,
              final Source source,
              final ActorRef mappingActor,
              final MqttSpecificConfig specificConfig)
focal_class.return: ActorRef
focal_class.signature: ActorRef startConsumerActor(final boolean dryRun,
              final Source source,
              final ActorRef mappingActor,
              final MqttSpecificConfig specificConfig)
focal_class.superclass: extends AbstractMqttClientActor<Mqtt5Subscribe, Mqtt5Publish, Mqtt5AsyncClient, Mqtt5SubAck>
focal_method.body: public static Props props(final Connection connection, final ActorRef proxyActor,
              final HiveMqtt5ClientFactory clientFactory, final ActorRef connectionActor) {
          return Props.create(HiveMqtt5ClientActor.class, connection, proxyActor, connectionActor, clientFactory);
      }
focal_method.class_method_signature: HiveMqtt5ClientActor.props(final Connection connection, final ActorRef proxyActor,
              final HiveMqtt5ClientFactory clientFactory, final ActorRef connectionActor)
focal_method.full_signature: public static Props props(final Connection connection, final ActorRef proxyActor,
              final HiveMqtt5ClientFactory clientFactory, final ActorRef connectionActor)
focal_method.identifier: props
focal_method.invocations: create
focal_method.modifiers: public static
focal_method.parameters: (final Connection connection, final ActorRef proxyActor,
              final HiveMqtt5ClientFactory clientFactory, final ActorRef connectionActor)
focal_method.return: Props
focal_method.signature: Props props(final Connection connection, final ActorRef proxyActor,
              final HiveMqtt5ClientFactory clientFactory, final ActorRef connectionActor)