Code Duplication    Length = 44-44 lines in 2 locations

tests/unit/test_main.py 2 locations

@@ 437-480 (lines=44) @@
434
        self.assertEqual(mock_interface_1.enable.call_count, 0)
435
        self.assertEqual(mock_interface_2.enable.call_count, 0)
436
437
    @patch('napps.kytos.topology.main.Main.save_status_on_storehouse')
438
    def test_disable_interfaces(self, mock_save_status):
439
        """Test disable_interfaces."""
440
        interface_id = '00:00:00:00:00:00:00:01:1'
441
        dpid = '00:00:00:00:00:00:00:01'
442
        mock_switch = get_switch_mock(dpid)
443
        mock_interface_1 = get_interface_mock('s1-eth1', 1, mock_switch)
444
        mock_interface_2 = get_interface_mock('s1-eth2', 2, mock_switch)
445
        mock_switch.interfaces = {1: mock_interface_1, 2: mock_interface_2}
446
        self.napp.controller.switches = {dpid: mock_switch}
447
        api = get_test_client(self.napp.controller, self.napp)
448
449
        url = f'{self.server_name_url}/v3/interfaces/{interface_id}/disable'
450
        response = api.post(url)
451
        self.assertEqual(response.status_code, 200, response.data)
452
        self.assertEqual(mock_interface_1.disable.call_count, 1)
453
        self.assertEqual(mock_interface_2.disable.call_count, 0)
454
        mock_save_status.assert_called()
455
456
        mock_interface_1.disable.call_count = 0
457
        mock_interface_2.disable.call_count = 0
458
        url = f'{self.server_name_url}/v3/interfaces/switch/{dpid}/disable'
459
        response = api.post(url)
460
        self.assertEqual(response.status_code, 200, response.data)
461
        self.assertEqual(mock_interface_1.disable.call_count, 1)
462
        self.assertEqual(mock_interface_2.disable.call_count, 1)
463
464
        # test interface not found
465
        interface_id = '00:00:00:00:00:00:00:01:3'
466
        mock_interface_1.disable.call_count = 0
467
        mock_interface_2.disable.call_count = 0
468
        url = f'{self.server_name_url}/v3/interfaces/{interface_id}/disable'
469
        response = api.post(url)
470
        self.assertEqual(response.status_code, 409, response.data)
471
        self.assertEqual(mock_interface_1.disable.call_count, 0)
472
        self.assertEqual(mock_interface_2.disable.call_count, 0)
473
474
        # test switch not found
475
        dpid = '00:00:00:00:00:00:00:02'
476
        url = f'{self.server_name_url}/v3/interfaces/switch/{dpid}/disable'
477
        response = api.post(url)
478
        self.assertEqual(response.status_code, 404, response.data)
479
        self.assertEqual(mock_interface_1.disable.call_count, 0)
480
        self.assertEqual(mock_interface_2.disable.call_count, 0)
481
482
    def test_get_interface_metadata(self):
483
        """Test get_interface_metada."""
@@ 392-435 (lines=44) @@
389
        mock_metadata_changes.assert_called()
390
        self.assertEqual(response.status_code, 404, response.data)
391
392
    @patch('napps.kytos.topology.main.Main.save_status_on_storehouse')
393
    def test_enable_interfaces(self, mock_save_status):
394
        """Test enable_interfaces."""
395
        dpid = '00:00:00:00:00:00:00:01'
396
        mock_switch = get_switch_mock(dpid)
397
        mock_interface_1 = get_interface_mock('s1-eth1', 1, mock_switch)
398
        mock_interface_2 = get_interface_mock('s1-eth2', 2, mock_switch)
399
        mock_switch.interfaces = {1: mock_interface_1, 2: mock_interface_2}
400
        self.napp.controller.switches = {dpid: mock_switch}
401
        api = get_test_client(self.napp.controller, self.napp)
402
403
        interface_id = '00:00:00:00:00:00:00:01:1'
404
        url = f'{self.server_name_url}/v3/interfaces/{interface_id}/enable'
405
        response = api.post(url)
406
        self.assertEqual(response.status_code, 200, response.data)
407
        self.assertEqual(mock_interface_1.enable.call_count, 1)
408
        self.assertEqual(mock_interface_2.enable.call_count, 0)
409
        mock_save_status.assert_called()
410
411
        mock_interface_1.enable.call_count = 0
412
        mock_interface_2.enable.call_count = 0
413
        url = f'{self.server_name_url}/v3/interfaces/switch/{dpid}/enable'
414
        response = api.post(url)
415
        self.assertEqual(response.status_code, 200, response.data)
416
        self.assertEqual(mock_interface_1.enable.call_count, 1)
417
        self.assertEqual(mock_interface_2.enable.call_count, 1)
418
419
        # test interface not found
420
        interface_id = '00:00:00:00:00:00:00:01:3'
421
        mock_interface_1.enable.call_count = 0
422
        mock_interface_2.enable.call_count = 0
423
        url = f'{self.server_name_url}/v3/interfaces/{interface_id}/enable'
424
        response = api.post(url)
425
        self.assertEqual(response.status_code, 409, response.data)
426
        self.assertEqual(mock_interface_1.enable.call_count, 0)
427
        self.assertEqual(mock_interface_2.enable.call_count, 0)
428
429
        # test switch not found
430
        dpid = '00:00:00:00:00:00:00:02'
431
        url = f'{self.server_name_url}/v3/interfaces/switch/{dpid}/enable'
432
        response = api.post(url)
433
        self.assertEqual(response.status_code, 404, response.data)
434
        self.assertEqual(mock_interface_1.enable.call_count, 0)
435
        self.assertEqual(mock_interface_2.enable.call_count, 0)
436
437
    @patch('napps.kytos.topology.main.Main.save_status_on_storehouse')
438
    def test_disable_interfaces(self, mock_save_status):