blob: 5e2b45e7d4fa5a3e7168903169ece9d25b3667e9 [file] [log] [blame]
package v2
import (
"testing"
"github.com/gophercloud/gophercloud/acceptance/clients"
"github.com/gophercloud/gophercloud/openstack/sharedfilesystems/v2/securityservices"
)
func TestSecurityServiceCreateDelete(t *testing.T) {
client, err := clients.NewSharedFileSystemV2Client()
if err != nil {
t.Fatalf("Unable to create shared file system client: %v", err)
}
securityService, err := CreateSecurityService(t, client)
if err != nil {
t.Fatalf("Unable to create security service: %v", err)
}
PrintSecurityService(t, securityService)
defer DeleteSecurityService(t, client, securityService)
}
func TestSecurityServiceList(t *testing.T) {
client, err := clients.NewSharedFileSystemV2Client()
if err != nil {
t.Fatalf("Unable to create a shared file system client: %v", err)
}
allPages, err := securityservices.List(client, securityservices.ListOpts{}).AllPages()
if err != nil {
t.Fatalf("Unable to retrieve security services: %v", err)
}
allSecurityServices, err := securityservices.ExtractSecurityServices(allPages)
if err != nil {
t.Fatalf("Unable to extract security services: %v", err)
}
for _, securityService := range allSecurityServices {
PrintSecurityService(t, &securityService)
}
}
// The test creates 2 security services and verifies that only the one(s) with
// a particular name are being listed
func TestSecurityServiceListFiltering(t *testing.T) {
client, err := clients.NewSharedFileSystemV2Client()
if err != nil {
t.Fatalf("Unable to create a shared file system client: %v", err)
}
securityService, err := CreateSecurityService(t, client)
if err != nil {
t.Fatalf("Unable to create security service: %v", err)
}
defer DeleteSecurityService(t, client, securityService)
securityService, err = CreateSecurityService(t, client)
if err != nil {
t.Fatalf("Unable to create security service: %v", err)
}
defer DeleteSecurityService(t, client, securityService)
options := securityservices.ListOpts{
Name: securityService.Name,
}
allPages, err := securityservices.List(client, options).AllPages()
if err != nil {
t.Fatalf("Unable to retrieve security services: %v", err)
}
allSecurityServices, err := securityservices.ExtractSecurityServices(allPages)
if err != nil {
t.Fatalf("Unable to extract security services: %v", err)
}
for _, listedSecurityService := range allSecurityServices {
if listedSecurityService.Name != securityService.Name {
t.Fatalf("The name of the security service was expected to be %s", securityService.Name)
}
PrintSecurityService(t, &listedSecurityService)
}
}