12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091 |
- # -*- coding: utf-8 -*-
- """
- unit tests for the jobs runner
- """
- # Import Python Libs
- from __future__ import absolute_import, print_function, unicode_literals
- import salt.minion
- # Import Salt Libs
- import salt.runners.jobs as jobs
- # Import Salt Testing Libs
- from tests.support.mixins import LoaderModuleMockMixin
- from tests.support.mock import patch
- from tests.support.unit import TestCase
- class JobsTest(TestCase, LoaderModuleMockMixin):
- """
- Validate the jobs runner
- """
- def setup_loader_modules(self):
- return {
- jobs: {
- "__opts__": {"ext_job_cache": None, "master_job_cache": "local_cache"}
- }
- }
- def test_list_jobs_with_search_target(self):
- """
- test jobs.list_jobs runner with search_target args
- """
- mock_jobs_cache = {
- "20160524035503086853": {
- "Arguments": [],
- "Function": "test.ping",
- "StartTime": "2016, May 24 03:55:03.086853",
- "Target": "node-1-1.com",
- "Target-type": "glob",
- "User": "root",
- },
- "20160524035524895387": {
- "Arguments": [],
- "Function": "test.ping",
- "StartTime": "2016, May 24 03:55:24.895387",
- "Target": ["node-1-2.com", "node-1-1.com"],
- "Target-type": "list",
- "User": "sudo_ubuntu",
- },
- }
- def return_mock_jobs():
- return mock_jobs_cache
- class MockMasterMinion(object):
- returners = {"local_cache.get_jids": return_mock_jobs}
- def __init__(self, *args, **kwargs):
- pass
- returns = {
- "all": mock_jobs_cache,
- "node-1-1.com": mock_jobs_cache,
- "node-1-2.com": {
- "20160524035524895387": mock_jobs_cache["20160524035524895387"]
- },
- "non-existant": {},
- }
- with patch.object(salt.minion, "MasterMinion", MockMasterMinion):
- self.assertEqual(jobs.list_jobs(), returns["all"])
- self.assertEqual(
- jobs.list_jobs(search_target=["node-1-1*", "node-1-2*"]), returns["all"]
- )
- self.assertEqual(
- jobs.list_jobs(search_target="node-1-1.com"), returns["node-1-1.com"]
- )
- self.assertEqual(
- jobs.list_jobs(search_target="node-1-2.com"), returns["node-1-2.com"]
- )
- self.assertEqual(
- jobs.list_jobs(search_target="non-existant"), returns["non-existant"]
- )
|