Coverage for postrfp/model/exc.py: 100%

26 statements  

« prev     ^ index     » next       coverage.py v7.11.0, created at 2025-10-22 21:34 +0000

1class BusinessRuleViolation(Exception): 

2 def __init__(self, message): 

3 self.message = message 

4 

5 

6class DeadlineHasPassed(BusinessRuleViolation): 

7 pass 

8 

9 

10class IllegalStatusAction(BusinessRuleViolation): 

11 pass 

12 

13 

14class CosmeticQuestionEditViolation(BusinessRuleViolation): 

15 pass 

16 

17 

18class QuestionnaireStructureException(Exception): 

19 pass 

20 

21 

22class WeightingsNotLoadedException(Exception): 

23 pass 

24 

25 

26class DuplicateDataProvided(Exception): 

27 def __init__(self, message): 

28 self.message = message 

29 

30 

31class ValidationFailure(Exception): 

32 def __init__(self, message, errors_list=None): 

33 super(ValidationFailure, self).__init__(message) 

34 self.message = message 

35 if errors_list is None: 

36 self.errors_list = [message] 

37 else: 

38 self.errors_list = errors_list 

39 

40 def __str__(self): 

41 msg = super(ValidationFailure, self).__str__() 

42 errlist = self.errors_list if self.errors_list else [] 

43 errs = "\n -".join(errlist) 

44 return f"{msg} {errs}" 

45 

46 

47class DuplicateQuestionDefinition(Exception): 

48 def __init__(self, message): 

49 self.message = message