use super::*; use crate::nextcloud::NextcloudConfig; use crate::trello::TrelloConfig; use crate::{s, FullCtx}; use kxio::{ fs::{FileSystem, TempFileSystem}, net::{MockNet, Net}, print::Printer, }; pub(crate) fn a_context(fs: FileSystem, net: Net, prt: Printer) -> Ctx { Ctx { fs, net, prt } } pub(crate) fn a_filesystem() -> TempFileSystem { kxio::fs::temp().expect("temp fs") } pub(crate) fn a_network() -> MockNet { kxio::net::mock() } pub(crate) fn a_printer() -> Printer { kxio::print::test() } pub(crate) fn a_trello_config() -> TrelloConfig { TrelloConfig { api_key: s!("trello-api-key").into(), api_secret: s!("trello-api-secret").into(), board_name: s!("trello-board-name").into(), } } pub(crate) fn a_nextcloud_config() -> NextcloudConfig { let hostname = s!("host-name").into(); let username = s!("username").into(); let password = s!("password").into(); let board_id = 2.into(); NextcloudConfig { hostname, username, password, board_id, } } pub(crate) fn a_full_context(fs: TempFileSystem, mock_net: MockNet) -> FullCtx { FullCtx { fs: fs.as_real(), net: mock_net.into(), prt: a_printer(), cfg: AppConfig { trello: a_trello_config(), nextcloud: a_nextcloud_config(), }, } }