Test Plan

Introduction

Purpose

This Test Plan describes the testing strategy, approach, and test cases for AirGap Deploy, ensuring the tool reliably packages applications for air-gapped deployment.

Scope

In Scope:

  • Unit tests for all modules

  • Integration tests for end-to-end workflows

  • Platform-specific tests (Linux, macOS, Windows)

  • Performance tests for large packages

  • Error handling and recovery tests

Out of Scope:

  • GUI testing (no GUI in this application)

  • Load testing (not a server application)

  • Security penetration testing (manual review only)

Test Strategy

Test Levels

Unit Testing:

  • Test individual functions and modules in isolation

  • Mock external dependencies (filesystem, network)

  • Target: 80%+ code coverage

Integration Testing:

  • Test component interactions

  • Test full workflows (manifest → package → install)

  • Test on real external resources (Git repos, model files)

System Testing:

  • Test on actual air-gapped VMs

  • Test multi-platform deployments

  • Test error recovery scenarios

Acceptance Testing:

  • Verify requirements satisfaction

  • User workflow testing

  • Reference implementation (Cleanroom Whisper deployment)

Test Types

Test Type

Purpose

Coverage

Functional

Verify requirements

All FR from SRS

Performance

Verify speed/scalability

NFR-DEPLOY-001 to NFR-DEPLOY-004

Reliability

Verify error handling

NFR-DEPLOY-005 to NFR-DEPLOY-008

Usability

Verify UX

NFR-DEPLOY-009 to NFR-DEPLOY-012

Portability

Verify platforms

NFR-DEPLOY-017 to NFR-DEPLOY-020

Security

Verify checksums

NFR-DEPLOY-021 to NFR-DEPLOY-025

Test Environment

Development Environment:

  • Local development machines (Linux, macOS, Windows)

  • Unit tests run on developer machines

  • Fast feedback loop

CI Environment:

  • GitHub Actions with matrix builds

  • Ubuntu 20.04, 22.04

  • macOS 12, 14

  • Windows 10, 11

  • Rust stable, beta

Air-gapped environment:

  • VirtualBox/VMware VMs with no network

  • Test actual air-gap deployment

  • Ubuntu 22.04 VM (primary test target)

Test Cases

Manifest Parsing (FR-DEPLOY-001 to FR-DEPLOY-005)

Test Case: Valid Manifest Parsing TC-MAN-001
status: approved
tags: deploy, manifest, parsing
priority: high
release: v1.0

Verify valid AirGapDeploy.toml parses successfully with all supported sections

Test Case: Invalid Manifest - Missing Required Field TC-MAN-002
status: approved
tags: deploy, manifest, validation, error-handling
priority: high
release: v1.0

Verify parse error when required field missing

Test Case: Invalid Manifest - Wrong Type TC-MAN-003
status: approved
tags: deploy, manifest, validation, error-handling
priority: high
release: v1.0

Verify parse error on type mismatch

Test Case: Unsupported Component Type TC-MAN-004
status: approved
tags: deploy, manifest, validation, component
priority: medium
release: v1.0

Verify validation error for unknown component type

Test Case: Schema Versioning TC-MAN-005
status: approved
tags: deploy, manifest, versioning
priority: low
release: v1.0

Verify warning for future schema version

RustAppComponent (FR-DEPLOY-006 to FR-DEPLOY-010)

Test Case: Rust App with Vendoring TC-RUST-001
status: approved
tags: deploy, rust, vendor
priority: high
release: v1.0

Verify cargo vendor and config generation

Test Case: Rust Toolchain Inclusion TC-RUST-002
status: approved
tags: deploy, rust, toolchain
priority: medium
release: v1.0

Verify Rust installer download and inclusion

Test Case: Missing Cargo.toml TC-RUST-003
status: approved
tags: deploy, rust, error-handling
priority: medium
release: v1.0

Verify error when Cargo.toml not found

Test Case: Cargo Vendor Failure TC-RUST-004
status: approved
tags: deploy, rust, vendor, error-handling
priority: medium
release: v1.0

Verify error handling for cargo vendor failures

ExternalBinaryComponent (FR-DEPLOY-011 to FR-DEPLOY-014)

Test Case: Git Repository Cloning TC-GIT-001
status: approved
tags: deploy, git, clone
priority: high
release: v1.0

Verify Git repository cloning with tag checkout

Test Case: Git Branch Checkout TC-GIT-002
status: approved
tags: deploy, git, branch
priority: high
release: v1.0

Verify Git branch checkout

Test Case: Invalid Repository URL TC-GIT-003
status: approved
tags: deploy, git, error-handling
priority: medium
release: v1.0

Verify error for invalid repository URL

Test Case: Network Failure During Clone TC-GIT-004
status: approved
tags: deploy, git, network, reliability
priority: high
release: v1.0

Verify retry logic for network failures

ModelFileComponent (FR-DEPLOY-015 to FR-DEPLOY-019)

Test Case: Model File Download TC-MODEL-001
status: approved
tags: deploy, model, download
priority: high
release: v1.0

Verify model file download with checksum verification

Test Case: Checksum Verification Success TC-MODEL-002
status: approved
tags: deploy, model, verification, security
priority: high
release: v1.0

Verify checksum verification passes for matching checksum

Test Case: Checksum Verification Failure TC-MODEL-003
status: approved
tags: deploy, model, verification, security, error-handling
priority: high
release: v1.0

Verify error and file deletion on checksum mismatch

Test Case: Download Resume TC-MODEL-004
status: approved
tags: deploy, model, download, reliability
priority: medium
release: v1.0

Verify download resume capability

Test Case: Large File Download TC-MODEL-005
status: approved
tags: deploy, model, download, performance
priority: high
release: v1.0

Verify large file download with progress display

Test Case: Download Cache Hit TC-MODEL-006
status: approved
tags: deploy, model, cache, performance
priority: medium
release: v1.0

Verify cached file reuse

Packaging (FR-DEPLOY-024 to FR-DEPLOY-029)

Test Case: Create tar.gz Package TC-PKG-001
status: approved
tags: deploy, packaging, archive, linux, macos
priority: high
release: v1.0

Verify tar.gz archive creation with correct structure

Test Case: Create zip Package TC-PKG-002
status: approved
tags: deploy, packaging, archive, windows
priority: high
release: v1.0

Verify zip archive creation for Windows

Test Case: Package Metadata Generation TC-PKG-003
status: approved
tags: deploy, packaging, metadata
priority: high
release: v1.0

Verify metadata file generation

Test Case: Package Checksum Generation TC-PKG-004
status: approved
tags: deploy, packaging, checksum, security
priority: high
release: v1.0

Verify package checksum generation

Test Case: Large Package Creation TC-PKG-005
status: approved
tags: deploy, packaging, performance, scalability
priority: medium
release: v1.0

Verify large package creation with stable memory usage

Install Script Generation (FR-DEPLOY-030 to FR-DEPLOY-036)

Test Case: Bash Script Generation TC-INSTALL-001
status: approved
tags: deploy, installation, bash, linux, macos
priority: high
release: v1.0

Verify Bash installation script generation

