feat templater: Add applyLimits tests
This commit is contained in:
parent
75b6199c1b
commit
b58b1e3385
1 changed files with 138 additions and 0 deletions
138
templater/templater_test.go
Normal file
138
templater/templater_test.go
Normal file
|
@ -0,0 +1,138 @@
|
||||||
|
package templater
|
||||||
|
|
||||||
|
import (
|
||||||
|
"github.com/tazjin/kontemplate/context"
|
||||||
|
"reflect"
|
||||||
|
"testing"
|
||||||
|
)
|
||||||
|
|
||||||
|
func TestApplyNoLimits(t *testing.T) {
|
||||||
|
resources := []context.ResourceSet{
|
||||||
|
{
|
||||||
|
Name: "testResourceSet1",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
Name: "testResourceSet2",
|
||||||
|
},
|
||||||
|
}
|
||||||
|
|
||||||
|
result := applyLimits(&resources, &[]string{}, &[]string{})
|
||||||
|
|
||||||
|
if !reflect.DeepEqual(resources, *result) {
|
||||||
|
t.Error("Resource set slice changed, but shouldn't have.")
|
||||||
|
t.Errorf("Expected: %v\nResult: %v\n", resources, *result)
|
||||||
|
t.Fail()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
func TestApplyIncludeLimits(t *testing.T) {
|
||||||
|
resources := []context.ResourceSet{
|
||||||
|
{
|
||||||
|
Name: "testResourceSet1",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
Name: "testResourceSet2",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
Name: "testResourceSet3",
|
||||||
|
Parent: "included",
|
||||||
|
},
|
||||||
|
}
|
||||||
|
|
||||||
|
includes := []string{"testResourceSet1", "included"}
|
||||||
|
|
||||||
|
result := applyLimits(&resources, &includes, &[]string{})
|
||||||
|
|
||||||
|
expected := []context.ResourceSet{
|
||||||
|
{
|
||||||
|
Name: "testResourceSet1",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
Name: "testResourceSet3",
|
||||||
|
Parent: "included",
|
||||||
|
},
|
||||||
|
}
|
||||||
|
|
||||||
|
if !reflect.DeepEqual(expected, *result) {
|
||||||
|
t.Error("Result does not contain expected resource sets.")
|
||||||
|
t.Errorf("Expected: %v\nResult: %v\n", expected, *result)
|
||||||
|
t.Fail()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
func TestApplyExcludeLimits(t *testing.T) {
|
||||||
|
resources := []context.ResourceSet{
|
||||||
|
{
|
||||||
|
Name: "testResourceSet1",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
Name: "testResourceSet2",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
Name: "testResourceSet3",
|
||||||
|
Parent: "included",
|
||||||
|
},
|
||||||
|
}
|
||||||
|
|
||||||
|
exclude := []string{"testResourceSet2"}
|
||||||
|
|
||||||
|
result := applyLimits(&resources, &[]string{}, &exclude)
|
||||||
|
|
||||||
|
expected := []context.ResourceSet{
|
||||||
|
{
|
||||||
|
Name: "testResourceSet1",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
Name: "testResourceSet3",
|
||||||
|
Parent: "included",
|
||||||
|
},
|
||||||
|
}
|
||||||
|
|
||||||
|
if !reflect.DeepEqual(expected, *result) {
|
||||||
|
t.Error("Result does not contain expected resource sets.")
|
||||||
|
t.Errorf("Expected: %v\nResult: %v\n", expected, *result)
|
||||||
|
t.Fail()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
func TestApplyLimitsExcludeIncludePrecedence(t *testing.T) {
|
||||||
|
resources := []context.ResourceSet{
|
||||||
|
{
|
||||||
|
Name: "collection/nested1",
|
||||||
|
Parent: "collection",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
Name: "collection/nested2",
|
||||||
|
Parent: "collection",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
Name: "collection/nested3",
|
||||||
|
Parent: "collection",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
Name: "something-else",
|
||||||
|
},
|
||||||
|
}
|
||||||
|
|
||||||
|
include := []string{"collection"}
|
||||||
|
exclude := []string{"collection/nested2"}
|
||||||
|
|
||||||
|
result := applyLimits(&resources, &include, &exclude)
|
||||||
|
|
||||||
|
expected := []context.ResourceSet{
|
||||||
|
{
|
||||||
|
Name: "collection/nested1",
|
||||||
|
Parent: "collection",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
Name: "collection/nested3",
|
||||||
|
Parent: "collection",
|
||||||
|
},
|
||||||
|
}
|
||||||
|
|
||||||
|
if !reflect.DeepEqual(expected, *result) {
|
||||||
|
t.Error("Result does not contain expected resource sets.")
|
||||||
|
t.Errorf("Expected: %v\nResult: %v\n", expected, *result)
|
||||||
|
t.Fail()
|
||||||
|
}
|
||||||
|
}
|
Loading…
Reference in a new issue