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