blob: 25a47943c9b05f31ff7c62fef4a502f68b29fb31 [file] [log] [blame]
// +build acceptance db
package v1
import (
"github.com/rackspace/gophercloud/acceptance/tools"
db "github.com/rackspace/gophercloud/openstack/db/v1/databases"
u "github.com/rackspace/gophercloud/openstack/db/v1/users"
"github.com/rackspace/gophercloud/pagination"
)
func (c context) createUsers() {
users := []string{
tools.RandomString("user_", 5),
tools.RandomString("user_", 5),
tools.RandomString("user_", 5),
}
db1 := db.CreateOpts{Name: "db1"}
db2 := db.CreateOpts{Name: "db2"}
db3 := db.CreateOpts{Name: "db3"}
opts := u.BatchCreateOpts{
u.CreateOpts{
Name: users[0],
Password: tools.RandomString("", 5),
Databases: db.BatchCreateOpts{db1, db2, db3},
},
u.CreateOpts{
Name: users[1],
Password: tools.RandomString("", 5),
Databases: db.BatchCreateOpts{db1, db2},
},
u.CreateOpts{
Name: users[2],
Password: tools.RandomString("", 5),
Databases: db.BatchCreateOpts{db3},
},
}
err := u.Create(c.client, c.instanceID, opts).ExtractErr()
c.AssertNoErr(err)
c.Logf("Created three users on instance %s: %s, %s, %s", c.instanceID, users[0], users[1], users[2])
c.users = users
}
func (c context) listUsers() {
c.Logf("Listing databases on instance %s", c.instanceID)
err := db.List(c.client, c.instanceID).EachPage(func(page pagination.Page) (bool, error) {
dbList, err := db.ExtractDBs(page)
c.AssertNoErr(err)
for _, db := range dbList {
c.Logf("DB: %#v", db)
}
return true, nil
})
c.AssertNoErr(err)
}
func (c context) deleteUsers() {
for _, id := range c.DBIDs {
err := db.Delete(c.client, c.instanceID, id).ExtractErr()
c.AssertNoErr(err)
c.Logf("Deleted DB %s", id)
}
}