dispatch-rider 2.0.0 → 2.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (130) hide show
  1. checksums.yaml +4 -4
  2. data/.github/workflows/build.yml +5 -4
  3. data/.rubocop.yml +21 -0
  4. data/.rubocop_todo.yml +17 -300
  5. data/CHANGELOG.md +7 -0
  6. data/Rakefile +2 -1
  7. data/dispatch-rider.gemspec +3 -3
  8. data/lib/dispatch-rider/callbacks/access.rb +2 -0
  9. data/lib/dispatch-rider/callbacks/storage.rb +7 -5
  10. data/lib/dispatch-rider/callbacks/support.rb +2 -0
  11. data/lib/dispatch-rider/callbacks.rb +2 -0
  12. data/lib/dispatch-rider/command.rb +3 -3
  13. data/lib/dispatch-rider/configuration.rb +3 -1
  14. data/lib/dispatch-rider/debug.rb +3 -1
  15. data/lib/dispatch-rider/demultiplexer.rb +17 -19
  16. data/lib/dispatch-rider/dispatcher.rb +2 -0
  17. data/lib/dispatch-rider/error_handlers.rb +3 -1
  18. data/lib/dispatch-rider/errors.rb +2 -0
  19. data/lib/dispatch-rider/handlers/base.rb +12 -10
  20. data/lib/dispatch-rider/handlers/inheritance_tracking.rb +2 -0
  21. data/lib/dispatch-rider/handlers/named_process.rb +2 -0
  22. data/lib/dispatch-rider/handlers.rb +2 -0
  23. data/lib/dispatch-rider/integrations/appsignal.rb +3 -1
  24. data/lib/dispatch-rider/logging/json_formatter.rb +2 -0
  25. data/lib/dispatch-rider/logging/lifecycle_logger.rb +3 -1
  26. data/lib/dispatch-rider/logging/text_formatter.rb +2 -0
  27. data/lib/dispatch-rider/logging/translator/base_translator.rb +3 -1
  28. data/lib/dispatch-rider/logging/translator/complete_translator.rb +2 -0
  29. data/lib/dispatch-rider/logging/translator/error_handler_fail_translator.rb +2 -0
  30. data/lib/dispatch-rider/logging/translator/fail_translator.rb +2 -0
  31. data/lib/dispatch-rider/logging/translator/start_translator.rb +2 -0
  32. data/lib/dispatch-rider/logging/translator/stop_translator.rb +2 -0
  33. data/lib/dispatch-rider/logging/translator/success_translator.rb +2 -0
  34. data/lib/dispatch-rider/logging/translator.rb +2 -0
  35. data/lib/dispatch-rider/logging.rb +2 -0
  36. data/lib/dispatch-rider/message.rb +3 -0
  37. data/lib/dispatch-rider/notification_services/aws_sns.rb +5 -3
  38. data/lib/dispatch-rider/notification_services/base.rb +2 -0
  39. data/lib/dispatch-rider/notification_services/file_system/channel.rb +2 -0
  40. data/lib/dispatch-rider/notification_services/file_system/notifier.rb +2 -0
  41. data/lib/dispatch-rider/notification_services/file_system.rb +3 -1
  42. data/lib/dispatch-rider/notification_services.rb +2 -0
  43. data/lib/dispatch-rider/publisher/base.rb +2 -0
  44. data/lib/dispatch-rider/publisher/configuration/destination.rb +6 -4
  45. data/lib/dispatch-rider/publisher/configuration/notification_service.rb +4 -2
  46. data/lib/dispatch-rider/publisher/configuration.rb +2 -0
  47. data/lib/dispatch-rider/publisher/configuration_reader.rb +3 -1
  48. data/lib/dispatch-rider/publisher/configuration_support.rb +3 -1
  49. data/lib/dispatch-rider/publisher.rb +7 -12
  50. data/lib/dispatch-rider/queue_services/aws_sqs/message_body_extractor.rb +2 -0
  51. data/lib/dispatch-rider/queue_services/aws_sqs/sqs_received_message.rb +6 -4
  52. data/lib/dispatch-rider/queue_services/aws_sqs.rb +5 -2
  53. data/lib/dispatch-rider/queue_services/base.rb +5 -4
  54. data/lib/dispatch-rider/queue_services/file_system/fs_received_message.rb +5 -3
  55. data/lib/dispatch-rider/queue_services/file_system/queue.rb +5 -4
  56. data/lib/dispatch-rider/queue_services/file_system.rb +7 -11
  57. data/lib/dispatch-rider/queue_services/received_message.rb +3 -1
  58. data/lib/dispatch-rider/queue_services/simple.rb +5 -7
  59. data/lib/dispatch-rider/queue_services.rb +2 -0
  60. data/lib/dispatch-rider/registrars/base.rb +5 -5
  61. data/lib/dispatch-rider/registrars/file_system_channel.rb +3 -1
  62. data/lib/dispatch-rider/registrars/handler.rb +3 -1
  63. data/lib/dispatch-rider/registrars/notification_service.rb +2 -0
  64. data/lib/dispatch-rider/registrars/publishing_destination.rb +3 -1
  65. data/lib/dispatch-rider/registrars/queue_service.rb +2 -0
  66. data/lib/dispatch-rider/registrars/sns_channel.rb +3 -1
  67. data/lib/dispatch-rider/registrars.rb +2 -0
  68. data/lib/dispatch-rider/runner.rb +2 -0
  69. data/lib/dispatch-rider/scheduled_job/migration.rb +2 -0
  70. data/lib/dispatch-rider/scheduled_job.rb +3 -3
  71. data/lib/dispatch-rider/subscriber.rb +2 -0
  72. data/lib/dispatch-rider/version.rb +3 -1
  73. data/lib/dispatch-rider.rb +3 -1
  74. data/lib/generators/dispatch_rider/install/install_generator.rb +2 -0
  75. data/lib/generators/dispatch_rider/install/templates/script/dispatch_rider +1 -0
  76. data/lib/generators/dispatch_rider/job/dispatch_job_generator.rb +2 -0
  77. data/spec/factories/messages.rb +4 -1
  78. data/spec/fixtures/handlers/another_test_handler.rb +2 -0
  79. data/spec/fixtures/handlers/test_handler.rb +2 -0
  80. data/spec/integration/logging_spec.rb +2 -0
  81. data/spec/lib/dispatch-rider/airbrake_error_handler_spec.rb +3 -1
  82. data/spec/lib/dispatch-rider/callbacks/access_spec.rb +2 -0
  83. data/spec/lib/dispatch-rider/callbacks/storage_spec.rb +2 -0
  84. data/spec/lib/dispatch-rider/configuration_spec.rb +3 -1
  85. data/spec/lib/dispatch-rider/default_error_handler_spec.rb +2 -0
  86. data/spec/lib/dispatch-rider/demultiplexer_spec.rb +4 -2
  87. data/spec/lib/dispatch-rider/dispatcher_spec.rb +12 -9
  88. data/spec/lib/dispatch-rider/handlers/base_spec.rb +2 -0
  89. data/spec/lib/dispatch-rider/handlers/inheritance_tracking_spec.rb +2 -0
  90. data/spec/lib/dispatch-rider/logging/json_formatter_spec.rb +2 -0
  91. data/spec/lib/dispatch-rider/logging/lifecycle_logger_spec.rb +3 -1
  92. data/spec/lib/dispatch-rider/logging/text_formatter_spec.rb +2 -0
  93. data/spec/lib/dispatch-rider/logging/translator_spec.rb +2 -0
  94. data/spec/lib/dispatch-rider/message_spec.rb +7 -5
  95. data/spec/lib/dispatch-rider/notification_services/aws_sns_spec.rb +2 -0
  96. data/spec/lib/dispatch-rider/notification_services/base_spec.rb +6 -4
  97. data/spec/lib/dispatch-rider/notification_services/file_system/channel_spec.rb +2 -0
  98. data/spec/lib/dispatch-rider/notification_services/file_system/notifier_spec.rb +2 -0
  99. data/spec/lib/dispatch-rider/notification_services/file_system_spec.rb +2 -0
  100. data/spec/lib/dispatch-rider/notification_services_spec.rb +2 -0
  101. data/spec/lib/dispatch-rider/publisher/base_spec.rb +2 -0
  102. data/spec/lib/dispatch-rider/publisher/configuration/destination_spec.rb +2 -0
  103. data/spec/lib/dispatch-rider/publisher/configuration/notification_service_spec.rb +2 -0
  104. data/spec/lib/dispatch-rider/publisher/configuration_reader_spec.rb +15 -4
  105. data/spec/lib/dispatch-rider/publisher/configuration_spec.rb +3 -1
  106. data/spec/lib/dispatch-rider/publisher/configuration_support_spec.rb +4 -2
  107. data/spec/lib/dispatch-rider/publisher_spec.rb +15 -22
  108. data/spec/lib/dispatch-rider/queue_services/aws_sqs_spec.rb +11 -4
  109. data/spec/lib/dispatch-rider/queue_services/base_spec.rb +10 -8
  110. data/spec/lib/dispatch-rider/queue_services/file_system_spec.rb +7 -5
  111. data/spec/lib/dispatch-rider/queue_services/received_message_spec.rb +2 -0
  112. data/spec/lib/dispatch-rider/queue_services/simple_spec.rb +6 -4
  113. data/spec/lib/dispatch-rider/registrars/base_spec.rb +4 -2
  114. data/spec/lib/dispatch-rider/registrars/file_system_channel_spec.rb +2 -0
  115. data/spec/lib/dispatch-rider/registrars/handler_spec.rb +2 -0
  116. data/spec/lib/dispatch-rider/registrars/notification_service_spec.rb +2 -0
  117. data/spec/lib/dispatch-rider/registrars/publishing_destination_spec.rb +2 -0
  118. data/spec/lib/dispatch-rider/registrars/queue_service_spec.rb +2 -0
  119. data/spec/lib/dispatch-rider/registrars/sns_channel_spec.rb +2 -0
  120. data/spec/lib/dispatch-rider/registrars_spec.rb +2 -0
  121. data/spec/lib/dispatch-rider/runner_spec.rb +3 -1
  122. data/spec/lib/dispatch-rider/scheduled_job_spec.rb +2 -0
  123. data/spec/lib/dispatch-rider/subscriber_spec.rb +6 -3
  124. data/spec/lib/dispatch-rider_spec.rb +2 -0
  125. data/spec/spec_helper.rb +2 -1
  126. data/spec/support/crashing_handler.rb +2 -0
  127. data/spec/support/integration_support.rb +2 -0
  128. data/spec/support/null_logger.rb +2 -0
  129. data/spec/support/sample_handler.rb +2 -0
  130. metadata +30 -30
