@Override public QueuePermissions preProcessResponse(CloudQueue parentObject, CloudQueueClient client, OperationContext context) throws Exception { if (this.getResult().getStatusCode() != HttpURLConnection.HTTP_OK) { this.setNonExceptionedRetryableFailure(true); return null; } return new QueuePermissions(); }
@Override public QueuePermissions postProcessResponse(HttpURLConnection connection, CloudQueue queue, CloudQueueClient client, OperationContext context, QueuePermissions queuePermissions) throws Exception { HashMap<String, SharedAccessQueuePolicy> accessIds = SharedAccessPolicyHandler.getAccessIdentifiers( this.getConnection().getInputStream(), SharedAccessQueuePolicy.class); for (final String key : accessIds.keySet()) { queuePermissions.getSharedAccessPolicies().put(key, accessIds.get(key)); } return queuePermissions; } };
@Test @Category({ DevFabricTests.class, DevStoreTests.class, SlowTests.class }) public void testQueueGetSetPermissionTest() throws StorageException, InterruptedException { QueuePermissions expectedPermissions; QueuePermissions testPermissions; // Test new permissions. expectedPermissions = new QueuePermissions(); testPermissions = this.queue.downloadPermissions(); assertQueuePermissionsEqual(expectedPermissions, testPermissions); // Test setting empty permissions. this.queue.uploadPermissions(expectedPermissions); Thread.sleep(30000); testPermissions = this.queue.downloadPermissions(); assertQueuePermissionsEqual(expectedPermissions, testPermissions); // Add a policy, check setting and getting. SharedAccessQueuePolicy policy1 = new SharedAccessQueuePolicy(); Calendar now = GregorianCalendar.getInstance(); policy1.setSharedAccessStartTime(now.getTime()); now.add(Calendar.MINUTE, 10); policy1.setSharedAccessExpiryTime(now.getTime()); policy1.setPermissions(EnumSet.of(SharedAccessQueuePermissions.READ, SharedAccessQueuePermissions.PROCESSMESSAGES, SharedAccessQueuePermissions.ADD, SharedAccessQueuePermissions.UPDATE)); expectedPermissions.getSharedAccessPolicies().put(UUID.randomUUID().toString(), policy1); this.queue.uploadPermissions(expectedPermissions); Thread.sleep(30000); testPermissions = this.queue.downloadPermissions(); assertQueuePermissionsEqual(expectedPermissions, testPermissions); }
QueuePermissions expectedPermissions; expectedPermissions = new QueuePermissions(); SharedAccessQueuePermissions.PROCESSMESSAGES, SharedAccessQueuePermissions.ADD, SharedAccessQueuePermissions.UPDATE)); expectedPermissions.getSharedAccessPolicies().put(identifier, policy1);
@Override public QueuePermissions postProcessResponse(HttpURLConnection connection, CloudQueue queue, CloudQueueClient client, OperationContext context, QueuePermissions queuePermissions) throws Exception { HashMap<String, SharedAccessQueuePolicy> accessIds = SharedAccessPolicyHandler.getAccessIdentifiers( this.getConnection().getInputStream(), SharedAccessQueuePolicy.class); for (final String key : accessIds.keySet()) { queuePermissions.getSharedAccessPolicies().put(key, accessIds.get(key)); } return queuePermissions; } };
@Override public QueuePermissions preProcessResponse(CloudQueue parentObject, CloudQueueClient client, OperationContext context) throws Exception { if (this.getResult().getStatusCode() != HttpURLConnection.HTTP_OK) { this.setNonExceptionedRetryableFailure(true); return null; } return new QueuePermissions(); }
SharedAccessPolicySerializer.writeSharedAccessIdentifiersToStream(permissions.getSharedAccessPolicies(), outBuffer);
SharedAccessPolicySerializer.writeSharedAccessIdentifiersToStream(permissions.getSharedAccessPolicies(), outBuffer);
static void assertQueuePermissionsEqual(QueuePermissions expected, QueuePermissions actual) { HashMap<String, SharedAccessQueuePolicy> expectedPolicies = expected.getSharedAccessPolicies(); HashMap<String, SharedAccessQueuePolicy> actualPolicies = actual.getSharedAccessPolicies(); assertEquals("SharedAccessPolicies.Count", expectedPolicies.size(), actualPolicies.size()); for (String name : expectedPolicies.keySet()) { assertTrue("Key" + name + " doesn't exist", actualPolicies.containsKey(name)); SharedAccessQueuePolicy expectedPolicy = expectedPolicies.get(name); SharedAccessQueuePolicy actualPolicy = actualPolicies.get(name); assertEquals("Policy: " + name + "\tPermissions\n", expectedPolicy.getPermissions().toString(), actualPolicy.getPermissions().toString()); assertEquals("Policy: " + name + "\tStartDate\n", expectedPolicy.getSharedAccessStartTime().toString(), actualPolicy.getSharedAccessStartTime().toString()); assertEquals("Policy: " + name + "\tExpireDate\n", expectedPolicy.getSharedAccessExpiryTime().toString(), actualPolicy.getSharedAccessExpiryTime().toString()); } }