summaryrefslogtreecommitdiff
path: root/fake-service/spec
diff options
context:
space:
mode:
authorOla Bini <ola.bini@gmail.com>2014-07-31 19:35:40 -0300
committerOla Bini <ola.bini@gmail.com>2014-07-31 19:35:40 -0300
commite54e5ee931b3991cbb5e427e7e5d27b3f6c75e6e (patch)
tree1e0da33d22874c0ea5576818fe45958611ebda29 /fake-service/spec
parent04cf441c5ae18400c6b4865b0b37a71718dc9d46 (diff)
Add fake-service
Diffstat (limited to 'fake-service/spec')
-rw-r--r--fake-service/spec/fixtures/mail115
-rw-r--r--fake-service/spec/fixtures/mail216
-rw-r--r--fake-service/spec/smail/mail_spec.rb103
-rw-r--r--fake-service/spec/spec_helper.rb1
4 files changed, 135 insertions, 0 deletions
diff --git a/fake-service/spec/fixtures/mail1 b/fake-service/spec/fixtures/mail1
new file mode 100644
index 00000000..d977bff6
--- /dev/null
+++ b/fake-service/spec/fixtures/mail1
@@ -0,0 +1,15 @@
+Date: Thu, 29 May 2014 18:56:41 -0300
+From: kenneth@willmsmckenzie.org
+To: antonio@beier.biz
+Message-ID: <5387ad199161e_6ced7c32ec77517@norepinephrine.mail>
+Subject: Doloremque aliquid a facilis et sit numquam libero.
+Mime-Version: 1.0
+Content-Type: text/plain;
+ charset=UTF-8
+Content-Transfer-Encoding: 7bit
+
+Quia tempora quas laboriosam. Dolorem dolor fuga a aut minima sint. Ullam suscipit consectetur nihil. Incidunt velit aut reprehenderit.
+
+Laborum blanditiis praesentium soluta dolorem laudantium a. Molestiae excepturi laudantium at eos velit. Commodi quaerat suscipit laudantium sapiente aut omnis. Qui iure impedit ea dolores. Et debitis non est tempora id autem.
+
+Atque officia architecto sed assumenda. Inventore quia minus. Doloribus amet reiciendis ipsam aut.
diff --git a/fake-service/spec/fixtures/mail2 b/fake-service/spec/fixtures/mail2
new file mode 100644
index 00000000..d1843882
--- /dev/null
+++ b/fake-service/spec/fixtures/mail2
@@ -0,0 +1,16 @@
+Date: Thu, 29 May 2014 18:56:41 -0300
+From: kenneth@willmsmckenzie.org
+To: cmurphy@thoughtworks.com, cgorslin@thoughtworks.com, cmitchel@thoughtworks.com, dnorth@thoughtworks.com, dpgoodwi@thoughtworks.com, dbodart@thoughtworks.com, dsmith@thoughtworks.com, djrice@thoughtworks.com, dwhalley@thoughtworks.com
+CC: amonago@thoughtworks.com, agore@thoughtworks.com, bswamina@thoughtworks.com, baphipps@thoughtworks.com, bbutler@thoughtworks.com, cwathing@thoughtworks.com
+Message-ID: <5387ad199161e_6ced7c32ec77517@norepinephrine.mail>
+Subject: Doloremque aliquid a facilis et sit numquam libero.
+Mime-Version: 1.0
+Content-Type: text/plain;
+ charset=UTF-8
+Content-Transfer-Encoding: 7bit
+
+Quia tempora quas laboriosam. Dolorem dolor fuga a aut minima sint. Ullam suscipit consectetur nihil. Incidunt velit aut reprehenderit.
+
+Laborum blanditiis praesentium soluta dolorem laudantium a. Molestiae excepturi laudantium at eos velit. Commodi quaerat suscipit laudantium sapiente aut omnis. Qui iure impedit ea dolores. Et debitis non est tempora id autem.
+
+Atque officia architecto sed assumenda. Inventore quia minus. Doloribus amet reiciendis ipsam aut.
diff --git a/fake-service/spec/smail/mail_spec.rb b/fake-service/spec/smail/mail_spec.rb
new file mode 100644
index 00000000..b75ceff5
--- /dev/null
+++ b/fake-service/spec/smail/mail_spec.rb
@@ -0,0 +1,103 @@
+
+fixture1 = File.read(File.join(File.dirname(__FILE__), "..", "fixtures", "mail1"))
+fixture2 = File.read(File.join(File.dirname(__FILE__), "..", "fixtures", "mail2"))
+
+describe Smail::Mail do
+ describe "#read" do
+ context("simple email") do
+ subject(:mail) { Smail::Mail.read(fixture1) }
+
+ it "reads the subject correctly" do
+ expect(mail.subject).to eq("Doloremque aliquid a facilis et sit numquam libero.")
+ end
+
+ it "reads the from correctly" do
+ expect(mail.from).to eq("kenneth@willmsmckenzie.org")
+ end
+
+ it "reads the to correctly" do
+ expect(mail.to).to eq("antonio@beier.biz")
+ end
+
+ it "reads and parses date" do
+ expect(mail.headers[:date]).to eq(DateTime.parse("2014-05-29T18:56:41 -0300"))
+ end
+
+ it "reads the body correctly" do
+ expect(mail.body).to eq(<<BODY)
+Quia tempora quas laboriosam. Dolorem dolor fuga a aut minima sint. Ullam suscipit consectetur nihil. Incidunt velit aut reprehenderit.
+
+Laborum blanditiis praesentium soluta dolorem laudantium a. Molestiae excepturi laudantium at eos velit. Commodi quaerat suscipit laudantium sapiente aut omnis. Qui iure impedit ea dolores. Et debitis non est tempora id autem.
+
+Atque officia architecto sed assumenda. Inventore quia minus. Doloribus amet reiciendis ipsam aut.
+BODY
+ end
+
+ it "reads a multi line header correctly" do
+ expect(mail.headers[:content_type]).to eq("text/plain; charset=UTF-8")
+ end
+ end
+
+ context("with multiple recipients") do
+ subject(:mail) { Smail::Mail.read(fixture2) }
+
+ it "reads multiple recipients correctly" do
+ expect(mail.to).to eq(%w(cmurphy@thoughtworks.com cgorslin@thoughtworks.com cmitchel@thoughtworks.com dnorth@thoughtworks.com dpgoodwi@thoughtworks.com dbodart@thoughtworks.com dsmith@thoughtworks.com djrice@thoughtworks.com dwhalley@thoughtworks.com))
+ end
+
+ it "reads multiple cc recipients correctly" do
+ expect(mail.headers[:cc]).to eq(%w(amonago@thoughtworks.com agore@thoughtworks.com bswamina@thoughtworks.com baphipps@thoughtworks.com bbutler@thoughtworks.com cwathing@thoughtworks.com))
+ end
+ end
+ end
+
+ describe ".to_s" do
+ context("simple email") do
+ subject(:mail) { Smail::Mail.read(fixture1) }
+
+ it "writes correct output" do
+ expect(mail.to_s).to eq(<<MAIL)
+Content-Transfer-Encoding: 7bit
+Content-Type: text/plain; charset=UTF-8
+Date: Thu, 29 May 2014 18:56:41 -0300
+From: kenneth@willmsmckenzie.org
+Message-ID: <5387ad199161e_6ced7c32ec77517@norepinephrine.mail>
+Mime-Version: 1.0
+Subject: Doloremque aliquid a facilis et sit numquam libero.
+To: antonio@beier.biz
+X-TW-SMail-Ident:
+
+Quia tempora quas laboriosam. Dolorem dolor fuga a aut minima sint. Ullam suscipit consectetur nihil. Incidunt velit aut reprehenderit.
+
+Laborum blanditiis praesentium soluta dolorem laudantium a. Molestiae excepturi laudantium at eos velit. Commodi quaerat suscipit laudantium sapiente aut omnis. Qui iure impedit ea dolores. Et debitis non est tempora id autem.
+
+Atque officia architecto sed assumenda. Inventore quia minus. Doloribus amet reiciendis ipsam aut.
+MAIL
+ end
+ end
+ context("with multiple recipients") do
+ subject(:mail) { Smail::Mail.read(fixture2) }
+
+ it "writes correct output" do
+ expect(mail.to_s).to eq(<<MAIL)
+CC: amonago@thoughtworks.com, agore@thoughtworks.com, bswamina@thoughtworks.com, baphipps@thoughtworks.com, bbutler@thoughtworks.com, cwathing@thoughtworks.com
+Content-Transfer-Encoding: 7bit
+Content-Type: text/plain; charset=UTF-8
+Date: Thu, 29 May 2014 18:56:41 -0300
+From: kenneth@willmsmckenzie.org
+Message-ID: <5387ad199161e_6ced7c32ec77517@norepinephrine.mail>
+Mime-Version: 1.0
+Subject: Doloremque aliquid a facilis et sit numquam libero.
+To: cmurphy@thoughtworks.com, cgorslin@thoughtworks.com, cmitchel@thoughtworks.com, dnorth@thoughtworks.com, dpgoodwi@thoughtworks.com, dbodart@thoughtworks.com, dsmith@thoughtworks.com, djrice@thoughtworks.com, dwhalley@thoughtworks.com
+X-TW-SMail-Ident:
+
+Quia tempora quas laboriosam. Dolorem dolor fuga a aut minima sint. Ullam suscipit consectetur nihil. Incidunt velit aut reprehenderit.
+
+Laborum blanditiis praesentium soluta dolorem laudantium a. Molestiae excepturi laudantium at eos velit. Commodi quaerat suscipit laudantium sapiente aut omnis. Qui iure impedit ea dolores. Et debitis non est tempora id autem.
+
+Atque officia architecto sed assumenda. Inventore quia minus. Doloribus amet reiciendis ipsam aut.
+MAIL
+ end
+ end
+ end
+end
diff --git a/fake-service/spec/spec_helper.rb b/fake-service/spec/spec_helper.rb
new file mode 100644
index 00000000..d25e8240
--- /dev/null
+++ b/fake-service/spec/spec_helper.rb
@@ -0,0 +1 @@
+require 'smail'