def test_proxy(self): class A(object): def foo(self): return 'foo' a = Proxy() def raise_error(): a.foo() self.assertRaises(AttributeError, raise_error) a.initialize(A()) self.assertEqual(a.foo(), 'foo')
def test_proxy_database(self): database_proxy = Proxy() class DummyModel(Model): test_field = CharField() class Meta: database = database_proxy # Un-initialized will raise an AttributeError. self.assertRaises(AttributeError, DummyModel.create_table) # Initialize the object. database_proxy.initialize(SqliteDatabase(':memory:')) # Do some queries, verify it is working. DummyModel.create_table() DummyModel.create(test_field='foo') self.assertEqual(DummyModel.get().test_field, 'foo') DummyModel.drop_table()
def outer_wrap(f): @wraps(f) def inner_wrap(*args, **kwargs): r = f(*args, **kwargs) return Response(dumps(r), content_type="application/json") endpoint = options.pop('endpoint', None) app.add_url_rule(path, endpoint, inner_wrap, **options) return outer_wrap @route("/") def index(): return "Tasker v-" + config.version db = Proxy() db.initialize(peewee.SqliteDatabase(config.database_name, threadlocals=True)) # 4 view: list # dependency graph # timeline # todo per personns class HouseTask(peewee.Model): floor = peewee.TextField(default="RC") room = peewee.TextField(default="None") name = peewee.TextField(default="") price = peewee.IntegerField(default=0) start_date = peewee.DateTimeField(default=None, null=True) duration = peewee.IntegerField(default=1) valid = peewee.BooleanField(default=False) description = peewee.TextField(default="") s_actions = peewee.TextField(default="null") dependencies = peewee.TextField(default="")