| # Copyright 2022 Google LLC |
| # |
| # Licensed under the Apache License, Version 2.0 (the "License"); |
| # you may not use this file except in compliance with the License. |
| # You may obtain a copy of the License at |
| # |
| # http://www.apache.org/licenses/LICENSE-2.0 |
| # |
| # Unless required by applicable law or agreed to in writing, software |
| # distributed under the License is distributed on an "AS IS" BASIS, |
| # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| # See the License for the specific language governing permissions and |
| # limitations under the License. |
| |
| """Module for Local Agent related errors. |
| |
| The error subclasses are intended to make it easier to distinguish between and |
| handle different types of error exceptions. |
| """ |
| DEFAULT_ERROR_CODE = 0 |
| |
| |
| class CredentialsExpiredError(Exception): |
| """Raised when the user's credentials (auth token) are expired""" |
| err_code = 1 |
| |
| |
| class ServiceError(Exception): |
| """Raised when a service error occurs""" |
| err_code = 2 |
| |
| |
| class InvalidRPCError(Exception): |
| """Raised when an invalid rpc command is given""" |
| err_code = 3 |
| |
| |
| class DeviceNotConnectedError(Exception): |
| """Raised when querying an unconnected device""" |
| err_code = 4 |
| |
| |
| class HandlerNotFoundError(Exception): |
| """Raised when no correct handler is found""" |
| err_code = 5 |
| |
| |
| class HandlersCollisionError(Exception): |
| """Raised when 2 registered handlers share the same method when they are instantiated""" |
| err_code = 6 |
| |
| |
| class HandlerInvalidError(Exception): |
| """Raised when the registered handler is not a subclass of BaseCommandHandler""" |
| err_code = 7 |
| |
| |
| class DeviceNotOpenError(Exception): |
| """Raised when accessing a device which is not open yet.""" |
| err_code = 8 |
| |
| |
| class InvalidTestSuiteSessionError(Exception): |
| """Raised when encountering an invalid testsuite session.""" |
| err_code = 9 |
| |
| |
| class AmsClientError(Exception): |
| """Base exception for any AmsClient exceptions.""" |
| err_code = 10 |
| |
| |
| class CredentialsError(AmsClientError): |
| """Exception for invalid local agent credentials.""" |
| err_code = 11 |
| |
| |
| class ApiTimeoutError(AmsClientError): |
| """Exception for AMS API timed out.""" |
| err_code = 12 |
| |
| |
| class ApiError(AmsClientError): |
| """Exception for unexpected status code in API response.""" |
| err_code = 13 |
| |
| |
| class UnlinkedError(CredentialsExpiredError): |
| """Raised when the local agent is unlinked from AMS.""" |
| err_code = 14 |
| |
| |
| class RpcTimeOutError(InvalidRPCError): |
| """Raised when the RPC request handling times out.""" |
| err_code = 15 |