Ejemplo n.º 1
0
    def get_http_response(self):
        """Returns HTTP response object for given MKS code.

        :return:
        """
        if self.get_berichtcode() != 'Fo02':
            raise UnknownErrorCode()

        responses = {
            # De stuurgegevens zijn onjuist gevuld
            'StUF001': RESTResponse.bad_request(),
            # Het interactieve proces voor het afhandelen van een synchrone vraag is niet actief
            'StUF002': RESTResponse.internal_server_error(),
            # De gevraagde gegevens zijn niet beschikbaar
            'StUF003': RESTResponse.not_found(),
            # De gevraagde sortering wordt niet ondersteund
            'StUF004': RESTResponse.internal_server_error(),
            # Er heeft zich in de StUF-communicatie een time-out voorgedaan
            'StUF005': RESTResponse.internal_server_error(),
            # Het vraagbericht bevat als selectiecriterium zowel de sleutel in het vragende systeem als het ontvangende
            # systeem,
            'StUF006': RESTResponse.internal_server_error(),
            # Het ontvangende systeem ondersteunt niet het bevraagd worden op sleutel in het vragende systeem
            'StUF007': RESTResponse.internal_server_error(),
            # De beantwoording van het vraagbericht vergt meer systeemresources dan het antwoordende systeem
            # beschikbaar heeft
            'StUF008': RESTResponse.internal_server_error(),
            # Het vraagbericht is gericht aan een niet bekend systeem
            'StUF009': RESTResponse.internal_server_error(),
            # Het vragende systeem is niet geautoriseerd voor de gevraagde gegevens
            'StUF010': RESTResponse.forbidden(),
            # De syntax van het StUF-vraagbericht is onjuist
            'StUF011': RESTResponse.internal_server_error(),
            # Het ontvangende systeem ondersteunt niet de afhandeling van asynchrone vraagberichten
            'StUF012': RESTResponse.internal_server_error(),
            # Het vragende systeem is bij het ontvangende systeem niet bekend
            'StUF013': RESTResponse.internal_server_error(),
            # Het zendende systeem is niet geautoriseerd voor de gevraagde combinatie van berichtcode,
            # entiteittype en functie
            'StUF052': RESTResponse.forbidden(),
        }

        try:
            return responses[self.get_error_code()]
        except KeyError:
            raise UnknownErrorCode()
Ejemplo n.º 2
0
    def get(self, **kwargs):
        try:
            errors = self._validate(**kwargs)
        except StufRestFilterView.InvalidQueryParametersException as e:
            errors = e.err

        assert getattr(self, '_validate_called', False), \
            f"Make sure to call super()._validate() from children of {self.__class__}"

        if errors:
            return RESTResponse.bad_request(**errors)

        try:
            return self._get(**kwargs)
        except Exception:
            logging.error("ERROR: Request failed:")
            logging.error(traceback.format_exc())
            return RESTResponse.internal_server_error()
Ejemplo n.º 3
0
 def test_internal_server_error(self):
     with patch("gobstuf.rest.brp.rest_response.request", mock_request):
         result = RESTResponse.internal_server_error()
         self.assertEqual(result['status'], 500)