Skip to content
Snippets Groups Projects
Verified Commit d2512012 authored by Antoine R. Dumont's avatar Antoine R. Dumont
Browse files

debian.models: Migrate tests from storage to debian lister model

Related bb5d405
parent b2e5ce32
No related branches found
No related tags found
No related merge requests found
......@@ -26,6 +26,9 @@ ignore_missing_imports = True
[mypy-pytest.*]
ignore_missing_imports = True
[mypy-pytest_postgresql.*]
ignore_missing_imports = True
[mypy-requests_mock.*]
ignore_missing_imports = True
......
......@@ -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()
# 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())
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment