2015-02-25 13:16:45 +00:00
|
|
|
# -*- coding: utf-8 -*-
|
|
|
|
'''
|
2018-05-28 21:13:12 +00:00
|
|
|
:codeauthor: Jayesh Kariya <jayeshk@saltstack.com>
|
2015-02-25 13:16:45 +00:00
|
|
|
'''
|
|
|
|
|
|
|
|
# Import Python Libs
|
2018-01-24 20:47:14 +00:00
|
|
|
from __future__ import absolute_import, unicode_literals, print_function
|
2015-02-25 13:16:45 +00:00
|
|
|
|
|
|
|
# Import Salt Testing Libs
|
2017-03-21 18:27:29 +00:00
|
|
|
from tests.support.mixins import LoaderModuleMockMixin
|
|
|
|
from tests.support.unit import TestCase
|
2017-02-27 13:58:07 +00:00
|
|
|
from tests.support.mock import (
|
2015-02-25 13:16:45 +00:00
|
|
|
MagicMock,
|
|
|
|
patch
|
|
|
|
)
|
|
|
|
|
|
|
|
# Import Salt Libs
|
2017-03-21 17:15:36 +00:00
|
|
|
import salt.modules.win_ntp as win_ntp
|
2015-02-25 13:16:45 +00:00
|
|
|
|
|
|
|
|
2017-03-21 18:27:29 +00:00
|
|
|
class WinNtpTestCase(TestCase, LoaderModuleMockMixin):
|
2015-02-25 13:16:45 +00:00
|
|
|
'''
|
|
|
|
Test cases for salt.modules.win_ntp
|
|
|
|
'''
|
2017-03-21 18:27:29 +00:00
|
|
|
def setup_loader_modules(self):
|
|
|
|
return {win_ntp: {}}
|
|
|
|
|
2015-02-25 13:16:45 +00:00
|
|
|
# 'set_servers' function tests: 1
|
|
|
|
|
|
|
|
def test_set_servers(self):
|
|
|
|
'''
|
|
|
|
Test if it set Windows to use a list of NTP servers
|
|
|
|
'''
|
2018-04-10 18:12:17 +00:00
|
|
|
# Windows Time (W32Time) service is not started
|
|
|
|
# Windows Time (W32Time) service fails to start
|
2015-02-25 13:16:45 +00:00
|
|
|
mock_service = MagicMock(return_value=False)
|
|
|
|
with patch.dict(win_ntp.__salt__, {'service.status': mock_service,
|
2018-04-10 18:12:17 +00:00
|
|
|
'service.start': mock_service}):
|
2015-02-25 13:16:45 +00:00
|
|
|
self.assertFalse(win_ntp.set_servers('pool.ntp.org'))
|
|
|
|
|
2018-04-10 18:12:17 +00:00
|
|
|
# Windows Time service is running
|
|
|
|
# Fail to set NTP servers
|
2015-02-25 13:16:45 +00:00
|
|
|
mock_service = MagicMock(return_value=True)
|
2018-04-10 18:12:17 +00:00
|
|
|
mock_cmd = MagicMock(side_effect=['Failure', 'Failure', 'Failure', 'NtpServer: time.windows.com,0x8'])
|
2015-02-25 13:16:45 +00:00
|
|
|
with patch.dict(win_ntp.__salt__, {'service.status': mock_service,
|
|
|
|
'cmd.run': mock_cmd}):
|
|
|
|
self.assertFalse(win_ntp.set_servers('pool.ntp.org'))
|
|
|
|
|
2018-04-10 18:12:17 +00:00
|
|
|
# Windows Time service is running
|
|
|
|
# Successfully set NTP servers
|
|
|
|
mock_cmd = MagicMock(side_effect=['Success', 'Success', 'Success', 'NtpServer: pool.ntp.org'])
|
2015-02-25 13:16:45 +00:00
|
|
|
with patch.dict(win_ntp.__salt__, {'service.status': mock_service,
|
|
|
|
'service.restart': mock_service,
|
|
|
|
'cmd.run': mock_cmd}):
|
|
|
|
self.assertTrue(win_ntp.set_servers('pool.ntp.org'))
|
|
|
|
|
|
|
|
# 'get_servers' function tests: 1
|
|
|
|
|
|
|
|
def test_get_servers(self):
|
|
|
|
'''
|
|
|
|
Test if it get list of configured NTP servers
|
|
|
|
'''
|
|
|
|
mock_cmd = MagicMock(side_effect=['', 'NtpServer: SALT', 'NtpServer'])
|
|
|
|
with patch.dict(win_ntp.__salt__, {'cmd.run': mock_cmd}):
|
|
|
|
self.assertFalse(win_ntp.get_servers())
|
|
|
|
|
|
|
|
self.assertListEqual(win_ntp.get_servers(), ['SALT'])
|
|
|
|
|
|
|
|
self.assertFalse(win_ntp.get_servers())
|