Coverage for frappe_manager / services_manager / services_exceptions.py: 42%
72 statements
« prev ^ index » next coverage.py v7.13.5, created at 2026-07-02 18:13 +0530
« prev ^ index » next coverage.py v7.13.5, created at 2026-07-02 18:13 +0530
1class ServicesComposeNotExist(Exception):
2 """Exception raised when services Docker Compose file does not exist."""
4 def __init__(self, message):
5 message = message
6 super().__init__(message)
9class ServicesSecretsDBRootPassNotExist(Exception):
10 """Exception raised when database root password secret does not exist."""
12 def __init__(self, message):
13 message = message
14 super().__init__(message)
17class ServicesDBNotStart(Exception):
18 """Exception raised when database service fails to start."""
20 def __init__(self, message):
21 message = message
22 super().__init__(message)
25class ServicesException(Exception):
26 """Base exception for all services-related errors."""
28 def __init__(self, message):
29 message = message
30 super().__init__(message)
33class ServicesNotCreated(ServicesException):
34 """Exception raised when services compose file generation fails."""
36 def __init__(self, message: str = "Not able to generate services compose file."):
37 message = message
38 super().__init__(message)
41class DatabaseServiceException(Exception):
42 """Base exception for database service operations."""
44 def __init__(self, service_name: str, message: str):
45 self.message: str = f"Service {service_name} db server : {message}"
46 super().__init__(self.message)
49class DatabaseServiceQueryAccessDenied(Exception):
50 """Exception raised when database query access is denied."""
52 def __init__(self, query: str, message="Access denied for query {}") -> None:
53 self.query = query
54 self.message = message.format(query)
55 super().__init__(self.message)
58class DatabaseServicePasswordNotFound(DatabaseServiceException):
59 """Exception raised when database root password cannot be determined."""
61 def __init__(self, service_name: str, message="Failed to determine root password.") -> None:
62 self.service_name = service_name
63 self.message = message.format(self.service_name)
64 super().__init__(self.service_name, self.message)
67class DatabaseServiceUserRemoveFailError(DatabaseServiceException):
68 """Exception raised when database user removal fails."""
70 def __init__(self, username: str, service_name: str, message="Failed to remove user {}.") -> None:
71 self.service_name = service_name
72 self.username = username
73 self.message = message.format(self.username)
74 super().__init__(self.service_name, self.message)
77class DatabaseServiceDBRemoveFailError(DatabaseServiceException):
78 """Exception raised when database removal fails."""
80 def __init__(self, db_name: str, service_name: str, message="Failed to remove db {}.") -> None:
81 self.service_name = service_name
82 self.db_name = db_name
83 self.message = message.format(db_name)
84 super().__init__(self.service_name, self.message)
87class DatabaseServiceDBNotFoundError(DatabaseServiceException):
88 """Exception raised when database is not found."""
90 def __init__(self, db_name: str, service_name: str, message="DB not found {}.") -> None:
91 self.service_name = service_name
92 self.db_name = db_name
93 self.message = message.format(db_name)
94 super().__init__(self.service_name, self.message)
97class DatabaseServiceStartTimeout(DatabaseServiceException):
98 """Exception raised when database fails to start within timeout period."""
100 def __init__(self, timeout: int, service_name: str, message="DB failed to start, waited for {}s.") -> None:
101 self.service_name = service_name
102 self.message = message.format(timeout)
103 super().__init__(self.service_name, self.message)
106class DatabaseServiceDBExportFailed(DatabaseServiceException):
107 """Exception raised when database export fails."""
109 def __init__(self, service_name: str, db_name: str, message="DB export failed for db name {}.") -> None:
110 self.service_name = service_name
111 self.message = message.format(db_name)
112 super().__init__(self.service_name, self.message)
115class DatabaseServiceDBImportFailed(DatabaseServiceException):
116 """Exception raised when database import fails."""
118 def __init__(self, service_name: str, db_dump_path: str, message="DB import failed for db dump {}.") -> None:
119 self.service_name = service_name
120 self.message = message.format(db_dump_path)
121 super().__init__(self.service_name, self.message)
124class DatabaseServiceDBCreateFailed(DatabaseServiceException):
125 """Exception raised when database creation fails."""
127 def __init__(self, service_name: str, db_name: str, message="DB create failed for db name {}.") -> None:
128 self.service_name = service_name
129 self.message = message.format(db_name)
130 super().__init__(self.service_name, self.message)