1mod command;
2mod connection;
3mod export;
4
5pub use connection::XmlDriver;
6
7#[cfg(test)]
8mod tests {
9 use super::*;
10 use datasources::{create, register, reset, BuiltDatasource, Datasource};
11 use std::collections::HashMap;
12 use std::sync::Arc;
13
14 fn ds() -> BuiltDatasource {
15 BuiltDatasource::new("xml", Arc::new(XmlDriver), None)
16 }
17
18 #[test]
19 fn creates() {
20 reset();
21 register("xml", Arc::new(XmlDriver));
22 assert_eq!(
23 create(Some(&HashMap::from([("PROVIDER".into(), "xml".into())])))
24 .unwrap()
25 .provider(),
26 "xml"
27 );
28 }
29
30 #[tokio::test]
31 async fn creates_connection() {
32 let connection = ds().create_connection().await.unwrap();
33 assert!(connection.open().await.is_err());
34 }
35
36 #[tokio::test]
37 async fn creates_command() {
38 let ds = ds();
39 let connection = ds.create_connection().await.unwrap();
40 let command = ds.create_command(Some(connection)).await.unwrap();
41 assert!(command.execute("", None).await.is_err());
42 assert!(command.execute_reader("", None).await.is_err());
43 assert!(ds.create_command(None).await.is_err());
44 }
45}