mirror of https://github.com/helm/helm
parent
8cb39ce5cc
commit
b990428111
@ -0,0 +1,89 @@
|
|||||||
|
package main
|
||||||
|
|
||||||
|
import (
|
||||||
|
"bytes"
|
||||||
|
"testing"
|
||||||
|
|
||||||
|
"k8s.io/helm/pkg/helm"
|
||||||
|
)
|
||||||
|
|
||||||
|
// Stubbed out tests at two diffent layers
|
||||||
|
// TestList() is testing the command action
|
||||||
|
// TestListCmd() is testing command line interface
|
||||||
|
|
||||||
|
// TODO mock tiller responses
|
||||||
|
|
||||||
|
func TestList(t *testing.T) {
|
||||||
|
helm.Config.ServAddr = ":44134"
|
||||||
|
|
||||||
|
tests := []struct {
|
||||||
|
name string
|
||||||
|
lister *lister
|
||||||
|
expected string
|
||||||
|
err bool
|
||||||
|
}{
|
||||||
|
{
|
||||||
|
name: "with a release",
|
||||||
|
lister: &lister{},
|
||||||
|
expected: "understood-coral",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "list --long",
|
||||||
|
lister: &lister{long: true},
|
||||||
|
expected: "NAME \tUPDATED \tSTATUS \tCHART \nunderstood-coral\tTue Jun 28 12:29:54 2016\tDEPLOYED\tnginx-0.1.0",
|
||||||
|
},
|
||||||
|
}
|
||||||
|
|
||||||
|
var buf bytes.Buffer
|
||||||
|
for _, tt := range tests {
|
||||||
|
tt.lister.out = &buf
|
||||||
|
err := tt.lister.run([]string{})
|
||||||
|
if (err != nil) != tt.err {
|
||||||
|
t.Errorf("%q. expected error: %v, got %v", tt.name, tt.err, err)
|
||||||
|
}
|
||||||
|
actual := string(bytes.TrimSpace(buf.Bytes()))
|
||||||
|
if actual != tt.expected {
|
||||||
|
t.Errorf("%q. expected %q, got %q", tt.name, tt.expected, actual)
|
||||||
|
}
|
||||||
|
buf.Reset()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
func TestListCmd(t *testing.T) {
|
||||||
|
helm.Config.ServAddr = ":44134"
|
||||||
|
|
||||||
|
tests := []struct {
|
||||||
|
name string
|
||||||
|
args []string
|
||||||
|
flags map[string]string
|
||||||
|
expected string
|
||||||
|
err bool
|
||||||
|
}{
|
||||||
|
{
|
||||||
|
name: "with a release",
|
||||||
|
expected: "understood-coral",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "list --long",
|
||||||
|
flags: map[string]string{"long": "1"},
|
||||||
|
expected: "NAME \tUPDATED \tSTATUS \tCHART \nunderstood-coral\tTue Jun 28 12:29:54 2016\tDEPLOYED\tnginx-0.1.0",
|
||||||
|
},
|
||||||
|
}
|
||||||
|
|
||||||
|
var buf bytes.Buffer
|
||||||
|
for _, tt := range tests {
|
||||||
|
cmd := newListCmd(&buf)
|
||||||
|
for flag, value := range tt.flags {
|
||||||
|
cmd.Flags().Set(flag, value)
|
||||||
|
}
|
||||||
|
err := cmd.RunE(cmd, tt.args)
|
||||||
|
if (err != nil) != tt.err {
|
||||||
|
t.Errorf("%q. expected error: %v, got %v", tt.name, tt.err, err)
|
||||||
|
}
|
||||||
|
actual := string(bytes.TrimSpace(buf.Bytes()))
|
||||||
|
if actual != tt.expected {
|
||||||
|
t.Errorf("%q. expected %q, got %q", tt.name, tt.expected, actual)
|
||||||
|
}
|
||||||
|
buf.Reset()
|
||||||
|
}
|
||||||
|
}
|
Loading…
Reference in new issue