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 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