github.com/gophercloud/gophercloud@v1.11.0/internal/acceptance/openstack/db/v1/users_test.go (about) 1 //go:build acceptance || db 2 // +build acceptance db 3 4 package v1 5 6 import ( 7 "testing" 8 9 "github.com/gophercloud/gophercloud/internal/acceptance/clients" 10 "github.com/gophercloud/gophercloud/internal/acceptance/tools" 11 "github.com/gophercloud/gophercloud/openstack/db/v1/users" 12 ) 13 14 // Because it takes so long to create an instance, 15 // all tests will be housed in a single function. 16 func TestUsers(t *testing.T) { 17 if testing.Short() { 18 t.Skip("Skipping in short mode") 19 } 20 21 client, err := clients.NewDBV1Client() 22 if err != nil { 23 t.Fatalf("Unable to create a DB client: %v", err) 24 } 25 26 // Create and Get an instance. 27 instance, err := CreateInstance(t, client) 28 if err != nil { 29 t.Fatalf("Unable to create instance: %v", err) 30 } 31 defer DeleteInstance(t, client, instance.ID) 32 33 // Create a user. 34 err = CreateUser(t, client, instance.ID) 35 if err != nil { 36 t.Fatalf("Unable to create user: %v", err) 37 } 38 39 // List all users. 40 allPages, err := users.List(client, instance.ID).AllPages() 41 if err != nil { 42 t.Fatalf("Unable to list users: %v", err) 43 } 44 45 allUsers, err := users.ExtractUsers(allPages) 46 if err != nil { 47 t.Fatalf("Unable to extract users: %v", err) 48 } 49 50 for _, user := range allUsers { 51 tools.PrintResource(t, user) 52 } 53 54 defer DeleteUser(t, client, instance.ID, allUsers[0].Name) 55 }