forked from grafana/k6
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathconfig_test.go
70 lines (65 loc) · 2.14 KB
/
config_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
/*
*
* k6 - a next-generation load testing tool
* Copyright (C) 2016 Load Impact
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as
* published by the Free Software Foundation, either version 3 of the
* License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Affero General Public License for more details.
*
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*
*/
package influxdb
import (
"testing"
"github.com/stretchr/testify/assert"
)
func TestConfigText(t *testing.T) {
testdata := map[string]Config{
"": {},
"dbname": {DB: "dbname"},
"/dbname": {DB: "dbname"},
"http://localhost:8086": {Addr: "http://localhost:8086"},
"http://localhost:8086/dbname": {Addr: "http://localhost:8086", DB: "dbname"},
}
queries := map[string]struct {
Config Config
Err string
}{
"?": {Config{}, ""},
"?insecure=false": {Config{Insecure: false}, ""},
"?insecure=true": {Config{Insecure: true}, ""},
"?insecure=ture": {Config{}, "insecure must be true or false, not ture"},
"?payload_size=69": {Config{PayloadSize: 69}, ""},
"?payload_size=a": {Config{}, "strconv.Atoi: parsing \"a\": invalid syntax"},
}
for str, data := range testdata {
t.Run(str, func(t *testing.T) {
var config Config
assert.NoError(t, config.UnmarshalText([]byte(str)))
assert.Equal(t, data, config)
for q, qdata := range queries {
t.Run(q, func(t *testing.T) {
var config Config
err := config.UnmarshalText([]byte(str + q))
if qdata.Err != "" {
assert.EqualError(t, err, qdata.Err)
} else {
expected2 := qdata.Config
expected2.DB = data.DB
expected2.Addr = data.Addr
assert.Equal(t, expected2, config)
}
})
}
})
}
}