use of com.microsoft.azure.sdk.iot.device.transport.mqtt.MqttTransport in project azure-iot-sdk-java by Azure.
the class MqttTransportTest method isEmptyReturnsFalseIfWaitingListIsNotEmpty.
// Tests_SRS_MqttTransport_11_019: [The function shall return true if the waiting list
// and callback list are all empty, and false otherwise.]
@Test
public void isEmptyReturnsFalseIfWaitingListIsNotEmpty(@Mocked final Message mockMsg, @Mocked final IotHubEventCallback mockCallback) throws IOException {
final Map<String, Object> context = new HashMap<>();
MqttTransport transport = new MqttTransport(mockConfig);
transport.open();
transport.addMessage(mockMsg, mockCallback, context);
boolean testIsEmpty = transport.isEmpty();
boolean expectedIsEmpty = false;
assertThat(testIsEmpty, is(expectedIsEmpty));
}
use of com.microsoft.azure.sdk.iot.device.transport.mqtt.MqttTransport in project azure-iot-sdk-java by Azure.
the class MqttTransportTest method sendMessagesFailsIfTransportClosed.
// Tests_SRS_MQTTTRANSPORT_15_011: [If the MQTT connection is closed,
// the function shall throw an IllegalStateException.]
@Test(expected = IllegalStateException.class)
public void sendMessagesFailsIfTransportClosed() throws IOException {
MqttTransport transport = new MqttTransport(mockConfig);
transport.open();
transport.close();
transport.sendMessages();
}
use of com.microsoft.azure.sdk.iot.device.transport.mqtt.MqttTransport in project azure-iot-sdk-java by Azure.
the class MqttTransportTest method addMessageWithResponseNotSupportedThrows.
// Tests_SRS_MQTTTRANSPORT_21_022: [The function shall throws `UnsupportedOperationException`.]
@Test(expected = UnsupportedOperationException.class)
public <T extends Queue> void addMessageWithResponseNotSupportedThrows(@Mocked final Message mockMsg, @Mocked final IotHubResponseCallback mockCallback) throws IOException {
// arrange
final Queue mockQueue = new MockUp<T>() {
}.getMockInstance();
final Map<String, Object> context = new HashMap<>();
MqttTransport transport = new MqttTransport(mockConfig);
transport.open();
// act
transport.addMessage(mockMsg, mockCallback, context);
}
use of com.microsoft.azure.sdk.iot.device.transport.mqtt.MqttTransport in project azure-iot-sdk-java by Azure.
the class MqttTransportTest method sendMessagesAddsToCallbackQueue.
// Tests_SRS_MQTTTRANSPORT_15_010: [For each message being sent, the function shall send the message
// and add the IoT Hub status code along with the callback and context to the callback list.]
@Test
public <T extends Queue> void sendMessagesAddsToCallbackQueue(@Mocked final Message mockMsg, @Mocked final IotHubEventCallback mockCallback, @Mocked final IotHubOutboundPacket mockPacket, @Mocked final IotHubCallbackPacket mockCallbackPacket) throws IOException {
final Queue mockQueue = new MockUp<T>() {
}.getMockInstance();
final Map<String, Object> context = new HashMap<>();
new NonStrictExpectations() {
{
new MqttIotHubConnection(mockConfig);
result = mockConnection;
new IotHubOutboundPacket(mockMsg, mockCallback, context);
result = mockPacket;
mockPacket.getCallback();
result = mockCallback;
mockPacket.getContext();
result = context;
mockConnection.sendEvent((Message) any);
returns(IotHubStatusCode.OK_EMPTY, IotHubStatusCode.ERROR);
new IotHubCallbackPacket(IotHubStatusCode.OK_EMPTY, mockCallback, context);
result = mockCallbackPacket;
new IotHubCallbackPacket(IotHubStatusCode.ERROR, mockCallback, context);
result = mockCallbackPacket;
}
};
MqttTransport transport = new MqttTransport(mockConfig);
transport.open();
transport.addMessage(mockMsg, mockCallback, context);
transport.addMessage(mockMsg, mockCallback, context);
transport.sendMessages();
new VerificationsInOrder() {
{
new IotHubCallbackPacket(IotHubStatusCode.OK_EMPTY, mockCallback, context);
mockQueue.add(mockCallbackPacket);
new IotHubCallbackPacket(IotHubStatusCode.ERROR, mockCallback, context);
mockQueue.add(mockCallbackPacket);
}
};
}
use of com.microsoft.azure.sdk.iot.device.transport.mqtt.MqttTransport in project azure-iot-sdk-java by Azure.
the class MqttTransportTest method handleMessageFailsIfTransportAlreadyClosed.
// Tests_SRS_MQTTTRANSPORT_15_018: [If the MQTT connection is closed,
// the function shall throw an IllegalStateException.]
@Test(expected = IllegalStateException.class)
public void handleMessageFailsIfTransportAlreadyClosed() throws IOException {
MqttTransport transport = new MqttTransport(mockConfig);
transport.open();
transport.close();
transport.handleMessage();
}
Aggregations