blitz 0.1.20 → 0.1.21

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.
@@ -0,0 +1,13 @@
1
+ #simplecov
2
+ if ENV['coverage']
3
+ require 'simplecov'
4
+ SimpleCov.start do
5
+ add_group "Core", "blitz"
6
+ end
7
+ end
8
+
9
+ #requires
10
+ require 'rspec/core'
11
+ require 'blitz'
12
+ require 'rake'
13
+ require 'blitz/command/curl'
metadata CHANGED
@@ -2,7 +2,7 @@
2
2
  name: blitz
3
3
  version: !ruby/object:Gem::Version
4
4
  prerelease:
5
- version: 0.1.20
5
+ version: 0.1.21
6
6
  platform: ruby
7
7
  authors:
8
8
  - pcapr
@@ -10,7 +10,7 @@ autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
12
 
13
- date: 2012-01-09 00:00:00 -08:00
13
+ date: 2012-02-07 00:00:00 -08:00
14
14
  default_executable: blitz
15
15
  dependencies:
16
16
  - !ruby/object:Gem::Dependency
@@ -69,41 +69,30 @@ dependencies:
69
69
  prerelease: false
70
70
  version_requirements: *id005
71
71
  - !ruby/object:Gem::Dependency
72
- name: rspec
72
+ name: term-ansicolor
73
73
  requirement: &id006 !ruby/object:Gem::Requirement
74
74
  none: false
75
75
  requirements:
76
- - - ~>
76
+ - - "="
77
77
  - !ruby/object:Gem::Version
78
- version: "2.6"
78
+ version: 1.0.5
79
79
  type: :runtime
80
80
  prerelease: false
81
81
  version_requirements: *id006
82
82
  - !ruby/object:Gem::Dependency
83
- name: rspec-core
83
+ name: rake
84
84
  requirement: &id007 !ruby/object:Gem::Requirement
85
- none: false
86
- requirements:
87
- - - ~>
88
- - !ruby/object:Gem::Version
89
- version: "2.6"
90
- type: :runtime
91
- prerelease: false
92
- version_requirements: *id007
93
- - !ruby/object:Gem::Dependency
94
- name: term-ansicolor
95
- requirement: &id008 !ruby/object:Gem::Requirement
96
85
  none: false
97
86
  requirements:
98
87
  - - "="
99
88
  - !ruby/object:Gem::Version
100
- version: 1.0.5
89
+ version: 0.9.0
101
90
  type: :runtime
102
91
  prerelease: false
103
- version_requirements: *id008
92
+ version_requirements: *id007
104
93
  - !ruby/object:Gem::Dependency
105
94
  name: bundler
106
- requirement: &id009 !ruby/object:Gem::Requirement
95
+ requirement: &id008 !ruby/object:Gem::Requirement
107
96
  none: false
108
97
  requirements:
109
98
  - - ~>
@@ -111,10 +100,10 @@ dependencies:
111
100
  version: 1.0.0
112
101
  type: :development
113
102
  prerelease: false
114
- version_requirements: *id009
103
+ version_requirements: *id008
115
104
  - !ruby/object:Gem::Dependency
116
105
  name: jeweler
117
- requirement: &id010 !ruby/object:Gem::Requirement
106
+ requirement: &id009 !ruby/object:Gem::Requirement
118
107
  none: false
119
108
  requirements:
120
109
  - - ~>
@@ -122,7 +111,7 @@ dependencies:
122
111
  version: 1.5.1
123
112
  type: :development
124
113
  prerelease: false
125
- version_requirements: *id010
114
+ version_requirements: *id009
126
115
  description: Make load and performance testing a fun sport
127
116
  email: support@blitz.io
128
117
  executables:
@@ -151,13 +140,21 @@ files:
151
140
  - lib/blitz/command/help.rb
152
141
  - lib/blitz/command/traceroute.rb
153
142
  - lib/blitz/command/version.rb
143
+ - lib/blitz/curl.rb
154
144
  - lib/blitz/curl/error.rb
