/** * Creates the queue. * * @throws StorageException * If a storage service error occurred during the operation. */ @DoesServiceRequest public void create() throws StorageException { this.create(null /* options */, null /* opContext */); }
@Test @Category({ DevFabricTests.class, DevStoreTests.class }) public void testQueueCreateAfterDelete() throws URISyntaxException, StorageException { final CloudQueueClient qClient = TestHelper.createCloudQueueClient(); final String queueName = QueueTestHelper.generateRandomQueueName(); CloudQueue queue = qClient.getQueueReference(queueName); assertEquals(queueName, queue.getName()); try { OperationContext createQueueContext1 = new OperationContext(); assertTrue(queue.createIfNotExists(null, createQueueContext1)); assertEquals(createQueueContext1.getLastResult().getStatusCode(), HttpURLConnection.HTTP_CREATED); assertTrue(queue.deleteIfExists()); try { queue.create(); fail("Queue CreateIfNotExists did not throw exception while trying to create a queue in BeingDeleted State"); } catch (StorageException ex) { assertEquals("Expected 409 Exception, QueueBeingDeleted not thrown", ex.getHttpStatusCode(), HttpURLConnection.HTTP_CONFLICT); assertEquals("Expected 409 Exception, QueueBeingDeleted not thrown", ex.getExtendedErrorInformation() .getErrorCode(), StorageErrorCodeStrings.QUEUE_BEING_DELETED); } } finally { queue.deleteIfExists(); } }
/** * Creates the queue. * * @throws StorageException * If a storage service error occurred during the operation. */ @DoesServiceRequest public void create() throws StorageException { this.create(null /* options */, null /* opContext */); }
@Override public CloudQueue internalCreate(Tuple<CloudStorageAccount, String> key) { CloudQueueClient queueClient = key.getFirst().createCloudQueueClient(); try { CloudQueue cloudQueue = queueClient.getQueueReference(key.getSecond()); cloudQueue.create(); return cloudQueue; } catch (URISyntaxException | StorageException e) { throw new RuntimeException("Failed to build queue client", e); } } }
this.create(options, opContext); return true;
this.create(options, opContext); return true;
@Test @Category({ DevFabricTests.class, DevStoreTests.class }) public void testQueueCreateAddingMetadata() throws StorageException, URISyntaxException { final CloudQueue queue = QueueTestHelper.getRandomQueueReference(); final HashMap<String, String> metadata = new HashMap<String, String>(5); for (int i = 0; i < 5; i++) { metadata.put("key" + i, "value" + i); } queue.setMetadata(metadata); final OperationContext createQueueContext = new OperationContext(); try { queue.create(null, createQueueContext); assertEquals(createQueueContext.getLastResult().getStatusCode(), HttpURLConnection.HTTP_CREATED); } finally { queue.deleteIfExists(); } }
@Test @Category({ DevFabricTests.class, DevStoreTests.class }) public void testQueueCreate() throws URISyntaxException, StorageException { CloudQueue queue = QueueTestHelper.getRandomQueueReference(); OperationContext createQueueContext = new OperationContext(); try { queue.create(null, createQueueContext); assertEquals(createQueueContext.getLastResult().getStatusCode(), HttpURLConnection.HTTP_CREATED); try { HashMap<String, String> metadata1 = new HashMap<String, String>(); metadata1.put("ExistingMetadata1", "ExistingMetadataValue1"); queue.setMetadata(metadata1); queue.create(); fail(); } catch (StorageException e) { assertTrue(e.getHttpStatusCode() == HttpURLConnection.HTTP_CONFLICT); } queue.downloadAttributes(); OperationContext createQueueContext2 = new OperationContext(); queue.create(null, createQueueContext2); assertEquals(createQueueContext2.getLastResult().getStatusCode(), HttpURLConnection.HTTP_NO_CONTENT); } finally { queue.delete(); } }
@Category({ DevFabricTests.class, DevStoreTests.class, CloudTests.class }) @Test public void testListQueuesSegmented() throws URISyntaxException, StorageException { CloudQueueClient qClient = QueueTestHelper.createCloudQueueClient(); String prefix = "segment" + UUID.randomUUID().toString().substring(0, 8).toLowerCase(); HashMap<String, String> metadata1 = new HashMap<String, String>(); metadata1.put("ExistingMetadata1", "ExistingMetadataValue1"); for (int i = 0; i < 35; i++) { CloudQueue q = qClient.getQueueReference(prefix + UUID.randomUUID().toString().toLowerCase()); q.setMetadata(metadata1); q.create(); } ResultSegment<CloudQueue> segment1 = qClient.listQueuesSegmented(prefix); assertTrue(segment1.getLength() == 35); ResultSegment<CloudQueue> segment2 = qClient.listQueuesSegmented(prefix, QueueListingDetails.NONE, 5, null, null, null); assertTrue(segment2.getLength() == 5); int totalRoundTrip = 1; while (segment2.getHasMoreResults()) { segment2 = qClient.listQueuesSegmented(prefix, QueueListingDetails.NONE, 5, segment2.getContinuationToken(), null, null); assertTrue(segment2.getLength() == 5); totalRoundTrip++; } assertTrue(totalRoundTrip == 7); ResultSegment<CloudQueue> segment3 = qClient.listQueuesSegmented(prefix, QueueListingDetails.NONE, null, null, null, null); assertTrue(segment3.getLength() == 35); }
@Test @Category({ DevFabricTests.class, DevStoreTests.class }) public void testDeleteMessageWithDifferentQueueInstance() throws StorageException, URISyntaxException { final CloudQueueClient qClient = TestHelper.createCloudQueueClient(); final String queueName = QueueTestHelper.generateRandomQueueName(); final CloudQueue queue1 = qClient.getQueueReference(queueName); try { queue1.create(); String msgContent = UUID.randomUUID().toString(); final CloudQueueMessage message = new CloudQueueMessage(msgContent); queue1.addMessage(message); CloudQueueMessage msgFromRetrieved = queue1.retrieveMessage(); final CloudQueue queue2 = qClient.getQueueReference(queueName); queue2.deleteMessage(msgFromRetrieved); } finally { queue1.deleteIfExists(); } }
@Test @Category({ DevFabricTests.class, DevStoreTests.class }) public void testQueueCreateAlreadyExists() throws URISyntaxException, StorageException { final CloudQueueClient qClient = TestHelper.createCloudQueueClient(); final String queueName = QueueTestHelper.generateRandomQueueName(); CloudQueue queue = qClient.getQueueReference(queueName); assertEquals(queueName, queue.getName()); try { OperationContext createQueueContext1 = new OperationContext(); queue.create(null, createQueueContext1); assertEquals(createQueueContext1.getLastResult().getStatusCode(), HttpURLConnection.HTTP_CREATED); OperationContext createQueueContext2 = new OperationContext(); queue.create(null, createQueueContext2); assertEquals(createQueueContext2.getLastResult().getStatusCode(), HttpURLConnection.HTTP_NO_CONTENT); } finally { queue.deleteIfExists(); } }
@Test @Category({ DevFabricTests.class, DevStoreTests.class }) public void testDeleteQueueIfExists() throws URISyntaxException, StorageException { final CloudQueue queue = QueueTestHelper.getRandomQueueReference(); assertFalse(queue.deleteIfExists()); try { final OperationContext createQueueContext = new OperationContext(); queue.create(null, createQueueContext); assertEquals(createQueueContext.getLastResult().getStatusCode(), HttpURLConnection.HTTP_CREATED); assertTrue(queue.deleteIfExists()); assertFalse(queue.deleteIfExists()); try { queue.create(); fail("Queue CreateIfNotExists did not throw exception while trying to create a queue in BeingDeleted State"); } catch (StorageException ex) { assertEquals("Expected 409 Exception, QueueBeingDeleted not thrown", ex.getHttpStatusCode(), HttpURLConnection.HTTP_CONFLICT); assertEquals("Expected 409 Exception, QueueBeingDeleted not thrown", ex.getExtendedErrorInformation() .getErrorCode(), StorageErrorCodeStrings.QUEUE_BEING_DELETED); } } finally { queue.delete(); } }
policy.getPermissions().contains(SharedAccessAccountPermissions.WRITE)) { sasQueue.create(); sasQueue.create(); fail(); assertMessagesMatch(AccountSasTests.INVALID_RESOURCE_TYPE_MESSAGE, ex); queue.create(); sasQueue.create(); fail(); assertMessagesMatch(AccountSasTests.INVALID_RESOURCE_TYPE_MESSAGE, ex); queue.create();
@Test @Category({ DevFabricTests.class, DevStoreTests.class }) public void testQueueExist() throws URISyntaxException, StorageException { final CloudQueue queue = QueueTestHelper.getRandomQueueReference(); final OperationContext existQueueContext1 = new OperationContext(); assertTrue(!queue.exists(null, existQueueContext1)); assertEquals(existQueueContext1.getLastResult().getStatusCode(), HttpURLConnection.HTTP_NOT_FOUND); try { final OperationContext createQueueContext = new OperationContext(); queue.create(null, createQueueContext); assertEquals(createQueueContext.getLastResult().getStatusCode(), HttpURLConnection.HTTP_CREATED); final OperationContext existQueueContext2 = new OperationContext(); assertTrue(queue.exists(null, existQueueContext2)); assertEquals(existQueueContext2.getLastResult().getStatusCode(), HttpURLConnection.HTTP_OK); } finally { queue.deleteIfExists(); } }
@Test @Category({ DevFabricTests.class, DevStoreTests.class }) public void testQueueDelete() throws URISyntaxException, StorageException { final CloudQueueClient qClient = TestHelper.createCloudQueueClient(); final String queueName = QueueTestHelper.generateRandomQueueName(); CloudQueue queue = qClient.getQueueReference(queueName); assertEquals(queueName, queue.getName()); try { OperationContext createQueueContext = new OperationContext(); queue.create(null, createQueueContext); assertEquals(createQueueContext.getLastResult().getStatusCode(), HttpURLConnection.HTTP_CREATED); OperationContext deleteQueueContext = new OperationContext(); queue.delete(null, deleteQueueContext); assertEquals(deleteQueueContext.getLastResult().getStatusCode(), HttpURLConnection.HTTP_NO_CONTENT); try { queue.downloadAttributes(); fail(); } catch (StorageException ex) { assertEquals("Expected 404 Exception", ex.getHttpStatusCode(), HttpURLConnection.HTTP_NOT_FOUND); } } finally { queue.deleteIfExists(); } }