use assert_cmd::cargo::cargo_bin_cmd;
#[test]
fn test_check_required_files() {
let test_dir = "tests/fixtures/test_registry/test_check_for_files/0.1";
let mut cmd = cargo_bin_cmd!("ml-cellar");
cmd.arg("check").arg(test_dir);
cmd.assert().success();
}
#[test]
fn test_check_missing_required_files() {
let test_dir = "tests/fixtures/test_registry/test_check_for_files/0.2";
let mut cmd = cargo_bin_cmd!("ml-cellar");
cmd.arg("check").arg(test_dir);
cmd.assert().failure();
}
#[test]
fn test_check_optional_files() {
let test_dir = "tests/fixtures/test_registry/test_check_for_files/0.3";
let mut cmd = cargo_bin_cmd!("ml-cellar");
cmd.arg("check").arg(test_dir);
cmd.assert().success();
}
#[test]
fn test_check_required_files_for_project() {
let test_dir = "tests/fixtures/test_registry/test_check_for_project_files/base/0.1";
let mut cmd = cargo_bin_cmd!("ml-cellar");
cmd.arg("check").arg(test_dir);
cmd.assert().success();
}
#[test]
fn test_check_missing_required_files_for_project() {
let test_dir = "tests/fixtures/test_registry/test_check_for_project_files/base/0.2";
let mut cmd = cargo_bin_cmd!("ml-cellar");
cmd.arg("check").arg(test_dir);
cmd.assert().failure();
}
#[test]
fn test_check_optional_files_for_project() {
let test_dir = "tests/fixtures/test_registry/test_check_for_project_files/base/0.3";
let mut cmd = cargo_bin_cmd!("ml-cellar");
cmd.arg("check").arg(test_dir);
cmd.assert().failure();
}
#[test]
fn test_check_version_x_y_missing_to_x() {
let test_dir = "tests/fixtures/test_registry/test_check_for_version/1";
let mut cmd = cargo_bin_cmd!("ml-cellar");
cmd.arg("check").arg(test_dir);
cmd.assert().failure();
}
#[test]
fn test_check_version_x_y_missing_to_x_y_z() {
let test_dir = "tests/fixtures/test_registry/test_check_for_version/base/1.0.0";
let mut cmd = cargo_bin_cmd!("ml-cellar");
cmd.arg("check").arg(test_dir);
cmd.assert().failure();
}
#[test]
fn test_check_version_x_y_z_missing_to_x_y() {
let test_dir = "tests/fixtures/test_registry/test_check_for_version/projectA/0.1";
let mut cmd = cargo_bin_cmd!("ml-cellar");
cmd.arg("check").arg(test_dir);
cmd.assert().failure();
}
#[test]
fn test_check_version_x_y_z() {
let test_dir = "tests/fixtures/test_registry/test_check_for_version/projectA/0.1.1";
let mut cmd = cargo_bin_cmd!("ml-cellar");
cmd.arg("check").arg(test_dir);
cmd.assert().success();
}
#[test]
fn test_check_version_for_yyyymmdd() {
let test_dir = "tests/fixtures/test_registry/test_check_for_version/pretrained/20250101";
let mut cmd = cargo_bin_cmd!("ml-cellar");
cmd.arg("check").arg(test_dir);
cmd.assert().success();
}
#[test]
fn test_check_version_yyyymmdd_missing_to_x_y() {
let test_dir = "tests/fixtures/test_registry/test_check_for_version/pretrained/0.1";
let mut cmd = cargo_bin_cmd!("ml-cellar");
cmd.arg("check").arg(test_dir);
cmd.assert().failure();
}
#[test]
fn test_check_version_for_missing_yyyymmdd() {
let test_dir = "tests/fixtures/test_registry/test_check_for_version/pretrained/202501030";
let mut cmd = cargo_bin_cmd!("ml-cellar");
cmd.arg("check").arg(test_dir);
cmd.assert().failure();
}