Code Duplication    Length = 44-44 lines in 2 locations

tests/unit/test_main.py 2 locations

@@ 482-525 (lines=44) @@
479
        self.assertEqual(mock_interface_1.enable.call_count, 0)
480
        self.assertEqual(mock_interface_2.enable.call_count, 0)
481
482
    @patch('napps.kytos.topology.main.Main.save_status_on_storehouse')
483
    def test_disable_interfaces(self, mock_save_status):
484
        """Test disable_interfaces."""
485
        interface_id = '00:00:00:00:00:00:00:01:1'
486
        dpid = '00:00:00:00:00:00:00:01'
487
        mock_switch = get_switch_mock(dpid)
488
        mock_interface_1 = get_interface_mock('s1-eth1', 1, mock_switch)
489
        mock_interface_2 = get_interface_mock('s1-eth2', 2, mock_switch)
490
        mock_switch.interfaces = {1: mock_interface_1, 2: mock_interface_2}
491
        self.napp.controller.switches = {dpid: mock_switch}
492
        api = get_test_client(self.napp.controller, self.napp)
493
494
        url = f'{self.server_name_url}/v3/interfaces/{interface_id}/disable'
495
        response = api.post(url)
496
        self.assertEqual(response.status_code, 200, response.data)
497
        self.assertEqual(mock_interface_1.disable.call_count, 1)
498
        self.assertEqual(mock_interface_2.disable.call_count, 0)
499
        mock_save_status.assert_called()
500
501
        mock_interface_1.disable.call_count = 0
502
        mock_interface_2.disable.call_count = 0
503
        url = f'{self.server_name_url}/v3/interfaces/switch/{dpid}/disable'
504
        response = api.post(url)
505
        self.assertEqual(response.status_code, 200, response.data)
506
        self.assertEqual(mock_interface_1.disable.call_count, 1)
507
        self.assertEqual(mock_interface_2.disable.call_count, 1)
508
509
        # test interface not found
510
        interface_id = '00:00:00:00:00:00:00:01:3'
511
        mock_interface_1.disable.call_count = 0
512
        mock_interface_2.disable.call_count = 0
513
        url = f'{self.server_name_url}/v3/interfaces/{interface_id}/disable'
514
        response = api.post(url)
515
        self.assertEqual(response.status_code, 409, response.data)
516
        self.assertEqual(mock_interface_1.disable.call_count, 0)
517
        self.assertEqual(mock_interface_2.disable.call_count, 0)
518
519
        # test switch not found
520
        dpid = '00:00:00:00:00:00:00:02'
521
        url = f'{self.server_name_url}/v3/interfaces/switch/{dpid}/disable'
522
        response = api.post(url)
523
        self.assertEqual(response.status_code, 404, response.data)
524
        self.assertEqual(mock_interface_1.disable.call_count, 0)
525
        self.assertEqual(mock_interface_2.disable.call_count, 0)
526
527
    def test_get_interface_metadata(self):
528
        """Test get_interface_metada."""
@@ 437-480 (lines=44) @@
434
        mock_metadata_changes.assert_called()
435
        self.assertEqual(response.status_code, 404, response.data)
436
437
    @patch('napps.kytos.topology.main.Main.save_status_on_storehouse')
438
    def test_enable_interfaces(self, mock_save_status):
439
        """Test enable_interfaces."""
440
        dpid = '00:00:00:00:00:00:00:01'
441
        mock_switch = get_switch_mock(dpid)
442
        mock_interface_1 = get_interface_mock('s1-eth1', 1, mock_switch)
443
        mock_interface_2 = get_interface_mock('s1-eth2', 2, mock_switch)
444
        mock_switch.interfaces = {1: mock_interface_1, 2: mock_interface_2}
445
        self.napp.controller.switches = {dpid: mock_switch}
446
        api = get_test_client(self.napp.controller, self.napp)
447
448
        interface_id = '00:00:00:00:00:00:00:01:1'
449
        url = f'{self.server_name_url}/v3/interfaces/{interface_id}/enable'
450
        response = api.post(url)
451
        self.assertEqual(response.status_code, 200, response.data)
452
        self.assertEqual(mock_interface_1.enable.call_count, 1)
453
        self.assertEqual(mock_interface_2.enable.call_count, 0)
454
        mock_save_status.assert_called()
455
456
        mock_interface_1.enable.call_count = 0
457
        mock_interface_2.enable.call_count = 0
458
        url = f'{self.server_name_url}/v3/interfaces/switch/{dpid}/enable'
459
        response = api.post(url)
460
        self.assertEqual(response.status_code, 200, response.data)
461
        self.assertEqual(mock_interface_1.enable.call_count, 1)
462
        self.assertEqual(mock_interface_2.enable.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.enable.call_count = 0
467
        mock_interface_2.enable.call_count = 0
468
        url = f'{self.server_name_url}/v3/interfaces/{interface_id}/enable'
469
        response = api.post(url)
470
        self.assertEqual(response.status_code, 409, response.data)
471
        self.assertEqual(mock_interface_1.enable.call_count, 0)
472
        self.assertEqual(mock_interface_2.enable.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}/enable'
477
        response = api.post(url)
478
        self.assertEqual(response.status_code, 404, response.data)
479
        self.assertEqual(mock_interface_1.enable.call_count, 0)
480
        self.assertEqual(mock_interface_2.enable.call_count, 0)
481
482
    @patch('napps.kytos.topology.main.Main.save_status_on_storehouse')
483
    def test_disable_interfaces(self, mock_save_status):