def test_smart_merge_nested(): a = {'a': 1, 'b': {'c': 4}} b = {'b': {'c': 5, 'd': 9}} c = utils.smart_merge(a, b) assert (c['a'] == 1) assert (c['b']['c'] == 5) assert (c['b']['d'] == 9)
def test_smart_merge_add(): a = {'a': [1], 'b': 8} b = {'a': [2]} c = utils.smart_merge(a, b, merge_keys=['a']) assert (len(c['a']) == 2) assert (1 in c['a']) assert (2 in c['a'])
def test_smart_merge_none(): a = {'a': 1, 'b': 8, 'c': 5} b = {'c': None, 'd': None} c = utils.smart_merge(a, b, overwrite_with_none=True) assert (c['c'] is None) assert (c['d'] is None)
def test_smart_merge_not_none(): a = {'a': 1, 'b': 8} b = {'a': None, 'c': 9} c = utils.smart_merge(a, b, merge_keys=['a']) assert (c['a'] == 1) assert (c['c'] == 9)
def test_smart_merge_same(): a = {'a': 3, 'b': 8} b = {'a': 3} c = utils.smart_merge(a, b) assert (c['a'] == 3) assert (c['b'] == 8)
def test_smart_merge(): a = {'a': 5, 'b': 8} b = {'a': 10} c = utils.smart_merge(a, b) assert (c['a'] == 10) assert (c['b'] == 8)
def get_settings(query_args): d = {} smart_merge(d, DEFAULT_SETTINGS) smart_merge(d, args_to_dict(query_args, schema=VizRelaySchema())) return ArgSchemaParser(input_data=d, schema_type=VizRelaySchema, args=[])
def add_defaults(args): smart_merge(DEFAULT_SETTINGS, args)