#!/usr/bin/python # -*- coding: utf-8 -*- # --------------------------------------------------------------------------------------------------------- # Author : Ulrich Carmesin # Source : gitea.ucarmesin.de # --------------------------------------------------------------------------------------------------------- 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 utils.i18n_tool import basic.constants as B import utils.data_const as D 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_01class", "test_02text", "test_03aliasList"] #TEST_FUNCTIONS = [ "test_03aliasList"] verbose = False EXP_KEY_MISSING = "key is missing {}" EXP_KEY_DOESNT_EXIST = "key doesnt exist in domain {}" class MyTestCase(unittest.TestCase): mymsg = "--------------------------------------------------------------" def test_01class(self): global mymsg actfunction = str(inspect.currentframe().f_code.co_name) cnttest = 0 if actfunction not in TEST_FUNCTIONS: return job = test.testtools.getJob() i18n = utils.i18n_tool.I18n.getInstance(job) self.assertIsNotNone(i18n) cnttest += 1 MyTestCase.mymsg += "\n----- "+actfunction+" : "+str(cnttest) def test_02text(self): global mymsg actfunction = str(inspect.currentframe().f_code.co_name) cnttest = 0 if actfunction not in TEST_FUNCTIONS: return job = test.testtools.getJob() job.conf.confs["language"] = "de" i18n = utils.i18n_tool.I18n.getInstance(job) res = i18n.getText(f"{EXP_KEY_MISSING=}", job) if verbose: print("RESULT "+res) self.assertEqual(res, "Schluesselwort fehlt {}") cnttest += 1 res = i18n.getText(f"{EXP_KEY_DOESNT_EXIST=}", job) if verbose: print("RESULT "+res) self.assertEqual(res, "key doesnt exist in domain {}") cnttest += 1 res = i18n.getText(f"{B.ATTR_APPS_PROJECT=}", job) if verbose: print("RESULT "+res) self.assertEqual(res, "project") cnttest += 1 job.conf.confs["language"] = "fr" i18n = utils.i18n_tool.I18n.getInstance(job) self.assertRaises(Exception, i18n.getText, (f"{EXP_KEY_MISSING=}", job)) cnttest += 1 MyTestCase.mymsg += "\n----- "+actfunction+" : "+str(cnttest) def test_03aliasList(self): global mymsg actfunction = str(inspect.currentframe().f_code.co_name) cnttest = 0 if actfunction not in TEST_FUNCTIONS: return job = test.testtools.getJob() job.conf.confs["language"] = "de" i18n = utils.i18n_tool.I18n.getInstance(job) # i18n.getText("EXP_KEY_MISSING", EXP_KEY_MISSING, job) res = i18n.getAliasList(f"{EXP_KEY_MISSING=}", job) if verbose: print("RESULT "+str(res)) self.assertEqual(res, ['key is missing {}', 'key is missing {}', 'Schluesselwort fehlt {}']) cnttest += 1 res = i18n.getAliasList(f"{D.DATA_ATTR_ALIAS=}", job) if verbose: print("RESULT "+str(res)) self.assertEqual(res, ["_alias"]) cnttest += 1 MyTestCase.mymsg += "\n----- "+actfunction+" : "+str(cnttest) def test_zzz(self): if verbose: print(MyTestCase.mymsg) if __name__ == '__main__': verbose = True unittest.main()