Test Case: PowerShell Script Generation TC-INSTALL-002
status: approved
tags: deploy, installation, powershell, windows
priority: high
release: v1.0

Verify PowerShell installation script generation

Test Case: Interactive Mode Prompts TC-INSTALL-003
status: approved
tags: deploy, installation, interactive
priority: high
release: v1.0

Verify interactive mode prompts user

Test Case: Automatic Mode TC-INSTALL-004
status: approved
tags: deploy, installation, automatic
priority: high
release: v1.0

Verify automatic unattended installation

Test Case: Dependency Check Success TC-INSTALL-005
status: approved
tags: deploy, installation, dependencies
priority: high
release: v1.0

Verify dependency check passes when all present

Test Case: Dependency Check Failure TC-INSTALL-006
status: approved
tags: deploy, installation, dependencies, error-handling
priority: high
release: v1.0

Verify clear error message for missing dependencies

CLI Interface (FR-DEPLOY-037 to FR-DEPLOY-041)

Test Case: Prep Command - Default Manifest TC-CLI-001
status: approved
tags: deploy, cli, prep
priority: high
release: v1.0

Verify prep command with default manifest

Test Case: Prep Command - Custom Manifest TC-CLI-002
status: approved
tags: deploy, cli, prep
priority: high
release: v1.0

Verify prep command with custom manifest path

Test Case: Prep Command - Dry Run TC-CLI-003
status: approved
tags: deploy, cli, prep, dry-run
priority: medium
release: v1.0

Verify dry run mode shows plan without executing

Test Case: Validate Command TC-CLI-004
status: approved
tags: deploy, cli, validate
priority: high
release: v1.0

Verify validate command checks manifest

Test Case: Init Command TC-CLI-005
status: approved
tags: deploy, cli, init
priority: medium
release: v1.0

Verify init command creates template

Test Case: List Components Command TC-CLI-006
status: approved
tags: deploy, cli, list
priority: low
release: v1.0

Verify list-components command displays available types

Test Case: Help Flag TC-CLI-007
status: approved
tags: deploy, cli, help
priority: high
release: v1.0

Verify –help flag displays usage information

Error Handling (FR-DEPLOY-045 to FR-DEPLOY-048)

Test Case: Network Error with Retry TC-ERR-001
status: approved
tags: deploy, error-handling, network, reliability
priority: high
release: v1.0

Verify retry logic for network errors

Test Case: Disk Space Error TC-ERR-002
status: approved
tags: deploy, error-handling, disk-space
priority: high
release: v1.0

Verify clear error for insufficient disk space

Test Case: Permission Error TC-ERR-003
status: approved
tags: deploy, error-handling, permissions
priority: medium
release: v1.0

Verify clear error for permission issues

Test Case: Invalid Platform TC-ERR-004
status: approved
tags: deploy, error-handling, platform
priority: medium
release: v1.0

Verify error for invalid platform target

End-to-End Workflows

Test Case: Cleanroom Whisper End-to-End Deployment TC-E2E-001
status: approved
tags: deploy, e2e, cleanroom-whisper, system
priority: critical
release: v1.0

Verify complete Cleanroom Whisper deployment workflow from package creation to functional installation on air-gapped system

Test Case: Ollama Large Model Deployment TC-E2E-002
status: approved
tags: deploy, e2e, ollama, large-package, system
priority: high
release: v1.0

Verify Ollama deployment with multiple large models (20GB+ total)

Test Case: Multi-Platform Build TC-E2E-003
status: approved
tags: deploy, e2e, multi-platform, portability
priority: high
release: v1.0

Verify same manifest builds packages for all platforms

Performance Tests

Test Case: Package Preparation Time TC-PERF-001
status: approved
tags: deploy, performance, packaging
priority: medium
release: v1.0

Verify package preparation completes within 5 minutes for typical applications

Test Case: Large Model Download Performance TC-PERF-002
status: approved
tags: deploy, performance, download, memory
priority: high
release: v1.0

Verify large model download with progress display and low memory usage

Test Case: Parallel Component Collection TC-PERF-003
status: approved
tags: deploy, performance, parallelism
priority: medium
release: v1.0

Verify parallel collection improves performance

Test Case: Installation Script Performance TC-PERF-004
status: approved
tags: deploy, performance, installation
priority: medium
release: v1.0

Verify installation completes within 20 minutes

Security Tests

Test Case: Checksum Verification Prevents Corruption TC-DEPLOY-SEC-001
status: approved
tags: deploy, security, checksum, verification
priority: critical
release: v1.0

Verify checksum verification detects corrupted files

Test Case: No Arbitrary Code Execution TC-DEPLOY-SEC-002
status: approved
tags: deploy, security, code-execution
priority: critical
release: v1.0

Verify manifest cannot execute arbitrary code during prep phase

Test Case: HTTPS for Downloads TC-DEPLOY-SEC-003
status: approved
tags: deploy, security, network, https
priority: high
release: v1.0

Verify all downloads use HTTPS

Test Case: Temporary File Permissions TC-DEPLOY-SEC-004
status: approved
tags: deploy, security, permissions, filesystem
priority: high
release: v1.0

Verify temporary files have restrictive permissions

Enhanced Installation Feature Tests

Test Case: Optional Component Declaration TC-DEPLOY-INST-001
status: approved
tags: deploy, components, configuration
priority: medium
release: v1.0

Verify manifest supports required=false for optional components

Test Case: Component Selection with --include Flag TC-DEPLOY-INST-002
status: approved
tags: deploy, cli, components
priority: medium
release: v1.0

Verify –include flag selects optional components during prep

Test Case: Config File Generation from Template TC-DEPLOY-INST-003
status: approved
tags: deploy, installation, configuration
priority: high
release: v1.0

Verify install script generates config file from template with variable substitution

Test Case: Config Template in Manifest TC-DEPLOY-INST-004
status: approved
tags: deploy, installation, configuration
priority: high
release: v1.0

Verify [install.config] section supports config_file and config_template fields

Test Case: Custom Installation Steps Execution TC-DEPLOY-INST-005
status: approved
tags: deploy, installation, customization
priority: high
release: v1.0

Verify [install.steps] section commands execute in correct order

Test Case: Interactive Installation Mode TC-DEPLOY-INST-006
status: approved
tags: deploy, installation, usability
priority: medium
release: v1.0

Verify install script prompts user in interactive mode

Test Case: Automatic Installation Mode TC-DEPLOY-INST-007
status: approved
tags: deploy, installation, automation
priority: high
release: v1.0

Verify install script runs without prompts when MODE=automatic

Test Case: Installation Prompt Configuration TC-DEPLOY-INST-008
status: approved
tags: deploy, installation, usability
priority: low
release: v1.0

Verify [install.prompts] section configures interactive prompts

Test Case: Dependency Declaration in Manifest TC-DEPLOY-INST-009
status: approved
tags: deploy, dependencies, configuration
priority: medium
release: v1.0

Verify [install.dependencies] section declares required tools

Test Case: Dependency Verification Before Build TC-DEPLOY-INST-010
status: approved
tags: deploy, dependencies, installation
priority: high
release: v1.0

