use std::error::Error;
use super::Live;
use crate::config::Config;
const LIMITS: &str = "[limits]\nframe_bytes = 65536\nrecord_bytes = 1048576\nreply_timeout_ms = 1000\n\
flow_steps = 8\nrequest_bytes = 65536\n";
#[test]
fn an_open_seat_presents_no_credential_at_all() -> Result<(), Box<dyn Error>> {
let directory = tempfile::tempdir()?;
let seat = directory.path().join("seat.toml");
std::fs::write(
&seat,
format!("server = \"127.0.0.1:7900\"\nchannel = \"console.topology\"\n{LIMITS}"),
)?;
let live = Live::new(&Config::load(&seat)?)?;
assert_eq!(live.credential()?, Vec::<u8>::new());
assert!(format!("{live:?}").contains("OpenCredential"));
Ok(())
}
#[test]
fn a_token_seat_presents_the_lys_record_of_its_token() -> Result<(), Box<dyn Error>> {
let directory = tempfile::tempdir()?;
let token = directory.path().join("token");
std::fs::write(&token, "issued-by-lys\n")?;
let seat = directory.path().join("seat.toml");
std::fs::write(
&seat,
format!(
"server = \"127.0.0.1:7900\"\nchannel = \"console.topology\"\ntoken_file = \"token\"\n{LIMITS}"
),
)?;
let live = Live::new(&Config::load(&seat)?)?;
assert_eq!(
live.credential()?,
liminal_sdk::lys_pass_credential("issued-by-lys")
);
Ok(())
}