Skip to content

Commit 3283aed

Browse files
author
Artur Zakirov
committed
autopep8 runned
1 parent 5d44d4d commit 3283aed

File tree

1 file changed

+101
-98
lines changed

1 file changed

+101
-98
lines changed

tests/pglist_tests.py

+101-98
Original file line numberDiff line numberDiff line change
@@ -11,108 +11,111 @@
1111
import testgres as tg
1212

1313
if sys.version_info[0] < 3:
14-
import urllib as request
14+
import urllib as request
1515
else:
16-
import urllib.request as request
16+
import urllib.request as request
1717

1818
from os.path import expanduser
1919

20+
2021
class PglistTests(unittest.TestCase):
21-
def setUp(self):
22-
self.node = tg.get_new_node("pglist_select")
23-
try:
24-
self.node.init()
25-
self.node.append_conf("postgresql.conf",
26-
"shared_buffers='4GB'\n"
27-
"maintenance_work_mem='2GB'\n"
28-
"max_wal_size='2GB'\n"
29-
"work_mem='50MB'")
30-
self.node.start()
31-
32-
self.init_pglist_data(self.node)
33-
except Exception as e:
34-
self.printlog(self.node.logs_dir + "/postgresql.log")
35-
raise e
36-
37-
def tearDown(self):
38-
tg.stop_all()
39-
40-
def init_pglist_data(self, node):
41-
# Check if 'pglist' base exists
42-
base_exists = False
43-
bases = node.execute("postgres", "SELECT datname FROM pg_database")
44-
for base in bases:
45-
if base[0].lower() == "pglist":
46-
base_exists = True
47-
break
48-
49-
if base_exists:
50-
return
51-
52-
# Check if 'pglist' dump exists
53-
home = expanduser("~")
54-
pglist_dump = os.path.join(home, "pglist-28-04-16.dump")
55-
if not os.path.isfile(pglist_dump):
56-
pglist_dumpgz = pglist_dump + ".gz"
57-
if not os.path.isfile(pglist_dumpgz):
58-
print("Downloading: %s" % pglist_dumpgz)
59-
request.urlretrieve(
60-
"http://www.sai.msu.su/~megera/postgres/files/pglist-28-04-16.dump.gz",
61-
pglist_dumpgz)
62-
63-
print("Decompressing: %s" % pglist_dumpgz)
64-
gz = gzip.open(pglist_dumpgz, 'rb')
65-
with open(pglist_dump, 'wb') as f:
66-
f.write(gz.read())
67-
68-
os.remove(pglist_dumpgz)
69-
70-
# Restore dump file
71-
print("Restoring 'pglist'")
72-
node.safe_psql("postgres", "CREATE DATABASE pglist")
73-
node.psql("pglist", filename=pglist_dump)
74-
75-
node.safe_psql("pglist", "CREATE EXTENSION rum")
76-
77-
def printlog(self, logfile):
78-
with open(logfile, 'r') as log:
79-
for line in log.readlines():
80-
print(line)
81-
82-
def test_order_by(self):
83-
"""Tests SELECT constructions to 'pglist' base"""
84-
try:
85-
print("Creating index 'rumidx_orderby_sent'")
86-
87-
self.node.safe_psql(
88-
"pglist",
89-
"CREATE INDEX rumidx_orderby_sent ON pglist USING rum ("
90-
" fts rum_tsvector_timestamp_ops, sent) "
91-
" WITH (attach=sent, to=fts, order_by_attach=t)")
92-
93-
print("Running tests")
94-
95-
self.assertEqual(
96-
self.node.safe_psql(
97-
"pglist",
98-
"SELECT sent, subject "
99-
" FROM pglist "
100-
" WHERE fts @@ to_tsquery('english', 'backend <-> crushed') "
101-
" ORDER BY sent <=| '2016-01-01 00:01' LIMIT 5"
102-
),
103-
b'1999-06-02 11:52:46|Re: [HACKERS] PID of backend\n'
104-
)
105-
106-
self.assertEqual(
107-
self.node.safe_psql(
108-
"pglist",
109-
"SELECT count(*) FROM pglist WHERE fts @@ to_tsquery('english', 'tom & lane')"
110-
),
111-
b'222813\n'
112-
)
113-
except Exception as e:
114-
self.printlog(self.node.logs_dir + "/postgresql.log")
115-
raise e
22+
23+
def setUp(self):
24+
self.node = tg.get_new_node("pglist_select")
25+
try:
26+
self.node.init()
27+
self.node.append_conf("postgresql.conf",
28+
"shared_buffers='4GB'\n"
29+
"maintenance_work_mem='2GB'\n"
30+
"max_wal_size='2GB'\n"
31+
"work_mem='50MB'")
32+
self.node.start()
33+
34+
self.init_pglist_data(self.node)
35+
except Exception as e:
36+
self.printlog(self.node.logs_dir + "/postgresql.log")
37+
raise e
38+
39+
def tearDown(self):
40+
tg.stop_all()
41+
42+
def init_pglist_data(self, node):
43+
# Check if 'pglist' base exists
44+
base_exists = False
45+
bases = node.execute("postgres",
46+
"SELECT datname FROM pg_database WHERE datistemplate = false")
47+
for base in bases:
48+
if base[0].lower() == "pglist":
49+
base_exists = True
50+
break
51+
52+
if base_exists:
53+
return
54+
55+
# Check if 'pglist' dump exists
56+
home = expanduser("~")
57+
pglist_dump = os.path.join(home, "pglist-28-04-16.dump")
58+
if not os.path.isfile(pglist_dump):
59+
pglist_dumpgz = pglist_dump + ".gz"
60+
if not os.path.isfile(pglist_dumpgz):
61+
print("Downloading: %s" % pglist_dumpgz)
62+
request.urlretrieve(
63+
"http://www.sai.msu.su/~megera/postgres/files/pglist-28-04-16.dump.gz",
64+
pglist_dumpgz)
65+
66+
print("Decompressing: %s" % pglist_dumpgz)
67+
gz = gzip.open(pglist_dumpgz, 'rb')
68+
with open(pglist_dump, 'wb') as f:
69+
f.write(gz.read())
70+
71+
os.remove(pglist_dumpgz)
72+
73+
# Restore dump file
74+
print("Restoring 'pglist'")
75+
node.safe_psql("postgres", "CREATE DATABASE pglist")
76+
node.psql("pglist", filename=pglist_dump)
77+
78+
node.safe_psql("pglist", "CREATE EXTENSION rum")
79+
80+
def printlog(self, logfile):
81+
with open(logfile, 'r') as log:
82+
for line in log.readlines():
83+
print(line)
84+
85+
def test_order_by(self):
86+
"""Tests SELECT constructions to 'pglist' base"""
87+
try:
88+
print("Creating index 'rumidx_orderby_sent'")
89+
90+
self.node.safe_psql(
91+
"pglist",
92+
"CREATE INDEX rumidx_orderby_sent ON pglist USING rum ("
93+
" fts rum_tsvector_timestamp_ops, sent) "
94+
" WITH (attach=sent, to=fts, order_by_attach=t)")
95+
96+
print("Running tests")
97+
98+
self.assertEqual(
99+
self.node.safe_psql(
100+
"pglist",
101+
"SELECT sent, subject "
102+
" FROM pglist "
103+
" WHERE fts @@ to_tsquery('english', 'backend <-> crushed') "
104+
" ORDER BY sent <=| '2016-01-01 00:01' LIMIT 5"
105+
),
106+
b'1999-06-02 11:52:46|Re: [HACKERS] PID of backend\n'
107+
)
108+
109+
self.assertEqual(
110+
self.node.safe_psql(
111+
"pglist",
112+
"SELECT count(*) FROM pglist WHERE fts @@ to_tsquery('english', 'tom & lane')"
113+
),
114+
b'222813\n'
115+
)
116+
except Exception as e:
117+
self.printlog(self.node.logs_dir + "/postgresql.log")
118+
raise e
116119

117120
if __name__ == "__main__":
118-
unittest.main()
121+
unittest.main()

0 commit comments

Comments
 (0)