diff --git a/freezer_api/tests/unit/common.py b/freezer_api/tests/unit/common.py index 0c792809..02a8c121 100644 --- a/freezer_api/tests/unit/common.py +++ b/freezer_api/tests/unit/common.py @@ -282,6 +282,50 @@ fake_job_2 = { "description": "test action 5" } +fake_job_3 = { + "job_actions": [ + { + "freezer_action": { + "action": "backup", + "mode": "fs", + "src_file": "/home/tylerdurden/project_mayhem", + "backup_name": "project_mayhem_backup", + "container": "my_backup_container1" + }, + "max_retries": 3, + "max_retries_interval": 150, + "mandatory": False + }, + { + "freezer_action": { + "action": "restore", + "mode": "fs", + "restore_abs_path": "/home/tylerdurden/project_mayhem", + "restore_from_host": "node_on_which_backup_was_made", + "backup_name": "project_mayhem_backup", + "container": "my_backup_container1" + }, + "max_retries": 4, + "max_retries_interval": 60, + "mandatory": True + } + ], + "job_schedule": { + "time_created": 1234, + "time_started": 1234, + "time_ended": 1234, + "status": "stop", + "result": "success", + "schedule_date": "2015-06-02T16:20:00", + "schedule_interval": "14 days" + }, + "job_id": "e7181e5e-2c75-43f8-92c0-c037ae5f11e5", + "client_id": "mytenantid_myhostname2", + "user_id": "f4db4da085f043059441565720b217c7", + "project_id": "tecs", + "description": "test action 6" +} + def get_fake_job_0(): return copy.deepcopy(fake_job_0) @@ -297,6 +341,10 @@ def get_fake_job_2(): return copy.deepcopy(fake_job_2) +def get_fake_job_3(): + return copy.deepcopy(fake_job_3) + + def get_fake_job_id(): return uuid.uuid4().hex diff --git a/freezer_api/tests/unit/sqlalchemy/test_job.py b/freezer_api/tests/unit/sqlalchemy/test_job.py index 983a4454..b13b3f5c 100644 --- a/freezer_api/tests/unit/sqlalchemy/test_job.py +++ b/freezer_api/tests/unit/sqlalchemy/test_job.py @@ -31,6 +31,8 @@ class DbJobTestCase(base.DbTestCase): self.fake_job_0.pop('job_id') self.fake_job_2 = common.get_fake_job_2() self.fake_job_2.pop('job_id') + self.fake_job_3 = common.get_fake_job_3() + self.fake_job_3.pop('job_id') self.fake_project_id = self.fake_job_0.get('project_id') self.fake_job_id = common.get_fake_job_id() @@ -156,3 +158,30 @@ class DbJobTestCase(base.DbTestCase): self.assertIsNotNone(result) self.assertEqual(result, self.fake_job_id) + + def test_add_and_search_job(self): + count = 0 + jobids = [] + while (count < 20): + doc = copy.deepcopy(self.fake_job_3) + job_id = self.dbapi.add_job(user_id=self.fake_job_3. + get('user_id'), + doc=doc, + project_id=self.fake_project_id) + self.assertIsNotNone(job_id) + jobids.append(job_id) + count += 1 + + result = self.dbapi.search_job(user_id=self.fake_job_3. + get('user_id'), + project_id=self.fake_project_id, + offset=0, + limit=10) + + self.assertIsNotNone(result) + + self.assertEqual(len(result), 10) + + for index in range(len(result)): + jobmap = result[index] + self.assertEqual(jobids[index], jobmap['job_id'])