Skip to content

Commit 6e9b325

Browse files
committed
Add tests to tools package
1 parent 330a0cc commit 6e9b325

File tree

2 files changed

+46
-26
lines changed

2 files changed

+46
-26
lines changed

tools/tools.go

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -142,9 +142,9 @@ func Download(packager, name, version string, opts *Opts) (*Tool, error) {
142142

143143
return &Tool{
144144
Packager: packager,
145-
Name: name,
146-
Version: version,
147-
Path: filepath.Join(opts.Location, packager, name, version),
145+
Name: tool.Name,
146+
Version: tool.Version,
147+
Path: path,
148148
}, nil
149149
}
150150

tools/tools_test.go

Lines changed: 43 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -29,40 +29,60 @@
2929
package tools_test
3030

3131
import (
32-
"fmt"
3332
"io/ioutil"
34-
"log"
33+
"os"
34+
"path/filepath"
3535
"testing"
3636

3737
"github.com/arduino/arduino-create-agent/tools"
3838
)
3939

40-
func TestUsage(t *testing.T) {
41-
cases := []struct {
42-
Packager string
43-
Name string
44-
Version string
45-
ExpectedErr string
46-
}{
47-
{"arduino", "avrdude", "latest", "nil"},
40+
func TestDownload(t *testing.T) {
41+
tmp, _ := ioutil.TempDir("", "")
42+
defer os.RemoveAll(tmp)
43+
44+
opts := tools.Opts{
45+
Location: tmp,
4846
}
4947

50-
for _, tc := range cases {
51-
t.Run(fmt.Sprintf("%s:%s:%s", tc.Packager, tc.Name, tc.Version), func(t *testing.T) {
48+
tool, err := tools.Download("arduino", "avrdude", "latest", &opts)
49+
if err != nil {
50+
t.Error(err.Error())
51+
}
5252

53-
tmp, _ := ioutil.TempDir("", "")
53+
_, err = os.Open(filepath.Join(tool.Path, "bin", "avrdude"))
54+
if err != nil {
55+
t.Error(err.Error())
56+
}
57+
}
58+
func TestInstalled(t *testing.T) {
59+
tmp, _ := ioutil.TempDir("", "")
60+
defer os.RemoveAll(tmp)
5461

55-
opts := tools.Opts{
56-
Location: tmp,
57-
}
62+
opts := tools.Opts{
63+
Location: tmp,
64+
}
5865

59-
err := tools.Download(tc.Packager, tc.Name, tc.Version, &opts)
60-
log.Println(err)
61-
})
66+
list, err := tools.Installed(&opts)
67+
if err != nil {
68+
t.Error(err.Error())
6269
}
63-
}
6470

65-
func TestInstalled(t *testing.T) {
66-
list, err := tools.Installed(nil)
67-
fmt.Println(list, err)
71+
if len(list) != 0 {
72+
t.Error("Expected len(list) to be 0, got", len(list))
73+
}
74+
75+
_, err = tools.Download("arduino", "avrdude", "latest", &opts)
76+
if err != nil {
77+
t.Error(err.Error())
78+
}
79+
80+
list, err = tools.Installed(&opts)
81+
if err != nil {
82+
t.Error(err.Error())
83+
}
84+
85+
if len(list) != 1 {
86+
t.Error("Expected len(list) to be 1, got", len(list))
87+
}
6888
}

0 commit comments

Comments
 (0)