diff --git a/pkg/internal/config/config_test.go b/pkg/internal/config/config_test.go index 89551cf0..8221a6b7 100644 --- a/pkg/internal/config/config_test.go +++ b/pkg/internal/config/config_test.go @@ -49,6 +49,12 @@ var testEnv = map[string]string{ kconfig.PodUIDEnvVarName: testPodUID, } +var testEnvNoPodUID = map[string]string{ + kconfig.ConfigMapNamespaceEnvVarName: testNamespace, + kconfig.ConfigMapNameEnvVarName: testConfigMapName, + kconfig.PodNameEnvVarName: testPodName, +} + func TestInitConfigMapShouldFailWhenNoConfigMap(t *testing.T) { fakeClient := fake.NewSimpleClientset() _, err := config.ReadWithDefaults(fakeClient, testNamespace, testEnv) @@ -62,6 +68,27 @@ func TestInitConfigMapShouldFailWhenNoEnvVars(t *testing.T) { assert.ErrorContains(t, err, "no environment variables") } +func TestInitConfigMapShouldSucceedWithMissingPodID(t *testing.T) { + testPod := &corev1.Pod{ + ObjectMeta: metav1.ObjectMeta{ + Name: testPodName, + Namespace: testNamespace, + }, + } + fakeClient := fake.NewSimpleClientset(newConfigMap(), testPod) + _, err := config.ReadWithDefaults(fakeClient, testNamespace, testEnvNoPodUID) + assert.NoError(t, err) + + _, err = kconfigmap.Get(fakeClient, testNamespace, testConfigMapName) + assert.NoError(t, err) +} + +func TestInitConfigMapShouldFailWithMissingPodIDAndMissingPod(t *testing.T) { + fakeClient := fake.NewSimpleClientset(newConfigMap()) + _, err := config.ReadWithDefaults(fakeClient, testNamespace, testEnvNoPodUID) + assert.ErrorContains(t, err, "not found") +} + func TestInitConfigMapShouldSucceed(t *testing.T) { fakeClient := fake.NewSimpleClientset(newConfigMap()) _, err := config.ReadWithDefaults(fakeClient, testNamespace, testEnv)