mirror of
https://github.com/ansible/awx.git
synced 2026-02-01 01:28:09 -03:30
add credential file support
Signed-off-by: sezanzeb <proxima@sezanzeb.de>
This commit is contained in:
@@ -1,3 +1,5 @@
|
||||
import os
|
||||
import json
|
||||
import pytest
|
||||
from requests.exceptions import ConnectionError
|
||||
|
||||
@@ -49,3 +51,58 @@ def test_config_precedence():
|
||||
|
||||
assert config.credentials.default.username == 'mary'
|
||||
assert config.credentials.default.password == 'secret'
|
||||
|
||||
|
||||
def test_config_file_precedence():
|
||||
"""Ignores AWXKIT_CREDENTIAL_FILE if cli args are set"""
|
||||
os.makedirs('/tmp/awx-test/', exist_ok=True)
|
||||
with open('/tmp/awx-test/config.json', 'w') as f:
|
||||
json.dump({'default': {'username': 'IGNORE', 'password': 'IGNORE'}}, f)
|
||||
|
||||
cli = CLI()
|
||||
cli.parse_args(
|
||||
['awx', '--conf.username', 'mary', '--conf.password', 'secret'],
|
||||
env={
|
||||
'AWXKIT_CREDENTIAL_FILE': '/tmp/awx-test/config.json',
|
||||
},
|
||||
)
|
||||
with pytest.raises(ConnectionError):
|
||||
cli.connect()
|
||||
|
||||
assert config.credentials.default.username == 'mary'
|
||||
assert config.credentials.default.password == 'secret'
|
||||
|
||||
|
||||
def test_config_file_precedence_2():
|
||||
"""Ignores AWXKIT_CREDENTIAL_FILE if TOWER_* vars are set."""
|
||||
os.makedirs('/tmp/awx-test/', exist_ok=True)
|
||||
with open('/tmp/awx-test/config.json', 'w') as f:
|
||||
json.dump({'default': {'username': 'IGNORE', 'password': 'IGNORE'}}, f)
|
||||
|
||||
cli = CLI()
|
||||
cli.parse_args(['awx'], env={'AWXKIT_CREDENTIAL_FILE': '/tmp/awx-test/config.json', 'TOWER_USERNAME': 'mary', 'TOWER_PASSWORD': 'secret'})
|
||||
with pytest.raises(ConnectionError):
|
||||
cli.connect()
|
||||
|
||||
assert config.credentials.default.username == 'mary'
|
||||
assert config.credentials.default.password == 'secret'
|
||||
|
||||
|
||||
def test_config_file():
|
||||
"""Reads username and password from AWXKIT_CREDENTIAL_FILE."""
|
||||
os.makedirs('/tmp/awx-test/', exist_ok=True)
|
||||
with open('/tmp/awx-test/config.json', 'w') as f:
|
||||
json.dump({'default': {'username': 'mary', 'password': 'secret'}}, f)
|
||||
|
||||
cli = CLI()
|
||||
cli.parse_args(
|
||||
['awx'],
|
||||
env={
|
||||
'AWXKIT_CREDENTIAL_FILE': '/tmp/awx-test/config.json',
|
||||
},
|
||||
)
|
||||
with pytest.raises(ConnectionError):
|
||||
cli.connect()
|
||||
|
||||
assert config.credentials.default.username == 'mary'
|
||||
assert config.credentials.default.password == 'secret'
|
||||
|
||||
Reference in New Issue
Block a user