Exemplo n.º 1
0
    def test_005_dig(self):
        params = EasyDict({
            'project': 'wandersocket.infra',
            'environment': 'production',
            'via': 'cli'
        })
        config = Config(params)
        ed0 = EasyDict({'abc': 'yes!'})
        self.assertEqual('yes!', config.dig(ed0, 'abc'))

        ed1 = EasyDict({'abc': {'def': [None, {'xyz': 'yes!'}]}})
        self.assertEqual('yes!', config.dig(ed1, 'abc.def[1].xyz'))
        self.assertIsNone(config.dig(ed1, 'abc.def[0]'))

        ed2 = EasyDict({'abc': ['def', [None, {'xyz': 'yes!'}]]})
        self.assertEqual('def', config.dig(ed2, 'abc[0]'))
        self.assertEqual('yes!', config.dig(ed2, 'abc[1][1].xyz'))
        self.assertIsNone(config.dig(ed2, 'abc[1][0]'))