155
145
  - lib/blitz/curl/rush.rb
156
146
  - lib/blitz/curl/sprint.rb
157
147
  - lib/blitz/helper.rb
158
148
  - lib/blitz/traceroute.rb
159
149
  - lib/blitz/traceroute/error.rb
160
- - spec/command/curl_spec.rb
150
+ - lib/blitz/utils.rb
151
+ - spec/blitz/client_spec.rb
152
+ - spec/blitz/command/api_spec.rb
153
+ - spec/blitz/command/curl_spec.rb
154
+ - spec/blitz/curl/rush_spec.rb
155
+ - spec/blitz/curl/sprint_spec.rb
156
+ - spec/blitz/curl_spec.rb
157
+ - spec/spec_helper.rb
161
158
  - test/helper.rb
162
159
  - test/test_blitz.rb
163
160
  has_rdoc: true
@@ -174,7 +171,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
174
171
  requirements:
175
172
  - - ">="
176
173
  - !ruby/object:Gem::Version
177
- hash: -31279523
174
+ hash: 824321089
178
175
  segments:
179
176
  - 0
180
177
  version: "0"
@@ -192,6 +189,12 @@ signing_key:
192
189
  specification_version: 3
193
190
  summary: Make load and performance testing a fun sport
194
191
  test_files:
195
- - spec/command/curl_spec.rb
192
+ - spec/blitz/client_spec.rb
193
+ - spec/blitz/command/api_spec.rb
194
+ - spec/blitz/command/curl_spec.rb
195
+ - spec/blitz/curl/rush_spec.rb
196
+ - spec/blitz/curl/sprint_spec.rb
197
+ - spec/blitz/curl_spec.rb
198
+ - spec/spec_helper.rb
196
199
  - test/helper.rb
197
200
  - test/test_blitz.rb
