def test_sapservices_updated_already_update(self): ''' Test sapservices_updated when the sapservice file is already updated ''' ret = { 'name': 'ascs', 'changes': {}, 'result': True, 'comment': 'sapservices file is already updated for instance ascs' } mock_retcode = MagicMock(return_value=0) with patch.dict(netweavermod.__salt__, {'cmd.retcode': mock_retcode}): assert netweavermod.sapservices_updated('ascs', 'prd', 00, 'pass') == ret mock_retcode.assert_called_once_with( 'cat /usr/sap/sapservices | grep \'.*ERS.*\'', python_shell=True) ret = { 'name': 'ers', 'changes': {}, 'result': True, 'comment': 'sapservices file is already updated for instance ers' } mock_retcode = MagicMock(return_value=0) with patch.dict(netweavermod.__salt__, {'cmd.retcode': mock_retcode}): assert netweavermod.sapservices_updated('ers', 'prd', 00, 'pass') == ret mock_retcode.assert_called_once_with( 'cat /usr/sap/sapservices | grep \'.*ASCS.*\'', python_shell=True)
def test_sapservices_updated_error(self): ''' Test sapservices_updated when the there is an execution error ''' ret = { 'name': 'ascs', 'changes': {}, 'result': False, 'comment': 'error' } mock_retcode = MagicMock(return_value=1) mock_is_installed = MagicMock( side_effect=exceptions.CommandExecutionError('error')) with patch.dict( netweavermod.__salt__, { 'netweaver.is_instance_installed': mock_is_installed, 'cmd.retcode': mock_retcode }): assert netweavermod.sapservices_updated('ascs', 'prd', 00, 'pass') == ret mock_retcode.assert_called_once_with( 'cat /usr/sap/sapservices | grep \'.*ERS.*\'', python_shell=True) mock_is_installed.assert_called_once_with(sap_instance='ENQREP', sid='prd', inst=00, password='******')
def test_sapservices_updated_no_data(self): ''' Test sapservices_updated when the instance is not found ''' ret = { 'name': 'ascs', 'changes': {}, 'result': False, 'comment': 'the required sap instances to make these changes are not installed or running' } mock_retcode = MagicMock(return_value=1) mock_is_installed = MagicMock(return_value=False) with patch.dict( netweavermod.__salt__, { 'netweaver.is_instance_installed': mock_is_installed, 'cmd.retcode': mock_retcode }): assert netweavermod.sapservices_updated('ascs', 'prd', 00, 'pass') == ret mock_retcode.assert_called_once_with( 'cat /usr/sap/sapservices | grep \'.*ERS.*\'', python_shell=True) mock_is_installed.assert_called_once_with(sap_instance='ENQREP', sid='prd', inst=00, password='******')
def test_sapservices_updated_invalid_instance(self): ''' Test sapservices_updated when the instance is invalid ''' ret = { 'name': 'other', 'changes': {}, 'result': False, 'comment': 'invalid sap_instance. Only \'ascs\' and \'ers\' are valid options' } assert netweavermod.sapservices_updated('other', 'prd', 00, 'pass') == ret
def test_sapservices_updated_test(self): ''' Test sapservices_updated using test mode ''' ret = { 'name': 'ascs', 'changes': { 'sap_instance': 'ascs' }, 'result': None, 'comment': 'sapservices of the instance ascs would be updated' } mock_retcode = MagicMock(return_value=1) with patch.dict(netweavermod.__salt__, {'cmd.retcode': mock_retcode}): with patch.dict(netweavermod.__opts__, {'test': True}): assert netweavermod.sapservices_updated( 'ascs', 'prd', 00, 'pass') == ret mock_retcode.assert_called_once_with( 'cat /usr/sap/sapservices | grep \'.*ERS.*\'', python_shell=True)
def test_sapservices_updated_correct(self): ''' Test sapservices_updated when it is done correctly ''' new_profile = 'LD_LIBRARY_PATH=/usr/sap/PRD/ERS10/exe:$LD_LIBRARY_PATH; '\ 'export LD_LIBRARY_PATH; /usr/sap/PRD/ERS10/exe/sapstartsrv '\ 'pf=/usr/sap/PRD/SYS/profile/PRD_ERS10_virtual '\ '-D -u prdadm' ret = { 'name': 'ascs', 'changes': { 'sap_instance': 'ascs', 'profile': new_profile }, 'result': True, 'comment': '/usr/sap/sapservices file updated properly' } mock_retcode = MagicMock(return_value=1) mock_is_installed = MagicMock(return_value={ 'hostname': 'virtual', 'instance': 10 }) mock_append = MagicMock() with patch.dict( netweavermod.__salt__, { 'netweaver.is_instance_installed': mock_is_installed, 'cmd.retcode': mock_retcode }): with patch.dict(netweavermod.__states__, {'file.append': mock_append}): assert netweavermod.sapservices_updated( 'ascs', 'prd', 00, 'pass') == ret mock_retcode.assert_called_once_with( 'cat /usr/sap/sapservices | grep \'.*ERS.*\'', python_shell=True) mock_is_installed.assert_called_once_with(sap_instance='ENQREP', sid='prd', inst=00, password='******') mock_append.assert_called_once_with(name='/usr/sap/sapservices', text=new_profile) new_profile = 'LD_LIBRARY_PATH=/usr/sap/PRD/ASCS00/exe:$LD_LIBRARY_PATH; '\ 'export LD_LIBRARY_PATH; /usr/sap/PRD/ASCS00/exe/sapstartsrv '\ 'pf=/usr/sap/PRD/SYS/profile/PRD_ASCS00_virtual '\ '-D -u prdadm' ret = { 'name': 'ers', 'changes': { 'sap_instance': 'ers', 'profile': new_profile }, 'result': True, 'comment': '/usr/sap/sapservices file updated properly' } mock_retcode = MagicMock(return_value=1) mock_is_installed = MagicMock(return_value={ 'hostname': 'virtual', 'instance': 00 }) mock_append = MagicMock() with patch.dict( netweavermod.__salt__, { 'netweaver.is_instance_installed': mock_is_installed, 'cmd.retcode': mock_retcode }): with patch.dict(netweavermod.__states__, {'file.append': mock_append}): assert netweavermod.sapservices_updated( 'ers', 'prd', 10, 'pass') == ret mock_retcode.assert_called_once_with( 'cat /usr/sap/sapservices | grep \'.*ASCS.*\'', python_shell=True) mock_is_installed.assert_called_once_with(sap_instance='MESSAGESERVER', sid='prd', inst=10, password='******') mock_append.assert_called_once_with(name='/usr/sap/sapservices', text=new_profile)