#!/usr/bin/env python3
"""
Individual test script for SSLChecks module
"""
import sys
import os
from pathlib import Path

# Add project root to path
project_root = Path(__file__).parent.parent
sys.path.insert(0, str(project_root))

from dotenv import load_dotenv
from tests.utils.logger import Logger
from tests.utils.version_helper import VersionHelper
from tests.utils.docker_utils import DockerUtils
from tests.modules.ssl_checks import SSLChecks

def main():
    # Load environment variables
    env_file = project_root / ".env"
    if env_file.exists():
        load_dotenv(env_file)
    
    # Initialize logger
    logger = Logger(verbose=True)
    
    # Get current version
    version_helper = VersionHelper(str(project_root))
    current_version = version_helper.get_version_string()
    
    logger.header("SSLChecks Module Test")
    logger.info("TEST", f"Testing SSLChecks with version: {current_version}")
    
    # Create DockerUtils instance
    docker_utils = DockerUtils(logger, version=current_version)
    docker_utils.set_project_dir(str(project_root))
    
    # Get domain from environment
    domain = os.getenv("DOMAIN", "localhost")
    
    # Create SSLChecks instance
    ssl_checks = SSLChecks(logger, docker_utils, domain, version=current_version)
    
    # Run checks
    result = ssl_checks.run_all_checks()
    
    # Print result
    logger.print_summary()
    
    if result:
        print("\n✓ SSLChecks module test PASSED")
        return 0
    else:
        print("\n✗ SSLChecks module test FAILED")
        return 1

if __name__ == "__main__":
    sys.exit(main())
