Code Duplication    Length = 48-48 lines in 2 locations

tests/unit/test_main.py 2 locations

@@ 234-281 (lines=48) @@
231
        self.assertEqual(mock_interface_1.enable.call_count, 0)
232
        self.assertEqual(mock_interface_2.enable.call_count, 0)
233
234
    def test_disable_interfaces(self):
235
        """Test disable_interfaces."""
236
        interface_id = '00:00:00:00:00:00:00:01:1'
237
        dpid = '00:00:00:00:00:00:00:01'
238
        expected = 'Operation successful'
239
        mock_switch = create_autospec(Switch)
240
        mock_interface_1 = create_autospec(Interface)
241
        mock_interface_2 = create_autospec(Interface)
242
        mock_switch.interfaces = {1: mock_interface_1, 2: mock_interface_2}
243
        self.napp.controller.switches = {'00:00:00:00:00:00:00:01':
244
                                         mock_switch}
245
        api = get_test_client(self.napp.controller, self.napp)
246
247
        url = f'{self.server_name_url}/v3/interfaces/{interface_id}/disable'
248
        response = api.post(url)
249
        self.assertEqual(response.status_code, 200, response.data)
250
        self.assertEqual(expected, json.loads(response.data))
251
        self.assertEqual(mock_interface_1.disable.call_count, 1)
252
        self.assertEqual(mock_interface_2.disable.call_count, 0)
253
254
        mock_interface_1.disable.call_count = 0
255
        mock_interface_2.disable.call_count = 0
256
        url = f'{self.server_name_url}/v3/interfaces/switch/{dpid}/disable'
257
        response = api.post(url)
258
        self.assertEqual(response.status_code, 200, response.data)
259
        self.assertEqual(expected, json.loads(response.data))
260
        self.assertEqual(mock_interface_1.disable.call_count, 1)
261
        self.assertEqual(mock_interface_2.disable.call_count, 1)
262
263
        # test interface not found
264
        interface_id = '00:00:00:00:00:00:00:01:3'
265
        mock_interface_1.disable.call_count = 0
266
        mock_interface_2.disable.call_count = 0
267
        url = f'{self.server_name_url}/v3/interfaces/{interface_id}/disable'
268
        response = api.post(url)
269
        self.assertEqual(response.status_code, 409, response.data)
270
        self.assertEqual(mock_interface_1.disable.call_count, 0)
271
        self.assertEqual(mock_interface_2.disable.call_count, 0)
272
273
        # test switch not found
274
        dpid = '00:00:00:00:00:00:00:02'
275
        expected_fail = f"Switch not found: '{dpid}'"
276
        url = f'{self.server_name_url}/v3/interfaces/switch/{dpid}/disable'
277
        response = api.post(url)
278
        self.assertEqual(response.status_code, 404, response.data)
279
        self.assertEqual(expected_fail, json.loads(response.data))
280
        self.assertEqual(mock_interface_1.disable.call_count, 0)
281
        self.assertEqual(mock_interface_2.disable.call_count, 0)
282
283
    @patch('napps.kytos.topology.main.Main.notify_topology_update')
284
    @patch('napps.kytos.topology.main.Main.update_instance_metadata')
@@ 185-232 (lines=48) @@
182
                            content_type='application/json')
183
        self.assertEqual(response.status_code, 404, response.data)
184
185
    def test_enable_interfaces(self):
186
        """Test enable_interfaces."""
187
        mock_switch = create_autospec(Switch)
188
        mock_interface_1 = create_autospec(Interface)
189
        mock_interface_2 = create_autospec(Interface)
190
        mock_switch.interfaces = {1: mock_interface_1, 2: mock_interface_2}
191
        self.napp.controller.switches = {'00:00:00:00:00:00:00:01':
192
                                         mock_switch}
193
        api = get_test_client(self.napp.controller, self.napp)
194
        expected_success = 'Operation successful'
195
196
        interface_id = '00:00:00:00:00:00:00:01:1'
197
        url = f'{self.server_name_url}/v3/interfaces/{interface_id}/enable'
198
        response = api.post(url)
199
        self.assertEqual(response.status_code, 200, response.data)
200
        self.assertEqual(expected_success, json.loads(response.data))
201
        self.assertEqual(mock_interface_1.enable.call_count, 1)
202
        self.assertEqual(mock_interface_2.enable.call_count, 0)
203
204
        dpid = '00:00:00:00:00:00:00:01'
205
        mock_interface_1.enable.call_count = 0
206
        mock_interface_2.enable.call_count = 0
207
        url = f'{self.server_name_url}/v3/interfaces/switch/{dpid}/enable'
208
        response = api.post(url)
209
        self.assertEqual(response.status_code, 200, response.data)
210
        self.assertEqual(expected_success, json.loads(response.data))
211
        self.assertEqual(mock_interface_1.enable.call_count, 1)
212
        self.assertEqual(mock_interface_2.enable.call_count, 1)
213
214
        # test interface not found
215
        interface_id = '00:00:00:00:00:00:00:01:3'
216
        mock_interface_1.enable.call_count = 0
217
        mock_interface_2.enable.call_count = 0
218
        url = f'{self.server_name_url}/v3/interfaces/{interface_id}/enable'
219
        response = api.post(url)
220
        self.assertEqual(response.status_code, 409, response.data)
221
        self.assertEqual(mock_interface_1.enable.call_count, 0)
222
        self.assertEqual(mock_interface_2.enable.call_count, 0)
223
224
        # test switch not found
225
        dpid = '00:00:00:00:00:00:00:02'
226
        expected_fail = f"Switch not found: '{dpid}'"
227
        url = f'{self.server_name_url}/v3/interfaces/switch/{dpid}/enable'
228
        response = api.post(url)
229
        self.assertEqual(response.status_code, 404, response.data)
230
        self.assertEqual(expected_fail, json.loads(response.data))
231
        self.assertEqual(mock_interface_1.enable.call_count, 0)
232
        self.assertEqual(mock_interface_2.enable.call_count, 0)
233
234
    def test_disable_interfaces(self):
235
        """Test disable_interfaces."""