diff --git a/src/app/backend/resource/deployment/deploymentdetail.go b/src/app/backend/resource/deployment/deploymentdetail.go index 888dc6776f2ff1fc06f8ce09a406a0e97ebb245a..23cb4fa12f3af5b5d57710f2fe03ea3e5ba7f5fe 100644 --- a/src/app/backend/resource/deployment/deploymentdetail.go +++ b/src/app/backend/resource/deployment/deploymentdetail.go @@ -37,11 +37,11 @@ type DeploymentDetail struct { // OldReplicaSets OldReplicaSets []extensions.ReplicaSet `json:"oldReplicaSets"` - // NewReplicaSet + // New replica set used by this deployment NewReplicaSet extensions.ReplicaSet `json:"newReplicaSet"` - // Events - // TODO + // List of events related to this Deployment + EventList common.EventList `json:"eventList"` } func GetDeploymentDetail(client client.Interface, namespace string, name string) (*DeploymentDetail, error) { @@ -78,10 +78,15 @@ func GetDeploymentDetail(client client.Interface, namespace string, name string) return nil, err } - return getDeploymentDetail(deploymentData, oldReplicaSets, newReplicaSet), nil + events, err := GetDeploymentEvents(client, namespace, name) + if err != nil { + return nil, err + } + + return getDeploymentDetail(deploymentData, oldReplicaSets, newReplicaSet, events), nil } -func getDeploymentDetail(deployment *extensions.Deployment, old []*extensions.ReplicaSet, newReplicaSet *extensions.ReplicaSet) *DeploymentDetail { +func getDeploymentDetail(deployment *extensions.Deployment, old []*extensions.ReplicaSet, newReplicaSet *extensions.ReplicaSet, events *common.EventList) *DeploymentDetail { oldReplicaSets := make([]extensions.ReplicaSet, len(old)) for i, replicaSet := range old { @@ -101,5 +106,6 @@ func getDeploymentDetail(deployment *extensions.Deployment, old []*extensions.Re }, OldReplicaSets: oldReplicaSets, NewReplicaSet: *newReplicaSet, + EventList: *events, } } diff --git a/src/test/backend/resource/deployment/deploymentdetail_test.go b/src/test/backend/resource/deployment/deploymentdetail_test.go index 07e6f733a3a40136a0ae074d69843c9a73217a31..d26712f2acdf5632b6775836aa3e59c890fdd158 100644 --- a/src/test/backend/resource/deployment/deploymentdetail_test.go +++ b/src/test/backend/resource/deployment/deploymentdetail_test.go @@ -16,6 +16,7 @@ import ( func TestGetDeploymentDetail(t *testing.T) { podList := &api.PodList{} + eventList := &api.EventList{} deployment := &extensions.Deployment{ ObjectMeta: api.ObjectMeta{ @@ -74,7 +75,7 @@ func TestGetDeploymentDetail(t *testing.T) { }{ { "test-namespace", "test-name", - []string{"get", "list", "list"}, + []string{"get", "list", "list", "list"}, deployment, &DeploymentDetail{ ObjectMeta: common.ObjectMeta{ @@ -97,13 +98,17 @@ func TestGetDeploymentDetail(t *testing.T) { }, OldReplicaSets: []extensions.ReplicaSet{}, NewReplicaSet: newReplicaSet, + EventList: common.EventList{ + Namespace: "test-namespace", + Events: []common.Event{}, + }, }, }, } for _, c := range cases { - fakeClient := testclient.NewSimpleFake(c.deployment, replicaSetList, podList) + fakeClient := testclient.NewSimpleFake(c.deployment, replicaSetList, podList, eventList) actual, _ := GetDeploymentDetail(fakeClient, c.namespace, c.name) @@ -123,7 +128,7 @@ func TestGetDeploymentDetail(t *testing.T) { if !reflect.DeepEqual(actual, c.expected) { t.Errorf("GetDeploymentDetail(client, namespace, name) == \ngot: %#v, \nexpected %#v", - c.namespace, c.name, actual, c.expected) + actual, c.expected) } } }