-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathoptions_internal_test.go
128 lines (86 loc) · 2.58 KB
/
options_internal_test.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
package k6deps
import (
"os"
"path/filepath"
"testing"
"github.com/stretchr/testify/require"
)
func Test_loadScript(t *testing.T) {
t.Parallel()
opts := new(Options)
err := loadScript(opts)
require.NoError(t, err)
require.Empty(t, opts.Script.Contents)
require.Empty(t, opts.Script.Name)
name := filepath.Join("testdata", "foo", "foo.js")
aname, err := filepath.Abs(name)
require.NoError(t, err)
opts.Script.Name = name
opts.Script.Ignore = true
err = loadScript(opts)
require.NoError(t, err)
require.Empty(t, opts.Script.Contents)
require.Equal(t, name, opts.Script.Name)
opts.Script.Ignore = false
err = loadScript(opts)
require.NoError(t, err)
require.Contains(t, string(opts.Script.Contents), "var faker = __require(\"k6/x/faker\");")
require.Equal(t, aname, opts.Script.Name)
opts.Script.Name = filepath.Join("testdata", "bad.js")
err = loadScript(opts)
require.NoError(t, err)
opts.Script.Contents = nil
err = loadScript(opts)
require.Error(t, err)
opts.Script.Name = filepath.Join("testdata", "missing.js")
err = loadScript(opts)
require.Error(t, err)
}
func Test_loadEnv(t *testing.T) {
opts := new(Options)
t.Setenv(EnvDependencies, "")
loadEnv(opts)
require.Empty(t, opts.Env.Contents)
require.Empty(t, opts.Env.Name)
t.Setenv(EnvDependencies, "k6>0.49")
opts.Env.Ignore = true
loadEnv(opts)
require.Empty(t, opts.Env.Contents)
require.Empty(t, opts.Env.Name)
opts.Env.Ignore = false
loadEnv(opts)
require.Equal(t, "k6>0.49", string(opts.Env.Contents))
require.Equal(t, EnvDependencies, opts.Env.Name)
}
func Test_findManifest(t *testing.T) {
t.Parallel()
name, found, err := findManifest("testdata/foo/bar/bar.js")
require.NoError(t, err)
require.True(t, found)
aname, err := filepath.Abs(filepath.Join("testdata", "foo", "package.json"))
require.NoError(t, err)
require.Equal(t, aname, name)
name, found, err = findManifest("testdata/foo/foo.js")
require.NoError(t, err)
require.True(t, found)
require.Equal(t, aname, name)
name, found, err = findManifest(string(filepath.Separator))
require.NoError(t, err)
require.False(t, found)
require.Empty(t, name)
}
//nolint:forbidigo,paralleltest
func Test_findManifest_empty_arg(t *testing.T) {
pwd, err := os.Getwd()
defer func() {
require.NoError(t, os.Chdir(pwd))
}()
require.NoError(t, err)
require.NoError(t, os.Chdir(filepath.Join("testdata", "foo", "bar")))
name, found, err := findManifest("")
require.NoError(t, err)
require.True(t, found)
aname := filepath.Join(pwd, "testdata", "foo", "package.json")
require.NoError(t, err)
require.Equal(t, aname, name)
}