Verify install script checks for required dependencies and fails early if missing

Test Case: Disk Space Verification TC-DEPLOY-INST-011
status: approved
tags: deploy, dependencies, installation
priority: medium
release: v1.0

Verify install script checks available disk space before installation

Test Case: Platform-Specific Install Paths TC-DEPLOY-INST-012
status: approved
tags: deploy, portability, installation
priority: high
release: v1.0

Verify install script uses platform-specific default paths on Linux, macOS, Windows

Component Configuration Tests

Test Case: Rust Component Configuration Options TC-DEPLOY-CFG-001
status: approved
tags: deploy, rust, configuration
priority: high
release: v1.0

Verify Rust component supports source, vendor, include_toolchain, prebuild config options

Test Case: External Binary Configuration Options TC-DEPLOY-CFG-002
status: approved
tags: deploy, external-binary, configuration
priority: high
release: v1.0

Verify external binary supports name, repo, branch/tag/commit, build_instructions config options

Test Case: Model File Configuration Options TC-DEPLOY-CFG-003
status: approved
tags: deploy, model, configuration
priority: high
release: v1.0

Verify model file supports name, url, checksum, required, install_path config options

System Package Component Tests

Test Case: Linux Distribution Detection TC-DEPLOY-SYSPKG-001
status: approved
tags: deploy, system-package, linux
priority: medium
release: v1.0

Verify system detects Linux distribution (Debian, Fedora, Arch)

Test Case: System Package Installation Configuration TC-DEPLOY-SYSPKG-002
status: approved
tags: deploy, system-package, installation
priority: medium
release: v1.0

Verify install scripts configure system package installation commands

Installation Detection Tests

Test Case: Existing Installation Detection TC-DEPLOY-UPG-001
status: approved
tags: deploy, installation, upgrade
priority: high
release: v1.0

Verify install script detects existing installation and offers upgrade path

CLI Feature Tests

Test Case: Colored CLI Output TC-DEPLOY-CLI-001
status: approved
tags: deploy, cli, ui
priority: medium
release: v1.0

Verify CLI displays colored output using ANSI codes

Test Case: Progress Bars for Long Operations TC-DEPLOY-CLI-002
status: approved
tags: deploy, cli, ui, progress
priority: high
release: v1.0

Verify progress bars display for downloads and compression operations

Test Case: Verbose Logging Flag TC-DEPLOY-CLI-003
status: approved
tags: deploy, cli, logging
priority: high
release: v1.0

Verify –verbose flag enables detailed operation logging

Configuration Management Tests

Test Case: Global Configuration File TC-DEPLOY-GLOBALCFG-001
status: approved
tags: deploy, configuration
priority: medium
release: v1.0

Verify system reads configuration from ~/.airgap-deploy/config.toml

Test Case: Global Configuration Options TC-DEPLOY-GLOBALCFG-002
status: approved
tags: deploy, configuration
priority: medium
release: v1.0

Verify global config supports default_target, cache_dir, proxy options

Test Case: CLI Overrides Configuration TC-DEPLOY-GLOBALCFG-003
status: approved
tags: deploy, configuration, cli
priority: high
release: v1.0

Verify command-line arguments override global configuration values

Error Handling Tests

Test Case: Non-Zero Exit Codes on Errors TC-DEPLOY-ERR-005
status: approved
tags: deploy, error-handling, cli
priority: high
release: v1.0

Verify system exits with non-zero status codes on errors

Test Case: Operation Logging for Debugging TC-DEPLOY-ERR-006
status: approved
tags: deploy, logging, debugging
priority: medium
release: v1.0

Verify all operations are logged to enable debugging

External Interface Tests

Test Case: CLI with ANSI Color Support TC-DEPLOY-EXTIF-001
status: approved
tags: deploy, external-interface, ui, cli
priority: medium
release: v1.0

Verify CLI provides ANSI color support for terminal output

Test Case: Interactive Prompts in Install Scripts TC-DEPLOY-EXTIF-002
status: approved
tags: deploy, external-interface, ui, installation
priority: high
release: v1.0

Verify generated install scripts provide interactive prompts

Test Case: Standard Filesystem I/O TC-DEPLOY-EXTIF-003
status: approved
tags: deploy, external-interface, hardware, filesystem
priority: low
release: v1.0

Verify system uses standard filesystem I/O operations

Test Case: Network Interface for Downloads TC-DEPLOY-EXTIF-004
status: approved
tags: deploy, external-interface, hardware, network
priority: medium
release: v1.0

Verify system uses network interface for component downloads during prep phase

Test Case: Removable Media Support TC-DEPLOY-EXTIF-005
status: approved
tags: deploy, external-interface, hardware, usb
priority: medium
release: v1.0

Verify packages can be transferred via removable media (USB drives)

Test Case: Cargo Integration TC-DEPLOY-EXTIF-006
status: approved
tags: deploy, external-interface, software, cargo, rust
priority: high
release: v1.0

Verify integration with cargo for Rust dependency vendoring

Test Case: Git Integration TC-DEPLOY-EXTIF-007
status: approved
tags: deploy, external-interface, software, git
priority: high
release: v1.0

Verify integration with git for repository cloning

Test Case: HTTP/HTTPS Client Downloads TC-DEPLOY-EXTIF-008
status: approved
tags: deploy, external-interface, software, http
priority: high
release: v1.0

Verify HTTP/HTTPS clients download models and packages

Test Case: System Package Manager Integration TC-DEPLOY-EXTIF-009
status: approved
tags: deploy, external-interface, software, package-manager
priority: medium
release: v1.0

Verify integration with apt, dnf, pacman for system packages

Test Case: AirGap Transfer Workflow Integration TC-DEPLOY-EXTIF-010
status: approved
tags: deploy, external-interface, software, airgap-transfer
priority: low
release: v1.0

Verify workflow-level integration with AirGap Transfer for large packages

Test Case: No Network During Installation TC-DEPLOY-EXTIF-011
status: approved
tags: deploy, external-interface, communications, air-gap, offline
priority: critical
release: v1.0

Verify installation phase uses no network communication (enforced by air-gap)

Reliability NFR Tests

Test Case: Idempotent Installation TC-DEPLOY-NFR-001
status: approved
tags: deploy, reliability, installation
priority: high
release: v1.0

Verify install scripts can be run multiple times safely without side effects

Test Case: Graceful Interruption Handling TC-DEPLOY-NFR-002
status: approved
tags: deploy, reliability, error-handling
priority: high
release: v1.0

Verify system handles Ctrl+C and system shutdown gracefully

Usability NFR Tests

Test Case: First-Time User Experience TC-DEPLOY-NFR-003
status: approved
tags: deploy, usability
priority: medium
release: v1.0

Verify first-time users can create deployment package within 10 minutes using examples

Test Case: Detailed Error Messages TC-DEPLOY-NFR-004
status: approved
tags: deploy, usability, error-handling
priority: high
release: v1.0

Verify error messages include specific details and suggested fixes

Test Case: Command Help Text TC-DEPLOY-NFR-005
status: approved
tags: deploy, usability, cli, help
priority: high
release: v1.0

