b028c80cab
CI / benchmark-publish (pull_request) Has been skipped
CI / lint (pull_request) Successful in 14s
CI / build (pull_request) Successful in 15s
CI / quality (pull_request) Successful in 18s
CI / security (pull_request) Successful in 33s
CI / typecheck (pull_request) Successful in 41s
CI / unit_tests (pull_request) Successful in 2m29s
CI / integration_tests (pull_request) Successful in 3m2s
CI / docker (pull_request) Successful in 39s
CI / coverage (pull_request) Successful in 4m28s
CI / benchmark-regression (pull_request) Successful in 29m5s
Add project-resource isolation to the ACMS context tier system via ScopedBackendView, ResourceScope, alias resolution, DAG expansion, and enforcement hooks. Core types (scoped_view.py): ResourceScope, ScopeViolationError, ScopedBackendView, ScopedBackendSet, create_scoped_backend_set. Scope resolution (scope_resolution.py): ResourceAliasResolver, validate_project_scope, validate_resource_scope, resolve_resource_scope with registry_lookup callback for DAG expansion. Tier integration (scoped_tiers.py): ScopedTierMixin with get_scoped, get_scoped_by_resource, validate_fragment_scope, store_with_scope_check, get_scoped_metrics mixed into ContextTierService. Backward compat: tiers.py re-exports ScopedBackendView. Tests: 74 Behave scenarios (235 steps), 8 Robot Framework cases, 7 ASV benchmark suites. Lint and typecheck clean. ISSUES CLOSED: #193
74 lines
3.4 KiB
Plaintext
74 lines
3.4 KiB
Plaintext
*** Settings ***
|
|
Documentation Smoke tests for ACMS Scoped Backend View filtering
|
|
Resource ${CURDIR}/common.resource
|
|
Suite Setup Setup Test Environment
|
|
Suite Teardown Cleanup Test Environment
|
|
|
|
*** Variables ***
|
|
${HELPER} ${CURDIR}/helper_scoped_view.py
|
|
|
|
*** Test Cases ***
|
|
ResourceScope Creation And Containment
|
|
[Documentation] Verify ResourceScope creation, containment checks, and temporal default
|
|
${result}= Run Process ${PYTHON} ${HELPER} resource-scope cwd=${WORKSPACE}
|
|
Log ${result.stdout}
|
|
Log ${result.stderr}
|
|
Should Be Equal As Integers ${result.rc} 0
|
|
Should Contain ${result.stdout} scoped-view-resource-scope-ok
|
|
|
|
ResourceScope Path Filtering
|
|
[Documentation] Verify include/exclude path glob matching with recursive patterns
|
|
${result}= Run Process ${PYTHON} ${HELPER} path-filtering cwd=${WORKSPACE}
|
|
Log ${result.stdout}
|
|
Log ${result.stderr}
|
|
Should Be Equal As Integers ${result.rc} 0
|
|
Should Contain ${result.stdout} scoped-view-path-filtering-ok
|
|
|
|
ScopedBackendView Fragment Filtering
|
|
[Documentation] Verify fragment visibility filtering by project and resource
|
|
${result}= Run Process ${PYTHON} ${HELPER} fragment-filtering cwd=${WORKSPACE}
|
|
Log ${result.stdout}
|
|
Log ${result.stderr}
|
|
Should Be Equal As Integers ${result.rc} 0
|
|
Should Contain ${result.stdout} scoped-view-fragment-filtering-ok
|
|
|
|
ScopedBackendView Backend Proxying
|
|
[Documentation] Verify text/vector/graph search proxying with scope injection
|
|
${result}= Run Process ${PYTHON} ${HELPER} backend-proxying cwd=${WORKSPACE}
|
|
Log ${result.stdout}
|
|
Log ${result.stderr}
|
|
Should Be Equal As Integers ${result.rc} 0
|
|
Should Contain ${result.stdout} scoped-view-backend-proxying-ok
|
|
|
|
ScopedBackendSet Integration
|
|
[Documentation] Verify ScopedBackendSet wraps multiple backends with scope enforcement
|
|
${result}= Run Process ${PYTHON} ${HELPER} backend-set cwd=${WORKSPACE}
|
|
Log ${result.stdout}
|
|
Log ${result.stderr}
|
|
Should Be Equal As Integers ${result.rc} 0
|
|
Should Contain ${result.stdout} scoped-view-backend-set-ok
|
|
|
|
Scope Validation Guards
|
|
[Documentation] Verify validate_project_scope and validate_resource_scope raise correctly
|
|
${result}= Run Process ${PYTHON} ${HELPER} scope-validation cwd=${WORKSPACE}
|
|
Log ${result.stdout}
|
|
Log ${result.stderr}
|
|
Should Be Equal As Integers ${result.rc} 0
|
|
Should Contain ${result.stdout} scoped-view-scope-validation-ok
|
|
|
|
ResourceAliasResolver
|
|
[Documentation] Verify alias resolution, resolve_many, and uniqueness validation
|
|
${result}= Run Process ${PYTHON} ${HELPER} alias-resolver cwd=${WORKSPACE}
|
|
Log ${result.stdout}
|
|
Log ${result.stderr}
|
|
Should Be Equal As Integers ${result.rc} 0
|
|
Should Contain ${result.stdout} scoped-view-alias-resolver-ok
|
|
|
|
Resolve Resource Scope With Filters
|
|
[Documentation] Verify resolve_resource_scope with include/exclude allowlist/denylist
|
|
${result}= Run Process ${PYTHON} ${HELPER} resolve-scope cwd=${WORKSPACE}
|
|
Log ${result.stdout}
|
|
Log ${result.stderr}
|
|
Should Be Equal As Integers ${result.rc} 0
|
|
Should Contain ${result.stdout} scoped-view-resolve-scope-ok
|