mirror of https://github.com/zulip/zulip.git
hipchat import: Start adding tests.
These test are for the handling of HipChat sender info. The data formats are somewhat inconsistent and sometimes require us to generate "mirror" users, so this is potentially fragile code if we don't cover it well.
This commit is contained in:
parent
876a72c467
commit
48b5b2f5d5
|
@ -0,0 +1,55 @@
|
|||
from zerver.data_import.hipchat import (
|
||||
get_hipchat_sender_id,
|
||||
)
|
||||
from zerver.data_import.hipchat_user import (
|
||||
UserHandler,
|
||||
)
|
||||
|
||||
from zerver.lib.test_classes import (
|
||||
ZulipTestCase,
|
||||
)
|
||||
from typing import Any, Dict
|
||||
|
||||
|
||||
class HipChatImporter(ZulipTestCase):
|
||||
def test_sender_ids(self) -> None:
|
||||
realm_id = 5
|
||||
user_handler = UserHandler()
|
||||
|
||||
# Simulate a "normal" user first.
|
||||
user_with_id = dict(
|
||||
id=1,
|
||||
# other fields don't matter here
|
||||
)
|
||||
user_handler.add_user(user=user_with_id)
|
||||
|
||||
normal_message = dict(
|
||||
sender=dict(
|
||||
id=1,
|
||||
)
|
||||
) # type: Dict[str, Any]
|
||||
|
||||
sender_id = get_hipchat_sender_id(
|
||||
realm_id=realm_id,
|
||||
message_dict=normal_message,
|
||||
user_handler=user_handler,
|
||||
)
|
||||
|
||||
self.assertEqual(sender_id, 1)
|
||||
|
||||
bot_message = dict(
|
||||
sender='fred_bot',
|
||||
)
|
||||
|
||||
# Every message from fred_bot should
|
||||
# return the same sender_id.
|
||||
fred_bot_sender_id = 2
|
||||
|
||||
for i in range(3):
|
||||
sender_id = get_hipchat_sender_id(
|
||||
realm_id=realm_id,
|
||||
message_dict=bot_message,
|
||||
user_handler=user_handler,
|
||||
)
|
||||
|
||||
self.assertEqual(sender_id, fred_bot_sender_id)
|
Loading…
Reference in New Issue