Example #1
0
    def test_stuff(self):
        self.assertEquals({
            1: 'a',
            2: 'b',
            '3': 'c',
            10: 'd',
            '11': 'e',
        }, safe_load('''
1: a
2: b
'3': c
10: d
'11': e
'''))

        self.assertEquals(
            {
                '*.1.2': 'a',
                '*.2.2': 'b',
                '*.10.1': 'c',
                '*.11.2': 'd',
            },
            safe_load('''
'*.1.2': 'a'
'*.2.2': 'b'
'*.10.1': 'c'
'*.11.2': 'd'
'''))

        with self.assertRaises(ConstructorError) as ctx:
            safe_load('''
'*.2.2': 'b'
'*.1.2': 'a'
'*.11.2': 'd'
'*.10.1': 'c'
''')
        self.assertEquals('keys out of order: *.2.2, *.1.2, *.11.2, *.10.1',
                          ctx.exception.problem)

        buf = StringIO()
        safe_dump({
            '*.1.1': 42,
            '*.11.1': 43,
            '*.2.1': 44,
        }, buf)
        self.assertEquals("---\n'*.1.1': 42\n'*.2.1': 44\n'*.11.1': 43\n",
                          buf.getvalue())

        # hex sorting isn't ideal, not treated as hex, this make sure we don't
        # change the behavior
        buf = StringIO()
        safe_dump({
            '45a03129': 42,
            '45a0392a': 43,
        }, buf)
        self.assertEquals("---\n45a0392a: 43\n45a03129: 42\n", buf.getvalue())
Example #2
0
    def test_stuff(self):
        self.assertEquals({
            1: 'a',
            2: 'b',
            '3': 'c',
            10: 'd',
            '11': 'e',
        }, safe_load('''
1: a
2: b
'3': c
10: d
'11': e
'''))

        self.assertEquals(
            {
                '*.1.2': 'a',
                '*.2.2': 'b',
                '*.10.1': 'c',
                '*.11.2': 'd',
            },
            safe_load('''
'*.1.2': 'a'
'*.2.2': 'b'
'*.10.1': 'c'
'*.11.2': 'd'
'''))

        with self.assertRaises(ConstructorError) as ctx:
            safe_load('''
'*.2.2': 'b'
'*.1.2': 'a'
'*.11.2': 'd'
'*.10.1': 'c'
''')
        self.assertEquals('keys out of order: *.2.2, *.1.2, *.11.2, *.10.1',
                          ctx.exception.problem)

        buf = StringIO()
        safe_dump({
            '*.1.1': 42,
            '*.11.1': 43,
            '*.2.1': 44,
        }, buf)
        self.assertEquals("---\n'*.1.1': 42\n'*.2.1': 44\n'*.11.1': 43\n",
                          buf.getvalue())
Example #3
0
    def test_dump_empty(self):
        with TemporaryDirectory() as tmpdir:
            environ['YAML_TMP_DIR'] = tmpdir.dirname
            manager = Manager(get_config_filename('simple.yaml'))

            manager.dump('empty.', tmpdir.dirname, False, False, 'in')

            with open(join(tmpdir.dirname, 'empty.yaml')) as fh:
                data = safe_load(fh, False)
                self.assertFalse(data)