github.com/gophercloud/gophercloud@v1.11.0/internal/acceptance/openstack/networking/v2/extensions/rbacpolicies/rbacpolicies.go (about)

     1  package rbacpolicies
     2  
     3  import (
     4  	"testing"
     5  
     6  	"github.com/gophercloud/gophercloud"
     7  	"github.com/gophercloud/gophercloud/openstack/networking/v2/extensions/rbacpolicies"
     8  	th "github.com/gophercloud/gophercloud/testhelper"
     9  )
    10  
    11  // CreateRBACPolicy will create a rbac-policy. An error will be returned if the
    12  // rbac-policy could not be created.
    13  func CreateRBACPolicy(t *testing.T, client *gophercloud.ServiceClient, tenantID, networkID string) (*rbacpolicies.RBACPolicy, error) {
    14  	createOpts := rbacpolicies.CreateOpts{
    15  		Action:       rbacpolicies.ActionAccessShared,
    16  		ObjectType:   "network",
    17  		TargetTenant: tenantID,
    18  		ObjectID:     networkID,
    19  	}
    20  
    21  	t.Logf("Trying to create rbac_policy")
    22  
    23  	rbacPolicy, err := rbacpolicies.Create(client, createOpts).Extract()
    24  	if err != nil {
    25  		return rbacPolicy, err
    26  	}
    27  
    28  	t.Logf("Successfully created rbac_policy")
    29  
    30  	th.AssertEquals(t, rbacPolicy.ObjectID, networkID)
    31  
    32  	return rbacPolicy, nil
    33  }
    34  
    35  // DeleteRBACPolicy will delete a rbac-policy with a specified ID. A fatal error will
    36  // occur if the delete was not successful. This works best when used as a
    37  // deferred function.
    38  func DeleteRBACPolicy(t *testing.T, client *gophercloud.ServiceClient, rbacPolicyID string) {
    39  	t.Logf("Trying to delete rbac_policy: %s", rbacPolicyID)
    40  
    41  	err := rbacpolicies.Delete(client, rbacPolicyID).ExtractErr()
    42  	if err != nil {
    43  		t.Fatalf("Unable to delete rbac_policy %s: %v", rbacPolicyID, err)
    44  	}
    45  
    46  	t.Logf("Deleted rbac_policy: %s", rbacPolicyID)
    47  }