Code Duplication    Length = 44-44 lines in 2 locations

tests/unit/test_main.py 2 locations

@@ 713-756 (lines=44) @@
710
        self.assertEqual(mock_interface_1.enable.call_count, 0)
711
        self.assertEqual(mock_interface_2.enable.call_count, 0)
712
713
    @patch('napps.kytos.topology.main.Main.save_status_on_storehouse')
714
    def test_disable_interfaces(self, mock_save_status):
715
        """Test disable_interfaces."""
716
        interface_id = '00:00:00:00:00:00:00:01:1'
717
        dpid = '00:00:00:00:00:00:00:01'
718
        mock_switch = get_switch_mock(dpid)
719
        mock_interface_1 = get_interface_mock('s1-eth1', 1, mock_switch)
720
        mock_interface_2 = get_interface_mock('s1-eth2', 2, mock_switch)
721
        mock_switch.interfaces = {1: mock_interface_1, 2: mock_interface_2}
722
        self.napp.controller.switches = {dpid: mock_switch}
723
        api = get_test_client(self.napp.controller, self.napp)
724
725
        url = f'{self.server_name_url}/v3/interfaces/{interface_id}/disable'
726
        response = api.post(url)
727
        self.assertEqual(response.status_code, 200, response.data)
728
        self.assertEqual(mock_interface_1.disable.call_count, 1)
729
        self.assertEqual(mock_interface_2.disable.call_count, 0)
730
        mock_save_status.assert_called()
731
732
        mock_interface_1.disable.call_count = 0
733
        mock_interface_2.disable.call_count = 0
734
        url = f'{self.server_name_url}/v3/interfaces/switch/{dpid}/disable'
735
        response = api.post(url)
736
        self.assertEqual(response.status_code, 200, response.data)
737
        self.assertEqual(mock_interface_1.disable.call_count, 1)
738
        self.assertEqual(mock_interface_2.disable.call_count, 1)
739
740
        # test interface not found
741
        interface_id = '00:00:00:00:00:00:00:01:3'
742
        mock_interface_1.disable.call_count = 0
743
        mock_interface_2.disable.call_count = 0
744
        url = f'{self.server_name_url}/v3/interfaces/{interface_id}/disable'
745
        response = api.post(url)
746
        self.assertEqual(response.status_code, 409, response.data)
747
        self.assertEqual(mock_interface_1.disable.call_count, 0)
748
        self.assertEqual(mock_interface_2.disable.call_count, 0)
749
750
        # test switch not found
751
        dpid = '00:00:00:00:00:00:00:02'
752
        url = f'{self.server_name_url}/v3/interfaces/switch/{dpid}/disable'
753
        response = api.post(url)
754
        self.assertEqual(response.status_code, 404, response.data)
755
        self.assertEqual(mock_interface_1.disable.call_count, 0)
756
        self.assertEqual(mock_interface_2.disable.call_count, 0)
757
758
    def test_get_interface_metadata(self):
759
        """Test get_interface_metada."""
@@ 668-711 (lines=44) @@
665
        self.assertEqual(mock_metadata_changes.call_count, 1)  # remains 1 call
666
        self.assertEqual(response.status_code, 404, response.data)
667
668
    @patch('napps.kytos.topology.main.Main.save_status_on_storehouse')
669
    def test_enable_interfaces(self, mock_save_status):
670
        """Test enable_interfaces."""
671
        dpid = '00:00:00:00:00:00:00:01'
672
        mock_switch = get_switch_mock(dpid)
673
        mock_interface_1 = get_interface_mock('s1-eth1', 1, mock_switch)
674
        mock_interface_2 = get_interface_mock('s1-eth2', 2, mock_switch)
675
        mock_switch.interfaces = {1: mock_interface_1, 2: mock_interface_2}
676
        self.napp.controller.switches = {dpid: mock_switch}
677
        api = get_test_client(self.napp.controller, self.napp)
678
679
        interface_id = '00:00:00:00:00:00:00:01:1'
680
        url = f'{self.server_name_url}/v3/interfaces/{interface_id}/enable'
681
        response = api.post(url)
682
        self.assertEqual(response.status_code, 200, response.data)
683
        self.assertEqual(mock_interface_1.enable.call_count, 1)
684
        self.assertEqual(mock_interface_2.enable.call_count, 0)
685
        mock_save_status.assert_called()
686
687
        mock_interface_1.enable.call_count = 0
688
        mock_interface_2.enable.call_count = 0
689
        url = f'{self.server_name_url}/v3/interfaces/switch/{dpid}/enable'
690
        response = api.post(url)
691
        self.assertEqual(response.status_code, 200, response.data)
692
        self.assertEqual(mock_interface_1.enable.call_count, 1)
693
        self.assertEqual(mock_interface_2.enable.call_count, 1)
694
695
        # test interface not found
696
        interface_id = '00:00:00:00:00:00:00:01:3'
697
        mock_interface_1.enable.call_count = 0
698
        mock_interface_2.enable.call_count = 0
699
        url = f'{self.server_name_url}/v3/interfaces/{interface_id}/enable'
700
        response = api.post(url)
701
        self.assertEqual(response.status_code, 409, response.data)
702
        self.assertEqual(mock_interface_1.enable.call_count, 0)
703
        self.assertEqual(mock_interface_2.enable.call_count, 0)
704
705
        # test switch not found
706
        dpid = '00:00:00:00:00:00:00:02'
707
        url = f'{self.server_name_url}/v3/interfaces/switch/{dpid}/enable'
708
        response = api.post(url)
709
        self.assertEqual(response.status_code, 404, response.data)
710
        self.assertEqual(mock_interface_1.enable.call_count, 0)
711
        self.assertEqual(mock_interface_2.enable.call_count, 0)
712
713
    @patch('napps.kytos.topology.main.Main.save_status_on_storehouse')
714
    def test_disable_interfaces(self, mock_save_status):