use clap::{Args, Subcommand};
use crate::common::{CliResult, Context};
pub mod client;
pub mod server;
pub mod session;
#[derive(Debug, Args)]
pub struct TestCommand {
#[command(subcommand)]
command: TestSubcommand,
}
#[derive(Debug, Subcommand)]
enum TestSubcommand {
Server(server::ServerCommand),
Client(client::ClientCommand),
Session(session::SessionCommand),
}
impl TestCommand {
pub fn run(self, context: Context) -> CliResult {
match self.command {
TestSubcommand::Server(command) => command.run(context),
TestSubcommand::Client(command) => command.run(context),
TestSubcommand::Session(command) => command.run(context),
}
}
}