Reuse ModuleBuild.get_by_id

Signed-off-by: Chenxiong Qi <cqi@redhat.com>
This commit is contained in:
Chenxiong Qi
2019-06-30 11:05:57 +08:00
parent c15a7cadf3
commit 16bf4e945b
10 changed files with 132 additions and 123 deletions

View File

@@ -436,18 +436,20 @@ class TestUtils:
else:
module_build_service.utils.import_mmd(db.session, mmd)
def test_get_rpm_release_mse(self):
def test_get_rpm_release_mse(self, db_session):
init_data(contexts=True)
build_one = models.ModuleBuild.query.get(2)
build_two = models.ModuleBuild.query.get(3)
build_one = models.ModuleBuild.get_by_id(db_session, 2)
release_one = module_build_service.utils.get_rpm_release(build_one)
release_two = module_build_service.utils.get_rpm_release(build_two)
assert release_one == "module+2+b8645bbb"
build_two = models.ModuleBuild.get_by_id(db_session, 3)
release_two = module_build_service.utils.get_rpm_release(build_two)
assert release_two == "module+2+17e35784"
def test_get_rpm_release_platform_stream(self, db_session):
scheduler_init_data(db_session, 1)
build_one = db_session.query(models.ModuleBuild).get(2)
build_one = models.ModuleBuild.get_by_id(db_session, 2)
release = module_build_service.utils.get_rpm_release(build_one)
assert release == "module+f28+2+814cfa39"
@@ -468,7 +470,7 @@ class TestUtils:
db_session.add(platform)
db_session.commit()
build_one = db_session.query(models.ModuleBuild).get(2)
build_one = models.ModuleBuild.get_by_id(db_session, 2)
release = module_build_service.utils.get_rpm_release(build_one)
assert release == "module+fedora28+2+814cfa39"
@@ -486,7 +488,7 @@ class TestUtils:
metadata_mmd = load_mmd(read_staged_data("build_metadata_module"))
module_build_service.utils.import_mmd(db_session, metadata_mmd)
build_one = db_session.query(models.ModuleBuild).get(2)
build_one = models.ModuleBuild.get_by_id(db_session, 2)
mmd = build_one.mmd()
deps = mmd.get_dependencies()[0]
deps.add_buildtime_stream("build", "product1.2")
@@ -506,18 +508,20 @@ class TestUtils:
release = module_build_service.utils.get_rpm_release(build_one)
assert release == "module+product12+2+814cfa39"
def test_get_rpm_release_mse_scratch(self):
def test_get_rpm_release_mse_scratch(self, db_session):
init_data(contexts=True, scratch=True)
build_one = models.ModuleBuild.query.get(2)
build_two = models.ModuleBuild.query.get(3)
build_one = models.ModuleBuild.get_by_id(db_session, 2)
release_one = module_build_service.utils.get_rpm_release(build_one)
release_two = module_build_service.utils.get_rpm_release(build_two)
assert release_one == "scrmod+2+b8645bbb"
build_two = models.ModuleBuild.get_by_id(db_session, 3)
release_two = module_build_service.utils.get_rpm_release(build_two)
assert release_two == "scrmod+2+17e35784"
def test_get_rpm_release_platform_stream_scratch(self, db_session):
scheduler_init_data(db_session, 1, scratch=True)
build_one = db_session.query(models.ModuleBuild).get(2)
build_one = models.ModuleBuild.get_by_id(db_session, 2)
release = module_build_service.utils.get_rpm_release(build_one)
assert release == "scrmod+f28+2+814cfa39"
@@ -525,7 +529,7 @@ class TestUtils:
def test_record_module_build_arches(self, get_build_arches, db_session):
get_build_arches.return_value = ["x86_64", "i686"]
scheduler_init_data(db_session, 1)
build = db_session.query(models.ModuleBuild).get(2)
build = models.ModuleBuild.get_by_id(db_session, 2)
build.arches = []
module_build_service.utils.record_module_build_arches(build.mmd(), build, db_session)
@@ -592,7 +596,7 @@ class TestUtils:
mmd_xmd = mmd.get_xmd()
assert mmd_xmd == xmd
def test_get_reusable_component_shared_userspace_ordering(self):
def test_get_reusable_component_shared_userspace_ordering(self, db_session):
"""
For modules with lot of components per batch, there is big chance that
the database will return them in different order than what we have for
@@ -600,7 +604,7 @@ class TestUtils:
reuse the components.
"""
reuse_shared_userspace_init_data()
new_module = models.ModuleBuild.query.get(3)
new_module = models.ModuleBuild.get_by_id(db_session, 3)
rv = module_build_service.utils.get_reusable_component(db.session, new_module, "llvm")
assert rv.package == "llvm"
@@ -830,24 +834,23 @@ class TestUtils:
@patch("module_build_service.scm.SCM")
@patch("module_build_service.utils.submit.ThreadPool")
def test_format_mmd_update_time_modified(self, tp, mocked_scm):
with app.app_context():
init_data()
build = models.ModuleBuild.query.get(2)
def test_format_mmd_update_time_modified(self, tp, mocked_scm, db_session):
init_data()
build = models.ModuleBuild.get_by_id(db_session, 2)
async_result = mock.MagicMock()
async_result.ready.side_effect = [False, False, False, True]
tp.return_value.map_async.return_value = async_result
async_result = mock.MagicMock()
async_result.ready.side_effect = [False, False, False, True]
tp.return_value.map_async.return_value = async_result
test_datetime = datetime(2019, 2, 14, 11, 11, 45, 42968)
test_datetime = datetime(2019, 2, 14, 11, 11, 45, 42968)
mmd = load_mmd(read_staged_data("testmodule"))
mmd = load_mmd(read_staged_data("testmodule"))
with patch("module_build_service.utils.submit.datetime") as dt:
dt.utcnow.return_value = test_datetime
module_build_service.utils.format_mmd(mmd, None, build, db.session)
with patch("module_build_service.utils.submit.datetime") as dt:
dt.utcnow.return_value = test_datetime
module_build_service.utils.format_mmd(mmd, None, build, db_session)
assert build.time_modified == test_datetime
assert build.time_modified == test_datetime
def test_generate_koji_tag_in_nsvc_format(self):
name, stream, version, context = ("testmodule", "master", "20170816080815", "37c6c57")
@@ -893,13 +896,13 @@ class TestUtils:
def test_get_prefixed_version_f28(self, db_session):
scheduler_init_data(db_session, 1)
build_one = db_session.query(models.ModuleBuild).get(2)
build_one = models.ModuleBuild.get_by_id(db_session, 2)
v = module_build_service.utils.submit.get_prefixed_version(build_one.mmd())
assert v == 2820180205135154
def test_get_prefixed_version_fl701(self, db_session):
scheduler_init_data(db_session, 1)
build_one = db_session.query(models.ModuleBuild).get(2)
build_one = models.ModuleBuild.get_by_id(db_session, 2)
mmd = build_one.mmd()
xmd = mmd.get_xmd()
xmd["mbs"]["buildrequires"]["platform"]["stream"] = "fl7.0.1-beta"