autumn-plugin-clickhouse 0.3.0

Autumn plugin: a ClickHouse OLAP client with batch inserts, typed queries, and migrations.
Documentation
use autumn_web::plugin::Plugin;

use super::*;
use crate::config::ClickHouseConfig;

#[test]
fn plugin_name() {
    let plugin = ClickHousePlugin::new();
    assert_eq!(plugin.name(), PLUGIN_NAME);
    assert_eq!(PLUGIN_NAME, "autumn-plugin-clickhouse");
}

#[test]
fn builder_methods_chain() {
    let plugin = ClickHousePlugin::new()
        .config_section("analytics")
        .configure(|c| {
            c.database = "events".into();
        });
    let text = format!("{plugin:?}");
    assert!(text.contains("analytics"), "unexpected debug: {text}");

    let plugin = ClickHousePlugin::new().config(ClickHouseConfig::default());
    let text = format!("{plugin:?}");
    assert!(text.contains("(explicit)"), "unexpected debug: {text}");

    let plugin = ClickHousePlugin::default();
    assert_eq!(plugin.name(), PLUGIN_NAME);
}

#[test]
fn build_registers_without_a_server() {
    let plugin = ClickHousePlugin::new().config(ClickHouseConfig::default());
    let _app = autumn_web::app().plugin(plugin);
}

#[test]
fn build_with_health_check_off_registers() {
    let config = ClickHouseConfig {
        health_check: false,
        ..ClickHouseConfig::default()
    };
    let plugin = ClickHousePlugin::new().config(config);
    let _app = autumn_web::app().plugin(plugin);
}