Commit 7fdfdb1
Changed files (3)
lib
minbox
spec
minbox
lib/minbox/client.rb
@@ -102,12 +102,12 @@ module Minbox
write '334 UGFzc3dvcmQ6'
else
write '334 UGFzc3dvcmQ6'
- password = Base64.decode64(read)
- logger.debug("#{username}:#{password}")
-
- return write '535 Authenticated failed - protocol error' unless username && password
- write "235 2.7.0 Authentication successful"
end
+ password = Base64.decode64(read)
+ logger.debug("#{username}:#{password}")
+
+ return write '535 Authenticated failed - protocol error' unless username && password
+ write "235 2.7.0 Authentication successful"
end
def write(message)
spec/minbox/server_spec.rb
@@ -38,6 +38,33 @@ RSpec.describe Minbox::Server do
specify { expect(result).to eql(n) }
end
+
+ context "with plain authentication" do
+ let(:result) do
+ Net::SMTP.start(host, port, 'mail.from.domain', 'username', 'password', :plain) do |smtp|
+ smtp.send_message(create_mail.to_s, Faker::Internet.email, Faker::Internet.email)
+ end
+ end
+
+ specify { expect(result).to be_success }
+ specify { expect(result.status.to_i).to eql(250) }
+ end
+
+ context "with login authentication" do
+ let(:result) do
+ Net::SMTP.start(host, port, 'mail.from.domain', 'username', 'password', :login) do |smtp|
+ smtp.send_message(create_mail.to_s, Faker::Internet.email, Faker::Internet.email)
+ end
+ end
+
+ specify { expect(result).to be_success }
+ specify { expect(result.status.to_i).to eql(250) }
+ end
+
+ context "with a text/html part" do
+
+ end
+
end
end
end
spec/minbox_spec.rb
@@ -1,9 +1,3 @@
RSpec.describe Minbox do
- it "has a version number" do
- expect(Minbox::VERSION).not_to be nil
- end
-
- it "does something useful" do
- expect(false).to eq(true)
- end
+ specify { expect(Minbox::VERSION).not_to be_nil }
end