#!/usr/bin/python # -*- coding: utf-8 -*- # --------------------------------------------------------------------------------------------------------- # Author : Ulrich Carmesin # Source : gitea.ucarmesin.de # --------------------------------------------------------------------------------------------------------- import unittest import inspect import test.testtools import basic.constants as B import test.constants as T import model.story import model.entity import tools.data_const as D HOME_PATH = test.constants.HOME_PATH PYTHON_CMD = "python" TEST_FUNCTIONS = ["test_10getEntityNames", "test_11getEntities", "test_12getEntity" # , "test_13writeEntity" #, "test_14insertEntity" ] # TEST_FUNCTIONS = ["test_10getEntityNames", "test_12getEntity"] PROGRAM_NAME = "clean_workspace" class MyTestCase(unittest.TestCase): mymsg = "--------------------------------------------------------------" def test_10getEntityNames(self): global mymsg global jobObject actfunction = str(inspect.currentframe().f_code.co_name) cnttest = 0 if actfunction not in TEST_FUNCTIONS: return job = test.testtools.getJob() story = model.story.Story(job) entityNames = story.read_unique_names(job, "", "", "", {}) self.assertEqual(type(entityNames), list) #entityNames = project.select_unique_names(job, "", "", "", {}) #self.assertEqual(type(entityNames), list) def test_11getEntities(self): global mymsg global jobObject actfunction = str(inspect.currentframe().f_code.co_name) cnttest = 0 if actfunction not in TEST_FUNCTIONS: return job = test.testtools.getJob() story = model.story.Story(job) entityNames = [] entityNames = story.get_entities(job, storage=model.entity.STORAGE_FILE) self.assertEqual(type(entityNames), list) #entityNames = story.get_entities(job, storage=model.entity.STORAGE_DB) #self.assertEqual(type(entityNames), list) def test_12getEntity(self): global mymsg global jobObject actfunction = str(inspect.currentframe().f_code.co_name) cnttest = 0 if actfunction not in TEST_FUNCTIONS: return job = test.testtools.getJob() story = model.story.Story(job) name = "S-1" actstory = story.read_entity(job, name) self.assertEqual(getattr(actstory, D.FIELD_NAME), name) self.assertRaises(Exception, story.read_entity, job, "xyzxyz") # #actstory = story.select_entity(job, name) #self.assertEqual(getattr(actstory, model.story.FIELD_NAME), name) #self.assertRaises(Exception, story.select_entity, job, ["xyzxyz"]) def test_13writeEntity(self): global mymsg global jobObject actfunction = str(inspect.currentframe().f_code.co_name) cnttest = 0 if actfunction not in TEST_FUNCTIONS: return job = test.testtools.getJob() username = "hans_xyz" story = model.story.Story(job) entityNames = story.get_unique_names(job, storage=model.entity.STORAGE_FILE) self.assertNotIn(username, entityNames) story.username = username story.name = "Hans" story.famname = "im Glueck" story.project = "TESTPROJ" story.write_entity(job, username) entityNames = story.get_unique_names(job, storage=model.entity.STORAGE_FILE) self.assertIn(username, entityNames) actUser = story.read_entity(job, username) self.assertEqual(getattr(actUser, model.story.FIELD_NAME), username) actUser.remove_entity(job, username) entityNames = story.get_unique_names(job, storage=model.entity.STORAGE_FILE) self.assertNotIn(username, entityNames) def test_14insertEntity(self): global mymsg global jobObject actfunction = str(inspect.currentframe().f_code.co_name) cnttest = 0 if actfunction not in TEST_FUNCTIONS: return job = test.testtools.getJob() username = "hans_xyz" story = model.story.Project() entityNames = collectInnerList(story.get_unique_names(job, storage=model.entity.STORAGE_DB)) #self.assertNotIn(username, entityNames) story.username = username story.name = "Hans" story.famname = "im Glueck" story.project = "TESTPROJ" #story.insert_entity(job, username, table="story") entityNames = collectInnerList(story.get_unique_names(job, storage=model.entity.STORAGE_DB)) self.assertIn(username, entityNames) actUser = story.select_entity(job, username) self.assertEqual(getattr(actUser, model.story.FIELD_NAME), username) actUser.delete_entity(job, username, "story") entityNames = collectInnerList(story.get_unique_names(job, storage=model.entity.STORAGE_DB)) self.assertNotIn(username, entityNames) def collectInnerList(inList): outList = [] for r in inList: outList += r return outList if __name__ == '__main__': unittest.main()