magellan-cli 0.6.0 → 0.6.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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 7db0837835cc09a010e80b50ed05ef816eac9c2d
4
- data.tar.gz: 5eaf1c7d35daeedab002dd47d6dc1f6298846550
3
+ metadata.gz: c2ba540ea2529d783f14d3628225f37692e04f3c
4
+ data.tar.gz: 26ca454236298f588565961a29c716cc11848222
5
5
  SHA512:
6
- metadata.gz: 75ca604ec8f59c335e9eb4fe75e1ee9fff085dcb5212f7c86d47ea16a2efa7a51a2346b22d5738df7b15739a411218772658dffbb8ae6f18a755d0ed1094875e
7
- data.tar.gz: d60150518e847386d483cd410d06bc8f02c340ffdbe43a34e51574f8023374e9b2d09c2881607be1242018cbddb6a80c5ebe36d14b0b9d32c56317a06db8367f
6
+ metadata.gz: 74efcf40e995664628987dc865a6ecc3be7d834100ae7be1ffcb98af2d37538e0ab035f9a06e867338792ffd3b63d4b27a95d8de665560dcf36b17b6a39675c9
7
+ data.tar.gz: bf52789d27406ab0ae831e59a96997c24ffac4a09dedc401f09443c9fad88904efa1c80aafc7c62caf1900943e5c753e6cea03eac19dd8a0b4c2cfe80bc0cc49
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- magellan-cli (0.6.0)
4
+ magellan-cli (0.6.1)
5
5
  activesupport (~> 4.1.4)
6
6
  groovenauts-thor
7
7
  httpclient (~> 2.5)
@@ -64,6 +64,13 @@ module Magellan
64
64
  end
65
65
  end
66
66
 
67
+ def debug_lf
68
+ r = yield if block_given?
69
+ @httpclient.debug_dev << "\n" if @httpclient.debug_dev
70
+ r
71
+ end
72
+
73
+
67
74
  def login_form_url
68
75
  @login_form_url ||= base_url + "/users/sign_in.html"
69
76
  end
@@ -90,7 +97,7 @@ module Magellan
90
97
  },
91
98
  "authenticity_token" => @auth_token
92
99
  }.to_json
93
- res2 = Ssl.retry_on_ssl_error("login"){ @httpclient.post(login_url, params, JSON_HEADER) }
100
+ res2 = Ssl.retry_on_ssl_error("login"){ debug_lf{ @httpclient.post(login_url, params, JSON_HEADER) } }
94
101
 
95
102
  case res2.status
96
103
  when 200...300 then logined = true
@@ -109,7 +116,7 @@ module Magellan
109
116
  def api_login_by_token!(email, token)
110
117
  url = "#{base_url}/admin/magellan~auth~organization.json"
111
118
  params = {"email" => email, "token" => token}
112
- res = httpclient.get(url, params)
119
+ res = debug_lf{ httpclient.get(url, params) }
113
120
 
114
121
  logined =
115
122
  case res.status
@@ -135,7 +142,7 @@ module Magellan
135
142
  end
136
143
 
137
144
  def get_auth_token
138
- res = Ssl.retry_on_ssl_error("login_form"){ @httpclient.get(login_form_url) }
145
+ res = Ssl.retry_on_ssl_error("login_form"){ debug_lf{ @httpclient.get(login_form_url) } }
139
146
  doc = Nokogiri::HTML.parse(res.body, login_form_url, res.body_encoding.to_s)
140
147
  node = doc.xpath('//input[@name="authenticity_token"]').first
141
148
  unless node
@@ -175,7 +182,7 @@ module Magellan
175
182
  else
176
183
  obj = JSON.parse(res.body) rescue nil
177
184
  if obj and obj.is_a?(Hash) and obj["message"]
178
- fatal(obj["message"])
185
+ cmd.fatal(obj["message"])
179
186
  end
180
187
  end
181
188
  end
@@ -195,7 +202,7 @@ module Magellan
195
202
  $stderr, bak = StringIO.new, $stderr
196
203
  res = nil
197
204
  begin
198
- res = httpclient.get(url)
205
+ res = debug_lf{ httpclient.get(url) }
199
206
  ensure
200
207
  $stderr = bak
201
208
  end
