@Test public void testQueueClientConstructor() throws URISyntaxException, StorageException { final CloudQueueClient qClient = TestHelper.createCloudQueueClient(); final String queueName = QueueTestHelper.generateRandomQueueName(); CloudQueue queue1 = qClient.getQueueReference(queueName); assertEquals(queueName, queue1.getName()); assertTrue(queue1.getUri().toString().endsWith(queueName)); assertEquals(qClient, queue1.getServiceClient()); CloudQueue queue2 = new CloudQueue(new URI(QueueTestHelper.appendQueueName(qClient.getEndpoint(), queueName)), qClient.getCredentials()); assertEquals(queueName, queue2.getName()); assertEquals(qClient.getCredentials(), queue2.getServiceClient().getCredentials()); }
public static CloudQueue getRandomQueueReference() throws URISyntaxException, StorageException { String queueName = generateRandomQueueName(); CloudQueueClient qClient = createCloudQueueClient(); CloudQueue queue = qClient.getQueueReference(queueName); return queue; }
@Before public void queueClientGBTestMethodSetUp() throws URISyntaxException, StorageException { this.queue = QueueTestHelper.getRandomQueueReference(); this.queue.createIfNotExists(); }
@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(); } }
@Category({ DevFabricTests.class, DevStoreTests.class, CloudTests.class }) @Test public void testListQueuesSegmentedMaxResultsValidation() throws URISyntaxException, StorageException { CloudQueueClient qClient = QueueTestHelper.createCloudQueueClient(); // Validation should cause each of these to fail for (int i = 0; i >= -2; i--) { try { qClient.listQueuesSegmented(null, QueueListingDetails.NONE, i, null, null, null); fail(); } catch (IllegalArgumentException e) { assertTrue(String.format(SR.PARAMETER_SHOULD_BE_GREATER_OR_EQUAL, "maxResults", 1) .equals(e.getMessage())); } } assertNotNull(qClient.listQueuesSegmented("thereshouldntbeanyqueueswiththisprefix")); }
@Test @Category({ DevFabricTests.class, DevStoreTests.class }) public void testAddMessageToNonExistingQueue() throws StorageException, URISyntaxException { final CloudQueueClient qClient = TestHelper.createCloudQueueClient(); final CloudQueue queue = qClient.getQueueReference(QueueTestHelper.generateRandomQueueName()); String messageContent = "messagetest"; CloudQueueMessage message1 = new CloudQueueMessage(messageContent); try { queue.addMessage(message1); fail(); } catch (StorageException e) { assertTrue(e.getHttpStatusCode() == HttpURLConnection.HTTP_NOT_FOUND); } }
@Category({ CloudTests.class }) @Test public void testGetServiceStats() throws StorageException { CloudQueueClient qClient = QueueTestHelper.createCloudQueueClient(); qClient.getDefaultRequestOptions().setLocationMode(LocationMode.SECONDARY_ONLY); TestHelper.verifyServiceStats(qClient.getServiceStats()); } }
@Before public void queueTestMethodSetUp() throws URISyntaxException, StorageException { this.queue = QueueTestHelper.getRandomQueueReference(); this.queue.createIfNotExists(); }
@Test @Category({ DevFabricTests.class, DevStoreTests.class }) public void testQueueCreateIfNotExistsAfterCreate() 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)); OperationContext createQueueContext2 = new OperationContext(); assertFalse(queue.createIfNotExists(null, createQueueContext2)); } finally { queue.deleteIfExists(); } }
@Category({ DevFabricTests.class, DevStoreTests.class, CloudTests.class }) @Test public void testListQueuesAndListQueuesSegmentedLargeNumber() throws URISyntaxException, StorageException { CloudQueueClient qClient = QueueTestHelper.createCloudQueueClient(); int count = 0; String prefix = UUID.randomUUID().toString(); for (CloudQueue queue : qClient.listQueues(prefix)) { assertNotNull(queue); count++; } int totalLimit = 505; if (count < totalLimit) { NumberFormat myFormat = NumberFormat.getInstance(); myFormat.setMinimumIntegerDigits(4); for (int i = 0; i < totalLimit - count; i++) { CloudQueue q = qClient.getQueueReference(prefix + i); q.createIfNotExists(); } } ResultSegment<CloudQueue> segment = qClient.listQueuesSegmented(prefix, QueueListingDetails.NONE, 500, null, null, null); assertTrue(segment.getLength() == 500); assertTrue(segment.getContinuationToken() != null); }
public void testClearMessagesNotFound() throws StorageException, URISyntaxException { final CloudQueue queue = QueueTestHelper.getRandomQueueReference(); try { queue.clear(); fail(); } catch (StorageException ex) { assertEquals("Expected 404 Exception", ex.getHttpStatusCode(), HttpURLConnection.HTTP_NOT_FOUND); } }
@Test @Category({ DevFabricTests.class, DevStoreTests.class }) public void testQueueCreateIfNotExists() 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(); assertTrue(queue.createIfNotExists(null, createQueueContext)); assertEquals(createQueueContext.getLastResult().getStatusCode(), HttpURLConnection.HTTP_CREATED); assertFalse(queue.createIfNotExists()); } finally { queue.deleteIfExists(); } }
@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, CloudTests.class }) public void testQueueProtocolAccountSas() throws InvalidKeyException, StorageException, URISyntaxException, IOException, InterruptedException { // Ensure attempt from http fails against HTTPS_ONLY try { testQueueAccountSas(this.queueQueue, false, generatePolicy( AccountSasTests.FULL_PERMS_CODE, SharedAccessAccountService.QUEUE, null, SharedAccessProtocols.HTTPS_ONLY)); fail(); } catch (IllegalArgumentException ex) { assertEquals(SR.CANNOT_TRANSFORM_NON_HTTPS_URI_WITH_HTTPS_ONLY_CREDENTIALS, ex.getMessage()); } finally { this.queueQueue.deleteIfExists(); } // Ensure attempt from https succeeds against HTTPS_ONLY this.queueQueue = QueueTestHelper.getRandomQueueReference(); testQueueAccountSas(this.queueQueue, true, generatePolicy( AccountSasTests.FULL_PERMS_CODE, SharedAccessAccountService.QUEUE, null, SharedAccessProtocols.HTTPS_ONLY)); // Ensure attempts from both https and http succeed against HTTPS_HTTP this.queueQueue = QueueTestHelper.getRandomQueueReference(); testQueueAccountSas(this.queueQueue, true, generatePolicy( AccountSasTests.FULL_PERMS_CODE, SharedAccessAccountService.QUEUE, null, SharedAccessProtocols.HTTPS_HTTP)); this.queueQueue = QueueTestHelper.getRandomQueueReference(); testQueueAccountSas(this.queueQueue, false, generatePolicy( AccountSasTests.FULL_PERMS_CODE, SharedAccessAccountService.QUEUE, null, SharedAccessProtocols.HTTPS_HTTP)); }
private static void testQueueDownloadAttributes(LocationMode optionsLocationMode, LocationMode clientLocationMode, StorageLocation initialLocation, List<RetryContext> retryContextList, List<RetryInfo> retryInfoList) throws URISyntaxException, StorageException { CloudQueueClient client = TestHelper.createCloudQueueClient(); CloudQueue queue = client.getQueueReference(QueueTestHelper.generateRandomQueueName()); MultiLocationTestHelper helper = new MultiLocationTestHelper(queue.getServiceClient().getStorageUri(), initialLocation, retryContextList, retryInfoList); queue.getServiceClient().getDefaultRequestOptions().setLocationMode(clientLocationMode); QueueRequestOptions options = new QueueRequestOptions(); options.setLocationMode(optionsLocationMode); options.setRetryPolicyFactory(helper.retryPolicy); try { queue.downloadAttributes(options, helper.operationContext); } catch (StorageException ex) { assertEquals(HttpURLConnection.HTTP_NOT_FOUND, ex.getHttpStatusCode()); } finally { helper.close(); } }
@Category({ DevFabricTests.class, DevStoreTests.class, CloudTests.class }) @Test public void testListQueuesSmallNumber() throws URISyntaxException, StorageException { CloudQueueClient qClient = QueueTestHelper.createCloudQueueClient(); int initialCount = 0; String prefix = UUID.randomUUID().toString().toLowerCase();
@Test @Category({ DevFabricTests.class, DevStoreTests.class }) public void testQueueDownloadAttributesNotFound() throws StorageException, URISyntaxException { final CloudQueue queue = QueueTestHelper.getRandomQueueReference(); try { queue.downloadAttributes(); fail(); } catch (StorageException e) { assertTrue(e.getHttpStatusCode() == HttpURLConnection.HTTP_NOT_FOUND); } }
@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(); } }
@Category({ DevFabricTests.class, DevStoreTests.class, CloudTests.class }) @Test public void testListQueuesEqual() throws StorageException { CloudQueueClient qClient = QueueTestHelper.createCloudQueueClient(); int count1 = 0; for (CloudQueue queue : qClient.listQueues()) { assertNotNull(queue); count1++; } int count2 = 0; for (CloudQueue queue : qClient.listQueues("")) { assertNotNull(queue); count2++; } int count3 = 0; for (CloudQueue queue : qClient.listQueues(null)) { assertNotNull(queue); count3++; } assertEquals(count1, count2); assertEquals(count1, count3); }
@Test @Category({ DevFabricTests.class, DevStoreTests.class }) public void testUploadMetadataNotFound() throws URISyntaxException, StorageException { final CloudQueue queue = QueueTestHelper.getRandomQueueReference(); try { queue.uploadMetadata(); fail(); } catch (StorageException e) { assertTrue(e.getHttpStatusCode() == HttpURLConnection.HTTP_NOT_FOUND); } }