From ac5f81cacfced2d0c3d7a148c4ff607f06803f73 Mon Sep 17 00:00:00 2001 From: debugtalk Date: Sat, 1 Jul 2017 22:08:00 +0800 Subject: [PATCH] add test for get_parsed_request --- test/test_context.py | 32 +++++++++++++++++++++++++++++++- 1 file changed, 31 insertions(+), 1 deletion(-) diff --git a/test/test_context.py b/test/test_context.py index 94dbe46c..636d6bad 100644 --- a/test/test_context.py +++ b/test/test_context.py @@ -1,7 +1,7 @@ import os import unittest -from ate import utils +from ate import utils, runner from ate.context import Context @@ -158,3 +158,33 @@ class VariableBindsUnittest(unittest.TestCase): self.assertEqual(len(context_variables["authorization"]), 32) authorization = context_variables["authorization"] self.assertEqual(utils.gen_md5(TOKEN, data, random), authorization) + + def test_get_parsed_request(self): + test_runner = runner.TestRunner() + testcase = { + "import_module_functions": ["test.data.custom_functions"], + "variable_binds": [ + {"TOKEN": "debugtalk"}, + {"random": {"func": "gen_random_string", "args": [5]}}, + {"data": '{"name": "user", "password": "123456"}'}, + {"authorization": {"func": "gen_md5", "args": ["${TOKEN}", "${data}", "${random}"]}} + ], + "request": { + "url": "http://127.0.0.1:5000/api/users/1000", + "method": "POST", + "headers": { + "Content-Type": "application/json", + "authorization": "${authorization}", + "random": "${random}" + }, + "data": "${data}" + } + } + test_runner.init_context(testcase, level="testcase") + parsed_request = test_runner.context.get_parsed_request() + self.assertIn("authorization", parsed_request["headers"]) + self.assertEqual(len(parsed_request["headers"]["authorization"]), 32) + self.assertIn("random", parsed_request["headers"]) + self.assertEqual(len(parsed_request["headers"]["random"]), 5) + self.assertIn("data", parsed_request) + self.assertEqual(parsed_request["data"], testcase["variable_binds"][2]["data"])