Beispiel #1
0
 def test_get_url_without_drivername(self):
     with TestCase.Configuration(db_name=None,
                                 db_driver_name=None,
                                 db_host=None,
                                 db_user_name=None,
                                 db_password=None,
                                 db_port=None):
         with self.assertRaises(ConfigurationException):
             get_url()
Beispiel #2
0
 def test_get_url_without_drivername(self):
     with TestCase.Configuration(db_name=None,
                                 db_driver_name=None,
                                 db_host=None,
                                 db_user_name=None,
                                 db_password=None,
                                 db_port=None):
         with self.assertRaises(ConfigurationException):
             get_url()
Beispiel #3
0
 def test_get_url_without_drivername(self):
     with tmp_configuration(db_name=None,
                            db_driver_name=None,
                            db_host=None,
                            db_user_name=None,
                            db_password=None,
                            db_port=None):
         with pytest.raises(ConfigurationException):
             get_url()
Beispiel #4
0
    def get_registry(self, function):
        conn = create_engine(get_url()).connect()
        conn.execute(
            '''create table t1 (
                id integer CONSTRAINT pk_t1 PRIMARY KEY,
                code varchar(64),
                val integer
            )''')
        conn.execute(
            '''create table t2 (
                id integer CONSTRAINT pk_t2 PRIMARY KEY,
                code varchar(64),
                val integer
            )''')
        conn.execute(
            "insert into t1 (id, code, val) values (1, 'test1', 1)")
        conn.execute(
            "insert into t2 (id, code, val) values (2, 'test1', 2)")
        conn.execute(
            "insert into t1 (id, code, val) values (3, 'test2', 3)")
        conn.execute(
            "insert into t2 (id, code, val) values (4, 'test2', 4)")
        registry = None
        try:
            registry = init_registry_with_bloks([], function)
            yield registry
        finally:
            if registry:
                registry.rollback()
                registry.close()

            conn.execute('drop table if exists t1')
            conn.execute('drop table if exists t2')
            conn.close()
Beispiel #5
0
 def test_get_url2(self):
     with TestCase.Configuration(db_name='anyblok',
                                 db_driver_name='postgres',
                                 db_host='localhost',
                                 db_user_name=None,
                                 db_password=None,
                                 db_port=None):
         url = get_url(db_name='anyblok2')
         self.check_url(url, 'postgres://localhost/anyblok2')
Beispiel #6
0
 def test_get_url2(self):
     with TestCase.Configuration(db_name='anyblok',
                                 db_driver_name='postgres',
                                 db_host='localhost',
                                 db_user_name=None,
                                 db_password=None,
                                 db_port=None):
         url = get_url(db_name='anyblok2')
         self.check_url(url, 'postgres://localhost/anyblok2')
Beispiel #7
0
 def test_get_url5(self):
     with TestCase.Configuration(db_url='postgres:///anyblok',
                                 db_name='anyblok2',
                                 db_driver_name=None,
                                 db_host=None,
                                 db_user_name='jssuzanne',
                                 db_password='******',
                                 db_port=None):
         url = get_url(db_name='anyblok3')
         self.check_url(url, 'postgres://*****:*****@/anyblok3')
Beispiel #8
0
 def test_get_url3(self):
     with TestCase.Configuration(db_url='postgres:///anyblok',
                                 db_name=None,
                                 db_driver_name=None,
                                 db_host=None,
                                 db_user_name=None,
                                 db_password=None,
                                 db_port=None):
         url = get_url()
         self.check_url(url, 'postgres:///anyblok')
Beispiel #9
0
 def test_get_url5(self):
     with TestCase.Configuration(db_url='postgres:///anyblok',
                                 db_name='anyblok2',
                                 db_driver_name=None,
                                 db_host=None,
                                 db_user_name='jssuzanne',
                                 db_password='******',
                                 db_port=None):
         url = get_url(db_name='anyblok3')
         self.check_url(url, 'postgres://*****:*****@/anyblok3')
Beispiel #10
0
 def test_get_url3(self):
     with TestCase.Configuration(db_url='postgres:///anyblok',
                                 db_name=None,
                                 db_driver_name=None,
                                 db_host=None,
                                 db_user_name=None,
                                 db_password=None,
                                 db_port=None):
         url = get_url()
         self.check_url(url, 'postgres:///anyblok')
Beispiel #11
0
def update_project():
    anyblok.load_init_function_from_entry_points()
    Configuration.load('update-project')
    anyblok.configuration_post_load()
    BlokManager.load()
    db_name = Configuration.get('db_name')
    logger.info("update project: db_name=%r", db_name)

    to_install = []
    to_update = []
    to_uninstall = []

    url = get_url()
    options = {}
    if not database_exists(url):
        db_template_name = Configuration.get('db_template_name', None)
        create_database(url, template=db_template_name)
        to_install.append('team')
        version = None
    else:
        options.update(dict(loadwithoutmigration=True))

    registry = RegistryManager.get(db_name, **options)
    registry.update_blok_list()  # case, new blok added
    version = registry.System.Blok.query().filter_by(
        name='team').one().installed_version

    if version is None:
        pass
    else:
        to_update.append('team')

    registry.upgrade(install=to_install,
                     update=to_update,
                     uninstall=to_uninstall)

    if version is None:
        registry.Pyramid.User.insert(login='******')
        registry.Pyramid.CredentialStore.insert(login='******',
                                                password='******')

    registry.commit()
    registry.close()
    logger.info("Project updated: db_name=%r", db_name)