Skip to content

test(inspect): add tests for services.go, kvm.go, hetzner.go, output.go #105

@CodeMonkeyCybersecurity

Description

Context

pkg/inspect/ has 0% test coverage for:

  • services.go (689 lines) - systemd, nginx, apache, postgresql, mysql, redis, hashicorp, tailscale discovery
  • kvm.go - KVM/libvirt VM discovery
  • hetzner.go - Hetzner Cloud API discovery
  • output.go (1072 lines) - YAML and Terraform generation
  • terraform_modular.go - modular Terraform generation

Problem

  • Zero regression protection for parsing logic
  • extractVersion() regex patterns untested
  • Terraform generation (sanitizeTerraformName, generateDockerTerraform, etc.) has no tests
  • YAML serialization untested

Proposal

Extract pure parsing functions (like docker.go refactor) and add tests:

  1. extractVersion() - test with various version string formats
  2. sanitizeTerraformName() - test edge cases (numbers, special chars, empty)
  3. parseMemoryInfo(), parseCPUInfo(), parseDiskInfo() - test with sample command output
  4. generateDockerTerraform() - test Terraform HCL generation
  5. WriteYAML() - test serialization with known input

Target: 70%+ coverage on parsers, 50%+ overall package coverage.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions