def test_read_configuration_object(self): conf_path = Path(test_data_root).absolute() conf = create_configuration(conf_path) read_configuration_objects(conf) report = conf.get_object('Отчет1', ObjectType.REPORT) self.assertEqual(report.name, 'Отчет1', 'Объект имеет неожиданное имя.') self.assertEqual(report.obj_type, ObjectType.REPORT, 'Объект имеет неожиданный тип.') self.assertEqual(report.line_number, 15, 'Не верно определена строка в файле') self.assertEqual(report.file_name, conf_path.joinpath(Path('Reports/Отчет1.xml')), 'Не верно определена строка в файле') self.assertEqual(report.full_name, 'Report.Отчет1', 'Не верно определено имя') self.assertEqual(dumps(report.to_dict(), ensure_ascii=False), Path(json_report_path).read_text(encoding=encoding), 'Объект не верно сериализован')
def test_read_configuration(self): conf_path = Path(test_data_root).absolute() conf = create_configuration(conf_path) self.assertEqual(conf.name, 'Конфигурация', 'Не верно определено имя конфигурации.') self.assertEqual(conf.uuid, '04e5fb66-c0ac-4f0b-8a97-f8f51ce50450', 'Не верно определен uuid конфигурации') self.assertEqual(conf.root_path, conf_path, 'Не верно установлен корень конфигурации') self.assertEqual(len(conf.conf_objects), 46, 'Не корректно загружен состав объектов.') report = conf.get_object('Отчет1', ObjectType.REPORT) self.assertTupleEqual((report.name, report.obj_type), ('Отчет1', ObjectType.REPORT), 'Не корректно найден объект.') with self.assertRaises( IndexError, msg='Объекта "Отчет112" нет в конфигурации должно ожидали ошибку' ) as _: conf.get_object('Отчет11', ObjectType.REPORT) self.assertEqual(dumps(conf.to_dict(), ensure_ascii=False), Path(json_config_path).read_text(encoding=encoding), 'Конфигурация не верно сериализована')
def test_read_obj_module(self): conf_path = Path(test_data_root).absolute() conf = create_configuration(conf_path) read_configuration_objects(conf) doc = conf.get_object('Документ1', ObjectType.DOCUMENT) doc.read_modules() self.assertEqual(len(doc.modules), 2, 'не все модули были прочитаны.')
def test_read_forms(self): conf_path = Path(test_data_root).absolute() conf = create_configuration(conf_path) read_configuration_objects(conf) doc = conf.get_object('Документ1', ObjectType.DOCUMENT) doc.read_forms() self.assertEqual(len(doc.forms), 1, 'не все формы были прочитаны.') self.assertIsInstance(doc.forms[0].module, Module, 'Модуль не прочитан')
def test_read_subsystem(self): conf_path = Path(test_data_root).absolute() conf = create_configuration(conf_path) read_configuration_objects(conf) sub_2 = conf.get_object('Подсистема2', ObjectType.SUBSYSTEM) self.assertEqual(sub_2.name, 'Подсистема2', 'Вложенная подсистема не прочитанна') for obj in conf.conf_objects: if obj.obj_type != ObjectType.SUBSYSTEM: continue ch = obj.childes objects = 1 if obj.name == 'Подсистема1': objects = 44 elif obj.name == 'Подсистема3': objects = 3 self.assertEqual(len(ch), objects, f'Не все объекты подсистемы {obj} прочитанны')