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
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)
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)
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
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')
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)
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?!")