mirror of
https://github.com/saltstack/salt.git
synced 2025-04-17 10:10:20 +00:00
Merge pull request #9 from terminalmage/twangboy/fix_47024
Lint and test fixes
This commit is contained in:
commit
57d98224d4
2 changed files with 207 additions and 199 deletions
|
@ -50,7 +50,7 @@ class PipTestCase(TestCase, LoaderModuleMockMixin):
|
|||
'git+https://github.com/saltstack/salt-testing.git#egg=SaltTesting'
|
||||
]
|
||||
|
||||
expected = [sys.executable, '-m','pip', 'install']
|
||||
expected = [sys.executable, '-m', 'pip', 'install']
|
||||
for item in editables:
|
||||
expected.extend(['--editable', item])
|
||||
|
||||
|
@ -301,14 +301,18 @@ class PipTestCase(TestCase, LoaderModuleMockMixin):
|
|||
mock_path.isdir.return_value = True
|
||||
mock_path.join = join
|
||||
|
||||
if salt.utils.is_windows():
|
||||
venv_path = 'C:\\test_env'
|
||||
bin_path = os.path.join(venv_path, 'python.exe')
|
||||
else:
|
||||
venv_path = '/test_env'
|
||||
bin_path = os.path.join(venv_path, 'python')
|
||||
|
||||
mock = MagicMock(return_value={'retcode': 0, 'stdout': ''})
|
||||
with patch.dict(pip.__salt__, {'cmd.run_all': mock}):
|
||||
if salt.utils.is_windows():
|
||||
venv_path = 'C:\\test_env'
|
||||
bin_path = os.path.join(venv_path, 'python.exe')
|
||||
else:
|
||||
venv_path = '/test_env'
|
||||
bin_path = os.path.join(venv_path, 'python')
|
||||
pip_bin = MagicMock(return_value=[bin_path, '-m', 'pip'])
|
||||
|
||||
with patch.dict(pip.__salt__, {'cmd.run_all': mock}), \
|
||||
patch.object(pip, '_get_pip_bin', pip_bin):
|
||||
pip.install('mock', bin_env=venv_path)
|
||||
mock.assert_called_with(
|
||||
[bin_path, '-m', 'pip', 'install', 'mock'],
|
||||
|
|
|
@ -43,211 +43,156 @@ class PipStateTest(TestCase, SaltReturnAssertsMixin, LoaderModuleMockMixin):
|
|||
def test_install_requirements_parsing(self):
|
||||
mock = MagicMock(return_value={'retcode': 0, 'stdout': ''})
|
||||
pip_list = MagicMock(return_value={'pep8': '1.3.3'})
|
||||
with patch.dict(pip_state.__salt__, {'cmd.run_all': mock,
|
||||
'pip.list': pip_list}):
|
||||
with patch.dict(pip_state.__opts__, {'test': True}):
|
||||
ret = pip_state.installed('pep8=1.3.2')
|
||||
self.assertSaltFalseReturn({'test': ret})
|
||||
self.assertInSaltComment(
|
||||
'Invalid version specification in package pep8=1.3.2. '
|
||||
'\'=\' is not supported, use \'==\' instead.',
|
||||
{'test': ret}
|
||||
)
|
||||
pip_version = MagicMock(return_value='10.0.1')
|
||||
with patch.dict(pip_state.__salt__, {'pip.version': pip_version}):
|
||||
with patch.dict(pip_state.__salt__, {'cmd.run_all': mock,
|
||||
'pip.list': pip_list}):
|
||||
with patch.dict(pip_state.__opts__, {'test': True}):
|
||||
ret = pip_state.installed('pep8=1.3.2')
|
||||
self.assertSaltFalseReturn({'test': ret})
|
||||
self.assertInSaltComment(
|
||||
'Invalid version specification in package pep8=1.3.2. '
|
||||
'\'=\' is not supported, use \'==\' instead.',
|
||||
{'test': ret}
|
||||
)
|
||||
|
||||
mock = MagicMock(return_value={'retcode': 0, 'stdout': ''})
|
||||
pip_list = MagicMock(return_value={'pep8': '1.3.3'})
|
||||
pip_install = MagicMock(return_value={'retcode': 0})
|
||||
with patch.dict(pip_state.__salt__, {'cmd.run_all': mock,
|
||||
'pip.list': pip_list,
|
||||
'pip.install': pip_install}):
|
||||
with patch.dict(pip_state.__opts__, {'test': True}):
|
||||
ret = pip_state.installed('pep8>=1.3.2')
|
||||
self.assertSaltTrueReturn({'test': ret})
|
||||
self.assertInSaltComment(
|
||||
'Python package pep8>=1.3.2 was already installed',
|
||||
{'test': ret}
|
||||
)
|
||||
mock = MagicMock(return_value={'retcode': 0, 'stdout': ''})
|
||||
pip_list = MagicMock(return_value={'pep8': '1.3.3'})
|
||||
pip_install = MagicMock(return_value={'retcode': 0})
|
||||
with patch.dict(pip_state.__salt__, {'cmd.run_all': mock,
|
||||
'pip.list': pip_list,
|
||||
'pip.install': pip_install}):
|
||||
with patch.dict(pip_state.__opts__, {'test': True}):
|
||||
ret = pip_state.installed('pep8>=1.3.2')
|
||||
self.assertSaltTrueReturn({'test': ret})
|
||||
self.assertInSaltComment(
|
||||
'Python package pep8>=1.3.2 was already installed',
|
||||
{'test': ret}
|
||||
)
|
||||
|
||||
mock = MagicMock(return_value={'retcode': 0, 'stdout': ''})
|
||||
pip_list = MagicMock(return_value={'pep8': '1.3.3'})
|
||||
with patch.dict(pip_state.__salt__, {'cmd.run_all': mock,
|
||||
'pip.list': pip_list}):
|
||||
with patch.dict(pip_state.__opts__, {'test': True}):
|
||||
ret = pip_state.installed('pep8<1.3.2')
|
||||
self.assertSaltNoneReturn({'test': ret})
|
||||
self.assertInSaltComment(
|
||||
'Python package pep8<1.3.2 is set to be installed',
|
||||
{'test': ret}
|
||||
)
|
||||
mock = MagicMock(return_value={'retcode': 0, 'stdout': ''})
|
||||
pip_list = MagicMock(return_value={'pep8': '1.3.3'})
|
||||
with patch.dict(pip_state.__salt__, {'cmd.run_all': mock,
|
||||
'pip.list': pip_list}):
|
||||
with patch.dict(pip_state.__opts__, {'test': True}):
|
||||
ret = pip_state.installed('pep8<1.3.2')
|
||||
self.assertSaltNoneReturn({'test': ret})
|
||||
self.assertInSaltComment(
|
||||
'Python package pep8<1.3.2 is set to be installed',
|
||||
{'test': ret}
|
||||
)
|
||||
|
||||
mock = MagicMock(return_value={'retcode': 0, 'stdout': ''})
|
||||
pip_list = MagicMock(return_value={'pep8': '1.3.2'})
|
||||
pip_install = MagicMock(return_value={'retcode': 0})
|
||||
with patch.dict(pip_state.__salt__, {'cmd.run_all': mock,
|
||||
'pip.list': pip_list,
|
||||
'pip.install': pip_install}):
|
||||
with patch.dict(pip_state.__opts__, {'test': True}):
|
||||
ret = pip_state.installed('pep8>1.3.1,<1.3.3')
|
||||
self.assertSaltTrueReturn({'test': ret})
|
||||
self.assertInSaltComment(
|
||||
'Python package pep8>1.3.1,<1.3.3 was already installed',
|
||||
{'test': ret}
|
||||
)
|
||||
mock = MagicMock(return_value={'retcode': 0, 'stdout': ''})
|
||||
pip_list = MagicMock(return_value={'pep8': '1.3.2'})
|
||||
pip_install = MagicMock(return_value={'retcode': 0})
|
||||
with patch.dict(pip_state.__salt__, {'cmd.run_all': mock,
|
||||
'pip.list': pip_list,
|
||||
'pip.install': pip_install}):
|
||||
with patch.dict(pip_state.__opts__, {'test': True}):
|
||||
ret = pip_state.installed('pep8>1.3.1,<1.3.3')
|
||||
self.assertSaltTrueReturn({'test': ret})
|
||||
self.assertInSaltComment(
|
||||
'Python package pep8>1.3.1,<1.3.3 was already installed',
|
||||
{'test': ret}
|
||||
)
|
||||
|
||||
mock = MagicMock(return_value={'retcode': 0, 'stdout': ''})
|
||||
pip_list = MagicMock(return_value={'pep8': '1.3.1'})
|
||||
pip_install = MagicMock(return_value={'retcode': 0})
|
||||
with patch.dict(pip_state.__salt__, {'cmd.run_all': mock,
|
||||
'pip.list': pip_list,
|
||||
'pip.install': pip_install}):
|
||||
with patch.dict(pip_state.__opts__, {'test': True}):
|
||||
ret = pip_state.installed('pep8>1.3.1,<1.3.3')
|
||||
self.assertSaltNoneReturn({'test': ret})
|
||||
self.assertInSaltComment(
|
||||
'Python package pep8>1.3.1,<1.3.3 is set to be installed',
|
||||
{'test': ret}
|
||||
)
|
||||
mock = MagicMock(return_value={'retcode': 0, 'stdout': ''})
|
||||
pip_list = MagicMock(return_value={'pep8': '1.3.1'})
|
||||
pip_install = MagicMock(return_value={'retcode': 0})
|
||||
with patch.dict(pip_state.__salt__, {'cmd.run_all': mock,
|
||||
'pip.list': pip_list,
|
||||
'pip.install': pip_install}):
|
||||
with patch.dict(pip_state.__opts__, {'test': True}):
|
||||
ret = pip_state.installed('pep8>1.3.1,<1.3.3')
|
||||
self.assertSaltNoneReturn({'test': ret})
|
||||
self.assertInSaltComment(
|
||||
'Python package pep8>1.3.1,<1.3.3 is set to be installed',
|
||||
{'test': ret}
|
||||
)
|
||||
|
||||
mock = MagicMock(return_value={'retcode': 0, 'stdout': ''})
|
||||
pip_list = MagicMock(return_value={'pep8': '1.3.1'})
|
||||
with patch.dict(pip_state.__salt__, {'cmd.run_all': mock,
|
||||
'pip.list': pip_list}):
|
||||
with patch.dict(pip_state.__opts__, {'test': True}):
|
||||
ret = pip_state.installed(
|
||||
'git+https://github.com/saltstack/salt-testing.git#egg=SaltTesting>=0.5.1'
|
||||
)
|
||||
self.assertSaltNoneReturn({'test': ret})
|
||||
self.assertInSaltComment(
|
||||
'Python package git+https://github.com/saltstack/'
|
||||
'salt-testing.git#egg=SaltTesting>=0.5.1 is set to be '
|
||||
'installed',
|
||||
{'test': ret}
|
||||
)
|
||||
mock = MagicMock(return_value={'retcode': 0, 'stdout': ''})
|
||||
pip_list = MagicMock(return_value={'pep8': '1.3.1'})
|
||||
with patch.dict(pip_state.__salt__, {'cmd.run_all': mock,
|
||||
'pip.list': pip_list}):
|
||||
with patch.dict(pip_state.__opts__, {'test': True}):
|
||||
ret = pip_state.installed(
|
||||
'git+https://github.com/saltstack/salt-testing.git#egg=SaltTesting>=0.5.1'
|
||||
)
|
||||
self.assertSaltNoneReturn({'test': ret})
|
||||
self.assertInSaltComment(
|
||||
'Python package git+https://github.com/saltstack/'
|
||||
'salt-testing.git#egg=SaltTesting>=0.5.1 is set to be '
|
||||
'installed',
|
||||
{'test': ret}
|
||||
)
|
||||
|
||||
mock = MagicMock(return_value={'retcode': 0, 'stdout': ''})
|
||||
pip_list = MagicMock(return_value={'pep8': '1.3.1'})
|
||||
with patch.dict(pip_state.__salt__, {'cmd.run_all': mock,
|
||||
'pip.list': pip_list}):
|
||||
with patch.dict(pip_state.__opts__, {'test': True}):
|
||||
ret = pip_state.installed(
|
||||
'git+https://github.com/saltstack/salt-testing.git#egg=SaltTesting'
|
||||
)
|
||||
self.assertSaltNoneReturn({'test': ret})
|
||||
self.assertInSaltComment(
|
||||
'Python package git+https://github.com/saltstack/'
|
||||
'salt-testing.git#egg=SaltTesting is set to be '
|
||||
'installed',
|
||||
{'test': ret}
|
||||
)
|
||||
mock = MagicMock(return_value={'retcode': 0, 'stdout': ''})
|
||||
pip_list = MagicMock(return_value={'pep8': '1.3.1'})
|
||||
with patch.dict(pip_state.__salt__, {'cmd.run_all': mock,
|
||||
'pip.list': pip_list}):
|
||||
with patch.dict(pip_state.__opts__, {'test': True}):
|
||||
ret = pip_state.installed(
|
||||
'git+https://github.com/saltstack/salt-testing.git#egg=SaltTesting'
|
||||
)
|
||||
self.assertSaltNoneReturn({'test': ret})
|
||||
self.assertInSaltComment(
|
||||
'Python package git+https://github.com/saltstack/'
|
||||
'salt-testing.git#egg=SaltTesting is set to be '
|
||||
'installed',
|
||||
{'test': ret}
|
||||
)
|
||||
|
||||
mock = MagicMock(return_value={'retcode': 0, 'stdout': ''})
|
||||
pip_list = MagicMock(return_value={'pep8': '1.3.1'})
|
||||
with patch.dict(pip_state.__salt__, {'cmd.run_all': mock,
|
||||
'pip.list': pip_list}):
|
||||
with patch.dict(pip_state.__opts__, {'test': True}):
|
||||
mock = MagicMock(return_value={'retcode': 0, 'stdout': ''})
|
||||
pip_list = MagicMock(return_value={'pep8': '1.3.1'})
|
||||
with patch.dict(pip_state.__salt__, {'cmd.run_all': mock,
|
||||
'pip.list': pip_list}):
|
||||
with patch.dict(pip_state.__opts__, {'test': True}):
|
||||
ret = pip_state.installed(
|
||||
'https://pypi.python.org/packages/source/S/SaltTesting/'
|
||||
'SaltTesting-0.5.0.tar.gz'
|
||||
'#md5=e6760af92b7165f8be53b5763e40bc24'
|
||||
)
|
||||
self.assertSaltNoneReturn({'test': ret})
|
||||
self.assertInSaltComment(
|
||||
'Python package https://pypi.python.org/packages/source/'
|
||||
'S/SaltTesting/SaltTesting-0.5.0.tar.gz'
|
||||
'#md5=e6760af92b7165f8be53b5763e40bc24 is set to be '
|
||||
'installed',
|
||||
{'test': ret}
|
||||
)
|
||||
|
||||
mock = MagicMock(return_value={'retcode': 0, 'stdout': ''})
|
||||
pip_list = MagicMock(return_value={'SaltTesting': '0.5.0'})
|
||||
pip_install = MagicMock(return_value={
|
||||
'retcode': 0,
|
||||
'stderr': '',
|
||||
'stdout': 'Downloading/unpacking https://pypi.python.org/packages'
|
||||
'/source/S/SaltTesting/SaltTesting-0.5.0.tar.gz\n '
|
||||
'Downloading SaltTesting-0.5.0.tar.gz\n Running '
|
||||
'setup.py egg_info for package from '
|
||||
'https://pypi.python.org/packages/source/S/SaltTesting/'
|
||||
'SaltTesting-0.5.0.tar.gz\n \nCleaning up...'
|
||||
})
|
||||
with patch.dict(pip_state.__salt__, {'cmd.run_all': mock,
|
||||
'pip.list': pip_list,
|
||||
'pip.install': pip_install}):
|
||||
ret = pip_state.installed(
|
||||
'https://pypi.python.org/packages/source/S/SaltTesting/'
|
||||
'SaltTesting-0.5.0.tar.gz'
|
||||
'#md5=e6760af92b7165f8be53b5763e40bc24'
|
||||
)
|
||||
self.assertSaltNoneReturn({'test': ret})
|
||||
self.assertInSaltComment(
|
||||
'Python package https://pypi.python.org/packages/source/'
|
||||
'S/SaltTesting/SaltTesting-0.5.0.tar.gz'
|
||||
'#md5=e6760af92b7165f8be53b5763e40bc24 is set to be '
|
||||
'installed',
|
||||
self.assertSaltTrueReturn({'test': ret})
|
||||
self.assertInSaltComment('All packages were successfully installed',
|
||||
{'test': ret}
|
||||
)
|
||||
|
||||
mock = MagicMock(return_value={'retcode': 0, 'stdout': ''})
|
||||
pip_list = MagicMock(return_value={'SaltTesting': '0.5.0'})
|
||||
pip_install = MagicMock(return_value={
|
||||
'retcode': 0,
|
||||
'stderr': '',
|
||||
'stdout': 'Downloading/unpacking https://pypi.python.org/packages'
|
||||
'/source/S/SaltTesting/SaltTesting-0.5.0.tar.gz\n '
|
||||
'Downloading SaltTesting-0.5.0.tar.gz\n Running '
|
||||
'setup.py egg_info for package from '
|
||||
'https://pypi.python.org/packages/source/S/SaltTesting/'
|
||||
'SaltTesting-0.5.0.tar.gz\n \nCleaning up...'
|
||||
})
|
||||
with patch.dict(pip_state.__salt__, {'cmd.run_all': mock,
|
||||
'pip.list': pip_list,
|
||||
'pip.install': pip_install}):
|
||||
ret = pip_state.installed(
|
||||
'https://pypi.python.org/packages/source/S/SaltTesting/'
|
||||
'SaltTesting-0.5.0.tar.gz'
|
||||
'#md5=e6760af92b7165f8be53b5763e40bc24'
|
||||
)
|
||||
self.assertSaltTrueReturn({'test': ret})
|
||||
self.assertInSaltComment('All packages were successfully installed',
|
||||
{'test': ret}
|
||||
)
|
||||
self.assertInSaltReturn(
|
||||
'Installed',
|
||||
{'test': ret},
|
||||
('changes', 'https://pypi.python.org/packages/source/S/'
|
||||
'SaltTesting/SaltTesting-0.5.0.tar.gz'
|
||||
'#md5=e6760af92b7165f8be53b5763e40bc24==???')
|
||||
)
|
||||
|
||||
mock = MagicMock(return_value={'retcode': 0, 'stdout': ''})
|
||||
pip_list = MagicMock(return_value={'SaltTesting': '0.5.0'})
|
||||
pip_install = MagicMock(return_value={
|
||||
'retcode': 0,
|
||||
'stderr': '',
|
||||
'stdout': 'Cloned!'
|
||||
})
|
||||
with patch.dict(pip_state.__salt__, {'cmd.run_all': mock,
|
||||
'pip.list': pip_list,
|
||||
'pip.install': pip_install}):
|
||||
with patch.dict(pip_state.__opts__, {'test': False}):
|
||||
ret = pip_state.installed(
|
||||
'git+https://github.com/saltstack/salt-testing.git#egg=SaltTesting'
|
||||
)
|
||||
self.assertSaltTrueReturn({'test': ret})
|
||||
self.assertInSaltComment(
|
||||
'packages are already installed',
|
||||
{'test': ret}
|
||||
self.assertInSaltReturn(
|
||||
'Installed',
|
||||
{'test': ret},
|
||||
('changes', 'https://pypi.python.org/packages/source/S/'
|
||||
'SaltTesting/SaltTesting-0.5.0.tar.gz'
|
||||
'#md5=e6760af92b7165f8be53b5763e40bc24==???')
|
||||
)
|
||||
|
||||
mock = MagicMock(return_value={'retcode': 0, 'stdout': ''})
|
||||
pip_list = MagicMock(return_value={'pep8': '1.3.1'})
|
||||
pip_install = MagicMock(return_value={'retcode': 0})
|
||||
with patch.dict(pip_state.__salt__, {'cmd.run_all': mock,
|
||||
'pip.list': pip_list,
|
||||
'pip.install': pip_install}):
|
||||
with patch.dict(pip_state.__opts__, {'test': False}):
|
||||
ret = pip_state.installed(
|
||||
'arbitrary ID that should be ignored due to requirements specified',
|
||||
requirements='/tmp/non-existing-requirements.txt'
|
||||
)
|
||||
self.assertSaltTrueReturn({'test': ret})
|
||||
|
||||
# Test VCS installations using git+git://
|
||||
mock = MagicMock(return_value={'retcode': 0, 'stdout': ''})
|
||||
pip_list = MagicMock(return_value={'SaltTesting': '0.5.0'})
|
||||
pip_install = MagicMock(return_value={
|
||||
'retcode': 0,
|
||||
'stderr': '',
|
||||
'stdout': 'Cloned!'
|
||||
})
|
||||
with patch.dict(pip_state.__salt__, {'cmd.run_all': mock,
|
||||
'pip.list': pip_list,
|
||||
'pip.install': pip_install}):
|
||||
with patch.dict(pip_state.__opts__, {'test': False}):
|
||||
ret = pip_state.installed(
|
||||
'git+git://github.com/saltstack/salt-testing.git#egg=SaltTesting'
|
||||
)
|
||||
self.assertSaltTrueReturn({'test': ret})
|
||||
self.assertInSaltComment(
|
||||
'packages are already installed',
|
||||
{'test': ret}
|
||||
)
|
||||
|
||||
# Test VCS installations with version info like >= 0.1
|
||||
with patch.object(pip, '__version__', MagicMock(side_effect=AttributeError(
|
||||
'Faked missing __version__ attribute'))):
|
||||
mock = MagicMock(return_value={'retcode': 0, 'stdout': ''})
|
||||
pip_list = MagicMock(return_value={'SaltTesting': '0.5.0'})
|
||||
pip_install = MagicMock(return_value={
|
||||
|
@ -260,7 +205,7 @@ class PipStateTest(TestCase, SaltReturnAssertsMixin, LoaderModuleMockMixin):
|
|||
'pip.install': pip_install}):
|
||||
with patch.dict(pip_state.__opts__, {'test': False}):
|
||||
ret = pip_state.installed(
|
||||
'git+https://github.com/saltstack/salt-testing.git#egg=SaltTesting>=0.5.0'
|
||||
'git+https://github.com/saltstack/salt-testing.git#egg=SaltTesting'
|
||||
)
|
||||
self.assertSaltTrueReturn({'test': ret})
|
||||
self.assertInSaltComment(
|
||||
|
@ -268,6 +213,63 @@ class PipStateTest(TestCase, SaltReturnAssertsMixin, LoaderModuleMockMixin):
|
|||
{'test': ret}
|
||||
)
|
||||
|
||||
mock = MagicMock(return_value={'retcode': 0, 'stdout': ''})
|
||||
pip_list = MagicMock(return_value={'pep8': '1.3.1'})
|
||||
pip_install = MagicMock(return_value={'retcode': 0})
|
||||
with patch.dict(pip_state.__salt__, {'cmd.run_all': mock,
|
||||
'pip.list': pip_list,
|
||||
'pip.install': pip_install}):
|
||||
with patch.dict(pip_state.__opts__, {'test': False}):
|
||||
ret = pip_state.installed(
|
||||
'arbitrary ID that should be ignored due to requirements specified',
|
||||
requirements='/tmp/non-existing-requirements.txt'
|
||||
)
|
||||
self.assertSaltTrueReturn({'test': ret})
|
||||
|
||||
# Test VCS installations using git+git://
|
||||
mock = MagicMock(return_value={'retcode': 0, 'stdout': ''})
|
||||
pip_list = MagicMock(return_value={'SaltTesting': '0.5.0'})
|
||||
pip_install = MagicMock(return_value={
|
||||
'retcode': 0,
|
||||
'stderr': '',
|
||||
'stdout': 'Cloned!'
|
||||
})
|
||||
with patch.dict(pip_state.__salt__, {'cmd.run_all': mock,
|
||||
'pip.list': pip_list,
|
||||
'pip.install': pip_install}):
|
||||
with patch.dict(pip_state.__opts__, {'test': False}):
|
||||
ret = pip_state.installed(
|
||||
'git+git://github.com/saltstack/salt-testing.git#egg=SaltTesting'
|
||||
)
|
||||
self.assertSaltTrueReturn({'test': ret})
|
||||
self.assertInSaltComment(
|
||||
'packages are already installed',
|
||||
{'test': ret}
|
||||
)
|
||||
|
||||
# Test VCS installations with version info like >= 0.1
|
||||
with patch.object(pip, '__version__', MagicMock(side_effect=AttributeError(
|
||||
'Faked missing __version__ attribute'))):
|
||||
mock = MagicMock(return_value={'retcode': 0, 'stdout': ''})
|
||||
pip_list = MagicMock(return_value={'SaltTesting': '0.5.0'})
|
||||
pip_install = MagicMock(return_value={
|
||||
'retcode': 0,
|
||||
'stderr': '',
|
||||
'stdout': 'Cloned!'
|
||||
})
|
||||
with patch.dict(pip_state.__salt__, {'cmd.run_all': mock,
|
||||
'pip.list': pip_list,
|
||||
'pip.install': pip_install}):
|
||||
with patch.dict(pip_state.__opts__, {'test': False}):
|
||||
ret = pip_state.installed(
|
||||
'git+https://github.com/saltstack/salt-testing.git#egg=SaltTesting>=0.5.0'
|
||||
)
|
||||
self.assertSaltTrueReturn({'test': ret})
|
||||
self.assertInSaltComment(
|
||||
'packages are already installed',
|
||||
{'test': ret}
|
||||
)
|
||||
|
||||
def test_install_in_editable_mode(self):
|
||||
'''
|
||||
Check that `name` parameter containing bad characters is not parsed by
|
||||
|
@ -281,9 +283,11 @@ class PipStateTest(TestCase, SaltReturnAssertsMixin, LoaderModuleMockMixin):
|
|||
'stderr': '',
|
||||
'stdout': 'Cloned!'
|
||||
})
|
||||
pip_version = MagicMock(return_value='10.0.1')
|
||||
with patch.dict(pip_state.__salt__, {'cmd.run_all': mock,
|
||||
'pip.list': pip_list,
|
||||
'pip.install': pip_install}):
|
||||
'pip.install': pip_install,
|
||||
'pip.version': pip_version}):
|
||||
ret = pip_state.installed('state@name',
|
||||
cwd='/path/to/project',
|
||||
editable=['.'])
|
||||
|
|
Loading…
Add table
Reference in a new issue