Module: MockServer::Model::DSL

Included in:
AbstractClient, MockServerCLI
Defined in:
lib/mockserver/model/body.rb,
lib/mockserver/model/delay.rb,
lib/mockserver/model/times.rb,
lib/mockserver/model/forward.rb,
lib/mockserver/model/request.rb,
lib/mockserver/model/response.rb,
lib/mockserver/model/parameter.rb,
lib/mockserver/model/expectation.rb

Overview

DSL method for creating expectation

Instance Method Summary collapse

Instance Method Details

#at_least(num) ⇒ Object



43
44
45
# File 'lib/mockserver/model/times.rb', line 43

def at_least(num)
  Times.new(remaining_times: num, unlimited: true)
end

#body(value) ⇒ Object

For response object where body can only be a string



36
37
38
# File 'lib/mockserver/model/body.rb', line 36

def body(value)
  value
end

#decode(string) ⇒ Object



38
39
40
# File 'lib/mockserver/model/response.rb', line 38

def decode(string)
  Base64.decode64(string)
end

#delay_by(time_unit, value) ⇒ Object



30
31
32
# File 'lib/mockserver/model/delay.rb', line 30

def delay_by(time_unit, value)
  Delay.new(time_unit: time_unit, value: value)
end

#exact(value) ⇒ Object



40
41
42
# File 'lib/mockserver/model/body.rb', line 40

def exact(value)
  Body.new(type: :STRING, value: value)
end

#exactly(num) ⇒ Object



39
40
41
# File 'lib/mockserver/model/times.rb', line 39

def exactly(num)
  Times.new(remaining_times: num)
end

#expectation {|expectation| ... } ⇒ Object

Yields:



125
126
127
128
129
# File 'lib/mockserver/model/expectation.rb', line 125

def expectation(&_)
  expectation = Expectation.new
  yield expectation if block_given?
  expectation
end

#expectation_from_json(payload) {|expectation| ... } ⇒ Object

Yields:



131
132
133
134
135
136
# File 'lib/mockserver/model/expectation.rb', line 131

def expectation_from_json(payload)
  expectation = Expectation.new
  yield expectation if block_given?
  expectation.populate_from_payload(payload)
  expectation
end

#forward {|obj| ... } ⇒ Object Also known as: http_forward

Yields:

  • (obj)


33
34
35
36
37
# File 'lib/mockserver/model/forward.rb', line 33

def forward(&_)
  obj = Forward.new
  yield obj if block_given?
  obj
end

#onceObject



35
36
37
# File 'lib/mockserver/model/times.rb', line 35

def once
  Times.new(remaining_times: 1)
end

#parameter(key, *value) ⇒ Object Also known as: cookie, header



39
40
41
# File 'lib/mockserver/model/parameter.rb', line 39

def parameter(key, *value)
  Parameter.new(name: key, values: value)
end

#parameterized(*parameters) ⇒ Object



52
53
54
# File 'lib/mockserver/model/body.rb', line 52

def parameterized(*parameters)
  Body.new(type: :PARAMETERS, parameters: parameters)
end

#regex(value) ⇒ Object



44
45
46
# File 'lib/mockserver/model/body.rb', line 44

def regex(value)
  Body.new(type: :REGEX, value: value)
end

#request(method, path) {|obj| ... } ⇒ Object Also known as: http_request

Yields:

  • (obj)


44
45
46
47
48
# File 'lib/mockserver/model/request.rb', line 44

def request(method, path, &_)
  obj = Request.new(method: method, path: path)
  yield obj if block_given?
  obj
end

#response {|obj| ... } ⇒ Object Also known as: http_response

Yields:

  • (obj)


32
33
34
35
36
# File 'lib/mockserver/model/response.rb', line 32

def response(&_)
  obj = Response.new
  yield obj if block_given?
  obj
end

#times {|obj| ... } ⇒ Object

Yields:

  • (obj)


47
48
49
50
51
# File 'lib/mockserver/model/times.rb', line 47

def times(&_)
  obj = once
  yield obj if block_given?
  obj
end

#unlimitedObject



31
32
33
# File 'lib/mockserver/model/times.rb', line 31

def unlimited
  Times.new(unlimited: true)
end

#xpath(value) ⇒ Object



48
49
50
# File 'lib/mockserver/model/body.rb', line 48

def xpath(value)
  Body.new(type: :XPATH, value: value)
end