mirror of
https://github.com/saltstack/salt.git
synced 2025-04-17 10:10:20 +00:00
54 lines
1.5 KiB
Python
54 lines
1.5 KiB
Python
# -*- coding: utf-8 -*-
|
|
"""
|
|
unit tests for the beacon_module parameter
|
|
"""
|
|
# Import Python libs
|
|
from __future__ import absolute_import, print_function, unicode_literals
|
|
|
|
import logging
|
|
|
|
# Import Salt Libs
|
|
import salt.beacons as beacons
|
|
import salt.config
|
|
|
|
# Import Salt Testing Libs
|
|
from tests.support.mixins import LoaderModuleMockMixin
|
|
from tests.support.mock import patch
|
|
from tests.support.unit import TestCase
|
|
|
|
log = logging.getLogger(__name__)
|
|
|
|
|
|
class BeaconsTestCase(TestCase, LoaderModuleMockMixin):
|
|
"""
|
|
Test cases for salt beacon_module parameter
|
|
"""
|
|
|
|
def setup_loader_modules(self):
|
|
return {beacons: {}}
|
|
|
|
def test_beacon_module(self):
|
|
"""
|
|
Test that beacon_module parameter for beacon configuration
|
|
"""
|
|
mock_opts = salt.config.DEFAULT_MINION_OPTS.copy()
|
|
mock_opts["id"] = "minion"
|
|
mock_opts["__role"] = "minion"
|
|
mock_opts["beacons"] = {
|
|
"watch_apache": [
|
|
{"processes": {"apache2": "stopped"}},
|
|
{"beacon_module": "ps"},
|
|
]
|
|
}
|
|
with patch.dict(beacons.__opts__, mock_opts):
|
|
ret = salt.beacons.Beacon(mock_opts, []).process(
|
|
mock_opts["beacons"], mock_opts["grains"]
|
|
)
|
|
_expected = [
|
|
{
|
|
"tag": "salt/beacon/minion/watch_apache/",
|
|
"data": {"id": "minion", "apache2": "Stopped"},
|
|
"beacon_name": "ps",
|
|
}
|
|
]
|
|
self.assertEqual(ret, _expected)
|