Example #1
0
    def __init__(self, db_path=None):
        self.CONFIG = ConLoader.load_integrated_config(Path.DATA_DIR)

        json_data = load_json(self.CONFIG['json_path'])
        self.EXCHANGE_RATES = json_data['exchange_rate']
        self.CURRENT_PRICES = json_data['current_price']

        if db_path is None:
            db_path = self.CONFIG['db_path']
        db.init(db_path)
        db.connect()
        with self.assertRaises(OperationalError):  # table already exists
            db.create_tables([RecordGroup], safe=False)

    def test_drop_tables(self):
        with db.atomic() as transaction:
            db.drop_tables([RecordGroup, GroupRelation])

            with self.assertRaises(OperationalError):  # no such table
                RecordGroup.select().count()
            with self.assertRaises(OperationalError):  # no such table
                GroupRelation.select().count()

            transaction.rollback()

    def test_create_record(self):
        with db.atomic() as transaction:
            with self.assertRaises(IntegrityError):  # UNIQUE constraint failed
                RecordGroup.create(description='古典文學')

            RecordGroup.create(description='Ha?Ha')
            self.assertEqual(7, RecordGroup.select().count())

            transaction.rollback()


if __name__ == "__main__":
    unittest.main()
else:
    db.init(config['db_path'])
    db.connect()
 def setUpClass(cls):
     db.init("./DbTableAccessorUnittest.db")
Example #4
0
def init_db(path):
    db.init(path)