Exemplo n.º 1
0
    def test_nested(self):
        o = kea.Option(42).addOption(kea.Option(4).setUint16(5)).addOption(
            kea.Option(6).setString('hello'))
        self.assertEqual(
            """\
type=042, len=011: ,
options:
  type=004, len=002: 00:05
  type=006, len=005: 68:65:6c:6c:6f""", o.toText())
Exemplo n.º 2
0
 def test_ok(self):
     p = kea.Pkt4(kea.DHCPREQUEST, 42)
     o = kea.Option(kea.DHO_DHCP_AGENT_OPTIONS)
     self.assertEqual(1, o.use_count)
     self.assertIs(p, p.addOption(o))
     self.assertEqual(2, o.use_count)
     n = p.getOption(kea.DHO_DHCP_AGENT_OPTIONS)
     self.assertEqual(kea.DHO_DHCP_AGENT_OPTIONS, n.getType())
Exemplo n.º 3
0
 def test_filled(self):
     p = kea.Pkt4(kea.DHCPREQUEST, 42)  # 53
     p.setLocalAddr('1.2.3.4')
     p.setRemoteAddr('2.3.4.5')
     subnet = IPv4Network('10.0.0.0/20')
     p.addOption(
         kea.Option(kea.DHO_SUBNET_MASK).setBytes(
             subnet.netmask.packed))  # 1
     p.addOption(kea.Option(kea.DHO_ROUTERS).setBytes(
         subnet[1].packed))  # 3
     p.addOption(kea.Option(
         kea.DHO_DOMAIN_NAME).setString('test.org'))  # 15
     p.addOption(kea.Option(kea.DHO_DHCP_LEASE_TIME).setUint32(7200))  # 51
     p.addOption(kea.Option(
         kea.DHO_DHCP_RENEWAL_TIME).setUint32(1800))  # 58
     p.addOption(kea.Option(
         kea.DHO_DHCP_REBINDING_TIME).setUint32(3600))  # 59
     self.assertEqual(
         textwrap.dedent("""\
         local_address=1.2.3.4:67, remote_address=2.3.4.5:68, msg_type=DHCPREQUEST (3), transid=0x2a,
         options:
           type=001, len=004: ff:ff:f0:00
           type=003, len=004: 0a:00:00:01
           type=015, len=008: 74:65:73:74:2e:6f:72:67
           type=051, len=004: 00:00:1c:20
           type=053, len=001: 3 (uint8)
           type=058, len=004: 00:00:07:08
           type=059, len=004: 00:00:0e:10"""), p.toText())  # noqa: E501
Exemplo n.º 4
0
 def test_uint8(self):
     o = kea.Option(42).setUint8(5)
     self.assertEqual('type=042, len=001: 05', o.toText())
Exemplo n.º 5
0
 def test_badarg_count(self):
     o = kea.Option(42)
     self.assert_method_no_arguments(o.getUint8)
Exemplo n.º 6
0
 def test_badarg_type(self):
     o = kea.Option(42)
     with self.assertRaises(TypeError) as cm:
         o.setString(1)
     self.assertEqual(("a bytes-like object is required, not 'int'", ),
                      cm.exception.args)
Exemplo n.º 7
0
 def test_ok(self):
     o = kea.Option(42)
     o.setString('Pokémon')
     self.assertEqual('Pokémon', o.getString())
Exemplo n.º 8
0
 def test_badarg_type(self):
     o = kea.Option(42)
     with self.assertRaises(TypeError) as cm:
         o.setBytes('foo')
     self.assertEqual(("argument 1 must be bytes, not str", ),
                      cm.exception.args)
Exemplo n.º 9
0
 def test_ok(self):
     o = kea.Option(42)
     self.assertIs(o, o.setUint32(0x01020304))
Exemplo n.º 10
0
 def test_ok(self):
     o = kea.Option(42)
     self.assertEqual(1, o.use_count)
Exemplo n.º 11
0
 def test_ok(self):
     o = kea.Option(42)
     o.setUint32(0x01020304)
     self.assertEqual(0x01020304, o.getUint32())
     self.assertEqual(b'\x01\x02\x03\x04', o.getBytes())
Exemplo n.º 12
0
 def test_ok(self):
     o = kea.Option(42)
     self.assertIs(o, o.setUint16(0xfeed))
Exemplo n.º 13
0
 def test_ok(self):
     o = kea.Option(42)
     o.setUint16(0xfeed)
     self.assertEqual(0xfeed, o.getUint16())
     self.assertEqual(b'\xfe\xed', o.getBytes())
Exemplo n.º 14
0
 def test_ok(self):
     o = kea.Option(42)
     self.assertIs(42, o.getType())
Exemplo n.º 15
0
 def test_ok(self):
     o = kea.Option(42)
     p = kea.Option(2).setUint8(0xef)
     self.assertIs(o, o.addOption(p))
Exemplo n.º 16
0
 def test_ok(self):
     o = kea.Option(42)
     o.setBytes(b'123')
     self.assertEqual(b'123', o.getBytes())
Exemplo n.º 17
0
 def test_badarg_type(self):
     o = kea.Option(42)
     with self.assertRaises(TypeError) as cm:
         o.getOption('foo')
     self.assertEqual(("an integer is required (got type str)", ),
                      cm.exception.args)
Exemplo n.º 18
0
 def test_ok(self):
     o = kea.Option(42)
     self.assertIs(o, o.setBytes(b'123'))
Exemplo n.º 19
0
 def test_ok(self):
     o = kea.Option(42).addOption(kea.Option(2).setUint8(0xef))
     p = o.getOption(2)
     self.assertIsInstance(p, kea.Option)
     self.assertEqual(2, p.getType())
     self.assertEqual(0xef, p.getUint8())
Exemplo n.º 20
0
 def test_badarg_count(self):
     o = kea.Option(42)
     self.assert_method_one_arg_no_keywords(o.setString)
Exemplo n.º 21
0
 def test_ok(self):
     o = kea.Option(42).addOption(kea.Option(2).setUint8(0xef))
     wire = o.pack()
     self.assertIsInstance(wire, bytes)
     self.assertEqual(b'2a030201ef', codecs.encode(wire, 'hex'))
Exemplo n.º 22
0
 def test_ok(self):
     o = kea.Option(42)
     self.assertIs(o, o.setString('Pokémon'))
Exemplo n.º 23
0
 def test_empty(self):
     o = kea.Option(42)
     self.assertEqual('type=042, len=000: ', o.toText())
Exemplo n.º 24
0
 def test_ok(self):
     o = kea.Option(42)
     o.setUint8(0xfe)
     self.assertEqual(0xfe, o.getUint8())
     self.assertEqual(b'\xfe', o.getBytes())
Exemplo n.º 25
0
 def test_bytes_option_ok(self):
     p = kea.Pkt4(kea.DHCPREQUEST, 42)
     o = kea.Option(25)
     self.assertIs(p, p.addOption(o))
     self.assertEqual(2, o.use_count)