Initial Chef repository
This commit is contained in:
@@ -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
|
||||
@@ -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
|
||||
@@ -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
|
||||
@@ -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
|
||||
@@ -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
|
||||
Reference in New Issue
Block a user