Verify CLI provides help text via –help for all commands

Test Case: Progress Indicators for Long Operations TC-DEPLOY-NFR-006
status: approved
tags: deploy, usability, ui
priority: medium
release: v1.0

Verify progress indicators show for operations taking longer than 2 seconds

Maintainability NFR Tests

Test Case: Test Coverage Requirement TC-DEPLOY-NFR-007
status: approved
tags: deploy, maintainability, testing
priority: high
release: v1.0

Verify codebase achieves at least 80% test coverage

Test Case: API Documentation Requirement TC-DEPLOY-NFR-008
status: approved
tags: deploy, maintainability, documentation
priority: high
release: v1.0

Verify all public APIs have rustdoc documentation

Test Case: Clippy Compliance TC-DEPLOY-NFR-009
status: approved
tags: deploy, maintainability, code-quality
priority: high
release: v1.0

Verify code passes cargo clippy with zero warnings

Test Case: Code Formatting TC-DEPLOY-NFR-010
status: approved
tags: deploy, maintainability, code-quality
priority: high
release: v1.0

Verify code is formatted with rustfmt

Portability NFR Tests

Test Case: Installation Script Compatibility TC-DEPLOY-NFR-011
status: approved
tags: deploy, portability, installation
priority: high
release: v1.0

Verify install scripts are compatible with Bash 4.0+ and PowerShell 5.1+

Security NFR Tests

Test Case: Confirm Destructive Operations TC-DEPLOY-NFR-012
status: approved
tags: deploy, security, installation
priority: critical
release: v1.0

Verify install scripts require explicit confirmation before destructive operations

Scalability NFR Tests

Test Case: Multi-Component Manifest Support TC-DEPLOY-NFR-013
status: approved
tags: deploy, scalability
priority: medium
release: v1.0

Verify system supports manifests with up to 100 components

Test Case: CPU-Scalable Parallelism TC-DEPLOY-NFR-014
status: approved
tags: deploy, scalability, performance
priority: medium
release: v1.0

Verify parallel collection scales with available CPU cores

Test Execution

Unit Tests

# Run all unit tests
cargo test --lib

# Run with coverage
cargo tarpaulin --out Html

# Target: 80%+ coverage

Integration Tests

# Run integration tests
cargo test --test '*'

# Run specific integration test
cargo test --test e2e_whisper_deployment

CI/CD Testing

# .github/workflows/test.yml
name: Tests

on: [push, pull_request]

jobs:
  test:
    strategy:
      matrix:
        os: [ubuntu-latest, macos-latest, windows-latest]
        rust: [stable, beta]
    runs-on: ${{ matrix.os }}
    steps:
      - uses: actions/checkout@v4
      - uses: dtolnay/rust-toolchain@${{ matrix.rust }}
      - run: cargo test --all-features
      - run: cargo clippy -- -D warnings
      - run: cargo fmt --check

Air-Gapped VM Testing

Setup:

# Create Ubuntu 22.04 VM in VirtualBox
# Disable network adapter
# Install basic build tools (gcc, make)

# Transfer package via shared folder
# Run install script
# Verify installation

Test Metrics

Coverage Metrics

Metric

Target

Measurement

Line coverage

80%+

cargo tarpaulin

Branch coverage

75%+

cargo tarpaulin

Function coverage

90%+

cargo tarpaulin

Quality Metrics

Metric

Target

Measurement

Clippy warnings

0

cargo clippy

Formatting issues

0

cargo fmt –check

Documentation coverage

100% public APIs

cargo doc

Performance Metrics

Metric

Target

Test Case

Package prep time

< 5 min

TC-PERF-001

Large download memory

< 100 MB

TC-PERF-002

Install time

< 20 min

TC-PERF-004

Test Schedule

Phase 1: Core Infrastructure

  • TC-MAN-001 to TC-MAN-005 (Manifest parsing)

  • Unit tests for core types

Phase 2: Built-in Components

  • TC-RUST-001 to TC-RUST-004 (RustApp)

  • TC-GIT-001 to TC-GIT-004 (ExternalBinary)

  • TC-MODEL-001 to TC-MODEL-006 (ModelFile)

Phase 3: Packaging

  • TC-PKG-001 to TC-PKG-005 (Packaging)

Phase 4: Install Scripts

  • TC-INSTALL-001 to TC-INSTALL-006 (Install scripts)

  • TC-DEPLOY-INST-001 to TC-DEPLOY-INST-012 (Enhanced installation features)

Phase 5: CLI

  • TC-CLI-001 to TC-CLI-007 (CLI interface)

  • TC-DEPLOY-CLI-001 to TC-DEPLOY-CLI-003 (CLI features)

Phase 6: Integration & System

  • TC-ERR-001 to TC-ERR-004 (Error handling)

  • TC-E2E-001 to TC-E2E-003 (End-to-end workflows)

  • TC-PERF-001 to TC-PERF-004 (Performance)

  • TC-DEPLOY-SEC-001 to TC-DEPLOY-SEC-004 (Security)

Defect Management

Severity Levels

Severity

Description

Example

Critical

Blocks development/deployment

Package creation fails

High

Major functionality broken

Checksum verification fails

Medium

Feature impaired

Progress bar doesn’t show

Low

Minor issue

Typo in help text

Defect Tracking

  • Use GitHub Issues

  • Label with severity (critical, high, medium, low)

  • Tag with affected component

  • Link to failing test case

Test Deliverables

Test Code

  • tests/ directory with all test files

  • tests/fixtures/ with test manifests and data

  • benches/ with performance benchmarks

Test Reports

  • CI test results (GitHub Actions)

  • Coverage reports (HTML from tarpaulin)

  • Performance benchmark results

Test Documentation

  • This test plan

  • Test case documentation (inline in test code)

  • Testing guide for contributors

Risks and Mitigation

Risk

Impact

Mitigation

Network-dependent tests flaky

High

Mock network calls, use test fixtures

Platform-specific bugs

Medium

CI matrix with all platforms

Large file tests slow

Medium

Use smaller test files, separate slow tests

Air-gapped VM setup complex

Low

Document setup, provide VM image

Approval

Test plan will be approved when:

  • ✅ All test cases defined

  • ✅ CI/CD pipeline configured

  • ✅ Test environment documented

  • ✅ Coverage targets set

  • ✅ Ready to begin testing during implementation

Status: ✅ Test Plan Complete - Ready for implementation

Future Test Scope

The following v1.1 requirements (FR-DEPLOY-073 through FR-DEPLOY-084) will need test cases when SBOM generation and vulnerability scanning are implemented:

  • SBOM generation tests (CycloneDX format validation, dependency graph extraction, license information)

  • CBOM generation tests (cryptographic crate detection, internal crypto usage documentation)

  • Vulnerability scanning tests (scan subcommand, offline database, report output, severity threshold)

These test cases will be added to a dedicated “v1.1 SBOM/CBOM/Vulnerability” test section.

Test Case: Configurable Compression Levels TC-PKG-006
status: approved
tags: deploy, packaging, compression
priority: medium
release: v1.0

