mirror of
https://github.com/valitydev/salt.git
synced 2024-11-07 17:09:03 +00:00
47 lines
1.3 KiB
Python
47 lines
1.3 KiB
Python
# -*- coding: utf-8 -*-
|
|
|
|
# Import Python libs
|
|
from __future__ import absolute_import
|
|
|
|
# Import Salt libs
|
|
import salt.ext.six as six
|
|
|
|
|
|
class ReqChannelMixin(object):
|
|
def test_basic(self):
|
|
'''
|
|
Test a variety of messages, make sure we get the expected responses
|
|
'''
|
|
msgs = [
|
|
{'foo': 'bar'},
|
|
{'bar': 'baz'},
|
|
{'baz': 'qux', 'list': [1, 2, 3]},
|
|
]
|
|
for msg in msgs:
|
|
ret = self.channel.send(msg, timeout=2, tries=1)
|
|
self.assertEqual(ret['load'], msg)
|
|
|
|
def test_normalization(self):
|
|
'''
|
|
Since we use msgpack, we need to test that list types are converted to lists
|
|
'''
|
|
types = {
|
|
'list': list,
|
|
}
|
|
msgs = [
|
|
{'list': tuple([1, 2, 3])},
|
|
]
|
|
for msg in msgs:
|
|
ret = self.channel.send(msg, timeout=2, tries=1)
|
|
for k, v in six.iteritems(ret['load']):
|
|
self.assertEqual(types[k], type(v))
|
|
|
|
def test_badload(self):
|
|
'''
|
|
Test a variety of bad requests, make sure that we get some sort of error
|
|
'''
|
|
msgs = ['', [], tuple()]
|
|
for msg in msgs:
|
|
ret = self.channel.send(msg, timeout=2, tries=1)
|
|
self.assertEqual(ret, 'payload and load must be a dict')
|