set_os_environ before parsing testcase, unset_os_environ after parsing testcase

This commit is contained in:
debugtalk
2018-11-14 22:11:14 +08:00
parent 1578b78f54
commit badb473520
5 changed files with 16 additions and 4 deletions

View File

@@ -179,7 +179,6 @@ def load_dot_env_file(dot_env_path):
env_variables_mapping[variable.strip()] = value.strip()
utils.set_os_environ(env_variables_mapping)
return env_variables_mapping

View File

@@ -618,6 +618,10 @@ def parse_tests(testcases, variables_mapping=None):
}
)
env_mapping = project_mapping["env"]
# set OS environment variables
utils.set_os_environ(env_mapping)
# parse config parameters
config_parameters = testcase_config.pop("parameters", [])
cartesian_product_parameters_list = parse_parameters(
@@ -673,4 +677,7 @@ def parse_tests(testcases, variables_mapping=None):
testcase_dict["config"]["functions"] = project_mapping["debugtalk"]["functions"]
parsed_testcases_list.append(testcase_dict)
# unset OS environment variables
utils.unset_os_environ(env_mapping)
return parsed_testcases_list

View File

@@ -26,7 +26,15 @@ def set_os_environ(variables_mapping):
"""
for variable in variables_mapping:
os.environ[variable] = variables_mapping[variable]
logger.log_debug("Loaded variable: {}".format(variable))
logger.log_debug("Set OS environment variable: {}".format(variable))
def unset_os_environ(variables_mapping):
""" set variables mapping to os.environ
"""
for variable in variables_mapping:
os.environ.pop(variable)
logger.log_debug("Unset OS environment variable: {}".format(variable))
def query_json(json_content, query, delimiter='.'):

View File

@@ -7,7 +7,6 @@ import time
from tests.api_server import HTTPBIN_SERVER, SECRET_KEY, gen_md5, get_sign
BASE_URL = "http://127.0.0.1:5000"
UserName = os.environ['UserName']
demo_default_request = {

View File

@@ -565,7 +565,6 @@ class TestSuiteLoader(unittest.TestCase):
path = os.path.join(
os.getcwd(), 'tests/data/demo_locust.yml')
locust_tests = loader.load_locust_tests(path)
self.assertEqual(locust_tests["config"]["variables"]["UserName"], "debugtalk")
self.assertEqual(len(locust_tests["tests"]), 10)
self.assertEqual(locust_tests["tests"][0][0]["name"], "index")
self.assertEqual(locust_tests["tests"][9][0]["name"], "user-agent")