def test_insertion_keys(self): con = Connection(**Connection.options()) with con as db: rv = Creation(schema["touch"]).run(db) session=uuid.uuid4().hex self.assertRaises( sqlite3.OperationalError, Insertion( schema["touch"], data=dict( sbjct=1, objct=1 ) ).run, db )
def test_insertion_entity(self): con = Connection(**Connection.options()) with con as db: rv = Creation(schema["entity"]).run(db) session=uuid.uuid4().hex Insertion( schema["entity"], data=dict( session=session, name="test" ) ).run(db) cur = db.cursor() cur.execute("select * from entity") rv = cur.fetchall() self.assertEqual(1, len(rv)) self.assertEqual(rv[0]["id"], 1) self.assertEqual(rv[0]["name"], "test")
def test_insertion_entities(self): con = Connection(**Connection.options()) session = uuid.uuid4().hex with con as db: rv = Creation(schema["entity"]).run(db) Insertion( schema["entity"], data=[ {"name": "test_one", "session": session}, {"name": "test_two", "session": session} ] ).run(db) cur = db.cursor() cur.execute("select * from entity") rv = cur.fetchall() self.assertEqual(2, len(rv)) self.assertEqual(rv[0]["id"], 1) self.assertEqual(rv[0]["name"], "test_one") self.assertEqual(rv[1]["id"], 2) self.assertEqual(rv[1]["name"], "test_two")
def test_selection_entity(self): class Selection(SQLOperation): @property def sql(self): return ("select * from {0.name}".format(self.tables[0]) , {}) con = Connection(**Connection.options()) with con as db: rv = Creation(schema["entity"]).run(db) session = uuid.uuid4().hex cur = Insertion( schema["entity"], data=dict( session=session, name="test" ) ).run(db) rv = Selection(schema["entity"]).run(db) rows = rv.fetchall() self.assertEqual(1, len(rows)) self.assertEqual(rows[0]["id"], 1) self.assertEqual(rows[0]["name"], "test")