@@ -54,6 +54,14 @@ func TestParseMycnf(t *testing.T) {
54
54
host = 1.2.3.4
55
55
port = 3307
56
56
`
57
+ ignoreBooleanKeys = `
58
+ [client]
59
+ user = root
60
+ password = abc123
61
+
62
+ [mysql]
63
+ skip-auto-rehash
64
+ `
57
65
badConfig = `
58
66
[client]
59
67
user = root
@@ -67,10 +75,7 @@ func TestParseMycnf(t *testing.T) {
67
75
[hello]
68
76
world = ismine
69
77
`
70
- badConfig4 = `
71
- [hello]
72
- world
73
- `
78
+ badConfig4 = `[hello`
74
79
)
75
80
convey .Convey ("Various .my.cnf configurations" , t , func () {
76
81
convey .Convey ("Local tcp connection" , func () {
@@ -93,21 +98,25 @@ func TestParseMycnf(t *testing.T) {
93
98
dsn , _ := parseMycnf ([]byte (remoteConfig ))
94
99
convey .So (dsn , convey .ShouldEqual , "dude:nopassword@tcp(1.2.3.4:3307)/" )
95
100
})
101
+ convey .Convey ("Ignore boolean keys" , func () {
102
+ dsn , _ := parseMycnf ([]byte (ignoreBooleanKeys ))
103
+ convey .So (dsn , convey .ShouldEqual , "root:abc123@tcp(localhost:3306)/" )
104
+ })
96
105
convey .Convey ("Missed user" , func () {
97
106
_ , err := parseMycnf ([]byte (badConfig ))
98
- convey .So (err , convey .ShouldNotBeNil )
107
+ convey .So (err , convey .ShouldBeError , fmt . Errorf ( "no user or password specified under [client] in %s" , badConfig ) )
99
108
})
100
109
convey .Convey ("Missed password" , func () {
101
110
_ , err := parseMycnf ([]byte (badConfig2 ))
102
- convey .So (err , convey .ShouldNotBeNil )
111
+ convey .So (err , convey .ShouldBeError , fmt . Errorf ( "no user or password specified under [client] in %s" , badConfig2 ) )
103
112
})
104
113
convey .Convey ("No [client] section" , func () {
105
114
_ , err := parseMycnf ([]byte (badConfig3 ))
106
- convey .So (err , convey .ShouldNotBeNil )
115
+ convey .So (err , convey .ShouldBeError , fmt . Errorf ( "no user or password specified under [client] in %s" , badConfig3 ) )
107
116
})
108
117
convey .Convey ("Invalid config" , func () {
109
118
_ , err := parseMycnf ([]byte (badConfig4 ))
110
- convey .So (err , convey .ShouldNotBeNil )
119
+ convey .So (err , convey .ShouldBeError , fmt . Errorf ( "failed reading ini file: unclosed section: %s" , badConfig4 ) )
111
120
})
112
121
})
113
122
}
0 commit comments