Class: RestAssured::Server

Inherits:
Object
  • Object
show all
Includes:
Singleton
Defined in:
lib/rest-assured/api/server.rb

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Instance Attribute Details

#addressObject

Returns the value of attribute address.



9
10
11
# File 'lib/rest-assured/api/server.rb', line 9

def address
  @address
end

Class Method Details

.method_missing(*args) ⇒ Object



59
60
61
# File 'lib/rest-assured/api/server.rb', line 59

def self.method_missing(*args)
  instance.send(*args)
end

Instance Method Details

#start(*args) ⇒ Object



29
30
31
32
33
34
35
# File 'lib/rest-assured/api/server.rb', line 29

def start(*args)
  start!(*args)

  while not up?
    sleep 0.5
  end
end

#start!(opts = {}) ⇒ Object



19
20
21
22
23
24
25
26
27
# File 'lib/rest-assured/api/server.rb', line 19

def start!(opts = {})
  stop if up?

  Config.build(opts)

  self.address = "http#{AppConfig.ssl ? 's' : ''}://127.0.0.1:#{AppConfig.port}"

  @session = AppSession.new
end

#stopObject



41
42
43
44
45
46
47
48
49
50
51
52
53
# File 'lib/rest-assured/api/server.rb', line 41

def stop
  @session.try(:stop)

  10.times do
    if up?
      sleep 0.5
      next
    else
      return
    end
  end
  raise "Failed to stop RestAssured server"
end

#up?Boolean

Returns:

  • (Boolean)


55
56
57
# File 'lib/rest-assured/api/server.rb', line 55

def up?
  !!@session && @session.alive? && !Utils::PortExplorer.port_free?(AppConfig.port) 
end