async def test_bump_version_esr_dont_bump_non_esr(mocker, context, tmpdir, new_version, expect_esr_version): version = '52.0.1' context.repo = os.path.join(tmpdir, 'repo') os.mkdir(context.repo) os.mkdir(os.path.join(context.repo, 'config')) os.makedirs(os.path.join(context.repo, 'browser', 'config')) version_file = os.path.join(context.repo, 'config', 'milestone.txt') with open(version_file, 'w') as f: f.write(version) display_version_file = os.path.join(context.repo, 'browser', 'config', 'version_display.txt') with open(display_version_file, 'w') as f: f.write(version + 'esr') 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('browser', 'config', 'version_display.txt'), 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(context) assert expect_esr_version == vmanip._get_version( os.path.join(context.repo, display_version_file)) assert new_version == vmanip._get_version( os.path.join(context.repo, version_file)) assert len(called_args) == 1
async def test_bump_version_esr_dont_bump_non_esr(mocker, context, tmpdir, new_version, expect_esr_version): version = '56.0.1' context.repo = os.path.join(tmpdir, 'repo') os.mkdir(context.repo) os.mkdir(os.path.join(context.repo, 'config')) os.makedirs(os.path.join(context.repo, 'browser', 'config')) version_file = os.path.join(context.repo, 'config', 'milestone.txt') with open(version_file, 'w') as f: f.write(version) display_version_file = os.path.join(context.repo, 'browser', 'config', 'version_display.txt') with open(display_version_file, 'w') as f: f.write(version + 'esr') 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('browser', 'config', 'version_display.txt'), 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(context) assert expect_esr_version == vmanip._get_version( os.path.join(context.repo, display_version_file)) assert new_version == vmanip._get_version( os.path.join(context.repo, version_file)) assert len(called_args) == 1
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_bump_version_same_version(mocker, repo_context): 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': repo_context.xtest_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 repo_context.xtest_version == vmanip._get_version( os.path.join(repo_context.repo, relative_files[0])) assert len(called_args) == 0
async def test_bump_version_missing_file(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 only creates config/milestone.txt relative_files = [os.path.join('browser', 'config', 'version_display.txt'), 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) with pytest.raises(TaskVerificationError): await vmanip.bump_version(repo_context) assert repo_context.xtest_version == vmanip._get_version( os.path.join(repo_context.repo, relative_files[1])) assert len(called_args) == 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])
def test_replace_ver_in_file(repo_context, new_version): filepath = os.path.join(repo_context.repo, 'config', 'milestone.txt') old_ver = repo_context.xtest_version vmanip.replace_ver_in_file(filepath, old_ver, new_version) assert new_version == vmanip._get_version(filepath)
def test_get_version(repo_context): ver = vmanip._get_version(os.path.join(repo_context.repo, 'config', 'milestone.txt')) assert ver == repo_context.xtest_version
def test_get_version(repo_context): ver = vmanip._get_version( os.path.join(repo_context.repo, 'config', 'milestone.txt')) assert ver == repo_context.xtest_version