mirror of
https://github.com/ansible/awx.git
synced 2026-01-17 12:41:19 -03:30
Fixes AC-472. Workaround for django-taggit breaking dumpdata command.
This commit is contained in:
parent
ac7c300948
commit
4b5620806c
@ -1868,5 +1868,17 @@ from awx.main.access import *
|
||||
User.add_to_class('get_queryset', get_user_queryset)
|
||||
User.add_to_class('can_access', check_user_access)
|
||||
|
||||
# Monkeypatch Django serializer to ignore django-taggit fields (which break
|
||||
# the dumpdata command; see https://github.com/alex/django-taggit/issues/155).
|
||||
from django.core.serializers.python import Serializer as _PythonSerializer
|
||||
_original_handle_m2m_field = _PythonSerializer.handle_m2m_field
|
||||
def _new_handle_m2m_field(self, obj, field):
|
||||
try:
|
||||
field.rel.through._meta
|
||||
except AttributeError:
|
||||
return
|
||||
return _original_handle_m2m_field(self, obj, field)
|
||||
_PythonSerializer.handle_m2m_field = _new_handle_m2m_field
|
||||
|
||||
# Import signal handlers only after models have been defined.
|
||||
import awx.main.signals
|
||||
|
||||
@ -24,7 +24,8 @@ from awx.main.licenses import LicenseWriter
|
||||
from awx.main.models import *
|
||||
from awx.main.tests.base import BaseTest, BaseLiveServerTest
|
||||
|
||||
__all__ = ['CleanupDeletedTest', 'CleanupJobsTest', 'InventoryImportTest']
|
||||
__all__ = ['DumpDataTest', 'CleanupDeletedTest', 'CleanupJobsTest',
|
||||
'InventoryImportTest']
|
||||
|
||||
TEST_PLAYBOOK = '''- hosts: test-group
|
||||
gather_facts: False
|
||||
@ -163,6 +164,20 @@ class BaseCommandMixin(object):
|
||||
result = CommandError(captured_stderr)
|
||||
return result, captured_stdout, captured_stderr
|
||||
|
||||
class DumpDataTest(BaseCommandMixin, BaseTest):
|
||||
'''
|
||||
Test cases for dumpdata management command.
|
||||
'''
|
||||
|
||||
def setUp(self):
|
||||
super(DumpDataTest, self).setUp()
|
||||
self.create_test_inventories()
|
||||
|
||||
def test_dumpdata(self):
|
||||
result, stdout, stderr = self.run_command('dumpdata')
|
||||
self.assertEqual(result, None)
|
||||
data = json.loads(stdout)
|
||||
|
||||
class CleanupDeletedTest(BaseCommandMixin, BaseTest):
|
||||
'''
|
||||
Test cases for cleanup_deleted management command.
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user