Some checks failed
CI/CD Pipeline / Test Suite (push) Has been cancelled
CI/CD Pipeline / Security Audit (push) Has been cancelled
CI/CD Pipeline / Performance Benchmarks (push) Has been cancelled
Rust CI / Security Audit (push) Has been cancelled
Rust CI / Check + Test + Lint (nightly) (push) Has been cancelled
Rust CI / Check + Test + Lint (stable) (push) Has been cancelled
CI/CD Pipeline / Build Docker Image (push) Has been cancelled
CI/CD Pipeline / Deploy to Staging (push) Has been cancelled
CI/CD Pipeline / Deploy to Production (push) Has been cancelled
CI/CD Pipeline / Cleanup (push) Has been cancelled
57 lines
1.5 KiB
Rust
57 lines
1.5 KiB
Rust
//! CLI error handling tests
|
|
|
|
use anyhow::Result;
|
|
|
|
#[test]
|
|
fn test_missing_feature_error() -> Result<()> {
|
|
let temp_project = crate::create_test_project()?;
|
|
let _project_root = temp_project.path();
|
|
|
|
// Test adding non-existent feature
|
|
// Should return appropriate error message
|
|
|
|
Ok(())
|
|
}
|
|
|
|
#[test]
|
|
fn test_circular_dependency_error() -> Result<()> {
|
|
let temp_project = crate::create_test_project()?;
|
|
let project_root = temp_project.path();
|
|
|
|
// Create circular dependency features
|
|
let feature_a = crate::helpers::TestFeatureBuilder::new("circular-a")
|
|
.with_dependency("circular-b");
|
|
feature_a.create_in_project(project_root)?;
|
|
|
|
let feature_b = crate::helpers::TestFeatureBuilder::new("circular-b")
|
|
.with_dependency("circular-a");
|
|
feature_b.create_in_project(project_root)?;
|
|
|
|
// Test that adding circular-a returns circular dependency error
|
|
|
|
Ok(())
|
|
}
|
|
|
|
#[test]
|
|
fn test_invalid_manifest_error() -> Result<()> {
|
|
let temp_project = crate::create_test_project()?;
|
|
let project_root = temp_project.path();
|
|
|
|
// Create feature with invalid manifest
|
|
let feature_dir = project_root.join("features/invalid-feature");
|
|
std::fs::create_dir_all(&feature_dir)?;
|
|
std::fs::write(feature_dir.join("feature.toml"), "invalid toml content [");
|
|
|
|
// Test that loading feature returns parsing error
|
|
|
|
Ok(())
|
|
}
|
|
|
|
#[test]
|
|
fn test_permission_error_handling() -> Result<()> {
|
|
// Test handling of file system permission errors
|
|
// This would test scenarios where files can't be written
|
|
|
|
Ok(())
|
|
}
|