ruby-jmeter 2.11.6 → 2.11.7
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- 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
|
[](https://travis-ci.org/flood-io/ruby-jmeter)
|
4
4
|
[](https://codeclimate.com/github/flood-io/ruby-jmeter)
|
5
|
+
[](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
|