def handle_exception(self, exception, debug): if isinstance(exception, AgendamlgException): self.response.set_status(400) self.response.unicode_body = to_json({ u'error': { u'message': exception.mensaje_error, u'otherMessage': str(exception.cause) if exception.cause is not None else None, u'error_id': exception.error_id } }) elif isinstance(exception, AgendamlgNotFoundException): self.response.set_status(404) self.response.unicode_body = to_json({ u'error': { u'message': exception.mensaje_error, u'error_id': exception.error_id } }) elif isinstance(exception, NotAuthenticatedException): self.response.set_status(401) self.response.unicode_body = to_json({ u'error': { u'message': exception.mensaje, u'otherMessage': str(exception.causa) if exception.causa is not None else None, u'error_id': exception.error_id } }) elif isinstance(exception, webapp2.HTTPException): self.response.set_status(500) self.response.unicode_body = to_json({ u'error': { u'message': exception.message, u'otherMessage': str(exception), u'type': str(type(exception)), u'error_id': 1001 } }) else: self.response.set_status(500) self.response.unicode_body = to_json({ u'error': { u'message': str(exception), u'otherMessage': exception.message, u'type': str(type(exception)), u'error_id': 1001 } }) print traceback.format_exc()
def setUpClass(cls): """Setup ApiInexistentPostTests tests.""" super(ApiInexistentPostTests, cls).setUpClass() cls.factory = RequestFactory() cls.request = cls.factory.get('/posts') cls.response = views.get_post(cls.request, path='inexistent') cls.json_response = json.to_json(cls.response.content)
def setUpClass(cls): super(ApiListingPostTests, cls).setUpClass() fixtures.generate(total_authors=1, total_posts=cls.TOTAL_POSTS) cls.factory = RequestFactory() cls.request = cls.factory.get('/posts') cls.response = views.list_posts(cls.request) cls.json_response = json.to_json(cls.response.content)
def test_list_posts_crash(self): """Test result from a list posts requisition in a crashed database.""" request = self.factory.get('/posts') response = views.list_posts(request) json_response = json.to_json(response.content) print(json_response) self.assertEqual('fail', json_response['status']) self.assertEqual(503, response.status_code)
def test_entrypoint_crash(self): """Test result from a entry point requisition in a crashed database.""" request = self.factory.get('/') response = views.index(request) json_response = json.to_json(response.content) print(json_response) self.assertEqual('success', json_response['status']) self.assertEqual(200, response.status_code)
def get(self): categorias = [] for categoria in Categoria.query().fetch(): categoria_nueva = { 'id': categoria.key.urlsafe(), 'nombre': categoria.nombre } categorias.append(categoria_nueva) self.response.write(to_json(categorias))
def setUpClass(cls): """Setup ApiExistentPostTests class tests.""" super(ApiExistentPostTests, cls).setUpClass() fixtures.generate(1, 1) cls.post = Post.objects.first() cls.factory = RequestFactory() cls.request = cls.factory.get('/posts') cls.response = views.get_post(cls.request, path=cls.post.path) cls.json_response = json.to_json(cls.response.content)
def get(self): _, usuario_sesion = get_user_from_token( self.request.headers.get('bearer')) categorias = [] for categoria in cat.buscar_preferencias_usuario(usuario_sesion): categoria_nueva = { 'id': categoria.key.urlsafe(), 'nombre': categoria.nombre } categorias.append(categoria_nueva) self.response.write(to_json(categorias))
def additional_fields_to_json(entity): json_map = dict() if type(entity) == EmailSource: json_map["SenderEmail"] = entity.sender_email json_map["SubjectPattern"] = entity.subject_pattern elif type(entity) == FTPSource: json_map["FTPHost"] = entity.ftp_host json_map["FTPUserName"] = entity.ftp_username json_map["FTPPassword"] = entity.ftp_password json_map["FTPLocation"] = entity.ftp_location return to_json(json_map)
def usuario_a_json(tup): # type: ((dict, Usuario)) -> unicode info, user = tup return to_json({ u'id': info[u'id'], u'tipo': user.tipo, u'nombre': info[u'name'][u'givenName'], u'apellidos': info[u'name'][u'familyName'], u'email': info[u'emails'][0][u'value'], u'image': info[u'image'][u'url'][0:-6] # Eliminar ?sz=50 })
def get(self, categoria_key): try: categoria = ndb.Key(urlsafe=categoria_key).get() if not categoria: raise AgendamlgNotFoundException.categoria_no_existe( categoria_key) categoria_mostrada = { 'id': categoria.key.urlsafe(), 'nombre': categoria.nombre } self.response.write(to_json(categoria_mostrada)) except Exception: raise AgendamlgNotFoundException.categoria_no_existe(categoria_key)
def __do_error__(self, method): self.response.set_status(405) self.response.unicode_body = to_json({ u'error': { u'message': u'Método no permitido', u'otherMessage': u'El método {} no está permitido para esta ruta'.format( method), u'error_id': 1002 } })
def setUp(self): """Setup ApiEntryPointTest tests.""" self.factory = RequestFactory() self.request = self.factory.get('/') self.response = views.index(self.request) self.json_response = json.to_json(self.response.content)