Skip to content

Commit

Permalink
Add integration test cases of file share
Browse files Browse the repository at this point in the history
  • Loading branch information
Shruthi-1MN committed Nov 7, 2019
1 parent 0da2142 commit c267bf3
Show file tree
Hide file tree
Showing 4 changed files with 285 additions and 13 deletions.
258 changes: 258 additions & 0 deletions test/integration/client_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -75,6 +75,7 @@ func TestClientGetProfile(t *testing.T) {
}
}


func TestClientListProfiles(t *testing.T) {
prfs, err := c.ListProfiles()
if err != nil {
Expand All @@ -92,6 +93,7 @@ func TestClientListProfiles(t *testing.T) {
for i := range SampleProfiles {
expected = append(expected, &SampleProfiles[i])
}

if !reflect.DeepEqual(prfs, expected) {
t.Errorf("expected %+v, got %+v\n", expected, prfs)
}
Expand Down Expand Up @@ -546,3 +548,259 @@ func TestClientFailoverReplication(t *testing.T) {
t.Log("Disable volume replication not ready!")
}
*/

/*
File share integration test cases
*/

func TestClientCreateFileProfile(t *testing.T) {
var body = &model.ProfileSpec{
Name: "gold",
Description: "gold policy",
StorageType: "file",
}

prf, err := c.CreateProfile(body)
if err != nil {
t.Error("create profile in client failed:", err)
return
}
// If customized properties are not defined, create an empty one.
if prf.CustomProperties == nil {
prf.CustomProperties = model.CustomPropertiesSpec{}
}

var expected = &SampleFileShareProfiles[0]
if !reflect.DeepEqual(prf, expected) {
t.Errorf("expected %+v, got %+v\n", expected, prf)
}
}

func TestClientGetFileProfile(t *testing.T) {
var prfID = "3f9c0a04-66ef-11e7-ade2-43158893e017"

prf, err := c.GetProfile(prfID)
if err != nil {
t.Error("get profile in client failed:", err)
return
}

var expected = &SampleFileShareProfiles[1]
if !reflect.DeepEqual(prf, expected) {
t.Errorf("expected %+v, got %+v\n", expected, prf)
}
}

func TestClientCreateFileShare(t *testing.T) {
var body = &model.FileShareSpec{
Name: "test",
Description: "This is a test",
Size: int64(1),
ProfileId: "2106b972-66ef-11e7-b172-db03f3689c9c",
}

if _, err := c.CreateFileShare(body); err != nil {
t.Error("create file share in client failed:", err)
return
}

t.Log("Create file share success!")
}

func TestClientGetFileShare(t *testing.T) {
var fileshareID = "a2975ebe-d82c-430f-b28e-f373746a71ca"

fileshare, err := c.GetFileShare(fileshareID)
if err != nil {
t.Error("get file share in client failed:", err)
return
}

var expected = &SampleFileShares[0]
if !reflect.DeepEqual(fileshare, expected) {
t.Errorf("expected %+v, got %+v\n", expected, fileshare)
}
}

func TestClientListFileShares(t *testing.T) {
fileshares, err := c.ListFileShares()
if err != nil {
t.Error("list fileshares in client failed:", err)
return
}

var expected []*model.FileShareSpec
for i := range SampleFileShares {
expected = append(expected, &SampleFileShares[i])
}
if !reflect.DeepEqual(fileshares, expected) {
t.Errorf("expected %+v, got %+v\n", expected, fileshares)
}
}

func TestClientUpdateFileShare(t *testing.T) {
var fileshareID = "a2975ebe-d82c-430f-b28e-f373746a71ca"
body := &model.FileShareSpec{
Name: "sample-fileshare-01",
Description: "This is first sample fileshare for testing",
}

fileshare, err := c.UpdateFileShare(fileshareID, body)
if err != nil {
t.Error("update fileshare in client failed:", err)
return
}

var expected = &SampleFileShares[0]
if !reflect.DeepEqual(fileshare, expected) {
t.Errorf("expected %+v, got %+v\n", expected, fileshare)
}
}

func TestClientCreateFileShareAcl(t *testing.T) {
var body = &model.FileShareAclSpec{
Description: "This is a sample Acl for testing",
ProfileId: "1106b972-66ef-11e7-b172-db03f3689c9c",
Type: "ip",
AccessCapability: []string{"Read", "Write"},
AccessTo: "10.32.109.15",
FileShareId: "a2975ebe-d82c-430f-b28e-f373746a71ca",
}

if _, err := c.CreateFileShareAcl(body); err != nil {
t.Error("create file share acl in client failed:", err)
return
}

t.Log("Create file share acl success!")
}

func TestClientGetFileShareAcl(t *testing.T) {
var aclID = "6ad25d59-a160-45b2-8920-211be282e2df"

acls, err := c.GetFileShareAcl(aclID)
if err != nil {
t.Error("get file share acl in client failed:", err)
return
}

var expected = &SampleFileSharesAcl[0]
if !reflect.DeepEqual(acls, expected) {
t.Errorf("expected %+v, got %+v\n", expected, acls)
}
}

func TestClientListFileShareAcl(t *testing.T) {
acls, err := c.ListFileSharesAcl()
if err != nil {
t.Error("list fileshare acls in client failed:", err)
return
}

var expected []*model.FileShareAclSpec
for i := range SampleFileSharesAcl {
expected = append(expected, &SampleFileSharesAcl[i])
}
if !reflect.DeepEqual(acls, expected) {
t.Errorf("expected %+v, got %+v\n", expected, acls)
}
}

func TestClientCreateFileShareSnapshot(t *testing.T) {
var body = &model.FileShareSnapshotSpec{
Name: "test",
Description: "This is a test",
FileShareId: "a2975ebe-d82c-430f-b28e-f373746a71ca",
}

if _, err := c.CreateFileShareSnapshot(body); err != nil {
t.Error("create file share snapshot in client failed:", err)
return
}

t.Log("Create file share snapshot success!")
}

func TestClientGetFileShareSnapshot(t *testing.T) {
var snpID = "3769855c-a102-11e7-b772-17b880d2f537"

snp, err := c.GetFileShareSnapshot(snpID)
if err != nil {
t.Error("get file share snapshot in client failed:", err)
return
}

var expected = &SampleFileShareSnapshots[0]
if !reflect.DeepEqual(snp, expected) {
t.Errorf("expected %+v, got %+v\n", expected, snp)
}
}

func TestClientListFileShareSnapshots(t *testing.T) {
snps, err := c.ListFileShareSnapshots()
if err != nil {
t.Error("list file share snapshots in client failed:", err)
return
}

var expected []*model.FileShareSnapshotSpec
for i := range SampleFileShareSnapshots {
expected = append(expected, &SampleFileShareSnapshots[i])
}
if !reflect.DeepEqual(snps, expected) {
t.Errorf("expected %+v, got %+v\n", expected, snps)
}
}

func TestClientUpdateFileShareSnapshot(t *testing.T) {
var snpID = "3769855c-a102-11e7-b772-17b880d2f537"
body := &model.FileShareSnapshotSpec{
Name: "sample-snapshot-01",
Description: "This is the first sample snapshot for testing",
}

snp, err := c.UpdateFileShareSnapshot(snpID, body)
if err != nil {
t.Error("update file share snapshot in client failed:", err)
return
}

var expected = &SampleFileShareSnapshots[0]
if !reflect.DeepEqual(snp, expected) {
t.Errorf("expected %+v, got %+v\n", expected, snp)
}
}

func TestClientDeleteFileShareAcl(t *testing.T) {
var fileshareaclID = "d2975ebe-d82c-430f-b28e-f373746a71ca"

if err := c.DeleteFileShareAcl(fileshareaclID); err != nil {
t.Error("delete file share acl in client failed:", err)
return
}

t.Log("Delete file share acl success!")
}

func TestClientDeleteFileShareSnapshot(t *testing.T) {
var snapID = "3769855c-a102-11e7-b772-17b880d2f537"

if err := c.DeleteFileShareSnapshot(snapID); err != nil {
t.Error("delete file share snapshot in client failed:", err)
return
}

t.Log("Delete file share snapshot success!")
}


func TestClientDeleteFileProfile(t *testing.T) {
var prfID = "3f9c0a04-66ef-11e7-ade2-43158893e017"

if err := c.DeleteProfile(prfID); err != nil {
t.Error("delete profile in client failed:", err)
return
}

t.Log("Delete profile success!")
}
Empty file modified test/integration/integrationtest.sh
100644 → 100755
Empty file.
26 changes: 16 additions & 10 deletions testutils/collection/data.go
Original file line number Diff line number Diff line change
Expand Up @@ -60,7 +60,7 @@ var (
BaseModel: &model.BaseModel{
Id: "1106b972-66ef-11e7-b172-db03f3689c9c",
},
Name: "default",
Name: "default_file",
Description: "default policy",
StorageType: "file",
CustomProperties: model.CustomPropertiesSpec{},
Expand All @@ -69,8 +69,8 @@ var (
BaseModel: &model.BaseModel{
Id: "2f9c0a04-66ef-11e7-ade2-43158893e017",
},
Name: "silver",
Description: "silver policy",
Name: "gold",
Description: "gold policy",
StorageType: "file",
CustomProperties: model.CustomPropertiesSpec{
"dataStorage": map[string]interface{}{
Expand Down Expand Up @@ -209,8 +209,8 @@ var (
Size: int64(1),
Status: "available",
PoolId: "a5965ebe-dg2c-434t-b28e-f373746a71ca",
ProfileId: "b3585ebe-c42c-120g-b28e-f373746a71ca",
SnapshotId: "b7602e18-771e-11e7-8f38-dbd6d291f4eg",
ProfileId: "1106b972-66ef-11e7-b172-db03f3689c9c",
SnapshotId: "3769855c-a102-11e7-b772-17b880d2f537",
AvailabilityZone: "default",
ExportLocations: []string{"192.168.100.100"},
},
Expand All @@ -223,8 +223,8 @@ var (
Size: int64(1),
Status: "available",
PoolId: "d5f65ebe-ag2c-341s-a25e-f373746a71dr",
ProfileId: "1e643aca-4922-4b1a-bb98-4245054aeff4",
SnapshotId: "a5965ebe-dg2c-434t-b28e-f373746a71ca",
ProfileId: "1106b972-66ef-11e7-b172-db03f3689c9c",
SnapshotId: "3bfaf2cc-a102-11e7-8ecb-63aea739d755",
AvailabilityZone: "default",
ExportLocations: []string{"192.168.100.101"},
},
Expand All @@ -236,6 +236,7 @@ var (
Id: "d2975ebe-d82c-430f-b28e-f373746a71ca",
},
Description: "This is a sample Acl for testing",
Status: "available",
},
{
BaseModel: &model.BaseModel{
Expand All @@ -248,22 +249,24 @@ var (
Id: "6ad25d59-a160-45b2-8920-211be282e2df",
},
Description: "This is a sample Acl for testing",
ProfileId: "1106b972-66ef-11e7-b172-db03f3689c9c",
ProfileId: "2106b972-66ef-11e7-b172-db03f3689c9c",
Type: "ip",
AccessCapability: []string{"Read", "Write"},
AccessTo: "10.32.109.15",
Status: "available",
FileShareId: "d2975ebe-d82c-430f-b28e-f373746a71ca",
},
{
BaseModel: &model.BaseModel{
Id: "ad25d59-a160-45b2-8920-211be282e2dfh",
},
Description: "This is a sample Acl for testing",
ProfileId: "1106b972-66ef-11e7-b172-db03f3689c9c",
ProfileId: "3f9c0a04-66ef-11e7-ade2-43158893e017",
Type: "ip",
AccessCapability: []string{"Read", "Write"},
AccessTo: "10.32.109.151",
FileShareId: "d2975ebe-d82c-430f-b28e-f373746a71ca",
Status: "available",
FileShareId: "1e643aca-4922-4b1a-bb98-4245054aeff4",
},
}

Expand All @@ -277,6 +280,7 @@ var (
SnapshotSize: int64(1),
FileShareId: "d2975ebe-d82c-430f-b28e-f373746a71ca",
Status: "available",
ProfileId: "1106b972-66ef-11e7-b172-db03f3689c9c",
},
{
BaseModel: &model.BaseModel{
Expand All @@ -285,7 +289,9 @@ var (
Name: "sample-snapshot-02",
Description: "This is the second sample snapshot for testing",
SnapshotSize: int64(1),
FileShareId: "1e643aca-4922-4b1a-bb98-4245054aeff4",
Status: "available",
ProfileId: "3f9c0a04-66ef-11e7-ade2-43158893e017",
},
}

Expand Down
Loading

0 comments on commit c267bf3

Please sign in to comment.