import os from datastore import sqlite, AttributeRowFactory db = sqlite(os.environ['LDP_DB'], row_factory=AttributeRowFactory) for row in db('subjects', limit=1): print row print row[0] print row['id'] print row.id print row.values("id", "dob", "sex") for i in row: print i db.close() ''' db = sqlite(os.environ['LDP_DB']) db.show('subjects') db.show('subjects', columns='id, sex, dob', limit=5) print db.tables print db.columns('subjects') for id, sex, dob in db.select('subjects', columns='id, sex, dob', where='project=2'): print id, sex, dob '''
''' Tests for datastore.sqlite ''' import os from datastore import sqlite from nose.tools import raises db = sqlite(":memory:") db.execute("CREATE TABLE people(id INTEGER PRIMARY KEY, name, age INTEGER)") db.con.executescript(""" INSERT INTO people VALUES (1, 'John', 20); INSERT INTO people VALUES (2, 'Mary', 24); INSERT INTO people VALUES (3, 'Raul', 33); INSERT INTO people VALUES (4, 'Jones', 38); """) def test_props(): '''Tesing db properties''' assert db.schema() == {'people': ['id', 'name', 'age']} assert db.tables == ['people'] assert db.columns('people') == ['id', 'name', 'age'] assert db.path == ":memory:" def test_execute(): '''Testing execute method''' db.execute('select * from people') person = db.cur.fetchone() assert person['name'] == 'John' assert person['age'] == 20