brazenhead 0.4 → 0.4.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.
@@ -1,13 +1,17 @@
|
|
1
1
|
When /^I attempt to call a method that does not exist$/ do
|
2
|
-
|
2
|
+
begin
|
3
|
+
@driver.should_not_exist_at_all
|
4
|
+
rescue Exception => e
|
5
|
+
@last_exception = e
|
6
|
+
end
|
3
7
|
end
|
4
8
|
|
5
9
|
Then /^I should receive an internal server error$/ do
|
6
|
-
@
|
10
|
+
@last_exception.should_not be_nil
|
7
11
|
end
|
8
12
|
|
9
13
|
Then /^the exception should have detailed information$/ do
|
10
|
-
json = JSON.parse(@
|
14
|
+
json = JSON.parse(@last_exception.message)
|
11
15
|
json["exception"].should match ".*CommandNotFoundException"
|
12
16
|
json["errorMessage"].should match "The \\w+\\(.*\\) method was not found on .*Solo\\."
|
13
17
|
end
|
data/lib/brazenhead/device.rb
CHANGED
@@ -14,9 +14,10 @@ module Brazenhead
|
|
14
14
|
$stderr.puts "Failed to send the command #{message} #{retries} times..."
|
15
15
|
raise
|
16
16
|
end
|
17
|
+
raise Exception, @last_response.body unless @last_response.code == "200"
|
17
18
|
@last_response
|
18
19
|
end
|
19
|
-
|
20
|
+
|
20
21
|
def stop
|
21
22
|
http.post '/kill', ''
|
22
23
|
end
|
@@ -30,6 +31,6 @@ module Brazenhead
|
|
30
31
|
def http
|
31
32
|
@http ||= Net::HTTP.new '127.0.0.1', 7777
|
32
33
|
end
|
33
|
-
|
34
|
+
|
34
35
|
end
|
35
36
|
end
|
data/lib/brazenhead/version.rb
CHANGED
@@ -3,9 +3,13 @@ require 'spec_helper'
|
|
3
3
|
describe Brazenhead::Device do
|
4
4
|
let(:device) { Brazenhead::Device.new }
|
5
5
|
let(:http_mock) { double("http_mock") }
|
6
|
+
let(:http_response) { double("http_response") }
|
6
7
|
|
7
8
|
before(:each) do
|
8
9
|
Net::HTTP.stub(:new).and_return(http_mock)
|
10
|
+
device.stub(:sleep)
|
11
|
+
http_mock.stub(:post).and_return(http_response)
|
12
|
+
http_response.stub(:code).and_return('200')
|
9
13
|
end
|
10
14
|
|
11
15
|
it "should retry the http call if it fails the first time" do
|
@@ -24,4 +28,10 @@ describe Brazenhead::Device do
|
|
24
28
|
http_mock.should_receive(:post).with('/kill', '')
|
25
29
|
device.stop
|
26
30
|
end
|
31
|
+
|
32
|
+
it "should raise if the status code is not ok" do
|
33
|
+
http_response.should_receive(:code).and_return('500')
|
34
|
+
http_response.stub(:body).and_return("the error message")
|
35
|
+
expect { device.send "blah" }.to raise_error(Exception, "the error message")
|
36
|
+
end
|
27
37
|
end
|
data/spec/lib/brazenhead_spec.rb
CHANGED
@@ -8,10 +8,13 @@ describe Brazenhead do
|
|
8
8
|
|
9
9
|
let(:driver) { Driver.new }
|
10
10
|
let(:http_mock) { double("http_mock") }
|
11
|
+
let(:http_response) { double("http_response").as_null_object }
|
11
12
|
|
12
13
|
context "when calling a method directly on the module" do
|
13
14
|
before(:each) do
|
14
15
|
Net::HTTP.stub(:new).and_return(http_mock)
|
16
|
+
http_mock.stub(:post).and_return(http_response)
|
17
|
+
http_response.stub(:code).and_return('200')
|
15
18
|
end
|
16
19
|
|
17
20
|
it "should convert method name to camel case with first letter lowercase" do
|
@@ -26,7 +29,8 @@ describe Brazenhead do
|
|
26
29
|
end
|
27
30
|
|
28
31
|
it "should make the result of the call available for inspection" do
|
29
|
-
|
32
|
+
http_response.stub(:body).and_return("Success")
|
33
|
+
http_mock.should_receive(:post).with('/', "commands=[{\"name\":\"fooBar\"}]")
|
30
34
|
result = driver.foo_bar
|
31
35
|
driver.last_response.should == result
|
32
36
|
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: brazenhead
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version:
|
4
|
+
version: 0.4.1
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -10,7 +10,7 @@ authors:
|
|
10
10
|
autorequire:
|
11
11
|
bindir: bin
|
12
12
|
cert_chain: []
|
13
|
-
date: 2012-09-
|
13
|
+
date: 2012-09-25 00:00:00.000000000 Z
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|
16
16
|
name: childprocess
|
@@ -67,7 +67,7 @@ dependencies:
|
|
67
67
|
requirements:
|
68
68
|
- - ! '>='
|
69
69
|
- !ruby/object:Gem::Version
|
70
|
-
version: 0.5.
|
70
|
+
version: 0.5.4
|
71
71
|
type: :development
|
72
72
|
prerelease: false
|
73
73
|
version_requirements: !ruby/object:Gem::Requirement
|
@@ -75,7 +75,7 @@ dependencies:
|
|
75
75
|
requirements:
|
76
76
|
- - ! '>='
|
77
77
|
- !ruby/object:Gem::Version
|
78
|
-
version: 0.5.
|
78
|
+
version: 0.5.4
|
79
79
|
description: Driver that accepts remote json requests and invokes methods inside Android
|
80
80
|
emulator / device.
|
81
81
|
email:
|