Initial Chef repository

This commit is contained in:
Greg Karékinian
2015-07-21 19:45:23 +02:00
parent 7e5401fc71
commit ee4079fa85
1151 changed files with 185163 additions and 0 deletions

View File

@@ -0,0 +1,39 @@
#
# Copyright 2012, Opscode, Inc.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
#
require File.expand_path('../support/helpers', __FILE__)
describe 'postgresql::apt_pgdg_postgresql' do
include Helpers::Postgresql
it 'removes the Pitti PPA sources.list' do
skip unless %w{debian}.include?(node['platform_family'])
file("/etc/apt/sources.list.d/pitti-postgresql-ppa").wont_exist
end
it 'creates the PGDG apt sources.list' do
skip unless %w{debian}.include?(node['platform_family'])
file("/etc/apt/sources.list.d/apt.postgresql.org.list").must_exist
end
it 'installs postgresql-client-9.3' do
package("postgresql-client-9.3").must_be_installed
end
it 'makes psql version 9.3 available' do
psql = shell_out("psql --version")
assert psql.stdout.include?("psql (PostgreSQL) 9.3")
end
end

View File

@@ -0,0 +1,27 @@
#
# Copyright 2012, Opscode, Inc.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
#
require File.expand_path('../support/helpers', __FILE__)
describe 'postgresql::default' do
include Helpers::Postgresql
it 'installs the postgresql client packages' do
node['postgresql']['client']['packages'].each do |pkg|
package(pkg).must_be_installed
end
end
end

View File

@@ -0,0 +1,28 @@
#
# Cookbook Name:: postgresql_test
# Recipe:: default
#
# Copyright 2012, Opscode, Inc.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
#
require File.expand_path('../support/helpers', __FILE__)
describe 'postgresql::ruby' do
include Helpers::Postgresql
it 'installs the pg gem in Chefs ruby environment' do
assert Gem::Specification.all_names.grep("pg-.*")
end
end

View File

@@ -0,0 +1,43 @@
#
# Copyright 2012, Opscode, Inc.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
#
require File.expand_path('../support/helpers', __FILE__)
describe 'postgresql::server' do
include Helpers::Postgresql
it 'installs the postgresql server packages' do
node['postgresql']['server']['packages'].each do |pkg|
package(pkg).must_be_installed
end
end
it 'runs the postgresql service' do
service((node['postgresql']['server']['service_name'] || 'postgresql')).must_be_running
end
it 'can connect to postgresql' do
require 'pg'
conn = PG::Connection.new(
:host => 'localhost',
:port => '5432',
:password => node['postgresql']['password']['postgres'],
:user => "postgres"
)
assert_match(/localhost/, conn.host)
end
end

View File

@@ -0,0 +1,29 @@
#
# Cookbook Name:: postgresql_test
# Recipe:: default
#
# Copyright 2012, Opscode, Inc.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
#
module Helpers
module Postgresql
require 'chef/mixin/shell_out'
include Chef::Mixin::ShellOut
include MiniTest::Chef::Assertions
include MiniTest::Chef::Context
include MiniTest::Chef::Resources
end
end