Skip to content

Commit a43834f

Browse files
Update unit tests, covering pagination
1 parent 2fd2cdc commit a43834f

6 files changed

Lines changed: 63 additions & 9 deletions

File tree

coriolis/tests/api/v1/test_transfer_tasks_executions.py

Lines changed: 18 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -73,17 +73,28 @@ def test_show_not_found(
7373
mock_context, transfer_id, id)
7474
mock_single.assert_not_called()
7575

76+
@mock.patch("coriolis.api.common.get_paging_params")
77+
@mock.patch("coriolis.api.common.get_sort_params")
7678
@mock.patch.object(transfer_tasks_execution_view, 'collection')
7779
@mock.patch.object(api.API, 'get_executions')
7880
def test_index(
7981
self,
8082
mock_get_executions,
81-
mock_collection
83+
mock_collection,
84+
mock_get_sort_params,
85+
mock_get_paging_params,
8286
):
8387
mock_req = mock.Mock()
8488
mock_context = mock.Mock()
8589
mock_req.environ = {'coriolis.context': mock_context}
8690
transfer_id = mock.sentinel.transfer_id
91+
mock_get_sort_params.return_value = (
92+
mock.sentinel.sort_keys,
93+
mock.sentinel.sort_dirs)
94+
mock_get_paging_params.return_value = (
95+
mock.sentinel.marker,
96+
mock.sentinel.limit,
97+
)
8798

8899
result = self.transfer_api.index(mock_req, transfer_id)
89100

@@ -95,7 +106,12 @@ def test_index(
95106
mock_context.can.assert_called_once_with(
96107
"migration:transfer_executions:list")
97108
mock_get_executions.assert_called_once_with(
98-
mock_context, transfer_id, include_tasks=False)
109+
mock_context, transfer_id, include_tasks=False,
110+
marker=mock.sentinel.marker,
111+
limit=mock.sentinel.limit,
112+
sort_keys=mock.sentinel.sort_keys,
113+
sort_dirs=mock.sentinel.sort_dirs,
114+
)
99115
mock_collection.assert_called_once_with(
100116
mock_get_executions.return_value)
101117

coriolis/tests/api/v1/test_transfers.py

Lines changed: 16 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -84,6 +84,8 @@ def test_show_no_transfer(
8484
include_task_info=mock_get_bool_url_arg.return_value)
8585
mock_single.assert_not_called()
8686

87+
@mock.patch("coriolis.api.common.get_paging_params")
88+
@mock.patch("coriolis.api.common.get_sort_params")
8789
@mock.patch.object(transfer_view, 'collection')
8890
@mock.patch.object(api.API, 'get_transfers')
8991
@mock.patch.object(api_utils, 'get_bool_url_arg')
@@ -92,10 +94,19 @@ def test_list(
9294
mock_get_bool_url_arg,
9395
mock_get_transfers,
9496
mock_collection,
97+
mock_get_sort_params,
98+
mock_get_paging_params,
9599
):
96100
mock_req = mock.Mock()
97101
mock_context = mock.Mock()
98102
mock_req.environ = {'coriolis.context': mock_context}
103+
mock_get_sort_params.return_value = (
104+
mock.sentinel.sort_keys,
105+
mock.sentinel.sort_dirs)
106+
mock_get_paging_params.return_value = (
107+
mock.sentinel.marker,
108+
mock.sentinel.limit,
109+
)
99110

100111
mock_get_bool_url_arg.side_effect = [False, False]
101112

