예제 #1
0
    def test_task_delete_with_results(self):
        task_id = self._create_task()["uuid"]
        key = {
            "name": "atata",
            "description": "tatata",
            "pos": 0,
            "kw": {
                "args": {"a": "A"},
                "context": {"c": "C"},
                "sla": {"s": "S"},
                "runner": {"r": "R", "type": "T"}
            }
        }
        data = {
            "sla": [
                {"s": "S", "success": True},
                {"1": "2", "success": True},
                {"a": "A", "success": True}
            ],
            "load_duration": 13,
            "full_duration": 42
        }
        subtask = db.subtask_create(task_id, title="foo")
        workload = db.workload_create(task_id, subtask["uuid"], key)
        db.workload_data_create(task_id, workload["uuid"], 0, {"raw": []})
        db.workload_set_results(workload["uuid"], data)

        res = db.task_result_get_all_by_uuid(task_id)
        self.assertEqual(len(res), 1)
        db.task_delete(task_id)
        res = db.task_result_get_all_by_uuid(task_id)
        self.assertEqual(len(res), 0)
예제 #2
0
파일: test_api.py 프로젝트: stevelle/rally
 def test_task_delete_with_results(self):
     task_id = self._create_task()["uuid"]
     db.task_result_create(task_id, {task_id: task_id}, {task_id: task_id})
     res = db.task_result_get_all_by_uuid(task_id)
     self.assertEqual(len(res), 1)
     db.task_delete(task_id)
     res = db.task_result_get_all_by_uuid(task_id)
     self.assertEqual(len(res), 0)
예제 #3
0
파일: test_api.py 프로젝트: plomakin/rally
 def test_task_delete_with_results(self):
     task_id = self._create_task()["uuid"]
     db.task_result_create(task_id,
                           {task_id: task_id},
                           {task_id: task_id})
     res = db.task_result_get_all_by_uuid(task_id)
     self.assertEqual(len(res), 1)
     db.task_delete(task_id)
     res = db.task_result_get_all_by_uuid(task_id)
     self.assertEqual(len(res), 0)
예제 #4
0
파일: test_api.py 프로젝트: akinsWin/rally
 def test_task_delete_with_results(self):
     task_id = self._create_task()["uuid"]
     key = {
         "name": "atata",
         "pos": 0,
         "kw": {
             "args": {
                 "a": "A"
             },
             "context": {
                 "c": "C"
             },
             "sla": {
                 "s": "S"
             },
             "runner": {
                 "r": "R",
                 "type": "T"
             }
         }
     }
     data = {
         "raw": [],
         "sla": [{
             "s": "S",
             "success": True
         }, {
             "1": "2",
             "success": True
         }, {
             "a": "A",
             "success": True
         }],
         "load_duration":
         13,
         "full_duration":
         42
     }
     db.task_result_create(task_id, key, data)
     res = db.task_result_get_all_by_uuid(task_id)
     self.assertEqual(len(res), 1)
     db.task_delete(task_id)
     res = db.task_result_get_all_by_uuid(task_id)
     self.assertEqual(len(res), 0)
예제 #5
0
    def test_task_result_create(self):
        task_id = self._create_task()["uuid"]
        key = {
            "name": "atata",
            "description": "tatata",
            "pos": 0,
            "kw": {
                "args": {"a": "A"},
                "context": {"c": "C"},
                "sla": {"s": "S"},
                "hooks": [{"name": "foo_hook", "args": "bar",
                           "trigger": {"name": "foo_trigger", "args": "baz"}}],
                "runner": {"r": "R", "type": "T"}
            }
        }
        raw_data = {
            "raw": [
                {"error": "anError", "duration": 0, "timestamp": 1,
                 "atomic_actions": []},
                {"duration": 1, "timestamp": 1,
                 "atomic_actions": []},
                {"duration": 2, "timestamp": 2,
                 "atomic_actions": []}
            ],
        }
        data = {
            "sla": [
                {"s": "S", "success": True},
                {"1": "2", "success": True},
                {"a": "A", "success": True}
            ],
            "load_duration": 13,
            "full_duration": 42,
            "hooks": [
                {"config": {"name": "foo_hook", "args": "bar",
                            "trigger": {"name": "foo_trigger", "args": "baz"}},
                 "results": [
                     {"status": "success", "started_at": 10.0,
                      "finished_at": 11.0, "triggered_by": {"time": 5}}],
                 "summary": {}}
            ],
        }

        subtask = db.subtask_create(task_id, title="foo")
        workload = db.workload_create(task_id, subtask["uuid"], key)
        db.workload_data_create(task_id, workload["uuid"], 0, raw_data)
        db.workload_set_results(workload["uuid"], data)

        res = db.task_result_get_all_by_uuid(task_id)
        self.assertEqual(1, len(res))
        self.assertEqual(raw_data["raw"], res[0]["data"]["raw"])
        self.assertEqual(key, res[0]["key"])
