def test_install_dependencies_with_requirements(callmock): d = Deployment('test') d.pip_prefix = ['pip'] d.pip_args = ['install'] d.install_dependencies() callmock.assert_called_with( ['pip', 'install', '-r', './requirements.txt'])
def test_install_dependencies_with_preinstall(callmock): d = Deployment('test', preinstall=['foobar']) d.pip_prefix = d.pip_preinstall_prefix = ['pip'] d.pip_args = ['install'] d.install_dependencies() callmock.assert_called_with( ['pip', 'install', 'foobar'])
def test_install_dependencies_with_preinstall_with_requirements(callmock): d = Deployment("test", preinstall=["foobar"]) d.pip_prefix = ["pip", "install"] d.install_dependencies() callmock.assert_has_calls( [call(["pip", "install", "foobar"]), call(["pip", "install", "-r", "./requirements.txt"])] )
def test_upgrade_pip_with_preinstall(callmock): d = Deployment('test', upgrade_pip=True, preinstall=['foobar']) d.pip_prefix = ['pip', 'install'] d.install_dependencies() callmock.assert_has_calls([ call(['pip', 'install', '-U', 'pip']), call(['pip', 'install', 'foobar'])])
def test_upgrade_pip(callmock): d = Deployment('test', upgrade_pip=True) d.pip_prefix = d.pip_preinstall_prefix = ['pip'] d.pip_args = ['install'] d.install_dependencies() callmock.assert_called_with( ['pip', 'install', ANY, '-U', 'pip'])
def test_custom_src_dir(callmock): d = Deployment("test") d.pip_prefix = ["pip", "install"] d.sourcedirectory = "root/srv/application" d.create_virtualenv() d.install_dependencies() callmock.assert_called_with( [ "debian/test/usr/share/python/test/bin/python", "debian/test/usr/share/python/test/bin/pip", "install", "--log=foo", "-r", "root/srv/application/requirements.txt", ] ) d.install_package() callmock.assert_called_with( [ "debian/test/usr/share/python/test/bin/python", "debian/test/usr/share/python/test/bin/pip", "install", "--log=foo", "root/srv/application", ] )
def test_install_dependencies_with_preinstall_with_requirements(callmock): d = Deployment('test', preinstall=['foobar']) d.pip_prefix = ['pip', 'install'] d.install_dependencies() callmock.assert_has_calls([ call(['pip', 'install', 'foobar']), call(['pip', 'install', '-r', './requirements.txt']) ])
def test_upgrade_pip_with_preinstall(callmock): d = Deployment('test', upgrade_pip=True, preinstall=['foobar']) d.pip_prefix = d.pip_preinstall_prefix = ['pip'] d.pip_args = ['install'] d.install_dependencies() callmock.assert_has_calls([ call(['pip', 'install', ANY, '-U', 'pip']), call(['pip', 'install', 'foobar'])])
def test_create_venv_with_extra_pip_arg(callmock): d = Deployment('test', extra_pip_arg=['--no-compile']) d.create_virtualenv() d.install_dependencies() eq_(TEST_VENV_PATH, d.package_dir) callmock.assert_called_with(['virtualenv', TEST_VENV_PATH]) eq_([PY_CMD, PIP_CMD], d.pip_prefix) eq_(['install', LOG_ARG, '--no-compile'], d.pip_args)
def test_install_dependencies_with_preinstall_with_requirements(callmock): d = Deployment('test', preinstall=['foobar']) d.pip_prefix = ['pip', 'install'] d.install_dependencies() callmock.assert_has_calls([ call(['pip', 'install', 'foobar']), call(['pip', 'install', '-r', 'requirements.txt']) ])
def test_create_venv_with_extra_pip_arg(callmock): d = Deployment('test', extra_pip_arg=['--no-compile']) d.create_virtualenv() d.install_dependencies() eq_('debian/test/opt/venvs/test', d.package_dir) callmock.assert_called_with( ['virtualenv', '--no-site-packages', 'debian/test/opt/venvs/test']) eq_([PY_CMD, PIP_CMD], d.pip_prefix) eq_(['install', LOG_ARG, '--no-compile'], d.pip_args)
def test_create_venv_with_extra_pip_arg(callmock): d = Deployment('test', extra_pip_arg=['--no-compile']) d.create_virtualenv() d.install_dependencies() eq_('debian/test/opt/venvs/test', d.package_dir) callmock.assert_called_with(['virtualenv', '--no-site-packages', 'debian/test/opt/venvs/test']) eq_([PY_CMD, PIP_CMD], d.pip_prefix) eq_(['install', LOG_ARG, '--no-compile'], d.pip_args)
def test_custom_pip_tool_used_for_installation(callmock, _): d = Deployment( 'test', preinstall=['pip-custom-platform'], pip_tool='pip-custom-platform', ) d.install_dependencies() d.install_package() callmock.assert_has_calls([ call([PY_CMD, PIP_CMD, 'install', LOG_ARG, 'pip-custom-platform']), call([PY_CMD, CUSTOM_PIP_CMD, 'install', LOG_ARG, '-r', './requirements.txt']), call([PY_CMD, CUSTOM_PIP_CMD, 'install', LOG_ARG, '.'], cwd=os.path.abspath('.')), ])
def test_create_venv_with_extra_pip_arg(callmock): d = Deployment('test', extra_pip_arg=['--no-compile']) d.create_virtualenv() d.install_dependencies() eq_('debian/test/usr/share/python/test', d.package_dir) callmock.assert_called_with([ 'virtualenv', '--no-site-packages', 'debian/test/usr/share/python/test' ]) eq_([ PY_CMD, PIP_CMD, 'install', '--log=' + os.path.abspath('foo'), '--no-compile' ], d.pip_prefix)
def test_create_venv_with_extra_pip_arg(callmock): d = Deployment('test', extra_pip_arg=['--no-compile']) d.create_virtualenv() d.install_dependencies() eq_('debian/test/usr/share/python/test', d.package_dir) callmock.assert_called_with(['virtualenv', '--no-site-packages', 'debian/test/usr/share/python/test']) eq_([PY_CMD, PIP_CMD, 'install', '--log=' + os.path.abspath('foo'), '--no-compile'], d.pip_prefix)
def test_custom_src_dir(callmock): d = Deployment('test') d.sourcedirectory = 'root/srv/application' d.create_virtualenv() d.install_dependencies() callmock.assert_called_with([ PY_CMD, PIP_CMD, 'install', LOG_ARG, '-r', 'root/srv/application/requirements.txt' ], ) d.install_package() callmock.assert_called_with([ PY_CMD, PIP_CMD, 'install', LOG_ARG, '.', ], cwd=os.path.abspath('root/srv/application'))
def test_custom_src_dir(callmock): d = Deployment('test') d.pip_prefix = ['pip', 'install'] d.sourcedirectory = 'root/srv/application' d.create_virtualenv() d.install_dependencies() callmock.assert_called_with([ 'debian/test/usr/share/python/test/bin/python', 'debian/test/usr/share/python/test/bin/pip', 'install', '--log=foo', '-r', 'root/srv/application/requirements.txt' ], ) d.install_package() callmock.assert_called_with([ 'debian/test/usr/share/python/test/bin/python', 'debian/test/usr/share/python/test/bin/pip', 'install', '--log=foo', 'root/srv/application', ])
def test_custom_src_dir(callmock): d = Deployment('test') d.sourcedirectory = 'root/srv/application' d.create_virtualenv() d.install_dependencies() callmock.assert_called_with([ PY_CMD, PIP_CMD, 'install', LOG_ARG, '-r', 'root/srv/application/requirements.txt'], ) d.install_package() callmock.assert_called_with([ PY_CMD, PIP_CMD, 'install', LOG_ARG, '.', ], cwd=os.path.abspath('root/srv/application'))
def test_custom_src_dir(callmock): d = Deployment('test') d.pip_prefix = ['pip', 'install'] d.sourcedirectory = 'root/srv/application' d.create_virtualenv() d.install_dependencies() callmock.assert_called_with([ 'debian/test/usr/share/python/test/bin/python', 'debian/test/usr/share/python/test/bin/pip', 'install', '--log=foo', '-r', 'root/srv/application/requirements.txt'], ) d.install_package() callmock.assert_called_with([ 'debian/test/usr/share/python/test/bin/python', 'debian/test/usr/share/python/test/bin/pip', 'install', '--log=foo', 'root/srv/application', ])
def test_install_dependencies_with_no_requirements(callmock): d = Deployment('test') d.pip_prefix = ['pip', 'install'] d.install_dependencies() callmock.assert_has_calls([])
def test_install_dependencies_with_no_requirements(callmock): d = Deployment('test') d.pip_prefix = ['pip'] d.install_dependencies() callmock.assert_has_calls([])
upgrade_pip=True, pip_version="10.0.1", use_system_packages=args.use_system_packages, python=python_executable, extra_pip_arg=['-qq'], log_file=None, # TODO(pbovbel) Builtin venv (python3-venv) is not available on trusty. This flag can be re-enabled when # trusty support is dropped. # builtin_venv=args.python3, ) print('Generating virtualenv in {}'.format(deploy.package_dir)) deploy.create_virtualenv() print('Installing requirements') deploy.install_dependencies() print('Fixing virtualenv root to {}'.format(deploy.virtualenv_install_dir)) deploy.fix_activate_path() deploy.fix_shebangs() deploy.fix_local_symlinks() # Remove all .py[co] files since they embed absolute paths delete_bytecode(deploy.package_dir) local_dir = os.path.join(deploy.package_dir, 'local') if os.path.exists(local_dir): # Remove local folder shutil.rmtree(local_dir) sys.exit(0)
def test_install_dependencies_with_requirements(callmock): d = Deployment("test") d.pip_prefix = ["pip", "install"] d.install_dependencies() callmock.assert_called_with(["pip", "install", "-r", "./requirements.txt"])
def test_install_dependencies_with_preinstall(callmock): d = Deployment("test", preinstall=["foobar"]) d.pip_prefix = ["pip", "install"] d.install_dependencies() callmock.assert_called_with(["pip", "install", "foobar"])
def test_install_dependencies(callmock): d = Deployment('test') d.pip_prefix = ['pip', 'install'] d.install_dependencies() callmock.assert_has_calls([])
def test_install_dependencies_with_no_requirements(callmock): d = Deployment("test") d.pip_prefix = ["pip", "install"] d.install_dependencies() callmock.assert_has_calls([])