Add unit tests for MServiceManager.list() method

The MServiceManager.list() has already supported the pagination
and sorting features, but there is no unit case to cover
them. This patch tries to add some tests for them.

Change-Id: Ia3877ecbf8c066553a3d5e8cb7cb17753471a1bf
Partial-Bug: #1559838
This commit is contained in:
xiexs 2016-03-21 03:04:01 -04:00
parent c909b127c3
commit 346c2f9f92
1 changed files with 106 additions and 0 deletions

View File

@ -36,6 +36,48 @@ fake_responses = {
{'mservices': [SERVICE1, SERVICE2]},
),
},
'/v1/mservices/?limit=2':
{
'GET': (
{},
{'mservices': [SERVICE1, SERVICE2]},
),
},
'/v1/mservices/?marker=%s' % SERVICE2['id']:
{
'GET': (
{},
{'mservices': [SERVICE1, SERVICE2]},
),
},
'/v1/mservices/?limit=2&marker=%s' % SERVICE2['id']:
{
'GET': (
{},
{'mservices': [SERVICE2, SERVICE1]},
),
},
'/v1/mservices/?sort_dir=asc':
{
'GET': (
{},
{'mservices': [SERVICE1, SERVICE2]},
),
},
'/v1/mservices/?sort_key=id':
{
'GET': (
{},
{'mservices': [SERVICE1, SERVICE2]},
),
},
'/v1/mservices/?sort_key=id&sort_dir=desc':
{
'GET': (
{},
{'mservices': [SERVICE2, SERVICE1]},
),
},
}
@ -53,3 +95,67 @@ class MServiceManagerTest(testtools.TestCase):
]
self.assertEqual(expect, self.api.calls)
self.assertThat(mservices, matchers.HasLength(2))
def _test_coe_service_list_with_filters(
self, limit=None, marker=None,
sort_key=None, sort_dir=None,
detail=False, expect=[]):
mservices_filter = self.mgr.list(limit=limit, marker=marker,
sort_key=sort_key,
sort_dir=sort_dir,
detail=detail)
self.assertEqual(expect, self.api.calls)
self.assertThat(mservices_filter, matchers.HasLength(2))
def test_coe_service_list_with_limit(self):
expect = [
('GET', '/v1/mservices/?limit=2', {}, None),
]
self._test_coe_service_list_with_filters(
limit=2,
expect=expect)
def test_coe_service_list_with_marker(self):
expect = [
('GET', '/v1/mservices/?marker=%s' % SERVICE2['id'],
{}, None),
]
self._test_coe_service_list_with_filters(
marker=SERVICE2['id'],
expect=expect)
def test_coe_service_list_with_marker_limit(self):
expect = [
('GET', '/v1/mservices/?limit=2&marker=%s' % SERVICE2['id'],
{}, None),
]
self._test_coe_service_list_with_filters(
limit=2, marker=SERVICE2['id'],
expect=expect)
def test_coe_service_list_with_sort_dir(self):
expect = [
('GET', '/v1/mservices/?sort_dir=asc',
{}, None),
]
self._test_coe_service_list_with_filters(
sort_dir='asc',
expect=expect)
def test_coe_service_list_with_sort_key(self):
expect = [
('GET', '/v1/mservices/?sort_key=id',
{}, None),
]
self._test_coe_service_list_with_filters(
sort_key='id',
expect=expect)
def test_coe_service_list_with_sort_key_dir(self):
expect = [
('GET', '/v1/mservices/?sort_key=id&sort_dir=desc',
{}, None),
]
self._test_coe_service_list_with_filters(
sort_key='id', sort_dir='desc',
expect=expect)