magellan-cli 0.5.2 → 0.5.3

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 12b3f02bfad73d1bddf6848b0ccf548e7ef47f9d
4
- data.tar.gz: 86a422744a194314c4aae67c5a68798563a5f953
3
+ metadata.gz: e376d8606b10e07ef39118cf792f277fe3bea4b0
4
+ data.tar.gz: 384542ebb224be59570cdfbf8070683753dde5fa
5
5
  SHA512:
6
- metadata.gz: 965538b48afba1383a37268b53f56b4c9fabec4ad4cbaa2697d319a3881803f1b332af4cbb49d1d6ce48437c1db71eb38156a437cc68136175f98820425da94e
7
- data.tar.gz: 2ce205b5976b03490a1abc8d813b5ef1b2202cc82bb87ec3123560b4cdd4cb6a10c47ce8e37e9b3a70c51896472d457fbede2ba2a74710076f67c226d9b72143
6
+ metadata.gz: a6b8495712afa5a10cb0e81d64bf139acc2016fe36a042f697fd31d83ee97e97c43b8e40516485f664a21d4ba91223a7ccd494554e109a6c73d3f3ca856edf20
7
+ data.tar.gz: ac1be6b59fbcd12181f3a66054f7528530114ebd40ae19e272bbc4ffcb3e0708dd833f047a01f8b646169c6af1d61d59d04b93bf90b6c2f3989d33abd6a380b5
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- magellan-cli (0.5.2)
4
+ magellan-cli (0.5.3)
5
5
  activesupport (~> 4.1.4)
6
6
  groovenauts-thor
7
7
  httpclient (~> 2.5)
@@ -1,5 +1,6 @@
1
1
  require "magellan/cli"
2
2
 
3
+ require 'time'
3
4
  require 'thor'
4
5
  require 'active_support/core_ext/string/inflections'
5
6
 
@@ -17,8 +17,8 @@ module Magellan
17
17
  desc "#{m} PATH", I18n.t(m, scope: [:messaging, :http])
18
18
  method_option :headers, aliases: "-H", desc: I18n.t(:headers, scope: [:messaging, :http, :common_options])
19
19
  module_eval(<<-EOM, __FILE__, __LINE__ + 1)
