Project

General

Profile

Download (1.69 KB) Statistics
| Branch: | Tag: | Revision:
require 'test_helper'
require "proxy/dhcp"

class DHCPServerTest < Test::Unit::TestCase

def setup
@server = Proxy::DHCP::Server.new("testcase")
@subnet = Proxy::DHCP::Subnet.new(@server, "192.168.0.0", "255.255.255.0")
@subnet.load
@record = Proxy::DHCP::Record.new(:subnet => @subnet, :ip => "192.168.0.11", :mac => "aa:bb:cc:dd:ee:ff")
end

def test_should_provide_subnets
assert_respond_to @server, :subnets
end

def test_should_add_subnet
counter = @server.subnets.size
Proxy::DHCP::Subnet.new(@server, "192.168.1.0", "255.255.255.0")
assert_equal counter+1, @server.subnets.size
end

def test_should_not_add_duplicate_subnets
assert_raise Proxy::DHCP::Error do
Proxy::DHCP::Subnet.new(@server, "192.168.0.0", "255.255.255.0")
end
end

def test_should_find_subnet_based_on_network
assert_equal @subnet, @server.find_subnet("192.168.0.0")
end

def test_should_find_subnet_based_on_dhcp_record
assert_equal @subnet, @server.find_subnet(@record)
end

def test_should_find_subnet_based_on_ipaddr
ip = IPAddr.new "192.168.0.11"
assert_equal @subnet, @server.find_subnet(ip)
end

def test_should_find_record_based_on_ip
assert_equal @record, @server.find_record("192.168.0.11")
end

def test_should_find_record_based_on_dhcp_record
assert_equal @record, @server.find_record(@record)
end

def test_should_find_record_based_on_ipaddr
ip = IPAddr.new "192.168.0.11"
assert_equal @record, @server.find_record(ip)
end

def test_should_retrun_nil_when_no_subnet
subnet = @server.find_subnet IPAddr.new("1.20.76.0")
assert_nil subnet
end

def test_should_have_a_name
assert !@server.name.nil?
end

end
(25-25/31)