Code Duplication    Length = 50-53 lines in 2 locations

tests/unit/test_main.py 2 locations

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