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

35 statements  

« prev     ^ index     » next       coverage.py v7.0.1, created at 2022-12-31 16:00 +0000

1 

2 

3class BusinessRuleViolation(Exception): 

4 

5 def __init__(self, message): 

6 self.message = message 

7 

8 

9class DeadlineNotPassed(BusinessRuleViolation): 

10 pass 

11 

12 

13class DeadlineHasPassed(BusinessRuleViolation): 

14 pass 

15 

16 

17class IllegalStatusAction(BusinessRuleViolation): 

18 pass 

19 

20 

21class CosmeticQuestionEditViolation(BusinessRuleViolation): 

22 pass 

23 

24 

25class QuestionnaireStructureException(Exception): 

26 pass 

27 

28 

29class WeightingsNotLoadedException(Exception): 

30 pass 

31 

32 

33class DuplicateDataProvided(Exception): 

34 def __init__(self, message): 

35 self.message = message 

36 

37 

38class ValidationFailure(Exception): 

39 

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

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

42 self.message = message 

43 if errors_list is None: 

44 self.errors_list = [message] 

45 else: 

46 self.errors_list = errors_list 

47 

48 def __str__(self): 

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

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

51 errs = '\n -'.join(errlist) 

52 return f"{msg} {errs}" 

53 

54 

55class ConfigurationError(Exception): 

56 pass 

57 

58class DuplicateQuestionDefinition(Exception): 

59 def __init__(self, message): 

60 self.message = message