4e185fab6b
Remove 35+ unused imports across 20+ files (W0611). Wrap 19 lines to fit under 100 character limit (C0301). Add type casts and annotations in egress_addon_core.py to resolve pyright errors caused by JSON parsing of untyped objects. Key changes: - Remove unused imports (abstractmethod, mock utilities, etc) - Split long lines at logical breaks (method calls, error messages) - Add typing.cast() for proper type inference in JSON parsing - Explicit type annotations for dict/list accesses Results: - Pylint rating: 8.73/10 - egress_addon_core.py: 0 pyright errors (was 15) - All W0611 and C0301 issues fixed Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>
29 lines
1.0 KiB
Python
29 lines
1.0 KiB
Python
"""Unit: deploy_key_provisioner factory (PRD 0048)."""
|
|
|
|
from __future__ import annotations
|
|
|
|
import unittest
|
|
|
|
from bot_bottle.deploy_key_provisioner import DeployKeyProvisioner, get_provisioner
|
|
from bot_bottle.manifest import ManifestError
|
|
|
|
|
|
class TestGetProvisioner(unittest.TestCase):
|
|
def test_gitea_returns_gitea_provisioner(self):
|
|
from bot_bottle.contrib.gitea.deploy_key_provisioner import (
|
|
GiteaDeployKeyProvisioner,
|
|
)
|
|
p = get_provisioner("gitea", token="tok", api_url="https://gitea.example.com")
|
|
self.assertIsInstance(p, GiteaDeployKeyProvisioner)
|
|
self.assertIsInstance(p, DeployKeyProvisioner)
|
|
|
|
def test_unknown_provider_raises_manifest_error(self):
|
|
with self.assertRaises(ManifestError) as ctx:
|
|
get_provisioner("github", token="tok", api_url="https://github.com")
|
|
self.assertIn("github", str(ctx.exception))
|
|
self.assertIn("provisioned_key provider", str(ctx.exception))
|
|
|
|
|
|
if __name__ == "__main__":
|
|
unittest.main()
|