Merge pull request #388 from HttpRunner/feature

update create_scaffold
This commit is contained in:
debugtalk
2018-09-11 12:32:11 +08:00
committed by GitHub
3 changed files with 28 additions and 30 deletions
+1 -2
View File
@@ -74,8 +74,7 @@ def main_hrun():
project_name = args.startproject project_name = args.startproject
if project_name: if project_name:
project_path = os.path.join(os.getcwd(), project_name) create_scaffold(project_name)
create_scaffold(project_path)
exit(0) exit(0)
try: try:
+18 -19
View File
@@ -356,13 +356,16 @@ def print_io(in_out):
logger.log_debug(content) logger.log_debug(content)
def create_scaffold(project_path):
if os.path.isdir(project_path): def create_scaffold(project_name):
folder_name = os.path.basename(project_path) """ create scaffold with specified project name.
logger.log_warning(u"Folder {} exists, please specify a new folder name.".format(folder_name)) """
if os.path.isdir(project_name):
logger.log_warning(u"Folder {} exists, please specify a new folder name.".format(project_name))
return return
logger.color_print("Start to create new project: {}\n".format(project_path), "GREEN") logger.color_print("Start to create new project: {}".format(project_name), "GREEN")
logger.color_print("CWD: {}\n".format(os.getcwd()), "BLUE")
def create_path(path, ptype): def create_path(path, ptype):
if ptype == "folder": if ptype == "folder":
@@ -370,23 +373,19 @@ def create_scaffold(project_path):
elif ptype == "file": elif ptype == "file":
open(path, 'w').close() open(path, 'w').close()
return "created {}: {}\n".format(ptype, path) msg = "created {}: {}".format(ptype, path)
logger.color_print(msg, "BLUE")
path_list = [ path_list = [
(project_path, "folder"), (project_name, "folder"),
(os.path.join(project_path, "api"), "folder"), (os.path.join(project_name, "api"), "folder"),
(os.path.join(project_path, "testcases"), "folder"), (os.path.join(project_name, "testcases"), "folder"),
(os.path.join(project_path, "testsuites"), "folder"), (os.path.join(project_name, "testsuites"), "folder"),
(os.path.join(project_path, "reports"), "folder"), (os.path.join(project_name, "reports"), "folder"),
(os.path.join(project_path, "debugtalk.py"), "file"), (os.path.join(project_name, "debugtalk.py"), "file"),
(os.path.join(project_path, ".env"), "file") (os.path.join(project_name, ".env"), "file")
] ]
[create_path(p[0], p[1]) for p in path_list]
msg = ""
for p in path_list:
msg += create_path(p[0], p[1])
logger.color_print(msg, "BLUE")
def gen_cartesian_product(*args): def gen_cartesian_product(*args):
+9 -9
View File
@@ -252,15 +252,15 @@ class TestUtils(ApiServerUnittest):
utils.override_mapping_list(map_list, override_mapping) utils.override_mapping_list(map_list, override_mapping)
def test_create_scaffold(self): def test_create_scaffold(self):
project_path = os.path.join(os.getcwd(), "projectABC") project_name = "projectABC"
utils.create_scaffold(project_path) utils.create_scaffold(project_name)
self.assertTrue(os.path.isdir(os.path.join(project_path, "api"))) self.assertTrue(os.path.isdir(os.path.join(project_name, "api")))
self.assertTrue(os.path.isdir(os.path.join(project_path, "testcases"))) self.assertTrue(os.path.isdir(os.path.join(project_name, "testcases")))
self.assertTrue(os.path.isdir(os.path.join(project_path, "testsuites"))) self.assertTrue(os.path.isdir(os.path.join(project_name, "testsuites")))
self.assertTrue(os.path.isdir(os.path.join(project_path, "reports"))) self.assertTrue(os.path.isdir(os.path.join(project_name, "reports")))
self.assertTrue(os.path.isfile(os.path.join(project_path, "debugtalk.py"))) self.assertTrue(os.path.isfile(os.path.join(project_name, "debugtalk.py")))
self.assertTrue(os.path.isfile(os.path.join(project_path, ".env"))) self.assertTrue(os.path.isfile(os.path.join(project_name, ".env")))
shutil.rmtree(project_path) shutil.rmtree(project_name)
def test_cartesian_product_one(self): def test_cartesian_product_one(self):
parameters_content_list = [ parameters_content_list = [