Make test harness more flexible with functions
Replace the 4 arguments to cmdTestCase with a function that can let tests run arbitrary logic if it is more complex than what is provided by the test harness. Move the existing logic into functions that the test can use for common assertions on golden files and golden values. These changes were pulled out of PR #1696 to make a smaller review. Signed-off-by: Allen Porter <allen@thebends.org>
This commit is contained in:
@@ -10,8 +10,7 @@ func TestTraceNoArgs(t *testing.T) {
|
||||
cmd := cmdTestCase{
|
||||
args: "trace",
|
||||
testClusterMode: TestEnvClusterMode,
|
||||
wantError: true,
|
||||
goldenValue: "object name is required",
|
||||
assert: assertError("object name is required"),
|
||||
}
|
||||
cmd.runTestCmd(t)
|
||||
}
|
||||
@@ -20,8 +19,7 @@ func TestTraceDeployment(t *testing.T) {
|
||||
cmd := cmdTestCase{
|
||||
args: "trace podinfo -n podinfo --kind deployment --api-version=apps/v1",
|
||||
testClusterMode: TestEnvClusterMode,
|
||||
wantError: false,
|
||||
goldenFile: "testdata/trace/deployment.txt",
|
||||
assert: assertGoldenFile("testdata/trace/deployment.txt"),
|
||||
objectFile: "testdata/trace/deployment.yaml",
|
||||
}
|
||||
cmd.runTestCmd(t)
|
||||
@@ -31,8 +29,7 @@ func TestTraceHelmRelease(t *testing.T) {
|
||||
cmd := cmdTestCase{
|
||||
args: "trace podinfo -n podinfo --kind HelmRelease --api-version=helm.toolkit.fluxcd.io/v2beta1",
|
||||
testClusterMode: TestEnvClusterMode,
|
||||
wantError: false,
|
||||
goldenFile: "testdata/trace/helmrelease.txt",
|
||||
assert: assertGoldenFile("testdata/trace/helmrelease.txt"),
|
||||
objectFile: "testdata/trace/helmrelease.yaml",
|
||||
}
|
||||
cmd.runTestCmd(t)
|
||||
|
||||
Reference in New Issue
Block a user