/// <summary> /// Creates new logger. /// </summary> /// <param name='operations'> /// Reference to the /// Microsoft.Azure.Management.ApiManagement.ILoggerOperations. /// </param> /// <param name='resourceGroupName'> /// Required. The name of the resource group. /// </param> /// <param name='serviceName'> /// Required. The name of the Api Management service. /// </param> /// <param name='loggerid'> /// Required. Identifier of the logger. /// </param> /// <param name='parameters'> /// Required. Create parameters. /// </param> /// <returns> /// A standard service response including an HTTP status code and /// request ID. /// </returns> public static AzureOperationResponse Create(this ILoggerOperations operations, string resourceGroupName, string serviceName, string loggerid, LoggerCreateParameters parameters) { return Task.Factory.StartNew((object s) => { return ((ILoggerOperations)s).CreateAsync(resourceGroupName, serviceName, loggerid, parameters); } , operations, CancellationToken.None, TaskCreationOptions.None, TaskScheduler.Default).Unwrap().GetAwaiter().GetResult(); }
public void LoggersCreateListUpdateDelete() { TestUtilities.StartTest("SmapiFunctionalTests", "LoggersCreateListUpdateDelete"); try { // create new group with default parameters string newloggerId = TestUtilities.GenerateName("newlogger"); string loggerDescription = TestUtilities.GenerateName("newloggerDescription"); string eventHubName = ApiManagementHelper.EventHubName; string eventHubConnectionString = ApiManagementHelper.EventHubConnectionSendPolicyConnectionString; var credentials = new Dictionary<string, string>(); credentials.Add("name", eventHubName); credentials.Add("connectionString", eventHubConnectionString); var loggerCreateParameters = new LoggerCreateParameters(LoggerTypeContract.AzureEventHub, credentials); loggerCreateParameters.Description = loggerDescription; var createResponse = ApiManagementClient.Loggers.Create( ResourceGroupName, ApiManagementServiceName, newloggerId, loggerCreateParameters); Assert.NotNull(createResponse); Assert.Equal(HttpStatusCode.Created, createResponse.StatusCode); // get to check it was created var getResponse = ApiManagementClient.Loggers.Get(ResourceGroupName, ApiManagementServiceName, newloggerId); Assert.NotNull(getResponse); Assert.NotNull(getResponse.Value); Assert.Equal(newloggerId, getResponse.Value.Id); Assert.NotNull(getResponse.Value.Description); Assert.NotNull(getResponse.Value.Credentials); Assert.Equal(2, getResponse.Value.Credentials.Keys.Count); Assert.Equal(LoggerTypeContract.AzureEventHub, getResponse.Value.Type); var listLoggers = ApiManagementClient.Loggers.List(ResourceGroupName, ApiManagementServiceName, null); Assert.NotNull(listLoggers); Assert.NotNull(listLoggers.Result); Assert.NotNull(listLoggers.Result.Values); // there should be one user Assert.True(listLoggers.Result.TotalCount >= 1); Assert.True(listLoggers.Result.Values.Count >= 1); // patch logger string patchedDescription = TestUtilities.GenerateName("patchedDescription"); var patchResponse = ApiManagementClient.Loggers.Update( ResourceGroupName, ApiManagementServiceName, newloggerId, new LoggerUpdateParameters(LoggerTypeContract.AzureEventHub) { Description = patchedDescription }, getResponse.ETag); Assert.NotNull(patchResponse); // get to check it was patched getResponse = ApiManagementClient.Loggers.Get(ResourceGroupName, ApiManagementServiceName, newloggerId); Assert.NotNull(getResponse); Assert.NotNull(getResponse.Value); Assert.Equal(newloggerId, getResponse.Value.Id); Assert.Equal(patchedDescription, getResponse.Value.Description); Assert.NotNull(getResponse.Value.Credentials); Assert.Equal(LoggerTypeContract.AzureEventHub, getResponse.Value.Type); // delete the logger var deleteResponse = ApiManagementClient.Loggers.Delete( ResourceGroupName, ApiManagementServiceName, newloggerId, getResponse.ETag); Assert.NotNull(deleteResponse); Assert.Equal(HttpStatusCode.NoContent, deleteResponse.StatusCode); // get the deleted logger to make sure it was deleted try { ApiManagementClient.Loggers.Get(ResourceGroupName, ApiManagementServiceName, newloggerId); throw new Exception("This code should not have been executed."); } catch (CloudException ex) { Assert.Equal(HttpStatusCode.NotFound, ex.Response.StatusCode); } } finally { TestUtilities.EndTest(); } }
/// <summary> /// Creates new logger. /// </summary> /// <param name='operations'> /// Reference to the /// Microsoft.Azure.Management.ApiManagement.ILoggerOperations. /// </param> /// <param name='resourceGroupName'> /// Required. The name of the resource group. /// </param> /// <param name='serviceName'> /// Required. The name of the Api Management service. /// </param> /// <param name='loggerid'> /// Required. Identifier of the logger. /// </param> /// <param name='parameters'> /// Required. Create parameters. /// </param> /// <returns> /// A standard service response including an HTTP status code and /// request ID. /// </returns> public static Task<AzureOperationResponse> CreateAsync(this ILoggerOperations operations, string resourceGroupName, string serviceName, string loggerid, LoggerCreateParameters parameters) { return operations.CreateAsync(resourceGroupName, serviceName, loggerid, parameters, CancellationToken.None); }