mirror of
https://github.com/kubernetes-sigs/kustomize.git
synced 2026-06-11 00:52:55 +00:00
Improve tests
This commit is contained in:
@@ -182,6 +182,28 @@ func NewListRNode(values ...string) *RNode {
|
|||||||
return seq
|
return seq
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// NewMapRNode returns a new Map *RNode containing the provided values
|
||||||
|
func NewMapRNode(values *map[string]string) *RNode {
|
||||||
|
m := &RNode{value: &yaml.Node{
|
||||||
|
Kind: yaml.MappingNode,
|
||||||
|
}}
|
||||||
|
if values == nil {
|
||||||
|
return m
|
||||||
|
}
|
||||||
|
|
||||||
|
for k, v := range *values {
|
||||||
|
m.value.Content = append(m.value.Content, &yaml.Node{
|
||||||
|
Kind: yaml.ScalarNode,
|
||||||
|
Value: k,
|
||||||
|
}, &yaml.Node{
|
||||||
|
Kind: yaml.ScalarNode,
|
||||||
|
Value: v,
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
return m
|
||||||
|
}
|
||||||
|
|
||||||
// NewRNode returns a new RNode pointer containing the provided Node.
|
// NewRNode returns a new RNode pointer containing the provided Node.
|
||||||
func NewRNode(value *yaml.Node) *RNode {
|
func NewRNode(value *yaml.Node) *RNode {
|
||||||
return &RNode{value: value}
|
return &RNode{value: value}
|
||||||
|
|||||||
@@ -8,7 +8,6 @@ import (
|
|||||||
"testing"
|
"testing"
|
||||||
|
|
||||||
"github.com/stretchr/testify/assert"
|
"github.com/stretchr/testify/assert"
|
||||||
"gopkg.in/yaml.v3"
|
|
||||||
)
|
)
|
||||||
|
|
||||||
// Test that non-UTF8 characters in comments don't cause failures
|
// Test that non-UTF8 characters in comments don't cause failures
|
||||||
@@ -173,25 +172,17 @@ func TestIsMissingOrNull(t *testing.T) {
|
|||||||
t.Fatalf("input: nil")
|
t.Fatalf("input: nil")
|
||||||
}
|
}
|
||||||
// missing value or null value
|
// missing value or null value
|
||||||
node := &RNode{value: nil}
|
if !IsMissingOrNull(NewRNode(nil)) {
|
||||||
if !IsMissingOrNull(node) {
|
|
||||||
t.Fatalf("input: nil value")
|
t.Fatalf("input: nil value")
|
||||||
}
|
}
|
||||||
|
|
||||||
node.value = &yaml.Node{}
|
if IsMissingOrNull(NewScalarRNode("foo")) {
|
||||||
if IsMissingOrNull(node) {
|
|
||||||
t.Fatalf("input: valid node")
|
t.Fatalf("input: valid node")
|
||||||
}
|
}
|
||||||
// node with NullNodeTag
|
// node with NullNodeTag
|
||||||
node.value.Tag = NullNodeTag
|
if !IsMissingOrNull(NullNode()) {
|
||||||
if !IsMissingOrNull(node) {
|
|
||||||
t.Fatalf("input: with NullNodeTag")
|
t.Fatalf("input: with NullNodeTag")
|
||||||
}
|
}
|
||||||
|
|
||||||
node.value = &yaml.Node{}
|
|
||||||
if IsMissingOrNull(node) {
|
|
||||||
t.Fatalf("input: valid node")
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
func TestIsEmpty(t *testing.T) {
|
func TestIsEmpty(t *testing.T) {
|
||||||
@@ -200,52 +191,48 @@ func TestIsEmpty(t *testing.T) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// missing value or null value
|
// missing value or null value
|
||||||
node := &RNode{value: nil}
|
if !IsEmpty(NewRNode(nil)) {
|
||||||
if !IsEmpty(node) {
|
|
||||||
t.Fatalf("input: nil value")
|
t.Fatalf("input: nil value")
|
||||||
}
|
}
|
||||||
// not array or map
|
// not array or map
|
||||||
node.value = &yaml.Node{}
|
if IsEmpty(NewScalarRNode("foo")) {
|
||||||
if IsEmpty(node) {
|
|
||||||
t.Fatalf("input: not array or map")
|
t.Fatalf("input: not array or map")
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
func TestIsEmpty_Arrays(t *testing.T) {
|
func TestIsEmpty_Arrays(t *testing.T) {
|
||||||
node := &RNode{value: &yaml.Node{
|
node := NewListRNode()
|
||||||
Kind: yaml.SequenceNode,
|
|
||||||
}}
|
|
||||||
// empty array. empty array is not expected as empty
|
// empty array. empty array is not expected as empty
|
||||||
if IsEmpty(node) {
|
if IsEmpty(node) {
|
||||||
t.Fatalf("input: empty array")
|
t.Fatalf("input: empty array")
|
||||||
}
|
}
|
||||||
// array with 1 item
|
// array with 1 item
|
||||||
node.value.Content = append(node.value.Content, &yaml.Node{})
|
node = NewListRNode("foo")
|
||||||
if IsEmpty(node) {
|
if IsEmpty(node) {
|
||||||
t.Fatalf("input: array with 1 item")
|
t.Fatalf("input: array with 1 item")
|
||||||
}
|
}
|
||||||
// delete the item in array
|
// delete the item in array
|
||||||
node.value.Content = node.value.Content[:len(node.value.Content)-1]
|
node.value.Content = nil
|
||||||
if IsEmpty(node) {
|
if IsEmpty(node) {
|
||||||
t.Fatalf("input: empty array")
|
t.Fatalf("input: empty array")
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
func TestIsEmpty_Maps(t *testing.T) {
|
func TestIsEmpty_Maps(t *testing.T) {
|
||||||
node := &RNode{value: &yaml.Node{
|
node := NewMapRNode(nil)
|
||||||
Kind: yaml.MappingNode,
|
|
||||||
}}
|
|
||||||
// empty map
|
// empty map
|
||||||
if !IsEmpty(node) {
|
if !IsEmpty(node) {
|
||||||
t.Fatalf("input: empty map")
|
t.Fatalf("input: empty map")
|
||||||
}
|
}
|
||||||
// map with 1 item
|
// map with 1 item
|
||||||
node.value.Content = append(node.value.Content, &yaml.Node{})
|
node = NewMapRNode(&map[string]string{
|
||||||
|
"foo": "bar",
|
||||||
|
})
|
||||||
if IsEmpty(node) {
|
if IsEmpty(node) {
|
||||||
t.Fatalf("input: map with 1 item")
|
t.Fatalf("input: map with 1 item")
|
||||||
}
|
}
|
||||||
// delete the item in map
|
// delete the item in map
|
||||||
node.value.Content = node.value.Content[:len(node.value.Content)-1]
|
node.value.Content = nil
|
||||||
if !IsEmpty(node) {
|
if !IsEmpty(node) {
|
||||||
t.Fatalf("input: empty map")
|
t.Fatalf("input: empty map")
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user