Преглед на файлове

Fix regexp for $ensure params

/\Aabsent|present\Z/ match wrong values like 'absentaaa' or 'aaapresent'.

And add tests to the context of 'invalid ensure'.
OKUMURA Takahiro преди 8 години
родител
ревизия
459f515879
променени са 2 файла, в които са добавени 10 реда и са изтрити 8 реда
  1. 1 1
      manifests/key.pp
  2. 9 7
      spec/defines/key_spec.rb

+ 1 - 1
manifests/key.pp

@@ -49,7 +49,7 @@ define apt::key (
   }
 
   validate_re($_id, ['\A(0x)?[0-9a-fA-F]{8}\Z', '\A(0x)?[0-9a-fA-F]{16}\Z', '\A(0x)?[0-9a-fA-F]{40}\Z'])
-  validate_re($ensure, ['\Aabsent|present\Z',])
+  validate_re($ensure, ['\A(absent|present)\Z',])
 
   if $_content {
     validate_string($_content)

+ 9 - 7
spec/defines/key_spec.rb

@@ -268,13 +268,15 @@ describe 'apt::key' do
     end
 
     context 'invalid ensure' do
-      let :params do
-        {
-          :ensure => 'foo',
-        }
-      end
-      it 'fails' do
-        expect { subject.call }.to raise_error(/does not match/)
+      %w(foo aabsent absenta apresent presenta).each do |param|
+        let :params do
+          {
+            :ensure => param,
+          }
+          end
+        it 'fails' do
+          expect { subject.call }.to raise_error(/does not match/)
+        end
       end
     end