Projet

Général

Profil

0001-hobo-deploy-don-t-call-convert-to-sql-to-create-tabl.patch

Frédéric Péters, 22 novembre 2018 19:59

Télécharger (3,62 ko)

Voir les différences:

Subject: [PATCH] hobo-deploy: don't call convert-to-sql to create tables
 (#28263)

 tests/test_hobo.py     | 24 +++++++++++-------------
 wcs/ctl/check_hobos.py | 15 ++-------------
 2 files changed, 13 insertions(+), 26 deletions(-)
tests/test_hobo.py
425 425
    pub.set_config(skip_sql=True)
426 426
    service['base_url'] = service['base_url'].strip('/')
427 427

  
428
    pub.initialize_sql = mock.Mock()
428 429
    with mock.patch('psycopg2.connect') as connect:
429
        with mock.patch('subprocess.call') as call:
430
            hobo_cmd.configure_sql(service, pub)
431
            assert connect.call_args_list[0][1] == {'user': 'test', 'database': 'postgres'}
432
            assert connect.call_args_list[1][1] == {'user': 'fred', 'database': 'tests_wcs_wcs_example_net'}
433
            assert call.call_args[0][0][1:] == ['convert-to-sql',
434
                    '--dbname', 'tests_wcs_wcs_example_net',
435
                    '--user', 'fred', 'wcs.example.net']
430
        hobo_cmd.configure_sql(service, pub)
431
        assert connect.call_args_list[0][1] == {'user': 'test', 'database': 'postgres'}
432
        assert connect.call_args_list[1][1] == {'user': 'fred', 'database': 'tests_wcs_wcs_example_net'}
433
    assert pub.initialize_sql.call_count == 1
436 434

  
437 435
    pub.reload_cfg()
438 436
    assert 'createdb-connection-params' in pub.cfg['postgresql']
......
442 440

  
443 441
    pub.cfg['postgresql']['database-template-name'] = 'very_long_'*10 + '%s'
444 442
    with mock.patch('psycopg2.connect') as connect:
445
        with mock.patch('subprocess.call') as call:
446
            hobo_cmd.configure_sql(service, pub)
447
            assert connect.call_args_list[0][1] == {'user': 'test', 'database': 'postgres'}
448
            assert connect.call_args_list[1][1] == {'user': 'fred',
449
                    'database': 'very_long_very_long_very_long_c426_ng_very_long_wcs_example_net'}
450
            assert len(connect.call_args_list[1][1]['database']) == 63
443
        hobo_cmd.configure_sql(service, pub)
444
        assert connect.call_args_list[0][1] == {'user': 'test', 'database': 'postgres'}
445
        assert connect.call_args_list[1][1] == {'user': 'fred',
446
                'database': 'very_long_very_long_very_long_c426_ng_very_long_wcs_example_net'}
447
        assert len(connect.call_args_list[1][1]['database']) == 63
448
    assert pub.initialize_sql.call_count == 2
wcs/ctl/check_hobos.py
528 528
        if not new_database:
529 529
            return
530 530

  
531
        cmd = [sys.argv[0]]
532
        if self.base_options.configfile:
533
            cmd.extend(['-f', self.base_options.configfile])
534
        cmd.append('convert-to-sql')
535
        for param in ('database', 'user', 'password', 'host', 'port'):
536
            if pub.cfg['postgresql'].get(param):
537
                if param == 'database':
538
                    cmd.append('--dbname')
539
                else:
540
                    cmd.append('--' + param)
541
                cmd.append(str(pub.cfg['postgresql'].get(param)))
542
        cmd.append(str(self.get_instance_path(service)))
543
        subprocess.call(cmd)
531
        # create tables etc.
532
        pub.initialize_sql()
544 533

  
545 534
    @classmethod
546 535
    def shared_secret(cls, secret1, secret2):
547
-