use of com.microsoft.azure.sdk.iot.device.DeviceTwin.DeviceOperations in project azure-iot-sdk-java by Azure.
the class MqttDeviceTwinTest method receiveSetsVersionOnResTopic.
/*
**Tests_SRS_MQTTDEVICETWIN_25_041: [**If the topic is of type response topic then this method shall parse further to look for version which if found is set by calling setVersion**]**
*/
@Test
public void receiveSetsVersionOnResTopic(@Mocked final Mqtt mockMqtt) throws IOException {
final byte[] actualPayload = "GetTwinResponseDataContainingDesiredAndReportedPropertiesDocument".getBytes();
final String expectedTopic = "$iothub/twin/res/" + "201" + "/?$rid=" + mockReqId + "&$version=" + mockVersion;
DeviceTwinMessage receivedMessage = null;
try {
//arrange
MqttDeviceTwin testTwin = new MqttDeviceTwin();
String insertTopic = expectedTopic;
ConcurrentSkipListMap<String, byte[]> testMap = new ConcurrentSkipListMap<String, byte[]>();
testMap.put(insertTopic, actualPayload);
Deencapsulation.setField(mockMqtt, "allReceivedMessages", testMap);
Map<String, DeviceOperations> requestMap = new HashMap<>();
requestMap.put(mockReqId, DEVICE_OPERATION_TWIN_GET_REQUEST);
Deencapsulation.setField(testTwin, "requestMap", requestMap);
//act
receivedMessage = (DeviceTwinMessage) testTwin.receive();
} finally {
//assert
assertNotNull(receivedMessage);
assertTrue(receivedMessage.getMessageType() == MessageType.DeviceTwin);
assertTrue(receivedMessage.getDeviceOperationType() == DEVICE_OPERATION_TWIN_GET_RESPONSE);
assertTrue(receivedMessage.getRequestId().equals(mockReqId));
assertTrue(receivedMessage.getStatus().equals("201"));
assertTrue(receivedMessage.getVersion().equals(mockVersion));
}
}
use of com.microsoft.azure.sdk.iot.device.DeviceTwin.DeviceOperations in project azure-iot-sdk-java by Azure.
the class MqttDeviceTwinTest method receiveParsesResponseTopicForUpdateReportedPropertiesSucceeds.
@Test
public void receiveParsesResponseTopicForUpdateReportedPropertiesSucceeds(@Mocked final Mqtt mockMqtt) throws IOException {
final byte[] actualPayload = "".getBytes();
/*
The following does not work
final byte[] actualPayload = null;
*/
final String expectedTopic = "$iothub/twin/res/" + "200" + "/?$rid=" + mockReqId + "&$version=" + mockVersion;
DeviceTwinMessage receivedMessage = null;
try {
//arrange
MqttDeviceTwin testTwin = new MqttDeviceTwin();
String insertTopic = expectedTopic;
ConcurrentSkipListMap<String, byte[]> testMap = new ConcurrentSkipListMap<String, byte[]>();
testMap.put(insertTopic, actualPayload);
Deencapsulation.setField(mockMqtt, "allReceivedMessages", testMap);
Map<String, DeviceOperations> requestMap = new HashMap<>();
requestMap.put(mockReqId, DEVICE_OPERATION_TWIN_UPDATE_REPORTED_PROPERTIES_REQUEST);
Deencapsulation.setField(testTwin, "requestMap", requestMap);
//act
receivedMessage = (DeviceTwinMessage) testTwin.receive();
} finally {
//assert
assertNotNull(receivedMessage);
assertTrue(receivedMessage.getMessageType() == MessageType.DeviceTwin);
assertTrue(receivedMessage.getDeviceOperationType() == DEVICE_OPERATION_TWIN_UPDATE_REPORTED_PROPERTIES_RESPONSE);
assertTrue(receivedMessage.getStatus().equals("200"));
assertTrue(receivedMessage.getRequestId().equals(mockReqId));
assertTrue(receivedMessage.getVersion().equals(mockVersion));
}
}
use of com.microsoft.azure.sdk.iot.device.DeviceTwin.DeviceOperations in project azure-iot-sdk-java by Azure.
the class DeviceTwinMessageTest method getTwinOpGets.
/*
**Tests_SRS_DEVICETWINMESSAGE_25_010: [**The function shall return the operation type either set by the setter or the default (DEVICE_OPERATION_UNKNOWN) if unset so far.**]**
*/
@Test
public void getTwinOpGets() {
// arrange
final byte[] actualData = {};
IotHubTransportMessage msg = new IotHubTransportMessage(actualData, MessageType.DEVICE_TWIN);
msg.setDeviceOperationType(DeviceOperations.DEVICE_OPERATION_TWIN_UPDATE_REPORTED_PROPERTIES_RESPONSE);
// act
DeviceOperations op = msg.getDeviceOperationType();
// assert
assertEquals(op, DeviceOperations.DEVICE_OPERATION_TWIN_UPDATE_REPORTED_PROPERTIES_RESPONSE);
}
use of com.microsoft.azure.sdk.iot.device.DeviceTwin.DeviceOperations in project azure-iot-sdk-java by Azure.
the class DeviceTwinMessageTest method constructorSetsRequiredPrivateMembers.
/*
**Tests_SRS_DEVICETWINMESSAGE_25_001: [**The constructor shall save the message body by calling super with the body as parameter.**]**
*/
@Test
public void constructorSetsRequiredPrivateMembers() {
// arrange
final byte[] actualData = {};
// act
IotHubTransportMessage msg = new IotHubTransportMessage(actualData, MessageType.DEVICE_TWIN);
// assert
String actualVersion = Deencapsulation.getField(msg, "version");
String actualRequestId = Deencapsulation.getField(msg, "requestId");
String actualStatus = Deencapsulation.getField(msg, "status");
DeviceOperations operationType = Deencapsulation.getField(msg, "operationType");
assertNull(actualVersion);
assertNull(actualRequestId);
assertNull(actualStatus);
assertEquals(operationType, DeviceOperations.DEVICE_OPERATION_UNKNOWN);
}
use of com.microsoft.azure.sdk.iot.device.DeviceTwin.DeviceOperations in project azure-iot-sdk-java by Azure.
the class DeviceTwinMessageTest method gettersGetDefaultsIfNotSet.
@Test
public void gettersGetDefaultsIfNotSet() {
// arrange
final byte[] actualData = {};
IotHubTransportMessage msg = new IotHubTransportMessage(actualData, MessageType.DEVICE_TWIN);
// act
String testVersion = msg.getVersion();
String testRequestId = msg.getRequestId();
String testStatus = msg.getStatus();
DeviceOperations testOpType = msg.getDeviceOperationType();
// assert
String actualVersion = Deencapsulation.getField(msg, "version");
String actualRequestId = Deencapsulation.getField(msg, "requestId");
String actualStatus = Deencapsulation.getField(msg, "status");
DeviceOperations operationType = Deencapsulation.getField(msg, "operationType");
assertEquals(actualRequestId, testRequestId);
assertEquals(actualStatus, testStatus);
assertEquals(actualVersion, testVersion);
}
Aggregations