# # -*- coding: utf-8 -*- # # Import Python libs # from __future__ import absolute_import # # Import Salt Testing libs # from salttesting import skipIf, TestCase # from salttesting.helpers import ensure_in_syspath # from salttesting.mock import NO_MOCK, NO_MOCK_REASON, MagicMock, patch # ensure_in_syspath('../../') # # Import salt libs # import salt.modules.cyg as cyg # cyg.__salt__ = {} # @skipIf(NO_MOCK, NO_MOCK_REASON) # class TestcygModule(TestCase): # def test__get_cyg_dir(self): # self.assertEqual(cyg._get_cyg_dir(), 'c:\\cygwin64') # self.assertEqual(cyg._get_cyg_dir('x86_64'), 'c:\\cygwin64') # self.assertEqual(cyg._get_cyg_dir('x86'), 'c:\\cygwin') # def test_cyg_install(self): # mock = MagicMock(return_value={'retcode': 0, 'stdout': ''}) # with patch.dict(cyg.__salt__, # {'cmd.run_all': mock}): # cyg._get_cyg_dir() # mock.assert_called_once_with('cyg install dos2unix') # mock = MagicMock(return_value=None) # with patch.dict(cyg.__salt__, # {'rvm.is_installed': MagicMock(return_value=True), # 'rbenv.is_installed': MagicMock(return_value=False), # 'rvm.do': mock}): # cyg._get_cyg_dir('install dos2unix', ruby='1.9.3') # mock.assert_called_once_with( # '1.9.3', 'cyg install dos2unix' # ) # mock = MagicMock(return_value=None) # with patch.dict(cyg.__salt__, # {'rvm.is_installed': MagicMock(return_value=False), # 'rbenv.is_installed': MagicMock(return_value=True), # 'rbenv.do': mock}): # cyg._get_cyg_dir('install dos2unix') # mock.assert_called_once_with( # 'cyg install dos2unix' # ) # def test_install_pre(self): # mock = MagicMock(return_value={'retcode': 0, 'stdout': ''}) # with patch.dict(cyg.__salt__, # {'rvm.is_installed': MagicMock(return_value=False), # 'rbenv.is_installed': MagicMock(return_value=False), # 'cmd.run_all': mock}): # cyg.install('dos2unix', pre_releases=True) # mock.assert_called_once_with( # 'cyg install dos2unix --no-rdoc --no-ri --pre' # ) # def test_list(self): # output = ''' # actionmailer (2.3.14) # actionpack (2.3.14) # activerecord (2.3.14) # activeresource (2.3.14) # activesupport (3.0.5, 2.3.14) # rake (0.9.2, 0.8.7) # responds_to_parent (1.0.20091013) # sass (3.1.15, 3.1.7) # ''' # mock = MagicMock(return_value=output) # with patch.object(cyg, '_cyg', new=mock): # self.assertEqual( # {'actionmailer': ['2.3.14'], # 'actionpack': ['2.3.14'], # 'activerecord': ['2.3.14'], # 'activeresource': ['2.3.14'], # 'activesupport': ['3.0.5', '2.3.14'], # 'rake': ['0.9.2', '0.8.7'], # 'responds_to_parent': ['1.0.20091013'], # 'sass': ['3.1.15', '3.1.7']}, # cyg.list_()) # def test_sources_list(self): # output = '''*** CURRENT SOURCES *** # http://rubycygs.org/ # ''' # mock = MagicMock(return_value=output) # with patch.object(cyg, '_cyg', new=mock): # self.assertEqual( # ['http://rubycygs.org/'], cyg.sources_list()) # if __name__ == '__main__': # from integration import run_tests # run_tests(TestcygModule, needs_daemon=False)