Skip to content

Commit

Permalink
refactor: split env in to tokens for further duplicates check
Browse files Browse the repository at this point in the history
Signed-off-by: Artur Troian <[email protected]>
  • Loading branch information
troian committed Jan 27, 2025
1 parent 1de2a35 commit 950e48b
Show file tree
Hide file tree
Showing 2 changed files with 4 additions and 9 deletions.
2 changes: 1 addition & 1 deletion go/manifest/v2beta2/manifest_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -274,7 +274,7 @@ func TestManifestWithEmptyEnvNameIsInvalid(t *testing.T) {
m[0].Services[0].Env = envVars
err := m.Validate()
require.Error(t, err)
require.Regexp(t, `^.*var\. with an empty name.*$`, err)
require.Regexp(t, `^.*var\. with an invalid name.*$`, err)
}

func TestManifestWithBadEnvNameIsInvalid(t *testing.T) {
Expand Down
11 changes: 3 additions & 8 deletions go/manifest/v2beta2/service.go
Original file line number Diff line number Diff line change
Expand Up @@ -29,17 +29,12 @@ func (s *Service) validate(helper *validateManifestGroupsHelper) error {
}

for _, envVar := range s.Env {
idx := strings.Index(envVar, "=")
if idx == 0 {
tokens := strings.SplitN(envVar, "=", 2)
if len(tokens) == 0 {
return fmt.Errorf("%w: service %q defines an env. var. with an empty name", ErrInvalidManifest, s.Name)
}

var envVarName string
if idx > 0 {
envVarName = envVar[0:idx]
} else {
envVarName = envVar
}
envVarName := tokens[0]

if 0 != len(k8svalidation.IsEnvVarName(envVarName)) {
return fmt.Errorf("%w: service %q defines an env. var. with an invalid name %q", ErrInvalidManifest, s.Name, envVarName)
Expand Down

0 comments on commit 950e48b

Please sign in to comment.