Skip to content

Commit 8585c6b

Browse files
xxx: add two multi-resource result group tests to result_test.go
Signed-off-by: John Mulligan <[email protected]>
1 parent 590220b commit 8585c6b

File tree

1 file changed

+170
-0
lines changed

1 file changed

+170
-0
lines changed

common/admin/smb/result_test.go

Lines changed: 170 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -180,3 +180,173 @@ func TestResultGroupUnmashal2(t *testing.T) {
180180

181181
assert.Equal(t, rgroup.Error(), "")
182182
}
183+
184+
var resultGroupSample3 = `
185+
{
186+
"results": [
187+
{
188+
"resource": {
189+
"resource_type": "ceph.smb.share",
190+
"cluster_id": "cluster1",
191+
"share_id": "share1",
192+
"intent": "present",
193+
"name": "Share One",
194+
"readonly": false,
195+
"browseable": true,
196+
"cephfs": {
197+
"volume": "cephfs",
198+
"path": "/",
199+
"subvolumegroup": "g1",
200+
"subvolume": "sv1",
201+
"provider": "samba-vfs"
202+
}
203+
},
204+
"state": "created",
205+
"success": true
206+
},
207+
{
208+
"resource": {
209+
"resource_type": "ceph.smb.share",
210+
"cluster_id": "cluster1",
211+
"share_id": "share2",
212+
"intent": "present",
213+
"name": "Share Two",
214+
"readonly": false,
215+
"browseable": true,
216+
"cephfs": {
217+
"volume": "cephfs",
218+
"path": "/",
219+
"subvolumegroup": "g1",
220+
"subvolume": "sv2",
221+
"provider": "samba-vfs"
222+
}
223+
},
224+
"state": "created",
225+
"success": true
226+
},
227+
{
228+
"resource": {
229+
"resource_type": "ceph.smb.share",
230+
"cluster_id": "cluster1",
231+
"share_id": "share3",
232+
"intent": "present",
233+
"name": "Share Three",
234+
"readonly": false,
235+
"browseable": true,
236+
"cephfs": {
237+
"volume": "cephfs",
238+
"path": "/",
239+
"subvolumegroup": "g1",
240+
"subvolume": "sv3",
241+
"provider": "samba-vfs"
242+
}
243+
},
244+
"state": "created",
245+
"success": true
246+
}
247+
],
248+
"success": true
249+
}
250+
`
251+
252+
func TestResultGroupUnmashal3(t *testing.T) {
253+
rgroup := ResultGroup{}
254+
err := json.Unmarshal([]byte(resultGroupSample3), &rgroup)
255+
assert.NoError(t, err)
256+
257+
assert.True(t, rgroup.Ok())
258+
assert.Len(t, rgroup.Results, 3)
259+
assert.Len(t, rgroup.ErrorResults(), 0)
260+
assert.EqualValues(t,
261+
rgroup.Results[0].Resource().Identity().String(),
262+
"ceph.smb.share.cluster1.share1")
263+
assert.EqualValues(t, rgroup.Results[0].State(), "created")
264+
265+
assert.Equal(t, rgroup.Error(), "")
266+
}
267+
268+
var resultGroupSample4 = `
269+
{
270+
"results": [
271+
{
272+
"resource": {
273+
"resource_type": "ceph.smb.share",
274+
"cluster_id": "cluster1",
275+
"share_id": "share1",
276+
"intent": "present",
277+
"name": "Share One",
278+
"readonly": false,
279+
"browseable": true,
280+
"cephfs": {
281+
"volume": "cephfs",
282+
"path": "/zim",
283+
"subvolumegroup": "g1",
284+
"subvolume": "sv1",
285+
"provider": "samba-vfs"
286+
}
287+
},
288+
"msg": "path is not a valid directory in volume",
289+
"success": false
290+
},
291+
{
292+
"resource": {
293+
"resource_type": "ceph.smb.share",
294+
"cluster_id": "cluster1",
295+
"share_id": "share2",
296+
"intent": "present",
297+
"name": "Share Two",
298+
"readonly": false,
299+
"browseable": true,
300+
"cephfs": {
301+
"volume": "cephfs",
302+
"path": "/zam",
303+
"subvolumegroup": "g1",
304+
"subvolume": "sv2",
305+
"provider": "samba-vfs"
306+
}
307+
},
308+
"msg": "path is not a valid directory in volume",
309+
"success": false
310+
},
311+
{
312+
"resource": {
313+
"resource_type": "ceph.smb.share",
314+
"cluster_id": "cluster1",
315+
"share_id": "share3",
316+
"intent": "present",
317+
"name": "Share Three",
318+
"readonly": false,
319+
"browseable": true,
320+
"cephfs": {
321+
"volume": "cephfs",
322+
"path": "/",
323+
"subvolumegroup": "g1",
324+
"subvolume": "sv3",
325+
"provider": "samba-vfs"
326+
}
327+
},
328+
"checked": true,
329+
"success": true
330+
}
331+
],
332+
"success": false
333+
}
334+
`
335+
336+
func TestResultGroupUnmashal4(t *testing.T) {
337+
rgroup := ResultGroup{}
338+
err := json.Unmarshal([]byte(resultGroupSample4), &rgroup)
339+
assert.NoError(t, err)
340+
341+
assert.False(t, rgroup.Ok())
342+
assert.Len(t, rgroup.Results, 3)
343+
assert.Len(t, rgroup.ErrorResults(), 2)
344+
tr := rgroup.ErrorResults()[0]
345+
assert.EqualValues(t,
346+
tr.Resource().Identity().String(),
347+
"ceph.smb.share.cluster1.share1")
348+
assert.EqualValues(t, tr.State(), "")
349+
assert.EqualValues(t, tr.Message(), "path is not a valid directory in volume")
350+
351+
assert.Contains(t, rgroup.Error(), "2 resource errors:")
352+
}

0 commit comments

Comments
 (0)