6
6
from deltachat .capi import lib as dclib
7
7
8
8
9
- TIMEOUT = 20
9
+ TIMEOUT = 40
10
10
11
11
12
12
def get_user_crew (crewuser : deltachat .Account ) -> deltachat .Chat :
@@ -27,38 +27,57 @@ def test_not_relay_groups(relaycrew, outsider, lp):
27
27
bot = relaycrew .bot
28
28
user = relaycrew .user
29
29
30
- lp .sec ("bot <-> outsider 1:1 chat" )
30
+ text = "outsider -> bot 1:1 chat"
31
+ lp .sec (text )
31
32
outsider_botcontact = outsider .create_contact (bot .get_config ("addr" ))
32
33
outsider_outside_chat = outsider .create_chat (outsider_botcontact )
33
- outsider_outside_chat .send_text ("test 1:1 message to bot" )
34
-
34
+ outsider_outside_chat .send_text (text )
35
+ lp . sec ( "receiving message from outsider in 1:1 chat" )
35
36
bot_message_from_outsider = bot ._evtracker .wait_next_incoming_message ()
36
37
bot_outside_chat = bot_message_from_outsider .chat
38
+ assert bot_message_from_outsider .text == text
37
39
assert not bot .relayplugin .is_relay_group (bot_outside_chat )
38
40
39
- lp .sec ("bot <-> outsider group chat" )
41
+ text = "outsider -> bot group chat"
42
+ lp .sec (text )
40
43
outsider_bot_group = outsider .create_group_chat (
41
44
"test with outsider" , contacts = [outsider_botcontact ]
42
45
)
43
- outsider_bot_group .send_text ("test message to outsider group" )
46
+ outsider_bot_group .send_text (text )
47
+ lp .sec ("receiving message from outsider in group chat" )
44
48
bot_message_from_outsider = bot ._evtracker .wait_next_incoming_message ()
49
+ assert bot_message_from_outsider .text == text
45
50
assert not bot .relayplugin .is_relay_group (bot_message_from_outsider .chat )
46
51
47
- lp .sec ("bot <-> user 1:1 chat" )
52
+ text = "user -> bot 1:1 chat"
53
+ lp .sec (text )
48
54
user_botcontact = user .create_contact (bot .get_config ("addr" ))
49
55
user_to_bot = user .create_chat (user_botcontact )
50
- user_to_bot .send_text ("test message to bot" )
56
+ user_to_bot .send_text (text )
57
+ lp .sec ("receiving message from user in 1:1 chat" )
58
+
51
59
# somehow the message doesn't trigger DC_EVENT_INCOMING_MSG
52
- bot_message_from_user = bot .get_chats ()[- 3 ].get_messages ()[- 1 ] # bot._evtracker.wait_next_incoming_message()
53
- while bot_message_from_user .text != "test message to bot" :
54
- bot_message_from_user = bot .get_chats ()[- 3 ].get_messages ()[- 1 ] # bot._evtracker.wait_next_incoming_message()
60
+ # bot._evtracker.wait_next_incoming_message()
61
+ def find_msg (ac , text ):
62
+ for chat in ac .get_chats ():
63
+ for msg in chat .get_messages ():
64
+ if msg .text == text :
65
+ return msg
66
+
67
+ bot_message_from_user = find_msg (bot , text )
68
+ while not bot_message_from_user :
69
+ bot_message_from_user = find_msg (bot , text )
55
70
time .sleep (1 )
71
+ assert bot_message_from_user .text == text
56
72
assert not bot .relayplugin .is_relay_group (bot_message_from_user .chat )
57
73
58
- lp .sec ("bot <-> user group chat" )
74
+ text = "user -> bot group chat"
75
+ lp .sec (text )
59
76
user_group = user .create_group_chat ("test with user" , contacts = [user_botcontact ])
60
- user_group .send_text ("testing message to user group" )
77
+ user_group .send_text (text )
78
+ lp .sec ("receiving message from user in group chat" )
61
79
bot_message_from_user = bot ._evtracker .wait_next_incoming_message ()
80
+ assert bot_message_from_user .text == text
62
81
assert not bot .relayplugin .is_relay_group (bot_message_from_user .chat )
63
82
64
83
0 commit comments