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:
@@ -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_)
|
||||||
|
@@ -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')
|
||||||
|
|
||||||
|
@@ -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,
|
||||||
|
@@ -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_)
|
||||||
|
@@ -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)
|
||||||
|
@@ -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):
|
||||||
|
Reference in New Issue
Block a user