Skip to content

Commit

Permalink
Update UT coverage for snapshot.go
Browse files Browse the repository at this point in the history
  • Loading branch information
WilsonRadadia20 committed Jan 24, 2025
1 parent 08730f3 commit a8fa4c6
Showing 1 changed file with 58 additions and 0 deletions.
58 changes: 58 additions & 0 deletions snapshots_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -425,3 +425,61 @@ func TestCreateSnapshotWithPath(t *testing.T) {
_, err := client.CreateSnapshotWithPath(context.Background(), path, snapshotName)
assert.Nil(t, err)
}

func TestGetSnapshotFolderSize(t *testing.T) {
client := &Client{
API: new(mocks.Client),
}

ctx := context.Background()
var isiPath, accessZone, name string

// Mock GetSnapshot to return a snapshot from GetIsiSnapshotsResp
client.API.(*mocks.Client).On("Get", mock.Anything, mock.Anything, mock.Anything, mock.Anything, mock.Anything, mock.Anything).
Return(nil).Run(func(args mock.Arguments) {
resp := args.Get(5).(**apiv1.GetIsiSnapshotsResp)
*resp = &apiv1.GetIsiSnapshotsResp{
SnapshotList: []*apiv1.IsiSnapshot{
{
ID: 1,
Name: "test_snapshot",
Path: "/path/to/snapshot",
},
},
Total: 1,
Resume: "",
}
}).Once()

// Mock GetZoneByName to return a zone
client.API.(*mocks.Client).On("Get", mock.Anything, mock.Anything, mock.Anything, mock.Anything, mock.Anything, mock.Anything).
Return(nil).Run(func(args mock.Arguments) {
resp := args.Get(5).(*apiv1.GetIsiZonesResp)
*resp = apiv1.GetIsiZonesResp{
Zones: []*apiv1.IsiZone{
{
Name: "zone1",
Path: "/ifs/data",
},
},
}
}).Once()

client.API.(*mocks.Client).On("Get", anyArgs...).Return(nil).Run(func(args mock.Arguments) {
resp := args.Get(5).(**apiv1.GetIsiVolumeSizeResp)
*resp = &apiv1.GetIsiVolumeSizeResp{
AttributeMap: []struct {
Name string `json:"name"`
Size int64 `json:"size"`
}{
{Name: "test", Size: 12345},
},
}
}).Once()

// Call GetSnapshotFolderSize
_, err := client.GetSnapshotFolderSize(ctx, isiPath, name, accessZone)

// Assert that no error occurred
assert.Nil(t, err)
}

0 comments on commit a8fa4c6

Please sign in to comment.