diff --git a/test/data/demo_auth.json b/test/data/demo_auth.json new file mode 100644 index 00000000..a6c361c2 --- /dev/null +++ b/test/data/demo_auth.json @@ -0,0 +1,54 @@ +[ + { + "name": "create user which does not exist", + "request": { + "url": "http://127.0.0.1:5000/api/users/1000", + "method": "POST", + "headers": { + "content-type": "application/json", + "authorization": "a83de0ff8d2e896dbd8efb81ba14e17d", + "random": "A2dEx" + }, + "json": { + "name": "user1", + "password": "123456" + } + }, + "response": { + "status_code": 201, + "headers": { + "Content-Type": "application/json" + }, + "body": { + "success": true, + "msg": "user created successfully." + } + } + }, + { + "name": "create user which existed", + "request": { + "url": "http://127.0.0.1:5000/api/users/1000", + "method": "POST", + "headers": { + "content-type": "application/json", + "authorization": "a83de0ff8d2e896dbd8efb81ba14e17d", + "random": "A2dEx" + }, + "json": { + "name": "user1", + "password": "123456" + } + }, + "response": { + "status_code": 500, + "headers": { + "Content-Type": "application/json" + }, + "body":{ + "success": false, + "msg": "user already existed." + } + } + } +] \ No newline at end of file diff --git a/test/data/demo_auth.yml b/test/data/demo_auth.yml new file mode 100644 index 00000000..2d9c1d1e --- /dev/null +++ b/test/data/demo_auth.yml @@ -0,0 +1,39 @@ +- + name: create user which does not exist + request: + url: http://127.0.0.1:5000/api/users/1000 + method: POST + headers: + Content-Type: application/json + authorization: a83de0ff8d2e896dbd8efb81ba14e17d + random: A2dEx + json: + name: "user1" + password: "123456" + response: + status_code: 201 + headers: + Content-Type: application/json + body: + success: true + msg: user created successfully. + +- + name: create user which existed + request: + url: http://127.0.0.1:5000/api/users/1000 + method: POST + headers: + Content-Type: application/json + authorization: a83de0ff8d2e896dbd8efb81ba14e17d + random: A2dEx + json: + name: "user1" + password: "123456" + response: + status_code: 500 + headers: + Content-Type: application/json + body: + success: false + msg: user already existed. \ No newline at end of file diff --git a/test/test_runner_v2.py b/test/test_runner_v2.py new file mode 100644 index 00000000..269ab41a --- /dev/null +++ b/test/test_runner_v2.py @@ -0,0 +1,43 @@ +import os +import random +import requests +from ate import runner, exception, utils +from .base import ApiServerUnittest + +class TestRunnerV2(ApiServerUnittest): + + authentication = True + + def setUp(self): + self.test_runner = runner.TestRunner() + self.clear_users() + + def clear_users(self): + url = "http://127.0.0.1:5000/api/users" + return requests.delete(url, headers=self.prepare_headers()) + + def test_run_single_testcase_yaml(self): + testcase_file_path = os.path.join(os.getcwd(), 'test/data/demo_auth.yml') + testcases = utils.load_testcases(testcase_file_path) + success, _ = self.test_runner.run_single_testcase(testcases[0]) + self.assertTrue(success) + + def test_run_single_testcase_json(self): + testcase_file_path = os.path.join(os.getcwd(), 'test/data/demo_auth.json') + testcases = utils.load_testcases(testcase_file_path) + success, _ = self.test_runner.run_single_testcase(testcases[0]) + self.assertTrue(success) + + def test_run_testcase_auth_suite_yaml(self): + testcase_file_path = os.path.join(os.getcwd(), 'test/data/demo_auth.yml') + testcases = utils.load_testcases(testcase_file_path) + result = self.test_runner.run_testcase_suite(testcases) + self.assertEqual(len(result), 2) + self.assertEqual(result, [(True, {}), (True, {})]) + + def test_run_testcase_auth_suite_json(self): + testcase_file_path = os.path.join(os.getcwd(), 'test/data/demo_auth.json') + testcases = utils.load_testcases(testcase_file_path) + result = self.test_runner.run_testcase_suite(testcases) + self.assertEqual(len(result), 2) + self.assertEqual(result, [(True, {}), (True, {})])