From c302c03cd4786614f94521f1ef46cc54edf3c457 Mon Sep 17 00:00:00 2001 From: AnikaAgiwal2711 Date: Thu, 18 Jan 2024 04:52:08 -0500 Subject: [PATCH] Increased the code coverage --- inttests/snapshot_policy_test.go | 42 ++++++++++++++-------- snapshot_policy.go | 20 +++++------ snapshot_policy_test.go | 61 ++++++++++++++++---------------- types/v1/types.go | 18 +++++----- 4 files changed, 77 insertions(+), 64 deletions(-) diff --git a/inttests/snapshot_policy_test.go b/inttests/snapshot_policy_test.go index 4ec83dd..401f5d8 100644 --- a/inttests/snapshot_policy_test.go +++ b/inttests/snapshot_policy_test.go @@ -27,12 +27,11 @@ func TestCreateModifyDeleteSnapshotPolicy(t *testing.T) { spName := fmt.Sprintf("%s-%s", testPrefix, "SnapPolicy") snap := &types.SnapshotPolicyCreateParam{ - Name: spName, + Name: spName, AutoSnapshotCreationCadenceInMin: "5", - NumOfRetainedSnapshotsPerLevel: []string{"1"}, - SnapshotAccessMode: "ReadOnly", - Paused: "true", - + NumOfRetainedSnapshotsPerLevel: []string{"1"}, + SnapshotAccessMode: "ReadOnly", + Paused: "true", } // create the snapshot policy @@ -45,7 +44,6 @@ func TestCreateModifyDeleteSnapshotPolicy(t *testing.T) { _, err2 := system.CreateSnapshotPolicy(snap) assert.NotNil(t, err2) - // modify snapshot policy name err = system.RenameSnapshotPolicy(snapID, "SnapshotPolicyRenamed") assert.Nil(t, err) @@ -53,37 +51,53 @@ func TestCreateModifyDeleteSnapshotPolicy(t *testing.T) { // modify other parameters of snapshot policy snapModify := &types.SnapshotPolicyModifyParam{ AutoSnapshotCreationCadenceInMin: "6", - NumOfRetainedSnapshotsPerLevel: []string{"2","6"}, - + NumOfRetainedSnapshotsPerLevel: []string{"2", "6"}, } - err = system.ModifySnapshotPolicy(snapModify,snapID) + err = system.ModifySnapshotPolicy(snapModify, snapID) assert.Nil(t, err) volID, err := createVolume(t, "") assignVolume := &types.AssignVolumeToSnapshotPolicyParam{ SourceVolumeId: volID, - } // Assign and unassign volume to Snapshot Policy - err = system.AssignVolumeToSnapshotPolicy(assignVolume,snapID) + err = system.AssignVolumeToSnapshotPolicy(assignVolume, snapID) assert.Nil(t, err) + assignVolume = &types.AssignVolumeToSnapshotPolicyParam{ + SourceVolumeId: "Invalid", + } + err = system.AssignVolumeToSnapshotPolicy(assignVolume, snapID) + assert.NotNil(t, err) + unassignVolume := &types.AssignVolumeToSnapshotPolicyParam{ - SourceVolumeId: volID, + SourceVolumeId: volID, AutoSnapshotRemovalAction: "Remove", - } - err = system.UnassignVolumeFromSnapshotPolicy(unassignVolume,snapID) + err = system.UnassignVolumeFromSnapshotPolicy(unassignVolume, snapID) assert.Nil(t, err) + unassignVolume = &types.AssignVolumeToSnapshotPolicyParam{ + SourceVolumeId: volID, + AutoSnapshotRemovalAction: "Invalid", + } + err = system.UnassignVolumeFromSnapshotPolicy(unassignVolume, snapID) + assert.NotNil(t, err) + // Resume and Pause the SnapshotPolicy err = system.ResumeSnapshotPolicy(snapID) assert.Nil(t, err) + err = system.ResumeSnapshotPolicy("Invalid") + assert.NotNil(t, err) + err = system.PauseSnapshotPolicy(snapID) assert.Nil(t, err) + err = system.PauseSnapshotPolicy("Invalid") + assert.NotNil(t, err) + // delete the snapshot policy err = system.RemoveSnapshotPolicy(snapID) assert.Nil(t, err) diff --git a/snapshot_policy.go b/snapshot_policy.go index f1ea150..086711f 100644 --- a/snapshot_policy.go +++ b/snapshot_policy.go @@ -26,7 +26,7 @@ func (system *System) CreateSnapshotPolicy(snapPolicy *types.SnapshotPolicyCreat path := fmt.Sprintf("/api/types/SnapshotPolicy/instances") snapResp := types.SnapShotPolicyCreateResp{} - err := system.client.getJSONWithRetry( + err := system.client.getJSONWithRetry( http.MethodPost, path, snapPolicy, &snapResp) if err != nil { return "", err @@ -38,7 +38,7 @@ func (system *System) CreateSnapshotPolicy(snapPolicy *types.SnapshotPolicyCreat func (system *System) RemoveSnapshotPolicy(id string) error { path := fmt.Sprintf("/api/instances/SnapshotPolicy::%v/action/removeSnapshotPolicy", id) removeParam := &types.EmptyPayload{} - err := system.client.getJSONWithRetry( + err := system.client.getJSONWithRetry( http.MethodPost, path, removeParam, nil) if err != nil { return err @@ -46,13 +46,13 @@ func (system *System) RemoveSnapshotPolicy(id string) error { return nil } -// RenameSnapshotPolicy renames a snapshot policy +// RenameSnapshotPolicy renames a snapshot policy func (system *System) RenameSnapshotPolicy(id, name string) error { path := fmt.Sprintf("/api/instances/SnapshotPolicy::%v/action/renameSnapshotPolicy", id) renameSnap := &types.SnapshotPolicyRenameParam{ NewName: name, } - err := system.client.getJSONWithRetry( + err := system.client.getJSONWithRetry( http.MethodPost, path, renameSnap, nil) if err != nil { return err @@ -63,7 +63,7 @@ func (system *System) RenameSnapshotPolicy(id, name string) error { // ModifySnapshotPolicy modifies a snapshot policy func (system *System) ModifySnapshotPolicy(modifysnapPolicy *types.SnapshotPolicyModifyParam, id string) error { path := fmt.Sprintf("/api/instances/SnapshotPolicy::%v/action/modifySnapshotPolicy", id) - err := system.client.getJSONWithRetry( + err := system.client.getJSONWithRetry( http.MethodPost, path, modifysnapPolicy, nil) if err != nil { return err @@ -74,7 +74,7 @@ func (system *System) ModifySnapshotPolicy(modifysnapPolicy *types.SnapshotPolic // AssignVolumeToSnapshotPolicy assigns volume to a snapshot policy func (system *System) AssignVolumeToSnapshotPolicy(assignVoltoSnap *types.AssignVolumeToSnapshotPolicyParam, id string) error { path := fmt.Sprintf("/api/instances/SnapshotPolicy::%v/action/addSourceVolumeToSnapshotPolicy", id) - err := system.client.getJSONWithRetry( + err := system.client.getJSONWithRetry( http.MethodPost, path, assignVoltoSnap, nil) if err != nil { return err @@ -85,7 +85,7 @@ func (system *System) AssignVolumeToSnapshotPolicy(assignVoltoSnap *types.Assign // UnassignVolumeFromSnapshotPolicy unassigns volume from a snapshot policy func (system *System) UnassignVolumeFromSnapshotPolicy(UnassignVolFromSnap *types.AssignVolumeToSnapshotPolicyParam, id string) error { path := fmt.Sprintf("/api/instances/SnapshotPolicy::%v/action/removeSourceVolumeFromSnapshotPolicy", id) - err := system.client.getJSONWithRetry( + err := system.client.getJSONWithRetry( http.MethodPost, path, UnassignVolFromSnap, nil) if err != nil { return err @@ -97,7 +97,7 @@ func (system *System) UnassignVolumeFromSnapshotPolicy(UnassignVolFromSnap *type func (system *System) PauseSnapshotPolicy(id string) error { path := fmt.Sprintf("/api/instances/SnapshotPolicy::%v/action/pauseSnapshotPolicy", id) pauseParam := &types.EmptyPayload{} - err := system.client.getJSONWithRetry( + err := system.client.getJSONWithRetry( http.MethodPost, path, pauseParam, nil) if err != nil { return err @@ -109,10 +109,10 @@ func (system *System) PauseSnapshotPolicy(id string) error { func (system *System) ResumeSnapshotPolicy(id string) error { path := fmt.Sprintf("/api/instances/SnapshotPolicy::%v/action/resumeSnapshotPolicy", id) resumeParam := &types.EmptyPayload{} - err := system.client.getJSONWithRetry( + err := system.client.getJSONWithRetry( http.MethodPost, path, resumeParam, nil) if err != nil { return err } return nil -} \ No newline at end of file +} diff --git a/snapshot_policy_test.go b/snapshot_policy_test.go index 54ea294..93ac141 100644 --- a/snapshot_policy_test.go +++ b/snapshot_policy_test.go @@ -23,7 +23,7 @@ import ( ) var ( - ID2 string + ID2 string errSnap error ) @@ -35,18 +35,18 @@ func TestCreateSnapshotPolicy(t *testing.T) { cases := []testCase{ { fs: &types.SnapshotPolicyCreateParam{ - Name: "testSnapshotPolicy", + Name: "testSnapshotPolicy", AutoSnapshotCreationCadenceInMin: "5", - NumOfRetainedSnapshotsPerLevel: []string{"1"}, + NumOfRetainedSnapshotsPerLevel: []string{"1"}, }, expected: nil, }, { fs: &types.SnapshotPolicyCreateParam{ - Name: "testSnapshotPolicy2", + Name: "testSnapshotPolicy2", AutoSnapshotCreationCadenceInMin: "5", - NumOfRetainedSnapshotsPerLevel: []string{"1"}, - SnapshotAccessMode: "Invalid", + NumOfRetainedSnapshotsPerLevel: []string{"1"}, + SnapshotAccessMode: "Invalid", }, expected: errors.New("accessMode should get one of the following values: ReadWrite, ReadOnly, but its value is Invalid."), }, @@ -131,24 +131,24 @@ func TestModifySnapshotPolicyName(t *testing.T) { func TestModifySnapshotPolicy(t *testing.T) { type testCase struct { - id string - snap *types.SnapshotPolicyModifyParam + id string + snap *types.SnapshotPolicyModifyParam expected error } cases := []testCase{ { - id: ID2, + id: ID2, snap: &types.SnapshotPolicyModifyParam{ AutoSnapshotCreationCadenceInMin: "6", - NumOfRetainedSnapshotsPerLevel: []string{"2", "3"}, + NumOfRetainedSnapshotsPerLevel: []string{"2", "3"}, }, expected: nil, }, { - id: "Invalid", + id: "Invalid", snap: &types.SnapshotPolicyModifyParam{ AutoSnapshotCreationCadenceInMin: "6", - NumOfRetainedSnapshotsPerLevel: []string{"2", "3"}, + NumOfRetainedSnapshotsPerLevel: []string{"2", "3"}, }, expected: errors.New("id (Invalid) must be a hexadecimal number (unsigned long)."), }, @@ -185,27 +185,27 @@ func TestModifySnapshotPolicy(t *testing.T) { func TestAssignSnapshotPolicy(t *testing.T) { type testCase struct { - id string - snap *types.AssignVolumeToSnapshotPolicyParam + id string + snap *types.AssignVolumeToSnapshotPolicyParam expected error } cases := []testCase{ { - id: ID2, + id: ID2, snap: &types.AssignVolumeToSnapshotPolicyParam{ SourceVolumeId: "edba1bff00000001", }, expected: nil, }, { - id: "Invalid", + id: "Invalid", snap: &types.AssignVolumeToSnapshotPolicyParam{ SourceVolumeId: "edba1bff00000001", }, expected: errors.New("id (Invalid) must be a hexadecimal number (unsigned long)."), }, { - id: ID2, + id: ID2, snap: &types.AssignVolumeToSnapshotPolicyParam{ SourceVolumeId: "edba1bff000000", }, @@ -244,39 +244,39 @@ func TestAssignSnapshotPolicy(t *testing.T) { func TestUnassignSnapshotPolicy(t *testing.T) { type testCase struct { - id string - snap *types.AssignVolumeToSnapshotPolicyParam + id string + snap *types.AssignVolumeToSnapshotPolicyParam expected error } cases := []testCase{ { - id: ID2, + id: ID2, snap: &types.AssignVolumeToSnapshotPolicyParam{ - SourceVolumeId: "edba1bff00000001", + SourceVolumeId: "edba1bff00000001", AutoSnapshotRemovalAction: "Remove", }, expected: nil, }, { - id: "Invalid", + id: "Invalid", snap: &types.AssignVolumeToSnapshotPolicyParam{ - SourceVolumeId: "edba1bff00000001", + SourceVolumeId: "edba1bff00000001", AutoSnapshotRemovalAction: "Remove", }, expected: errors.New("id (Invalid) must be a hexadecimal number (unsigned long)."), }, { - id: ID2, + id: ID2, snap: &types.AssignVolumeToSnapshotPolicyParam{ - SourceVolumeId: "edba1bff000000", + SourceVolumeId: "edba1bff000000", AutoSnapshotRemovalAction: "Remove", }, expected: errors.New("Invalid volume. Please try again with a valid ID or name."), }, { - id: ID2, + id: ID2, snap: &types.AssignVolumeToSnapshotPolicyParam{ - SourceVolumeId: "edba1bff000000", + SourceVolumeId: "edba1bff000000", AutoSnapshotRemovalAction: "Invalid", }, expected: errors.New("autoSnapshotRemovalAction should get one of the following values: Remove, Detach, but its value is Invalid."), @@ -314,7 +314,7 @@ func TestUnassignSnapshotPolicy(t *testing.T) { func TestPauseSnapshotPolicy(t *testing.T) { type testCase struct { - id string + id string expected error } cases := []testCase{ @@ -357,10 +357,9 @@ func TestPauseSnapshotPolicy(t *testing.T) { } } - func TestResumeSnapshotPolicy(t *testing.T) { type testCase struct { - id string + id string expected error } cases := []testCase{ @@ -405,7 +404,7 @@ func TestResumeSnapshotPolicy(t *testing.T) { func TestDeleteSnapshotPolicy(t *testing.T) { type testCase struct { - id string + id string expected error } cases := []testCase{ diff --git a/types/v1/types.go b/types/v1/types.go index bfd1b59..caa42fe5 100644 --- a/types/v1/types.go +++ b/types/v1/types.go @@ -1086,12 +1086,12 @@ type SnapshotPolicy struct { // SnapshotPolicyCreate defines the struct for creating a Snapshot Policy type SnapshotPolicyCreateParam struct { - AutoSnapshotCreationCadenceInMin string `json:"autoSnapshotCreationCadenceInMin"` - NumOfRetainedSnapshotsPerLevel []string `json:"numOfRetainedSnapshotsPerLevel"` - SnapshotAccessMode string `json:"snapshotAccessMode,omitempty"` + AutoSnapshotCreationCadenceInMin string `json:"autoSnapshotCreationCadenceInMin"` + NumOfRetainedSnapshotsPerLevel []string `json:"numOfRetainedSnapshotsPerLevel"` + SnapshotAccessMode string `json:"snapshotAccessMode,omitempty"` SecureSnapshots string `json:"secureSnapshots,omitempty"` - Name string `json:"name"` - Paused string `json:"paused,omitempty"` + Name string `json:"name"` + Paused string `json:"paused,omitempty"` } // SnapShotPolicyCreateResp defines struct for the response when snapshot policy is created successfully @@ -1101,18 +1101,18 @@ type SnapShotPolicyCreateResp struct { // SnapshotPolicyRenameParam defines the struct for renaming a Snapshot Policy type SnapshotPolicyRenameParam struct { - NewName string `json:"newName"` + NewName string `json:"newName"` } // SnapshotPolicyModifyParam defines the struct for modifying a Snapshot Policy type SnapshotPolicyModifyParam struct { - AutoSnapshotCreationCadenceInMin string `json:"autoSnapshotCreationCadenceInMin"` - NumOfRetainedSnapshotsPerLevel []string `json:"numOfRetainedSnapshotsPerLevel"` + AutoSnapshotCreationCadenceInMin string `json:"autoSnapshotCreationCadenceInMin"` + NumOfRetainedSnapshotsPerLevel []string `json:"numOfRetainedSnapshotsPerLevel"` } // AssignVolumeToSnapshotPolicyParam defines the struct for assigning volume to a Snapshot Policy type AssignVolumeToSnapshotPolicyParam struct { - SourceVolumeId string `json:"sourceVolumeId"` + SourceVolumeId string `json:"sourceVolumeId"` AutoSnapshotRemovalAction string `json:"autoSnapshotRemovalAction,omitempty"` }