Code Duplication    Length = 24-24 lines in 3 locations

tests/unit/test_main.py 3 locations

@@ 338-361 (lines=24) @@
335
        assert response.json == expected
336
        assert response.status_code == 200
337
338
    @patch("napps.amlight.flow_stats.main.Main.flow_stats_by_dpid_flow_id")
339
    def test_flow_stats_by_dpid_flow_id_with_dpid(self, mock_from_flow):
340
        """Test flow_stats rest call."""
341
        flow_info = {
342
            "byte_count": 10,
343
            "duration_sec": 20,
344
            "duration_nsec": 30,
345
            "packet_count": 40,
346
            "cookie": 12310228866111668291,
347
            "match": {"in_port": 1},
348
            "priority": 32768
349
            }
350
        flow_stats_dict_mock = {'6055f13593fad45e0b4699f49d56b105': flow_info}
351
        flow_by_sw = {"00:00:00:00:00:00:00:01": flow_stats_dict_mock}
352
        mock_from_flow.return_value = flow_by_sw
353
354
        api = get_test_client(self.napp.controller, self.napp)
355
        endpoint = "/flow/stats?dpid=00:00:00:00:00:00:00:01"
356
        url = f"{self.server_name_url}"+endpoint
357
358
        response = api.get(url)
359
        expected = flow_by_sw
360
        assert response.json == expected
361
        assert response.status_code == 200
362
363
    @patch("napps.amlight.flow_stats.main.Main.flow_stats_by_dpid_flow_id")
364
    def test_flow_stats_by_dpid_flow_id_not_found(self, mock_from_flow):
@@ 313-336 (lines=24) @@
310
        assert response.json == expected
311
        assert response.status_code == 200
312
313
    @patch("napps.amlight.flow_stats.main.Main.flow_stats_by_dpid_flow_id")
314
    def test_flow_stats_by_dpid_flow_id_without_dpid(self, mock_from_flow):
315
        """Test flow_stats rest call."""
316
        flow_info = {
317
            "byte_count": 10,
318
            "duration_sec": 20,
319
            "duration_nsec": 30,
320
            "packet_count": 40,
321
            "cookie": 12310228866111668291,
322
            "match": {"in_port": 1},
323
            "priority": 32768
324
            }
325
        flow_stats_dict_mock = {'6055f13593fad45e0b4699f49d56b105': flow_info}
326
        flow_by_sw = {"00:00:00:00:00:00:00:01": flow_stats_dict_mock}
327
        mock_from_flow.return_value = flow_by_sw
328
329
        api = get_test_client(self.napp.controller, self.napp)
330
        endpoint = "/flow/stats"
331
        url = f"{self.server_name_url}"+endpoint
332
333
        response = api.get(url)
334
        expected = flow_by_sw
335
        assert response.json == expected
336
        assert response.status_code == 200
337
338
    @patch("napps.amlight.flow_stats.main.Main.flow_stats_by_dpid_flow_id")
339
    def test_flow_stats_by_dpid_flow_id_with_dpid(self, mock_from_flow):
@@ 288-311 (lines=24) @@
285
            json_response = response.json
286
            assert len(json_response) == 1
287
288
    @patch("napps.amlight.flow_stats.main.Main.flow_stats_by_dpid_flow_id")
289
    def test_flow_stats_by_dpid_flow_id(self, mock_from_flow):
290
        """Test flow_stats rest call."""
291
        flow_info = {
292
            "byte_count": 10,
293
            "duration_sec": 20,
294
            "duration_nsec": 30,
295
            "packet_count": 40,
296
            "cookie": 12310228866111668291,
297
            "match": {"in_port": 1},
298
            "priority": 32768
299
            }
300
        flow_stats_dict_mock = {'6055f13593fad45e0b4699f49d56b105': flow_info}
301
        flow_by_sw = {"00:00:00:00:00:00:00:01": flow_stats_dict_mock}
302
        mock_from_flow.return_value = flow_by_sw
303
304
        api = get_test_client(self.napp.controller, self.napp)
305
        endpoint = "/flow/stats?dpid=00:00:00:00:00:00:00:01"
306
        url = f"{self.server_name_url}"+endpoint
307
308
        response = api.get(url)
309
        expected = flow_by_sw
310
        assert response.json == expected
311
        assert response.status_code == 200
312
313
    @patch("napps.amlight.flow_stats.main.Main.flow_stats_by_dpid_flow_id")
314
    def test_flow_stats_by_dpid_flow_id_without_dpid(self, mock_from_flow):