예제 #1
0
    def test_none_simple(self):
        from pillar.api.utils import node_setattr

        node = {}
        node_setattr(node, 'a', None)
        node_setattr(node, None, 'b')
        self.assertEqual({None: 'b'}, node)
예제 #2
0
    def test_simple(self):
        from pillar.api.utils import node_setattr

        node = {}
        node_setattr(node, 'a', 5)
        self.assertEqual({'a': 5}, node)

        node_setattr(node, 'b', {'complexer': 'value'})
        self.assertEqual({'a': 5, 'b': {'complexer': 'value'}}, node)
예제 #3
0
    def test_dotted(self):
        from pillar.api.utils import node_setattr

        node = {}
        self.assertRaises(KeyError, node_setattr, node, 'a.b', 5)

        node = {'b': {}}
        node_setattr(node, 'b.simple', 'value')
        self.assertEqual({'b': {'simple': 'value'}}, node)

        node_setattr(node, 'b.complex', {'yes': 'value'})
        self.assertEqual(
            {'b': {
                'simple': 'value',
                'complex': {
                    'yes': 'value'
                }
            }}, node)

        node_setattr(node, 'b.complex', {'yes': 5})
        self.assertEqual({'b': {
            'simple': 'value',
            'complex': {
                'yes': 5
            }
        }}, node)
예제 #4
0
    def test_none_dotted(self):
        from pillar.api.utils import node_setattr

        node = {}
        self.assertRaises(KeyError, node_setattr, node, 'a.b', None)

        node = {'b': {}}
        node_setattr(node, 'b.simple', None)
        self.assertEqual({'b': {}}, node)

        node_setattr(node, 'b.complex', {'yes': None})
        self.assertEqual({'b': {'complex': {'yes': None}}}, node)

        node_setattr(node, 'b.complex.yes', None)
        self.assertEqual({'b': {'complex': {}}}, node)

        node_setattr(node, 'b.complex', {None: 5})
        self.assertEqual({'b': {'complex': {None: 5}}}, node)