Sha256: 2a972faf8cb9a1038cfe604a75c3fb132823857eafc29d30d1a16e8b09c5d678

Contents?: true

Size: 1.4 KB

Versions: 7

Compression:

Stored size: 1.4 KB

Contents

require 'spec_helper_acceptance'

describe 'postgresql::server::database_grant:' do
  after :all do
    # Cleanup after tests have ran
    apply_manifest("class { 'postgresql::server': ensure => absent }", :catch_failures => true)
  end

  it 'should grant access so a user can create objects in a database' do
    begin
      pp = <<-EOS.unindent
        $db = 'postgres'
        $user = 'psql_grant_tester'
        $password = 'psql_grant_pw'

        class { 'postgresql::server': }

        # Since we are not testing pg_hba or any of that, make a local user for ident auth
        user { $user:
          ensure => present,
        }

        postgresql::server::role { $user:
          password_hash => postgresql_password($user, $password),
        }

        postgresql::server::database { $db: }

        postgresql::server::database_grant { 'grant create test':
          privilege => 'CREATE',
          db        => $db,
          role      => $user,
        }
      EOS

      apply_manifest(pp, :catch_failures => true)
      apply_manifest(pp, :catch_changes => true)

      # Check that the user can create a table in the database
      psql('--command="create table foo (foo int)" postgres', 'psql_grant_tester') do |r|
        expect(r.stdout).to match(/CREATE TABLE/)
        expect(r.stderr).to eq('')
      end
    ensure
      psql('--command="drop table foo" postgres', 'psql_grant_tester')
    end
  end
end

Version data entries

7 entries across 7 versions & 1 rubygems

Version Path
freighthop-0.6.1 modules/postgresql/spec/acceptance/server/database_grant_spec.rb
freighthop-0.6.0 modules/postgresql/spec/acceptance/server/database_grant_spec.rb
freighthop-0.5.2 modules/postgresql/spec/acceptance/server/database_grant_spec.rb
freighthop-0.5.1 modules/postgresql/spec/acceptance/server/database_grant_spec.rb
freighthop-0.5.0 modules/postgresql/spec/acceptance/server/database_grant_spec.rb
freighthop-0.4.1 modules/postgresql/spec/acceptance/server/database_grant_spec.rb
freighthop-0.4.0 modules/postgresql/spec/acceptance/server/database_grant_spec.rb