Files
kefu/deploy/loading-performance-20260917/browser_extra_tests.txt
T
2026-09-21 10:34:06 +08:00

23 lines
1.4 KiB
Plaintext

def test_concurrent_account_switches_cannot_leak_another_accounts_page(self):
other = fixtures.WeChatMessageBrowserTests()._database(self.root, '777')
self.update('UPDATE message_table SET server_id=? WHERE server_id=?', ('account-777', 's2'), other / 'message.db')
def read(account):
return browser.load_browser_snapshot(cache_roots=[self.root], selected_account=account, selected_conversation='M:200')
with concurrent.futures.ThreadPoolExecutor(max_workers=4) as pool:
results = list(pool.map(read, ['100', '777'] * 8))
for index, result in enumerate(results):
account = '100' if index % 2 == 0 else '777'
self.assertEqual(result['selectedAccount'], account)
self.assertEqual(result['messages'][-1]['senderId'], account)
self.assertEqual(result['messages'][-1]['id'], 's2' if account == '100' else 'account-777')
def test_deletion_invalidates_message_and_conversation_counts(self):
self.snapshot(selected_conversation='M:200')
self.update('DELETE FROM message_table WHERE conversation_id=?', ('M:200',))
result = self.snapshot(selected_conversation='M:200')
self.assertEqual(result['messageCount'], 1)
self.assertEqual(result['conversationCount'], 1)
self.assertEqual(result['selectedConversation'], 'S:100_300')
self.assertEqual(result['messages'][0]['id'], 's3')