mirror of
https://github.com/jwinterm/modoboa.git
synced 2026-10-17 05:41:25 +02:00
Fixed tests (sievefilters & webmail)
This commit is contained in:
@@ -12,6 +12,7 @@ from modoboa.admin import factories as admin_factories
|
||||
from modoboa.core import models as core_models
|
||||
from modoboa.lib.tests import ModoAPITestCase
|
||||
from modoboa.sievefilters import mocks
|
||||
from modoboa.webmail.mocks import IMAP4Mock
|
||||
|
||||
Application = get_application_model()
|
||||
AccessToken = get_access_token_model()
|
||||
@@ -51,7 +52,7 @@ class FilterSetViewSetTestCase(ModoAPITestCase):
|
||||
|
||||
patcher = mock.patch("imaplib.IMAP4")
|
||||
self.mock_imap4 = patcher.start()
|
||||
self.mock_imap4.return_value = mocks.IMAP4Mock()
|
||||
self.mock_imap4.return_value = IMAP4Mock()
|
||||
self.addCleanup(patcher.stop)
|
||||
|
||||
def authenticate(self, username: str = "user@test.com"):
|
||||
|
||||
@@ -96,23 +96,3 @@ class ManagesieveClientMock:
|
||||
|
||||
def checkscript(self, content):
|
||||
return True
|
||||
|
||||
|
||||
class IMAP4Mock:
|
||||
"""Fake IMAP4 client."""
|
||||
|
||||
def __init__(self, *args, **kwargs):
|
||||
self.untagged_responses = {}
|
||||
|
||||
def _quote(self, data):
|
||||
return data
|
||||
|
||||
def _simple_command(self, name, *args, **kwargs):
|
||||
if name == "CAPABILITY":
|
||||
self.untagged_responses["CAPABILITY"] = [b""]
|
||||
elif name == "LIST":
|
||||
self.untagged_responses["LIST"] = [b'() "." "INBOX"']
|
||||
return "OK", None
|
||||
|
||||
def list(self):
|
||||
return "OK", [b'() "." "INBOX"']
|
||||
|
||||
@@ -15,9 +15,7 @@ from modoboa.core import models as core_models
|
||||
from modoboa.admin import factories as admin_factories
|
||||
from modoboa.lib.tests import ModoAPITestCase
|
||||
from modoboa.webmail.lib.attachments import ComposeSessionManager
|
||||
|
||||
from . import data as tests_data
|
||||
|
||||
from modoboa.webmail.mocks import IMAP4Mock
|
||||
|
||||
Application = get_application_model()
|
||||
AccessToken = get_access_token_model()
|
||||
@@ -33,77 +31,6 @@ def get_gif():
|
||||
return gif
|
||||
|
||||
|
||||
class IMAP4Mock:
|
||||
"""Fake IMAP4 client."""
|
||||
|
||||
def __init__(self, *args, **kwargs):
|
||||
self.untagged_responses = {}
|
||||
|
||||
def _quote(self, data):
|
||||
return data
|
||||
|
||||
def _simple_command(self, name, *args, **kwargs):
|
||||
if name == "CAPABILITY":
|
||||
self.untagged_responses["CAPABILITY"] = [b""]
|
||||
elif name == "LIST":
|
||||
self.untagged_responses["LIST"] = [b'() "." "INBOX"']
|
||||
elif name == "NAMESPACE":
|
||||
self.untagged_responses["NAMESPACE"] = [b'(("" "/")) NIL NIL']
|
||||
elif name == "STATUS":
|
||||
self.untagged_responses["STATUS"] = [b"STATUS INBOX (UNSEEN 10)"]
|
||||
return "OK", None
|
||||
|
||||
def append(self, *args, **kwargs):
|
||||
pass
|
||||
|
||||
def create(self, name):
|
||||
return "OK", None
|
||||
|
||||
def delete(self, name):
|
||||
return "OK", None
|
||||
|
||||
def list(self):
|
||||
return "OK", [b'() "." "INBOX"']
|
||||
|
||||
def rename(self, oldname, newname):
|
||||
return "OK", None
|
||||
|
||||
def uid(self, command, *args):
|
||||
if command in ["SEARCH", "SORT"]:
|
||||
return "OK", [b"19"]
|
||||
elif command == "FETCH":
|
||||
uid = int(args[0])
|
||||
data = tests_data.BODYSTRUCTURE_SAMPLE_WITH_FLAGS
|
||||
if uid == 46931:
|
||||
if args[1] == "(BODYSTRUCTURE)":
|
||||
data = tests_data.BODYSTRUCTURE_ONLY_4
|
||||
elif "HEADER.FIELDS" in args[1]:
|
||||
data = tests_data.BODYSTRUCTURE_SAMPLE_4
|
||||
else:
|
||||
data = tests_data.BODY_PLAIN_4
|
||||
elif uid == 46932:
|
||||
if args[1] == "(BODYSTRUCTURE)":
|
||||
data = tests_data.BODYSTRUCTURE_ONLY_5
|
||||
elif "HEADER.FIELDS" in args[1]:
|
||||
data = tests_data.BODYSTRUCTURE_SAMPLE_9
|
||||
else:
|
||||
data = tests_data.BODYSTRUCTURE_SAMPLE_10
|
||||
elif uid == 33:
|
||||
if args[1] == "(BODYSTRUCTURE)":
|
||||
data = tests_data.BODYSTRUCTURE_EMPTY_MAIL
|
||||
elif "HEADER.FIELDS" in args[1]:
|
||||
data = tests_data.BODYSTRUCTURE_EMPTY_MAIL_WITH_HEADERS
|
||||
else:
|
||||
data = tests_data.EMPTY_BODY
|
||||
elif uid == 3444:
|
||||
data = tests_data.BODYSTRUCTURE_WITH_PDF
|
||||
elif uid == 133872:
|
||||
data = tests_data.COMPLETE_MAIL
|
||||
return "OK", data
|
||||
elif command in ["COPY", "STORE"]:
|
||||
return "OK", []
|
||||
|
||||
|
||||
class WebmailTestCase(ModoAPITestCase):
|
||||
@classmethod
|
||||
def setUpTestData(cls):
|
||||
|
||||
Reference in New Issue
Block a user