From 2f3f2c41b5732ec7f6204d2f45e0731ce8e450b6 Mon Sep 17 00:00:00 2001 From: Arkajyoti Mukherjee <32966391+arkajyotiMukherjee@users.noreply.github.com> Date: Mon, 1 Apr 2024 20:16:18 +0530 Subject: [PATCH] chore: [CHAOS-4699]: added fuzz test for FuzzBuildContainerSpec (#215) Signed-off-by: Arkajyoti Mukherjee --- pkg/utils/builders_fuzz_test.go | 31 +++++++++++++++++++++++++++++++ 1 file changed, 31 insertions(+) diff --git a/pkg/utils/builders_fuzz_test.go b/pkg/utils/builders_fuzz_test.go index 596b077..230ae5d 100644 --- a/pkg/utils/builders_fuzz_test.go +++ b/pkg/utils/builders_fuzz_test.go @@ -7,6 +7,37 @@ import ( "testing" ) +func FuzzBuildContainerSpec(f *testing.F) { + f.Fuzz(func(t *testing.T, data []byte) { + fuzzConsumer := fuzz.NewConsumer(data) + targetStruct := &struct { + ExpDetails *ExperimentDetails + EnvVars []corev1.EnvVar + }{} + + err := fuzzConsumer.GenerateStruct(targetStruct) + if err != nil { + return + } + containerSpec, err := buildContainerSpec(targetStruct.ExpDetails, targetStruct.EnvVars) + if err != nil { + return + } + + container, err := containerSpec.Build() + if err != nil { + return + } + + require.Equal(t, targetStruct.ExpDetails.JobName, container.Name) + require.Equal(t, targetStruct.ExpDetails.ExpImage, container.Image) + require.Equal(t, targetStruct.ExpDetails.ExpCommand, container.Command) + require.Equal(t, targetStruct.ExpDetails.ExpArgs, container.Args) + require.Equal(t, targetStruct.ExpDetails.ExpImagePullPolicy, container.ImagePullPolicy) + require.Equal(t, targetStruct.EnvVars, container.Env) + }) +} + func FuzzGetEnvFromMap(f *testing.F) { f.Fuzz(func(t *testing.T, data []byte) { fuzzConsumer := fuzz.NewConsumer(data)