ruby-jmeter 2.11.6 → 2.11.7
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/README.md +5 -4
- data/lib/ruby-jmeter/dsl.rb +14 -0
- data/lib/ruby-jmeter/dsl/module_controller.rb +3 -1
- data/lib/ruby-jmeter/idl.xml +3 -1
- data/lib/ruby-jmeter/version.rb +1 -1
- data/spec/dsl_spec.rb +32 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 292b0362da06efe27eef6c870a97d1d6765f9ee9
|
4
|
+
data.tar.gz: e5cc75c8bae12aefbbc43472a09d74ab7a7ee09d
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: d46aabc1687ceea00fffb3d056027a94e668412f716987c39dc1f4ed59f3d0140b61358dbb82056c91af4b21936792aa6bc86aa3e2c3445892ff3228e41d14e3
|
7
|
+
data.tar.gz: 181e7695085cc948f84dfdc3d6f2b2ba9775bb2d1dd58ae4d58b53b1c59fab0327f7f27748d3ad8bf24bcf54061251f3b22b7caba136250dc604468543e31471
|
data/README.md
CHANGED
@@ -2,6 +2,7 @@
|
|
2
2
|
|
3
3
|
[![Build Status](https://travis-ci.org/flood-io/ruby-jmeter.png)](https://travis-ci.org/flood-io/ruby-jmeter)
|
4
4
|
[![Code Climate](https://codeclimate.com/github/flood-io/ruby-jmeter.png)](https://codeclimate.com/github/flood-io/ruby-jmeter)
|
5
|
+
[![Gem Version](https://badge.fury.io/rb/ruby-jmeter.svg)](http://badge.fury.io/rb/ruby-jmeter)
|
5
6
|
|
6
7
|
Tired of using the JMeter GUI or looking at hairy XML files?
|
7
8
|
|
@@ -256,12 +257,12 @@ This method makes a single request. The fill_in parameter lets you specify key/v
|
|
256
257
|
### POST JSON
|
257
258
|
|
258
259
|
```ruby
|
259
|
-
header [
|
260
|
+
header [
|
260
261
|
{ name: 'Content-Type', value: 'application/json' }
|
261
|
-
]
|
262
|
-
|
262
|
+
]
|
263
|
+
|
263
264
|
person = { name: "Tom" }
|
264
|
-
|
265
|
+
|
265
266
|
post name: 'Create Person',
|
266
267
|
url: "https://example.com/people.json",
|
267
268
|
raw_body: person.to_json do
|
data/lib/ruby-jmeter/dsl.rb
CHANGED
@@ -254,6 +254,20 @@ module RubyJmeter
|
|
254
254
|
##
|
255
255
|
# Other Elements
|
256
256
|
|
257
|
+
def module_controller(params, &block)
|
258
|
+
node = RubyJmeter::ModuleController.new(params)
|
259
|
+
|
260
|
+
node_path = params.kind_of?(Array) ? [] : (params[:node_path] || [])
|
261
|
+
node_path.each_with_index do |node_name, index|
|
262
|
+
node.doc.at_xpath('//collectionProp') <<
|
263
|
+
Nokogiri::XML(<<-EOS.strip_heredoc).children
|
264
|
+
<stringProp name="node_#{index}">#{node_name}</stringProp>
|
265
|
+
EOS
|
266
|
+
end
|
267
|
+
|
268
|
+
attach_node(node, &block)
|
269
|
+
end
|
270
|
+
|
257
271
|
def user_parameters(params, &block)
|
258
272
|
if params.is_a?(Hash)
|
259
273
|
params['Argument.name'] = params[:name]
|
@@ -13,7 +13,9 @@ module RubyJmeter
|
|
13
13
|
def initialize(params={})
|
14
14
|
testname = params.kind_of?(Array) ? 'ModuleController' : (params[:name] || 'ModuleController')
|
15
15
|
@doc = Nokogiri::XML(<<-EOS.strip_heredoc)
|
16
|
-
<ModuleController guiclass="ModuleControllerGui" testclass="ModuleController" testname="#{testname}" enabled="true"
|
16
|
+
<ModuleController guiclass="ModuleControllerGui" testclass="ModuleController" testname="#{testname}" enabled="true">
|
17
|
+
<collectionProp name="ModuleController.node_path"/>
|
18
|
+
</ModuleController>)
|
17
19
|
EOS
|
18
20
|
update params
|
19
21
|
update_at_xpath params if params.is_a?(Hash) && params[:update_at_xpath]
|
data/lib/ruby-jmeter/idl.xml
CHANGED
@@ -279,7 +279,9 @@
|
|
279
279
|
<stringProp name="LoopController.loops">1</stringProp>
|
280
280
|
</LoopController>
|
281
281
|
<hashTree/>
|
282
|
-
<ModuleController guiclass="ModuleControllerGui" testclass="ModuleController" testname="Module Controller" enabled="true"
|
282
|
+
<ModuleController guiclass="ModuleControllerGui" testclass="ModuleController" testname="Module Controller" enabled="true">
|
283
|
+
<collectionProp name="ModuleController.node_path" />
|
284
|
+
</ModuleController>
|
283
285
|
<hashTree/>
|
284
286
|
<OnceOnlyController guiclass="OnceOnlyControllerGui" testclass="OnceOnlyController" testname="Once Only Controller" enabled="true"/>
|
285
287
|
<hashTree/>
|
data/lib/ruby-jmeter/version.rb
CHANGED
data/spec/dsl_spec.rb
CHANGED
@@ -517,7 +517,7 @@ describe "DSL" do
|
|
517
517
|
let(:fragment) { doc.search("//IfController").first }
|
518
518
|
|
519
519
|
it 'should match on exists' do
|
520
|
-
fragment.search(".//stringProp[@name='IfController.condition']").text.should == "
|
520
|
+
fragment.search(".//stringProp[@name='IfController.condition']").text.should == '"${apple}" != "\${apple}"'
|
521
521
|
end
|
522
522
|
end
|
523
523
|
|
@@ -813,4 +813,35 @@ describe "DSL" do
|
|
813
813
|
|
814
814
|
end
|
815
815
|
|
816
|
+
describe 'module controllers' do
|
817
|
+
let(:doc) do
|
818
|
+
test name: 'tests' do
|
819
|
+
threads 1, name: 'threads' do
|
820
|
+
Simple name: 'controller_to_call'
|
821
|
+
end
|
822
|
+
threads 1 do
|
823
|
+
module_controller name: 'modules', node_path: [
|
824
|
+
'WorkBench',
|
825
|
+
'tests',
|
826
|
+
'threads',
|
827
|
+
'controller_to_call'
|
828
|
+
]
|
829
|
+
end
|
830
|
+
end.to_doc
|
831
|
+
end
|
832
|
+
|
833
|
+
let(:simple_controller) { doc.search("//GenericController").first }
|
834
|
+
let(:test_module) { doc.search("//ModuleController").first }
|
835
|
+
let(:nodes) { test_module.search(".//stringProp") }
|
836
|
+
|
837
|
+
|
838
|
+
it 'should have a node path' do
|
839
|
+
nodes.length.should == 4
|
840
|
+
nodes[0].text.should == 'WorkBench'
|
841
|
+
nodes[1].text.should == 'tests'
|
842
|
+
nodes[2].text.should == 'threads'
|
843
|
+
nodes[3].text.should == 'controller_to_call'
|
844
|
+
end
|
845
|
+
end
|
846
|
+
|
816
847
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: ruby-jmeter
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 2.11.
|
4
|
+
version: 2.11.7
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Tim Koopmans
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2014-05-
|
11
|
+
date: 2014-05-11 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rest-client
|