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 +0 -0
- data/lib/plsql_unit_test/setup.rb +15 -0
- data/lib/plsql_unit_test/test_unit_patch.rb +32 -0
- data/lib/plsql_unit_test.rb +9 -0
- metadata +85 -0
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
|
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
|