def test_entity_query_1(self): with nostderr(): events = Event.load_from_db( self.db, applicationId=1, start=5, entityIds={'1' : [14, 15]} ) self.assertEqual(3, len(events))
def test_cutoff_query_1(self): with nostderr(): events = Event.load_from_db( self.db, applicationId=1, start=15, end=35 ) self.assertEqual(4, len(events))
def get_test_database(): """Return in-memory sqlite temporary database for testing""" # create a temporary sqlite db in memory db = web.database(dbn='sqlite', db=':memory:') # setup tables (poor man's sql split, no parsing) with open('db/sqlite_tables.sql', 'r') as f: sql_str = f.read() sql = re.split(';$', sql_str, flags=re.M) # $ matches end of line sql = [s.strip() for s in sql if s.strip() != ''] with nostderr(): for stmt in sql: db.query(stmt) return db
def test_query_on_empty_db(self): self.clear() with nostderr(): events = Event.load_from_db(self.db, applicationId=1, start=0) self.assertEqual(len(events), 0)
def clear(self): """clear test db for new test""" with nostderr(): self.db.query('delete from event where id > 0') self.db.query('delete from event_entity where id > 0')
def save_test_data(self): """save test data to db""" with nostderr(): for d in self.test_data: evt = Event.from_json(d) evt.save(self.db)
def test_app_query(self): with nostderr(): events = Event.load_from_db(self.db, applicationId=1, start=0) self.assertEqual(8, len(events))
def test_raise_error_on_already_saved(self): evt = Event.from_json(self.test_data[0]) with nostderr(): evt.save(self.db) self.assertRaises(EventError, evt.save, self.db)
def test_is_saved_after(self): evt = Event.from_json(self.test_data[0]) with nostderr(): evt.save(self.db) self.assertTrue(evt.is_saved())