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))
Example #3
0
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))
Example #4
0
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))