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 }