rapns_rails_2 3.5.1 → 3.6.1
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.
- checksums.yaml +7 -0
- data/README.md +2 -0
- data/lib/rapns/daemon/gcm/delivery.rb +4 -3
- data/lib/rapns/version.rb +1 -1
- metadata +46 -163
- data/config/database.yml +0 -44
- data/spec/support/cert_with_password.pem +0 -90
- data/spec/support/cert_without_password.pem +0 -59
- data/spec/support/simplecov_helper.rb +0 -13
- data/spec/support/simplecov_quality_formatter.rb +0 -8
- data/spec/tmp/.gitkeep +0 -0
- data/spec/unit/apns/app_spec.rb +0 -29
- data/spec/unit/apns/feedback_spec.rb +0 -9
- data/spec/unit/apns/notification_spec.rb +0 -215
- data/spec/unit/apns_feedback_spec.rb +0 -21
- data/spec/unit/app_spec.rb +0 -16
- data/spec/unit/configuration_spec.rb +0 -55
- data/spec/unit/daemon/apns/app_runner_spec.rb +0 -45
- data/spec/unit/daemon/apns/certificate_expired_error_spec.rb +0 -11
- data/spec/unit/daemon/apns/connection_spec.rb +0 -287
- data/spec/unit/daemon/apns/delivery_handler_spec.rb +0 -59
- data/spec/unit/daemon/apns/delivery_spec.rb +0 -101
- data/spec/unit/daemon/apns/disconnection_error_spec.rb +0 -18
- data/spec/unit/daemon/apns/feedback_receiver_spec.rb +0 -134
- data/spec/unit/daemon/app_runner_shared.rb +0 -83
- data/spec/unit/daemon/app_runner_spec.rb +0 -170
- data/spec/unit/daemon/batch_spec.rb +0 -219
- data/spec/unit/daemon/delivery_error_spec.rb +0 -13
- data/spec/unit/daemon/delivery_handler_collection_spec.rb +0 -37
- data/spec/unit/daemon/delivery_handler_shared.rb +0 -45
- data/spec/unit/daemon/feeder_spec.rb +0 -89
- data/spec/unit/daemon/gcm/app_runner_spec.rb +0 -19
- data/spec/unit/daemon/gcm/delivery_handler_spec.rb +0 -44
- data/spec/unit/daemon/gcm/delivery_spec.rb +0 -289
- data/spec/unit/daemon/interruptible_sleep_spec.rb +0 -68
- data/spec/unit/daemon/reflectable_spec.rb +0 -27
- data/spec/unit/daemon/store/active_record/reconnectable_spec.rb +0 -114
- data/spec/unit/daemon/store/active_record_spec.rb +0 -281
- data/spec/unit/daemon_spec.rb +0 -157
- data/spec/unit/deprecatable_spec.rb +0 -32
- data/spec/unit/deprecation_spec.rb +0 -15
- data/spec/unit/embed_spec.rb +0 -50
- data/spec/unit/gcm/app_spec.rb +0 -4
- data/spec/unit/gcm/notification_spec.rb +0 -52
- data/spec/unit/logger_spec.rb +0 -180
- data/spec/unit/notification_shared.rb +0 -45
- data/spec/unit/notification_spec.rb +0 -4
- data/spec/unit/notifier_spec.rb +0 -52
- data/spec/unit/push_spec.rb +0 -44
- data/spec/unit/rapns_spec.rb +0 -9
- data/spec/unit/reflection_spec.rb +0 -30
- data/spec/unit/upgraded_spec.rb +0 -40
- data/spec/unit_spec_helper.rb +0 -137
@@ -1,15 +0,0 @@
|
|
1
|
-
require File.expand_path("spec/unit_spec_helper")
|
2
|
-
|
3
|
-
describe Rapns::Deprecation do
|
4
|
-
it 'prints a warning' do
|
5
|
-
STDERR.should_receive(:puts).with("DEPRECATION WARNING: msg")
|
6
|
-
Rapns::Deprecation.warn("msg")
|
7
|
-
end
|
8
|
-
|
9
|
-
it 'does not print a warning when muted' do
|
10
|
-
STDERR.should_not_receive(:puts)
|
11
|
-
Rapns::Deprecation.muted do
|
12
|
-
Rapns::Deprecation.warn("msg")
|
13
|
-
end
|
14
|
-
end
|
15
|
-
end
|
data/spec/unit/embed_spec.rb
DELETED
@@ -1,50 +0,0 @@
|
|
1
|
-
require File.expand_path("spec/unit_spec_helper")
|
2
|
-
|
3
|
-
describe Rapns, 'embed' do
|
4
|
-
before do
|
5
|
-
Rapns::Daemon.stub(:start)
|
6
|
-
Kernel.stub(:at_exit)
|
7
|
-
end
|
8
|
-
|
9
|
-
it 'sets the embedded config option to true' do
|
10
|
-
Rapns.embed
|
11
|
-
Rapns.config.embedded.should be_true
|
12
|
-
end
|
13
|
-
|
14
|
-
it 'starts the daemon' do
|
15
|
-
Rapns::Daemon.should_receive(:start)
|
16
|
-
Rapns.embed
|
17
|
-
end
|
18
|
-
|
19
|
-
it 'overrides the default config options with those given as a hash' do
|
20
|
-
Rapns.config.push_poll = 4
|
21
|
-
expect { Rapns.embed(:push_poll => 2) }.to change(Rapns.config, :push_poll).to(2)
|
22
|
-
end
|
23
|
-
end
|
24
|
-
|
25
|
-
describe Rapns, 'shutdown' do
|
26
|
-
before { Rapns.config.embedded = true }
|
27
|
-
|
28
|
-
it 'shuts down the daemon' do
|
29
|
-
Rapns::Daemon.should_receive(:shutdown)
|
30
|
-
Rapns.shutdown
|
31
|
-
end
|
32
|
-
end
|
33
|
-
|
34
|
-
describe Rapns, 'sync' do
|
35
|
-
before { Rapns.config.embedded = true }
|
36
|
-
|
37
|
-
it 'syncs the AppRunner' do
|
38
|
-
Rapns::Daemon::AppRunner.should_receive(:sync)
|
39
|
-
Rapns.sync
|
40
|
-
end
|
41
|
-
end
|
42
|
-
|
43
|
-
describe Rapns, 'debug' do
|
44
|
-
before { Rapns.config.embedded = true }
|
45
|
-
|
46
|
-
it 'debugs the AppRunner' do
|
47
|
-
Rapns::Daemon::AppRunner.should_receive(:debug)
|
48
|
-
Rapns.debug
|
49
|
-
end
|
50
|
-
end
|
data/spec/unit/gcm/app_spec.rb
DELETED
@@ -1,52 +0,0 @@
|
|
1
|
-
require File.expand_path("spec/unit_spec_helper")
|
2
|
-
require 'spec/unit/notification_shared.rb'
|
3
|
-
|
4
|
-
describe Rapns::Gcm::Notification do
|
5
|
-
it_should_behave_like 'an Notification subclass'
|
6
|
-
|
7
|
-
let(:app) { Rapns::Gcm::App.create!(:name => 'test', :auth_key => 'abc') }
|
8
|
-
let(:notification_class) { Rapns::Gcm::Notification }
|
9
|
-
let(:notification) { notification_class.new }
|
10
|
-
let(:data_setter) { 'data=' }
|
11
|
-
let(:data_getter) { 'data' }
|
12
|
-
|
13
|
-
it "has a 'data' payload limit of 4096 bytes" do
|
14
|
-
notification.data = { :key => "a" * 4096 }
|
15
|
-
notification.valid?.should be_false
|
16
|
-
notification.errors[:base].should == "GCM notification payload data cannot be larger than 4096 bytes."
|
17
|
-
end
|
18
|
-
|
19
|
-
it 'allows assignment of many registration IDs' do
|
20
|
-
notification.app = app
|
21
|
-
notification.registration_ids = ['a', 'b']
|
22
|
-
notification.save!
|
23
|
-
reloaded_notification = notification_class.find(notification.id)
|
24
|
-
reloaded_notification.registration_ids.should == ['a', 'b']
|
25
|
-
end
|
26
|
-
|
27
|
-
it 'num of registration Ids limit of 1000' do
|
28
|
-
notification.registration_ids = ['a']*(1000+1)
|
29
|
-
notification.valid?.should be_false
|
30
|
-
notification.errors[:base].should == "GCM notification number of registration_ids cannot be larger than 1000"
|
31
|
-
end
|
32
|
-
|
33
|
-
it 'allows assignment of a single registration ID' do
|
34
|
-
notification.app = app
|
35
|
-
notification.registration_ids = 'a'
|
36
|
-
notification.save!
|
37
|
-
reloaded_notification = notification_class.find(notification.id)
|
38
|
-
reloaded_notification.registration_ids.should == ['a']
|
39
|
-
end
|
40
|
-
|
41
|
-
it 'validates expiry is present if collapse_key is set' do
|
42
|
-
notification.collapse_key = 'test'
|
43
|
-
notification.expiry = nil
|
44
|
-
notification.valid?.should be_false
|
45
|
-
notification.errors[:expiry].should == 'must be set when using a collapse_key'
|
46
|
-
end
|
47
|
-
|
48
|
-
it 'includes time_to_live in the payload' do
|
49
|
-
notification.expiry = 100
|
50
|
-
notification.as_json['time_to_live'].should == 100
|
51
|
-
end
|
52
|
-
end
|
data/spec/unit/logger_spec.rb
DELETED
@@ -1,180 +0,0 @@
|
|
1
|
-
require File.expand_path("spec/unit_spec_helper")
|
2
|
-
|
3
|
-
module Rails
|
4
|
-
def self.logger
|
5
|
-
@logger
|
6
|
-
end
|
7
|
-
|
8
|
-
def self.logger=(logger)
|
9
|
-
@logger = logger
|
10
|
-
end
|
11
|
-
end
|
12
|
-
|
13
|
-
module HoptoadNotifier
|
14
|
-
def self.notify(e)
|
15
|
-
end
|
16
|
-
end
|
17
|
-
|
18
|
-
module Airbrake
|
19
|
-
def self.notify_or_ignore(e)
|
20
|
-
end
|
21
|
-
end
|
22
|
-
|
23
|
-
describe Rapns::Logger do
|
24
|
-
let(:log) { double(:sync= => true) }
|
25
|
-
let(:config) { double(:airbrake_notify => true) }
|
26
|
-
|
27
|
-
before do
|
28
|
-
Rails.stub(:root).and_return("/rails_root")
|
29
|
-
|
30
|
-
@logger_class = if defined?(ActiveSupport::BufferedLogger)
|
31
|
-
ActiveSupport::BufferedLogger
|
32
|
-
else
|
33
|
-
ActiveSupport::Logger
|
34
|
-
end
|
35
|
-
|
36
|
-
@logger = double(@logger_class.name, :info => nil, :error => nil, :level => 0, :auto_flushing => 1, :auto_flushing= => nil)
|
37
|
-
@logger_class.stub(:new).and_return(@logger)
|
38
|
-
Rails.logger = @logger
|
39
|
-
File.stub(:open => log)
|
40
|
-
STDERR.stub(:puts)
|
41
|
-
end
|
42
|
-
|
43
|
-
it "disables logging if the log file cannot be opened" do
|
44
|
-
File.stub(:open).and_raise(Errno::ENOENT)
|
45
|
-
STDERR.should_receive(:puts).with(/No such file or directory/)
|
46
|
-
STDERR.should_receive(:puts).with(/Logging disabled/)
|
47
|
-
Rapns::Logger.new(:foreground => true)
|
48
|
-
end
|
49
|
-
|
50
|
-
it "should open the a log file in the Rails log directory" do
|
51
|
-
File.should_receive(:open).with('/rails_root/log/rapns.log', 'a')
|
52
|
-
Rapns::Logger.new(:foreground => true)
|
53
|
-
end
|
54
|
-
|
55
|
-
it 'sets sync mode on the log descriptor' do
|
56
|
-
log.should_receive(:sync=).with(true)
|
57
|
-
Rapns::Logger.new(:foreground => true)
|
58
|
-
end
|
59
|
-
|
60
|
-
it 'uses the user-defined logger' do
|
61
|
-
my_logger = double
|
62
|
-
Rapns.config.logger = my_logger
|
63
|
-
logger = Rapns::Logger.new({})
|
64
|
-
my_logger.should_receive(:info)
|
65
|
-
logger.info('test')
|
66
|
-
end
|
67
|
-
|
68
|
-
it 'uses ActiveSupport::BufferedLogger if a user-defined logger is not set' do
|
69
|
-
if ActiveSupport.const_defined?('BufferedLogger')
|
70
|
-
ActiveSupport::BufferedLogger.should_receive(:new).with(log, Rails.logger.level)
|
71
|
-
Rapns::Logger.new(:foreground => true)
|
72
|
-
end
|
73
|
-
end
|
74
|
-
|
75
|
-
it 'uses ActiveSupport::Logger if BufferedLogger does not exist' do
|
76
|
-
ActiveSupport.stub_constants(:Logger => double) do
|
77
|
-
ActiveSupport.stub(:const_defined? => false)
|
78
|
-
ActiveSupport::Logger.should_receive(:new).with(log, Rails.logger.level)
|
79
|
-
Rapns::Logger.new(:foreground => true)
|
80
|
-
end
|
81
|
-
end
|
82
|
-
|
83
|
-
it "should print out the msg if running in the foreground" do
|
84
|
-
logger = Rapns::Logger.new(:foreground => true)
|
85
|
-
STDOUT.should_receive(:puts).with(/hi mom/)
|
86
|
-
logger.info("hi mom")
|
87
|
-
end
|
88
|
-
|
89
|
-
it "should not print out the msg if not running in the foreground" do
|
90
|
-
logger = Rapns::Logger.new(:foreground => false)
|
91
|
-
STDOUT.should_not_receive(:puts).with(/hi mom/)
|
92
|
-
logger.info("hi mom")
|
93
|
-
end
|
94
|
-
|
95
|
-
it "should prefix log lines with the current time" do
|
96
|
-
now = Time.now
|
97
|
-
Time.stub(:now).and_return(now)
|
98
|
-
logger = Rapns::Logger.new(:foreground => false)
|
99
|
-
@logger.should_receive(:info).with(/#{Regexp.escape("[#{now.to_s(:db)}]")}/)
|
100
|
-
logger.info("blah")
|
101
|
-
end
|
102
|
-
|
103
|
-
it "should prefix error logs with the ERROR label" do
|
104
|
-
logger = Rapns::Logger.new(:foreground => false)
|
105
|
-
@logger.should_receive(:error).with(/#{Regexp.escape("[ERROR]")}/)
|
106
|
-
logger.error("eeek")
|
107
|
-
end
|
108
|
-
|
109
|
-
it "should prefix warn logs with the WARNING label" do
|
110
|
-
logger = Rapns::Logger.new(:foreground => false)
|
111
|
-
@logger.should_receive(:warn).with(/#{Regexp.escape("[WARNING]")}/)
|
112
|
-
logger.warn("eeek")
|
113
|
-
end
|
114
|
-
|
115
|
-
it "should handle an Exception instance" do
|
116
|
-
e = RuntimeError.new("hi mom")
|
117
|
-
e.stub(:backtrace => [])
|
118
|
-
logger = Rapns::Logger.new(:foreground => false)
|
119
|
-
@logger.should_receive(:error).with(/RuntimeError, hi mom/)
|
120
|
-
logger.error(e)
|
121
|
-
end
|
122
|
-
|
123
|
-
it "should notify Airbrake of the exception" do
|
124
|
-
e = RuntimeError.new("hi mom")
|
125
|
-
e.stub(:backtrace => [])
|
126
|
-
logger = Rapns::Logger.new(:foreground => false, :airbrake_notify => true)
|
127
|
-
Airbrake.should_receive(:notify_or_ignore).with(e)
|
128
|
-
logger.error(e)
|
129
|
-
end
|
130
|
-
|
131
|
-
context "without Airbrake defined" do
|
132
|
-
before do
|
133
|
-
Object.send(:remove_const, :Airbrake)
|
134
|
-
end
|
135
|
-
|
136
|
-
after do
|
137
|
-
module Airbrake
|
138
|
-
def self.notify_or_ignore(e)
|
139
|
-
end
|
140
|
-
end
|
141
|
-
end
|
142
|
-
|
143
|
-
it "should notify using HoptoadNotifier" do
|
144
|
-
e = RuntimeError.new("hi mom")
|
145
|
-
e.stub(:backtrace => [])
|
146
|
-
logger = Rapns::Logger.new(:foreground => false, :airbrake_notify => true)
|
147
|
-
HoptoadNotifier.should_receive(:notify_or_ignore).with(e)
|
148
|
-
logger.error(e)
|
149
|
-
end
|
150
|
-
end
|
151
|
-
|
152
|
-
it "should not notify Airbrake of the exception if the airbrake_notify option is false" do
|
153
|
-
e = RuntimeError.new("hi mom")
|
154
|
-
e.stub(:backtrace => [])
|
155
|
-
logger = Rapns::Logger.new(:foreground => false, :airbrake_notify => false)
|
156
|
-
Airbrake.should_not_receive(:notify_or_ignore).with(e)
|
157
|
-
logger.error(e)
|
158
|
-
end
|
159
|
-
|
160
|
-
it "should not notify Airbrake if explicitly disabled in the call to error" do
|
161
|
-
e = RuntimeError.new("hi mom")
|
162
|
-
e.stub(:backtrace => [])
|
163
|
-
logger = Rapns::Logger.new(:foreground => false, :airbrake_notify => true)
|
164
|
-
Airbrake.should_not_receive(:notify_or_ignore).with(e)
|
165
|
-
logger.error(e, :airbrake_notify => false)
|
166
|
-
end
|
167
|
-
|
168
|
-
it "should not attempt to notify Airbrake of the error is not an Exception" do
|
169
|
-
logger = Rapns::Logger.new(:foreground => false)
|
170
|
-
Airbrake.should_not_receive(:notify_or_ignore)
|
171
|
-
logger.error("string error message")
|
172
|
-
end
|
173
|
-
|
174
|
-
it 'defaults auto_flushing to true if the Rails logger does not respond to auto_flushing' do
|
175
|
-
rails_logger = double(:info => nil, :error => nil, :level => 0)
|
176
|
-
Rails.logger = rails_logger
|
177
|
-
logger = Rapns::Logger.new({})
|
178
|
-
@logger.auto_flushing.should be_true
|
179
|
-
end
|
180
|
-
end
|
@@ -1,45 +0,0 @@
|
|
1
|
-
shared_examples_for "an Notification subclass" do
|
2
|
-
describe "when assigning data for the device" do
|
3
|
-
before { Rapns::Deprecation.stub(:warn) }
|
4
|
-
|
5
|
-
it "calls MultiJson.dump when multi_json responds to :dump" do
|
6
|
-
Object.stub_constants(:MultiJson => mock) do
|
7
|
-
MultiJson.should_receive(:dump).with(any_args())
|
8
|
-
notification = notification_class.new
|
9
|
-
notification.send(data_setter, { :pirates => 1 })
|
10
|
-
end
|
11
|
-
end
|
12
|
-
|
13
|
-
it "calls MultiJson.encode when multi_json does not respond to :dump" do
|
14
|
-
Object.stub_constants(:MultiJson => mock) do
|
15
|
-
notification = notification_class.new
|
16
|
-
MultiJson.should_receive(:encode).with(any_args())
|
17
|
-
notification.send(data_setter, { :ninjas => 1 })
|
18
|
-
end
|
19
|
-
end
|
20
|
-
|
21
|
-
it "raises an ArgumentError if something other than a Hash is assigned" do
|
22
|
-
expect do
|
23
|
-
notification.send(data_setter, Array.new)
|
24
|
-
end.to raise_error(ArgumentError, "must be a Hash")
|
25
|
-
end
|
26
|
-
|
27
|
-
it "encodes the given Hash as JSON" do
|
28
|
-
notification.send(data_setter, { :hi => "mom" })
|
29
|
-
notification.read_attribute(:data).should == "{\"hi\":\"mom\"}"
|
30
|
-
end
|
31
|
-
|
32
|
-
it "decodes the JSON when using the reader method" do
|
33
|
-
notification.send(data_setter, { :hi => "mom" })
|
34
|
-
notification.send(data_getter).should == {"hi" => "mom"}
|
35
|
-
end
|
36
|
-
|
37
|
-
if Rapns.is_rails2_or_3?
|
38
|
-
it 'warns if attributes_for_device is assigned via mass-assignment' do
|
39
|
-
RAILS_DEFAULT_LOGGER.stub!(:debug)
|
40
|
-
Rapns::Deprecation.should_receive(:warn).with(':attributes_for_device via mass-assignment is deprecated. Use :data or the attributes_for_device= instance method.')
|
41
|
-
notification_class.new(:attributes_for_device => {:hi => 'mom'})
|
42
|
-
end
|
43
|
-
end
|
44
|
-
end
|
45
|
-
end
|
data/spec/unit/notifier_spec.rb
DELETED
@@ -1,52 +0,0 @@
|
|
1
|
-
require File.expand_path("spec/unit_spec_helper")
|
2
|
-
require 'rapns/notifier'
|
3
|
-
|
4
|
-
describe Rapns::Notifier do
|
5
|
-
|
6
|
-
before(:each) { @port = 5000 }
|
7
|
-
subject { Rapns::Notifier.new('127.0.0.1', @port) }
|
8
|
-
its(:socket) { should_not be_nil }
|
9
|
-
|
10
|
-
context "when connected" do
|
11
|
-
before :each do
|
12
|
-
@reader = UDPSocket.new
|
13
|
-
@reader.bind('127.0.0.1', 0)
|
14
|
-
@port = @reader.addr[1]
|
15
|
-
end
|
16
|
-
|
17
|
-
describe "notify" do
|
18
|
-
it "calls write on the socket" do
|
19
|
-
sock = UDPSocket.new
|
20
|
-
UDPSocket.should_receive(:new).and_return(sock)
|
21
|
-
sock.should_receive(:write)
|
22
|
-
|
23
|
-
subject.notify
|
24
|
-
end
|
25
|
-
|
26
|
-
it "writes data that can be read from socket" do
|
27
|
-
subject.notify
|
28
|
-
@reader.recvfrom(4096).should be_an(Array)
|
29
|
-
end
|
30
|
-
end
|
31
|
-
end
|
32
|
-
|
33
|
-
describe "default notifier" do
|
34
|
-
it "creates using :connect first" do
|
35
|
-
Rapns.config.stub :wakeup => { :connect => '127.0.0.1', :port => 1234 }
|
36
|
-
Rapns::Notifier.should_receive(:new).with('127.0.0.1', 1234)
|
37
|
-
Rapns.notifier
|
38
|
-
end
|
39
|
-
|
40
|
-
it "creates using :host next" do
|
41
|
-
Rapns.config.stub :wakeup => { :host => '127.0.0.1', :port => 1234 }
|
42
|
-
Rapns::Notifier.should_receive(:new).with('127.0.0.1', 1234)
|
43
|
-
Rapns.notifier
|
44
|
-
end
|
45
|
-
|
46
|
-
it "returns nil when wakeup is not specified" do
|
47
|
-
Rapns.config.stub :wakeup => nil
|
48
|
-
Rapns::Notifier.should_not_receive(:new)
|
49
|
-
Rapns.notifier.should be_nil
|
50
|
-
end
|
51
|
-
end
|
52
|
-
end
|
data/spec/unit/push_spec.rb
DELETED
@@ -1,44 +0,0 @@
|
|
1
|
-
require File.expand_path("spec/unit_spec_helper")
|
2
|
-
|
3
|
-
describe Rapns, 'push' do
|
4
|
-
before do
|
5
|
-
Rapns::Upgraded.stub(:check => nil)
|
6
|
-
Rapns::Daemon::AppRunner.stub(:sync => nil, :wait => nil)
|
7
|
-
Rapns::Daemon::Feeder.stub(:start => nil)
|
8
|
-
end
|
9
|
-
|
10
|
-
it 'sets the push config option to true' do
|
11
|
-
Rapns.push
|
12
|
-
Rapns.config.push.should be_true
|
13
|
-
end
|
14
|
-
|
15
|
-
it 'initializes the store' do
|
16
|
-
Rapns::Daemon.should_receive(:initialize_store)
|
17
|
-
Rapns.push
|
18
|
-
end
|
19
|
-
|
20
|
-
it 'syncs the app runner' do
|
21
|
-
Rapns::Daemon::AppRunner.should_receive(:sync)
|
22
|
-
Rapns.push
|
23
|
-
end
|
24
|
-
|
25
|
-
it 'starts the feeder' do
|
26
|
-
Rapns::Daemon::Feeder.should_receive(:start)
|
27
|
-
Rapns.push
|
28
|
-
end
|
29
|
-
|
30
|
-
it 'waits on the app runner' do
|
31
|
-
Rapns::Daemon::AppRunner.should_receive(:wait)
|
32
|
-
Rapns.push
|
33
|
-
end
|
34
|
-
|
35
|
-
it 'stops on the app runner' do
|
36
|
-
Rapns::Daemon::AppRunner.should_receive(:stop)
|
37
|
-
Rapns.push
|
38
|
-
end
|
39
|
-
|
40
|
-
it 'overrides the default config options with those given as a hash' do
|
41
|
-
Rapns.config.batch_size = 20
|
42
|
-
expect { Rapns.push(:batch_size => 10) }.to change(Rapns.config, :batch_size).to(10)
|
43
|
-
end
|
44
|
-
end
|