/** * Test Utilities - Public API * * Exports all test utilities for use in integration and unit tests. */ // Persistent CLI testing (new) export { CLIContext, ResponseBuilder, type RunOptions } from './cli-context'; export { type CLIResult, CLIResultImpl } from './cli-result'; export { fixtures, homebridgeModule, caddyModule, dnsExternalModule, multiModule, } from './module-fixtures'; // Legacy CLI testing (deprecated - use CLIContext instead) export { runCli, runCliExpectingFailure } from './cli'; // Integration test setup export { setupIntegrationTest, type IntegrationTestContext } from './integration'; // Bus responder fixture for stage-4+ tests export { startBusResponderFixture, type BusResponderFixture, type BusResponderFixtureOptions, } from './bus-responder'; // Database utilities export { setupTestDatabase, setupTestDatabaseFile, cleanupTestDatabase, } from './database'; // Filesystem utilities export { createTempDirectory, removeTempDirectory, copyFixture, createTempDirectoryWithCleanup, } from './filesystem'; // Module utilities export { importTestModule, cleanupTestModule, importMultipleTestModules, cleanupMultipleTestModules, getModuleState, type ImportTestModuleOptions, } from './modules'; // Fixture utilities export { getFixturePath, loadTestValues, getModuleTestConfig, getModuleTestSecrets, getSystemTestConfig, getSystemTestSecrets, type TestValues, } from './fixtures'; // Golden file testing export { compareDirectories, formatDifferences, type FileDifference, type ComparisonResult, type ComparisonOptions, } from './golden-diff'; // Value extraction export { extractTerraformValues, extractAnsibleValues, compareExtractedValues, formatValueMismatches, type ExtractedValues, type ValueExtractionResult, } from './value-extractor';