providing yaml output unit tests

This commit is contained in:
msiebeneicher 2016-10-07 16:52:53 +02:00
parent 63adf6c7e7
commit 6bde592070

View File

@ -0,0 +1,55 @@
# -*- coding: utf-8 -*-
'''
unittests for yaml outputter
'''
# Import Python Libs
from __future__ import absolute_import
from StringIO import StringIO
import sys
# Import Salt Testing Libs
from salttesting import TestCase
from salttesting.helpers import ensure_in_syspath
ensure_in_syspath('../../')
# Import Salt Libs
from salt.output import yaml_out as yaml
from salt.log.setup import set_console_handler_stream
class YamlTestCase(TestCase):
'''
Test cases for salt.output.json_out
'''
def setUp(self):
# reset to default behavior
set_console_handler_stream(sys.stderr)
yaml.__opts__ = {}
self.data = {'test': 'two', 'example': 'one'}
def test_default_output(self):
ret = yaml.output(self.data)
expect = 'example: one\ntest: two\n'
self.assertEqual(expect, ret)
def test_negative_int_output(self):
yaml.__opts__['output_indent'] = -1
ret = yaml.output(self.data)
expect = '{example: one, test: two}\n'
self.assertEqual(expect, ret)
def test_default_outout_with_log_entries(self):
# mock a console log stream
test_stream = StringIO('line1\nline2')
set_console_handler_stream(test_stream)
yaml.__opts__['output_indent'] = -1
ret = yaml.output(self.data)
expect = '{example: one, test: two}\n'
self.assertEqual(expect, ret)
if __name__ == '__main__':
from integration import run_tests
run_tests(YamlTestCase, needs_daemon=False)