TestRunRequest.cs•2.21 kB
// Copyright (c) Microsoft Corporation.
// Licensed under the MIT License.
using System.Text.Json.Serialization;
using AzureMcp.LoadTesting.Models.LoadTest;
namespace AzureMcp.LoadTesting.Models.LoadTestRun;
public class TestRunRequest
{
    /// <summary>
    /// Gets or sets the ID of the test configuration to execute.
    /// </summary>
    [JsonPropertyName("testId")]
    public string TestId { get; set; } = string.Empty;
    /// <summary>
    /// Gets or sets the display name for this test run execution.
    /// </summary>
    [JsonPropertyName("displayName")]
    public string DisplayName { get; set; } = string.Empty;
    /// <summary>
    /// Gets or sets secrets used during test execution (passwords, API keys, etc.).
    /// </summary>
    [JsonPropertyName("secrets")]
    public IDictionary<string, string> Secrets { get; set; } = new Dictionary<string, string>();
    /// <summary>
    /// Gets or sets the client certificate for authentication.
    /// </summary>
    [JsonPropertyName("certificate")]
    public string? Certificate { get; set; } = null;
    /// <summary>
    /// Gets or sets environment variables available during test execution.
    /// </summary>
    [JsonPropertyName("environmentVariables")]
    public IDictionary<string, string> EnvironmentVariables { get; set; } = new Dictionary<string, string>();
    /// <summary>
    /// Gets or sets the description of this test run.
    /// </summary>
    [JsonPropertyName("description")]
    public string? Description { get; set; } = null;
    /// <summary>
    /// Gets or sets the load test execution configuration.
    /// </summary>
    [JsonPropertyName("loadTestConfiguration")]
    public LoadTestConfiguration LoadTestConfiguration { get; set; } = new LoadTestConfiguration();
    /// <summary>
    /// Gets or sets whether debug logging is enabled. Default is false.
    /// </summary>
    [JsonPropertyName("debugLogsEnabled")]
    public bool? DebugLogsEnabled { get; set; } = false;
    /// <summary>
    /// Gets or sets the level of request data to capture during execution.
    /// </summary>
    [JsonPropertyName("requestDataLevel")]
    public RequestDataLevel? RequestDataLevel { get; set; }
}