0001-sql-keep-createdb-connection-params-available-after-.patch
tests/test_hobo.py | ||
---|---|---|
18 | 18 |
from wcs.ctl.check_hobos import CmdCheckHobos |
19 | 19 |
from wcs.publisher import WcsPublisher |
20 | 20 |
from wcs import fields |
21 |
from wcs import sql |
|
21 | 22 | |
22 | 23 |
HOBO_JSON = { |
23 | 24 |
'services': [ |
... | ... | |
408 | 409 |
assert call.call_args[0][0][1:] == ['convert-to-sql', |
409 | 410 |
'--dbname', 'tests_wcs_wcs_example_net', |
410 | 411 |
'--user', 'fred', 'wcs.example.net'] |
412 | ||
413 |
pub.reload_cfg() |
|
414 |
assert 'createdb-connection-params' in pub.cfg['postgresql'] |
|
415 |
with mock.patch('psycopg2.connect') as connect: |
|
416 |
sql.get_connection(new=True) |
|
417 |
assert connect.call_args_list[0][1] == {'user': 'fred', 'database': 'tests_wcs_wcs_example_net'} |
wcs/ctl/check_hobos.py | ||
---|---|---|
399 | 399 |
if not domain_table_name in database_name: |
400 | 400 |
database_name = '%s_%s' % (database_name.split('_')[0], domain_table_name) |
401 | 401 | |
402 |
postgresql_cfg = {} |
|
403 |
for k, v in pub.cfg['postgresql'].items(): |
|
404 |
if v and isinstance(v, basestring): |
|
405 |
postgresql_cfg[k] = v |
|
406 | ||
407 | 402 |
createdb_cfg = pub.cfg['postgresql'].get('createdb-connection-params') |
408 | 403 |
if not createdb_cfg: |
409 |
createdb_cfg = postgresql_cfg |
|
404 |
createdb_cfg = {} |
|
405 |
for k, v in pub.cfg['postgresql'].items(): |
|
406 |
if v and isinstance(v, basestring): |
|
407 |
createdb_cfg[k] = v |
|
410 | 408 | |
411 | 409 |
try: |
412 | 410 |
pgconn = psycopg2.connect(**createdb_cfg) |
... | ... | |
430 | 428 |
else: |
431 | 429 |
cur.close() |
432 | 430 | |
433 |
postgresql_cfg['database'] = database_name |
|
434 |
pub.cfg['postgresql'] = postgresql_cfg |
|
431 |
pub.cfg['postgresql']['database'] = database_name |
|
435 | 432 |
pub.write_cfg() |
436 | 433 |
pub.set_config(skip_sql=False) |
437 | 434 | |
... | ... | |
443 | 440 |
cmd.extend(['-f', self.base_options.configfile]) |
444 | 441 |
cmd.append('convert-to-sql') |
445 | 442 |
for param in ('database', 'user', 'password', 'host', 'port'): |
446 |
if postgresql_cfg.get(param):
|
|
443 |
if pub.cfg['postgresql'].get(param):
|
|
447 | 444 |
if param == 'database': |
448 | 445 |
cmd.append('--dbname') |
449 | 446 |
else: |
450 | 447 |
cmd.append('--' + param) |
451 |
cmd.append(str(postgresql_cfg.get(param)))
|
|
448 |
cmd.append(str(pub.cfg['postgresql'].get(param)))
|
|
452 | 449 |
cmd.append(str(self.get_instance_path(service))) |
453 | 450 |
subprocess.call(cmd) |
454 | 451 |
wcs/sql.py | ||
---|---|---|
241 | 241 |
if not hasattr(get_publisher(), 'pgconn') or get_publisher().pgconn is None: |
242 | 242 |
postgresql_cfg = {} |
243 | 243 |
for k, v in get_cfg('postgresql', {}).items(): |
244 |
if v: |
|
244 |
if v and isinstance(v, basestring):
|
|
245 | 245 |
postgresql_cfg[k] = v |
246 | 246 |
try: |
247 | 247 |
get_publisher().pgconn = psycopg2.connect(**postgresql_cfg) |
248 |
- |