diff --git a/rest_api_tests/load_and_performance/MetaTests/TestMeta.conf b/rest_api_tests/load_and_performance/MetaTests/TestMeta.conf index d73ca6b..67e09f1 100644 --- a/rest_api_tests/load_and_performance/MetaTests/TestMeta.conf +++ b/rest_api_tests/load_and_performance/MetaTests/TestMeta.conf @@ -15,8 +15,8 @@ sleep_time_min = 0 sleep_time_max = 0 [bench] -cycles = 1:5:10:20:50:100:200 -duration = 100 +cycles = 5:10:25:50:75:100:125:150:175:200 +duration = 200 startup_delay = 0.01 sleep_time = 0.01 cycle_time = 1 diff --git a/rest_api_tests/load_and_performance/MetaTests/test-requirements.txt b/rest_api_tests/load_and_performance/MetaTests/test-requirements.txt new file mode 100644 index 0000000..767c228 --- /dev/null +++ b/rest_api_tests/load_and_performance/MetaTests/test-requirements.txt @@ -0,0 +1 @@ +funkload>=1.16.1 diff --git a/rest_api_tests/load_and_performance/MetaTests/test_rest.py b/rest_api_tests/load_and_performance/MetaTests/test_rest.py index 4e59b05..065a201 100644 --- a/rest_api_tests/load_and_performance/MetaTests/test_rest.py +++ b/rest_api_tests/load_and_performance/MetaTests/test_rest.py @@ -11,21 +11,21 @@ from keystoneclient.v2_0 import client as ksclient logging.basicConfig() LOG = logging.getLogger(' REST service tests') +config = ConfigParser.RawConfigParser() +config.read('config.ini') +user = config.get('keystone', 'user') +password = config.get('keystone', 'password') +tenant = config.get('keystone', 'tenant') +keystone_url = config.get('keystone', 'url') +keystone_client = ksclient.Client(username=user, password=password, + tenant_name=tenant, auth_url=keystone_url) +token = str(keystone_client.auth_token) class TestMeta(FunkLoadTestCase): def setUp(self): self.clearHeaders() self.url = self.conf_get('main', 'meta_url') - config = ConfigParser.RawConfigParser() - config.read('config.ini') - user = config.get('keystone', 'user') - password = config.get('keystone', 'password') - tenant = config.get('keystone', 'tenant') - keystone_url = config.get('keystone', 'url') - keystone_client = ksclient.Client(username=user, password=password, - tenant_name=tenant, auth_url=keystone_url) - token = str(keystone_client.auth_token) self.setHeader('X-Auth-Token', token) def generate_num(self): @@ -80,7 +80,23 @@ class TestMeta(FunkLoadTestCase): assert response.code == 200 def mix_for_load_testing(self): - return self.test_create_and_delete_dir() + k = random.randint(0,100) + if k < 12: + return self.test_get_ui_definitions() + elif k < 24: + return self.test_get_conductor_metadata() + elif k < 36: + return self.test_get_list_metadata_objects_workflows() + elif k < 48: + return self.test_get_list_metadata_objects_ui() + elif k < 60: + return self.test_get_list_metadata_objects_heat() + elif k < 72: + return self.test_get_list_metadata_objects_agent() + elif k < 84: + return self.test_get_list_metadata_objects_scripts() + elif k < 100: + return self.test_create_and_delete_dir() if __name__ == '__main__':