def test_get_by_id(self): """Test get_by_id method.""" objs = [] for fixture_data in self.plenty_fixture_data: r = RestifyObject.create(self.connection, self.database_name, self.collection_name, fixture_data) objs.append(r) obj = RestifyObject.get_by_id(self.connection, self.database_name, self.collection_name, objs[0].id) self.assertTrue(obj) self.assertEqual(obj.to_dict(), objs[0].to_dict()) obj = RestifyObject.get_by_id(self.connection, self.database_name, self.collection_name, ObjectId()) self.assertFalse(obj)
def test_delete(self): """Test delete method.""" r = RestifyObject.create(self.connection, self.database_name, self.collection_name, self.fixture_data) obj_id = r.id r.delete() deleted_obj = RestifyObject.get_by_id(self.connection, self.database_name, self.collection_name, obj_id) self.assertFalse(deleted_obj)
def api_object(class_name, object_id): obj = RestifyObject.get_by_id(db, db_name, class_name, object_id) if obj: if request.method == "GET": return jsonify(obj.to_dict()) elif request.method == "PUT": obj.update(request.json) return jsonify(obj.to_dict()) elif request.method == "DELETE": obj.delete() return "" else: return abort(405) else: return abort(404)