From 9c46cb4bcaefd6ee3ee099f84a5a13429a65e2a1 Mon Sep 17 00:00:00 2001 From: Kuno Meyer Date: Wed, 25 Sep 2024 17:24:26 +0200 Subject: [PATCH] make binding attribute optional --- dhcp_leases/dhcpleases.py | 2 +- dhcp_leases/test_lease.py | 7 +++++++ 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/dhcp_leases/dhcpleases.py b/dhcp_leases/dhcpleases.py index a008194..f971e4b 100644 --- a/dhcp_leases/dhcpleases.py +++ b/dhcp_leases/dhcpleases.py @@ -216,7 +216,7 @@ def __init__(self, ip, properties, options=None, sets=None, now=None): self.data = properties self.options = options self.sets = sets - _, self.binding_state = properties['binding'].split(' ', 1) + self.binding_state = properties['binding'].split(' ', 1)[1] if 'binding' in properties else None self._now = now @property diff --git a/dhcp_leases/test_lease.py b/dhcp_leases/test_lease.py index 66a33cb..0ba33c3 100644 --- a/dhcp_leases/test_lease.py +++ b/dhcp_leases/test_lease.py @@ -84,6 +84,13 @@ def test_init_no_starts_property(self): self.assertFalse(lease.active) self.assertEqual(lease.binding_state, 'free') + def test_init_no_binding(self): + self.lease_data.pop('binding') + lease = Lease("192.168.0.1", self.lease_data) + self.assertEqual(lease.ip, "192.168.0.1") + self.assertIsNone(lease.binding_state) + self.assertFalse(lease.active) + @freeze_time("2015-07-6 8:15:0") def test_valid_no_starts_property(self): self.lease_data.pop('starts')