- Add comprehensive health check system with multiple endpoints - Add Prometheus metrics endpoint - Add production logging configurations (5 strategies) - Add complete deployment documentation suite: * QUICKSTART.md - 30-minute deployment guide * DEPLOYMENT_CHECKLIST.md - Printable verification checklist * DEPLOYMENT_WORKFLOW.md - Complete deployment lifecycle * PRODUCTION_DEPLOYMENT.md - Comprehensive technical reference * production-logging.md - Logging configuration guide * ANSIBLE_DEPLOYMENT.md - Infrastructure as Code automation * README.md - Navigation hub * DEPLOYMENT_SUMMARY.md - Executive summary - Add deployment scripts and automation - Add DEPLOYMENT_PLAN.md - Concrete plan for immediate deployment - Update README with production-ready features All production infrastructure is now complete and ready for deployment.
58 lines
1.6 KiB
PHP
58 lines
1.6 KiB
PHP
<?php
|
|
|
|
declare(strict_types=1);
|
|
|
|
use App\Framework\Deployment\Ssl\ValueObjects\CertificateMode;
|
|
|
|
describe('CertificateMode', function () {
|
|
it('has production mode', function () {
|
|
expect(CertificateMode::PRODUCTION->value)->toBe('production');
|
|
});
|
|
|
|
it('has staging mode', function () {
|
|
expect(CertificateMode::STAGING->value)->toBe('staging');
|
|
});
|
|
|
|
it('detects production mode', function () {
|
|
$mode = CertificateMode::PRODUCTION;
|
|
|
|
expect($mode->isProduction())->toBeTrue();
|
|
expect($mode->isStaging())->toBeFalse();
|
|
});
|
|
|
|
it('detects staging mode', function () {
|
|
$mode = CertificateMode::STAGING;
|
|
|
|
expect($mode->isStaging())->toBeTrue();
|
|
expect($mode->isProduction())->toBeFalse();
|
|
});
|
|
|
|
it('returns correct certbot flag for production', function () {
|
|
$mode = CertificateMode::PRODUCTION;
|
|
|
|
expect($mode->toCertbotFlag())->toBe('');
|
|
});
|
|
|
|
it('returns correct certbot flag for staging', function () {
|
|
$mode = CertificateMode::STAGING;
|
|
|
|
expect($mode->toCertbotFlag())->toBe('--staging');
|
|
});
|
|
|
|
it('has descriptive text for production', function () {
|
|
$mode = CertificateMode::PRODUCTION;
|
|
|
|
expect($mode->getDescription())
|
|
->toContain('Production')
|
|
->toContain('Let\'s Encrypt');
|
|
});
|
|
|
|
it('has descriptive text for staging', function () {
|
|
$mode = CertificateMode::STAGING;
|
|
|
|
expect($mode->getDescription())
|
|
->toContain('Staging')
|
|
->toContain('Testing');
|
|
});
|
|
});
|