Overview

Tool Name

manage_tests_tools

Purpose

The manage_tests_tools suite lets you define and operate Genesis-internal system tests. Create new test processes, adjust priorities, enable or disable execution, and list current test configurations so quality checks run reliably across environments.

Key Features & Functions

Define Test Processes

Create and configure functional, integration, and performance tests with clear identities.

Control Execution

Enable or disable tests to align with maintenance windows and change controls.

Prioritize Runs

Set execution order so critical checks run first.

Audit and Monitor

List all tests with status, type, and configuration to maintain coverage.
Keep test names descriptive and stable. Pair a concise name with a short purpose line so lists remain scannable.

Input Parameters for Each Function

manage_tests

Parameters
NameDefinitionFormat
actionOperation to perform. One of CREATE, UPDATE, CHANGE_STATUS, LIST.String
test_process_idUnique test id. Required for CREATE, UPDATE, and CHANGE_STATUS.String
test_process_nameHuman readable unique name for the test.String
test_priorityExecution priority. Lower values run earlier.Integer
test_typeTest state. Use enabled for active or disabled for inactive.String
Use distinct ids and names. Collisions are rejected to protect scheduling and reporting.

Use Cases

  1. Data Engineering Provision smoke tests for ETL jobs, validate model builds, and confirm permissions before nightly runs. Example: Run a connection and row-count sanity check before dbt transformations.
  2. Data Ops Gate deployments with integration tests, monitor harvest and job health, and toggle tests during maintenance. Example: Enable a high-priority pipeline latency check and auto-disable it during planned warehouse upgrades.
  3. Business Analyst Verify reporting extracts and scheduled queries finish successfully and within thresholds. Example: Ensure weekly KPI aggregation completes and returns non-empty results before distributing dashboards.

Workflow/How It Works

  1. Create a test process with a unique id, name, priority, and initial state.
  2. Update configuration as requirements evolve, including priority or parameters.
  3. Change status to enable or disable execution without removing definitions.
  4. List tests to review coverage, status, and execution ordering.
Avoid assigning the same priority to many critical tests. Use a clear spacing strategy so important additions can slot in later.

Integration Relevance

  • genesis_job_tools for background execution and log following.
  • system_stats_tools to validate performance thresholds.
  • data_connector_tools for connectivity and query checks.
  • make_baby_bot to validate data agent behaviors via targeted test processes.
  • All components that require ongoing QA to protect reliability.

Configuration Details

  • Test ids and names must be unique across the platform.
  • Lower test_priority values execute first. Reserve gaps to allow future inserts.
  • Use enabled to participate in schedules and disabled to pause execution.
  • Align test windows with maintenance schedules to reduce noisy failures.

Limitations or Notes

  1. High concurrency or large suites can contend for resources and extend runtimes.
  2. Duplicate names are rejected. Choose stable, descriptive identifiers.
  3. Priority ties may require manual review to ensure intended order.
  4. Test execution depends on system load and external connectivity.
  5. Complex inter-test dependencies should be represented with careful priority planning.
  6. If deletion is used in your environment, treat removal as permanent and archive configs first.

Output

  • Creation Confirmation with assigned id, name, priority, type, and next steps.
  • Updates Summary of changed fields and the active configuration.
  • Status changes Acknowledgment of enable or disable with the current state.
  • Listings Array of tests including id, name, priority, type, and status.
  • Errors Clear messages for invalid ids, duplicate names, or unsupported actions.