gridinit-jmeter 0.0.2 → 0.0.3
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.
- data/Gemfile +4 -0
- data/bin/grid +25 -0
- data/examples/basic_proxy.rb +8 -0
- data/examples/basic_stdout.rb +8 -0
- data/gridinit-jmeter.gemspec +4 -3
- data/lib/gridinit-jmeter/dsl.rb +15 -6
- data/lib/gridinit-jmeter/version.rb +1 -1
- metadata +15 -11
data/Gemfile
CHANGED
data/bin/grid
ADDED
@@ -0,0 +1,25 @@
|
|
1
|
+
#!/usr/bin/env ruby
|
2
|
+
|
3
|
+
require 'rubygems'
|
4
|
+
require 'gridinit-jmeter'
|
5
|
+
|
6
|
+
def usage(why = nil)
|
7
|
+
puts "failed for reason: #{why}" if why
|
8
|
+
puts "usage: grid [testplan.rb] "
|
9
|
+
puts " The tesplan is optional, if you leave it off you'll get an interactive shell."
|
10
|
+
exit(1)
|
11
|
+
end
|
12
|
+
|
13
|
+
@testplan = ARGV.shift
|
14
|
+
|
15
|
+
require 'irb'
|
16
|
+
require 'irb/completion'
|
17
|
+
|
18
|
+
if File.exists? ".irbrc"
|
19
|
+
ENV['IRBRC'] = ".irbrc"
|
20
|
+
end
|
21
|
+
|
22
|
+
ARGV.clear
|
23
|
+
|
24
|
+
IRB.start
|
25
|
+
exit!
|
data/gridinit-jmeter.gemspec
CHANGED
@@ -11,11 +11,12 @@ Gem::Specification.new do |gem|
|
|
11
11
|
gem.description = %q{This is a Ruby based DSL for writing JMeter test plans}
|
12
12
|
gem.summary = %q{This is a Ruby based DSL for writing JMeter test plans}
|
13
13
|
gem.homepage = ""
|
14
|
-
gem.add_dependency("rest-client"
|
15
|
-
gem.add_dependency("nokogiri"
|
14
|
+
gem.add_dependency("rest-client")
|
15
|
+
gem.add_dependency("nokogiri")
|
16
|
+
gem.add_runtime_dependency('json-jruby') if RUBY_PLATFORM == 'java'
|
16
17
|
|
17
18
|
gem.files = `git ls-files`.split($/)
|
18
|
-
gem.executables
|
19
|
+
gem.executables << 'grid'
|
19
20
|
gem.test_files = gem.files.grep(%r{^(test|spec|features)/})
|
20
21
|
gem.require_paths = ["lib"]
|
21
22
|
end
|
data/lib/gridinit-jmeter/dsl.rb
CHANGED
@@ -11,7 +11,7 @@ module Gridinit
|
|
11
11
|
end
|
12
12
|
dsl
|
13
13
|
end
|
14
|
-
|
14
|
+
|
15
15
|
module_function :dsl_eval
|
16
16
|
|
17
17
|
module Jmeter
|
@@ -112,9 +112,12 @@ module Gridinit
|
|
112
112
|
|
113
113
|
alias_method :web_reg_find, :assert
|
114
114
|
|
115
|
+
def out(params={})
|
116
|
+
puts doc.to_xml(:indent => 2)
|
117
|
+
end
|
118
|
+
|
115
119
|
def jmx(params={})
|
116
120
|
file(params)
|
117
|
-
puts doc.to_xml(:indent => 2)
|
118
121
|
logger.info "JMX saved to: #{params[:file]}"
|
119
122
|
end
|
120
123
|
|
@@ -128,11 +131,15 @@ module Gridinit
|
|
128
131
|
end
|
129
132
|
|
130
133
|
def grid(token, params={})
|
131
|
-
|
134
|
+
RestClient.proxy = params[:proxy] if params[:proxy]
|
132
135
|
begin
|
133
|
-
|
136
|
+
file = Tempfile.new('jmeter')
|
137
|
+
file.write(doc.to_xml(:indent => 2))
|
138
|
+
file.rewind
|
139
|
+
response = RestClient.post "http://#{params[:endpoint] ? params[:endpoint] : 'gridinit.com'}/api?token=#{token}",
|
140
|
+
{
|
134
141
|
:name => 'attachment',
|
135
|
-
:attachment => File.new("#{
|
142
|
+
:attachment => File.new("#{file.path}", 'rb'),
|
136
143
|
:multipart => true,
|
137
144
|
:content_type => 'application/octet-stream'
|
138
145
|
}
|
@@ -188,5 +195,7 @@ module Gridinit
|
|
188
195
|
end
|
189
196
|
|
190
197
|
def test(&block)
|
191
|
-
Gridinit.dsl_eval(Gridinit::Jmeter::DSL.new, &block)
|
198
|
+
t = Gridinit.dsl_eval(Gridinit::Jmeter::DSL.new, &block)
|
199
|
+
t.out
|
200
|
+
t
|
192
201
|
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: gridinit-jmeter
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.3
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -9,44 +9,45 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2012-11-
|
12
|
+
date: 2012-11-26 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: rest-client
|
16
16
|
requirement: !ruby/object:Gem::Requirement
|
17
17
|
none: false
|
18
18
|
requirements:
|
19
|
-
- -
|
19
|
+
- - ! '>='
|
20
20
|
- !ruby/object:Gem::Version
|
21
|
-
version:
|
21
|
+
version: '0'
|
22
22
|
type: :runtime
|
23
23
|
prerelease: false
|
24
24
|
version_requirements: !ruby/object:Gem::Requirement
|
25
25
|
none: false
|
26
26
|
requirements:
|
27
|
-
- -
|
27
|
+
- - ! '>='
|
28
28
|
- !ruby/object:Gem::Version
|
29
|
-
version:
|
29
|
+
version: '0'
|
30
30
|
- !ruby/object:Gem::Dependency
|
31
31
|
name: nokogiri
|
32
32
|
requirement: !ruby/object:Gem::Requirement
|
33
33
|
none: false
|
34
34
|
requirements:
|
35
|
-
- -
|
35
|
+
- - ! '>='
|
36
36
|
- !ruby/object:Gem::Version
|
37
|
-
version:
|
37
|
+
version: '0'
|
38
38
|
type: :runtime
|
39
39
|
prerelease: false
|
40
40
|
version_requirements: !ruby/object:Gem::Requirement
|
41
41
|
none: false
|
42
42
|
requirements:
|
43
|
-
- -
|
43
|
+
- - ! '>='
|
44
44
|
- !ruby/object:Gem::Version
|
45
|
-
version:
|
45
|
+
version: '0'
|
46
46
|
description: This is a Ruby based DSL for writing JMeter test plans
|
47
47
|
email:
|
48
48
|
- support@gridinit.com
|
49
|
-
executables:
|
49
|
+
executables:
|
50
|
+
- grid
|
50
51
|
extensions: []
|
51
52
|
extra_rdoc_files: []
|
52
53
|
files:
|
@@ -59,13 +60,16 @@ files:
|
|
59
60
|
- LICENSE.txt
|
60
61
|
- README.md
|
61
62
|
- Rakefile
|
63
|
+
- bin/grid
|
62
64
|
- examples/basic_assertion.rb
|
63
65
|
- examples/basic_auth.rb
|
64
66
|
- examples/basic_cache.rb
|
65
67
|
- examples/basic_cookies.rb
|
66
68
|
- examples/basic_google.rb
|
67
69
|
- examples/basic_grid.rb
|
70
|
+
- examples/basic_proxy.rb
|
68
71
|
- examples/basic_run.rb
|
72
|
+
- examples/basic_stdout.rb
|
69
73
|
- examples/basic_testplan.jmx
|
70
74
|
- examples/basic_testplan.rb
|
71
75
|
- examples/basic_think_time.rb
|