def test_convert_dotted(self): converted = BaseView.convert_dotted({ 'settings.foo': 'bar', 'option': 'value' }) assert converted['settings'] == {'foo': 'bar'} assert converted['option'] == 'value' assert 'settings.foo' not in converted
def pop_aggregations_params(self): """ Pop and return aggregation params from query string params. Aggregation params are expected to be prefixed(nested under) by any of `self._aggregations_keys`. """ from nefertari.view import BaseView self._query_params = BaseView.convert_dotted(self.view._query_params) for key in self._aggregations_keys: if key in self._query_params: return self._query_params.pop(key) else: raise KeyError('Missing aggregation params')
def test_convert_dotted(self): converted = BaseView.convert_dotted({ 'settings.foo': 'bar', 'option': 'value', 'one.two.three.four': 4, 'one.two.six': 6, }) assert sorted(converted.keys()) == sorted([ 'settings', 'option', 'one']) assert converted['settings'] == {'foo': 'bar'} assert converted['option'] == 'value' assert converted['one'] == { 'two': { 'three': {'four': 4}, 'six': 6, }, } assert 'settings.foo' not in converted
def test_convert_dotted_no_dotted(self): converted = BaseView.convert_dotted({'option': 'value'}) assert converted == {'option': 'value'}
def test_convert_dotted_no_dotted(self): converted = BaseView.convert_dotted({ 'option': 'value' }) assert converted == {'option': 'value'}