Skip to content
Open
5 changes: 4 additions & 1 deletion manifests/requirements.pp
Original file line number Diff line number Diff line change
Expand Up @@ -88,8 +88,11 @@
replace => false,
content => '# Puppet will install and/or update pip packages listed here',
}

$local_subscribe = File[$requirements]
} else {
$local_subscribe = undef
}
$local_subscribe = File[$requirements]

exec { "python_requirements${name}":
provider => shell,
Expand Down
24 changes: 24 additions & 0 deletions spec/acceptance/declared_requirements_install_spec.rb
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
require 'spec_helper_acceptance'

describe 'requirements' do
it 'checks declared requirements file is installed to venv' do
pp = <<-EOS
file { '/tmp/requirements.txt':
ensure => 'present',
content => 'requests',
}

python::pyvenv { '/tmp/pyvenv':
ensure => 'present',
}

python::requirements { '/tmp/requirements.txt':
virtualenv => '/tmp/pyvenv'
}
EOS

apply_manifest(pp, catch_failures: true)

expect(shell('/tmp/pyvenv/bin/pip3 list --no-index | grep requests').stdout).to match(%r{requests +\d+.\d+.\d+})
end
end