From e54e5ee931b3991cbb5e427e7e5d27b3f6c75e6e Mon Sep 17 00:00:00 2001 From: Ola Bini Date: Thu, 31 Jul 2014 19:35:40 -0300 Subject: Add fake-service --- fake-service/spec/fixtures/mail1 | 15 +++++ fake-service/spec/fixtures/mail2 | 16 ++++++ fake-service/spec/smail/mail_spec.rb | 103 +++++++++++++++++++++++++++++++++++ fake-service/spec/spec_helper.rb | 1 + 4 files changed, 135 insertions(+) create mode 100644 fake-service/spec/fixtures/mail1 create mode 100644 fake-service/spec/fixtures/mail2 create mode 100644 fake-service/spec/smail/mail_spec.rb create mode 100644 fake-service/spec/spec_helper.rb (limited to 'fake-service/spec') 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(< +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(< +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' -- cgit v1.2.3