From: Pablo Montes Moreno Date: Mon, 27 Mar 2017 10:56:13 +0000 (+0200) Subject: Added test for checking deployed scenarios X-Git-Tag: v2.0.0~23^2~7 X-Git-Url: https://osm.etsi.org/gitweb/?a=commitdiff_plain;h=refs%2Fchanges%2F76%2F1376%2F1;p=osm%2FRO.git Added test for checking deployed scenarios Change-Id: I27b73720f92542a8aacdd72d7e4cdb17baea65ad Signed-off-by: Pablo Montes Moreno --- diff --git a/test/test_RO.py b/test/test_RO.py index d6667556..3da3c314 100755 --- a/test/test_RO.py +++ b/test/test_RO.py @@ -50,6 +50,22 @@ global scenario_test_folder global test_image_name global management_network +def check_instance_scenario_active(uuid): + instance = client.get_instance(uuid=uuid) + + for net in instance['nets']: + status = net['status'] + if status != 'ACTIVE': + return (False, status) + + for vnf in instance['vnfs']: + for vm in vnf['vms']: + status = vm['status'] + if status != 'ACTIVE': + return (False, status) + + return (True, None) + ''' IMPORTANT NOTE All unittest classes for code based tests must have prefix 'test_' in order to be taken into account for tests @@ -429,11 +445,37 @@ class descriptor_based_scenario_test(unittest.TestCase): self.__class__.test_index += 1 instance = client.create_instance(scenario_id=self.__class__.scenario_uuid, name=self.__class__.test_text) + self.__class__.instance_scenario_uuid = instance['uuid'] logger.debug(instance) self.__class__.to_delete_list.insert(0, {"item": "instance", "function": client.delete_instance, "params": {"uuid": instance['uuid']}}) - def test_020_clean_deployment(self): + def test_020_check_deployent(self): + self.__class__.test_text = "{}.{}. TEST {} {}".format(test_number, self.__class__.test_index, + inspect.currentframe().f_code.co_name, + scenario_test_folder) + self.__class__.test_index += 1 + + keep_waiting = 50 + instance_active = False + while(keep_waiting): + result = check_instance_scenario_active(self.__class__.instance_scenario_uuid) + if result[0]: + break + elif 'ERROR' in result[1]: + msg = 'Got error while waiting for the instance to get active: '+result[1] + logging.error(msg) + raise Exception(msg) + + keep_waiting -= 1 + time.sleep(5) + + if keep_waiting == 0: + msg = 'Timeout reached while waiting instance scenario to get active' + logging.error(msg) + raise Exception(msg) + + def test_030_clean_deployment(self): self.__class__.test_text = "{}.{}. TEST {} {}".format(test_number, self.__class__.test_index, inspect.currentframe().f_code.co_name, scenario_test_folder)