Revision 0a806f31
Added by Dmitri Dolguikh over 7 years ago
test/dhcp_libvirt/dhcp_libvirt_provider_test.rb | ||
---|---|---|
|
||
class DhcpLibvirtProviderTest < Test::Unit::TestCase
|
||
def setup
|
||
fixture = <<XMLFIXTURE
|
||
<network>
|
||
<name>default</name>
|
||
<uuid>25703051-f5d4-4a31-80b7-37bbbc4d19e1</uuid>
|
||
<forward mode='nat'>
|
||
<nat>
|
||
<port start='1024' end='65535'/>
|
||
</nat>
|
||
</forward>
|
||
<bridge name='virbr0' stp='on' delay='0'/>
|
||
<mac address='52:54:00:ed:a7:f7'/>
|
||
<ip address='192.168.122.1' netmask='255.255.255.0'>
|
||
<dhcp>
|
||
<range start='192.168.122.2' end='192.168.122.254'/>
|
||
<host mac="00:16:3e:77:e2:ed" name="foo-1.example.com" ip="192.168.122.10" />
|
||
<host mac="00:16:3e:77:e2:ee" name="foo-2.example.com" ip="192.168.122.11" />
|
||
</dhcp>
|
||
</ip>
|
||
</network>
|
||
XMLFIXTURE
|
||
@json_leases = [{
|
||
"ipaddr" => "192.168.122.22",
|
||
"mac" => "52:54:00:13:05:12",
|
||
"expirytime" => 1_455_723_598
|
||
}]
|
||
@libvirt_network = mock()
|
||
@libvirt_network.stubs(:dump_xml).returns(fixture)
|
||
@libvirt_network.stubs(:dhcp_leases).returns(@json_leases)
|
||
@subnet = Proxy::DHCP::Subnet.new("192.168.122.0", "255.255.255.0")
|
||
@subnet_store = {}
|
||
@service = Proxy::DHCP::SubnetService.new(Proxy::MemoryStore.new, Proxy::MemoryStore.new,
|
||
... | ... | |
@subject = ::Proxy::DHCP::Libvirt::Provider.new('default', @libvirt_network, @service)
|
||
end
|
||
|
||
def test_should_load_subnets
|
||
@subject.load_subnets
|
||
|
||
assert @service.find_subnet("192.168.122.0")
|
||
assert_equal 1, @service.all_subnets.size
|
||
end
|
||
|
||
def test_should_load_subnet_data
|
||
@subject.load_subnet_data(@subnet)
|
||
|
||
assert @service.find_hosts_by_ip("192.168.122.0", "192.168.122.10")
|
||
assert @service.find_hosts_by_ip("192.168.122.0", "192.168.122.11")
|
||
assert @service.find_lease_by_ip("192.168.122.0", "192.168.122.22")
|
||
assert @service.find_lease_by_mac("192.168.122.0", "52:54:00:13:05:12")
|
||
assert_equal 2, @service.all_hosts.size
|
||
end
|
||
|
||
def test_should_add_record
|
||
record_hash = { :name => "test.example.com", :ip => "192.168.122.95", :mac => "00:11:bb:cc:dd:ee", :network => "192.168.122.0/255.255.255.0", :subnet => @subnet }
|
||
record = Proxy::DHCP::Reservation.new("test.example.com", "192.168.122.95", "00:11:bb:cc:dd:ee", @subnet)
|
||
... | ... | |
@service.add_subnet(@subnet)
|
||
@service.add_host("192.168.122.0", record)
|
||
@subject.libvirt_network.expects(:del_dhcp_record).with(record)
|
||
@subject.del_record(@subnet, record)
|
||
@subject.del_record(record)
|
||
end
|
||
end
|
Also available in: Unified diff
Fixes #18072 - removed load_* methods from core dhcp providers