def __setattr__()

in testslide/strict_mock.py [0:0]


    def __setattr__(self, name: str, value: Any) -> None:
        if self.__is_magic_method(name):
            # ...check whether we're allowed to mock...
            if (
                name in self.__UNSETTABLE_MAGICS
                or (name in StrictMock.__dict__ and name not in self.__SETTABLE_MAGICS)
            ) and name != "__hash__":
                raise UnsupportedMagic(self, name)
            # ...or if it is something unsupported.
            if name not in self.__SETTABLE_MAGICS and name != "__hash__":
                raise NotImplementedError(
                    f"StrictMock does not implement support for {name}"
                )
            if name == "__hash__" and name in type(self).__dict__:
                raise UnsupportedMagic(self, name)

        mock_value = self.__validate_and_wrap_mock_value(name, value)
        setattr(type(self), name, mock_value)