mirror of
https://github.com/ansible/awx.git
synced 2026-01-10 15:32:07 -03:30
Aap 49452 - support CONTROLLER_OPTIONAL_API_URLPATTERN_PREFIX in awxkit (#16085)
* fix: awxkit should honor CONTROLLER_OPTIONAL_API_URLPATTERN_PREFIX if defined * add unit tests * update tests
This commit is contained in:
parent
b730bfa193
commit
5ca76f3d64
@ -32,5 +32,6 @@ config.assume_untrusted = config.get('assume_untrusted', True)
|
||||
config.client_connection_attempts = int(os.getenv('AWXKIT_CLIENT_CONNECTION_ATTEMPTS', 5))
|
||||
config.prevent_teardown = to_bool(os.getenv('AWXKIT_PREVENT_TEARDOWN', False))
|
||||
config.use_sessions = to_bool(os.getenv('AWXKIT_SESSIONS', False))
|
||||
config.api_base_path = os.getenv('AWXKIT_API_BASE_PATH', '/api/')
|
||||
config.api_base_path = os.getenv('CONTROLLER_OPTIONAL_API_URLPATTERN_PREFIX', '/api/')
|
||||
config.api_base_path = os.getenv('AWXKIT_API_BASE_PATH', config.api_base_path)
|
||||
config.gateway_base_path = os.getenv('AWXKIT_GATEWAY_BASE_PATH', '/api/gateway/')
|
||||
|
||||
@ -106,3 +106,42 @@ def test_config_file():
|
||||
|
||||
assert config.credentials.default.username == 'mary'
|
||||
assert config.credentials.default.password == 'secret'
|
||||
|
||||
|
||||
def test_controller_optional_api_urlpattern_prefix():
|
||||
"""Tests that CONTROLLER_OPTIONAL_API_URLPATTERN_PREFIX is honored when set."""
|
||||
cli = CLI()
|
||||
env = {'CONTROLLER_OPTIONAL_API_URLPATTERN_PREFIX': '/custom/api/'}
|
||||
cli.parse_args(['awx'], env=env)
|
||||
|
||||
# Update config with environment variable since config.py reads from os.getenv at import time
|
||||
config.api_base_path = env.get('CONTROLLER_OPTIONAL_API_URLPATTERN_PREFIX', '/api/')
|
||||
config.api_base_path = env.get('AWXKIT_API_BASE_PATH', config.api_base_path)
|
||||
|
||||
assert config.api_base_path == '/custom/api/'
|
||||
|
||||
|
||||
def test_awxkit_api_base_path_fallback():
|
||||
"""Tests that AWXKIT_API_BASE_PATH overrides CONTROLLER_OPTIONAL_API_URLPATTERN_PREFIX."""
|
||||
cli = CLI()
|
||||
env = {'CONTROLLER_OPTIONAL_API_URLPATTERN_PREFIX': '/custom/api/', 'AWXKIT_API_BASE_PATH': '/override/api/'}
|
||||
cli.parse_args(['awx'], env=env)
|
||||
|
||||
# Update config with environment variable since config.py reads from os.getenv at import time
|
||||
config.api_base_path = env.get('CONTROLLER_OPTIONAL_API_URLPATTERN_PREFIX', '/api/')
|
||||
config.api_base_path = env.get('AWXKIT_API_BASE_PATH', config.api_base_path)
|
||||
|
||||
assert config.api_base_path == '/override/api/'
|
||||
|
||||
|
||||
def test_api_base_path_default():
|
||||
"""Tests that api_base_path defaults to /api/ when no environment variables are set."""
|
||||
cli = CLI()
|
||||
env = {}
|
||||
cli.parse_args(['awx'], env=env)
|
||||
|
||||
# Reset config to default when no environment variables are set
|
||||
config.api_base_path = env.get('CONTROLLER_OPTIONAL_API_URLPATTERN_PREFIX', '/api/')
|
||||
config.api_base_path = env.get('AWXKIT_API_BASE_PATH', config.api_base_path)
|
||||
|
||||
assert config.api_base_path == '/api/'
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user