示例#1
0
def test_get_parser_class_map_import_error(iter_entry_points):
    entry_point = MagicMock()
    entry_point.load.side_effect = ImportError
    iter_entry_points.return_value = [entry_point]

    with warnings.catch_warnings():
        warnings.simplefilter("ignore")
        result = get_parser_class_map()

    assert result == {}
示例#2
0
def test_get_parser_class_map_registered_twice(iter_entry_points):
    class_ = MagicMock()
    class_.mimetypes = ['foo']
    entry_point = MagicMock()
    entry_point.load.return_value = class_

    iter_entry_points.return_value = [
        entry_point,
        entry_point,
    ]

    result = get_parser_class_map()

    assert result == {
        'foo': class_,
    }
示例#3
0
def test_get_parser_class_map_already_registered(iter_entry_points):
    def get_entry_point_for_mimetypes(mimetypes):
        class_ = MagicMock()
        class_.mimetypes = mimetypes
        entry_point = MagicMock()
        entry_point.load.return_value = class_
        return entry_point

    iter_entry_points.return_value = [
        get_entry_point_for_mimetypes(['foo']),
        get_entry_point_for_mimetypes(['bar', 'foo']),
    ]

    with warnings.catch_warnings():
        warnings.simplefilter("ignore")
        result = get_parser_class_map()

    assert result == {
        'foo': iter_entry_points.return_value[0].load.return_value,
        'bar': iter_entry_points.return_value[1].load.return_value,
    }