Updated mcollective.init according to OSCI-658
[packages/precise/mcollective.git] / spec / unit / plugins / mcollective / validator / shellsafe_validator_spec.rb
diff --git a/spec/unit/plugins/mcollective/validator/shellsafe_validator_spec.rb b/spec/unit/plugins/mcollective/validator/shellsafe_validator_spec.rb
new file mode 100644 (file)
index 0000000..1f804c1
--- /dev/null
@@ -0,0 +1,21 @@
+#!/usr/bin/env rspec
+require 'spec_helper'
+require File.dirname(__FILE__) + '/../../../../../plugins/mcollective/validator/shellsafe_validator.rb'
+
+module MCollective
+  module Validator
+    describe "#validate" do
+      it "should raise an exception if the given string is not shellsafe" do
+        ['`', '$', ';', '|', '&&', '>', '<'].each do |chr|
+          expect{
+            ShellsafeValidator.validate("#{chr}test")
+          }.to raise_error(ValidatorError, "value should not have #{chr} in it")
+        end
+      end
+
+      it "should not raise an exception if the given string is shellsafe" do
+        ShellsafeValidator.validate("test")
+      end
+    end
+  end
+end