123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354 |
- # -*- 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)
|