Added unit tests to recon.py.
Added tests for unrecognized recon_types for get_replication_info, get_updater_info, and get_auditor_info. Added tests for get_device_info and get_swift_conf_md5. PEP8 compliance fixes. Updates based on code reviews. Change-Id: I3f636955b253ea7f65d4a1f333a0ad24f1ea6a1f
This commit is contained in:
parent
246e134275
commit
213b1a4900
@ -34,6 +34,14 @@ def fake_check_mount(a, b):
|
||||
raise OSError('Input/Output Error')
|
||||
|
||||
|
||||
def fail_os_listdir():
|
||||
raise OSError('No such file or directory')
|
||||
|
||||
|
||||
def fail_io_open(file_path, open_mode):
|
||||
raise IOError('No such file or directory')
|
||||
|
||||
|
||||
class FakeApp(object):
|
||||
def __call__(self, env, start_response):
|
||||
return "FAKE APP"
|
||||
@ -744,6 +752,10 @@ class TestReconSuccess(TestCase):
|
||||
"object_replication_time": 0.2615511417388916,
|
||||
"object_replication_last": 1357969645.25})
|
||||
|
||||
def test_get_replication_info_unrecognized(self):
|
||||
rv = self.app.get_replication_info('unrecognized_recon_type')
|
||||
self.assertIsNone(rv)
|
||||
|
||||
def test_get_updater_info_container(self):
|
||||
from_cache_response = {"container_updater_sweep": 18.476239919662476}
|
||||
self.fakecache.fakeout_calls = []
|
||||
@ -764,6 +776,10 @@ class TestReconSuccess(TestCase):
|
||||
'/var/cache/swift/object.recon'), {})])
|
||||
self.assertEqual(rv, {"object_updater_sweep": 0.79848217964172363})
|
||||
|
||||
def test_get_updater_info_unrecognized(self):
|
||||
rv = self.app.get_updater_info('unrecognized_recon_type')
|
||||
self.assertIsNone(rv)
|
||||
|
||||
def test_get_expirer_info_object(self):
|
||||
from_cache_response = {'object_expiration_pass': 0.79848217964172363,
|
||||
'expired_last_pass': 99}
|
||||
@ -907,6 +923,10 @@ class TestReconSuccess(TestCase):
|
||||
"files_processed": 2310,
|
||||
"quarantined": 0}}})
|
||||
|
||||
def test_get_auditor_info_unrecognized(self):
|
||||
rv = self.app.get_auditor_info('unrecognized_recon_type')
|
||||
self.assertIsNone(rv)
|
||||
|
||||
def test_get_unmounted(self):
|
||||
unmounted_resp = [{'device': 'fakeone', 'mounted': False},
|
||||
{'device': 'faketwo', 'mounted': False}]
|
||||
@ -1048,6 +1068,8 @@ class TestReconMiddleware(unittest.TestCase):
|
||||
self.real_listdir = os.listdir
|
||||
os.listdir = self.fake_list
|
||||
self.app = recon.ReconMiddleware(FakeApp(), {'object_recon': "true"})
|
||||
self.real_app_get_device_info = self.app.get_device_info
|
||||
self.real_app_get_swift_conf_md5 = self.app.get_swift_conf_md5
|
||||
os.listdir = self.real_listdir
|
||||
# self.app.object_recon = True
|
||||
self.app.get_mem = self.frecon.fake_mem
|
||||
@ -1308,5 +1330,28 @@ class TestReconMiddleware(unittest.TestCase):
|
||||
resp = self.app(req.environ, start_response)
|
||||
self.assertEqual(resp, get_time_resp)
|
||||
|
||||
def test_get_device_info_function(self):
|
||||
"""Test get_device_info function call success"""
|
||||
resp = self.app.get_device_info()
|
||||
self.assertEqual(['sdb1'], resp['/srv/1/node'])
|
||||
|
||||
def test_get_device_info_fail(self):
|
||||
"""Test get_device_info failure by failing os.listdir"""
|
||||
os.listdir = fail_os_listdir
|
||||
resp = self.real_app_get_device_info()
|
||||
os.listdir = self.real_listdir
|
||||
device_path = resp.keys()[0]
|
||||
self.assertIsNone(resp[device_path])
|
||||
|
||||
def test_get_swift_conf_md5(self):
|
||||
"""Test get_swift_conf_md5 success"""
|
||||
resp = self.app.get_swift_conf_md5()
|
||||
self.assertEqual('abcdef', resp['/etc/swift/swift.conf'])
|
||||
|
||||
def test_get_swift_conf_md5_fail(self):
|
||||
"""Test get_swift_conf_md5 failure by failing file open"""
|
||||
resp = self.real_app_get_swift_conf_md5(fail_io_open)
|
||||
self.assertIsNone(resp['/etc/swift/swift.conf'])
|
||||
|
||||
if __name__ == '__main__':
|
||||
unittest.main()
|
||||
|
Loading…
x
Reference in New Issue
Block a user