From f250fc3f5ee008e1afd736866d9434ce146b8e0c Mon Sep 17 00:00:00 2001
From: Julien Muchembled <jm@nexedi.com>
Date: Fri, 18 Jun 2010 16:03:30 +0000
Subject: [PATCH] Unit tests: recognize 'erp5_sql_deferred_connection_string'
 environment variable

If not specified, erp5_sql_deferred_connection is configured like
erp5_sql_connection.

git-svn-id: https://svn.erp5.org/repos/public/erp5/trunk@36451 20353a03-c40f-0410-a6d1-a30d3c3de9de
---
 product/ERP5Type/tests/ERP5TypeTestCase.py | 38 ++++++++++------------
 1 file changed, 17 insertions(+), 21 deletions(-)

diff --git a/product/ERP5Type/tests/ERP5TypeTestCase.py b/product/ERP5Type/tests/ERP5TypeTestCase.py
index 214c551feb..ff69ffbece 100644
--- a/product/ERP5Type/tests/ERP5TypeTestCase.py
+++ b/product/ERP5Type/tests/ERP5TypeTestCase.py
@@ -233,23 +233,19 @@ def _getConnectionStringDict():
   """Returns the connection strings used for this test.
   """
   connection_string_dict = {}
-  erp5_sql_connection_string = os.environ.get(
-                                    'erp5_sql_connection_string')
-  if erp5_sql_connection_string:
-    connection_string_dict['erp5_sql_connection_string'] = \
-                                erp5_sql_connection_string
-  cmf_activity_sql_connection_string = os.environ.get(
-                            'cmf_activity_sql_connection_string',
-                            os.environ.get('erp5_sql_connection_string'))
-  if cmf_activity_sql_connection_string:
-    connection_string_dict['cmf_activity_sql_connection_string'] = \
-                                cmf_activity_sql_connection_string
-    erp5_sql_transactionless_connection_string = os.environ.get(
-             'erp5_sql_transactionless_connection_string',
-             '-%s' % cmf_activity_sql_connection_string)
-    if erp5_sql_transactionless_connection_string:
-      connection_string_dict['erp5_sql_transactionless_connection_string'] = \
-                              erp5_sql_transactionless_connection_string
+  default = os.environ.get('erp5_sql_connection_string')
+  for connection in ('erp5_sql_connection_string',
+                     'erp5_sql_deferred_connection_string',
+                     # default value for transactionless is derived from value
+                     # for cmf_activity, so process it last
+                     'cmf_activity_sql_connection_string'):
+    connection_string = os.environ.get(connection, default)
+    if connection_string:
+      connection_string_dict[connection] = connection_string
+  connection = 'erp5_sql_transactionless_connection_string'
+  if os.environ.get(connection, connection_string):
+    connection_string_dict[connection] = \
+      os.environ.get(connection, '-' + connection_string)
   return connection_string_dict
 
 def _getConversionServerDict():
@@ -898,10 +894,10 @@ class ERP5TypeTestCase(ProcessingNodeTestCase, PortalTestCase):
                 ZopeTestCase._print('Adding %s ERP5 Site ... ' % portal_name)
 
               extra_constructor_kw = _getConnectionStringDict()
-              # manage_addERP5Site does not accept
-              # erp5_sql_transactionless_connection_string argument
-              extra_constructor_kw.pop(
-                    'erp5_sql_transactionless_connection_string', None)
+              # manage_addERP5Site does not accept the following 2 arguments
+              for k in ('erp5_sql_deferred_connection_string',
+                        'erp5_sql_transactionless_connection_string'):
+                extra_constructor_kw.pop(k, None)
               email_from_address = os.environ.get('email_from_address')
               if email_from_address is not None:
                 extra_constructor_kw['email_from_address'] = email_from_address
-- 
2.30.9