growthforecast-client 0.80.2 → 0.82.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CHANGELOG.md +12 -0
- data/VERSION +1 -1
- data/lib/growthforecast/client.rb +55 -0
- data/spec/growthforecast/client_spec.rb +25 -0
- data/spec/support/mock.rb +42 -6
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 148a2f0792e825f45d2fd455208d21eff0fcb406
|
4
|
+
data.tar.gz: a2edd60c2e63cbcef3052400a2de88511ba81a31
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 50f2f7bdb5ba1b8e414626162788af7c28cec322a421f79614f4c5ca3a02ecb15991820238df277558ff91ff29f10fe0f7a29c3614887511016609652b03ea64
|
7
|
+
data.tar.gz: e145c5e28616bf9471403b22adcafd972d733c2469224b386e6f049d9e95438869c0be101aaeec6a717a208834fcb54f4075cfb774f43217b99a562e7bdd9aa4
|
data/CHANGELOG.md
CHANGED
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
0.
|
1
|
+
0.82.1
|
@@ -415,6 +415,61 @@ module GrowthForecast
|
|
415
415
|
post_query("/delete_complex/#{complex_id}")
|
416
416
|
end
|
417
417
|
|
418
|
+
# Post parameters to a vrule, POST /vrule/api/:service_name/:section_name/:graph_name
|
419
|
+
# @param [String] service_name
|
420
|
+
# @param [String] section_name
|
421
|
+
# @param [String] graph_name
|
422
|
+
# @param [Hash] params The POST parameters. See #get_vrule
|
423
|
+
# @return [Hash] the error code and graph property
|
424
|
+
# @example
|
425
|
+
#{"error"=>0,
|
426
|
+
#"data"=>{
|
427
|
+
# "graph_path"=>"/hoge/hoge/hoge",
|
428
|
+
# "color"=>"#FF0000",
|
429
|
+
# "time"=>1395826210,
|
430
|
+
# "id"=>1,
|
431
|
+
# "dashes"=>"2,10",
|
432
|
+
# "description"=>""}}
|
433
|
+
def post_vrule(service_name = nil, section_name = nil, graph_name = nil, params = {})
|
434
|
+
path = "/vrule/api"
|
435
|
+
path += "/#{e service_name}" if service_name
|
436
|
+
path += "/#{e section_name}" if section_name
|
437
|
+
path += "/#{e graph_name}" if graph_name
|
438
|
+
post_query(path, params)
|
439
|
+
end
|
440
|
+
|
441
|
+
# Get the data of vrules, GET /vrule/summary/:service_name/:section_name/:graph_name
|
442
|
+
# @param [String] service_name
|
443
|
+
# @param [String] section_name
|
444
|
+
# @param [String] graph_name
|
445
|
+
# @return [Hash] the data of vrules
|
446
|
+
# @example
|
447
|
+
#[
|
448
|
+
#{
|
449
|
+
# "graph_path"=>"/hoge/hoge/hoge",
|
450
|
+
# "color"=>"#FF0000",
|
451
|
+
# "time"=>1395826210,
|
452
|
+
# "id"=>1,
|
453
|
+
# "dashes"=>"",
|
454
|
+
# "description"=>""
|
455
|
+
#},
|
456
|
+
#{
|
457
|
+
# "graph_path"=>"/hoge/hoge/hoge",
|
458
|
+
# "color"=>"#FF0000",
|
459
|
+
# "time"=>1395826363,
|
460
|
+
# "id"=>2,
|
461
|
+
# "dashes"=>"2,10",
|
462
|
+
# "description"=>""
|
463
|
+
#}
|
464
|
+
#]
|
465
|
+
def get_vrule(service_name = nil, section_name = nil, graph_name = nil)
|
466
|
+
path = "/vrule/summary"
|
467
|
+
path += "/#{e service_name}" if service_name
|
468
|
+
path += "/#{e section_name}" if section_name
|
469
|
+
path += "/#{e graph_name}" if graph_name
|
470
|
+
get_json(path)
|
471
|
+
end
|
472
|
+
|
418
473
|
private
|
419
474
|
|
420
475
|
def e(str)
|
@@ -7,6 +7,7 @@ describe GrowthForecast::Client do
|
|
7
7
|
sulimit unit sort updated_at adjust type sllimit meta md5]
|
8
8
|
complex_keys = %w[number complex created_at service_name section_name id graph_name data sumup
|
9
9
|
description sort updated_at]
|
10
|
+
vrule_keys = %w[graph_path color time id dashes description]
|
10
11
|
|
11
12
|
context "#list_graph" do
|
12
13
|
include_context "stub_list_graph" if ENV['MOCK'] == 'on'
|
@@ -176,5 +177,29 @@ describe GrowthForecast::Client do
|
|
176
177
|
it { should == "http://localhost:5125/json/list/graph" }
|
177
178
|
end
|
178
179
|
end
|
180
|
+
|
181
|
+
context "#post_vrule" do
|
182
|
+
include_context "stub_post_vrule" if ENV['MOCK'] == 'on'
|
183
|
+
params = {
|
184
|
+
'dashes' => '2,10'
|
185
|
+
}
|
186
|
+
subject { client.post_vrule(graph["service_name"], graph["section_name"], graph["graph_name"], params) }
|
187
|
+
it { subject["error"].should == 0 }
|
188
|
+
params.keys.each {|key| it { subject["data"][key].should == params[key] } }
|
189
|
+
end
|
190
|
+
|
191
|
+
context "#get_vrule" do
|
192
|
+
context "200 OK" do
|
193
|
+
include_context "stub_get_vrule" if ENV['MOCK'] == 'on'
|
194
|
+
subject { client.get_vrule(graph["service_name"], graph["section_name"], graph["graph_name"]).first }
|
195
|
+
vrule_keys.each {|key| it { subject.should have_key(key) } }
|
196
|
+
end
|
197
|
+
|
198
|
+
context "Not Found" do
|
199
|
+
include_context "stub_get_notfound_vrule" if ENV['MOCK'] == 'on'
|
200
|
+
subject { client.get_vrule(notfound_graph["service_name"], notfound_graph["section_name"], notfound_graph["graph_name"]) }
|
201
|
+
it { should == [] } # differ with 404 Not Found
|
202
|
+
end
|
203
|
+
end
|
179
204
|
end
|
180
205
|
|
data/spec/support/mock.rb
CHANGED
@@ -225,17 +225,53 @@ shared_context "stub_create_complex" do
|
|
225
225
|
before(:each, &proc)
|
226
226
|
end
|
227
227
|
|
228
|
+
def notfound_graph
|
229
|
+
{
|
230
|
+
'service_name' => 'not found',
|
231
|
+
'section_name' => 'not found',
|
232
|
+
'graph_name' => 'not found',
|
233
|
+
}
|
234
|
+
end
|
228
235
|
shared_context "stub_get_notfound_graph" do
|
229
|
-
|
236
|
+
proc = Proc.new do
|
237
|
+
stub_request(:get, "#{base_uri}/api/#{e notfound_graph['service_name']}/#{e notfound_graph['section_name']}/#{e notfound_graph['graph_name']}").
|
238
|
+
to_return(:status => 404, :body => '<html><body><strong>404</strong> Not Found</body></html>')
|
239
|
+
end
|
240
|
+
before(:each, &proc)
|
241
|
+
end
|
242
|
+
|
243
|
+
shared_context "stub_post_vrule" do
|
244
|
+
include_context "stub_get_vrule"
|
245
|
+
before do
|
246
|
+
stub_request(:post, "#{base_uri}/vrule/api/#{e graph['service_name']}/#{e graph['section_name']}/#{e graph['graph_name']}").
|
247
|
+
to_return(:status => 200, :body => { "error" => 0, "data" => vrule_example }.to_json)
|
248
|
+
end
|
249
|
+
end
|
250
|
+
|
251
|
+
shared_context "stub_get_vrule" do
|
252
|
+
def vrule_example
|
230
253
|
{
|
231
|
-
'service_name'
|
232
|
-
|
233
|
-
|
254
|
+
"graph_path"=>"/#{graph['service_name']}/#{graph['section_name']}/#{graph['graph_name']}",
|
255
|
+
"color"=>"#FF0000",
|
256
|
+
"time"=>1395826210,
|
257
|
+
"id"=>1,
|
258
|
+
"dashes"=>"2,10",
|
259
|
+
"description"=>""
|
234
260
|
}
|
235
261
|
end
|
262
|
+
|
236
263
|
proc = Proc.new do
|
237
|
-
stub_request(:get, "#{base_uri}/
|
238
|
-
to_return(:status =>
|
264
|
+
stub_request(:get, "#{base_uri}/vrule/summary/#{e graph['service_name']}/#{e graph['section_name']}/#{e graph['graph_name']}").
|
265
|
+
to_return(:status => 200, :body => [vrule_example].to_json)
|
239
266
|
end
|
240
267
|
before(:each, &proc)
|
241
268
|
end
|
269
|
+
|
270
|
+
shared_context "stub_get_notfound_vrule" do
|
271
|
+
proc = Proc.new do
|
272
|
+
stub_request(:get, "#{base_uri}/vrule/summary/#{e notfound_graph['service_name']}/#{e notfound_graph['section_name']}/#{e notfound_graph['graph_name']}").
|
273
|
+
to_return(:status => 200, :body => [].to_json)
|
274
|
+
end
|
275
|
+
before(:each, &proc)
|
276
|
+
end
|
277
|
+
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: growthforecast-client
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.82.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Naotoshi Seo
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2014-03-
|
11
|
+
date: 2014-03-26 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: httpclient
|