|
19 | 19 | package apt
|
20 | 20 |
|
21 | 21 | import (
|
| 22 | + "encoding/json" |
22 | 23 | "fmt"
|
| 24 | + "io/ioutil" |
23 | 25 | "testing"
|
24 | 26 |
|
25 | 27 | "github.com/stretchr/testify/require"
|
26 | 28 | )
|
27 | 29 |
|
28 | 30 | func TestList(t *testing.T) {
|
29 |
| - list, err := List() |
30 |
| - require.NoError(t, err, "running List command") |
31 |
| - require.NotEmpty(t, list, "List command result") |
| 31 | + out, err := ioutil.ReadFile("testdata/dpkg-query-output-1.txt") |
| 32 | + require.NoError(t, err, "Reading test input data") |
| 33 | + list := parseDpkgQueryOutput(out) |
32 | 34 |
|
33 |
| - var dpkg *Package |
34 |
| - statusCount := map[string]int{} |
35 |
| - for _, p := range list { |
36 |
| - if p.Name == "dpkg" { |
37 |
| - dpkg = p |
38 |
| - continue |
39 |
| - } |
40 |
| - statusCount[p.Status]++ |
41 |
| - // fmt.Printf("%+v\n", p) |
| 35 | + // Check list with expected output |
| 36 | + data, err := ioutil.ReadFile("testdata/dpkg-query-output-1-result.json") |
| 37 | + require.NoError(t, err, "Reading test result data") |
| 38 | + var expected []*Package |
| 39 | + err = json.Unmarshal(data, &expected) |
| 40 | + require.NoError(t, err, "Unmarshaling test result data") |
| 41 | + require.Equal(t, len(expected), len(list), "Length of result") |
| 42 | + for i := range expected { |
| 43 | + require.Equal(t, expected[i], list[i], "Element", i, "of the result") |
42 | 44 | }
|
43 |
| - |
44 |
| - // fmt.Println("Summary:") |
45 |
| - // for k, v := range statusCount { |
46 |
| - // fmt.Printf(" %s: %d\n", k, v) |
47 |
| - // } |
48 |
| - |
49 |
| - require.NotNil(t, dpkg, "search package 'dpkg'") |
50 |
| - require.Equal(t, "installed", dpkg.Status, "'dpkg' status") |
51 | 45 | }
|
52 | 46 |
|
53 | 47 | func TestSearch(t *testing.T) {
|
|
0 commit comments