previa-runner 1.0.0-alpha.18

API for remote execution of integration and load tests via HTTP streaming (SSE).
Documentation
use utoipa::OpenApi;

use previa_runner::{
    AssertionResult, Pipeline, PipelineStep, RuntimeSpec, StepAssertion, StepExecutionResult,
    StepRequest, StepResponse,
};

use crate::server::models::{
    E2eSummary, E2eTestRequest, ErrorResponse, ExecutionInitEvent, LoadTestConfig, LoadTestMetrics,
    LoadTestRequest, RunnerInfoResponse, StepStartEvent,
};

#[derive(OpenApi)]
#[openapi(
    info(
        title = "Test Execution API",
        version = "1.0.0",
        description = "API para execucao remota de testes end-to-end e carga via HTTP streaming (SSE).",
        contact(
            name = "Previa Labs",
            email = "previa@previa.dev"
        )
    ),
    paths(
        crate::server::handlers::e2e::run_e2e_test,
        crate::server::handlers::load::run_load_test,
        crate::server::handlers::system::info_runtime
    ),
    components(schemas(
        E2eTestRequest,
        LoadTestRequest,
        Pipeline,
        PipelineStep,
        StepAssertion,
        AssertionResult,
        RuntimeSpec,
        StepRequest,
        StepResponse,
        StepExecutionResult,
        LoadTestConfig,
        ExecutionInitEvent,
        StepStartEvent,
        E2eSummary,
        LoadTestMetrics,
        RunnerInfoResponse,
        ErrorResponse
    )),
    tags(
        (name = "tests", description = "Execucao remota de testes end-to-end e carga")
    ),
    servers(
        (url = "http://localhost:3000/api/v1", description = "URL base do servidor de execucao")
    )
)]
pub struct ApiDoc;