@@ -181,23 +181,20 @@ func TestGetRecordIDs(t *testing.T) {
181181 expectedSuccessMetric float64
182182 expectedFailureMetric float64
183183 expectedErr error
184- expectedCalls int
185184 }{
186185 {
187186 description : "Success" ,
188187 deviceID : "1234" ,
189188 expectedRecords : []db.RecordToDelete {{DeathDate : 222 , RecordID : 12345 }},
190189 expectedSuccessMetric : 1.0 ,
191190 expectedErr : nil ,
192- expectedCalls : 1 ,
193191 },
194192 {
195193 description : "Get Error" ,
196194 deviceID : "1234" ,
197195 expectedRecords : []db.RecordToDelete {},
198196 expectedFailureMetric : 1.0 ,
199197 expectedErr : errors .New ("test Get error" ),
200- expectedCalls : 1 ,
201198 },
202199 }
203200
@@ -211,9 +208,7 @@ func TestGetRecordIDs(t *testing.T) {
211208 measures : m ,
212209 finder : mockObj ,
213210 }
214- if tc .expectedCalls > 0 {
215- mockObj .On ("findRecordsToDelete" , mock .Anything , mock .Anything , mock .Anything ).Return (tc .expectedRecords , tc .expectedErr ).Times (tc .expectedCalls )
216- }
211+ mockObj .On ("findRecordsToDelete" , mock .Anything , mock .Anything , mock .Anything ).Return (tc .expectedRecords , tc .expectedErr ).Once ()
217212 p .Assert (t , SQLQuerySuccessCounter )(xmetricstest .Value (0.0 ))
218213 p .Assert (t , SQLQueryFailureCounter )(xmetricstest .Value (0.0 ))
219214
@@ -231,6 +226,56 @@ func TestGetRecordIDs(t *testing.T) {
231226 }
232227}
233228
229+ func TestDeviceList (t * testing.T ) {
230+ tests := []struct {
231+ description string
232+ expectedIDs []string
233+ expectedSuccessMetric float64
234+ expectedFailureMetric float64
235+ expectedErr error
236+ }{
237+ {
238+ description : "Success" ,
239+ expectedIDs : []string {"aaa" , "bbb" , "ccc" },
240+ expectedSuccessMetric : 1.0 ,
241+ expectedErr : nil ,
242+ },
243+ {
244+ description : "Get Error" ,
245+ expectedIDs : []string {},
246+ expectedFailureMetric : 1.0 ,
247+ expectedErr : errors .New ("test Get error" ),
248+ },
249+ }
250+
251+ for _ , tc := range tests {
252+ t .Run (tc .description , func (t * testing.T ) {
253+ assert := assert .New (t )
254+ mockObj := new (mockDeviceFinder )
255+ p := xmetricstest .NewProvider (nil , Metrics )
256+ m := NewMeasures (p )
257+ dbConnection := Connection {
258+ measures : m ,
259+ deviceFinder : mockObj ,
260+ }
261+ mockObj .On ("getList" , mock .Anything , mock .Anything , mock .Anything ).Return (tc .expectedIDs , tc .expectedErr ).Once ()
262+ p .Assert (t , SQLQuerySuccessCounter )(xmetricstest .Value (0.0 ))
263+ p .Assert (t , SQLQueryFailureCounter )(xmetricstest .Value (0.0 ))
264+
265+ result , err := dbConnection .GetDeviceList ("" , 10 )
266+ mockObj .AssertExpectations (t )
267+ p .Assert (t , SQLQuerySuccessCounter , db .TypeLabel , db .ReadType )(xmetricstest .Value (tc .expectedSuccessMetric ))
268+ p .Assert (t , SQLQueryFailureCounter , db .TypeLabel , db .ReadType )(xmetricstest .Value (tc .expectedFailureMetric ))
269+ if tc .expectedErr == nil || err == nil {
270+ assert .Equal (tc .expectedErr , err )
271+ } else {
272+ assert .Contains (err .Error (), tc .expectedErr .Error ())
273+ }
274+ assert .Equal (tc .expectedIDs , result )
275+ })
276+ }
277+ }
278+
234279func TestPruneRecords (t * testing.T ) {
235280 pruneTestErr := errors .New ("test prune history error" )
236281 tests := []struct {
0 commit comments