blob: d4e6a6dca6d527b77659bda93d150b7cbb9ba43c (
plain) (
tree)
|
|
from __future__ import print_function, unicode_literals
import json
from wee_slack import SlackTS
def test_process_message(realish_eventrouter, team, user_alice):
messages = []
messages.append(
json.loads(
open("_pytest/data/websocket/1485975421.33-message.json", "r").read()
)
)
# test message and then change
messages.append(
json.loads(open("_pytest/data/websocket/1485976151.6-message.json", "r").read())
)
messages.append(
json.loads(
open("_pytest/data/websocket/1485976157.18-message.json", "r").read()
)
)
# test message then deletion
messages.append(
json.loads(
open("_pytest/data/websocket/1485975698.45-message.json", "r").read()
)
)
messages.append(
json.loads(
open("_pytest/data/websocket/1485975723.85-message.json", "r").read()
)
)
for m in messages:
m["user"] = user_alice.id
team.ws.add(m)
realish_eventrouter.receive_ws_callback(team.team_hash, None)
realish_eventrouter.handle_next()
realish_eventrouter.handle_next()
realish_eventrouter.handle_next()
realish_eventrouter.handle_next()
realish_eventrouter.handle_next()
assert sum([len(channel.messages) for channel in team.channels.values()]) == 3
unchanged_message_channel = team.channels["D3ZEQULHZ"]
unchanged_message_ts = SlackTS("1485975421.000002")
assert list(unchanged_message_channel.messages.keys()) == [unchanged_message_ts]
assert (
unchanged_message_channel.messages[unchanged_message_ts].message_json["text"]
== "hi bob"
)
assert (
"edited"
not in unchanged_message_channel.messages[unchanged_message_ts].message_json
)
changed_message_channel = team.channels["C407ABS94"]
changed_message_ts = SlackTS("1485976151.000016")
assert list(changed_message_channel.messages.keys()) == [changed_message_ts]
assert (
changed_message_channel.messages[changed_message_ts].message_json["text"]
== "referencing a <#C407ABS94|general>"
)
assert "edited" in changed_message_channel.messages[changed_message_ts].message_json
deleted_message_channel = team.channels["G3ZGMF4RZ"]
deleted_message_ts = SlackTS("1485975698.000002")
assert list(deleted_message_channel.messages.keys()) == [deleted_message_ts]
deleted_str = "<[color red]>(deleted)<[color reset]>"
assert (
deleted_message_channel.messages[deleted_message_ts].message_json[
"_rendered_text"
]
== deleted_str
)
|