def test_serialize(self, session): connection_model_1 = Connection(conn_id='mysql_default_1', conn_type='test-type') connection_model_2 = Connection(conn_id='mysql_default_2', conn_type='test-type2') connections = [connection_model_1, connection_model_2] session.add_all(connections) session.commit() instance = ConnectionCollection(connections=connections, total_entries=2) deserialized_connections = connection_collection_schema.dump(instance) self.assertEqual( deserialized_connections, { 'connections': [ { "connection_id": "mysql_default_1", "conn_type": "test-type", "host": None, "login": None, 'schema': None, 'port': None, }, { "connection_id": "mysql_default_2", "conn_type": "test-type2", "host": None, "login": None, 'schema': None, 'port': None, }, ], 'total_entries': 2, }, )
def get_connections(session, limit, offset=0): """ Get all connection entries """ total_entries = session.query(func.count(Connection.id)).scalar() query = session.query(Connection) connections = query.order_by(Connection.id).offset(offset).limit(limit).all() return connection_collection_schema.dump(ConnectionCollection(connections=connections, total_entries=total_entries))
def get_connections(session, limit, offset=0, order_by="id"): """Get all connection entries""" to_replace = {"connection_id": "conn_id"} allowed_filter_attrs = [ 'connection_id', 'conn_type', 'description', 'host', 'port', 'id' ] total_entries = session.query(func.count(Connection.id)).scalar() query = session.query(Connection) query = apply_sorting(query, order_by, to_replace, allowed_filter_attrs) connections = query.offset(offset).limit(limit).all() return connection_collection_schema.dump( ConnectionCollection(connections=connections, total_entries=total_entries))
def get_connections(session): """ Get all connection entries """ offset = request.args.get(parameters.page_offset, 0) limit = min(int(request.args.get(parameters.page_limit, 100)), 100) total_entries = session.query(func.count(Connection.id)).scalar() query = session.query(Connection).order_by( Connection.id).offset(offset).limit(limit) connections = query.all() return connection_collection_schema.dump( ConnectionCollection(connections=connections, total_entries=total_entries))