Code Duplication    Length = 50-53 lines in 2 locations

tests/unit/test_main.py 2 locations

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