def test_get_plain_key(self): store = mock.MagicMock(spec=node.Store) store.__getitem__.return_value = 'aaa' master = node.Compound({'plain_key': store}) assert master['plain_key'] == 'aaa' store.__getitem__.assert_called_with('plain_key')
def test_get_enum_key(self): values = {'server_id': '14593', 'platform': 'ec2'} store = mock.MagicMock(spec=node.Store) store.__getitem__.side_effect = lambda key: values[key] master = node.Compound({'server_id,platform': store}) eq_(master['server_id'], '14593') eq_(master['platform'], 'ec2')
def test_re_key(self): store = {'root_password': '******', 'stat_password': '******'} master = node.Compound({'*_password': store}) assert master['root_password'] == 'qqq' assert master['stat_password'] == 'ppp' try: master['undefined_password'] assert 0, 'Expected KeyError' except KeyError: pass
def test_enum_key(self): values = {'server_id': '14593', 'platform': 'ec2'} def getitem(key): return values[key] store = mock.MagicMock(spec=node.Store) store.__len__.return_value = len(values) store.__getitem__.side_effect = getitem master = node.Compound({'server_id,platform': store}) assert master['server_id'] == '14593' assert master['platform'] == 'ec2'
def test_update(self): sub = mock.MagicMock(spec=node.Store) mysql = node.Compound({'behavior': 'percona', 'sub_1,sub_2': sub}) mysql.update({ 'replication_master': '1', 'sub_1': 'a value', 'sub_2': 'not bad' }) assert 'replication_master' in mysql assert mysql['replication_master'] == '1' sub.__setitem__.call_args_list[0] = mock.call(mysql, 'sub_1', 'a value') sub.__setitem__.call_args_list[1] = mock.call(mysql, 'sub_2', 'not bad')
def test_update(self): mysql = node.Compound({'behavior': 'percona'}) mysql.update({'replication_master': '1'}) assert 'replication_master' in mysql assert mysql['replication_master'] == '1'
def test_set_undefined_key(self): master = node.Compound() master['key1'] = 'ooo' assert master['key1'] == 'ooo'
def test_set_enum_key(self): store = mock.MagicMock(spec=node.Store) master = node.Compound({'mike,andru,luka': store}) master['mike'] = 'story' store.__setitem__.assert_called_with('mike', 'story')