From 17fd618ac6f68f58464a82d2df2a2f2ba92e621d Mon Sep 17 00:00:00 2001 From: James Pogran Date: Wed, 18 May 2016 11:07:56 -0400 Subject: [PATCH] (MODULES-3355) Fix acceptance tests for Sqlserver role Commit 2f18a684cf8ea49f0aa4c943197762fdf53132d3 fixes sqlserver::role to allow multiple role declarations for the same role name. This introduced a bug by not changing the sqlserver_tsql title in the require paramter for sqlserver::role::permissions. This only occurs when permissions are specified. This fixes acceptance tests by ensuring the require statement for the role permissions is the same as the tile for the tsql statement --- manifests/role.pp | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/manifests/role.pp b/manifests/role.pp index ce777067..70acce1d 100644 --- a/manifests/role.pp +++ b/manifests/role.pp @@ -62,7 +62,13 @@ absent => 'delete', } - sqlserver_tsql{ "role-${instance}-${database}-${role}": + # the title has to be unique to prevent collisions when multiple declarations + # are being used for the same role. for instance when multiple declarations + # for db_owner are declared in different databases or instances with different + # users. see MODULES-3355 + $sqlserver_tsql_title = "role-${instance}-${database}-${role}" + + sqlserver_tsql{ $sqlserver_tsql_title: command => template("sqlserver/${_create_delete}/role.sql.erb"), onlyif => template('sqlserver/query/role_exists.sql.erb'), instance => $instance, @@ -77,7 +83,7 @@ instance => $instance, database => $database, type => $type, - require => Sqlserver_tsql["role-${role}-${instance}"] + require => Sqlserver_tsql[$sqlserver_tsql_title] } if has_key($_upermissions, 'GRANT') and is_array($_upermissions['GRANT']) { sqlserver::role::permissions{ "Sqlserver::Role[${title}]-GRANT-${role}":