Method: CloudTest::Core.upload_status

Defined in:
lib/cloud_test/core.rb

.upload_status(success:, session_id:, reason: "Unknown") ⇒ Object



150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
# File 'lib/cloud_test/core.rb', line 150

def self.upload_status(success:, session_id:, reason: "Unknown")
  config = load_config
  provider = get_provider_class config
  provider.check_session_id session_id
  puts session_id
  unless provider::REST_STATUS_SERVER.present?
    puts "skipping upload, not implementet for your provider yet."
    return
  end
  require 'net/http'
  require 'uri'
  require 'json'
  uri = URI.parse(provider::REST_STATUS_SERVER + session_id )
  request = Net::HTTP::Put.new(uri)
  request.basic_auth(config['user'], config['key'])
  request.content_type = "application/json"
  request.body = JSON.dump(provider.get_status_msg(success, reason))
  req_options = {
      use_ssl: uri.scheme == "https",
  }
  response = Net::HTTP.start(uri.hostname, uri.port, req_options) do |http|
    http.request(request)
  end
  if response.code != '200'
    puts "Response Code: #{response.code}"
    puts "Status upload error!"
  end

end