d5f7f15215
CI / benchmark-publish (pull_request) Has been skipped
CI / lint (pull_request) Successful in 14s
CI / build (pull_request) Successful in 14s
CI / quality (pull_request) Successful in 20s
CI / security (pull_request) Successful in 34s
CI / typecheck (pull_request) Successful in 39s
CI / unit_tests (pull_request) Successful in 2m50s
CI / integration_tests (pull_request) Successful in 3m22s
CI / docker (pull_request) Successful in 40s
CI / coverage (pull_request) Successful in 5m49s
CI / benchmark-regression (pull_request) Successful in 35m15s
Temporal metadata fields (validFrom, validUntil, isCurrent, isRevisionOf) on UKO InformationUnit nodes enable revision chain tracking: when code changes, old nodes are marked historical and new revision nodes are created with back-links. Three storage tiers (hot/warm/cold) filter nodes by temporal scope (current/recent/all) with configurable retention (warm_retention_hours default 24h, cold_retention_days default 90d). Includes TemporalMetadata, TemporalNode, RevisionChain, TierQueryResult, TierRetentionConfig frozen domain models, TemporalBackend protocol, InMemoryTemporalBackend stub, TemporalService with structlog and DI, BackendSet.temporal typing upgrade from object|None to TemporalBackend|None. 67 Behave scenarios, 8 Robot Framework tests, ASV benchmarks, and reference documentation. ISSUES CLOSED: #577
74 lines
3.3 KiB
Plaintext
74 lines
3.3 KiB
Plaintext
*** Settings ***
|
|
Documentation Smoke tests for Temporal Data Model (Revision-Aware RDF)
|
|
Resource ${CURDIR}/common.resource
|
|
Suite Setup Setup Test Environment
|
|
Suite Teardown Cleanup Test Environment
|
|
|
|
*** Variables ***
|
|
${HELPER} ${CURDIR}/helper_temporal_data_model.py
|
|
|
|
*** Test Cases ***
|
|
InMemoryTemporalBackend Protocol Compliance
|
|
[Documentation] Verify InMemoryTemporalBackend satisfies TemporalBackend protocol
|
|
${result}= Run Process ${PYTHON} ${HELPER} protocol-compliance cwd=${WORKSPACE}
|
|
Log ${result.stdout}
|
|
Log ${result.stderr}
|
|
Should Be Equal As Integers ${result.rc} 0
|
|
Should Contain ${result.stdout} temporal-protocol-ok
|
|
|
|
Revision Chain Creation And Traversal
|
|
[Documentation] Create 3-version revision chain and verify traversal
|
|
${result}= Run Process ${PYTHON} ${HELPER} revision-chain cwd=${WORKSPACE}
|
|
Log ${result.stdout}
|
|
Log ${result.stderr}
|
|
Should Be Equal As Integers ${result.rc} 0
|
|
Should Contain ${result.stdout} temporal-revision-chain-ok
|
|
|
|
Tier Aware Temporal Queries
|
|
[Documentation] Verify hot/warm/cold tier queries with temporal filtering
|
|
${result}= Run Process ${PYTHON} ${HELPER} tier-queries cwd=${WORKSPACE}
|
|
Log ${result.stdout}
|
|
Log ${result.stderr}
|
|
Should Be Equal As Integers ${result.rc} 0
|
|
Should Contain ${result.stdout} temporal-tier-queries-ok
|
|
|
|
TemporalService Lifecycle
|
|
[Documentation] End-to-end service lifecycle: store, revise, query, chain
|
|
${result}= Run Process ${PYTHON} ${HELPER} service-lifecycle cwd=${WORKSPACE}
|
|
Log ${result.stdout}
|
|
Log ${result.stderr}
|
|
Should Be Equal As Integers ${result.rc} 0
|
|
Should Contain ${result.stdout} temporal-service-lifecycle-ok
|
|
|
|
Domain Model Construction
|
|
[Documentation] Verify all temporal domain models can be constructed
|
|
${result}= Run Process ${PYTHON} ${HELPER} model-creation cwd=${WORKSPACE}
|
|
Log ${result.stdout}
|
|
Log ${result.stderr}
|
|
Should Be Equal As Integers ${result.rc} 0
|
|
Should Contain ${result.stdout} temporal-model-creation-ok
|
|
|
|
Input Validation
|
|
[Documentation] Verify backends reject invalid inputs
|
|
${result}= Run Process ${PYTHON} ${HELPER} validation cwd=${WORKSPACE}
|
|
Log ${result.stdout}
|
|
Log ${result.stderr}
|
|
Should Be Equal As Integers ${result.rc} 0
|
|
Should Contain ${result.stdout} temporal-validation-ok
|
|
|
|
Retention Config Defaults Match Spec
|
|
[Documentation] Verify warm=24h, cold=90d defaults per spec lines 28692-28693
|
|
${result}= Run Process ${PYTHON} ${HELPER} retention-defaults cwd=${WORKSPACE}
|
|
Log ${result.stdout}
|
|
Log ${result.stderr}
|
|
Should Be Equal As Integers ${result.rc} 0
|
|
Should Contain ${result.stdout} temporal-retention-defaults-ok
|
|
|
|
Integration Modify Resource Verify Temporal Chain
|
|
[Documentation] Modify a resource, verify old=historical, new=current, chain intact
|
|
${result}= Run Process ${PYTHON} ${HELPER} integration-modify-resource cwd=${WORKSPACE}
|
|
Log ${result.stdout}
|
|
Log ${result.stderr}
|
|
Should Be Equal As Integers ${result.rc} 0
|
|
Should Contain ${result.stdout} temporal-integration-modify-resource-ok
|