aboutsummaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
authorAlex Auvolat <alex@adnab.me>2022-07-20 11:53:34 +0200
committerAlex Auvolat <alex@adnab.me>2022-07-20 11:53:34 +0200
commit24d9f192e45434448734e8fb03f589618ea7363f (patch)
treeb95c066f206de2952449b4b9e021e7d6a41db6c1 /tests
parent8c47687d8ebeb80771872864a41e38c9168773ca (diff)
downloadaerogramme-24d9f192e45434448734e8fb03f589618ea7363f.tar.gz
aerogramme-24d9f192e45434448734e8fb03f589618ea7363f.zip
Start testing of mail parsing crates
Diffstat (limited to 'tests')
-rw-r--r--tests/parsing-crates/.gitignore1
-rw-r--r--tests/parsing-crates/Cargo.lock131
-rw-r--r--tests/parsing-crates/Cargo.toml17
-rw-r--r--tests/parsing-crates/mail_parser.rs73
-rw-r--r--tests/parsing-crates/main.rs6
5 files changed, 228 insertions, 0 deletions
diff --git a/tests/parsing-crates/.gitignore b/tests/parsing-crates/.gitignore
new file mode 100644
index 0000000..eb5a316
--- /dev/null
+++ b/tests/parsing-crates/.gitignore
@@ -0,0 +1 @@
+target
diff --git a/tests/parsing-crates/Cargo.lock b/tests/parsing-crates/Cargo.lock
new file mode 100644
index 0000000..4c47568
--- /dev/null
+++ b/tests/parsing-crates/Cargo.lock
@@ -0,0 +1,131 @@
+# This file is automatically @generated by Cargo.
+# It is not intended for manual editing.
+version = 3
+
+[[package]]
+name = "cfg-if"
+version = "1.0.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd"
+
+[[package]]
+name = "encoding_rs"
+version = "0.8.31"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "9852635589dc9f9ea1b6fe9f05b50ef208c85c834a562f0c6abb1c475736ec2b"
+dependencies = [
+ "cfg-if",
+]
+
+[[package]]
+name = "mail-parser"
+version = "0.4.8"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "c46a841ae5276aba5218ade7bb76896358f9f95a925c7b3deea6a0ec0fb8e2a7"
+dependencies = [
+ "encoding_rs",
+ "serde",
+]
+
+[[package]]
+name = "mail-parser"
+version = "0.4.8"
+source = "git+https://github.com/superboum/mail-parser?branch=feature/no_decode#0fe5fe071f25016d9c1232eb452c0c4bbfa8a445"
+dependencies = [
+ "encoding_rs",
+ "serde",
+]
+
+[[package]]
+name = "mail-parser"
+version = "0.4.8"
+source = "git+https://github.com/superboum/mail-parser?rev=db61a03#db61a0364c00d3cf115f20c6d195bfa4594c53ff"
+dependencies = [
+ "encoding_rs",
+ "serde",
+]
+
+[[package]]
+name = "mail-parser"
+version = "0.5.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1e25e9e9cd1360538e0ca33499f12fd180f3611d7a8e1a50b7e4e43a4c5dd4b7"
+dependencies = [
+ "encoding_rs",
+ "serde",
+]
+
+[[package]]
+name = "mail-parser"
+version = "0.5.0"
+source = "git+https://github.com/stalwartlabs/mail-parser?branch=main#bb0e3366daabec8d2f94afd22c661394f9ba7cbe"
+dependencies = [
+ "encoding_rs",
+ "serde",
+]
+
+[[package]]
+name = "parsing-crates"
+version = "0.1.0"
+dependencies = [
+ "mail-parser 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)",
+ "mail-parser 0.4.8 (git+https://github.com/superboum/mail-parser?branch=feature/no_decode)",
+ "mail-parser 0.4.8 (git+https://github.com/superboum/mail-parser?rev=db61a03)",
+ "mail-parser 0.5.0 (registry+https://github.com/rust-lang/crates.io-index)",
+ "mail-parser 0.5.0 (git+https://github.com/stalwartlabs/mail-parser?branch=main)",
+]
+
+[[package]]
+name = "proc-macro2"
+version = "1.0.40"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "dd96a1e8ed2596c337f8eae5f24924ec83f5ad5ab21ea8e455d3566c69fbcaf7"
+dependencies = [
+ "unicode-ident",
+]
+
+[[package]]
+name = "quote"
+version = "1.0.20"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "3bcdf212e9776fbcb2d23ab029360416bb1706b1aea2d1a5ba002727cbcab804"
+dependencies = [
+ "proc-macro2",
+]
+
+[[package]]
+name = "serde"
+version = "1.0.139"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "0171ebb889e45aa68b44aee0859b3eede84c6f5f5c228e6f140c0b2a0a46cad6"
+dependencies = [
+ "serde_derive",
+]
+
+[[package]]
+name = "serde_derive"
+version = "1.0.139"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "dc1d3230c1de7932af58ad8ffbe1d784bd55efd5a9d84ac24f69c72d83543dfb"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "syn",
+]
+
+[[package]]
+name = "syn"
+version = "1.0.98"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "c50aef8a904de4c23c788f104b7dddc7d6f79c647c7c8ce4cc8f73eb0ca773dd"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "unicode-ident",
+]
+
+[[package]]
+name = "unicode-ident"
+version = "1.0.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "15c61ba63f9235225a22310255a29b806b907c9b8c964bcbd0a2c70f3f2deea7"
diff --git a/tests/parsing-crates/Cargo.toml b/tests/parsing-crates/Cargo.toml
new file mode 100644
index 0000000..3971a75
--- /dev/null
+++ b/tests/parsing-crates/Cargo.toml
@@ -0,0 +1,17 @@
+[package]
+name = "parsing-crates"
+version = "0.1.0"
+edition = "2021"
+
+# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
+
+[[bin]]
+name = "parsing-crates-teste"
+path = "main.rs"
+
+[dependencies]
+mail-parser-05 = { package = "mail-parser", version = "0.5" }
+mail-parser-048 = { package = "mail-parser", version = "0.4.8" }
+mail-parser-main = { package = "mail-parser", git = "https://github.com/stalwartlabs/mail-parser", branch = "main" }
+mail-parser-superboum = { package = "mail-parser", git = "https://github.com/superboum/mail-parser", branch = "feature/no_decode" }
+mail-parser-db61a03 = { package = "mail-parser", git = "https://github.com/superboum/mail-parser", rev = "db61a03" }
diff --git a/tests/parsing-crates/mail_parser.rs b/tests/parsing-crates/mail_parser.rs
new file mode 100644
index 0000000..165bace
--- /dev/null
+++ b/tests/parsing-crates/mail_parser.rs
@@ -0,0 +1,73 @@
+use mail_parser_superboum::Message; // FAIL
+//use mail_parser_048::Message; // PASS
+//use mail_parser_05::Message; // PASS
+//use mail_parser_main::Message; // PASS
+//use mail_parser_db61a03::Message; // PASS
+
+
+#[test]
+fn test1() {
+ let input = br#"Content-Type: multipart/mixed; boundary="1234567890123456789012345678901234567890123456789012345678901234567890123456789012"
+
+--1234567890123456789012345678901234567890123456789012345678901234567890123456789012
+Content-Type: multipart/mixed; boundary="123456789012345678901234567890123456789012345678901234567890123456789012345678901"
+
+--123456789012345678901234567890123456789012345678901234567890123456789012345678901
+Content-Type: multipart/mixed; boundary="12345678901234567890123456789012345678901234567890123456789012345678901234567890"
+
+--12345678901234567890123456789012345678901234567890123456789012345678901234567890
+Content-Type: text/plain
+
+1
+--1234567890123456789012345678901234567890123456789012345678901234567890123456789012
+Content-Type: text/plain
+
+22
+--123456789012345678901234567890123456789012345678901234567890123456789012345678901
+Content-Type: text/plain
+
+333
+--12345678901234567890123456789012345678901234567890123456789012345678901234567890
+Content-Type: text/plain
+
+4444
+"#;
+
+ let message = Message::parse(input);
+ dbg!(message);
+}
+
+
+#[test]
+fn test2() {
+ let input = br#"Content-Type: message/rfc822
+
+Content-Type: message/rfc822
+
+Content-Type: text/plain
+
+1"#;
+
+ let message = Message::parse(input);
+ dbg!(message);
+}
+
+#[test]
+fn test3() {
+let input = br#"Content-Type: multipart/mixed; boundary=":foo"
+
+--:foo
+--:foo
+Content-Type: text/plain
+--:foo
+Content-Type: text/plain
+--:foo
+Content-Type: text/html
+--:foo--
+
+
+"#;
+
+ let message = Message::parse(input);
+ dbg!(message);
+}
diff --git a/tests/parsing-crates/main.rs b/tests/parsing-crates/main.rs
new file mode 100644
index 0000000..84bd57d
--- /dev/null
+++ b/tests/parsing-crates/main.rs
@@ -0,0 +1,6 @@
+#[cfg(test)]
+mod mail_parser;
+
+fn main() {
+ println!("Hello, world!");
+}