@@ -1,8 +1,10 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'spec_helper'
2
4
 
3
5
  describe DispatchRider::NotificationServices::Base do
4
6
  subject do
5
- DispatchRider::NotificationServices::Base.new(topics: {})
7
+ described_class.new(topics: {})
6
8
  end
7
9
 
8
10
  let :channel do
@@ -15,7 +17,7 @@ describe DispatchRider::NotificationServices::Base do
15
17
  channel
16
18
  end
17
19
 
18
- before :each do
20
+ before do
19
21
  allow_any_instance_of(described_class).to receive(:notifier_builder).and_return(OpenStruct)
20
22
  channel = DispatchRider::Registrars::SnsChannel
21
23
  allow_any_instance_of(described_class).to receive(:channel_registrar_builder).and_return(channel)
@@ -35,7 +37,7 @@ describe DispatchRider::NotificationServices::Base do
35
37
  end
36
38
 
37
39
  describe "#publish" do
38
- before :each do
40
+ before do
39
41
  subject.register(:foo, account: 123, region: "us-east-1", topic: "PlanOfAttack")
40
42
  subject.notifier.topics['arn:aws:sns:us-east-1:123:PlanOfAttack'] = channel
41
43
  end
@@ -70,7 +72,7 @@ describe DispatchRider::NotificationServices::Base do
70
72
  end
