예제 #1
0
    def _test_parse_dhcp_reply(self, mock_unpack, message_type,
                               id_reply, equals_cookie):
        fake_data = 236 * b"1"
        if equals_cookie:
            fake_data += dhcp._DHCP_COOKIE + b'11'
        else:
            fake_data += b'111111'
        fake_data += b'fake'
        fake_data += dhcp._OPTION_END

        mock_unpack.side_effect = [(message_type, None), (id_reply, None),
                                   (100, None), (4, None)]

        response = dhcp._parse_dhcp_reply(data=fake_data, id_req=9999)

        if message_type != 2:
            self.assertEqual((False, {}), response)
        elif id_reply != 9999:
            self.assertEqual((False, {}), response)
        elif fake_data[236:240] != dhcp._DHCP_COOKIE:
            self.assertEqual((False, {}), response)
        else:
            self.assertEqual((True, {100: b'fake'}), response)
예제 #2
0
    def _test_parse_dhcp_reply(self, mock_unpack, message_type,
                               id_reply, equals_cookie):
        fake_data = 236 * b"1"
        if equals_cookie:
            fake_data += dhcp._DHCP_COOKIE + b'11'
        else:
            fake_data += b'111111'
        fake_data += b'fake'
        fake_data += dhcp._OPTION_END

        mock_unpack.side_effect = [(message_type, None), (id_reply, None),
                                   (100, None), (4, None)]

        response = dhcp._parse_dhcp_reply(data=fake_data, id_req=9999)

        if message_type != 2:
            self.assertEqual((False, {}), response)
        elif id_reply != 9999:
            self.assertEqual((False, {}), response)
        elif fake_data[236:240] != dhcp._DHCP_COOKIE:
            self.assertEqual((False, {}), response)
        else:
            self.assertEqual((True, {100: b'fake'}), response)