예제 #6
0
파일: test_api.py 프로젝트: stevelle/rally
    def test_task_result_get_all_by_uuid(self):
        task1 = self._create_task()["uuid"]
        task2 = self._create_task()["uuid"]

        for task_id in (task1, task2):
            db.task_result_create(task_id, {task_id: task_id},
                                  {task_id: task_id})

        for task_id in (task1, task2):
            res = db.task_result_get_all_by_uuid(task_id)
            data = {task_id: task_id}
            self.assertEqual(len(res), 1)
            self.assertEqual(res[0]["key"], data)
            self.assertEqual(res[0]["data"], data)
예제 #7
0
파일: test_api.py 프로젝트: akinsWin/rally
 def test_task_result_create(self):
     task_id = self._create_task()["uuid"]
     key = {
         "name": "atata",
         "pos": 0,
         "kw": {
             "args": {
                 "a": "A"
             },
             "context": {
                 "c": "C"
             },
             "sla": {
                 "s": "S"
             },
             "runner": {
                 "r": "R",
                 "type": "T"
             }
         }
     }
     data = {
         "raw": [{
             "error": "anError"
         }, {
             "duration": 1
         }, {
             "duration": 2
         }],
         "sla": [{
             "s": "S",
             "success": True
         }, {
             "1": "2",
             "success": True
         }, {
             "a": "A",
             "success": True
         }],
         "load_duration":
         13,
         "full_duration":
         42,
         "hooks": [],
     }
     db.task_result_create(task_id, key, data)
     res = db.task_result_get_all_by_uuid(task_id)
     self.assertEqual(1, len(res))
     self.assertEqual(data["raw"], res[0]["data"]["raw"])
예제 #8
0
    def test_task_result_get_all_by_uuid(self):
        task1 = self._create_task()["uuid"]
        task2 = self._create_task()["uuid"]
        key = {
            "name": "atata",
            "description": "tatata",
            "pos": 0,
            "kw": {
                "args": {
                    "task_id": "task_id"
                },
                "context": {
                    "c": "C"
                },
                "sla": {
                    "s": "S"
                },
                "runner": {
                    "r": "R",
                    "type": "T"
                },
                "hooks": [],
            }
        }
        data = {
            "sla": [{
                "success": True
            }],
            "load_duration": 13,
            "full_duration": 42,
            "hooks": [],
        }

        for task_id in (task1, task2):
            key["kw"]["args"]["task_id"] = task_id
            data["sla"][0] = {"success": True}
            subtask = db.subtask_create(task_id, title="foo")
            workload = db.workload_create(task_id, subtask["uuid"], key)
            db.workload_data_create(task_id, workload["uuid"], 0, {"raw": []})
            db.workload_set_results(workload["uuid"], data)

        for task_id in (task1, task2):
            res = db.task_result_get_all_by_uuid(task_id)
            key["kw"]["args"]["task_id"] = task_id
            data["sla"][0] = {"success": True}
            data["raw"] = []
            self.assertEqual(len(res), 1)
            self.assertEqual(res[0]["key"], key)
            self.assertEqual(res[0]["data"], data)
