Coverage for tropicsquare / exceptions / __init__.py: 100%

46 statements  

« prev     ^ index     » next       coverage.py v7.13.5, created at 2026-03-27 21:24 +0000

1 

2class TropicSquareError(Exception): 

3 """Base exception for all TropicSquare errors""" 

4 def __init__(self, message: str = "", error_code=None): 

5 super().__init__(message) 

6 self.error_code = error_code 

7 

8 

9class TropicSquareCRCError(TropicSquareError): 

10 """CRC validation failed""" 

11 pass 

12 

13 

14class TropicSquareNoSession(TropicSquareError): 

15 """No secure session established""" 

16 pass 

17 

18 

19# Communication and protocol errors 

20class TropicSquareTimeoutError(TropicSquareError): 

21 """Chip communication timeout""" 

22 pass 

23 

24 

25class TropicSquareAlarmError(TropicSquareError): 

26 """Chip is in alarm state""" 

27 pass 

28 

29 

30# Command result errors 

31class TropicSquareCommandError(TropicSquareError): 

32 """Base class for command execution errors""" 

33 pass 

34 

35 

36class TropicSquareUnauthorizedError(TropicSquareCommandError): 

37 """Command not authorized""" 

38 pass 

39 

40 

41class TropicSquareInvalidCommandError(TropicSquareCommandError): 

42 """Invalid command""" 

43 pass 

44 

45 

46# Memory operation errors 

47class TropicSquareMemoryError(TropicSquareCommandError): 

48 """Memory operation error""" 

49 pass 

50 

51 

52class TropicSquareMemoryWriteError(TropicSquareMemoryError): 

53 """Memory write failed""" 

54 pass 

55 

56 

57class TropicSquareMemorySlotExpiredError(TropicSquareMemoryError): 

58 """Memory slot expired""" 

59 pass 

60 

61 

62# ECC operation errors 

63class TropicSquareECCError(TropicSquareCommandError): 

64 """ECC operation error""" 

65 pass 

66 

67 

68class TropicSquareECCInvalidKeyError(TropicSquareECCError): 

69 """Invalid ECC key""" 

70 pass 

71 

72 

73# Counter operation errors 

74class TropicSquareCounterError(TropicSquareCommandError): 

75 """Counter operation error""" 

76 pass 

77 

78 

79class TropicSquareCounterUpdateError(TropicSquareCounterError): 

80 """Counter update failed""" 

81 pass 

82 

83 

84class TropicSquareCounterInvalidError(TropicSquareCounterError): 

85 """Invalid counter""" 

86 pass 

87 

88 

89# Pairing keys errors 

90class TropicSquarePairingKeyEmptyError(TropicSquareCommandError): 

91 """Pairing key empty error""" 

92 pass 

93 

94 

95class TropicSquarePairingKeyInvalidError(TropicSquareCommandError): 

96 """Pairing key invalid error""" 

97 pass 

98 

99 

100 

101# Session and handshake errors 

102class TropicSquareSessionError(TropicSquareError): 

103 """Session management error""" 

104 pass 

105 

106 

107class TropicSquareHandshakeError(TropicSquareSessionError): 

108 """Handshake failed""" 

109 pass 

110 

111 

112class TropicSquareTagError(TropicSquareSessionError): 

113 """Authentication tag error""" 

114 pass 

115 

116 

117class TropicSquareResponseError(TropicSquareError): 

118 """Response processing error""" 

119 pass