test_grant_create.pp 1.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445
  1. # puppet-postgresql
  2. # For all details and documentation:
  3. # http://github.com/inkling/puppet-postgresql
  4. #
  5. # Copyright 2012- Inkling Systems, Inc.
  6. #
  7. # Licensed under the Apache License, Version 2.0 (the "License");
  8. # you may not use this file except in compliance with the License.
  9. # You may obtain a copy of the License at
  10. #
  11. # http://www.apache.org/licenses/LICENSE-2.0
  12. #
  13. # Unless required by applicable law or agreed to in writing, software
  14. # distributed under the License is distributed on an "AS IS" BASIS,
  15. # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  16. # See the License for the specific language governing permissions and
  17. # limitations under the License.
  18. class postgresql_tests::system_default::test_grant_create($user, $password, $db) {
  19. include postgresql::server
  20. # Since we are not testing pg_hba or any of that, make a local user for ident auth
  21. user { $user:
  22. ensure => present,
  23. }
  24. postgresql::database_user { $user:
  25. password_hash => postgresql_password($user, $password),
  26. require => [ Class['postgresql::server'],
  27. User[$user] ],
  28. }
  29. postgresql::database { $db:
  30. require => Class['postgresql::server'],
  31. }
  32. postgresql::database_grant { 'grant create test':
  33. privilege => 'CREATE',
  34. db => $db,
  35. role => $user,
  36. require => [ Postgresql::Database[$db],
  37. Postgresql::Database_user[$user] ],
  38. }
  39. }