Merge "Add project_id and user_id to db query filter"

This commit is contained in:
Jenkins 2015-01-27 04:57:17 +00:00 committed by Gerrit Code Review
commit 5f26f671cd
5 changed files with 80 additions and 14 deletions

View File

@ -123,6 +123,10 @@ class Connection(api.Connection):
query = query.filter_by(master_address=filters['master_address'])
if 'minions_address' in filters:
query = query.filter_by(minions_address=filters['minions_address'])
if 'project_id' in filters:
query = query.filter_by(project_id=filters['project_id'])
if 'user_id' in filters:
query = query.filter_by(user_id=filters['user_id'])
return query
@ -247,6 +251,10 @@ class Connection(api.Connection):
external_network_id=filters['external_network_id'])
if 'dns_nameserver' in filters:
query = query.filter_by(dns_nameserver=filters['dns_nameserver'])
if 'project_id' in filters:
query = query.filter_by(project_id=filters['project_id'])
if 'user_id' in filters:
query = query.filter_by(user_id=filters['user_id'])
return query
@ -350,6 +358,10 @@ class Connection(api.Connection):
query = query.filter_by(name=filters['name'])
if 'image_id' in filters:
query = query.filter_by(image_id=filters['image_id'])
if 'project_id' in filters:
query = query.filter_by(project_id=filters['project_id'])
if 'user_id' in filters:
query = query.filter_by(user_id=filters['user_id'])
return query
@ -447,6 +459,10 @@ class Connection(api.Connection):
query = query.filter_by(type=filters['type'])
if 'image_id' in filters:
query = query.filter_by(image_id=filters['image_id'])
if 'project_id' in filters:
query = query.filter_by(project_id=filters['project_id'])
if 'user_id' in filters:
query = query.filter_by(user_id=filters['user_id'])
return query

View File

@ -77,19 +77,27 @@ class DbBayTestCase(base.DbTestCase):
self.assertEqual(uuids, dict((r[0], r[2]) for r in res))
def test_get_bayinfo_list_with_filters(self):
bm1 = utils.get_test_baymodel(id=1, uuid=magnum_utils.generate_uuid())
bm2 = utils.get_test_baymodel(id=2, uuid=magnum_utils.generate_uuid())
bm1 = utils.get_test_baymodel(id=1, uuid=magnum_utils.generate_uuid(),
project_id='fake-project1',
user_id='fake-user1')
bm2 = utils.get_test_baymodel(id=2, uuid=magnum_utils.generate_uuid(),
project_id='fake-project2',
user_id='fake-user2')
self.dbapi.create_baymodel(bm1)
self.dbapi.create_baymodel(bm2)
bay1 = utils.create_test_bay(name='bay-one',
uuid=magnum_utils.generate_uuid(),
baymodel_id=bm1['uuid'],
node_count=1)
node_count=1,
project_id='fake-project1',
user_id='fake-user1')
bay2 = utils.create_test_bay(name='bay-two',
uuid=magnum_utils.generate_uuid(),
baymodel_id=bm2['uuid'],
node_count=2)
node_count=2,
project_id='fake-project2',
user_id='fake-user2')
res = self.dbapi.get_bayinfo_list(filters={'baymodel_id': bm1['uuid']})
self.assertEqual([bay1.id], [r.id for r in res])
@ -106,9 +114,17 @@ class DbBayTestCase(base.DbTestCase):
res = self.dbapi.get_bayinfo_list(filters={'node_count': 1})
self.assertEqual([bay1.id], [r[0] for r in res])
res = self.dbapi.get_bayinfo_list(filters={
'project_id': 'fake-project1', 'user_id': 'fake-user1'})
self.assertEqual([bay1.id], [r[0] for r in res])
res = self.dbapi.get_bayinfo_list(filters={'node_count': 2})
self.assertEqual([bay2.id], [r[0] for r in res])
res = self.dbapi.get_bayinfo_list(filters={
'project_id': 'fake-project2', 'user_id': 'fake-user2'})
self.assertEqual([bay2.id], [r[0] for r in res])
def test_get_bay_list(self):
uuids = []
for i in range(1, 6):
@ -221,4 +237,4 @@ class DbBayTestCase(base.DbTestCase):
bay = utils.create_test_bay()
self.assertRaises(exception.InvalidParameterValue,
self.dbapi.update_bay, bay.id,
{'uuid': ''})
{'uuid': ''})

View File

