mirror of
https://github.com/ansible/awx.git
synced 2026-02-20 04:30:05 -03:30
remove controller_node field from jobs that don't apply
This commit is contained in:
@@ -1388,7 +1388,7 @@ class ProjectUpdateSerializer(UnifiedJobSerializer, ProjectOptionsSerializer):
|
|||||||
|
|
||||||
class Meta:
|
class Meta:
|
||||||
model = ProjectUpdate
|
model = ProjectUpdate
|
||||||
fields = ('*', 'project', 'job_type')
|
fields = ('*', 'project', 'job_type', '-controller_node')
|
||||||
|
|
||||||
def get_related(self, obj):
|
def get_related(self, obj):
|
||||||
res = super(ProjectUpdateSerializer, self).get_related(obj)
|
res = super(ProjectUpdateSerializer, self).get_related(obj)
|
||||||
@@ -2098,7 +2098,8 @@ class InventoryUpdateSerializer(UnifiedJobSerializer, InventorySourceOptionsSeri
|
|||||||
|
|
||||||
class Meta:
|
class Meta:
|
||||||
model = InventoryUpdate
|
model = InventoryUpdate
|
||||||
fields = ('*', 'inventory_source', 'license_error', 'source_project_update')
|
fields = ('*', 'inventory_source', 'license_error', 'source_project_update',
|
||||||
|
'-controller_node',)
|
||||||
|
|
||||||
def get_related(self, obj):
|
def get_related(self, obj):
|
||||||
res = super(InventoryUpdateSerializer, self).get_related(obj)
|
res = super(InventoryUpdateSerializer, self).get_related(obj)
|
||||||
@@ -3245,7 +3246,8 @@ class AdHocCommandSerializer(UnifiedJobSerializer):
|
|||||||
model = AdHocCommand
|
model = AdHocCommand
|
||||||
fields = ('*', 'job_type', 'inventory', 'limit', 'credential',
|
fields = ('*', 'job_type', 'inventory', 'limit', 'credential',
|
||||||
'module_name', 'module_args', 'forks', 'verbosity', 'extra_vars',
|
'module_name', 'module_args', 'forks', 'verbosity', 'extra_vars',
|
||||||
'become_enabled', 'diff_mode', '-unified_job_template', '-description')
|
'become_enabled', 'diff_mode', '-unified_job_template', '-description',
|
||||||
|
'-controller_node',)
|
||||||
extra_kwargs = {
|
extra_kwargs = {
|
||||||
'name': {
|
'name': {
|
||||||
'read_only': True,
|
'read_only': True,
|
||||||
|
|||||||
@@ -9,7 +9,14 @@ from rest_framework.exceptions import PermissionDenied
|
|||||||
from awx.api.versioning import reverse
|
from awx.api.versioning import reverse
|
||||||
from awx.api.views import RelatedJobsPreventDeleteMixin, UnifiedJobDeletionMixin
|
from awx.api.views import RelatedJobsPreventDeleteMixin, UnifiedJobDeletionMixin
|
||||||
|
|
||||||
from awx.main.models import JobTemplate, User, Job
|
from awx.main.models import (
|
||||||
|
JobTemplate,
|
||||||
|
User,
|
||||||
|
Job,
|
||||||
|
ProjectUpdate,
|
||||||
|
AdHocCommand,
|
||||||
|
InventoryUpdate,
|
||||||
|
)
|
||||||
|
|
||||||
from crum import impersonate
|
from crum import impersonate
|
||||||
|
|
||||||
@@ -159,3 +166,34 @@ def test_block_related_unprocessed_events(mocker, organization, project, delete,
|
|||||||
with mock.patch('awx.api.views.now', lambda: time_of_request):
|
with mock.patch('awx.api.views.now', lambda: time_of_request):
|
||||||
with pytest.raises(PermissionDenied):
|
with pytest.raises(PermissionDenied):
|
||||||
view.perform_destroy(organization)
|
view.perform_destroy(organization)
|
||||||
|
|
||||||
|
|
||||||
|
class TestControllerNode():
|
||||||
|
@pytest.fixture
|
||||||
|
def project_update(self, project):
|
||||||
|
return ProjectUpdate.objects.create(project=project)
|
||||||
|
|
||||||
|
@pytest.fixture
|
||||||
|
def job(self):
|
||||||
|
return JobTemplate.objects.create().create_unified_job()
|
||||||
|
|
||||||
|
@pytest.fixture
|
||||||
|
def adhoc(self, inventory):
|
||||||
|
return AdHocCommand.objects.create(inventory=inventory)
|
||||||
|
|
||||||
|
@pytest.mark.django_db
|
||||||
|
def test_field_controller_node_exists(self, admin_user, job, project_update, inventory_update, adhoc, get):
|
||||||
|
r = get(reverse('api:unified_job_list') + '?id={}'.format(job.id), admin_user, expect=200)
|
||||||
|
assert 'controller_node' in r.data['results'][0]
|
||||||
|
|
||||||
|
r = get(job.get_absolute_url(), admin_user, expect=200)
|
||||||
|
assert 'controller_node' in r.data
|
||||||
|
|
||||||
|
r = get(reverse('api:project_update_detail', kwargs={'pk': project_update.pk}), admin_user, expect=200)
|
||||||
|
assert 'controller_node' not in r.data
|
||||||
|
|
||||||
|
r = get(reverse('api:ad_hoc_command_detail', kwargs={'pk': adhoc.pk}), admin_user, expect=200)
|
||||||
|
assert 'controller_node' not in r.data
|
||||||
|
|
||||||
|
r = get(reverse('api:inventory_update_detail', kwargs={'pk': inventory_update.pk}), admin_user, expect=200)
|
||||||
|
assert 'controller_node' not in r.data
|
||||||
|
|||||||
Reference in New Issue
Block a user