plsql_unit_test 0.1.0

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/README.md ADDED
File without changes
@@ -0,0 +1,15 @@
1
+ module PLSQLUnitTest
2
+ class Setup
3
+ def self.connect(user, password, service, host, port)
4
+ interface = SimpleOracleJDBC::Interface.create(user,
5
+ password,
6
+ service,
7
+ host,
8
+ port
9
+ )
10
+
11
+ Test::Unit::TestCase.set_database_interface(interface)
12
+ DataFactory::Base.set_database_interface interface
13
+ end
14
+ end
15
+ end
@@ -0,0 +1,32 @@
1
+ class Test::Unit::TestCase
2
+
3
+
4
+ def self.set_database_interface(interface)
5
+ @@db_interface = interface
6
+ end
7
+
8
+ def assert_table_has_one_row(table, where_clause=nil, message=nil)
9
+ assert_table_has_many_rows(table, 1, where_clause, message)
10
+ end
11
+
12
+ def assert_table_has_zero_rows(table, where_clause=nil, message=nil)
13
+ assert_table_has_many_rows(table, 0, where_clause, message)
14
+ end
15
+
16
+ def assert_table_has_many_rows(table, row_count, where_clause=nil, message=nil)
17
+ results = @@db_interface.execute_sql("select count(*) from #{table} #{where_clause}").all_array
18
+ message = build_message(message, "A count of <?> was expected but was <?> for <?> <?>", row_count.to_s, results[0][0].to_i, table, where_clause)
19
+ assert_block(message) do
20
+ row_count == results[0][0].to_i
21
+ end
22
+ end
23
+
24
+ def time_as_oracle_dtm(time)
25
+ "to_date('#{time.strftime('%Y%m%d %H:%M:%S')}', 'YYYYMMDD HH24:MI:SS')"
26
+ end
27
+
28
+ def time_as_oracle_dt(time)
29
+ "to_date('#{time.strftime('%Y%m%d')}', 'YYYYMMDD')"
30
+ end
31
+
32
+ end
@@ -0,0 +1,9 @@
1
+ require 'test/unit'
2
+ require 'rubygems'
3
+ require 'simple_oracle_jdbc'
4
+ require 'data_factory'
5
+
6
+ require 'plsql_unit_test/test_unit_patch'
7
+ require 'plsql_unit_test/setup'
8
+
9
+
metadata ADDED
@@ -0,0 +1,85 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: plsql_unit_test
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.1.0
5
+ prerelease:
6
+ platform: ruby
7
+ authors:
8
+ - Stephen O'Donnell
9
+ autorequire:
10
+ bindir: bin
11
+ cert_chain: []
12
+ date: 2013-03-04 00:00:00.000000000 Z
13
+ dependencies:
14
+ - !ruby/object:Gem::Dependency
15
+ name: data_factory
16
+ requirement: !ruby/object:Gem::Requirement
17
+ none: false
18
+ requirements:
19
+ - - '='
20
+ - !ruby/object:Gem::Version
21
+ version: 0.1.2
22
+ type: :runtime
23
+ prerelease: false
24
+ version_requirements: !ruby/object:Gem::Requirement
25
+ none: false
26
+ requirements:
27
+ - - '='
28
+ - !ruby/object:Gem::Version
29
+ version: 0.1.2
30
+ - !ruby/object:Gem::Dependency
31
+ name: simpleOracleJDBC
32
+ requirement: !ruby/object:Gem::Requirement
33
+ none: false
34
+ requirements:
35
+ - - '='
36
+ - !ruby/object:Gem::Version
37
+ version: 0.1.1
38
+ type: :runtime
39
+ prerelease: false
40
+ version_requirements: !ruby/object:Gem::Requirement
41
+ none: false
42
+ requirements:
43
+ - - '='
44
+ - !ruby/object:Gem::Version
45
+ version: 0.1.1
46
+ description: Monkey patches Test::Unit::TestCase to add some additional assert methods,
47
+ a global database_interface object (via a class variable) and a few helper functions
48
+ designed to enable plsql unit testing
49
+ email: stephen@betteratoracle.com
50
+ executables: []
51
+ extensions: []
52
+ extra_rdoc_files:
53
+ - README.md
54
+ files:
55
+ - lib/plsql_unit_test/setup.rb
56
+ - lib/plsql_unit_test/test_unit_patch.rb
57
+ - lib/plsql_unit_test.rb
58
+ - README.md
59
+ homepage: http://betteratoracle.com
60
+ licenses: []
61
+ post_install_message:
62
+ rdoc_options: []
63
+ require_paths:
64
+ - lib
65
+ required_ruby_version: !ruby/object:Gem::Requirement
66
+ none: false
67
+ requirements:
68
+ - - ! '>='
69
+ - !ruby/object:Gem::Version
70
+ version: '0'
71
+ required_rubygems_version: !ruby/object:Gem::Requirement
72
+ none: false
73
+ requirements:
74
+ - - ! '>='
75
+ - !ruby/object:Gem::Version
76
+ version: '0'
77
+ requirements: []
78
+ rubyforge_project:
79
+ rubygems_version: 1.8.24
80
+ signing_key:
81
+ specification_version: 3
82
+ summary: A gem that monkey patches Test::Unit::TestCase to add some features to allow
83
+ unit testing of PLSQL code
84
+ test_files: []
85
+ has_rdoc: true