def run_bundle_test(args, env_name, test_plan=None, env=None): """Run Bundletester and get the test results. :return: test result and test status. """ test_result = StringIO() args.output = test_result args.tests = test_plan.get('tests') if test_plan else None args.environment = env_name args.reporter = 'json' args.testdir = test_plan.get('bundle') if test_plan else args.testdir try: status = tester.main(args) except Exception: tb = traceback.format_exc() error = "Exception ({}):\n{}".format(env_name, tb) logging.error(error) return_code = 1 failure = 'Exception' if env: started = is_machine_agent_started(env.status(), args.juju_major_version) if started is False: return_code = PROVISIONING_ERROR_CODE failure = 'Provisioning Failure' test_result = generate_test_result(error, test=failure, returncode=return_code) return test_result, None return test_result.getvalue(), status
def run_bundle_test(args, env_name, test_plan=None, env=None): """Run Bundletester and get the test results. :return: test result and test status. """ test_result = StringIO() args.output = test_result args.tests = test_plan.get('tests') if test_plan else None args.environment = env_name args.reporter = 'json' args.testdir = test_plan.get('bundle') if test_plan else args.testdir try: status = tester.main(args) except Exception: tb = traceback.format_exc() error = "Exception ({}):\n{}".format(env_name, tb) logging.error(error) return_code = 1 failure = 'Exception' if env: started = is_machine_agent_started( env.status(), args.juju_major_version) if started is False: return_code = PROVISIONING_ERROR_CODE failure = 'Provisioning Failure' test_result = generate_test_result( error, test=failure, returncode=return_code) return test_result, None return test_result.getvalue(), status
def test_is_machine_agent_started_juju2_not_started(self): status = { 'EnvironmentName': 'default-joyent', 'Services': {}, 'Networks': {}, 'Machines': { '0': {'HasVote': True, 'Err': None, 'InstanceId': '1234', 'AgentStatus': {'Status': 'panding'}}, } } started = is_machine_agent_started(status, juju_major_version=2) self.assertEqual(started, False)
def test_is_machine_agent_started(self): status = { 'EnvironmentName': 'default-joyent', 'Services': {}, 'Networks': {}, 'Machines': { '0': {'HasVote': True, 'Err': None, 'InstanceId': '1234', 'AgentState': 'started', 'AgentStateInfo': '', 'Agent': {'Status': 'started'}} } } started = is_machine_agent_started(status, juju_major_version=1) self.assertEqual(started, True)