Code Duplication    Length = 50-53 lines in 2 locations

tests/unit/test_main.py 2 locations

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