kctl-github 0.5.3__tar.gz → 0.5.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.
Files changed (32) hide show
  1. {kctl_github-0.5.3 → kctl_github-0.5.4}/PKG-INFO +1 -1
  2. {kctl_github-0.5.3 → kctl_github-0.5.4}/pyproject.toml +1 -1
  3. {kctl_github-0.5.3 → kctl_github-0.5.4}/src/kctl_github/__init__.py +1 -1
  4. kctl_github-0.5.4/tests/test_standard.py +57 -0
  5. {kctl_github-0.5.3 → kctl_github-0.5.4}/.gitignore +0 -0
  6. {kctl_github-0.5.3 → kctl_github-0.5.4}/README.md +0 -0
  7. {kctl_github-0.5.3 → kctl_github-0.5.4}/skills/github-admin/SKILL.md +0 -0
  8. {kctl_github-0.5.3 → kctl_github-0.5.4}/src/kctl_github/__main__.py +0 -0
  9. {kctl_github-0.5.3 → kctl_github-0.5.4}/src/kctl_github/cli.py +0 -0
  10. {kctl_github-0.5.3 → kctl_github-0.5.4}/src/kctl_github/commands/__init__.py +0 -0
  11. {kctl_github-0.5.3 → kctl_github-0.5.4}/src/kctl_github/commands/billing.py +0 -0
  12. {kctl_github-0.5.3 → kctl_github-0.5.4}/src/kctl_github/commands/ci.py +0 -0
  13. {kctl_github-0.5.3 → kctl_github-0.5.4}/src/kctl_github/commands/config_cmd.py +0 -0
  14. {kctl_github-0.5.3 → kctl_github-0.5.4}/src/kctl_github/commands/dashboard.py +0 -0
  15. {kctl_github-0.5.3 → kctl_github-0.5.4}/src/kctl_github/commands/doctor_cmd.py +0 -0
  16. {kctl_github-0.5.3 → kctl_github-0.5.4}/src/kctl_github/commands/health.py +0 -0
  17. {kctl_github-0.5.3 → kctl_github-0.5.4}/src/kctl_github/commands/labels.py +0 -0
  18. {kctl_github-0.5.3 → kctl_github-0.5.4}/src/kctl_github/commands/prs.py +0 -0
  19. {kctl_github-0.5.3 → kctl_github-0.5.4}/src/kctl_github/commands/repos.py +0 -0
  20. {kctl_github-0.5.3 → kctl_github-0.5.4}/src/kctl_github/commands/secrets.py +0 -0
  21. {kctl_github-0.5.3 → kctl_github-0.5.4}/src/kctl_github/commands/skill_cmd.py +0 -0
  22. {kctl_github-0.5.3 → kctl_github-0.5.4}/src/kctl_github/commands/stats.py +0 -0
  23. {kctl_github-0.5.3 → kctl_github-0.5.4}/src/kctl_github/core/__init__.py +0 -0
  24. {kctl_github-0.5.3 → kctl_github-0.5.4}/src/kctl_github/core/callbacks.py +0 -0
  25. {kctl_github-0.5.3 → kctl_github-0.5.4}/src/kctl_github/core/client.py +0 -0
  26. {kctl_github-0.5.3 → kctl_github-0.5.4}/src/kctl_github/core/config.py +0 -0
  27. {kctl_github-0.5.3 → kctl_github-0.5.4}/src/kctl_github/core/exceptions.py +0 -0
  28. {kctl_github-0.5.3 → kctl_github-0.5.4}/src/kctl_github/core/plugins.py +0 -0
  29. {kctl_github-0.5.3 → kctl_github-0.5.4}/tests/conftest.py +0 -0
  30. {kctl_github-0.5.3 → kctl_github-0.5.4}/tests/test_client.py +0 -0
  31. {kctl_github-0.5.3 → kctl_github-0.5.4}/tests/test_dashboard.py +0 -0
  32. {kctl_github-0.5.3 → kctl_github-0.5.4}/tests/test_smoke.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: kctl-github
3
- Version: 0.5.3
3
+ Version: 0.5.4
4
4
  Summary: Kodemeio GitHub CLI — cross-repo GitHub management
5
5
  Requires-Python: >=3.12
6
6
  Requires-Dist: httpx>=0.28.0
@@ -4,7 +4,7 @@ build-backend = "hatchling.build"
4
4
 
5
5
  [project]
6
6
  name = "kctl-github"
7
- version = "0.5.3"
7
+ version = "0.5.4"
8
8
  description = "Kodemeio GitHub CLI — cross-repo GitHub management"
9
9
  requires-python = ">=3.12"
10
10
  dependencies = [
@@ -1,3 +1,3 @@
1
1
  """kctl-github: GitHub integration management."""
2
2
 
3
- __version__ = "0.5.3"
3
+ __version__ = "0.5.4"
@@ -0,0 +1,57 @@
1
+ """Standard CLI smoke/config/completions tests for kctl-github."""
2
+
3
+ from __future__ import annotations
4
+
5
+ import pytest
6
+ from typer.testing import CliRunner
7
+
8
+ from kctl_github.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
+ ["billing", "ci", "config", "dashboard", "doctor", "health", "labels", "prs", "repos", "secrets", "stats"],
37
+ )
38
+ def test_group_help(self, group: str) -> None:
39
+ result = runner.invoke(app, [group, "--help"])
40
+ assert result.exit_code == 0, result.output
41
+
42
+
43
+ class TestConfigSubcommands:
44
+ def test_config_help(self) -> None:
45
+ result = runner.invoke(app, ["config", "--help"])
46
+ assert result.exit_code == 0
47
+
48
+ def test_config_show(self) -> None:
49
+ result = runner.invoke(app, ["config", "show"])
50
+ assert result.exit_code in (0, 1, 2)
51
+
52
+
53
+ class TestCompletions:
54
+ @pytest.mark.parametrize("shell", ["bash", "zsh", "fish"])
55
+ def test_completions(self, shell: str) -> None:
56
+ result = runner.invoke(app, ["completions", shell])
57
+ assert result.exit_code == 0, result.output
File without changes
File without changes