Method: RubyJmeter::ExtendedDSL#test_data

Defined in:
lib/ruby-jmeter/dsl.rb

#test_data(*args, &block) ⇒ Object



193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
# File 'lib/ruby-jmeter/dsl.rb', line 193

def test_data(*args, &block)
  params = args.shift || {}
  params = { key: params.to_s }.merge(args.shift || {}) if(params.class == String || params.class == Symbol)
  params[:command] ||= 'SRANDMEMBER'
  params[:name] ||= 'testdata'
  params[:regex] ||= '"(.+?)"'
  params[:match_num] ||= -1
  params[:default] ||= ''

  params[:host] ||= '54.252.206.143'

  params[:url] = params[:key] if URI.parse(URI::encode(params[:key])).scheme

  params[:url] = if params[:host]
    "http://#{params[:host]}/data/#{params[:command]}/#{params[:key]}?type=text"
  end

  params[:url] = 'http://54.252.206.143/data/' if params[:stub]

  get name: '__testdata', url: params[:url] do
    extract name: params[:name],
      regex: params[:regex],
      match_num: params[:match_num],
      default: params[:default]
  end
end