20
- def #{m}(path, headers = nil)
21
- res = core.request(path, :#{m}, nil, try_reading_hash(headers) || {})
20
+ def #{m}(path)
21
+ res = core.request(path, :#{m}, nil, try_reading_hash(options[:headers]) || {})
22
22
  puts_res(res)
23
23
  end
24
24
  EOM
@@ -29,8 +29,8 @@ module Magellan
29
29
  method_option :body , aliases: "-d", desc: I18n.t(:body , scope: [:messaging, :http, :common_options])
30
30
  method_option :headers, aliases: "-H", desc: I18n.t(:headers, scope: [:messaging, :http, :common_options])
31
31
  module_eval(<<-EOM, __FILE__, __LINE__ + 1)
32
- def #{m}(path, body, headers = nil)
33
- res = core.request(path, :#{m}, try_reading_file(body), try_reading_hash(headers) || {})
32
+ def #{m}(path)
33
+ res = core.request(path, :#{m}, try_reading_file(options[:body]), try_reading_hash(options[:headers]) || {})
34
34
  puts_res(res)
35
35
  end
36
36
  EOM
@@ -1,5 +1,5 @@
1
1
  module Magellan
2
2
  module Cli
3
- VERSION = "0.5.2"
3
+ VERSION = "0.5.3"
4
4
  end
5
5
  end
@@ -0,0 +1,4 @@
1
+ {
2
+ "foo": 100,
3
+ "bar": 200,
4
+ }
@@ -0,0 +1,6 @@
1
+ free style text
2
+
3
+ ```
4
+ foo=100
5
+ bar=200
6
+ ```
@@ -1,5 +1,6 @@
1
1
  # -*- coding: utf-8 -*-
2
2
  require 'spec_helper'
3
+ require 'thor/core_ext/hash_with_indifferent_access'
3
4
 
4
5
  describe Magellan::Cli::Messaging::Http do
5
6
 
@@ -10,34 +11,86 @@ describe Magellan::Cli::Messaging::Http do
10
11
 
11
12
  let(:success_res){ double(:res, code: 200, body: "SUCCESS!\n") }
12
13
  let(:failure_res){ double(:res, code: 401, body: "NOT FOUND!\n") }
13
-
14
- describe :get do
15
- it "path only" do
16
- expect(core).to receive(:request).with("/foo", :get, nil, {}).and_return(success_res)
17
- cmd.get("/foo")
18
- end
19
- it "path only(401 error)" do
20
- expect(core).to receive(:request).with("/foo", :get, nil, {}).and_return(failure_res)
21
- cmd.get("/foo")
22
- end
23
- it "path and query string" do
24
- expect(core).to receive(:request).with("/foo?bar=baz", :get, nil, {}).and_return(success_res)
25
- cmd.get("/foo?bar=baz")
26
- end
27
- it "path and headers" do
28
- expect(core).to receive(:request).with("/foo", :get, nil, {"bar" => "baz"}).and_return(success_res)
29
- cmd.get("/foo", '{"bar":"baz"}')
30
- end
31
14
 
32
- let(:header_content){ YAML.load_file(File.expand_path("../http_headers.yml", __FILE__)) }
33
- it "path and headers yaml file" do
34
- expect(core).to receive(:request).with("/foo", :get, nil, header_content).and_return(success_res)
35
- cmd.get("/foo", File.expand_path("../http_headers.yml", __FILE__))
36
- end
37
- it "path and headers json file" do
38
- expect(core).to receive(:request).with("/foo", :get, nil, header_content).and_return(success_res)
39
- cmd.get("/foo", File.expand_path("../http_headers.json", __FILE__))
15
+ [:get, :delete, :post, :put, :patch].each do |http_method|
16
+ describe http_method do
17
+ it "path only" do
18
+ expect(core).to receive(:request).with("/foo", http_method, nil, {}).and_return(success_res)
19
+ cmd.send(http_method, "/foo")
20
+ end
21
+ it "path only(401 error)" do
22
+ expect(core).to receive(:request).with("/foo", http_method, nil, {}).and_return(failure_res)
23
+ cmd.send(http_method, "/foo")
24
+ end
25
+ it "path and query string" do
26
+ expect(core).to receive(:request).with("/foo?bar=baz", http_method, nil, {}).and_return(success_res)
27
+ cmd.send(http_method, "/foo?bar=baz")
28
+ end
29
+ it "path and headers" do
30
+ expect(core).to receive(:request).with("/foo", http_method, nil, {"bar" => "baz"}).and_return(success_res)
31
+ cmd.options = Thor::CoreExt::HashWithIndifferentAccess.new headers: '{"bar":"baz"}'
32
+ cmd.send(http_method, "/foo")
33
+ end
34
+
35
+ let(:header_content){ YAML.load_file(File.expand_path("../http_headers.yml", __FILE__)) }
36
+ it "path and headers yaml file" do
37
+ expect(core).to receive(:request).with("/foo", http_method, nil, header_content).and_return(success_res)
38
+ cmd.options = Thor::CoreExt::HashWithIndifferentAccess.new headers: File.expand_path("../http_headers.yml", __FILE__)
39
+ cmd.send(http_method, "/foo")
40
+ end
41
+ it "path and headers json file" do
42
+ expect(core).to receive(:request).with("/foo", http_method, nil, header_content).and_return(success_res)
43
+ cmd.options = Thor::CoreExt::HashWithIndifferentAccess.new "headers" => File.expand_path("../http_headers.json", __FILE__)
44
+ cmd.send(http_method, "/foo")
45
+ end
40
46
  end
41
47
  end
42
48
 
49
+ [:post, :put, :patch].each do |http_method|
50
+ describe "#{http_method} with body" do
51
+ text = "foo\nbar\n\nbazbazbaz"
52
+ text_filename = File.expand_path("../http_body.txt" , __FILE__)
53
+ json_filename = File.expand_path("../http_body.json", __FILE__)
54
+ [
55
+ ["text" , text , text],
56
+ ["text file", text_filename, File.read(text_filename)],
57
+ ["JSON file", json_filename, File.read(json_filename)],
58
+ ].each do |context_nane, arg, expected|
59
+ context context_nane do
60
+ it "path only" do
61
+ expect(core).to receive(:request).with("/foo", http_method, expected, {}).and_return(success_res)
62
+ cmd.options = Thor::CoreExt::HashWithIndifferentAccess.new body: arg
63
+ cmd.send(http_method, "/foo")
64
+ end
65
+ it "path only(401 error)" do
66
+ expect(core).to receive(:request).with("/foo", http_method, expected, {}).and_return(failure_res)
67
+ cmd.options = Thor::CoreExt::HashWithIndifferentAccess.new body: arg
68
+ cmd.send(http_method, "/foo")
69
+ end
70
+ it "path and query string" do
71
+ expect(core).to receive(:request).with("/foo?bar=baz", http_method, expected, {}).and_return(success_res)
72
+ cmd.options = Thor::CoreExt::HashWithIndifferentAccess.new body: arg
73
+ cmd.send(http_method, "/foo?bar=baz")
74
+ end
75
+ it "path and headers" do
76
+ expect(core).to receive(:request).with("/foo", http_method, expected, {"bar" => "baz"}).and_return(success_res)
77
+ cmd.options = Thor::CoreExt::HashWithIndifferentAccess.new body: arg, headers: '{"bar":"baz"}'
78
+ cmd.send(http_method, "/foo")
79
+ end
80
+
81
+ let(:header_content){ YAML.load_file(File.expand_path("../http_headers.yml", __FILE__)) }
82
+ it "path and headers yaml file" do
83
+ expect(core).to receive(:request).with("/foo", http_method, expected, header_content).and_return(success_res)
84
+ cmd.options = Thor::CoreExt::HashWithIndifferentAccess.new body: arg, headers: File.expand_path("../http_headers.yml", __FILE__)
85
+ cmd.send(http_method, "/foo")
86
+ end
87
+ it "path and headers json file" do
88
+ expect(core).to receive(:request).with("/foo", http_method, expected, header_content).and_return(success_res)
89
+ cmd.options = Thor::CoreExt::HashWithIndifferentAccess.new "body" => arg, "headers" => File.expand_path("../http_headers.json", __FILE__)
90
+ cmd.send(http_method, "/foo")
91
+ end
92
+ end
93
+ end
94
+ end
95
+ end
43
96
  end
@@ -0,0 +1,43 @@
1
+ # -*- coding: utf-8 -*-
2
+ require 'spec_helper'
3
+ require 'thor/core_ext/hash_with_indifferent_access'
4
+
5
+ describe Magellan::Cli::Messaging::Mqtt do
6
+
7
+ let(:cmd){ Magellan::Cli::Messaging::Mqtt.new }
8
+
9
+ let(:core){ double(:core) }
10
+ before{ allow(cmd).to receive(:core).and_return(core) }
11
+
12
+ let(:success_res){ double(:res, code: 200, body: "SUCCESS!\n") }
13
+ let(:failure_res){ double(:res, code: 401, body: "NOT FOUND!\n") }
14
+
15
+ describe :pub do
16
+ it do
17
+ expect(core).to receive(:publish).with("foo.bar", "payload")
18
+ cmd.pub("foo.bar", "payload")
19
+ end
20
+ end
21
+
22
+ describe :get do
23
+ it "without argument" do
24
+ expect(core).to receive(:get_message)
25
+ cmd.get
26
+ end
27
+
28
+ it "with nil" do
29
+ expect(core).to receive(:get_message).with(nil)
30
+ cmd.get(nil)
31
+ end
32
+
33
+ it "with blank string" do
34
+ expect(core).to receive(:get_message).with("")
35
+ cmd.get("")
36
+ end
37
+
38
+ it "with topic" do
39
+ expect(core).to receive(:get_message).with("foo.bar")
40
+ cmd.get("foo.bar")
41
+ end
42
+ end
43
+ end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: magellan-cli
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.5.2
4
+ version: 0.5.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - akm2000
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2015-02-02 00:00:00.000000000 Z
11
+ date: 2015-02-03 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: httpclient
@@ -248,9 +248,12 @@ files:
248
248
  - spec/magellan/cli/file_access_spec.rb
249
249
  - spec/magellan/cli/login_page.html
250
250
  - spec/magellan/cli/login_spec.rb
251
+ - spec/magellan/cli/messaging/http_body.json
252
+ - spec/magellan/cli/messaging/http_body.txt
251
253
  - spec/magellan/cli/messaging/http_headers.json
252
254
  - spec/magellan/cli/messaging/http_headers.yml
253
255
  - spec/magellan/cli/messaging/http_spec.rb
256
+ - spec/magellan/cli/messaging/mqtt_spec.rb
254
257
  - spec/magellan/cli/resources/client_version_spec.rb
255
258
  - spec/magellan/cli/resources/organization_spec.rb
256
259
  - spec/magellan/cli/resources/project_spec.rb
@@ -288,9 +291,12 @@ test_files:
288
291
  - spec/magellan/cli/file_access_spec.rb
289
292
  - spec/magellan/cli/login_page.html
290
293
  - spec/magellan/cli/login_spec.rb
294
+ - spec/magellan/cli/messaging/http_body.json
295
+ - spec/magellan/cli/messaging/http_body.txt
291
296
  - spec/magellan/cli/messaging/http_headers.json
292
297
  - spec/magellan/cli/messaging/http_headers.yml
293
298
  - spec/magellan/cli/messaging/http_spec.rb
299
+ - spec/magellan/cli/messaging/mqtt_spec.rb
294
300
  - spec/magellan/cli/resources/client_version_spec.rb
295
301
  - spec/magellan/cli/resources/organization_spec.rb
296
302
  - spec/magellan/cli/resources/project_spec.rb