def test_no_multilevel_base_class(self): caveat_dir = os.path.join(BASEDIR, 'selftests', '.data', 'safeloader', 'caveat_multilevel') success = os.path.join(caveat_dir, 'success.py') failure = os.path.join(caveat_dir, 'failure.py') sys_path = sys.path + [caveat_dir] with unittest.mock.patch('sys.path', sys_path): self.assertEqual(find_avocado_tests(success)[0], {'Test': [('test', {}, [])]}) self.assertEqual(find_avocado_tests(failure)[0], {})
def test_no_multilevel_base_class(self): caveat_dir = os.path.join(BASEDIR, "selftests", ".data", "safeloader", "caveat_multilevel") success = os.path.join(caveat_dir, "success.py") failure = os.path.join(caveat_dir, "failure.py") sys_path = sys.path + [caveat_dir] with unittest.mock.patch("sys.path", sys_path): self.assertEqual( find_avocado_tests(success)[0], {"Test": [("test", {}, [])]}) self.assertEqual(find_avocado_tests(failure)[0], {})
def test_non_relative_level0_from_level2(self): path = os.path.join(self.tmpdir.name, 'l1', 'l2', 'l2lib3.py') sys_path = sys.path + [self.tmpdir.name] with unittest.mock.patch('sys.path', sys_path): self.assertEqual( find_avocado_tests(path)[0], {'BaseL2': [('test_l3', {}, []), ('test_l0', {}, [])]})
def test_non_relative_level0_from_level2(self): path = os.path.join(self.tmpdir.name, "l1", "l2", "l2lib3.py") sys_path = sys.path + [self.tmpdir.name] with unittest.mock.patch("sys.path", sys_path): self.assertEqual( find_avocado_tests(path)[0], {"BaseL2": [("test_l3", {}, []), ("test_l0", {}, [])]}, )
def test_import_not_on_parent(self): avocado_test = script.TemporaryScript('import_not_not_parent_test.py', IMPORT_NOT_NOT_PARENT_TEST) avocado_test.save() expected = ['test_something'] tests = find_avocado_tests(avocado_test.path)[0] methods = [method[0] for method in tests['SomeClass']] self.assertEqual(expected, methods) avocado_test.remove()
def test_methods_order(self): avocado_keep_methods_order = script.TemporaryScript( 'keepmethodsorder.py', KEEP_METHODS_ORDER) avocado_keep_methods_order.save() expected_order = ['test2', 'testA', 'test1', 'testZZZ', 'test'] tests = find_avocado_tests(avocado_keep_methods_order.path)[0] methods = [method[0] for method in tests['MyClass']] self.assertEqual(expected_order, methods) avocado_keep_methods_order.remove()
def test_methods_order(self): avocado_keep_methods_order = script.TemporaryScript( "keepmethodsorder.py", KEEP_METHODS_ORDER) avocado_keep_methods_order.save() expected_order = ["test2", "testA", "test1", "testZZZ", "test"] tests = find_avocado_tests(avocado_keep_methods_order.path)[0] methods = [method[0] for method in tests["MyClass"]] self.assertEqual(expected_order, methods) avocado_keep_methods_order.remove()
def test_recursive_discovery(self): avocado_recursive_discovery_test1 = script.TemporaryScript( 'recursive_discovery_test1.py', RECURSIVE_DISCOVERY_TEST1) avocado_recursive_discovery_test1.save() avocado_recursive_discovery_test2 = script.TemporaryScript( 'recursive_discovery_test2.py', RECURSIVE_DISCOVERY_TEST2) avocado_recursive_discovery_test2.save() sys.path.append(os.path.dirname( avocado_recursive_discovery_test1.path)) tests = find_avocado_tests(avocado_recursive_discovery_test2.path)[0] expected = { 'ThirdChild': [('test_third_child', {}, []), ('test_second_child', {}, []), ('test_first_child', {}, []), ('test_basic', {}, [])] } self.assertEqual(expected, tests)
def test_relative_level0_from_level2(self): path = os.path.join(self.tmpdir.name, 'l1', 'l2', 'l2lib2.py') self.assertEqual( find_avocado_tests(path)[0], {'BaseL2': [('test_l2', {}, []), ('test_l0', {}, [])]})
def test_base_level0(self): path = os.path.join(self.tmpdir.name, 'l0lib.py') self.assertEqual( find_avocado_tests(path)[0], {'BaseL0': [('test_l0', {}, [])]})
def test_relative_level0_from_level2(self): path = os.path.join(self.tmpdir.name, "l1", "l2", "l2lib2.py") self.assertEqual( find_avocado_tests(path)[0], {"BaseL2": [("test_l2", {}, []), ("test_l0", {}, [])]}, )
def test_base_level0(self): path = os.path.join(self.tmpdir.name, "l0lib.py") self.assertEqual( find_avocado_tests(path)[0], {"BaseL0": [("test_l0", {}, [])]})