7 describe DiscoveryDDL do
9 Cache.delete!(:ddl) rescue nil
10 @ddl = DDL.new("rspec", :discovery, false)
11 @ddl.metadata(:name => "name", :description => "description", :author => "author", :license => "license", :version => "version", :url => "url", :timeout => "timeout")
14 describe "#discovery_interface" do
15 it "should return correct data" do
16 @ddl.instance_variable_set("@plugintype", :discovery)
18 @ddl.capabilities :identity
21 @ddl.discovery_interface.should == {:capabilities => [:identity]}
25 describe "#capabilities" do
26 it "should support non arrays" do
27 @ddl.instance_variable_set("@plugintype", :discovery)
29 @ddl.capabilities :identity
31 @ddl.discovery_interface.should == {:capabilities => [:identity]}
34 it "should not accept empty capability lists" do
35 @ddl.instance_variable_set("@plugintype", :discovery)
37 expect { @ddl.capabilities [] }.to raise_error("Discovery plugin capabilities can't be empty")
41 it "should only accept known capabilities" do
42 @ddl.instance_variable_set("@plugintype", :discovery)
44 expect { @ddl.capabilities :rspec }.to raise_error(/rspec is not a valid capability/)
48 it "should correctly store the capabilities" do
49 @ddl.instance_variable_set("@plugintype", :discovery)
51 @ddl.capabilities [:identity, :classes]
53 @ddl.discovery_interface.should == {:capabilities => [:identity, :classes]}