public async Task DatabaseAccountCreateAndUpdateTest() { var locations = new List <Location>(); locations.Add(new Location(id: null, locationName: location, documentEndpoint: null, provisioningState: null, failoverPriority: null, isZoneRedundant: false)); var databaseAccountCreateOrUpdateParameters = new DatabaseAccountCreateUpdateParameters(locations); databaseAccountCreateOrUpdateParameters.Location = location; databaseAccountCreateOrUpdateParameters.Tags.Add("key1", "value1"); databaseAccountCreateOrUpdateParameters.Tags.Add("key2", "value2"); databaseAccountCreateOrUpdateParameters.Kind = DatabaseAccountKind.MongoDB; databaseAccountCreateOrUpdateParameters.ConsistencyPolicy = new ConsistencyPolicy(DefaultConsistencyLevel.BoundedStaleness, maxStalenessPrefix, maxIntervalInSeconds); databaseAccountCreateOrUpdateParameters.IpRules.Add(new IpAddressOrRange("23.43.230.120")); databaseAccountCreateOrUpdateParameters.IsVirtualNetworkFilterEnabled = true; databaseAccountCreateOrUpdateParameters.EnableAutomaticFailover = false; databaseAccountCreateOrUpdateParameters.ConnectorOffer = "Small"; databaseAccountCreateOrUpdateParameters.DisableKeyBasedMetadataWriteAccess = false; DatabaseAccountGetResults databaseAccountGetResults1 = await WaitForCompletionAsync( await CosmosDBManagementClient.DatabaseAccounts.StartCreateOrUpdateAsync(resourceGroupName, databaseAccountName, databaseAccountCreateOrUpdateParameters)); var response = await CosmosDBManagementClient.DatabaseAccounts.CheckNameExistsAsync(databaseAccountName); Assert.AreEqual(true, response.Value); Assert.AreEqual(200, response.GetRawResponse().Status); DatabaseAccountGetResults databaseAccountGetResults2 = await CosmosDBManagementClient.DatabaseAccounts.GetAsync(resourceGroupName, databaseAccountName); VerifyCosmosDBAccount(databaseAccountGetResults1, databaseAccountGetResults2); var databaseAccountUpdateParameters = new DatabaseAccountUpdateParameters(); databaseAccountUpdateParameters.Tags.Add("key3", "value3"); databaseAccountUpdateParameters.Tags.Add("key4", "value4"); databaseAccountUpdateParameters.IsVirtualNetworkFilterEnabled = false; databaseAccountUpdateParameters.EnableAutomaticFailover = true; databaseAccountUpdateParameters.DisableKeyBasedMetadataWriteAccess = true; await WaitForCompletionAsync( await CosmosDBManagementClient.DatabaseAccounts.StartUpdateAsync(resourceGroupName, databaseAccountName, databaseAccountUpdateParameters)); var failoverPolicyList = new List <FailoverPolicy>(); failoverPolicyList.Add(new FailoverPolicy() { LocationName = location, FailoverPriority = 0 }); FailoverPolicies failoverPolicies = new FailoverPolicies(failoverPolicyList); await WaitForCompletionAsync( await CosmosDBManagementClient.DatabaseAccounts.StartFailoverPriorityChangeAsync(resourceGroupName, databaseAccountName, failoverPolicies)); DatabaseAccountGetResults databaseAccountGetResults3 = await CosmosDBManagementClient.DatabaseAccounts.GetAsync(resourceGroupName, databaseAccountName); VerifyCosmosDBAccount(databaseAccountGetResults3, databaseAccountUpdateParameters); VerifyFailoverPolicies(failoverPolicyList, databaseAccountGetResults3.FailoverPolicies); }
public async Task DatabaseAccountCreateAndUpdateTest() { var account = await CreateDatabaseAccount(Recording.GenerateAssetName("dbaccount-"), DatabaseAccountKind.MongoDB); bool ifExists = await DatabaseAccountCollection.ExistsAsync(_databaseAccountName); Assert.AreEqual(true, ifExists); DatabaseAccount account2 = await DatabaseAccountCollection.GetAsync(_databaseAccountName); VerifyCosmosDBAccount(account, account2); var updateOptions = new PatchableDatabaseAccountData() { IsVirtualNetworkFilterEnabled = false, EnableAutomaticFailover = true, DisableKeyBasedMetadataWriteAccess = true, }; updateOptions.Tags.Add("key3", "value3"); updateOptions.Tags.Add("key4", "value4"); await account2.UpdateAsync(WaitUntil.Completed, updateOptions); var failoverPolicyList = new List <FailoverPolicy> { new FailoverPolicy() { LocationName = AzureLocation.WestUS, FailoverPriority = 0 } }; FailoverPolicies failoverPolicies = new FailoverPolicies(failoverPolicyList); await account2.FailoverPriorityChangeAsync(WaitUntil.Completed, new FailoverPolicies(failoverPolicyList)); DatabaseAccount account3 = await DatabaseAccountCollection.GetAsync(_databaseAccountName); VerifyCosmosDBAccount(account3, updateOptions); VerifyFailoverPolicies(failoverPolicyList, account3.Data.FailoverPolicies); }