/** * Initializes a new instance of the <code>CloudQueueMessage</code> class with a <code>byte</code> * array containing the message. * * @param content * A <code>byte</code> array which contains the message. */ public CloudQueueMessage(final byte[] content) { this.setMessageContent(content); }
/** * Initializes a new instance of the <code>CloudQueueMessage</code> class with a <code>String</code> * containing the message. * * @param content * A <code>String</code> which contains the message. */ public CloudQueueMessage(final String content) { this.setMessageContent(content); }
/** * Initializes a new instance of the <code>CloudQueueMessage</code> class with a <code>byte</code> * array containing the message. * * @param content * A <code>byte</code> array which contains the message. */ public CloudQueueMessage(final byte[] content) { this.setMessageContent(content); }
/** * Initializes a new instance of the <code>CloudQueueMessage</code> class with a <code>String</code> * containing the message. * * @param content * A <code>String</code> which contains the message. */ public CloudQueueMessage(final String content) { this.setMessageContent(content); }
@Override public ArrayList<CloudQueueMessage> preProcessResponse(CloudQueue queue, CloudQueueClient client, OperationContext context) throws Exception { if (this.getResult().getStatusCode() != HttpURLConnection.HTTP_OK) { this.setNonExceptionedRetryableFailure(true); return null; } else { // Parse the returned messages ArrayList<CloudQueueMessage> messages = QueueMessageHandler.readMessages( this.getConnection().getInputStream(), queue.shouldEncodeMessage); // Decode the messages if necessary if (options.getEncryptionPolicy() != null) { for (CloudQueueMessage message : messages) { byte[] decryptedMessage = options.getEncryptionPolicy().decryptMessage( message.messageContent, options.requireEncryption()); message.setMessageContent(decryptedMessage); } } return messages; } } };
@Override public ArrayList<CloudQueueMessage> preProcessResponse(CloudQueue queue, CloudQueueClient client, OperationContext context) throws Exception { if (this.getResult().getStatusCode() != HttpURLConnection.HTTP_OK) { this.setNonExceptionedRetryableFailure(true); return null; } else { // Parse the returned messages ArrayList<CloudQueueMessage> messages = QueueMessageHandler.readMessages( this.getConnection().getInputStream(), queue.shouldEncodeMessage); // Decode the messages if necessary if (options.getEncryptionPolicy() != null) { for (CloudQueueMessage message : messages) { byte[] decryptedMessage = options.getEncryptionPolicy().decryptMessage( message.messageContent, options.requireEncryption()); message.setMessageContent(decryptedMessage); } } return messages; } }
updateMessage.setMessageContent("Updated contents."); EnumSet<MessageUpdateFields> updateFields = EnumSet .of(MessageUpdateFields.CONTENT,
@Test public void testGB18030TestForSingleMessage() throws StorageException { String messageContent = GB18030CharSet; CloudQueueMessage cqm = new CloudQueueMessage(messageContent); this.queue.addMessage(cqm); CloudQueueMessage messageFromPeekMessage = this.queue.peekMessage(); assertEquals(messageContent, messageFromPeekMessage.getMessageContentAsString()); CloudQueueMessage messageFromRetrieveMessage = this.queue.retrieveMessage(); assertEquals(messageContent, messageFromRetrieveMessage.getMessageContentAsString()); String messageContentUpdated = messageContent + " updated"; messageFromRetrieveMessage.setMessageContent(messageContentUpdated); this.queue.updateMessage(messageFromRetrieveMessage, 0); messageFromPeekMessage = this.queue.peekMessage(null, null); assertEquals(messageContent, messageFromPeekMessage.getMessageContentAsString()); messageContentUpdated = messageContent + " updated again"; messageFromRetrieveMessage.setMessageContent(messageContentUpdated); this.queue.updateMessage(messageFromRetrieveMessage, 0, EnumSet.of(MessageUpdateFields.VISIBILITY, MessageUpdateFields.CONTENT), null, null); messageFromRetrieveMessage = this.queue.retrieveMessage(5, null, null); assertEquals(messageContentUpdated, messageFromRetrieveMessage.getMessageContentAsString()); this.queue.deleteMessage(messageFromRetrieveMessage); }
@Test @Category({ DevFabricTests.class, DevStoreTests.class }) public void testUpdateMessageWithContentChange() throws StorageException { CloudQueueMessage message1 = new CloudQueueMessage("messagetest1"); this.queue.addMessage(message1); CloudQueueMessage message2 = new CloudQueueMessage("messagetest2"); this.queue.addMessage(message2); for (CloudQueueMessage message : this.queue.retrieveMessages(32)) { OperationContext oc = new OperationContext(); message.setMessageContent(message.getMessageContentAsString() + "updated"); this.queue.updateMessage(message, 100, EnumSet.of(MessageUpdateFields.CONTENT), null, oc); assertEquals(oc.getLastResult().getStatusCode(), HttpURLConnection.HTTP_NO_CONTENT); } }
@Test @Category({ DevFabricTests.class, DevStoreTests.class, SlowTests.class }) public void testUpdateMessageFullPass() throws StorageException, InterruptedException { CloudQueueMessage message = new CloudQueueMessage("message"); this.queue.addMessage(message, 20, 0, null, null); CloudQueueMessage message1 = this.queue.retrieveMessage(); String popreceipt1 = message1.getPopReceipt(); Date NextVisibleTim1 = message1.getNextVisibleTime(); this.queue.updateMessage(message1, 100, EnumSet.of(MessageUpdateFields.VISIBILITY), null, null); String popreceipt2 = message1.getPopReceipt(); Date NextVisibleTim2 = message1.getNextVisibleTime(); assertTrue(popreceipt2 != popreceipt1); assertTrue(NextVisibleTim1.before(NextVisibleTim2)); Thread.sleep(2000); String newMesage = message.getMessageContentAsString() + "updated"; message.setMessageContent(newMesage); OperationContext oc = new OperationContext(); this.queue.updateMessage(message1, 100, EnumSet.of(MessageUpdateFields.CONTENT), null, oc); assertEquals(oc.getLastResult().getStatusCode(), HttpURLConnection.HTTP_NO_CONTENT); String popreceipt3 = message1.getPopReceipt(); Date NextVisibleTim3 = message1.getNextVisibleTime(); assertTrue(popreceipt3 != popreceipt2); assertTrue(NextVisibleTim2.before(NextVisibleTim3)); assertTrue(this.queue.retrieveMessage() == null); this.queue.updateMessage(message1, 0, EnumSet.of(MessageUpdateFields.VISIBILITY), null, null); CloudQueueMessage messageFromGet = this.queue.retrieveMessage(); assertEquals(messageFromGet.getMessageContentAsString(), message1.getMessageContentAsString()); }
@Test @Category({ DevFabricTests.class, DevStoreTests.class }) public void testUpdateMessage() throws StorageException { this.queue.clear(); String messageContent = "messagetest"; CloudQueueMessage message1 = new CloudQueueMessage(messageContent); this.queue.addMessage(message1); CloudQueueMessage message2 = new CloudQueueMessage(messageContent); this.queue.addMessage(message2); String newMesage = message1.getMessageContentAsString() + "updated"; for (CloudQueueMessage message : this.queue.retrieveMessages(32)) { OperationContext oc = new OperationContext(); message.setMessageContent(newMesage); this.queue.updateMessage(message, 0, EnumSet.of(MessageUpdateFields.VISIBILITY), null, oc); assertEquals(oc.getLastResult().getStatusCode(), HttpURLConnection.HTTP_NO_CONTENT); CloudQueueMessage messageFromGet = this.queue.retrieveMessage(); assertEquals(messageFromGet.getMessageContentAsString(), messageContent); } }
message.setMessageContent(key); OperationContext oc = new OperationContext(); if (policy.getPermissions().contains(SharedAccessAccountPermissions.UPDATE)) {
for (CloudQueueMessage message : messagesFromRetrieveMessages) { assertEquals(messageContents[count], message.getMessageContentAsString()); message.setMessageContent(message.getMessageContentAsString() + " updated"); this.queue.updateMessage(message, 0, EnumSet.of(MessageUpdateFields.VISIBILITY, MessageUpdateFields.CONTENT), null, null);