from webtest import TestApp
import pylons.test
+from elixir import *
+from floof.model import *
+from floof.model import meta
+from floof import model as model
+from sqlalchemy import engine_from_config
+
+__all__ = ['environ', 'url', 'TestController', 'TestModel']
-__all__ = ['environ', 'url', 'TestController']
# Invoke websetup with the current config file
-SetupCommand('setup-app').run([config['__file__']])
+# SetupCommand('setup-app').run([config['__file__']])
+
+# additional imports ...
+import os
+from paste.deploy import appconfig
+from floof.config.environment import load_environment
+here_dir = os.path.dirname(__file__)
+conf_dir = os.path.dirname(os.path.dirname(here_dir))
+
+test_file = os.path.join(conf_dir, 'test.ini')
+conf = appconfig('config:' + test_file)
+load_environment(conf.global_conf, conf.local_conf)
environ = {}
+engine = engine_from_config(config, 'sqlalchemy.')
+model.init_model(engine)
+metadata = elixir.metadata
+Session = elixir.session = meta.Session
+
+class Individual(Entity):
+ """Table 'Individual'.
+
+ >>> me = Individual('Groucho')
+
+ # 'name' field is converted to lowercase
+ >>> me.name
+ 'groucho'
+ """
+ name = Field(String(20), unique=True)
+ favorite_color = Field(String(20))
+
+ def __init__(self, name, favorite_color=None):
+ self.name = str(name).lower()
+ self.favorite_color = favorite_color
+
+setup_all()
+
+def setup():
+ pass
+
+def teardown():
+ pass
+
+class TestModel(TestCase):
+ def setUp(self):
+ setup_all(True)
+
+ def tearDown(self):
+ drop_all(engine)
+
+
class TestController(TestCase):
def __init__(self, *args, **kwargs):