public async Task GremlinDatabaseCreateUpdateTests() { GremlinDatabaseCreateUpdateParameters gremlinDatabaseCreateUpdateParameters = new GremlinDatabaseCreateUpdateParameters(new GremlinDatabaseResource(databaseName), new CreateUpdateOptions(sampleThroughput, new AutoscaleSettings())); var gremlinDatabaseResponse = await WaitForCompletionAsync(await CosmosDBManagementClient.GremlinResources.StartCreateUpdateGremlinDatabaseAsync(resourceGroupName, databaseAccountName, databaseName, gremlinDatabaseCreateUpdateParameters)); Assert.NotNull(gremlinDatabaseResponse); GremlinDatabaseGetResults gremlinDatabaseGetResults = gremlinDatabaseResponse.Value; Assert.NotNull(gremlinDatabaseGetResults); Assert.AreEqual(databaseName, gremlinDatabaseGetResults.Name); var gremlinDatabaseResponse1 = await WaitForCompletionAsync(await CosmosDBManagementClient.GremlinResources.StartCreateUpdateGremlinDatabaseAsync(resourceGroupName, databaseAccountName, databaseName, gremlinDatabaseCreateUpdateParameters)); Assert.NotNull(gremlinDatabaseResponse1); GremlinDatabaseGetResults gremlinDatabaseGetResults1 = gremlinDatabaseResponse1.Value; Assert.NotNull(gremlinDatabaseGetResults); Assert.AreEqual(databaseName, gremlinDatabaseGetResults1.Name); VerifyEqualGremlinDatabases(gremlinDatabaseGetResults, gremlinDatabaseGetResults1); var throughputResponse = CosmosDBManagementClient.GremlinResources.GetGremlinDatabaseThroughputAsync(resourceGroupName, databaseAccountName, databaseName); ThroughputSettingsGetResults throughputSettingsGetResults = throughputResponse.ConfigureAwait(false).GetAwaiter().GetResult(); Assert.NotNull(throughputSettingsGetResults); Assert.NotNull(throughputSettingsGetResults.Name); Assert.AreEqual(throughputSettingsGetResults.Resource.Throughput, sampleThroughput); Assert.AreEqual(gremlinDatabasesThroughputType, throughputSettingsGetResults.Type); }
public override void ExecuteCmdlet() { if (ParameterSetName.Equals(ParentObjectParameterSet, StringComparison.Ordinal)) { ResourceIdentifier resourceIdentifier = new ResourceIdentifier(InputObject.Id); ResourceGroupName = resourceIdentifier.ResourceGroupName; AccountName = resourceIdentifier.ResourceName; } IDictionary <string, string> options = new Dictionary <string, string>(); if (Throughput != null) { options.Add("Throughput", Throughput.ToString()); } GremlinDatabaseCreateUpdateParameters gremlinDatabaseCreateUpdateParameters = new GremlinDatabaseCreateUpdateParameters { Resource = new GremlinDatabaseResource { Id = Name }, Options = options }; if (ShouldProcess(Name, "Setting CosmosDB Gremlin Database")) { GremlinDatabaseGetResults gremlinDatabaseGetResults = CosmosDBManagementClient.GremlinResources.CreateUpdateGremlinDatabaseWithHttpMessagesAsync(ResourceGroupName, AccountName, Name, gremlinDatabaseCreateUpdateParameters).GetAwaiter().GetResult().Body; WriteObject(new PSGremlinDatabaseGetResults(gremlinDatabaseGetResults)); } return; }
public override void ExecuteCmdlet() { if (ParameterSetName.Equals(ParentObjectParameterSet, StringComparison.Ordinal)) { ResourceIdentifier resourceIdentifier = new ResourceIdentifier(ParentObject.Id); ResourceGroupName = resourceIdentifier.ResourceGroupName; AccountName = resourceIdentifier.ResourceName; } else if (ParameterSetName.Equals(ObjectParameterSet)) { ResourceIdentifier resourceIdentifier = new ResourceIdentifier(InputObject.Id); ResourceGroupName = resourceIdentifier.ResourceGroupName; AccountName = ResourceIdentifierExtensions.GetDatabaseAccountName(resourceIdentifier); Name = resourceIdentifier.ResourceName; } CreateUpdateOptions options = ThroughputHelper.PopulateCreateUpdateOptions(Throughput, AutoscaleMaxThroughput); GremlinDatabaseCreateUpdateParameters gremlinDatabaseCreateUpdateParameters = new GremlinDatabaseCreateUpdateParameters { Resource = new GremlinDatabaseResource { Id = Name }, Options = options }; if (ShouldProcess(Name, "Updating CosmosDB Gremlin Database")) { GremlinDatabaseGetResults gremlinDatabaseGetResults = CosmosDBManagementClient.GremlinResources.CreateUpdateGremlinDatabaseWithHttpMessagesAsync(ResourceGroupName, AccountName, Name, gremlinDatabaseCreateUpdateParameters).GetAwaiter().GetResult().Body; WriteObject(new PSGremlinDatabaseGetResults(gremlinDatabaseGetResults)); } return; }
private void InitializeCreateUpdateParameters() { this.createUpdateParameters = new GremlinDatabaseCreateUpdateParameters() { Location = Parent.Inner.Location, Resource = new GremlinDatabaseResource(id: this.Name()), Options = new CreateUpdateOptions(), }; }
public override void ExecuteCmdlet() { if (ParameterSetName.Equals(ParentObjectParameterSet, StringComparison.Ordinal)) { ResourceIdentifier resourceIdentifier = new ResourceIdentifier(ParentObject.Id); ResourceGroupName = resourceIdentifier.ResourceGroupName; AccountName = resourceIdentifier.ResourceName; } GremlinDatabaseGetResults readGremlinDatabaseGetResults = null; try { readGremlinDatabaseGetResults = CosmosDBManagementClient.GremlinResources.GetGremlinDatabase(ResourceGroupName, AccountName, Name); } catch (CloudException e) { if (e.Response.StatusCode != System.Net.HttpStatusCode.NotFound) { throw; } } if (readGremlinDatabaseGetResults != null) { throw new ConflictingResourceException(message: string.Format(ExceptionMessage.Conflict, Name)); } CreateUpdateOptions options = new CreateUpdateOptions(); if (Throughput != null) { options.Throughput = Throughput.ToString(); } GremlinDatabaseCreateUpdateParameters gremlinDatabaseCreateUpdateParameters = new GremlinDatabaseCreateUpdateParameters { Resource = new GremlinDatabaseResource { Id = Name }, Options = options }; if (ShouldProcess(Name, "Creating a new CosmosDB Gremlin Database")) { GremlinDatabaseGetResults gremlinDatabaseGetResults = CosmosDBManagementClient.GremlinResources.CreateUpdateGremlinDatabaseWithHttpMessagesAsync(ResourceGroupName, AccountName, Name, gremlinDatabaseCreateUpdateParameters).GetAwaiter().GetResult().Body; WriteObject(new PSGremlinDatabaseGetResults(gremlinDatabaseGetResults)); } return; }
public void GraphCRUDTests() { using (var context = MockContext.Start(this.GetType())) { fixture.Init(context); string databaseAccountName = this.fixture.GetDatabaseAccountName(TestFixture.AccountType.Gremlin); var gremlinClient = this.fixture.CosmosDBManagementClient.GremlinResources; string databaseName = TestUtilities.GenerateName(prefix: "gremlinDb"); string databaseName2 = TestUtilities.GenerateName(prefix: "gremlinDb"); string gremlinGraphName = TestUtilities.GenerateName(prefix: "gremlinGraph"); const string gremlinThroughputType = "Microsoft.DocumentDB/databaseAccounts/gremlinDatabases/throughputSettings"; const int sampleThroughput = 700; Dictionary <string, string> additionalProperties = new Dictionary <string, string> { { "foo", "bar" } }; Dictionary <string, string> tags = new Dictionary <string, string> { { "key3", "value3" }, { "key4", "value4" } }; GremlinDatabaseCreateUpdateParameters gremlinDatabaseCreateUpdateParameters = new GremlinDatabaseCreateUpdateParameters { Resource = new GremlinDatabaseResource { Id = databaseName }, Options = new CreateUpdateOptions() }; GremlinDatabaseGetResults gremlinDatabaseGetResults = gremlinClient.CreateUpdateGremlinDatabaseWithHttpMessagesAsync( this.fixture.ResourceGroupName, databaseAccountName, databaseName, gremlinDatabaseCreateUpdateParameters ).GetAwaiter().GetResult().Body; Assert.NotNull(gremlinDatabaseGetResults); Assert.Equal(databaseName, gremlinDatabaseGetResults.Name); GremlinDatabaseGetResults gremlinDatabaseGetResults1 = gremlinClient.GetGremlinDatabaseWithHttpMessagesAsync( this.fixture.ResourceGroupName, databaseAccountName, databaseName ).GetAwaiter().GetResult().Body; Assert.NotNull(gremlinDatabaseGetResults1); Assert.Equal(databaseName, gremlinDatabaseGetResults1.Name); VerifyEqualGremlinDatabases(gremlinDatabaseGetResults, gremlinDatabaseGetResults1); GremlinDatabaseCreateUpdateParameters gremlinDatabaseCreateUpdateParameters2 = new GremlinDatabaseCreateUpdateParameters { Location = this.fixture.Location, Tags = tags, Resource = new GremlinDatabaseResource { Id = databaseName2 }, Options = new CreateUpdateOptions { Throughput = sampleThroughput } }; GremlinDatabaseGetResults gremlinDatabaseGetResults2 = gremlinClient.CreateUpdateGremlinDatabaseWithHttpMessagesAsync( this.fixture.ResourceGroupName, databaseAccountName, databaseName2, gremlinDatabaseCreateUpdateParameters2 ).GetAwaiter().GetResult().Body; Assert.NotNull(gremlinDatabaseGetResults2); Assert.Equal(databaseName2, gremlinDatabaseGetResults2.Name); IEnumerable <GremlinDatabaseGetResults> gremlinDatabases = gremlinClient.ListGremlinDatabasesWithHttpMessagesAsync( this.fixture.ResourceGroupName, databaseAccountName ).GetAwaiter().GetResult().Body; Assert.NotNull(gremlinDatabases); ThroughputSettingsGetResults throughputSettingsGetResults = gremlinClient.GetGremlinDatabaseThroughputWithHttpMessagesAsync( this.fixture.ResourceGroupName, databaseAccountName, databaseName2 ).GetAwaiter().GetResult().Body; Assert.NotNull(throughputSettingsGetResults); Assert.NotNull(throughputSettingsGetResults.Name); Assert.Equal(throughputSettingsGetResults.Resource.Throughput, sampleThroughput); Assert.Equal(gremlinThroughputType, throughputSettingsGetResults.Type); GremlinGraphCreateUpdateParameters gremlinGraphCreateUpdateParameters = new GremlinGraphCreateUpdateParameters { Resource = new GremlinGraphResource { Id = gremlinGraphName, DefaultTtl = -1, PartitionKey = new ContainerPartitionKey { Kind = "Hash", Paths = new List <string> { "/address" } }, IndexingPolicy = new IndexingPolicy { Automatic = true, IndexingMode = IndexingMode.Consistent, IncludedPaths = new List <IncludedPath> { new IncludedPath { Path = "/*" } }, ExcludedPaths = new List <ExcludedPath> { new ExcludedPath { Path = "/pathToNotIndex/*" } }, CompositeIndexes = new List <IList <CompositePath> > { new List <CompositePath> { new CompositePath { Path = "/orderByPath1", Order = CompositePathSortOrder.Ascending }, new CompositePath { Path = "/orderByPath2", Order = CompositePathSortOrder.Descending } }, new List <CompositePath> { new CompositePath { Path = "/orderByPath3", Order = CompositePathSortOrder.Ascending }, new CompositePath { Path = "/orderByPath4", Order = CompositePathSortOrder.Descending } } } } }, Options = new CreateUpdateOptions { Throughput = sampleThroughput } }; GremlinGraphGetResults gremlinGraphGetResults = gremlinClient.CreateUpdateGremlinGraphWithHttpMessagesAsync(this.fixture.ResourceGroupName, databaseAccountName, databaseName, gremlinGraphName, gremlinGraphCreateUpdateParameters).GetAwaiter().GetResult().Body; Assert.NotNull(gremlinGraphGetResults); VerifyGremlinGraphCreation(gremlinGraphGetResults, gremlinGraphCreateUpdateParameters); IEnumerable <GremlinGraphGetResults> gremlinGraphs = gremlinClient.ListGremlinGraphsWithHttpMessagesAsync(this.fixture.ResourceGroupName, databaseAccountName, databaseName).GetAwaiter().GetResult().Body; Assert.NotNull(gremlinGraphs); foreach (GremlinGraphGetResults gremlinGraph in gremlinGraphs) { gremlinClient.DeleteGremlinGraphWithHttpMessagesAsync(this.fixture.ResourceGroupName, databaseAccountName, databaseName, gremlinGraph.Name); } foreach (GremlinDatabaseGetResults gremlinDatabase in gremlinDatabases) { gremlinClient.DeleteGremlinDatabaseWithHttpMessagesAsync(this.fixture.ResourceGroupName, databaseAccountName, gremlinDatabase.Name); } } }
public void GraphCRUDTests() { var handler1 = new RecordedDelegatingHandler { StatusCodeToReturn = HttpStatusCode.OK }; using (MockContext context = MockContext.Start(this.GetType())) { // Create client CosmosDBManagementClient cosmosDBManagementClient = CosmosDBTestUtilities.GetCosmosDBClient(context, handler1); bool isDatabaseNameExists = cosmosDBManagementClient.DatabaseAccounts.CheckNameExistsWithHttpMessagesAsync(databaseAccountName).GetAwaiter().GetResult().Body; if (!isDatabaseNameExists) { return; } GremlinDatabaseCreateUpdateParameters gremlinDatabaseCreateUpdateParameters = new GremlinDatabaseCreateUpdateParameters { Resource = new GremlinDatabaseResource { Id = databaseName }, Options = new CreateUpdateOptions { AdditionalProperties = additionalProperties } }; GremlinDatabaseGetResults gremlinDatabaseGetResults = cosmosDBManagementClient.GremlinResources.CreateUpdateGremlinDatabaseWithHttpMessagesAsync(resourceGroupName, databaseAccountName, databaseName, gremlinDatabaseCreateUpdateParameters).GetAwaiter().GetResult().Body; Assert.NotNull(gremlinDatabaseGetResults); Assert.Equal(databaseName, gremlinDatabaseGetResults.Name); GremlinDatabaseGetResults gremlinDatabaseGetResults1 = cosmosDBManagementClient.GremlinResources.GetGremlinDatabaseWithHttpMessagesAsync(resourceGroupName, databaseAccountName, databaseName).GetAwaiter().GetResult().Body; Assert.NotNull(gremlinDatabaseGetResults1); Assert.Equal(databaseName, gremlinDatabaseGetResults1.Name); VerifyEqualGremlinDatabases(gremlinDatabaseGetResults, gremlinDatabaseGetResults1); GremlinDatabaseCreateUpdateParameters gremlinDatabaseCreateUpdateParameters2 = new GremlinDatabaseCreateUpdateParameters { Location = location, Tags = tags, Resource = new GremlinDatabaseResource { Id = databaseName2 }, Options = new CreateUpdateOptions { Throughput = sampleThroughput.ToString() } }; GremlinDatabaseGetResults gremlinDatabaseGetResults2 = cosmosDBManagementClient.GremlinResources.CreateUpdateGremlinDatabaseWithHttpMessagesAsync(resourceGroupName, databaseAccountName, databaseName2, gremlinDatabaseCreateUpdateParameters2).GetAwaiter().GetResult().Body; Assert.NotNull(gremlinDatabaseGetResults2); Assert.Equal(databaseName2, gremlinDatabaseGetResults2.Name); IEnumerable <GremlinDatabaseGetResults> gremlinDatabases = cosmosDBManagementClient.GremlinResources.ListGremlinDatabasesWithHttpMessagesAsync(resourceGroupName, databaseAccountName).GetAwaiter().GetResult().Body; Assert.NotNull(gremlinDatabases); ThroughputSettingsGetResults throughputSettingsGetResults = cosmosDBManagementClient.GremlinResources.GetGremlinDatabaseThroughputWithHttpMessagesAsync(resourceGroupName, databaseAccountName, databaseName2).GetAwaiter().GetResult().Body; Assert.NotNull(throughputSettingsGetResults); Assert.NotNull(throughputSettingsGetResults.Name); Assert.Equal(throughputSettingsGetResults.Resource.Throughput, sampleThroughput); Assert.Equal(graphThroughputType, throughputSettingsGetResults.Type); GremlinGraphCreateUpdateParameters gremlinGraphCreateUpdateParameters = new GremlinGraphCreateUpdateParameters { Resource = new GremlinGraphResource { Id = gremlinGraphName, DefaultTtl = -1, PartitionKey = new ContainerPartitionKey { Kind = "Hash", Paths = new List <string> { "/address" } }, IndexingPolicy = new IndexingPolicy { Automatic = true, IndexingMode = IndexingMode.Consistent, IncludedPaths = new List <IncludedPath> { new IncludedPath { Path = "/*" } }, ExcludedPaths = new List <ExcludedPath> { new ExcludedPath { Path = "/pathToNotIndex/*" } }, CompositeIndexes = new List <IList <CompositePath> > { new List <CompositePath> { new CompositePath { Path = "/orderByPath1", Order = CompositePathSortOrder.Ascending }, new CompositePath { Path = "/orderByPath2", Order = CompositePathSortOrder.Descending } }, new List <CompositePath> { new CompositePath { Path = "/orderByPath3", Order = CompositePathSortOrder.Ascending }, new CompositePath { Path = "/orderByPath4", Order = CompositePathSortOrder.Descending } } } } }, Options = new CreateUpdateOptions { Throughput = sampleThroughput.ToString() } }; GremlinGraphGetResults gremlinGraphGetResults = cosmosDBManagementClient.GremlinResources.CreateUpdateGremlinGraphWithHttpMessagesAsync(resourceGroupName, databaseAccountName, databaseName, gremlinGraphName, gremlinGraphCreateUpdateParameters).GetAwaiter().GetResult().Body; Assert.NotNull(gremlinGraphGetResults); VerifyGremlinGraphCreation(gremlinGraphGetResults, gremlinGraphCreateUpdateParameters); IEnumerable <GremlinGraphGetResults> gremlinGraphs = cosmosDBManagementClient.GremlinResources.ListGremlinGraphsWithHttpMessagesAsync(resourceGroupName, databaseAccountName, databaseName).GetAwaiter().GetResult().Body; Assert.NotNull(gremlinGraphs); foreach (GremlinGraphGetResults gremlinGraph in gremlinGraphs) { cosmosDBManagementClient.GremlinResources.DeleteGremlinGraphWithHttpMessagesAsync(resourceGroupName, databaseAccountName, databaseName, gremlinGraph.Name); } foreach (GremlinDatabaseGetResults gremlinDatabase in gremlinDatabases) { cosmosDBManagementClient.GremlinResources.DeleteGremlinDatabaseWithHttpMessagesAsync(resourceGroupName, databaseAccountName, gremlinDatabase.Name); } } }
/// <summary> /// Create or update an Azure Cosmos DB Gremlin database /// </summary> /// <param name='operations'> /// The operations group for this extension method. /// </param> /// <param name='resourceGroupName'> /// Name of an Azure resource group. /// </param> /// <param name='accountName'> /// Cosmos DB database account name. /// </param> /// <param name='databaseName'> /// Cosmos DB database name. /// </param> /// <param name='createUpdateGremlinDatabaseParameters'> /// The parameters to provide for the current Gremlin database. /// </param> /// <param name='cancellationToken'> /// The cancellation token. /// </param> public static async Task <GremlinDatabaseGetResults> BeginCreateUpdateGremlinDatabaseAsync(this IGremlinResourcesOperations operations, string resourceGroupName, string accountName, string databaseName, GremlinDatabaseCreateUpdateParameters createUpdateGremlinDatabaseParameters, CancellationToken cancellationToken = default(CancellationToken)) { using (var _result = await operations.BeginCreateUpdateGremlinDatabaseWithHttpMessagesAsync(resourceGroupName, accountName, databaseName, createUpdateGremlinDatabaseParameters, null, cancellationToken).ConfigureAwait(false)) { return(_result.Body); } }
/// <summary> /// Create or update an Azure Cosmos DB Gremlin database /// </summary> /// <param name='operations'> /// The operations group for this extension method. /// </param> /// <param name='resourceGroupName'> /// Name of an Azure resource group. /// </param> /// <param name='accountName'> /// Cosmos DB database account name. /// </param> /// <param name='databaseName'> /// Cosmos DB database name. /// </param> /// <param name='createUpdateGremlinDatabaseParameters'> /// The parameters to provide for the current Gremlin database. /// </param> public static GremlinDatabaseGetResults BeginCreateUpdateGremlinDatabase(this IGremlinResourcesOperations operations, string resourceGroupName, string accountName, string databaseName, GremlinDatabaseCreateUpdateParameters createUpdateGremlinDatabaseParameters) { return(operations.BeginCreateUpdateGremlinDatabaseAsync(resourceGroupName, accountName, databaseName, createUpdateGremlinDatabaseParameters).GetAwaiter().GetResult()); }
private GremlinGraphGetResults CreateGremlinResources(CosmosDBManagementClient cosmosDBManagementClient, string databaseAccountName, string databaseName, string graphName) { GremlinDatabaseGetResults databaseGetResults = null; try { databaseGetResults = cosmosDBManagementClient.GremlinResources.GetGremlinDatabase(this.fixture.ResourceGroupName, databaseAccountName, databaseName); } catch (Exception) { } if (databaseGetResults == null) { GremlinDatabaseCreateUpdateParameters gremlinDatabaseCreateUpdateParameters = new GremlinDatabaseCreateUpdateParameters { Resource = new GremlinDatabaseResource { Id = databaseName }, Options = new CreateUpdateOptions() }; databaseGetResults = cosmosDBManagementClient.GremlinResources.CreateUpdateGremlinDatabase( this.fixture.ResourceGroupName, databaseAccountName, databaseName, gremlinDatabaseCreateUpdateParameters); } GremlinGraphGetResults graphGetResult = null; try { graphGetResult = cosmosDBManagementClient.GremlinResources.GetGremlinGraph(this.fixture.ResourceGroupName, databaseAccountName, databaseName, graphName); } catch (Exception) { } if (graphGetResult == null) { GremlinGraphCreateUpdateParameters collectionCreateParams = new GremlinGraphCreateUpdateParameters() { Resource = new GremlinGraphResource { Id = graphName, PartitionKey = new ContainerPartitionKey() { Kind = "Hash", Paths = new List <string> { "/pk" } } }, Options = new CreateUpdateOptions() { Throughput = 30000 } }; graphGetResult = cosmosDBManagementClient.GremlinResources.CreateUpdateGremlinGraph( this.fixture.ResourceGroupName, databaseAccountName, databaseName, graphName, collectionCreateParams); } return(graphGetResult); }
public void GraphCRUDTests() { var handler1 = new RecordedDelegatingHandler { StatusCodeToReturn = HttpStatusCode.OK }; var handler2 = new RecordedDelegatingHandler { StatusCodeToReturn = HttpStatusCode.OK }; using (MockContext context = MockContext.Start(this.GetType())) { // Create client CosmosDBManagementClient cosmosDBManagementClient = CosmosDBTestUtilities.GetCosmosDBClient(context, handler1); ResourceManagementClient resourcesClient = CosmosDBTestUtilities.GetResourceManagementClient(context, handler2); string resourceGroupName = "CosmosDBResourceGroup2510"; string databaseAccountName = "db1002"; bool isDatabaseNameExists = cosmosDBManagementClient.DatabaseAccounts.CheckNameExistsWithHttpMessagesAsync(databaseAccountName).GetAwaiter().GetResult().Body; //DatabaseAccountGetResults databaseAccount = null; if (!isDatabaseNameExists) { return; // SDK doesnt support creation of Cassandra, Table, Gremlin Accounts, use accounts created using Azure portal // List<Location> locations = new List<Location>(); // locations.Add(new Location(locationName: "East US")); // DatabaseAccountCreateUpdateParameters databaseAccountCreateUpdateParameters = new DatabaseAccountCreateUpdateParameters // { // Location = "EAST US", // Locations = locations // }; //databaseAccount = cosmosDBManagementClient.DatabaseAccounts.CreateOrUpdateWithHttpMessagesAsync(resourceGroupName, databaseAccountName, databaseAccountCreateUpdateParameters).GetAwaiter().GetResult().Body; } string databaseName = "databaseName1002"; string databaseName2 = "databaseName21002"; GremlinDatabaseCreateUpdateParameters gremlinDatabaseCreateUpdateParameters = new GremlinDatabaseCreateUpdateParameters { Resource = new GremlinDatabaseResource { Id = databaseName }, Options = new Dictionary <string, string>() { { "foo", "bar" } } }; GremlinDatabaseGetResults gremlinDatabaseGetResults = cosmosDBManagementClient.GremlinResources.CreateUpdateGremlinDatabaseWithHttpMessagesAsync(resourceGroupName, databaseAccountName, databaseName, gremlinDatabaseCreateUpdateParameters).GetAwaiter().GetResult().Body; Assert.NotNull(gremlinDatabaseGetResults); Assert.Equal(databaseName, gremlinDatabaseGetResults.Name); GremlinDatabaseGetResults gremlinDatabaseGetResults1 = cosmosDBManagementClient.GremlinResources.GetGremlinDatabaseWithHttpMessagesAsync(resourceGroupName, databaseAccountName, databaseName).GetAwaiter().GetResult().Body; Assert.NotNull(gremlinDatabaseGetResults1); Assert.Equal(databaseName, gremlinDatabaseGetResults1.Name); VerifyEqualGremlinDatabases(gremlinDatabaseGetResults, gremlinDatabaseGetResults1); GremlinDatabaseCreateUpdateParameters gremlinDatabaseCreateUpdateParameters2 = new GremlinDatabaseCreateUpdateParameters { Location = "EAST US", Tags = new Dictionary <string, string> { { "key3", "value3" }, { "key4", "value4" } }, Resource = new GremlinDatabaseResource { Id = databaseName2 }, Options = new Dictionary <string, string>() { { "Throughput", "700" } } }; GremlinDatabaseGetResults gremlinDatabaseGetResults2 = cosmosDBManagementClient.GremlinResources.CreateUpdateGremlinDatabaseWithHttpMessagesAsync(resourceGroupName, databaseAccountName, databaseName2, gremlinDatabaseCreateUpdateParameters2).GetAwaiter().GetResult().Body; Assert.NotNull(gremlinDatabaseGetResults2); Assert.Equal(databaseName2, gremlinDatabaseGetResults2.Name); IEnumerable <GremlinDatabaseGetResults> gremlinDatabases = cosmosDBManagementClient.GremlinResources.ListGremlinDatabasesWithHttpMessagesAsync(resourceGroupName, databaseAccountName).GetAwaiter().GetResult().Body; Assert.NotNull(gremlinDatabases); ThroughputSettingsGetResults throughputSettingsGetResults = cosmosDBManagementClient.GremlinResources.GetGremlinDatabaseThroughputWithHttpMessagesAsync(resourceGroupName, databaseAccountName, databaseName2).GetAwaiter().GetResult().Body; Assert.NotNull(throughputSettingsGetResults); Assert.NotNull(throughputSettingsGetResults.Name); Assert.Equal("Microsoft.DocumentDB/databaseAccounts/gremlinDatabases/throughputSettings", throughputSettingsGetResults.Type); string gremlinGraphName = "gremlinGraphName1002"; GremlinGraphCreateUpdateParameters gremlinGraphCreateUpdateParameters = new GremlinGraphCreateUpdateParameters { Resource = new GremlinGraphResource { Id = gremlinGraphName, PartitionKey = new ContainerPartitionKey { Kind = "Hash", Paths = new List <string> { "/address" } } }, Options = new Dictionary <string, string>() { { "Throughput", "700" } } }; GremlinGraphGetResults gremlinGraphGetResults = cosmosDBManagementClient.GremlinResources.CreateUpdateGremlinGraphWithHttpMessagesAsync(resourceGroupName, databaseAccountName, databaseName, gremlinGraphName, gremlinGraphCreateUpdateParameters).GetAwaiter().GetResult().Body; Assert.NotNull(gremlinGraphGetResults); IEnumerable <GremlinGraphGetResults> gremlinGraphs = cosmosDBManagementClient.GremlinResources.ListGremlinGraphsWithHttpMessagesAsync(resourceGroupName, databaseAccountName, databaseName).GetAwaiter().GetResult().Body; Assert.NotNull(gremlinGraphs); foreach (GremlinGraphGetResults gremlinGraph in gremlinGraphs) { cosmosDBManagementClient.GremlinResources.DeleteGremlinGraphWithHttpMessagesAsync(resourceGroupName, databaseAccountName, databaseName, gremlinGraph.Name); } foreach (GremlinDatabaseGetResults gremlinDatabase in gremlinDatabases) { cosmosDBManagementClient.GremlinResources.DeleteGremlinDatabaseWithHttpMessagesAsync(resourceGroupName, databaseAccountName, gremlinDatabase.Name); } } }