Skip to content

Commit

Permalink
Ensure validate functions use Puppet 4 deprecation
Browse files Browse the repository at this point in the history
  • Loading branch information
Helen Campbell committed Sep 20, 2016
1 parent dce8d7b commit e6a926d
Show file tree
Hide file tree
Showing 15 changed files with 78 additions and 24 deletions.
3 changes: 3 additions & 0 deletions lib/puppet/functions/validate_absolute_path.rb
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
require 'puppet_x/puppetlabs/stdlib/deprecation_gen'
PuppetX::Puppetlabs::Stdlib.deprecation_gen("validate_absolute_path", "Stdlib::Compat::Absolute_Path")
# Puppet::Functions.create_function
3 changes: 3 additions & 0 deletions lib/puppet/functions/validate_array.rb
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
require 'puppet_x/puppetlabs/stdlib/deprecation_gen'
PuppetX::Puppetlabs::Stdlib.deprecation_gen("validate_array", "Stdlib::Compat::Array")
# Puppet::Functions.create_function
3 changes: 3 additions & 0 deletions lib/puppet/functions/validate_bool.rb
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
require 'puppet_x/puppetlabs/stdlib/deprecation_gen'
PuppetX::Puppetlabs::Stdlib.deprecation_gen("validate_bool", "Stdlib::Compat::Bool")
# Puppet::Functions.create_function
3 changes: 3 additions & 0 deletions lib/puppet/functions/validate_hash.rb
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
require 'puppet_x/puppetlabs/stdlib/deprecation_gen'
PuppetX::Puppetlabs::Stdlib.deprecation_gen("validate_hash", "Stdlib::Compat::Hash")
# Puppet::Functions.create_function
3 changes: 3 additions & 0 deletions lib/puppet/functions/validate_integer.rb
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
require 'puppet_x/puppetlabs/stdlib/deprecation_gen'
PuppetX::Puppetlabs::Stdlib.deprecation_gen("validate_integer", "Stdlib::Compat::Integer")
# Puppet::Functions.create_function
3 changes: 3 additions & 0 deletions lib/puppet/functions/validate_ip_address.rb
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
require 'puppet_x/puppetlabs/stdlib/deprecation_gen'
PuppetX::Puppetlabs::Stdlib.deprecation_gen("validate_ip_address", "Stdlib::Compat::Ip_Address")
# Puppet::Functions.create_function
3 changes: 3 additions & 0 deletions lib/puppet/functions/validate_ipv4_address.rb
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
require 'puppet_x/puppetlabs/stdlib/deprecation_gen'
PuppetX::Puppetlabs::Stdlib.deprecation_gen("validate_ipv4_address", "Stdlib::Compat::Ipv4_Address")
# Puppet::Functions.create_function
3 changes: 3 additions & 0 deletions lib/puppet/functions/validate_ipv6_address.rb
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
require 'puppet_x/puppetlabs/stdlib/deprecation_gen'
PuppetX::Puppetlabs::Stdlib.deprecation_gen("validate_ipv6_address", "Stdlib::Compat::Ipv6_address")
# Puppet::Functions.create_function
3 changes: 3 additions & 0 deletions lib/puppet/functions/validate_numeric.rb
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
require 'puppet_x/puppetlabs/stdlib/deprecation_gen'
PuppetX::Puppetlabs::Stdlib.deprecation_gen("validate_numeric", "Stdlib::Compat::Numeric")
# Puppet::Functions.create_function
3 changes: 3 additions & 0 deletions lib/puppet/functions/validate_re.rb
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
require 'puppet_x/puppetlabs/stdlib/deprecation_gen'
PuppetX::Puppetlabs::Stdlib.deprecation_gen("validate_re", "Stdlib::Compat::Re")
# Puppet::Functions.create_function
3 changes: 3 additions & 0 deletions lib/puppet/functions/validate_string.rb
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
require 'puppet_x/puppetlabs/stdlib/deprecation_gen'
PuppetX::Puppetlabs::Stdlib.deprecation_gen("validate_string", "Stdlib::Compat::String")
# Puppet::Functions.create_function
21 changes: 21 additions & 0 deletions lib/puppet_x/puppetlabs/stdlib/deprecation_gen.rb
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
# Creates a Puppet 4 function for the corresponding puppet 3 validate function, who's name will be passed as an argument, alongside the type for deprecation output purposes.
module PuppetX
module Puppetlabs
module Stdlib
def self.deprecation_gen(funct, type)
Puppet::Functions.create_function(funct, Puppet::Functions::InternalFunction) do
@@funct = funct
@@type = type
dispatch :deprecation_gen do
scope_param
optional_repeated_param 'Any', :args
end
def deprecation_gen(scope, *args)
call_function('deprecation', 'puppet_3_type_check', "This method is deprecated, please use the stdlib validate_legacy function, with #{@@type}. There is further documentation for validate_legacy function in the README.")
scope.send("function_#{@@funct}", args)
end
end
end
end
end
end
16 changes: 8 additions & 8 deletions spec/acceptance/validate_array_spec.rb
Original file line number Diff line number Diff line change
Expand Up @@ -20,14 +20,14 @@

