rainforest-cli 0.0.11 → 0.0.12
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 +15 -0
- data/.travis.yml +7 -1
- data/CHANGELOG.md +5 -0
- data/lib/rainforest/cli.rb +16 -9
- data/lib/rainforest/cli/version.rb +1 -1
- data/spec/cli_spec.rb +45 -0
- metadata +8 -13
checksums.yaml
ADDED
@@ -0,0 +1,15 @@
|
|
1
|
+
---
|
2
|
+
!binary "U0hBMQ==":
|
3
|
+
metadata.gz: !binary |-
|
4
|
+
YjNhOTdmMWViMTU0OTIwNzE1NTI5YzkzZTc3NzgxZjIyY2Y3MTY2OQ==
|
5
|
+
data.tar.gz: !binary |-
|
6
|
+
Y2MwYTljZWQ2Zjg5ODE0ZmIzMTM3M2E2Y2MwYWM4MzFkMDk5ZWFjOQ==
|
7
|
+
!binary "U0hBNTEy":
|
8
|
+
metadata.gz: !binary |-
|
9
|
+
ODlmZTMzNjIzMzQ1NjhiYTM0ZTZiNWQ5Nzk2ZjE0N2RmODI2Y2VmMGMyNWZl
|
10
|
+
ZDQ0ODljM2FlZDM0OWMxN2E3NjBiNjNkZTQ2MTE2ZGQ5NWRiM2NiYjhjOTA0
|
11
|
+
YTllZWMwMGQwYzQxODI0YTA3NTQ1ODc5YTU5ZmQxMmI2OWRlZWI=
|
12
|
+
data.tar.gz: !binary |-
|
13
|
+
ZTgzN2M1NzE3N2U1NjQ5Yzg0NmVhNjM3MmFkZTI1YzA3MzhhZTk1YTY4ZDQ0
|
14
|
+
YjQ4OTljZDQ2ZWYwM2QyYTUxMDM5OWIxNWZkMzYwMjQ0ZDA4ZWI5NmQzYmRh
|
15
|
+
Y2Y2ODhmNGYzYTVmZTk4ZDczYzkwYjVhNzBiODY3ZmNlMzIyYzI=
|
data/.travis.yml
CHANGED
data/CHANGELOG.md
ADDED
data/lib/rainforest/cli.rb
CHANGED
@@ -27,7 +27,7 @@ module Rainforest
|
|
27
27
|
|
28
28
|
if response['error']
|
29
29
|
puts "Error starting your run: #{response['error']}"
|
30
|
-
exit
|
30
|
+
exit 1
|
31
31
|
end
|
32
32
|
|
33
33
|
run_id = response["id"]
|
@@ -36,20 +36,23 @@ module Rainforest
|
|
36
36
|
return unless @options.foreground?
|
37
37
|
|
38
38
|
while running
|
39
|
-
sleep 5
|
39
|
+
Kernel.sleep 5
|
40
40
|
response = get "#{API_URL}/#{run_id}?gem_version=#{Rainforest::Cli::VERSION}"
|
41
|
-
if
|
42
|
-
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
-
|
41
|
+
if response
|
42
|
+
if %w(queued in_progress sending_webhook waiting_for_callback).include?(response["state"])
|
43
|
+
puts "Run #{run_id} is #{response['state']} and is #{response['current_progress']['percent']}% complete"
|
44
|
+
running = false if response["result"] == 'failed' && @options.failfast?
|
45
|
+
else
|
46
|
+
puts "Run #{run_id} is now #{response["state"]} and has #{response["result"]}"
|
47
|
+
running = false
|
48
|
+
end
|
47
49
|
end
|
48
50
|
end
|
49
51
|
|
50
52
|
if response["result"] != "passed"
|
51
53
|
exit 1
|
52
54
|
end
|
55
|
+
true
|
53
56
|
end
|
54
57
|
|
55
58
|
def self.post(url, body = {})
|
@@ -67,7 +70,11 @@ module Rainforest
|
|
67
70
|
headers: {"CLIENT_TOKEN" => @options.token}
|
68
71
|
}
|
69
72
|
|
70
|
-
|
73
|
+
if response.code == 200
|
74
|
+
JSON.parse(response.body)
|
75
|
+
else
|
76
|
+
nil
|
77
|
+
end
|
71
78
|
end
|
72
79
|
end
|
73
80
|
end
|
data/spec/cli_spec.rb
ADDED
@@ -0,0 +1,45 @@
|
|
1
|
+
describe Rainforest::Cli do
|
2
|
+
before do
|
3
|
+
Kernel.stub(:sleep)
|
4
|
+
end
|
5
|
+
|
6
|
+
describe ".start" do
|
7
|
+
let(:valid_args) { %w(--token foo run --fg all) }
|
8
|
+
let(:ok_progress) { {"state" => "in_progress", "current_progress" => {"percent" => "1"} } }
|
9
|
+
|
10
|
+
context "a simple run" do
|
11
|
+
before do
|
12
|
+
described_class.stub(:post) { {"id" => 1} }
|
13
|
+
3.times do
|
14
|
+
described_class.should_receive(:get) { ok_progress }
|
15
|
+
end
|
16
|
+
described_class.should_receive(:get) { {"state" => "complete", "result" => "passed" } }
|
17
|
+
end
|
18
|
+
|
19
|
+
it "should return true" do
|
20
|
+
described_class.start(valid_args).should be_true
|
21
|
+
end
|
22
|
+
end
|
23
|
+
|
24
|
+
context "a run where the server 500s after a while" do
|
25
|
+
before do
|
26
|
+
described_class.stub(:post) { {"id" => 1} }
|
27
|
+
2.times do
|
28
|
+
described_class.should_receive(:get) { ok_progress }
|
29
|
+
end
|
30
|
+
|
31
|
+
described_class.should_receive(:get) { nil }
|
32
|
+
|
33
|
+
2.times do
|
34
|
+
described_class.should_receive(:get) { ok_progress }
|
35
|
+
end
|
36
|
+
|
37
|
+
described_class.should_receive(:get) { {"state" => "complete", "result" => "passed" } }
|
38
|
+
end
|
39
|
+
|
40
|
+
it "should return true" do
|
41
|
+
described_class.start(valid_args).should be_true
|
42
|
+
end
|
43
|
+
end
|
44
|
+
end
|
45
|
+
end
|
metadata
CHANGED
@@ -1,8 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: rainforest-cli
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
5
|
-
prerelease:
|
4
|
+
version: 0.0.12
|
6
5
|
platform: ruby
|
7
6
|
authors:
|
8
7
|
- Simon Mathieu
|
@@ -10,12 +9,11 @@ authors:
|
|
10
9
|
autorequire:
|
11
10
|
bindir: bin
|
12
11
|
cert_chain: []
|
13
|
-
date: 2013-
|
12
|
+
date: 2013-12-19 00:00:00.000000000 Z
|
14
13
|
dependencies:
|
15
14
|
- !ruby/object:Gem::Dependency
|
16
15
|
name: httparty
|
17
16
|
requirement: !ruby/object:Gem::Requirement
|
18
|
-
none: false
|
19
17
|
requirements:
|
20
18
|
- - ! '>='
|
21
19
|
- !ruby/object:Gem::Version
|
@@ -23,7 +21,6 @@ dependencies:
|
|
23
21
|
type: :runtime
|
24
22
|
prerelease: false
|
25
23
|
version_requirements: !ruby/object:Gem::Requirement
|
26
|
-
none: false
|
27
24
|
requirements:
|
28
25
|
- - ! '>='
|
29
26
|
- !ruby/object:Gem::Version
|
@@ -31,7 +28,6 @@ dependencies:
|
|
31
28
|
- !ruby/object:Gem::Dependency
|
32
29
|
name: bundler
|
33
30
|
requirement: !ruby/object:Gem::Requirement
|
34
|
-
none: false
|
35
31
|
requirements:
|
36
32
|
- - ~>
|
37
33
|
- !ruby/object:Gem::Version
|
@@ -39,7 +35,6 @@ dependencies:
|
|
39
35
|
type: :development
|
40
36
|
prerelease: false
|
41
37
|
version_requirements: !ruby/object:Gem::Requirement
|
42
|
-
none: false
|
43
38
|
requirements:
|
44
39
|
- - ~>
|
45
40
|
- !ruby/object:Gem::Version
|
@@ -47,7 +42,6 @@ dependencies:
|
|
47
42
|
- !ruby/object:Gem::Dependency
|
48
43
|
name: rake
|
49
44
|
requirement: !ruby/object:Gem::Requirement
|
50
|
-
none: false
|
51
45
|
requirements:
|
52
46
|
- - ! '>='
|
53
47
|
- !ruby/object:Gem::Version
|
@@ -55,7 +49,6 @@ dependencies:
|
|
55
49
|
type: :development
|
56
50
|
prerelease: false
|
57
51
|
version_requirements: !ruby/object:Gem::Requirement
|
58
|
-
none: false
|
59
52
|
requirements:
|
60
53
|
- - ! '>='
|
61
54
|
- !ruby/object:Gem::Version
|
@@ -73,6 +66,7 @@ files:
|
|
73
66
|
- .rspec
|
74
67
|
- .rvmrc
|
75
68
|
- .travis.yml
|
69
|
+
- CHANGELOG.md
|
76
70
|
- Gemfile
|
77
71
|
- LICENSE.txt
|
78
72
|
- README.md
|
@@ -82,33 +76,34 @@ files:
|
|
82
76
|
- lib/rainforest/cli/options.rb
|
83
77
|
- lib/rainforest/cli/version.rb
|
84
78
|
- rainforest-cli.gemspec
|
79
|
+
- spec/cli_spec.rb
|
85
80
|
- spec/options_spec.rb
|
86
81
|
- spec/spec_helper.rb
|
87
82
|
homepage: https://www.rainforestqa.com/
|
88
83
|
licenses:
|
89
84
|
- MIT
|
85
|
+
metadata: {}
|
90
86
|
post_install_message:
|
91
87
|
rdoc_options: []
|
92
88
|
require_paths:
|
93
89
|
- lib
|
94
90
|
required_ruby_version: !ruby/object:Gem::Requirement
|
95
|
-
none: false
|
96
91
|
requirements:
|
97
92
|
- - ! '>='
|
98
93
|
- !ruby/object:Gem::Version
|
99
94
|
version: '0'
|
100
95
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
101
|
-
none: false
|
102
96
|
requirements:
|
103
97
|
- - ! '>='
|
104
98
|
- !ruby/object:Gem::Version
|
105
99
|
version: '0'
|
106
100
|
requirements: []
|
107
101
|
rubyforge_project:
|
108
|
-
rubygems_version:
|
102
|
+
rubygems_version: 2.0.5
|
109
103
|
signing_key:
|
110
|
-
specification_version:
|
104
|
+
specification_version: 4
|
111
105
|
summary: Command line utility for RainforestQA
|
112
106
|
test_files:
|
107
|
+
- spec/cli_spec.rb
|
113
108
|
- spec/options_spec.rb
|
114
109
|
- spec/spec_helper.rb
|