pip/tests/unit/test_vcs_mercurial.py

33 lines
795 B
Python

"""
Contains functional tests of the Mercurial class.
"""
import os
from pip._vendor.six.moves import configparser
from pip._internal.vcs.mercurial import Mercurial
from tests.lib import need_mercurial
@need_mercurial
def test_mercurial_switch_updates_config_file_when_found(tmpdir):
hg = Mercurial()
options = hg.make_rev_options()
hg_dir = os.path.join(tmpdir, '.hg')
os.mkdir(hg_dir)
config = configparser.RawConfigParser()
config.add_section('paths')
config.set('paths', 'default', 'old_url')
hgrc_path = os.path.join(hg_dir, 'hgrc')
with open(hgrc_path, 'w') as f:
config.write(f)
hg.switch(tmpdir, 'new_url', options)
config.read(hgrc_path)
default_path = config.get('paths', 'default')
assert default_path == 'new_url'