1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980 |
- # coding: utf-8
- # Python libs
- from __future__ import absolute_import
- from collections import namedtuple
- # Salt libs
- import salt.beacons.memusage as memusage
- from tests.support.mixins import LoaderModuleMockMixin
- from tests.support.mock import MagicMock, patch
- # Salt testing libs
- from tests.support.unit import TestCase
- STUB_MEMORY_USAGE = namedtuple(
- "vmem", "total available percent used free active inactive buffers cached shared"
- )(
- 15722012672,
- 9329594368,
- 40.7,
- 5137018880,
- 4678086656,
- 6991405056,
- 2078953472,
- 1156378624,
- 4750528512,
- 898908160,
- )
- class MemUsageBeaconTestCase(TestCase, LoaderModuleMockMixin):
- """
- Test case for salt.beacons.memusage
- """
- def setup_loader_modules(self):
- return {}
- def test_non_list_config(self):
- config = {}
- ret = memusage.validate(config)
- self.assertEqual(
- ret, (False, "Configuration for memusage beacon must be a list.")
- )
- def test_empty_config(self):
- config = [{}]
- ret = memusage.validate(config)
- self.assertEqual(
- ret, (False, "Configuration for memusage beacon requires percent.")
- )
- def test_memusage_match(self):
- with patch("psutil.virtual_memory", MagicMock(return_value=STUB_MEMORY_USAGE)):
- config = [{"percent": "40%"}, {"interval": 30}]
- ret = memusage.validate(config)
- self.assertEqual(ret, (True, "Valid beacon configuration"))
- ret = memusage.beacon(config)
- self.assertEqual(ret, [{"memusage": 40.7}])
- def test_memusage_nomatch(self):
- with patch("psutil.virtual_memory", MagicMock(return_value=STUB_MEMORY_USAGE)):
- config = [{"percent": "70%"}]
- ret = memusage.validate(config)
- self.assertEqual(ret, (True, "Valid beacon configuration"))
- ret = memusage.beacon(config)
- self.assertNotEqual(ret, [{"memusage": 50}])
|