/home/techb158/cosmic.abdallabala.com/tests
NameSizeModeActions
access-control.test.js56180666editdlrm
api-workflow.test.js71450666editdlrm
gate-workflow.test.js29460666editdlrm
integration-workflow.test.js37030666editdlrm
mitigation-workflow.test.js33450666editdlrm
oauth-live-connectors.test.js56220666editdlrm
production-hardening.test.js27750666editdlrm
reporting-workflow.test.js38000666editdlrm
risk-engine.test.js12440666editdlrm
storage-layer.test.js32720666editdlrm
Edit: /home/techb158/cosmic.abdallabala.com/tests/production-hardening.test.js (2775B)
const assert = require('assert'); const fs = require('fs'); const os = require('os'); const path = require('path'); const { getRuntimeConfig, validateRuntimeConfig } = require('../src/config/runtimeConfig.js'); const { buildSecurityHeaders, buildContentSecurityPolicy } = require('../src/security/securityHeaders.js'); const { JsonDatabase } = require('../src/storage/jsonDatabase.js'); const { OperationsService } = require('../src/operations/operationsService.js'); (function runProductionHardeningTests() { const tmp = fs.mkdtempSync(path.join(os.tmpdir(), 'cosmic-prod-')); const dataDir = path.join(tmp, 'data'); const backupDir = path.join(tmp, 'backups'); fs.mkdirSync(dataDir, { recursive: true }); const dbFile = path.join(dataDir, 'database.json'); fs.writeFileSync(dbFile, JSON.stringify({ tables: { projects: [], audit_events: [] } }, null, 2), 'utf8'); const config = getRuntimeConfig({ NODE_ENV: 'production', PORT: '9090', COSMIC_DB_FILE: dbFile, COSMIC_BACKUP_DIR: backupDir, COSMIC_TOKEN_ENCRYPTION_KEY: '12345678901234567890123456789012', COSMIC_LIVE_PM_ENABLED: 'true', COSMIC_ALLOWED_ORIGINS: 'https://example.com', COSMIC_FRAME_ANCESTORS: "'self',https://trello.com", COSMIC_FORCE_HTTPS: 'true', COSMIC_HSTS_ENABLED: 'true' }, tmp); assert.strictEqual(config.port, 9090); assert.strictEqual(config.production, true); assert.strictEqual(config.livePmEnabled, true); assert.strictEqual(config.tokenEncryptionConfigured, true); assert.strictEqual(validateRuntimeConfig(config).ok, true); const csp = buildContentSecurityPolicy(config); assert(csp.includes("default-src 'self'")); assert(csp.includes('frame-ancestors')); assert(csp.includes('https://trello.com')); const headers = buildSecurityHeaders({ headers: { 'x-forwarded-proto': 'https' } }, config); assert.strictEqual(headers['X-Content-Type-Options'], 'nosniff'); assert(headers['Strict-Transport-Security'].includes('max-age')); assert(headers['Content-Security-Policy'].includes("object-src 'none'")); const database = new JsonDatabase(dbFile); const operations = new OperationsService(database, config); const readiness = operations.getReadiness(); assert.strictEqual(readiness.ok, true); assert(readiness.checks.find(check => check.name === 'database-readable').ok); const backup = operations.createBackup('USER-SYSTEM'); assert(fs.existsSync(backup.backupFile)); assert(fs.existsSync(`${backup.backupFile}.manifest.json`)); assert.strictEqual(backup.sizeBytes > 0, true); assert.strictEqual(backup.sha256.length, 64); const backups = operations.listBackups(); assert.strictEqual(backups.length, 1); console.log('All COSMIC AI-Risk production hardening tests passed.'); })();