]> review.fuel-infra Code Review - puppet-modules/puppet-ceilometer.git/commitdiff
Use anchor to require necessary packages
authorTakashi Kajinami <tkajinam@redhat.com>
Sun, 3 May 2020 16:06:07 +0000 (01:06 +0900)
committerTakashi Kajinami <tkajinam@redhat.com>
Sun, 3 May 2020 16:43:51 +0000 (01:43 +0900)
... so that correct packages are required without re-defining them in
resource implementations.

Change-Id: Icaae881f5d074ad388eaddd26eb82261ea78937d

lib/puppet/type/ceilometer_api_paste_ini.rb
lib/puppet/type/ceilometer_config.rb
spec/unit/type/ceilometer_api_paste_ini_spec.rb
spec/unit/type/ceilometer_config_spec.rb

index 3428b95c4e0dbdf83193b3b0a1a81a119eb766d0..7366b270481f96990cadf8dfde125ba017d7a28f 100644 (file)
@@ -45,8 +45,8 @@ Puppet::Type.newtype(:ceilometer_api_paste_ini) do
     defaultto('<SERVICE DEFAULT>')
   end
 
-  autorequire(:package) do
-    'ceilometer'
+  autorequire(:anchor) do
+    ['ceilometer::install::end']
   end
 
 end
index 460b613c79f142142898df977f25fe00ca4abf98..d356d81477cf184966cbb03664d6b7d6081ac651 100644 (file)
@@ -57,8 +57,8 @@ Puppet::Type.newtype(:ceilometer_config) do
     defaultto('<SERVICE DEFAULT>')
   end
 
-  autorequire(:package) do
-    'ceilometer-common'
+  autorequire(:anchor) do
+    ['ceilometer::install::end']
   end
 
 end
index 9e717719803b8476cefba3e0cc4ddd33d27d08e2..05b651fbf7143d3fa6f28f049837e287d96ed8a9 100644 (file)
@@ -1,21 +1,11 @@
-require 'spec_helper'
-# this hack is required for now to ensure that the path is set up correctly
-# to retrieve the parent provider
-$LOAD_PATH.push(
-  File.join(
-    File.dirname(__FILE__),
-    '..',
-    '..',
-    'fixtures',
-    'modules',
-    'inifile',
-    'lib')
-)
+require 'puppet'
 require 'puppet/type/ceilometer_api_paste_ini'
+
 describe 'Puppet::Type.type(:ceilometer_api_paste_ini)' do
   before :each do
     @ceilometer_api_paste_ini = Puppet::Type.type(:ceilometer_api_paste_ini).new(:name => 'DEFAULT/foo', :value => 'bar')
   end
+
   it 'should accept a valid value' do
     @ceilometer_api_paste_ini[:value] = 'bar'
     expect(@ceilometer_api_paste_ini[:value]).to eq('bar')
@@ -23,12 +13,12 @@ describe 'Puppet::Type.type(:ceilometer_api_paste_ini)' do
 
   it 'should autorequire the package that install the file' do
     catalog = Puppet::Resource::Catalog.new
-    package = Puppet::Type.type(:package).new(:name => 'ceilometer')
-    catalog.add_resource package, @ceilometer_api_paste_ini
+    anchor = Puppet::Type.type(:anchor).new(:name => 'ceilometer::install::end')
+    catalog.add_resource anchor, @ceilometer_api_paste_ini
     dependency = @ceilometer_api_paste_ini.autorequire
     expect(dependency.size).to eq(1)
     expect(dependency[0].target).to eq(@ceilometer_api_paste_ini)
-    expect(dependency[0].source).to eq(package)
+    expect(dependency[0].source).to eq(anchor)
   end
 
 end
index 8ccfd8681be39fcb06f2691599cdfc1229c1e06e..be2524fe5f2e695f21a399daf3fe7af67a2117ad 100644 (file)
@@ -51,14 +51,14 @@ describe 'Puppet::Type.type(:ceilometer_config)' do
     }.to raise_error(Puppet::Error, /Invalid value/)
   end
 
-  it 'should autorequire the package that install the file' do
+  it 'should autorequire the pachage that install the file' do
     catalog = Puppet::Resource::Catalog.new
-    package = Puppet::Type.type(:package).new(:name => 'ceilometer-common')
-    catalog.add_resource package, @ceilometer_config
+    anchor = Puppet::Type.type(:anchor).new(:name => 'ceilometer::install::end')
+    catalog.add_resource anchor, @ceilometer_config
     dependency = @ceilometer_config.autorequire
     expect(dependency.size).to eq(1)
     expect(dependency[0].target).to eq(@ceilometer_config)
-    expect(dependency[0].source).to eq(package)
+    expect(dependency[0].source).to eq(anchor)
   end
 
 end