Verify package creation supports configurable compression levels and the output size varies accordingly

Requirements Traceability

This section demonstrates bidirectional traceability between requirements and test cases for AirGap Deploy.

Requirements to Tests Matrix

The following table shows all requirements and their associated test cases. The “Incoming” column shows which tests validate each requirement.

ID

Title

Status

Incoming

FR-DEPLOY-001

Parse TOML Manifest Files

approved

FR-DEPLOY-002

Validate Manifest Structure

approved

FR-DEPLOY-003

Support Manifest Sections

approved

FR-DEPLOY-004

Clear Manifest Error Messages

approved

FR-DEPLOY-005

Manifest Schema Versioning

approved

FR-DEPLOY-006

Collect Rust Application Source

approved

FR-DEPLOY-007

Vendor Cargo Dependencies

approved

FR-DEPLOY-008

Include Rust Toolchain Installer

approved

FR-DEPLOY-009

Generate Cargo Config

approved

FR-DEPLOY-010

Rust Component Configuration Options

approved

FR-DEPLOY-011

Clone Git Repositories

approved

FR-DEPLOY-012

Specify Git Version

approved

FR-DEPLOY-013

Include Build Instructions

approved

FR-DEPLOY-014

External Binary Configuration Options

approved

FR-DEPLOY-015

Download Model Files

approved

FR-DEPLOY-016

Verify File Checksums

approved

FR-DEPLOY-017

Display Download Progress

approved

FR-DEPLOY-018

Resume Interrupted Downloads

approved

FR-DEPLOY-019

Model File Configuration Options

approved

FR-DEPLOY-020

Detect Linux Distribution

approved

FR-DEPLOY-021

Download System Packages

approved

FR-DEPLOY-022

Include System Packages in Archive

approved

FR-DEPLOY-023

Configure System Package Installation

approved

FR-DEPLOY-024

Create Tar.gz Archives

approved

FR-DEPLOY-025

Create Zip Archives

approved

FR-DEPLOY-026

Organize Package Directory Structure

approved

FR-DEPLOY-027

Generate Package Metadata

approved

FR-DEPLOY-028

Generate Package Checksum

approved

FR-DEPLOY-029

Configurable Compression Levels

approved

FR-DEPLOY-030

Generate Bash Installation Scripts

approved

FR-DEPLOY-031

Generate PowerShell Installation Scripts

approved

FR-DEPLOY-032

Installation Script Steps

approved

FR-DEPLOY-033

Installation Script Modes

approved

FR-DEPLOY-034

Detect Existing Installations

approved

FR-DEPLOY-035

Verify Disk Space

approved

FR-DEPLOY-036

Installation Error Messages

approved

FR-DEPLOY-037

CLI Commands

approved

FR-DEPLOY-038

Colored CLI Output

approved

FR-DEPLOY-039

Progress Bars

approved

FR-DEPLOY-040

Verbose Logging Flag

approved

FR-DEPLOY-041

Help Flag

approved

FR-DEPLOY-042

Global Configuration File

approved

FR-DEPLOY-043

Global Configuration Options

approved

FR-DEPLOY-044

CLI Overrides Configuration

approved

FR-DEPLOY-045

Clear Error Messages

approved

FR-DEPLOY-046

Suggest Error Recovery Steps

approved

FR-DEPLOY-047

Non-Zero Exit Codes

approved

FR-DEPLOY-048

Operation Logging

approved

FR-DEPLOY-049

Command-Line Interface with ANSI Color Support

approved

FR-DEPLOY-050

Progress Bars for Long-Running Operations

approved

FR-DEPLOY-051

Interactive Prompts in Installation Scripts

approved

FR-DEPLOY-052

Standard Filesystem I/O

approved

FR-DEPLOY-053

Network Interface for Component Downloads

approved

FR-DEPLOY-054

Removable Media Support

approved

FR-DEPLOY-055

Cargo Integration for Dependency Vendoring

approved

FR-DEPLOY-056

Git Integration for Repository Cloning

approved

FR-DEPLOY-057

HTTP/HTTPS Clients for Downloads

approved

FR-DEPLOY-058

System Package Manager Integration

approved

FR-DEPLOY-059

AirGap Transfer Integration

approved

FR-DEPLOY-060

HTTP/HTTPS for Component Downloads

approved

FR-DEPLOY-061

No Network During Installation

approved

FR-DEPLOY-062

Optional Component Declaration

approved

FR-DEPLOY-063

Component Selection at Prep Time

approved

FR-DEPLOY-064

Config File Generation

approved

FR-DEPLOY-065

Config Template Support

approved

FR-DEPLOY-066

Custom Installation Steps

approved

FR-DEPLOY-067

Interactive Installation Mode

approved

FR-DEPLOY-068

Automatic Installation Mode

approved

FR-DEPLOY-069

Installation Prompts

approved

FR-DEPLOY-070

Dependency Declaration

approved

FR-DEPLOY-071

Dependency Verification

approved

FR-DEPLOY-072

Disk Space Verification

approved

FR-DEPLOY-073

Generate CycloneDX SBOM

proposed

FR-DEPLOY-074

Parse Cargo.lock for Dependency Graph

proposed

FR-DEPLOY-075

Extract License Information

proposed

FR-DEPLOY-076

Include Component Metadata in SBOM

proposed

FR-DEPLOY-077

Include SBOM in Deployment Archive

proposed

FR-DEPLOY-078

Detect Cryptographic Dependencies

proposed

FR-DEPLOY-079

Document Internal Cryptographic Usage

proposed

FR-DEPLOY-080

Unified SBOM/CBOM Document

proposed

FR-DEPLOY-081

Scan Subcommand

proposed

FR-DEPLOY-082

Offline Vulnerability Database

proposed

FR-DEPLOY-083

Vulnerability Report Output

proposed

FR-DEPLOY-084

Severity Threshold Exit Code

proposed

FR-DEPLOY-085

Config File Component Type

approved

FR-DEPLOY-086

GitHub Release Source Type

approved

FR-DEPLOY-087

Extended Install Section Fields

approved

FR-DEPLOY-088

Configuration Management Output Format

approved

FR-DEPLOY-089

Nested Source Field Support

approved

NFR-DEPLOY-001

Package Preparation Performance

approved

NFR-DEPLOY-002

Large Download Handling

approved

NFR-DEPLOY-003

Parallel Component Collection

approved

NFR-DEPLOY-004

Installation Performance

approved

NFR-DEPLOY-005

Checksum Verification

approved

NFR-DEPLOY-006

Network Operation Retry

approved

NFR-DEPLOY-007

Idempotent Installation

approved

NFR-DEPLOY-008

Graceful Interruption Handling

approved

NFR-DEPLOY-009

First-Time User Experience

approved

NFR-DEPLOY-010

Detailed Error Messages

approved

NFR-DEPLOY-011

Command Help Text

approved

NFR-DEPLOY-012

Progress Indicators

approved

NFR-DEPLOY-013

Test Coverage

approved

NFR-DEPLOY-014

API Documentation

approved

NFR-DEPLOY-015