71
73
 
72
74
  describe "#channels" do
73
- before :each do
75
+ before do
74
76
  subject.register(:foo, account: 123, region: "us-east-1", topic: "PlanOfAttack")
75
77
  subject.notifier.topics['arn:aws:sns:us-east-1:123:PlanOfAttack'] = channel
76
78
  end
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'spec_helper'
2
4
 
3
5
  describe DispatchRider::NotificationServices::FileSystem::Channel do
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'spec_helper'
2
4
 
3
5
  describe DispatchRider::NotificationServices::FileSystem::Notifier do
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'spec_helper'
2
4
 
3
5
  describe DispatchRider::NotificationServices::FileSystem do
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'spec_helper'
2
4
 
3
5
  describe DispatchRider::NotificationServices do
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'spec_helper'
2
4
 
3
5
  describe DispatchRider::Publisher::Base do
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'spec_helper'
2
4
 
3
5
  describe DispatchRider::Publisher::Configuration::Destination do
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'spec_helper'
2
4
 
3
5
  describe DispatchRider::Publisher::Configuration::NotificationService do
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'spec_helper'
2
4
 
3
5
  describe DispatchRider::Publisher::ConfigurationReader do
@@ -55,7 +57,11 @@ describe DispatchRider::Publisher::ConfigurationReader do
55
57
  end
