public async Task SqlStoredProcedureCreateAndUpdate() { var storedProcedure = await CreateSqlStoredProcedure(null); Assert.AreEqual(_storedProcedureName, storedProcedure.Data.Resource.Id); // Seems bug in swagger definition //Assert.AreEqual(TestThroughput1, container.Data.Options.Throughput); bool ifExists = await SqlStoredProcedureCollection.ExistsAsync(_storedProcedureName); Assert.True(ifExists); // NOT WORKING API //ThroughputSettingsData throughtput = await container.GetMongoDBCollectionThroughputAsync(); SqlStoredProcedureResource storedProcedure2 = await SqlStoredProcedureCollection.GetAsync(_storedProcedureName); Assert.AreEqual(_storedProcedureName, storedProcedure2.Data.Resource.Id); //Assert.AreEqual(TestThroughput1, container2.Data.Options.Throughput); VerifySqlStoredProcedures(storedProcedure, storedProcedure2); // TODO: use original tags see defect: https://github.com/Azure/autorest.csharp/issues/1590 var updateOptions = new SqlStoredProcedureCreateOrUpdateContent(AzureLocation.WestUS, storedProcedure.Data.Resource) { Options = new CreateUpdateOptions { Throughput = TestThroughput2 } }; storedProcedure = (await SqlStoredProcedureCollection.CreateOrUpdateAsync(WaitUntil.Completed, _storedProcedureName, updateOptions)).Value; Assert.AreEqual(_storedProcedureName, storedProcedure.Data.Resource.Id); storedProcedure2 = await SqlStoredProcedureCollection.GetAsync(_storedProcedureName); VerifySqlStoredProcedures(storedProcedure, storedProcedure2); }
internal async Task <SqlStoredProcedureResource> CreateSqlStoredProcedure(AutoscaleSettings autoscale) { _storedProcedureName = Recording.GenerateAssetName("sql-stored-procedure-"); SqlStoredProcedureCreateOrUpdateContent sqlDatabaseCreateUpdateOptions = new SqlStoredProcedureCreateOrUpdateContent(AzureLocation.WestUS, new Models.SqlStoredProcedureResource(_storedProcedureName) { Body = @"function () { var updatetext = getContext(); var response = context.getResponse(); response.setBody('First Hello World'); }" }) { Options = BuildDatabaseCreateUpdateOptions(TestThroughput1, autoscale), }; var sqlContainerLro = await SqlStoredProcedureCollection.CreateOrUpdateAsync(WaitUntil.Completed, _storedProcedureName, sqlDatabaseCreateUpdateOptions); return(sqlContainerLro.Value); }
public virtual async Task <ArmOperation <SqlStoredProcedureResource> > CreateOrUpdateAsync(WaitUntil waitUntil, string storedProcedureName, SqlStoredProcedureCreateOrUpdateContent content, CancellationToken cancellationToken = default) { Argument.AssertNotNullOrEmpty(storedProcedureName, nameof(storedProcedureName)); Argument.AssertNotNull(content, nameof(content)); using var scope = _sqlStoredProcedureSqlResourcesClientDiagnostics.CreateScope("SqlStoredProcedureCollection.CreateOrUpdate"); scope.Start(); try { var response = await _sqlStoredProcedureSqlResourcesRestClient.CreateUpdateSqlStoredProcedureAsync(Id.SubscriptionId, Id.ResourceGroupName, Id.Parent.Parent.Name, Id.Parent.Name, Id.Name, storedProcedureName, content, cancellationToken).ConfigureAwait(false); var operation = new CosmosDBArmOperation <SqlStoredProcedureResource>(new SqlStoredProcedureOperationSource(Client), _sqlStoredProcedureSqlResourcesClientDiagnostics, Pipeline, _sqlStoredProcedureSqlResourcesRestClient.CreateCreateUpdateSqlStoredProcedureRequest(Id.SubscriptionId, Id.ResourceGroupName, Id.Parent.Parent.Name, Id.Parent.Name, Id.Name, storedProcedureName, content).Request, response, OperationFinalStateVia.Location); if (waitUntil == WaitUntil.Completed) { await operation.WaitForCompletionAsync(cancellationToken).ConfigureAwait(false); } return(operation); } catch (Exception e) { scope.Failed(e); throw; } }