12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182 |
- # -*- coding: utf-8 -*-
- '''
- :codeauthor: Jayesh Kariya <jayeshk@saltstack.com>
- '''
- # Import Python libs
- from __future__ import absolute_import, print_function, unicode_literals
- # Import Salt Testing Libs
- from tests.support.mixins import LoaderModuleMockMixin
- from tests.support.unit import TestCase
- from tests.support.mock import (
- MagicMock,
- patch)
- # Import Salt Libs
- import salt.modules.varnish as varnish
- class VarnishTestCase(TestCase, LoaderModuleMockMixin):
- '''
- Test cases for salt.modules.varnish
- '''
- def setup_loader_modules(self):
- return {varnish: {}}
- def test_version(self):
- '''
- Test to return server version from varnishd -V
- '''
- with patch.dict(varnish.__salt__,
- {'cmd.run': MagicMock(return_value='(varnish-2.0)')}):
- self.assertEqual(varnish.version(), '2.0')
- def test_ban(self):
- '''
- Test to add ban to the varnish cache
- '''
- with patch.object(varnish, '_run_varnishadm',
- return_value={'retcode': 0}):
- self.assertTrue(varnish.ban('ban_expression'))
- def test_ban_list(self):
- '''
- Test to list varnish cache current bans
- '''
- with patch.object(varnish, '_run_varnishadm',
- return_value={'retcode': True}):
- self.assertFalse(varnish.ban_list())
- with patch.object(varnish, '_run_varnishadm',
- return_value={'retcode': False,
- 'stdout': 'A\nB\nC'}):
- self.assertEqual(varnish.ban_list(), ['B', 'C'])
- def test_purge(self):
- '''
- Test to purge the varnish cache
- '''
- with patch.object(varnish, 'ban', return_value=True):
- self.assertTrue(varnish.purge())
- def test_param_set(self):
- '''
- Test to set a param in varnish cache
- '''
- with patch.object(varnish, '_run_varnishadm',
- return_value={'retcode': 0}):
- self.assertTrue(varnish.param_set('param', 'value'))
- def test_param_show(self):
- '''
- Test to show params of varnish cache
- '''
- with patch.object(varnish, '_run_varnishadm',
- return_value={'retcode': True,
- 'stdout': 'A\nB\nC'}):
- self.assertFalse(varnish.param_show('param'))
- with patch.object(varnish, '_run_varnishadm',
- return_value={'retcode': False,
- 'stdout': 'A .1\nB .2\n'}):
- self.assertEqual(varnish.param_show('param'), {'A': '.1'})
|