dbi-dbrc 1.1.7 → 1.1.8

Sign up to get free protection for your applications and to get access to all the features.
data/CHANGES CHANGED
@@ -1,3 +1,7 @@
1
+ == 1.1.8 - 7-Oct-2010
2
+ * Fixed a logic bug in the constructor that primarily affected MS Windows with
3
+ regards to determining the user's home directory.
4
+
1
5
  == 1.1.7 - 6-Oct-2010
2
6
  * More robust file decryption/encryption for MS Windows.
3
7
  * Better platform checking for MS Windows.
data/Rakefile CHANGED
@@ -14,7 +14,7 @@ namespace :gem do
14
14
  end
15
15
 
16
16
  desc "Install the dbi-dbrc gem"
17
- task :install => [:build] do
17
+ task :install => [:create] do
18
18
  gem = Dir["*.gem"].first
19
19
  sh "gem install #{gem}"
20
20
  end
@@ -2,7 +2,7 @@ require 'rubygems'
2
2
 
3
3
  Gem::Specification.new do |spec|
4
4
  spec.name = 'dbi-dbrc'
5
- spec.version = '1.1.7'
5
+ spec.version = '1.1.8'
6
6
  spec.author = 'Daniel Berger'
7
7
  spec.email = 'djberg96@gmail.com'
8
8
  spec.license = 'Artistic 2.0'
@@ -19,7 +19,7 @@ module DBI
19
19
  class Error < StandardError; end
20
20
 
21
21
  # The version of the dbi-dbrc library
22
- VERSION = '1.1.7'
22
+ VERSION = '1.1.8'
23
23
 
24
24
  @@windows = Config::CONFIG['host_os'] =~ /mswin|msdos|win32|mingw|cygwin/i
25
25
 
@@ -99,13 +99,17 @@ module DBI
99
99
  end
100
100
  end
101
101
 
102
- # Default to the app data directory on Windows if no home dir found
103
- if @@windows && home.nil?
104
- @dbrc_file = File.join(File.basename(Dir::APPDATA), '.dbrc')
105
- else
106
- uid = Process.uid
107
- @dbrc_file = File.join(Sys::Admin.get_user(uid).dir, '.dbrc')
102
+ # Default to the app data directory on Windows, or root on Unix, if
103
+ # no home dir can be found.
104
+ if home.nil?
105
+ if @@windows
106
+ home = Dir::APPDATA
107
+ else
108
+ home = '/'
109
+ end
108
110
  end
111
+
112
+ @dbrc_file = File.join(home, '.dbrc')
109
113
  else
110
114
  raise Error, 'bad directory' unless File.directory?(dbrc_dir)
111
115
  @dbrc_file = File.join(dbrc_dir, '.dbrc')
@@ -12,190 +12,190 @@ require 'test/unit'
12
12
  include DBI
13
13
 
14
14
  class TC_DBI_DBRC < Test::Unit::TestCase
15
- def self.startup
16
- @@windows = File::ALT_SEPARATOR
17
- end
18
-
19
- def setup
20
- @dir = File.join(Dir.pwd, 'examples/plain')
21
- @file = File.join(@dir, '.dbrc')
22
- @db1 = 'foo'
23
- @db2 = 'bar'
24
- @user1 = 'user1'
25
- @user2 = 'user2'
26
- @db_bad = 'blah' # Doesn't exist
27
- @user_bad = 'user8' # Doesn't exist
15
+ def self.startup
16
+ @@windows = File::ALT_SEPARATOR
17
+ end
18
+
19
+ def setup
20
+ @dir = File.join(Dir.pwd, 'examples/plain')
21
+ @file = File.join(@dir, '.dbrc')
22
+ @db1 = 'foo'
23
+ @db2 = 'bar'
24
+ @user1 = 'user1'
25
+ @user2 = 'user2'
26
+ @db_bad = 'blah' # Doesn't exist
27
+ @user_bad = 'user8' # Doesn't exist
28
28
 
29
- if @@windows && File.respond_to?(:set_attr)
30
- File.set_attr(@file, File::HIDDEN)
31
- else
32
- File.chmod(0600, @file)
33
- end
29
+ if @@windows && File.respond_to?(:set_attr)
30
+ File.set_attr(@file, File::HIDDEN)
31
+ else
32
+ File.chmod(0600, @file)
33
+ end
34
34
 
