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)