Code Duplication    Length = 50-53 lines in 2 locations

tests/unit/test_main.py 2 locations

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