def test_to_dict_body(self): response = Response() response.body = Body() response_dict = response.to_dict() self.assertTrue(response_dict['body']) response.body.close() response = Response() response.body = NotImplemented response_dict = response.to_dict() self.assertFalse(response_dict['body'])
def fetch(self, request): '''Fulfill a request. Args: request (:class:`.ftp.request.Request`): Request. Returns: .ftp.request.Response: A Response populated with the initial data connection reply. Once the response is received, call :meth:`read_content`. Coroutine. ''' response = Response() yield From(self._prepare_fetch(request, response)) response.file_transfer_size = yield From(self._fetch_size(request)) if request.restart_value: try: yield From(self._commander.restart(request.restart_value)) response.restart_value = request.restart_value except FTPServerError: _logger.debug('Could not restart file.', exc_info=1) yield From(self._open_data_stream()) command = Command('RETR', request.file_path) yield From(self._begin_stream(command)) raise Return(response)
def test_to_dict(self): request = Request('ftp://foofle.com') request_dict = request.to_dict() self.assertEqual('ftp://foofle.com', request_dict['url']) self.assertEqual('ftp', request_dict['protocol']) response = Response() response.request = request response.reply = Reply(code=200, text='Success') response_dict = response.to_dict() self.assertEqual('ftp://foofle.com', response_dict['request']['url']) self.assertEqual('ftp', response_dict['protocol']) self.assertEqual(200, response_dict['reply']['code']) self.assertEqual(200, response_dict['response_code']) self.assertEqual('Success', response_dict['reply']['text']) self.assertEqual('Success', response_dict['response_message'])