1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152
|
//go:build acceptance
// +build acceptance
package v2
import (
"testing"
"github.com/gophercloud/gophercloud/acceptance/clients"
"github.com/gophercloud/gophercloud/acceptance/tools"
"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)
}
newSecurityService, err := securityservices.Get(client, securityService.ID).Extract()
if err != nil {
t.Errorf("Unable to retrieve the security service: %v", err)
}
if newSecurityService.Name != securityService.Name {
t.Fatalf("Security service name was expeted to be: %s", securityService.Name)
}
if newSecurityService.Description != securityService.Description {
t.Fatalf("Security service description was expeted to be: %s", securityService.Description)
}
tools.PrintResource(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 {
tools.PrintResource(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)
}
tools.PrintResource(t, &listedSecurityService)
}
}
// Create a security service and update the name and description. Get the security
// service and verify that the name and description have been updated
func TestSecurityServiceUpdate(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)
}
name := "NewName"
description := ""
options := securityservices.UpdateOpts{
Name: &name,
Description: &description,
Type: "ldap",
}
_, err = securityservices.Update(client, securityService.ID, options).Extract()
if err != nil {
t.Errorf("Unable to update the security service: %v", err)
}
newSecurityService, err := securityservices.Get(client, securityService.ID).Extract()
if err != nil {
t.Errorf("Unable to retrieve the security service: %v", err)
}
if newSecurityService.Name != name {
t.Fatalf("Security service name was expeted to be: %s", name)
}
if newSecurityService.Description != description {
t.Fatalf("Security service description was expeted to be: %s", description)
}
if newSecurityService.Type != options.Type {
t.Fatalf("Security service type was expected to be: %s", options.Type)
}
tools.PrintResource(t, securityService)
defer DeleteSecurityService(t, client, securityService)
}
|