dwbase_embedder_dummy/
lib.rs1use std::{future::Future, pin::Pin};
5
6use dwbase_engine::{Embedder, Result};
7
8#[derive(Clone, Debug, Default)]
10pub struct DummyEmbedder;
11
12impl DummyEmbedder {
13 pub fn new() -> Self {
14 Self
15 }
16}
17
18impl Embedder for DummyEmbedder {
19 #[allow(clippy::type_complexity)]
20 fn embed<'a>(
21 &'a self,
22 _payload_json: &'a str,
23 ) -> Pin<Box<dyn Future<Output = Result<Option<Vec<f32>>>> + Send + 'a>> {
24 Box::pin(std::future::ready(Ok(None)))
25 }
26
27 fn model_version(&self) -> &'static str {
28 "dummy-v1"
29 }
30}
31
32#[cfg(test)]
33mod tests {
34 use super::*;
35
36 #[tokio::test]
37 async fn returns_none() {
38 let embedder = DummyEmbedder::new();
39 let res = embedder.embed(r#"{"foo":"bar"}"#).await;
40 assert!(res.unwrap().is_none());
41 }
42}