/** * Shared test data for CCS npm tests * Common test profiles, configurations, and sample data */ module.exports = { // Valid profile names for testing validProfiles: ['glm', 'sonnet', 'default', 'haiku', 'opus'], // Invalid profile names for error testing invalidProfiles: [ 'test@profile', // Contains @ symbol 'profile;injection', // Contains semicolon 'profile|pipe', // Contains pipe 'profile>redirect', // Contains redirect 'profile$(command)', // Contains command injection '', // Empty string ' ', // Space only 'profile with spaces', // Contains spaces 'profile-with-dashes!',// Contains exclamation 'a'.repeat(100), // Very long name ], // Sample configuration data sampleConfig: { profiles: { glm: '~/.ccs/glm.settings.json', sonnet: '~/.ccs/sonnet.settings.json', default: '~/.ccs/default.settings.json' } }, // Sample GLM settings sampleGlmSettings: { env: { ANTHROPIC_BASE_URL: "https://api.z.ai/api/anthropic", ANTHROPIC_AUTH_TOKEN: "your_api_key_here", ANTHROPIC_MODEL: "glm-5", ANTHROPIC_DEFAULT_OPUS_MODEL: "glm-5", ANTHROPIC_DEFAULT_SONNET_MODEL: "glm-5", ANTHROPIC_DEFAULT_HAIKU_MODEL: "glm-5" } }, // Sample default settings sampleDefaultSettings: { env: { ANTHROPIC_MODEL: "claude-3-5-sonnet-20241022" } }, // Test flags and arguments testFlags: [ '-c', '--version', '-v', '--help', '-h', '--verbose', '-p', '--debug', '--test-flag', '-d', '--model=gpt4', '-1' ], // Test flag combinations testFlagCombinations: [ ['-c'], ['--verbose'], ['-p', 'test prompt'], ['-c', '--verbose'], ['glm', '-c'], ['glm', '-c', '--verbose'], ['--version'], ['--help'] ], // Cross-platform path test cases pathTestCases: [ ['~', 'home directory expansion'], ['~/test', 'home subdirectory'], ['.', 'current directory'], ['..', 'parent directory'], ['/tmp', 'absolute path'], ['relative/path', 'relative path'], ['path with spaces', 'path containing spaces'] ], // Expected output patterns expectedPatterns: { version: /\b(2\.\d+\.\d+)\b/, help: /usage|help|options/i, error: /error|failed|not found/i, success: /\[OK\]|\[✓\]|success/i }, // Mock file system paths for testing mockPaths: { homeDir: process.env.HOME || process.env.USERPROFILE || '/tmp/test-home', ccsDir: '~/.ccs', configFile: '~/.ccs/config.json', glmFile: '~/.ccs/glm.settings.json', versionFile: '~/.ccs/VERSION' }, // Test environment variables testEnvVars: { NO_COLOR: '1', CI: 'true', NODE_ENV: 'test' } };