Ulrich Carmesin
3 years ago
9 changed files with 341 additions and 98 deletions
@ -0,0 +1,62 @@ |
|||||
|
#!/usr/bin/python |
||||
|
# -*- coding: utf-8 -*- |
||||
|
# --------------------------------------------------------------------------------------------------------- |
||||
|
# Author : Ulrich Carmesin |
||||
|
# Source : gitea.ucarmesin.de |
||||
|
# --------------------------------------------------------------------------------------------------------- |
||||
|
import os |
||||
|
import basic.program |
||||
|
import basic.constants as B |
||||
|
import utils.path_const as P |
||||
|
|
||||
|
EXP_KEY_MISSING = "key is missing {}" |
||||
|
EXP_KEY_DOESNT_EXIST = "key doesnt exist in domain {}" |
||||
|
|
||||
|
class Catalog: |
||||
|
__instance = None |
||||
|
""" |
||||
|
in this class there should be managed each defined key-value-pairs |
||||
|
the pairs ara loaded from the path testdata/catalog: |
||||
|
* initially the csv-file catalog.csv |
||||
|
* on demand other csv-files in the path |
||||
|
""" |
||||
|
def __init__(self): |
||||
|
self.catalog = {} |
||||
|
Catalog.__instance = self |
||||
|
pass |
||||
|
|
||||
|
@staticmethod |
||||
|
def getInstance(): |
||||
|
if Catalog.__instance == None: |
||||
|
return Catalog() |
||||
|
return Catalog.__instance |
||||
|
|
||||
|
def getValue(self, domain, key): |
||||
|
""" |
||||
|
this function gets the value of the domain an key |
||||
|
|
||||
|
:param domain: |
||||
|
:param key: |
||||
|
:return: |
||||
|
""" |
||||
|
job = basic.program.Job.getInstance() |
||||
|
if not (isinstance(domain, str) and len(domain)): |
||||
|
raise Exception(EXP_KEY_MISSING, (domain, key)) |
||||
|
if not (isinstance(key, str) and len(key)): |
||||
|
raise Exception(EXP_KEY_MISSING, (domain, key)) |
||||
|
|
||||
|
if domain not in self.catalog: |
||||
|
self.readDomain(domain) |
||||
|
if key not in self.catalog[domain][key]: |
||||
|
raise Exception(EXP_KEY_DOESNT_EXIST, (domain, key)) |
||||
|
return self.catalog[domain][key] |
||||
|
|
||||
|
def readDomain(self, domain): |
||||
|
""" |
||||
|
|
||||
|
:param domain: |
||||
|
:return: |
||||
|
""" |
||||
|
job = basic.program.Job.getInstance() |
||||
|
if not (isinstance(domain, str) and len(domain)): |
||||
|
raise Exception(EXP_KEY_MISSING, (domain)) |
@ -0,0 +1,50 @@ |
|||||
|
import unittest |
||||
|
import os |
||||
|
import inspect |
||||
|
import utils.path_tool |
||||
|
import basic.program |
||||
|
import basic.constants as B |
||||
|
import test.constants |
||||
|
import test.testtools |
||||
|
import utils.path_const as P |
||||
|
import basic.catalog |
||||
|
|
||||
|
HOME_PATH = test.constants.HOME_PATH |
||||
|
OS_SYSTEM = test.constants.OS_SYSTEM |
||||
|
|
||||
|
# here you can select single testfunction for developping the tests |
||||
|
TEST_FUNCTIONS = ["test_key", "test_rejoinPath", "test_rejoinPath", "test_composePath", "test_composePattern", |
||||
|
"test_extractPath", "test_extractPattern"] |
||||
|
#TEST_FUNCTIONS = [ "test_extractPath"] |
||||
|
|
||||
|
class MyTestCase(unittest.TestCase): |
||||
|
mymsg = "--------------------------------------------------------------" |
||||
|
|
||||
|
def test_class(self): |
||||
|
global mymsg |
||||
|
actfunction = str(inspect.currentframe().f_code.co_name) |
||||
|
cnttest = 0 |
||||
|
if actfunction not in TEST_FUNCTIONS: |
||||
|
return |
||||
|
job = test.testtools.getJob() |
||||
|
catalog = basic.catalog.Catalog.getInstance() |
||||
|
self.assertIsNotNone(catalog) |
||||
|
MyTestCase.mymsg += "\n----- "+actfunction+" : "+str(cnttest) |
||||
|
|
||||
|
|
||||
|
def test_key(self): |
||||
|
global mymsg |
||||
|
actfunction = str(inspect.currentframe().f_code.co_name) |
||||
|
cnttest = 0 |
||||
|
if actfunction not in TEST_FUNCTIONS: |
||||
|
return |
||||
|
job = test.testtools.getJob() |
||||
|
MyTestCase.mymsg += "\n----- "+actfunction+" : "+str(cnttest) |
||||
|
|
||||
|
|
||||
|
def test_zzz(self): |
||||
|
print(MyTestCase.mymsg) |
||||
|
|
||||
|
|
||||
|
if __name__ == '__main__': |
||||
|
unittest.main() |
Loading…
Reference in new issue