@@ -116,7 +127,11 @@ def test_list(
116127
mock_get_transfers.assert_called_once_with(
117128
mock_context,
118129
include_tasks_executions=False,
119-
include_task_info=False
130+
include_task_info=False,
131+
marker=mock.sentinel.marker,
132+
limit=mock.sentinel.limit,
133+
sort_keys=mock.sentinel.sort_keys,
134+
sort_dirs=mock.sentinel.sort_dirs,
120135
)
121136
mock_collection.assert_called_once_with(
122137
mock_get_transfers.return_value)

coriolis/tests/conductor/rpc/test_client.py

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -37,6 +37,10 @@ def setUp(self):
3737
super(ConductorClientTestCase, self).setUp()
3838
self.client = client.ConductorClient()
3939

40+
self._mock_pagination_args = dict(
41+
marker="mock_marker", limit=5,
42+
sort_keys=["mock_column"], sort_dirs=["desc"])
43+
4044
def test_create_endpoint(self):
4145
args = {
4246
"name": "mock_name",
@@ -161,7 +165,8 @@ def test_execute_transfer_tasks(self):
161165
def test_get_transfer_tasks_executions(self):
162166
args = {
163167
"transfer_id": "mock_transfer_id",
164-
"include_tasks": False
168+
"include_tasks": False,
169+
**self._mock_pagination_args,
165170
}
166171
self._test(self.client.get_transfer_tasks_executions, args)
167172

@@ -205,6 +210,7 @@ def test_get_transfers(self):
205210
args = {
206211
"include_tasks_executions": False,
207212
"include_task_info": False,
213+
**self._mock_pagination_args,
208214
}
209215
self._test(self.client.get_transfers, args)
210216

coriolis/tests/conductor/rpc/test_server.py

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1418,6 +1418,8 @@ def test_get_transfer_tasks_executions(
14181418
mock.sentinel.transfer_id,
14191419
mock.sentinel.execution_id,
14201420
include_task_info=False,
1421+
marker=None, limit=None,
1422+
sort_keys=None, sort_dirs=None,
14211423
to_dict=True
14221424
)
14231425

@@ -1645,7 +1647,9 @@ def test_get_transfers(self, mock_get_transfers):
16451647
mock.sentinel.context,
16461648
include_tasks_executions=False,
16471649
include_task_info=False,
1648-
to_dict=True
1650+
to_dict=True,
1651+
marker=None, limit=None,
1652+
sort_keys=None, sort_dirs=None
16491653
)
16501654

16511655
@mock.patch.object(server.ConductorServerEndpoint, '_get_transfer')

coriolis/tests/transfer_tasks_executions/test_api.py

Lines changed: 15 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -50,11 +50,23 @@ def test_cancel(self):
5050
def test_get_executions(self):
5151
include_tasks = mock.sentinel.include_tasks
5252

53-
result = self.api.get_executions(self.ctxt, self.transfer_id,
54-
include_tasks)
53+
result = self.api.get_executions(
54+
self.ctxt, self.transfer_id,
55+
mock.sentinel.include_tasks,
56+
mock.sentinel.marker,
57+
mock.sentinel.limit,
58+
mock.sentinel.sort_keys,
59+
mock.sentinel.sort_dirs,
60+
)
5561

5662
self.rpc_client.get_transfer_tasks_executions.assert_called_once_with(
57-
self.ctxt, self.transfer_id, include_tasks)
63+
self.ctxt, self.transfer_id,
64+
mock.sentinel.include_tasks,
65+
mock.sentinel.marker,
66+
mock.sentinel.limit,
67+
mock.sentinel.sort_keys,
68+
mock.sentinel.sort_dirs,
69+
)
5870
self.assertEqual(
5971
result, self.rpc_client.get_transfer_tasks_executions.return_value)
6072

coriolis/tests/transfers/test_api.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -69,7 +69,8 @@ def test_get_transfers(self):
6969
self.ctxt, include_tasks_executions=False, include_task_info=False)
7070

7171
self.rpc_client.get_transfers.assert_called_once_with(
72-
self.ctxt, False, include_task_info=False)
72+
self.ctxt, False, include_task_info=False,
73+
marker=None, limit=None, sort_keys=None, sort_dirs=None)
7374
self.assertEqual(result, self.rpc_client.get_transfers.return_value)
7475

7576
def test_get_transfer(self):

0 commit comments

Comments
 (0)