What problem would this solve?
v1 e2e (#37) covers cluster up, cluster status, and cluster down, plus one deploy/delete smoke per scenario. Commands like plan, logs, resolve, list, and status can still regress against a live cluster without CI catching them.
cluster kubeconfig is also uncovered: v1 reads the kubeconfig path out of the cluster status --output json payload rather than invoking that subcommand, so its output contract is not exercised.
What do you want?
After #37 lands, expand internal/e2e/ (same Kind cluster, same nabattest.Run harness) to cover more of the CLI surface against the live cluster, for example:
cluster kubeconfig (path form and --raw contents form)
plan (offline vs live as applicable)
list / status after deploy
logs for the smoke workload
resolve against the fixture
Prefer adding cases on the shared cluster from #37 rather than new Kind create cycles. Keep the golden integration tests for offline rendering.
Note that #37 auto-discovers scenarios from internal/e2e/testdata/, so workload-shaped cases need only a new directory with deployah.yaml plus expect.yaml. Command-surface cases that are not about deployed resources will need their own suite methods.
Depends on: #37
Alternatives considered
- Only unit/integration coverage for these commands - misses live kube/context bugs.
- One giant e2e that hits every flag - too slow and flaky; grow incrementally.
What problem would this solve?
v1 e2e (#37) covers
cluster up,cluster status, andcluster down, plus onedeploy/deletesmoke per scenario. Commands likeplan,logs,resolve,list, andstatuscan still regress against a live cluster without CI catching them.cluster kubeconfigis also uncovered: v1 reads the kubeconfig path out of thecluster status --output jsonpayload rather than invoking that subcommand, so its output contract is not exercised.What do you want?
After #37 lands, expand
internal/e2e/(same Kind cluster, samenabattest.Runharness) to cover more of the CLI surface against the live cluster, for example:cluster kubeconfig(path form and--rawcontents form)plan(offline vs live as applicable)list/statusafter deploylogsfor the smoke workloadresolveagainst the fixturePrefer adding cases on the shared cluster from #37 rather than new Kind create cycles. Keep the golden
integrationtests for offline rendering.Note that #37 auto-discovers scenarios from
internal/e2e/testdata/, so workload-shaped cases need only a new directory withdeployah.yamlplusexpect.yaml. Command-surface cases that are not about deployed resources will need their own suite methods.Depends on: #37
Alternatives considered