Clippy Compliance

approved

NFR-DEPLOY-016

Code Formatting

approved

NFR-DEPLOY-017

Linux Platform Support

approved

NFR-DEPLOY-018

macOS Platform Support

approved

NFR-DEPLOY-019

Windows Platform Support

approved

NFR-DEPLOY-020

Installation Script Compatibility

approved

NFR-DEPLOY-021

Verify All Checksums

approved

NFR-DEPLOY-022

No Arbitrary Code Execution

approved

NFR-DEPLOY-023

Confirm Destructive Operations

approved

NFR-DEPLOY-024

HTTPS for Network Operations

approved

NFR-DEPLOY-025

Restrictive File Permissions

approved

NFR-DEPLOY-026

Large Package Support

approved

NFR-DEPLOY-027

Multi-Component Manifests

approved

NFR-DEPLOY-028

CPU-Scalable Parallelism

approved

NFR-DEPLOY-029

Platform-Specific Install Paths

approved

Requirements Coverage Statistics

This table provides an overview of all AirGap Deploy requirements with their priority and status.

ID

Title

Priority

Status

FR-DEPLOY-001

Parse TOML Manifest Files

must

approved

FR-DEPLOY-002

Validate Manifest Structure

must

approved

FR-DEPLOY-003

Support Manifest Sections

must

approved

FR-DEPLOY-004

Clear Manifest Error Messages

must

approved

FR-DEPLOY-005

Manifest Schema Versioning

should

approved

FR-DEPLOY-006

Collect Rust Application Source

must

approved

FR-DEPLOY-007

Vendor Cargo Dependencies

must

approved

FR-DEPLOY-008

Include Rust Toolchain Installer

should

approved

FR-DEPLOY-009

Generate Cargo Config

must

approved

FR-DEPLOY-010

Rust Component Configuration Options

must

approved

FR-DEPLOY-011

Clone Git Repositories

must

approved

FR-DEPLOY-012

Specify Git Version

must

approved

FR-DEPLOY-013

Include Build Instructions

must

approved

FR-DEPLOY-014

External Binary Configuration Options

must

approved

FR-DEPLOY-015

Download Model Files

must

approved

FR-DEPLOY-016

Verify File Checksums

must

approved

FR-DEPLOY-017

Display Download Progress

must

approved

FR-DEPLOY-018

Resume Interrupted Downloads

should

approved

FR-DEPLOY-019

Model File Configuration Options

must

approved

FR-DEPLOY-020

Detect Linux Distribution

could

approved

FR-DEPLOY-021

Download System Packages

could

approved

FR-DEPLOY-022

Include System Packages in Archive

could

approved

FR-DEPLOY-023

Configure System Package Installation

could

approved

FR-DEPLOY-024

Create Tar.gz Archives

must

approved

FR-DEPLOY-025

Create Zip Archives

must

approved

FR-DEPLOY-026

Organize Package Directory Structure

must

approved

FR-DEPLOY-027

Generate Package Metadata

must

approved

FR-DEPLOY-028

Generate Package Checksum

must

approved

FR-DEPLOY-029

Configurable Compression Levels

should

approved

FR-DEPLOY-030

Generate Bash Installation Scripts

must

approved

FR-DEPLOY-031

Generate PowerShell Installation Scripts

must

approved

FR-DEPLOY-032

Installation Script Steps

must

approved

FR-DEPLOY-033

Installation Script Modes

must

approved

FR-DEPLOY-034

Detect Existing Installations

should

approved

FR-DEPLOY-035

Verify Disk Space

must

approved

FR-DEPLOY-036

Installation Error Messages

must

approved

FR-DEPLOY-037

CLI Commands

must

approved

FR-DEPLOY-038

Colored CLI Output

should

approved

FR-DEPLOY-039

Progress Bars

must

approved

FR-DEPLOY-040

Verbose Logging Flag

must

approved

FR-DEPLOY-041

Help Flag

must

approved

FR-DEPLOY-042

Global Configuration File

should

approved

FR-DEPLOY-043

Global Configuration Options

should

approved

FR-DEPLOY-044

CLI Overrides Configuration

must

approved

FR-DEPLOY-045

Clear Error Messages

must

approved

FR-DEPLOY-046

Suggest Error Recovery Steps

should

approved

FR-DEPLOY-047

Non-Zero Exit Codes

must

approved

FR-DEPLOY-048

Operation Logging

must

approved

FR-DEPLOY-049

Command-Line Interface with ANSI Color Support

must

approved

FR-DEPLOY-050

Progress Bars for Long-Running Operations

must

approved

FR-DEPLOY-051

Interactive Prompts in Installation Scripts

must

approved

FR-DEPLOY-052

Standard Filesystem I/O

must

approved

FR-DEPLOY-053

Network Interface for Component Downloads

must

approved

FR-DEPLOY-054

Removable Media Support

must

approved

FR-DEPLOY-055

Cargo Integration for Dependency Vendoring

must

approved

FR-DEPLOY-056

Git Integration for Repository Cloning

must

approved

FR-DEPLOY-057

HTTP/HTTPS Clients for Downloads

must

approved

FR-DEPLOY-058

System Package Manager Integration

should

approved

FR-DEPLOY-059

AirGap Transfer Integration

could

approved

FR-DEPLOY-060

HTTP/HTTPS for Component Downloads

must

approved

FR-DEPLOY-061

No Network During Installation

must

approved

FR-DEPLOY-062

Optional Component Declaration

should

approved

FR-DEPLOY-063

Component Selection at Prep Time

should

approved

FR-DEPLOY-064

Config File Generation

should

approved

FR-DEPLOY-065

Config Template Support

should

approved

FR-DEPLOY-066

Custom Installation Steps

should

approved

FR-DEPLOY-067

Interactive Installation Mode

should

approved

FR-DEPLOY-068

Automatic Installation Mode

should

approved

FR-DEPLOY-069

Installation Prompts

could

approved

FR-DEPLOY-070

Dependency Declaration

should

approved

FR-DEPLOY-071

Dependency Verification

must

approved

FR-DEPLOY-072

Disk Space Verification

should

approved

FR-DEPLOY-073

Generate CycloneDX SBOM

should

proposed

FR-DEPLOY-074

Parse Cargo.lock for Dependency Graph

should

proposed

FR-DEPLOY-075

Extract License Information

should

proposed

FR-DEPLOY-076

Include Component Metadata in SBOM

should

proposed

FR-DEPLOY-077

Include SBOM in Deployment Archive

should

proposed

FR-DEPLOY-078

Detect Cryptographic Dependencies

should

proposed

FR-DEPLOY-079

Document Internal Cryptographic Usage

should

proposed

FR-DEPLOY-080

Unified SBOM/CBOM Document

should

proposed

FR-DEPLOY-081

Scan Subcommand

could

proposed

FR-DEPLOY-082

Offline Vulnerability Database

could

proposed

FR-DEPLOY-083

Vulnerability Report Output

could

proposed

FR-DEPLOY-084

Severity Threshold Exit Code

could

proposed

FR-DEPLOY-085

Config File Component Type

should

approved

