ydb_steroids/
lib.rs

1use crate::migration::Migrator;
2
3pub mod builder;
4pub mod converters;
5pub mod error;
6pub mod macros;
7pub mod migration;
8#[cfg(feature = "test_container")]
9pub mod test_container;
10
11#[cfg(test)]
12mod tests {
13    use include_dir::include_dir;
14
15    use crate::migration::Migrator;
16    use crate::test_container::get_or_create_ydb_instance;
17    use crate::{query, select, update};
18
19    #[tokio::test]
20    async fn should_create_query() {
21        let (_node, mut client) = get_or_create_ydb_instance("should_create_query").await;
22        let mut migrator =
23            Migrator::new_from_dir(&include_dir!("$CARGO_MANIFEST_DIR/test-migration"));
24        migrator.migrate(&mut client).await.unwrap();
25
26        let id = 124;
27        update!(
28            client.table_client(),
29            query!("insert into a (id) values($id)", id=>id)
30        )
31        .await
32        .unwrap();
33
34        let result: Vec<i32> = select!(client.table_client(), query!("select * from a"), id=>i32)
35            .await
36            .unwrap();
37
38        assert!(result.iter().any(|v| *v == id));
39    }
40}