Move models.py to common/models.py and views.py to web/views.py

This commit is contained in:
mprahl
2020-01-03 21:16:17 -05:00
parent e6b1372d5d
commit 9ddb35b8d3
71 changed files with 216 additions and 187 deletions

View File

@@ -775,7 +775,7 @@ _`Module Build States`
You can see the list of possible states with::
from module_build_service.models import BUILD_STATES
from module_build_service.common.models import BUILD_STATES
print(BUILD_STATES)
Here's a description of what each of them means:

View File

@@ -54,7 +54,7 @@ class KojiContentGenerator(object):
def __init__(self, module, config):
"""
:param module: module_build_service.models.ModuleBuild instance.
:param module: module_build_service.common.models.ModuleBuild instance.
:param config: module_build_service.common.config.Config instance
"""
self.owner = module.owner

View File

@@ -21,8 +21,9 @@ from itertools import chain
from OpenSSL.SSL import SysCallError
import textwrap
from module_build_service import log, conf, models
from module_build_service import log, conf
from module_build_service.builder.utils import execute_cmd, get_rpm_release, validate_koji_tag
from module_build_service.common import models
from module_build_service.common.retry import retry
from module_build_service.scheduler.db_session import db_session
from module_build_service.builder import GenericBuilder
@@ -55,7 +56,7 @@ class KojiModuleBuilder(GenericBuilder):
"""
:param db_session: SQLAlchemy session object.
:param owner: a string representing who kicked off the builds
:param module: module_build_service.models.ModuleBuild instance.
:param module: module_build_service.common.models.ModuleBuild instance.
:param config: module_build_service.common.config.Config instance
:param tag_name: name of tag for given module
"""

View File

@@ -13,6 +13,7 @@ import kobo.rpmlib
import platform
from module_build_service import conf, log, Modulemd
from module_build_service.common import models
from module_build_service.common.koji import get_session
from module_build_service.common.utils import import_mmd, load_mmd_file, mmd_to_str
from module_build_service.builder import GenericBuilder
@@ -26,7 +27,6 @@ from module_build_service.builder.utils import (
from module_build_service.scheduler.db_session import db_session
from module_build_service.builder.KojiModuleBuilder import KojiModuleBuilder
from module_build_service.scheduler import events
from module_build_service import models
logging.basicConfig(level=logging.DEBUG)

View File

@@ -7,9 +7,10 @@ import dogpile.cache
from abc import ABCMeta, abstractmethod
from requests.exceptions import ConnectionError
from module_build_service import conf, log, models
from module_build_service import conf, log
from module_build_service.common import models
from module_build_service.common.models import BUILD_STATES
from module_build_service.common.retry import retry
from module_build_service.models import BUILD_STATES
from module_build_service.resolver import GenericResolver
@@ -108,7 +109,7 @@ class GenericBuilder(six.with_metaclass(ABCMeta)):
"""
:param db_session: SQLAlchemy session object.
:param owner: a string representing who kicked off the builds
:param module: module_build_service.models.ModuleBuild instance.
:param module: module_build_service.common.models.ModuleBuild instance.
:param backend: a string representing backend e.g. 'koji'
:param config: instance of module_build_service.common.config.Config
@@ -136,7 +137,7 @@ class GenericBuilder(six.with_metaclass(ABCMeta)):
and config and connects it to buildroot.
:param db_session: SQLAlchemy database session.
:param module: module_build_service.models.ModuleBuild instance.
:param module: module_build_service.common.models.ModuleBuild instance.
:param config: module_build_service.common.config.Config instance.
:kwarg buildroot_connect: a boolean that determines if the builder should run
buildroot_connect on instantiation.

View File

@@ -12,7 +12,8 @@ from multiprocessing.dummy import Pool as ThreadPool
import requests
from module_build_service import conf, log, models
from module_build_service import conf, log
from module_build_service.common import models
from module_build_service.common.errors import ValidationError, ProgrammingError

View File

@@ -675,7 +675,9 @@ class ModuleBuild(MBSBase):
self.state = state
self.time_modified = now
from module_build_service.monitor import builder_success_counter, builder_failed_counter
from module_build_service.common.monitor import (
builder_success_counter, builder_failed_counter
)
new_state_name = INVERSE_BUILD_STATES[self.state]
if new_state_name in ["done", "failed"]:

View File

@@ -22,7 +22,7 @@ def expand_single_mse_streams(
there are multiple streams for some dependency of module and the module name is not
defined in `default_streams`, so it is not clear which stream should be used.
"""
from module_build_service import models
from module_build_service.common import models
default_streams = default_streams or {}
# Stream can be prefixed with '-' sign to define that this stream should
@@ -79,7 +79,7 @@ def get_compatible_base_module_mmds(resolver, base_mmd, ignore_ns=None):
}
The input `base_mmd` is always included in the result in "ready" state.
"""
from module_build_service import models
from module_build_service.common import models
# Add the module to `seen` and `ret`.
ret = {"ready": [], "garbage": []}
@@ -136,7 +136,7 @@ def get_base_module_mmds(db_session, mmd):
:return: Dict with "ready" or "garbage" state name as a key and list of MMDs of base modules
buildrequired by `mmd` as a value.
"""
from module_build_service import models
from module_build_service.common import models
seen = set()
ret = {"ready": [], "garbage": []}

View File