@@ -1,244 +0,0 @@
1
- describe "parse_cli" do
2
- attr_reader :curl
3
-
4
- before :each do
5
- @curl = Blitz::Command::Curl.new
6
- class << @curl
7
- def parse args
8
- parse_cli args
9
- end
10
- end
11
- end
12
-
13
- context "url" do
14
- it "should check that the args are not empty" do
15
- lambda { curl.parse %w[] }.should raise_error(ArgumentError, /no URL specified!/)
16
- end
17
-
18
- it "should not check for URL when --help is specified" do
19
- %w[-h --help].each do |h|
20
- hash = curl.parse [h]
21
- hash.should include 'help'
22
- end
23
- end
24
-
25
- it "should succeed when a URL is given" do
26
- hash = curl.parse %w[blitz.io]
27
- hash.should include 'steps'
28
- hash['steps'].should be_a(Array)
29
- hash['steps'].size.should == 1
30
- hash['steps'].first.should include 'url'
31
- hash['steps'].first['url'].should == 'blitz.io'
32
- end
33
-
34
- it "should succeed when multiple URLs are given" do
35
- hash = curl.parse %w[blitz.io docs.blitz.io]
36
- hash.should include 'steps'
37
- hash['steps'].should be_a(Array)
38
- hash['steps'].size.should == 2
39
- hash['steps'][0].should include 'url'
40
- hash['steps'][0]['url'].should == 'blitz.io'
41
- hash['steps'][1].should include 'url'
42
- hash['steps'][1]['url'].should == 'docs.blitz.io'
43
- end
44
- end
45
-
46
- context "user-agent" do
47
- it "should check that a user-agent is given" do
48
- lambda { curl.parse %w[--user-agent] }.should raise_error(MiniTest::Assertion, /missing value/)
49
- end
50
-
51
- it "should support one user-agent for each step" do
52
- hash = curl.parse %w[-A foo blitz.io -A bar /faq]
53
- hash.should include 'steps'
54
- hash['steps'].size.should == 2
55
- hash['steps'][0]['user-agent'] == 'foo'
56
- hash['steps'][1]['user-agent'] == 'bar'
57
- end
58
- end
59
-
60
- context "cookie" do
61
- it "should check that a cookie is given" do
62
- lambda { curl.parse %w[--cookie] }.should raise_error(MiniTest::Assertion, /missing value/)
63
- end
64
-
65
- it "should be an array of cookies" do
66
- hash = curl.parse %w[--cookie foo=bar --cookie hello=world blitz.io]
67
- hash['steps'].size.should == 1
68
- step = hash['steps'].first
69
- step['cookies'].should be_a(Array)
70
- step['cookies'].should == [ 'foo=bar', 'hello=world' ]
71
- end
72
-
73
- it "should support one cookie for each step" do
74
- hash = curl.parse %w[-b foo=bar blitz.io -b hello=world /faq]
75
- hash.should include 'steps'
76
- hash['steps'].size.should == 2
77
- hash['steps'][0]['cookies'] == [ 'foo=bar' ]
78
- hash['steps'][1]['cookies'] == [ 'hello=world' ]
79
- end
80
- end
81
-
82
- context "data" do
83
- it "should check that a data is given" do
84
- lambda { curl.parse %w[--data] }.should raise_error(MiniTest::Assertion, /missing value/)
85
- end
86
-
87
- it "should be an array of data" do
88
- hash = curl.parse %w[--data foo=bar --data hello=world blitz.io]
89
- hash['steps'].size.should == 1
90
- step = hash['steps'].first
91
- step['content'].should be_a(Hash)
92
- step['content']['data'].should be_a(Array)
93
- step['content']['data'].should == [ 'foo=bar', 'hello=world' ]
94
- end
95
-
96
- it "should support one data for each step" do
97
- hash = curl.parse %w[-d foo=bar blitz.io -d hello=world /faq]
98
- hash.should include 'steps'
99
- hash['steps'].size.should == 2
100
- hash['steps'][0]['content']['data'] == [ 'foo=bar' ]
101
- hash['steps'][1]['content']['data'] == [ 'hello=world' ]
102
- end
103
- end
104
-
105
- context "referer" do
106
- it "should check that a referer is given" do
107
- lambda { curl.parse %w[--referer] }.should raise_error(MiniTest::Assertion, /missing value/)
108
- end
109
-
110
- it "should support one referer for each step" do
111
- hash = curl.parse %w[-e foo blitz.io -e bar /faq]
112
- hash.should include 'steps'
113
- hash['steps'].size.should == 2
114
- hash['steps'][0]['referer'] == 'foo'
115
- hash['steps'][1]['referer'] == 'bar'
116
- end
117
- end
118
-
119
- context "headers" do
120
- it "should check that a header is given" do
121
- lambda { curl.parse %w[--header] }.should raise_error(MiniTest::Assertion, /missing value/)
122
- end
123
-
124
- it "should be an array of headers" do
125
- hash = curl.parse %w[-H foo=bar -H hello=world blitz.io]
126
- hash['steps'].size.should == 1
127
- step = hash['steps'].first
128
- step['headers'].should be_a(Array)
129
- step['headers'].should == [ 'foo=bar', 'hello=world' ]
130
- end
131
-
132
- it "should support one header for each step" do
133
- hash = curl.parse %w[-H foo=bar blitz.io -H hello=world /faq]
134
- hash.should include 'steps'
135
- hash['steps'].size.should == 2
136
- hash['steps'][0]['headers'] == [ 'foo=bar' ]
137
- hash['steps'][1]['headers'] == [ 'hello=world' ]
138
- end
139
- end
140
-
141
- context "pattern" do
142
- it "should check that a pattern is given" do
143
- lambda { curl.parse %w[--pattern] }.should raise_error(MiniTest::Assertion, /missing value/)
144
- end
145
-
146
- it "should add the pattern to the hash" do
147
- hash = curl.parse %w[-p 1-250:60 blitz.io]
148
- hash['pattern'].should be_a(Hash)
149
- hash['pattern']['iterations'].should == 1
150
- hash['pattern']['intervals'].should be_an(Array)
151
- hash['pattern']['intervals'].size.should == 1
152
- hash['pattern']['intervals'].first['iterations'].should == 1
153
- hash['pattern']['intervals'].first['start'].should == 1
154
- hash['pattern']['intervals'].first['end'].should == 250
155
- hash['pattern']['intervals'].first['duration'].should == 60
156
- end
157
-
158
- it "should parse multiple intervals in the pattern" do
159
- hash = curl.parse %w[-p 1-250:60,500-500:10 blitz.io]
160
- hash['pattern'].should be_a(Hash)
161
- hash['pattern']['iterations'].should == 1
162
- hash['pattern']['intervals'].should be_an(Array)
163
- hash['pattern']['intervals'].size.should == 2
164
- hash['pattern']['intervals'].first['iterations'].should == 1
165
- hash['pattern']['intervals'].first['start'].should == 1
166
- hash['pattern']['intervals'].first['end'].should == 250
167
- hash['pattern']['intervals'].first['duration'].should == 60
168
- hash['pattern']['intervals'].last['iterations'].should == 1
169
- hash['pattern']['intervals'].last['start'].should == 500
170
- hash['pattern']['intervals'].last['end'].should == 500
171
- hash['pattern']['intervals'].last['duration'].should == 10
172
- end
173
- end
174
-
175
- context "region" do
176
- it "should check that a region is given" do
177
- lambda { curl.parse %w[--region] }.should raise_error(MiniTest::Assertion, /missing value/)
178
- end
179
-
180
- it "should verify that it's a valid region" do
181
- [ 'california', 'oregon', 'virginia', 'ireland', 'singapore', 'japan' ].each do |r|
182
- lambda { curl.parse ['-r', r, 'blitz.io' ] }.should_not raise_error
183
- end
184
-
185
- lambda { curl.parse %w[-r a ] }.should raise_error(MiniTest::Assertion, /must be one of/)
186
- end
187
- end
188
-
189
- context "status" do
190
- it "should check that a status is given" do
191
- lambda { curl.parse %w[--status] }.should raise_error(MiniTest::Assertion, /missing value/)
192
- end
193
-
194
- it "should support one status for each step" do
195
- hash = curl.parse %w[-s 302 blitz.io -s 200 /faq]
196
- hash.should include 'steps'
197
- hash['steps'].size.should == 2
198
- hash['steps'][0]['status'] == 302
199
- hash['steps'][1]['status'] == 200
200
- end
201
- end
202
-
203
- context "timeout" do
204
- it "should check that a timeout is given" do
205
- lambda { curl.parse %w[--timeout] }.should raise_error(MiniTest::Assertion, /missing value/)
206
- end
207
-
208
- it "should support one timeout for each step" do
209
- hash = curl.parse %w[-T 100 blitz.io -T 200 /faq]
210
- hash.should include 'steps'
211
- hash['steps'].size.should == 2
212
- hash['steps'][0]['timeout'] == 100
213
- hash['steps'][1]['timeout'] == 200
214
- end
215
- end
216
-
217
- context "user" do
218
- it "should check that a user is given" do
219
- lambda { curl.parse %w[--user] }.should raise_error(MiniTest::Assertion, /missing value/)
220
- end
221
-
222
- it "should support one user for each step" do
223
- hash = curl.parse %w[-u foo:bar blitz.io -u hello:world /faq]
224
- hash.should include 'steps'
225
- hash['steps'].size.should == 2
226
- hash['steps'][0]['user'] == 'foo:bar'
227
- hash['steps'][1]['user'] == 'hello:world'
228
- end
229
- end
230
-
231
- context "request" do
232
- it "should check that a request is given" do
233
- lambda { curl.parse %w[--request] }.should raise_error(MiniTest::Assertion, /missing value/)
234
- end
235
-
236
- it "should support one request for each step" do
237
- hash = curl.parse %w[-X GET blitz.io -X POST /faq]
238
- hash.should include 'steps'
239
- hash['steps'].size.should == 2
240
- hash['steps'][0]['request'] == 'GET'
241
- hash['steps'][1]['request'] == 'POST'
242
- end
243
- end
244
- end