dir-odt-to-pdf/tests/logging_writer_tests.rs

52 lines
1.4 KiB
Rust
Raw Normal View History

#![cfg(feature = "test-sync")]
use dir_odt_to_pdf::error::{ProcessError, Result};
use dir_odt_to_pdf::logging::{LogConfig, LogWriter};
use log::LevelFilter;
use std::fs;
use std::io;
use tempfile::NamedTempFile;
#[test]
fn test_log_writer_file_output() -> io::Result<()> {
let temp_file = NamedTempFile::new()?;
let mut writer = LogWriter::new(Some(temp_file.reopen()?));
writer.write_all(b"test message\n")?;
writer.flush()?;
let content = fs::read_to_string(temp_file.path())?;
assert_eq!(content, "test message\n");
Ok(())
}
#[test]
fn test_log_writer_console_output() {
let mut writer = LogWriter::new(None);
assert!(writer.write_all(b"test message\n").is_ok());
assert!(writer.flush().is_ok());
}
#[test]
fn test_log_config_default() {
let config = LogConfig::default();
assert_eq!(config.log_level, LevelFilter::Info);
assert_eq!(config.log_file, None);
assert!(!config.append_log);
}
#[test]
fn test_log_writer() -> Result<()> {
let mut writer = LogWriter::new(None);
writer
.write_all(b"test message\n")
.map_err(ProcessError::Io)?;
writer.flush().map_err(ProcessError::Io)?;
Ok(())
}
#[test]
fn test_log_writer_methods() -> Result<()> {
let mut writer = LogWriter::new(None);
assert!(writer.write_all(b"test message\n").is_ok());
assert!(writer.flush().is_ok());
Ok(())
}