public MockStorageService Add(Action<StorageAccountData> dataSetter) { var account = new StorageAccountData(); dataSetter(account); accounts.Add(account); return this; }
StorageAccount IOperationSource <StorageAccount> .CreateResult(Response response, CancellationToken cancellationToken) { using var document = JsonDocument.Parse(response.ContentStream); var data = StorageAccountData.DeserializeStorageAccountData(document.RootElement); return(new StorageAccount(_armClient, data)); }
public void ValidateStorageAccountData() { var data = new StorageAccountData(AzureLocation.AustraliaCentral); Assert.IsNull(data.KeyPolicy); Assert.IsNull(data.KeyExpirationPeriodInDays); Assert.IsFalse(data.GetType().GetProperty("KeyExpirationPeriodInDays").CanWrite); data = new StorageAccountData( null, null, new ResourceType("Microsoft.Storage/storageAccounts"), null, new Dictionary <string, string>(), AzureLocation.AustraliaCentral, null, null, null, null, null, null, null, null, null, null, null, null, null, null, new KeyPolicy(5), null, null, null, null, null, null, null, null, null, null, null, null, null, new List <StoragePrivateEndpointConnectionData>(), null, null, null, null, null, null, null, null, null, null, null); Assert.IsNotNull(data.KeyPolicy); Assert.AreEqual(5, data.KeyExpirationPeriodInDays); }
internal static StorageAccountListResult DeserializeStorageAccountListResult(JsonElement element) { Optional <IReadOnlyList <StorageAccountData> > 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 <StorageAccountData> array = new List <StorageAccountData>(); foreach (var item in property.Value.EnumerateArray()) { array.Add(StorageAccountData.DeserializeStorageAccountData(item)); } value = array; continue; } if (property.NameEquals("nextLink")) { nextLink = property.Value.GetString(); continue; } } return(new StorageAccountListResult(Optional.ToList(value), nextLink.Value)); }
public MockStorageService Add(Action <StorageAccountData> dataSetter) { var account = new StorageAccountData(); dataSetter(account); accounts.Add(account); return(this); }
public void InitilizeStubData() { string assetId = "nb:Id:" + Guid.NewGuid(); StorageAccountData storageAccountData = new StorageAccountData { IsDefault = true, Name = "test storage", }; _persistedChanges.Add(StorageAccountBaseCollection.EntitySet, new List <StorageAccountData> { storageAccountData }); AssetData assetData = new AssetData() { Id = assetId, AlternateId = String.Empty, Created = DateTime.UtcNow, LastModified = DateTime.UtcNow, Name = "Mock Asset", Options = (int)AssetCreationOptions.None, }; assetData.SetMediaContext(_mediaContextBase); _persistedChanges.Add(AssetCollection.AssetSet, new List <AssetData> { assetData }); string accessPolicyId = Guid.NewGuid().ToString(); AccessPolicyData accessPolicyData = new AccessPolicyData() { Id = accessPolicyId, Name = "Mock AccessPolicy", Created = DateTime.UtcNow.AddDays(-1), DurationInMinutes = 10000, LastModified = DateTime.UtcNow, Permissions = (int)AccessPermissions.Read }; accessPolicyData.SetMediaContext(_mediaContextBase); _persistedChanges.Add(AccessPolicyBaseCollection.AccessPolicySet, new List <AccessPolicyData> { accessPolicyData }); LocatorData locatorData = new LocatorData() { Id = Guid.NewGuid().ToString(), AssetId = assetId, Name = "Mock locator", AccessPolicyId = accessPolicyId, BaseUri = "http://" }; locatorData.SetMediaContext(_mediaContextBase); _persistedChanges.Add(LocatorBaseCollection.LocatorSet, new List <LocatorData> { locatorData }); _persistedChanges.Add(AssetFileCollection.FileSet, new List <AssetFileData> { new AssetFileData() { Id = Guid.NewGuid().ToString(), Created = DateTime.UtcNow, Name = "Mock File", ParentAssetId = assetId } }); _persistedChanges.Add(MediaProcessorBaseCollection.MediaProcessorSet, new List <MediaProcessorData> { new MediaProcessorData() { Id = Guid.NewGuid().ToString(), Name = "Mock Processor", Version = "1", Vendor = "mock" } }); _persistedChanges.Add(JobBaseCollection.JobSet, new List <JobData> { new JobData() { Id = Guid.NewGuid().ToString(), Name = "Mock Job", } }); }
public async Task CreateUpdataNetworkRule() { //create storage account with network rule string accountName = await CreateValidAccountNameAsync(namePrefix); _resourceGroup = await CreateResourceGroupAsync(); StorageAccountContainer storageAccountContainer = _resourceGroup.GetStorageAccounts(); StorageAccountCreateParameters parameters = GetDefaultStorageAccountParameters(); parameters.NetworkRuleSet = new NetworkRuleSet(defaultAction: DefaultAction.Deny) { Bypass = @"Logging, AzureServices", IpRules = { new IPRule(iPAddressOrRange: "23.45.67.89") } }; StorageAccount account1 = (await storageAccountContainer.CreateOrUpdateAsync(accountName, parameters)).Value; VerifyAccountProperties(account1, false); //verify network rule StorageAccountData accountData = account1.Data; Assert.NotNull(accountData.NetworkRuleSet); Assert.AreEqual(@"Logging, AzureServices", accountData.NetworkRuleSet.Bypass.ToString()); Assert.AreEqual(DefaultAction.Deny, accountData.NetworkRuleSet.DefaultAction); Assert.IsEmpty(accountData.NetworkRuleSet.VirtualNetworkRules); Assert.NotNull(accountData.NetworkRuleSet.IpRules); Assert.IsNotEmpty(accountData.NetworkRuleSet.IpRules); Assert.AreEqual("23.45.67.89", accountData.NetworkRuleSet.IpRules[0].IPAddressOrRange); Assert.AreEqual(DefaultAction.Allow.ToString(), accountData.NetworkRuleSet.IpRules[0].Action); //update network rule StorageAccountUpdateParameters updateParameters = new StorageAccountUpdateParameters() { NetworkRuleSet = new NetworkRuleSet(defaultAction: DefaultAction.Deny) { Bypass = @"Logging, Metrics", IpRules = { new IPRule(iPAddressOrRange: "23.45.67.90"), new IPRule(iPAddressOrRange: "23.45.67.91") } } }; StorageAccount account2 = await account1.UpdateAsync(updateParameters); //verify updated network rule accountData = account2.Data; Assert.NotNull(accountData.NetworkRuleSet); Assert.AreEqual(@"Logging, Metrics", accountData.NetworkRuleSet.Bypass.ToString()); Assert.AreEqual(DefaultAction.Deny, accountData.NetworkRuleSet.DefaultAction); Assert.IsEmpty(accountData.NetworkRuleSet.VirtualNetworkRules); Assert.NotNull(accountData.NetworkRuleSet.IpRules); Assert.IsNotEmpty(accountData.NetworkRuleSet.IpRules); Assert.AreEqual("23.45.67.90", accountData.NetworkRuleSet.IpRules[0].IPAddressOrRange); Assert.AreEqual(DefaultAction.Allow.ToString(), accountData.NetworkRuleSet.IpRules[0].Action); Assert.AreEqual("23.45.67.91", accountData.NetworkRuleSet.IpRules[1].IPAddressOrRange); Assert.AreEqual(DefaultAction.Allow.ToString(), accountData.NetworkRuleSet.IpRules[1].Action); //update network rule to allow updateParameters = new StorageAccountUpdateParameters() { NetworkRuleSet = new NetworkRuleSet(defaultAction: DefaultAction.Allow) }; StorageAccount account3 = await account2.UpdateAsync(updateParameters); //verify updated network rule accountData = account3.Data; Assert.NotNull(accountData.NetworkRuleSet); Assert.AreEqual(@"Logging, Metrics", accountData.NetworkRuleSet.Bypass.ToString()); Assert.AreEqual(DefaultAction.Allow, accountData.NetworkRuleSet.DefaultAction); }