diff --git a/sdk/cosmos/azure-cosmos/src/main/java/com/azure/cosmos/CosmosAsyncPermission.java b/sdk/cosmos/azure-cosmos/src/main/java/com/azure/cosmos/CosmosAsyncPermission.java index 59690436b29a..4b2369c19a43 100644 --- a/sdk/cosmos/azure-cosmos/src/main/java/com/azure/cosmos/CosmosAsyncPermission.java +++ b/sdk/cosmos/azure-cosmos/src/main/java/com/azure/cosmos/CosmosAsyncPermission.java @@ -3,14 +3,14 @@ package com.azure.cosmos; import com.azure.cosmos.implementation.Paths; -import com.azure.cosmos.models.CosmosAsyncPermissionResponse; +import com.azure.cosmos.models.CosmosPermissionResponse; import com.azure.cosmos.models.CosmosPermissionProperties; import com.azure.cosmos.models.CosmosPermissionRequestOptions; import com.azure.cosmos.models.ModelBridgeInternal; import reactor.core.publisher.Mono; /** - * Has methods to operate on a per-User Permission to access a specific resource + * Has methods to operate on a per-User Permission to access a specific resource */ public class CosmosAsyncPermission { @@ -52,14 +52,14 @@ CosmosAsyncPermission setId(String id) { * @param options the request options. * @return an {@link Mono} containing the single resource response with the read permission or an error. */ - public Mono read(CosmosPermissionRequestOptions options) { + public Mono read(CosmosPermissionRequestOptions options) { if (options == null) { options = new CosmosPermissionRequestOptions(); } return cosmosUser.getDatabase() .getDocClientWrapper() .readPermission(getLink(), ModelBridgeInternal.toRequestOptions(options)) - .map(response -> ModelBridgeInternal.createCosmosAsyncPermissionResponse(response, cosmosUser)) + .map(response -> ModelBridgeInternal.createCosmosPermissionResponse(response)) .single(); } @@ -74,8 +74,8 @@ public Mono read(CosmosPermissionRequestOptions o * @param options the request options. * @return an {@link Mono} containing the single resource response with the replaced permission or an error. */ - public Mono replace(CosmosPermissionProperties permissionProperties, - CosmosPermissionRequestOptions options) { + public Mono replace(CosmosPermissionProperties permissionProperties, + CosmosPermissionRequestOptions options) { if (options == null) { options = new CosmosPermissionRequestOptions(); } @@ -83,7 +83,7 @@ public Mono replace(CosmosPermissionProperties pe .getDocClientWrapper() .replacePermission(ModelBridgeInternal.getV2Permissions(permissionProperties), ModelBridgeInternal.toRequestOptions(options)) - .map(response -> ModelBridgeInternal.createCosmosAsyncPermissionResponse(response, cosmosUser)) + .map(response -> ModelBridgeInternal.createCosmosPermissionResponse(response)) .single(); } @@ -97,14 +97,14 @@ public Mono replace(CosmosPermissionProperties pe * @param options the request options. * @return an {@link Mono} containing the single resource response for the deleted permission or an error. */ - public Mono delete(CosmosPermissionRequestOptions options) { + public Mono delete(CosmosPermissionRequestOptions options) { if (options == null) { options = new CosmosPermissionRequestOptions(); } return cosmosUser.getDatabase() .getDocClientWrapper() .deletePermission(getLink(), ModelBridgeInternal.toRequestOptions(options)) - .map(response -> ModelBridgeInternal.createCosmosAsyncPermissionResponse(response, cosmosUser)) + .map(response -> ModelBridgeInternal.createCosmosPermissionResponse(response)) .single(); } diff --git a/sdk/cosmos/azure-cosmos/src/main/java/com/azure/cosmos/CosmosAsyncUser.java b/sdk/cosmos/azure-cosmos/src/main/java/com/azure/cosmos/CosmosAsyncUser.java index df91d69ae2b3..8bd7dd0738d0 100644 --- a/sdk/cosmos/azure-cosmos/src/main/java/com/azure/cosmos/CosmosAsyncUser.java +++ b/sdk/cosmos/azure-cosmos/src/main/java/com/azure/cosmos/CosmosAsyncUser.java @@ -4,7 +4,7 @@ package com.azure.cosmos; import com.azure.cosmos.implementation.Paths; -import com.azure.cosmos.models.CosmosAsyncPermissionResponse; +import com.azure.cosmos.models.CosmosPermissionResponse; import com.azure.cosmos.models.CosmosUserResponse; import com.azure.cosmos.models.CosmosPermissionProperties; import com.azure.cosmos.models.CosmosPermissionRequestOptions; @@ -95,7 +95,7 @@ public Mono delete() { * @param options the request options. * @return an {@link Mono} containing the single resource response with the created permission or an error. */ - public Mono createPermission( + public Mono createPermission( CosmosPermissionProperties permissionSettings, CosmosPermissionRequestOptions options) { if (options == null) { @@ -104,7 +104,7 @@ public Mono createPermission( Permission permission = ModelBridgeInternal.getV2Permissions(permissionSettings); return database.getDocClientWrapper() .createPermission(getLink(), permission, ModelBridgeInternal.toRequestOptions(options)) - .map(response -> ModelBridgeInternal.createCosmosAsyncPermissionResponse(response, this)) + .map(response -> ModelBridgeInternal.createCosmosPermissionResponse(response)) .single(); } @@ -119,7 +119,7 @@ public Mono createPermission( * @param options the request options. * @return an {@link Mono} containing the single resource response with the upserted permission or an error. */ - public Mono upsertPermission( + public Mono upsertPermission( CosmosPermissionProperties permissionSettings, CosmosPermissionRequestOptions options) { Permission permission = ModelBridgeInternal.getV2Permissions(permissionSettings); @@ -128,7 +128,7 @@ public Mono upsertPermission( } return database.getDocClientWrapper() .upsertPermission(getLink(), permission, ModelBridgeInternal.toRequestOptions(options)) - .map(response -> ModelBridgeInternal.createCosmosAsyncPermissionResponse(response, this)) + .map(response -> ModelBridgeInternal.createCosmosPermissionResponse(response)) .single(); } @@ -155,7 +155,7 @@ public CosmosPagedFlux readAllPermissions() { * In case of failure the {@link CosmosPagedFlux} will error. * * @param options the feed options. - * @return a {@link CosmosPagedFlux} containing one or several feed response pages of the read permissions or an + * @return a {@link CosmosPagedFlux} containing one or several feed response pages of the read permissions or an * error. */ CosmosPagedFlux readAllPermissions(FeedOptions options) { diff --git a/sdk/cosmos/azure-cosmos/src/main/java/com/azure/cosmos/models/CosmosAsyncPermissionResponse.java b/sdk/cosmos/azure-cosmos/src/main/java/com/azure/cosmos/models/CosmosPermissionResponse.java similarity index 53% rename from sdk/cosmos/azure-cosmos/src/main/java/com/azure/cosmos/models/CosmosAsyncPermissionResponse.java rename to sdk/cosmos/azure-cosmos/src/main/java/com/azure/cosmos/models/CosmosPermissionResponse.java index d6ee09b72896..7b6ea4ae86e4 100644 --- a/sdk/cosmos/azure-cosmos/src/main/java/com/azure/cosmos/models/CosmosAsyncPermissionResponse.java +++ b/sdk/cosmos/azure-cosmos/src/main/java/com/azure/cosmos/models/CosmosPermissionResponse.java @@ -2,29 +2,23 @@ // Licensed under the MIT License. package com.azure.cosmos.models; -import com.azure.cosmos.BridgeInternal; -import com.azure.cosmos.CosmosAsyncPermission; -import com.azure.cosmos.CosmosAsyncUser; import com.azure.cosmos.implementation.Permission; import com.azure.cosmos.implementation.ResourceResponse; import com.azure.cosmos.implementation.apachecommons.lang.StringUtils; /** - * The type Cosmos async permission response. + * The type Cosmos permission response. */ -public class CosmosAsyncPermissionResponse extends CosmosResponse { - private final CosmosAsyncPermission permissionClient; +public class CosmosPermissionResponse extends CosmosResponse { - CosmosAsyncPermissionResponse(ResourceResponse response, CosmosAsyncUser cosmosUser) { + CosmosPermissionResponse(ResourceResponse response) { super(response); String bodyAsString = response.getBodyAsString(); if (StringUtils.isEmpty(bodyAsString)) { super.setProperties(null); - permissionClient = null; } else { CosmosPermissionProperties props = new CosmosPermissionProperties(bodyAsString); super.setProperties(props); - permissionClient = BridgeInternal.createCosmosAsyncPermission(props.getId(), cosmosUser); } } @@ -36,13 +30,4 @@ public class CosmosAsyncPermissionResponse extends CosmosResponse createCosmosAsyncItemResponseWithO } @Warning(value = INTERNAL_USE_ONLY_WARNING) - public static CosmosAsyncPermissionResponse createCosmosAsyncPermissionResponse(ResourceResponse response, - CosmosAsyncUser cosmosUser) { - return new CosmosAsyncPermissionResponse(response, cosmosUser); + public static CosmosPermissionResponse createCosmosPermissionResponse(ResourceResponse response) { + return new CosmosPermissionResponse(response); } @Warning(value = INTERNAL_USE_ONLY_WARNING) diff --git a/sdk/cosmos/azure-cosmos/src/test/java/com/azure/cosmos/CosmosResponseValidator.java b/sdk/cosmos/azure-cosmos/src/test/java/com/azure/cosmos/CosmosResponseValidator.java index b4ad6b101d54..33be15dee6dd 100644 --- a/sdk/cosmos/azure-cosmos/src/test/java/com/azure/cosmos/CosmosResponseValidator.java +++ b/sdk/cosmos/azure-cosmos/src/test/java/com/azure/cosmos/CosmosResponseValidator.java @@ -6,7 +6,7 @@ import com.azure.cosmos.models.CompositePath; import com.azure.cosmos.models.CosmosContainerResponse; import com.azure.cosmos.models.CosmosDatabaseResponse; -import com.azure.cosmos.models.CosmosAsyncPermissionResponse; +import com.azure.cosmos.models.CosmosPermissionResponse; import com.azure.cosmos.models.CosmosStoredProcedureResponse; import com.azure.cosmos.models.CosmosAsyncTriggerResponse; import com.azure.cosmos.models.CosmosAsyncUserDefinedFunctionResponse; @@ -82,8 +82,8 @@ private Resource getResource(T resourceResponse) { return ModelBridgeInternal.getResource(((CosmosAsyncUserDefinedFunctionResponse)resourceResponse).getProperties()); } else if (resourceResponse instanceof CosmosUserResponse) { return ModelBridgeInternal.getResource(((CosmosUserResponse)resourceResponse).getProperties()); - } else if (resourceResponse instanceof CosmosAsyncPermissionResponse) { - return ModelBridgeInternal.getResource(((CosmosAsyncPermissionResponse) resourceResponse).getProperties()); + } else if (resourceResponse instanceof CosmosPermissionResponse) { + return ModelBridgeInternal.getResource(((CosmosPermissionResponse) resourceResponse).getProperties()); } return null; } @@ -290,10 +290,10 @@ public void validate(CosmosAsyncUserDefinedFunctionResponse resourceResponse) { } public Builder withPermissionMode(PermissionMode mode) { - validators.add(new CosmosResponseValidator() { + validators.add(new CosmosResponseValidator() { @Override - public void validate(CosmosAsyncPermissionResponse resourceResponse) { + public void validate(CosmosPermissionResponse resourceResponse) { assertThat(resourceResponse.getProperties().getPermissionMode()).isEqualTo(mode); } }); @@ -302,10 +302,10 @@ public void validate(CosmosAsyncPermissionResponse resourceResponse) { } public Builder withPermissionResourceLink(String resourceLink) { - validators.add(new CosmosResponseValidator() { + validators.add(new CosmosResponseValidator() { @Override - public void validate(CosmosAsyncPermissionResponse resourceResponse) { + public void validate(CosmosPermissionResponse resourceResponse) { assertThat(resourceResponse.getProperties().getResourceLink()).isEqualTo(resourceLink); } }); diff --git a/sdk/cosmos/azure-cosmos/src/test/java/com/azure/cosmos/rx/PermissionCrudTest.java b/sdk/cosmos/azure-cosmos/src/test/java/com/azure/cosmos/rx/PermissionCrudTest.java index 05144d5935bd..61f9dad4df61 100644 --- a/sdk/cosmos/azure-cosmos/src/test/java/com/azure/cosmos/rx/PermissionCrudTest.java +++ b/sdk/cosmos/azure-cosmos/src/test/java/com/azure/cosmos/rx/PermissionCrudTest.java @@ -5,12 +5,12 @@ import com.azure.cosmos.CosmosAsyncClient; import com.azure.cosmos.CosmosAsyncDatabase; import com.azure.cosmos.CosmosAsyncPermission; -import com.azure.cosmos.models.CosmosAsyncPermissionResponse; import com.azure.cosmos.CosmosAsyncUser; import com.azure.cosmos.CosmosClientBuilder; import com.azure.cosmos.CosmosDatabaseForTest; import com.azure.cosmos.models.CosmosPermissionProperties; import com.azure.cosmos.CosmosResponseValidator; +import com.azure.cosmos.models.CosmosPermissionResponse; import com.azure.cosmos.models.CosmosUserProperties; import com.azure.cosmos.models.PermissionMode; import com.azure.cosmos.implementation.FailureValidator; @@ -46,10 +46,10 @@ public void createPermission() throws Exception { .setPermissionMode(PermissionMode.READ) .setResourceLink("dbs/AQAAAA==/colls/AQAAAJ0fgTc="); - Mono createObservable = createdUser.createPermission(permissionSettings, null); + Mono createObservable = createdUser.createPermission(permissionSettings, null); // validate getPermission creation - CosmosResponseValidator validator = new CosmosResponseValidator.Builder() + CosmosResponseValidator validator = new CosmosResponseValidator.Builder() .withId(permissionSettings.getId()) .withPermissionMode(PermissionMode.READ) .withPermissionResourceLink("dbs/AQAAAA==/colls/AQAAAJ0fgTc=") @@ -67,14 +67,13 @@ public void readPermission() throws Exception { .setId(UUID.randomUUID().toString()) .setPermissionMode(PermissionMode.READ) .setResourceLink("dbs/AQAAAA==/colls/AQAAAJ0fgTc="); - CosmosAsyncPermissionResponse readBackPermission = createdUser.createPermission(permissionSettings, null) - .block(); + createdUser.createPermission(permissionSettings, null).block(); // read Permission - Mono readObservable = readBackPermission.getPermission().read(null); + Mono readObservable = createdUser.getPermission(permissionSettings.getId()).read(null); // validate permission read - CosmosResponseValidator validator = new CosmosResponseValidator.Builder() + CosmosResponseValidator validator = new CosmosResponseValidator.Builder() .withId(permissionSettings.getId()) .withPermissionMode(PermissionMode.READ) .withPermissionResourceLink("dbs/AQAAAA==/colls/AQAAAJ0fgTc=") @@ -93,14 +92,14 @@ public void deletePermission() throws Exception { .setId(UUID.randomUUID().toString()) .setPermissionMode(PermissionMode.READ) .setResourceLink("dbs/AQAAAA==/colls/AQAAAJ0fgTc="); - CosmosAsyncPermissionResponse readBackPermission = createdUser.createPermission(permissionSettings, null) - .block(); + createdUser.createPermission(permissionSettings, null).block(); + CosmosAsyncPermission readBackPermission = createdUser.getPermission(permissionSettings.getId()); + // delete - Mono deleteObservable = readBackPermission.getPermission() - .delete(null); + Mono deleteObservable = readBackPermission.delete(null); // validate delete permission - CosmosResponseValidator validator = new CosmosResponseValidator.Builder() + CosmosResponseValidator validator = new CosmosResponseValidator.Builder() .nullResource() .build(); validateSuccess(deleteObservable, validator); @@ -108,8 +107,7 @@ public void deletePermission() throws Exception { waitIfNeededForReplicasToCatchUp(getClientBuilder()); // attempt to read the getPermission which was deleted - Mono readObservable = readBackPermission.getPermission() - .read( null); + Mono readObservable = readBackPermission.read( null); FailureValidator notFoundValidator = new FailureValidator.Builder().resourceNotFound().build(); validateFailure(readObservable, notFoundValidator); } @@ -124,16 +122,16 @@ public void upsertPermission() throws Exception { .setId(UUID.randomUUID().toString()) .setPermissionMode(PermissionMode.READ) .setResourceLink("dbs/AQAAAA==/colls/AQAAAJ0fgTc="); - CosmosAsyncPermissionResponse readBackPermissionResponse = createdUser.createPermission(permissionSettings, null) + CosmosPermissionResponse readBackPermissionResponse = createdUser.createPermission(permissionSettings, null) .block(); - CosmosPermissionProperties readBackPermission = readBackPermissionResponse.getProperties(); + + CosmosPermissionProperties readBackPermissionProperties = readBackPermissionResponse.getProperties(); // read Permission - Mono readObservable = readBackPermissionResponse.getPermission() - .read( null); + Mono readObservable = createdUser.getPermission(permissionSettings.getId()).read( null); // validate getPermission creation - CosmosResponseValidator validator = new CosmosResponseValidator.Builder() - .withId(readBackPermission.getId()) + CosmosResponseValidator validator = new CosmosResponseValidator.Builder() + .withId(readBackPermissionProperties.getId()) .withPermissionMode(PermissionMode.READ) .withPermissionResourceLink("dbs/AQAAAA==/colls/AQAAAJ0fgTc=") .notNullEtag() @@ -141,13 +139,13 @@ public void upsertPermission() throws Exception { validateSuccess(readObservable, validator); //update getPermission - readBackPermission = readBackPermission.setPermissionMode(PermissionMode.ALL); + readBackPermissionProperties = readBackPermissionProperties.setPermissionMode(PermissionMode.ALL); - Mono updateObservable = createdUser.upsertPermission(readBackPermission, null); + Mono updateObservable = createdUser.upsertPermission(readBackPermissionProperties, null); // validate permission update - CosmosResponseValidator validatorForUpdate = new CosmosResponseValidator.Builder() - .withId(readBackPermission.getId()) + CosmosResponseValidator validatorForUpdate = new CosmosResponseValidator.Builder() + .withId(readBackPermissionProperties.getId()) .withPermissionMode(PermissionMode.ALL) .withPermissionResourceLink("dbs/AQAAAA==/colls/AQAAAJ0fgTc=") .notNullEtag() @@ -166,15 +164,14 @@ public void replacePermission() throws Exception { .setId(id) .setPermissionMode(PermissionMode.READ) .setResourceLink("dbs/AQAAAA==/colls/AQAAAJ0fgTc="); - CosmosAsyncPermissionResponse readBackPermissionResponse = createdUser.createPermission(permissionSettings, null) - .block(); + CosmosPermissionResponse readBackPermissionResponse = createdUser.createPermission(permissionSettings, null).block(); + CosmosAsyncPermission readBackPermission = createdUser.getPermission(permissionSettings.getId()); // read Permission - Mono readObservable = readBackPermissionResponse.getPermission() - .read(null); + Mono readObservable = readBackPermission.read(null); // validate getPermission creation - CosmosResponseValidator validator = new CosmosResponseValidator.Builder() - .withId(readBackPermissionResponse.getPermission().getId()) + CosmosResponseValidator validator = new CosmosResponseValidator.Builder() + .withId(readBackPermissionResponse.getProperties().getId()) .withPermissionMode(PermissionMode.READ) .withPermissionResourceLink("dbs/AQAAAA==/colls/AQAAAJ0fgTc=") .notNullEtag() @@ -182,16 +179,14 @@ public void replacePermission() throws Exception { validateSuccess(readObservable, validator); //update getPermission - CosmosPermissionProperties readBackPermission = readBackPermissionResponse.getProperties(); - readBackPermission = readBackPermission.setPermissionMode(PermissionMode.ALL); + CosmosPermissionProperties readBackPermissionProperties = readBackPermissionResponse.getProperties(); + readBackPermissionProperties = readBackPermissionProperties.setPermissionMode(PermissionMode.ALL); - CosmosAsyncPermission cosmosPermission = createdUser.getPermission(id); - Mono updateObservable = readBackPermissionResponse.getPermission() - .replace(readBackPermission, null); + Mono updateObservable = readBackPermission.replace(readBackPermissionProperties, null); // validate permission replace - CosmosResponseValidator validatorForUpdate = new CosmosResponseValidator.Builder() - .withId(readBackPermission.getId()) + CosmosResponseValidator validatorForUpdate = new CosmosResponseValidator.Builder() + .withId(readBackPermissionProperties.getId()) .withPermissionMode(PermissionMode.ALL) .withPermissionResourceLink("dbs/AQAAAA==/colls/AQAAAJ0fgTc=") .notNullEtag()