Code Duplication    Length = 44-44 lines in 2 locations

tests/unit/test_main.py 2 locations

@@ 478-521 (lines=44) @@
475
        self.assertEqual(mock_interface_1.enable.call_count, 0)
476
        self.assertEqual(mock_interface_2.enable.call_count, 0)
477
478
    @patch('napps.kytos.topology.main.Main.save_status_on_storehouse')
479
    def test_disable_interfaces(self, mock_save_status):
480
        """Test disable_interfaces."""
481
        interface_id = '00:00:00:00:00:00:00:01:1'
482
        dpid = '00:00:00:00:00:00:00:01'
483
        mock_switch = get_switch_mock(dpid)
484
        mock_interface_1 = get_interface_mock('s1-eth1', 1, mock_switch)
485
        mock_interface_2 = get_interface_mock('s1-eth2', 2, mock_switch)
486
        mock_switch.interfaces = {1: mock_interface_1, 2: mock_interface_2}
487
        self.napp.controller.switches = {dpid: mock_switch}
488
        api = get_test_client(self.napp.controller, self.napp)
489
490
        url = f'{self.server_name_url}/v3/interfaces/{interface_id}/disable'
491
        response = api.post(url)
492
        self.assertEqual(response.status_code, 200, response.data)
493
        self.assertEqual(mock_interface_1.disable.call_count, 1)
494
        self.assertEqual(mock_interface_2.disable.call_count, 0)
495
        mock_save_status.assert_called()
496
497
        mock_interface_1.disable.call_count = 0
498
        mock_interface_2.disable.call_count = 0
499
        url = f'{self.server_name_url}/v3/interfaces/switch/{dpid}/disable'
500
        response = api.post(url)
501
        self.assertEqual(response.status_code, 200, response.data)
502
        self.assertEqual(mock_interface_1.disable.call_count, 1)
503
        self.assertEqual(mock_interface_2.disable.call_count, 1)
504
505
        # test interface not found
506
        interface_id = '00:00:00:00:00:00:00:01:3'
507
        mock_interface_1.disable.call_count = 0
508
        mock_interface_2.disable.call_count = 0
509
        url = f'{self.server_name_url}/v3/interfaces/{interface_id}/disable'
510
        response = api.post(url)
511
        self.assertEqual(response.status_code, 409, response.data)
512
        self.assertEqual(mock_interface_1.disable.call_count, 0)
513
        self.assertEqual(mock_interface_2.disable.call_count, 0)
514
515
        # test switch not found
516
        dpid = '00:00:00:00:00:00:00:02'
517
        url = f'{self.server_name_url}/v3/interfaces/switch/{dpid}/disable'
518
        response = api.post(url)
519
        self.assertEqual(response.status_code, 404, response.data)
520
        self.assertEqual(mock_interface_1.disable.call_count, 0)
521
        self.assertEqual(mock_interface_2.disable.call_count, 0)
522
523
    def test_get_interface_metadata(self):
524
        """Test get_interface_metada."""
@@ 433-476 (lines=44) @@
430
        mock_metadata_changes.assert_called()
431
        self.assertEqual(response.status_code, 404, response.data)
432
433
    @patch('napps.kytos.topology.main.Main.save_status_on_storehouse')
434
    def test_enable_interfaces(self, mock_save_status):
435
        """Test enable_interfaces."""
436
        dpid = '00:00:00:00:00:00:00:01'
437
        mock_switch = get_switch_mock(dpid)
438
        mock_interface_1 = get_interface_mock('s1-eth1', 1, mock_switch)
439
        mock_interface_2 = get_interface_mock('s1-eth2', 2, mock_switch)
440
        mock_switch.interfaces = {1: mock_interface_1, 2: mock_interface_2}
441
        self.napp.controller.switches = {dpid: mock_switch}
442
        api = get_test_client(self.napp.controller, self.napp)
443
444
        interface_id = '00:00:00:00:00:00:00:01:1'
445
        url = f'{self.server_name_url}/v3/interfaces/{interface_id}/enable'
446
        response = api.post(url)
447
        self.assertEqual(response.status_code, 200, response.data)
448
        self.assertEqual(mock_interface_1.enable.call_count, 1)
449
        self.assertEqual(mock_interface_2.enable.call_count, 0)
450
        mock_save_status.assert_called()
451
452
        mock_interface_1.enable.call_count = 0
453
        mock_interface_2.enable.call_count = 0
454
        url = f'{self.server_name_url}/v3/interfaces/switch/{dpid}/enable'
455
        response = api.post(url)
456
        self.assertEqual(response.status_code, 200, response.data)
457
        self.assertEqual(mock_interface_1.enable.call_count, 1)
458
        self.assertEqual(mock_interface_2.enable.call_count, 1)
459
460
        # test interface not found
461
        interface_id = '00:00:00:00:00:00:00:01:3'
462
        mock_interface_1.enable.call_count = 0
463
        mock_interface_2.enable.call_count = 0
464
        url = f'{self.server_name_url}/v3/interfaces/{interface_id}/enable'
465
        response = api.post(url)
466
        self.assertEqual(response.status_code, 409, response.data)
467
        self.assertEqual(mock_interface_1.enable.call_count, 0)
468
        self.assertEqual(mock_interface_2.enable.call_count, 0)
469
470
        # test switch not found
471
        dpid = '00:00:00:00:00:00:00:02'
472
        url = f'{self.server_name_url}/v3/interfaces/switch/{dpid}/enable'
473
        response = api.post(url)
474
        self.assertEqual(response.status_code, 404, response.data)
475
        self.assertEqual(mock_interface_1.enable.call_count, 0)
476
        self.assertEqual(mock_interface_2.enable.call_count, 0)
477
478
    @patch('napps.kytos.topology.main.Main.save_status_on_storehouse')
479
    def test_disable_interfaces(self, mock_save_status):