FR-DEPLOY-086

GitHub Release Source Type

should

approved

FR-DEPLOY-087

Extended Install Section Fields

should

approved

FR-DEPLOY-088

Configuration Management Output Format

could

approved

FR-DEPLOY-089

Nested Source Field Support

should

approved

NFR-DEPLOY-001

Package Preparation Performance

should

approved

NFR-DEPLOY-002

Large Download Handling

must

approved

NFR-DEPLOY-003

Parallel Component Collection

should

approved

NFR-DEPLOY-004

Installation Performance

should

approved

NFR-DEPLOY-005

Checksum Verification

must

approved

NFR-DEPLOY-006

Network Operation Retry

must

approved

NFR-DEPLOY-007

Idempotent Installation

must

approved

NFR-DEPLOY-008

Graceful Interruption Handling

must

approved

NFR-DEPLOY-009

First-Time User Experience

should

approved

NFR-DEPLOY-010

Detailed Error Messages

must

approved

NFR-DEPLOY-011

Command Help Text

must

approved

NFR-DEPLOY-012

Progress Indicators

must

approved

NFR-DEPLOY-013

Test Coverage

must

approved

NFR-DEPLOY-014

API Documentation

must

approved

NFR-DEPLOY-015

Clippy Compliance

must

approved

NFR-DEPLOY-016

Code Formatting

must

approved

NFR-DEPLOY-017

Linux Platform Support

must

approved

NFR-DEPLOY-018

macOS Platform Support

must

approved

NFR-DEPLOY-019

Windows Platform Support

must

approved

NFR-DEPLOY-020

Installation Script Compatibility

must

approved

NFR-DEPLOY-021

Verify All Checksums

must

approved

NFR-DEPLOY-022

No Arbitrary Code Execution

must

approved

NFR-DEPLOY-023

Confirm Destructive Operations

must

approved

NFR-DEPLOY-024

HTTPS for Network Operations

must

approved

NFR-DEPLOY-025

Restrictive File Permissions

must

approved

NFR-DEPLOY-026

Large Package Support

should

approved

NFR-DEPLOY-027

Multi-Component Manifests

should

approved

NFR-DEPLOY-028

CPU-Scalable Parallelism

should

approved

NFR-DEPLOY-029

Platform-Specific Install Paths

must

approved

Note

Understanding Traceability:

  • Incoming links show which test cases validate each requirement

  • Tests column (in test tables below) shows which requirements each test validates

  • This bidirectional linking ensures complete coverage and traceability

Test Cases

This table lists all test cases with their validation links.

ID

Title

Priority

Status

Tests

TC-CLI-001

Prep Command - Default Manifest

high

approved

FR-DEPLOY-037

TC-CLI-002

Prep Command - Custom Manifest

high

approved

FR-DEPLOY-037

TC-CLI-003

Prep Command - Dry Run

medium

approved

FR-DEPLOY-037

TC-CLI-004

Validate Command

high

approved

FR-DEPLOY-037

TC-CLI-005

Init Command

medium

approved

FR-DEPLOY-037

TC-CLI-006

List Components Command

low

approved

FR-DEPLOY-037

TC-CLI-007

Help Flag

high

approved

FR-DEPLOY-041

TC-DEPLOY-CFG-001

Rust Component Configuration Options

high

approved

FR-DEPLOY-010

TC-DEPLOY-CFG-002

External Binary Configuration Options

high

approved

FR-DEPLOY-014

TC-DEPLOY-CFG-003

Model File Configuration Options

high

approved

FR-DEPLOY-019

TC-DEPLOY-CLI-001

Colored CLI Output

medium

approved

FR-DEPLOY-038

TC-DEPLOY-CLI-002

Progress Bars for Long Operations

high

approved

FR-DEPLOY-039; FR-DEPLOY-050

TC-DEPLOY-CLI-003

Verbose Logging Flag

high

approved

FR-DEPLOY-040; FR-DEPLOY-048

TC-DEPLOY-ERR-005

Non-Zero Exit Codes on Errors

high

approved

FR-DEPLOY-047

TC-DEPLOY-ERR-006

Operation Logging for Debugging

medium

approved

FR-DEPLOY-048

TC-DEPLOY-EXTIF-001

CLI with ANSI Color Support

medium

approved

FR-DEPLOY-049

TC-DEPLOY-EXTIF-002

Interactive Prompts in Install Scripts

high

approved

FR-DEPLOY-051

TC-DEPLOY-EXTIF-003

Standard Filesystem I/O

low

approved

FR-DEPLOY-052

TC-DEPLOY-EXTIF-004

Network Interface for Downloads

medium

approved

FR-DEPLOY-053; FR-DEPLOY-060

TC-DEPLOY-EXTIF-005

Removable Media Support

medium

approved

FR-DEPLOY-054

TC-DEPLOY-EXTIF-006

Cargo Integration

high

approved

FR-DEPLOY-055

TC-DEPLOY-EXTIF-007

Git Integration

high

approved

FR-DEPLOY-056

TC-DEPLOY-EXTIF-008

HTTP/HTTPS Client Downloads

high

approved

FR-DEPLOY-057

TC-DEPLOY-EXTIF-009

System Package Manager Integration

medium

approved

FR-DEPLOY-058

TC-DEPLOY-EXTIF-010

AirGap Transfer Workflow Integration

low

approved

FR-DEPLOY-059

TC-DEPLOY-EXTIF-011

No Network During Installation

critical

approved

FR-DEPLOY-061

TC-DEPLOY-GLOBALCFG-001

Global Configuration File

medium

approved

FR-DEPLOY-042

TC-DEPLOY-GLOBALCFG-002

Global Configuration Options

medium

approved

FR-DEPLOY-043

TC-DEPLOY-GLOBALCFG-003

CLI Overrides Configuration

high

approved

FR-DEPLOY-044

TC-DEPLOY-INST-001

Optional Component Declaration

medium

approved

FR-DEPLOY-062

TC-DEPLOY-INST-002

Component Selection with --include Flag

medium

approved

FR-DEPLOY-063

TC-DEPLOY-INST-003

Config File Generation from Template

high

approved

FR-DEPLOY-064

TC-DEPLOY-INST-004

Config Template in Manifest

high

approved

FR-DEPLOY-065

TC-DEPLOY-INST-005

Custom Installation Steps Execution

high

approved

FR-DEPLOY-066

TC-DEPLOY-INST-006

Interactive Installation Mode

medium

approved

FR-DEPLOY-067

TC-DEPLOY-INST-007

Automatic Installation Mode

high

approved

FR-DEPLOY-068

TC-DEPLOY-INST-008

Installation Prompt Configuration

low

approved

FR-DEPLOY-069

TC-DEPLOY-INST-009

Dependency Declaration in Manifest

medium

approved

FR-DEPLOY-070

TC-DEPLOY-INST-010

Dependency Verification Before Build

high

approved

FR-DEPLOY-071

TC-DEPLOY-INST-011

Disk Space Verification

medium

approved

FR-DEPLOY-072

TC-DEPLOY-INST-012

Platform-Specific Install Paths

high

approved