예제 #9
0
파일: test_api.py 프로젝트: plomakin/rally
    def test_task_result_get_all_by_uuid(self):
        task1 = self._create_task()["uuid"]
        task2 = self._create_task()["uuid"]

        for task_id in (task1, task2):
            db.task_result_create(task_id,
                                  {task_id: task_id},
                                  {task_id: task_id})

        for task_id in (task1, task2):
            res = db.task_result_get_all_by_uuid(task_id)
            data = {task_id: task_id}
            self.assertEqual(len(res), 1)
            self.assertEqual(res[0]["key"], data)
            self.assertEqual(res[0]["data"], data)
예제 #10
0
파일: test_api.py 프로젝트: akinsWin/rally
    def test_task_result_get_all_by_uuid(self):
        task1 = self._create_task()["uuid"]
        task2 = self._create_task()["uuid"]
        key = {
            "name": "atata",
            "pos": 0,
            "kw": {
                "args": {
                    "task_id": "task_id"
                },
                "context": {
                    "c": "C"
                },
                "sla": {
                    "s": "S"
                },
                "runner": {
                    "r": "R",
                    "type": "T"
                }
            }
        }
        data = {
            "raw": [],
            "sla": [{
                "success": True
            }],
            "load_duration": 13,
            "full_duration": 42,
            "hooks": [],
        }

        for task_id in (task1, task2):
            key["kw"]["args"]["task_id"] = task_id
            data["sla"][0] = {"success": True}
            db.task_result_create(task_id, key, data)

        for task_id in (task1, task2):
            res = db.task_result_get_all_by_uuid(task_id)
            key["kw"]["args"]["task_id"] = task_id
            data["sla"][0] = {"success": True}
            self.assertEqual(len(res), 1)
            self.assertEqual(res[0]["key"], key)
            self.assertEqual(res[0]["data"], data)
예제 #11
0
파일: task.py 프로젝트: lihaijing/rally
 def get_results(self):
     return db.task_result_get_all_by_uuid(self.task["uuid"])
예제 #12
0
 def get_results(self):
     return db.task_result_get_all_by_uuid(self.task["uuid"])
예제 #13
0
    def test_task_multiple_raw_result_create(self):
        task_id = self._create_task()["uuid"]
        key = {
            "name": "atata",
            "description": "tatata",
            "pos": 0,
            "kw": {
                "args": {"a": "A"},
                "context": {"c": "C"},
                "sla": {"s": "S"},
                "runner": {"r": "R", "type": "T"},
                "hooks": [],
            }
        }

        subtask = db.subtask_create(task_id, title="foo")
        workload = db.workload_create(task_id, subtask["uuid"], key)

        db.workload_data_create(task_id, workload["uuid"], 0, {
            "raw": [
                {"error": "anError", "timestamp": 10, "duration": 1,
                 "atomic_actions": []},
                {"duration": 1, "timestamp": 10, "duration": 1,
                 "atomic_actions": []},
                {"duration": 2, "timestamp": 10, "duration": 1,
                 "atomic_actions": []},
                {"duration": 3, "timestamp": 10, "duration": 1,
                 "atomic_actions": []},
            ],
        })

        db.workload_data_create(task_id, workload["uuid"], 1, {
            "raw": [
                {"error": "anError2", "timestamp": 10, "duration": 1,
                 "atomic_actions": []},
                {"duration": 6, "timestamp": 10, "duration": 1,
                 "atomic_actions": []},
                {"duration": 5, "timestamp": 10, "duration": 1,
                 "atomic_actions": []},
                {"duration": 4, "timestamp": 10, "duration": 1,
                 "atomic_actions": []},
            ],
        })

        db.workload_data_create(task_id, workload["uuid"], 2, {
            "raw": [
                {"duration": 7, "timestamp": 10, "duration": 1,
                 "atomic_actions": []},
                {"duration": 8, "timestamp": 10, "duration": 1,
                 "atomic_actions": []},
            ],
        })

        db.workload_set_results(workload["uuid"], {
            "sla": [{"success": True}],
            "load_duration": 13,
            "full_duration": 42
        })

        res = db.task_result_get_all_by_uuid(task_id)
        self.assertEqual(len(res), 1)
        self.assertEqual(res[0]["key"], key)
        self.assertEqual(res[0]["data"], {
            "raw": [
                {"error": "anError", "timestamp": 10, "duration": 1,
                 "atomic_actions": []},
                {"duration": 1, "timestamp": 10, "duration": 1,
                 "atomic_actions": []},
                {"duration": 2, "timestamp": 10, "duration": 1,
                 "atomic_actions": []},
                {"duration": 3, "timestamp": 10, "duration": 1,
                 "atomic_actions": []},
                {"error": "anError2", "timestamp": 10, "duration": 1,
                 "atomic_actions": []},
                {"duration": 6, "timestamp": 10, "duration": 1,
                 "atomic_actions": []},
                {"duration": 5, "timestamp": 10, "duration": 1,
                 "atomic_actions": []},
                {"duration": 4, "timestamp": 10, "duration": 1,
                 "atomic_actions": []},
                {"duration": 7, "timestamp": 10, "duration": 1,
                 "atomic_actions": []},
                {"duration": 8, "timestamp": 10, "duration": 1,
                 "atomic_actions": []},
            ],
            "sla": [{"success": True}],
            "hooks": [],
            "load_duration": 13,
            "full_duration": 42
        })

        db.task_delete(task_id)
        res = db.task_result_get_all_by_uuid(task_id)
        self.assertEqual(len(res), 0)
