def test_load_response(self): request = self._create_request() storage = RequestStorage(base_dir=self.base_dir) storage.save_request(request) response = self._create_response() storage.save_response(request.id, response) requests = storage.load_requests() self.assertIsNotNone(requests[0].response)
def test_load_request_cert_data(self): storage = RequestStorage(base_dir=self.base_dir) request = self._create_request() storage.save_request(request) response = self._create_response() response.cert = {'subject': 'test_cert'} storage.save_response(request.id, response) requests = storage.load_requests() self.assertEqual({'subject': 'test_cert'}, requests[0].cert)
def test_load_response_encoded_body_error(self): body = b'test response body' request = self._create_request() storage = RequestStorage(base_dir=self.base_dir) storage.save_request(request) response = self._create_response(body=body) response.headers['Content-Encoding'] = 'gzip' storage.save_response(request.id, response) response_body = storage.load_requests()[0].response.body self.assertEqual(body, response_body)
def test_clear_requests(self): request_1 = self._create_request() request_2 = self._create_request() storage = RequestStorage(base_dir=self.base_dir) storage.save_request(request_1) storage.save_request(request_2) storage.clear_requests() requests = storage.load_requests() self.assertFalse(requests) self.assertFalse(glob.glob(os.path.join(self.base_dir, '.seleniumwire', 'storage-*', '*')))
def test_load_requests(self): request_1 = self._create_request() request_2 = self._create_request() storage = RequestStorage(base_dir=self.base_dir) storage.save_request(request_1) storage.save_request(request_2) requests = storage.load_requests() self.assertEqual(2, len(requests)) self.assertEqual(request_1.id, requests[0].id) self.assertEqual(request_2.id, requests[1].id) self.assertIsNone(requests[0].response) self.assertIsNone(requests[1].response)
def test_load_response_encoded_body(self): body = b'test response body' io = BytesIO() with gzip.GzipFile(fileobj=io, mode='wb') as f: f.write(body) request = self._create_request() storage = RequestStorage(base_dir=self.base_dir) storage.save_request(request) response = self._create_response(body=io.getvalue()) response.headers['Content-Encoding'] = 'gzip' storage.save_response(request.id, response) response_body = storage.load_requests()[0].response.body self.assertEqual(body, response_body)
def test_load_request_with_ws_messages(self): storage = RequestStorage(base_dir=self.base_dir) request_1 = self._create_request() # Websocket handshake request request_2 = self._create_request() storage.save_request(request_1) storage.save_request(request_2) storage.save_ws_message( request_1.id, WebSocketMessage( from_client=True, content='websocket test message', date=datetime.now(), )) requests = storage.load_requests() self.assertTrue(len(requests[0].ws_messages) > 0) self.assertEqual('websocket test message', requests[0].ws_messages[0].content) self.assertTrue(len(requests[1].ws_messages) == 0)