Ejemplo n.º 1
0
    def test_backwards(self):
        script_dir = os.path.dirname(__file__)
        db_path = os.path.join(script_dir, 'sample-uk.db')
        conn = sqlite3.connect(db_path)
        cur = conn.cursor()

        i = 501
        while True:
            q = sql.Datasource(source='sample_uk',
                               columns=columns,
                               order=columns_order,
                               dbms='SQLite',
                               filters=[{
                                   'name': 'id',
                                   'search': i,
                                   'type': 'move'
                               }],
                               move='backwards')
            query, values = q.selectQuery()

            cur.execute(query, values)
            rows = cur.fetchall()
            if rows:
                i = rows[0][0]
            else:
                break
        self.assertEqual(i, 1)
        conn.close()
Ejemplo n.º 2
0
    def test_records(self):
        script_dir = os.path.dirname(__file__)
        db_path = os.path.join(script_dir, 'sample-uk.db')
        conn = sqlite3.connect(db_path)
        cur = conn.cursor()

        q = sql.Datasource(source='sample_uk',
                           columns=columns,
                           order=columns_order,
                           dbms='SQLite')
        query, values = q.selectQuery()

        cur.execute(query, values)
        rows = cur.fetchall()
        self.assertEqual(len(rows), 500)
        conn.close()
Ejemplo n.º 3
0
    def test_rows(self):
        script_dir = os.path.dirname(__file__)
        db_path = os.path.join(script_dir, 'sample-uk.db')
        conn = sqlite3.connect(db_path)
        cur = conn.cursor()

        q = sql.Datasource(source='sample_uk',
                           columns=columns,
                           order=columns_order,
                           dbms='SQLite')
        query, values = q.selectQuery()

        cur.execute(query, values)

        rows = cur.fetchall()

        for num, row in enumerate(rows, start=1):
            self.assertEqual(row[0], num)

        conn.close()
Ejemplo n.º 4
0
    def test_backwards_name(self):
        script_dir = os.path.dirname(__file__)
        db_path = os.path.join(script_dir, 'sample-uk.db')
        conn = sqlite3.connect(db_path)
        cur = conn.cursor()

        first_name = 'zz'
        last_name = 'zz'
        ids = set()

        while True:
            q = sql.Datasource(source='sample_uk',
                               columns=columns_name,
                               order=columns_name_order,
                               dbms='SQLite',
                               filters=[
                                   {
                                       'name': 'first_name',
                                       'search': first_name,
                                       'type': 'move'
                                   },
                                   {
                                       'name': 'last_name',
                                       'search': last_name,
                                       'type': 'move'
                                   },
                               ],
                               move='backwards')
            query, values = q.selectQuery()

            cur.execute(query, values)
            rows = cur.fetchall()
            if rows:
                ids.add(rows[0][0])
                first_name = rows[0][1]
                last_name = rows[0][2]
            else:
                break

        conn.close()
        self.assertEqual(len(ids), 500)
Ejemplo n.º 5
0
    def test_limit(self):
        script_dir = os.path.dirname(__file__)
        db_path = os.path.join(script_dir, 'sample-uk.db')
        conn = sqlite3.connect(db_path)
        cur = conn.cursor()

        for s in range(500):
            q = sql.Datasource(source='sample_uk',
                               columns=columns,
                               order=columns_order,
                               limit={
                                   'start': 0,
                                   'length': s + 1
                               },
                               dbms='SQLite')
            query, values = q.selectQuery()

            cur.execute(query, values)
            rows = cur.fetchall()
            self.assertEqual(len(rows), s + 1)

        conn.close()