예제 #14
0
    def test_task_result_get_all_by_uuid__transform_atomics(self):
        task = self._create_task()["uuid"]
        key = {
            "name": "atata",
            "description": "tatata",
            "pos": 0,
            "kw": {
                "args": {"task_id": "task_id"},
                "context": {"c": "C"},
                "sla": {"s": "S"},
                "runner": {"r": "R", "type": "T"},
                "hooks": [],
            }
        }

        workloads_data = [
            {"raw": [
                {"duration": 1, "timestamp": 1, "idle_duration": 1,
                 "error": None, "output": None,
                 "atomic_actions": collections.OrderedDict(
                     [("foo", 1), ("bar", 2)])},
                {"duration": 1, "timestamp": 1, "idle_duration": 1,
                 "error": None, "output": None,
                 "atomic_actions": collections.OrderedDict(
                     [("xxx", 1), ("yyy", 2)])},
            ]},
            {"raw": [
                {"duration": 1, "timestamp": 1, "idle_duration": 1,
                 "error": None, "output": None,
                 "atomic_actions": collections.OrderedDict(
                     [("xxx", 1), ("yyy", 2), ("zzz", 2)])}
            ]}
        ]

        key["kw"]["args"]["task_id"] = task
        subtask = db.subtask_create(task, title="foo")
        workload = db.workload_create(task, subtask["uuid"], key)

        for i, data in enumerate(workloads_data):
            db.workload_data_create(task, workload["uuid"], i, data)

        db.workload_set_results(workload["uuid"], {"sla": [{"success": True}],
                                                   "load_duration": 13,
                                                   "full_duration": 42,
                                                   "hooks": []})
        results = db.task_result_get_all_by_uuid(task)
        self.assertEqual(1, len(results))
        self.assertEqual(
            [[{"started_at": 1, "finished_at": 2, "children": [],
               "name": "foo"},
              {"started_at": 2, "finished_at": 4, "children": [],
               "name": "bar"}],
             [{"started_at": 1, "finished_at": 2, "children": [],
               "name": "xxx"},
              {"started_at": 2, "finished_at": 4, "children": [],
               "name": "yyy"}],
             [{"started_at": 1, "finished_at": 2, "children": [],
               "name": "xxx"},
              {"started_at": 2, "finished_at": 4, "children": [],
               "name": "yyy"},
              {"started_at": 4, "finished_at": 6, "children": [],
               "name": "zzz"}]],
            [w["atomic_actions"] for w in results[0]["data"]["raw"]])