@@ -93,7 +93,7 @@ def import_mmd(db_session, mmd, check_buildrequires=True):
log messages collected during import (list)
:rtype: tuple
"""
from module_build_service import models
from module_build_service.common import models
xmd = mmd.get_xmd()
# Set some defaults in xmd["mbs"] if they're not provided by the user

View File

@@ -10,10 +10,11 @@ import getpass
import textwrap
from werkzeug.datastructures import FileStorage
from module_build_service import app, conf, create_app, db, models
from module_build_service import app, conf, create_app, db
from module_build_service.builder.MockModuleBuilder import (
import_builds_from_local_dnf_repos, load_local_builds
)
from module_build_service.common import models
from module_build_service.common.utils import load_mmd_file, import_mmd
from module_build_service.scheduler.db_session import db_session
from module_build_service.common.errors import StreamAmbigous

View File

@@ -15,7 +15,7 @@ import sqlalchemy as sa
# Data migration imports
from module_build_service import Modulemd, conf
from module_build_service.models import ModuleBuild
from module_build_service.common.models import ModuleBuild
# Data migration tables
mb = sa.Table(

View File

@@ -13,7 +13,7 @@ down_revision = "1817e62719f9"
from alembic import op
import sqlalchemy as sa
from module_build_service import Modulemd
from module_build_service.models import ModuleBuild
from module_build_service.common.models import ModuleBuild
modulebuild = sa.Table(

View File

@@ -1,13 +1,13 @@
# -*- coding: utf-8 -*-
# SPDX-License-Identifier: MIT
import sqlalchemy
from sqlalchemy.orm import aliased
from module_build_service import log, db
from module_build_service.resolver.base import GenericResolver
from module_build_service import models
from module_build_service.common import models
from module_build_service.common.errors import UnprocessableEntity
from module_build_service.common.utils import load_mmd
import sqlalchemy
from module_build_service.resolver.base import GenericResolver
class DBResolver(GenericResolver):

View File

@@ -2,9 +2,10 @@
# SPDX-License-Identifier: MIT
from itertools import groupby
from module_build_service.common import models
from module_build_service.common.koji import get_session, koji_multicall_map
from module_build_service.resolver.DBResolver import DBResolver
from module_build_service import conf, models, log
from module_build_service import conf, log
class KojiResolver(DBResolver):

View File

@@ -6,7 +6,7 @@ import logging
import kobo.rpmlib
from module_build_service import conf
from module_build_service import models
from module_build_service.common import models
from module_build_service.common.utils import load_mmd, import_mmd
from module_build_service.common.errors import UnprocessableEntity
from module_build_service.resolver.KojiResolver import KojiResolver

View File

@@ -3,7 +3,8 @@
""" Define the router used to route Celery tasks to queues."""
import inspect
from module_build_service import conf, log, models
from module_build_service import conf, log
from module_build_service.common import models
from module_build_service.scheduler.db_session import db_session
from module_build_service.scheduler.handlers.greenwave import get_corresponding_module_build

View File

@@ -3,7 +3,8 @@
import threading
import concurrent.futures
from module_build_service import conf, log, models
from module_build_service import conf, log
from module_build_service.common import models
from module_build_service.scheduler.db_session import db_session
from module_build_service.scheduler import events
from module_build_service.scheduler.reuse import get_reusable_components, reuse_component

View File

@@ -21,11 +21,12 @@ import sqlalchemy.exc
import module_build_service.common.messaging
import module_build_service.common.monitor as monitor
from module_build_service import models, log, conf
from module_build_service.scheduler.db_session import db_session
from module_build_service import log, conf
from module_build_service.common import models
from module_build_service.common.errors import IgnoreMessage
from module_build_service.common.messaging import default_messaging_backend
from module_build_service.scheduler import events
from module_build_service.scheduler.db_session import db_session
from module_build_service.scheduler.handlers import components
from module_build_service.scheduler.handlers import repos
from module_build_service.scheduler.handlers import modules

View File

@@ -6,7 +6,7 @@ from sqlalchemy.orm import scoped_session, sessionmaker
from sqlalchemy.pool import NullPool
from module_build_service import conf
from module_build_service.models import session_before_commit_handlers
from module_build_service.common.models import session_before_commit_handlers
__all__ = ("db_session",)

View File

@@ -10,7 +10,8 @@ import kobo.rpmlib
import koji
import six.moves.xmlrpc_client as xmlrpclib
from module_build_service import conf, log, models, Modulemd, scm
from module_build_service import conf, log, Modulemd, scm
from module_build_service.common import models
from module_build_service.common.koji import get_session, koji_retrying_multicall_map
from module_build_service.common.resolve import (
expand_single_mse_streams, get_compatible_base_module_mmds

View File

@@ -77,7 +77,7 @@ class Greenwave(object):
"""
Query decision to greenwave
:param build: build object
:type build: module_build_service.models.ModuleBuild
:type build: module_build_service.common.models.ModuleBuild
:param prod_version: The product version string used for querying WaiverDB
:type prod_version: str
:return: response
@@ -133,7 +133,7 @@ class Greenwave(object):
"""
Query decision to greenwave
:param build: build object
:type build: module_build_service.models.ModuleBuild
:type build: module_build_service.common.models.ModuleBuild
:return: True if at least one GW response contains policies_satisfied set to true
:rtype: bool
"""

View File

@@ -5,8 +5,9 @@
import logging
import koji
from module_build_service import celery_app, conf, models, log
from module_build_service import celery_app, conf, log
from module_build_service.builder import GenericBuilder
from module_build_service.common import models
from module_build_service.common.koji import get_session
from module_build_service.common.utils import mmd_to_str
from module_build_service.scheduler.db_session import db_session

View File

@@ -2,8 +2,8 @@
# SPDX-License-Identifier: MIT
from module_build_service import celery_app, conf, log
from module_build_service.common.koji import get_session
from module_build_service.common.models import ModuleBuild, BUILD_STATES
from module_build_service.scheduler.db_session import db_session
from module_build_service.models import ModuleBuild, BUILD_STATES
from module_build_service.scheduler import events

View File

@@ -2,9 +2,10 @@
# SPDX-License-Identifier: MIT
""" Handlers for module change events on the message bus. """
from module_build_service import celery_app, conf, models, log, build_logs
from module_build_service import celery_app, conf, log, build_logs
from module_build_service.builder.KojiModuleBuilder import KojiModuleBuilder
from module_build_service.builder.utils import get_rpm_release
from module_build_service.common import models
from module_build_service.common.utils import mmd_to_str
from module_build_service.common.retry import retry
import module_build_service.resolver

View File

@@ -4,8 +4,9 @@
import logging
from datetime import datetime
from module_build_service import celery_app, conf, models, log
from module_build_service import celery_app, conf, log
from module_build_service.builder import GenericBuilder
from module_build_service.common import models
from module_build_service.scheduler.batches import start_next_batch_build
from module_build_service.scheduler.db_session import db_session
from module_build_service.scheduler import events

View File

@@ -4,7 +4,8 @@
import logging
import koji
from module_build_service import celery_app, conf, models, log
from module_build_service import celery_app, conf, log
from module_build_service.common import models
from module_build_service.scheduler.db_session import db_session
from module_build_service.builder import GenericBuilder
from module_build_service.scheduler import events

View File

@@ -2,8 +2,8 @@
# SPDX-License-Identifier: MIT
import logging
from module_build_service import models
from module_build_service.common import models
from module_build_service.scheduler.db_session import db_session
from module_build_service.scheduler.handlers.modules import init as modules_init_handler
from module_build_service.scheduler.handlers.modules import wait as modules_wait_handler

View File

