tier = tier_handler.Tier(
name=dic_tier['name'], order=dic_tier['order'],
description=dic_tier['description'])
-
for dic_testcase in dic_tier['testcases']:
testcase = tier_handler.TestCase(
name=dic_testcase['case_name'],
enabled=dic_testcase.get('enabled', True),
+ skipped=False,
criteria=dic_testcase['criteria'],
blocking=dic_testcase['blocking'],
description=dic_testcase['description'],
if testcase.is_enabled():
tier.add_test(testcase)
else:
+ testcase.skipped = True
tier.skip_test(testcase)
else:
for dependency in dic_testcase['dependencies']:
kenv = dependency.keys()[0]
if not re.search(dependency[kenv], env.get(kenv)):
+ testcase.skipped = True
tier.skip_test(testcase)
break
else:
if testcase.is_enabled():
tier.add_test(testcase)
else:
+ testcase.skipped = True
tier.skip_test(testcase)
self.tier_objects.append(tier)
def test_run_tests_import_exception(self, *args):
mock_test = mock.Mock()
kwargs = {'get_name.return_value': 'test_name',
+ 'is_skipped.return_value': False,
+ 'is_enabled.return_value': True,
'needs_clean.return_value': False}
mock_test.configure_mock(**kwargs)
with self.assertRaises(Exception) as context:
def test_run_tests_default(self, *args):
mock_test = mock.Mock()
kwargs = {'get_name.return_value': 'test_name',
+ 'is_skipped.return_value': False,
+ 'is_enabled.return_value': True,
'needs_clean.return_value': True}
mock_test.configure_mock(**kwargs)
test_run_dict = {'module': 'test_module',
return_value=test_run_dict):
self.runner.clean_flag = True
self.runner.run_test(mock_test)
-
args[0].assert_called_with('test_name')
args[1].assert_called_with('test_module')
self.assertEqual(self.runner.overall_result,
run_tests.Result.EX_OK)
+ @mock.patch('xtesting.ci.run_tests.Runner.get_dict_by_test')
+ def test_run_tests_disabled(self, *args):
+ mock_test = mock.Mock()
+ kwargs = {'get_name.return_value': 'test_name',
+ 'is_skipped.return_value': False,
+ 'is_enabled.return_value': False,
+ 'needs_clean.return_value': True}
+ mock_test.configure_mock(**kwargs)
+ test_run_dict = {'module': 'test_module',
+ 'class': 'test_class'}
+ with mock.patch('xtesting.ci.run_tests.Runner.get_run_dict',
+ return_value=test_run_dict):
+ self.runner.clean_flag = True
+ self.runner.run_test(mock_test)
+ args[0].assert_not_called()
+ self.assertEqual(self.runner.overall_result,
+ run_tests.Result.EX_OK)
+
+ @mock.patch('xtesting.ci.run_tests.Runner.get_dict_by_test')
+ def test_run_tests_skipped(self, *args):
+ mock_test = mock.Mock()
+ kwargs = {'get_name.return_value': 'test_name',
+ 'is_skipped.return_value': True,
+ 'is_enabled.return_value': True,
+ 'needs_clean.return_value': True}
+ mock_test.configure_mock(**kwargs)
+ test_run_dict = {'module': 'test_module',
+ 'class': 'test_class'}
+ with mock.patch('xtesting.ci.run_tests.Runner.get_run_dict',
+ return_value=test_run_dict):
+ self.runner.clean_flag = True
+ self.runner.run_test(mock_test)
+ args[0].assert_not_called()
+ self.assertEqual(self.runner.overall_result,
+ run_tests.Result.EX_OK)
+
@mock.patch('xtesting.ci.run_tests.Runner.run_test',
return_value=TestCase.EX_OK)
def test_run_tier_default(self, *mock_methods):