def prepare_components(args): commit_queue = CommitQueue() credentials = get_credentials(args) try: # setting router router = Router(remote_url=args.remote_url, mount_path=args.mount_point, current_path=args.current_path, history_path=args.history_path, repo_path=args.repo_path, branch=args.branch, user=args.user, group=args.group, max_size=args.max_size * 1024 * 1024, max_offset=args.max_size * 1024 * 1024, commit_queue=commit_queue, credentials=credentials, ignore_file=args.ignore_file, hard_ignore=args.hard_ignore) except KeyError as error: sys.stderr.write( "Can't clone reference origin/%s from remote %s: %s\n" % (args.branch, args.remote_url, error)) raise error # register all the routes routes = prepare_routes(args) router.register(routes) # setup workers merge_worker = SyncWorker(args.commiter_name, args.commiter_email, args.commiter_name, args.commiter_email, commit_queue=commit_queue, repository=router.repo, upstream="origin", branch=args.branch, repo_path=router.repo_path, timeout=args.merge_timeout, credentials=credentials, min_idle_times=args.min_idle_times) fetch_worker = FetchWorker(upstream="origin", branch=args.branch, repository=router.repo, timeout=args.fetch_timeout, credentials=credentials, idle_timeout=args.idle_fetch_timeout) merge_worker.daemon = True fetch_worker.daemon = True router.workers = [merge_worker, fetch_worker] return merge_worker, fetch_worker, router
def prepare_components(args): commit_queue = CommitQueue() credentials = get_credentials(args) try: # setting router router = Router(remote_url=args.remote_url, mount_path=args.mount_point, current_path=args.current_path, history_path=args.history_path, repo_path=args.repo_path, branch=args.branch, user=args.user, group=args.group, max_size=args.max_size * 1024 * 1024, max_offset=args.max_size * 1024 * 1024, commit_queue=commit_queue, credentials=credentials, ignore_file=args.ignore_file, hard_ignore=args.hard_ignore) except KeyError as error: sys.stderr.write("Can't clone reference origin/%s from remote %s: %s\n" % (args.branch, args.remote_url, error)) raise error # register all the routes routes = prepare_routes(args) router.register(routes) # setup workers merge_worker = SyncWorker(args.commiter_name, args.commiter_email, args.commiter_name, args.commiter_email, commit_queue=commit_queue, repository=router.repo, upstream="origin", branch=args.branch, repo_path=router.repo_path, timeout=args.merge_timeout, credentials=credentials, min_idle_times=args.min_idle_times) fetch_worker = FetchWorker(upstream="origin", branch=args.branch, repository=router.repo, timeout=args.fetch_timeout, credentials=credentials, idle_timeout=args.idle_fetch_timeout) merge_worker.daemon = True fetch_worker.daemon = True router.workers = [merge_worker, fetch_worker] return merge_worker, fetch_worker, router
def prepare_components(args): commit_queue = CommitQueue() credentials = get_credentials(args) # setting router router = Router(remote_url=args.remote_url, mount_path=args.mount_point, repo_path=args.repo_path, branch=args.branch, user=args.user, group=args.group, max_size=args.max_size * 1024 * 1024, max_offset=args.max_size * 1024 * 1024, commit_queue=commit_queue, credentials=credentials, ignore_file=args.ignore_file, hard_ignore=args.hard_ignore) # register all the routes router.register(routes) # setup workers merge_worker = SyncWorker(args.commiter_name, args.commiter_email, args.commiter_name, args.commiter_email, commit_queue=commit_queue, repository=router.repo, upstream="origin", branch=args.branch, repo_path=router.repo_path, timeout=args.merge_timeout, credentials=credentials, min_idle_times=args.min_idle_times) fetch_worker = FetchWorker(upstream="origin", branch=args.branch, repository=router.repo, timeout=args.fetch_timeout, credentials=credentials, idle_timeout=args.idle_fetch_timeout) merge_worker.daemon = True fetch_worker.daemon = True router.workers = [merge_worker, fetch_worker] return merge_worker, fetch_worker, router
def get_new_router(self): mocked_credentials = MagicMock() mocked_branch = MagicMock() mocked_repo = MagicMock() mocked_repository = MagicMock() mocked_log = MagicMock() mocked_ignore = MagicMock() mocked_cache_ignore = MagicMock() mocked_lru = MagicMock() mocked_pwnam = MagicMock() mocked_grnam = MagicMock() mocked_time = MagicMock() mocked_queue = MagicMock() mocked_shutil = MagicMock() mocked_shutting = MagicMock() mocked_fetch = MagicMock() mocked_time.time.return_value = 0 mocked_repository.clone.return_value = mocked_repo mocked_ignore.return_value = mocked_cache_ignore mocked_pwnam.return_value.pw_uid = 1 mocked_grnam.return_value.gr_gid = 1 mocks = { 'repository': mocked_repository, 'repo': mocked_repo, 'log': mocked_log, 'ignore': mocked_ignore, 'ignore_cache': mocked_ignore, 'lru': mocked_lru, 'getpwnam': mocked_pwnam, 'getgrnam': mocked_grnam, 'time': mocked_time, 'queue': mocked_queue, 'shutil': mocked_shutil, 'shutting': mocked_shutting, 'fetch': mocked_fetch, } init_kwargs = { 'remote_url': 'remote_url', 'repo_path': 'repository_path', 'mount_path': 'mount_path', 'credentials': mocked_credentials, 'branch': mocked_branch, 'user': '******', 'group': 'root', 'commit_queue': mocked_queue, 'max_size': 10, 'max_offset': 10, 'ignore_file': '', 'module_file': '', 'hard_ignore': None, } with patch.multiple('gitfs.router', Repository=mocked_repository, log=mocked_log, CachedIgnore=mocked_ignore, lru_cache=mocked_lru, getpwnam=mocked_pwnam, getgrnam=mocked_grnam, time=mocked_time, shutil=mocked_shutil, fetch=mocked_fetch, shutting_down=mocked_shutting): router = Router(**init_kwargs) mocks.update(init_kwargs) return router, mocks
def get_new_router(self): mocked_credentials = MagicMock() mocked_branch = MagicMock() mocked_repo = MagicMock() mocked_repository = MagicMock() mocked_log = MagicMock() mocked_ignore = MagicMock() mocked_cache_ignore = MagicMock() mocked_lru = MagicMock() mocked_pwnam = MagicMock() mocked_grnam = MagicMock() mocked_time = MagicMock() mocked_queue = MagicMock() mocked_shutil = MagicMock() mocked_shutting = MagicMock() mocked_fetch = MagicMock() mocked_time.time.return_value = 0 mocked_repository.clone.return_value = mocked_repo mocked_ignore.return_value = mocked_cache_ignore mocked_pwnam.return_value.pw_uid = 1 mocked_grnam.return_value.gr_gid = 1 mocks = { "repository": mocked_repository, "repo": mocked_repo, "log": mocked_log, "ignore": mocked_ignore, "ignore_cache": mocked_ignore, "lru": mocked_lru, "getpwnam": mocked_pwnam, "getgrnam": mocked_grnam, "time": mocked_time, "queue": mocked_queue, "shutil": mocked_shutil, "shutting": mocked_shutting, "fetch": mocked_fetch, } init_kwargs = { "remote_url": "remote_url", "repo_path": "repository_path", "mount_path": "mount_path", "credentials": mocked_credentials, "branch": mocked_branch, "user": "******", "group": "root", "commit_queue": mocked_queue, "max_size": 10, "max_offset": 10, "ignore_file": "", "module_file": "", "hard_ignore": None, } with patch.multiple( "gitfs.router", Repository=mocked_repository, log=mocked_log, CachedIgnore=mocked_ignore, lru_cache=mocked_lru, getpwnam=mocked_pwnam, getgrnam=mocked_grnam, time=mocked_time, shutil=mocked_shutil, fetch=mocked_fetch, shutting_down=mocked_shutting, ): router = Router(**init_kwargs) mocks.update(init_kwargs) return router, mocks
def prepare_components(args): commit_queue = CommitQueue() credentials = get_credentials(args) try: # setting router router = Router(remote_url=args.remote_url, mount_path=args.mount_point, current_path=args.current_path, history_path=args.history_path, repo_path=args.repo_path, branch=args.branch, user=args.user, group=args.group, max_size=args.max_size * 1024 * 1024, max_offset=args.max_size * 1024 * 1024, commit_queue=commit_queue, credentials=credentials, ignore_file=args.ignore_file, hard_ignore=args.hard_ignore) except KeyError as error: sys.stderr.write( "Can't clone reference origin/%s from remote %s: %s\n" % (args.branch, args.remote_url, error)) raise error # register all the routes routes = prepare_routes(args) router.register(routes) # determine global git user/email if not set (default is to use hostname) if ('@%s' % socket.gethostname() ) in args.commiter_email and router.repo.default_signature: sig = router.repo.default_signature args.commiter_email = sig.email args.commiter_name = sig.name log.info('Using default signature: %s <%s>', sig.name, sig.email) # setup workers merge_worker = SyncWorker(args.commiter_name, args.commiter_email, args.commiter_name, args.commiter_email, commit_queue=commit_queue, repository=router.repo, upstream="origin", branch=args.branch, repo_path=router.repo_path, timeout=args.merge_timeout, credentials=credentials, min_idle_times=args.min_idle_times) fetch_worker = FetchWorker(upstream="origin", branch=args.branch, repository=router.repo, timeout=args.fetch_timeout, credentials=credentials, idle_timeout=args.idle_fetch_timeout) merge_worker.daemon = True fetch_worker.daemon = True router.workers = [merge_worker, fetch_worker] return merge_worker, fetch_worker, router