Example #1
0
    def test_revert_last_name():
        '''It test if we can revert the database to its last stste for a kind
        and project'''
        engine = sqlalchemy.create_engine('sqlite:///:memory:')
        create_naming_database(engine)
        add_project_to_naming_database(engine, name='my_project', code='my',
                                       description='a test project')
        naming = DbNamingSchema(engine, project='my_project',
                                feature_kind='EST')
        naming.get_uniquename()
        naming.commit()
        naming.get_uniquename()
        naming.commit()
        names = list(naming.get_names_from_db())
        assert names[0]['name'] == 'myES000001'
        assert names[-1]['project'] == 'my_project'
        assert names[-1]['name'] == 'myES000002'
        assert len(names) == 2
        naming.revert_last_name()

        naming = DbNamingSchema(engine, project='my_project',
                                feature_kind='EST')
        names = list(naming.get_names_from_db())
        assert len(names) == 1
        assert names[-1]['name'] == 'myES000001'
Example #2
0
    def test_get_all_names():
        'It test if we can get all names stored in teh database'
        engine = sqlalchemy.create_engine('sqlite:///:memory:')
        create_naming_database(engine)
        add_project_to_naming_database(engine, name='my_project', code='my',
                                       description='a test project')
        naming = DbNamingSchema(engine, project='my_project',
                                feature_kind='EST')
        naming.get_uniquename()
        naming.commit()
        naming.get_uniquename()
        naming.commit()

        names = list(naming.get_names_from_db())
        assert names[0]['project'] == 'my_project'
        assert len(names) == 2

        naming.project = 'my_project'
        name = naming.get_names_from_db().next()
        assert name['project'] == 'my_project'
def _get_names_from_db(database, project_name=None):
    'It show the names in the database'
    engine   = sqlalchemy.create_engine( 'sqlite:///%s'  % database)
    naming = DbNamingSchema(engine, project_name, feature_kind=None)
    toprint  = " Project | Project Code |    Name    | Feature | date              | description \n"
    toprint += "-------------------------------------------------------------\n"
    for name in naming.get_names_from_db():
        date = name['date']
        toprint += ' %s |     %s     | %s |   %s  |%d/%d/%d %d:%d:%d | %s\n' % \
                (name['project'], name['project_code'], name['name'],
                 name['feature_type'], date.year, date.month, date.day,
                 date.hour, date.minute, date.second, name['description'])
    return toprint