def _build_response(self, response_obj: StufMappedResponse, **kwargs): """Return single object response by default Overridden by StufRestFilterView to create a list of objects :param response_obj: :param kwargs: :return: """ try: data = response_obj.get_answer_object() except NoStufAnswerException: # Return 404, answer section is empty return RESTResponse.not_found(detail=self.get_not_found_message( **kwargs)) else: return RESTResponse.ok(data)
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()
def test_not_found(self): with patch("gobstuf.rest.brp.rest_response.request", mock_request): result = RESTResponse.not_found() self.assertEqual(result['status'], 404)