Class: Gitlab::QA::Component::Gitlab::Availability

Inherits:
Object
  • Object
show all
Defined in:
lib/gitlab/qa/component/gitlab.rb

Instance Method Summary collapse

Constructor Details

#initialize(name, relative_path: '', scheme: 'http', protocol_port: 80) ⇒ Availability

Returns a new instance of Availability.



306
307
308
309
310
311
312
313
# File 'lib/gitlab/qa/component/gitlab.rb', line 306

def initialize(name, relative_path: '', scheme: 'http', protocol_port: 80)
  @docker = Docker::Engine.new

  @name = name
  @scheme = scheme
  @relative_path = relative_path
  @protocol_port = protocol_port
end

Instance Method Details

#check(retries) ⇒ Object



315
316
317
318
319
320
321
322
323
# File 'lib/gitlab/qa/component/gitlab.rb', line 315

def check(retries)
  retries.times do
    return true if service_available?

    sleep 1
  end

  false
end

#uriObject



325
326
327
328
329
330
331
# File 'lib/gitlab/qa/component/gitlab.rb', line 325

def uri
  @uri ||= begin
    port = docker.port(name, protocol_port).split(':').last

    URI.join("#{scheme}://#{docker.hostname}:#{port}", relative_path)
  end
end