Fix how test database settings are passed to management commands for unit tests.

This commit is contained in:
Chris Church 2013-10-16 11:43:18 -04:00
parent 83be067576
commit 508532f57b
3 changed files with 9 additions and 7 deletions

View File

@ -58,11 +58,12 @@ def prepare_env():
sys.modules['django.utils.six'] = sys.modules['six']
django.utils.six = sys.modules['django.utils.six']
from django.utils import six
# Use the AWX_TEST_DATABASE_NAME environment variable to specify the test
# database name to use when management command is run as an external
# Use the AWX_TEST_DATABASE_* environment variables to specify the test
# database settings to use when management command is run as an external
# program via unit tests.
if os.environ.get('AWX_TEST_DATABASE_NAME', None):
settings.DATABASES['default']['NAME'] = os.environ['AWX_TEST_DATABASE_NAME']
for opt in ('ENGINE', 'NAME', 'USER', 'PASSWORD', 'HOST', 'PORT'):
if os.environ.get('AWX_TEST_DATABASE_%s' % opt, None):
settings.DATABASES['default'][opt] = os.environ['AWX_TEST_DATABASE_%s' % opt]
def manage():
# Prepare the AWX environment.

View File

@ -42,6 +42,10 @@ class BaseTestMixin(object):
if name == 'SERVER_URI':
value = ''
setattr(settings, 'AUTH_LDAP_%s' % name, value)
# Pass test database settings in environment for use by any management
# commands that run from tests.
for opt in ('ENGINE', 'NAME', 'USER', 'PASSWORD', 'HOST', 'PORT'):
os.environ['AWX_TEST_DATABASE_%s' % opt] = settings.DATABASES['default'][opt]
def tearDown(self):
super(BaseTestMixin, self).tearDown()

View File

@ -954,9 +954,6 @@ class InventoryUpdatesTest(BaseTransactionTest):
self.organization.users.add(self.normal_django_user)
self.inventory = self.organization.inventories.create(name='Cloud Inventory')
self.group = self.inventory.groups.create(name='Cloud Group')
# Pass test database name in environment for use by the inventory_import
# management command.
os.environ['AWX_TEST_DATABASE_NAME'] = settings.DATABASES['default']['NAME']
def update_inventory_source(self, group, **kwargs):
inventory_source = group.inventory_source