nostralink 0.2.4

Linked data library for nostr
Documentation
use super::{test_env, test_meta, TestEnv};
use crate::prelude::*;
use rstest::*;
use std::time::Duration;

#[rstest]
#[tokio::test]
async fn test_search(
    test_env: TestEnv,
    test_meta: Metadata,
) -> Result<(), RdfStoreError> {
    let event = EventBuilder::metadata(&test_meta)
        .sign(&test_env.keys)
        .await
        .unwrap();

    test_env.events_store.insert_event(&event)?;

    let note_ev = EventBuilder::text_note("Search for this")
        .sign(&test_env.keys)
        .await
        .unwrap();

    test_env.events_store.insert_event(&note_ev)?;

    let (subs, _) = SearchQuerySubsBuilder::default()
        .since_duration(Duration::from_secs(3600))
        .author_name("Test")
        .content_search_regex("for this")
        .build()
        .map_err(|_| RdfStoreError::LDBuilderError)?
        .subs_with_ckey()?;

    let rset =
        test_env
            .events_store
            .run_query(&nrq_get("search")?, subs, None)?;

    assert_eq!(rset.count(), 1);

    Ok(())
}