@ -17,6 +17,7 @@ limitations under the License.
package tiller
import (
"bytes"
"testing"
util "k8s.io/helm/pkg/releaseutil"
@ -27,48 +28,77 @@ func TestKindSorter(t *testing.T) {
{
name : "m" ,
content : "" ,
head : & util . SimpleHead { Kind : " Deployment "} ,
head : & util . SimpleHead { Kind : " ClusterRole "} ,
} ,
{
name : " l ",
name : " ",
content : "" ,
head : & util . SimpleHead { Kind : "Service" } ,
head : & util . SimpleHead { Kind : "ClusterRoleBinding" } ,
} ,
{
name : "e" ,
content : "" ,
head : & util . SimpleHead { Kind : "ConfigMap" } ,
} ,
{
name : "k" ,
content : "" ,
head : & util . SimpleHead { Kind : "Deployment" } ,
} ,
{
name : "!" ,
content : "" ,
head : & util . SimpleHead { Kind : "HonkyTonkSet" } ,
} ,
{
name : "s" ,
content : "" ,
head : & util . SimpleHead { Kind : "Job" } ,
} ,
{
name : "h" ,
content : "" ,
head : & util . SimpleHead { Kind : "Namespace" } ,
} ,
{
name : " e ",
name : " w ",
content : "" ,
head : & util . SimpleHead { Kind : "ConfigMap" } ,
head : & util . SimpleHead { Kind : "Role" } ,
} ,
{
name : "o" ,
content : "" ,
head : & util . SimpleHead { Kind : "RoleBinding" } ,
} ,
{
name : "r" ,
content : "" ,
head : & util . SimpleHead { Kind : "Service" } ,
} ,
{
name : "l" ,
content : "" ,
head : & util . SimpleHead { Kind : "ServiceAccount" } ,
} ,
}
res := sortByKind ( manifests , InstallOrder )
got := ""
expect := "helm!"
for _ , r := range res {
got += r . name
}
if got != expect {
t . Errorf ( "Expected %q, got %q" , expect , got )
}
expect = "lmeh!"
got = ""
res = sortByKind ( manifests , UninstallOrder )
for _ , r := range res {
got += r . name
for _ , test := range [ ] struct {
description string
order SortOrder
expected string
} {
{ "install" , InstallOrder , "helm works!" } ,
{ "uninstall" , UninstallOrder , "rkeow mlsh!" } ,
} {
var buf bytes . Buffer
t . Run ( test . description , func ( t * testing . T ) {
defer buf . Reset ( )
for _ , r := range sortByKind ( manifests , test . order ) {
buf . WriteString ( r . name )
}
if got := buf . String ( ) ; got != test . expected {
t . Errorf ( "Expected %q, got %q" , test . expected , got )
}
} )
}
if got != expect {
t . Errorf ( "Expected %q, got %q" , expect , got )
}
}