X-Git-Url: https://osm.etsi.org/gitweb/?a=blobdiff_plain;f=osm_policy_module%2Ftests%2Funit%2Fcore%2Ftest_policy_agent.py;h=edc15a6d3acfe54d782809519762ca4195035dff;hb=cb5642a2af495af4319beb1dba2d417b78f3200a;hp=77c285db6b534659bc805609c0e0b446e9735430;hpb=4584f8e86a492d67d120bfea1195eff1475c0a65;p=osm%2FPOL.git diff --git a/osm_policy_module/tests/unit/core/test_policy_agent.py b/osm_policy_module/tests/unit/core/test_policy_agent.py index 77c285d..edc15a6 100644 --- a/osm_policy_module/tests/unit/core/test_policy_agent.py +++ b/osm_policy_module/tests/unit/core/test_policy_agent.py @@ -92,6 +92,66 @@ class PolicyAgentTest(unittest.TestCase): self.loop.run_until_complete(agent._handle_instantiated(content)) configure_scaling_groups.assert_not_called() + @mock.patch.object(CommonDbClient, "__init__", lambda *args, **kwargs: None) + @mock.patch("osm_policy_module.alarming.service.MonClient") + @mock.patch("osm_policy_module.alarming.service.LcmClient") + @mock.patch("osm_policy_module.autoscaling.service.MonClient") + @mock.patch("osm_policy_module.autoscaling.service.LcmClient") + @mock.patch.object(AutoscalingService, "configure_scaling_groups") + @mock.patch.object(AlarmingService, "configure_vnf_alarms") + @mock.patch.object(AutoscalingService, "delete_scaling_groups") + @mock.patch.object(AlarmingService, "delete_vnf_alarms") + def test_handle_policy_update( + self, + delete_vnf_alarms, + delete_scaling_groups, + configure_vnf_alarms, + configure_scaling_groups, + autoscaling_lcm_client, + autoscaling_mon_client, + alarming_lcm_client, + alarming_mon_client, + ): + async def mock_delete_scaling_groups(nsr_id, vnf_member_index): + pass + + async def mock_delete_vnf_alarms(nsr_id, vnf_member_index): + pass + + async def mock_configure_scaling_groups(nsr_id, vnf_member_index): + pass + + async def mock_configure_vnf_alarms(nsr_id, vnf_member_index): + pass + + config = Config() + agent = PolicyModuleAgent(config, self.loop) + assert autoscaling_lcm_client.called + assert autoscaling_mon_client.called + assert alarming_lcm_client.called + assert alarming_mon_client.called + content = { + "nsr_id": "test_nsr_id", + "vnf_member_index": "1", + "operationState": "COMPLETED" + } + failed_content = { + "nsr_id": "test_nsr_id", + "vnf_member_index": "1", + "operationState": "FAILED" + } + configure_scaling_groups.side_effect = mock_configure_scaling_groups + configure_vnf_alarms.side_effect = mock_configure_vnf_alarms + delete_scaling_groups.side_effect = mock_delete_scaling_groups + delete_vnf_alarms.side_effect = mock_delete_vnf_alarms + + self.loop.run_until_complete(agent._handle_policy_update(content)) + configure_scaling_groups.assert_called_with("test_nsr_id", "1") + configure_scaling_groups.reset_mock() + + self.loop.run_until_complete(agent._handle_policy_update(failed_content)) + configure_scaling_groups.assert_not_called() + @mock.patch.object(CommonDbClient, "__init__", lambda *args, **kwargs: None) @mock.patch("osm_policy_module.autoscaling.service.MonClient") @mock.patch("osm_policy_module.autoscaling.service.LcmClient") @@ -136,6 +196,54 @@ class PolicyAgentTest(unittest.TestCase): autoscaling_handle_alarm.assert_called_with("test_alarm_uuid", "alarm") alarming_handle_alarm.assert_called_with("test_alarm_uuid", "alarm", content) + @mock.patch.object(CommonDbClient, "__init__", lambda *args, **kwargs: None) + @mock.patch("osm_policy_module.alarming.service.MonClient") + @mock.patch("osm_policy_module.alarming.service.LcmClient") + @mock.patch("osm_policy_module.autoscaling.service.MonClient") + @mock.patch("osm_policy_module.autoscaling.service.LcmClient") + @mock.patch.object(AutoscalingService, "delete_scaling_groups") + @mock.patch.object(AlarmingService, "delete_vnf_alarms") + def test_handle_vnf_terminated( + self, + delete_vnf_alarms, + delete_scaling_groups, + autoscaling_lcm_client, + autoscaling_mon_client, + alarming_lcm_client, + alarming_mon_client, + ): + async def mock_delete_scaling_groups(nsr_id, vnf_member_index): + pass + + async def mock_delete_vnf_alarms(nsr_id, vnf_member_index): + pass + + config = Config() + agent = PolicyModuleAgent(config, self.loop) + assert autoscaling_lcm_client.called + assert autoscaling_mon_client.called + assert alarming_lcm_client.called + assert alarming_mon_client.called + content = { + "nsr_id": "test_nsr_id", + "vnf_member_index": "1", + "operationState": "COMPLETED" + } + failed_content = { + "nsr_id": "test_nsr_id", + "vnf_member_index": "1", + "operationState": "FAILED" + } + delete_scaling_groups.side_effect = mock_delete_scaling_groups + delete_vnf_alarms.side_effect = mock_delete_vnf_alarms + + self.loop.run_until_complete(agent._handle_vnf_terminated(content)) + delete_scaling_groups.assert_called_with("test_nsr_id", "1") + delete_scaling_groups.reset_mock() + + self.loop.run_until_complete(agent._handle_vnf_terminated(failed_content)) + delete_scaling_groups.assert_not_called() + if __name__ == "__main__": unittest.main()