-
Notifications
You must be signed in to change notification settings - Fork 180
/
pg_spec.rb
53 lines (41 loc) · 1.26 KB
/
pg_spec.rb
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
# -*- rspec -*-
# encoding: utf-8
require_relative 'helpers'
require 'pg'
describe PG do
it "knows what version of the libpq library is loaded" do
expect( PG.library_version ).to be_an( Integer )
expect( PG.library_version ).to be >= 90100
end
it "can select which of both security libraries to initialize" do
# This setting does nothing here, because there is already a connection
# to the server, at this point in time.
PG.init_openssl(false, true)
PG.init_openssl(1, 0)
end
it "can select whether security libraries to initialize" do
# This setting does nothing here, because there is already a connection
# to the server, at this point in time.
PG.init_ssl(false)
PG.init_ssl(1)
end
it "knows whether or not the library is threadsafe" do
expect( PG ).to be_threadsafe()
end
it "does have hierarchical error classes" do
expect( PG::UndefinedTable.ancestors[0,4] ).to eq([
PG::UndefinedTable,
PG::SyntaxErrorOrAccessRuleViolation,
PG::ServerError,
PG::Error
])
expect( PG::InvalidSchemaName.ancestors[0,3] ).to eq([
PG::InvalidSchemaName,
PG::ServerError,
PG::Error
])
end
it "tells about the libpq library path" do
expect( PG::POSTGRESQL_LIB_PATH ).to include("/")
end
end