public async Task CreateDeleteFileShare() { //create file share string fileShareName = Recording.GenerateAssetName("testfileshare"); FileShare share1 = (await _fileShareCollection.CreateOrUpdateAsync(true, fileShareName, new FileShareData())).Value; Assert.AreEqual(share1.Id.Name, fileShareName); //validate if created successfully FileShareData shareData = share1.Data; Assert.IsEmpty(shareData.Metadata); FileShare share2 = await _fileShareCollection.GetAsync(fileShareName); AssertFileShareEqual(share1, share2); Assert.IsTrue(await _fileShareCollection.ExistsAsync(fileShareName)); Assert.IsFalse(await _fileShareCollection.ExistsAsync(fileShareName + "1")); //delete file share await share1.DeleteAsync(true); //validate if deleted successfully FileShare fileShare3 = await _fileShareCollection.GetIfExistsAsync(fileShareName); Assert.IsNull(fileShare3); Assert.IsFalse(await _fileShareCollection.ExistsAsync(fileShareName)); }
public async Task UpdateFileShare() { //create file share string fileShareName = Recording.GenerateAssetName("testfileshare"); FileShare share1 = (await _fileShareCollection.CreateOrUpdateAsync(true, fileShareName, new FileShareData())).Value; Assert.AreEqual(share1.Id.Name, fileShareName); //update metadata and share quota FileShareData shareData = share1.Data; shareData.Metadata.Add("key1", "value1"); shareData.Metadata.Add("key2", "value2"); shareData.ShareQuota = 5000; FileShare share2 = await share1.UpdateAsync(shareData); //validate Assert.NotNull(share2.Data.Metadata); Assert.AreEqual(share2.Data.ShareQuota, shareData.ShareQuota); Assert.AreEqual(share2.Data.Metadata, shareData.Metadata); FileShare share3 = await _fileShareCollection.GetAsync(fileShareName); Assert.NotNull(share3.Data.Metadata); Assert.AreEqual(share3.Data.ShareQuota, shareData.ShareQuota); Assert.AreEqual(share3.Data.Metadata, shareData.Metadata); }
public async Task CreateDeleteFileShare() { //create file share string fileShareName = Recording.GenerateAssetName("testfileshare"); FileShareResource share1 = (await _fileShareCollection.CreateOrUpdateAsync(WaitUntil.Completed, fileShareName, new FileShareData())).Value; Assert.AreEqual(share1.Id.Name, fileShareName); //validate if created successfully FileShareData shareData = share1.Data; Assert.IsEmpty(shareData.Metadata); FileShareResource share2 = await _fileShareCollection.GetAsync(fileShareName); AssertFileShareEqual(share1, share2); Assert.IsTrue(await _fileShareCollection.ExistsAsync(fileShareName)); Assert.IsFalse(await _fileShareCollection.ExistsAsync(fileShareName + "1")); //delete file share await share1.DeleteAsync(WaitUntil.Completed); //validate if deleted successfully var exception = Assert.ThrowsAsync <RequestFailedException>(async() => { await _fileShareCollection.GetAsync(fileShareName); }); Assert.AreEqual(404, exception.Status); Assert.IsFalse(await _fileShareCollection.ExistsAsync(fileShareName)); }
internal static FileShareItems DeserializeFileShareItems(JsonElement element) { Optional <IReadOnlyList <FileShareData> > value = default; Optional <string> nextLink = default; foreach (var property in element.EnumerateObject()) { if (property.NameEquals("value")) { if (property.Value.ValueKind == JsonValueKind.Null) { property.ThrowNonNullablePropertyIsNull(); continue; } List <FileShareData> array = new List <FileShareData>(); foreach (var item in property.Value.EnumerateArray()) { array.Add(FileShareData.DeserializeFileShareData(item)); } value = array; continue; } if (property.NameEquals("nextLink")) { nextLink = property.Value.GetString(); continue; } } return(new FileShareItems(Optional.ToList(value), nextLink.Value)); }
public async Task CreateLargeFileShareOnStorageAccount() { //create storage account and enable large share string accountName = await CreateValidAccountNameAsync(namePrefix); _resourceGroup = await CreateResourceGroupAsync(); StorageAccountContainer storageAccountContainer = _resourceGroup.GetStorageAccounts(); Sku sku = new Sku(SkuName.StandardLRS); StorageAccountCreateParameters parameters = GetDefaultStorageAccountParameters(sku: sku, kind: Kind.StorageV2); parameters.LargeFileSharesState = LargeFileSharesState.Enabled; StorageAccount account1 = (await storageAccountContainer.CreateOrUpdateAsync(accountName, parameters)).Value; VerifyAccountProperties(account1, false); //create file share with share quota 5200, which is allowed in large file shares string fileShareName = Recording.GenerateAssetName("testfileshare"); FileService fileService = await account1.GetFileServices().GetAsync("default"); FileShareContainer shareContainer = fileService.GetFileShares(); FileShareData shareData = new FileShareData(); shareData.ShareQuota = 5200; FileShareCreateOperation fileShareCreateOperation = await shareContainer.CreateOrUpdateAsync(fileShareName, shareData); FileShare share = await fileShareCreateOperation.WaitForCompletionAsync(); Assert.AreEqual(share.Data.ShareQuota, shareData.ShareQuota); }
public async Task CreateOrUpdate() { #region Snippet:Managing_FileShares_CreateFileShare FileShareCollection fileShareCollection = fileService.GetFileShares(); string fileShareName = "myFileShare"; FileShareData fileShareData = new FileShareData(); ArmOperation <FileShareResource> fileShareCreateOperation = await fileShareCollection.CreateOrUpdateAsync(WaitUntil.Started, fileShareName, fileShareData); FileShareResource fileShare = await fileShareCreateOperation.WaitForCompletionAsync(); #endregion }
public async Task CreateOrUpdate() { #region Snippet:Managing_FileShares_CreateFileShare FileShareContainer fileShareContainer = fileService.GetFileShares(); string fileShareName = "myFileShare"; FileShareData fileShareData = new FileShareData(); FileShareCreateOperation fileShareCreateOperation = await fileShareContainer.CreateOrUpdateAsync(fileShareName, fileShareData); FileShare fileShare = await fileShareCreateOperation.WaitForCompletionAsync(); #endregion }
public async Task FileShareAccessPolicy() { //update storage account to v2 StorageAccountUpdateParameters updateParameters = new StorageAccountUpdateParameters() { Kind = Kind.StorageV2 }; await _storageAccount.UpdateAsync(updateParameters); //create share string fileShareName = Recording.GenerateAssetName("testfileshare"); FileShare share = (await _fileShareCollection.CreateOrUpdateAsync(true, fileShareName, new FileShareData())).Value; // Prepare signedIdentifiers to set List <SignedIdentifier> sigs = new List <SignedIdentifier>(); DateTimeOffset datenow = Recording.Now; DateTimeOffset start1 = datenow.ToUniversalTime(); DateTimeOffset end1 = datenow.AddHours(2).ToUniversalTime(); DateTimeOffset start2 = datenow.AddMinutes(1).ToUniversalTime(); DateTimeOffset end2 = datenow.AddMinutes(40).ToUniversalTime(); var updateParameters2 = new FileShareData(); SignedIdentifier sig1 = new SignedIdentifier("testSig1", new AccessPolicy(startTime: start1, expiryTime: end1, permission: "rw")); SignedIdentifier sig2 = new SignedIdentifier("testSig2", new AccessPolicy(startTime: start2, expiryTime: end2, permission: "rwdl")); updateParameters2.SignedIdentifiers.Add(sig1); updateParameters2.SignedIdentifiers.Add(sig2); // Update share share = await share.UpdateAsync(updateParameters2); Assert.AreEqual(2, share.Data.SignedIdentifiers.Count); Assert.AreEqual("testSig1", share.Data.SignedIdentifiers[0].Id); Assert.AreEqual("rw", share.Data.SignedIdentifiers[0].AccessPolicy.Permission); }