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
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('')
def ccli(): load_plugins(cli) return cli