use serde::Serialize;
use super::{events::Event, notifier::Notifier};
#[derive(Clone, Debug, Serialize)]
#[serde(rename_all = "camelCase")]
pub(crate) struct Payload {
pub api_key: Option<String>,
pub payload_version: String,
pub notifier: Notifier,
pub events: Vec<Event>,
}
#[cfg(test)]
mod error_payload {
use crate::test::test_error_utility::get_error_client_builder;
#[test]
pub fn payload_version() {
std::env::set_var("NAB_BUGSNAG_RS_API_KEY", "");
let mut client_builder = get_error_client_builder();
let default_payload_version = "5".to_string();
assert_eq!(default_payload_version, client_builder.payload_version());
let test_payload_version = "1.0".to_string();
client_builder.set_payload_version(test_payload_version.as_str());
assert_eq!(test_payload_version, client_builder.payload_version());
}
#[test]
pub fn api_key() {
std::env::set_var("NAB_BUGSNAG_RS_API_KEY", "");
let mut client_builder = get_error_client_builder();
let test_api_key = "b2d4f6h8".to_string();
client_builder.set_api_key(test_api_key.as_str());
assert_eq!(test_api_key, client_builder.api_key().unwrap());
client_builder.set_api_key(None);
assert!(client_builder.api_key().is_none());
}
}