magellan-cli 0.6.0 → 0.6.1

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: 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