From 8113c9c6a7bba19c8e088be1e6cda786f7ffb76c Mon Sep 17 00:00:00 2001 From: Isabelle Date: Mon, 8 Apr 2024 11:28:07 -0700 Subject: [PATCH 1/2] feature and tests --- sdk/storage/azure-storage-blob/assets.json | 2 +- .../blob/BlobContainerAsyncClient.java | 3 +- .../storage/blob/BlobServiceAsyncClient.java | 2 +- .../AzureBlobStorageImplBuilder.java | 2 +- .../blob/implementation/BlobsImpl.java | 80 ++++++++++++++++--- .../blob/implementation/ContainersImpl.java | 77 +++++++++++++++--- .../blob/implementation/ServicesImpl.java | 79 +++++++++++++++--- .../models/BlobsGetAccountInfoHeaders.java | 32 ++++++++ .../ContainersGetAccountInfoHeaders.java | 32 ++++++++ .../blob/specialized/BlobAsyncClientBase.java | 3 +- .../com/azure/storage/blob/BlobApiTests.java | 24 ++++++ .../azure/storage/blob/BlobAsyncApiTests.java | 28 +++++++ .../azure/storage/blob/ContainerApiTests.java | 24 ++++++ .../storage/blob/ContainerAsyncApiTests.java | 30 +++++++ .../azure-storage-blob/swagger/README.md | 2 +- 15 files changed, 382 insertions(+), 38 deletions(-) diff --git a/sdk/storage/azure-storage-blob/assets.json b/sdk/storage/azure-storage-blob/assets.json index 0e07aa251c6cb..ad215e3902182 100644 --- a/sdk/storage/azure-storage-blob/assets.json +++ b/sdk/storage/azure-storage-blob/assets.json @@ -2,5 +2,5 @@ "AssetsRepo": "Azure/azure-sdk-assets", "AssetsRepoPrefixPath": "java", "TagPrefix": "java/storage/azure-storage-blob", - "Tag": "java/storage/azure-storage-blob_38ff3444aa" + "Tag": "java/storage/azure-storage-blob_adf9415a55" } diff --git a/sdk/storage/azure-storage-blob/src/main/java/com/azure/storage/blob/BlobContainerAsyncClient.java b/sdk/storage/azure-storage-blob/src/main/java/com/azure/storage/blob/BlobContainerAsyncClient.java index 80f428c276f56..5543c3ed1147e 100644 --- a/sdk/storage/azure-storage-blob/src/main/java/com/azure/storage/blob/BlobContainerAsyncClient.java +++ b/sdk/storage/azure-storage-blob/src/main/java/com/azure/storage/blob/BlobContainerAsyncClient.java @@ -1524,7 +1524,8 @@ public Mono> getAccountInfoWithResponse() { Mono> getAccountInfoWithResponse(Context context) { context = context == null ? Context.NONE : context; - return this.azureBlobStorage.getContainers().getAccountInfoWithResponseAsync(containerName, context) + return this.azureBlobStorage.getContainers().getAccountInfoWithResponseAsync(containerName, null, + null, context) .map(rb -> { ContainersGetAccountInfoHeaders hd = rb.getDeserializedHeaders(); return new SimpleResponse<>(rb, new StorageAccountInfo(hd.getXMsSkuName(), hd.getXMsAccountKind())); diff --git a/sdk/storage/azure-storage-blob/src/main/java/com/azure/storage/blob/BlobServiceAsyncClient.java b/sdk/storage/azure-storage-blob/src/main/java/com/azure/storage/blob/BlobServiceAsyncClient.java index 3196b27e72f0a..afb0d666431ba 100644 --- a/sdk/storage/azure-storage-blob/src/main/java/com/azure/storage/blob/BlobServiceAsyncClient.java +++ b/sdk/storage/azure-storage-blob/src/main/java/com/azure/storage/blob/BlobServiceAsyncClient.java @@ -1071,7 +1071,7 @@ public Mono> getAccountInfoWithResponse() { Mono> getAccountInfoWithResponse(Context context) { throwOnAnonymousAccess(); - return this.azureBlobStorage.getServices().getAccountInfoWithResponseAsync(context) + return this.azureBlobStorage.getServices().getAccountInfoWithResponseAsync(null, null, context) .map(rb -> { ServicesGetAccountInfoHeaders hd = rb.getDeserializedHeaders(); return new SimpleResponse<>(rb, new StorageAccountInfo(hd.getXMsSkuName(), hd.getXMsAccountKind(), diff --git a/sdk/storage/azure-storage-blob/src/main/java/com/azure/storage/blob/implementation/AzureBlobStorageImplBuilder.java b/sdk/storage/azure-storage-blob/src/main/java/com/azure/storage/blob/implementation/AzureBlobStorageImplBuilder.java index a3f4c68ffd24f..e1c3405feae06 100644 --- a/sdk/storage/azure-storage-blob/src/main/java/com/azure/storage/blob/implementation/AzureBlobStorageImplBuilder.java +++ b/sdk/storage/azure-storage-blob/src/main/java/com/azure/storage/blob/implementation/AzureBlobStorageImplBuilder.java @@ -218,7 +218,7 @@ public AzureBlobStorageImplBuilder retryPolicy(RetryPolicy retryPolicy) { @Generated public AzureBlobStorageImpl buildClient() { HttpPipeline localPipeline = (pipeline != null) ? pipeline : createHttpPipeline(); - String localVersion = (version != null) ? version : "2021-12-02"; + String localVersion = (version != null) ? version : "2024-08-04"; SerializerAdapter localSerializerAdapter = (serializerAdapter != null) ? serializerAdapter : JacksonAdapter.createDefaultSerializerAdapter(); AzureBlobStorageImpl client = diff --git a/sdk/storage/azure-storage-blob/src/main/java/com/azure/storage/blob/implementation/BlobsImpl.java b/sdk/storage/azure-storage-blob/src/main/java/com/azure/storage/blob/implementation/BlobsImpl.java index e712601c59894..f89befa5c39f2 100644 --- a/sdk/storage/azure-storage-blob/src/main/java/com/azure/storage/blob/implementation/BlobsImpl.java +++ b/sdk/storage/azure-storage-blob/src/main/java/com/azure/storage/blob/implementation/BlobsImpl.java @@ -982,7 +982,9 @@ Mono> getAccountInfo( @PathParam("blob") String blob, @QueryParam("restype") String restype, @QueryParam("comp") String comp, + @QueryParam("timeout") Integer timeout, @HeaderParam("x-ms-version") String version, + @HeaderParam("x-ms-client-request-id") String requestId, @HeaderParam("Accept") String accept, Context context); @@ -995,7 +997,9 @@ Mono> getAccountInfoNoCustomHeaders( @PathParam("blob") String blob, @QueryParam("restype") String restype, @QueryParam("comp") String comp, + @QueryParam("timeout") Integer timeout, @HeaderParam("x-ms-version") String version, + @HeaderParam("x-ms-client-request-id") String requestId, @HeaderParam("Accept") String accept, Context context); @@ -9178,6 +9182,11 @@ public Mono> setTierNoCustomHeadersWithResponseAsync( * * @param containerName The container name. * @param blob The blob name. + * @param timeout The timeout parameter is expressed in seconds. For more information, see <a + * href="https://docs.microsoft.com/en-us/rest/api/storageservices/fileservices/setting-timeouts-for-blob-service-operations">Setting + * Timeouts for Blob Service Operations.</a>. + * @param requestId Provides a client-generated, opaque value with a 1 KB character limit that is recorded in the + * analytics logs when storage analytics logging is enabled. * @throws IllegalArgumentException thrown if parameters fail the validation. * @throws BlobStorageException thrown if the request is rejected by server. * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. @@ -9185,7 +9194,7 @@ public Mono> setTierNoCustomHeadersWithResponseAsync( */ @ServiceMethod(returns = ReturnType.SINGLE) public Mono> getAccountInfoWithResponseAsync( - String containerName, String blob) { + String containerName, String blob, Integer timeout, String requestId) { final String restype = "account"; final String comp = "properties"; final String accept = "application/xml"; @@ -9197,7 +9206,9 @@ public Mono> getAccountInfoWithRe blob, restype, comp, + timeout, this.client.getVersion(), + requestId, accept, context)); } @@ -9207,6 +9218,11 @@ public Mono> getAccountInfoWithRe * * @param containerName The container name. * @param blob The blob name. + * @param timeout The timeout parameter is expressed in seconds. For more information, see <a + * href="https://docs.microsoft.com/en-us/rest/api/storageservices/fileservices/setting-timeouts-for-blob-service-operations">Setting + * Timeouts for Blob Service Operations.</a>. + * @param requestId Provides a client-generated, opaque value with a 1 KB character limit that is recorded in the + * analytics logs when storage analytics logging is enabled. * @param context The context to associate with this operation. * @throws IllegalArgumentException thrown if parameters fail the validation. * @throws BlobStorageException thrown if the request is rejected by server. @@ -9215,12 +9231,21 @@ public Mono> getAccountInfoWithRe */ @ServiceMethod(returns = ReturnType.SINGLE) public Mono> getAccountInfoWithResponseAsync( - String containerName, String blob, Context context) { + String containerName, String blob, Integer timeout, String requestId, Context context) { final String restype = "account"; final String comp = "properties"; final String accept = "application/xml"; return service.getAccountInfo( - this.client.getUrl(), containerName, blob, restype, comp, this.client.getVersion(), accept, context); + this.client.getUrl(), + containerName, + blob, + restype, + comp, + timeout, + this.client.getVersion(), + requestId, + accept, + context); } /** @@ -9228,14 +9253,20 @@ public Mono> getAccountInfoWithRe * * @param containerName The container name. * @param blob The blob name. + * @param timeout The timeout parameter is expressed in seconds. For more information, see <a + * href="https://docs.microsoft.com/en-us/rest/api/storageservices/fileservices/setting-timeouts-for-blob-service-operations">Setting + * Timeouts for Blob Service Operations.</a>. + * @param requestId Provides a client-generated, opaque value with a 1 KB character limit that is recorded in the + * analytics logs when storage analytics logging is enabled. * @throws IllegalArgumentException thrown if parameters fail the validation. * @throws BlobStorageException thrown if the request is rejected by server. * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. * @return A {@link Mono} that completes when a successful response is received. */ @ServiceMethod(returns = ReturnType.SINGLE) - public Mono getAccountInfoAsync(String containerName, String blob) { - return getAccountInfoWithResponseAsync(containerName, blob).flatMap(ignored -> Mono.empty()); + public Mono getAccountInfoAsync(String containerName, String blob, Integer timeout, String requestId) { + return getAccountInfoWithResponseAsync(containerName, blob, timeout, requestId) + .flatMap(ignored -> Mono.empty()); } /** @@ -9243,6 +9274,11 @@ public Mono getAccountInfoAsync(String containerName, String blob) { * * @param containerName The container name. * @param blob The blob name. + * @param timeout The timeout parameter is expressed in seconds. For more information, see <a + * href="https://docs.microsoft.com/en-us/rest/api/storageservices/fileservices/setting-timeouts-for-blob-service-operations">Setting + * Timeouts for Blob Service Operations.</a>. + * @param requestId Provides a client-generated, opaque value with a 1 KB character limit that is recorded in the + * analytics logs when storage analytics logging is enabled. * @param context The context to associate with this operation. * @throws IllegalArgumentException thrown if parameters fail the validation. * @throws BlobStorageException thrown if the request is rejected by server. @@ -9250,8 +9286,10 @@ public Mono getAccountInfoAsync(String containerName, String blob) { * @return A {@link Mono} that completes when a successful response is received. */ @ServiceMethod(returns = ReturnType.SINGLE) - public Mono getAccountInfoAsync(String containerName, String blob, Context context) { - return getAccountInfoWithResponseAsync(containerName, blob, context).flatMap(ignored -> Mono.empty()); + public Mono getAccountInfoAsync( + String containerName, String blob, Integer timeout, String requestId, Context context) { + return getAccountInfoWithResponseAsync(containerName, blob, timeout, requestId, context) + .flatMap(ignored -> Mono.empty()); } /** @@ -9259,13 +9297,19 @@ public Mono getAccountInfoAsync(String containerName, String blob, Context * * @param containerName The container name. * @param blob The blob name. + * @param timeout The timeout parameter is expressed in seconds. For more information, see <a + * href="https://docs.microsoft.com/en-us/rest/api/storageservices/fileservices/setting-timeouts-for-blob-service-operations">Setting + * Timeouts for Blob Service Operations.</a>. + * @param requestId Provides a client-generated, opaque value with a 1 KB character limit that is recorded in the + * analytics logs when storage analytics logging is enabled. * @throws IllegalArgumentException thrown if parameters fail the validation. * @throws BlobStorageException thrown if the request is rejected by server. * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. * @return the {@link Response} on successful completion of {@link Mono}. */ @ServiceMethod(returns = ReturnType.SINGLE) - public Mono> getAccountInfoNoCustomHeadersWithResponseAsync(String containerName, String blob) { + public Mono> getAccountInfoNoCustomHeadersWithResponseAsync( + String containerName, String blob, Integer timeout, String requestId) { final String restype = "account"; final String comp = "properties"; final String accept = "application/xml"; @@ -9277,7 +9321,9 @@ public Mono> getAccountInfoNoCustomHeadersWithResponseAsync(Strin blob, restype, comp, + timeout, this.client.getVersion(), + requestId, accept, context)); } @@ -9287,6 +9333,11 @@ public Mono> getAccountInfoNoCustomHeadersWithResponseAsync(Strin * * @param containerName The container name. * @param blob The blob name. + * @param timeout The timeout parameter is expressed in seconds. For more information, see <a + * href="https://docs.microsoft.com/en-us/rest/api/storageservices/fileservices/setting-timeouts-for-blob-service-operations">Setting + * Timeouts for Blob Service Operations.</a>. + * @param requestId Provides a client-generated, opaque value with a 1 KB character limit that is recorded in the + * analytics logs when storage analytics logging is enabled. * @param context The context to associate with this operation. * @throws IllegalArgumentException thrown if parameters fail the validation. * @throws BlobStorageException thrown if the request is rejected by server. @@ -9295,12 +9346,21 @@ public Mono> getAccountInfoNoCustomHeadersWithResponseAsync(Strin */ @ServiceMethod(returns = ReturnType.SINGLE) public Mono> getAccountInfoNoCustomHeadersWithResponseAsync( - String containerName, String blob, Context context) { + String containerName, String blob, Integer timeout, String requestId, Context context) { final String restype = "account"; final String comp = "properties"; final String accept = "application/xml"; return service.getAccountInfoNoCustomHeaders( - this.client.getUrl(), containerName, blob, restype, comp, this.client.getVersion(), accept, context); + this.client.getUrl(), + containerName, + blob, + restype, + comp, + timeout, + this.client.getVersion(), + requestId, + accept, + context); } /** diff --git a/sdk/storage/azure-storage-blob/src/main/java/com/azure/storage/blob/implementation/ContainersImpl.java b/sdk/storage/azure-storage-blob/src/main/java/com/azure/storage/blob/implementation/ContainersImpl.java index ddf889773dc4c..ea2cf43655226 100644 --- a/sdk/storage/azure-storage-blob/src/main/java/com/azure/storage/blob/implementation/ContainersImpl.java +++ b/sdk/storage/azure-storage-blob/src/main/java/com/azure/storage/blob/implementation/ContainersImpl.java @@ -720,7 +720,9 @@ Mono> getAccountInfo( @PathParam("containerName") String containerName, @QueryParam("restype") String restype, @QueryParam("comp") String comp, + @QueryParam("timeout") Integer timeout, @HeaderParam("x-ms-version") String version, + @HeaderParam("x-ms-client-request-id") String requestId, @HeaderParam("Accept") String accept, Context context); @@ -732,7 +734,9 @@ Mono> getAccountInfoNoCustomHeaders( @PathParam("containerName") String containerName, @QueryParam("restype") String restype, @QueryParam("comp") String comp, + @QueryParam("timeout") Integer timeout, @HeaderParam("x-ms-version") String version, + @HeaderParam("x-ms-client-request-id") String requestId, @HeaderParam("Accept") String accept, Context context); } @@ -5817,6 +5821,11 @@ public Mono> listBlobHierarchySegmen * Returns the sku name and account kind. * * @param containerName The container name. + * @param timeout The timeout parameter is expressed in seconds. For more information, see <a + * href="https://docs.microsoft.com/en-us/rest/api/storageservices/fileservices/setting-timeouts-for-blob-service-operations">Setting + * Timeouts for Blob Service Operations.</a>. + * @param requestId Provides a client-generated, opaque value with a 1 KB character limit that is recorded in the + * analytics logs when storage analytics logging is enabled. * @throws IllegalArgumentException thrown if parameters fail the validation. * @throws BlobStorageException thrown if the request is rejected by server. * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. @@ -5824,7 +5833,7 @@ public Mono> listBlobHierarchySegmen */ @ServiceMethod(returns = ReturnType.SINGLE) public Mono> getAccountInfoWithResponseAsync( - String containerName) { + String containerName, Integer timeout, String requestId) { final String restype = "account"; final String comp = "properties"; final String accept = "application/xml"; @@ -5835,7 +5844,9 @@ public Mono> getAccountInfoW containerName, restype, comp, + timeout, this.client.getVersion(), + requestId, accept, context)); } @@ -5844,6 +5855,11 @@ public Mono> getAccountInfoW * Returns the sku name and account kind. * * @param containerName The container name. + * @param timeout The timeout parameter is expressed in seconds. For more information, see <a + * href="https://docs.microsoft.com/en-us/rest/api/storageservices/fileservices/setting-timeouts-for-blob-service-operations">Setting + * Timeouts for Blob Service Operations.</a>. + * @param requestId Provides a client-generated, opaque value with a 1 KB character limit that is recorded in the + * analytics logs when storage analytics logging is enabled. * @param context The context to associate with this operation. * @throws IllegalArgumentException thrown if parameters fail the validation. * @throws BlobStorageException thrown if the request is rejected by server. @@ -5852,32 +5868,50 @@ public Mono> getAccountInfoW */ @ServiceMethod(returns = ReturnType.SINGLE) public Mono> getAccountInfoWithResponseAsync( - String containerName, Context context) { + String containerName, Integer timeout, String requestId, Context context) { final String restype = "account"; final String comp = "properties"; final String accept = "application/xml"; return service.getAccountInfo( - this.client.getUrl(), containerName, restype, comp, this.client.getVersion(), accept, context); + this.client.getUrl(), + containerName, + restype, + comp, + timeout, + this.client.getVersion(), + requestId, + accept, + context); } /** * Returns the sku name and account kind. * * @param containerName The container name. + * @param timeout The timeout parameter is expressed in seconds. For more information, see <a + * href="https://docs.microsoft.com/en-us/rest/api/storageservices/fileservices/setting-timeouts-for-blob-service-operations">Setting + * Timeouts for Blob Service Operations.</a>. + * @param requestId Provides a client-generated, opaque value with a 1 KB character limit that is recorded in the + * analytics logs when storage analytics logging is enabled. * @throws IllegalArgumentException thrown if parameters fail the validation. * @throws BlobStorageException thrown if the request is rejected by server. * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. * @return A {@link Mono} that completes when a successful response is received. */ @ServiceMethod(returns = ReturnType.SINGLE) - public Mono getAccountInfoAsync(String containerName) { - return getAccountInfoWithResponseAsync(containerName).flatMap(ignored -> Mono.empty()); + public Mono getAccountInfoAsync(String containerName, Integer timeout, String requestId) { + return getAccountInfoWithResponseAsync(containerName, timeout, requestId).flatMap(ignored -> Mono.empty()); } /** * Returns the sku name and account kind. * * @param containerName The container name. + * @param timeout The timeout parameter is expressed in seconds. For more information, see <a + * href="https://docs.microsoft.com/en-us/rest/api/storageservices/fileservices/setting-timeouts-for-blob-service-operations">Setting + * Timeouts for Blob Service Operations.</a>. + * @param requestId Provides a client-generated, opaque value with a 1 KB character limit that is recorded in the + * analytics logs when storage analytics logging is enabled. * @param context The context to associate with this operation. * @throws IllegalArgumentException thrown if parameters fail the validation. * @throws BlobStorageException thrown if the request is rejected by server. @@ -5885,21 +5919,28 @@ public Mono getAccountInfoAsync(String containerName) { * @return A {@link Mono} that completes when a successful response is received. */ @ServiceMethod(returns = ReturnType.SINGLE) - public Mono getAccountInfoAsync(String containerName, Context context) { - return getAccountInfoWithResponseAsync(containerName, context).flatMap(ignored -> Mono.empty()); + public Mono getAccountInfoAsync(String containerName, Integer timeout, String requestId, Context context) { + return getAccountInfoWithResponseAsync(containerName, timeout, requestId, context) + .flatMap(ignored -> Mono.empty()); } /** * Returns the sku name and account kind. * * @param containerName The container name. + * @param timeout The timeout parameter is expressed in seconds. For more information, see <a + * href="https://docs.microsoft.com/en-us/rest/api/storageservices/fileservices/setting-timeouts-for-blob-service-operations">Setting + * Timeouts for Blob Service Operations.</a>. + * @param requestId Provides a client-generated, opaque value with a 1 KB character limit that is recorded in the + * analytics logs when storage analytics logging is enabled. * @throws IllegalArgumentException thrown if parameters fail the validation. * @throws BlobStorageException thrown if the request is rejected by server. * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. * @return the {@link Response} on successful completion of {@link Mono}. */ @ServiceMethod(returns = ReturnType.SINGLE) - public Mono> getAccountInfoNoCustomHeadersWithResponseAsync(String containerName) { + public Mono> getAccountInfoNoCustomHeadersWithResponseAsync( + String containerName, Integer timeout, String requestId) { final String restype = "account"; final String comp = "properties"; final String accept = "application/xml"; @@ -5910,7 +5951,9 @@ public Mono> getAccountInfoNoCustomHeadersWithResponseAsync(Strin containerName, restype, comp, + timeout, this.client.getVersion(), + requestId, accept, context)); } @@ -5919,6 +5962,11 @@ public Mono> getAccountInfoNoCustomHeadersWithResponseAsync(Strin * Returns the sku name and account kind. * * @param containerName The container name. + * @param timeout The timeout parameter is expressed in seconds. For more information, see <a + * href="https://docs.microsoft.com/en-us/rest/api/storageservices/fileservices/setting-timeouts-for-blob-service-operations">Setting + * Timeouts for Blob Service Operations.</a>. + * @param requestId Provides a client-generated, opaque value with a 1 KB character limit that is recorded in the + * analytics logs when storage analytics logging is enabled. * @param context The context to associate with this operation. * @throws IllegalArgumentException thrown if parameters fail the validation. * @throws BlobStorageException thrown if the request is rejected by server. @@ -5926,11 +5974,20 @@ public Mono> getAccountInfoNoCustomHeadersWithResponseAsync(Strin * @return the {@link Response} on successful completion of {@link Mono}. */ @ServiceMethod(returns = ReturnType.SINGLE) - public Mono> getAccountInfoNoCustomHeadersWithResponseAsync(String containerName, Context context) { + public Mono> getAccountInfoNoCustomHeadersWithResponseAsync( + String containerName, Integer timeout, String requestId, Context context) { final String restype = "account"; final String comp = "properties"; final String accept = "application/xml"; return service.getAccountInfoNoCustomHeaders( - this.client.getUrl(), containerName, restype, comp, this.client.getVersion(), accept, context); + this.client.getUrl(), + containerName, + restype, + comp, + timeout, + this.client.getVersion(), + requestId, + accept, + context); } } diff --git a/sdk/storage/azure-storage-blob/src/main/java/com/azure/storage/blob/implementation/ServicesImpl.java b/sdk/storage/azure-storage-blob/src/main/java/com/azure/storage/blob/implementation/ServicesImpl.java index b6012bc4f5a9c..ef8abf7b6c54b 100644 --- a/sdk/storage/azure-storage-blob/src/main/java/com/azure/storage/blob/implementation/ServicesImpl.java +++ b/sdk/storage/azure-storage-blob/src/main/java/com/azure/storage/blob/implementation/ServicesImpl.java @@ -226,7 +226,9 @@ Mono> getAccountInfo( @HostParam("url") String url, @QueryParam("restype") String restype, @QueryParam("comp") String comp, + @QueryParam("timeout") Integer timeout, @HeaderParam("x-ms-version") String version, + @HeaderParam("x-ms-client-request-id") String requestId, @HeaderParam("Accept") String accept, Context context); @@ -237,7 +239,9 @@ Mono> getAccountInfoNoCustomHeaders( @HostParam("url") String url, @QueryParam("restype") String restype, @QueryParam("comp") String comp, + @QueryParam("timeout") Integer timeout, @HeaderParam("x-ms-version") String version, + @HeaderParam("x-ms-client-request-id") String requestId, @HeaderParam("Accept") String accept, Context context); @@ -1481,24 +1485,43 @@ public Mono> getUserDelegationKeyNoCustomHeadersWith /** * Returns the sku name and account kind. * + * @param timeout The timeout parameter is expressed in seconds. For more information, see <a + * href="https://docs.microsoft.com/en-us/rest/api/storageservices/fileservices/setting-timeouts-for-blob-service-operations">Setting + * Timeouts for Blob Service Operations.</a>. + * @param requestId Provides a client-generated, opaque value with a 1 KB character limit that is recorded in the + * analytics logs when storage analytics logging is enabled. + * @throws IllegalArgumentException thrown if parameters fail the validation. * @throws BlobStorageException thrown if the request is rejected by server. * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. * @return the {@link ResponseBase} on successful completion of {@link Mono}. */ @ServiceMethod(returns = ReturnType.SINGLE) - public Mono> getAccountInfoWithResponseAsync() { + public Mono> getAccountInfoWithResponseAsync( + Integer timeout, String requestId) { final String restype = "account"; final String comp = "properties"; final String accept = "application/xml"; return FluxUtil.withContext( context -> service.getAccountInfo( - this.client.getUrl(), restype, comp, this.client.getVersion(), accept, context)); + this.client.getUrl(), + restype, + comp, + timeout, + this.client.getVersion(), + requestId, + accept, + context)); } /** * Returns the sku name and account kind. * + * @param timeout The timeout parameter is expressed in seconds. For more information, see <a + * href="https://docs.microsoft.com/en-us/rest/api/storageservices/fileservices/setting-timeouts-for-blob-service-operations">Setting + * Timeouts for Blob Service Operations.</a>. + * @param requestId Provides a client-generated, opaque value with a 1 KB character limit that is recorded in the + * analytics logs when storage analytics logging is enabled. * @param context The context to associate with this operation. * @throws IllegalArgumentException thrown if parameters fail the validation. * @throws BlobStorageException thrown if the request is rejected by server. @@ -1506,28 +1529,41 @@ public Mono> getAccountInfoWit * @return the {@link ResponseBase} on successful completion of {@link Mono}. */ @ServiceMethod(returns = ReturnType.SINGLE) - public Mono> getAccountInfoWithResponseAsync(Context context) { + public Mono> getAccountInfoWithResponseAsync( + Integer timeout, String requestId, Context context) { final String restype = "account"; final String comp = "properties"; final String accept = "application/xml"; - return service.getAccountInfo(this.client.getUrl(), restype, comp, this.client.getVersion(), accept, context); + return service.getAccountInfo( + this.client.getUrl(), restype, comp, timeout, this.client.getVersion(), requestId, accept, context); } /** * Returns the sku name and account kind. * + * @param timeout The timeout parameter is expressed in seconds. For more information, see <a + * href="https://docs.microsoft.com/en-us/rest/api/storageservices/fileservices/setting-timeouts-for-blob-service-operations">Setting + * Timeouts for Blob Service Operations.</a>. + * @param requestId Provides a client-generated, opaque value with a 1 KB character limit that is recorded in the + * analytics logs when storage analytics logging is enabled. + * @throws IllegalArgumentException thrown if parameters fail the validation. * @throws BlobStorageException thrown if the request is rejected by server. * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. * @return A {@link Mono} that completes when a successful response is received. */ @ServiceMethod(returns = ReturnType.SINGLE) - public Mono getAccountInfoAsync() { - return getAccountInfoWithResponseAsync().flatMap(ignored -> Mono.empty()); + public Mono getAccountInfoAsync(Integer timeout, String requestId) { + return getAccountInfoWithResponseAsync(timeout, requestId).flatMap(ignored -> Mono.empty()); } /** * Returns the sku name and account kind. * + * @param timeout The timeout parameter is expressed in seconds. For more information, see <a + * href="https://docs.microsoft.com/en-us/rest/api/storageservices/fileservices/setting-timeouts-for-blob-service-operations">Setting + * Timeouts for Blob Service Operations.</a>. + * @param requestId Provides a client-generated, opaque value with a 1 KB character limit that is recorded in the + * analytics logs when storage analytics logging is enabled. * @param context The context to associate with this operation. * @throws IllegalArgumentException thrown if parameters fail the validation. * @throws BlobStorageException thrown if the request is rejected by server. @@ -1535,31 +1571,49 @@ public Mono getAccountInfoAsync() { * @return A {@link Mono} that completes when a successful response is received. */ @ServiceMethod(returns = ReturnType.SINGLE) - public Mono getAccountInfoAsync(Context context) { - return getAccountInfoWithResponseAsync(context).flatMap(ignored -> Mono.empty()); + public Mono getAccountInfoAsync(Integer timeout, String requestId, Context context) { + return getAccountInfoWithResponseAsync(timeout, requestId, context).flatMap(ignored -> Mono.empty()); } /** * Returns the sku name and account kind. * + * @param timeout The timeout parameter is expressed in seconds. For more information, see <a + * href="https://docs.microsoft.com/en-us/rest/api/storageservices/fileservices/setting-timeouts-for-blob-service-operations">Setting + * Timeouts for Blob Service Operations.</a>. + * @param requestId Provides a client-generated, opaque value with a 1 KB character limit that is recorded in the + * analytics logs when storage analytics logging is enabled. + * @throws IllegalArgumentException thrown if parameters fail the validation. * @throws BlobStorageException thrown if the request is rejected by server. * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. * @return the {@link Response} on successful completion of {@link Mono}. */ @ServiceMethod(returns = ReturnType.SINGLE) - public Mono> getAccountInfoNoCustomHeadersWithResponseAsync() { + public Mono> getAccountInfoNoCustomHeadersWithResponseAsync(Integer timeout, String requestId) { final String restype = "account"; final String comp = "properties"; final String accept = "application/xml"; return FluxUtil.withContext( context -> service.getAccountInfoNoCustomHeaders( - this.client.getUrl(), restype, comp, this.client.getVersion(), accept, context)); + this.client.getUrl(), + restype, + comp, + timeout, + this.client.getVersion(), + requestId, + accept, + context)); } /** * Returns the sku name and account kind. * + * @param timeout The timeout parameter is expressed in seconds. For more information, see <a + * href="https://docs.microsoft.com/en-us/rest/api/storageservices/fileservices/setting-timeouts-for-blob-service-operations">Setting + * Timeouts for Blob Service Operations.</a>. + * @param requestId Provides a client-generated, opaque value with a 1 KB character limit that is recorded in the + * analytics logs when storage analytics logging is enabled. * @param context The context to associate with this operation. * @throws IllegalArgumentException thrown if parameters fail the validation. * @throws BlobStorageException thrown if the request is rejected by server. @@ -1567,12 +1621,13 @@ public Mono> getAccountInfoNoCustomHeadersWithResponseAsync() { * @return the {@link Response} on successful completion of {@link Mono}. */ @ServiceMethod(returns = ReturnType.SINGLE) - public Mono> getAccountInfoNoCustomHeadersWithResponseAsync(Context context) { + public Mono> getAccountInfoNoCustomHeadersWithResponseAsync( + Integer timeout, String requestId, Context context) { final String restype = "account"; final String comp = "properties"; final String accept = "application/xml"; return service.getAccountInfoNoCustomHeaders( - this.client.getUrl(), restype, comp, this.client.getVersion(), accept, context); + this.client.getUrl(), restype, comp, timeout, this.client.getVersion(), requestId, accept, context); } /** diff --git a/sdk/storage/azure-storage-blob/src/main/java/com/azure/storage/blob/implementation/models/BlobsGetAccountInfoHeaders.java b/sdk/storage/azure-storage-blob/src/main/java/com/azure/storage/blob/implementation/models/BlobsGetAccountInfoHeaders.java index 0ace883aa5b21..992e8d2cb9068 100644 --- a/sdk/storage/azure-storage-blob/src/main/java/com/azure/storage/blob/implementation/models/BlobsGetAccountInfoHeaders.java +++ b/sdk/storage/azure-storage-blob/src/main/java/com/azure/storage/blob/implementation/models/BlobsGetAccountInfoHeaders.java @@ -30,6 +30,12 @@ public final class BlobsGetAccountInfoHeaders { @JsonProperty(value = "x-ms-account-kind") private AccountKind xMsAccountKind; + /* + * The x-ms-is-hns-enabled property. + */ + @JsonProperty(value = "x-ms-is-hns-enabled") + private Boolean xMsIsHnsEnabled; + /* * The x-ms-sku-name property. */ @@ -58,6 +64,8 @@ public final class BlobsGetAccountInfoHeaders { private static final HttpHeaderName X_MS_ACCOUNT_KIND = HttpHeaderName.fromString("x-ms-account-kind"); + private static final HttpHeaderName X_MS_IS_HNS_ENABLED = HttpHeaderName.fromString("x-ms-is-hns-enabled"); + private static final HttpHeaderName X_MS_SKU_NAME = HttpHeaderName.fromString("x-ms-sku-name"); private static final HttpHeaderName X_MS_REQUEST_ID = HttpHeaderName.fromString("x-ms-request-id"); @@ -74,6 +82,10 @@ public BlobsGetAccountInfoHeaders(HttpHeaders rawHeaders) { if (xMsAccountKind != null) { this.xMsAccountKind = AccountKind.fromString(xMsAccountKind); } + String xMsIsHnsEnabled = rawHeaders.getValue(X_MS_IS_HNS_ENABLED); + if (xMsIsHnsEnabled != null) { + this.xMsIsHnsEnabled = Boolean.parseBoolean(xMsIsHnsEnabled); + } String xMsSkuName = rawHeaders.getValue(X_MS_SKU_NAME); if (xMsSkuName != null) { this.xMsSkuName = SkuName.fromString(xMsSkuName); @@ -126,6 +138,26 @@ public BlobsGetAccountInfoHeaders setXMsAccountKind(AccountKind xMsAccountKind) return this; } + /** + * Get the xMsIsHnsEnabled property: The x-ms-is-hns-enabled property. + * + * @return the xMsIsHnsEnabled value. + */ + public Boolean isXMsIsHnsEnabled() { + return this.xMsIsHnsEnabled; + } + + /** + * Set the xMsIsHnsEnabled property: The x-ms-is-hns-enabled property. + * + * @param xMsIsHnsEnabled the xMsIsHnsEnabled value to set. + * @return the BlobsGetAccountInfoHeaders object itself. + */ + public BlobsGetAccountInfoHeaders setXMsIsHnsEnabled(Boolean xMsIsHnsEnabled) { + this.xMsIsHnsEnabled = xMsIsHnsEnabled; + return this; + } + /** * Get the xMsSkuName property: The x-ms-sku-name property. * diff --git a/sdk/storage/azure-storage-blob/src/main/java/com/azure/storage/blob/implementation/models/ContainersGetAccountInfoHeaders.java b/sdk/storage/azure-storage-blob/src/main/java/com/azure/storage/blob/implementation/models/ContainersGetAccountInfoHeaders.java index c06145a7c9505..81e8f3c0cdbb0 100644 --- a/sdk/storage/azure-storage-blob/src/main/java/com/azure/storage/blob/implementation/models/ContainersGetAccountInfoHeaders.java +++ b/sdk/storage/azure-storage-blob/src/main/java/com/azure/storage/blob/implementation/models/ContainersGetAccountInfoHeaders.java @@ -30,6 +30,12 @@ public final class ContainersGetAccountInfoHeaders { @JsonProperty(value = "x-ms-account-kind") private AccountKind xMsAccountKind; + /* + * The x-ms-is-hns-enabled property. + */ + @JsonProperty(value = "x-ms-is-hns-enabled") + private Boolean xMsIsHnsEnabled; + /* * The x-ms-sku-name property. */ @@ -58,6 +64,8 @@ public final class ContainersGetAccountInfoHeaders { private static final HttpHeaderName X_MS_ACCOUNT_KIND = HttpHeaderName.fromString("x-ms-account-kind"); + private static final HttpHeaderName X_MS_IS_HNS_ENABLED = HttpHeaderName.fromString("x-ms-is-hns-enabled"); + private static final HttpHeaderName X_MS_SKU_NAME = HttpHeaderName.fromString("x-ms-sku-name"); private static final HttpHeaderName X_MS_REQUEST_ID = HttpHeaderName.fromString("x-ms-request-id"); @@ -74,6 +82,10 @@ public ContainersGetAccountInfoHeaders(HttpHeaders rawHeaders) { if (xMsAccountKind != null) { this.xMsAccountKind = AccountKind.fromString(xMsAccountKind); } + String xMsIsHnsEnabled = rawHeaders.getValue(X_MS_IS_HNS_ENABLED); + if (xMsIsHnsEnabled != null) { + this.xMsIsHnsEnabled = Boolean.parseBoolean(xMsIsHnsEnabled); + } String xMsSkuName = rawHeaders.getValue(X_MS_SKU_NAME); if (xMsSkuName != null) { this.xMsSkuName = SkuName.fromString(xMsSkuName); @@ -126,6 +138,26 @@ public ContainersGetAccountInfoHeaders setXMsAccountKind(AccountKind xMsAccountK return this; } + /** + * Get the xMsIsHnsEnabled property: The x-ms-is-hns-enabled property. + * + * @return the xMsIsHnsEnabled value. + */ + public Boolean isXMsIsHnsEnabled() { + return this.xMsIsHnsEnabled; + } + + /** + * Set the xMsIsHnsEnabled property: The x-ms-is-hns-enabled property. + * + * @param xMsIsHnsEnabled the xMsIsHnsEnabled value to set. + * @return the ContainersGetAccountInfoHeaders object itself. + */ + public ContainersGetAccountInfoHeaders setXMsIsHnsEnabled(Boolean xMsIsHnsEnabled) { + this.xMsIsHnsEnabled = xMsIsHnsEnabled; + return this; + } + /** * Get the xMsSkuName property: The x-ms-sku-name property. * diff --git a/sdk/storage/azure-storage-blob/src/main/java/com/azure/storage/blob/specialized/BlobAsyncClientBase.java b/sdk/storage/azure-storage-blob/src/main/java/com/azure/storage/blob/specialized/BlobAsyncClientBase.java index 049137c9bcb2f..d1a3aeb3d088e 100644 --- a/sdk/storage/azure-storage-blob/src/main/java/com/azure/storage/blob/specialized/BlobAsyncClientBase.java +++ b/sdk/storage/azure-storage-blob/src/main/java/com/azure/storage/blob/specialized/BlobAsyncClientBase.java @@ -2384,7 +2384,8 @@ public Mono> getAccountInfoWithResponse() { } Mono> getAccountInfoWithResponse(Context context) { - return this.azureBlobStorage.getBlobs().getAccountInfoWithResponseAsync(containerName, blobName, context) + return this.azureBlobStorage.getBlobs().getAccountInfoWithResponseAsync(containerName, blobName, null, + null, context) .map(rb -> { BlobsGetAccountInfoHeaders hd = rb.getDeserializedHeaders(); return new SimpleResponse<>(rb, new StorageAccountInfo(hd.getXMsSkuName(), hd.getXMsAccountKind())); diff --git a/sdk/storage/azure-storage-blob/src/test/java/com/azure/storage/blob/BlobApiTests.java b/sdk/storage/azure-storage-blob/src/test/java/com/azure/storage/blob/BlobApiTests.java index bf56756358f98..5719f7d34782f 100644 --- a/sdk/storage/azure-storage-blob/src/test/java/com/azure/storage/blob/BlobApiTests.java +++ b/sdk/storage/azure-storage-blob/src/test/java/com/azure/storage/blob/BlobApiTests.java @@ -2885,6 +2885,30 @@ public void getAccountInfoMin() { assertResponseStatusCode(bc.getAccountInfoWithResponse(null, null), 200); } + @Test + public void getAccountInfoBase() { + StorageAccountInfo info = bc.getAccountInfo(); + + assertNotNull(info.getAccountKind()); + assertNotNull(info.getSkuName()); + assertFalse(info.isHierarchicalNamespaceEnabled()); + } + + @Test + public void getAccountInfoBaseFail() { + BlobServiceClient serviceClient = instrument(new BlobServiceClientBuilder() + .endpoint(ENVIRONMENT.getPrimaryAccount().getBlobEndpoint()) + .credential(new MockTokenCredential())) + .buildClient(); + + BlobClient blobClient = serviceClient.getBlobContainerClient(generateContainerName()).getBlobClient(generateBlobName()); + + BlobStorageException e = assertThrows(BlobStorageException.class, blobClient::getAccountInfo); + assertEquals(BlobErrorCode.INVALID_AUTHENTICATION_INFO, e.getErrorCode()); + + } + + @Test public void getContainerName() { assertEquals(containerName, bc.getContainerName()); diff --git a/sdk/storage/azure-storage-blob/src/test/java/com/azure/storage/blob/BlobAsyncApiTests.java b/sdk/storage/azure-storage-blob/src/test/java/com/azure/storage/blob/BlobAsyncApiTests.java index bfc916b0707db..cc59a62ef57ed 100644 --- a/sdk/storage/azure-storage-blob/src/test/java/com/azure/storage/blob/BlobAsyncApiTests.java +++ b/sdk/storage/azure-storage-blob/src/test/java/com/azure/storage/blob/BlobAsyncApiTests.java @@ -42,6 +42,7 @@ import com.azure.storage.blob.models.ObjectReplicationStatus; import com.azure.storage.blob.models.ParallelTransferOptions; import com.azure.storage.blob.models.RehydratePriority; +import com.azure.storage.blob.models.StorageAccountInfo; import com.azure.storage.blob.options.BlobBeginCopyOptions; import com.azure.storage.blob.options.BlobDownloadToFileOptions; import com.azure.storage.blob.options.BlobGetTagsOptions; @@ -2638,6 +2639,33 @@ public void getAccountInfoMin() { 200); } + @Test + public void getAccountInfoBase() { + StepVerifier.create(bc.getAccountInfo()) + .assertNext(r -> { + assertNotNull(r.getAccountKind()); + assertNotNull(r.getSkuName()); + assertFalse(r.isHierarchicalNamespaceEnabled()); + }) + .verifyComplete(); + } + + @Test + public void getAccountInfoBaseFail() { + BlobServiceAsyncClient serviceClient = instrument(new BlobServiceClientBuilder() + .endpoint(ENVIRONMENT.getPrimaryAccount().getBlobEndpoint()) + .credential(new MockTokenCredential())) + .buildAsyncClient(); + + BlobAsyncClient blobClient = serviceClient.getBlobContainerAsyncClient(generateContainerName()).getBlobAsyncClient(generateBlobName()); + + StepVerifier.create(blobClient.getAccountInfo()) + .verifyErrorSatisfies(r -> { + BlobStorageException e = assertInstanceOf(BlobStorageException.class, r); + assertEquals(BlobErrorCode.INVALID_AUTHENTICATION_INFO, e.getErrorCode()); + }); + } + @Test public void getContainerName() { assertEquals(containerName, bc.getContainerName()); diff --git a/sdk/storage/azure-storage-blob/src/test/java/com/azure/storage/blob/ContainerApiTests.java b/sdk/storage/azure-storage-blob/src/test/java/com/azure/storage/blob/ContainerApiTests.java index 308d0b7ab93a2..088270e5faa27 100644 --- a/sdk/storage/azure-storage-blob/src/test/java/com/azure/storage/blob/ContainerApiTests.java +++ b/sdk/storage/azure-storage-blob/src/test/java/com/azure/storage/blob/ContainerApiTests.java @@ -1896,6 +1896,30 @@ public void getAccountInfoMin() { assertResponseStatusCode(primaryBlobServiceClient.getAccountInfoWithResponse(null, null), 200); } + @Test + public void getAccountInfoBase() { + cc = primaryBlobServiceClient.getBlobContainerClient(generateContainerName()); + StorageAccountInfo info = cc.getAccountInfo(null); + + assertNotNull(info.getAccountKind()); + assertNotNull(info.getSkuName()); + assertFalse(info.isHierarchicalNamespaceEnabled()); + } + + @Test + public void getAccountInfoBaseFail() { + BlobServiceClient serviceClient = instrument(new BlobServiceClientBuilder() + .endpoint(ENVIRONMENT.getPrimaryAccount().getBlobEndpoint()) + .credential(new MockTokenCredential())) + .buildClient(); + + BlobContainerClient containerClient = serviceClient.getBlobContainerClient(generateContainerName()); + + BlobStorageException e = assertThrows(BlobStorageException.class, () -> containerClient.getAccountInfo(null)); + assertEquals(BlobErrorCode.INVALID_AUTHENTICATION_INFO, e.getErrorCode()); + + } + @Test public void getContainerName() { String containerName = generateContainerName(); diff --git a/sdk/storage/azure-storage-blob/src/test/java/com/azure/storage/blob/ContainerAsyncApiTests.java b/sdk/storage/azure-storage-blob/src/test/java/com/azure/storage/blob/ContainerAsyncApiTests.java index 6923c54c49205..501b2204bfb3d 100644 --- a/sdk/storage/azure-storage-blob/src/test/java/com/azure/storage/blob/ContainerAsyncApiTests.java +++ b/sdk/storage/azure-storage-blob/src/test/java/com/azure/storage/blob/ContainerAsyncApiTests.java @@ -30,6 +30,7 @@ import com.azure.storage.blob.models.ObjectReplicationStatus; import com.azure.storage.blob.models.PublicAccessType; import com.azure.storage.blob.models.RehydratePriority; +import com.azure.storage.blob.models.StorageAccountInfo; import com.azure.storage.blob.models.TaggedBlobItem; import com.azure.storage.blob.options.BlobContainerCreateOptions; import com.azure.storage.blob.options.BlobParallelUploadOptions; @@ -2011,6 +2012,35 @@ public void getAccountInfoMin() { assertAsyncResponseStatusCode(primaryBlobServiceAsyncClient.getAccountInfoWithResponse(), 200); } + @Test + public void getAccountInfoBase() { + ccAsync = primaryBlobServiceAsyncClient.getBlobContainerAsyncClient(generateContainerName()); + + StepVerifier.create(ccAsync.getAccountInfo()) + .assertNext(r -> { + assertNotNull(r.getAccountKind()); + assertNotNull(r.getSkuName()); + assertFalse(r.isHierarchicalNamespaceEnabled()); + }) + .verifyComplete(); + } + + @Test + public void getAccountInfoBaseFail() { + BlobServiceAsyncClient serviceClient = instrument(new BlobServiceClientBuilder() + .endpoint(ENVIRONMENT.getPrimaryAccount().getBlobEndpoint()) + .credential(new MockTokenCredential())) + .buildAsyncClient(); + + BlobContainerAsyncClient containerClient = serviceClient.getBlobContainerAsyncClient(generateContainerName()); + + StepVerifier.create(containerClient.getAccountInfo()) + .verifyErrorSatisfies(r -> { + BlobStorageException e = assertInstanceOf(BlobStorageException.class, r); + assertEquals(BlobErrorCode.INVALID_AUTHENTICATION_INFO, e.getErrorCode()); + }); + } + @Test public void getContainerName() { String containerName = generateContainerName(); diff --git a/sdk/storage/azure-storage-blob/swagger/README.md b/sdk/storage/azure-storage-blob/swagger/README.md index 2e670ed47dd2a..a408f56e7005d 100644 --- a/sdk/storage/azure-storage-blob/swagger/README.md +++ b/sdk/storage/azure-storage-blob/swagger/README.md @@ -16,7 +16,7 @@ autorest ### Code generation settings ``` yaml use: '@autorest/java@4.1.16' -input-file: https://raw.githubusercontent.com/Azure/azure-rest-api-specs/a32d0b2423d19835246bb2ef92941503bfd5e734/specification/storage/data-plane/Microsoft.BlobStorage/preview/2021-12-02/blob.json +input-file: https://raw.githubusercontent.com/Azure/azure-rest-api-specs/c13d86f8d53ee6d7a396f762f50fe02e3a5bfa07/specification/storage/data-plane/Microsoft.BlobStorage/stable/2024-08-04/blob.json java: true output-folder: ../ namespace: com.azure.storage.blob From 5a6ceabe675d3d8c57f8375e9947e0aa96f207bd Mon Sep 17 00:00:00 2001 From: Isabelle Date: Mon, 8 Apr 2024 11:50:12 -0700 Subject: [PATCH 2/2] style --- .../src/test/java/com/azure/storage/blob/BlobAsyncApiTests.java | 1 - .../test/java/com/azure/storage/blob/ContainerAsyncApiTests.java | 1 - 2 files changed, 2 deletions(-) diff --git a/sdk/storage/azure-storage-blob/src/test/java/com/azure/storage/blob/BlobAsyncApiTests.java b/sdk/storage/azure-storage-blob/src/test/java/com/azure/storage/blob/BlobAsyncApiTests.java index cc59a62ef57ed..fd5ccabe557bb 100644 --- a/sdk/storage/azure-storage-blob/src/test/java/com/azure/storage/blob/BlobAsyncApiTests.java +++ b/sdk/storage/azure-storage-blob/src/test/java/com/azure/storage/blob/BlobAsyncApiTests.java @@ -42,7 +42,6 @@ import com.azure.storage.blob.models.ObjectReplicationStatus; import com.azure.storage.blob.models.ParallelTransferOptions; import com.azure.storage.blob.models.RehydratePriority; -import com.azure.storage.blob.models.StorageAccountInfo; import com.azure.storage.blob.options.BlobBeginCopyOptions; import com.azure.storage.blob.options.BlobDownloadToFileOptions; import com.azure.storage.blob.options.BlobGetTagsOptions; diff --git a/sdk/storage/azure-storage-blob/src/test/java/com/azure/storage/blob/ContainerAsyncApiTests.java b/sdk/storage/azure-storage-blob/src/test/java/com/azure/storage/blob/ContainerAsyncApiTests.java index 501b2204bfb3d..95b9816720fe1 100644 --- a/sdk/storage/azure-storage-blob/src/test/java/com/azure/storage/blob/ContainerAsyncApiTests.java +++ b/sdk/storage/azure-storage-blob/src/test/java/com/azure/storage/blob/ContainerAsyncApiTests.java @@ -30,7 +30,6 @@ import com.azure.storage.blob.models.ObjectReplicationStatus; import com.azure.storage.blob.models.PublicAccessType; import com.azure.storage.blob.models.RehydratePriority; -import com.azure.storage.blob.models.StorageAccountInfo; import com.azure.storage.blob.models.TaggedBlobItem; import com.azure.storage.blob.options.BlobContainerCreateOptions; import com.azure.storage.blob.options.BlobParallelUploadOptions;