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