/** * Helper method to generate Access Policy for the Storage Account SAS Key * @return SharedAccessAccountPolicy */ private SharedAccessAccountPolicy getDefaultAccountAccessPolicy() { SharedAccessAccountPolicy ap = new SharedAccessAccountPolicy(); Calendar cal = new GregorianCalendar(TimeZone.getTimeZone("UTC")); cal.setTime(new Date()); cal.add(Calendar.HOUR, (int) getSasKeyExpiryPeriod() * HOURS_IN_DAY); ap.setSharedAccessExpiryTime(cal.getTime()); ap.setPermissions(getDefaultAccoutSASKeyPermissions()); ap.setResourceTypes(EnumSet.of(SharedAccessAccountResourceType.CONTAINER, SharedAccessAccountResourceType.OBJECT)); ap.setServices(EnumSet.of(SharedAccessAccountService.BLOB)); return ap; }
/** * Converts this shared access policy's permissions to a <code>String</code>. * * @return A <code>String</code> which represents the shared access permissions. */ public String permissionsToString() { return SharedAccessAccountPermissions.permissionsToString(this.getPermissions()); }
/** * Converts this shared access policy's resource types to a <code>String</code>. * * @return A <code>String</code> which represents the shared access permissions. */ public String resourceTypesToString() { return SharedAccessAccountResourceType.resourceTypesToString(this.getResourceTypes()); }
permissions = policy.permissionsToString(); startTime = policy.getSharedAccessStartTime(); expiryTime = policy.getSharedAccessExpiryTime(); ipRange = policy.getRange(); protocols = policy.getProtocols(); services = policy.servicesToString(); resourceTypes = policy.resourceTypesToString();
cal.add(Calendar.SECOND, 300); SharedAccessAccountPolicy policy = new SharedAccessAccountPolicy(); policy.setServices(services); policy.setPermissions(permissions); policy.setResourceTypes(resourceTypes); policy.setRange(ipRange); policy.setProtocols(protocols); policy.setSharedAccessExpiryTime(cal.getTime());
if (policy.getResourceTypes().contains(SharedAccessAccountResourceType.CONTAINER) && (policy.getPermissions().contains(SharedAccessAccountPermissions.CREATE) || policy.getPermissions().contains(SharedAccessAccountPermissions.WRITE))) { if (policy.getResourceTypes().contains(SharedAccessAccountResourceType.CONTAINER)) { assertMessagesMatch(AccountSasTests.INVALID_PERMISSION_MESSAGE, ex); if (policy.getResourceTypes().contains(SharedAccessAccountResourceType.SERVICE) && (policy.getPermissions().contains(SharedAccessAccountPermissions.LIST))) { if (policy.getResourceTypes().contains(SharedAccessAccountResourceType.OBJECT)) { if (policy.getPermissions().contains(SharedAccessAccountPermissions.CREATE) || policy.getPermissions().contains(SharedAccessAccountPermissions.WRITE)) { if (policy.getPermissions().contains(SharedAccessAccountPermissions.ADD) || policy.getPermissions().contains(SharedAccessAccountPermissions.WRITE)) { if (policy.getPermissions().contains(SharedAccessAccountPermissions.READ)) { sasBlob.download(outStream); if (policy.getPermissions().contains(SharedAccessAccountPermissions.DELETE)) { sasBlob.delete(); if (policy.getResourceTypes().contains(SharedAccessAccountResourceType.CONTAINER) && policy.getPermissions().contains(SharedAccessAccountPermissions.DELETE)) { if (policy.getResourceTypes().contains(SharedAccessAccountResourceType.CONTAINER)) { assertMessagesMatch(AccountSasTests.INVALID_PERMISSION_MESSAGE, ex);
/** * Sets shared access permissions using the specified permissions <code>String</code>. * * @param value * A <code>String</code> which represents the shared access permissions. **/ public void setPermissionsFromString(final String value) { this.setPermissions(SharedAccessAccountPermissions.permissionsFromString(value)); }
/** * Sets shared access services using the specified services <code>String</code>. * * @param value * A <code>String</code> which represents the shared access services. **/ public void setServiceFromString(final String value) { this.setServices(SharedAccessAccountService.servicesFromString(value)); } }
/** * Sets shared access resource types using the specified resource types <code>String</code>. * * @param value * A <code>String</code> which represents the shared access resource types. **/ public void setResourceTypeFromString(final String value) { this.setResourceTypes(SharedAccessAccountResourceType.resourceTypesFromString(value)); }
/** * Converts this shared access policy's services to a <code>String</code>. * * @return A <code>String</code> which represents the shared access permissions. */ public String servicesToString() { return SharedAccessAccountService.servicesToString(this.getServices()); }
permissions = policy.permissionsToString(); startTime = policy.getSharedAccessStartTime(); expiryTime = policy.getSharedAccessExpiryTime(); ipRange = policy.getRange(); protocols = policy.getProtocols(); services = policy.servicesToString(); resourceTypes = policy.resourceTypesToString();
if (policy.getResourceTypes().contains(SharedAccessAccountResourceType.CONTAINER) && (policy.getPermissions().contains(SharedAccessAccountPermissions.CREATE) || policy.getPermissions().contains(SharedAccessAccountPermissions.WRITE))) { if (policy.getResourceTypes().contains(SharedAccessAccountResourceType.CONTAINER)) { assertMessagesMatch(AccountSasTests.INVALID_PERMISSION_MESSAGE, ex); if (policy.getResourceTypes().contains(SharedAccessAccountResourceType.SERVICE) && (policy.getPermissions().contains(SharedAccessAccountPermissions.LIST))) { if (policy.getResourceTypes().contains(SharedAccessAccountResourceType.OBJECT)) { if (policy.getPermissions().contains(SharedAccessAccountPermissions.CREATE) || policy.getPermissions().contains(SharedAccessAccountPermissions.WRITE)) { if (policy.getPermissions().contains(SharedAccessAccountPermissions.WRITE)) { sasFile.upload(sourcestream, length); if (policy.getPermissions().contains(SharedAccessAccountPermissions.READ)) { sasFile.download(outStream); if (policy.getPermissions().contains(SharedAccessAccountPermissions.DELETE)) { sasFile.delete(); if (policy.getResourceTypes().contains(SharedAccessAccountResourceType.CONTAINER) && policy.getPermissions().contains(SharedAccessAccountPermissions.DELETE)) { if (policy.getResourceTypes().contains(SharedAccessAccountResourceType.CONTAINER)) { assertMessagesMatch(AccountSasTests.INVALID_PERMISSION_MESSAGE, ex);
/** * Sets shared access permissions using the specified permissions <code>String</code>. * * @param value * A <code>String</code> which represents the shared access permissions. **/ public void setPermissionsFromString(final String value) { this.setPermissions(SharedAccessAccountPermissions.permissionsFromString(value)); }
/** * Sets shared access services using the specified services <code>String</code>. * * @param value * A <code>String</code> which represents the shared access services. **/ public void setServiceFromString(final String value) { this.setServices(SharedAccessAccountService.servicesFromString(value)); } }
/** * Sets shared access resource types using the specified resource types <code>String</code>. * * @param value * A <code>String</code> which represents the shared access resource types. **/ public void setResourceTypeFromString(final String value) { this.setResourceTypes(SharedAccessAccountResourceType.resourceTypesFromString(value)); }
/** * Converts this shared access policy's services to a <code>String</code>. * * @return A <code>String</code> which represents the shared access permissions. */ public String servicesToString() { return SharedAccessAccountService.servicesToString(this.getServices()); }
policy.setSharedAccessExpiryTime(cal.getTime()); SharedAccessAccountPolicy accountPolicy = new SharedAccessAccountPolicy(); accountPolicy.setPermissions(EnumSet.of(SharedAccessAccountPermissions.READ, SharedAccessAccountPermissions.WRITE)); accountPolicy.setServices(EnumSet.of(SharedAccessAccountService.BLOB)); accountPolicy.setResourceTypes(EnumSet.of(SharedAccessAccountResourceType.OBJECT, SharedAccessAccountResourceType.CONTAINER)); accountPolicy.setSharedAccessExpiryTime(cal.getTime()); final CloudBlobClient sasClient = TestHelper.createCloudBlobClient(accountPolicy, false);
String resourceTypes = null; if (policy != null) { permissions = policy.permissionsToString(); startTime = policy.getSharedAccessStartTime(); expiryTime = policy.getSharedAccessExpiryTime(); ipRange = policy.getRange(); protocols = policy.getProtocols(); services = policy.servicesToString(); resourceTypes = policy.resourceTypesToString();
if (policy.getResourceTypes().contains(SharedAccessAccountResourceType.CONTAINER)) { if (policy.getPermissions().contains(SharedAccessAccountPermissions.CREATE) || policy.getPermissions().contains(SharedAccessAccountPermissions.WRITE)) { if (policy.getResourceTypes().contains(SharedAccessAccountResourceType.CONTAINER)) { assertMessagesMatch(AccountSasTests.INVALID_PERMISSION_MESSAGE, ex); if (policy.getPermissions().contains(SharedAccessAccountPermissions.WRITE)) { sasQueue.getMetadata().put(key, value); sasQueue.uploadMetadata(); if (policy.getResourceTypes().contains(SharedAccessAccountResourceType.CONTAINER)) { assertMessagesMatch(AccountSasTests.INVALID_PERMISSION_MESSAGE, ex); if (policy.getResourceTypes().contains(SharedAccessAccountResourceType.SERVICE) && (policy.getPermissions().contains(SharedAccessAccountPermissions.LIST))) { if (policy.getResourceTypes().contains(SharedAccessAccountResourceType.OBJECT)) { if (policy.getPermissions().contains(SharedAccessAccountPermissions.ADD)) { sasQueue.addMessage(new CloudQueueMessage(value)); if (policy.getPermissions().contains(SharedAccessAccountPermissions.READ)) { message = sasQueue.peekMessage(); if (policy.getPermissions().contains(SharedAccessAccountPermissions.PROCESS_MESSAGES)) { message = sasQueue.retrieveMessage();
/** * Converts this shared access policy's resource types to a <code>String</code>. * * @return A <code>String</code> which represents the shared access permissions. */ public String resourceTypesToString() { return SharedAccessAccountResourceType.resourceTypesToString(this.getResourceTypes()); }