Skip to content

Commit 9fdbb9b

Browse files
authored
Fixed bug where Data Lake File and Directory Client constructors were not property populating ClientConfiguration.TokenCredential (Azure#38083)
1 parent 2c1290d commit 9fdbb9b

File tree

6 files changed

+89
-4
lines changed

6 files changed

+89
-4
lines changed

sdk/storage/Azure.Storage.Files.DataLake/src/DataLakeDirectoryClient.cs

Lines changed: 37 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -219,7 +219,7 @@ public DataLakeDirectoryClient(Uri directoryUri, AzureSasCredential credential,
219219
/// The token credential used to sign requests.
220220
/// </param>
221221
public DataLakeDirectoryClient(Uri directoryUri, TokenCredential credential)
222-
: this(directoryUri, credential.AsPolicy(new DataLakeClientOptions()), null, storageSharedKeyCredential:null)
222+
: this(directoryUri, credential.AsPolicy(new DataLakeClientOptions()), null, tokenCredential: credential)
223223
{
224224
Errors.VerifyHttpsTokenAuth(directoryUri);
225225
}
@@ -242,7 +242,7 @@ public DataLakeDirectoryClient(Uri directoryUri, TokenCredential credential)
242242
/// every request.
243243
/// </param>
244244
public DataLakeDirectoryClient(Uri directoryUri, TokenCredential credential, DataLakeClientOptions options)
245-
: this(directoryUri, credential.AsPolicy(options), options, storageSharedKeyCredential: null)
245+
: this(directoryUri, credential.AsPolicy(options), options, tokenCredential: credential)
246246
{
247247
Errors.VerifyHttpsTokenAuth(directoryUri);
248248
}
@@ -317,6 +317,41 @@ internal DataLakeDirectoryClient
317317
{
318318
}
319319

320+
/// <summary>
321+
/// Initializes a new instance of the <see cref="DataLakeDirectoryClient"/>
322+
/// class.
323+
/// </summary>
324+
/// <param name="directoryUri">
325+
/// A <see cref="Uri"/> referencing the directory that includes the
326+
/// name of the account, the name of the file system, and the path of the
327+
/// directory.
328+
/// </param>
329+
/// <param name="authentication">
330+
/// An optional authentication policy used to sign requests.
331+
/// </param>
332+
/// <param name="options">
333+
/// Optional client options that define the transport pipeline
334+
/// policies for authentication, retries, etc., that are applied to
335+
/// every request.
336+
/// </param>
337+
/// <param name="tokenCredential">
338+
/// Token credential.
339+
/// </param>
340+
internal DataLakeDirectoryClient
341+
(Uri directoryUri,
342+
HttpPipelinePolicy authentication,
343+
DataLakeClientOptions options,
344+
TokenCredential tokenCredential)
345+
: base(
346+
directoryUri,
347+
authentication,
348+
options,
349+
storageSharedKeyCredential: null,
350+
sasCredential: null,
351+
tokenCredential: tokenCredential)
352+
{
353+
}
354+
320355
/// <summary>
321356
/// Initializes a new instance of the <see cref="DataLakeDirectoryClient"/>
322357
/// class.

sdk/storage/Azure.Storage.Files.DataLake/src/DataLakeFileClient.cs

Lines changed: 36 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -236,7 +236,7 @@ public DataLakeFileClient(Uri fileUri, AzureSasCredential credential, DataLakeCl
236236
/// The token credential used to sign requests.
237237
/// </param>
238238
public DataLakeFileClient(Uri fileUri, TokenCredential credential)
239-
: this(fileUri, credential.AsPolicy(new DataLakeClientOptions()), null, storageSharedKeyCredential:null)
239+
: this(fileUri, credential.AsPolicy(new DataLakeClientOptions()), null, tokenCredential: credential)
240240
{
241241
Errors.VerifyHttpsTokenAuth(fileUri);
242242
}
@@ -258,7 +258,7 @@ public DataLakeFileClient(Uri fileUri, TokenCredential credential)
258258
/// applied to every request.
259259
/// </param>
260260
public DataLakeFileClient(Uri fileUri, TokenCredential credential, DataLakeClientOptions options)
261-
: this(fileUri, credential.AsPolicy(options), options, storageSharedKeyCredential:null)
261+
: this(fileUri, credential.AsPolicy(options), options, credential)
262262
{
263263
Errors.VerifyHttpsTokenAuth(fileUri);
264264
}
@@ -332,6 +332,40 @@ internal DataLakeFileClient(
332332
{
333333
}
334334

335+
/// <summary>
336+
/// Initializes a new instance of the <see cref="DataLakeFileClient"/>
337+
/// class.
338+
/// </summary>
339+
/// <param name="fileUri">
340+
/// A <see cref="Uri"/> referencing the file that includes the
341+
/// name of the account, the name of the file system, and the path of the
342+
/// file.
343+
/// </param>
344+
/// <param name="authentication">
345+
/// An optional authentication policy used to sign requests.
346+
/// </param>
347+
/// <param name="options">
348+
/// Optional client options that define the transport pipeline
349+
/// policies for authentication, retries, etc., that are applied to
350+
/// every request.
351+
/// </param>
352+
/// <param name="tokenCredential">
353+
/// Token credential.
354+
/// </param>
355+
internal DataLakeFileClient(
356+
Uri fileUri,
357+
HttpPipelinePolicy authentication,
358+
DataLakeClientOptions options,
359+
TokenCredential tokenCredential)
360+
: base(fileUri,
361+
authentication,
362+
options,
363+
storageSharedKeyCredential: null,
364+
sasCredential: null,
365+
tokenCredential: tokenCredential)
366+
{
367+
}
368+
335369
/// <summary>
336370
/// Initializes a new instance of the <see cref="DataLakeFileClient"/> class.
337371
/// </summary>

sdk/storage/Azure.Storage.Files.DataLake/tests/DirectoryClientTests.cs

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -82,6 +82,7 @@ public async Task Ctor_SharedKey()
8282
Assert.AreEqual(fileSystemName, directoryClient.FileSystemName);
8383
Assert.AreEqual($"{parentDirectoryName}/{directoryName}", directoryClient.Path);
8484
Assert.AreEqual(uri, directoryClient.Uri);
85+
Assert.IsNotNull(directoryClient.ClientConfiguration.SharedKeyCredential);
8586
}
8687

8788
[RecordedTest]
@@ -109,6 +110,7 @@ public async Task Ctor_TokenCredential()
109110
Assert.AreEqual(fileSystemName, directoryClient.FileSystemName);
110111
Assert.AreEqual($"{parentDirectoryName}/{directoryName}", directoryClient.Path);
111112
Assert.AreEqual(uri, directoryClient.Uri);
113+
Assert.IsNotNull(directoryClient.ClientConfiguration.TokenCredential);
112114
}
113115

114116
[RecordedTest]
@@ -128,6 +130,7 @@ public async Task Ctor_ConnectionString_RoundTrip()
128130
// Assert
129131
await connStringDirectory.GetPropertiesAsync();
130132
await connStringDirectory.GetAccessControlAsync();
133+
Assert.IsNotNull(connStringDirectory.ClientConfiguration.SharedKeyCredential);
131134
}
132135

133136
[RecordedTest]
@@ -184,6 +187,7 @@ public async Task Ctor_AzureSasCredential()
184187

185188
// Assert
186189
Assert.IsNotNull(properties);
190+
Assert.IsNotNull(sasClient.ClientConfiguration.SasCredential);
187191
}
188192

