relay-knowledge 1.1.17

Graph-database-based knowledge graph project.
Documentation
use super::*;

#[test]
fn path_candidates_compose_empty_relation_claim_and_event_scans() {
    let connection = Connection::open_in_memory().expect("database should open");
    connection
        .execute_batch(
            "
            CREATE TABLE entities (id TEXT PRIMARY KEY, label TEXT NOT NULL);
            CREATE TABLE graph_relations (
                id TEXT PRIMARY KEY,
                source_entity_id TEXT NOT NULL,
                relation_type TEXT NOT NULL,
                target_entity_id TEXT NOT NULL,
                evidence_ids_json TEXT NOT NULL,
                confidence_basis_points INTEGER NOT NULL,
                status TEXT NOT NULL,
                created_graph_version INTEGER NOT NULL,
                valid_from_graph_version INTEGER NOT NULL,
                valid_until_graph_version INTEGER
            );
            CREATE TABLE graph_claims (
                id TEXT PRIMARY KEY,
                subject_entity_id TEXT NOT NULL,
                predicate TEXT NOT NULL,
                object TEXT NOT NULL,
                evidence_ids_json TEXT NOT NULL,
                confidence_basis_points INTEGER NOT NULL,
                status TEXT NOT NULL,
                created_graph_version INTEGER NOT NULL,
                valid_from_graph_version INTEGER NOT NULL,
                valid_until_graph_version INTEGER
            );
            CREATE TABLE graph_events (
                id TEXT PRIMARY KEY,
                event_type TEXT NOT NULL,
                occurred_at TEXT,
                evidence_ids_json TEXT NOT NULL,
                confidence_basis_points INTEGER NOT NULL,
                status TEXT NOT NULL,
                created_graph_version INTEGER NOT NULL,
                valid_from_graph_version INTEGER NOT NULL,
                valid_until_graph_version INTEGER
            );
            CREATE TABLE graph_event_entities (
                event_id TEXT NOT NULL,
                entity_id TEXT NOT NULL
            );
            ",
        )
        .expect("path schema should initialize");
    let request = GraphSearchRequest {
        query: "relay".to_owned(),
        source_scope: None,
        graph_version: crate::domain::GraphVersion::new(1),
        limit: 10,
        disabled_retriever_sources: Vec::new(),
    };

    let hits = path_candidates(&connection, &request).expect("path scan should succeed");

    assert!(hits.is_empty());
}