示例#1
0
        public void PathClient_CanGenerateSas_GetParentDataLakeFileSystemClient()
        {
            // Arrange
            var    constants               = TestConstants.Create(this);
            var    endpoint                = new Uri("https://127.0.0.1/" + constants.Sas.Account);
            var    secondaryEndpoint       = new Uri("https://127.0.0.1/" + constants.Sas.Account + "-secondary");
            var    storageConnectionString = new StorageConnectionString(constants.Sas.SharedKeyCredential, blobStorageUri: (endpoint, secondaryEndpoint));
            string connectionString        = storageConnectionString.ToString(true);

            // Act - BlobBaseClient(string connectionString, string blobContainerName, string blobName)
            DataLakeFileClient file = InstrumentClient(new DataLakeFileClient(
                                                           connectionString,
                                                           GetNewFileSystemName(),
                                                           $"{GetNewDirectoryName()}/{GetNewFileName()}"));
            DataLakeFileSystemClient fileSystem = file.GetParentFileSystemClient();

            Assert.IsTrue(fileSystem.CanGenerateSasUri);

            // Act - BlobBaseClient(string connectionString, string blobContainerName, string blobName, BlobClientOptions options)
            DataLakeFileClient file2 = InstrumentClient(new DataLakeFileClient(
                                                            connectionString,
                                                            GetNewFileSystemName(),
                                                            $"{GetNewDirectoryName()}/{GetNewFileName()}",
                                                            GetOptions()));
            DataLakeFileSystemClient fileSystem2 = file2.GetParentFileSystemClient();

            Assert.IsTrue(fileSystem2.CanGenerateSasUri);

            // Act - BlobBaseClient(Uri blobContainerUri, BlobClientOptions options = default)
            DataLakeFileClient file3 = InstrumentClient(new DataLakeFileClient(
                                                            endpoint,
                                                            GetOptions()));
            DataLakeFileSystemClient container3 = file3.GetParentFileSystemClient();

            Assert.IsFalse(container3.CanGenerateSasUri);

            // Act - BlobBaseClient(Uri blobContainerUri, StorageSharedKeyCredential credential, BlobClientOptions options = default)
            DataLakeFileClient file4 = InstrumentClient(new DataLakeFileClient(
                                                            endpoint,
                                                            constants.Sas.SharedKeyCredential,
                                                            GetOptions()));
            DataLakeFileSystemClient container4 = file4.GetParentFileSystemClient();

            Assert.IsTrue(container4.CanGenerateSasUri);

            // Act - BlobBaseClient(Uri blobContainerUri, TokenCredential credential, BlobClientOptions options = default)
            var tokenCredentials     = new DefaultAzureCredential();
            DataLakeFileClient file5 = InstrumentClient(new DataLakeFileClient(
                                                            endpoint,
                                                            tokenCredentials,
                                                            GetOptions()));
            DataLakeFileSystemClient container5 = file5.GetParentFileSystemClient();

            Assert.IsFalse(container5.CanGenerateSasUri);
        }
示例#2
0
        public async Task PathClient_CanGetParentContainerClient()
        {
            // Arrange
            await using DisposingFileSystem test = await DataLakeClientBuilder.GetNewFileSystem();

            DataLakeFileClient fileClient = InstrumentClient(test.Container.GetRootDirectoryClient().GetFileClient(DataLakeClientBuilder.GetNewFileName()));

            // Act
            DataLakeFileSystemClient filesystemClient = fileClient.GetParentFileSystemClient();
            // make sure that client is functional
            var containerProperties = await filesystemClient.GetPropertiesAsync();

            // Assert
            Assert.AreEqual(fileClient.FileSystemName, filesystemClient.Name);
            Assert.AreEqual(fileClient.AccountName, filesystemClient.AccountName);
            Assert.IsNotNull(containerProperties);
        }
示例#3
0
        public async Task PathClient_CanGetParentContainerClient_WithContainerSAS()
        {
            // Arrange
            await using DisposingFileSystem test = await DataLakeClientBuilder.GetNewFileSystem();

            var fileName = DataLakeClientBuilder.GetNewFileName();
            DataLakeFileClient fileClient = InstrumentClient(
                GetServiceClient_DataLakeServiceSas_FileSystem(test.Container.Name)
                .GetFileSystemClient(test.FileSystem.Name)
                .GetRootDirectoryClient()
                .GetFileClient(fileName));

            // Act
            var fileSystemClient = fileClient.GetParentFileSystemClient();
            // make sure that client is functional
            var pathItems = await fileSystemClient.GetPathsAsync().ToListAsync();

            // Assert
            Assert.AreEqual(fileClient.FileSystemName, fileSystemClient.Name);
            Assert.AreEqual(fileClient.AccountName, fileSystemClient.AccountName);
            Assert.IsNotNull(pathItems);
        }