From 18d7b7ac45becf8a2d960b165618b42477c310cf Mon Sep 17 00:00:00 2001 From: debugtalk Date: Sun, 29 Jul 2018 22:44:11 +0800 Subject: [PATCH] relocate .env file loader --- httprunner/loader.py | 21 +++++++++++++++++++++ httprunner/task.py | 6 +++--- httprunner/utils.py | 19 ------------------- 3 files changed, 24 insertions(+), 22 deletions(-) diff --git a/httprunner/loader.py b/httprunner/loader.py index 03fc8ae1..4366a7de 100644 --- a/httprunner/loader.py +++ b/httprunner/loader.py @@ -134,3 +134,24 @@ def load_folder_files(folder_path, recursive=True): break return file_list + + +def load_dot_env_file(path): + """ load .env file and set to os.environ + """ + if not path: + path = os.path.join(os.getcwd(), ".env") + if not os.path.isfile(path): + logger.log_debug(".env file not exist: {}".format(path)) + return + else: + if not os.path.isfile(path): + raise exceptions.FileNotFound("env file not exist: {}".format(path)) + + logger.log_info("Loading environment variables from {}".format(path)) + with io.open(path, 'r', encoding='utf-8') as fp: + for line in fp: + variable, value = line.split("=") + variable = variable.strip() + os.environ[variable] = value.strip() + logger.log_debug("Loaded variable: {}".format(variable)) \ No newline at end of file diff --git a/httprunner/task.py b/httprunner/task.py index 6e2f528c..010fb3a6 100644 --- a/httprunner/task.py +++ b/httprunner/task.py @@ -4,12 +4,12 @@ import copy import sys import unittest -from httprunner import exceptions, logger, runner, testcase, utils +from httprunner import exceptions, loader, logger, runner, testcase, utils from httprunner.compat import is_py3 from httprunner.report import (HtmlTestResult, get_platform, get_summary, render_html_report) from httprunner.testcase import TestcaseLoader -from httprunner.utils import load_dot_env_file, print_output +from httprunner.utils import print_output class TestCase(unittest.TestCase): @@ -212,7 +212,7 @@ class HttpRunner(object): - dot_env_path: .env file path """ dot_env_path = kwargs.pop("dot_env_path", None) - load_dot_env_file(dot_env_path) + loader.load_dot_env_file(dot_env_path) kwargs.setdefault("resultclass", HtmlTestResult) self.runner = unittest.TextTestRunner(**kwargs) diff --git a/httprunner/utils.py b/httprunner/utils.py index eefc2477..24c16d1f 100644 --- a/httprunner/utils.py +++ b/httprunner/utils.py @@ -375,25 +375,6 @@ def create_scaffold(project_path): logger.color_print(msg, "BLUE") -def load_dot_env_file(path): - """ load .env file and set to os.environ - """ - if not path: - path = os.path.join(os.getcwd(), ".env") - if not os.path.isfile(path): - logger.log_debug(".env file not exist: {}".format(path)) - return - else: - if not os.path.isfile(path): - raise exceptions.FileNotFound("env file not exist: {}".format(path)) - - logger.log_info("Loading environment variables from {}".format(path)) - with io.open(path, 'r', encoding='utf-8') as fp: - for line in fp: - variable, value = line.split("=") - variable = variable.strip() - os.environ[variable] = value.strip() - logger.log_debug("Loaded variable: {}".format(variable)) def validate_json_file(file_list): """ validate JSON testset format