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