Exemple #1
0
    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')
Exemple #2
0
    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')
Exemple #3
0
    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
Exemple #4
0
    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'
Exemple #5
0
    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')
Exemple #6
0
    def test_update(self):
        mysql = node.Compound({'behavior': 'percona'})
        mysql.update({'replication_master': '1'})

        assert 'replication_master' in mysql
        assert mysql['replication_master'] == '1'
Exemple #7
0
    def test_set_undefined_key(self):
        master = node.Compound()

        master['key1'] = 'ooo'
        assert master['key1'] == 'ooo'
Exemple #8
0
    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')