File: test_exceptions.py

package info (click to toggle)
python-moto 5.1.18-3
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 116,520 kB
  • sloc: python: 636,725; javascript: 181; makefile: 39; sh: 3
file content (26 lines) | stat: -rw-r--r-- 1,098 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
from moto.core.exceptions import ServiceException


class TestServiceException:
    class ServiceError(ServiceException):
        code = "ExceptionCode"
        message = "default message"

    def test_exception_string(self) -> None:
        exc = TestServiceException.ServiceError()
        assert str(exc) == "ExceptionCode: default message"

    def test_formatted_exception_message(self) -> None:
        class FormattedException(ServiceException):
            message = "The {resource_type} resource {resource_id} was not found!"

        exc = FormattedException(resource_type="DBCluster", resource_id="cluster-id")
        assert exc.message == "The DBCluster resource cluster-id was not found!"

    def test_override_exception_message(self) -> None:
        exc = TestServiceException.ServiceError("Override message")
        assert str(exc) == "ExceptionCode: Override message"

    def test_override_exception_message_and_code(self) -> None:
        exc = TestServiceException.ServiceError("OverrideCode", "Override message")
        assert str(exc) == "OverrideCode: Override message"