Skip to content

Commit c9fbb5a

Browse files
committed
Drop key from environment params if None
Log dropped keys
1 parent c547447 commit c9fbb5a

File tree

2 files changed

+16
-1
lines changed

2 files changed

+16
-1
lines changed

awsshell/wizard.py

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
import sys
22
import copy
33
import json
4+
import logging
45
import jmespath
56

67
import botocore.session
@@ -15,6 +16,9 @@
1516
from prompt_toolkit.shortcuts import confirm
1617

1718

19+
LOG = logging.getLogger(__name__)
20+
21+
1822
def stage_error_handler(error, stages, confirm=confirm, prompt=select_prompt):
1923
managed_errors = (
2024
ClientError,
@@ -372,5 +376,10 @@ def resolve_parameters(self, keys):
372376
"""
373377
resolved_dict = {}
374378
for key in keys:
375-
resolved_dict[key] = self.retrieve(keys[key])
379+
retrieved = self.retrieve(keys[key])
380+
if retrieved is not None:
381+
resolved_dict[key] = retrieved
382+
else:
383+
LOG.debug("Query failed (%s), dropped key: %s", keys[key], key)
384+
376385
return resolved_dict

tests/unit/test_wizard.py

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -37,6 +37,12 @@ def test_resolve_parameters():
3737
assert resolved == {'a': 'Nice', 'b': 'v'}
3838

3939

40+
def test_resolve_parameters_drops_none(env):
41+
keys = {'a': 'bad.query', 'b': 'env_var.epic'}
42+
resolved = env.resolve_parameters(keys)
43+
assert resolved == {'b': 'nice'}
44+
45+
4046
@pytest.fixture
4147
def loader(wizard_spec):
4248
session = mock.Mock()

0 commit comments

Comments
 (0)