Code Duplication    Length = 48-48 lines in 2 locations

tests/unit/test_main.py 2 locations

@@ 152-199 (lines=48) @@
149
        self.assertEqual(mock_interface_1.enable.call_count, 0)
150
        self.assertEqual(mock_interface_2.enable.call_count, 0)
151
152
    def test_disable_interfaces(self):
153
        """Test disable_interfaces."""
154
        interface_id = '00:00:00:00:00:00:00:01:1'
155
        dpid = '00:00:00:00:00:00:00:01'
156
        expected = 'Operation successful'
157
        mock_switch = create_autospec(Switch)
158
        mock_interface_1 = create_autospec(Interface)
159
        mock_interface_2 = create_autospec(Interface)
160
        mock_switch.interfaces = {1: mock_interface_1, 2: mock_interface_2}
161
        self.napp.controller.switches = {'00:00:00:00:00:00:00:01':
162
                                         mock_switch}
163
        api = get_app_test_client(self.napp)
164
165
        url = f'{self.server_name_url}/v3/interfaces/{interface_id}/disable'
166
        response = api.post(url)
167
        self.assertEqual(response.status_code, 200, response.data)
168
        self.assertEqual(expected, json.loads(response.data))
169
        self.assertEqual(mock_interface_1.disable.call_count, 1)
170
        self.assertEqual(mock_interface_2.disable.call_count, 0)
171
172
        mock_interface_1.disable.call_count = 0
173
        mock_interface_2.disable.call_count = 0
174
        url = f'{self.server_name_url}/v3/interfaces/switch/{dpid}/disable'
175
        response = api.post(url)
176
        self.assertEqual(response.status_code, 200, response.data)
177
        self.assertEqual(expected, json.loads(response.data))
178
        self.assertEqual(mock_interface_1.disable.call_count, 1)
179
        self.assertEqual(mock_interface_2.disable.call_count, 1)
180
181
        # test interface not found
182
        interface_id = '00:00:00:00:00:00:00:01:3'
183
        mock_interface_1.disable.call_count = 0
184
        mock_interface_2.disable.call_count = 0
185
        url = f'{self.server_name_url}/v3/interfaces/{interface_id}/disable'
186
        response = api.post(url)
187
        self.assertEqual(response.status_code, 409, response.data)
188
        self.assertEqual(mock_interface_1.disable.call_count, 0)
189
        self.assertEqual(mock_interface_2.disable.call_count, 0)
190
191
        # test switch not found
192
        dpid = '00:00:00:00:00:00:00:02'
193
        expected_fail = f"Switch not found: '{dpid}'"
194
        url = f'{self.server_name_url}/v3/interfaces/switch/{dpid}/disable'
195
        response = api.post(url)
196
        self.assertEqual(response.status_code, 404, response.data)
197
        self.assertEqual(expected_fail, json.loads(response.data))
198
        self.assertEqual(mock_interface_1.disable.call_count, 0)
199
        self.assertEqual(mock_interface_2.disable.call_count, 0)
200
201
    @patch('napps.kytos.topology.main.Main.notify_topology_update')
202
    @patch('napps.kytos.topology.main.Main.update_instance_metadata')
@@ 103-150 (lines=48) @@
100
        urls = get_napp_urls(self.napp)
101
        self.assertEqual(expected_urls, urls)
102
103
    def test_enable_interfaces(self):
104
        """Test enable_interfaces."""
105
        mock_switch = create_autospec(Switch)
106
        mock_interface_1 = create_autospec(Interface)
107
        mock_interface_2 = create_autospec(Interface)
108
        mock_switch.interfaces = {1: mock_interface_1, 2: mock_interface_2}
109
        self.napp.controller.switches = {'00:00:00:00:00:00:00:01':
110
                                         mock_switch}
111
        api = get_app_test_client(self.napp)
112
        expected_success = 'Operation successful'
113
114
        interface_id = '00:00:00:00:00:00:00:01:1'
115
        url = f'{self.server_name_url}/v3/interfaces/{interface_id}/enable'
116
        response = api.post(url)
117
        self.assertEqual(response.status_code, 200, response.data)
118
        self.assertEqual(expected_success, json.loads(response.data))
119
        self.assertEqual(mock_interface_1.enable.call_count, 1)
120
        self.assertEqual(mock_interface_2.enable.call_count, 0)
121
122
        dpid = '00:00:00:00:00:00:00:01'
123
        mock_interface_1.enable.call_count = 0
124
        mock_interface_2.enable.call_count = 0
125
        url = f'{self.server_name_url}/v3/interfaces/switch/{dpid}/enable'
126
        response = api.post(url)
127
        self.assertEqual(response.status_code, 200, response.data)
128
        self.assertEqual(expected_success, json.loads(response.data))
129
        self.assertEqual(mock_interface_1.enable.call_count, 1)
130
        self.assertEqual(mock_interface_2.enable.call_count, 1)
131
132
        # test interface not found
133
        interface_id = '00:00:00:00:00:00:00:01:3'
134
        mock_interface_1.enable.call_count = 0
135
        mock_interface_2.enable.call_count = 0
136
        url = f'{self.server_name_url}/v3/interfaces/{interface_id}/enable'
137
        response = api.post(url)
138
        self.assertEqual(response.status_code, 409, response.data)
139
        self.assertEqual(mock_interface_1.enable.call_count, 0)
140
        self.assertEqual(mock_interface_2.enable.call_count, 0)
141
142
        # test switch not found
143
        dpid = '00:00:00:00:00:00:00:02'
144
        expected_fail = f"Switch not found: '{dpid}'"
145
        url = f'{self.server_name_url}/v3/interfaces/switch/{dpid}/enable'
146
        response = api.post(url)
147
        self.assertEqual(response.status_code, 404, response.data)
148
        self.assertEqual(expected_fail, json.loads(response.data))
149
        self.assertEqual(mock_interface_1.enable.call_count, 0)
150
        self.assertEqual(mock_interface_2.enable.call_count, 0)
151
152
    def test_disable_interfaces(self):
153
        """Test disable_interfaces."""