예제 #1
0
    def setup(self):
        watcher_scenario = watcher_utils.WatcherScenario({
            "admin":
            self.context["admin"],
            "task":
            self.context["task"],
            "owner_id":
            self.context["owner_id"],
            "config": {
                "api_versions": self.context["config"].get("api_versions", [])
            }
        })

        clients = osclients.Clients(self.context["admin"]["credential"])

        self.context["audit_templates"] = []
        for i in six.moves.range(self.config["audit_templates_per_admin"]):
            cfg_size = len(self.config["params"])
            if self.config["fill_strategy"] == "round_robin":
                audit_params = self.config["params"][i % cfg_size]
            elif self.config["fill_strategy"] == "random":
                audit_params = random.choice(self.config["params"])

            goal_id = types.WatcherGoal.transform(
                clients=clients, resource_config=audit_params["goal"])
            strategy_id = types.WatcherStrategy.transform(
                clients=clients, resource_config=audit_params["strategy"])

            audit_template = watcher_scenario._create_audit_template(
                goal_id, strategy_id)
            self.context["audit_templates"].append(audit_template.uuid)
예제 #2
0
 def test_delete_audit(self):
     mock_audit = mock.Mock()
     watcher_scenario = utils.WatcherScenario(self.context)
     watcher_scenario._delete_audit(mock_audit)
     self.admin_clients("watcher").audit.delete.assert_called_once_with(
         mock_audit.uuid)
     self._test_atomic_action_timer(watcher_scenario.atomic_actions(),
                                    "watcher.delete_audit")
예제 #3
0
 def test_delete_audit_template(self):
     watcher_scenario = utils.WatcherScenario(self.context)
     watcher_scenario._delete_audit_template("fake_audit_template")
     self.admin_clients(
         "watcher").audit_template.delete.assert_called_once_with(
             "fake_audit_template")
     self._test_atomic_action_timer(watcher_scenario.atomic_actions(),
                                    "watcher.delete_audit_template")
예제 #4
0
 def test_list_audit_templates(self):
     audit_templates_list = []
     watcher_scenario = utils.WatcherScenario(self.context)
     self.admin_clients(
         "watcher").audit_template.list.return_value = audit_templates_list
     return_audit_templates_list = watcher_scenario._list_audit_templates()
     self.assertEqual(audit_templates_list, return_audit_templates_list)
     self._test_atomic_action_timer(watcher_scenario.atomic_actions(),
                                    "watcher.list_audit_templates")
예제 #5
0
 def test_create_audit_template(self):
     watcher_scenario = utils.WatcherScenario(self.context)
     watcher_scenario.generate_random_name = mock.MagicMock(
         return_value="mock_name")
     watcher_scenario._create_audit_template("fake_goal", "fake_strategy")
     self.admin_clients(
         "watcher").audit_template.create.assert_called_once_with(
             goal="fake_goal", strategy="fake_strategy", name="mock_name")
     self._test_atomic_action_timer(watcher_scenario.atomic_actions(),
                                    "watcher.create_audit_template")
예제 #6
0
 def test_create_audit(self):
     mock_audit_template = mock.Mock()
     watcher_scenario = utils.WatcherScenario(self.context)
     audit = watcher_scenario._create_audit(mock_audit_template)
     self.mock_wait_for_status.mock.assert_called_once_with(
         audit,
         ready_statuses=["SUCCEEDED"],
         failure_statuses=["FAILED"],
         status_attr="state",
         update_resource=self.mock_get_from_manager.mock.return_value,
         check_interval=CONF.openstack.watcher_audit_launch_poll_interval,
         timeout=CONF.openstack.watcher_audit_launch_timeout,
         id_attr="uuid")
     self.mock_get_from_manager.mock.assert_called_once_with()
     self.admin_clients("watcher").audit.create.assert_called_once_with(
         audit_template_uuid=mock_audit_template, audit_type="ONESHOT")
     self._test_atomic_action_timer(watcher_scenario.atomic_actions(),
                                    "watcher.create_audit")