def test_set_webconfiguration_settings(self, mock_log): # Setup name = "IIS" setting = { "name": "Collection[{yaml:\n\tdata}]", "filter": "system.webServer / security / authentication / anonymousAuthentication", "value": [], } settings = [setting] # Execute with patch.dict(win_iis.__salt__), patch( "salt.modules.win_iis._prepare_settings", MagicMock(return_value=settings)), patch( "salt.modules.win_iis._srvmgr", MagicMock(return_value={ "retcode": 0, "stdout": "{}" }), ), patch( "salt.modules.win_iis.get_webconfiguration_settings", MagicMock(side_effect=[[], settings]), ): ret = win_iis.set_webconfiguration_settings(name, settings=settings) # Verify self.assertEqual(ret, True) mock_log.debug.assert_called_with( "Settings configured successfully: %s", settings)
def test_set_webconfiguration_settings(self, mock_log): # Setup name = 'IIS' setting = { 'name': 'Collection[{yaml:\n\tdata}]', 'filter': 'system.webServer / security / authentication / anonymousAuthentication', 'value': [] } settings = [setting] # Execute with patch.dict(win_iis.__salt__), \ patch('salt.modules.win_iis._prepare_settings', MagicMock(return_value=settings)), \ patch('salt.modules.win_iis._srvmgr', MagicMock(return_value={'retcode': 0, 'stdout': '{}'})), \ patch('salt.modules.win_iis.get_webconfiguration_settings', MagicMock(side_effect=[[], settings])): ret = win_iis.set_webconfiguration_settings(name, settings=settings) # Verify self.assertEqual(ret, True) mock_log.debug.assert_called_with( 'Settings configured successfully: %s', settings)
def test_set_webconfiguration_settings_fail(self): settings = [{ "name": "enabled", "filter": "system.webServer/security/authentication/anonymousAuthentication", "value": False, }] current_settings = [{ "name": "enabled", "filter": "system.webServer/security/authentication/anonymousAuthentication", "value": True, }] new_settings = [{ "name": "enabled", "filter": "system.webServer/security/authentication/anonymousAuthentication", "value": True, }] ps_cmd = [ "Set-WebConfigurationProperty", "-PSPath", "'salt'", "-Filter", "'system.webServer/security/authentication/anonymousAuthentication'", "-Name", "'enabled'", "-Value", "'False';", ] with patch.object( win_iis, "get_webconfiguration_settings", side_effect=[current_settings, new_settings], ) as get_webconfiguration_settings: with patch.object(win_iis, "_srvmgr", return_value={"retcode": 0}) as _srvmgr: ret = win_iis.set_webconfiguration_settings("salt", settings) self.assertEqual(get_webconfiguration_settings.call_count, 2) self.assertEqual( get_webconfiguration_settings.mock_calls[0], call(name="salt", settings=settings), ) self.assertEqual( get_webconfiguration_settings.mock_calls[1], call(name="salt", settings=settings), ) _srvmgr.assert_called_once_with(ps_cmd) self.assertFalse(ret)
def test_set_webconfiguration_settings_fail(self): settings = [{'name': 'enabled', 'filter': 'system.webServer/security/authentication/anonymousAuthentication', 'value': False}] current_settings = [{'name': 'enabled', 'filter': 'system.webServer/security/authentication/anonymousAuthentication', 'value': True}] new_settings = [{'name': 'enabled', 'filter': 'system.webServer/security/authentication/anonymousAuthentication', 'value': True}] ps_cmd = ['Set-WebConfigurationProperty', '-PSPath', "'salt'", '-Filter', "'system.webServer/security/authentication/anonymousAuthentication'", '-Name', "'enabled'", '-Location', "''", '-Value', "'False';"] with patch.object(win_iis, 'get_webconfiguration_settings', side_effect=[current_settings, new_settings]) as get_webconfiguration_settings: with patch.object(win_iis, '_srvmgr', return_value={'retcode': 0}) as _srvmgr: ret = win_iis.set_webconfiguration_settings('salt', settings, '') self.assertEqual(get_webconfiguration_settings.call_count, 2) self.assertEqual(get_webconfiguration_settings.mock_calls[0], call(name='salt', settings=settings, location='')) self.assertEqual(get_webconfiguration_settings.mock_calls[1], call(name='salt', settings=settings, location='')) _srvmgr.assert_called_once_with(ps_cmd) self.assertFalse(ret)
def test_set_webconfiguration_settings_failed(self, mock_log): # Setup name = "IIS" setting = { "name": "Collection[{yaml:\n\tdata}]", "filter": ("system.webServer / security / authentication / anonymousAuthentication" ), "value": [], } settings = [setting] # Execute with patch.dict(win_iis.__salt__), patch( "salt.modules.win_iis._prepare_settings", MagicMock(return_value=settings)), patch( "salt.modules.win_iis._srvmgr", MagicMock(return_value={ "retcode": 0, "stdout": "{}" }), ), patch( "salt.modules.win_iis.get_webconfiguration_settings", MagicMock(side_effect=[[], [{ "value": "unexpected_change!" }]]), ): ret = win_iis.set_webconfiguration_settings(name, settings=settings) # Verify self.assertEqual(ret, False) mock_log.error.assert_called_with("Failed to change settings: %s", settings)
def test_set_webconfiguration_settings_no_settings(self): self.assertEqual(win_iis.set_webconfiguration_settings("salt", {}), False)
def test_set_webconfiguration_settings_empty(self, mock_log): ret = win_iis.set_webconfiguration_settings("name", settings=[]) mock_log.warning.assert_called_once_with("No settings provided") self.assertEqual(ret, False)