mirror of
https://github.com/kubernetes-sigs/kustomize.git
synced 2026-05-17 18:25:26 +00:00
65 lines
1.3 KiB
Go
65 lines
1.3 KiB
Go
// Copyright 2021 The Kubernetes Authors.
|
|
// SPDX-License-Identifier: Apache-2.0
|
|
|
|
package internal_test
|
|
|
|
import (
|
|
"os"
|
|
"testing"
|
|
|
|
"github.com/stretchr/testify/assert"
|
|
. "sigs.k8s.io/kustomize/cmd/k8scopy/internal"
|
|
)
|
|
|
|
var data = []byte(`module: k8s.io/apimachinery
|
|
version: v0.17.0
|
|
packages:
|
|
- name: pkg/labels
|
|
files:
|
|
- labels.go
|
|
- selector.go
|
|
- zz_generated.deepcopy.go
|
|
- name: pkg/selection
|
|
files:
|
|
- operator.go
|
|
- name: pkg/util/sets
|
|
files:
|
|
- empty.go
|
|
- string.go
|
|
- name: pkg/util/errors
|
|
files:
|
|
- errors.go
|
|
- name: pkg/util/validation
|
|
files:
|
|
- validation.go
|
|
- name: pkg/util/validation/field
|
|
files:
|
|
- errors.go
|
|
- path.go
|
|
`)
|
|
|
|
func TestReadSpec(t *testing.T) {
|
|
fn := writeFile(t, data)
|
|
defer os.Remove(fn)
|
|
x := ReadSpec(fn)
|
|
assert.Equal(t, "k8s.io/apimachinery@v0.17.0", x.Name())
|
|
assert.Equal(t, 6, len(x.Packages))
|
|
assert.Equal(t, "pkg/util/validation/field", x.Packages[5].Name)
|
|
assert.Equal(t, "path.go", x.Packages[5].Files[1])
|
|
}
|
|
|
|
// Write content to temp file, returning file name.
|
|
func writeFile(t *testing.T, content []byte) string {
|
|
f, err := os.CreateTemp("", "testjunk")
|
|
if err != nil {
|
|
t.Fatal(err)
|
|
}
|
|
if _, err = f.Write(content); err != nil {
|
|
t.Fatal(err)
|
|
}
|
|
if err := f.Close(); err != nil {
|
|
t.Fatal(err)
|
|
}
|
|
return f.Name()
|
|
}
|