kctl-opencloud 0.6.2__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.
Files changed (28) hide show
  1. {kctl_opencloud-0.6.2 → kctl_opencloud-0.6.4}/PKG-INFO +1 -1
  2. {kctl_opencloud-0.6.2 → kctl_opencloud-0.6.4}/pyproject.toml +1 -1
  3. {kctl_opencloud-0.6.2 → kctl_opencloud-0.6.4}/src/kctl_opencloud/__init__.py +1 -1
  4. kctl_opencloud-0.6.4/tests/test_standard.py +57 -0
  5. kctl_opencloud-0.6.2/tests/__init__.py +0 -0
  6. {kctl_opencloud-0.6.2 → kctl_opencloud-0.6.4}/.gitignore +0 -0
  7. {kctl_opencloud-0.6.2 → kctl_opencloud-0.6.4}/README.md +0 -0
  8. {kctl_opencloud-0.6.2 → kctl_opencloud-0.6.4}/skills/opencloud-admin/SKILL.md +0 -0
  9. {kctl_opencloud-0.6.2 → kctl_opencloud-0.6.4}/src/kctl_opencloud/__main__.py +0 -0
  10. {kctl_opencloud-0.6.2 → kctl_opencloud-0.6.4}/src/kctl_opencloud/cli.py +0 -0
  11. {kctl_opencloud-0.6.2 → kctl_opencloud-0.6.4}/src/kctl_opencloud/commands/__init__.py +0 -0
  12. {kctl_opencloud-0.6.2 → kctl_opencloud-0.6.4}/src/kctl_opencloud/commands/config_cmd.py +0 -0
  13. {kctl_opencloud-0.6.2 → kctl_opencloud-0.6.4}/src/kctl_opencloud/commands/dashboard.py +0 -0
  14. {kctl_opencloud-0.6.2 → kctl_opencloud-0.6.4}/src/kctl_opencloud/commands/doctor_cmd.py +0 -0
  15. {kctl_opencloud-0.6.2 → kctl_opencloud-0.6.4}/src/kctl_opencloud/commands/groups.py +0 -0
  16. {kctl_opencloud-0.6.2 → kctl_opencloud-0.6.4}/src/kctl_opencloud/commands/health.py +0 -0
  17. {kctl_opencloud-0.6.2 → kctl_opencloud-0.6.4}/src/kctl_opencloud/commands/shares.py +0 -0
  18. {kctl_opencloud-0.6.2 → kctl_opencloud-0.6.4}/src/kctl_opencloud/commands/skill_cmd.py +0 -0
  19. {kctl_opencloud-0.6.2 → kctl_opencloud-0.6.4}/src/kctl_opencloud/commands/spaces.py +0 -0
  20. {kctl_opencloud-0.6.2 → kctl_opencloud-0.6.4}/src/kctl_opencloud/commands/users.py +0 -0
  21. {kctl_opencloud-0.6.2 → kctl_opencloud-0.6.4}/src/kctl_opencloud/core/__init__.py +0 -0
  22. {kctl_opencloud-0.6.2 → kctl_opencloud-0.6.4}/src/kctl_opencloud/core/callbacks.py +0 -0
  23. {kctl_opencloud-0.6.2 → kctl_opencloud-0.6.4}/src/kctl_opencloud/core/client.py +0 -0
  24. {kctl_opencloud-0.6.2 → kctl_opencloud-0.6.4}/src/kctl_opencloud/core/config.py +0 -0
  25. {kctl_opencloud-0.6.2 → kctl_opencloud-0.6.4}/src/kctl_opencloud/core/exceptions.py +0 -0
  26. {kctl_opencloud-0.6.2 → kctl_opencloud-0.6.4}/src/kctl_opencloud/core/output.py +0 -0
  27. {kctl_opencloud-0.6.2 → kctl_opencloud-0.6.4}/tests/conftest.py +0 -0
  28. {kctl_opencloud-0.6.2 → kctl_opencloud-0.6.4}/tests/test_cli.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: kctl-opencloud
3
- Version: 0.6.2
3
+ Version: 0.6.4
4
4
  Summary: Kodemeio OpenCloud CLI — manage OpenCloud file platform
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-opencloud"
7
- version = "0.6.2"
7
+ version = "0.6.4"
8
8
  description = "Kodemeio OpenCloud CLI — manage OpenCloud file platform"
9
9
  requires-python = ">=3.12"
10
10
  dependencies = [
@@ -1,3 +1,3 @@
1
1
  """kctl-opencloud: Kodemeio OpenCloud CLI."""
2
2
 
3
- __version__ = "0.6.2"
3
+ __version__ = "0.6.4"
@@ -0,0 +1,57 @@
1
+ """Standard CLI smoke/config/completions tests for kctl-opencloud."""
2
+
3
+ from __future__ import annotations
4
+
5
+ import pytest
6
+ from typer.testing import CliRunner
7
+
8
+ from kctl_opencloud.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
+ ["config", "dashboard", "doctor", "groups", "health", "shares", "spaces", "users"],
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)
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