mockRouter = null
mockGlobals = null
toMock = ["is_valid_ip", "get_router", "get_switch"]
TEST_SETUP function()
globals.mockGlobals = Mock.build({})
toMock.forEach function(key) // forEach is from an extension I added to list. Published separately.
globals[key] = mockGlobals.define(key, 1)
end function
globals.mockRouter = Mock.build({})
mockRouter.define("firewall_rules", 0)
mockRouter.define("local_ip", 0)
mockRouter.define("devices_lan_ip", 0)
end function
TEST_TEARDOWN function()
assertTrue mockRouter.getResult
assertTrue mockGlobals.getResult
toMock.forEach(@globals.remove, globals)
end function
TEST "NetDev initialises correctly and returns valid data", function()
fwRules = ["ALLOW 1234 Any 10.0.0.1", "DENY 4321 Any Any"]
devices = ["192.168.1.1", "10.0.0.1", "172.16.0.1"]
firstArg = "192.168.1.1"
mockGlobals.expectCall("is_valid_ip").withParams(firstArg).andReturn(true)
mockGlobals.expectCall("get_router").withParams(firstArg).andReturn(mockRouter)
mockRouter.expectCall("firewall_rules").andReturn(fwRules)
mockRouter.expectCall("local_ip").andReturn(firstArg)
mockRouter.expectCall("devices_lan_ip").andReturn(devices)
mockGlobals.expectCall("is_valid_ip").withParams(devices[1]).andReturn(true)
mockGlobals.expectCall("get_router").withParams(devices[1]).andReturn(null)
mockGlobals.expectCall("get_switch").withParams(devices[1]).andReturn(mockRouter)
mockRouter.expectCall("firewall_rules").andReturn([])
mockRouter.expectCall("local_ip").andReturn(devices[1])
mockRouter.expectCall("devices_lan_ip").andReturn(devices)
mockGlobals.expectCall("is_valid_ip").withParams(devices[2]).andReturn(true)
mockGlobals.expectCall("get_router").withParams(devices[2]).andReturn(null)
mockGlobals.expectCall("get_switch").withParams(devices[2]).andReturn(null)
netDev = NetDev.GetDevInfo(firstArg)
expectIsa netDev, NetDev.Router
expectEqual netDev.dev, mockRouter
expectEqual netDev.localIp, devices[0]
expectEqual netDev.connections.len, devices.len - 1
assertEqual netDev.fwRules.len, fwRules.len
expectIsa netDev.fwRules[0], FwRule.ALLOW
expectEqual netDev.fwRules[0].port, 1234
expectIsa netDev.fwRules[0].src, FwRule.Any
expectEqual netDev.fwRules[0].dst, "10.0.0.1"
expectIsa netDev.fwRules[1], FwRule.DENY
expectEqual netDev.fwRules[1].port, 4321
expectIsa netDev.fwRules[1].src, FwRule.Any
expectIsa netDev.fwRules[1].dst, FwRule.Any
switch = netDev.connections[0]
expectIsa switch, NetDev.Switch
expectEqual switch.dev, mockRouter
expectEqual switch.fwRules, []
expectEqual switch.localIp, "10.0.0.1"
assertEqual switch.connections.len, devices.len - 1
host = netDev.connections[1]
expectIsa host, LANDevice
expectEqual host.localIp, "172.16.0.1"
end function
RUN_ALL_TESTS // CRUCIAL!