apply_manifest(pp, :catch_failures => true)
end
it 'validates a non-array' do
{
%{validate_array({'a' => 'hash' })} => "Hash",
%{validate_array('string')} => "String",
%{validate_array(false)} => "FalseClass",
%{validate_array(undef)} => "String"
}.each do |pp,type|
expect(apply_manifest(pp, :expect_failures => true).stderr).to match(/a #{type}/)
[
%{validate_array({'a' => 'hash' })},
%{validate_array('string')},
%{validate_array(false)},
%{validate_array(undef)}
].each do |pp|
it "rejects #{pp.inspect}" do
expect(apply_manifest(pp, :expect_failures => true).stderr).to match(/is not a Array\. It looks to be a/)
end
end
end
Expand Down
16 changes: 8 additions & 8 deletions spec/acceptance/validate_bool_spec.rb
Original file line number Diff line number Diff line change
Expand Up @@ -20,14 +20,14 @@

apply_manifest(pp, :catch_failures => true)
end
it 'validates a non-bool' do
{
%{validate_bool('true')} => "String",
%{validate_bool('false')} => "String",
%{validate_bool([true])} => "Array",
%{validate_bool(undef)} => "String",
}.each do |pp,type|
expect(apply_manifest(pp, :expect_failures => true).stderr).to match(/a #{type}/)
[
%{validate_bool('true')},
%{validate_bool('false')},
%{validate_bool([true])},
%{validate_bool(undef)}
].each do |pp|
it "rejects #{pp.inspect}" do
expect(apply_manifest(pp, :expect_failures => true).stderr).to match(/is not a boolean\. It looks to be a/)
end
end
end
Expand Down
16 changes: 8 additions & 8 deletions spec/acceptance/validate_hash_spec.rb
Original file line number Diff line number Diff line change
Expand Up @@ -20,14 +20,14 @@

apply_manifest(pp, :catch_failures => true)
end
it 'validates a non-hash' do
{
%{validate_hash('{ "not" => "hash" }')} => "String",
%{validate_hash('string')} => "String",
%{validate_hash(["array"])} => "Array",
%{validate_hash(undef)} => "String",
}.each do |pp,type|
expect(apply_manifest(pp, :expect_failures => true).stderr).to match(/a #{type}/)
[
%{validate_hash('{ "not" => "hash" }')},
%{validate_hash('string')},
%{validate_hash(["array"])},
%{validate_hash(undef)}
].each do |pp|
it "rejects #{pp.inspect}" do
expect(apply_manifest(pp, :expect_failures => true).stderr).to match(//)
end
end
end
Expand Down

0 comments on commit e6a926d

Please sign in to comment.