def test_leases(self): from ddwrtnvram import readNvram, writeNvram from nvramlogging import getTestLogger logger = getTestLogger() nvram = readNvram('./test/static.lease.23.bin', logger) router = Router(nvram) leases = router.leases self.assertEqual(len(leases), 2) self.assertEqual(leases[0].hostname, "raspberrypi") self.assertEqual(leases[1].hostname, "raspberrypi2") from lease import Lease printerLease = Lease({ "hostname": "printer", "mac_address": "aa:bb:f8:43:f6:dd", "ip_address": "192.168.235.88", "lease_time": "500" }) router.addLease(printerLease) leases = router.leases self.assertEqual(len(leases), 3) self.assertEqual(router.nvram['static_leasenum'], '3') self.assertEqual(leases[0].hostname, "printer") self.assertEqual(leases[1].hostname, "raspberrypi") self.assertEqual(leases[2].hostname, "raspberrypi2") self.assertEqual( router.leasesStr(), "AA:BB:F8:43:F6:DD=printer=192.168.235.88=500 B8:27:EB:5E:9C:C0=raspberrypi=192.168.23.41=3600 B8:27:EB:5E:9C:C1=raspberrypi2=192.168.23.42=3601 " ) # now write, read and then retest writeNvram('./test/test.static.leases.router.bin', router.nvram, logger) nvram = readNvram('./test/test.static.leases.router.bin', logger) router = Router(nvram) leases = router.leases self.assertEqual(len(leases), 3) self.assertEqual(router.nvram['static_leasenum'], '3') self.assertEqual(leases[1].hostname, "raspberrypi") self.assertEqual(leases[2].hostname, "raspberrypi2") self.assertEqual(leases[0].hostname, "printer")
def test_leases_router(self): logger = getTestLogger() nvram = readNvram("./test/static.lease.23.bin", logger) router = Router(nvram) s = router.leasesStr() shouldBe = 'B8:27:EB:5E:9C:C0=raspberrypi=192.168.23.41=3600 B8:27:EB:5E:9C:C1=raspberrypi2=192.168.23.42=3601 ' self.assertEqual(s, shouldBe) self.assertEqual(s, router.nvram['static_leases']) self.assertEqual(router.nvram['static_leasenum'], '2') leaseDict = { "hostname": "Host1", "mac_address": "aa:bb:f8:43:f6:dd", "ip_address": "192.168.235.88", "lease_time": "500" } lease = Lease(leaseDict) router.addLease(lease) self.assertEqual(len(router.leases), 3) self.assertEqual(router.nvram['static_leasenum'], '3') s = router.leasesStr() shouldBe = "AA:BB:F8:43:F6:DD=host1=192.168.235.88=500 B8:27:EB:5E:9C:C0=raspberrypi=192.168.23.41=3600 B8:27:EB:5E:9C:C1=raspberrypi2=192.168.23.42=3601 " self.assertEqual(s, shouldBe)