1
#![allow(missing_docs)]
2

            
3
use std::path::Path;
4

            
5
use bonsaidb_core::{connection::AsyncStorageConnection, test_util::BasicSchema};
6
use bonsaidb_local::config::Builder;
7

            
8
use crate::{config::DefaultPermissions, BackendError, Server, ServerConfiguration};
9

            
10
pub const BASIC_SERVER_NAME: &str = "basic-server";
11

            
12
#[cfg_attr(not(feature = "compression"), allow(unused_mut))]
13
46
pub async fn initialize_basic_server(path: &Path) -> Result<Server, BackendError> {
14
34
    let mut config = ServerConfiguration::new(path)
15
34
        .server_name(BASIC_SERVER_NAME)
16
34
        .default_permissions(DefaultPermissions::AllowAll)
17
34
        .with_schema::<BasicSchema>()?;
18
    #[cfg(feature = "compression")]
19
34
    {
20
34
        config = config.default_compression(bonsaidb_local::config::Compression::Lz4);
21
34
    }
22
102
    let server = Server::open(config).await?;
23
34
    assert_eq!(server.primary_domain(), BASIC_SERVER_NAME);
24

            
25
340
    server.install_self_signed_certificate(false).await?;
26

            
27
34
    server
28
68
        .create_database::<BasicSchema>("tests", false)
29
68
        .await?;
30

            
31
34
    Ok(server)
32
34
}