/
arguments_test.go
93 lines (84 loc) · 2.34 KB
/
arguments_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
package pufferpanel
import (
"github.com/stretchr/testify/assert"
"reflect"
"testing"
)
func TestReplaceTokens(t *testing.T) {
mapping := createSourceMap()
resultTest := ReplaceTokens("TEST ${val1}", mapping)
assert.Equal(t, "TEST RESULT1", resultTest)
resultTest = ReplaceTokens("TEST val1", mapping)
assert.Equal(t, "TEST val1", resultTest)
resultTest = ReplaceTokens("TEST val1", mapping)
assert.Equal(t, "TEST val1", resultTest)
}
func createSourceMap() map[string]interface{} {
source := make(map[string]interface{})
source["val1"] = "RESULT1"
source["value2"] = "RESULT2"
source["1234567"] = "RESULT3"
source["val123"] = "RESULT4"
source["int"] = 436
return source
}
func TestSplitArguments(t *testing.T) {
tests := []struct {
name string
args string
wantCmd string
wantArguments []string
}{
{
args: "java -jar test.jar",
wantCmd: "java",
wantArguments: []string{"-jar", "test.jar"},
},
{
args: "java -jar \"test.jar\"",
wantCmd: "java",
wantArguments: []string{"-jar", "\"test.jar\""},
},
{
args: "java -jar \"test this.jar\"",
wantCmd: "java",
wantArguments: []string{"-jar", "\"test this.jar\""},
},
{
args: "java -jar \"test this.jar\" noGui",
wantCmd: "java",
wantArguments: []string{"-jar", "\"test this.jar\"", "noGui"},
},
{
args: "\"C:\\\\Program Files\\\\Java\\\\bin\\\\java.exe\" -jar \"test this.jar\" noGui",
wantCmd: "\"C:\\Program Files\\Java\\bin\\java.exe\"",
wantArguments: []string{"-jar", "\"test this.jar\"", "noGui"},
},
{
args: "java",
wantCmd: "java",
wantArguments: []string{},
},
{
args: "java -jar server.jar",
wantCmd: "java",
wantArguments: []string{"-jar", "server.jar"},
},
{
args: "java -jar server.jar ",
wantCmd: "java",
wantArguments: []string{"-jar", "server.jar"},
},
}
for _, tt := range tests {
t.Run(tt.name, func(t *testing.T) {
gotCmd, gotArguments := SplitArguments(tt.args)
if gotCmd != tt.wantCmd {
t.Errorf("SplitArguments() gotCmd = %v, want %v", gotCmd, tt.wantCmd)
}
if !reflect.DeepEqual(gotArguments, tt.wantArguments) {
t.Errorf("SplitArguments() gotArguments = %v, want %v", gotArguments, tt.wantArguments)
}
})
}
}