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 SqlStoredProcedureCreateUpdateData updateOptions = new SqlStoredProcedureCreateUpdateData(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-"); SqlStoredProcedureCreateUpdateData sqlDatabaseCreateUpdateOptions = new SqlStoredProcedureCreateUpdateData(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 <SqlStoredProcedure> > CreateOrUpdateAsync(WaitUntil waitUntil, string storedProcedureName, SqlStoredProcedureCreateUpdateData createUpdateSqlStoredProcedureParameters, CancellationToken cancellationToken = default) { Argument.AssertNotNullOrEmpty(storedProcedureName, nameof(storedProcedureName)); Argument.AssertNotNull(createUpdateSqlStoredProcedureParameters, nameof(createUpdateSqlStoredProcedureParameters)); 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, createUpdateSqlStoredProcedureParameters, cancellationToken).ConfigureAwait(false); var operation = new CosmosDBArmOperation <SqlStoredProcedure>(new SqlStoredProcedureOperationSource(Client), _sqlStoredProcedureSqlResourcesClientDiagnostics, Pipeline, _sqlStoredProcedureSqlResourcesRestClient.CreateCreateUpdateSqlStoredProcedureRequest(Id.SubscriptionId, Id.ResourceGroupName, Id.Parent.Parent.Name, Id.Parent.Name, Id.Name, storedProcedureName, createUpdateSqlStoredProcedureParameters).Request, response, OperationFinalStateVia.Location); if (waitUntil == WaitUntil.Completed) { await operation.WaitForCompletionAsync(cancellationToken).ConfigureAwait(false); } return(operation); } catch (Exception e) { scope.Failed(e); throw; } }