Esempio n. 1
0
    def test_load_testcases_by_path_folder(self):
        # absolute folder path
        path = os.path.join(os.getcwd(), 'tests/data')
        testset_list_1 = testcase.load_testcases_by_path(path)
        self.assertGreater(len(testset_list_1), 4)

        # relative folder path
        path = 'tests/data/'
        testset_list_2 = testcase.load_testcases_by_path(path)
        self.assertEqual(len(testset_list_1), len(testset_list_2))

        # list/set container with file(s)
        path = [os.path.join(os.getcwd(), 'tests/data'), 'tests/data/']
        testset_list_3 = testcase.load_testcases_by_path(path)
        self.assertEqual(len(testset_list_3), 2 * len(testset_list_1))
Esempio n. 2
0
    def run(self, path, mapping=None):
        """ run specified testset path or folder path.
        @param
            path: path could be in several type
                - absolute/relative file path
                - absolute/relative folder path
                - list/set container with file(s) and/or folder(s)
            (dict) mapping:
                passed in variables mapping, it will override variable_binds in config block
        """
        success = True
        mapping = mapping or {}
        output = {}
        testsets = testcase.load_testcases_by_path(path)
        for testset in testsets:
            try:
                result = self._run_testset(testset, mapping)
                assert result["success"]
                output.update(result["output"])
            except AssertionError:
                success = False

        return {
            "success": success,
            "output": output
        }
Esempio n. 3
0
 def test_load_testcases_by_path_layered(self):
     path = os.path.join(os.getcwd(), 'tests/data/demo_testset_layer.yml')
     testsets_list = testcase.load_testcases_by_path(path)
     self.assertIn("variable_binds", testsets_list[0]["config"])
     self.assertIn("request", testsets_list[0]["config"])
     self.assertIn("request", testsets_list[0]["testcases"][0])
     self.assertIn("url", testsets_list[0]["testcases"][0]["request"])
     self.assertIn("validators", testsets_list[0]["testcases"][0])
Esempio n. 4
0
    def test_load_testcases_by_path_not_exist(self):
        # absolute folder path
        path = os.path.join(os.getcwd(), 'tests/data_not_exist')
        testset_list_1 = testcase.load_testcases_by_path(path)
        self.assertEqual(testset_list_1, [])

        # relative folder path
        path = 'tests/data_not_exist'
        testset_list_2 = testcase.load_testcases_by_path(path)
        self.assertEqual(testset_list_2, [])

        # list/set container with file(s)
        path = [
            os.path.join(os.getcwd(), 'tests/data_not_exist'),
            'tests/data_not_exist/'
        ]
        testset_list_3 = testcase.load_testcases_by_path(path)
        self.assertEqual(testset_list_3, [])
Esempio n. 5
0
    def __init__(self, testcase_path):
        super(TaskSuite, self).__init__()
        self.suite_list = []
        testsets = testcase.load_testcases_by_path(testcase_path)

        for testset in testsets:
            suite = ApiTestSuite(testset)
            self.addTest(suite)
            self.suite_list.append(suite)
Esempio n. 6
0
    def __init__(self, testcase_path):
        super(TaskSuite, self).__init__()
        self.suite_list = []
        testsets = testcase.load_testcases_by_path(testcase_path)
        if not testsets:
            raise exception.TestcaseNotFound

        for testset in testsets:
            suite = ApiTestSuite(testset)
            self.addTest(suite)
            self.suite_list.append(suite)
Esempio n. 7
0
    def test_load_testcases_by_path_files(self):
        testsets_list = []

        # absolute file path
        path = os.path.join(os.getcwd(),
                            'tests/data/demo_testset_hardcode.json')
        testset_list = testcase.load_testcases_by_path(path)
        self.assertEqual(len(testset_list), 1)
        self.assertIn("path", testset_list[0]["config"])
        self.assertEqual(testset_list[0]["config"]["path"], path)
        self.assertEqual(len(testset_list[0]["testcases"]), 3)
        testsets_list.extend(testset_list)

        # relative file path
        path = 'tests/data/demo_testset_hardcode.yml'
        testset_list = testcase.load_testcases_by_path(path)
        self.assertEqual(len(testset_list), 1)
        self.assertIn("path", testset_list[0]["config"])
        self.assertIn(path, testset_list[0]["config"]["path"])
        self.assertEqual(len(testset_list[0]["testcases"]), 3)
        testsets_list.extend(testset_list)

        # list/set container with file(s)
        path = [
            os.path.join(os.getcwd(), 'tests/data/demo_testset_hardcode.json'),
            'tests/data/demo_testset_hardcode.yml'
        ]
        testset_list = testcase.load_testcases_by_path(path)
        self.assertEqual(len(testset_list), 2)
        self.assertEqual(len(testset_list[0]["testcases"]), 3)
        self.assertEqual(len(testset_list[1]["testcases"]), 3)
        testsets_list.extend(testset_list)
        self.assertEqual(len(testsets_list), 4)

        for testset in testsets_list:
            for test in testset["testcases"]:
                self.assertIn('name', test)
                self.assertIn('request', test)
                self.assertIn('url', test['request'])
                self.assertIn('method', test['request'])