summary refs log tree commit diff stats
path: root/rust/semi-structured-logs/tests/semi-structured-logs.rs
blob: fc45208c8ce0911ae80735ccb6c296b757ed4598 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
use semi_structured_logs::{error, info, log, warn, LogLevel};

#[test]
fn emits_info() {
    assert_eq!(info("Timezone changed"), "[INFO]: Timezone changed");
}

#[test]
fn emits_warning() {
    assert_eq!(warn("Timezone not set"), "[WARNING]: Timezone not set");
}

#[test]
fn emits_error() {
    assert_eq!(error("Disk full"), "[ERROR]: Disk full");
}

#[test]
fn log_emits_info() {
    assert_eq!(
        log(LogLevel::Info, "Timezone changed"),
        "[INFO]: Timezone changed"
    );
}

#[test]
fn log_emits_warning() {
    assert_eq!(
        log(LogLevel::Warning, "Timezone not set"),
        "[WARNING]: Timezone not set"
    );
}

#[test]
fn log_emits_error() {
    assert_eq!(log(LogLevel::Error, "Disk full"), "[ERROR]: Disk full");
}

#[test]
#[cfg(feature = "add-a-variant")]
fn add_a_variant() {
    // this test won't even compile until the enum is complete, which is why it is feature-gated.
    assert_eq!(
        log(LogLevel::Debug, "reached line 123"),
        "[DEBUG]: reached line 123",
    );
}