Initial Chef repository
This commit is contained in:
BIN
cookbooks/ark/files/default/foo.tar.gz
Normal file
BIN
cookbooks/ark/files/default/foo.tar.gz
Normal file
Binary file not shown.
BIN
cookbooks/ark/files/default/foo.tbz
Normal file
BIN
cookbooks/ark/files/default/foo.tbz
Normal file
Binary file not shown.
BIN
cookbooks/ark/files/default/foo.tgz
Normal file
BIN
cookbooks/ark/files/default/foo.tgz
Normal file
Binary file not shown.
BIN
cookbooks/ark/files/default/foo.txz
Normal file
BIN
cookbooks/ark/files/default/foo.txz
Normal file
Binary file not shown.
BIN
cookbooks/ark/files/default/foo.zip
Normal file
BIN
cookbooks/ark/files/default/foo.zip
Normal file
Binary file not shown.
BIN
cookbooks/ark/files/default/foo_sub.tar.gz
Normal file
BIN
cookbooks/ark/files/default/foo_sub.tar.gz
Normal file
Binary file not shown.
BIN
cookbooks/ark/files/default/foo_sub.zip
Normal file
BIN
cookbooks/ark/files/default/foo_sub.zip
Normal file
Binary file not shown.
102
cookbooks/ark/files/default/tests/minitest/test_test.rb
Normal file
102
cookbooks/ark/files/default/tests/minitest/test_test.rb
Normal file
@@ -0,0 +1,102 @@
|
||||
require 'minitest/spec'
|
||||
|
||||
describe_recipe 'ark::test' do
|
||||
|
||||
# It's often convenient to load these includes in a separate
|
||||
# helper along with
|
||||
# your own helper methods, but here we just include them directly:
|
||||
include MiniTest::Chef::Assertions
|
||||
include MiniTest::Chef::Context
|
||||
include MiniTest::Chef::Resources
|
||||
|
||||
it 'installed the unzip package' do
|
||||
package('unzip').must_be_installed
|
||||
end
|
||||
|
||||
if RUBY_PLATFORM =~ /freebsd/
|
||||
it 'installs the gnu tar package on freebsc' do
|
||||
package('gtar').must_be_installed
|
||||
end
|
||||
end
|
||||
|
||||
it 'puts an ark in the desired directory w/out symlinks' do
|
||||
directory('/usr/local/test_put').must_exist
|
||||
end
|
||||
|
||||
it 'dumps the correct files into place with correct owner and group' do
|
||||
file('/usr/local/foo_dump/foo1.txt').must_have(:owner, 'foobarbaz').and(:group, 'foobarbaz')
|
||||
end
|
||||
|
||||
it 'cherrypicks the mysql connector and set the correct owner and group' do
|
||||
file('/usr/local/foo_cherry_pick/foo1.txt').must_have(:owner, 'foobarbaz').and(:group, 'foobarbaz')
|
||||
end
|
||||
|
||||
it 'cherrypicks the file from a zip' do
|
||||
file('/usr/local/foo_cherry_pick_from_zip/foo1.txt').must_exist
|
||||
end
|
||||
|
||||
it 'creates directory and symlink properly for the full ark install' do
|
||||
directory('/usr/local/foo-2').must_have(:owner, 'foobarbaz').and(:group, 'foobarbaz')
|
||||
link('/usr/local/foo').must_exist.with(:link_type, :symbolic).and(:to, '/usr/local/foo-2')
|
||||
end
|
||||
|
||||
it 'symlinks multiple binary commands' do
|
||||
link('/usr/local/bin/do_foo').must_exist.with(:link_type, :symbolic).and(:to, '/usr/local/foo-2/bin/do_foo')
|
||||
link('/usr/local/bin/do_more_foo').must_exist.with(:link_type, :symbolic).and(:to, '/usr/local/foo-2/bin/do_more_foo')
|
||||
end
|
||||
|
||||
it 'appends to the environment PATH' do
|
||||
unless RUBY_PLATFORM =~ /freebsd/
|
||||
file('/etc/profile.d/foo_append_env.sh').must_include '/usr/local/foo_append_env-7.0.26/bin'
|
||||
|
||||
bin_path_present = !ENV['PATH'].scan('/usr/local/foo_append_env-7.0.26/bin').empty?
|
||||
assert bin_path_present
|
||||
end
|
||||
end
|
||||
|
||||
it 'doesnt strip top-level directory if specified' do
|
||||
directory('/usr/local/foo_dont_strip/foo_sub').must_exist
|
||||
end
|
||||
|
||||
it 'does strip for zip file' do
|
||||
file('/usr/local/foo_zip_strip/foo1.txt').must_exist
|
||||
end
|
||||
|
||||
it 'successfully compiles haproxy' do
|
||||
file('/usr/local/haproxy-1.5/haproxy').must_exist
|
||||
end
|
||||
|
||||
unless RUBY_PLATFORM =~ /freebsd/
|
||||
it 'installs haproxy binary' do
|
||||
file('/usr/local/sbin/haproxy').must_exist
|
||||
directory('/usr/local/doc/haproxy').must_exist
|
||||
end
|
||||
end
|
||||
|
||||
it 'creates an alternate prefix_bin' do
|
||||
link('/opt/bin/do_foo').must_exist.with(:link_type, :symbolic).and(:to, '/opt/foo_alt_bin-3/bin/do_foo')
|
||||
end
|
||||
|
||||
it 'properly unpacks .tbz and .tgz archives' do
|
||||
file('/usr/local/foo_tbz/foo1.txt').must_exist
|
||||
file('/usr/local/foo_tgz/foo1.txt').must_exist
|
||||
end
|
||||
|
||||
it 'sends notification when resource updated' do
|
||||
file('/tmp/foobarbaz/notification_successful.txt').must_exist
|
||||
end
|
||||
|
||||
it 'uses autogen.sh to generate configure script' do
|
||||
file('/usr/local/test_autogen-1/configure').must_exist
|
||||
end
|
||||
|
||||
it 'strips 2 components out of foo_sub.tar.gz archive path' do
|
||||
directory('/usr/local/foo_sub-1/bin').must_exist
|
||||
file('/usr/local/foo_sub-1/foo1.txt').must_exist
|
||||
end
|
||||
|
||||
it 'strips 2 components out of foo_sub.zip archive path' do
|
||||
directory('/usr/local/foo_sub-2/bin').must_exist
|
||||
file('/usr/local/foo_sub-2/foo1.txt').must_exist
|
||||
end
|
||||
end
|
||||
Reference in New Issue
Block a user