edgedb-tokio 0.5.0

EdgeDB database client implementation for tokio.
Documentation
use bytes::Bytes;

use edgedb_tokio::raw::Pool;
use edgedb_protocol::common::{CompliationOptions, IoFormat, Cardinality};
use edgedb_protocol::common::{Capabilities};

use crate::server::SERVER;

#[tokio::test]
async fn poll_connect() -> anyhow::Result<()> {
    let pool = Pool::new(&SERVER.config);
    let mut conn = pool.acquire().await?;
    assert!(conn.is_consistent());
    let _prepare = conn.prepare(&CompliationOptions {
        implicit_limit: None,
        implicit_typenames: false,
        implicit_typeids: false,
        allow_capabilities: Capabilities::empty(),
        explicit_objectids: true,
        io_format: IoFormat::Binary,
        expected_cardinality: Cardinality::Many,
    }, "SELECT 7*8").await;
    assert!(conn.is_consistent());
    let _descr = conn.describe_data().await?;
    assert!(conn.is_consistent());
    let data = conn.execute(&Bytes::new()).await?;
    assert!(conn.is_consistent());
    assert_eq!(data.len(), 1);
    assert_eq!(data[0].data.len(), 1);
    assert_eq!(&data[0].data[0][..], b"\0\0\0\0\0\0\0\x38");
    Ok(())
}