async def test_do_tagging(context, mocker): called_args = [] async def run_command(context, *arguments, local_repo=None): called_args.append( [tuple([context]) + arguments, { 'local_repo': local_repo }]) mocker.patch.object(mercurial, 'run_hg_command', new=run_command) mocked_tag_info = mocker.patch.object(mercurial, 'get_tag_info') mocked_tag_info.return_value = { 'revision': 'deadbeef', 'tags': ['TAG1', 'TAG2'] } mocked_source_repo = mocker.patch.object(mercurial, 'get_source_repo') mocked_source_repo.return_value = 'https://hg.mozilla.org/treescript-test' await mercurial.do_tagging(context, context.config['work_dir']) assert len(called_args) == 2 assert 'local_repo' in called_args[0][1] assert 'local_repo' in called_args[1][1] assert is_slice_in_list(('pull', '-r', 'deadbeef'), called_args[0][0]) assert is_slice_in_list(('-r', 'deadbeef'), called_args[1][0]) assert is_slice_in_list(('TAG1', 'TAG2'), called_args[1][0])
async def test_log_outgoing(context, mocker): called_args = [] async def run_command(context, *arguments, local_repo=None): called_args.append([tuple([context]) + arguments, {'local_repo': local_repo}]) mocker.patch.object(mercurial, 'run_hg_command', new=run_command) mocked_source_repo = mocker.patch.object(mercurial, 'get_source_repo') mocked_source_repo.return_value = 'https://hg.mozilla.org/treescript-test' await mercurial.log_outgoing(context, context.config['work_dir']) assert len(called_args) == 1 assert 'local_repo' in called_args[0][1] assert is_slice_in_list(('out', '-vp'), called_args[0][0]) assert is_slice_in_list(('-r', '.'), called_args[0][0]) assert is_slice_in_list(('https://hg.mozilla.org/treescript-test', ), called_args[0][0])
async def test_log_outgoing(context, mocker): called_args = [] async def run_command(context, *arguments, local_repo=None): called_args.append([tuple([context]) + arguments, {'local_repo': local_repo}]) mocker.patch.object(mercurial, 'run_hg_command', new=run_command) mocked_source_repo = mocker.patch.object(mercurial, 'get_source_repo') mocked_source_repo.return_value = 'https://hg.mozilla.org/treescript-test' await mercurial.log_outgoing(context, context.config['work_dir']) assert len(called_args) == 1 assert 'local_repo' in called_args[0][1] assert is_slice_in_list(('out', '-vp'), called_args[0][0]) assert is_slice_in_list(('-r', '.'), called_args[0][0]) assert is_slice_in_list(('https://hg.mozilla.org/treescript-test', ), called_args[0][0])
async def test_bump_version_esr(mocker, repo_context, new_version, expect_version): if not repo_context.xtest_version.endswith('esr'): # XXX pytest.skip raised exceptions here for some reason. return called_args = [] async def run_command(context, *arguments, local_repo=None): called_args.append( [tuple([context]) + arguments, { 'local_repo': local_repo }]) relative_files = [os.path.join('config', 'milestone.txt')] bump_info = {'files': relative_files, 'next_version': new_version} mocked_bump_info = mocker.patch.object(vmanip, 'get_version_bump_info') mocked_bump_info.return_value = bump_info mocker.patch.object(vmanip, 'run_hg_command', new=run_command) await vmanip.bump_version(repo_context) assert expect_version == vmanip._get_version( os.path.join(repo_context.repo, relative_files[0])) assert len(called_args) == 1 assert 'local_repo' in called_args[0][1] assert is_slice_in_list(('commit', '-m'), called_args[0][0])
async def test_push_ssh(repo_context, mocker, options, expect): called_args = [] async def run_command(context, *arguments, local_repo=None): called_args.append([tuple([context]) + arguments, {'local_repo': local_repo}]) print() repo_context.config.update(options) mocker.patch.object(mercurial, 'run_hg_command', new=run_command) mocked_source_repo = mocker.patch.object(mercurial, 'get_source_repo') mocked_source_repo.return_value = 'https://hg.mozilla.org/treescript-test' await mercurial.push(repo_context) assert len(called_args) == 1 assert 'local_repo' in called_args[0][1] assert is_slice_in_list(('-r', '.'), called_args[0][0]) assert 'ssh://hg.mozilla.org/treescript-test' in called_args[0][0] assert is_slice_in_list(('push', '-e', expect), called_args[0][0])
async def test_push_ssh(repo_context, mocker, options, expect): called_args = [] async def run_command(context, *arguments, local_repo=None): called_args.append([tuple([context]) + arguments, {'local_repo': local_repo}]) print() repo_context.config.update(options) mocker.patch.object(mercurial, 'run_hg_command', new=run_command) mocked_source_repo = mocker.patch.object(mercurial, 'get_source_repo') mocked_source_repo.return_value = 'https://hg.mozilla.org/treescript-test' await mercurial.push(repo_context) assert len(called_args) == 1 assert 'local_repo' in called_args[0][1] assert is_slice_in_list(('-r', '.'), called_args[0][0]) assert 'ssh://hg.mozilla.org/treescript-test' in called_args[0][0] assert is_slice_in_list(('push', '-e', expect), called_args[0][0])
async def test_do_tagging(context, mocker): called_args = [] async def run_command(context, *arguments, local_repo=None): called_args.append([tuple([context]) + arguments, {'local_repo': local_repo}]) mocker.patch.object(mercurial, 'run_hg_command', new=run_command) mocked_tag_info = mocker.patch.object(mercurial, 'get_tag_info') mocked_tag_info.return_value = {'revision': 'deadbeef', 'tags': ['TAG1', 'TAG2']} mocked_source_repo = mocker.patch.object(mercurial, 'get_source_repo') mocked_source_repo.return_value = 'https://hg.mozilla.org/treescript-test' await mercurial.do_tagging(context, context.config['work_dir']) assert len(called_args) == 2 assert 'local_repo' in called_args[0][1] assert 'local_repo' in called_args[1][1] assert is_slice_in_list(('pull', '-r', 'deadbeef'), called_args[0][0]) assert is_slice_in_list(('-r', 'deadbeef'), called_args[1][0]) assert is_slice_in_list(('TAG1', 'TAG2'), called_args[1][0])
async def test_run_hg_command_localrepo(mocker, context): args = ['foobar', '--bar'] called_args = [] async def run_command(*arguments, **kwargs): called_args.append([*arguments, kwargs]) mocker.patch.object(mercurial, 'execute_subprocess', new=run_command) env_call = mocker.patch.object(mercurial, 'build_hg_environment') cmd_call = mocker.patch.object(mercurial, 'build_hg_command') env = {'HGPLAIN': 1, 'LANG': 'C'} env_call.return_value = env cmd_call.return_value = ['hg', *args] await mercurial.run_hg_command(context, *args, local_repo='/tmp/localrepo') env_call.assert_called_with() cmd_call.assert_called_with(context, *args) assert len(called_args) == 1 is_slice_in_list(['-R', '/tmp/localrepo'], called_args[0][0])
async def test_run_hg_command_localrepo(mocker, context): args = ['foobar', '--bar'] called_args = [] async def run_command(*arguments, **kwargs): called_args.append([*arguments, kwargs]) mocker.patch.object(mercurial, 'execute_subprocess', new=run_command) env_call = mocker.patch.object(mercurial, 'build_hg_environment') cmd_call = mocker.patch.object(mercurial, 'build_hg_command') env = {'HGPLAIN': 1, 'LANG': 'C'} env_call.return_value = env cmd_call.return_value = ['hg', *args] await mercurial.run_hg_command(context, *args, local_repo='/tmp/localrepo') env_call.assert_called_with() cmd_call.assert_called_with(context, *args) assert len(called_args) == 1 is_slice_in_list(['-R', '/tmp/localrepo'], called_args[0][0])
async def test_bump_version(mocker, repo_context, new_version): called_args = [] async def run_command(context, *arguments, local_repo=None): called_args.append([tuple([context]) + arguments, {'local_repo': local_repo}]) test_version = new_version if repo_context.xtest_version.endswith('esr'): test_version = new_version + 'esr' relative_files = [os.path.join('config', 'milestone.txt')] bump_info = {'files': relative_files, 'next_version': new_version} mocked_bump_info = mocker.patch.object(vmanip, 'get_version_bump_info') mocked_bump_info.return_value = bump_info mocker.patch.object(vmanip, 'run_hg_command', new=run_command) await vmanip.bump_version(repo_context) assert test_version == vmanip._get_version( os.path.join(repo_context.repo, relative_files[0])) assert len(called_args) == 1 assert 'local_repo' in called_args[0][1] assert is_slice_in_list(('commit', '-m'), called_args[0][0])
async def test_bump_version(mocker, repo_context, new_version, should_append_esr): called_args = [] async def run_command(context, *arguments, local_repo=None): called_args.append([tuple([context]) + arguments, {'local_repo': local_repo}]) test_version = new_version if repo_context.xtest_version.endswith('esr') and should_append_esr: test_version = new_version + 'esr' relative_files = [os.path.join('config', 'milestone.txt')] bump_info = {'files': relative_files, 'next_version': new_version} mocked_bump_info = mocker.patch.object(vmanip, 'get_version_bump_info') mocked_bump_info.return_value = bump_info mocker.patch.object(vmanip, 'run_hg_command', new=run_command) await vmanip.bump_version(repo_context) assert test_version == vmanip._get_version( os.path.join(repo_context.repo, relative_files[0])) assert len(called_args) == 1 assert 'local_repo' in called_args[0][1] assert is_slice_in_list(('commit', '-m'), called_args[0][0])
async def check_params(*args, **kwargs): assert is_slice_in_list(('--sharebase', '/builds/hg-shared-test'), args) assert is_slice_in_list(('robustcheckout', 'https://hg.mozilla.org/test-repo', os.path.join(context.config['work_dir'], 'src')), args)
async def check_params(*args, **kwargs): assert is_slice_in_list(('--sharebase', '/builds/hg-shared-test'), args) assert is_slice_in_list( ('robustcheckout', 'https://hg.mozilla.org/test-repo', os.path.join(context.config['work_dir'], 'src')), args)