blob: 62faf0c5becf8b2580e48d8a9a8551ff3b3fb2c9 [file] [log] [blame]
package users
import (
"testing"
os "github.com/rackspace/gophercloud/openstack/identity/v2/users"
"github.com/rackspace/gophercloud/pagination"
th "github.com/rackspace/gophercloud/testhelper"
"github.com/rackspace/gophercloud/testhelper/client"
)
func TestList(t *testing.T) {
th.SetupHTTP()
defer th.TeardownHTTP()
mockListResponse(t)
count := 0
err := List(client.ServiceClient()).EachPage(func(page pagination.Page) (bool, error) {
count++
users, err := os.ExtractUsers(page)
th.AssertNoErr(t, err)
th.AssertEquals(t, "u1000", users[0].ID)
th.AssertEquals(t, "u1001", users[1].ID)
return true, nil
})
th.AssertNoErr(t, err)
th.AssertEquals(t, 1, count)
}
func TestCreateUser(t *testing.T) {
th.SetupHTTP()
defer th.TeardownHTTP()
mockCreateUser(t)
opts := CreateOpts{
Username: "new_user",
Enabled: os.Disabled,
Email: "new_user@foo.com",
Password: "foo",
}
user, err := Create(client.ServiceClient(), opts).Extract()
th.AssertNoErr(t, err)
th.AssertEquals(t, "123456", user.ID)
th.AssertEquals(t, "5830280", user.DomainID)
th.AssertEquals(t, "DFW", user.DefaultRegion)
}
func TestGetUser(t *testing.T) {
th.SetupHTTP()
defer th.TeardownHTTP()
mockGetUser(t)
user, err := Get(client.ServiceClient(), "new_user").Extract()
th.AssertNoErr(t, err)
th.AssertEquals(t, true, user.Enabled)
th.AssertEquals(t, true, user.MultiFactorEnabled)
}
func TestUpdateUser(t *testing.T) {
th.SetupHTTP()
defer th.TeardownHTTP()
mockUpdateUser(t)
id := "c39e3de9be2d4c779f1dfd6abacc176d"
opts := UpdateOpts{
Enabled: os.Enabled,
Email: "new_email@foo.com",
}
user, err := Update(client.ServiceClient(), id, opts).Extract()
th.AssertNoErr(t, err)
th.AssertEquals(t, true, user.Enabled)
th.AssertEquals(t, "new_email@foo.com", user.Email)
}
func TestDeleteServer(t *testing.T) {
th.SetupHTTP()
defer th.TeardownHTTP()
mockDeleteUser(t)
res := Delete(client.ServiceClient(), "c39e3de9be2d4c779f1dfd6abacc176d")
th.AssertNoErr(t, res.Err)
}
func TestResetAPIKey(t *testing.T) {
th.SetupHTTP()
defer th.TeardownHTTP()
mockResetAPIKey(t)
apiKey, err := ResetAPIKey(client.ServiceClient(), "99").Extract()
th.AssertNoErr(t, err)
th.AssertEquals(t, "joesmith", apiKey.Username)
th.AssertEquals(t, "mooH1eiLahd5ahYood7r", apiKey.APIKey)
}