From fc7ded4046efca16993539a0fd44ffa730066ba1 Mon Sep 17 00:00:00 2001 From: debugtalk Date: Wed, 21 Jun 2017 18:43:15 +0800 Subject: [PATCH] TestRunner: run testcase suite --- ate/runner.py | 6 ++++++ test/data/demo.json | 8 ++++++++ test/test_runner.py | 37 +++++++++++-------------------------- 3 files changed, 25 insertions(+), 26 deletions(-) diff --git a/ate/runner.py b/ate/runner.py index 8895072f..e28c4bf8 100644 --- a/ate/runner.py +++ b/ate/runner.py @@ -19,3 +19,9 @@ class TestRunner(object): diff_content = utils.diff_response(resp_obj, testcase['response']) success = False if diff_content else True return success, diff_content + + def run_testcase_suite(self, testcase_sets): + return [ + self.run_single_testcase(testcase) + for testcase in testcase_sets + ] diff --git a/test/data/demo.json b/test/data/demo.json index f011c9ed..1df96f26 100644 --- a/test/data/demo.json +++ b/test/data/demo.json @@ -17,6 +17,10 @@ "status_code": 201, "headers": { "Content-Type": "application/json" + }, + "body": { + "success": true, + "msg": "user created successfully." } } }, @@ -37,6 +41,10 @@ "status_code": 500, "headers": { "Content-Type": "application/json" + }, + "body":{ + "success": false, + "msg": "user already existed." } } } diff --git a/test/test_runner.py b/test/test_runner.py index aed8973d..54437087 100644 --- a/test/test_runner.py +++ b/test/test_runner.py @@ -1,7 +1,7 @@ import os import random import requests -from ate import runner, exception +from ate import runner, exception, utils from .base import ApiServerUnittest class TestUtils(ApiServerUnittest): @@ -15,31 +15,9 @@ class TestUtils(ApiServerUnittest): return requests.delete(url) def test_run_single_testcase_success(self): - testcase = { - "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" - }, - "json": { - "name": "user1", - "password": "123456" - } - }, - "response": { - "status_code": 201, - "headers": { - "Content-Type": "application/json" - }, - "body": { - 'success': True, - 'msg': 'user created successfully.' - } - } - } - success, _ = self.test_runner.run_single_testcase(testcase) + testcase_file_path = os.path.join(os.getcwd(), 'test/data/demo.json') + testcases = utils.load_testcases(testcase_file_path) + success, _ = self.test_runner.run_single_testcase(testcases[0]) self.assertTrue(success) def test_run_single_testcase_fail(self): @@ -90,3 +68,10 @@ class TestUtils(ApiServerUnittest): } } ) + + def test_run_testcase_suite_success(self): + testcase_file_path = os.path.join(os.getcwd(), 'test/data/demo.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, {})])