Merge "Add source field to Meter model"

This commit is contained in:
Jenkins 2013-09-25 10:11:51 +00:00 committed by Gerrit Code Review
commit cff60fbb5a
2 changed files with 70 additions and 9 deletions

View File

@ -450,7 +450,7 @@ class Sample(_Base):
"""
source = wtypes.text
"An identity source ID"
"The ID of the source that identifies where the sample comes from"
counter_name = wtypes.text
"The name of the meter"
@ -774,6 +774,9 @@ class Meter(_Base):
user_id = wtypes.text
"The ID of the user who last triggered an update to the resource"
source = wtypes.text
"The ID of the source that identifies where the meter comes from"
meter_id = wtypes.text
"The unique identifier for the meter"
@ -791,6 +794,7 @@ class Meter(_Base):
resource_id='bd9431c1-8d69-4ad3-803a-8d4a6b89fd36',
project_id='35b17138-b364-4e6a-a131-8f3099c5be68',
user_id='efd87807-12d2-4b38-9c70-5f5c2ac427ff',
source='openstack',
)

View File

@ -131,7 +131,7 @@ class TestListMeters(FunctionalTest,
'size': 0,
'util': 0.58,
'is_public': True},
source='test_source')]:
source='test_source1')]:
msg = rpc.meter_message_from_counter(
cnt,
cfg.CONF.publisher_rpc.metering_secret)
@ -147,6 +147,8 @@ class TestListMeters(FunctionalTest,
'resource-id4']))
self.assertEqual(set(r['name'] for r in data),
set(['meter.test', 'meter.mine']))
self.assertEqual(set(r['source'] for r in data),
set(['test_source', 'test_source1']))
def test_list_meters_with_dict_metadata(self):
data = self.get_json('/meters/meter.mine',
@ -288,8 +290,24 @@ class TestListMeters(FunctionalTest,
data = self.get_json('/meters', q=[{'field': 'resource_id',
'value': 'resource-id',
}])
ids = set(r['name'] for r in data)
self.assertEqual(set(['meter.test']), ids)
nids = set(r['name'] for r in data)
self.assertEqual(set(['meter.test']), nids)
sids = set(r['source'] for r in data)
self.assertEqual(set(['test_source']), sids)
def test_with_resource_and_source(self):
data = self.get_json('/meters', q=[{'field': 'resource_id',
'value': 'resource-id4',
},
{'field': 'source',
'value': 'test_source1',
}])
nids = set(r['name'] for r in data)
self.assertEqual(set(['meter.mine']), nids)
sids = set(r['source'] for r in data)
self.assertEqual(set(['test_source1']), sids)
def test_with_resource_and_metadata_query(self):
data = self.get_json('/meters/meter.mine',
@ -311,11 +329,13 @@ class TestListMeters(FunctionalTest,
data = self.get_json('/meters', q=[{'field': 'source',
'value': 'test_source',
}])
ids = set(r['resource_id'] for r in data)
rids = set(r['resource_id'] for r in data)
self.assertEqual(set(['resource-id',
'resource-id2',
'resource-id3',
'resource-id4']), ids)
'resource-id3']), rids)
sids = set(r['source'] for r in data)
self.assertEqual(set(['test_source']), sids)
def test_with_source_and_metadata_query(self):
data = self.get_json('/meters/meter.mine',
@ -356,6 +376,25 @@ class TestListMeters(FunctionalTest,
rids = set(r['resource_id'] for r in data)
self.assertEqual(set(['resource-id', 'resource-id2']), rids)
sids = set(r['source'] for r in data)
self.assertEqual(set(['test_source']), sids)
def test_with_user_and_source(self):
data = self.get_json('/meters',
q=[{'field': 'user_id',
'value': 'user-id4',
},
{'field': 'source',
'value': 'test_source1',
}],
)
uids = set(r['user_id'] for r in data)
self.assertEqual(set(['user-id4']), uids)
sids = set(r['source'] for r in data)
self.assertEqual(set(['test_source1']), sids)
def test_with_user_and_metadata_query(self):
data = self.get_json('/meters/meter.test',
q=[{'field': 'user_id',
@ -385,8 +424,26 @@ class TestListMeters(FunctionalTest,
'value': 'project-id2',
}],
)
ids = set(r['resource_id'] for r in data)
self.assertEqual(set(['resource-id3', 'resource-id4']), ids)
rids = set(r['resource_id'] for r in data)
self.assertEqual(set(['resource-id3', 'resource-id4']), rids)
sids = set(r['source'] for r in data)
self.assertEqual(set(['test_source', 'test_source1']), sids)
def test_with_project_and_source(self):
data = self.get_json('/meters',
q=[{'field': 'project_id',
'value': 'project-id2',
},
{'field': 'source',
'value': 'test_source1',
}],
)
rids = set(r['resource_id'] for r in data)
self.assertEqual(set(['resource-id4']), rids)
sids = set(r['source'] for r in data)
self.assertEqual(set(['test_source1']), sids)
def test_with_project_and_metadata_query(self):
data = self.get_json('/meters/meter.test',