From f3f0673c3c6ecd48e7f4bba770cffd70c86cb19c Mon Sep 17 00:00:00 2001 From: Quentin Dufour Date: Tue, 5 Jul 2022 12:04:04 +0200 Subject: Fix test IMAP parsing --- tests/emails/legacy/016.body | 2 +- tests/emails/legacy/016.bodystructure | 3 ++- tests/emails/legacy/023.bodystructure | 2 +- tests/emails/legacy/026.body | 2 +- tests/emails/legacy/026.bodystructure | 3 ++- tests/send-to-imap.py | 28 +++++++++++++++------------- 6 files changed, 22 insertions(+), 18 deletions(-) (limited to 'tests') diff --git a/tests/emails/legacy/016.body b/tests/emails/legacy/016.body index 6cdaecd..e510c4e 100644 --- a/tests/emails/legacy/016.body +++ b/tests/emails/legacy/016.body @@ -1,2 +1,2 @@ (BODY (("text" "plain" ("charset" "iso-8859-1") NIL NIL "quoted-printable" 809 16)("application" "mac-binhex40" ("name" "blueball.png") NIL NIL "7bit" 1929)("application" "mac-binhex40" ("name" {19} -HasenundFrösche.txt \ No newline at end of file +HasenundFrösche.txt) NIL NIL "7bit" 1131) "mixed")) \ No newline at end of file diff --git a/tests/emails/legacy/016.bodystructure b/tests/emails/legacy/016.bodystructure index d3449f9..0caa9fd 100644 --- a/tests/emails/legacy/016.bodystructure +++ b/tests/emails/legacy/016.bodystructure @@ -1,2 +1,3 @@ (BODYSTRUCTURE (("text" "plain" ("charset" "iso-8859-1") NIL NIL "quoted-printable" 809 16 NIL NIL NIL NIL)("application" "mac-binhex40" ("name" "blueball.png") NIL NIL "7bit" 1929 NIL ("attachment" ("filename" "blueball.png")) NIL NIL)("application" "mac-binhex40" ("name" {19} -HasenundFrösche.txt \ No newline at end of file +HasenundFrösche.txt) NIL NIL "7bit" 1131 NIL ("attachment" ("filename" {19} +HasenundFrösche.txt)) NIL NIL) "mixed" ("boundary" "=====================_716373961==_") NIL NIL NIL)) \ No newline at end of file diff --git a/tests/emails/legacy/023.bodystructure b/tests/emails/legacy/023.bodystructure index 26dd6d7..552e0e0 100644 --- a/tests/emails/legacy/023.bodystructure +++ b/tests/emails/legacy/023.bodystructure @@ -1,2 +1,2 @@ (BODYSTRUCTURE (("text" "plain" ("charset" "iso-8859-1") NIL NIL "quoted-printable" 809 16 NIL NIL NIL NIL)("image" "png" ("name" "blueball.png") NIL NIL "base64" 1814 NIL ("attachment" ("filename" "blueball.png")) NIL NIL)("text" "plain" ("charset" "us-ascii") NIL NIL "7bit" 804 17 NIL ("attachment" ("filename" "farmerandstork.txt")) NIL NIL)("text" "plain" ("charset" "iso-8859-1") NIL NIL "quoted-printable" 809 16 NIL ("attachment" ("filename" {19} -HasenundFrösche.txt \ No newline at end of file +HasenundFrösche.txt)) NIL NIL) "mixed" ("boundary" "=====================_716541962==_") NIL NIL NIL)) \ No newline at end of file diff --git a/tests/emails/legacy/026.body b/tests/emails/legacy/026.body index 8756050..6645c7a 100644 --- a/tests/emails/legacy/026.body +++ b/tests/emails/legacy/026.body @@ -1,2 +1,2 @@ (BODY (("text" "plain" ("charset" "iso-8859-1") NIL NIL "quoted-printable" 809 16)("text" "plain" ("name" {19} -HasenundFrösche.txt \ No newline at end of file +HasenundFrösche.txt "x-mac-type" "54455854" "x-mac-creator" "74747874" "charset" "us-ascii") NIL NIL "x-uuencode" 1088 21)("text" "plain" ("charset" "us-ascii") NIL NIL "7bit" 804 17) "mixed")) \ No newline at end of file diff --git a/tests/emails/legacy/026.bodystructure b/tests/emails/legacy/026.bodystructure index 7f51c3c..e48b4fc 100644 --- a/tests/emails/legacy/026.bodystructure +++ b/tests/emails/legacy/026.bodystructure @@ -1,2 +1,3 @@ (BODYSTRUCTURE (("text" "plain" ("charset" "iso-8859-1") NIL NIL "quoted-printable" 809 16 NIL NIL NIL NIL)("text" "plain" ("name" {19} -HasenundFrösche.txt \ No newline at end of file +HasenundFrösche.txt "x-mac-type" "54455854" "x-mac-creator" "74747874" "charset" "us-ascii") NIL NIL "x-uuencode" 1088 21 NIL ("attachment" ("filename" {19} +HasenundFrösche.txt)) NIL NIL)("text" "plain" ("charset" "us-ascii") NIL NIL "7bit" 804 17 NIL ("attachment" ("filename" "farmerandstork.txt")) NIL NIL) "mixed" ("boundary" "=====================_716740438==_") NIL NIL NIL)) \ No newline at end of file diff --git a/tests/send-to-imap.py b/tests/send-to-imap.py index e583ea4..ccbebda 100644 --- a/tests/send-to-imap.py +++ b/tests/send-to-imap.py @@ -3,6 +3,17 @@ from os import listdir from os.path import isfile, join import sys +def rebuild_body_res(b): + bb = b'' + for e in b: + if type(e) is tuple: + bb += b'\r\n'.join([p for p in e]) + else: + bb += e + + f = bb[bb.find(b'('):] + return f + path = sys.argv[1] onlyfiles = [join(path, f) for f in listdir(path) if isfile(join(path, f)) and len(f) > 4 and f[-4:] == ".eml"] @@ -20,24 +31,15 @@ with IMAP4_SSL(host="localhost") as M: seq = (f"{idx+1}:{idx+1}").encode() (r, b) = M.fetch(seq, "(BODY)") assert r == 'OK' - if type(b[0]) is tuple: - bb = b'\r\n'.join([p for p in b[0]]) - else: - bb = b[0] - f = bb[bb.find(b'('):] + + with open(f_noext + ".body", 'w+b') as w: - w.write(f) + w.write(rebuild_body_res(b)) (r, b) = M.fetch(seq, "(BODYSTRUCTURE)") assert r == 'OK' - if type(b[0]) is tuple: - bb = b'\r\n'.join([p for p in b[0]]) - else: - bb = b[0] - - f = bb[bb.find(b'('):] with open(f_noext + ".bodystructure", 'w+b') as w: - w.write(f) + w.write(rebuild_body_res(b)) M.close() M.logout() -- cgit v1.2.3