use of org.apache.qpid.proton.message.Message in project azure-iot-sdk-java by Azure.
the class AmqpSendHandlerTest method createProtonObjects.
private void createProtonObjects() {
String exceptionMessage = "Not expected function called";
message = Proton.message();
messageWithException = new Message() {
@Override
public boolean isDurable() {
return false;
}
@Override
public long getDeliveryCount() {
return 0;
}
@Override
public short getPriority() {
return 0;
}
@Override
public boolean isFirstAcquirer() {
return false;
}
@Override
public long getTtl() {
return 0;
}
@Override
public void setDurable(boolean b) {
}
@Override
public void setTtl(long l) {
}
@Override
public void setDeliveryCount(long l) {
}
@Override
public void setFirstAcquirer(boolean b) {
}
@Override
public void setPriority(short i) {
}
@Override
public Object getMessageId() {
return null;
}
@Override
public long getGroupSequence() {
return 0;
}
@Override
public String getReplyToGroupId() {
return null;
}
@Override
public long getCreationTime() {
return 0;
}
@Override
public String getAddress() {
return null;
}
@Override
public byte[] getUserId() {
return new byte[0];
}
@Override
public String getReplyTo() {
return null;
}
@Override
public String getGroupId() {
return null;
}
@Override
public String getContentType() {
return null;
}
@Override
public long getExpiryTime() {
return 0;
}
@Override
public Object getCorrelationId() {
return null;
}
@Override
public String getContentEncoding() {
return null;
}
@Override
public String getSubject() {
return null;
}
@Override
public void setGroupSequence(long l) {
}
@Override
public void setUserId(byte[] bytes) {
}
@Override
public void setCreationTime(long l) {
}
@Override
public void setSubject(String s) {
}
@Override
public void setGroupId(String s) {
}
@Override
public void setAddress(String s) {
}
@Override
public void setExpiryTime(long l) {
}
@Override
public void setReplyToGroupId(String s) {
}
@Override
public void setContentEncoding(String s) {
}
@Override
public void setContentType(String s) {
}
@Override
public void setReplyTo(String s) {
}
@Override
public void setCorrelationId(Object o) {
}
@Override
public void setMessageId(Object o) {
}
@Override
public Header getHeader() {
return null;
}
@Override
public DeliveryAnnotations getDeliveryAnnotations() {
return null;
}
@Override
public MessageAnnotations getMessageAnnotations() {
return null;
}
@Override
public Properties getProperties() {
return null;
}
@Override
public ApplicationProperties getApplicationProperties() {
return null;
}
@Override
public Section getBody() {
return null;
}
@Override
public Footer getFooter() {
return null;
}
@Override
public void setHeader(Header header) {
}
@Override
public void setDeliveryAnnotations(DeliveryAnnotations deliveryAnnotations) {
}
@Override
public void setMessageAnnotations(MessageAnnotations messageAnnotations) {
}
@Override
public void setProperties(Properties properties) {
}
@Override
public void setApplicationProperties(ApplicationProperties applicationProperties) {
}
@Override
public void setBody(Section section) {
}
@Override
public void setFooter(Footer footer) {
}
@Override
public int decode(byte[] bytes, int i, int i1) {
return 0;
}
@Override
public int encode(byte[] bytes, int i, int i1) {
if (exceptionCount == 0) {
exceptionCount++;
throw new BufferOverflowException();
} else {
return 0;
}
}
@Override
public void clear() {
}
@Override
public MessageError getError() {
return null;
}
};
sender = new Sender() {
@Override
public Record attachments() {
return null;
}
@Override
public EndpointState getLocalState() {
return null;
}
@Override
public EndpointState getRemoteState() {
return null;
}
@Override
public ErrorCondition getCondition() {
return null;
}
@Override
public void setCondition(ErrorCondition errorCondition) {
}
@Override
public ErrorCondition getRemoteCondition() {
return null;
}
@Override
public void free() {
}
@Override
public void open() {
}
@Override
public void close() {
}
@Override
public void setContext(Object o) {
}
@Override
public Object getContext() {
return null;
}
@Override
public void offer(int i) {
}
@Override
public int send(byte[] bytes, int i, int i1) {
return 0;
}
@Override
public int send(ReadableBuffer readableBuffer) {
return 0;
}
@Override
public void abort() {
}
@Override
public String getName() {
return null;
}
@Override
public Delivery delivery(byte[] bytes) {
return delivery;
}
@Override
public Delivery delivery(byte[] bytes, int i, int i1) {
return null;
}
@Override
public Delivery head() {
return null;
}
@Override
public Delivery current() {
return null;
}
@Override
public boolean advance() {
return false;
}
@Override
public Source getSource() {
return null;
}
@Override
public org.apache.qpid.proton.amqp.transport.Target getTarget() {
return null;
}
@Override
public void setSource(Source source) {
}
@Override
public void setTarget(org.apache.qpid.proton.amqp.transport.Target target) {
}
@Override
public Source getRemoteSource() {
return null;
}
@Override
public org.apache.qpid.proton.amqp.transport.Target getRemoteTarget() {
return null;
}
@Override
public Link next(EnumSet<EndpointState> enumSet, EnumSet<EndpointState> enumSet1) {
return null;
}
@Override
public int getCredit() {
return 1;
}
@Override
public int getQueued() {
return 0;
}
@Override
public int getUnsettled() {
return 0;
}
@Override
public Session getSession() {
return session;
}
@Override
public SenderSettleMode getSenderSettleMode() {
return null;
}
@Override
public void setSenderSettleMode(SenderSettleMode senderSettleMode) {
}
@Override
public SenderSettleMode getRemoteSenderSettleMode() {
return null;
}
@Override
public ReceiverSettleMode getReceiverSettleMode() {
return null;
}
@Override
public void setReceiverSettleMode(ReceiverSettleMode receiverSettleMode) {
}
@Override
public ReceiverSettleMode getRemoteReceiverSettleMode() {
return null;
}
@Override
public void setRemoteSenderSettleMode(SenderSettleMode senderSettleMode) {
}
@Override
public Map<Symbol, Object> getProperties() {
return null;
}
@Override
public void setProperties(Map<Symbol, Object> map) {
}
@Override
public Map<Symbol, Object> getRemoteProperties() {
return null;
}
@Override
public int drained() {
return 0;
}
@Override
public int getRemoteCredit() {
return 0;
}
@Override
public boolean getDrain() {
return false;
}
@Override
public void detach() {
}
@Override
public boolean detached() {
return false;
}
@Override
public void setOfferedCapabilities(Symbol[] symbols) {
}
@Override
public Symbol[] getOfferedCapabilities() {
return new Symbol[0];
}
@Override
public Symbol[] getRemoteOfferedCapabilities() {
return new Symbol[0];
}
@Override
public void setDesiredCapabilities(Symbol[] symbols) {
}
@Override
public Symbol[] getDesiredCapabilities() {
return new Symbol[0];
}
@Override
public Symbol[] getRemoteDesiredCapabilities() {
return new Symbol[0];
}
};
event = new Event() {
@Override
public EventType getEventType() {
return null;
}
@Override
public Event.Type getType() {
throw new UnsupportedOperationException(exceptionMessage);
}
@Override
public Object getContext() {
throw new UnsupportedOperationException(exceptionMessage);
}
@Override
public Handler getRootHandler() {
return null;
}
@Override
public void dispatch(Handler hndlr) throws HandlerException {
throw new UnsupportedOperationException(exceptionMessage);
}
@Override
public void redispatch(EventType eventType, Handler handler) throws HandlerException {
}
@Override
public void delegate() throws HandlerException {
}
@Override
public Connection getConnection() {
return connection;
}
@Override
public Session getSession() {
throw new UnsupportedOperationException(exceptionMessage);
}
@Override
public Link getLink() {
return sender;
}
@Override
public Sender getSender() {
return null;
}
@Override
public Receiver getReceiver() {
return null;
}
@Override
public Delivery getDelivery() {
throw new UnsupportedOperationException(exceptionMessage);
}
@Override
public Transport getTransport() {
throw new UnsupportedOperationException(exceptionMessage);
}
@Override
public Reactor getReactor() {
throw new UnsupportedOperationException(exceptionMessage);
}
@Override
public Selectable getSelectable() {
throw new UnsupportedOperationException(exceptionMessage);
}
@Override
public Task getTask() {
throw new UnsupportedOperationException(exceptionMessage);
}
@Override
public Event copy() {
throw new UnsupportedOperationException(exceptionMessage);
}
@Override
public Record attachments() {
throw new UnsupportedOperationException(exceptionMessage);
}
};
}
use of org.apache.qpid.proton.message.Message in project azure-iot-sdk-java by Azure.
the class AmqpSendHandlerTest method onLinkFlowBufferOverflow_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 onLinkFlowBufferOverflow_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";
exceptionCount = 0;
IotHubServiceClientProtocol iotHubServiceClientProtocol = IotHubServiceClientProtocol.AMQPS;
createProtonObjects();
AmqpSendHandler amqpSendHandler = new AmqpSendHandler(hostName, userName, sasToken, iotHubServiceClientProtocol);
Queue<Message> testMessagesToBeSent = new LinkedBlockingQueue<>();
testMessagesToBeSent.add(messageWithException);
Deencapsulation.setField(amqpSendHandler, "messagesToBeSent", testMessagesToBeSent);
// Assert
new Expectations() {
{
link = event.getLink();
link.getCredit();
}
};
// Act
amqpSendHandler.onLinkFlow(event);
}
use of org.apache.qpid.proton.message.Message 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 org.apache.qpid.proton.message.Message 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);
}
Aggregations