Code Duplication    Length = 50-50 lines in 2 locations

tests/unit/test_main.py 2 locations

@@ 775-824 (lines=50) @@
772
        self.assertEqual(mock_interface_1.enable.call_count, 0)
773
        self.assertEqual(mock_interface_2.enable.call_count, 0)
774
775
    @patch('napps.kytos.topology.main.Main.notify_topology_update')
776
    def test_disable_interfaces(self, mock_notify_topo):
777
        """Test disable_interfaces."""
778
        interface_id = '00:00:00:00:00:00:00:01:1'
779
        dpid = '00:00:00:00:00:00:00:01'
780
        mock_switch = get_switch_mock(dpid)
781
        mock_interface_1 = get_interface_mock('s1-eth1', 1, mock_switch)
782
        mock_interface_2 = get_interface_mock('s1-eth2', 2, mock_switch)
783
        mock_switch.interfaces = {1: mock_interface_1, 2: mock_interface_2}
784
        self.napp.controller.switches = {dpid: mock_switch}
785
        api = get_test_client(self.napp.controller, self.napp)
786
787
        url = f'{self.server_name_url}/v3/interfaces/{interface_id}/disable'
788
        response = api.post(url)
789
        self.assertEqual(response.status_code, 200, response.data)
790
        self.napp.topo_controller.disable_interface.assert_called_with(
791
            interface_id
792
        )
793
        self.assertEqual(mock_interface_1.disable.call_count, 1)
794
        self.assertEqual(mock_interface_2.disable.call_count, 0)
795
        mock_notify_topo.assert_called()
796
797
        mock_interface_1.disable.call_count = 0
798
        mock_interface_2.disable.call_count = 0
799
        url = f'{self.server_name_url}/v3/interfaces/switch/{dpid}/disable'
800
        response = api.post(url)
801
        self.assertEqual(response.status_code, 200, response.data)
802
        self.napp.topo_controller.upsert_switch.assert_called_with(
803
            mock_switch.id, mock_switch.as_dict()
804
        )
805
        self.assertEqual(mock_interface_1.disable.call_count, 1)
806
        self.assertEqual(mock_interface_2.disable.call_count, 1)
807
808
        # test interface not found
809
        interface_id = '00:00:00:00:00:00:00:01:3'
810
        mock_interface_1.disable.call_count = 0
811
        mock_interface_2.disable.call_count = 0
812
        url = f'{self.server_name_url}/v3/interfaces/{interface_id}/disable'
813
        response = api.post(url)
814
        self.assertEqual(response.status_code, 404, response.data)
815
        self.assertEqual(mock_interface_1.disable.call_count, 0)
816
        self.assertEqual(mock_interface_2.disable.call_count, 0)
817
818
        # test switch not found
819
        dpid = '00:00:00:00:00:00:00:02'
820
        url = f'{self.server_name_url}/v3/interfaces/switch/{dpid}/disable'
821
        response = api.post(url)
822
        self.assertEqual(response.status_code, 404, response.data)
823
        self.assertEqual(mock_interface_1.disable.call_count, 0)
824
        self.assertEqual(mock_interface_2.disable.call_count, 0)
825
826
    def test_get_interface_metadata(self):
827
        """Test get_interface_metada."""
@@ 724-773 (lines=50) @@
721
        self.assertEqual(mock_metadata_changes.call_count, 1)  # remains 1 call
722
        self.assertEqual(response.status_code, 404, response.data)
723
724
    @patch('napps.kytos.topology.main.Main.notify_topology_update')
725
    def test_enable_interfaces(self, mock_notify_topo):
726
        """Test enable_interfaces."""
727
        dpid = '00:00:00:00:00:00:00:01'
728
        mock_switch = get_switch_mock(dpid)
729
        mock_interface_1 = get_interface_mock('s1-eth1', 1, mock_switch)
730
        mock_interface_2 = get_interface_mock('s1-eth2', 2, mock_switch)
731
        mock_switch.interfaces = {1: mock_interface_1, 2: mock_interface_2}
732
        self.napp.controller.switches = {dpid: mock_switch}
733
        api = get_test_client(self.napp.controller, self.napp)
734
735
        interface_id = '00:00:00:00:00:00:00:01:1'
736
        url = f'{self.server_name_url}/v3/interfaces/{interface_id}/enable'
737
        response = api.post(url)
738
        self.assertEqual(response.status_code, 200, response.data)
739
        self.assertEqual(mock_interface_1.enable.call_count, 1)
740
        self.assertEqual(mock_interface_2.enable.call_count, 0)
741
        self.napp.topo_controller.enable_interface.assert_called_with(
742
            interface_id
743
        )
744
        mock_notify_topo.assert_called()
745
746
        mock_interface_1.enable.call_count = 0
747
        mock_interface_2.enable.call_count = 0
748
        url = f'{self.server_name_url}/v3/interfaces/switch/{dpid}/enable'
749
        response = api.post(url)
750
        self.assertEqual(response.status_code, 200, response.data)
751
        self.napp.topo_controller.upsert_switch.assert_called_with(
752
            mock_switch.id, mock_switch.as_dict()
753
        )
754
        self.assertEqual(mock_interface_1.enable.call_count, 1)
755
        self.assertEqual(mock_interface_2.enable.call_count, 1)
756
757
        # test interface not found
758
        interface_id = '00:00:00:00:00:00:00:01:3'
759
        mock_interface_1.enable.call_count = 0
760
        mock_interface_2.enable.call_count = 0
761
        url = f'{self.server_name_url}/v3/interfaces/{interface_id}/enable'
762
        response = api.post(url)
763
        self.assertEqual(response.status_code, 404, response.data)
764
        self.assertEqual(mock_interface_1.enable.call_count, 0)
765
        self.assertEqual(mock_interface_2.enable.call_count, 0)
766
767
        # test switch not found
768
        dpid = '00:00:00:00:00:00:00:02'
769
        url = f'{self.server_name_url}/v3/interfaces/switch/{dpid}/enable'
770
        response = api.post(url)
771
        self.assertEqual(response.status_code, 404, response.data)
772
        self.assertEqual(mock_interface_1.enable.call_count, 0)
773
        self.assertEqual(mock_interface_2.enable.call_count, 0)
774
775
    @patch('napps.kytos.topology.main.Main.notify_topology_update')
776
    def test_disable_interfaces(self, mock_notify_topo):