Skip to content

nvcf-cli: Add reusable control-plane sanity test harness #421

Description

@sbaum1994

Description

Add a small, reusable end-to-end sanity test harness that invokes the built nvcf-cli binary against a configured NVCF control plane. The initial suite should validate the top-level CLI and control-plane integration without depending on a specific deployment environment. Developers must be able to run the same tests against local, staging, self-managed, or other compatible control planes by supplying configuration and credentials at runtime.

Keep the first version intentionally small. It should establish a clear pattern that developers can extend with additional CLI workflows and assertions. The harness should exercise the CLI as a user would, through subprocess execution and its public command interface, rather than importing internal Go packages.

Definition of Done

  • A documented top-level command runs the sanity suite against a developer-selected NVCF control plane.
  • Control-plane API and invocation endpoints, credentials, account context, and environment-specific resource inputs are supplied through documented runtime configuration.
  • The repository does not contain hardcoded credentials, private endpoints, or environment-specific identifiers.
  • The harness invokes the built nvcf-cli binary and asserts command exit codes and relevant structured or stable output.
  • The initial suite includes a minimal connectivity and authentication check plus one representative end-to-end CLI workflow.
  • Resources created by a test use unique names and are removed by default, including cleanup after a failed assertion where practical.
  • Tests can be selected or extended without duplicating environment setup, CLI invocation, output capture, or cleanup logic.
  • Failures identify the command and phase that failed while redacting tokens, credentials, and other secret values.
  • Live tests skip with a clear message when required configuration is absent and do not run implicitly as part of the default unit-test suite.
  • Harness behavior that does not require a live control plane is covered by automated tests.
  • Documentation explains prerequisites, configuration, execution, extension points, cleanup behavior, and known limitations.

Resources

  • src/clis/nvcf-cli/
  • src/clis/nvcf-cli/test/e2e/
  • src/clis/nvcf-cli/README.md

By submitting this issue, you acknowledge that you are an assigned member of the NVCF development team and agree to follow our code of conduct and our contributing guidelines.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions