Fix tests to use UUID strings rather than ints for IDs

Several tests were using ints rather than strings for IDs. The ints
were changed to UUID strings.

Change-Id: I65312509c72078c08ca284e313104e926d9885ba
This commit is contained in:
Brant Knudson
2014-04-27 18:01:12 -05:00
parent 04ded03cb0
commit 4b36da79f1
6 changed files with 135 additions and 92 deletions

View File

@@ -10,6 +10,8 @@
# License for the specific language governing permissions and limitations # License for the specific language governing permissions and limitations
# under the License. # under the License.
import uuid
import httpretty import httpretty
from keystoneclient.tests.v2_0 import utils from keystoneclient.tests.v2_0 import utils
@@ -19,16 +21,20 @@ from keystoneclient.v2_0 import roles
class RoleTests(utils.TestCase): class RoleTests(utils.TestCase):
def setUp(self): def setUp(self):
super(RoleTests, self).setUp() super(RoleTests, self).setUp()
self.ADMIN_ROLE_ID = uuid.uuid4().hex
self.MEMBER_ROLE_ID = uuid.uuid4().hex
self.TEST_ROLES = { self.TEST_ROLES = {
"roles": { "roles": {
"values": [ "values": [
{ {
"name": "admin", "name": "admin",
"id": 1, "id": self.ADMIN_ROLE_ID,
}, },
{ {
"name": "member", "name": "member",
"id": 2, "id": self.MEMBER_ROLE_ID,
} }
], ],
}, },
@@ -41,10 +47,11 @@ class RoleTests(utils.TestCase):
"name": "sysadmin", "name": "sysadmin",
} }
} }
role_id = uuid.uuid4().hex
resp_body = { resp_body = {
"role": { "role": {
"name": "sysadmin", "name": "sysadmin",
"id": 3, "id": role_id,
} }
} }
self.stub_url(httpretty.POST, ['OS-KSADM', 'roles'], json=resp_body) self.stub_url(httpretty.POST, ['OS-KSADM', 'roles'], json=resp_body)
@@ -52,22 +59,23 @@ class RoleTests(utils.TestCase):
role = self.client.roles.create(req_body['role']['name']) role = self.client.roles.create(req_body['role']['name'])
self.assertRequestBodyIs(json=req_body) self.assertRequestBodyIs(json=req_body)
self.assertIsInstance(role, roles.Role) self.assertIsInstance(role, roles.Role)
self.assertEqual(role.id, 3) self.assertEqual(role.id, role_id)
self.assertEqual(role.name, req_body['role']['name']) self.assertEqual(role.name, req_body['role']['name'])
@httpretty.activate @httpretty.activate
def test_delete(self): def test_delete(self):
self.stub_url(httpretty.DELETE, ['OS-KSADM', 'roles', '1'], status=204) self.stub_url(httpretty.DELETE,
self.client.roles.delete(1) ['OS-KSADM', 'roles', self.ADMIN_ROLE_ID], status=204)
self.client.roles.delete(self.ADMIN_ROLE_ID)
@httpretty.activate @httpretty.activate
def test_get(self): def test_get(self):
self.stub_url(httpretty.GET, ['OS-KSADM', 'roles', '1'], self.stub_url(httpretty.GET, ['OS-KSADM', 'roles', self.ADMIN_ROLE_ID],
json={'role': self.TEST_ROLES['roles']['values'][0]}) json={'role': self.TEST_ROLES['roles']['values'][0]})
role = self.client.roles.get(1) role = self.client.roles.get(self.ADMIN_ROLE_ID)
self.assertIsInstance(role, roles.Role) self.assertIsInstance(role, roles.Role)
self.assertEqual(role.id, 1) self.assertEqual(role.id, self.ADMIN_ROLE_ID)
self.assertEqual(role.name, 'admin') self.assertEqual(role.name, 'admin')
@httpretty.activate @httpretty.activate
@@ -103,10 +111,11 @@ class RoleTests(utils.TestCase):
@httpretty.activate @httpretty.activate
def test_add_user_role_tenant(self): def test_add_user_role_tenant(self):
self.stub_url(httpretty.PUT, ['tenants', '4', 'users', 'foo', 'roles', id_ = uuid.uuid4().hex
self.stub_url(httpretty.PUT, ['tenants', id_, 'users', 'foo', 'roles',
'OS-KSADM', 'barrr'], status=204) 'OS-KSADM', 'barrr'], status=204)
self.client.roles.add_user_role('foo', 'barrr', '4') self.client.roles.add_user_role('foo', 'barrr', id_)
@httpretty.activate @httpretty.activate
def test_remove_user_role(self): def test_remove_user_role(self):
@@ -116,7 +125,8 @@ class RoleTests(utils.TestCase):
@httpretty.activate @httpretty.activate
def test_remove_user_role_tenant(self): def test_remove_user_role_tenant(self):
self.stub_url(httpretty.DELETE, ['tenants', '4', 'users', 'foo', id_ = uuid.uuid4().hex
self.stub_url(httpretty.DELETE, ['tenants', id_, 'users', 'foo',
'roles', 'OS-KSADM', 'barrr'], 'roles', 'OS-KSADM', 'barrr'],
status=204) status=204)
self.client.roles.remove_user_role('foo', 'barrr', '4') self.client.roles.remove_user_role('foo', 'barrr', id_)

View File

@@ -10,6 +10,8 @@
# License for the specific language governing permissions and limitations # License for the specific language governing permissions and limitations
# under the License. # under the License.
import uuid
import httpretty import httpretty
from keystoneclient.tests.v2_0 import utils from keystoneclient.tests.v2_0 import utils
@@ -19,6 +21,10 @@ from keystoneclient.v2_0 import services
class ServiceTests(utils.TestCase): class ServiceTests(utils.TestCase):
def setUp(self): def setUp(self):
super(ServiceTests, self).setUp() super(ServiceTests, self).setUp()
self.NOVA_SERVICE_ID = uuid.uuid4().hex
self.KEYSTONE_SERVICE_ID = uuid.uuid4().hex
self.TEST_SERVICES = { self.TEST_SERVICES = {
"OS-KSADM:services": { "OS-KSADM:services": {
"values": [ "values": [
@@ -26,13 +32,13 @@ class ServiceTests(utils.TestCase):
"name": "nova", "name": "nova",
"type": "compute", "type": "compute",
"description": "Nova-compatible service.", "description": "Nova-compatible service.",
"id": 1 "id": self.NOVA_SERVICE_ID
}, },
{ {
"name": "keystone", "name": "keystone",
"type": "identity", "type": "identity",
"description": "Keystone-compatible service.", "description": "Keystone-compatible service.",
"id": 2 "id": self.KEYSTONE_SERVICE_ID
}, },
], ],
}, },
@@ -47,12 +53,13 @@ class ServiceTests(utils.TestCase):
"description": "Swift-compatible service.", "description": "Swift-compatible service.",
} }
} }
service_id = uuid.uuid4().hex
resp_body = { resp_body = {
"OS-KSADM:service": { "OS-KSADM:service": {
"name": "swift", "name": "swift",
"type": "object-store", "type": "object-store",
"description": "Swift-compatible service.", "description": "Swift-compatible service.",
"id": 3, "id": service_id,
} }
} }
self.stub_url(httpretty.POST, ['OS-KSADM', 'services'], json=resp_body) self.stub_url(httpretty.POST, ['OS-KSADM', 'services'], json=resp_body)
@@ -62,27 +69,29 @@ class ServiceTests(utils.TestCase):
req_body['OS-KSADM:service']['type'], req_body['OS-KSADM:service']['type'],
req_body['OS-KSADM:service']['description']) req_body['OS-KSADM:service']['description'])
self.assertIsInstance(service, services.Service) self.assertIsInstance(service, services.Service)
self.assertEqual(service.id, 3) self.assertEqual(service.id, service_id)
self.assertEqual(service.name, req_body['OS-KSADM:service']['name']) self.assertEqual(service.name, req_body['OS-KSADM:service']['name'])
self.assertRequestBodyIs(json=req_body) self.assertRequestBodyIs(json=req_body)
@httpretty.activate @httpretty.activate
def test_delete(self): def test_delete(self):
self.stub_url(httpretty.DELETE, ['OS-KSADM', 'services', '1'], self.stub_url(httpretty.DELETE,
['OS-KSADM', 'services', self.NOVA_SERVICE_ID],
status=204) status=204)
self.client.services.delete(1) self.client.services.delete(self.NOVA_SERVICE_ID)
@httpretty.activate @httpretty.activate
def test_get(self): def test_get(self):
test_services = self.TEST_SERVICES['OS-KSADM:services']['values'][0] test_services = self.TEST_SERVICES['OS-KSADM:services']['values'][0]
self.stub_url(httpretty.GET, ['OS-KSADM', 'services', '1'], self.stub_url(httpretty.GET,
['OS-KSADM', 'services', self.NOVA_SERVICE_ID],
json={'OS-KSADM:service': test_services}) json={'OS-KSADM:service': test_services})
service = self.client.services.get(1) service = self.client.services.get(self.NOVA_SERVICE_ID)
self.assertIsInstance(service, services.Service) self.assertIsInstance(service, services.Service)
self.assertEqual(service.id, 1) self.assertEqual(service.id, self.NOVA_SERVICE_ID)
self.assertEqual(service.name, 'nova') self.assertEqual(service.name, 'nova')
self.assertEqual(service.type, 'compute') self.assertEqual(service.type, 'compute')

