def _load_from_file(self, id): fname = self._get_fname_for_id(id) # # Due to some concurrency issues, we need to perform this check # before we try to read the .trace file. # if not os.path.exists(fname): for _ in xrange(1 / 0.05): time.sleep(0.05) if os.path.exists(fname): break else: msg = 'Timeout expecting trace file to be written "%s"' % fname raise IOError(msg) # # Ok... the file exists, but it might still be being written # req_res = open(fname, 'rb') request_dict, response_dict = msgpack.load(req_res) req_res.close() request = HTTPRequest.from_dict(request_dict) response = HTTPResponse.from_dict(response_dict) return (request, response)
def test_to_from_dict(self): headers = Headers([('Host', 'www.w3af.com')]) req = HTTPRequest(URL("http://www.w3af.com/"), data='spameggs', headers=headers) msg = msgpack.dumps(req.to_dict()) loaded_dict = msgpack.loads(msg) loaded_req = HTTPRequest.from_dict(loaded_dict) self.assertEqual(req, loaded_req) self.assertEqual(req.__dict__.values(), loaded_req.__dict__.values())