Exemplo n.º 1
0
    def test_prepare_components(self):
        mocked_argparse = MagicMock()
        mocked_parser = MagicMock()
        mocked_args = MagicMock()
        mocked_queue = MagicMock()
        mocked_router = MagicMock()
        mocked_routes = MagicMock()
        mocked_merger = MagicMock()
        mocked_fetcher = MagicMock()
        mocked_fuse = MagicMock()
        mocked_merge_worker = MagicMock()
        mocked_fetch_worker = MagicMock()

        args = EmptyObject(**{
            'remote_url': 'remote_url',
            'mount_point': 'mount_point',
            'username': '******',
            'password': '',
            'ssh_key': '/home/user/.ssh/id_rsa',
            'ssh_user': '******',
            'foreground': True,
            'allow_root': True,
            'allow_others': True,
            'repo_path': 'repo_path',
            'branch': 'branch',
            'user': '******',
            'group': 'group',
            'max_size': 'max_size',
            'max_offset': 'max_offset',
            'upstream': 'origin',
            'fetch_timeout': 10,
            'merge_timeout': 10,
            'commiter_name': 'commit',
            'commiter_email': '*****@*****.**',
            'log': 'syslog',
            'ignore_file': '',
            'module_file': '',
            'hard_ignore': None,
            'min_idle_times': 1,
            'idle_fetch_timeout': 10,
        })

        mocked_argparse.Argumentparser.return_value = mocked_parser
        mocked_args.return_value = args
        mocked_merger.return_value = mocked_merge_worker
        mocked_fetcher.return_value = mocked_fetch_worker
        mocked_router.repo = 'repo'
        mocked_router.repo_path = 'repo_path'

        with patch.multiple('gitfs.mounter',
                            CommitQueue=MagicMock(return_value=mocked_queue),
                            Router=MagicMock(return_value=mocked_router),
                            routes=mocked_routes, SyncWorker=mocked_merger,
                            FetchWorker=mocked_fetcher, FUSE=mocked_fuse):

            assert_result = (mocked_merge_worker, mocked_fetch_worker,
                             mocked_router)

            assert prepare_components(args) == assert_result
            mocked_fetcher.assert_called_once_with(upstream='origin',
                                                   branch='branch',
                                                   repository='repo',
                                                   timeout=10,
                                                   idle_timeout=10)

            asserted_call = {
                'repository': 'repo',
                'upstream': 'origin',
                'branch': 'branch',
                'timeout': 10,
                'repo_path': 'repo_path',
                'commit_queue': mocked_queue,
                'min_idle_times': 1,
            }
            mocked_merger.assert_called_once_with('commit',
                                                  '*****@*****.**',
                                                  'commit',
                                                  '*****@*****.**',
                                                  **asserted_call)
Exemplo n.º 2
0
    def test_prepare_components(self):
        mocked_argparse = MagicMock()
        mocked_parser = MagicMock()
        mocked_args = MagicMock()
        mocked_queue = MagicMock()
        mocked_router = MagicMock()
        mocked_routes = MagicMock()
        mocked_merger = MagicMock()
        mocked_fetcher = MagicMock()
        mocked_fuse = MagicMock()
        mocked_merge_worker = MagicMock()
        mocked_fetch_worker = MagicMock()

        args = EmptyObject(
            **{
                "remote_url": "remote_url",
                "mount_point": "mount_point",
                "username": "******",
                "current_path": "current",
                "history_path": "history",
                "password": "",
                "ssh_key": "/home/user/.ssh/id_rsa",
                "ssh_user": "******",
                "foreground": True,
                "allow_root": True,
                "allow_others": True,
                "repo_path": "repo_path",
                "branch": "branch",
                "user": "******",
                "group": "group",
                "max_size": "max_size",
                "max_offset": "max_offset",
                "upstream": "origin",
                "fetch_timeout": 10,
                "merge_timeout": 10,
                "commiter_name": "commit",
                "commiter_email": "*****@*****.**",
                "log": "syslog",
                "ignore_file": "",
                "module_file": "",
                "hard_ignore": None,
                "min_idle_times": 1,
                "idle_fetch_timeout": 10,
            })

        mocked_argparse.Argumentparser.return_value = mocked_parser
        mocked_args.return_value = args
        mocked_merger.return_value = mocked_merge_worker
        mocked_fetcher.return_value = mocked_fetch_worker
        mocked_router.repo = "repo"
        mocked_router.repo_path = "repo_path"

        with patch.multiple(
                "gitfs.mounter",
                CommitQueue=MagicMock(return_value=mocked_queue),
                Router=MagicMock(return_value=mocked_router),
                prepare_routes=mocked_routes,
                SyncWorker=mocked_merger,
                FetchWorker=mocked_fetcher,
                FUSE=mocked_fuse,
                get_credentials=MagicMock(return_value="cred"),
        ):

            assert_result = (mocked_merge_worker, mocked_fetch_worker,
                             mocked_router)

            assert prepare_components(args) == assert_result
            mocked_fetcher.assert_called_once_with(
                upstream="origin",
                branch="branch",
                repository="repo",
                timeout=10,
                idle_timeout=10,
                credentials="cred",
            )

            asserted_call = {
                "repository": "repo",
                "upstream": "origin",
                "branch": "branch",
                "timeout": 10,
                "repo_path": "repo_path",
                "commit_queue": mocked_queue,
                "credentials": "cred",
                "min_idle_times": 1,
            }
            mocked_merger.assert_called_once_with("commit",
                                                  "*****@*****.**",
                                                  "commit",
                                                  "*****@*****.**",
                                                  **asserted_call)