@ -44,10 +44,12 @@ class DbBaymodelTestCase(base.DbTestCase):
def test_get_baymodel_list_with_filters(self):
bm1 = self._create_test_baymodel(id=1, name='bm-one',
uuid=magnum_utils.generate_uuid(),
image_id='image1')
image_id='image1', project_id='fake-project1',
user_id='fake-user1')
bm2 = self._create_test_baymodel(id=2, name='bm-two',
uuid=magnum_utils.generate_uuid(),
image_id='image2')
image_id='image2', project_id='fake-project2',
user_id='fake-user2')
res = self.dbapi.get_baymodel_list(filters={'name': 'bm-one'})
self.assertEqual([bm1['id']], [r.id for r in res])
@ -58,9 +60,17 @@ class DbBaymodelTestCase(base.DbTestCase):
res = self.dbapi.get_baymodel_list(filters={'image_id': 'image1'})
self.assertEqual([bm1['id']], [r.id for r in res])
res = self.dbapi.get_baymodel_list(filters={
'prject_id': 'fake-project1', 'user_id': 'fake-user1'})
self.assertEqual([bm1['id']], [r.id for r in res])
res = self.dbapi.get_baymodel_list(filters={'image_id': 'image2'})
self.assertEqual([bm2['id']], [r.id for r in res])
res = self.dbapi.get_baymodel_list(filters={
'prject_id': 'fake-project2', 'user_id': 'fake-user2'})
self.assertEqual([bm2['id']], [r.id for r in res])
def test_get_baymodelinfo_list_defaults(self):
bm_id_list = []
for i in range(1, 6):
@ -142,4 +152,4 @@ class DbBaymodelTestCase(base.DbTestCase):
self._create_test_baymodel(id=1, uuid=uuid)
self.assertRaises(exception.BayModelAlreadyExists,
self._create_test_baymodel,
id=2, uuid=uuid)
id=2, uuid=uuid)

View File

@ -77,16 +77,28 @@ class DbContainerTestCase(base.DbTestCase):
def test_get_containerinfo_list_with_filters(self):
container1 = utils.create_test_container(name='c1',
uuid=magnum_utils.generate_uuid())
uuid=magnum_utils.generate_uuid(),
project_id='fake-project1',
user_id='fake-user1')
container2 = utils.create_test_container(name='c2',
uuid=magnum_utils.generate_uuid())
uuid=magnum_utils.generate_uuid(),
project_id='fake-project2',
user_id='fake-user2')
res = self.dbapi.get_containerinfo_list(filters={'name': 'c1'})
self.assertEqual([container1.id], [r[0] for r in res])
res = self.dbapi.get_containerinfo_list(filters={
'project_id': 'fake-project1', 'user_id': 'fake-user1'})
self.assertEqual([container1.id], [r[0] for r in res])
res = self.dbapi.get_containerinfo_list(filters={'name': 'c2'})
self.assertEqual([container2.id], [r[0] for r in res])
res = self.dbapi.get_containerinfo_list(filters={
'project_id': 'fake-project2', 'user_id': 'fake-user2'})
self.assertEqual([container2.id], [r[0] for r in res])
res = self.dbapi.get_containerinfo_list(filters={'name': 'bad-name'})
self.assertEqual([], [r[0] for r in res])
@ -153,4 +165,4 @@ class DbContainerTestCase(base.DbTestCase):
container = utils.create_test_container()
self.assertRaises(exception.InvalidParameterValue,
self.dbapi.update_container, container.id,
{'uuid': ''})
{'uuid': ''})

View File

@ -85,9 +85,13 @@ class DbNodeTestCase(base.DbTestCase):
def test_get_nodeinfo_list_with_filters(self):
node1 = utils.create_test_node(type='virt',
ironic_node_id=magnum_utils.generate_uuid(),
uuid=magnum_utils.generate_uuid())
uuid=magnum_utils.generate_uuid(),
project_id='fake-project1',
user_id='fake-user1')
node2 = utils.create_test_node(type='bare',
uuid=magnum_utils.generate_uuid())
uuid=magnum_utils.generate_uuid(),
project_id='fake-project2',
user_id='fake-user2')
res = self.dbapi.get_nodeinfo_list(filters={'type': 'virt'})
self.assertEqual([node1.id], [r[0] for r in res])
@ -98,9 +102,17 @@ class DbNodeTestCase(base.DbTestCase):
res = self.dbapi.get_nodeinfo_list(filters={'associated': True})
self.assertEqual([node1.id], [r[0] for r in res])
res = self.dbapi.get_nodeinfo_list(filters={
'project_id': 'fake-project1', 'user_id': 'fake-user1'})
self.assertEqual([node1.id], [r[0] for r in res])
res = self.dbapi.get_nodeinfo_list(filters={'associated': False})
self.assertEqual([node2.id], [r[0] for r in res])
res = self.dbapi.get_nodeinfo_list(filters={
'project_id': 'fake-project2', 'user_id': 'fake-user2'})
self.assertEqual([node2.id], [r[0] for r in res])
def test_get_node_list(self):
uuids = []
for i in range(1, 6):
@ -191,4 +203,4 @@ class DbNodeTestCase(base.DbTestCase):
node2 = utils.create_test_node(uuid=magnum_utils.generate_uuid())
self.assertRaises(exception.InstanceAssociated,
self.dbapi.update_node, node2.id,
{'ironic_node_id': new_i_uuid})
{'ironic_node_id': new_i_uuid})