|
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