1
0
مراية لـ https://github.com/postalserver/postal.git تم المزامنة 2025-11-30 21:32:30 +00:00

test: add tests for message unqueueing

This adds a comprehensive set of tests for the message unqueueing service.

Additionally, it improves how message databases are used for testing environments.
هذا الالتزام موجود في:
Adam Cooke
2024-02-19 22:27:22 +00:00
ملتزم من قبل Adam Cooke
الأصل 465f4d8247
التزام b4016f6b49
21 ملفات معدلة مع 1658 إضافات و84 حذوفات

عرض الملف

@@ -4,7 +4,8 @@ require "rails_helper"
describe Postal::MessageDB::Database do
context "when provisioned" do
subject(:database) { GLOBAL_SERVER.message_db }
let(:server) { create(:server) }
subject(:database) { server.message_db }
it "should be a message db" do
expect(database).to be_a Postal::MessageDB::Database

عرض الملف

@@ -3,25 +3,23 @@
require "rails_helper"
describe Postal::MessageParser do
let(:server) { create(:server) }
it "should not do anything when there are no tracking domains" do
with_global_server do |server|
expect(server.track_domains.size).to eq 0
message = create_plain_text_message(server, "Hello world!", "test@example.com")
parser = Postal::MessageParser.new(message)
expect(parser.actioned?).to be false
expect(parser.tracked_links).to eq 0
expect(parser.tracked_images).to eq 0
end
expect(server.track_domains.size).to eq 0
message = create_plain_text_message(server, "Hello world!", "test@example.com")
parser = Postal::MessageParser.new(message)
expect(parser.actioned?).to be false
expect(parser.tracked_links).to eq 0
expect(parser.tracked_images).to eq 0
end
it "should replace links in messages" do
with_global_server do |server|
message = create_plain_text_message(server, "Hello world! http://github.com/atech/postal", "test@example.com")
create(:track_domain, server: server, domain: message.domain)
parser = Postal::MessageParser.new(message)
expect(parser.actioned?).to be true
expect(parser.new_body).to match(/^Hello world! https:\/\/click\.#{message.domain.name}/)
expect(parser.tracked_links).to eq 1
end
message = create_plain_text_message(server, "Hello world! http://github.com/atech/postal", "test@example.com")
create(:track_domain, server: server, domain: message.domain)
parser = Postal::MessageParser.new(message)
expect(parser.actioned?).to be true
expect(parser.new_body).to match(/^Hello world! https:\/\/click\.#{message.domain.name}/)
expect(parser.tracked_links).to eq 1
end
end

عرض الملف

@@ -7,7 +7,7 @@ module Postal
describe Client do
let(:ip_address) { "1.2.3.4" }
let(:server) { GLOBAL_SERVER } # We'll use the global server instance for this
let(:server) { create(:server) }
subject(:client) { described_class.new(ip_address) }
let(:credential) { create(:credential, server: server, type: "SMTP") }
@@ -22,10 +22,6 @@ module Postal
client.handle("RCPT TO: #{rcpt_to}")
end
after do
server.message_db.provisioner.clean
end
describe "when finished sending data" do
context "when the data is larger than the maximum message size" do
it "returns an error and resets the state" do