189193
[RecordedTest]

sdk/storage/Azure.Storage.Files.DataLake/tests/FileClientTests.cs

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -85,6 +85,7 @@ public async Task Ctor_SharedKey()
8585
Assert.AreEqual(fileSystemName, fileClient.FileSystemName);
8686
Assert.AreEqual($"{directoryName}/{fileName}", fileClient.Path);
8787
Assert.AreEqual(uri, fileClient.Uri);
88+
Assert.IsNotNull(fileClient.ClientConfiguration.SharedKeyCredential);
8889
}
8990

9091
[RecordedTest]
@@ -112,6 +113,7 @@ public async Task Ctor_TokenCredential()
112113
Assert.AreEqual(fileSystemName, fileClient.FileSystemName);
113114
Assert.AreEqual($"{directoryName}/{fileName}", fileClient.Path);
114115
Assert.AreEqual(uri, fileClient.Uri);
116+
Assert.IsNotNull(fileClient.ClientConfiguration.TokenCredential);
115117
}
116118

117119
[RecordedTest]
@@ -148,6 +150,7 @@ public async Task Ctor_ConnectionString_RoundTrip()
148150
// Assert
149151
await connStringFile.GetPropertiesAsync();
150152
await connStringFile.GetAccessControlAsync();
153+
Assert.IsNotNull(connStringFile.ClientConfiguration.SharedKeyCredential);
151154
}
152155

