Sha256: 29b5b040032898afb97789836307bb9092a6dc773a74a0a338fb89d241fcb852

Contents?: true

Size: 1.6 KB

Versions: 8

Compression:

Stored size: 1.6 KB

Contents

require 'test/unit'
require 'tempfile'
require 'test_helper'

class InstanceTest < Test::Unit::TestCase
  include Rubber::Configuration

  def setup
    @instance = Instance.new(Tempfile.new('testforrole').path)
    @instance.add(@i1 = InstanceItem.new('host1', 'domain.com', [RoleItem.new('role1')], ''))
    @instance.add(@i2 = InstanceItem.new('host2', 'domain.com', [RoleItem.new('role1')], ''))
    @instance.add(@i3 = InstanceItem.new('host3', 'domain.com', [RoleItem.new('role2')], ''))
    @instance.add(@i4 = InstanceItem.new('host4', 'domain.com', [RoleItem.new('role2', 'primary' => true)], ''))
  end

  def test_for_role
    assert_equal 2, @instance.for_role('role1').size, 'not finding correct instances for role'
    assert_equal 2, @instance.for_role('role2').size, 'not finding correct instances for role'
    assert_equal 1, @instance.for_role('role2', {}).size, 'not finding correct instances for role'
    assert_equal @i3, @instance.for_role('role2', {}).first, 'not finding correct instances for role'
    assert_equal 1, @instance.for_role('role2', 'primary' => true).size, 'not finding correct instances for role'
    assert_equal @i4, @instance.for_role('role2', 'primary' => true).first, 'not finding correct instances for role'
  end

  def test_filtered
    assert_equal 4, @instance.filtered().size, 'should not filter for empty FILTER'
    
    ENV['FILTER'] = 'host1'
    setup
    assert_equal [@i1], @instance.filtered(), 'should have only filtered host'
    
    ENV['FILTER'] = 'host2 , host4'
    setup
    assert_equal [@i2, @i4], @instance.filtered(), 'should have only filtered hosts'
    
  end

end

Version data entries

8 entries across 8 versions & 1 rubygems

Version Path
sml-rubber-0.9.1 test/instance_test.rb
sml-rubber-0.9.3 test/instance_test.rb
sml-rubber-0.9.4 test/instance_test.rb
sml-rubber-0.9.5 test/instance_test.rb
sml-rubber-0.9.6 test/instance_test.rb
sml-rubber-0.9.7 test/instance_test.rb
sml-rubber-0.9.8 test/instance_test.rb
sml-rubber-0.9.9 test/instance_test.rb