@Test
void processMessageTest() throws JMSException {

    // Arrange
    final String correlationUid = "CorrelationID-1";
    final String messageType = "GET_DATA";
    final String organisationIdentification = "test-org";
    final String deviceIdentification = "device1";
    final ResponseMessageResultType resultType = ResponseMessageResultType.OK;
    final String payload = "the payload";
    final ResponseMessage responseMessage = new ResponseMessage.Builder().withCorrelationUid(correlationUid)
            .withMessageType(messageType)
            .withOrganisationIdentification(organisationIdentification)
            .withDeviceIdentification(deviceIdentification)
            .withResult(resultType)
            .withDataObject(payload)
            .build();
    when(this.receivedMessage.getJMSCorrelationID()).thenReturn(correlationUid);
    when(this.receivedMessage.getJMSType()).thenReturn(messageType);
    when(this.receivedMessage.getStringProperty(Constants.ORGANISATION_IDENTIFICATION))
            .thenReturn(organisationIdentification);
    when(this.receivedMessage.getStringProperty(Constants.DEVICE_IDENTIFICATION)).thenReturn(deviceIdentification);
    when(this.receivedMessage.getStringProperty(Constants.RESULT)).thenReturn(resultType.toString());
    when(this.receivedMessage.getObject()).thenReturn(responseMessage);
    // Act
    this.domainResponseMessageProcessor.processMessage(this.receivedMessage);
    // Assert
    verify(this.producer, times(1)).send(payload);
}