153156
[RecordedTest]
@@ -187,6 +190,7 @@ public async Task Ctor_AzureSasCredential()
187190

188191
// Assert
189192
Assert.IsNotNull(properties);
193+
Assert.IsNotNull(sasClient.ClientConfiguration.SasCredential);
190194
}
191195

192196
[RecordedTest]

sdk/storage/Azure.Storage.Files.DataLake/tests/FileSystemClientTests.cs

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -74,6 +74,7 @@ public async Task Ctor_SharedKey()
7474
// Assert
7575
Assert.AreEqual(fileSystemName, fileSystemClient.Name);
7676
Assert.AreEqual(uri, fileSystemClient.Uri);
77+
Assert.IsNotNull(fileSystemClient.ClientConfiguration.SharedKeyCredential);
7778
}
7879
finally
7980
{
@@ -97,6 +98,7 @@ public async Task Ctor_TokenCredential()
9798

9899
// Act
99100
await fileSystemClient.GetPropertiesAsync();
101+
Assert.IsNotNull(fileSystemClient.ClientConfiguration.TokenCredential);
100102
}
101103
finally
102104
{
@@ -122,6 +124,7 @@ public async Task Ctor_ConnectionString_RoundTrip()
122124

123125
// Assert
124126
Assert.AreEqual(1, paths.Count);
127+
Assert.IsNotNull(fileSystem.ClientConfiguration.SharedKeyCredential);
125128
}
126129

127130
// Cleanup
@@ -195,6 +198,7 @@ public async Task Ctor_AzureSasCredential()
195198

196199
// Assert
197200
Assert.IsNotNull(properties);
201+
Assert.IsNotNull(sasClient.ClientConfiguration.SasCredential);
198202
}
199203

200204
[RecordedTest]

sdk/storage/Azure.Storage.Files.DataLake/tests/ServiceClientTests.cs

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -54,6 +54,7 @@ public async Task Ctor_SharedKey()
5454

5555
// Assert
5656
Assert.AreEqual(uri, serviceClient.Uri);
57+
Assert.IsNotNull(serviceClient.ClientConfiguration.SharedKeyCredential);
5758
}
5859

5960
[RecordedTest]
@@ -69,6 +70,7 @@ public async Task Ctor_TokenCredential()
6970

7071
// Assert
7172
Assert.AreEqual(uri, serviceClient.Uri);
73+
Assert.IsNotNull(serviceClient.ClientConfiguration.TokenCredential);
7274
}
7375

7476
[RecordedTest]
@@ -83,6 +85,7 @@ public async Task Ctor_ConnectionString_RoundTrip()
8385
try
8486
{
8587
await fileSystem.CreateAsync();
88+
Assert.IsNotNull(fileSystem.ClientConfiguration.SharedKeyCredential);
8689
}
8790

8891
// Cleanup
@@ -154,6 +157,7 @@ public async Task Ctor_AzureSasCredential()
154157

155158
// Assert
156159
Assert.IsNotNull(fileSystems);
160+
Assert.IsNotNull(sasClient.ClientConfiguration.SasCredential);
157161
}
158162

159163
[RecordedTest]

0 commit comments

Comments
 (0)