+++ /dev/null
-#!/usr/bin/env rspec
-
-require 'spec_helper'
-require File.dirname(__FILE__) + '/../../plugins/mcollective/validator/array_validator.rb'
-
-module MCollective
- module Validator
- describe "#load_validators" do
- it "should not reload the plugins if the plugin cache has not expired" do
- Validator.instance_variable_set(:@last_load, nil)
- PluginManager.expects(:find_and_load).with("validator").once
- Validator.load_validators
- Validator.load_validators
- end
- end
-
- describe "#[]" do
- before do
- Validator.load_validators
- end
-
- it "should return the correct class if klass is given as klass" do
- result = Validator["array"]
- result.should == ArrayValidator
- end
- it "should return the correct class if klass is given as KlassValidator" do
- result = Validator["ArrayValidator"]
- result.should == ArrayValidator
- end
- it "should return the correct class if klass is given as :klass" do
- result = Validator[:array]
- result.should == ArrayValidator
- end
- end
-
- describe "#method_missing" do
- it "should load a plugin if a validator method is called and the plugin exists" do
- ArrayValidator.expects(:validate).with(2, [1,2,3])
- result = Validator.array(2,[1,2,3])
- end
-
- it "should call super if a validator method is called and the plugin does not exist" do
- expect{
- Validator.rspec(1,2,3)
- }.to raise_error(ValidatorError)
- end
- end
-
- describe "#validator_class" do
- it "should return the correct string for a given validator plugin name" do
- result = Validator.validator_class("test")
- result.should == "TestValidator"
- end
- end
-
- describe "#has_validator?" do
- it "should return true if the validator has been loaded" do
- Validator.const_set(:TestValidator, Class)
- Validator.has_validator?("test").should == true
- end
-
- it "should return false if the validator has not been loaded" do
- Validator.has_validator?("test2").should == false
- end
- end
- end
-end