2015-05-05 10:09:52 +00:00
|
|
|
# -*- coding: utf-8 -*-
|
|
|
|
'''
|
|
|
|
:codeauthor: :email:`Jayesh Kariya <jayeshk@saltstack.com>`
|
|
|
|
'''
|
|
|
|
# Import Python libs
|
|
|
|
from __future__ import absolute_import
|
|
|
|
|
|
|
|
# Import Salt Testing Libs
|
|
|
|
from salttesting import skipIf, TestCase
|
|
|
|
from salttesting.mock import (
|
|
|
|
NO_MOCK,
|
|
|
|
NO_MOCK_REASON,
|
|
|
|
patch)
|
|
|
|
|
|
|
|
from salttesting.helpers import ensure_in_syspath
|
|
|
|
|
|
|
|
ensure_in_syspath('../../')
|
|
|
|
|
|
|
|
# Import Salt Libs
|
|
|
|
from salt.modules import riak
|
|
|
|
|
|
|
|
# Globals
|
|
|
|
riak.__salt__ = {}
|
|
|
|
|
|
|
|
|
|
|
|
@skipIf(NO_MOCK, NO_MOCK_REASON)
|
|
|
|
class RiakTestCase(TestCase):
|
|
|
|
'''
|
|
|
|
Test cases for salt.modules.riak
|
|
|
|
'''
|
|
|
|
def test_start(self):
|
|
|
|
'''
|
|
|
|
Test for start Riak
|
|
|
|
'''
|
2015-06-10 03:52:41 +00:00
|
|
|
with patch.object(riak, '__execute_cmd', return_value={'retcode': 0, 'stdout': 'success'}):
|
|
|
|
self.assertEqual(
|
|
|
|
riak.start(), {'success': True, 'comment': 'success'}
|
|
|
|
)
|
2015-05-05 10:09:52 +00:00
|
|
|
|
|
|
|
def test_stop(self):
|
|
|
|
'''
|
|
|
|
Test for stop Riak
|
|
|
|
'''
|
2015-06-10 03:52:41 +00:00
|
|
|
with patch.object(riak, '__execute_cmd', return_value={'retcode': 0, 'stdout': 'success'}):
|
|
|
|
self.assertEqual(
|
|
|
|
riak.stop(), {'success': True, 'comment': 'success'}
|
|
|
|
)
|
2015-05-05 10:09:52 +00:00
|
|
|
|
|
|
|
def test_cluster_join(self):
|
|
|
|
'''
|
|
|
|
Test for Join a Riak cluster
|
|
|
|
'''
|
2015-06-10 03:52:41 +00:00
|
|
|
with patch.object(riak, '__execute_cmd', return_value={'retcode': 0, 'stdout': 'success'}):
|
|
|
|
self.assertEqual(
|
|
|
|
riak.cluster_join('A', 'B'), {'success': True, 'comment': 'success'}
|
|
|
|
)
|
2015-05-05 10:09:52 +00:00
|
|
|
|
2015-06-10 03:52:41 +00:00
|
|
|
def test_cluster_leave(self):
|
|
|
|
'''
|
|
|
|
Test for leaving a Riak cluster
|
|
|
|
'''
|
|
|
|
with patch.object(riak, '__execute_cmd', return_value={'retcode': 0, 'stdout': 'success'}):
|
|
|
|
self.assertEqual(
|
|
|
|
riak.cluster_leave('A', 'B'), {'success': True, 'comment': 'success'}
|
|
|
|
)
|
2015-05-05 10:09:52 +00:00
|
|
|
|
|
|
|
def test_cluster_plan(self):
|
|
|
|
'''
|
|
|
|
Test for Review Cluster Plan
|
|
|
|
'''
|
2015-06-10 03:52:41 +00:00
|
|
|
with patch.object(riak, '__execute_cmd', return_value={'retcode': 0, 'stdout': 'success'}):
|
2015-05-05 10:09:52 +00:00
|
|
|
self.assertTrue(riak.cluster_plan())
|
|
|
|
|
|
|
|
def test_cluster_commit(self):
|
|
|
|
'''
|
|
|
|
Test for Commit Cluster Changes
|
|
|
|
'''
|
2015-06-10 03:52:41 +00:00
|
|
|
with patch.object(riak, '__execute_cmd', return_value={'retcode': 0, 'stdout': 'success'}):
|
|
|
|
self.assertEqual(
|
|
|
|
riak.cluster_commit(), {'success': True, 'comment': 'success'}
|
|
|
|
)
|
2015-05-05 10:09:52 +00:00
|
|
|
|
|
|
|
def test_member_status(self):
|
|
|
|
'''
|
|
|
|
Test for Get cluster member status
|
|
|
|
'''
|
2015-06-10 03:52:41 +00:00
|
|
|
with patch.object(riak, '__execute_cmd', return_value={'stdout': 'A:a/B:b\nC:c/D:d'}):
|
2015-05-05 10:09:52 +00:00
|
|
|
self.assertDictEqual(riak.member_status(),
|
|
|
|
{'membership': {},
|
|
|
|
'summary': {'A': 'a', 'C': 'c', 'B': 'b',
|
|
|
|
'D': 'd', 'Exiting': 0, 'Down': 0,
|
|
|
|
'Valid': 0, 'Leaving': 0,
|
|
|
|
'Joining': 0}})
|
|
|
|
|
2015-06-10 03:52:41 +00:00
|
|
|
def test_status(self):
|
|
|
|
'''
|
|
|
|
Test status information
|
|
|
|
'''
|
|
|
|
ret = {'stdout': 'vnode_map_update_time_95 : 0\nvnode_map_update_time_99 : 0'}
|
|
|
|
|
|
|
|
with patch.object(riak, '__execute_cmd', return_value=ret):
|
|
|
|
self.assertEqual(
|
|
|
|
riak.status(), {'vnode_map_update_time_95': '0', 'vnode_map_update_time_99': '0'}
|
|
|
|
)
|
2015-05-05 10:09:52 +00:00
|
|
|
|
2015-06-11 05:14:03 +00:00
|
|
|
def test_test(self):
|
|
|
|
'''
|
|
|
|
Test the Riak test
|
|
|
|
'''
|
|
|
|
with patch.object(riak, '__execute_cmd', return_value={'retcode': 0, 'stdout': 'success'}):
|
|
|
|
self.assertEqual(
|
|
|
|
riak.test(), {'success': True, 'comment': 'success'}
|
|
|
|
)
|
|
|
|
|
|
|
|
def test_services(self):
|
|
|
|
'''
|
|
|
|
Test Riak Service List
|
|
|
|
'''
|
|
|
|
with patch.object(riak, '__execute_cmd', return_value={'stdout': '[a,b,c]'}):
|
2015-06-17 19:03:35 +00:00
|
|
|
self.assertEqual(riak.services(), ['a', 'b', 'c'])
|
2015-06-11 05:14:03 +00:00
|
|
|
|
2015-05-05 10:09:52 +00:00
|
|
|
if __name__ == '__main__':
|
|
|
|
from integration import run_tests
|
|
|
|
run_tests(RiakTestCase, needs_daemon=False)
|