1
0
mirror of https://github.com/ansible/awx.git synced 2024-10-31 15:21:13 +03:00

Merge pull request #1534 from chrismeyersfsu/fix-config_performance

fixes config endpoint performance issue
This commit is contained in:
Chris Meyers 2016-04-14 10:25:19 -04:00
commit 27a710c508
4 changed files with 31 additions and 0 deletions

View File

@ -0,0 +1,5 @@
def test_ANSIBLE_VERSION(mocker):
from django.conf import settings
assert hasattr(settings, 'ANSIBLE_VERSION')

View File

@ -0,0 +1,19 @@
import subprocess
from awx.main.utils import get_ansible_version
def test_dev(mocker, settings):
settings.ANSIBLE_VERSION = mocker.Mock()
res = get_ansible_version()
assert res == settings.ANSIBLE_VERSION
def test_production(mocker, settings):
mock_Popen = mocker.MagicMock()
mocker.patch.object(subprocess, 'Popen', mock_Popen)
del settings.ANSIBLE_VERSION
get_ansible_version()
mock_Popen.assert_called_with(['ansible', '--version'], stdout=subprocess.PIPE)

View File

@ -97,6 +97,9 @@ def get_ansible_version():
'''
Return Ansible version installed.
'''
from django.conf import settings
if hasattr(settings, 'ANSIBLE_VERSION'):
return settings.ANSIBLE_VERSION
try:
proc = subprocess.Popen(['ansible', '--version'],
stdout=subprocess.PIPE)

View File

@ -10,6 +10,8 @@ import traceback
# Django Split Settings
from split_settings.tools import optional, include
from awx.main.utils import get_ansible_version
# Load default settings.
from defaults import * # NOQA
@ -33,6 +35,8 @@ AWX_PROOT_ENABLED = True
PENDO_TRACKING_STATE = "off"
ANSIBLE_VERSION = get_ansible_version()
# Use Django-Jenkins if installed. Only run tests for awx.main app.
try:
import django_jenkins