Code Duplication    Length = 39-39 lines in 2 locations

tests/models/test_evc_deploy.py 2 locations

@@ 364-402 (lines=39) @@
361
        log_mock.info.assert_called_once_with(f"{evc} was deployed.")
362
        self.assertTrue(deployed)
363
364
    @patch('napps.kytos.mef_eline.models.log')
365
    @patch('napps.kytos.mef_eline.models.EVC.choose_vlans')
366
    @patch('napps.kytos.mef_eline.models.EVC.install_nni_flows')
367
    @patch('napps.kytos.mef_eline.models.EVC.install_uni_flows')
368
    @patch('napps.kytos.mef_eline.models.EVC.activate')
369
    @patch('napps.kytos.mef_eline.models.EVC.should_deploy')
370
    def test_deploy_fail(self, *args):
371
        """Test if all methods is ignored when the should_deploy is false."""
372
        (should_deploy_mock, activate_mock, install_uni_flows_mock,
373
         install_nni_flows, chose_vlans_mock, log_mock) = args
374
375
        should_deploy_mock.return_value = False
376
        uni_a = get_uni_mocked(interface_port=2, tag_value=82,
377
                               switch_id="switch_uni_a", is_valid=True)
378
        uni_z = get_uni_mocked(interface_port=3, tag_value=83,
379
                               switch_id="switch_uni_z", is_valid=True)
380
381
        attributes = {
382
            "name": "custom_name",
383
            "uni_a": uni_a,
384
            "uni_z": uni_z,
385
            "primary_links": [
386
                get_link_mocked(endpoint_a_port=9, endpoint_b_port=10,
387
                                metadata={"s_vlan": 5}),
388
                get_link_mocked(endpoint_a_port=11, endpoint_b_port=12,
389
                                metadata={"s_vlan": 6})
390
            ]
391
        }
392
393
        evc = EVC(**attributes)
394
        deployed = evc.deploy()
395
396
        self.assertEqual(should_deploy_mock.call_count, 1)
397
        self.assertEqual(activate_mock.call_count, 0)
398
        self.assertEqual(install_uni_flows_mock.call_count, 0)
399
        self.assertEqual(install_nni_flows.call_count, 0)
400
        self.assertEqual(chose_vlans_mock.call_count, 0)
401
        self.assertEqual(log_mock.info.call_count, 0)
402
        self.assertFalse(deployed)
403
404
    @patch('napps.kytos.mef_eline.models.log')
405
    @patch('napps.kytos.mef_eline.models.EVC.choose_vlans')
@@ 324-362 (lines=39) @@
321
        switch = evc.primary_links[0].endpoint_b.switch
322
        send_flow_mods_mock.assert_called_once_with(switch, expected_flow_mods)
323
324
    @patch('napps.kytos.mef_eline.models.log')
325
    @patch('napps.kytos.mef_eline.models.EVC.choose_vlans')
326
    @patch('napps.kytos.mef_eline.models.EVC.install_nni_flows')
327
    @patch('napps.kytos.mef_eline.models.EVC.install_uni_flows')
328
    @patch('napps.kytos.mef_eline.models.EVC.activate')
329
    @patch('napps.kytos.mef_eline.models.EVC.should_deploy')
330
    def test_deploy_successfully(self, *args):
331
        """Test if all methods to deploy are called."""
332
        (should_deploy_mock, activate_mock, install_uni_flows_mock,
333
         install_nni_flows, chose_vlans_mock, log_mock) = args
334
335
        should_deploy_mock.return_value = True
336
        uni_a = get_uni_mocked(interface_port=2, tag_value=82,
337
                               switch_id="switch_uni_a", is_valid=True)
338
        uni_z = get_uni_mocked(interface_port=3, tag_value=83,
339
                               switch_id="switch_uni_z", is_valid=True)
340
341
        attributes = {
342
            "name": "custom_name",
343
            "uni_a": uni_a,
344
            "uni_z": uni_z,
345
            "primary_links": [
346
                get_link_mocked(endpoint_a_port=9, endpoint_b_port=10,
347
                                metadata={"s_vlan": 5}),
348
                get_link_mocked(endpoint_a_port=11, endpoint_b_port=12,
349
                                metadata={"s_vlan": 6})
350
            ]
351
        }
352
353
        evc = EVC(**attributes)
354
        deployed = evc.deploy(attributes['primary_links'])
355
356
        self.assertEqual(should_deploy_mock.call_count, 1)
357
        self.assertEqual(activate_mock.call_count, 1)
358
        self.assertEqual(install_uni_flows_mock.call_count, 1)
359
        self.assertEqual(install_nni_flows.call_count, 1)
360
        self.assertEqual(chose_vlans_mock.call_count, 1)
361
        log_mock.info.assert_called_once_with(f"{evc} was deployed.")
362
        self.assertTrue(deployed)
363
364
    @patch('napps.kytos.mef_eline.models.log')
365
    @patch('napps.kytos.mef_eline.models.EVC.choose_vlans')