gridinit-jmeter 0.0.2 → 0.0.3

Sign up to get free protection for your applications and to get access to all the features.
data/Gemfile CHANGED
@@ -6,6 +6,10 @@ gemspec
6
6
  gem 'nokogiri'
7
7
  gem 'rest-client'
8
8
 
9
+ platforms :jruby do
10
+ gem 'json-jruby'
11
+ end
12
+
9
13
  group :test do
10
14
  gem 'rake'
11
15
  gem 'rspec'
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!
@@ -0,0 +1,8 @@
1
+ $LOAD_PATH.unshift(File.join(File.dirname(__FILE__), '..', 'lib'))
2
+ require 'gridinit-jmeter'
3
+
4
+ test do
5
+ threads 10 do
6
+ visit 'Google Search', 'http://google.com'
7
+ end
8
+ end.grid('4dy-zJLEIgpYkKe6p6JhSQ', {proxy: 'http://corporateproxy:8080'})
@@ -0,0 +1,8 @@
1
+ $LOAD_PATH.unshift(File.join(File.dirname(__FILE__), '..', 'lib'))
2
+ require 'gridinit-jmeter'
3
+
4
+ test do
5
+ threads 10 do
6
+ visit 'Google Search', 'http://google.com'
7
+ end
8
+ end
@@ -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", "~> 1.6.7")
15
- gem.add_dependency("nokogiri", "~> 1.5.5")
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 = gem.files.grep(%r{^bin/}).map{ |f| File.basename(f) }
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
@@ -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
- file(params)
134
+ RestClient.proxy = params[:proxy] if params[:proxy]
132
135
  begin
133
- response = RestClient.post "http://#{params[:endpoint] ? params[:endpoint] : 'gridinit.com'}/api?token=#{token}", {
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("#{params[:file]}", 'rb'),
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
@@ -1,5 +1,5 @@
1
1
  module Gridinit
2
2
  module Jmeter
3
- VERSION = "0.0.2"
3
+ VERSION = "0.0.3"
4
4
  end
5
5
  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.2
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-20 00:00:00.000000000 Z
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: 1.6.7
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: 1.6.7
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: 1.5.5
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: 1.5.5
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