How to use the mobly.controllers.android_device_lib.jsonrpc_client_base.ProtocolError function in mobly

To help you get started, we’ve selected a few mobly examples, based on popular ways it is used in public projects.

Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.

github google / mobly / mobly / controllers / android_device_lib / jsonrpc_client_base.py View on Github external
ApiError: The rpc went through, however executed with errors.
        """
        with self._lock:
            apiid = next(self._counter)
            data = {'id': apiid, 'method': method, 'params': args}
            request = json.dumps(data)
            self._client_send(request)
            response = self._client_receive()
        if not response:
            raise ProtocolError(self._ad,
                                ProtocolError.NO_RESPONSE_FROM_SERVER)
        result = json.loads(str(response, encoding='utf8'))
        if result['error']:
            raise ApiError(self._ad, result['error'])
        if result['id'] != apiid:
            raise ProtocolError(self._ad, ProtocolError.MISMATCHED_API_ID)
        if result.get('callback') is not None:
            if self._event_client is None:
                self._event_client = self._start_event_client()
            return callback_handler.CallbackHandler(
                callback_id=result['callback'],
                event_client=self._event_client,
                ret_value=result['result'],
                method_name=method,
                ad=self._ad)
        return result['result']
github google / mobly / mobly / controllers / android_device_lib / jsonrpc_client_base.py View on Github external
Returns:
            The result of the rpc.

        Raises:
            ProtocolError: Something went wrong with the protocol.
            ApiError: The rpc went through, however executed with errors.
        """
        with self._lock:
            apiid = next(self._counter)
            data = {'id': apiid, 'method': method, 'params': args}
            request = json.dumps(data)
            self._client_send(request)
            response = self._client_receive()
        if not response:
            raise ProtocolError(self._ad,
                                ProtocolError.NO_RESPONSE_FROM_SERVER)
        result = json.loads(str(response, encoding='utf8'))
        if result['error']:
            raise ApiError(self._ad, result['error'])
        if result['id'] != apiid:
            raise ProtocolError(self._ad, ProtocolError.MISMATCHED_API_ID)
        if result.get('callback') is not None:
            if self._event_client is None:
                self._event_client = self._start_event_client()
            return callback_handler.CallbackHandler(
                callback_id=result['callback'],
                event_client=self._event_client,
                ret_value=result['result'],
                method_name=method,
                ad=self._ad)
        return result['result']
github google / mobly / mobly / controllers / android_device_lib / jsonrpc_client_base.py View on Github external
Raises:
            IOError: Raised when the socket times out from io error
            socket.timeout: Raised when the socket waits to long for connection.
            ProtocolError: Raised when there is an error in the protocol.
        """
        self._counter = self._id_counter()
        self._conn = socket.create_connection(('localhost', self.host_port),
                                              _SOCKET_CONNECTION_TIMEOUT)
        self._conn.settimeout(_SOCKET_READ_TIMEOUT)
        self._client = self._conn.makefile(mode='brw')

        resp = self._cmd(cmd, uid)
        if not resp:
            raise ProtocolError(self._ad,
                                ProtocolError.NO_RESPONSE_FROM_HANDSHAKE)
        result = json.loads(str(resp, encoding='utf8'))
        if result['status']:
            self.uid = result['uid']
        else:
            self.uid = UNKNOWN_UID
github google / mobly / mobly / controllers / android_device_lib / jsonrpc_client_base.py View on Github external
Returns:
            The result of the rpc.

        Raises:
            ProtocolError: Something went wrong with the protocol.
            ApiError: The rpc went through, however executed with errors.
        """
        with self._lock:
            apiid = next(self._counter)
            data = {'id': apiid, 'method': method, 'params': args}
            request = json.dumps(data)
            self._client_send(request)
            response = self._client_receive()
        if not response:
            raise ProtocolError(self._ad,
                                ProtocolError.NO_RESPONSE_FROM_SERVER)
        result = json.loads(str(response, encoding='utf8'))
        if result['error']:
            raise ApiError(self._ad, result['error'])
        if result['id'] != apiid:
            raise ProtocolError(self._ad, ProtocolError.MISMATCHED_API_ID)
        if result.get('callback') is not None:
            if self._event_client is None:
                self._event_client = self._start_event_client()
            return callback_handler.CallbackHandler(
                callback_id=result['callback'],
                event_client=self._event_client,
                ret_value=result['result'],
                method_name=method,
                ad=self._ad)
        return result['result']
github google / mobly / mobly / controllers / android_device_lib / jsonrpc_client_base.py View on Github external
cmd: JsonRpcCommand, The command to use for creating the connection.

        Raises:
            IOError: Raised when the socket times out from io error
            socket.timeout: Raised when the socket waits to long for connection.
            ProtocolError: Raised when there is an error in the protocol.
        """
        self._counter = self._id_counter()
        self._conn = socket.create_connection(('localhost', self.host_port),
                                              _SOCKET_CONNECTION_TIMEOUT)
        self._conn.settimeout(_SOCKET_READ_TIMEOUT)
        self._client = self._conn.makefile(mode='brw')

        resp = self._cmd(cmd, uid)
        if not resp:
            raise ProtocolError(self._ad,
                                ProtocolError.NO_RESPONSE_FROM_HANDSHAKE)
        result = json.loads(str(resp, encoding='utf8'))
        if result['status']:
            self.uid = result['uid']
        else:
            self.uid = UNKNOWN_UID