kctl-react 0.6.3__tar.gz → 0.6.4__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {kctl_react-0.6.3 → kctl_react-0.6.4}/PKG-INFO +1 -1
- {kctl_react-0.6.3 → kctl_react-0.6.4}/pyproject.toml +1 -1
- {kctl_react-0.6.3 → kctl_react-0.6.4}/src/kctl_react/__init__.py +1 -1
- kctl_react-0.6.4/tests/test_standard.py +88 -0
- {kctl_react-0.6.3 → kctl_react-0.6.4}/.gitignore +0 -0
- {kctl_react-0.6.3 → kctl_react-0.6.4}/README.md +0 -0
- {kctl_react-0.6.3 → kctl_react-0.6.4}/e2e/.gitignore +0 -0
- {kctl_react-0.6.3 → kctl_react-0.6.4}/e2e/README.md +0 -0
- {kctl_react-0.6.3 → kctl_react-0.6.4}/e2e/fixtures/auth.ts +0 -0
- {kctl_react-0.6.3 → kctl_react-0.6.4}/e2e/package.json +0 -0
- {kctl_react-0.6.3 → kctl_react-0.6.4}/e2e/playwright.config.ts +0 -0
- {kctl_react-0.6.3 → kctl_react-0.6.4}/e2e/tests/smoke/connectivity.spec.ts +0 -0
- {kctl_react-0.6.3 → kctl_react-0.6.4}/skills/react-dev/SKILL.md +0 -0
- {kctl_react-0.6.3 → kctl_react-0.6.4}/src/kctl_react/__main__.py +0 -0
- {kctl_react-0.6.3 → kctl_react-0.6.4}/src/kctl_react/cli.py +0 -0
- {kctl_react-0.6.3 → kctl_react-0.6.4}/src/kctl_react/commands/__init__.py +0 -0
- {kctl_react-0.6.3 → kctl_react-0.6.4}/src/kctl_react/commands/a11y.py +0 -0
- {kctl_react-0.6.3 → kctl_react-0.6.4}/src/kctl_react/commands/affected.py +0 -0
- {kctl_react-0.6.3 → kctl_react-0.6.4}/src/kctl_react/commands/apps.py +0 -0
- {kctl_react-0.6.3 → kctl_react-0.6.4}/src/kctl_react/commands/build.py +0 -0
- {kctl_react-0.6.3 → kctl_react-0.6.4}/src/kctl_react/commands/bundle_cmd.py +0 -0
- {kctl_react-0.6.3 → kctl_react-0.6.4}/src/kctl_react/commands/cap.py +0 -0
- {kctl_react-0.6.3 → kctl_react-0.6.4}/src/kctl_react/commands/clean.py +0 -0
- {kctl_react-0.6.3 → kctl_react-0.6.4}/src/kctl_react/commands/codegen.py +0 -0
- {kctl_react-0.6.3 → kctl_react-0.6.4}/src/kctl_react/commands/compliance.py +0 -0
- {kctl_react-0.6.3 → kctl_react-0.6.4}/src/kctl_react/commands/config_cmd.py +0 -0
- {kctl_react-0.6.3 → kctl_react-0.6.4}/src/kctl_react/commands/dashboard.py +0 -0
- {kctl_react-0.6.3 → kctl_react-0.6.4}/src/kctl_react/commands/deploy.py +0 -0
- {kctl_react-0.6.3 → kctl_react-0.6.4}/src/kctl_react/commands/deps.py +0 -0
- {kctl_react-0.6.3 → kctl_react-0.6.4}/src/kctl_react/commands/dev.py +0 -0
- {kctl_react-0.6.3 → kctl_react-0.6.4}/src/kctl_react/commands/docker_cmd.py +0 -0
- {kctl_react-0.6.3 → kctl_react-0.6.4}/src/kctl_react/commands/doctor.py +0 -0
- {kctl_react-0.6.3 → kctl_react-0.6.4}/src/kctl_react/commands/e2e.py +0 -0
- {kctl_react-0.6.3 → kctl_react-0.6.4}/src/kctl_react/commands/env.py +0 -0
- {kctl_react-0.6.3 → kctl_react-0.6.4}/src/kctl_react/commands/i18n.py +0 -0
- {kctl_react-0.6.3 → kctl_react-0.6.4}/src/kctl_react/commands/lint.py +0 -0
- {kctl_react-0.6.3 → kctl_react-0.6.4}/src/kctl_react/commands/maintenance.py +0 -0
- {kctl_react-0.6.3 → kctl_react-0.6.4}/src/kctl_react/commands/monitor_cmd.py +0 -0
- {kctl_react-0.6.3 → kctl_react-0.6.4}/src/kctl_react/commands/observe.py +0 -0
- {kctl_react-0.6.3 → kctl_react-0.6.4}/src/kctl_react/commands/packages.py +0 -0
- {kctl_react-0.6.3 → kctl_react-0.6.4}/src/kctl_react/commands/perf.py +0 -0
- {kctl_react-0.6.3 → kctl_react-0.6.4}/src/kctl_react/commands/pipeline.py +0 -0
- {kctl_react-0.6.3 → kctl_react-0.6.4}/src/kctl_react/commands/pwa.py +0 -0
- {kctl_react-0.6.3 → kctl_react-0.6.4}/src/kctl_react/commands/scaffold.py +0 -0
- {kctl_react-0.6.3 → kctl_react-0.6.4}/src/kctl_react/commands/security.py +0 -0
- {kctl_react-0.6.3 → kctl_react-0.6.4}/src/kctl_react/commands/skill_cmd.py +0 -0
- {kctl_react-0.6.3 → kctl_react-0.6.4}/src/kctl_react/commands/state.py +0 -0
- {kctl_react-0.6.3 → kctl_react-0.6.4}/src/kctl_react/commands/test_cmd.py +0 -0
- {kctl_react-0.6.3 → kctl_react-0.6.4}/src/kctl_react/commands/ui_audit.py +0 -0
- {kctl_react-0.6.3 → kctl_react-0.6.4}/src/kctl_react/core/__init__.py +0 -0
- {kctl_react-0.6.3 → kctl_react-0.6.4}/src/kctl_react/core/analyzers.py +0 -0
- {kctl_react-0.6.3 → kctl_react-0.6.4}/src/kctl_react/core/callbacks.py +0 -0
- {kctl_react-0.6.3 → kctl_react-0.6.4}/src/kctl_react/core/compliance/__init__.py +0 -0
- {kctl_react-0.6.3 → kctl_react-0.6.4}/src/kctl_react/core/compliance/api_check/__init__.py +0 -0
- {kctl_react-0.6.3 → kctl_react-0.6.4}/src/kctl_react/core/compliance/api_check/checks/__init__.py +0 -0
- {kctl_react-0.6.3 → kctl_react-0.6.4}/src/kctl_react/core/compliance/api_check/checks/endpoints.py +0 -0
- {kctl_react-0.6.3 → kctl_react-0.6.4}/src/kctl_react/core/compliance/api_check/checks/envelope.py +0 -0
- {kctl_react-0.6.3 → kctl_react-0.6.4}/src/kctl_react/core/compliance/api_check/checks/naming.py +0 -0
- {kctl_react-0.6.3 → kctl_react-0.6.4}/src/kctl_react/core/compliance/api_check/checks/params.py +0 -0
- {kctl_react-0.6.3 → kctl_react-0.6.4}/src/kctl_react/core/compliance/api_check/checks/requests.py +0 -0
- {kctl_react-0.6.3 → kctl_react-0.6.4}/src/kctl_react/core/compliance/api_check/checks/types.py +0 -0
- {kctl_react-0.6.3 → kctl_react-0.6.4}/src/kctl_react/core/compliance/api_check/hooks.py +0 -0
- {kctl_react-0.6.3 → kctl_react-0.6.4}/src/kctl_react/core/compliance/api_check/matcher.py +0 -0
- {kctl_react-0.6.3 → kctl_react-0.6.4}/src/kctl_react/core/compliance/api_check/schema.py +0 -0
- {kctl_react-0.6.3 → kctl_react-0.6.4}/src/kctl_react/core/compliance/api_health/__init__.py +0 -0
- {kctl_react-0.6.3 → kctl_react-0.6.4}/src/kctl_react/core/compliance/api_health/checks/__init__.py +0 -0
- {kctl_react-0.6.3 → kctl_react-0.6.4}/src/kctl_react/core/compliance/api_health/checks/auth.py +0 -0
- {kctl_react-0.6.3 → kctl_react-0.6.4}/src/kctl_react/core/compliance/api_health/checks/reachable.py +0 -0
- {kctl_react-0.6.3 → kctl_react-0.6.4}/src/kctl_react/core/compliance/api_health/checks/response.py +0 -0
- {kctl_react-0.6.3 → kctl_react-0.6.4}/src/kctl_react/core/compliance/api_health/checks/timing.py +0 -0
- {kctl_react-0.6.3 → kctl_react-0.6.4}/src/kctl_react/core/compliance/api_health/client.py +0 -0
- {kctl_react-0.6.3 → kctl_react-0.6.4}/src/kctl_react/core/compliance/api_health/sampler.py +0 -0
- {kctl_react-0.6.3 → kctl_react-0.6.4}/src/kctl_react/core/compliance/checks/__init__.py +0 -0
- {kctl_react-0.6.3 → kctl_react-0.6.4}/src/kctl_react/core/compliance/checks/api.py +0 -0
- {kctl_react-0.6.3 → kctl_react-0.6.4}/src/kctl_react/core/compliance/checks/codegen.py +0 -0
- {kctl_react-0.6.3 → kctl_react-0.6.4}/src/kctl_react/core/compliance/checks/darkmode.py +0 -0
- {kctl_react-0.6.3 → kctl_react-0.6.4}/src/kctl_react/core/compliance/checks/errors.py +0 -0
- {kctl_react-0.6.3 → kctl_react-0.6.4}/src/kctl_react/core/compliance/checks/features.py +0 -0
- {kctl_react-0.6.3 → kctl_react-0.6.4}/src/kctl_react/core/compliance/checks/i18n_check.py +0 -0
- {kctl_react-0.6.3 → kctl_react-0.6.4}/src/kctl_react/core/compliance/checks/imports.py +0 -0
- {kctl_react-0.6.3 → kctl_react-0.6.4}/src/kctl_react/core/compliance/checks/navigation.py +0 -0
- {kctl_react-0.6.3 → kctl_react-0.6.4}/src/kctl_react/core/compliance/checks/practices.py +0 -0
- {kctl_react-0.6.3 → kctl_react-0.6.4}/src/kctl_react/core/compliance/checks/providers.py +0 -0
- {kctl_react-0.6.3 → kctl_react-0.6.4}/src/kctl_react/core/compliance/checks/pwa.py +0 -0
- {kctl_react-0.6.3 → kctl_react-0.6.4}/src/kctl_react/core/compliance/checks/responsive.py +0 -0
- {kctl_react-0.6.3 → kctl_react-0.6.4}/src/kctl_react/core/compliance/checks/scripts.py +0 -0
- {kctl_react-0.6.3 → kctl_react-0.6.4}/src/kctl_react/core/compliance/checks/shadcn.py +0 -0
- {kctl_react-0.6.3 → kctl_react-0.6.4}/src/kctl_react/core/compliance/checks/structure.py +0 -0
- {kctl_react-0.6.3 → kctl_react-0.6.4}/src/kctl_react/core/compliance/checks/testing.py +0 -0
- {kctl_react-0.6.3 → kctl_react-0.6.4}/src/kctl_react/core/compliance/checks/theme.py +0 -0
- {kctl_react-0.6.3 → kctl_react-0.6.4}/src/kctl_react/core/compliance/checks/ui_standard.py +0 -0
- {kctl_react-0.6.3 → kctl_react-0.6.4}/src/kctl_react/core/compliance/checks/vite.py +0 -0
- {kctl_react-0.6.3 → kctl_react-0.6.4}/src/kctl_react/core/compliance/engine.py +0 -0
- {kctl_react-0.6.3 → kctl_react-0.6.4}/src/kctl_react/core/compliance/exceptions_map.py +0 -0
- {kctl_react-0.6.3 → kctl_react-0.6.4}/src/kctl_react/core/compliance/fixes/__init__.py +0 -0
- {kctl_react-0.6.3 → kctl_react-0.6.4}/src/kctl_react/core/compliance/fixes/codegen_fix.py +0 -0
- {kctl_react-0.6.3 → kctl_react-0.6.4}/src/kctl_react/core/compliance/fixes/i18n_fix.py +0 -0
- {kctl_react-0.6.3 → kctl_react-0.6.4}/src/kctl_react/core/compliance/fixes/imports_fix.py +0 -0
- {kctl_react-0.6.3 → kctl_react-0.6.4}/src/kctl_react/core/compliance/fixes/structure_fix.py +0 -0
- {kctl_react-0.6.3 → kctl_react-0.6.4}/src/kctl_react/core/compliance/fixes/theme_fix.py +0 -0
- {kctl_react-0.6.3 → kctl_react-0.6.4}/src/kctl_react/core/compliance/models.py +0 -0
- {kctl_react-0.6.3 → kctl_react-0.6.4}/src/kctl_react/core/config.py +0 -0
- {kctl_react-0.6.3 → kctl_react-0.6.4}/src/kctl_react/core/discovery.py +0 -0
- {kctl_react-0.6.3 → kctl_react-0.6.4}/src/kctl_react/core/exceptions.py +0 -0
- {kctl_react-0.6.3 → kctl_react-0.6.4}/src/kctl_react/core/git.py +0 -0
- {kctl_react-0.6.3 → kctl_react-0.6.4}/src/kctl_react/core/history.py +0 -0
- {kctl_react-0.6.3 → kctl_react-0.6.4}/src/kctl_react/core/output.py +0 -0
- {kctl_react-0.6.3 → kctl_react-0.6.4}/src/kctl_react/core/plugins.py +0 -0
- {kctl_react-0.6.3 → kctl_react-0.6.4}/src/kctl_react/core/runner.py +0 -0
- {kctl_react-0.6.3 → kctl_react-0.6.4}/src/kctl_react/py.typed +0 -0
- {kctl_react-0.6.3 → kctl_react-0.6.4}/tests/conftest.py +0 -0
- {kctl_react-0.6.3 → kctl_react-0.6.4}/tests/test_analyzers.py +0 -0
- {kctl_react-0.6.3 → kctl_react-0.6.4}/tests/test_api_check.py +0 -0
- {kctl_react-0.6.3 → kctl_react-0.6.4}/tests/test_api_health.py +0 -0
- {kctl_react-0.6.3 → kctl_react-0.6.4}/tests/test_cap.py +0 -0
- {kctl_react-0.6.3 → kctl_react-0.6.4}/tests/test_commands.py +0 -0
- {kctl_react-0.6.3 → kctl_react-0.6.4}/tests/test_compliance.py +0 -0
- {kctl_react-0.6.3 → kctl_react-0.6.4}/tests/test_config.py +0 -0
- {kctl_react-0.6.3 → kctl_react-0.6.4}/tests/test_exceptions.py +0 -0
- {kctl_react-0.6.3 → kctl_react-0.6.4}/tests/test_output.py +0 -0
- {kctl_react-0.6.3 → kctl_react-0.6.4}/tests/test_pipeline.py +0 -0
- {kctl_react-0.6.3 → kctl_react-0.6.4}/tests/test_runner.py +0 -0
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
"""Standard CLI smoke/config/completions tests for kctl-react."""
|
|
2
|
+
|
|
3
|
+
from __future__ import annotations
|
|
4
|
+
|
|
5
|
+
import pytest
|
|
6
|
+
from typer.testing import CliRunner
|
|
7
|
+
|
|
8
|
+
from kctl_react.cli import app
|
|
9
|
+
|
|
10
|
+
runner = CliRunner()
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
@pytest.fixture(autouse=True)
|
|
14
|
+
def _isolate(tmp_path, monkeypatch):
|
|
15
|
+
config_dir = tmp_path / "config"
|
|
16
|
+
config_dir.mkdir()
|
|
17
|
+
config_file = config_dir / "config.yaml"
|
|
18
|
+
monkeypatch.setattr("kctl_lib.config.CONFIG_DIR", config_dir, raising=False)
|
|
19
|
+
monkeypatch.setattr("kctl_lib.config.CONFIG_FILE", config_file, raising=False)
|
|
20
|
+
|
|
21
|
+
|
|
22
|
+
class TestVersion:
|
|
23
|
+
def test_version_long(self) -> None:
|
|
24
|
+
result = runner.invoke(app, ["--version"])
|
|
25
|
+
assert result.exit_code == 0
|
|
26
|
+
|
|
27
|
+
|
|
28
|
+
class TestHelp:
|
|
29
|
+
def test_top_level_help(self) -> None:
|
|
30
|
+
result = runner.invoke(app, ["--help"])
|
|
31
|
+
assert result.exit_code == 0
|
|
32
|
+
assert "Usage:" in result.output
|
|
33
|
+
|
|
34
|
+
@pytest.mark.parametrize(
|
|
35
|
+
"group",
|
|
36
|
+
[
|
|
37
|
+
"affected",
|
|
38
|
+
"apps",
|
|
39
|
+
"build",
|
|
40
|
+
"bundle",
|
|
41
|
+
"cap",
|
|
42
|
+
"clean",
|
|
43
|
+
"codegen",
|
|
44
|
+
"compliance",
|
|
45
|
+
"config",
|
|
46
|
+
"dashboard",
|
|
47
|
+
"deploy",
|
|
48
|
+
"deps",
|
|
49
|
+
"dev",
|
|
50
|
+
"docker",
|
|
51
|
+
"doctor",
|
|
52
|
+
"env",
|
|
53
|
+
"info",
|
|
54
|
+
"lint",
|
|
55
|
+
"maintenance",
|
|
56
|
+
"monitor",
|
|
57
|
+
"observe",
|
|
58
|
+
"packages",
|
|
59
|
+
"perf",
|
|
60
|
+
"pipeline",
|
|
61
|
+
"pwa",
|
|
62
|
+
"scaffold",
|
|
63
|
+
"security",
|
|
64
|
+
"state",
|
|
65
|
+
"test",
|
|
66
|
+
"ui",
|
|
67
|
+
],
|
|
68
|
+
)
|
|
69
|
+
def test_group_help(self, group: str) -> None:
|
|
70
|
+
result = runner.invoke(app, [group, "--help"])
|
|
71
|
+
assert result.exit_code == 0, result.output
|
|
72
|
+
|
|
73
|
+
|
|
74
|
+
class TestConfigSubcommands:
|
|
75
|
+
def test_config_help(self) -> None:
|
|
76
|
+
result = runner.invoke(app, ["config", "--help"])
|
|
77
|
+
assert result.exit_code == 0
|
|
78
|
+
|
|
79
|
+
def test_config_show(self) -> None:
|
|
80
|
+
result = runner.invoke(app, ["config", "show"])
|
|
81
|
+
assert result.exit_code in (0, 1, 2)
|
|
82
|
+
|
|
83
|
+
|
|
84
|
+
class TestCompletions:
|
|
85
|
+
@pytest.mark.parametrize("shell", ["bash", "zsh", "fish"])
|
|
86
|
+
def test_completions(self, shell: str) -> None:
|
|
87
|
+
result = runner.invoke(app, ["completions", shell])
|
|
88
|
+
assert result.exit_code == 0, result.output
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{kctl_react-0.6.3 → kctl_react-0.6.4}/src/kctl_react/core/compliance/api_check/checks/__init__.py
RENAMED
|
File without changes
|
{kctl_react-0.6.3 → kctl_react-0.6.4}/src/kctl_react/core/compliance/api_check/checks/endpoints.py
RENAMED
|
File without changes
|
{kctl_react-0.6.3 → kctl_react-0.6.4}/src/kctl_react/core/compliance/api_check/checks/envelope.py
RENAMED
|
File without changes
|
{kctl_react-0.6.3 → kctl_react-0.6.4}/src/kctl_react/core/compliance/api_check/checks/naming.py
RENAMED
|
File without changes
|
{kctl_react-0.6.3 → kctl_react-0.6.4}/src/kctl_react/core/compliance/api_check/checks/params.py
RENAMED
|
File without changes
|
{kctl_react-0.6.3 → kctl_react-0.6.4}/src/kctl_react/core/compliance/api_check/checks/requests.py
RENAMED
|
File without changes
|
{kctl_react-0.6.3 → kctl_react-0.6.4}/src/kctl_react/core/compliance/api_check/checks/types.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{kctl_react-0.6.3 → kctl_react-0.6.4}/src/kctl_react/core/compliance/api_health/checks/__init__.py
RENAMED
|
File without changes
|
{kctl_react-0.6.3 → kctl_react-0.6.4}/src/kctl_react/core/compliance/api_health/checks/auth.py
RENAMED
|
File without changes
|
{kctl_react-0.6.3 → kctl_react-0.6.4}/src/kctl_react/core/compliance/api_health/checks/reachable.py
RENAMED
|
File without changes
|
{kctl_react-0.6.3 → kctl_react-0.6.4}/src/kctl_react/core/compliance/api_health/checks/response.py
RENAMED
|
File without changes
|
{kctl_react-0.6.3 → kctl_react-0.6.4}/src/kctl_react/core/compliance/api_health/checks/timing.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|