|
17 | 17 | package slowquerylogs
|
18 | 18 |
|
19 | 19 | import (
|
| 20 | + "bytes" |
20 | 21 | "testing"
|
21 | 22 |
|
22 | 23 | "github.com/golang/mock/gomock"
|
| 24 | + "github.com/mongodb/mongodb-atlas-cli/internal/cli" |
23 | 25 | "github.com/mongodb/mongodb-atlas-cli/internal/flag"
|
24 | 26 | mocks "github.com/mongodb/mongodb-atlas-cli/internal/mocks/atlas"
|
25 | 27 | "github.com/mongodb/mongodb-atlas-cli/internal/test"
|
| 28 | + "github.com/stretchr/testify/assert" |
26 | 29 | atlasv2 "go.mongodb.org/atlas-sdk/admin"
|
27 | 30 | )
|
28 | 31 |
|
29 | 32 | func TestSlowQueryLogsList_Run(t *testing.T) {
|
30 | 33 | ctrl := gomock.NewController(t)
|
31 | 34 | mockStore := mocks.NewMockPerformanceAdvisorSlowQueriesLister(ctrl)
|
32 |
| - |
33 |
| - var expected *atlasv2.PerformanceAdvisorSlowQueryList |
| 35 | + buf := new(bytes.Buffer) |
| 36 | + expected := atlasv2.PerformanceAdvisorSlowQueryList{ |
| 37 | + SlowQueries: []atlasv2.PerformanceAdvisorSlowQuery{{ |
| 38 | + Line: atlasv2.PtrString("test"), |
| 39 | + Namespace: atlasv2.PtrString("test"), |
| 40 | + }, |
| 41 | + }, |
| 42 | + } |
34 | 43 |
|
35 | 44 | listOpts := &ListOpts{
|
36 | 45 | store: mockStore,
|
| 46 | + OutputOpts: cli.OutputOpts{ |
| 47 | + Template: listTemplate, |
| 48 | + OutWriter: buf, |
| 49 | + }, |
37 | 50 | }
|
38 | 51 |
|
39 | 52 | mockStore.
|
40 | 53 | EXPECT().
|
41 | 54 | PerformanceAdvisorSlowQueries(listOpts.newSlowQueryOptions(listOpts.ProjectID, listOpts.ProcessName)).
|
42 |
| - Return(expected, nil). |
| 55 | + Return(&expected, nil). |
43 | 56 | Times(1)
|
44 | 57 |
|
45 | 58 | if err := listOpts.Run(); err != nil {
|
46 | 59 | t.Fatalf("Run() unexpected error: %v", err)
|
47 | 60 | }
|
| 61 | + assert.Equal(t, "NAMESPACE LINE\ntest test\n", buf.String()) |
48 | 62 | }
|
49 | 63 |
|
50 | 64 | func TestListBuilder(t *testing.T) {
|
|
0 commit comments