]> gitweb.fluxo.info Git - puppet-stdlib.git/commitdiff
Fix the validate_augeas beaker tests
authorHunter Haugen <hunter@puppetlabs.com>
Fri, 2 May 2014 19:56:22 +0000 (12:56 -0700)
committerHunter Haugen <hunter@puppetlabs.com>
Fri, 2 May 2014 19:56:22 +0000 (12:56 -0700)
spec/acceptance/validate_augeas_spec.rb
spec/spec_helper_acceptance.rb

index 2175ada0e0f42e0a845ba905172e071e67a6c1b9..98ee6d1f13b23849ee38a7c92f0934886ab22267 100644 (file)
@@ -1,39 +1,62 @@
-#require 'spec_helper_acceptance'
-#
-#describe 'validate_augeas function', :unless => UNSUPPORTED_PLATFORMS.include?(fact('operatingsystem')) do
-#  describe 'prep' do
-#    it 'installs augeas for tests'
-#  end
-#  describe 'success' do
-#    it 'validates a single argument' do
-#      pp = <<-EOS
-#      $one = { 'a' => 1 }
-#      validate_hash($one)
-#      EOS
-#
-#      apply_manifest(pp, :catch_failures => true)
-#    end
-#    it 'validates an multiple arguments' do
-#      pp = <<-EOS
-#      $one = { 'a' => 1 }
-#      $two = { 'b' => 2 }
-#      validate_hash($one,$two)
-#      EOS
-#
-#      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}/)
-#      end
-#    end
-#  end
-#  describe 'failure' do
-#    it 'handles improper number of arguments'
-#  end
-#end
+require 'spec_helper_acceptance'
+
+describe 'validate_augeas function', :unless => UNSUPPORTED_PLATFORMS.include?(fact('operatingsystem')) do
+  describe 'prep' do
+    it 'installs augeas for tests'
+  end
+  describe 'success' do
+    context 'valid inputs with no 3rd argument' do
+      {
+        'root:x:0:0:root:/root:/bin/bash\n'                        => 'Passwd.lns',
+        'proc /proc   proc    nodev,noexec,nosuid     0       0\n' => 'Fstab.lns'
+      }.each do |line,lens|
+        it "validates a single argument for #{lens}" do
+          pp = <<-EOS
+          $line = "#{line}"
+          $lens = "#{lens}"
+          validate_augeas($line, $lens)
+          EOS
+
+          apply_manifest(pp, :catch_failures => true)
+        end
+      end
+    end
+    context 'valid inputs with 3rd and 4th arguments' do
+      it "validates a restricted value" do
+        line        = 'root:x:0:0:root:/root:/bin/barsh\n'
+        lens        = 'Passwd.lns'
+        restriction = '$file/*[shell="/bin/barsh"]'
+        pp = <<-EOS
+        $line        = "#{line}"
+        $lens        = "#{lens}"
+        $restriction = ['#{restriction}']
+        validate_augeas($line, $lens, $restriction, "my custom failure message")
+        EOS
+
+        expect(apply_manifest(pp, :expect_failures => true).stderr).to match(/my custom failure message/)
+      end
+    end
+    context 'invalid inputs' do
+      {
+        'root:x:0:0:root' => 'Passwd.lns',
+        '127.0.1.1'       => 'Hosts.lns'
+      }.each do |line,lens|
+        it "validates a single argument for #{lens}" do
+          pp = <<-EOS
+          $line = "#{line}"
+          $lens = "#{lens}"
+          validate_augeas($line, $lens)
+          EOS
+
+          apply_manifest(pp, :expect_failures => true)
+        end
+      end
+    end
+    context 'garbage inputs' do
+      it 'raises an error on invalid inputs'
+    end
+  end
+  describe 'failure' do
+    it 'handles improper number of arguments'
+  end
+end
index e9d0be87c7746557b39542eac9ee9ee4c8ae579b..1a0bba0a98e4019e2c64ebcb9a82b61e26bc9993 100644 (file)
@@ -8,8 +8,7 @@ unless ENV['RS_PROVISION'] == 'no' or ENV['BEAKER_provision'] == 'no'
     if host.is_pe?
       install_pe
     else
-      install_package host, 'rubygems'
-      on host, 'gem install puppet --no-ri --no-rdoc'
+      install_puppet
       on host, "mkdir -p #{host['distmoduledir']}"
     end
   end