Code Duplication    Length = 44-44 lines in 2 locations

tests/unit/test_main.py 2 locations

@@ 714-757 (lines=44) @@
711
        self.assertEqual(mock_interface_1.enable.call_count, 0)
712
        self.assertEqual(mock_interface_2.enable.call_count, 0)
713
714
    @patch('napps.kytos.topology.main.Main.save_status_on_storehouse')
715
    def test_disable_interfaces(self, mock_save_status):
716
        """Test disable_interfaces."""
717
        interface_id = '00:00:00:00:00:00:00:01:1'
718
        dpid = '00:00:00:00:00:00:00:01'
719
        mock_switch = get_switch_mock(dpid)
720
        mock_interface_1 = get_interface_mock('s1-eth1', 1, mock_switch)
721
        mock_interface_2 = get_interface_mock('s1-eth2', 2, mock_switch)
722
        mock_switch.interfaces = {1: mock_interface_1, 2: mock_interface_2}
723
        self.napp.controller.switches = {dpid: mock_switch}
724
        api = get_test_client(self.napp.controller, self.napp)
725
726
        url = f'{self.server_name_url}/v3/interfaces/{interface_id}/disable'
727
        response = api.post(url)
728
        self.assertEqual(response.status_code, 200, response.data)
729
        self.assertEqual(mock_interface_1.disable.call_count, 1)
730
        self.assertEqual(mock_interface_2.disable.call_count, 0)
731
        mock_save_status.assert_called()
732
733
        mock_interface_1.disable.call_count = 0
734
        mock_interface_2.disable.call_count = 0
735
        url = f'{self.server_name_url}/v3/interfaces/switch/{dpid}/disable'
736
        response = api.post(url)
737
        self.assertEqual(response.status_code, 200, response.data)
738
        self.assertEqual(mock_interface_1.disable.call_count, 1)
739
        self.assertEqual(mock_interface_2.disable.call_count, 1)
740
741
        # test interface not found
742
        interface_id = '00:00:00:00:00:00:00:01:3'
743
        mock_interface_1.disable.call_count = 0
744
        mock_interface_2.disable.call_count = 0
745
        url = f'{self.server_name_url}/v3/interfaces/{interface_id}/disable'
746
        response = api.post(url)
747
        self.assertEqual(response.status_code, 409, response.data)
748
        self.assertEqual(mock_interface_1.disable.call_count, 0)
749
        self.assertEqual(mock_interface_2.disable.call_count, 0)
750
751
        # test switch not found
752
        dpid = '00:00:00:00:00:00:00:02'
753
        url = f'{self.server_name_url}/v3/interfaces/switch/{dpid}/disable'
754
        response = api.post(url)
755
        self.assertEqual(response.status_code, 404, response.data)
756
        self.assertEqual(mock_interface_1.disable.call_count, 0)
757
        self.assertEqual(mock_interface_2.disable.call_count, 0)
758
759
    def test_get_interface_metadata(self):
760
        """Test get_interface_metada."""
@@ 669-712 (lines=44) @@
666
        self.assertEqual(mock_metadata_changes.call_count, 1)  # remains 1 call
667
        self.assertEqual(response.status_code, 404, response.data)
668
669
    @patch('napps.kytos.topology.main.Main.save_status_on_storehouse')
670
    def test_enable_interfaces(self, mock_save_status):
671
        """Test enable_interfaces."""
672
        dpid = '00:00:00:00:00:00:00:01'
673
        mock_switch = get_switch_mock(dpid)
674
        mock_interface_1 = get_interface_mock('s1-eth1', 1, mock_switch)
675
        mock_interface_2 = get_interface_mock('s1-eth2', 2, mock_switch)
676
        mock_switch.interfaces = {1: mock_interface_1, 2: mock_interface_2}
677
        self.napp.controller.switches = {dpid: mock_switch}
678
        api = get_test_client(self.napp.controller, self.napp)
679
680
        interface_id = '00:00:00:00:00:00:00:01:1'
681
        url = f'{self.server_name_url}/v3/interfaces/{interface_id}/enable'
682
        response = api.post(url)
683
        self.assertEqual(response.status_code, 200, response.data)
684
        self.assertEqual(mock_interface_1.enable.call_count, 1)
685
        self.assertEqual(mock_interface_2.enable.call_count, 0)
686
        mock_save_status.assert_called()
687
688
        mock_interface_1.enable.call_count = 0
689
        mock_interface_2.enable.call_count = 0
690
        url = f'{self.server_name_url}/v3/interfaces/switch/{dpid}/enable'
691
        response = api.post(url)
692
        self.assertEqual(response.status_code, 200, response.data)
693
        self.assertEqual(mock_interface_1.enable.call_count, 1)
694
        self.assertEqual(mock_interface_2.enable.call_count, 1)
695
696
        # test interface not found
697
        interface_id = '00:00:00:00:00:00:00:01:3'
698
        mock_interface_1.enable.call_count = 0
699
        mock_interface_2.enable.call_count = 0
700
        url = f'{self.server_name_url}/v3/interfaces/{interface_id}/enable'
701
        response = api.post(url)
702
        self.assertEqual(response.status_code, 409, response.data)
703
        self.assertEqual(mock_interface_1.enable.call_count, 0)
704
        self.assertEqual(mock_interface_2.enable.call_count, 0)
705
706
        # test switch not found
707
        dpid = '00:00:00:00:00:00:00:02'
708
        url = f'{self.server_name_url}/v3/interfaces/switch/{dpid}/enable'
709
        response = api.post(url)
710
        self.assertEqual(response.status_code, 404, response.data)
711
        self.assertEqual(mock_interface_1.enable.call_count, 0)
712
        self.assertEqual(mock_interface_2.enable.call_count, 0)
713
714
    @patch('napps.kytos.topology.main.Main.save_status_on_storehouse')
715
    def test_disable_interfaces(self, mock_save_status):