github.com/vnpaycloud-console/gophercloud/v2@v2.0.5/internal/acceptance/openstack/identity/v3/token_test.go (about)

     1  //go:build acceptance || identity || tokens
     2  
     3  package v3
     4  
     5  import (
     6  	"context"
     7  	"testing"
     8  
     9  	"github.com/vnpaycloud-console/gophercloud/v2/internal/acceptance/clients"
    10  	"github.com/vnpaycloud-console/gophercloud/v2/internal/acceptance/tools"
    11  	"github.com/vnpaycloud-console/gophercloud/v2/openstack"
    12  	"github.com/vnpaycloud-console/gophercloud/v2/openstack/identity/v3/tokens"
    13  	th "github.com/vnpaycloud-console/gophercloud/v2/testhelper"
    14  )
    15  
    16  func TestTokensGet(t *testing.T) {
    17  	clients.RequireAdmin(t)
    18  
    19  	client, err := clients.NewIdentityV3Client()
    20  	th.AssertNoErr(t, err)
    21  
    22  	ao, err := openstack.AuthOptionsFromEnv()
    23  	th.AssertNoErr(t, err)
    24  
    25  	authOptions := tokens.AuthOptions{
    26  		Username:   ao.Username,
    27  		UserID:     ao.UserID,
    28  		Password:   ao.Password,
    29  		DomainName: ao.DomainName,
    30  		DomainID:   ao.DomainID,
    31  		Scope: tokens.Scope{
    32  			ProjectID:   ao.TenantID,
    33  			ProjectName: ao.TenantName,
    34  			DomainID:    ao.DomainID,
    35  			DomainName:  ao.DomainName,
    36  		},
    37  	}
    38  
    39  	token, err := tokens.Create(context.TODO(), client, &authOptions).Extract()
    40  	th.AssertNoErr(t, err)
    41  	tools.PrintResource(t, token)
    42  
    43  	catalog, err := tokens.Get(context.TODO(), client, token.ID).ExtractServiceCatalog()
    44  	th.AssertNoErr(t, err)
    45  	tools.PrintResource(t, catalog)
    46  
    47  	user, err := tokens.Get(context.TODO(), client, token.ID).ExtractUser()
    48  	th.AssertNoErr(t, err)
    49  	tools.PrintResource(t, user)
    50  
    51  	roles, err := tokens.Get(context.TODO(), client, token.ID).ExtractRoles()
    52  	th.AssertNoErr(t, err)
    53  	tools.PrintResource(t, roles)
    54  
    55  	project, err := tokens.Get(context.TODO(), client, token.ID).ExtractProject()
    56  	th.AssertNoErr(t, err)
    57  	tools.PrintResource(t, project)
    58  }