diff --git a/tests/test_features.py b/tests/test_features.py index da1ab4e..c5bac9f 100644 --- a/tests/test_features.py +++ b/tests/test_features.py @@ -41,6 +41,16 @@ def test_unknown_strategy(self): assert not result[0](basically_anything_here='foo') assert log.warning.called + def test_no_parameter(self): + strategies = {'Foo': mock.Mock(return_value='R')} + feature = {'strategies': [ + {'name': 'Foo'}, + ]} + + result = features.feature_gates(strategies, feature) + assert len(result) == 1 + assert result == ['R'] + class TestFeature(TestCase): def test_happy_path(self): diff --git a/unleash_client/features.py b/unleash_client/features.py index 0388362..005a22f 100644 --- a/unleash_client/features.py +++ b/unleash_client/features.py @@ -6,7 +6,7 @@ def feature_gates(strategies, feature): tests = [] for args in feature['strategies']: - name, parameters = args['name'], args['parameters'] + name, parameters = args['name'], args.get('parameters', {}) strategy = strategies.get(name) if strategy: test = strategy(**parameters)