35
- @dbrc = DBRC.new(@db1, nil, @dir)
36
- end
37
-
38
- def test_version
39
- assert_equal('1.1.7', DBRC::VERSION)
40
- end
41
-
42
- def test_bad_dbrc_properties
43
- if @@windows
44
- File.unset_attr(@file, File::HIDDEN)
45
- assert_raises(DBRC::Error){ DBRC.new(@db1, @user1, @dir) }
46
- else
47
- File.chmod(0555,@file)
48
- assert_raises(DBRC::Error){ DBRC.new(@db1, @user1, @dir) }
49
- end
50
- end
51
-
52
- def test_constructor
53
- assert_raises(ArgumentError){ DBRC.new }
54
- assert_nothing_raised{ DBRC.new(@db1, @user1, @dir) }
55
- assert_nothing_raised{ DBRC.new(@db1, nil, @dir) }
56
- end
57
-
58
- def test_bad_database
59
- assert_raise(DBRC::Error){ DBRC.new(@db_bad, nil, @dir) }
60
- end
61
-
62
- def test_bad_user
63
- assert_raise(DBRC::Error){ DBRC.new(@db1, @user_bad, @dir) }
64
- end
65
-
66
- def test_bad_dir
67
- assert_raise(DBI::DBRC::Error){ DBI::DBRC.new(@db1, @user1, '/bogusXX') }
68
- end
69
-
70
- def test_database
71
- assert_respond_to(@dbrc, :database)
72
- assert_respond_to(@dbrc, :database=)
73
- assert_respond_to(@dbrc, :db)
74
- assert_respond_to(@dbrc, :db=)
75
- assert_kind_of(String, @dbrc.db)
76
- end
77
-
78
- def test_host_alias
79
- assert_respond_to(@dbrc, :host)
80
- assert_equal(true, @dbrc.method(:host) == @dbrc.method(:database))
81
- end
82
-
83
- def test_dbrc_dir
84
- assert_respond_to(@dbrc, :dbrc_dir)
85
- assert_equal(@dir, @dbrc.dbrc_dir)
86
- end
87
-
88
- def test_dbrc_file
89
- assert_respond_to(@dbrc, :dbrc_file)
90
- assert_equal('.dbrc', File.basename(@dbrc.dbrc_file))
91
- end
92
-
93
- def test_dsn
94
- assert_respond_to(@dbrc, :dsn)
95
- assert_respond_to(@dbrc, :dsn=)
96
- end
97
-
98
- def test_user
99
- assert_respond_to(@dbrc, :user)
100
- assert_respond_to(@dbrc, :user=)
101
- assert_kind_of(String, @dbrc.user)
102
- end
103
-
104
- def test_password
105
- assert_respond_to(@dbrc, :password)
106
- assert_respond_to(@dbrc, :password=)
107
- assert_respond_to(@dbrc, :passwd)
108
- assert_respond_to(@dbrc, :passwd=)
109
- assert_kind_of(String, @dbrc.password)
110
- end
111
-
112
- def test_driver
113
- assert_respond_to(@dbrc, :driver)
114
- assert_respond_to(@dbrc, :driver=)
115
- assert_kind_of(String, @dbrc.driver)
116
- end
117
-
118
- def test_interval
119
- assert_respond_to(@dbrc, :interval)
120
- assert_respond_to(@dbrc, :interval=)
121
- assert_kind_of(Fixnum, @dbrc.interval)
122
- end
123
-
124
- def test_timeout
125
- assert_respond_to(@dbrc, :timeout)
126
- assert_respond_to(@dbrc, :timeout=)
127
- assert_respond_to(@dbrc, :time_out)
128
- assert_respond_to(@dbrc, :time_out=)
129
- assert_kind_of(Fixnum, @dbrc.timeout)
130
- end
131
-
132
- def test_max_reconn
133
- assert_respond_to(@dbrc, :max_reconn)
134
- assert_respond_to(@dbrc, :max_reconn=)
135
- assert_respond_to(@dbrc, :maximum_reconnects)
136
- assert_respond_to(@dbrc, :maximum_reconnects=)
137
- assert_kind_of(Fixnum, @dbrc.maximum_reconnects)
138
- end
139
-
140
- def test_sample_values
141
- assert_equal("foo", @dbrc.database)
142
- assert_equal("user1", @dbrc.user)
143
- assert_equal("pwd1", @dbrc.passwd)
144
- assert_equal("Oracle", @dbrc.driver)
145
- assert_equal(60, @dbrc.interval)
146
- assert_equal(40, @dbrc.timeout)
147
- assert_equal(3, @dbrc.max_reconn)
148
- assert_equal("dbi:Oracle:foo", @dbrc.dsn)
149
- end
150
-
151
- # Same database, different user
152
- def test_duplicate_database
153
- db = DBRC.new("foo", "user2", @dir)
154
- assert_equal("user2", db.user)
155
- assert_equal("pwd2", db.passwd)
156
- assert_equal("OCI8", db.driver)
157
- assert_equal(60, db.interval)
158
- assert_equal(60, db.timeout)
159
- assert_equal(4, db.max_reconn)
160
- assert_equal("dbi:OCI8:foo", db.dsn)
161
- end
162
-
163
- # Different database, different user
164
- def test_different_database
165
- db = DBRC.new("bar", "user1", @dir)
166
- assert_equal("user1", db.user)
167
- assert_equal("pwd3", db.passwd)
168
- assert_equal("Oracle", db.driver)
169
- assert_equal(30, db.interval)
170
- assert_equal(30, db.timeout)
171
- assert_equal(2, db.max_reconn)
172
- assert_equal("dbi:Oracle:bar", db.dsn)
173
- end
174
-
175
- # A database with only a couple fields defined
176
- def test_nil_values
177
- db = DBRC.new("baz", "user3", @dir)
178
- assert_equal("user3", db.user)
179
- assert_equal("pwd4", db.passwd)
180
- assert_nil(db.driver)
181
- assert_nil(db.interval)
182
- assert_nil(db.timeout)
183
- assert_nil(db.max_reconn)
184
- assert_nil(db.dsn)
185
- end
186
-
187
- def teardown
188
- @dir = nil
189
- @db1 = nil
190
- @db2 = nil
191
- @user1 = nil
192
- @user2 = nil
193
- @db_bad = nil
194
- @user_bad = nil
195
- @dbrc = nil
196
- end
197
-
198
- def self.shutdown
199
- @@windows = nil
200
- end
35
+ @dbrc = DBRC.new(@db1, nil, @dir)
36
+ end
37
+
38
+ def test_version
39
+ assert_equal('1.1.8', DBRC::VERSION)
40
+ end
41
+
42
+ def test_bad_dbrc_properties
43
+ if @@windows
44
+ File.unset_attr(@file, File::HIDDEN)
45
+ assert_raises(DBRC::Error){ DBRC.new(@db1, @user1, @dir) }
46
+ else
47
+ File.chmod(0555,@file)
48
+ assert_raises(DBRC::Error){ DBRC.new(@db1, @user1, @dir) }
49
+ end
50
+ end
51
+
52
+ def test_constructor
53
+ assert_raises(ArgumentError){ DBRC.new }
54
+ assert_nothing_raised{ DBRC.new(@db1, @user1, @dir) }
55
+ assert_nothing_raised{ DBRC.new(@db1, nil, @dir) }
56
+ end
57
+
58
+ def test_bad_database
59
+ assert_raise(DBRC::Error){ DBRC.new(@db_bad, nil, @dir) }
60
+ end
61
+
62
+ def test_bad_user
63
+ assert_raise(DBRC::Error){ DBRC.new(@db1, @user_bad, @dir) }
64
+ end
65
+
66
+ def test_bad_dir
67
+ assert_raise(DBI::DBRC::Error){ DBI::DBRC.new(@db1, @user1, '/bogusXX') }
68
+ end
69
+
70
+ def test_database
71
+ assert_respond_to(@dbrc, :database)
72
+ assert_respond_to(@dbrc, :database=)
73
+ assert_respond_to(@dbrc, :db)
74
+ assert_respond_to(@dbrc, :db=)
75
+ assert_kind_of(String, @dbrc.db)
76
+ end
77
+
78
+ def test_host_alias
79
+ assert_respond_to(@dbrc, :host)
80
+ assert_equal(true, @dbrc.method(:host) == @dbrc.method(:database))
81
+ end
82
+
83
+ def test_dbrc_dir
84
+ assert_respond_to(@dbrc, :dbrc_dir)
85
+ assert_equal(@dir, @dbrc.dbrc_dir)
86
+ end
87
+
88
+ def test_dbrc_file
89
+ assert_respond_to(@dbrc, :dbrc_file)
90
+ assert_equal('.dbrc', File.basename(@dbrc.dbrc_file))
91
+ end
92
+
93
+ def test_dsn
94
+ assert_respond_to(@dbrc, :dsn)
95
+ assert_respond_to(@dbrc, :dsn=)
96
+ end
97
+
98
+ def test_user
99
+ assert_respond_to(@dbrc, :user)
100
+ assert_respond_to(@dbrc, :user=)
101
+ assert_kind_of(String, @dbrc.user)
102
+ end
103
+
104
+ def test_password
105
+ assert_respond_to(@dbrc, :password)
106
+ assert_respond_to(@dbrc, :password=)
107
+ assert_respond_to(@dbrc, :passwd)
108
+ assert_respond_to(@dbrc, :passwd=)
109
+ assert_kind_of(String, @dbrc.password)
110
+ end
111
+
112
+ def test_driver
113
+ assert_respond_to(@dbrc, :driver)
114
+ assert_respond_to(@dbrc, :driver=)
115
+ assert_kind_of(String, @dbrc.driver)
116
+ end
117
+
118
+ def test_interval
119
+ assert_respond_to(@dbrc, :interval)
120
+ assert_respond_to(@dbrc, :interval=)
121
+ assert_kind_of(Fixnum, @dbrc.interval)
122
+ end
123
+
124
+ def test_timeout
125
+ assert_respond_to(@dbrc, :timeout)
126
+ assert_respond_to(@dbrc, :timeout=)
127
+ assert_respond_to(@dbrc, :time_out)
128
+ assert_respond_to(@dbrc, :time_out=)
129
+ assert_kind_of(Fixnum, @dbrc.timeout)
130
+ end
131
+
132
+ def test_max_reconn
133
+ assert_respond_to(@dbrc, :max_reconn)
134
+ assert_respond_to(@dbrc, :max_reconn=)
135
+ assert_respond_to(@dbrc, :maximum_reconnects)
136
+ assert_respond_to(@dbrc, :maximum_reconnects=)
137
+ assert_kind_of(Fixnum, @dbrc.maximum_reconnects)
138
+ end
139
+
140
+ def test_sample_values
141
+ assert_equal("foo", @dbrc.database)
142
+ assert_equal("user1", @dbrc.user)
143
+ assert_equal("pwd1", @dbrc.passwd)
144
+ assert_equal("Oracle", @dbrc.driver)
145
+ assert_equal(60, @dbrc.interval)
146
+ assert_equal(40, @dbrc.timeout)
147
+ assert_equal(3, @dbrc.max_reconn)
148
+ assert_equal("dbi:Oracle:foo", @dbrc.dsn)
149
+ end
150
+
151
+ # Same database, different user
152
+ def test_duplicate_database
153
+ db = DBRC.new("foo", "user2", @dir)
154
+ assert_equal("user2", db.user)
155
+ assert_equal("pwd2", db.passwd)
156
+ assert_equal("OCI8", db.driver)
157
+ assert_equal(60, db.interval)
158
+ assert_equal(60, db.timeout)
159
+ assert_equal(4, db.max_reconn)
160
+ assert_equal("dbi:OCI8:foo", db.dsn)
161
+ end
162
+
163
+ # Different database, different user
164
+ def test_different_database
165
+ db = DBRC.new("bar", "user1", @dir)
166
+ assert_equal("user1", db.user)
167
+ assert_equal("pwd3", db.passwd)
168
+ assert_equal("Oracle", db.driver)
169
+ assert_equal(30, db.interval)
170
+ assert_equal(30, db.timeout)
171
+ assert_equal(2, db.max_reconn)
172
+ assert_equal("dbi:Oracle:bar", db.dsn)
173
+ end
174
+
175
+ # A database with only a couple fields defined
176
+ def test_nil_values
177
+ db = DBRC.new("baz", "user3", @dir)
178
+ assert_equal("user3", db.user)
179
+ assert_equal("pwd4", db.passwd)
180
+ assert_nil(db.driver)
181
+ assert_nil(db.interval)
182
+ assert_nil(db.timeout)
183
+ assert_nil(db.max_reconn)
184
+ assert_nil(db.dsn)
185
+ end
186
+
187
+ def teardown
188
+ @dir = nil
189
+ @db1 = nil
190
+ @db2 = nil
191
+ @user1 = nil
192
+ @user2 = nil
193
+ @db_bad = nil
194
+ @user_bad = nil
195
+ @dbrc = nil
196
+ end
197
+
198
+ def self.shutdown
199
+ @@windows = nil
200
+ end
201
201
  end
metadata CHANGED
@@ -1,13 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: dbi-dbrc
3
3
  version: !ruby/object:Gem::Version
4
- hash: 29
4
+ hash: 3
5
5
  prerelease: false
6
6
  segments:
7
7
  - 1
8
8
  - 1
9
- - 7
10
- version: 1.1.7
9
+ - 8
10
+ version: 1.1.8
11
11
  platform: ruby
12
12
  authors:
13
13
  - Daniel Berger
@@ -15,7 +15,7 @@ autorequire:
15
15
  bindir: bin
16
16
  cert_chain: []
17
17
 
18
- date: 2010-10-06 00:00:00 -06:00
18
+ date: 2010-10-07 00:00:00 -06:00
19
19
  default_executable:
20
20
  dependencies:
21
21
  - !ruby/object:Gem::Dependency