Ulrich Carmesin
2 years ago
9 changed files with 290 additions and 19 deletions
@ -0,0 +1,146 @@ |
|||
|
|||
""" |
|||
|
|||
""" |
|||
import os.path |
|||
import json |
|||
import basic.program |
|||
import basic.constants as B |
|||
import utils.file_tool |
|||
tempJob = {} |
|||
|
|||
PROGRAM_NAME = "unit" |
|||
JSON_FILE = "actualJob.json" |
|||
JOB_NR = { |
|||
"init_testsuite": { |
|||
"jobnr": "0" }, |
|||
"execute_testsuite": { |
|||
"jobnr": "1"}, |
|||
"collect_testsuite": { |
|||
"jobnr": "2"}, |
|||
"compare_testsuite": { |
|||
"jobnr": "3"}, |
|||
"finish_testsuite": { |
|||
"jobnr": "4"}, |
|||
"init_testcase": { |
|||
"jobnr": "5" }, |
|||
"execute_testcase": { |
|||
"jobnr": "6" }, |
|||
"collect_testcase": { |
|||
"jobnr": "7" }, |
|||
"compare_testcase": { |
|||
"jobnr": "8" }, |
|||
"check_environment": { |
|||
"jobnr": "9" }, |
|||
"test_executer": { |
|||
"jobnr": "10"}, |
|||
} |
|||
JOB_LIST = [ |
|||
"init_testsuite", |
|||
"execute_testsuite", |
|||
"collect_testsuite", |
|||
"compare_testsuite", |
|||
"finish_testsuite", |
|||
"init_testcase", |
|||
"execute_testcase", |
|||
"collect_testcase", |
|||
"compare_testcase", |
|||
"check_environment", |
|||
"test_executer" |
|||
] |
|||
|
|||
appList = [] |
|||
envList = ["ENV01"] |
|||
testList = {"TEST": [ |
|||
"TC0001", "TST001" |
|||
]} |
|||
|
|||
def readContext(job): |
|||
for k in job.conf.confs["applications"]: |
|||
appList.append(k) |
|||
|
|||
|
|||
def restartActualProcess(job): |
|||
""" |
|||
check if an actual process is open |
|||
:return: |
|||
""" |
|||
path = os.path.join(job.conf.confs[B.SUBJECT_PATH][B.ATTR_PATH_DEBUG], JSON_FILE) |
|||
if os.path.exists(path): |
|||
actProc = utils.file_tool.readFileDict(path) |
|||
jobNr = int(JOB_NR[actProc["job"]]["jobnr"]) |
|||
question = "Prozess " |
|||
choiceList = "" |
|||
if jobNr < 8 and jobNr != 4: |
|||
question += "F_ortsetzen | " |
|||
choiceList += "f | " |
|||
question += "W_iederholen | N_euen Prozess | X_exit" |
|||
choiceList = "w | n | x ?" |
|||
print("+-----------------------------------------------") |
|||
for k in actProc: |
|||
print('| {:6s} : {:60s}'.format(k, actProc[k])) |
|||
print("+-----------------------------------------------") |
|||
print(question) |
|||
choice = input("Auswahl "+choiceList) |
|||
choiceList.replace(" | ","") |
|||
if choice.lower() not in choiceList[:-1]: |
|||
print("FEHLER : falsche Auswahl") |
|||
elif choice.lower() == "x": |
|||
job.stopJob(0) |
|||
elif choice.lower() == "w": |
|||
startProcess(job, actProc) |
|||
elif choice.lower() == "f": |
|||
actProc["job"] = JOB_NR[int(jobNr)+1] |
|||
startProcess(job, actProc) |
|||
elif choice.lower() == "n": |
|||
createProcess(job) |
|||
else: |
|||
print("unbekannte Situation") |
|||
else: |
|||
createProcess(job) |
|||
|
|||
|
|||
def createProcess(job): |
|||
process = {} |
|||
index = 0 |
|||
print("create new process") |
|||
process["app"] = getChoice(job, appList, "Anwendung") |
|||
# |
|||
if len(envList) == 1: |
|||
process["env"] = envList[0] |
|||
else: |
|||
process["env"] = getChoice(job, envList, "Umgebung") |
|||
# |
|||
process["tc"] = getChoice(job, testList[process["app"]], "Testfall") |
|||
print(str(process)) |
|||
|
|||
|
|||
def getChoice(job, choiselist, description): |
|||
index = 0 |
|||
print("+------------- "+description+" ----------") |
|||
print('| {:2d} : {:60s}'.format(0, "exit")) |
|||
for k in choiselist: |
|||
index += 1 |
|||
print('| {:2d} : {:60s}'.format(index, k)) |
|||
print("+-----------------------------------------------") |
|||
choice = input("Auswahl 1-" + str(index) + ": ") |
|||
if not choice.isnumeric(): |
|||
print("FEHLER Fehleingabe "+choice) |
|||
getChoice(job, choiselist, description) |
|||
elif int(choice) < 1: |
|||
exit(0) |
|||
elif int(choice) > index: |
|||
print("FEHLER Fehleingabe "+choice) |
|||
getChoice(job, choiselist, description) |
|||
else: |
|||
return choiselist[int(choice) - 1] |
|||
|
|||
|
|||
def startProcess(job, process): |
|||
print(str(process)) |
|||
|
|||
|
|||
if __name__ == '__main__': |
|||
job = basic.program.Job(PROGRAM_NAME) |
|||
readContext(job) |
|||
restartActualProcess(job) |
Loading…
Reference in new issue