Skip to content

Commit

Permalink
Only show the product version header when the requester is authentica…
Browse files Browse the repository at this point in the history
…ted (#14135)
  • Loading branch information
rooftopcellist authored Jul 26, 2023
1 parent bd0089f commit b549ae1
Show file tree
Hide file tree
Showing 3 changed files with 3 additions and 23 deletions.
3 changes: 2 additions & 1 deletion awx/api/generics.py
Original file line number Diff line number Diff line change
Expand Up @@ -232,7 +232,8 @@ def finalize_response(self, request, response, *args, **kwargs):

response = super(APIView, self).finalize_response(request, response, *args, **kwargs)
time_started = getattr(self, 'time_started', None)
response['X-API-Product-Version'] = get_awx_version()
if request.user.is_authenticated:
response['X-API-Product-Version'] = get_awx_version()
response['X-API-Product-Name'] = server_product_name()

response['X-API-Node'] = settings.CLUSTER_HOST_ID
Expand Down
8 changes: 1 addition & 7 deletions awx_collection/plugins/module_utils/controller_api.py
Original file line number Diff line number Diff line change
Expand Up @@ -533,13 +533,7 @@ def make_request(self, method, endpoint, *args, **kwargs):
controller_version = response.info().getheader('X-API-Product-Version', None)

parsed_collection_version = Version(self._COLLECTION_VERSION).version
if not controller_version:
self.warn(
"You are using the {0} version of this collection but connecting to a controller that did not return a version".format(
self._COLLECTION_VERSION
)
)
else:
if controller_version:
parsed_controller_version = Version(controller_version).version
if controller_type == 'AWX':
collection_compare_ver = parsed_collection_version[0]
Expand Down
15 changes: 0 additions & 15 deletions awx_collection/test/awx/test_module_utils.py
Original file line number Diff line number Diff line change
Expand Up @@ -76,21 +76,6 @@ def test_version_warning(collection_import, silence_warning):
)


def test_no_version_warning(collection_import, silence_warning):
ControllerAPIModule = collection_import('plugins.module_utils.controller_api').ControllerAPIModule
cli_data = {'ANSIBLE_MODULE_ARGS': {}}
testargs = ['module_file2.py', json.dumps(cli_data)]
with mock.patch.object(sys, 'argv', testargs):
with mock.patch('ansible.module_utils.urls.Request.open', new=mock_no_ping_response):
my_module = ControllerAPIModule(argument_spec=dict())
my_module._COLLECTION_VERSION = "2.0.0"
my_module._COLLECTION_TYPE = "awx"
my_module.get_endpoint('ping')
silence_warning.assert_called_once_with(
'You are using the {0} version of this collection but connecting to a controller that did not return a version'.format(my_module._COLLECTION_VERSION)
)


def test_version_warning_strictness_awx(collection_import, silence_warning):
ControllerAPIModule = collection_import('plugins.module_utils.controller_api').ControllerAPIModule
cli_data = {'ANSIBLE_MODULE_ARGS': {}}
Expand Down

0 comments on commit b549ae1

Please sign in to comment.