Code Duplication    Length = 50-50 lines in 2 locations

tests/unit/test_main.py 2 locations

@@ 342-391 (lines=50) @@
339
        self.assertEqual(mock_interface_1.enable.call_count, 0)
340
        self.assertEqual(mock_interface_2.enable.call_count, 0)
341
342
    @patch('napps.kytos.topology.main.Main.save_status_on_storehouse')
343
    def test_disable_interfaces(self, mock_save_status):
344
        """Test disable_interfaces."""
345
        interface_id = '00:00:00:00:00:00:00:01:1'
346
        dpid = '00:00:00:00:00:00:00:01'
347
        expected = 'Operation successful'
348
        mock_switch = create_autospec(Switch)
349
        mock_interface_1 = create_autospec(Interface)
350
        mock_interface_2 = create_autospec(Interface)
351
        mock_switch.interfaces = {1: mock_interface_1, 2: mock_interface_2}
352
        self.napp.controller.switches = {'00:00:00:00:00:00:00:01':
353
                                         mock_switch}
354
        api = get_test_client(self.napp.controller, self.napp)
355
356
        url = f'{self.server_name_url}/v3/interfaces/{interface_id}/disable'
357
        response = api.post(url)
358
        self.assertEqual(response.status_code, 200, response.data)
359
        self.assertEqual(expected, json.loads(response.data))
360
        self.assertEqual(mock_interface_1.disable.call_count, 1)
361
        self.assertEqual(mock_interface_2.disable.call_count, 0)
362
        mock_save_status.assert_called()
363
364
        mock_interface_1.disable.call_count = 0
365
        mock_interface_2.disable.call_count = 0
366
        url = f'{self.server_name_url}/v3/interfaces/switch/{dpid}/disable'
367
        response = api.post(url)
368
        self.assertEqual(response.status_code, 200, response.data)
369
        self.assertEqual(expected, json.loads(response.data))
370
        self.assertEqual(mock_interface_1.disable.call_count, 1)
371
        self.assertEqual(mock_interface_2.disable.call_count, 1)
372
373
        # test interface not found
374
        interface_id = '00:00:00:00:00:00:00:01:3'
375
        mock_interface_1.disable.call_count = 0
376
        mock_interface_2.disable.call_count = 0
377
        url = f'{self.server_name_url}/v3/interfaces/{interface_id}/disable'
378
        response = api.post(url)
379
        self.assertEqual(response.status_code, 409, response.data)
380
        self.assertEqual(mock_interface_1.disable.call_count, 0)
381
        self.assertEqual(mock_interface_2.disable.call_count, 0)
382
383
        # test switch not found
384
        dpid = '00:00:00:00:00:00:00:02'
385
        expected_fail = f"Switch not found: '{dpid}'"
386
        url = f'{self.server_name_url}/v3/interfaces/switch/{dpid}/disable'
387
        response = api.post(url)
388
        self.assertEqual(response.status_code, 404, response.data)
389
        self.assertEqual(expected_fail, json.loads(response.data))
390
        self.assertEqual(mock_interface_1.disable.call_count, 0)
391
        self.assertEqual(mock_interface_2.disable.call_count, 0)
392
393
    def test_get_interface_metadata(self):
394
        """Test get_interface_metada."""
@@ 291-340 (lines=50) @@
288
        mock_metadata_changes.assert_called()
289
        self.assertEqual(response.status_code, 404, response.data)
290
291
    @patch('napps.kytos.topology.main.Main.save_status_on_storehouse')
292
    def test_enable_interfaces(self, mock_save_status):
293
        """Test enable_interfaces."""
294
        mock_switch = create_autospec(Switch)
295
        mock_interface_1 = create_autospec(Interface)
296
        mock_interface_2 = create_autospec(Interface)
297
        mock_switch.interfaces = {1: mock_interface_1, 2: mock_interface_2}
298
        self.napp.controller.switches = {'00:00:00:00:00:00:00:01':
299
                                         mock_switch}
300
        api = get_test_client(self.napp.controller, self.napp)
301
        expected_success = 'Operation successful'
302
303
        interface_id = '00:00:00:00:00:00:00:01:1'
304
        url = f'{self.server_name_url}/v3/interfaces/{interface_id}/enable'
305
        response = api.post(url)
306
        self.assertEqual(response.status_code, 200, response.data)
307
        self.assertEqual(expected_success, json.loads(response.data))
308
        self.assertEqual(mock_interface_1.enable.call_count, 1)
309
        self.assertEqual(mock_interface_2.enable.call_count, 0)
310
        mock_save_status.assert_called()
311
312
        dpid = '00:00:00:00:00:00:00:01'
313
        mock_interface_1.enable.call_count = 0
314
        mock_interface_2.enable.call_count = 0
315
        url = f'{self.server_name_url}/v3/interfaces/switch/{dpid}/enable'
316
        response = api.post(url)
317
        self.assertEqual(response.status_code, 200, response.data)
318
        self.assertEqual(expected_success, json.loads(response.data))
319
        self.assertEqual(mock_interface_1.enable.call_count, 1)
320
        self.assertEqual(mock_interface_2.enable.call_count, 1)
321
322
        # test interface not found
323
        interface_id = '00:00:00:00:00:00:00:01:3'
324
        mock_interface_1.enable.call_count = 0
325
        mock_interface_2.enable.call_count = 0
326
        url = f'{self.server_name_url}/v3/interfaces/{interface_id}/enable'
327
        response = api.post(url)
328
        self.assertEqual(response.status_code, 409, response.data)
329
        self.assertEqual(mock_interface_1.enable.call_count, 0)
330
        self.assertEqual(mock_interface_2.enable.call_count, 0)
331
332
        # test switch not found
333
        dpid = '00:00:00:00:00:00:00:02'
334
        expected_fail = f"Switch not found: '{dpid}'"
335
        url = f'{self.server_name_url}/v3/interfaces/switch/{dpid}/enable'
336
        response = api.post(url)
337
        self.assertEqual(response.status_code, 404, response.data)
338
        self.assertEqual(expected_fail, json.loads(response.data))
339
        self.assertEqual(mock_interface_1.enable.call_count, 0)
340
        self.assertEqual(mock_interface_2.enable.call_count, 0)
341
342
    @patch('napps.kytos.topology.main.Main.save_status_on_storehouse')
343
    def test_disable_interfaces(self, mock_save_status):