#[cfg(test)]
mod api_tests {
use dx_forge::*;
use anyhow::Result;
#[test]
fn test_core_lifecycle_apis() {
let version = current_forge_version();
assert!(version.major >= 0);
assert!(declare_tool_version("test-tool", "1.0.0").is_ok());
assert!(declare_tool_version("bad-tool", "not.a.version").is_err());
}
#[test]
fn test_pipeline_apis() -> Result<()> {
execute_pipeline("test")?;
suspend_pipeline_execution()?;
assert!(execute_pipeline("should-fail").is_err());
resume_pipeline_execution()?;
assert!(execute_pipeline("should-work").is_ok());
Ok(())
}
#[test]
fn test_branching_apis() -> Result<()> {
use std::path::PathBuf;
let file = PathBuf::from("test.ts");
let vote = BranchingVote {
voter_id: "test-voter".to_string(),
color: BranchColor::Green,
reason: "Test vote".to_string(),
confidence: 0.9,
};
submit_branching_vote(&file, vote)?;
let color = query_predicted_branch_color(&file)?;
assert_eq!(color, BranchColor::Green);
assert!(is_change_guaranteed_safe(&file)?);
Ok(())
}
#[test]
fn test_event_bus_apis() -> Result<()> {
emit_tool_started_event("test-tool")?;
emit_tool_completed_event("test-tool", 100)?;
emit_pipeline_started_event("test-pipeline")?;
emit_pipeline_completed_event("test-pipeline", 500)?;
let mut rx = subscribe_to_event_stream();
emit_tool_started_event("another-tool")?;
if let Ok(event) = rx.try_recv() {
match event {
ForgeEvent::ToolStarted { tool_id, .. } => {
assert_eq!(tool_id, "another-tool");
}
_ => {}
}
}
Ok(())
}
#[test]
fn test_config_apis() -> Result<()> {
let style_config = inject_style_tooling_config()?;
assert!(style_config.contains("[style]"));
let auth_config = inject_authentication_config()?;
assert!(auth_config.contains("[auth]"));
let ui_config = inject_ui_framework_config()?;
assert!(ui_config.contains("[ui]"));
let suggestions = provide_config_completion_suggestions("st")?;
assert!(suggestions.contains(&"style".to_string()));
Ok(())
}
#[test]
fn test_cart_apis() -> Result<()> {
clear_cart_completely()?;
let item = CartItem {
id: "test-item-1".to_string(),
package_id: "test-package".to_string(),
variant: Some("default".to_string()),
files: vec![],
config: serde_json::json!({}),
};
stage_item_in_cart(item)?;
let contents = get_current_cart_contents()?;
assert_eq!(contents.len(), 1);
let json = export_cart_as_shareable_json()?;
clear_cart_completely()?;
import_cart_from_json(&json)?;
let contents = get_current_cart_contents()?;
assert_eq!(contents.len(), 1);
Ok(())
}
#[test]
fn test_dx_directory_apis() -> Result<()> {
let dx_dir = get_dx_directory_path()?;
assert!(dx_dir.to_string_lossy().contains(".dx"));
let bin_dir = get_dx_binary_storage_path()?;
assert!(bin_dir.to_string_lossy().contains("binaries"));
Ok(())
}
#[test]
fn test_offline_apis() -> Result<()> {
let is_offline = detect_offline_mode()?;
assert!(!is_offline || is_offline);
let verified = verify_binary_integrity_and_signature("test-tool")?;
assert!(verified);
Ok(())
}
#[test]
fn test_package_apis() -> Result<()> {
let results = search_dx_package_registry("test")?;
assert!(results.is_empty());
let installed = list_all_installed_packages()?;
assert!(installed.is_empty());
Ok(())
}
#[test]
fn test_codegen_apis() -> Result<()> {
use std::path::Path;
let file = Path::new("test.ts");
mark_code_region_as_dx_generated(file, 10, 20, "test-generator")?;
assert!(is_region_dx_generated(file, 15)?);
assert!(!is_region_dx_generated(file, 5)?);
claim_full_ownership_of_file(file, "test-tool")?;
release_ownership_of_file(file)?;
Ok(())
}
#[test]
fn test_dx_experience_apis() -> Result<()> {
let root = project_root_directory()?;
assert!(root.exists());
let manifest = path_to_forge_manifest()?;
assert!(manifest.to_string_lossy().contains("dx.toml"));
let cache = dx_global_cache_directory()?;
assert!(cache.to_string_lossy().contains(".dx"));
log_structured_tool_action("test", "action", serde_json::json!({}))?;
let report = generate_comprehensive_project_report()?;
assert!(report.contains("DX Forge Project Report"));
Ok(())
}
#[test]
fn test_all_132_functions_exported() {
let _ = initialize_forge;
let _ = register_tool;
let _ = get_tool_context;
let _ = shutdown_forge;
let _ = declare_tool_version;
let _ = enforce_exact_version;
let _ = require_forge_minimum;
let _ = current_forge_version;
let _ = query_active_package_variant;
let _ = activate_package_variant;
let _ = execute_pipeline;
let _ = execute_tool_immediately;
let _ = get_resolved_execution_order;
let _ = temporarily_override_pipeline_order;
let _ = restart_current_pipeline;
let _ = suspend_pipeline_execution;
let _ = resume_pipeline_execution;
let _ = trigger_realtime_event;
let _ = trigger_debounced_event;
let _ = trigger_idle_event;
let _ = begin_batch_operation;
let _ = end_batch_operation;
let _ = apply_changes;
let _ = apply_changes_with_preapproved_votes;
let _ = apply_changes_force_unchecked;
let _ = preview_proposed_changes;
let _ = automatically_accept_green_conflicts;
let _ = prompt_review_for_yellow_conflicts;
let _ = automatically_reject_red_conflicts;
let _ = revert_most_recent_application;
let _ = submit_branching_vote;
let _ = register_permanent_branching_voter;
let _ = query_predicted_branch_color;
let _ = is_change_guaranteed_safe;
let _ = issue_immediate_veto;
let _ = reset_branching_engine_state;
let _ = publish_event;
let _ = subscribe_to_event_stream;
let _ = emit_tool_started_event;
let _ = emit_tool_completed_event;
let _ = emit_pipeline_started_event;
let _ = emit_pipeline_completed_event;
let _ = emit_package_installation_begin;
let _ = emit_package_installation_success;
let _ = emit_security_violation_detected;
let _ = emit_magical_config_injection;
let _ = get_active_config_file_path;
let _ = reload_configuration_manifest;
let _ = enable_live_config_watching;
let _ = inject_full_config_section_at_cursor;
let _ = expand_config_placeholder;
let _ = jump_to_config_section;
let _ = validate_config_in_realtime;
let _ = provide_config_completion_suggestions;
let _ = auto_format_config_file;
let _ = perform_config_schema_migration;
let _ = inject_style_tooling_config;
let _ = inject_authentication_config;
let _ = inject_ui_framework_config;
let _ = inject_icon_system_config;
let _ = inject_font_system_config;
let _ = inject_media_pipeline_config;
let _ = inject_package_specific_config;
let _ = trigger_ci_cd_pipeline;
let _ = register_ci_stage;
let _ = query_current_ci_status;
let _ = abort_running_ci_job;
let _ = synchronize_monorepo_workspace;
let _ = detect_workspace_root;
let _ = list_all_workspace_members;
let _ = broadcast_change_to_workspace;
let _ = get_dx_directory_path;
let _ = get_dx_binary_storage_path;
let _ = cache_tool_offline_binary;
let _ = load_tool_offline_binary;
let _ = commit_current_dx_state;
let _ = checkout_dx_state;
let _ = list_dx_history;
let _ = show_dx_state_diff;
let _ = push_dx_state_to_remote;
let _ = pull_dx_state_from_remote;
let _ = detect_offline_mode;
let _ = force_offline_operation;
let _ = download_missing_tool_binaries;
let _ = verify_binary_integrity_and_signature;
let _ = update_tool_binary_atomically;
let _ = stage_item_in_cart;
let _ = commit_entire_cart;
let _ = commit_cart_immediately;
let _ = clear_cart_completely;
let _ = remove_specific_cart_item;
let _ = get_current_cart_contents;
let _ = export_cart_as_shareable_json;
let _ = import_cart_from_json;
let _ = install_package_with_variant;
let _ = uninstall_package_safely;
let _ = update_package_intelligently;
let _ = list_all_installed_packages;
let _ = search_dx_package_registry;
let _ = pin_package_to_exact_version;
let _ = fork_existing_variant;
let _ = publish_your_variant;
let _ = mark_code_region_as_dx_generated;
let _ = is_region_dx_generated;
let _ = allow_safe_manual_edit_of_generated_code;
let _ = claim_full_ownership_of_file;
let _ = release_ownership_of_file;
let _ = project_root_directory;
let _ = path_to_forge_manifest;
let _ = dx_global_cache_directory;
let _ = create_watcher_ignored_scratch_file;
let _ = log_structured_tool_action;
let _ = schedule_task_for_idle_time;
let _ = await_editor_idle_state;
let _ = request_user_attention_flash;
let _ = open_file_and_reveal_location;
let _ = display_inline_code_suggestion;
let _ = apply_user_accepted_suggestion;
let _ = show_onboarding_welcome_tour;
let _ = execute_full_security_audit;
let _ = generate_comprehensive_project_report;
let _ = display_dx_command_palette;
let _ = open_embedded_dx_terminal;
let _ = trigger_ai_powered_suggestion;
let _ = apply_ai_generated_completion;
let _ = open_dx_explorer_sidebar;
let _ = update_dx_status_bar_indicator;
assert!(true);
}
}