dbi-dbrc 1.1.7 → 1.1.8

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