blob: 095ffc9f546f078fc56ffa475d0cd42c2d015553 [file] [log] [blame]
require 'rubygems'
require 'require_relative' if RUBY_VERSION < '1.9'
require_relative 'common.rb'
describe Deltacloud::Helpers::Application do
before do
class ApplicationHelper
include Deltacloud::Helpers::Drivers
include Deltacloud::Helpers::Application
end
@helper = ApplicationHelper.new
end
it 'provides name for the authentication feature' do
@helper.auth_feature_name.wont_be_nil
@helper.auth_feature_name.must_equal 'key'
Thread.current[:driver] = 'gogrid'
@helper.auth_feature_name.must_equal 'password'
Thread.current[:driver] = 'mock'
end
it 'provides HTTP methods for instance actions' do
@helper.instance_action_method(:stop).wont_be_nil
@helper.instance_action_method(:stop).must_equal :post
@helper.instance_action_method(:destroy).must_equal :delete
end
it 'provide helper for wrapping text nodes with CDATA' do
@helper.render_cdata('test').must_equal '<![CDATA[test]]>'
@helper.render_cdata('').must_equal '<![CDATA[]]>'
@helper.render_cdata('test ').must_equal '<![CDATA[test]]>'
@helper.render_cdata(nil).must_be_nil
end
it 'provide helper to access driver entrypoints' do
@helper.driver_provider(Deltacloud::Drivers.driver_config[:ec2]).must_be_kind_of Hash
@helper.driver_provider(Deltacloud::Drivers.driver_config[:ec2]).keys.wont_be_empty
end
end