Skip to content

Commit dd7fd48

Browse files
author
Maddie Clayton
authored
Merge pull request Azure#8175 from wastoresh/accountname
[Storage] Fix the context StorageAccountName and URI of blob snapshot sas token
2 parents f64966c + 56c85b3 commit dd7fd48

File tree

5 files changed

+25
-12
lines changed

5 files changed

+25
-12
lines changed

src/ResourceManager/Storage/Commands.Storage.Test/Common/Cmdlet/StorageContextDisconnectedTests.cs

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -384,7 +384,7 @@ public void CanCreateStorageContextSASToken_SmNull_RmNull()
384384
Assert.NotNull(output);
385385
var storageContext = output.First() as AzureStorageContext;
386386
Assert.NotNull(storageContext);
387-
Assert.Equal("[SasToken]", storageContext.StorageAccountName);
387+
Assert.Equal(cmdlet.StorageAccountName, storageContext.StorageAccountName);
388388
}
389389
finally
390390
{
@@ -417,7 +417,7 @@ public void CanCreateStorageContextSASToken_SmNull_RmNotNull()
417417
Assert.NotNull(output);
418418
var storageContext = output.First() as AzureStorageContext;
419419
Assert.NotNull(storageContext);
420-
Assert.Equal("[SasToken]", storageContext.StorageAccountName);
420+
Assert.Equal(cmdlet.StorageAccountName, storageContext.StorageAccountName);
421421
}
422422
finally
423423
{
@@ -451,7 +451,7 @@ public void CanCreateStorageContextSASToken_SmNotNull_RmNull()
451451
Assert.NotNull(output);
452452
var storageContext = output.First() as AzureStorageContext;
453453
Assert.NotNull(storageContext);
454-
Assert.Equal("[SasToken]", storageContext.StorageAccountName);
454+
Assert.Equal(cmdlet.StorageAccountName, storageContext.StorageAccountName);
455455
}
456456
finally
457457
{
@@ -485,7 +485,7 @@ public void CanCreateStorageContextSASToken_SmNotNull_RmNotNull()
485485
Assert.NotNull(output);
486486
var storageContext = output.First() as AzureStorageContext;
487487
Assert.NotNull(storageContext);
488-
Assert.Equal("[SasToken]", storageContext.StorageAccountName);
488+
Assert.Equal(cmdlet.StorageAccountName, storageContext.StorageAccountName);
489489
}
490490
finally
491491
{
@@ -518,7 +518,7 @@ public void CanCreateStorageContextAnonymous_SmNull_RmNull()
518518
Assert.NotNull(output);
519519
var storageContext = output.First() as AzureStorageContext;
520520
Assert.NotNull(storageContext);
521-
Assert.Equal("[Anonymous]", storageContext.StorageAccountName);
521+
Assert.Equal(cmdlet.StorageAccountName, storageContext.StorageAccountName);
522522
}
523523
finally
524524
{
@@ -551,7 +551,7 @@ public void CanCreateStorageContextAnonymous_SmNull_RmNotNull()
551551
Assert.NotNull(output);
552552
var storageContext = output.First() as AzureStorageContext;
553553
Assert.NotNull(storageContext);
554-
Assert.Equal("[Anonymous]", storageContext.StorageAccountName);
554+
Assert.Equal(cmdlet.StorageAccountName, storageContext.StorageAccountName);
555555
}
556556
finally
557557
{
@@ -585,7 +585,7 @@ public void CanCreateStorageContextAnonymous_SmNotNull_RmNull()
585585
Assert.NotNull(output);
586586
var storageContext = output.First() as AzureStorageContext;
587587
Assert.NotNull(storageContext);
588-
Assert.Equal("[Anonymous]", storageContext.StorageAccountName);
588+
Assert.Equal(cmdlet.StorageAccountName, storageContext.StorageAccountName);
589589
}
590590
finally
591591
{
@@ -619,7 +619,7 @@ public void CanCreateStorageContextAnonymous_SmNotNull_RmNotNull()
619619
Assert.NotNull(output);
620620
var storageContext = output.First() as AzureStorageContext;
621621
Assert.NotNull(storageContext);
622-
Assert.Equal("[Anonymous]", storageContext.StorageAccountName);
622+
Assert.Equal(cmdlet.StorageAccountName, storageContext.StorageAccountName);
623623
}
624624
finally
625625
{

src/ResourceManager/Storage/Commands.Storage/Blob/Cmdlet/NewAzureStorageBlobSasToken.cs

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -161,7 +161,16 @@ public override void ExecuteCmdlet()
161161

162162
if (FullUri)
163163
{
164-
string fullUri = blob.Uri.ToString() + sasToken;
164+
string fullUri = blob.SnapshotQualifiedUri.ToString();
165+
if (blob.IsSnapshot)
166+
{
167+
// Since snapshot URL already has '?', need remove '?' in the first char of sas
168+
fullUri = fullUri + "&" + sasToken.Substring(1);
169+
}
170+
else
171+
{
172+
fullUri = fullUri + sasToken;
173+
}
165174
WriteObject(fullUri);
166175
}
167176
else

src/ResourceManager/Storage/Commands.Storage/ChangeLog.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,10 @@
1818
- Additional information about change #1
1919
-->
2020
## Upcoming Release
21+
* Set the StorageAccountName of Storage context as the real Storage Account Name, when it's created with Sas Token, OAuth or Anonymous
22+
- New-AzStorageContext
23+
* Create Sas Token of Blob Snapshot Object with '-FullUri' parameter, fix the returned Uri to be the sanpshot Uri
24+
- New-AzStorageBlobSASToken
2125

2226
## Version 1.0.0
2327
* General availability of `Az.Storage` module

src/ResourceManager/Storage/Commands.Storage/Common/AzureStorageContext.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -130,7 +130,7 @@ public string ConnectionString {
130130
/// Create a storage context usign cloud storage account
131131
/// </summary>
132132
/// <param name="account">cloud storage account</param>
133-
public AzureStorageContext(CloudStorageAccount account)
133+
public AzureStorageContext(CloudStorageAccount account, string accountName = null)
134134
{
135135
StorageAccount = account;
136136

@@ -154,7 +154,7 @@ public AzureStorageContext(CloudStorageAccount account)
154154
FileEndPoint = account.FileEndpoint.ToString();
155155
}
156156

157-
StorageAccountName = account.Credentials.AccountName;
157+
StorageAccountName = string.IsNullOrEmpty(accountName) ? account.Credentials.AccountName : accountName;
158158
Context = this;
159159
Name = String.Empty;
160160

src/ResourceManager/Storage/Commands.Storage/Common/Cmdlet/NewAzureStorageContext.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -575,7 +575,7 @@ public override void ExecuteCmdlet()
575575
throw new ArgumentException(Resources.DefaultStorageCredentialsNotFound);
576576
}
577577

578-
AzureStorageContext context = new AzureStorageContext(account);
578+
AzureStorageContext context = new AzureStorageContext(account, StorageAccountName);
579579
WriteObject(context);
580580
}
581581
}

0 commit comments

Comments
 (0)