class Test(unittest.TestCase): @classmethod def setUpClass(self): self.config = Config() @classmethod def tearDownClass(self): self.config = None def test_get_sodocu_path(self): # print self.config.get_sodocu_path() assert 'SoDocu' + os.sep + './sodocu' in self.config.get_sodocu_path() def test_is_valid_item_type_valid(self): assert self.config.is_valid_item_type('idea') def test_is_valid_item_type_invalid(self): assert self.config.is_valid_item_type('invalid') == False def test_get_item_type_valid(self): assert self.config.get_item_type_by_name('idea').get_name() == 'idea' def test_get_item_type_exception(self): # with self.assertRaises(Exception): # self.config.get_item_type_by_name('invalid') assert self.config.get_item_type_by_name('invalid') == None def test_read_config(self): self.config.read_config() assert self.config.is_valid_item_type('document') def test_get_item_types_as_string(self): # print self.config.get_item_types_as_string() assert 'idea' in self.config.get_item_types_as_string() def test_get_item_types(self): # print self.config.get_item_types() assert 'idea' == self.config.get_item_types()[1].get_name() assert 'stakeholder' == self.config.get_item_types()[2].get_name() assert 'document' == self.config.get_item_types()[3].get_name() assert 'invented_by' in str(self.config.get_item_types()[0].get_valid_relations())
class TestFileHandler(unittest.TestCase): @classmethod def setUpClass(self): self.config = Config() self.project_sodocu_path = self.config.get_sodocu_path() # print 'sodocu path: ' + self.project_sodocu_path self.fileHandler = FileHandler(self.config) @classmethod def tearDownClass(self): self.fileHandler = None def test_create_directory(self): idea = Idea(ItemType('idea', ''), 'idea-99', 'this is a file writer test') self.fileHandler.create_directory(idea) assert os.path.exists(self.project_sodocu_path + '/idea') def test_create_file(self): idea1 = Idea(ItemType('idea', ''), 'idea-99', 'this is a file writer test') # print "hasattr(idea1, 'description'): " + str(hasattr(idea1, 'description')) # print "hasattr(idea1, 'inventedBy'): " + str(hasattr(idea1, 'inventedBy')) # print 'idea1.get_description(): ' + str(idea1.get_description()) # print 'idea1.get_invented_by(): ' + str(idea1.get_invented_by()) self.fileHandler.create_file(idea1) # print self.project_sodocu_path + '/sodocu/idea/ThisIsAFileWriterTest.txt' item_config = read_file(self.project_sodocu_path + '/idea/ThisIsAFileWriterTest.txt') idea2 = create_item(self.config, item_config, self.project_sodocu_path + '/idea/ThisIsAFileWriterTest.txt') assert idea1.get_id() == idea2.get_id() def test_read_file(self): # print self.project_sodocu_path + '/idea/useVCSforRequirements.txt' config = read_file(self.project_sodocu_path + '/idea/ThisIsAFileWriterTest.txt') assert 'meta' in config.sections() def test_read_file_failure(self): with self.assertRaises(ValueError): read_file(self.project_sodocu_path + '/idea/ThisFileDoesNotExists.txt') def test_write_file_failure(self): idea = Idea(ItemType('idea', ''), 'idea-66', 'idea-66') idea.set_filename('/no/directory/idea/Idea-66.txt') # with self.assertRaises(IOError): assert not self.fileHandler.write_file(idea) def test_update_file_new_item(self): idea = Idea(ItemType('idea', ''), 'idea-88', 'idea-88') assert self.fileHandler.update_file(idea) config = read_file(self.project_sodocu_path + '/idea/Idea-88.txt') assert 'idea' in config.sections() def test_update_file_item_non_existing_file(self): idea = Idea(ItemType('idea', ''), 'idea-77', 'idea-77') idea.relations.add_invented_by('stakeholder-1') idea.relations.add_invented_by('stakeholder-2') assert self.fileHandler.update_file(idea) idea.set_filename(self.project_sodocu_path + '/idea/Idea-66.txt') idea.set_name('idea-55') assert not self.fileHandler.update_file(idea) def test_update_file_changed_item_name(self): item_config = read_file(self.project_sodocu_path + '/idea/ThisIsAFileWriterTest.txt') idea1 = create_item(self.config, item_config, self.project_sodocu_path + '/idea/ThisIsAFileWriterTest.txt') assert idea1.get_filename is not None idea1.set_name('this is a file update test') self.fileHandler.update_file(idea1) item_config = read_file(self.project_sodocu_path + '/idea/ThisIsAFileUpdateTest.txt') idea2 = create_item(self.config, item_config, self.project_sodocu_path + '/idea/ThisIsAFileUpdateTest.txt') assert idea1.get_id() == idea2.get_id() assert idea1.get_name() == idea2.get_name() assert idea1.get_filename() != idea2.get_filename()