Skip to main content

datasources_xml/
lib.rs

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}