@@ -8,8 +8,9 @@ from sqlalchemy.orm import lazyload, load_only
import module_build_service.scheduler
import module_build_service.scheduler.consumer
from module_build_service import celery_app, conf, models, log
from module_build_service import celery_app, conf, log
from module_build_service.builder import GenericBuilder
from module_build_service.common import models
from module_build_service.common.koji import get_session
from module_build_service.scheduler.db_session import db_session
from module_build_service.scheduler.batches import (
@@ -85,7 +86,7 @@ def nudge_module_builds_in_state(state_name, older_than_minutes):
db_session.commit()
# Fake a message to kickstart the build anew in the consumer
state = module_build_service.models.BUILD_STATES[state_name]
state = module_build_service.common.models.BUILD_STATES[state_name]
handler = ON_MODULE_CHANGE_HANDLERS[state]
handler.delay("internal:mbs.module.state.change", build.id, state)
@@ -349,7 +350,7 @@ def cancel_stuck_module_builds():
threshold = datetime.utcnow() - timedelta(days=conf.cleanup_stuck_builds_time)
states = [
module_build_service.models.BUILD_STATES[state]
module_build_service.common.models.BUILD_STATES[state]
for state in conf.cleanup_stuck_builds_states
]

View File

@@ -2,7 +2,8 @@
# SPDX-License-Identifier: MIT
import kobo.rpmlib
from module_build_service import log, models, conf
from module_build_service import log, conf
from module_build_service.common import models
from module_build_service.scheduler.db_session import db_session
from module_build_service.resolver import GenericResolver
from module_build_service.scheduler import events

View File

@@ -7,7 +7,8 @@ import os
import kobo.rpmlib
from module_build_service import conf, log, models, Modulemd
from module_build_service import conf, log, Modulemd
from module_build_service.common import models
from module_build_service.common.submit import fetch_mmd
from module_build_service.common.utils import to_text_type
from module_build_service.scheduler.db_session import db_session

View File

@@ -4,7 +4,7 @@ import collections
import itertools
import solv
from module_build_service import log, conf
from module_build_service.models import ModuleBuild
from module_build_service.common.models import ModuleBuild
class MMDResolver(object):

View File

@@ -1,6 +1,7 @@
# -*- coding: utf-8 -*-
# SPDX-License-Identifier: MIT
from module_build_service import log, models, Modulemd, conf
from module_build_service import log, Modulemd, conf
from module_build_service.common import models
from module_build_service.common.resolve import expand_single_mse_streams, get_base_module_mmds
from module_build_service.common.utils import mmd_to_str
from module_build_service.common.errors import StreamAmbigous

View File

@@ -10,7 +10,8 @@ import time
from gi.repository import GLib
import requests
from module_build_service import conf, log, models, Modulemd
from module_build_service import conf, log, Modulemd
from module_build_service.common import models
from module_build_service.common.submit import fetch_mmd
from module_build_service.common.utils import load_mmd, mmd_to_str, to_text_type
from module_build_service.common.errors import Conflict, Forbidden, ValidationError

View File

@@ -10,7 +10,8 @@ from sqlalchemy.sql.sqltypes import Boolean as sqlalchemy_boolean
from sqlalchemy.orm import aliased
import sqlalchemy
from module_build_service import models, api_version, conf, db
from module_build_service import api_version, conf, db
from module_build_service.common import models
from module_build_service.common.errors import ValidationError, NotFound
from module_build_service.scm import scm_url_schemes

View File

@@ -11,7 +11,8 @@ from six import string_types
from io import BytesIO
from prometheus_client import generate_latest, CONTENT_TYPE_LATEST
from module_build_service import app, conf, log, models, db, version, api_version as max_api_version
from module_build_service import app, conf, log, db, version, api_version as max_api_version
from module_build_service.common import models
from module_build_service.common.utils import import_mmd
from module_build_service.common.errors import (
ValidationError, Forbidden, NotFound, ProgrammingError

View File

@@ -15,7 +15,7 @@ import module_build_service
from module_build_service import db
from module_build_service.builder.utils import get_rpm_release
from module_build_service.common.utils import mmd_to_str, to_text_type
from module_build_service.models import (
from module_build_service.common.models import (
ModuleBuild, ModuleArch, ComponentBuild, VirtualStream,
BUILD_STATES,
)
@@ -113,7 +113,7 @@ def clean_database(add_platform_module=True, add_default_arches=True):
db.create_all()
if add_default_arches:
arch_obj = module_build_service.models.ModuleArch(name="x86_64")
arch_obj = module_build_service.common.models.ModuleArch(name="x86_64")
db.session.add(arch_obj)
db.session.commit()
@@ -161,7 +161,7 @@ def _populate_data(data_size=10, contexts=False, scratch=False):
# like "Object '<ModuleBuild at 0x7f4ccc805c50>' is already attached to
# session '275' (this is '276')" when add new module build object to passed
# session.
arch = db_session.query(module_build_service.models.ModuleArch).get(1)
arch = db_session.query(module_build_service.common.models.ModuleArch).get(1)
num_contexts = 2 if contexts else 1
for index in range(data_size):
for context in range(num_contexts):
@@ -339,7 +339,7 @@ def scheduler_init_data(tangerine_state=None, scratch=False):
mmd = load_mmd(read_staged_data("formatted_testmodule"))
mmd.get_rpm_component("tangerine").set_buildorder(0)
module_build = module_build_service.models.ModuleBuild(
module_build = module_build_service.common.models.ModuleBuild(
name="testmodule",
stream="master",
version='20170109091357',
@@ -364,16 +364,16 @@ def scheduler_init_data(tangerine_state=None, scratch=False):
db_session.add(module_build)
db_session.commit()
platform_br = module_build_service.models.ModuleBuild.get_by_id(db_session, 1)
platform_br = module_build_service.common.models.ModuleBuild.get_by_id(db_session, 1)
module_build.buildrequires.append(platform_br)
arch = db_session.query(module_build_service.models.ModuleArch).get(1)
arch = db_session.query(module_build_service.common.models.ModuleArch).get(1)
module_build.arches.append(arch)
build_one_component_release = get_rpm_release(db_session, module_build)
db_session.add_all([
module_build_service.models.ComponentBuild(
module_build_service.common.models.ComponentBuild(
module_id=module_build.id,
package="perl-Tangerine",
scmurl="https://src.fedoraproject.org/rpms/perl-Tangerine"
@@ -387,7 +387,7 @@ def scheduler_init_data(tangerine_state=None, scratch=False):
tagged=True,
tagged_in_final=True,
),
module_build_service.models.ComponentBuild(
module_build_service.common.models.ComponentBuild(
module_id=module_build.id,
package="perl-List-Compare",
scmurl="https://src.fedoraproject.org/rpms/perl-List-Compare"
@@ -401,7 +401,7 @@ def scheduler_init_data(tangerine_state=None, scratch=False):
tagged=True,
tagged_in_final=True,
),
module_build_service.models.ComponentBuild(
module_build_service.common.models.ComponentBuild(
module_id=module_build.id,
package="tangerine",
scmurl="https://src.fedoraproject.org/rpms/tangerine"
@@ -417,7 +417,7 @@ def scheduler_init_data(tangerine_state=None, scratch=False):
tagged=tangerine_state == koji.BUILD_STATES["COMPLETE"],
tagged_in_final=tangerine_state == koji.BUILD_STATES["COMPLETE"],
),
module_build_service.models.ComponentBuild(
module_build_service.common.models.ComponentBuild(
module_id=module_build.id,
package="module-build-macros",
scmurl="/tmp/module_build_service-build-macrosqr4AWH/SRPMS/module-build-"

View File

@@ -9,7 +9,7 @@ from datetime import datetime
import module_build_service
from module_build_service.builder.utils import get_rpm_release
from module_build_service.common.utils import load_mmd, mmd_to_str
from module_build_service.models import BUILD_STATES
from module_build_service.common.models import BUILD_STATES
from module_build_service.scheduler.db_session import db_session
from tests import clean_database, read_staged_data, module_build_from_modulemd
@@ -60,7 +60,9 @@ def model_tests_init_data():
"""
clean_database()
model_test_data_dir = os.path.join(os.path.dirname(__file__), "test_models", "data")
model_test_data_dir = os.path.join(
os.path.dirname(__file__), "test_common", "test_models", "data"
)
for filename in os.listdir(model_test_data_dir):
with open(os.path.join(model_test_data_dir, filename), "r") as f:
@@ -77,7 +79,7 @@ def reuse_component_init_data():
mmd = load_mmd(read_staged_data("formatted_testmodule"))
build_one = module_build_service.models.ModuleBuild(
build_one = module_build_service.common.models.ModuleBuild(
name="testmodule",
stream="master",
version='20170109091357',
@@ -103,7 +105,7 @@ def reuse_component_init_data():
xmd["mbs"]["commit"] = "ff1ea79fc952143efeed1851aa0aa006559239ba"
mmd.set_xmd(xmd)
build_one.modulemd = mmd_to_str(mmd)
contexts = module_build_service.models.ModuleBuild.contexts_from_mmd(build_one.modulemd)
contexts = module_build_service.common.models.ModuleBuild.contexts_from_mmd(build_one.modulemd)
build_one.build_context = contexts.build_context
build_one.build_context_no_bms = contexts.build_context_no_bms
@@ -111,14 +113,14 @@ def reuse_component_init_data():
db_session.commit()
db_session.refresh(build_one)
platform_br = module_build_service.models.ModuleBuild.get_by_id(db_session, 1)
platform_br = module_build_service.common.models.ModuleBuild.get_by_id(db_session, 1)
build_one.buildrequires.append(platform_br)
arch = db_session.query(module_build_service.models.ModuleArch).get(1)
arch = db_session.query(module_build_service.common.models.ModuleArch).get(1)
build_one.arches.append(arch)
db_session.add_all([
module_build_service.models.ComponentBuild(
module_build_service.common.models.ComponentBuild(
module_id=build_one.id,
package="perl-Tangerine",
scmurl="https://src.fedoraproject.org/rpms/perl-Tangerine"
@@ -132,7 +134,7 @@ def reuse_component_init_data():
tagged=True,
tagged_in_final=True,
),
module_build_service.models.ComponentBuild(
module_build_service.common.models.ComponentBuild(
module_id=build_one.id,
package="perl-List-Compare",
scmurl="https://src.fedoraproject.org/rpms/perl-List-Compare"
@@ -146,7 +148,7 @@ def reuse_component_init_data():
tagged=True,
tagged_in_final=True,
),
module_build_service.models.ComponentBuild(
module_build_service.common.models.ComponentBuild(
module_id=build_one.id,
package="tangerine",
scmurl="https://src.fedoraproject.org/rpms/tangerine"
@@ -160,7 +162,7 @@ def reuse_component_init_data():
tagged=True,
tagged_in_final=True,
),
module_build_service.models.ComponentBuild(
module_build_service.common.models.ComponentBuild(
module_id=build_one.id,
package="module-build-macros",
scmurl="/tmp/module_build_service-build-macrosqr4AWH/SRPMS/module-build-"
@@ -177,7 +179,7 @@ def reuse_component_init_data():
# Commit component builds added to build_one
db_session.commit()
build_two = module_build_service.models.ModuleBuild(
build_two = module_build_service.common.models.ModuleBuild(
name="testmodule",
stream="master",
version='20170219191323',
@@ -202,7 +204,7 @@ def reuse_component_init_data():
xmd["mbs"]["commit"] = "55f4a0a2e6cc255c88712a905157ab39315b8fd8"
mmd.set_xmd(xmd)
build_two.modulemd = mmd_to_str(mmd)
contexts = module_build_service.models.ModuleBuild.contexts_from_mmd(build_two.modulemd)
contexts = module_build_service.common.models.ModuleBuild.contexts_from_mmd(build_two.modulemd)
build_two.build_context = contexts.build_context
build_two.build_context_no_bms = contexts.build_context_no_bms
@@ -214,7 +216,7 @@ def reuse_component_init_data():
build_two.buildrequires.append(platform_br)
db_session.add_all([
module_build_service.models.ComponentBuild(
module_build_service.common.models.ComponentBuild(
module_id=build_two.id,
package="perl-Tangerine",
scmurl="https://src.fedoraproject.org/rpms/perl-Tangerine"
@@ -223,7 +225,7 @@ def reuse_component_init_data():
batch=2,
ref="4ceea43add2366d8b8c5a622a2fb563b625b9abf",
),
module_build_service.models.ComponentBuild(
module_build_service.common.models.ComponentBuild(
module_id=build_two.id,
package="perl-List-Compare",
scmurl="https://src.fedoraproject.org/rpms/perl-List-Compare"
@@ -232,7 +234,7 @@ def reuse_component_init_data():
batch=2,
ref="76f9d8c8e87eed0aab91034b01d3d5ff6bd5b4cb",
),
module_build_service.models.ComponentBuild(
module_build_service.common.models.ComponentBuild(
module_id=build_two.id,
package="tangerine",
scmurl="https://src.fedoraproject.org/rpms/tangerine"
@@ -241,7 +243,7 @@ def reuse_component_init_data():
batch=3,
ref="fbed359411a1baa08d4a88e0d12d426fbf8f602c",
),
module_build_service.models.ComponentBuild(
module_build_service.common.models.ComponentBuild(
module_id=build_two.id,
package="module-build-macros",
scmurl="/tmp/module_build_service-build-macrosqr4AWH/SRPMS/module-build-"
@@ -269,11 +271,11 @@ def reuse_shared_userspace_init_data():
xmd["mbs"]["commit"] = "55f4a0a2e6cc255c88712a905157ab39315b8fd8"
mmd.set_xmd(xmd)
module_build = module_build_service.models.ModuleBuild(
module_build = module_build_service.common.models.ModuleBuild(
name=mmd.get_module_name(),
stream=mmd.get_stream_name(),
version=mmd.get_version(),
build_context=module_build_service.models.ModuleBuild.calculate_build_context(
build_context=module_build_service.common.models.ModuleBuild.calculate_build_context(
xmd["mbs"]["buildrequires"]
),
runtime_context="50dd3eb5dde600d072e45d4120e1548ce66bc94a",
@@ -307,7 +309,7 @@ def reuse_shared_userspace_init_data():
full_url = pkg.get_repository() + "?#" + pkgref
module_build.component_builds.append(
module_build_service.models.ComponentBuild(
module_build_service.common.models.ComponentBuild(
package=pkg.get_name(),
format="rpms",
scmurl=full_url,
@@ -330,11 +332,11 @@ def reuse_shared_userspace_init_data():
xmd["mbs"]["commit"] = "55f4a0a2e6cc255c88712a905157ab39315b8fd8"
mmd2.set_xmd(xmd)
module_build = module_build_service.models.ModuleBuild(
module_build = module_build_service.common.models.ModuleBuild(
name=mmd2.get_module_name(),
stream=mmd2.get_stream_name(),
version=mmd2.get_version(),
build_context=module_build_service.models.ModuleBuild.calculate_build_context(
build_context=module_build_service.common.models.ModuleBuild.calculate_build_context(
xmd["mbs"]["buildrequires"]
),
runtime_context="50dd3eb5dde600d072e45d4120e1548ce66bc94a",
@@ -371,7 +373,7 @@ def reuse_shared_userspace_init_data():
full_url = pkg.get_repository() + "?#" + pkgref
module_build.component_builds.append(
module_build_service.models.ComponentBuild(
module_build_service.common.models.ComponentBuild(
package=pkg.get_name(), format="rpms", scmurl=full_url, batch=batch, ref=pkgref)
)

View File

@@ -14,11 +14,12 @@ import moksha.hub
import fedmsg
from module_build_service.builder.utils import get_rpm_release
from module_build_service.common import models
from module_build_service.common.utils import load_mmd, import_mmd
import module_build_service.scheduler.consumer
import module_build_service.scheduler.handlers.repos
from module_build_service.common.errors import Forbidden
from module_build_service import app, models, conf, build_logs, log
from module_build_service import app, conf, build_logs, log
from module_build_service.scheduler.db_session import db_session
from module_build_service.scheduler import events
from module_build_service.scheduler.handlers.tags import tagged as tagged_handler

View File

@@ -2,7 +2,7 @@
# SPDX-License-Identifier: MIT
import mock
import module_build_service.models
import module_build_service.common.models
import module_build_service.builder
import module_build_service.resolver
@@ -28,7 +28,7 @@ class TestGenericBuilder:
expected_groups = {"build": [], "srpm-build": []}
module = module_build_service.models.ModuleBuild.get_by_id(db_session, 1)
module = module_build_service.common.models.ModuleBuild.get_by_id(db_session, 1)
generic_resolver.create.return_value = resolver
# Call default_buildroot_groups, the result should be cached.

View File

@@ -6,8 +6,9 @@ import shutil
from mock import call, MagicMock, Mock, patch, PropertyMock
import pytest
from module_build_service import conf, models
from module_build_service import conf
from module_build_service.builder import utils
from module_build_service.common import models
from module_build_service.scheduler.db_session import db_session
from module_build_service.common.errors import ProgrammingError, ValidationError
from module_build_service.common.utils import load_mmd, import_mmd, mmd_to_str

View File

@@ -11,7 +11,7 @@ from mock import patch, MagicMock
import pytest
import module_build_service.scheduler.handlers.repos
import module_build_service.models
import module_build_service.common.models
from module_build_service import conf, Modulemd
from module_build_service.common.utils import mmd_to_str
from module_build_service.scheduler.db_session import db_session
@@ -120,7 +120,7 @@ class TestKojiBuilder:
def test_recover_orphaned_artifact_when_tagged(self, mock_get_session):
""" Test recover_orphaned_artifact when the artifact is found and tagged in both tags
"""
module_build = module_build_service.models.ModuleBuild.get_by_id(db_session, 2)
module_build = module_build_service.common.models.ModuleBuild.get_by_id(db_session, 2)
builder = FakeKojiModuleBuilder(
db_session=db_session,
@@ -138,7 +138,7 @@ class TestKojiBuilder:
build_tagged = [{"nvr": "foo-1.0-1.module+e0095747", "task_id": 12345, "build_id": 91}]
dest_tagged = [{"nvr": "foo-1.0-1.module+e0095747", "task_id": 12345, "build_id": 91}]
builder.koji_session.listTagged.side_effect = [build_tagged, dest_tagged]
module_build = module_build_service.models.ModuleBuild.get_by_id(db_session, 4)
module_build = module_build_service.common.models.ModuleBuild.get_by_id(db_session, 4)
component_build = module_build.component_builds[0]
component_build.task_id = None
component_build.state = None
@@ -171,7 +171,7 @@ class TestKojiBuilder:
def test_recover_orphaned_artifact_when_untagged(self, mock_get_session):
""" Tests recover_orphaned_artifact when the build is found but untagged
"""
module_build = module_build_service.models.ModuleBuild.get_by_id(db_session, 2)
module_build = module_build_service.common.models.ModuleBuild.get_by_id(db_session, 2)
builder = FakeKojiModuleBuilder(
db_session=db_session,
@@ -193,7 +193,7 @@ class TestKojiBuilder:
builder.koji_session.untaggedBuilds.return_value = untagged
build_info = {"nvr": "foo-1.0-1.{0}".format(dist_tag), "task_id": 12345, "build_id": 91}
builder.koji_session.getBuild.return_value = build_info
module_build = module_build_service.models.ModuleBuild.get_by_id(db_session, 4)
module_build = module_build_service.common.models.ModuleBuild.get_by_id(db_session, 4)
component_build = module_build.component_builds[0]
component_build.task_id = None
component_build.nvr = None
@@ -216,7 +216,7 @@ class TestKojiBuilder:
def test_recover_orphaned_artifact_when_module_build_macros_untagged(self, mock_get_session):
""" Tests recover_orphaned_artifact when module-build-macros is found but untagged
"""
module_build = module_build_service.models.ModuleBuild.get_by_id(db_session, 2)
module_build = module_build_service.common.models.ModuleBuild.get_by_id(db_session, 2)
builder = FakeKojiModuleBuilder(
db_session=db_session,
@@ -243,7 +243,7 @@ class TestKojiBuilder:
"task_id": 12345,
"build_id": 91}
builder.koji_session.getBuild.return_value = build_info
module_build = module_build_service.models.ModuleBuild.get_by_id(db_session, 4)
module_build = module_build_service.common.models.ModuleBuild.get_by_id(db_session, 4)
component_build = module_build.component_builds[1]
component_build.task_id = None
component_build.nvr = None
@@ -272,7 +272,7 @@ class TestKojiBuilder:
def test_recover_orphaned_artifact_when_nothing_exists(self, mock_get_session):
""" Test recover_orphaned_artifact when the build is not found
"""
module_build = module_build_service.models.ModuleBuild.get_by_id(db_session, 2)
module_build = module_build_service.common.models.ModuleBuild.get_by_id(db_session, 2)
builder = FakeKojiModuleBuilder(
db_session=db_session,
@@ -291,7 +291,7 @@ class TestKojiBuilder:
builder.koji_session.listTagged.return_value = tagged
untagged = [{"nvr": "foo-1.0-1.nope", "release": "nope"}]
builder.koji_session.untaggedBuilds.return_value = untagged
module_build = module_build_service.models.ModuleBuild.get_by_id(db_session, 4)
module_build = module_build_service.common.models.ModuleBuild.get_by_id(db_session, 4)
component_build = module_build.component_builds[0]
component_build.task_id = None
component_build.nvr = None
@@ -307,7 +307,7 @@ class TestKojiBuilder:
@patch("koji.util")
def test_buildroot_ready(self, mocked_kojiutil, mock_get_session):
module_build = module_build_service.models.ModuleBuild.get_by_id(db_session, 2)
module_build = module_build_service.common.models.ModuleBuild.get_by_id(db_session, 2)
attrs = {"checkForBuilds.return_value": None, "checkForBuilds.side_effect": IOError}
mocked_kojiutil.configure_mock(**attrs)
@@ -331,7 +331,7 @@ class TestKojiBuilder:
Tests that buildroot_add_artifacts and tag_artifacts do not try to
tag already tagged artifacts
"""
module_build = module_build_service.models.ModuleBuild.get_by_id(db_session, 2)
module_build = module_build_service.common.models.ModuleBuild.get_by_id(db_session, 2)
if blocklist:
mmd = module_build.mmd()
@@ -388,7 +388,7 @@ class TestKojiBuilder:
"""
Tests that only tagged artifacts will be untagged
"""
module_build = module_build_service.models.ModuleBuild.get_by_id(db_session, 2)
module_build = module_build_service.common.models.ModuleBuild.get_by_id(db_session, 2)
mock_session = mock.Mock()
mock_session.getTag.side_effect = [
@@ -534,7 +534,7 @@ class TestKojiBuilder:
def test_buildroot_connect(
self, custom_whitelist, blocklist, repo_include_all, mock_get_session
):
module_build = module_build_service.models.ModuleBuild.get_by_id(db_session, 2)
module_build = module_build_service.common.models.ModuleBuild.get_by_id(db_session, 2)
db_session.refresh(module_build)
if blocklist:
@@ -572,7 +572,7 @@ class TestKojiBuilder:
module_build.modulemd = mmd_to_str(mmd)
db_session.commit()
module_build.arches.append(module_build_service.models.ModuleArch(name="i686"))
module_build.arches.append(module_build_service.common.models.ModuleArch(name="i686"))
db_session.commit()
builder = FakeKojiModuleBuilder(
@@ -649,7 +649,7 @@ class TestKojiBuilder:
@pytest.mark.parametrize("blocklist", [False, True])
def test_buildroot_connect_create_tag(self, blocklist, mock_get_session):
module_build = module_build_service.models.ModuleBuild.get_by_id(db_session, 2)
module_build = module_build_service.common.models.ModuleBuild.get_by_id(db_session, 2)
db_session.refresh(module_build)
if blocklist:
@@ -687,7 +687,7 @@ class TestKojiBuilder:
@pytest.mark.parametrize("scratch", [False, True])
def test_buildroot_connect_create_target(self, scratch, mock_get_session):
module_build = module_build_service.models.ModuleBuild.get_by_id(db_session, 2)
module_build = module_build_service.common.models.ModuleBuild.get_by_id(db_session, 2)
if scratch:
module_build.scratch = scratch
@@ -759,7 +759,7 @@ class TestKojiBuilder:
[],
)
module_build = module_build_service.models.ModuleBuild.get_by_id(db_session, 2)
module_build = module_build_service.common.models.ModuleBuild.get_by_id(db_session, 2)
# Module builds generated by init_data uses generic modulemd file and
# the module's name/stream/version/context does not have to match it.
@@ -858,8 +858,8 @@ class TestKojiBuilder:
},
],
)
current_module = module_build_service.models.ModuleBuild.get_by_id(db_session, 3)
with patch.object(module_build_service.models.ModuleBuild, 'log_message'):
current_module = module_build_service.common.models.ModuleBuild.get_by_id(db_session, 3)
with patch.object(module_build_service.common.models.ModuleBuild, 'log_message'):
rv = KojiModuleBuilder._get_filtered_rpms_on_self_dep(current_module, br_filtered_rpms)
assert set(rv) == set(expected)
session.assert_not_called()
@@ -869,7 +869,7 @@ class TestKojiBuilder:
)
@mock.patch("module_build_service.builder.KojiModuleBuilder.KojiContentGenerator")
def test_finalize(self, mock_koji_cg_cls, cg_enabled, cg_devel_enabled, mock_get_session):
module_build = module_build_service.models.ModuleBuild.get_by_id(db_session, 2)
module_build = module_build_service.common.models.ModuleBuild.get_by_id(db_session, 2)
db_session.refresh(module_build)
module_build.state = 2
db_session.commit()
@@ -907,14 +907,14 @@ class TestKojiBuilder:
@patch.dict("sys.modules", krbV=MagicMock())
@patch("koji.ClientSession")
def test_ensure_builder_use_a_logged_in_koji_session(self, ClientSession):
module_build = module_build_service.models.ModuleBuild.get_by_id(db_session, 2)
module_build = module_build_service.common.models.ModuleBuild.get_by_id(db_session, 2)
builder = KojiModuleBuilder(db_session, "owner", module_build, conf, "module-tag", [])
builder.koji_session.krb_login.assert_called_once()
@patch.dict("sys.modules", krbV=MagicMock())
@patch("koji.ClientSession")
def test_get_module_build_arches(self, ClientSession):
module_build = module_build_service.models.ModuleBuild.get_by_id(db_session, 2)
module_build = module_build_service.common.models.ModuleBuild.get_by_id(db_session, 2)
arches = "x86_64 i686 ppc64le aarch64 s390x"
session = ClientSession.return_value
session.getTag.return_value = {"arches": arches}
@@ -924,7 +924,7 @@ class TestKojiBuilder:
@patch.dict("sys.modules", krbV=MagicMock())
@patch("koji.ClientSession")
def test_get_module_build_arches_with_archless_tag(self, ClientSession):
module_build = module_build_service.models.ModuleBuild.get_by_id(db_session, 2)
module_build = module_build_service.common.models.ModuleBuild.get_by_id(db_session, 2)
session = ClientSession.return_value
session.getTag.return_value = {"arches": ""}
ret = KojiModuleBuilder.get_module_build_arches(module_build)
@@ -933,7 +933,7 @@ class TestKojiBuilder:
@patch.dict("sys.modules", krbV=MagicMock())
@patch("koji.ClientSession")
def test_get_module_build_arches_without_tag(self, ClientSession):
module_build = module_build_service.models.ModuleBuild.get_by_id(db_session, 2)
module_build = module_build_service.common.models.ModuleBuild.get_by_id(db_session, 2)
module_build.koji_tag = None
session = ClientSession.return_value
ret = KojiModuleBuilder.get_module_build_arches(module_build)
@@ -944,7 +944,7 @@ class TestKojiBuilder:
@patch.dict("sys.modules", krbV=MagicMock())
@patch("koji.ClientSession")
def test_get_module_build_arches_with_unknown_tag(self, ClientSession):
module_build = module_build_service.models.ModuleBuild.get_by_id(db_session, 2)
module_build = module_build_service.common.models.ModuleBuild.get_by_id(db_session, 2)
session = ClientSession.return_value
session.getTag.return_value = None
with pytest.raises(ValueError, match="Unknown Koji tag .*"):
@@ -971,7 +971,7 @@ class TestGetDistTagSRPM:
name="testmodule",
stream="master",
version="1",
context=module_build_service.models.DEFAULT_MODULE_CONTEXT,
context=module_build_service.common.models.DEFAULT_MODULE_CONTEXT,
)
self.xmd = {

View File

@@ -10,10 +10,11 @@ import koji
import mock
import pytest
from module_build_service import conf, models
from module_build_service import conf
from module_build_service.common import models
from module_build_service.common.utils import load_mmd, mmd_to_str
from module_build_service.scheduler.db_session import db_session
from module_build_service.models import ModuleBuild, ComponentBuild
from module_build_service.common.models import ModuleBuild, ComponentBuild
from module_build_service.builder.MockModuleBuilder import (
import_fake_base_module,
import_builds_from_local_dnf_repos,

View File

@@ -4,9 +4,9 @@ import pytest
from mock import patch
from module_build_service import conf
from module_build_service.common.models import ComponentBuild, ComponentBuildTrace, ModuleBuild
from module_build_service.common.utils import load_mmd, mmd_to_str
from module_build_service.scheduler.db_session import db_session
from module_build_service.models import ComponentBuild, ComponentBuildTrace, ModuleBuild
from tests import init_data as init_data_contexts, clean_database, read_staged_data
from tests import make_module_in_db, module_build_from_modulemd

View File

@@ -8,7 +8,8 @@ import mock
from six.moves import reload_module
import module_build_service.common.monitor
from module_build_service import app, conf, models
from module_build_service import app, conf
from module_build_service.common import models
from module_build_service.scheduler.db_session import db_session
from tests import init_data, make_module_in_db

View File

@@ -3,9 +3,10 @@
from mock import patch, PropertyMock
import pytest
from module_build_service.common import models
from module_build_service.common.utils import load_mmd
from module_build_service.common.resolve import get_base_module_mmds
from module_build_service import Modulemd, models
from module_build_service import Modulemd
from module_build_service.scheduler.db_session import db_session
from tests import clean_database, make_module_in_db, init_data, read_staged_data

View File

@@ -2,7 +2,7 @@
# SPDX-License-Identifier: MIT
import pytest
from module_build_service import models
from module_build_service.common import models
from module_build_service.common.utils import import_mmd, load_mmd
from module_build_service.scheduler.db_session import db_session
from module_build_service.common.errors import UnprocessableEntity

View File

@@ -7,7 +7,8 @@ import json
import os
from os import path
from module_build_service import models, conf, build_logs, Modulemd
from module_build_service import conf, build_logs, Modulemd
from module_build_service.common import models
from module_build_service.common.utils import load_mmd, load_mmd_file, mmd_to_str
from module_build_service.scheduler.db_session import db_session

View File

@@ -5,7 +5,8 @@ from os import path
import shutil
import tempfile
from module_build_service import log, models
from module_build_service import log
from module_build_service.common import models
from module_build_service.scheduler.db_session import db_session
from module_build_service.logger import ModuleBuildLogs
from module_build_service.scheduler.consumer import MBSConsumer

View File

@@ -3,10 +3,11 @@
import pytest
from mock import patch
from module_build_service import app, models
from module_build_service import app
from module_build_service.common import models
from module_build_service.common.models import BUILD_STATES, ModuleBuild
from module_build_service.scheduler.db_session import db_session
from module_build_service.manage import manager_wrapper, retire
from module_build_service.models import BUILD_STATES, ModuleBuild
from module_build_service.web.utils import deps_to_dict
from tests import clean_database, staged_data_filename

View File

@@ -7,10 +7,11 @@ from mock import patch, PropertyMock
import pytest
import module_build_service.resolver as mbs_resolver
from module_build_service import conf, models, Modulemd
from module_build_service.common.utils import import_mmd, load_mmd, mmd_to_str
from module_build_service.models import ModuleBuild
from module_build_service import conf, Modulemd
from module_build_service.common import models
from module_build_service.common.errors import UnprocessableEntity
from module_build_service.common.models import ModuleBuild
from module_build_service.common.utils import import_mmd, load_mmd, mmd_to_str
from module_build_service.scheduler.db_session import db_session
from module_build_service.builder.MockModuleBuilder import load_local_builds
import tests

View File

@@ -5,11 +5,11 @@ from mock import patch, MagicMock
from datetime import datetime
from module_build_service import conf
from module_build_service.common.models import ModuleBuild, BUILD_STATES
from module_build_service.common.utils import import_mmd, load_mmd, mmd_to_str
import module_build_service.resolver as mbs_resolver
import tests
from module_build_service.scheduler.db_session import db_session
from module_build_service.models import ModuleBuild, BUILD_STATES
@pytest.mark.usefixtures("reuse_component_init_data")

View File

@@ -7,7 +7,7 @@ from module_build_service import conf
from module_build_service.common.utils import import_mmd, load_mmd, mmd_to_str
import module_build_service.resolver as mbs_resolver
from module_build_service.scheduler.db_session import db_session
from module_build_service.models import ModuleBuild
from module_build_service.common.models import ModuleBuild
import tests

View File

@@ -7,7 +7,7 @@ from module_build_service.builder.MockModuleBuilder import load_local_builds
from module_build_service.common.utils import load_mmd, mmd_to_str
import module_build_service.resolver as mbs_resolver
from module_build_service.scheduler.db_session import db_session
import module_build_service.models
import module_build_service.common.models
import tests
@@ -344,7 +344,8 @@ class TestMBSModule:
request_session.get.return_value = Mock(ok=True)
request_session.get.return_value.json.return_value = {"items": [], "meta": {"next": None}}
platform = db_session.query(module_build_service.models.ModuleBuild).filter_by(id=1).one()
platform = db_session.query(
module_build_service.common.models.ModuleBuild).filter_by(id=1).one()
result = resolver.get_buildrequired_modulemds("nodejs", "10", platform.mmd())
assert [] == result
@@ -376,7 +377,8 @@ class TestMBSModule:
"meta": {"next": None},
}
platform = db_session.query(module_build_service.models.ModuleBuild).filter_by(id=1).one()
platform = db_session.query(
module_build_service.common.models.ModuleBuild).filter_by(id=1).one()
result = resolver.get_buildrequired_modulemds("nodejs", "10", platform.mmd())
assert 1 == len(result)
@@ -491,7 +493,7 @@ class TestMBSModule:
resolver = mbs_resolver.GenericResolver.create(db_session, conf, backend="mbs")
platform = db_session.query(
module_build_service.models.ModuleBuild).filter_by(id=1).one()
module_build_service.common.models.ModuleBuild).filter_by(id=1).one()
platform_mmd = platform.mmd()
platform_xmd = platform_mmd.get_xmd()
platform_xmd["mbs"]["koji_tag_with_modules"] = "module-f29-build"

View File

@@ -1,10 +1,12 @@
# -*- coding: utf-8 -*-
# SPDX-License-Identifier: MIT
from mock import patch
from module_build_service import models, conf
import mock
import koji
from mock import patch
import mock
import pytest
from module_build_service import conf
from module_build_service.common import models
from module_build_service.scheduler.db_session import db_session
from module_build_service.builder import GenericBuilder
from module_build_service.builder.KojiModuleBuilder import KojiModuleBuilder

View File

@@ -11,7 +11,7 @@ from module_build_service import conf
from module_build_service.common.utils import import_mmd, load_mmd, mmd_to_str
from module_build_service.scheduler.db_session import db_session
from module_build_service.common.errors import UnprocessableEntity
from module_build_service.models import ModuleBuild
from module_build_service.common.models import ModuleBuild
from module_build_service.scheduler import default_modules
from tests import clean_database, make_module_in_db, read_staged_data

View File

@@ -8,7 +8,7 @@ from sqlalchemy import func
import module_build_service.common.config
from module_build_service import conf
from module_build_service.scheduler.db_session import db_session
from module_build_service.models import BUILD_STATES, ModuleBuild
from module_build_service.common.models import BUILD_STATES, ModuleBuild
from module_build_service.scheduler.consumer import MBSConsumer
from module_build_service.scheduler.handlers.greenwave import get_corresponding_module_build
from module_build_service.scheduler.handlers.greenwave import decision_update

View File

@@ -6,11 +6,11 @@ from mock import patch, PropertyMock
from module_build_service.common.utils import load_mmd, mmd_to_str
from tests import clean_database, read_staged_data
from tests.test_views.test_views import FakeSCM
from tests.test_web.test_views import FakeSCM
import module_build_service.scheduler.handlers.modules
from module_build_service import build_logs, conf
from module_build_service.scheduler.db_session import db_session
from module_build_service.models import ModuleBuild
from module_build_service.common.models import ModuleBuild
class TestModuleInit:
@@ -156,7 +156,7 @@ class TestModuleInit:
}
assert build.mmd().get_xmd()["mbs"]["rpms"] == xmd_rpms
@patch("module_build_service.models.ModuleBuild.from_module_event")
@patch("module_build_service.common.models.ModuleBuild.from_module_event")
@patch("module_build_service.scm.SCM")
@patch("module_build_service.scheduler.submit.get_build_arches", return_value=["x86_64"])
def test_init_when_get_latest_raises(

View File

@@ -10,7 +10,7 @@ from tests import scheduler_init_data
import module_build_service.resolver
from module_build_service import build_logs, conf, Modulemd
from module_build_service.scheduler.db_session import db_session
from module_build_service.models import ComponentBuild, ModuleBuild
from module_build_service.common.models import ComponentBuild, ModuleBuild
base_dir = os.path.dirname(os.path.dirname(__file__))

View File

@@ -1,15 +1,18 @@
# -*- coding: utf-8 -*-
# SPDX-License-Identifier: MIT
from datetime import datetime, timedelta
import re
import pytest
from mock import call, patch
from module_build_service import models, conf
from tests import clean_database, make_module_in_db
import mock
import koji
import mock
from mock import call, patch
import pytest
from module_build_service import conf
from module_build_service.common import models
from module_build_service.scheduler.db_session import db_session
from module_build_service.scheduler import producer
from datetime import datetime, timedelta
from tests import clean_database, make_module_in_db
@pytest.mark.usefixtures("reuse_component_init_data")

View File

@@ -3,15 +3,15 @@
import mock
import module_build_service.scheduler.handlers.repos
import module_build_service.models
import module_build_service.common.models
from module_build_service.scheduler.db_session import db_session
from module_build_service.models import ComponentBuild
from module_build_service.common.models import ComponentBuild
from tests import scheduler_init_data
class TestRepoDone:
@mock.patch("module_build_service.models.ModuleBuild.get_by_tag")
@mock.patch("module_build_service.common.models.ModuleBuild.get_by_tag")
def test_no_match(self, get_by_tag):
""" Test that when a repo msg hits us and we have no match,
that we do nothing gracefully.
@@ -102,7 +102,7 @@ class TestRepoDone:
# Ensure the time_completed is None, so we can test it is set to
# some date once the build is finalized.
module_build = module_build_service.models.ModuleBuild.get_by_id(db_session, 2)
module_build = module_build_service.common.models.ModuleBuild.get_by_id(db_session, 2)
module_build.time_completed = None
db_session.commit()
@@ -110,7 +110,7 @@ class TestRepoDone:
# Check that the time_completed is set in the time when
# finalizer is called.
assert succeeded is True
module_build = module_build_service.models.ModuleBuild.get_by_id(db_session, 2)
module_build = module_build_service.common.models.ModuleBuild.get_by_id(db_session, 2)
assert module_build.time_completed is not None
finalizer.side_effect = mocked_finalizer
@@ -167,7 +167,7 @@ class TestRepoDone:
),
)
component_build = db_session.query(
module_build_service.models.ComponentBuild
module_build_service.common.models.ComponentBuild
).filter_by(package="tangerine").one()
assert component_build.state_reason == "Failed to submit artifact tangerine to Koji"
@@ -189,9 +189,9 @@ class TestRepoDone:
mock_log_info.assert_called_with(
"Ignoring repo regen, because not all components are tagged."
)
module_build = module_build_service.models.ModuleBuild.get_by_id(db_session, 2)
module_build = module_build_service.common.models.ModuleBuild.get_by_id(db_session, 2)
# Make sure the module build didn't transition since all the components weren't tagged
assert module_build.state == module_build_service.models.BUILD_STATES["build"]
assert module_build.state == module_build_service.common.models.BUILD_STATES["build"]
@mock.patch(
"module_build_service.builder.KojiModuleBuilder."
@@ -225,5 +225,5 @@ class TestRepoDone:
msg_id="some_msg_id",
tag_name="module-testmodule-master-20170109091357-7c29193d-build")
module_build = module_build_service.models.ModuleBuild.get_by_id(db_session, 2)
assert module_build.state == module_build_service.models.BUILD_STATES["failed"]
module_build = module_build_service.common.models.ModuleBuild.get_by_id(db_session, 2)
assert module_build.state == module_build_service.common.models.BUILD_STATES["failed"]

View File

@@ -4,7 +4,8 @@ import mock
import pytest
from sqlalchemy.orm.session import make_transient
from module_build_service import models, Modulemd
from module_build_service import Modulemd
from module_build_service.common import models
from module_build_service.common.utils import import_mmd, load_mmd, mmd_to_str
from module_build_service.scheduler.db_session import db_session
from module_build_service.scheduler.reuse import get_reusable_component, get_reusable_module

View File

@@ -8,7 +8,8 @@ import pytest
from module_build_service.common.utils import load_mmd, load_mmd_file, mmd_to_str
from module_build_service.scheduler.db_session import db_session
import module_build_service.scm
from module_build_service import app, models, conf
from module_build_service import app, conf
from module_build_service.common import models
from module_build_service.common.errors import UnprocessableEntity
import module_build_service.scheduler.handlers.components
from module_build_service.scheduler.submit import (
@@ -157,7 +158,7 @@ class TestSubmit:
mmd = load_mmd(read_staged_data("testmodule"))
mmd = mmd.copy("testmodule-variant", "master")
module_build = module_build_service.models.ModuleBuild()
module_build = module_build_service.common.models.ModuleBuild()
module_build.name = "testmodule-variant"
module_build.stream = "master"
module_build.version = 20170109091357
@@ -203,7 +204,7 @@ class TestSubmit:
# Set the module name and stream
mmd = mmd.copy("testmodule", "master")
module_build = module_build_service.models.ModuleBuild()
module_build = module_build_service.common.models.ModuleBuild()
module_build.name = "testmodule"
module_build.stream = "master"
module_build.version = 20170109091357
@@ -249,7 +250,7 @@ class TestSubmit:
# Set the module name and stream
mmd = original_mmd.copy("testmodule", "master")
module_build = module_build_service.models.ModuleBuild()
module_build = module_build_service.common.models.ModuleBuild()
module_build.name = "testmodule"
module_build.stream = "master"
module_build.version = 20170109091357

View File

@@ -7,7 +7,7 @@ from mock import patch
import module_build_service.scheduler.handlers.repos
import module_build_service.scheduler.handlers.tags
import module_build_service.models
import module_build_service.common.models
from module_build_service.scheduler.db_session import db_session
@@ -17,7 +17,7 @@ import koji
@pytest.mark.usefixtures("reuse_component_init_data")
class TestTagTagged:
@mock.patch("module_build_service.models.ModuleBuild.get_by_tag")
@mock.patch("module_build_service.common.models.ModuleBuild.get_by_tag")
def test_no_matching_module(self, get_by_tag):
""" Test that when a tag msg hits us and we have no match,
that we do nothing gracefully.
@@ -62,7 +62,7 @@ class TestTagTagged:
}
create_builder.return_value = builder
module_build = module_build_service.models.ModuleBuild.get_by_id(db_session, 3)
module_build = module_build_service.common.models.ModuleBuild.get_by_id(db_session, 3)
# Set previous components as COMPLETE and tagged.
module_build.batch = 1
@@ -153,9 +153,9 @@ class TestTagTagged:
}
create_builder.return_value = builder
module_build = module_build_service.models.ModuleBuild.get_by_id(db_session, 3)
module_build = module_build_service.common.models.ModuleBuild.get_by_id(db_session, 3)
module_build.batch = 2
component = db_session.query(module_build_service.models.ComponentBuild).filter_by(
component = db_session.query(module_build_service.common.models.ComponentBuild).filter_by(
package="perl-Tangerine", module_id=module_build.id).one()
component.state = koji.BUILD_STATES["BUILDING"]
component.nvr = "perl-Tangerine-0.23-1.module+0+d027b723"
@@ -203,7 +203,7 @@ class TestTagTagged:
}
create_builder.return_value = builder
module_build = module_build_service.models.ModuleBuild.get_by_id(db_session, 3)
module_build = module_build_service.common.models.ModuleBuild.get_by_id(db_session, 3)
# Set previous components as COMPLETE and tagged.
module_build.batch = 1
@@ -214,12 +214,12 @@ class TestTagTagged:
module_build.batch = 2
component = db_session.query(module_build_service.models.ComponentBuild).filter_by(
component = db_session.query(module_build_service.common.models.ComponentBuild).filter_by(
package="perl-Tangerine", module_id=module_build.id).one()
component.state = koji.BUILD_STATES["FAILED"]
component.nvr = "perl-Tangerine-0.23-1.module+0+d027b723"
component = db_session.query(module_build_service.models.ComponentBuild).filter_by(
component = db_session.query(module_build_service.common.models.ComponentBuild).filter_by(
package="perl-List-Compare", module_id=module_build.id).one()
component.state = koji.BUILD_STATES["COMPLETE"]
component.nvr = "perl-List-Compare-0.53-5.module+0+d027b723"
@@ -279,10 +279,10 @@ class TestTagTagged:
}
create_builder.return_value = builder
module_build = module_build_service.models.ModuleBuild.get_by_id(db_session, 3)
module_build = module_build_service.common.models.ModuleBuild.get_by_id(db_session, 3)
module_build.batch = 2
mbm = module_build_service.models.ComponentBuild.from_component_name(
mbm = module_build_service.common.models.ComponentBuild.from_component_name(
db_session, "module-build-macros", 3)
mbm.tagged = False
@@ -377,7 +377,7 @@ class TestTagTagged:
}
create_builder.return_value = builder
module_build = module_build_service.models.ModuleBuild.get_by_id(db_session, 3)
module_build = module_build_service.common.models.ModuleBuild.get_by_id(db_session, 3)
# Set previous components as COMPLETE and tagged.
module_build.batch = 1
@@ -389,7 +389,7 @@ class TestTagTagged:
c.tagged_in_final = True
module_build.batch = 2
component = db_session.query(module_build_service.models.ComponentBuild).filter_by(
component = db_session.query(module_build_service.common.models.ComponentBuild).filter_by(
package="perl-Tangerine", module_id=module_build.id).one()
component.state = koji.BUILD_STATES["COMPLETE"]
component.build_time_only = True
@@ -397,7 +397,7 @@ class TestTagTagged:
component.tagged_in_final = False
component.nvr = "perl-Tangerine-0.23-1.module+0+d027b723"
component = db_session.query(module_build_service.models.ComponentBuild).filter_by(
component = db_session.query(module_build_service.common.models.ComponentBuild).filter_by(
package="perl-List-Compare", module_id=module_build.id).one()
component.state = koji.BUILD_STATES["COMPLETE"]
component.nvr = "perl-List-Compare-0.53-5.module+0+d027b723"
@@ -471,7 +471,7 @@ class TestTagTagged:
}
create_builder.return_value = builder
module_build = module_build_service.models.ModuleBuild.get_by_id(db_session, 3)
module_build = module_build_service.common.models.ModuleBuild.get_by_id(db_session, 3)
assert module_build
# Set previous components as COMPLETE and tagged.

View File

@@ -1,13 +0,0 @@
{
"web": {
"auth_uri": "https://id.stg.fedoraproject.org/openidc/Authorization",
"client_id": "mbs-authorizer",
"client_secret": "notsecret",
"redirect_uris": [
"http://localhost:13747/"
],
"token_uri": "https://id.stg.fedoraproject.org/openidc/Token",
"token_introspection_uri": "https://id.stg.fedoraproject.org/openidc/TokenInfo",
"userinfo_uri": "https://id.stg.fedoraproject.org/openidc/UserInfo"
}
}

View File

@@ -9,7 +9,7 @@ import mock
import pytest
from werkzeug.datastructures import FileStorage
from module_build_service import models
from module_build_service.common import models
from module_build_service.common.utils import mmd_to_str
from module_build_service.scheduler.db_session import db_session
from module_build_service.common.errors import ValidationError

View File

@@ -31,7 +31,7 @@ from tests import (
from tests.test_scm import base_dir as scm_base_dir
from module_build_service.scheduler.db_session import db_session
from module_build_service.common.errors import UnprocessableEntity
from module_build_service.models import ModuleBuild, BUILD_STATES, ComponentBuild
from module_build_service.common.models import ModuleBuild, BUILD_STATES, ComponentBuild
from module_build_service import app, version
import module_build_service.common.config as mbs_config
import module_build_service.web.submit