shamrock 0.0.4 → 0.0.5

Sign up to get free protection for your applications and to get access to all the features.
data/README.md CHANGED
@@ -22,7 +22,7 @@ You can then easily start the stub service either for the spec examples that nee
22
22
  globally in your spec_helper file. You can replace the Proc below with any Rack application.
23
23
  In some cases, we use Sinatra for stub services.
24
24
 
25
- my_rack_app = proc {|env| [200, {"Content-Type" => "text/html"}, "Hello Rack!"]}
25
+ my_rack_app = proc {|env| [200, {"Content-Type" => "text/html"}, ["Hello Rack!"]]}
26
26
  @service = Shamrock::Service.new(my_rack_app)
27
27
  @service.start
28
28
 
data/Rakefile CHANGED
@@ -2,6 +2,15 @@
2
2
  require "bundler/gem_tasks"
3
3
 
4
4
  require "rspec/core/rake_task"
5
- RSpec::Core::RakeTask.new(:spec)
6
5
 
7
- task :default => :spec
6
+ namespace :spec do
7
+ RSpec::Core::RakeTask.new(:unit) do |t|
8
+ t.pattern = Dir['spec/*/**/*_spec.rb']
9
+ end
10
+
11
+ RSpec::Core::RakeTask.new(:integration) do |t|
12
+ t.pattern = "integration_spec/**/*_spec.rb"
13
+ end
14
+ end
15
+
16
+ task :default => ["spec:unit", "spec:integration"]
@@ -0,0 +1,12 @@
1
+ require 'bundler/setup'
2
+ require 'shamrock'
3
+
4
+ describe "starting a service and making a request" do
5
+ it "should respond successfully" do
6
+ rack_app = proc {|env| [200, {"Content-Type" => "text/html"}, ["Hello Rack!"]]}
7
+ service = Shamrock::Service.new(rack_app)
8
+ service.start
9
+ Net::HTTP.get(URI.parse("http://localhost:#{service.port}")).to_s.should == "Hello Rack!"
10
+ service.stop
11
+ end
12
+ end
@@ -1,5 +1,3 @@
1
- require 'logger'
2
-
3
1
  module Shamrock
4
2
  class Service
5
3
 
@@ -18,7 +16,6 @@ module Shamrock
18
16
  options = DEFAULT_OPTIONS.merge(options)
19
17
 
20
18
  @handler = options[:handler]
21
- @logger = logger
22
19
 
23
20
  @port = options[:port] || random_port
24
21
  @url = "http://localhost:#{port}"
@@ -27,7 +24,7 @@ module Shamrock
27
24
 
28
25
  def start
29
26
  @thread = Thread.new do
30
- @handler.run(@rack_app, Port: port, Logger: @logger)
27
+ @handler.run(@rack_app, Port: port)
31
28
  end
32
29
 
33
30
  @monitor.wait_until_ready
@@ -39,10 +36,6 @@ module Shamrock
39
36
 
40
37
  private
41
38
 
42
- def logger
43
- defined? Rails ? Rails.logger : Logger.new(STDOUT)
44
- end
45
-
46
39
  def random_port
47
40
  Random.rand(PORT_RANGE)
48
41
  end
@@ -1,3 +1,3 @@
1
1
  module Shamrock
2
- VERSION = "0.0.4"
2
+ VERSION = "0.0.5"
3
3
  end
@@ -18,20 +18,13 @@ describe Shamrock::Service do
18
18
  end
19
19
 
20
20
  describe "#start" do
21
- # In-line the service startup for this test
22
- class Shamrock::Service::Thread
23
- def initialize(&block)
24
- yield
25
- end
26
- end
27
-
28
21
  it "should start the server" do
29
22
  monitor = mock('monitor', wait_until_ready: true)
30
23
  monitor_class = mock('monitor class', new: monitor)
31
24
 
32
25
  handler = mock('handler')
33
26
  service = Shamrock::Service.new(@rack_app, handler: handler, monitor: monitor_class)
34
- handler.should_receive(:run).with(@rack_app, Port: service.port, Logger: anything)
27
+ handler.should_receive(:run).with(@rack_app, Port: service.port)
35
28
  service.start
36
29
  end
37
30
 
data/spec/spec_helper.rb CHANGED
@@ -4,3 +4,10 @@ require 'simplecov'
4
4
  SimpleCov.start
5
5
 
6
6
  require 'shamrock'
7
+
8
+ # In-line the service startup for this test
9
+ class Shamrock::Service::Thread
10
+ def initialize(&block)
11
+ yield
12
+ end
13
+ end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: shamrock
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.4
4
+ version: 0.0.5
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -90,6 +90,7 @@ files:
90
90
  - LICENSE
91
91
  - README.md
92
92
  - Rakefile
93
+ - integration_spec/service_spec.rb
93
94
  - lib/shamrock.rb
94
95
  - lib/shamrock/http.rb
95
96
  - lib/shamrock/monitor.rb
@@ -120,7 +121,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
120
121
  version: '0'
121
122
  requirements: []
122
123
  rubyforge_project:
123
- rubygems_version: 1.8.24
124
+ rubygems_version: 1.8.21
124
125
  signing_key:
125
126
  specification_version: 3
126
127
  summary: Facilitates setting up stub services in your application