示例#1
0
def repository(leapp_forked):  # noqa; pylint: disable=unused-argument
    repository_path = py.path.local(
        os.path.join(os.path.dirname(os.path.dirname(__file__)), 'data', 'actor-api-tests'))
    with repository_path.as_cwd():
        repo = scan_repo('.')
        repo.load(resolve=True)
        yield repo
示例#2
0
def cli(args):
    base_dir = find_project_basedir('.')
    repository = scan_repo(base_dir)
    repository.load()

    actors = [actor for actor in repository.actors]
    models = [model for model in get_models() if _is_local(base_dir, model)]
    topics = [topic for topic in get_topics() if _is_local(base_dir, topic)]
    tags = [tag for tag in get_tags() if _is_local(base_dir, tag)]
    if not args.json:
        _print_group('Models', models)
        _print_group('Topics', topics)
        _print_group('Actors',
                     actors,
                     name_resolver=lambda x: x.class_name,
                     path_resolver=_get_actor_path)
        _print_group('Tags', tags)
    else:
        output = {
            'project': get_project_name(base_dir),
            'base_dir': base_dir,
            'topics':
            {topic.__name__: _get_topic_details(topic)
             for topic in topics},
            'models':
            {model.__name__: _get_model_details(model)
             for model in models},
            'actors':
            {actor.class_name: _get_actor_details(actor)
             for actor in actors},
            'tags': {tag.name: _get_tag_details(tag)
                     for tag in tags}
        }
        json_mod.dump(output, sys.stdout, indent=2)
示例#3
0
def cli(params):
    configure_logger()
    repository = scan_repo(find_project_basedir('.'))
    repository.load()
    for wf in leapp.workflows.get_workflows():
        if wf.name.lower() == params.name.lower():
            wf().run(until_phase=params.until_phase, until_actor=params.until_actor)
示例#4
0
def repository():
    repository_path = py.path.local(
        os.path.join(os.path.dirname(os.path.dirname(__file__)), 'data',
                     'workflow-tests'))
    with repository_path.as_cwd():
        repo = scan_repo('.')
        repo.load(resolve=True)
        yield repo
示例#5
0
def test_empty_repo(empty_repository_dir):
    with empty_repository_dir.as_cwd():
        repo = scan_repo(empty_repository_dir.strpath)
        repo.load(resolve=True)
        assert not repo.actors
        assert not repo.files
        assert not repo.models
        assert not repo.tags
        assert not repo.topics
        assert not repo.workflows
        assert not repo.lookup_workflow('Any')
        assert not repo.lookup_actor('Any')
示例#6
0
文件: run.py 项目: jhornice/leapp
def cli(args):
    log = configure_logger()
    basedir = find_project_basedir('.')
    repository = scan_repo(basedir)
    repository.load()

    messaging = ProjectLocalMessaging()
    messaging.load()
    actor_logger = log.getChild('actors')

    repository.lookup_actor(args.actor_name)(messaging=messaging, logger=actor_logger).run()
    if args.save_output:
        messaging.store()
    if args.print_output:
        json.dump(messaging.get_new(), sys.stdout, indent=2)
示例#7
0
def get_actor_tests(actor_name):
    """ Checks if the actors exists and has tests. Reports errors otherwise.

    Returns (list of actor test directories | None, status message)
    """
    for repo in REPOS:
        repository = scan_repo(BASE_REPO + "/" + repo)
        repository.load()
        actor = repository.lookup_actor(actor_name)
        if not actor:
            return (None, "Error: cannot find actor \"{ACTOR_NAME}\"!".format(
                ACTOR_NAME=actor_name))
        if not actor.tests:
            return (None,
                    "Error: actor \"{ACTOR_NAME}\" is missing tests!".format(
                        ACTOR_NAME=actor_name))
        testdirs = []
        for testdir in actor.tests:
            testdirs.append(
                os.path.join(BASE_REPO, repo, actor.directory, testdir))
        return (testdirs,
                "{ACTOR_NAME} tests found!".format(ACTOR_NAME=actor_name))
    return (None, "Error: WAT?!")