Beispiel #1
0
def test_load_plugins(mocker):

    cli = click.Group()

    grp_internal = click.MultiCommand('internal')
    grp_external = click.MultiCommand('external')

    mocker.patch.object(
        EntryPoint,
        'load',
        side_effect=[
            lambda: grp_internal,
            lambda: grp_external,
        ],
    )
    mocker.patch(
        'connect.cli.core.plugins.pkg_resources.iter_entry_points',
        return_value=iter([
            EntryPoint('internal', 'connect.cli.plugins.internal'),
            EntryPoint('external', 'external.cli.plugin'),
        ]),
    )

    load_plugins(cli)

    assert 'internal' in cli.commands
    assert 'plugin' in cli.commands
    assert 'external' in cli.commands['plugin'].commands
Beispiel #2
0
def main():
    print('')
    try:
        load_plugins(cli)
        cli(prog_name='ccli', standalone_mode=False)
    except OSError as oe:
        if 'no library called "cairo" was found' in str(oe):
            click.secho(CAIRO_NOT_FOUND_ERROR, fg='yellow')
        else:
            click.secho(str(oe), fg='red')
    except click.ClickException as ce:
        click.secho(str(ce), fg='red')
    except click.exceptions.Abort:
        pass
    finally:
        print('')
Beispiel #3
0
def ccli():
    load_plugins(cli)
    return cli