def test_recursive_keypairs_with_separator(self):
     data = {
         'a': 'A',
         'b': 'B',
         'nested': {
             'a': 'A',
             'b': 'B',
         },
     }
     separator = '.'
     pairs = list(capabilities._recursive_keypairs(data, separator))
     self.assertEqual([('a', 'A'), ('b', 'B'), ('nested.a', 'A'),
                       ('nested.b', 'B')], pairs)
 def test_recursive_keypairs_with_list_of_dict(self):
     small = 1
     big = 1 << 64
     expected = [("a", "A"), ("b", "B"), ("nested:list", [{small: 99, big: 42}])]
     data = {"a": "A", "b": "B", "nested": {"list": [{small: 99, big: 42}]}}
     pairs = list(capabilities._recursive_keypairs(data))
     self.assertEqual(len(expected), len(pairs))
     for k, v in pairs:
         # the keys 1 and 1<<64 cause a hash collision on 64bit platforms
         if k == "nested:list":
             self.assertIn(v, [[{small: 99, big: 42}], [{big: 42, small: 99}]])
         else:
             self.assertIn((k, v), expected)
 def test_recursive_keypairs_with_list_of_dict(self):
     small = 1
     big = 1 << 64
     expected = [('a', 'A'), ('b', 'B'),
                 ('nested:list', [{
                     small: 99,
                     big: 42
                 }])]
     data = {'a': 'A', 'b': 'B', 'nested': {'list': [{small: 99, big: 42}]}}
     pairs = list(capabilities._recursive_keypairs(data))
     self.assertEqual(len(expected), len(pairs))
     for k, v in pairs:
         # the keys 1 and 1<<64 cause a hash collision on 64bit platforms
         if k == 'nested:list':
             self.assertIn(v, [[{
                 small: 99,
                 big: 42
             }], [{
                 big: 42,
                 small: 99
             }]])
         else:
             self.assertIn((k, v), expected)
 def test_recursive_keypairs(self):
     data = {'a': 'A', 'b': 'B', 'nested': {'a': 'A', 'b': 'B'}}
     pairs = list(capabilities._recursive_keypairs(data))
     self.assertEqual([('a', 'A'), ('b', 'B'), ('nested:a', 'A'),
                       ('nested:b', 'B')], pairs)
 def test_recursive_keypairs_with_separator(self):
     data = {"a": "A", "b": "B", "nested": {"a": "A", "b": "B"}}
     separator = "."
     pairs = list(capabilities._recursive_keypairs(data, separator))
     self.assertEqual([("a", "A"), ("b", "B"), ("nested.a", "A"), ("nested.b", "B")], pairs)
 def test_recursive_keypairs(self):
     data = {"a": "A", "b": "B", "nested": {"a": "A", "b": "B"}}
     pairs = list(capabilities._recursive_keypairs(data))
     self.assertEqual([("a", "A"), ("b", "B"), ("nested:a", "A"), ("nested:b", "B")], pairs)