+++ /dev/null
-#! /usr/bin/env rspec
-
-require 'spec_helper'
-
-module MCollective
- module Generators
- describe AgentGenerator do
-
- describe "#create_ddl" do
-
- before :each do
- AgentGenerator.any_instance.stubs(:create_plugin_content)
- AgentGenerator.any_instance.stubs(:create_plugin_string)
- AgentGenerator.any_instance.stubs(:write_plugins)
- AgentGenerator.any_instance.expects(:create_metadata_string).returns("metadata\n")
- end
-
- it "should create a ddl with nothing but metadata if no actions are specified" do
- result = AgentGenerator.new("foo").ddl
- result.should == "metadata\n"
- end
-
- it "should add action strings to metadata if there are actions specfied" do
- result = AgentGenerator.new("foo", ["action1", "action2"]).ddl
- expected = File.read(File.join(File.dirname(__FILE__), "snippets", "agent_ddl"))
- result.should == expected
- end
- end
-
- describe "#create_plugin_content" do
- before :each do
- AgentGenerator.any_instance.stubs(:create_plugin_string)
- AgentGenerator.any_instance.stubs(:write_plugins)
- AgentGenerator.any_instance.stubs(:create_metadata_string).returns("metadata\n")
- AgentGenerator.any_instance.stubs(:create_ddl)
- end
-
- it "should create the correct pluginf ile content with actions if they are specified" do
- AgentGenerator.any_instance.stubs(:create_metadata_string).returns("meta\n")
- result = AgentGenerator.new("foo", ["action1", "action2"]).content
- result.should == " action \"action1\" do\n end\n\n action \"action2\" do\n end\n"
- end
- end
-
- describe "#action_help" do
- before :each do
- AgentGenerator.any_instance.stubs(:create_plugin_content)
- AgentGenerator.any_instance.stubs(:create_plugin_string)
- AgentGenerator.any_instance.stubs(:write_plugins)
- AgentGenerator.any_instance.stubs(:create_metadata_string).returns("metadata\n")
- end
-
- it "should load and return the action_help snippet" do
- erb = mock
- erb.stubs(:result).returns("result")
- File.stubs(:dirname).returns("/tmp")
- File.expects(:read).with("/tmp/templates/action_snippet.erb").returns("result")
- ERB.expects(:new).with("result").returns(erb)
- AgentGenerator.new("foo", ["action"])
- end
-
- it "should raise an error if the action_help snippet does not exist" do
- File.stubs(:dirname).returns("/tmp")
- File.stubs(:read).raises(Errno::ENOENT, "No such file or directory")
- expect{
- AgentGenerator.new("foo", ["action"])
- }.to raise_error(Errno::ENOENT)
- end
- end
- end
- end
-end