324c291b3f
This defined type helps create database schemas, and assign them to an `owner`. It is closely modeled after Postgresql::Server::Tablespace. It uses PostgreSQL's builtin IF NOT EXISTS to guarantee idempotency. (>= 9.3, else it checks pg_namespace). n.b.: This defined type *requires* that a `db` is passed. This is a concious design decision, since we find it rather useless to create such schemas in the default `postgres` database, and if *were* useful, one can always "over-specify". This addresses MODULES-1098.
32 lines
646 B
Ruby
32 lines
646 B
Ruby
require 'spec_helper'
|
|
|
|
describe 'postgresql::server::schema', :type => :define do
|
|
let :facts do
|
|
{
|
|
:osfamily => 'Debian',
|
|
:operatingsystem => 'Debian',
|
|
:operatingsystemrelease => '6.0',
|
|
:kernel => 'Linux',
|
|
:concat_basedir => tmpfilename('schema'),
|
|
:id => 'root',
|
|
:path => '/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin',
|
|
}
|
|
end
|
|
|
|
let :title do
|
|
'test'
|
|
end
|
|
|
|
let :params do
|
|
{
|
|
:owner => 'jane',
|
|
:db => 'janedb',
|
|
}
|
|
end
|
|
|
|
let :pre_condition do
|
|
"class {'postgresql::server':}"
|
|
end
|
|
|
|
it { should contain_postgresql__server__schema('test') }
|
|
end
|