Code Duplication    Length = 50-50 lines in 2 locations

tests/unit/test_main.py 2 locations

@@ 804-853 (lines=50) @@
801
        self.assertEqual(mock_interface_1.enable.call_count, 0)
802
        self.assertEqual(mock_interface_2.enable.call_count, 0)
803
804
    @patch('napps.kytos.topology.main.Main.notify_topology_update')
805
    def test_disable_interfaces(self, mock_notify_topo):
806
        """Test disable_interfaces."""
807
        interface_id = '00:00:00:00:00:00:00:01:1'
808
        dpid = '00:00:00:00:00:00:00:01'
809
        mock_switch = get_switch_mock(dpid)
810
        mock_interface_1 = get_interface_mock('s1-eth1', 1, mock_switch)
811
        mock_interface_2 = get_interface_mock('s1-eth2', 2, mock_switch)
812
        mock_switch.interfaces = {1: mock_interface_1, 2: mock_interface_2}
813
        self.napp.controller.switches = {dpid: mock_switch}
814
        api = get_test_client(self.napp.controller, self.napp)
815
816
        url = f'{self.server_name_url}/v3/interfaces/{interface_id}/disable'
817
        response = api.post(url)
818
        self.assertEqual(response.status_code, 200, response.data)
819
        self.napp.topo_controller.disable_interface.assert_called_with(
820
            interface_id
821
        )
822
        self.assertEqual(mock_interface_1.disable.call_count, 1)
823
        self.assertEqual(mock_interface_2.disable.call_count, 0)
824
        mock_notify_topo.assert_called()
825
826
        mock_interface_1.disable.call_count = 0
827
        mock_interface_2.disable.call_count = 0
828
        url = f'{self.server_name_url}/v3/interfaces/switch/{dpid}/disable'
829
        response = api.post(url)
830
        self.assertEqual(response.status_code, 200, response.data)
831
        self.napp.topo_controller.upsert_switch.assert_called_with(
832
            mock_switch.id, mock_switch.as_dict()
833
        )
834
        self.assertEqual(mock_interface_1.disable.call_count, 1)
835
        self.assertEqual(mock_interface_2.disable.call_count, 1)
836
837
        # test interface not found
838
        interface_id = '00:00:00:00:00:00:00:01:3'
839
        mock_interface_1.disable.call_count = 0
840
        mock_interface_2.disable.call_count = 0
841
        url = f'{self.server_name_url}/v3/interfaces/{interface_id}/disable'
842
        response = api.post(url)
843
        self.assertEqual(response.status_code, 404, response.data)
844
        self.assertEqual(mock_interface_1.disable.call_count, 0)
845
        self.assertEqual(mock_interface_2.disable.call_count, 0)
846
847
        # test switch not found
848
        dpid = '00:00:00:00:00:00:00:02'
849
        url = f'{self.server_name_url}/v3/interfaces/switch/{dpid}/disable'
850
        response = api.post(url)
851
        self.assertEqual(response.status_code, 404, response.data)
852
        self.assertEqual(mock_interface_1.disable.call_count, 0)
853
        self.assertEqual(mock_interface_2.disable.call_count, 0)
854
855
    def test_get_interface_metadata(self):
856
        """Test get_interface_metada."""
@@ 753-802 (lines=50) @@
750
        self.assertEqual(mock_metadata_changes.call_count, 1)  # remains 1 call
751
        self.assertEqual(response.status_code, 404, response.data)
752
753
    @patch('napps.kytos.topology.main.Main.notify_topology_update')
754
    def test_enable_interfaces(self, mock_notify_topo):
755
        """Test enable_interfaces."""
756
        dpid = '00:00:00:00:00:00:00:01'
757
        mock_switch = get_switch_mock(dpid)
758
        mock_interface_1 = get_interface_mock('s1-eth1', 1, mock_switch)
759
        mock_interface_2 = get_interface_mock('s1-eth2', 2, mock_switch)
760
        mock_switch.interfaces = {1: mock_interface_1, 2: mock_interface_2}
761
        self.napp.controller.switches = {dpid: mock_switch}
762
        api = get_test_client(self.napp.controller, self.napp)
763
764
        interface_id = '00:00:00:00:00:00:00:01:1'
765
        url = f'{self.server_name_url}/v3/interfaces/{interface_id}/enable'
766
        response = api.post(url)
767
        self.assertEqual(response.status_code, 200, response.data)
768
        self.assertEqual(mock_interface_1.enable.call_count, 1)
769
        self.assertEqual(mock_interface_2.enable.call_count, 0)
770
        self.napp.topo_controller.enable_interface.assert_called_with(
771
            interface_id
772
        )
773
        mock_notify_topo.assert_called()
774
775
        mock_interface_1.enable.call_count = 0
776
        mock_interface_2.enable.call_count = 0
777
        url = f'{self.server_name_url}/v3/interfaces/switch/{dpid}/enable'
778
        response = api.post(url)
779
        self.assertEqual(response.status_code, 200, response.data)
780
        self.napp.topo_controller.upsert_switch.assert_called_with(
781
            mock_switch.id, mock_switch.as_dict()
782
        )
783
        self.assertEqual(mock_interface_1.enable.call_count, 1)
784
        self.assertEqual(mock_interface_2.enable.call_count, 1)
785
786
        # test interface not found
787
        interface_id = '00:00:00:00:00:00:00:01:3'
788
        mock_interface_1.enable.call_count = 0
789
        mock_interface_2.enable.call_count = 0
790
        url = f'{self.server_name_url}/v3/interfaces/{interface_id}/enable'
791
        response = api.post(url)
792
        self.assertEqual(response.status_code, 404, response.data)
793
        self.assertEqual(mock_interface_1.enable.call_count, 0)
794
        self.assertEqual(mock_interface_2.enable.call_count, 0)
795
796
        # test switch not found
797
        dpid = '00:00:00:00:00:00:00:02'
798
        url = f'{self.server_name_url}/v3/interfaces/switch/{dpid}/enable'
799
        response = api.post(url)
800
        self.assertEqual(response.status_code, 404, response.data)
801
        self.assertEqual(mock_interface_1.enable.call_count, 0)
802
        self.assertEqual(mock_interface_2.enable.call_count, 0)
803
804
    @patch('napps.kytos.topology.main.Main.notify_topology_update')
805
    def test_disable_interfaces(self, mock_notify_topo):