Example #1
0
    def test_db_update_equal_works(self):
        db.create_table('t', default_cols(id='integer'))
        db.create('t', id=1)

        qb.table('t').where('id', '=', 1).update({'id': 2})

        self.assertEqual(next(db.all('t'))['id'], 2)
Example #2
0
    def test_where_not_null_finding_not_null_values(self):
        db.create_table('t', default_cols(a='integer', b='text'))
        db.create('t', b='t1')
        db.create('t', a='t2')

        field_with_null_val = list(qb.table('t').where_not_null('a'))
        self.assertEqual(field_with_null_val[0]['a'], 't2')
Example #3
0
    def test_find_equals_equality_to_null_finds_nulls(self):
        db.create_table('t', default_cols(a='integer', b='text'))
        db.create('t', b='t1')

        field_with_null_val = list(qb.table('t').where('a', '=', None))
        self.assertEqual(field_with_null_val[0]['a'], None)
        self.assertEqual(field_with_null_val[0]['b'], 't1')
Example #4
0
    def test_table_querying_all(self):
        db.create_table('t', default_cols(name='text', number='integer'))
        db.create('t', name='t1', number=1)

        created = next(qb.table('t').all())
        self.assertEqual(created['name'], 't1')
        self.assertEqual(created['number'], 1)
Example #5
0
    def test_Table_adding_foreing_constaints(self):
        with Table('s') as s:
            s.t = Integer()

        t = Table('t')
        t.text = Text()
        t.text.references = 's (t)'
        t.save()

        db.create('t', text='ay')

        self.assertTrue(db.table_exists('t'))
Example #6
0
    def test_db_deletion_equality(self):
        db.create_table('t', default_cols(id='integer', name='text'))

        db.create('t', id=1, name='t1')
        db.create('t', name='t2')

        self.assertEqual(len(list(qb.table('t'))), 2)

        qb.table('t').where('name', '=', 't1').delete()
        rows = list(qb.table('t'))
        self.assertEqual(len(rows), 1)
        self.assertEqual(rows[0]['name'], 't2')
Example #7
0
    def test_db_deletion_null(self):
        db.create_table('t', default_cols(id='integer', name='text'))
        db.create('t', name='t1')
        db.create('t', id=4, name='t5')
        db.create('t', id=2, name='t2')
        db.create('t', id=3)
        db.create('t', name='t4')

        qb.table('t').where('id', '=', None).delete()

        rows = list(qb.table('t'))
        self.assertEqual(len(rows), 3)
        for row in rows:
            self.assertNotEqual(row['id'], None)
Example #8
0
    def test_where_many_with_two_conditions(self):
        db.create_table('t', default_cols(a='integer', b='text', c='real'))

        db.create('t', a=1, b='t1', c=3.4)
        db.create('t', a=2, b='t2', c=.3)
        db.create('t', a=3)
        db.create('t', b='t4')

        field_with_two_cond = list(
            qb.table('t').where_many([('a', '!=', 3), ('c', '>=', 1)]))
        self.assertEqual(len(field_with_two_cond), 1)
        self.assertEqual(field_with_two_cond[0]['b'], 't1')
Example #9
0
    def test_where_equals_works(self):
        db.create_table('t', default_cols(id='integer', name='text'))

        db.create('t', id=1, name='t1')
        db.create('t', id=2, name='t2')
        db.create('t', id=3)

        query = qb.table('t').where('id', '=', 1)
        field_with_id_1 = list(qb.table('t').where('id', '=', 1))

        self.assertEqual(len(field_with_id_1), 1)
        self.assertEqual(field_with_id_1[0]['name'], 't1')
Example #10
0
    def test_db_update_doesnt_update_not_found_columns(self):
        db.create_table('t', default_cols(id='integer'))
        db.create('t', id=0)
        qb.table('t').where('id', '=', '1').update({'id': 2})

        self.assertEqual(next(db.all('t'))['id'], 0)