b122ec7ed5
CI / lint (pull_request) Successful in 23s
CI / quality (pull_request) Successful in 51s
CI / typecheck (pull_request) Successful in 1m0s
CI / security (pull_request) Successful in 55s
CI / build (pull_request) Successful in 25s
CI / helm (pull_request) Successful in 32s
CI / push-validation (pull_request) Successful in 26s
CI / e2e_tests (pull_request) Successful in 3m38s
CI / integration_tests (pull_request) Successful in 6m42s
CI / unit_tests (pull_request) Successful in 8m19s
CI / docker (pull_request) Successful in 13s
CI / coverage (pull_request) Successful in 15m23s
CI / status-check (pull_request) Successful in 2s
Remove the local ${PYTHON} python (and python3) variable definitions from
the *** Variables *** sections of all affected robot files. These local
definitions were overriding the pabot-injected venv Python path passed via
--variable PYTHON:/path/to/venv/python, causing tests to use the system
Python (which lacks required packages like structlog, sqlalchemy, etc.)
instead of the nox venv Python.
The correct ${PYTHON} value is already set by Setup Test Environment in
common.resource via sys.executable, and pabot passes it via --variable.
The local fallback definitions are redundant and harmful in parallel runs.
Audit found 56 robot files with the pattern (more than the 9 originally
identified in the issue). All occurrences have been removed.
ISSUES CLOSED: #1309
45 lines
2.2 KiB
Plaintext
45 lines
2.2 KiB
Plaintext
*** Settings ***
|
|
Documentation Smoke tests for resource registry and project services
|
|
Library Process
|
|
Library OperatingSystem
|
|
|
|
*** Test Cases ***
|
|
Resource Registry Service Module Is Importable
|
|
[Documentation] Verify the resource registry service module can be imported
|
|
${result}= Run Process ${PYTHON} -c
|
|
... from cleveragents.application.services.resource_registry_service import ResourceRegistryService\nprint("OK")
|
|
... env:PYTHONPATH=src
|
|
Should Be Equal As Integers ${result.rc} 0
|
|
Should Contain ${result.stdout} OK
|
|
|
|
Resource Registry Bootstrap Creates Built-in Types
|
|
[Documentation] Verify bootstrap registers built-in types using in-memory DB
|
|
${script}= Catenate SEPARATOR=\n
|
|
... from sqlalchemy import create_engine
|
|
... from sqlalchemy.orm import sessionmaker
|
|
... from cleveragents.infrastructure.database.models import Base
|
|
... from cleveragents.application.services.resource_registry_service import ResourceRegistryService
|
|
... engine = create_engine("sqlite:///:memory:")
|
|
... Base.metadata.create_all(engine)
|
|
... sf = sessionmaker(bind=engine)
|
|
... svc = ResourceRegistryService(session_factory=sf)
|
|
... types = [t.name for t in svc.list_types()]
|
|
... assert "git-checkout" in types, f"git-checkout not in {types}"
|
|
... assert "fs-directory" in types, f"fs-directory not in {types}"
|
|
... print("PASS")
|
|
${result}= Run Process ${PYTHON} -c ${script} env:PYTHONPATH=src
|
|
Should Be Equal As Integers ${result.rc} 0
|
|
Should Contain ${result.stdout} PASS
|
|
|
|
DI Container Provides Resource Registry Service
|
|
[Documentation] Verify the DI container wires ResourceRegistryService
|
|
${script}= Catenate SEPARATOR=\n
|
|
... from cleveragents.application.container import Container
|
|
... c = Container()
|
|
... svc = c.resource_registry_service()
|
|
... assert type(svc).__name__ == "ResourceRegistryService"
|
|
... print("PASS")
|
|
${result}= Run Process ${PYTHON} -c ${script} env:PYTHONPATH=src
|
|
Should Be Equal As Integers ${result.rc} 0
|
|
Should Contain ${result.stdout} PASS
|