orc-cli 0.1.0 → 0.1.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.
@@ -4,6 +4,7 @@ module CTT::Cli
4
4
  class ClientCollector
5
5
 
6
6
  def initialize(command, suite, runner)
7
+ @url = runner.url
7
8
  @info = {}
8
9
  @suite = suite
9
10
  @suites = runner.suites
@@ -11,6 +12,7 @@ module CTT::Cli
11
12
 
12
13
  @info[:suite] = @suite
13
14
  @info[:command] = command
15
+
14
16
  end
15
17
 
16
18
  def post
@@ -23,7 +25,7 @@ module CTT::Cli
23
25
  #retry 3 times
24
26
  3.times do
25
27
  begin
26
- response = RestClient.post("#{RESULTS_SERVER_URL}/tac/upload", payload)
28
+ response = RestClient.post("#{@url}/upload", payload)
27
29
  break if response.code == 200
28
30
  rescue
29
31
  end
@@ -33,6 +35,7 @@ module CTT::Cli
33
35
 
34
36
  def collect
35
37
  get_os
38
+ get_ruby_version
36
39
  get_test_reports
37
40
  get_uuid
38
41
  get_timestamp
@@ -74,6 +77,9 @@ module CTT::Cli
74
77
  end
75
78
  end
76
79
 
80
+ def get_ruby_version
81
+ @info[:ruby_version] = `ruby -v`
82
+ end
77
83
 
78
84
  def get_test_reports
79
85
  suite_config_path = File.absolute_path(File.join(@suites.suites["suites"][@suite], TEST_SUITE_CONFIG_FILE))
@@ -16,10 +16,12 @@ module CTT::Cli::Command
16
16
  pieces.insert(0, "") if pieces.size == 1
17
17
  action, suite = pieces
18
18
 
19
- @action = action
20
- @suite = suite
21
- @configs = runner.configs
22
- @suites = runner.suites
19
+ @action = action
20
+ @suite = suite
21
+ @configs = runner.configs
22
+ @suites = runner.suites
23
+ @url = runner.url
24
+ @log = runner.log
23
25
  end
24
26
 
25
27
  def run
@@ -115,6 +117,7 @@ module CTT::Cli::Command
115
117
  end
116
118
 
117
119
  def check_configuration
120
+ check_orc_version
118
121
  unless @suites.suites["suites"].has_key?(@suite)
119
122
  say("suite configure file: #{@suites.file} did not has key: #{@suite}")
120
123
  exit(1)
@@ -184,5 +187,42 @@ module CTT::Cli::Command
184
187
  end
185
188
  @suite_configs
186
189
  end
190
+
191
+ def check_orc_version
192
+ response = nil
193
+ #retry 3 times
194
+ 3.times do
195
+ begin
196
+ response = RestClient.get("#{@url}/version")
197
+ @log.debug("check version. response body: #{response.to_s}, response code: #{response.code}")
198
+ break if response.code == 200
199
+ rescue Exception => e
200
+ @log.error("check version. url: #{@url}/version, #{e.to_s}")
201
+ end
202
+ end
203
+
204
+ if response
205
+ target = JSON.parse(response.to_s)["version"]
206
+ if need_upgrade?(VERSION, target)
207
+ say("your orc-cli gem should be >= #{target}. Abort!", :red)
208
+ exit(1)
209
+ end
210
+ end
211
+ end
212
+
213
+ def need_upgrade?(current, target)
214
+ upgrade = false
215
+ curr_vers = current.split(".")
216
+ targ_vers = target.split(".")
217
+
218
+ targ_vers.each_with_index do |item, index|
219
+ if item > curr_vers[index]
220
+ upgrade = true
221
+ break
222
+ end
223
+ end
224
+
225
+ upgrade
226
+ end
187
227
  end
188
228
  end
data/lib/cli/consts.rb CHANGED
@@ -3,6 +3,6 @@ module CTT::Cli
3
3
 
4
4
  TEST_SUITE_CONFIG_FILE = "orc.yml"
5
5
  TEST_RESULT_FILE = "junitResult.xml"
6
- RESULTS_SERVER_URL = "http://giant.cloudfoundry.com"
6
+ RESULTS_SERVER_URL = "http://mordor.cloudfoundry.com"
7
7
 
8
8
  end
data/lib/cli/runner.rb CHANGED
@@ -3,7 +3,7 @@ module CTT::Cli
3
3
 
4
4
  class Runner
5
5
 
6
- attr_reader :commands, :uuid, :command
6
+ attr_reader :commands, :uuid, :command, :url, :log
7
7
  attr_accessor :configs, :suites
8
8
 
9
9
 
@@ -22,6 +22,9 @@ module CTT::Cli
22
22
  @commands = @configs.commands
23
23
  @suites = Suites.new
24
24
  @uuid = UUIDTools::UUID.random_create
25
+ @log = Logger.new(File.join(ENV["HOME"], ".orc/orc.log"), 'weekly')
26
+ @url = ENV['ORC_RESULTS_SERVER_URL'] ?
27
+ format_url(ENV['ORC_RESULTS_SERVER_URL']) : RESULTS_SERVER_URL
25
28
  end
26
29
 
27
30
  def run
@@ -130,5 +133,12 @@ module CTT::Cli
130
133
  nil
131
134
  end
132
135
  end
136
+
137
+ def format_url(url)
138
+ unless url =~ /^http/
139
+ url = "http://#{url}"
140
+ end
141
+ url
142
+ end
133
143
  end
134
144
  end
data/lib/cli/version.rb CHANGED
@@ -1,6 +1,6 @@
1
1
 
2
2
  module CTT
3
3
  module Cli
4
- VERSION = '0.1.0'
4
+ VERSION = '0.1.1'
5
5
  end
6
6
  end
data/lib/cli.rb CHANGED
@@ -10,6 +10,8 @@ require "tempfile"
10
10
  require "uuidtools"
11
11
  require "etc"
12
12
  require "restclient"
13
+ require "logger"
14
+ require "json"
13
15
 
14
16
 
15
17
 
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: orc-cli
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.0
4
+ version: 0.1.1
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2012-12-18 00:00:00.000000000Z
12
+ date: 2012-12-21 00:00:00.000000000Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: json_pure