예제 #1
0
    def test_version(self):
        """
        Test salt.modules.__virtual__'s handling of pdbedit versions
        """
        mock_bad_ver = MagicMock(return_value="Ver 1.1a")
        mock_old_ver = MagicMock(return_value="Version 1.0.0")
        mock_exa_ver = MagicMock(return_value="Version 4.8.0")
        mock_new_ver = MagicMock(return_value="Version 4.9.2")

        # NOTE: no pdbedit installed
        with patch("salt.utils.path.which", MagicMock(return_value=None)):
            ret = pdbedit.__virtual__()
            self.assertEqual(ret, (False, "pdbedit command is not available"))

        # NOTE: pdbedit is not returning a valid version
        with patch(
            "salt.utils.path.which", MagicMock(return_value="/opt/local/bin/pdbedit")
        ), patch("salt.modules.cmdmod.run", mock_bad_ver):
            ret = pdbedit.__virtual__()
            self.assertEqual(
                ret, (False, "pdbedit -V returned an unknown version format")
            )

        # NOTE: pdbedit is too old
        with patch(
            "salt.utils.path.which", MagicMock(return_value="/opt/local/bin/pdbedit")
        ), patch("salt.modules.cmdmod.run", mock_old_ver):
            ret = pdbedit.__virtual__()
            self.assertEqual(
                ret, (False, "pdbedit is to old, 4.8.0 or newer is required")
            )

        # NOTE: pdbedit is exactly 4.8.0
        with patch(
            "salt.utils.path.which", MagicMock(return_value="/opt/local/bin/pdbedit")
        ), patch("salt.modules.cmdmod.run", mock_exa_ver):
            ret = pdbedit.__virtual__()
            self.assertEqual(ret, "pdbedit")

        # NOTE: pdbedit is newer than 4.8.0
        with patch(
            "salt.utils.path.which", MagicMock(return_value="/opt/local/bin/pdbedit")
        ), patch("salt.modules.cmdmod.run", mock_new_ver):
            ret = pdbedit.__virtual__()
            self.assertEqual(ret, "pdbedit")
예제 #2
0
파일: test_pdbedit.py 프로젝트: yuriks/salt
    def test_version(self):
        '''
        Test salt.modules.__virtual__'s handling of pdbedit versions
        '''
        mock_bad_ver = MagicMock(return_value='Ver 1.1a')
        mock_old_ver = MagicMock(return_value='Version 1.0.0')
        mock_exa_ver = MagicMock(return_value='Version 4.8.0')
        mock_new_ver = MagicMock(return_value='Version 4.9.2')

        # NOTE: no pdbedit installed
        with patch('salt.utils.path.which', MagicMock(return_value=None)):
            ret = pdbedit.__virtual__()
            self.assertEqual(ret, (False, 'pdbedit command is not available'))

        # NOTE: pdbedit is not returning a valid version
        with patch('salt.utils.path.which', MagicMock(return_value='/opt/local/bin/pdbedit')), \
            patch('salt.modules.cmdmod.run', mock_bad_ver):
            ret = pdbedit.__virtual__()
            self.assertEqual(
                ret, (False, 'pdbedit -V returned an unknown version format'))

        # NOTE: pdbedit is too old
        with patch('salt.utils.path.which', MagicMock(return_value='/opt/local/bin/pdbedit')), \
            patch('salt.modules.cmdmod.run', mock_old_ver):
            ret = pdbedit.__virtual__()
            self.assertEqual(
                ret, (False, 'pdbedit is to old, 4.8.0 or newer is required'))

        # NOTE: pdbedit is exactly 4.8.0
        with patch('salt.utils.path.which', MagicMock(return_value='/opt/local/bin/pdbedit')), \
            patch('salt.modules.cmdmod.run', mock_exa_ver):
            ret = pdbedit.__virtual__()
            self.assertEqual(ret, 'pdbedit')

        # NOTE: pdbedit is newer than 4.8.0
        with patch('salt.utils.path.which', MagicMock(return_value='/opt/local/bin/pdbedit')), \
            patch('salt.modules.cmdmod.run', mock_new_ver):
            ret = pdbedit.__virtual__()
            self.assertEqual(ret, 'pdbedit')