debian.models: Migrate tests from storage to debian lister model
Related bb5d405
This commit is contained in:
parent
b2e5ce32a9
commit
d251201251
3 changed files with 75 additions and 1 deletions
|
@ -5,8 +5,12 @@
|
|||
|
||||
import pytest
|
||||
|
||||
from swh.lister.core.tests.conftest import * # noqa
|
||||
from pytest_postgresql.janitor import DatabaseJanitor
|
||||
from sqlalchemy import create_engine
|
||||
from sqlalchemy.orm import sessionmaker
|
||||
|
||||
from swh.lister.core.tests.conftest import * # noqa
|
||||
from swh.lister.core.models import SQLBase
|
||||
from swh.lister.debian import debian_init
|
||||
|
||||
|
||||
|
@ -28,3 +32,29 @@ def lister_debian(swh_listers):
|
|||
})
|
||||
|
||||
return lister
|
||||
|
||||
|
||||
@pytest.fixture
|
||||
def sqlalchemy_engine(postgresql_proc):
|
||||
pg_host = postgresql_proc.host
|
||||
pg_port = postgresql_proc.port
|
||||
pg_user = postgresql_proc.user
|
||||
|
||||
pg_db = 'sqlalchemy-tests'
|
||||
|
||||
url = f'postgresql://{pg_user}@{pg_host}:{pg_port}/{pg_db}'
|
||||
with DatabaseJanitor(
|
||||
pg_user, pg_host, pg_port, pg_db, postgresql_proc.version
|
||||
):
|
||||
engine = create_engine(url)
|
||||
yield engine
|
||||
engine.dispose()
|
||||
|
||||
|
||||
@pytest.fixture
|
||||
def session(sqlalchemy_engine):
|
||||
SQLBase.metadata.create_all(sqlalchemy_engine)
|
||||
Session = sessionmaker(bind=sqlalchemy_engine)
|
||||
session = Session()
|
||||
yield session
|
||||
session.close()
|
||||
|
|
41
swh/lister/debian/tests/test_models.py
Normal file
41
swh/lister/debian/tests/test_models.py
Normal file
|
@ -0,0 +1,41 @@
|
|||
# Copyright (C) 2019 The Software Heritage developers
|
||||
# See the AUTHORS file at the top-level directory of this distribution
|
||||
# License: GNU General Public License version 3, or any later version
|
||||
# See top-level LICENSE file for more information
|
||||
|
||||
import pytest
|
||||
|
||||
from swh.lister.debian.models import Distribution, Area
|
||||
|
||||
|
||||
def test_area_index_uris_deb(session):
|
||||
d = Distribution(
|
||||
name='Debian', type='deb', mirror_uri='http://deb.debian.org/debian'
|
||||
)
|
||||
a = Area(
|
||||
distribution=d,
|
||||
name='unstable/main',
|
||||
active=True,
|
||||
)
|
||||
session.add_all([d, a])
|
||||
session.commit()
|
||||
|
||||
uris = list(a.index_uris())
|
||||
assert uris
|
||||
|
||||
|
||||
def test_area_index_uris_rpm(session):
|
||||
d = Distribution(
|
||||
name='CentOS', type='rpm',
|
||||
mirror_uri='http://centos.mirrors.proxad.net/'
|
||||
)
|
||||
a = Area(
|
||||
distribution=d,
|
||||
name='8',
|
||||
active=True,
|
||||
)
|
||||
session.add_all([d, a])
|
||||
session.commit()
|
||||
|
||||
with pytest.raises(NotImplementedError):
|
||||
list(a.index_uris())
|
Loading…
Add table
Add a link
Reference in a new issue