@@ -248,7 +255,7 @@ module Magellan
248
255
 
249
256
  def process_res(http_method, rel_path, *args)
250
257
  url = "#{base_url}#{rel_path}"
251
- res = httpclient.send(http_method, url, *args)
258
+ res = debug_lf{ httpclient.send(http_method, url, *args) }
252
259
  check_response(res)
253
260
  end
254
261
 
@@ -39,7 +39,7 @@ module Magellan
39
39
  client_version: client_version,
40
40
  mqtt_host: ENV["MAGELLAN_MQTT_SERVER_HOST"] || DEFAULT_MAGELLAN_MQTT_SERVER_HOST,
41
41
  mqtt_port: ENV["MAGELLAN_MQTT_SERVER_PORT"] || DEFAULT_MAGELLAN_MQTT_SERVER_PORT,
42
- verbose: options[:verbose],
42
+ verbose: verbose?,
43
43
  }
44
44
  uri = ENV["MAGELLAN_HTTP_SERVER_URL"] || DEFAULT_MAGELLAN_HTTP_SERVER_URL
45
45
  log_verbose("HTTP URL : #{uri.inspect}")
@@ -77,7 +77,8 @@ module Magellan
77
77
  fields[i] = obj[:name]
78
78
  res = obj[:resource] || ((k = Resources.const_get(obj[:class])) ? k.resource_key : nil)
79
79
  res2 = get_json("/admin/#{res}.json", {"compact" => true})
80
- associations[f] = res2.each_with_object({}){|r,d| d[ r["id"].to_i ] = r["label"] }
80
+ attr_name = (k ? k.caption_attr : nil) || "caption"
81
+ associations[f] = res2.each_with_object({}){|r,d| d[ r["id"].to_i ] = r[attr_name] }
81
82
  end
82
83
  return associations
83
84
  end
@@ -114,7 +115,6 @@ module Magellan
114
115
  fields = original_fields.dup
115
116
  fields.unshift(" ")
116
117
  associations = association_map(fields)
117
-
118
118
  t.head = fields
119
119
  t.rows = []
120
120
  selected_id = (load_selections[ parameter_name ] || {})["id"]
@@ -1,5 +1,5 @@
1
1
  module Magellan
2
2
  module Cli
3
- VERSION = "0.6.0"
3
+ VERSION = "0.6.1"
4
4
  end
5
5
  end
@@ -22,6 +22,26 @@ describe Magellan::Cli::Resources::Project do
22
22
  expect($stdout).to receive(:puts)
23
23
  cmd.list
24
24
  end
25
+
26
+ let(:org_res_body){ [{"id":8,"name":"test1","email":"","creator_id":4,"created_at":"2015-02-18T14:27:16.000Z","updated_at":"2015-02-18T14:27:16.000Z","max_project_count":1,"max_team_count":100}] }
27
+ let(:org_res){ double(:org_res, status: 200, body: org_res_body.to_json) }
28
+ let(:list_res_body){ [{"id":9,"organization_id":8,"default_nebula_id":2,"name":"Project1","icon_url":nil,"consumer_key":"test1.Project1","consumer_secret":"a5etckpurpy0od3keo25iw77mtllo2fb","created_at":"2015-02-18T14:27:21.000Z","updated_at":"2015-02-18T14:27:21.000Z","max_stage_count":2}] }
29
+ let(:list_res){ double(:res, status: 200, body: list_res_body.to_json) }
30
+ it do
31
+ buf = StringIO.new
32
+ $stdout, backup = buf, $stdout
33
+ begin
34
+ expect(httpclient).to receive(:get).with(%{#{base_url}/admin/project.json}).and_return(list_res)
35
+ expect(httpclient).to receive(:get).with(%{#{base_url}/admin/magellan~auth~organization.json}).and_return(org_res)
36
+ cmd.list
37
+ buf.rewind
38
+ output = buf.read
39
+ expect(output).to_not match /not found/
40
+ expect(output).to match /test1/
41
+ ensure
42
+ $stdout = backup
43
+ end
44
+ end
25
45
  end
26
46
 
27
47
  describe :show do
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.6.0
4
+ version: 0.6.1
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-23 00:00:00.000000000 Z
11
+ date: 2015-02-24 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: httpclient