56
58
 
57
59
  it "calls register_notification_service with :file_system and {}" do
58
- expect(publisher).to receive(:register_notification_service).with("file_system", {})
60
+ if RUBY_VERSION > '3'
61
+ expect(publisher).to receive(:register_notification_service).with("file_system").once
62
+ else
63
+ expect(publisher).to receive(:register_notification_service).with("file_system", {}).once
64
+ end
59
65
  subject.load_config(configuration, publisher)
60
66
  end
61
67
  end
@@ -71,8 +77,13 @@ describe DispatchRider::Publisher::ConfigurationReader do
71
77
  end
72
78
 
73
79
  it "calls register_notification_service with :file_system and {}, as well as :foo, {bar: '123'}" do
74
- expect(publisher).to receive(:register_notification_service).with("file_system", {})
75
- expect(publisher).to receive(:register_notification_service).with("foo", "bar" => "123")
80
+ if RUBY_VERSION > '3'
81
+ expect(publisher).to receive(:register_notification_service).with("file_system").once
82
+ expect(publisher).to receive(:register_notification_service).with("foo", bar: "123").once
83
+ else
84
+ expect(publisher).to receive(:register_notification_service).with("file_system", {}).once
85
+ expect(publisher).to receive(:register_notification_service).with("foo", "bar" => "123").once
86
+ end
76
87
  subject.load_config(configuration, publisher)
77
88
  end
78
89
  end
@@ -117,7 +128,7 @@ describe DispatchRider::Publisher::ConfigurationReader do
117
128
 
118
129
  it "should call register_destination with the right parameters" do
119
130
  params = ["out1", :file_system, :foo, "path" => "tmp/test/channel"]
120
- expect(publisher).to receive(:register_destination).exactly(1).times.with(*params)
131
+ expect(publisher).to receive(:register_destination).once.with(*params)
121
132
  subject.load_config(configuration, publisher)
122
133
  end
123
134
 
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'spec_helper'
2
4
 
3
5
  describe DispatchRider::Publisher::Configuration do
@@ -131,7 +133,7 @@ describe DispatchRider::Publisher::Configuration do
131
133
  )
132
134
  end
133
135
 
134
- before :each do
136
+ before do
135
137
  subject.parse(new_configuration_hash)
136
138
  end
137
139
 
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'spec_helper'
2
4
 
3
5
  describe DispatchRider::Publisher::ConfigurationSupport do
