From 08e22adfbb20847dfd7b444098f76e7ef0235038 Mon Sep 17 00:00:00 2001 From: gengchc2 Date: Wed, 14 Nov 2018 00:56:34 -0800 Subject: [PATCH] Add session update unit test for sqlalchemy Change-Id: I8e664fd4487d7dfe15627a513e300006182a50fd --- freezer_api/tests/unit/common.py | 37 +++++++++++++++++++ .../tests/unit/sqlalchemy/test_session.py | 35 ++++++++++++++++++ 2 files changed, 72 insertions(+) diff --git a/freezer_api/tests/unit/common.py b/freezer_api/tests/unit/common.py index ca3fb65d..49125a20 100644 --- a/freezer_api/tests/unit/common.py +++ b/freezer_api/tests/unit/common.py @@ -498,6 +498,39 @@ fake_session_1 = { "project_id": "tecs" } +fake_session_2 = { + "session_id": 'turistidellademocrazia', + "session_tag": 5, + "description": 'This is a session about test', + "hold_off": 100, + "schedule": { + "time_created": 1234, + "time_started": 1234, + "time_ended": 0, + "status": "stop", + "schedule_date": "2018-11-14T16:20:00" + }, + "jobs": { + 'venerescollataincorpodalolita': { + "client_id": 'bruco', + "status": 'running', + "start_time": 12344321, + }, + 'job_id_2': { + "client_id": "cocktail", + "status": 'completed', + "result": 'success', + "start_time": 123321, + "end_time": 123325, + } + }, + "time_start": 123412344, + "time_end": 432234432, + "status": "running", + "user_id": "califfo", + "project_id": "tecs" +} + def get_fake_session_0(): return copy.deepcopy(fake_session_0) @@ -507,6 +540,10 @@ def get_fake_session_1(): return copy.deepcopy(fake_session_1) +def get_fake_session_2(): + return copy.deepcopy(fake_session_2) + + class FakeReqResp(object): def __init__(self, method='GET', body=''): self.method = method diff --git a/freezer_api/tests/unit/sqlalchemy/test_session.py b/freezer_api/tests/unit/sqlalchemy/test_session.py index a7b47dcd..71ded244 100644 --- a/freezer_api/tests/unit/sqlalchemy/test_session.py +++ b/freezer_api/tests/unit/sqlalchemy/test_session.py @@ -29,6 +29,8 @@ class DbSessionTestCase(base.DbTestCase): super(DbSessionTestCase, self).setUp() self.fake_session_0 = common.get_fake_session_0() self.fake_session_0.pop('session_id') + self.fake_session_2 = common.get_fake_session_2() + self.fake_session_2.pop('session_id') def test_add_and_get_session(self): session_doc = copy.deepcopy(self.fake_session_0) @@ -84,3 +86,36 @@ class DbSessionTestCase(base.DbTestCase): get('user_id'), session_id=session_id) self.assertEqual(len(result), 0) + + def test_add_and_update_session(self): + session_doc = copy.deepcopy(self.fake_session_0) + session_id = self.dbapi.add_session(project_id=self.fake_session_0. + get('project_id'), + user_id=self.fake_session_0. + get('user_id'), + doc=session_doc) + self.assertIsNotNone(session_id) + + patch_doc = copy.deepcopy(self.fake_session_2) + result = self.dbapi.update_session(user_id=self.fake_session_0. + get('user_id'), + session_id=session_id, + patch_doc=patch_doc, + project_id=self.fake_session_0. + get('project_id')) + self.assertIsNotNone(result) + self.assertEqual(result, 0) + + result = self.dbapi.get_session(project_id=self.fake_session_0. + get('project_id'), + user_id=self.fake_session_0. + get('user_id'), + session_id=session_id) + self.assertIsNotNone(result) + self.assertEqual(result.get('description'), + self.fake_session_2.get('description')) + self.assertEqual(result.get('hold_off'), + self.fake_session_2.get('hold_off')) + self.assertEqual(result.get('schedule').get('schedule_date'), + self.fake_session_2.get('schedule'). + get('schedule_date'))