diff pylons_app/websetup.py @ 501:7c978511c951

implemented basic (startup) nose test suite.
author Marcin Kuzminski <marcin@python-works.com>
date Sun, 05 Sep 2010 16:20:29 +0200
parents 3ed2d46a2ca7
children e94f4e54dc03
line wrap: on
line diff
--- a/pylons_app/websetup.py	Sun Sep 05 13:55:47 2010 +0200
+++ b/pylons_app/websetup.py	Sun Sep 05 16:20:29 2010 +0200
@@ -3,10 +3,12 @@
 from os.path import dirname as dn, join as jn
 from pylons_app.config.environment import load_environment
 from pylons_app.lib.db_manage import DbManage
+import datetime
+from time import mktime
 import logging
 import os
 import sys
-
+import shutil
 log = logging.getLogger(__name__)
 
 ROOT = dn(dn(os.path.realpath(__file__)))
@@ -14,9 +16,27 @@
 
 def setup_app(command, conf, vars):
     """Place any commands to setup pylons_app here"""
-    dbmanage = DbManage(log_sql=True)
+    log_sql = True
+    tests = False
+    
+    dbname = os.path.split(conf['sqlalchemy.db1.url'])[-1]
+    filename = os.path.split(conf.filename)[-1]
+    
+    if filename == 'tests.ini':
+        uniq_suffix = str(int(mktime(datetime.datetime.now().timetuple())))
+        REPO_TEST_PATH = '/tmp/hg_app_test_%s' % uniq_suffix
+        
+        if not os.path.isdir(REPO_TEST_PATH):
+            os.mkdir(REPO_TEST_PATH)
+            from_ = '/home/marcink/workspace-python/vcs'
+            shutil.copytree(from_, os.path.join(REPO_TEST_PATH,'vcs_test'))
+            
+        tests = True    
+    
+    dbmanage = DbManage(log_sql, dbname, tests)
     dbmanage.create_tables(override=True)
-    dbmanage.config_prompt()
+    dbmanage.config_prompt(REPO_TEST_PATH)
+    dbmanage.create_default_user()
     dbmanage.admin_prompt()
     dbmanage.create_permissions()
     dbmanage.populate_default_permissions()