use of mockit.Expectations in project azure-iot-sdk-java by Azure.
the class AmqpSendHandlerTest method createProtonMessage_creates_Message_and_sets_Properties.
// Tests_SRS_SERVICE_SDK_JAVA_AMQPSENDHANDLER_12_004: [The function shall create a new Message (Proton) object]
// Tests_SRS_SERVICE_SDK_JAVA_AMQPSENDHANDLER_12_005: [The function shall set the “to” property on the Message object using the created device path]
// Tests_SRS_SERVICE_SDK_JAVA_AMQPSENDHANDLER_12_006: [The function shall create a Binary (Proton) object from the content string]
// Tests_SRS_SERVICE_SDK_JAVA_AMQPSENDHANDLER_12_007: [The function shall create a data Section (Proton) object from the Binary]
// Tests_SRS_SERVICE_SDK_JAVA_AMQPSENDHANDLER_12_008: [The function shall set the Message body to the created data section]
@Test
public void createProtonMessage_creates_Message_and_sets_Properties() throws UnsupportedEncodingException {
// Arrange
String hostName = "aaa";
String userName = "bbb";
String sasToken = "ccc";
String deviceId = "deviceId";
String content = "abcdefghijklmnopqrst";
String toProperty = "/devices/deviceId/messages/devicebound";
IotHubServiceClientProtocol iotHubServiceClientProtocol = IotHubServiceClientProtocol.AMQPS;
AmqpSendHandler amqpSendHandler = new AmqpSendHandler(hostName, userName, sasToken, iotHubServiceClientProtocol);
com.microsoft.azure.sdk.iot.service.Message iotMessage = new com.microsoft.azure.sdk.iot.service.Message(content);
Map<String, String> userDefinedProperties = new HashMap<>(5);
userDefinedProperties.put("key1", "value1");
userDefinedProperties.put("key2", "value2");
userDefinedProperties.put("key3", "value3");
userDefinedProperties.put("key4", "value4");
userDefinedProperties.put("key5", "value5");
iotMessage.setProperties(userDefinedProperties);
// Assert
new Expectations() {
{
message = Proton.message();
new Properties();
result = properties;
properties.setTo(toProperty);
message.setProperties(properties);
binary = new Binary(content.getBytes());
section = new Data(binary);
message.setApplicationProperties((ApplicationProperties) any);
message.setBody(section);
}
};
// Act
amqpSendHandler.createProtonMessage(deviceId, iotMessage);
new Verifications() {
{
properties.setTo(toProperty);
properties.setMessageId(any);
properties.setAbsoluteExpiryTime((Date) any);
properties.setCorrelationId(any);
}
};
}
use of mockit.Expectations in project azure-iot-sdk-java by Azure.
the class AmqpSendHandlerTest method sendComplete_flow_OK.
/*
Tests_SRS_SERVICE_SDK_JAVA_AMQPSENDHANDLER_25_029: [** The event handler shall check the status queue to get the response for the sent message **]**
Tests_SRS_SERVICE_SDK_JAVA_AMQPSENDHANDLER_25_030: [** The event handler shall remove the response from the queue **]**
Tests_SRS_SERVICE_SDK_JAVA_AMQPSENDHANDLER_25_031: [** The event handler shall get the exception from the response and throw is it is not null **]**
*/
@Test
public void sendComplete_flow_OK(@Mocked final AmqpResponseVerification mockedVerification) throws IotHubException, IOException {
// Arrange
String hostName = "aaa";
String userName = "bbb";
String sasToken = "ccc";
IotHubServiceClientProtocol iotHubServiceClientProtocol = IotHubServiceClientProtocol.AMQPS;
AmqpSendHandler amqpSendHandler = new AmqpSendHandler(hostName, userName, sasToken, iotHubServiceClientProtocol);
Queue<AmqpResponseVerification> testsendStatusQueue = new LinkedBlockingQueue<>();
testsendStatusQueue.add(mockedVerification);
Deencapsulation.setField(amqpSendHandler, "sendStatusQueue", testsendStatusQueue);
// Assert
new Expectations() {
{
mockedVerification.getException();
result = null;
}
};
// Act
amqpSendHandler.sendComplete();
}
use of mockit.Expectations in project azure-iot-sdk-java by Azure.
the class AmqpSendHandlerTest method onLinkFlow_call_flow_ok.
// Tests_SRS_SERVICE_SDK_JAVA_AMQPSENDHANDLER_12_017: [The event handler shall get the Sender (Proton) object from the link]
// Tests_SRS_SERVICE_SDK_JAVA_AMQPSENDHANDLER_12_018: [The event handler shall encode the message and copy to the byte buffer]
// Tests_SRS_SERVICE_SDK_JAVA_AMQPSENDHANDLER_12_019: [The event handler shall set the delivery tag on the Sender (Proton) object]
// Tests_SRS_SERVICE_SDK_JAVA_AMQPSENDHANDLER_12_020: [The event handler shall send the encoded bytes]
// Tests_SRS_SERVICE_SDK_JAVA_AMQPSENDHANDLER_12_021: [The event handler shall close the Sender, Session and Connection]
@Test
public void onLinkFlow_call_flow_ok() throws UnsupportedEncodingException {
// Arrange
String hostName = "aaa";
String userName = "bbb";
String sasToken = "ccc";
String hostAddr = hostName + ":5671";
String deviceId = "deviceId";
String content = "abcdefghijklmnopqrst";
com.microsoft.azure.sdk.iot.service.Message iotMessage = new com.microsoft.azure.sdk.iot.service.Message(content);
String endpoint = "/messages/devicebound";
IotHubServiceClientProtocol iotHubServiceClientProtocol = IotHubServiceClientProtocol.AMQPS;
createProtonObjects();
AmqpSendHandler amqpSendHandler = new AmqpSendHandler(hostName, userName, sasToken, iotHubServiceClientProtocol);
amqpSendHandler.createProtonMessage(deviceId, iotMessage);
// Assert
new Expectations() {
{
link = event.getLink();
link.getCredit();
byte[] buffer = new byte[1024];
message.encode(buffer, 0, 1024);
}
};
// Act
amqpSendHandler.onLinkFlow(event);
}
use of mockit.Expectations in project azure-iot-sdk-java by Azure.
the class AmqpSendTest method send_initializes_Reactor.
// Tests_SRS_SERVICE_SDK_JAVA_AMQPSEND_12_007: [The event handler shall initialize the Proton reactor object]
// Tests_SRS_SERVICE_SDK_JAVA_AMQPSEND_12_008: [The event handler shall start the Proton reactor object]
@Test
public void send_initializes_Reactor() throws Exception {
// Arrange
String hostName = "aaa";
String userName = "bbb";
String sasToken = "ccc";
String deviceId = "deviceId";
String content = "abcdefghijklmnopqrst";
Message message = new Message(content);
IotHubServiceClientProtocol iotHubServiceClientProtocol = IotHubServiceClientProtocol.AMQPS;
AmqpSend amqpSend = new AmqpSend(hostName, userName, sasToken, iotHubServiceClientProtocol);
amqpSend.open();
// Assert
new Expectations() {
{
reactor = proton.reactor(amqpSend);
reactor.run();
}
};
// Act
amqpSend.send(deviceId, message);
}
use of mockit.Expectations in project azure-iot-sdk-java by Azure.
the class IotHubConnectionStringBuilderTest method parse_SharedAccessSignature_not_defined.
// Tests_SRS_SERVICE_SDK_JAVA_IOTHUBCONNECTIONSTRINGBUILDER_12_011: [The function shall create new ServiceAuthenticationWithSharedAccessPolicyKey and set the authenticationMethod if the sharedAccessSignature is not defined]
@Test
public void parse_SharedAccessSignature_not_defined() throws Exception {
// Arrange
String iotHubName = "b.c.d";
String hostName = "HOSTNAME." + iotHubName;
String sharedAccessKeyName = "ACCESSKEYNAME";
String policyName = "SharedAccessKey";
String sharedAccessKey = "1234567890abcdefghijklmnopqrstvwxyz=";
String connectionString = "HostName=" + hostName + ";SharedAccessKeyName=" + sharedAccessKeyName + ";" + policyName + "=" + sharedAccessKey;
// Assert
new Expectations() {
{
new ServiceAuthenticationWithSharedAccessPolicyKey(anyString, anyString);
}
};
// Act
IotHubConnectionString iotHubConnectionString = IotHubConnectionStringBuilder.createConnectionString(connectionString);
}
Aggregations