Code Duplication    Length = 50-50 lines in 2 locations

tests/unit/test_main.py 2 locations

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