From f352d71177f5e35537f3f96f565039af1ea6168b Mon Sep 17 00:00:00 2001 From: juk0de Date: Tue, 26 Sep 2023 10:12:24 +0200 Subject: [PATCH] test_chat: changed all tests to use the new '.msg' suffix --- tests/test_chat.py | 192 +++++++++++++++++++++++---------------------- 1 file changed, 100 insertions(+), 92 deletions(-) diff --git a/tests/test_chat.py b/tests/test_chat.py index a69f92c..0d4f672 100644 --- a/tests/test_chat.py +++ b/tests/test_chat.py @@ -10,6 +10,20 @@ from chatmastermind.message import Message, Question, Answer, Tag, MessageFilter from chatmastermind.chat import Chat, ChatDB, ChatError +msg_suffix: str = Message.file_suffix_write + + +def msg_to_file_force_suffix(msg: Message) -> None: + """ + Force writing a message file with illegal suffixes. + """ + def_suffix = Message.file_suffix_write + assert msg.file_path + Message.file_suffix_write = msg.file_path.suffix + msg.to_file() + Message.file_suffix_write = def_suffix + + class TestChatBase(unittest.TestCase): def assert_messages_equal(self, msg1: list[Message], msg2: list[Message]) -> None: """ @@ -27,11 +41,11 @@ class TestChat(TestChatBase): self.message1 = Message(Question('Question 1'), Answer('Answer 1'), {Tag('atag1'), Tag('btag2')}, - file_path=pathlib.Path('0001.txt')) + file_path=pathlib.Path(f'0001{msg_suffix}')) self.message2 = Message(Question('Question 2'), Answer('Answer 2'), {Tag('btag2')}, - file_path=pathlib.Path('0002.txt')) + file_path=pathlib.Path(f'0002{msg_suffix}')) self.maxDiff = None def test_unique_id(self) -> None: @@ -99,24 +113,24 @@ class TestChat(TestChatBase): def test_find_remove_messages(self) -> None: self.chat.msg_add([self.message1, self.message2]) - msgs = self.chat.msg_find(['0001.txt']) + msgs = self.chat.msg_find(['0001']) self.assertListEqual(msgs, [self.message1]) - msgs = self.chat.msg_find(['0001.txt', '0002.txt']) + msgs = self.chat.msg_find(['0001', '0002']) self.assertListEqual(msgs, [self.message1, self.message2]) # add new Message with full path message3 = Message(Question('Question 2'), Answer('Answer 2'), {Tag('btag2')}, - file_path=pathlib.Path('/foo/bla/0003.txt')) + file_path=pathlib.Path(f'/foo/bla/0003{msg_suffix}')) self.chat.msg_add([message3]) # find new Message by full path - msgs = self.chat.msg_find(['/foo/bla/0003.txt']) + msgs = self.chat.msg_find([f'/foo/bla/0003{msg_suffix}']) self.assertListEqual(msgs, [message3]) # find Message with full path only by filename - msgs = self.chat.msg_find(['0003.txt']) + msgs = self.chat.msg_find([f'0003{msg_suffix}']) self.assertListEqual(msgs, [message3]) # remove last message - self.chat.msg_remove(['0003.txt']) + self.chat.msg_remove(['0003']) self.assertListEqual(self.chat.messages, [self.message1, self.message2]) def test_latest_message(self) -> None: @@ -146,13 +160,13 @@ Answer 2 self.chat.msg_add([self.message1, self.message2]) self.chat.print(paged=False, with_tags=True, with_files=True) expected_output = f"""{TagLine.prefix} atag1 btag2 -FILE: 0001.txt +FILE: 0001{msg_suffix} {Question.txt_header} Question 1 {Answer.txt_header} Answer 1 {TagLine.prefix} btag2 -FILE: 0002.txt +FILE: 0002{msg_suffix} {Question.txt_header} Question 2 {Answer.txt_header} @@ -168,31 +182,27 @@ class TestChatDB(TestChatBase): self.message1 = Message(Question('Question 1'), Answer('Answer 1'), - {Tag('tag1')}, - file_path=pathlib.Path('0001.txt')) + {Tag('tag1')}) self.message2 = Message(Question('Question 2'), Answer('Answer 2'), - {Tag('tag2')}, - file_path=pathlib.Path('0002.yaml')) + {Tag('tag2')}) self.message3 = Message(Question('Question 3'), Answer('Answer 3'), - {Tag('tag3')}, - file_path=pathlib.Path('0003.txt')) + {Tag('tag3')}) self.message4 = Message(Question('Question 4'), Answer('Answer 4'), - {Tag('tag4')}, - file_path=pathlib.Path('0004.yaml')) + {Tag('tag4')}) - self.message1.to_file(pathlib.Path(self.db_path.name, '0001.txt')) - self.message2.to_file(pathlib.Path(self.db_path.name, '0002.yaml')) - self.message3.to_file(pathlib.Path(self.db_path.name, '0003.txt')) - self.message4.to_file(pathlib.Path(self.db_path.name, '0004.yaml')) + self.message1.to_file(pathlib.Path(self.db_path.name, '0001'), mformat='txt') + self.message2.to_file(pathlib.Path(self.db_path.name, '0002'), mformat='yaml') + self.message3.to_file(pathlib.Path(self.db_path.name, '0003'), mformat='txt') + self.message4.to_file(pathlib.Path(self.db_path.name, '0004'), mformat='yaml') # make the next FID match the current state next_fname = pathlib.Path(self.db_path.name) / '.next' with open(next_fname, 'w') as f: f.write('4') # add some "trash" in order to test if it's correctly handled / ignored - self.trash_files = ['.config.yaml', 'foo.yaml', 'bla.txt'] + self.trash_files = ['.config.yaml', 'foo.yaml', 'bla.txt', 'fubar.msg'] for file in self.trash_files: with open(pathlib.Path(self.db_path.name) / file, 'w') as f: f.write('test trash') @@ -207,7 +217,7 @@ class TestChatDB(TestChatBase): List all Message files in the given TemporaryDirectory. """ # exclude '.next' - return [f for f in pathlib.Path(tmp_dir.name).glob('*.[ty]*') if f.name not in self.trash_files] + return [f for f in pathlib.Path(tmp_dir.name).glob('*.[tym]*') if f.name not in self.trash_files] def tearDown(self) -> None: self.db_path.cleanup() @@ -218,8 +228,8 @@ class TestChatDB(TestChatBase): duplicate_message = Message(Question('Question 4'), Answer('Answer 4'), {Tag('tag4')}, - file_path=pathlib.Path('0004.txt')) - duplicate_message.to_file(pathlib.Path(self.db_path.name, '0004.txt')) + file_path=pathlib.Path(self.db_path.name, '0004.txt')) + msg_to_file_force_suffix(duplicate_message) with self.assertRaises(ChatError) as cm: ChatDB.from_dir(pathlib.Path(self.cache_path.name), pathlib.Path(self.db_path.name)) @@ -233,25 +243,23 @@ class TestChatDB(TestChatBase): self.assertEqual(chat_db.db_path, pathlib.Path(self.db_path.name)) # check that the files are sorted self.assertEqual(chat_db.messages[0].file_path, - pathlib.Path(self.db_path.name, '0001.txt')) + pathlib.Path(self.db_path.name, f'0001{msg_suffix}')) self.assertEqual(chat_db.messages[1].file_path, - pathlib.Path(self.db_path.name, '0002.yaml')) + pathlib.Path(self.db_path.name, f'0002{msg_suffix}')) self.assertEqual(chat_db.messages[2].file_path, - pathlib.Path(self.db_path.name, '0003.txt')) + pathlib.Path(self.db_path.name, f'0003{msg_suffix}')) self.assertEqual(chat_db.messages[3].file_path, - pathlib.Path(self.db_path.name, '0004.yaml')) + pathlib.Path(self.db_path.name, f'0004{msg_suffix}')) def test_from_dir_glob(self) -> None: chat_db = ChatDB.from_dir(pathlib.Path(self.cache_path.name), pathlib.Path(self.db_path.name), - glob='*.txt') - self.assertEqual(len(chat_db.messages), 2) + glob='*1.*') + self.assertEqual(len(chat_db.messages), 1) self.assertEqual(chat_db.cache_path, pathlib.Path(self.cache_path.name)) self.assertEqual(chat_db.db_path, pathlib.Path(self.db_path.name)) self.assertEqual(chat_db.messages[0].file_path, - pathlib.Path(self.db_path.name, '0001.txt')) - self.assertEqual(chat_db.messages[1].file_path, - pathlib.Path(self.db_path.name, '0003.txt')) + pathlib.Path(self.db_path.name, f'0001{msg_suffix}')) def test_from_dir_filter_tags(self) -> None: chat_db = ChatDB.from_dir(pathlib.Path(self.cache_path.name), @@ -261,7 +269,7 @@ class TestChatDB(TestChatBase): self.assertEqual(chat_db.cache_path, pathlib.Path(self.cache_path.name)) self.assertEqual(chat_db.db_path, pathlib.Path(self.db_path.name)) self.assertEqual(chat_db.messages[0].file_path, - pathlib.Path(self.db_path.name, '0001.txt')) + pathlib.Path(self.db_path.name, f'0001{msg_suffix}')) def test_from_dir_filter_tags_empty(self) -> None: chat_db = ChatDB.from_dir(pathlib.Path(self.cache_path.name), @@ -279,7 +287,7 @@ class TestChatDB(TestChatBase): self.assertEqual(chat_db.cache_path, pathlib.Path(self.cache_path.name)) self.assertEqual(chat_db.db_path, pathlib.Path(self.db_path.name)) self.assertEqual(chat_db.messages[0].file_path, - pathlib.Path(self.db_path.name, '0002.yaml')) + pathlib.Path(self.db_path.name, f'0002{msg_suffix}')) self.assertEqual(chat_db.messages[0].answer, 'Answer 2') def test_from_messages(self) -> None: @@ -324,25 +332,25 @@ class TestChatDB(TestChatBase): chat_db = ChatDB.from_dir(pathlib.Path(self.cache_path.name), pathlib.Path(self.db_path.name)) # check that Message.file_path is correct - self.assertEqual(chat_db.messages[0].file_path, pathlib.Path(self.db_path.name, '0001.txt')) - self.assertEqual(chat_db.messages[1].file_path, pathlib.Path(self.db_path.name, '0002.yaml')) - self.assertEqual(chat_db.messages[2].file_path, pathlib.Path(self.db_path.name, '0003.txt')) - self.assertEqual(chat_db.messages[3].file_path, pathlib.Path(self.db_path.name, '0004.yaml')) + self.assertEqual(chat_db.messages[0].file_path, pathlib.Path(self.db_path.name, f'0001{msg_suffix}')) + self.assertEqual(chat_db.messages[1].file_path, pathlib.Path(self.db_path.name, f'0002{msg_suffix}')) + self.assertEqual(chat_db.messages[2].file_path, pathlib.Path(self.db_path.name, f'0003{msg_suffix}')) + self.assertEqual(chat_db.messages[3].file_path, pathlib.Path(self.db_path.name, f'0004{msg_suffix}')) # write the messages to the cache directory chat_db.cache_write() # check if the written files are in the cache directory cache_dir_files = self.message_list(self.cache_path) self.assertEqual(len(cache_dir_files), 4) - self.assertIn(pathlib.Path(self.cache_path.name, '0001.txt'), cache_dir_files) - self.assertIn(pathlib.Path(self.cache_path.name, '0002.yaml'), cache_dir_files) - self.assertIn(pathlib.Path(self.cache_path.name, '0003.txt'), cache_dir_files) - self.assertIn(pathlib.Path(self.cache_path.name, '0004.yaml'), cache_dir_files) + self.assertIn(pathlib.Path(self.cache_path.name, f'0001{msg_suffix}'), cache_dir_files) + self.assertIn(pathlib.Path(self.cache_path.name, f'0002{msg_suffix}'), cache_dir_files) + self.assertIn(pathlib.Path(self.cache_path.name, f'0003{msg_suffix}'), cache_dir_files) + self.assertIn(pathlib.Path(self.cache_path.name, f'0004{msg_suffix}'), cache_dir_files) # check that Message.file_path has been correctly updated - self.assertEqual(chat_db.messages[0].file_path, pathlib.Path(self.cache_path.name, '0001.txt')) - self.assertEqual(chat_db.messages[1].file_path, pathlib.Path(self.cache_path.name, '0002.yaml')) - self.assertEqual(chat_db.messages[2].file_path, pathlib.Path(self.cache_path.name, '0003.txt')) - self.assertEqual(chat_db.messages[3].file_path, pathlib.Path(self.cache_path.name, '0004.yaml')) + self.assertEqual(chat_db.messages[0].file_path, pathlib.Path(self.cache_path.name, f'0001{msg_suffix}')) + self.assertEqual(chat_db.messages[1].file_path, pathlib.Path(self.cache_path.name, f'0002{msg_suffix}')) + self.assertEqual(chat_db.messages[2].file_path, pathlib.Path(self.cache_path.name, f'0003{msg_suffix}')) + self.assertEqual(chat_db.messages[3].file_path, pathlib.Path(self.cache_path.name, f'0004{msg_suffix}')) # check the timestamp of the files in the DB directory db_dir_files = self.message_list(self.db_path) @@ -354,18 +362,18 @@ class TestChatDB(TestChatBase): # check if the written files are in the DB directory db_dir_files = self.message_list(self.db_path) self.assertEqual(len(db_dir_files), 4) - self.assertIn(pathlib.Path(self.db_path.name, '0001.txt'), db_dir_files) - self.assertIn(pathlib.Path(self.db_path.name, '0002.yaml'), db_dir_files) - self.assertIn(pathlib.Path(self.db_path.name, '0003.txt'), db_dir_files) - self.assertIn(pathlib.Path(self.db_path.name, '0004.yaml'), db_dir_files) + self.assertIn(pathlib.Path(self.db_path.name, f'0001{msg_suffix}'), db_dir_files) + self.assertIn(pathlib.Path(self.db_path.name, f'0002{msg_suffix}'), db_dir_files) + self.assertIn(pathlib.Path(self.db_path.name, f'0003{msg_suffix}'), db_dir_files) + self.assertIn(pathlib.Path(self.db_path.name, f'0004{msg_suffix}'), db_dir_files) # check if all files in the DB dir have actually been overwritten for file in db_dir_files: self.assertGreater(file.stat().st_mtime, old_timestamps[file]) # check that Message.file_path has been correctly updated (again) - self.assertEqual(chat_db.messages[0].file_path, pathlib.Path(self.db_path.name, '0001.txt')) - self.assertEqual(chat_db.messages[1].file_path, pathlib.Path(self.db_path.name, '0002.yaml')) - self.assertEqual(chat_db.messages[2].file_path, pathlib.Path(self.db_path.name, '0003.txt')) - self.assertEqual(chat_db.messages[3].file_path, pathlib.Path(self.db_path.name, '0004.yaml')) + self.assertEqual(chat_db.messages[0].file_path, pathlib.Path(self.db_path.name, f'0001{msg_suffix}')) + self.assertEqual(chat_db.messages[1].file_path, pathlib.Path(self.db_path.name, f'0002{msg_suffix}')) + self.assertEqual(chat_db.messages[2].file_path, pathlib.Path(self.db_path.name, f'0003{msg_suffix}')) + self.assertEqual(chat_db.messages[3].file_path, pathlib.Path(self.db_path.name, f'0004{msg_suffix}')) def test_db_read(self) -> None: # create a new ChatDB instance @@ -380,65 +388,65 @@ class TestChatDB(TestChatBase): new_message2 = Message(Question('Question 6'), Answer('Answer 6'), {Tag('tag6')}) - new_message1.to_file(pathlib.Path(self.db_path.name, '0005.txt')) - new_message2.to_file(pathlib.Path(self.db_path.name, '0006.yaml')) + new_message1.to_file(pathlib.Path(self.db_path.name, f'0005{msg_suffix}'), mformat='txt') + new_message2.to_file(pathlib.Path(self.db_path.name, f'0006{msg_suffix}'), mformat='yaml') # read and check them chat_db.db_read() self.assertEqual(len(chat_db.messages), 6) - self.assertEqual(chat_db.messages[4].file_path, pathlib.Path(self.db_path.name, '0005.txt')) - self.assertEqual(chat_db.messages[5].file_path, pathlib.Path(self.db_path.name, '0006.yaml')) + self.assertEqual(chat_db.messages[4].file_path, pathlib.Path(self.db_path.name, f'0005{msg_suffix}')) + self.assertEqual(chat_db.messages[5].file_path, pathlib.Path(self.db_path.name, f'0006{msg_suffix}')) # create 2 new files in the cache directory new_message3 = Message(Question('Question 7'), - Answer('Answer 5'), + Answer('Answer 7'), {Tag('tag7')}) new_message4 = Message(Question('Question 8'), - Answer('Answer 6'), + Answer('Answer 8'), {Tag('tag8')}) - new_message3.to_file(pathlib.Path(self.cache_path.name, '0007.txt')) - new_message4.to_file(pathlib.Path(self.cache_path.name, '0008.yaml')) + new_message3.to_file(pathlib.Path(self.cache_path.name, f'0007{msg_suffix}'), mformat='txt') + new_message4.to_file(pathlib.Path(self.cache_path.name, f'0008{msg_suffix}'), mformat='yaml') # read and check them chat_db.cache_read() self.assertEqual(len(chat_db.messages), 8) # check that the new message have the cache dir path - self.assertEqual(chat_db.messages[6].file_path, pathlib.Path(self.cache_path.name, '0007.txt')) - self.assertEqual(chat_db.messages[7].file_path, pathlib.Path(self.cache_path.name, '0008.yaml')) + self.assertEqual(chat_db.messages[6].file_path, pathlib.Path(self.cache_path.name, f'0007{msg_suffix}')) + self.assertEqual(chat_db.messages[7].file_path, pathlib.Path(self.cache_path.name, f'0008{msg_suffix}')) # an the old ones keep their path (since they have not been replaced) - self.assertEqual(chat_db.messages[4].file_path, pathlib.Path(self.db_path.name, '0005.txt')) - self.assertEqual(chat_db.messages[5].file_path, pathlib.Path(self.db_path.name, '0006.yaml')) + self.assertEqual(chat_db.messages[4].file_path, pathlib.Path(self.db_path.name, f'0005{msg_suffix}')) + self.assertEqual(chat_db.messages[5].file_path, pathlib.Path(self.db_path.name, f'0006{msg_suffix}')) # now overwrite two messages in the DB directory new_message1.question = Question('New Question 1') new_message2.question = Question('New Question 2') - new_message1.to_file(pathlib.Path(self.db_path.name, '0005.txt')) - new_message2.to_file(pathlib.Path(self.db_path.name, '0006.yaml')) + new_message1.to_file(pathlib.Path(self.db_path.name, f'0005{msg_suffix}'), mformat='txt') + new_message2.to_file(pathlib.Path(self.db_path.name, f'0006{msg_suffix}'), mformat='yaml') # read from the DB dir and check if the modified messages have been updated chat_db.db_read() self.assertEqual(len(chat_db.messages), 8) self.assertEqual(chat_db.messages[4].question, 'New Question 1') self.assertEqual(chat_db.messages[5].question, 'New Question 2') - self.assertEqual(chat_db.messages[4].file_path, pathlib.Path(self.db_path.name, '0005.txt')) - self.assertEqual(chat_db.messages[5].file_path, pathlib.Path(self.db_path.name, '0006.yaml')) + self.assertEqual(chat_db.messages[4].file_path, pathlib.Path(self.db_path.name, f'0005{msg_suffix}')) + self.assertEqual(chat_db.messages[5].file_path, pathlib.Path(self.db_path.name, f'0006{msg_suffix}')) # now write the messages from the cache to the DB directory - new_message3.to_file(pathlib.Path(self.db_path.name, '0007.txt')) - new_message4.to_file(pathlib.Path(self.db_path.name, '0008.yaml')) + new_message3.to_file(pathlib.Path(self.db_path.name, f'0007{msg_suffix}')) + new_message4.to_file(pathlib.Path(self.db_path.name, f'0008{msg_suffix}')) # read and check them chat_db.db_read() self.assertEqual(len(chat_db.messages), 8) # check that they now have the DB path - self.assertEqual(chat_db.messages[6].file_path, pathlib.Path(self.db_path.name, '0007.txt')) - self.assertEqual(chat_db.messages[7].file_path, pathlib.Path(self.db_path.name, '0008.yaml')) + self.assertEqual(chat_db.messages[6].file_path, pathlib.Path(self.db_path.name, f'0007{msg_suffix}')) + self.assertEqual(chat_db.messages[7].file_path, pathlib.Path(self.db_path.name, f'0008{msg_suffix}')) def test_cache_clear(self) -> None: # create a new ChatDB instance chat_db = ChatDB.from_dir(pathlib.Path(self.cache_path.name), pathlib.Path(self.db_path.name)) # check that Message.file_path is correct - self.assertEqual(chat_db.messages[0].file_path, pathlib.Path(self.db_path.name, '0001.txt')) - self.assertEqual(chat_db.messages[1].file_path, pathlib.Path(self.db_path.name, '0002.yaml')) - self.assertEqual(chat_db.messages[2].file_path, pathlib.Path(self.db_path.name, '0003.txt')) - self.assertEqual(chat_db.messages[3].file_path, pathlib.Path(self.db_path.name, '0004.yaml')) + self.assertEqual(chat_db.messages[0].file_path, pathlib.Path(self.db_path.name, f'0001{msg_suffix}')) + self.assertEqual(chat_db.messages[1].file_path, pathlib.Path(self.db_path.name, f'0002{msg_suffix}')) + self.assertEqual(chat_db.messages[2].file_path, pathlib.Path(self.db_path.name, f'0003{msg_suffix}')) + self.assertEqual(chat_db.messages[3].file_path, pathlib.Path(self.db_path.name, f'0004{msg_suffix}')) # write the messages to the cache directory chat_db.cache_write() @@ -450,10 +458,10 @@ class TestChatDB(TestChatBase): chat_db.db_write() db_dir_files = self.message_list(self.db_path) self.assertEqual(len(db_dir_files), 4) - self.assertIn(pathlib.Path(self.db_path.name, '0001.txt'), db_dir_files) - self.assertIn(pathlib.Path(self.db_path.name, '0002.yaml'), db_dir_files) - self.assertIn(pathlib.Path(self.db_path.name, '0003.txt'), db_dir_files) - self.assertIn(pathlib.Path(self.db_path.name, '0004.yaml'), db_dir_files) + self.assertIn(pathlib.Path(self.db_path.name, f'0001{msg_suffix}'), db_dir_files) + self.assertIn(pathlib.Path(self.db_path.name, f'0002{msg_suffix}'), db_dir_files) + self.assertIn(pathlib.Path(self.db_path.name, f'0003{msg_suffix}'), db_dir_files) + self.assertIn(pathlib.Path(self.db_path.name, f'0004{msg_suffix}'), db_dir_files) # add a new message with empty file_path message_empty = Message(question=Question("What the hell am I doing here?"), @@ -461,7 +469,7 @@ class TestChatDB(TestChatBase): # and one for the cache dir message_cache = Message(question=Question("What the hell am I doing here?"), answer=Answer("You're a creep!"), - file_path=pathlib.Path(self.cache_path.name, '0005.txt')) + file_path=pathlib.Path(self.cache_path.name, '0005')) chat_db.msg_add([message_empty, message_cache]) # clear the cache and check the cache dir @@ -523,11 +531,11 @@ class TestChatDB(TestChatBase): chat_db.msg_write([message]) # write a message with a valid file_path - message.file_path = pathlib.Path(self.cache_path.name) / '123456.txt' + message.file_path = pathlib.Path(self.cache_path.name) / '123456' chat_db.msg_write([message]) cache_dir_files = self.message_list(self.cache_path) self.assertEqual(len(cache_dir_files), 1) - self.assertIn(pathlib.Path(self.cache_path.name, '123456.txt'), cache_dir_files) + self.assertIn(pathlib.Path(self.cache_path.name, f'123456{msg_suffix}'), cache_dir_files) def test_msg_update(self) -> None: # create a new ChatDB instance @@ -563,21 +571,21 @@ class TestChatDB(TestChatBase): # search for a DB file in memory self.assertEqual(chat_db.msg_find([str(self.message1.file_path)], loc='mem'), [self.message1]) self.assertEqual(chat_db.msg_find([self.message1.msg_id()], loc='mem'), [self.message1]) - self.assertEqual(chat_db.msg_find(['0001.txt'], loc='mem'), [self.message1]) + self.assertEqual(chat_db.msg_find(['0001.msg'], loc='mem'), [self.message1]) self.assertEqual(chat_db.msg_find(['0001'], loc='mem'), [self.message1]) # and on disk self.assertEqual(chat_db.msg_find([str(self.message2.file_path)], loc='db'), [self.message2]) self.assertEqual(chat_db.msg_find([self.message2.msg_id()], loc='db'), [self.message2]) - self.assertEqual(chat_db.msg_find(['0002.yaml'], loc='db'), [self.message2]) + self.assertEqual(chat_db.msg_find(['0002.msg'], loc='db'), [self.message2]) self.assertEqual(chat_db.msg_find(['0002'], loc='db'), [self.message2]) # now search the cache -> expect empty result self.assertEqual(chat_db.msg_find([str(self.message3.file_path)], loc='cache'), []) self.assertEqual(chat_db.msg_find([self.message3.msg_id()], loc='cache'), []) - self.assertEqual(chat_db.msg_find(['0003.txt'], loc='cache'), []) + self.assertEqual(chat_db.msg_find(['0003.msg'], loc='cache'), []) self.assertEqual(chat_db.msg_find(['0003'], loc='cache'), []) # search for multiple messages # -> search one twice, expect result to be unique - search_names = ['0001', '0002.yaml', self.message3.msg_id(), str(self.message3.file_path)] + search_names = ['0001', '0002.msg', self.message3.msg_id(), str(self.message3.file_path)] expected_result = [self.message1, self.message2, self.message3] result = chat_db.msg_find(search_names, loc='all') self.assert_messages_equal(result, expected_result)