diff --git a/sdk/storage/Azure.Storage.DataMovement.Blobs/src/Azure.Storage.DataMovement.Blobs.csproj b/sdk/storage/Azure.Storage.DataMovement.Blobs/src/Azure.Storage.DataMovement.Blobs.csproj
index 7307e2e85bb5..b4fdfe379725 100644
--- a/sdk/storage/Azure.Storage.DataMovement.Blobs/src/Azure.Storage.DataMovement.Blobs.csproj
+++ b/sdk/storage/Azure.Storage.DataMovement.Blobs/src/Azure.Storage.DataMovement.Blobs.csproj
@@ -49,6 +49,7 @@
+
diff --git a/sdk/storage/Azure.Storage.DataMovement.Blobs/src/BlobStorageResourceContainer.cs b/sdk/storage/Azure.Storage.DataMovement.Blobs/src/BlobStorageResourceContainer.cs
index 7928187f30e6..5d12996b35e4 100644
--- a/sdk/storage/Azure.Storage.DataMovement.Blobs/src/BlobStorageResourceContainer.cs
+++ b/sdk/storage/Azure.Storage.DataMovement.Blobs/src/BlobStorageResourceContainer.cs
@@ -15,7 +15,7 @@ namespace Azure.Storage.DataMovement.Blobs
///
/// The Storage Resource class for the Blob Client. Supports blob prefix directories as well as the root container.
///
- internal class BlobStorageResourceContainer : StorageResourceContainer
+ internal class BlobStorageResourceContainer : StorageResourceContainerInternal
{
internal BlobContainerClient BlobContainerClient { get; }
internal string DirectoryPrefix { get; }
diff --git a/sdk/storage/Azure.Storage.DataMovement.Files.Shares/src/Azure.Storage.DataMovement.Files.Shares.csproj b/sdk/storage/Azure.Storage.DataMovement.Files.Shares/src/Azure.Storage.DataMovement.Files.Shares.csproj
index a2e444e50928..239be80bfc73 100644
--- a/sdk/storage/Azure.Storage.DataMovement.Files.Shares/src/Azure.Storage.DataMovement.Files.Shares.csproj
+++ b/sdk/storage/Azure.Storage.DataMovement.Files.Shares/src/Azure.Storage.DataMovement.Files.Shares.csproj
@@ -31,6 +31,9 @@
+
+
+
diff --git a/sdk/storage/Azure.Storage.DataMovement.Files.Shares/src/ShareDirectoryStorageResourceContainer.cs b/sdk/storage/Azure.Storage.DataMovement.Files.Shares/src/ShareDirectoryStorageResourceContainer.cs
index b9ef8b908b43..af427815b399 100644
--- a/sdk/storage/Azure.Storage.DataMovement.Files.Shares/src/ShareDirectoryStorageResourceContainer.cs
+++ b/sdk/storage/Azure.Storage.DataMovement.Files.Shares/src/ShareDirectoryStorageResourceContainer.cs
@@ -11,7 +11,7 @@
namespace Azure.Storage.DataMovement.Files.Shares
{
- internal class ShareDirectoryStorageResourceContainer : StorageResourceContainer
+ internal class ShareDirectoryStorageResourceContainer : StorageResourceContainerInternal
{
internal ShareFileStorageResourceOptions ResourceOptions { get; set; }
internal PathScanner PathScanner { get; set; }
@@ -47,20 +47,5 @@ protected override async IAsyncEnumerable GetStorageResourcesAs
yield return new ShareFileStorageResourceItem(client, ResourceOptions);
}
}
-
- #region Protected Hooks
- // Internal func to access protected member for testing.
- internal async IAsyncEnumerable GetStorageResourcesInternal(
- [EnumeratorCancellation] CancellationToken cancellationToken = default)
- {
- await foreach (StorageResource resource in GetStorageResourcesAsync(cancellationToken).ConfigureAwait(false))
- {
- yield return resource;
- }
- }
-
- internal StorageResourceItem GetStorageResourceReferenceInternal(string path)
- => GetStorageResourceReference(path);
- #endregion
}
}
diff --git a/sdk/storage/Azure.Storage.DataMovement.Files.Shares/tests/ShareDirectoryStorageResourceContainerTests.cs b/sdk/storage/Azure.Storage.DataMovement.Files.Shares/tests/ShareDirectoryStorageResourceContainerTests.cs
index c69f7fb5d429..ddd8c483a04b 100644
--- a/sdk/storage/Azure.Storage.DataMovement.Files.Shares/tests/ShareDirectoryStorageResourceContainerTests.cs
+++ b/sdk/storage/Azure.Storage.DataMovement.Files.Shares/tests/ShareDirectoryStorageResourceContainerTests.cs
@@ -49,7 +49,7 @@ public async Task GetStorageResourcesCallsPathScannerCorrectly()
// Verify StorageResourceContainer correctly invokes path scanner and returns the given files
List results = new();
- await foreach (StorageResource res in resource.GetStorageResourcesInternal())
+ await foreach (StorageResource res in resource.GetStorageResourcesInternalAsync())
{
Assert.That(res, Is.TypeOf(typeof(ShareFileStorageResourceItem)));
results.Add((res as ShareFileStorageResourceItem).ShareFileClient);
diff --git a/sdk/storage/Azure.Storage.DataMovement/src/Shared/StorageResourceContainerInternal.cs b/sdk/storage/Azure.Storage.DataMovement/src/Shared/StorageResourceContainerInternal.cs
new file mode 100644
index 000000000000..9aeb4e0d5b90
--- /dev/null
+++ b/sdk/storage/Azure.Storage.DataMovement/src/Shared/StorageResourceContainerInternal.cs
@@ -0,0 +1,24 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+
+using System.Collections.Generic;
+using System.Threading;
+
+namespace Azure.Storage.DataMovement
+{
+ ///
+ /// Middle class between the public type and implementation class.
+ /// Gives internal hook methods to protected methods of
+ /// , allowing for internal
+ /// package use as well as testing access.
+ ///
+ internal abstract class StorageResourceContainerInternal : StorageResourceContainer
+ {
+ internal IAsyncEnumerable GetStorageResourcesInternalAsync(
+ CancellationToken cancellationToken = default)
+ => GetStorageResourcesAsync(cancellationToken);
+
+ internal StorageResourceItem GetStorageResourceReferenceInternal(string path)
+ => GetStorageResourceReference(path);
+ }
+}