diff --git a/grpc_test.go b/grpc_test.go index 1e87d5ba51..40930791f3 100644 --- a/grpc_test.go +++ b/grpc_test.go @@ -179,3 +179,50 @@ func TestGetPIDIndex(t *testing.T) { index = getPIDIndex(title) assert.Equal(pidIndex, index) } + +func TestListProcesses(t *testing.T) { + containerID := "1" + assert := assert.New(t) + req := &pb.ListProcessesRequest{ + ContainerId: containerID, + Format: "table", + Args: []string{"-ef"}, + } + + a := &agentGRPC{ + sandbox: &sandbox{ + containers: make(map[string]*container), + subreaper: &mockreaper{}, + }, + } + // getContainer should fail + r, err := a.ListProcesses(nil, req) + assert.Error(err) + assert.NotNil(r) + + // should fail, unknown format + req.Format = "unknown" + a.sandbox.containers[containerID] = &container{ + container: &mockContainer{ + id: containerID, + processes: []int{1}, + }, + } + r, err = a.ListProcesses(nil, req) + assert.Error(err) + assert.NotNil(r) + + // json format + req.Format = "json" + r, err = a.ListProcesses(nil, req) + assert.NoError(err) + assert.NotNil(r) + assert.NotEmpty(r.ProcessList) + + // table format + req.Format = "table" + r, err = a.ListProcesses(nil, req) + assert.NoError(err) + assert.NotNil(r) + assert.NotEmpty(r.ProcessList) +}