ruby-jmeter 2.1.1 → 2.1.2

Sign up to get free protection for your applications and to get access to all the features.
@@ -25,4 +25,4 @@ jmeter.save.saveservice.idle_time=false
25
25
  jmeter.save.saveservice.timestamp_format=ms
26
26
  jmeter.save.saveservice.default_delimiter=|
27
27
  jmeter.save.saveservice.print_field_names=false
28
- sample_variables=testguid
28
+ sample_variables=uuid
@@ -2,13 +2,13 @@ module RubyJmeter
2
2
  module Parser
3
3
 
4
4
  def parse_http_request(params)
5
- parse_url(params) unless params[:url].empty?
6
-
7
5
  if params[:raw_path]
8
6
  params[:path] = params[:url]
7
+ parse_url(params)
9
8
  else
9
+ parse_url(params)
10
10
  params[:fill_in] ||= {}
11
- params[:params] && params[:params].split('&').each do |param|
11
+ params[:params] && params[:params].split('&').each do |param|
12
12
  name,value = param.split('=')
13
13
  params[:fill_in][name] = value
14
14
  end
@@ -19,9 +19,10 @@ module RubyJmeter
19
19
  end
20
20
 
21
21
  def parse_url(params)
22
+ return if params[:url].empty?
22
23
  if params[:url] =~ /https?:\/\/\$/ || params[:url][0] == '$'
23
24
  params[:path] = params[:url] # special case for named expressions
24
- else
25
+ else
25
26
  uri = parse_uri(params[:url])
26
27
  params[:port] ||= uri.port unless URI.parse(URI::encode(params[:url])).scheme.nil?
27
28
  params[:protocol] ||= uri.scheme unless URI.parse(URI::encode(params[:url])).scheme.nil?
@@ -33,9 +34,9 @@ module RubyJmeter
33
34
  end
34
35
 
35
36
  def parse_uri(uri)
36
- URI.parse(URI::encode(uri)).scheme.nil? ?
37
- URI.parse(URI::encode("http://#{uri}")) :
38
- URI.parse(URI::encode(uri))
37
+ URI.parse(URI::encode(uri)).scheme.nil? ?
38
+ URI.parse(URI::encode("http://#{uri}")) :
39
+ URI.parse(URI::encode(uri))
39
40
  end
40
41
 
41
42
  def fill_in(params)
@@ -68,7 +69,7 @@ module RubyJmeter
68
69
 
69
70
  params[:update_at_xpath] << {
70
71
  :xpath => '//collectionProp',
71
- :value => Nokogiri::XML(<<-EOF.strip_heredoc).children
72
+ :value => Nokogiri::XML(<<-EOF.strip_heredoc).children
72
73
  <elementProp name="" elementType="HTTPArgument">
73
74
  <boolProp name="HTTPArgument.always_encode">false</boolProp>
74
75
  <stringProp name="Argument.value">#{params[:raw_body]}</stringProp>
@@ -101,6 +102,6 @@ module RubyJmeter
101
102
  2
102
103
  end
103
104
  end
104
-
105
+
105
106
  end
106
107
  end
@@ -1,3 +1,3 @@
1
1
  module RubyJmeter
2
- VERSION = "2.1.1"
2
+ VERSION = "2.1.2"
3
3
  end
data/spec/dsl_spec.rb CHANGED
@@ -44,7 +44,7 @@ describe "DSL" do
44
44
 
45
45
  it 'should match on user_agent' do
46
46
  fragment.search(".//stringProp[@name='Header.name']").text.should == 'User-Agent'
47
- fragment.search(".//stringProp[@name='Header.value']").text.should ==
47
+ fragment.search(".//stringProp[@name='Header.value']").text.should ==
48
48
  'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_7_4) AppleWebKit/536.5 (KHTML, like Gecko) Chrome/19.0.1084.46 Safari/536.5'
49
49
  end
50
50
  end
@@ -53,8 +53,8 @@ describe "DSL" do
53
53
  describe 'http request defaults' do
54
54
  let(:doc) do
55
55
  test do
56
- defaults domain: 'example.com',
57
- protocol: 'https',
56
+ defaults domain: 'example.com',
57
+ protocol: 'https',
58
58
  image_parser: true,
59
59
  implementation: 'HttpClient3.1',
60
60
  concurrentDwn: true,
@@ -271,6 +271,25 @@ describe "DSL" do
271
271
  end
272
272
  end
273
273
 
274
+ describe 'visit raw_path' do
275
+ let(:doc) do
276
+ test do
277
+ threads do
278
+ transaction name: "TC_02" do
279
+ post url: "/home?location=melbourne", raw_path: true
280
+ end
281
+ end
282
+ end.to_doc
283
+ end
284
+
285
+ let(:fragment) { doc.search("//HTTPSamplerProxy").first }
286
+
287
+ it 'should match on path' do
288
+ fragment.search(".//stringProp[@name='HTTPSampler.path']").text.should == '/home?location=melbourne'
289
+ end
290
+
291
+ end
292
+
274
293
 
275
294
  describe 'https' do
276
295
  let(:doc) do
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: ruby-jmeter
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.1.1
4
+ version: 2.1.2
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2013-09-27 00:00:00.000000000 Z
12
+ date: 2013-10-04 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: rest-client