pusher-fake 0.5.0 → 0.6.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.
- data/lib/pusher-fake.rb +12 -2
- data/lib/pusher-fake/cucumber.rb +20 -0
- data/spec/lib/pusher_fake_spec.rb +64 -0
- metadata +10 -7
data/lib/pusher-fake.rb
CHANGED
@@ -16,7 +16,7 @@ require "pusher-fake/webhook"
|
|
16
16
|
|
17
17
|
module PusherFake
|
18
18
|
# The current version string.
|
19
|
-
VERSION = "0.
|
19
|
+
VERSION = "0.6.0"
|
20
20
|
|
21
21
|
# Call this method to modify the defaults.
|
22
22
|
#
|
@@ -32,6 +32,16 @@ module PusherFake
|
|
32
32
|
|
33
33
|
# @return [Configuration] Current configuration.
|
34
34
|
def self.configuration
|
35
|
-
|
35
|
+
@configuration ||= Configuration.new
|
36
|
+
end
|
37
|
+
|
38
|
+
# Convenience method for the JS to override the Pusher client host and port.
|
39
|
+
#
|
40
|
+
# @return [String] JavaScript overriding the Pusher client host and port.
|
41
|
+
def self.javascript
|
42
|
+
<<-EOS
|
43
|
+
Pusher.host = #{configuration.socket_host.to_json};
|
44
|
+
Pusher.ws_port = #{configuration.socket_port.to_json};
|
45
|
+
EOS
|
36
46
|
end
|
37
47
|
end
|
@@ -0,0 +1,20 @@
|
|
1
|
+
# Use the same API key and secret as the live version.
|
2
|
+
PusherFake.configure do |configuration|
|
3
|
+
configuration.app_id = Pusher.app_id
|
4
|
+
configuration.key = Pusher.key
|
5
|
+
configuration.secret = Pusher.secret
|
6
|
+
end
|
7
|
+
|
8
|
+
# Set the host and port to the fake web server.
|
9
|
+
Pusher.host = PusherFake.configuration.web_host
|
10
|
+
Pusher.port = PusherFake.configuration.web_port
|
11
|
+
|
12
|
+
# Start the fake web server.
|
13
|
+
fork { PusherFake::Server.start }.tap do |id|
|
14
|
+
at_exit { Process.kill("KILL", id) }
|
15
|
+
end
|
16
|
+
|
17
|
+
# Reset channels between scenarios.
|
18
|
+
After do
|
19
|
+
PusherFake::Channel.reset
|
20
|
+
end
|
@@ -0,0 +1,64 @@
|
|
1
|
+
require "spec_helper"
|
2
|
+
|
3
|
+
describe PusherFake, ".configure" do
|
4
|
+
let(:configuration) { mock }
|
5
|
+
|
6
|
+
subject { PusherFake }
|
7
|
+
|
8
|
+
before do
|
9
|
+
subject.stubs(configuration: configuration)
|
10
|
+
end
|
11
|
+
|
12
|
+
it "yields the configuration" do
|
13
|
+
expect { |block| subject.configure(&block) }.to yield_with_args(configuration)
|
14
|
+
end
|
15
|
+
end
|
16
|
+
|
17
|
+
describe PusherFake, ".configuration" do
|
18
|
+
let(:configuration) { mock }
|
19
|
+
|
20
|
+
subject { PusherFake }
|
21
|
+
|
22
|
+
before do
|
23
|
+
PusherFake::Configuration.stubs(new: configuration)
|
24
|
+
PusherFake.instance_variable_set("@configuration", nil)
|
25
|
+
end
|
26
|
+
|
27
|
+
after do
|
28
|
+
PusherFake.instance_variable_set("@configuration", nil)
|
29
|
+
end
|
30
|
+
|
31
|
+
it "initializes a configuration object" do
|
32
|
+
subject.configuration
|
33
|
+
PusherFake::Configuration.should have_received(:new)
|
34
|
+
end
|
35
|
+
|
36
|
+
it "memoizes the configuration" do
|
37
|
+
subject.configuration
|
38
|
+
subject.configuration
|
39
|
+
PusherFake::Configuration.should have_received(:new).once
|
40
|
+
end
|
41
|
+
|
42
|
+
it "returns the configuration" do
|
43
|
+
subject.configuration.should == configuration
|
44
|
+
end
|
45
|
+
end
|
46
|
+
|
47
|
+
describe PusherFake, ".javascript" do
|
48
|
+
let(:socket_host) { "127.0.0.1" }
|
49
|
+
let(:socket_port) { 1234 }
|
50
|
+
let(:configuration) { stub(socket_host: socket_host, socket_port: socket_port) }
|
51
|
+
|
52
|
+
subject { PusherFake }
|
53
|
+
|
54
|
+
before do
|
55
|
+
PusherFake.stubs(configuration: configuration)
|
56
|
+
end
|
57
|
+
|
58
|
+
it "returns JavaScript setting the host and port to the configured options" do
|
59
|
+
subject.javascript.should == <<-EOS
|
60
|
+
Pusher.host = #{socket_host.to_json};
|
61
|
+
Pusher.ws_port = #{socket_port.to_json};
|
62
|
+
EOS
|
63
|
+
end
|
64
|
+
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: pusher-fake
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.6.0
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2013-01-
|
12
|
+
date: 2013-01-23 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: em-http-request
|
@@ -34,7 +34,7 @@ dependencies:
|
|
34
34
|
requirements:
|
35
35
|
- - '='
|
36
36
|
- !ruby/object:Gem::Version
|
37
|
-
version: 0.
|
37
|
+
version: 0.4.0
|
38
38
|
type: :runtime
|
39
39
|
prerelease: false
|
40
40
|
version_requirements: !ruby/object:Gem::Requirement
|
@@ -42,7 +42,7 @@ dependencies:
|
|
42
42
|
requirements:
|
43
43
|
- - '='
|
44
44
|
- !ruby/object:Gem::Version
|
45
|
-
version: 0.
|
45
|
+
version: 0.4.0
|
46
46
|
- !ruby/object:Gem::Dependency
|
47
47
|
name: thin
|
48
48
|
requirement: !ruby/object:Gem::Requirement
|
@@ -231,6 +231,7 @@ files:
|
|
231
231
|
- lib/pusher-fake/channel.rb
|
232
232
|
- lib/pusher-fake/configuration.rb
|
233
233
|
- lib/pusher-fake/connection.rb
|
234
|
+
- lib/pusher-fake/cucumber.rb
|
234
235
|
- lib/pusher-fake/server/application.rb
|
235
236
|
- lib/pusher-fake/server.rb
|
236
237
|
- lib/pusher-fake/webhook.rb
|
@@ -265,9 +266,10 @@ files:
|
|
265
266
|
- spec/lib/pusher-fake/server/application_spec.rb
|
266
267
|
- spec/lib/pusher-fake/server_spec.rb
|
267
268
|
- spec/lib/pusher-fake/webhook_spec.rb
|
269
|
+
- spec/lib/pusher_fake_spec.rb
|
268
270
|
- spec/spec_helper.rb
|
269
271
|
- spec/support/have_configuration_option_matcher.rb
|
270
|
-
homepage:
|
272
|
+
homepage: https://github.com/tristandunn/pusher-fake
|
271
273
|
licenses:
|
272
274
|
- MIT
|
273
275
|
post_install_message:
|
@@ -282,7 +284,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
282
284
|
version: '0'
|
283
285
|
segments:
|
284
286
|
- 0
|
285
|
-
hash:
|
287
|
+
hash: -92888459837878587
|
286
288
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
287
289
|
none: false
|
288
290
|
requirements:
|
@@ -291,7 +293,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
291
293
|
version: '0'
|
292
294
|
segments:
|
293
295
|
- 0
|
294
|
-
hash:
|
296
|
+
hash: -92888459837878587
|
295
297
|
requirements: []
|
296
298
|
rubyforge_project:
|
297
299
|
rubygems_version: 1.8.23
|
@@ -329,6 +331,7 @@ test_files:
|
|
329
331
|
- spec/lib/pusher-fake/server/application_spec.rb
|
330
332
|
- spec/lib/pusher-fake/server_spec.rb
|
331
333
|
- spec/lib/pusher-fake/webhook_spec.rb
|
334
|
+
- spec/lib/pusher_fake_spec.rb
|
332
335
|
- spec/spec_helper.rb
|
333
336
|
- spec/support/have_configuration_option_matcher.rb
|
334
337
|
has_rdoc:
|