@@ -52,7 +54,7 @@ describe DispatchRider::Publisher::ConfigurationSupport do
52
54
  end
53
55
 
54
56
  context "when configuring with a hash" do
55
- before :each do
57
+ before do
56
58
  subject.configure(configuration_hash)
57
59
  end
58
60
 
@@ -68,7 +70,7 @@ describe DispatchRider::Publisher::ConfigurationSupport do
68
70
  end
69
71
 
70
72
  context "when configuring with a block" do
71
- before :each do
73
+ before do
72
74
  subject.configure do |config|
73
75
  config.parse(configuration_hash)
74
76
  end
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'spec_helper'
2
4
 
3
5
  describe DispatchRider::Publisher do
@@ -55,7 +57,7 @@ describe DispatchRider::Publisher do
55
57
  end
56
58
 
57
59
  describe "#register_channel" do
58
- before :each do
60
+ before do
59
61
  subject.register_notification_service(:aws_sns)
60
62
  end
61
63
 
@@ -72,7 +74,7 @@ describe DispatchRider::Publisher do
72
74
  end
73
75
 
74
76
  describe "#register_destination" do
75
- before :each do
77
+ before do
76
78
  subject.register_notification_service(:aws_sns)
77
79
  end
78
80
 
@@ -100,18 +102,18 @@ describe DispatchRider::Publisher do
100
102
  subject.notification_service_registrar.fetch(:aws_sns).notifier
101
103
  end
102
104
 
103
- before :each do
105
+ before do
104
106
  subject.register_notification_service(:file_system)
105
107
  subject.register_destination(:fs_foo, :file_system, :foo, path: "tmp/test_queue")
106
108
  end
107
109
 
108
110
  around do |ex|
109
- begin
110
- DispatchRider.config.debug = true
111
- ex.call
112
- ensure
113
- DispatchRider.config.debug = false
114
- end
111
+
112
+ DispatchRider.config.debug = true
113
+ ex.call
114
+ ensure
115
+ DispatchRider.config.debug = false
116
+
115
117
  end
116
118
 
117
119
  it "publishes the message to the notification service" do
@@ -135,25 +137,16 @@ describe DispatchRider::Publisher do
135
137
  describe "calls publish callback" do
136
138
  describe "calls the publish callback" do
137
139
  let(:publish_callback) { double :callback }
138
- let(:expected_message) {
139
- DispatchRider::Message.new(
140
- subject: "bar_handler",
141
- body: {
142
- "bar" => "baz",
143
- guid: "test-mode-not-random-guid"
144
- }
145
- )
146
- }
147
140
 
148
141
  before { DispatchRider.config.callbacks.for(:publish) << publish_callback }
149
142
 
150
143
  after { DispatchRider.config.callbacks.for(:publish).delete publish_callback }
151
144
 
152
145
  example do
153
- expect(publish_callback).to receive(:call).with any_args, # first argument is the inner job
154
- destinations: [:fs_foo],
155
- message: expected_message
156
-
146
+ expect(publish_callback).to receive(:call).with(
147
+ an_instance_of(Proc), # first argument is the inner job
148
+ { destinations: [:fs_foo],
149
+ message: an_instance_of(DispatchRider::Message) })
157
150
  publisher.publish destinations: [:fs_foo],
