Skip to content

Core Filtering (Ignore Configuration)

This document is non-normative and targets contributors. For core flow, see the core module. For defaults and wiring in the CLI/Gradle distributions, see distribution settings. For user-facing configuration, see YAML config.

Overview

The filtering package applies ignore rules for paths, operations, and test cases. Filtering is applied after a TestSuite is assembled.

Ignore config structure

The ignore configuration is provided via TestGenerationSettings.ignoreTestCases and validated by IgnoreConfigValidator:

  • Path key -> "*": ignore the entire path.
  • Path key -> Map<String, "*">: ignore a specific HTTP method.
  • Path key -> Map<String, List<String>>: ignore specific test case names.

Examples:

// Ignore entire path
mapOf("/api/users" to "*")

// Ignore specific method
mapOf("/api/users" to mapOf("DELETE" to "*"))

// Ignore specific test cases
mapOf("/api/users" to mapOf("GET" to listOf("Invalid Query role parameter")))

// Wildcard path for all paths
mapOf("*" to mapOf("OPTIONS" to "*"))

Runtime behavior (IgnoreConfigHandler)

  • Path keys are matched as-is; missing paths are logged as warnings.
  • Method keys are uppercased; matching is case-insensitive.
  • The wildcard path (*) merges with path-specific rules; wildcard method entries override path-specific entries on key collisions.
  • The forbidden *:*:* wildcard pattern is ignored with a warning.
  • Filtering happens after suite assembly; if all cases are filtered, the operation is recorded as "not tested".