Add search_session unit test for search option

This patch is for search_session unit test with search option.
This query is from freezer client api(not freezer client cmd).

Change-Id: Ide2c710a7d40ce43cb9861b469132f195cbfa2e9
This commit is contained in:
gengchc2 2018-11-27 19:48:26 -08:00
parent 9ca5617b1d
commit 7927579985
1 changed files with 109 additions and 1 deletions

View File

@ -169,7 +169,7 @@ class DbSessionTestCase(base.DbTestCase):
self.assertEqual(result, self.fake_session_id)
def test_add_and_search_session(self):
def test_session_list_without_search(self):
count = 0
sessionids = []
while (count < 20):
@ -195,3 +195,111 @@ class DbSessionTestCase(base.DbTestCase):
for index in range(len(result)):
sessionmap = result[index]
self.assertEqual(sessionids[index], sessionmap['session_id'])
def test_session_list_with_search_match_and_match_not(self):
count = 0
sessionids = []
while (count < 20):
doc = copy.deepcopy(self.fake_session_3)
if count in [0, 4, 8, 12, 16]:
doc['hold_off'] = 100
if count in [4, 12]:
doc['schedule']['schedule_date'] = \
'2018-12-12T00:00:00'
session_id = self.dbapi.add_session(project_id=self.fake_session_3.
get('project_id'),
user_id=self.fake_session_3.
get('user_id'),
doc=doc)
self.assertIsNotNone(session_id)
sessionids.append(session_id)
count += 1
search_opt = {'match': [{'hold_off': 100}],
'match_not':
[{'schedule_date': '2018-12-12T00:00:00'}]
}
result = self.dbapi.search_session(user_id=self.fake_session_3.
get('user_id'),
project_id=self.fake_session_3.
get('project_id'),
offset=0,
limit=20,
search=search_opt)
self.assertIsNotNone(result)
self.assertEqual(len(result), 3)
for index in range(len(result)):
sessionmap = result[index]
self.assertEqual(100, sessionmap['hold_off'])
self.assertEqual('2018-11-14T16:20:00',
sessionmap['schedule']['schedule_date'])
def test_session_list_with_search_match_list(self):
count = 0
sessionids = []
while (count < 20):
doc = copy.deepcopy(self.fake_session_3)
if count in [0, 4, 8, 12, 16]:
doc['hold_off'] = 100
if count in [4, 12]:
doc['schedule']['schedule_date'] = '2018-12-12T00:00:00'
session_id = self.dbapi.add_session(project_id=self.fake_session_3.
get('project_id'),
user_id=self.fake_session_3.
get('user_id'),
doc=doc)
self.assertIsNotNone(session_id)
sessionids.append(session_id)
count += 1
search_opt = {'match': [{'hold_off': 100},
{'schedule_date': '2018-12-12T00:00:00'}]}
result = self.dbapi.search_session(user_id=self.fake_session_3.
get('user_id'),
project_id=self.fake_session_3.
get('project_id'),
offset=0,
limit=20,
search=search_opt)
self.assertIsNotNone(result)
self.assertEqual(len(result), 2)
for index in range(len(result)):
sessionmap = result[index]
self.assertEqual(100, sessionmap['hold_off'])
self.assertEqual('2018-12-12T00:00:00',
sessionmap['schedule']['schedule_date'])
def test_session_list_with_search_match_not_list(self):
count = 0
sessionids = []
while (count < 20):
doc = copy.deepcopy(self.fake_session_3)
if count in [0, 4, 8, 12, 16]:
doc['hold_off'] = 100
if count in [4, 12]:
doc['schedule']['schedule_date'] = '2018-12-12T00:00:00'
session_id = self.dbapi.add_session(project_id=self.fake_session_3.
get('project_id'),
user_id=self.fake_session_3.
get('user_id'),
doc=doc)
self.assertIsNotNone(session_id)
sessionids.append(session_id)
count += 1
search_opt = {'match_not': [{'schedule_date': '2018-11-14T16:20:00'},
{'hold_off': 60}]}
result = self.dbapi.search_session(user_id=self.fake_session_3.
get('user_id'),
project_id=self.fake_session_3.
get('project_id'),
offset=0,
limit=20,
search=search_opt)
self.assertIsNotNone(result)
self.assertEqual(len(result), 2)
for index in range(len(result)):
sessionmap = result[index]
self.assertEqual(100, sessionmap['hold_off'])
self.assertEqual('2018-12-12T00:00:00',
sessionmap['schedule']['schedule_date'])