rqlite_client 0.1.0

rqlite database client with optional extra convenience
Documentation
#![allow(missing_docs, unused_crate_dependencies)]
#![cfg(feature = "ureq")]

use rqlite_client::{request_type::Post, response::mapping, Request, RequestBuilder, Response};
use test_rqlited::TestRqlited;

#[test]
fn delete_table_test_test() {
    TestRqlited::get_or_init().run_test(|c| {
        let r = Request::<Post>::new().run(&c.execute().push_sql_str(
            "CREATE TABLE IF NOT EXISTS delete_table_test (id INTEGER NOT NULL PRIMARY KEY, name TEXT, age INTEGER)",
        ));

        assert!(r.is_ok(), "response error: {}", r.err().unwrap());

        let r = r.unwrap();
        // irrefutable_let_patterns: with no monitor feature
        #[allow(irrefutable_let_patterns)]
        let Response::Query(r) = r
        else {
            unreachable!()
        };
        let result = r.results().next().unwrap();

        match result {
            mapping::Mapping::Empty(result) => assert_eq!(result, &mapping::Empty::default()),
            mapping::Mapping::Execute(result) => assert_eq!(result.rows_affected, 1),
            _ => unreachable!("{:#?}", r),
        }

        let r =
            Request::<Post>::new().run(&c.execute().push_sql_str("DROP TABLE delete_table_test"));

        assert!(r.is_ok(), "response error: {}", r.err().unwrap());

        let r = r.unwrap();
        // irrefutable_let_patterns: with no monitor feature
        #[allow(irrefutable_let_patterns)]
        let Response::Query(r) = r
        else {
            unreachable!()
        };
        let result = r.results().next().unwrap();

        match result {
            mapping::Mapping::Empty(result) => assert_eq!(result, &mapping::Empty::default()),
            mapping::Mapping::Execute(result) => assert_eq!(result.rows_affected, 1),
            _ => unreachable!("{:#?}", r),
        }
    });
}