forked from LaconicNetwork/kompose
fix issue 1778
* fix issue https://github.com/kubernetes/kompose/issues/1778 *add tests with hardcoded values to mokup file access Signed-off-by: jose luis <2064537+sosan@users.noreply.github.com>
This commit is contained in:
parent
3499798b5a
commit
b544c17472
@ -946,3 +946,15 @@ func GetContainerArgs(service kobject.ServiceConfig) []string {
|
|||||||
}
|
}
|
||||||
return args
|
return args
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// GetFileName extracts the file name from a given file path or file name.
|
||||||
|
// If the input fileName contains a "/", it retrieves the substring after the last "/".
|
||||||
|
// The function does not format the file name further, as it may contain periods or other valid characters.
|
||||||
|
// Returns the extracted file name.
|
||||||
|
func GetFileName(fileName string) string {
|
||||||
|
if strings.Contains(fileName, "/") {
|
||||||
|
fileName = fileName[strings.LastIndex(fileName, "/")+1:]
|
||||||
|
}
|
||||||
|
// Not format filename because can begin with .fileName
|
||||||
|
return fileName
|
||||||
|
}
|
||||||
|
|||||||
@ -582,6 +582,7 @@ func (k *Kubernetes) CreateSecrets(komposeObject kobject.KomposeObject) ([]*api.
|
|||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
data := []byte(dataString)
|
data := []byte(dataString)
|
||||||
|
fileName := GetFileName(config.File)
|
||||||
secret := &api.Secret{
|
secret := &api.Secret{
|
||||||
TypeMeta: metav1.TypeMeta{
|
TypeMeta: metav1.TypeMeta{
|
||||||
Kind: "Secret",
|
Kind: "Secret",
|
||||||
@ -592,7 +593,7 @@ func (k *Kubernetes) CreateSecrets(komposeObject kobject.KomposeObject) ([]*api.
|
|||||||
Labels: transformer.ConfigLabels(name),
|
Labels: transformer.ConfigLabels(name),
|
||||||
},
|
},
|
||||||
Type: api.SecretTypeOpaque,
|
Type: api.SecretTypeOpaque,
|
||||||
Data: map[string][]byte{name: data},
|
Data: map[string][]byte{fileName: data},
|
||||||
}
|
}
|
||||||
objects = append(objects, secret)
|
objects = append(objects, secret)
|
||||||
} else {
|
} else {
|
||||||
|
|||||||
@ -1145,3 +1145,68 @@ func TestNamespaceGenerationBlank(t *testing.T) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func TestKubernetes_CreateSecrets(t *testing.T) {
|
||||||
|
// hardcoded
|
||||||
|
komposeDefaultObject := kobject.KomposeObject{
|
||||||
|
ServiceConfigs: map[string]kobject.ServiceConfig{"app": newServiceConfig()},
|
||||||
|
Secrets: types.Secrets{
|
||||||
|
"config-ini": types.SecretConfig{
|
||||||
|
Name: "debug-config-ini",
|
||||||
|
File: "../../../docs/CNAME",
|
||||||
|
},
|
||||||
|
},
|
||||||
|
}
|
||||||
|
|
||||||
|
type fields struct {
|
||||||
|
Opt kobject.ConvertOptions
|
||||||
|
}
|
||||||
|
type args struct {
|
||||||
|
komposeObject kobject.KomposeObject
|
||||||
|
}
|
||||||
|
|
||||||
|
tests := []struct {
|
||||||
|
name string
|
||||||
|
fields fields
|
||||||
|
args args
|
||||||
|
want []*api.Secret
|
||||||
|
wantErr bool
|
||||||
|
}{
|
||||||
|
// TODO: Add test cases.
|
||||||
|
{
|
||||||
|
name: "CreateSecrets from default KomposeObject amd hardcoded secrets",
|
||||||
|
args: args{
|
||||||
|
komposeObject: komposeDefaultObject,
|
||||||
|
},
|
||||||
|
want: []*api.Secret{
|
||||||
|
{
|
||||||
|
TypeMeta: metav1.TypeMeta{
|
||||||
|
Kind: "Secret",
|
||||||
|
APIVersion: "v1",
|
||||||
|
},
|
||||||
|
ObjectMeta: metav1.ObjectMeta{
|
||||||
|
Name: FormatResourceName("config-ini"),
|
||||||
|
Labels: transformer.ConfigLabels("config-ini"),
|
||||||
|
},
|
||||||
|
Type: api.SecretTypeOpaque,
|
||||||
|
Data: map[string][]byte{"CNAME": []byte("kompose.io")},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
}
|
||||||
|
for _, tt := range tests {
|
||||||
|
t.Run(tt.name, func(t *testing.T) {
|
||||||
|
k := &Kubernetes{
|
||||||
|
Opt: tt.fields.Opt,
|
||||||
|
}
|
||||||
|
got, err := k.CreateSecrets(tt.args.komposeObject)
|
||||||
|
if (err != nil) != tt.wantErr {
|
||||||
|
t.Errorf("Kubernetes.CreateSecrets() error = %v, wantErr %v", err, tt.wantErr)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
if !reflect.DeepEqual(got, tt.want) {
|
||||||
|
t.Errorf("Kubernetes.CreateSecrets() = %v, want %v", got, tt.want)
|
||||||
|
}
|
||||||
|
})
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user