52 lines
1.9 KiB
Python
52 lines
1.9 KiB
Python
from __future__ import annotations
|
|
|
|
import unittest
|
|
from pathlib import Path
|
|
|
|
from mais_humana.commands import (
|
|
base_validation_commands,
|
|
command_ids,
|
|
command_count,
|
|
command_count_label,
|
|
command_summary,
|
|
command_titles,
|
|
commands_by_risk,
|
|
commands_markdown,
|
|
filter_commands,
|
|
first_command,
|
|
has_command,
|
|
quote_path,
|
|
require_command,
|
|
)
|
|
|
|
|
|
class CommandCatalogTests(unittest.TestCase):
|
|
def test_quote_path_is_powershell_safe_for_single_quotes(self) -> None:
|
|
self.assertEqual(quote_path("C:/tmp/a'b"), "'C:/tmp/a''b'")
|
|
|
|
def test_base_commands_include_compile_tests_and_generation(self) -> None:
|
|
commands = base_validation_commands(Path("G:/_codex-git/tudo-para-ia-mais-humana"), Path("G:/central"))
|
|
ids = {command.command_id for command in commands}
|
|
self.assertIn("python-compileall", ids)
|
|
self.assertIn("python-unittest", ids)
|
|
self.assertIn("generate-reports", ids)
|
|
self.assertIn("semantic-sql-counts", ids)
|
|
markdown = commands_markdown(commands)
|
|
self.assertIn("```powershell", markdown)
|
|
self.assertIn("Comandos humanos", markdown)
|
|
self.assertIn("low", commands_by_risk(commands))
|
|
self.assertEqual(set(command_ids(commands)), ids)
|
|
self.assertIn("comandos", command_summary(commands))
|
|
self.assertTrue(filter_commands(commands, risk="low"))
|
|
self.assertTrue(filter_commands(commands, text="relatorios"))
|
|
self.assertIsNotNone(first_command(commands, "python-unittest"))
|
|
self.assertEqual(require_command(commands, "python-unittest").command_id, "python-unittest")
|
|
self.assertIn("Executar testes unitarios", command_titles(commands))
|
|
self.assertTrue(has_command(commands, "python-compileall"))
|
|
self.assertEqual(command_count(commands), len(commands))
|
|
self.assertIn("comandos", command_count_label(commands))
|
|
|
|
|
|
if __name__ == "__main__":
|
|
unittest.main()
|