Files
katenary/generator/secret_test.go

47 lines
995 B
Go
Raw Normal View History

2024-04-23 14:26:23 +02:00
package generator
import (
"fmt"
"katenary/generator/labels"
2024-04-23 14:26:23 +02:00
"os"
"testing"
v1 "k8s.io/api/core/v1"
"sigs.k8s.io/yaml"
)
func TestCreateSecretFromEnvironment(t *testing.T) {
composeFile := `
services:
web:
image: nginx:1.29
environment:
- FOO=bar
- BAR=baz
labels:
%s/secrets: |-
2024-04-23 14:26:23 +02:00
- BAR
`
composeFile = fmt.Sprintf(composeFile, labels.KatenaryLabelPrefix)
2024-04-23 14:26:23 +02:00
tmpDir := setup(composeFile)
defer teardown(tmpDir)
currentDir, _ := os.Getwd()
os.Chdir(tmpDir)
defer os.Chdir(currentDir)
output := internalCompileTest(t, "-s", "templates/web/secret.yaml")
2024-04-23 14:26:23 +02:00
secret := v1.Secret{}
if err := yaml.Unmarshal([]byte(output), &secret); err != nil {
2024-04-23 15:45:31 +02:00
t.Errorf(unmarshalError, err)
2024-04-23 14:26:23 +02:00
}
data := secret.Data
if len(data) != 1 {
t.Errorf("Expected 1 data, got %d", len(data))
}
// v1.Secret.Data is decoded, no problem
if string(data["BAR"]) != "baz" {
t.Errorf("Expected BAR to be baz, got %s", data["BAR"])
}
}