View File

@@ -10,6 +10,8 @@
# License for the specific language governing permissions and limitations # License for the specific language governing permissions and limitations
# under the License. # under the License.
import uuid
import httpretty import httpretty
from keystoneclient import exceptions from keystoneclient import exceptions
@@ -20,6 +22,12 @@ from keystoneclient.v2_0 import tenants
class TenantTests(utils.TestCase): class TenantTests(utils.TestCase):
def setUp(self): def setUp(self):
super(TenantTests, self).setUp() super(TenantTests, self).setUp()
self.INVIS_ID = uuid.uuid4().hex
self.DEMO_ID = uuid.uuid4().hex
self.ADMIN_ID = uuid.uuid4().hex
self.EXTRAS_ID = uuid.uuid4().hex
self.TEST_TENANTS = { self.TEST_TENANTS = {
"tenants": { "tenants": {
"values": [ "values": [
@@ -27,26 +35,26 @@ class TenantTests(utils.TestCase):
"enabled": True, "enabled": True,
"description": "A description change!", "description": "A description change!",
"name": "invisible_to_admin", "name": "invisible_to_admin",
"id": 3, "id": self.INVIS_ID,
}, },
{ {
"enabled": True, "enabled": True,
"description": "None", "description": "None",
"name": "demo", "name": "demo",
"id": 2, "id": self.DEMO_ID,
}, },
{ {
"enabled": True, "enabled": True,
"description": "None", "description": "None",
"name": "admin", "name": "admin",
"id": 1, "id": self.ADMIN_ID,
}, },
{ {
"extravalue01": "metadata01", "extravalue01": "metadata01",
"enabled": True, "enabled": True,
"description": "For testing extras", "description": "For testing extras",
"name": "test_extras", "name": "test_extras",
"id": 4, "id": self.EXTRAS_ID,
} }
], ],
"links": [], "links": [],
@@ -63,11 +71,12 @@ class TenantTests(utils.TestCase):
"extravalue01": "metadata01", "extravalue01": "metadata01",
}, },
} }
id_ = uuid.uuid4().hex
resp_body = { resp_body = {
"tenant": { "tenant": {
"name": "tenantX", "name": "tenantX",
"enabled": True, "enabled": True,
"id": 4, "id": id_,
"description": "Like tenant 9, but better.", "description": "Like tenant 9, but better.",
"extravalue01": "metadata01", "extravalue01": "metadata01",
} }
@@ -81,7 +90,7 @@ class TenantTests(utils.TestCase):
extravalue01=req_body['tenant']['extravalue01'], extravalue01=req_body['tenant']['extravalue01'],
name="don't overwrite priors") name="don't overwrite priors")
self.assertIsInstance(tenant, tenants.Tenant) self.assertIsInstance(tenant, tenants.Tenant)
self.assertEqual(tenant.id, 4) self.assertEqual(tenant.id, id_)
self.assertEqual(tenant.name, "tenantX") self.assertEqual(tenant.name, "tenantX")
self.assertEqual(tenant.description, "Like tenant 9, but better.") self.assertEqual(tenant.description, "Like tenant 9, but better.")
self.assertEqual(tenant.extravalue01, "metadata01") self.assertEqual(tenant.extravalue01, "metadata01")
@@ -114,17 +123,17 @@ class TenantTests(utils.TestCase):
@httpretty.activate @httpretty.activate
def test_delete(self): def test_delete(self):
self.stub_url(httpretty.DELETE, ['tenants', '1'], status=204) self.stub_url(httpretty.DELETE, ['tenants', self.ADMIN_ID], status=204)
self.client.tenants.delete(1) self.client.tenants.delete(self.ADMIN_ID)
@httpretty.activate @httpretty.activate
def test_get(self): def test_get(self):
resp = {'tenant': self.TEST_TENANTS['tenants']['values'][2]} resp = {'tenant': self.TEST_TENANTS['tenants']['values'][2]}
self.stub_url(httpretty.GET, ['tenants', '1'], json=resp) self.stub_url(httpretty.GET, ['tenants', self.ADMIN_ID], json=resp)
t = self.client.tenants.get(1) t = self.client.tenants.get(self.ADMIN_ID)
self.assertIsInstance(t, tenants.Tenant) self.assertIsInstance(t, tenants.Tenant)
self.assertEqual(t.id, 1) self.assertEqual(t.id, self.ADMIN_ID)
self.assertEqual(t.name, 'admin') self.assertEqual(t.name, 'admin')
@httpretty.activate @httpretty.activate
@@ -162,7 +171,7 @@ class TenantTests(utils.TestCase):
def test_update(self): def test_update(self):
req_body = { req_body = {
"tenant": { "tenant": {
"id": 4, "id": self.EXTRAS_ID,
"name": "tenantX", "name": "tenantX",
"description": "I changed you!", "description": "I changed you!",
"enabled": False, "enabled": False,
@@ -174,13 +183,14 @@ class TenantTests(utils.TestCase):
"tenant": { "tenant": {
"name": "tenantX", "name": "tenantX",
"enabled": False, "enabled": False,
"id": 4, "id": self.EXTRAS_ID,
"description": "I changed you!", "description": "I changed you!",
"extravalue01": "metadataChanged", "extravalue01": "metadataChanged",
}, },
} }
self.stub_url(httpretty.POST, ['tenants', '4'], json=resp_body) self.stub_url(httpretty.POST, ['tenants', self.EXTRAS_ID],
json=resp_body)
tenant = self.client.tenants.update( tenant = self.client.tenants.update(
req_body['tenant']['id'], req_body['tenant']['id'],
@@ -191,7 +201,7 @@ class TenantTests(utils.TestCase):
name="don't overwrite priors") name="don't overwrite priors")
self.assertIsInstance(tenant, tenants.Tenant) self.assertIsInstance(tenant, tenants.Tenant)
self.assertRequestBodyIs(json=req_body) self.assertRequestBodyIs(json=req_body)
self.assertEqual(tenant.id, 4) self.assertEqual(tenant.id, self.EXTRAS_ID)
self.assertEqual(tenant.name, "tenantX") self.assertEqual(tenant.name, "tenantX")
self.assertEqual(tenant.description, "I changed you!") self.assertEqual(tenant.description, "I changed you!")
self.assertFalse(tenant.enabled) self.assertFalse(tenant.enabled)
@@ -201,7 +211,7 @@ class TenantTests(utils.TestCase):
def test_update_empty_description(self): def test_update_empty_description(self):
req_body = { req_body = {
"tenant": { "tenant": {
"id": 4, "id": self.EXTRAS_ID,
"name": "tenantX", "name": "tenantX",
"description": "", "description": "",
"enabled": False, "enabled": False,
@@ -211,11 +221,12 @@ class TenantTests(utils.TestCase):
"tenant": { "tenant": {
"name": "tenantX", "name": "tenantX",
"enabled": False, "enabled": False,
"id": 4, "id": self.EXTRAS_ID,
"description": "", "description": "",
}, },
} }
self.stub_url(httpretty.POST, ['tenants', '4'], json=resp_body) self.stub_url(httpretty.POST, ['tenants', self.EXTRAS_ID],
json=resp_body)
tenant = self.client.tenants.update(req_body['tenant']['id'], tenant = self.client.tenants.update(req_body['tenant']['id'],
req_body['tenant']['name'], req_body['tenant']['name'],
@@ -223,35 +234,37 @@ class TenantTests(utils.TestCase):
req_body['tenant']['enabled']) req_body['tenant']['enabled'])
self.assertIsInstance(tenant, tenants.Tenant) self.assertIsInstance(tenant, tenants.Tenant)
self.assertRequestBodyIs(json=req_body) self.assertRequestBodyIs(json=req_body)
self.assertEqual(tenant.id, 4) self.assertEqual(tenant.id, self.EXTRAS_ID)
self.assertEqual(tenant.name, "tenantX") self.assertEqual(tenant.name, "tenantX")
self.assertEqual(tenant.description, "") self.assertEqual(tenant.description, "")
self.assertFalse(tenant.enabled) self.assertFalse(tenant.enabled)
@httpretty.activate @httpretty.activate
def test_add_user(self): def test_add_user(self):
self.stub_url(httpretty.PUT, ['tenants', '4', 'users', 'foo', 'roles', self.stub_url(httpretty.PUT,
'OS-KSADM', 'barrr'], status=204) ['tenants', self.EXTRAS_ID, 'users', 'foo', 'roles',
'OS-KSADM', 'barrr'],
status=204)
self.client.tenants.add_user('4', 'foo', 'barrr') self.client.tenants.add_user(self.EXTRAS_ID, 'foo', 'barrr')
@httpretty.activate @httpretty.activate
def test_remove_user(self): def test_remove_user(self):
self.stub_url(httpretty.DELETE, ['tenants', '4', 'users', 'foo', self.stub_url(httpretty.DELETE, ['tenants', self.EXTRAS_ID, 'users',
'roles', 'OS-KSADM', 'barrr'], 'foo', 'roles', 'OS-KSADM', 'barrr'],
status=204) status=204)
self.client.tenants.remove_user('4', 'foo', 'barrr') self.client.tenants.remove_user(self.EXTRAS_ID, 'foo', 'barrr')
@httpretty.activate @httpretty.activate
def test_tenant_add_user(self): def test_tenant_add_user(self):
self.stub_url(httpretty.PUT, ['tenants', '4', 'users', 'foo', 'roles', self.stub_url(httpretty.PUT, ['tenants', self.EXTRAS_ID, 'users',
'OS-KSADM', 'barrr'], 'foo', 'roles', 'OS-KSADM', 'barrr'],
status=204) status=204)
req_body = { req_body = {
"tenant": { "tenant": {
"id": 4, "id": self.EXTRAS_ID,
"name": "tenantX", "name": "tenantX",
"description": "I changed you!", "description": "I changed you!",
"enabled": False, "enabled": False,
@@ -265,13 +278,13 @@ class TenantTests(utils.TestCase):
@httpretty.activate @httpretty.activate
def test_tenant_remove_user(self): def test_tenant_remove_user(self):
self.stub_url(httpretty.DELETE, ['tenants', '4', 'users', 'foo', self.stub_url(httpretty.DELETE, ['tenants', self.EXTRAS_ID, 'users',
'roles', 'OS-KSADM', 'barrr'], 'foo', 'roles', 'OS-KSADM', 'barrr'],
status=204) status=204)
req_body = { req_body = {
"tenant": { "tenant": {
"id": 4, "id": self.EXTRAS_ID,
"name": "tenantX", "name": "tenantX",
"description": "I changed you!", "description": "I changed you!",
"enabled": False, "enabled": False,

View File

@@ -10,6 +10,8 @@
# License for the specific language governing permissions and limitations # License for the specific language governing permissions and limitations
# under the License. # under the License.
import uuid
import httpretty import httpretty
from keystoneclient.tests.v2_0 import utils from keystoneclient.tests.v2_0 import utils
@@ -18,5 +20,6 @@ from keystoneclient.tests.v2_0 import utils
class TokenTests(utils.TestCase): class TokenTests(utils.TestCase):
@httpretty.activate @httpretty.activate
def test_delete(self): def test_delete(self):
self.stub_url(httpretty.DELETE, ['tokens', '1'], status=204) id_ = uuid.uuid4().hex
self.client.tokens.delete(1) self.stub_url(httpretty.DELETE, ['tokens', id_], status=204)
self.client.tokens.delete(id_)

View File

@@ -10,6 +10,8 @@
# License for the specific language governing permissions and limitations # License for the specific language governing permissions and limitations
# under the License. # under the License.
import uuid
import httpretty import httpretty
from keystoneclient.tests.v2_0 import utils from keystoneclient.tests.v2_0 import utils
@@ -19,19 +21,21 @@ from keystoneclient.v2_0 import users
class UserTests(utils.TestCase): class UserTests(utils.TestCase):
def setUp(self): def setUp(self):
super(UserTests, self).setUp() super(UserTests, self).setUp()
self.ADMIN_USER_ID = uuid.uuid4().hex
self.DEMO_USER_ID = uuid.uuid4().hex
self.TEST_USERS = { self.TEST_USERS = {
"users": { "users": {
"values": [ "values": [
{ {
"email": "None", "email": "None",
"enabled": True, "enabled": True,
"id": 1, "id": self.ADMIN_USER_ID,
"name": "admin", "name": "admin",
}, },
{ {
"email": "None", "email": "None",
"enabled": True, "enabled": True,
"id": 2, "id": self.DEMO_USER_ID,
"name": "demo", "name": "demo",
}, },
] ]
@@ -40,11 +44,13 @@ class UserTests(utils.TestCase):
@httpretty.activate @httpretty.activate
def test_create(self): def test_create(self):
tenant_id = uuid.uuid4().hex
user_id = uuid.uuid4().hex
req_body = { req_body = {
"user": { "user": {
"name": "gabriel", "name": "gabriel",
"password": "test", "password": "test",
"tenantId": 2, "tenantId": tenant_id,
"email": "test@example.com", "email": "test@example.com",
"enabled": True, "enabled": True,
} }
@@ -54,8 +60,8 @@ class UserTests(utils.TestCase):
"user": { "user": {
"name": "gabriel", "name": "gabriel",
"enabled": True, "enabled": True,
"tenantId": 2, "tenantId": tenant_id,
"id": 3, "id": user_id,
"password": "test", "password": "test",
"email": "test@example.com", "email": "test@example.com",
} }
@@ -69,29 +75,31 @@ class UserTests(utils.TestCase):
tenant_id=req_body['user']['tenantId'], tenant_id=req_body['user']['tenantId'],
enabled=req_body['user']['enabled']) enabled=req_body['user']['enabled'])
self.assertIsInstance(user, users.User) self.assertIsInstance(user, users.User)
self.assertEqual(user.id, 3) self.assertEqual(user.id, user_id)
self.assertEqual(user.name, "gabriel") self.assertEqual(user.name, "gabriel")
self.assertEqual(user.email, "test@example.com") self.assertEqual(user.email, "test@example.com")
self.assertRequestBodyIs(json=req_body) self.assertRequestBodyIs(json=req_body)
@httpretty.activate @httpretty.activate
def test_create_user_without_email(self): def test_create_user_without_email(self):
tenant_id = uuid.uuid4().hex
req_body = { req_body = {
"user": { "user": {
"name": "gabriel", "name": "gabriel",
"password": "test", "password": "test",
"tenantId": 2, "tenantId": tenant_id,
"enabled": True, "enabled": True,
"email": None, "email": None,
} }
} }
user_id = uuid.uuid4().hex
resp_body = { resp_body = {
"user": { "user": {
"name": "gabriel", "name": "gabriel",
"enabled": True, "enabled": True,
"tenantId": 2, "tenantId": tenant_id,
"id": 3, "id": user_id,
"password": "test", "password": "test",
} }
} }
@@ -104,23 +112,24 @@ class UserTests(utils.TestCase):
tenant_id=req_body['user']['tenantId'], tenant_id=req_body['user']['tenantId'],
enabled=req_body['user']['enabled']) enabled=req_body['user']['enabled'])
self.assertIsInstance(user, users.User) self.assertIsInstance(user, users.User)
self.assertEqual(user.id, 3) self.assertEqual(user.id, user_id)
self.assertEqual(user.name, "gabriel") self.assertEqual(user.name, "gabriel")
self.assertRequestBodyIs(json=req_body) self.assertRequestBodyIs(json=req_body)
@httpretty.activate @httpretty.activate
def test_delete(self): def test_delete(self):
self.stub_url(httpretty.DELETE, ['users', '1'], status=204) self.stub_url(httpretty.DELETE, ['users', self.ADMIN_USER_ID],
self.client.users.delete(1) status=204)
self.client.users.delete(self.ADMIN_USER_ID)
@httpretty.activate @httpretty.activate
def test_get(self): def test_get(self):
self.stub_url(httpretty.GET, ['users', '1'], self.stub_url(httpretty.GET, ['users', self.ADMIN_USER_ID],
json={'user': self.TEST_USERS['users']['values'][0]}) json={'user': self.TEST_USERS['users']['values'][0]})
u = self.client.users.get(1) u = self.client.users.get(self.ADMIN_USER_ID)
self.assertIsInstance(u, users.User) self.assertIsInstance(u, users.User)
self.assertEqual(u.id, 1) self.assertEqual(u.id, self.ADMIN_USER_ID)
self.assertEqual(u.name, 'admin') self.assertEqual(u.name, 'admin')
@httpretty.activate @httpretty.activate
@@ -162,47 +171,51 @@ class UserTests(utils.TestCase):
def test_update(self): def test_update(self):
req_1 = { req_1 = {
"user": { "user": {
"id": 2, "id": self.DEMO_USER_ID,
"email": "gabriel@example.com", "email": "gabriel@example.com",
"name": "gabriel", "name": "gabriel",
} }
} }
req_2 = { req_2 = {
"user": { "user": {
"id": 2, "id": self.DEMO_USER_ID,
"password": "swordfish", "password": "swordfish",
} }
} }
tenant_id = uuid.uuid4().hex
req_3 = { req_3 = {
"user": { "user": {
"id": 2, "id": self.DEMO_USER_ID,
"tenantId": 1, "tenantId": tenant_id,
} }
} }
req_4 = { req_4 = {
"user": { "user": {
"id": 2, "id": self.DEMO_USER_ID,
"enabled": False, "enabled": False,
} }
} }
self.stub_url(httpretty.PUT, ['users', '2'], json=req_1) self.stub_url(httpretty.PUT, ['users', self.DEMO_USER_ID], json=req_1)
self.stub_url(httpretty.PUT, ['users', '2', 'OS-KSADM', 'password'], self.stub_url(httpretty.PUT,
['users', self.DEMO_USER_ID, 'OS-KSADM', 'password'],
json=req_2) json=req_2)
self.stub_url(httpretty.PUT, ['users', '2', 'OS-KSADM', 'tenant'], self.stub_url(httpretty.PUT,
['users', self.DEMO_USER_ID, 'OS-KSADM', 'tenant'],
json=req_3) json=req_3)
self.stub_url(httpretty.PUT, ['users', '2', 'OS-KSADM', 'enabled'], self.stub_url(httpretty.PUT,
['users', self.DEMO_USER_ID, 'OS-KSADM', 'enabled'],
json=req_4) json=req_4)
self.client.users.update(2, self.client.users.update(self.DEMO_USER_ID,
name='gabriel', name='gabriel',
email='gabriel@example.com') email='gabriel@example.com')
self.assertRequestBodyIs(json=req_1) self.assertRequestBodyIs(json=req_1)
self.client.users.update_password(2, 'swordfish') self.client.users.update_password(self.DEMO_USER_ID, 'swordfish')
self.assertRequestBodyIs(json=req_2) self.assertRequestBodyIs(json=req_2)
self.client.users.update_tenant(2, 1) self.client.users.update_tenant(self.DEMO_USER_ID, tenant_id)
self.assertRequestBodyIs(json=req_3) self.assertRequestBodyIs(json=req_3)
self.client.users.update_enabled(2, False) self.client.users.update_enabled(self.DEMO_USER_ID, False)
self.assertRequestBodyIs(json=req_4) self.assertRequestBodyIs(json=req_4)
@httpretty.activate @httpretty.activate
@@ -215,9 +228,10 @@ class UserTests(utils.TestCase):
resp_body = { resp_body = {
'access': {} 'access': {}
} }
self.stub_url(httpretty.PATCH, ['OS-KSCRUD', 'users', '123'], user_id = uuid.uuid4().hex
self.stub_url(httpretty.PATCH, ['OS-KSCRUD', 'users', user_id],
json=resp_body) json=resp_body)
self.client.user_id = '123' self.client.user_id = user_id
self.client.users.update_own_password('DCBA', 'ABCD') self.client.users.update_own_password('DCBA', 'ABCD')
self.assertRequestBodyIs(json=req_body) self.assertRequestBodyIs(json=req_body)

View File

@@ -96,14 +96,8 @@ def print_dict(d, wrap=0):
def find_resource(manager, name_or_id): def find_resource(manager, name_or_id):
"""Helper for the _find_* methods.""" """Helper for the _find_* methods."""
# first try to get entity as integer id
try:
if isinstance(name_or_id, int) or name_or_id.isdigit():
return manager.get(int(name_or_id))
except exceptions.NotFound:
pass
# now try the entity as a string # first try the entity as a string
try: try:
return manager.get(name_or_id) return manager.get(name_or_id)
except (exceptions.NotFound): except (exceptions.NotFound):