Skip to content

Commit d935f1d

Browse files
committed
Use ruamel.yaml in test_structured_error.py
1 parent 5ca1c7d commit d935f1d

File tree

1 file changed

+9
-3
lines changed

1 file changed

+9
-3
lines changed

tests/unit/test_structured_error.py

Lines changed: 9 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@
1616
import signal
1717
from unittest import mock
1818

19-
import yaml
19+
from ruamel.yaml import YAML
2020
from botocore.exceptions import ClientError, NoCredentialsError, NoRegionError
2121

2222
from awscli.arguments import UnknownArgumentError
@@ -463,6 +463,12 @@ def test_error_handler_without_parsed_globals_uses_default(self):
463463

464464

465465
class TestNonModeledErrorStructuredFormatting:
466+
def setup_method(self):
467+
self.yaml = YAML(typ="safe", pure=True)
468+
469+
def _load_yaml(self, content):
470+
return self.yaml.load(io.StringIO(content))
471+
466472
def test_no_region_error_with_json_format(self):
467473
session = FakeSession()
468474
error_handler = construct_cli_error_handlers_chain(session)
@@ -503,7 +509,7 @@ def test_no_credentials_error_with_yaml_format(self):
503509

504510
assert rc == CONFIGURATION_ERROR_RC
505511
stderr_output = stderr.getvalue()
506-
parsed_yaml = yaml.safe_load(stderr_output)
512+
parsed_yaml = self._load_yaml(stderr_output)
507513
assert parsed_yaml['Code'] == 'NoCredentials'
508514
assert (
509515
'aws' in parsed_yaml['Message']
@@ -576,7 +582,7 @@ def test_param_validation_error_with_yaml_format(self):
576582

577583
assert rc == PARAM_VALIDATION_ERROR_RC
578584
stderr_output = stderr.getvalue()
579-
parsed_yaml = yaml.safe_load(stderr_output)
585+
parsed_yaml = self._load_yaml(stderr_output)
580586
assert parsed_yaml['Code'] == 'ParamValidation'
581587
assert 'Invalid parameter value' in parsed_yaml['Message']
582588

0 commit comments

Comments
 (0)