Skip to main content

datasources_sqlserver/
lib.rs

1mod alter_table_statement_renderer;
2mod command;
3mod connection;
4mod create_table_statement_renderer;
5mod create_trigger_statement_renderer;
6mod drop_routine_statement_renderer;
7mod driver;
8mod export;
9mod identity_insert_statement_renderer;
10mod default_value_converter;
11mod default_value_options;
12mod sql_generate;
13mod type_map;
14mod sql_seed_statement_renderer;
15mod statement_renderer;
16mod stored_procedure_statement_renderer;
17
18pub use driver::SqlServerDriver;
19
20#[cfg(test)]
21mod tests {
22    use super::*;
23    use datasources::{create, register, reset, BuiltDatasource, Datasource};
24    use std::collections::HashMap;
25    use std::sync::Arc;
26
27    fn ds() -> BuiltDatasource {
28        BuiltDatasource::new("sqlserver", Arc::new(SqlServerDriver), None)
29    }
30
31    #[test]
32    fn creates() {
33        reset();
34        register("sqlserver", Arc::new(SqlServerDriver));
35        assert_eq!(
36            create(Some(&HashMap::from([(
37                "PROVIDER".into(),
38                "sqlserver".into()
39            )])))
40            .unwrap()
41            .provider(),
42            "sqlserver"
43        );
44    }
45
46    #[tokio::test]
47    async fn creates_connection() {
48        let connection = ds().create_connection().await.unwrap();
49        assert!(connection.open().await.is_err());
50    }
51
52    #[tokio::test]
53    async fn creates_command() {
54        let ds = ds();
55        let connection = ds.create_connection().await.unwrap();
56        let command = ds.create_command(Some(connection)).await.unwrap();
57        assert!(command.execute("", None).await.is_err());
58        assert!(command.execute_reader("", None).await.is_err());
59        assert!(ds.create_command(None).await.is_err());
60    }
61}