def test_extensions_with_group(self): metadata = ZafMetadata(all_extensions, [], Mock(), 'zaf', self.extension_manager, self.metadata_filter) extensions = metadata.extensions_with_group('group') self.assertEqual(extensions[0].name, 'ext1') self.assertEqual(extensions[1].name, 'ext2') self.assertEqual(metadata.extensions_with_group('invalid group'), [])
def setUp(self): extension_manager = Mock() def command_extensions(command, *args, **kwargs): if command.name == 'c1': return [Ext2] else: return [] extension_manager.command_extensions.side_effect = command_extensions extension_manager.framework_extensions.return_value = [Ext1] self.docgen_filter = DocFilter(True, True, True) self.metadata = ZafMetadata(all_extensions, all_components, Mock(), 'zaf', extension_manager, MetadataFilter())
def test_extension_extension_classes(self): extensions = ZafMetadata(all_extensions, [], Mock(), 'zaf', self.extension_manager, self.metadata_filter).extensions self.assertEqual(extensions[0].extension_classes, [Ext1]) self.assertEqual(extensions[1].extension_classes, [Ext2]) self.assertEqual(extensions[2].extension_classes, [Ext3])
def test_message_extension_name(self): messages = ZafMetadata(all_extensions, all_components, Mock(), 'zaf', self.extension_manager, self.metadata_filter).messages self.assertEqual(messages[0].extension_names, ['ext1']) self.assertEqual(messages[1].extension_names, ['ext2']) self.assertEqual(messages[2].extension_names, ['ext1', 'ext2'])
def test_extension_config_option_ids(self): extensions = ZafMetadata(all_extensions, all_components, Mock(), 'zaf', self.extension_manager, self.metadata_filter).extensions self.assertEqual(extensions[0].config_option_ids[0]._option_id, path) self.assertEqual(extensions[1].config_option_ids[0]._option_id, bools) self.assertEqual(extensions[1].config_option_ids[1]._option_id, entity)
def test_command_short_description(self): commands = ZafMetadata(all_extensions, all_components, Mock(), 'zaf', self.extension_manager, self.metadata_filter).commands self.assertEqual(commands[1].short_description, 'c1 description') self.assertEqual(commands[2].short_description, 'c2 description\nc2 description continue')
def test_extension_class_description(self): extension_classes = ZafMetadata(all_extensions, all_components, Mock(), 'zaf', self.extension_manager, self.metadata_filter).extension_classes self.assertEqual(extension_classes[0].description, 'ext1 description.\n\next1 extended description') self.assertEqual(extension_classes[1].description, 'No description')
def test_metadata_commands(self): commands = ZafMetadata(all_extensions, [], Mock(), 'zaf', self.extension_manager, self.metadata_filter).commands self.assertEqual(commands[0]._command.name, 'zaf') self.assertEqual(commands[1]._command, c1) self.assertEqual(commands[2]._command, c2)
def test_extension_commands(self): extensions = ZafMetadata(all_extensions, all_components, Mock(), 'zaf', self.extension_manager, self.metadata_filter).extensions self.assertEqual(extensions[0].commands[0]._command, c1) self.assertEqual(extensions[0].commands[1]._command, c2) self.assertEqual(extensions[1].commands, [])
def test_command_extended_by(self): commands = ZafMetadata(all_extensions, all_components, Mock(), 'zaf', self.extension_manager, self.metadata_filter).commands self.assertEqual(commands[0].extension_names, []) self.assertEqual(commands[1].extension_names, ['ext2']) self.assertEqual(commands[2].extension_names, []) self.assertEqual(commands[3].extension_names, [])
def test_command_extension_class(self): commands = ZafMetadata(all_extensions, all_components, Mock(), 'zaf', self.extension_manager, self.metadata_filter).commands self.assertIsNone(commands[0].extension_class) self.assertEqual(commands[1].extension_class, Ext1) self.assertEqual(commands[2].extension_class, Ext1) self.assertEqual(commands[3].extension_class, Ext3)
def test_command_short_name(self): commands = ZafMetadata(all_extensions, all_components, Mock(), 'zaf', self.extension_manager, self.metadata_filter).commands self.assertEqual(commands[0].short_name, 'zaf') self.assertEqual(commands[1].short_name, 'c1') self.assertEqual(commands[2].short_name, 'c2') self.assertEqual(commands[3].short_name, 'c3')
def test_extension_class_module(self): extension_classes = ZafMetadata(all_extensions, all_components, Mock(), 'zaf', self.extension_manager, self.metadata_filter).extension_classes self.assertEqual(extension_classes[0].module.__name__, 'zaf.application.test.utils') self.assertEqual(extension_classes[1].module.__name__, 'zaf.application.test.utils')
def test_extension_messages(self): extensions = ZafMetadata(all_extensions, all_components, Mock(), 'zaf', self.extension_manager, self.metadata_filter).extensions self.assertEqual(extensions[0].messages[0]._message_id, m1) self.assertEqual(extensions[0].messages[1]._message_id, m3) self.assertEqual(extensions[1].messages[0]._message_id, m2) self.assertEqual(extensions[1].messages[1]._message_id, m3)
def test_component_description(self): components = ZafMetadata(all_extensions, all_components, Mock(), 'zaf', self.extension_manager, self.metadata_filter).components self.assertEqual(components[0].description, 'comp1 description\n\ncomp1 extended description') self.assertEqual(components[1].description, 'comp2 description\n\ncomp2 extended description')
def test_metadata_endpoints(self): endpoints = ZafMetadata(all_extensions, [], Mock(), 'zaf', self.extension_manager, self.metadata_filter).endpoints self.assertEqual(endpoints[0]._endpoint_id, e1) self.assertEqual(endpoints[0]._messages, [m1, m3]) self.assertEqual(endpoints[1]._endpoint_id, e2) self.assertEqual(endpoints[1]._messages, [m2, m3])
def test_metadata_config_option_ids(self): config_option_ids = ZafMetadata(all_extensions, [], Mock(), 'zaf', self.extension_manager, self.metadata_filter).config_option_ids self.assertEqual(config_option_ids[0]._option_id, all_contexts) self.assertEqual(config_option_ids[1]._option_id, bools) self.assertEqual(config_option_ids[2]._option_id, extendable_context) self.assertEqual(config_option_ids[3]._option_id, path) self.assertEqual(config_option_ids[4]._option_id, entity)
def test_metadata_messages(self): messages = ZafMetadata(all_extensions, [], Mock(), 'zaf', self.extension_manager, self.metadata_filter).messages self.assertEqual(messages[0]._message_id, m1) self.assertEqual(messages[0]._endpoints, [e1]) self.assertEqual(messages[1]._message_id, m2) self.assertEqual(messages[1]._endpoints, [e2]) self.assertEqual(messages[2]._message_id, m3) self.assertEqual(messages[2]._endpoints, [e1, e2])
def test_config_option_id_types(self): config_option_ids = ZafMetadata(all_extensions, all_components, Mock(), 'zaf', self.extension_manager, self.metadata_filter).config_option_ids self.assertEqual(config_option_ids[0].type_string, 'str') self.assertEqual(config_option_ids[1].type_string, 'bool') self.assertEqual(config_option_ids[2].type_string, 'str') self.assertEqual(config_option_ids[3].type_string, 'Path(exists=False)') self.assertEqual(config_option_ids[4].type_string, 'Entity')
def test_messages_endpoints(self): messages = ZafMetadata(all_extensions, all_components, Mock(), 'zaf', self.extension_manager, self.metadata_filter).messages self.assertEqual(messages[0].endpoints[0].endpoint_id, e1) self.assertEqual(len(messages[0].endpoints), 1) self.assertEqual(messages[1].endpoints[0].endpoint_id, e2) self.assertEqual(len(messages[1].endpoints), 1) self.assertEqual(messages[2].endpoints[0].endpoint_id, e1) self.assertEqual(messages[2].endpoints[1].endpoint_id, e2) self.assertEqual(len(messages[2].endpoints), 2)
def test_command_config_option_ids(self): commands = ZafMetadata(all_extensions, all_components, Mock(), 'zaf', self.extension_manager, self.metadata_filter).commands self.assertEqual(commands[1].config_option_ids[0]._option_id, bools) self.assertEqual(commands[1].config_option_ids[1]._option_id, extendable_context) self.assertEqual(len(commands[1].config_option_ids), 2) self.assertEqual(commands[2].config_option_ids[0]._option_id, path) self.assertEqual(commands[2].config_option_ids[1]._option_id, entity) self.assertEqual(len(commands[2].config_option_ids), 2)
def test_metadata_extensions(self): extensions = ZafMetadata(all_extensions, [], Mock(), 'zaf', self.extension_manager, self.metadata_filter).extensions self.assertEqual(extensions[0].name, 'ext1') self.assertEqual(extensions[0].groups, ['group']) self.assertEqual(extensions[0].extension_classes[0]._extension_class, Ext1) self.assertEqual(extensions[1].name, 'ext2') self.assertEqual(extensions[1].groups, ['group']) self.assertEqual(extensions[1].extension_classes[0]._extension_class, Ext2)
def test_config_option_ids_extension_classes(self): config_option_ids = ZafMetadata( all_extensions, all_components, Mock(), 'zaf', self.extension_manager, self.metadata_filter)._config_option_ids self.assertEqual(config_option_ids[all_contexts].extension_classes, [Ext3]) self.assertEqual(config_option_ids[bools].extension_classes, [Ext2]) self.assertEqual( config_option_ids[extendable_context].extension_classes, [Ext3]) self.assertEqual(config_option_ids[path].extension_classes, [Ext1]) self.assertEqual(config_option_ids[entity].extension_classes, [Ext2])
def create_metadata(filter=MetadataFilter()): extension_manager = Mock() def command_extensions(command, *args, **kwargs): if command.name == 'c1': return [Ext2] else: return [] extension_manager.command_extensions.side_effect = command_extensions extension_manager.framework_extensions.return_value = [Ext1] return ZafMetadata(all_extensions, all_components, Mock(), 'zaf', extension_manager, filter)
def test_component_method(self): components = ZafMetadata(all_extensions, all_components, Mock(), 'zaf', self.extension_manager, self.metadata_filter).components self.assertEqual(components[0].methods[0].path, 'zaf.application.test.utils.Comp1Class.method')
class TestDocGen(unittest.TestCase): maxDiff = None def setUp(self): extension_manager = Mock() def command_extensions(command, *args, **kwargs): if command.name == 'c1': return [Ext2] else: return [] extension_manager.command_extensions.side_effect = command_extensions extension_manager.framework_extensions.return_value = [Ext1] self.docgen_filter = DocFilter(True, True, True) self.metadata = ZafMetadata(all_extensions, all_components, Mock(), 'zaf', extension_manager, MetadataFilter()) def test_generate_extension_rst(self): output = render_sphinx_template( 'extension.rst', extension=self.metadata.extension_with_name('ext1'), metadata=self.metadata, filter=self.docgen_filter) self.assertEqual(output, extension.expected_rst_output) def test_generate_command_rst(self): output = render_sphinx_template('command.rst', command=self.metadata.commands[1], metadata=self.metadata, filter=self.docgen_filter) self.assertEqual(output, command.expected_rst_output) def test_generate_components_rst(self): output = render_sphinx_template('component.rst', component=self.metadata.components[0], metadata=self.metadata, filter=self.docgen_filter) self.assertEqual(output, component.expected_rst_output) def test_generate_extension_list_rst(self): output = render_sphinx_template('extension_list.rst', extensions=self.metadata.extensions, metadata=self.metadata, filter=self.docgen_filter) self.assertEqual(output, extension_list.expected_rst_output) def test_generate_command_list_rst(self): output = render_sphinx_template('command_list.rst', commands=self.metadata.commands, metadata=self.metadata, filter=self.docgen_filter) self.assertEqual(output, command_list.expected_rst_output) def test_generate_components_list_rst(self): output = render_sphinx_template('component_list.rst', components=self.metadata.components, metadata=self.metadata, filter=self.docgen_filter) self.assertEqual(output, component_list.expected_rst_output) def test_generate_config_option_ids_list_rst(self): output = render_sphinx_template( 'config_option_id_list.rst', config_option_ids=self.metadata.config_option_ids, metadata=self.metadata, filter=self.docgen_filter) self.assertEqual(output, config_option_id_list.expected_rst_output) def test_generate_endpoints_list_rst(self): output = render_sphinx_template('endpoint_list.rst', endpoints=self.metadata.endpoints, metadata=self.metadata, filter=self.docgen_filter) self.assertEqual(output, endpoint_list.expected_rst_output) def test_generate_messages_list_rst(self): output = render_sphinx_template('message_list.rst', messages=self.metadata.messages, metadata=self.metadata, filter=self.docgen_filter) self.assertEqual(output, message_list.expected_rst_output)
def test_extension_with_name(self): metadata = ZafMetadata(all_extensions, [], Mock(), 'zaf', self.extension_manager, self.metadata_filter) self.assertEqual(metadata.extension_with_name('ext1').name, 'ext1') self.assertEqual(metadata.extension_with_name('ext2').name, 'ext2')
def test_metadata_components(self): components = ZafMetadata([], all_components, Mock(), 'zaf', self.extension_manager, self.metadata_filter).components self.assertEqual(components[0]._component_info, comp1) self.assertEqual(components[1]._component_info, comp2)
def test_endpoint_extension_names(self): endpoints = ZafMetadata(all_extensions, all_components, Mock(), 'zaf', self.extension_manager, self.metadata_filter).endpoints self.assertEqual(endpoints[0].extension_names, ['ext1']) self.assertEqual(endpoints[1].extension_names, ['ext2'])
def test_component_method_description(self): components = ZafMetadata(all_extensions, all_components, Mock(), 'zaf', self.extension_manager, self.metadata_filter).components self.assertEqual(components[0].methods[0].description, 'Do stuff.')