Skip to content
This repository has been archived by the owner on Sep 3, 2024. It is now read-only.

Commit

Permalink
Use deduced_required value for config.push
Browse files Browse the repository at this point in the history
  • Loading branch information
oyvindeide committed Jun 4, 2020
1 parent 29cc91b commit 1322ff6
Show file tree
Hide file tree
Showing 2 changed files with 20 additions and 0 deletions.
2 changes: 2 additions & 0 deletions configsuite/config.py
Original file line number Diff line number Diff line change
Expand Up @@ -89,6 +89,7 @@ def __init__(
self._valid = True
self._errors = ()
self._snapshot = None
self._deduce_required = deduce_required

self._cached_merged_config = self._build_merged_config()
if self._readable:
Expand Down Expand Up @@ -158,6 +159,7 @@ def push(self, raw_config):
layers=self._layers,
extract_validation_context=self._extract_validation_context,
extract_transformation_context=self._extract_transformation_context,
deduce_required=self._deduce_required,
)

@property
Expand Down
18 changes: 18 additions & 0 deletions tests/test_deprecation_warning.py
Original file line number Diff line number Diff line change
Expand Up @@ -79,3 +79,21 @@ def test_no_error_when_deducing_from_default(self):
suite = configsuite.ConfigSuite({}, schema, deduce_required=True)
self.assertTrue(suite.valid)
self.assertEqual(0, len(wc))

def test_no_error_when_deducing_with_push(self):
schema = {
MK.Type: types.NamedDict,
MK.Content: {
"not_required": {MK.Type: types.Integer, MK.AllowNone: True},
"a_required_string": {MK.Type: types.String},
},
}
config = {"a_required_string": "a_string"}

with warnings.catch_warnings(record=True) as wc:
basic_config = configsuite.ConfigSuite(config, schema, deduce_required=True)
self.assertTrue(basic_config.valid)

basic_config = basic_config.push({"not_required": 10})
self.assertTrue(basic_config.valid)
self.assertEqual(0, len(wc))

0 comments on commit 1322ff6

Please sign in to comment.