diff options
Diffstat (limited to 'test/units/modules/test_service_facts.py')
-rw-r--r-- | test/units/modules/test_service_facts.py | 126 |
1 files changed, 126 insertions, 0 deletions
diff --git a/test/units/modules/test_service_facts.py b/test/units/modules/test_service_facts.py new file mode 100644 index 0000000..07f6827 --- /dev/null +++ b/test/units/modules/test_service_facts.py @@ -0,0 +1,126 @@ +# -*- coding: utf-8 -*- +# Copyright (c) 2020 Ansible Project +# GNU General Public License v3.0+ (see COPYING or https://www.gnu.org/licenses/gpl-3.0.txt) + +from __future__ import absolute_import, division, print_function +__metaclass__ = type + +from units.compat import unittest +from units.compat.mock import patch + +from ansible.module_utils import basic +from ansible.modules.service_facts import AIXScanService + + +# AIX # lssrc -a +LSSRC_OUTPUT = """ +Subsystem Group PID Status + sendmail mail 5243302 active + syslogd ras 5636528 active + portmap portmap 5177768 active + snmpd tcpip 5308844 active + hostmibd tcpip 5374380 active + snmpmibd tcpip 5439918 active + aixmibd tcpip 5505456 active + nimsh nimclient 5571004 active + aso 6029758 active + biod nfs 6357464 active + nfsd nfs 5701906 active + rpc.mountd nfs 6488534 active + rpc.statd nfs 7209216 active + rpc.lockd nfs 7274988 active + qdaemon spooler 6816222 active + writesrv spooler 6685150 active + clcomd caa 7471600 active + sshd ssh 7602674 active + pfcdaemon 7012860 active + ctrmc rsct 6947312 active + IBM.HostRM rsct_rm 14418376 active + IBM.ConfigRM rsct_rm 6160674 active + IBM.DRM rsct_rm 14680550 active + IBM.MgmtDomainRM rsct_rm 14090676 active + IBM.ServiceRM rsct_rm 13828542 active + cthats cthats 13959668 active + cthags cthags 14025054 active + IBM.StorageRM rsct_rm 12255706 active + inetd tcpip 12517828 active + lpd spooler inoperative + keyserv keyserv inoperative + ypbind yp inoperative + gsclvmd inoperative + cdromd inoperative + ndpd-host tcpip inoperative + ndpd-router tcpip inoperative + netcd netcd inoperative + tftpd tcpip inoperative + routed tcpip inoperative + mrouted tcpip inoperative + rsvpd qos inoperative + policyd qos inoperative + timed tcpip inoperative + iptrace tcpip inoperative + dpid2 tcpip inoperative + rwhod tcpip inoperative + pxed tcpip inoperative + binld tcpip inoperative + xntpd tcpip inoperative + gated tcpip inoperative + dhcpcd tcpip inoperative + dhcpcd6 tcpip inoperative + dhcpsd tcpip inoperative + dhcpsdv6 tcpip inoperative + dhcprd tcpip inoperative + dfpd tcpip inoperative + named tcpip inoperative + automountd autofs inoperative + nfsrgyd nfs inoperative + gssd nfs inoperative + cpsd ike inoperative + tmd ike inoperative + isakmpd inoperative + ikev2d inoperative + iked ike inoperative + clconfd caa inoperative + ksys_vmmon inoperative + nimhttp inoperative + IBM.SRVPROXY ibmsrv inoperative + ctcas rsct inoperative + IBM.ERRM rsct_rm inoperative + IBM.AuditRM rsct_rm inoperative + isnstgtd isnstgtd inoperative + IBM.LPRM rsct_rm inoperative + cthagsglsm cthags inoperative +""" + + +class TestAIXScanService(unittest.TestCase): + + def setUp(self): + self.mock1 = patch.object(basic.AnsibleModule, 'get_bin_path', return_value='/usr/sbin/lssrc') + self.mock1.start() + self.addCleanup(self.mock1.stop) + self.mock2 = patch.object(basic.AnsibleModule, 'run_command', return_value=(0, LSSRC_OUTPUT, '')) + self.mock2.start() + self.addCleanup(self.mock2.stop) + self.mock3 = patch('platform.system', return_value='AIX') + self.mock3.start() + self.addCleanup(self.mock3.stop) + + def test_gather_services(self): + svcmod = AIXScanService(basic.AnsibleModule) + result = svcmod.gather_services() + + self.assertIsInstance(result, dict) + + self.assertIn('IBM.HostRM', result) + self.assertEqual(result['IBM.HostRM'], { + 'name': 'IBM.HostRM', + 'source': 'src', + 'state': 'running', + }) + self.assertIn('IBM.AuditRM', result) + self.assertEqual(result['IBM.AuditRM'], { + 'name': 'IBM.AuditRM', + 'source': 'src', + 'state': 'stopped', + }) |