salt/tests/unit/modules/test_uwsgi.py
2018-01-26 14:57:36 +01:00

33 lines
1.1 KiB
Python

# -*- coding: utf-8 -*-
# Import Python libs
from __future__ import absolute_import, print_function, unicode_literals
# Import Salt Testing libs
from tests.support.mixins import LoaderModuleMockMixin
from tests.support.unit import skipIf, TestCase
from tests.support.mock import NO_MOCK, NO_MOCK_REASON, MagicMock, Mock, patch
# Import salt libs
import salt.modules.uwsgi as uwsgi
@skipIf(NO_MOCK, NO_MOCK_REASON)
class UwsgiTestCase(TestCase, LoaderModuleMockMixin):
def setup_loader_modules(self):
patcher = patch('salt.utils.path.which', Mock(return_value='/usr/bin/uwsgi'))
patcher.start()
self.addCleanup(patcher.stop)
return {uwsgi: {}}
def test_uwsgi_stats(self):
socket = "127.0.0.1:5050"
mock = MagicMock(return_value='{"a": 1, "b": 2}')
with patch.dict(uwsgi.__salt__, {'cmd.run': mock}):
result = uwsgi.stats(socket)
mock.assert_called_once_with(
['uwsgi', '--connect-and-read', '{0}'.format(socket)],
python_shell=False)
self.assertEqual(result, {'a': 1, 'b': 2})