mirror of
https://github.com/chatmail/relay.git
synced 2026-05-10 16:04:37 +00:00
Compare commits
1 Commits
staging-ci
...
link2xt/me
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
a69cf72f80 |
@@ -15,6 +15,7 @@ import requests
|
||||
|
||||
|
||||
DICTPROXY_LOOKUP_CHAR = "L"
|
||||
DICTPROXY_ITERATE_CHAR = "I"
|
||||
DICTPROXY_SET_CHAR = "S"
|
||||
DICTPROXY_BEGIN_TRANSACTION_CHAR = "B"
|
||||
DICTPROXY_COMMIT_TRANSACTION_CHAR = "C"
|
||||
@@ -74,6 +75,10 @@ def handle_dovecot_request(msg, transactions, notifier):
|
||||
parts = msg[1:].split("\t")
|
||||
if short_command == DICTPROXY_LOOKUP_CHAR:
|
||||
return "N\n"
|
||||
elif short_command == DICTPROXY_ITERATE_CHAR:
|
||||
# Empty line means ITER_FINISHED.
|
||||
# If we don't return empty line Dovecot will timeout.
|
||||
return "\n"
|
||||
|
||||
if short_command not in (DICTPROXY_TRANSACTION_CHARS):
|
||||
return
|
||||
|
||||
@@ -70,6 +70,21 @@ def test_handle_dovecot_protocol_set_devicetoken():
|
||||
assert wfile.getvalue() == b"O\n"
|
||||
|
||||
|
||||
def test_handle_dovecot_protocol_iterate():
|
||||
rfile = io.BytesIO(
|
||||
b"\n".join(
|
||||
[
|
||||
b"H",
|
||||
b"I9\t0\tpriv/5cbe730f146fea6535be0d003dd4fc98/\tci-2dzsrs@nine.testrun.org",
|
||||
]
|
||||
)
|
||||
)
|
||||
wfile = io.BytesIO()
|
||||
notifier = Notifier()
|
||||
handle_dovecot_protocol(rfile, wfile, notifier)
|
||||
assert wfile.getvalue() == b"\n"
|
||||
|
||||
|
||||
def test_handle_dovecot_protocol_messagenew():
|
||||
rfile = io.BytesIO(
|
||||
b"\n".join(
|
||||
|
||||
Reference in New Issue
Block a user