Skip to content

Commit b00d5fe

Browse files
committed
added some specs for the mysql extension
1 parent c4081cb commit b00d5fe

File tree

6 files changed

+53
-16
lines changed

6 files changed

+53
-16
lines changed

Rakefile

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -57,6 +57,7 @@ end
5757
require 'spec/rake/spectask'
5858
Spec::Rake::SpecTask.new(:spec) do |spec|
5959
spec.libs << 'lib' << 'spec'
60+
spec.spec_opts = ['--options', 'spec/spec.opts']
6061
spec.spec_files = FileList['spec/**/*_spec.rb']
6162
end
6263

@@ -66,8 +67,6 @@ Spec::Rake::SpecTask.new(:rcov) do |spec|
6667
spec.rcov = true
6768
end
6869

69-
task :spec => :check_dependencies
70-
7170
task :default => :spec
7271

7372
require 'rake/rdoctask'

lib/trinidad-mysql-dbpool-extension.rb

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,11 @@
1-
$:.unshift(File.dirname(__FILE__)) unless
2-
$:.include?(File.dirname(__FILE__)) || $:.include?(File.expand_path(File.dirname(__FILE__)))
1+
def unshift(path)
2+
$:.unshift(File.dirname(__FILE__)) unless
3+
$:.include?(File.dirname(__FILE__)) || $:.include?(File.expand_path(File.dirname(__FILE__)))
4+
end
35

4-
$:.unshift(File.dirname(__FILE__) + '/../trinidad-libs')
6+
unshift(File.dirname(__FILE__))
7+
unshift(File.dirname(__FILE__) + '/../trinidad-libs')
58

6-
require 'java'
7-
require 'rubygems'
89
require 'trinidad-dbpool'
910

1011
require 'mysql-connector-java-5.1.12-bin'

spec/spec.opts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1 +1,2 @@
11
--color
2+
--format specdoc

spec/spec_helper.rb

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,9 @@
11
$LOAD_PATH.unshift(File.dirname(__FILE__))
22
$LOAD_PATH.unshift(File.join(File.dirname(__FILE__), '..', 'lib'))
3-
require 'trinidad-dbpool'
3+
$LOAD_PATH.unshift(File.join(File.dirname(__FILE__), '..', 'trinidad-libs'))
4+
5+
require 'trinidad-mysql-dbpool-extension'
46
require 'spec'
5-
require 'spec/autorun'
67

78
Spec::Runner.configure do |config|
89

spec/trinidad-dbpool_spec.rb

Lines changed: 0 additions & 7 deletions
This file was deleted.
Lines changed: 42 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,42 @@
1+
require File.expand_path(File.dirname(__FILE__) + '/spec_helper')
2+
3+
describe Trinidad::MysqlDbpoolWebAppAddon do
4+
before(:each) do
5+
@addon = Trinidad::MysqlDbpoolWebAppAddon.new
6+
@class_loader = org.jruby.util.JRubyClassLoader.new(JRuby.runtime.jruby_class_loader)
7+
@context = Trinidad::Tomcat::StandardContext.new
8+
9+
@opts = {
10+
'name' => 'jdbc/TestDB'
11+
}
12+
end
13+
14+
it "uses the mysql jar driver" do
15+
@addon.driver_jar.should =~ /mysql-connector-java-.+jar$/
16+
end
17+
18+
it "sets the mysql driver name as a resource property" do
19+
resource = configure_addon
20+
resource.getProperty('driverClassName').should == 'com.mysql.jdbc.Driver'
21+
end
22+
23+
it "loads the jar into the jruby's class loader" do
24+
configure_addon
25+
@class_loader.getURLs().should have(1).resource
26+
end
27+
28+
it "adds the resource to the tomcat standard context" do
29+
configure_addon
30+
@context.naming_resources.find_resource('jdbc/TestDB').should_not be_nil
31+
end
32+
33+
it "adds properties to the resource" do
34+
@opts['maxIdle'] = 300
35+
resource = configure_addon
36+
resource.getProperty('maxIdle').should == '300'
37+
end
38+
39+
def configure_addon
40+
@addon.configure(@context, @class_loader, @opts)
41+
end
42+
end

0 commit comments

Comments
 (0)