Code Duplication    Length = 50-50 lines in 2 locations

tests/unit/test_main.py 2 locations

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