Commit 4edccdea authored by vaikas-google's avatar vaikas-google

fix the tests for the command

parent 7587769d
...@@ -24,64 +24,78 @@ import ( ...@@ -24,64 +24,78 @@ import (
"github.com/kubernetes/helm/pkg/common" "github.com/kubernetes/helm/pkg/common"
) )
type pathAndResponse struct {
path string
resp interface{}
}
func TestDeployment(t *testing.T) { func TestDeployment(t *testing.T) {
var deploymentTestCases = []struct { var deploymentTestCases = []struct {
args []string args []string
resp interface{} resp []pathAndResponse
expected string expected string
}{ }{
{ {
[]string{"deployment", "show", "guestbook.yaml"}, []string{"deployment", "show", "guestbook.yaml"},
&common.Deployment{ []pathAndResponse{{"/deployments/", &common.Deployment{
Name: "guestbook.yaml", Name: "guestbook.yaml",
State: &common.DeploymentState{Status: common.CreatedStatus}, State: &common.DeploymentState{Status: common.CreatedStatus},
}, }}},
"Name: guestbook.yaml\nStatus: Created\n", "Name: guestbook.yaml\nStatus: Created\n",
}, },
{ {
[]string{"deployment", "show", "guestbook.yaml"}, []string{"deployment", "show", "guestbook.yaml"},
&common.Deployment{ []pathAndResponse{{"/deployments/", &common.Deployment{
Name: "guestbook.yaml", Name: "guestbook.yaml",
State: &common.DeploymentState{ State: &common.DeploymentState{
Status: common.FailedStatus, Status: common.FailedStatus,
Errors: []string{"error message"}, Errors: []string{"error message"},
}, },
}, }}},
"Name: guestbook.yaml\nStatus: Failed\nErrors:\n error message\n", "Name: guestbook.yaml\nStatus: Failed\nErrors:\n error message\n",
}, },
{ {
[]string{"deployment", "list"}, []string{"deployment", "list"},
[]string{"guestbook.yaml"}, []pathAndResponse{{"/deployments/", []string{"guestbook.yaml"}}},
"guestbook.yaml\n", "guestbook.yaml\n",
}, },
{ {
[]string{"deployment", "describe", "guestbook.yaml"}, []string{"deployment", "describe", "guestbook.yaml"},
&common.Manifest{ []pathAndResponse{{
Deployment: "guestbook.yaml", "/deployments/guestbook.yaml",
Name: "manifestxyz", &common.Deployment{Name: "guestbook.yaml",
ExpandedConfig: &common.Configuration{ State: &common.DeploymentState{Status: common.CreatedStatus},
Resources: []*common.Resource{ LatestManifest: "manifestxyz",
{Name: "fe-rc", Type: "ReplicationController", State: &common.ResourceState{Status: common.Created}}, }},
{Name: "fe", Type: "Service", State: &common.ResourceState{Status: common.Created}}, {"/deployments/guestbook.yaml/manifests/manifestxyz", &common.Manifest{
{Name: "be-rc", Type: "ReplicationController", State: &common.ResourceState{Status: common.Created}}, Deployment: "guestbook.yaml",
{Name: "be", Type: "Service", State: &common.ResourceState{Status: common.Created}}, Name: "manifestxyz",
ExpandedConfig: &common.Configuration{
Resources: []*common.Resource{
{Name: "fe-rc", Type: "ReplicationController", State: &common.ResourceState{Status: common.Created}},
{Name: "fe", Type: "Service", State: &common.ResourceState{Status: common.Created}},
{Name: "be-rc", Type: "ReplicationController", State: &common.ResourceState{Status: common.Created}},
{Name: "be", Type: "Service", State: &common.ResourceState{Status: common.Created}},
},
}, },
}, }}},
}, "Name: fe-rc\nType: ReplicationController\nStatus: Created\n" +
"Name: fe-rc\nType: ReplicationController\nStatus: Created\n" + "Name: fe\nType: Service\nStatus: Created\n" +
"Name: fe\nType: Service\nStatus: Created\n" + "Name: be-rc\nType: ReplicationController\nStatus: Created\n" +
"Name: be-rc\nType: ReplicationController\nStatus: Created\n" + "Name: be\nType: Service\nStatus: Created\n",
"Name: be\nType: Service\nStatus: Created\n",
}, },
} }
for _, tc := range deploymentTestCases { for _, tc := range deploymentTestCases {
th := testHelm(t) th := testHelm(t)
th.mux.HandleFunc("/deployments/", func(w http.ResponseWriter, r *http.Request) { for _, pathAndResponse := range tc.resp {
data, err := json.Marshal(tc.resp) var response = pathAndResponse.resp
th.must(err) th.mux.HandleFunc(pathAndResponse.path, func(w http.ResponseWriter, r *http.Request) {
w.Write(data) data, err := json.Marshal(response)
}) th.must(err)
w.Write(data)
})
}
th.run(tc.args...) th.run(tc.args...)
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment