소스 검색

test: Fix mocked method and formatting issues

version-14
Suraj Shetty 3 년 전
부모
커밋
b978b5a70b
1개의 변경된 파일27개의 추가작업 그리고 21개의 파일을 삭제
  1. +27
    -21
      frappe/email/doctype/email_account/test_email_account.py

+ 27
- 21
frappe/email/doctype/email_account/test_email_account.py 파일 보기

@@ -46,7 +46,8 @@ class TestEmailAccount(unittest.TestCase):
cleanup("test_sender@example.com")

messages = {
'"INBOX"': { # append_to = ToDo
# append_to = ToDo
'"INBOX"': {
'latest_messages': [
self.get_test_mail('incoming-1.raw')
],
@@ -54,7 +55,7 @@ class TestEmailAccount(unittest.TestCase):
2: 'UNSEEN'
},
'uid_list': [2]
}
}
}

email_account = frappe.get_doc("Email Account", "_Test Email Account 1")
@@ -83,7 +84,8 @@ class TestEmailAccount(unittest.TestCase):
frappe.delete_doc("File", existing_file.name)

messages = {
'"INBOX"': { # append_to = ToDo
# append_to = ToDo
'"INBOX"': {
'latest_messages': [
self.get_test_mail('incoming-2.raw')
],
@@ -91,7 +93,7 @@ class TestEmailAccount(unittest.TestCase):
2: 'UNSEEN'
},
'uid_list': [2]
}
}
}

email_account = frappe.get_doc("Email Account", "_Test Email Account 1")
@@ -113,7 +115,8 @@ class TestEmailAccount(unittest.TestCase):
cleanup("test_sender@example.com")

messages = {
'"INBOX"': { # append_to = ToDo
# append_to = ToDo
'"INBOX"': {
'latest_messages': [
self.get_test_mail('incoming-3.raw')
],
@@ -121,7 +124,7 @@ class TestEmailAccount(unittest.TestCase):
2: 'UNSEEN'
},
'uid_list': [2]
}
}
}

email_account = frappe.get_doc("Email Account", "_Test Email Account 1")
@@ -135,7 +138,8 @@ class TestEmailAccount(unittest.TestCase):
cleanup("test_sender@example.com")

messages = {
'"INBOX"': { # append_to = ToDo
# append_to = ToDo
'"INBOX"': {
'latest_messages': [
self.get_test_mail('incoming-4.raw')
],
@@ -143,7 +147,7 @@ class TestEmailAccount(unittest.TestCase):
2: 'UNSEEN'
},
'uid_list': [2]
}
}
}

email_account = frappe.get_doc("Email Account", "_Test Email Account 1")
@@ -199,7 +203,7 @@ class TestEmailAccount(unittest.TestCase):
2: 'UNSEEN'
},
'uid_list': [2]
}
}
}

email_account = frappe.get_doc("Email Account", "_Test Email Account 1")
@@ -229,7 +233,7 @@ class TestEmailAccount(unittest.TestCase):
3: 'UNSEEN'
},
'uid_list': [2, 3]
}
}
}

email_account = frappe.get_doc("Email Account", "_Test Email Account 1")
@@ -257,7 +261,8 @@ class TestEmailAccount(unittest.TestCase):
# get test mail with message-id as in-reply-to
with open(os.path.join(os.path.dirname(__file__), "test_mails", "reply-4.raw"), "r") as f:
messages = {
'"INBOX"': { # append_to = ToDo
# append_to = ToDo
'"INBOX"': {
'latest_messages': [
f.read().replace('{{ message_id }}', last_mail.message_id)
],
@@ -265,11 +270,10 @@ class TestEmailAccount(unittest.TestCase):
2: 'UNSEEN'
},
'uid_list': [2]
}
}
}

# pull the mail

email_account = frappe.get_doc("Email Account", "_Test Email Account 1")
TestEmailAccount.mocked_email_receive(email_account, messages)

@@ -284,7 +288,8 @@ class TestEmailAccount(unittest.TestCase):
cleanup("test_sender@example.com")

messages = {
'"INBOX"': { # append_to = ToDo
# append_to = ToDo
'"INBOX"': {
'latest_messages': [
self.get_test_mail('incoming-1.raw')
],
@@ -292,7 +297,7 @@ class TestEmailAccount(unittest.TestCase):
2: 'UNSEEN'
},
'uid_list': [2]
}
}
}

email_account = frappe.get_doc("Email Account", "_Test Email Account 1")
@@ -343,7 +348,8 @@ class TestEmailAccount(unittest.TestCase):
mail_content_3 = self.get_test_mail(fname="incoming-3.raw")

messages = {
'"INBOX"': { # append_to = ToDo
# append_to = ToDo
'"INBOX"': {
'latest_messages': [
mail_content_1,
mail_content_2
@@ -354,7 +360,8 @@ class TestEmailAccount(unittest.TestCase):
},
'uid_list': [0,1]
},
'"Test Folder"': { # append_to = Communication
# append_to = Communication
'"Test Folder"': {
'latest_messages': [
mail_content_3
],
@@ -392,22 +399,21 @@ class TestEmailAccount(unittest.TestCase):
from frappe.email.receive import EmailServer

def get_mocked_messages(**kwargs):
return messages[kwargs["folder"]]
return messages.get(kwargs["folder"], {})

with patch.object(EmailServer, "get_messages", side_effect=get_mocked_messages):
mails = email_account.get_inbound_mails()

return mails
@patch("frappe.email.receive.EmailServer.select_imap_folder", return_value=True)
@patch("frappe.email.receive.EmailServer.logout", side_effect=lambda: None)
def mocked_email_receive(email_account, messages={}, mocked_logout=None, mocked_select_imap_folder=None):
def get_mocked_messages(**kwargs):
return messages[kwargs["folder"]]
return messages.get(kwargs["folder"], {})

from frappe.email.receive import EmailServer
with patch.object(EmailServer, "get_messages", side_effect=get_mocked_messages):
email_account = frappe.get_doc("Email Account", "_Test Email Account 1")
email_account.receive()

class TestInboundMail(unittest.TestCase):


불러오는 중...
취소
저장