158
151
  message: {
159
152
  subject: "bar_handler",
@@ -1,17 +1,23 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'spec_helper'
2
4
 
3
5
  describe DispatchRider::QueueServices::AwsSqs do
4
6
 
5
7
  subject(:aws_sqs_queue) do
6
- DispatchRider::QueueServices::AwsSqs.new(:name => "normal_priority")
8
+ described_class.new(:name => "normal_priority")
7
9
  end
8
10
 
9
11
  let(:visibility_timeout) { 100 }
10
12
 
11
13
  before do
12
- allow_any_instance_of(Aws::SQS::Client).to receive(:list_queues).and_return(OpenStruct.new({queue_urls:["the.queue.url"]}))
14
+ allow_any_instance_of(Aws::SQS::Client).to receive(:list_queues).and_return(OpenStruct.new({queue_urls: ["the.queue.url"]}))
13
15
  allow_any_instance_of(Aws::SQS::Client).to receive(:get_queue_attributes).and_return(
14
- OpenStruct.new({attributes:{"VisibilityTimeout"=>visibility_timeout}})
16
+ OpenStruct.new(
17
+ {
18
+ attributes: {"VisibilityTimeout"=>visibility_timeout}
19
+ }
20
+ )
15
21
  )
16
22
  end
17
23
 
@@ -99,7 +105,7 @@ describe DispatchRider::QueueServices::AwsSqs do
99
105
  end
100
106
 
101
107
  context "when the sqs queue is empty" do
102
- before :each do
108
+ before do
103
109
  allow_any_instance_of(Aws::SQS::Queue).to receive(:receive_messages).and_return(OpenStruct.new({first: nil }))
104
110
  end
105
111
 
@@ -134,6 +140,7 @@ describe DispatchRider::QueueServices::AwsSqs do
134
140
  end
135
141
 
136
142
  before do
143
+ allow(response_message).to receive(:change_visibility)
137
144
  allow_any_instance_of(Aws::SQS::Queue).to receive(:receive_messages).and_return(OpenStruct.new({first: response_message }))
138
145
  end
139
146
 
@@ -1,9 +1,11 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'spec_helper'
2
4
 
3
5
  describe DispatchRider::QueueServices::Base do
4
6
  subject(:base_queue) do
5
- allow_any_instance_of(DispatchRider::QueueServices::Base).to receive(:assign_storage).and_return([])
6
- DispatchRider::QueueServices::Base.new
7
+ allow_any_instance_of(described_class).to receive(:assign_storage).and_return([])
8
+ described_class.new
7
9
  end
8
10
 
9
11
  describe "#initialize" do
@@ -34,7 +36,7 @@ describe DispatchRider::QueueServices::Base do
34
36
  describe "#pop" do
35
37
  subject(:simple_queue) { DispatchRider::QueueServices::Simple.new }
36
38
 
37
- before :each do
39
+ before do
38
40
  simple_queue.queue.push(DispatchRider::Message.new(subject: "foo", body: "bar").to_json)
39
41
  end
40
42
 
@@ -61,7 +63,7 @@ describe DispatchRider::QueueServices::Base do
61
63
  end
62
64
 
63
65
  context "when the queue is empty" do
64
- before :each do
66
+ before do
65
67
  simple_queue.queue = []
66
68
  end
67
69
 
@@ -90,7 +92,7 @@ describe DispatchRider::QueueServices::Base do
90
92
 
91
93
  context "when a new item exists" do
92
94
  before do
93
- allow(base_queue).to receive(:construct_message_from) { |item| item.message }
95
+ allow(base_queue).to receive(:construct_message_from, &:message)
94
96
  end
95
97
 
96
98
  let(:new_item) { OpenStruct.new(message: new_message) }
@@ -127,12 +129,12 @@ describe DispatchRider::QueueServices::Base do
127
129
  end
128
130
 
129
131
  describe "#empty?" do
130
- before :each do
132
+ before do
131
133
  allow(base_queue).to receive(:size) { base_queue.queue.size }
132
134
  end
133
135
 
134
136
  context "when the queue is empty" do
135
- before :each do
137
+ before do
136
138
  base_queue.queue = []
137
139
  end
138
140
 
@@ -142,7 +144,7 @@ describe DispatchRider::QueueServices::Base do
142
144
  end
143
145
 
144
146
  context "when the queue is not empty" do
145
- before :each do
147
+ before do
146
148
  base_queue.queue << { subject: 'foo', body: 'bar' }.to_json
147
149
  end
148
150
 
@@ -1,8 +1,10 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'spec_helper'
2
4
 
3
5
  describe DispatchRider::QueueServices::FileSystem do
4
6
  subject(:file_system_queue) do
5
- DispatchRider::QueueServices::FileSystem.new(:path => queue_path)
7
+ described_class.new(:path => queue_path)
6
8
  end
7
9
 
8
10
  let(:queue_path) { "tmp/queue" }
@@ -26,7 +28,7 @@ describe DispatchRider::QueueServices::FileSystem do
26
28
  end
27
29
 
28
30
  describe "#raw_head" do
29
- before :each do
31
+ before do
30
32
  file_system_queue.insert({'subject' => 'foo', 'body' => 'bar'}.to_json)
31
33
  end
32
34
 
@@ -53,7 +55,7 @@ describe DispatchRider::QueueServices::FileSystem do
53
55
  end
54
56
 
55
57
  describe "#put_back" do
56
- before :each do
58
+ before do
57
59
  file_system_queue.insert({'subject' => 'foo', 'body' => 'bar'}.to_json)
58
60
  end
59
61
 
@@ -66,7 +68,7 @@ describe DispatchRider::QueueServices::FileSystem do
66
68
  end
67
69
 
68
70
  describe "#delete" do
69
- before :each do
71
+ before do
70
72
  file_system_queue.insert({'subject' => 'foo', 'body' => 'bar'}.to_json)
71
73
  end
72
74
 
@@ -78,7 +80,7 @@ describe DispatchRider::QueueServices::FileSystem do
78
80
  end
79
81
 
80
82
  describe "#size" do
81
- before :each do
83
+ before do
82
84
  file_system_queue.insert({'subject' => 'foo', 'body' => 'bar'}.to_json)
83
85
  end
84
86
 
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'spec_helper'
2
4
 
3
5
  describe DispatchRider::QueueServices::ReceivedMessage do
@@ -1,8 +1,10 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'spec_helper'
2
4
 
3
5
  describe DispatchRider::QueueServices::Simple do
4
6
  subject(:simple_queue) do
5
- DispatchRider::QueueServices::Simple.new
7
+ described_class.new
6
8
  end
7
9
 
8
10
  describe "#assign_storage" do
@@ -21,7 +23,7 @@ describe DispatchRider::QueueServices::Simple do
21
23
  end
22
24
 
23
25
  describe "#raw_head" do
24
- before :each do
26
+ before do
25
27
  simple_queue.insert({'subject' => 'foo', 'body' => 'bar'}.to_json)
26
28
  end
27
29
 
@@ -41,7 +43,7 @@ describe DispatchRider::QueueServices::Simple do
41
43
  end
42
44
 
43
45
  describe "#delete" do
44
- before :each do
46
+ before do
45
47
  simple_queue.insert({'subject' => 'foo', 'body' => 'bar'}.to_json)
46
48
  end
47
49
 
@@ -52,7 +54,7 @@ describe DispatchRider::QueueServices::Simple do
52
54
  end
53
55
 
54
56
  describe "#size" do
55
- before :each do
57
+ before do
56
58
  simple_queue.insert({'subject' => 'foo', 'body' => 'bar'}.to_json)
57
59
  end
58
60
 
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'spec_helper'
2
4
 
3
5
  describe DispatchRider::Registrars::Base do
@@ -32,7 +34,7 @@ describe DispatchRider::Registrars::Base do
32
34
  end
33
35
 
34
36
  describe "#unregister" do
35
- before :each do
37
+ before do
36
38
  allow(subject).to receive(:value).and_return('bar')
37
39
  subject.register(:foo)
38
40
  end
@@ -49,7 +51,7 @@ describe DispatchRider::Registrars::Base do
49
51
 
50
52
  describe "#fetch" do
51
53
  context "when a key/value pair is registered" do
52
- before :each do
54
+ before do
53
55
  allow(subject).to receive(:value).and_return('bar')
54
56
  subject.register(:foo)
55
57
  end
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'spec_helper'
2
4
 
3
5
  describe DispatchRider::Registrars::FileSystemChannel do
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'spec_helper'
2
4
 
3
5
  describe DispatchRider::Registrars::Handler do
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'spec_helper'
2
4
 
3
5
  describe DispatchRider::Registrars::NotificationService do
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'spec_helper'
2
4
 
3
5
  describe DispatchRider::Registrars::PublishingDestination do
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'spec_helper'
2
4
 
3
5
  describe DispatchRider::Registrars::QueueService do
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'spec_helper'
2
4
 
3
5
  describe DispatchRider::Registrars::SnsChannel do
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'spec_helper'
2
4
 
3
5
  describe DispatchRider::Registrars do
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'spec_helper'
2
4
 
3
5
  describe DispatchRider::Runner do
@@ -5,7 +7,7 @@ describe DispatchRider::Runner do
5
7
  describe ".run" do
6
8
  let(:subscriber) { double(:subscriber) }
7
9
 
8
- before :each do
10
+ before do
9
11
  DispatchRider.configure do |config|
10
12
  config.subscriber = subscriber
11
13
  end
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require "spec_helper"
2
4
 
3
5
  describe DispatchRider::ScheduledJob do
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require "spec_helper"
2
4
 
3
5
  describe DispatchRider::Subscriber do
@@ -55,7 +57,7 @@ describe DispatchRider::Subscriber do
55
57
 
56
58
  describe "#setup_demultiplexer" do
57
59
  context "when a queue is registered" do
58
- before :each do
60
+ before do
59
61
  subject.register_queue(:simple)
60
62
  subject.register_handler(:foo_bar)
61
63
  end
@@ -69,7 +71,7 @@ describe DispatchRider::Subscriber do
69
71
  end
70
72
 
71
73
  describe "#process" do
72
- before :each do
74
+ before do
73
75
  subject.register_queue(:simple)
74
76
  subject.register_handler(:foo_bar)
75
77
  subject.setup_demultiplexer(:simple)
@@ -89,6 +91,7 @@ describe DispatchRider::Subscriber do
89
91
  # kills travis sometimes so leaving it here as tested documentation
90
92
  describe "process termination", if: false do
91
93
  before { allow(subject.demultiplexer).to receive(:stop) { throw :got_stopped } }
94
+
92
95
  let(:message_body) { { 'foo' => 'bar' } }
93
96
 
94
97
  context "when process quits" do
@@ -151,7 +154,7 @@ describe DispatchRider::Subscriber do
151
154
  allow(subject).to receive(:exit) { throw :got_forcefully_stopped }
152
155
 
153
156
  konst = Class.new(DispatchRider::Handlers::Base) do
154
- def process(options)
157
+ def process(_options)
155
158
  2.times { Process.kill("INT", 0) }
156
159
  end
157
160
  end
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'spec_helper'
2
4
 
3
5
  describe DispatchRider do
data/spec/spec_helper.rb CHANGED
@@ -3,6 +3,7 @@
3
3
  require 'bundler/setup'
4
4
 
5
5
  require 'simplecov'
6
+ SimpleCov.minimum_coverage 85
6
7
  require 'coveralls'
7
8
 
8
9
  if RUBY_VERSION < "3.1"
@@ -33,7 +34,7 @@ Bundler.require(:default, :development)
33
34
 
34
35
  require 'dispatch-rider'
35
36
 
36
- Dir['./spec/support/**/*.rb'].each { |fn| require(fn) }
37
+ Dir['./spec/support/**/*.rb'].sort.each { |fn| require(fn) }
37
38
 
38
39
  FactoryBot.definition_file_paths = %w{spec/factories/}
39
40
  FactoryBot.find_definitions
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  class CrashingHandler < DispatchRider::Handlers::Base
2
4
  def process(_params)
3
5
  raise "I crashed!"
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module IntegrationSupport
2
4
  def setup_publisher
3
5
  publisher = DispatchRider::Publisher.new
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  class NullLogger
2
4
  def ignore(*_args)
3
5
  end
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  class SampleHandler < DispatchRider::Handlers::Base
2
4
  def process(_params)
3
5
  # do nothing