@@ -72,27 +72,38 @@ func TestTraceFactory(t *testing.T) {
72
72
require .NoError (t , f .Close ())
73
73
}
74
74
75
+ func TestNewClientPrerequisites (t * testing.T ) {
76
+ t .Run ("should not create schema when CreateSchema is false" , func (t * testing.T ) {
77
+ cfg := config .DefaultConfiguration ()
78
+ cfg .CreateSchema = false
79
+ err := newClientPrerequisites (& cfg , zap .NewNop ())
80
+ require .NoError (t , err )
81
+ })
82
+ }
83
+
75
84
func TestPurge (t * testing.T ) {
76
- t .Run ("Success " , func (t * testing.T ) {
85
+ t .Run ("should succeed when Exec does not return an error " , func (t * testing.T ) {
77
86
conn := mocks.Conn {}
78
87
conn .On ("Exec" , mock .Anything , mock .Anything ).Return (nil )
79
88
f := newFactory ()
80
89
f .connection = & conn
81
90
err := f .Purge (context .Background ())
82
91
require .NoError (t , err )
83
92
})
84
- t .Run ("Connection refused" , func (t * testing.T ) {
93
+
94
+ t .Run ("should return error when connection is refused" , func (t * testing.T ) {
85
95
conn := mocks.Conn {}
86
96
conn .On ("Exec" , mock .Anything , mock .Anything ).Return (errors .New ("connection refused" ))
87
97
f := newFactory ()
88
98
f .connection = & conn
89
99
err := f .Purge (context .Background ())
90
- require .Error (t , err , "connection refused" )
100
+ require .Error (t , err )
101
+ require .Contains (t , err .Error (), "connection refused" )
91
102
})
92
103
}
93
104
94
105
func TestClose (t * testing.T ) {
95
- t .Run ("Success " , func (t * testing.T ) {
106
+ t .Run ("should succeed when both connection and pool close without error " , func (t * testing.T ) {
96
107
conn := mocks.Conn {}
97
108
conn .On ("Close" ).Return (nil )
98
109
pool := mocks.Pool {}
@@ -103,53 +114,67 @@ func TestClose(t *testing.T) {
103
114
err := f .Close ()
104
115
require .NoError (t , err )
105
116
})
106
- t .Run ("Close failed" , func (t * testing.T ) {
117
+
118
+ t .Run ("should return error if chPool Close fails" , func (t * testing.T ) {
107
119
conn := mocks.Conn {}
108
120
conn .On ("Close" ).Return (nil )
109
121
pool := mocks.Pool {}
110
122
pool .On ("Close" ).Return (errors .New ("chPool close error" ))
111
123
f := newFactory ()
112
124
f .connection = & conn
113
125
f .chPool = & pool
114
- require .Error (t , f .Close (), "chPool close error" )
126
+ err := f .Close ()
127
+ require .Error (t , err )
128
+ require .Contains (t , err .Error (), "chPool close error" )
129
+ })
115
130
131
+ t .Run ("should return error if clickhouse connection Close fails" , func (t * testing.T ) {
132
+ conn := mocks.Conn {}
116
133
conn .On ("Close" ).Return (errors .New ("clickhouse close error" ))
117
- require .Error (t , f .Close (), "clickhouse close error" )
134
+ pool := mocks.Pool {}
135
+ f := newFactory ()
136
+ f .connection = & conn
137
+ f .chPool = & pool
138
+ err := f .Close ()
139
+ require .Error (t , err )
140
+ require .Contains (t , err .Error (), "clickhouse close error" )
118
141
})
119
142
}
120
143
121
144
func TestCreateTraceWriter (t * testing.T ) {
122
- t .Run ("Success " , func (t * testing.T ) {
145
+ t .Run ("should succeed when trace writer is created successfully " , func (t * testing.T ) {
123
146
pool := mocks.Pool {}
124
147
f := newFactory ()
125
148
f .chPool = & pool
126
149
writer , err := f .CreateTraceWriter ()
127
150
require .NoError (t , err )
128
151
require .NotNil (t , writer )
129
152
})
130
- t .Run ("Can't create trace writer with nil chPool" , func (t * testing.T ) {
153
+
154
+ t .Run ("should return error when chPool is nil" , func (t * testing.T ) {
131
155
f := newFactory ()
132
156
f .chPool = nil
133
157
writer , err := f .CreateTraceWriter ()
134
- require .Error (t , err , "can't create trace writer with nil chPool" )
158
+ require .Error (t , err )
135
159
require .Empty (t , writer )
136
160
})
137
161
}
138
162
139
163
func TestCreateTraceReader (t * testing.T ) {
140
- t .Run ("Success " , func (t * testing.T ) {
164
+ t .Run ("should succeed when trace reader is created successfully " , func (t * testing.T ) {
141
165
c := mocks.Conn {}
142
166
f := newFactory ()
143
167
f .connection = & c
144
168
reader , err := f .CreateTracReader ()
145
169
require .NoError (t , err )
146
170
require .NotNil (t , reader )
147
171
})
148
- t .Run ("Can't create trace reader with nil clickhouse" , func (t * testing.T ) {
172
+
173
+ t .Run ("should return error when connection is nil" , func (t * testing.T ) {
149
174
f := newFactory ()
150
175
f .connection = nil
151
176
writer , err := f .CreateTracReader ()
152
- require .Error (t , err , "can't create trace reader with nil clickhouse" )
177
+ require .Error (t , err )
153
178
require .Nil (t , writer )
154
179
})
155
180
}
0 commit comments