chore(cli): update docs and add test class

This commit is contained in:
pedrooot
2024-05-27 15:59:45 +02:00
parent 0b5650059e
commit 59c946ac0b
2 changed files with 55 additions and 66 deletions
+1 -1
View File
@@ -20,7 +20,7 @@ List compliance by provider
List compliance requirements by provider
`python cli/cli.py <provider> list-compliance-requirements`
`python cli/cli.py <provider> list-compliance-requirements [compliance(s)]`
List checks by provider
+54 -65
View File
@@ -1,81 +1,70 @@
from typer.testing import CliRunner
from cli.cli import (
app, # Asegúrate de que "your_module" sea el nombre del módulo donde está definido tu código
)
from cli.cli import app
runner = CliRunner()
def test_banner_show():
result = runner.invoke(app, ["banner", "--show"])
assert result.exit_code == 0
assert "Banner is not shown." not in result.output
class TestCLI:
def test_banner_show(self):
result = runner.invoke(app, ["banner", "--show"])
assert result.exit_code == 0
assert "Banner is not shown." not in result.output
def test_banner_no_show(self):
result = runner.invoke(app, ["banner", "--no-show"])
assert result.exit_code == 0
assert "Banner is not shown." in result.output
def test_banner_no_show():
result = runner.invoke(app, ["banner", "--no-show"])
assert result.exit_code == 0
assert "Banner is not shown." in result.output
def test_list_services_aws(self):
result = runner.invoke(app, ["aws", "list-services"])
assert result.exit_code == 0
assert "available services." in result.output
def test_list_fixers_aws(self):
result = runner.invoke(app, ["aws", "list-fixers"])
assert result.exit_code == 0
assert "available fixers." in result.output
def test_list_services_aws():
result = runner.invoke(app, ["aws", "list-services"])
assert result.exit_code == 0
assert "available services." in result.output
def test_list_categories_aws(self):
result = runner.invoke(app, ["aws", "list-categories"])
assert result.exit_code == 0
assert "available categories." in result.output
def test_list_compliance_aws():
result = runner.invoke(app, ["aws", "list-compliance"])
assert result.exit_code == 0
assert "available Compliance Frameworks." in result.output
def test_list_fixers_aws():
result = runner.invoke(app, ["aws", "list-fixers"])
assert result.exit_code == 0
assert "available fixers." in result.output
def test_list_compliance_requirements_aws():
result = runner.invoke(
app, ["aws", "list-compliance-requirements", "cis_2.0_aws", "soc2_aws"]
)
assert result.exit_code == 0
assert "Listing CIS 2.0 AWS Compliance Requirements:" in result.output
assert "Listing SOC2 AWS Compliance Requirements:" in result.output
def test_list_compliance_requirements_no_compliance_aws():
result = runner.invoke(app, ["aws", "list-compliance-requirements"])
assert result.exit_code == 2
assert "Expected at least one" in result.output
def test_list_categories_aws():
result = runner.invoke(app, ["aws", "list-categories"])
assert result.exit_code == 0
assert "available categories." in result.output
def test_list_compliance_requirements_one_invalid_aws():
invalid_name = "invalid"
result = runner.invoke(
app, ["aws", "list-compliance-requirements", "cis_2.0_aws", invalid_name]
)
assert result.exit_code == 0
assert "Listing CIS 2.0 AWS Compliance Requirements:" in result.output
assert f"{invalid_name} is not a valid Compliance Framework" in result.output
def test_list_checks_aws():
result = runner.invoke(app, ["aws", "list-checks"])
assert result.exit_code == 0
assert "available checks." in result.output
def test_list_compliance_aws():
result = runner.invoke(app, ["aws", "list-compliance"])
assert result.exit_code == 0
assert "available Compliance Frameworks." in result.output
def test_list_compliance_requirements_aws():
result = runner.invoke(
app, ["aws", "list-compliance-requirements", "cis_2.0_aws", "soc2_aws"]
)
assert result.exit_code == 0
assert "Listing CIS 2.0 AWS Compliance Requirements:" in result.output
assert "Listing SOC2 AWS Compliance Requirements:" in result.output
def test_list_compliance_requirements_no_compliance_aws():
result = runner.invoke(app, ["aws", "list-compliance-requirements"])
assert result.exit_code == 2
assert "Expected at least one" in result.output
def test_list_compliance_requirements_one_invalid_aws():
invalid_name = "invalid"
result = runner.invoke(
app, ["aws", "list-compliance-requirements", "cis_2.0_aws", invalid_name]
)
assert result.exit_code == 0
assert "Listing CIS 2.0 AWS Compliance Requirements:" in result.output
assert f"{invalid_name} is not a valid Compliance Framework" in result.output
def test_list_checks_aws():
result = runner.invoke(app, ["aws", "list-checks"])
assert result.exit_code == 0
assert "available checks." in result.output
def test_list_checks_json_aws():
result = runner.invoke(app, ["aws", "list-checks-json"])
assert result.exit_code == 0
assert "aws" in result.output
assert result.output.startswith("{") and result.output.endswith("}\n")
def test_list_checks_json_aws():
result = runner.invoke(app, ["aws", "list-checks-json"])
assert result.exit_code == 0
assert "aws" in result.output
assert result.output.startswith("{") and result.output.endswith("}\n")