]> gitweb.fluxo.info Git - puppet-stdlib.git/commitdiff
Revert "Merge pull request #86 from bodepd/ensure_resource"
authorJeff McCune <jeff@puppetlabs.com>
Wed, 15 Aug 2012 01:26:17 +0000 (18:26 -0700)
committerJeff McCune <jeff@puppetlabs.com>
Wed, 15 Aug 2012 01:26:17 +0000 (18:26 -0700)
This reverts commit 42ddd7fe54f37b84e34b4a005de2249e53f07469, reversing
changes made to 53243605b28fc31618d079155c86b37b4e88a6ca.

lib/puppet/parser/functions/defined_with_params.rb [deleted file]
lib/puppet/parser/functions/ensure_resource.rb [deleted file]
spec/functions/defined_with_params_spec.rb [deleted file]
spec/functions/ensure_resource_spec.rb [deleted file]

diff --git a/lib/puppet/parser/functions/defined_with_params.rb b/lib/puppet/parser/functions/defined_with_params.rb
deleted file mode 100644 (file)
index d7df306..0000000
+++ /dev/null
@@ -1,35 +0,0 @@
-# Test whether a given class or definition is defined
-require 'puppet/parser/functions'
-
-Puppet::Parser::Functions.newfunction(:defined_with_params,
-                                      :type => :rvalue,
-                                      :doc => <<-'ENDOFDOC'
-Takes a resource reference and an optional hash of attributes.
-
-Returns true if a resource with the specified attributes has already been added
-to the catalog, and false otherwise.
-
-    user { 'dan':
-      ensure => present,
-    }
-
-    if ! defined_with_params(User[dan], {'ensure' => 'present' }) {
-      user { 'dan': ensure => present, }
-    }
-ENDOFDOC
-) do |vals|
-  reference, params = vals
-  raise(ArgumentError, 'Must specify a reference') unless reference
-  if (! params) || params == ''
-    params = {}
-  end
-  ret = false
-  if resource = findresource(reference.to_s)
-    matches = params.collect do |key, value|
-      resource[key] == value
-    end
-    ret = params.empty? || !matches.include?(false)
-  end
-  Puppet.debug("Resource #{reference} was not determined to be defined")
-  ret
-end
diff --git a/lib/puppet/parser/functions/ensure_resource.rb b/lib/puppet/parser/functions/ensure_resource.rb
deleted file mode 100644 (file)
index 6a9e2ed..0000000
+++ /dev/null
@@ -1,33 +0,0 @@
-# Test whether a given class or definition is defined
-require 'puppet/parser/functions'
-
-Puppet::Parser::Functions.newfunction(:ensure_resource,
-                                      :type => :statement,
-                                      :doc => <<-'ENDOFDOC'
-Takes a resource type, title, and a list of attributes that describe a
-resource.
-
-    user { 'dan':
-      ensure => present,
-    }
-
-This example only creates the resource if it does not already exist:
-
-    ensure_resource('user, 'dan', {'ensure' => 'present' })
-
-If the resource already exists but does not match the specified parameters,
-this function will attempt to recreate the resource leading to a duplicate
-resource definition error.
-
-ENDOFDOC
-) do |vals|
-  type, title, params = vals
-  raise(ArgumentError, 'Must specify a type') unless type
-  raise(ArgumentError, 'Must specify a title') unless title
-  params ||= {}
-  if function_defined_with_params(["#{type}[#{title}]", params])
-    Puppet.debug("Resource #{type}[#{title}] not created b/c it already exists")
-  else
-    function_create_resources([type.capitalize, { title => params }])
-  end
-end
diff --git a/spec/functions/defined_with_params_spec.rb b/spec/functions/defined_with_params_spec.rb
deleted file mode 100644 (file)
index 28dbab3..0000000
+++ /dev/null
@@ -1,37 +0,0 @@
-#! /usr/bin/env ruby -S rspec
-require 'spec_helper'
-
-require 'rspec-puppet'
-describe 'defined_with_params' do
-  describe 'when a resource is not specified' do
-    it { should run.with_params().and_raise_error(ArgumentError) }
-  end
-  describe 'when compared against a resource with no attributes' do
-    let :pre_condition do
-      'user { "dan": }'
-    end
-    it do
-      should run.with_params('User[dan]', {}).and_return(true)
-      should run.with_params('User[bob]', {}).and_return(false)
-      should run.with_params('User[dan]', {'foo' => 'bar'}).and_return(false)
-    end
-  end
-
-  describe 'when compared against a resource with attributes' do
-    let :pre_condition do
-      'user { "dan": ensure => present, shell => "/bin/csh", managehome => false}'
-    end
-    it do
-      should run.with_params('User[dan]', {}).and_return(true)
-      should run.with_params('User[dan]', '').and_return(true)
-      should run.with_params('User[dan]', {'ensure' => 'present'}
-                            ).and_return(true)
-      should run.with_params('User[dan]',
-                             {'ensure' => 'present', 'managehome' => false}
-                            ).and_return(true)
-      should run.with_params('User[dan]',
-                             {'ensure' => 'absent', 'managehome' => false}
-                            ).and_return(false)
-    end
-  end
-end
diff --git a/spec/functions/ensure_resource_spec.rb b/spec/functions/ensure_resource_spec.rb
deleted file mode 100644 (file)
index 611666e..0000000
+++ /dev/null
@@ -1,40 +0,0 @@
-#! /usr/bin/env ruby -S rspec
-require 'spec_helper'
-
-require 'rspec-puppet'
-describe 'ensure_resource' do
-  describe 'when a type or title is not specified' do
-    it do
-      should run.with_params().and_raise_error(ArgumentError)
-      should run.with_params(['type']).and_raise_error(ArgumentError)
-    end
-  end
-  describe 'when compared against a resource with no attributes' do
-    let :pre_condition do
-      'user { "dan": }'
-    end
-    it do
-      should run.with_params('user', 'dan', {})
-      compiler.catalog.resource('User[dan]').to_s.should == 'User[dan]'
-    end
-  end
-
-  describe 'when compared against a resource with attributes' do
-    let :pre_condition do
-      'user { "dan": ensure => present, shell => "/bin/csh", managehome => false}'
-    end
-    it do
-      # these first three should not fail
-      should run.with_params('User', 'dan', {})
-      should run.with_params('User', 'dan', '')
-      should run.with_params('User', 'dan', {'ensure' => 'present'})
-      should run.with_params('User', 'dan',
-                             {'ensure' => 'present', 'managehome' => false}
-                            )
-      #  test that this fails
-      should run.with_params('User', 'dan',
-                             {'ensure' => 'absent', 'managehome' => false}
-                            ).and_raise_error(Puppet::Error)
-    end
-  end
-end