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'
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