Data-Test-Executer Framework speziell zum Test von Datenverarbeitungen mit Datengenerierung, Systemvorbereitungen, Einspielungen, ganzheitlicher diversifizierender Vergleich
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 

69 lines
2.5 KiB

import unittest
import os
import inspect
import tools.value_tool
import basic.program
import basic.constants as B
import test.constants
import test.testtools
HOME_PATH = test.constants.HOME_PATH
DATA_PATH = test.constants.DATA_PATH
OS_SYSTEM = test.constants.OS_SYSTEM
# here you can select single testfunction for developping the tests
TEST_FUNCTIONS = ["test_01key", "test_10pattern"]
TEST_FUNCTIONS = ["test_10pattern"]
verbose = True
job = None
class MyTestCase(unittest.TestCase):
mymsg = "--------------------------------------------------------------"
def test_01key(self):
global mymsg
actfunction = str(inspect.currentframe().f_code.co_name)
cnttest = 0
if actfunction not in TEST_FUNCTIONS:
return
job = test.testtools.getJob()
res = tools.value_tool.get_key_value(job, "job.par." + B.PAR_ENV, None)
self.assertEqual(res, test.testtools.DEFAULT_ENV)
cnttest += 1
for p in [B.ATTR_PATH_ARCHIV, B.ATTR_PATH_ENV]:
res = tools.value_tool.get_key_value(job, "job.conf." + p, None)
if verbose: print("assertIn "+p+": "+res+" -- "+HOME_PATH)
self.assertIn(HOME_PATH, res)
cnttest += 1
res = tools.value_tool.get_key_value(job, "job.program", None)
self.assertIn("unit_tester", res)
res = tools.value_tool.get_key_value(job, "ctlg.programs.unit_tester.dirname", None)
self.assertIn("wsdir", res)
MyTestCase.mymsg += "\n----- "+actfunction+" : "+str(cnttest)
def test_10pattern(self):
global mymsg
actfunction = str(inspect.currentframe().f_code.co_name)
cnttest = 0
if actfunction not in TEST_FUNCTIONS:
return
job = test.testtools.getJob()
res = tools.value_tool.compose_pattern(job, "wsdir", None)
self.assertEqual(res, os.path.join(B.HOME_PATH, "workspace"))
cnttest += 1
setattr(job.par, "wsdir", res)
res = tools.value_tool.compose_string(job, "{job.par.wsdir}/{log}/{job.program}_{job.start}.txt", None)
regex = os.path.join(B.HOME_PATH, "workspace", "log", "unit_tester_\d{8}_\d{6}.txt")
self.assertRegex(res, regex)
cnttest += 1
# "{job.par.wsdir}/{log}/{job.program}_{job.start}.txt"
MyTestCase.mymsg += "\n----- "+actfunction+" : "+str(cnttest)
def test_zzz(self):
if verbose: print(MyTestCase.mymsg)
if __name__ == '__main__':
unittest.main()
job.stopJob()