mirror of
https://github.com/valitydev/salt.git
synced 2024-11-07 08:58:59 +00:00
Started writing brew unit tests
This commit is contained in:
parent
d4775819f7
commit
00b8c3dc70
@ -29,7 +29,7 @@ def __virtual__():
|
||||
|
||||
def _list_taps():
|
||||
'''
|
||||
List currently
|
||||
List currently installed brew taps
|
||||
'''
|
||||
cmd = 'brew tap'
|
||||
return __salt__['cmd.run'](cmd, output_loglevel='debug').splitlines()
|
||||
|
72
tests/unit/modules/brew_test.py
Normal file
72
tests/unit/modules/brew_test.py
Normal file
@ -0,0 +1,72 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
'''
|
||||
:codeauthor: :email:`Nicole Thomas <nicole@satlstack.com>`
|
||||
'''
|
||||
|
||||
# Import Salt Testing Libs
|
||||
from salttesting import TestCase, skipIf
|
||||
from salttesting.mock import MagicMock, patch
|
||||
from salttesting.helpers import ensure_in_syspath
|
||||
|
||||
ensure_in_syspath('../../')
|
||||
|
||||
# Import Salt Libs
|
||||
from salt.modules import brew
|
||||
|
||||
# Global Variables
|
||||
brew.__salt__ = {}
|
||||
|
||||
taps_string = 'homebrew/dupes\nhomebrew/science\nhomebrew/x11'
|
||||
taps_list = ['homebrew/dupes', 'homebrew/science', 'homebrew/x11']
|
||||
|
||||
|
||||
class BrewTestCase(TestCase):
|
||||
'''
|
||||
TestCase for salt.modules.brew module
|
||||
'''
|
||||
|
||||
def test_list_taps(self):
|
||||
'''
|
||||
Tests the return of the list of taps
|
||||
'''
|
||||
mock_taps = MagicMock(return_value=taps_string)
|
||||
with patch.dict(brew.__salt__, {'cmd.run': mock_taps}):
|
||||
self.assertEqual(brew._list_taps(), taps_list)
|
||||
|
||||
@patch('salt.modules.brew._list_taps', MagicMock(return_value=taps_list))
|
||||
def test_tap_installed(self):
|
||||
'''
|
||||
Tests if tap argument is already installed or not
|
||||
'''
|
||||
self.assertTrue(brew._tap('homebrew/science'))
|
||||
|
||||
@patch('salt.modules.brew._list_taps', MagicMock(return_value={}))
|
||||
def test_tap_failure(self):
|
||||
'''
|
||||
Tests if the tap installation failed
|
||||
'''
|
||||
mock_failure = MagicMock(return_value=1)
|
||||
with patch.dict(brew.__salt__, {'cmd.retcode': mock_failure}):
|
||||
self.assertFalse(brew._tap('homebrew/test'))
|
||||
|
||||
@patch('salt.modules.brew._list_taps', MagicMock(return_value=taps_list))
|
||||
def test_tap(self):
|
||||
'''
|
||||
Tests adding unofficial Github repos to the list of brew taps
|
||||
'''
|
||||
mock_success = MagicMock(return_value=0)
|
||||
with patch.dict(brew.__salt__, {'cmd.retcode': mock_success}):
|
||||
self.assertTrue(brew._tap('homebrew/test'))
|
||||
|
||||
def test_homebrew_bin(self):
|
||||
'''
|
||||
Tests the path to the homebrew binary
|
||||
'''
|
||||
mock_path = MagicMock(return_value='/usr/local')
|
||||
with patch.dict(brew.__salt__, {'cmd.run': mock_path}):
|
||||
self.assertEqual(brew._homebrew_bin(), '/usr/local/bin/brew')
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
from integration import run_tests
|
||||
run_tests(BrewTestCase, needs_daemon=False)
|
Loading…
Reference in New Issue
Block a user