Keystone_user resource type added to OSWL reports
Keystone users report available by url: /api/v1/csv/keystone_user. Test for resource types structure added. Implements: blueprint openstack-workload-statistics Change-Id: I1d62d0e905c49af7dbd703fe6f0f514cb4280dbf
This commit is contained in:
parent
3e9f5e238f
commit
3aa70b4228
|
@ -172,5 +172,10 @@ OSWL_SKELETONS = {
|
|||
consts.OSWL_RESOURCE_TYPES.tenant: {
|
||||
'id': None,
|
||||
'enabled_flag': None,
|
||||
},
|
||||
consts.OSWL_RESOURCE_TYPES.keystone_user: {
|
||||
'id': None,
|
||||
'enabled_flag': None,
|
||||
'tenant_id': None
|
||||
}
|
||||
}
|
||||
|
|
|
@ -36,7 +36,8 @@ class OswlTest(BaseTest):
|
|||
consts.OSWL_RESOURCE_TYPES.flavor,
|
||||
consts.OSWL_RESOURCE_TYPES.volume,
|
||||
consts.OSWL_RESOURCE_TYPES.image,
|
||||
consts.OSWL_RESOURCE_TYPES.tenant
|
||||
consts.OSWL_RESOURCE_TYPES.tenant,
|
||||
consts.OSWL_RESOURCE_TYPES.keystone_user
|
||||
)
|
||||
|
||||
RESOURCE_GENERATORS = {
|
||||
|
@ -50,6 +51,8 @@ class OswlTest(BaseTest):
|
|||
'generate_modified_images'),
|
||||
consts.OSWL_RESOURCE_TYPES.tenant: ('generate_tenants',
|
||||
'generate_modified_tenants'),
|
||||
consts.OSWL_RESOURCE_TYPES.keystone_user: (
|
||||
'generate_keystone_users', 'generate_modified_keystone_users')
|
||||
}
|
||||
|
||||
def generate_removed_resources(self, num, gen_func):
|
||||
|
@ -219,6 +222,28 @@ class OswlTest(BaseTest):
|
|||
})
|
||||
return result
|
||||
|
||||
def generate_keystone_users(self, num, enabled_flag_values=(True, False)):
|
||||
result = []
|
||||
for i in range(num):
|
||||
result.append({
|
||||
'id': i,
|
||||
'enabled_flag': random.choice(enabled_flag_values),
|
||||
'tenant_id': six.text_type(uuid.uuid4())
|
||||
})
|
||||
return result
|
||||
|
||||
def generate_modified_keystone_users(self, num, modifs_num_range=(1, 3),
|
||||
enabled_flag_values=(True, False)):
|
||||
result = []
|
||||
for i in range(num):
|
||||
for _ in range(random.randint(*modifs_num_range)):
|
||||
result.append({
|
||||
'id': i,
|
||||
'time': datetime.utcnow().time().isoformat(),
|
||||
'enabled_flag': random.choice(enabled_flag_values)
|
||||
})
|
||||
return result
|
||||
|
||||
def generate_oswls(self, oswl_num, resource_type,
|
||||
current_num_range=(0, 7),
|
||||
created_date_range=(1, 10),
|
||||
|
|
|
@ -34,6 +34,7 @@ from fuel_analytics.api.resources.csv_exporter import get_oswls
|
|||
from fuel_analytics.api.resources.csv_exporter import get_oswls_query
|
||||
from fuel_analytics.api.resources.utils import export_utils
|
||||
from fuel_analytics.api.resources.utils.oswl_stats_to_csv import OswlStatsToCsv
|
||||
from fuel_analytics.api.resources.utils.skeleton import OSWL_SKELETONS
|
||||
|
||||
|
||||
class OswlStatsToCsvTest(OswlTest, DbTest):
|
||||
|
@ -440,3 +441,14 @@ class OswlStatsToCsvTest(OswlTest, DbTest):
|
|||
datetime(2015, 2, 24).date())
|
||||
# Not only column names in result
|
||||
self.assertEqual(1 + 2, len(list(result)))
|
||||
|
||||
def test_resource_data_structure(self):
|
||||
num = 20
|
||||
for resource_type in self.RESOURCE_TYPES:
|
||||
oswls = self.get_saved_oswls(num, resource_type)
|
||||
for oswl in oswls:
|
||||
for res_data in oswl.resource_data['current']:
|
||||
self.assertItemsEqual(
|
||||
six.iterkeys(OSWL_SKELETONS[resource_type]),
|
||||
six.iterkeys(res_data)
|
||||
)
|
||||
|
|
Loading…
Reference in New Issue