NFR-DEPLOY-029

TC-DEPLOY-NFR-001

Idempotent Installation

high

approved

NFR-DEPLOY-007

TC-DEPLOY-NFR-002

Graceful Interruption Handling

high

approved

NFR-DEPLOY-008

TC-DEPLOY-NFR-003

First-Time User Experience

medium

approved

NFR-DEPLOY-009

TC-DEPLOY-NFR-004

Detailed Error Messages

high

approved

NFR-DEPLOY-010

TC-DEPLOY-NFR-005

Command Help Text

high

approved

NFR-DEPLOY-011

TC-DEPLOY-NFR-006

Progress Indicators for Long Operations

medium

approved

NFR-DEPLOY-012

TC-DEPLOY-NFR-007

Test Coverage Requirement

high

approved

NFR-DEPLOY-013

TC-DEPLOY-NFR-008

API Documentation Requirement

high

approved

NFR-DEPLOY-014

TC-DEPLOY-NFR-009

Clippy Compliance

high

approved

NFR-DEPLOY-015

TC-DEPLOY-NFR-010

Code Formatting

high

approved

NFR-DEPLOY-016

TC-DEPLOY-NFR-011

Installation Script Compatibility

high

approved

NFR-DEPLOY-020

TC-DEPLOY-NFR-012

Confirm Destructive Operations

critical

approved

NFR-DEPLOY-023

TC-DEPLOY-NFR-013

Multi-Component Manifest Support

medium

approved

NFR-DEPLOY-027

TC-DEPLOY-NFR-014

CPU-Scalable Parallelism

medium

approved

NFR-DEPLOY-028

TC-DEPLOY-SEC-001

Checksum Verification Prevents Corruption

critical

approved

NFR-DEPLOY-021

TC-DEPLOY-SEC-002

No Arbitrary Code Execution

critical

approved

NFR-DEPLOY-022

TC-DEPLOY-SEC-003

HTTPS for Downloads

high

approved

NFR-DEPLOY-024

TC-DEPLOY-SEC-004

Temporary File Permissions

high

approved

NFR-DEPLOY-025

TC-DEPLOY-SYSPKG-001

Linux Distribution Detection

medium

approved

FR-DEPLOY-020

TC-DEPLOY-SYSPKG-002

System Package Installation Configuration

medium

approved

FR-DEPLOY-023

TC-DEPLOY-UPG-001

Existing Installation Detection

high

approved

FR-DEPLOY-034

TC-E2E-001

Cleanroom Whisper End-to-End Deployment

critical

approved

UC-DEPLOY-001

TC-E2E-002

Ollama Large Model Deployment

high

approved

UC-DEPLOY-002; NFR-DEPLOY-026

TC-E2E-003

Multi-Platform Build

high

approved

NFR-DEPLOY-017; NFR-DEPLOY-018; NFR-DEPLOY-019

TC-ERR-001

Network Error with Retry

high

approved

NFR-DEPLOY-006; FR-DEPLOY-046

TC-ERR-002

Disk Space Error

high

approved

FR-DEPLOY-035; FR-DEPLOY-045

TC-ERR-003

Permission Error

medium

approved

FR-DEPLOY-045

TC-ERR-004

Invalid Platform

medium

approved

FR-DEPLOY-045

TC-GIT-001

Git Repository Cloning

high

approved

FR-DEPLOY-011; FR-DEPLOY-012

TC-GIT-002

Git Branch Checkout

high

approved

FR-DEPLOY-012

TC-GIT-003

Invalid Repository URL

medium

approved

FR-DEPLOY-011; FR-DEPLOY-045

TC-GIT-004

Network Failure During Clone

high

approved

NFR-DEPLOY-006; FR-DEPLOY-045

TC-INSTALL-001

Bash Script Generation

high

approved

FR-DEPLOY-030; FR-DEPLOY-032

TC-INSTALL-002

PowerShell Script Generation

high

approved

FR-DEPLOY-031; FR-DEPLOY-032

TC-INSTALL-003

Interactive Mode Prompts

high

approved

FR-DEPLOY-033

TC-INSTALL-004

Automatic Mode

high

approved

FR-DEPLOY-033

TC-INSTALL-005

Dependency Check Success

high

approved

FR-DEPLOY-032

TC-INSTALL-006

Dependency Check Failure

high

approved

FR-DEPLOY-032; FR-DEPLOY-036

TC-MAN-001

Valid Manifest Parsing

high

approved

FR-DEPLOY-001; FR-DEPLOY-003

TC-MAN-002

Invalid Manifest - Missing Required Field

high

approved

FR-DEPLOY-002; FR-DEPLOY-004

TC-MAN-003

Invalid Manifest - Wrong Type

high

approved

FR-DEPLOY-002; FR-DEPLOY-004

TC-MAN-004

Unsupported Component Type

medium

approved

FR-DEPLOY-002; FR-DEPLOY-004

TC-MAN-005

Schema Versioning

low

approved

FR-DEPLOY-005

TC-MODEL-001

Model File Download

high

approved

FR-DEPLOY-015; FR-DEPLOY-016

TC-MODEL-002

Checksum Verification Success

high

approved

FR-DEPLOY-016; NFR-DEPLOY-005

TC-MODEL-003

Checksum Verification Failure

high

approved

FR-DEPLOY-016; NFR-DEPLOY-005; FR-DEPLOY-045

TC-MODEL-004

Download Resume

medium

approved

FR-DEPLOY-018

TC-MODEL-005

Large File Download

high

approved

FR-DEPLOY-017; NFR-DEPLOY-002

TC-MODEL-006

Download Cache Hit

medium

approved

FR-DEPLOY-016

TC-PERF-001

Package Preparation Time

medium

approved

NFR-DEPLOY-001

TC-PERF-002

Large Model Download Performance

high

approved

NFR-DEPLOY-002

TC-PERF-003

Parallel Component Collection

medium

approved

NFR-DEPLOY-003

TC-PERF-004

Installation Script Performance

medium

approved

NFR-DEPLOY-004

TC-PKG-001

Create tar.gz Package

high

approved

FR-DEPLOY-024; FR-DEPLOY-026

TC-PKG-002

Create zip Package

high

approved

FR-DEPLOY-025; FR-DEPLOY-026

TC-PKG-003

Package Metadata Generation

high

approved

FR-DEPLOY-027

TC-PKG-004

Package Checksum Generation

high

approved

FR-DEPLOY-028; NFR-DEPLOY-005

TC-PKG-005

Large Package Creation

medium

approved

NFR-DEPLOY-026

TC-PKG-006

Configurable Compression Levels

medium

approved

FR-DEPLOY-029

TC-RUST-001

Rust App with Vendoring

high

approved

FR-DEPLOY-007; FR-DEPLOY-009

TC-RUST-002

Rust Toolchain Inclusion

medium

approved

FR-DEPLOY-008

TC-RUST-003

Missing Cargo.toml

medium

approved

FR-DEPLOY-006; FR-DEPLOY-045

TC-RUST-004

Cargo Vendor Failure

medium

approved

FR-DEPLOY-007; FR-DEPLOY-045