Files
CoreRasurae e8bd348c77
CI / lint (pull_request) Successful in 41s
CI / typecheck (pull_request) Successful in 56s
CI / security (pull_request) Successful in 51s
CI / quality (pull_request) Successful in 53s
CI / integration_tests (pull_request) Successful in 1m10s
CI / build (pull_request) Successful in 43s
CI / unit_tests (pull_request) Successful in 3m30s
CI / coverage (pull_request) Successful in 3m22s
CI / status-check (pull_request) Successful in 4s
CI / quality (push) Successful in 45s
CI / security (push) Successful in 48s
CI / lint (push) Successful in 49s
CI / typecheck (push) Successful in 50s
CI / build (push) Successful in 49s
CI / integration_tests (push) Successful in 1m9s
CI / unit_tests (push) Successful in 3m13s
CI / coverage (push) Successful in 3m7s
CI / status-check (push) Successful in 3s
feat(registry): implement RegistryError hierarchy with typed exceptions
Add RegistryError base with message, details, and original_reference fields.
Implement all 9 typed exception types per Package Registry Standard §13.2:
PackageNotFoundError, InvalidPackageIdError, InvalidPackageReferenceError,
VersionNotFoundError, ValidationError, AuthenticationRequiredError,
AccessDeniedError, ConflictError, and RegistryNetworkError.

RegistryNetworkError carries status_code and url for transport failures.
__str__ includes original_reference when available.
exception_for_status() maps HTTP codes to typed exceptions.
_ERROR_TYPE_MAP enables error-type parsing from JSON error bodies.

23 Behave BDD scenarios in features/registry_exceptions.feature.
12 Robot Framework integration tests in robot/exceptions.robot.
Existing registry_http_client tests updated for InternalServerError removal.

ISSUES CLOSED: #29
2026-06-11 20:44:54 +01:00

57 lines
3.1 KiB
Plaintext

*** Settings ***
Documentation Integration tests for package version and imports
Library Process
Library OperatingSystem
Library String
*** Variables ***
${EXPECTED_VERSION} 2.1.0
*** Test Cases ***
Package Version Is Correct
[Documentation] Verify __version__ matches expected value
${result}= Run Process python -c import cleveractors; print(cleveractors.__version__)
... timeout=60s
Should Be Equal As Integers ${result.rc} 0
Should Contain ${result.stdout} ${EXPECTED_VERSION}
Package Can Be Imported
[Documentation] Verify all public symbols can be imported
${result}= Run Process python -c
... from cleveractors import Agent, ContextManager, ReactiveCleverAgentsApp, CleverAgentsException; print("OK")
... timeout=30s
Should Be Equal As Integers ${result.rc} 0
Should Contain ${result.stdout} OK
Agent Submodules Are Importable
[Documentation] Verify all agent modules can be imported
${result}= Run Process python -c
... from cleveractors.agents.base import Agent, AgentWithMemory\; from cleveractors.agents.llm import LLMAgent\; from cleveractors.agents.tool import ToolAgent\; from cleveractors.agents.composite import CompositeAgent\; from cleveractors.agents.chain import ChainAgent\; from cleveractors.agents.factory import AgentFactory\; print("OK")
... timeout=30s
Should Be Equal As Integers ${result.rc} 0
Should Contain ${result.stdout} OK
Core Modules Are Importable
[Documentation] Verify core modules import correctly
${result}= Run Process python -c
... from cleveractors.core.config import ConfigurationManager, SchemaValidator\; from cleveractors.core.exceptions import ConfigurationError, AgentCreationError, RoutingError, TemplateError, ExecutionError, ApplicationError, StreamRoutingError\; from cleveractors.core.progress import ProgressBarManager\; print("OK")
... timeout=5s
Should Be Equal As Integers ${result.rc} 0
Should Contain ${result.stdout} OK
Templates Modules Are Importable
[Documentation] Verify template modules import correctly
${result}= Run Process python -c
... from cleveractors.templates.renderer import TemplateEngine, TemplateRenderer\; from cleveractors.templates.registry import TemplateRegistry\; from cleveractors.templates.enhanced_registry import EnhancedTemplateRegistry\; print("OK")
... timeout=5s
Should Be Equal As Integers ${result.rc} 0
Should Contain ${result.stdout} OK
LangGraph Modules Are Importable
[Documentation] Verify LangGraph modules import correctly
${result}= Run Process python -c
... from cleveractors.langgraph.graph import LangGraph\; from cleveractors.langgraph.bridge import RxPyLangGraphBridge\; from cleveractors.langgraph.state import GraphState\; from cleveractors.langgraph.nodes import NodeConfig, NodeType\; print("OK")
... timeout=5s
Should Be Equal As Integers ${result.rc} 0
Should Contain ${result.stdout} OK