Sha256: e18d87b02a1c4c8b701f8544ec855d98205993f948f18a9f83706ba7dc01dfe2

Contents?: true

Size: 1.65 KB

Versions: 3

Compression:

Stored size: 1.65 KB

Contents

require File.join(File.dirname(__FILE__), 'test_helper')
describe HammerCLI::Defaults do

  FILEPATH = File.join(File.dirname(__FILE__), '/fixtures/defaults/defaults.yml')

  before(:all) do
    settings = YAML::load(File.open(FILEPATH))

    @defaults = HammerCLI::Defaults.new(settings[:defaults], FILEPATH)
    @defaults.stubs(:write_to_file).returns true
  end

  it "Should add a default param to defaults file, without a provider" do
    defaults_result = @defaults.add_defaults_to_conf({"organization_id"=> 3}, nil)
    assert_equal 3, defaults_result[:defaults][:organization_id][:value]
  end

  it "Should add a default param to defaults file, with provider" do
    defaults_result = @defaults.add_defaults_to_conf({"location_id"=>nil}, :foreman)
    assert_equal :foreman, defaults_result[:defaults][:location_id][:provider]
  end

  it "Should remove default param from defaults file" do
    defaults_result = @defaults.delete_default_from_conf(:organization_id)
    assert_nil defaults_result[:defaults][:organization_id]
  end

  it "should get the default param, without provider" do
    assert_equal 2, @defaults.get_defaults("location_id")
  end

  it "should get the default param, with provider" do
    fake_provider = mock()
    fake_provider.stubs(:provider_name).returns(:foreman)
    fake_provider.expects(:get_defaults).with(:organization_id).returns(3)
    @defaults.register_provider(fake_provider)
    assert_equal 3, @defaults.get_defaults("organization_id")
  end

  it "should return empty defaults when the settings file is not present" do
    defaults = HammerCLI::Defaults.new(nil, FILEPATH)
    assert_equal({}, defaults.defaults_settings)
  end

end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
hammer_cli-0.6.1 test/unit/defaults_test.rb
hammer_cli-0.6.0 test/unit/defaults_test.rb
hammer_cli-0.5.1 test/unit/defaults_test.rb