Move errors.py to common/errors.py

This commit is contained in:
mprahl
2020-01-03 16:49:49 -05:00
parent 78feb5abc7
commit d9f32bff9d
35 changed files with 45 additions and 43 deletions

View File

@@ -102,7 +102,7 @@ Additionally, the imports should be ordered by standard library, third-party, th
import requests
import module_build_service.web
from module_build_service.errors import ValidationError
from module_build_service.common.errors import ValidationError
Lastly, hanging indentation should be avoided when possible. For example:

View File

@@ -31,7 +31,7 @@ from gi.repository import Modulemd # noqa
from module_build_service.logger import init_logging, ModuleBuildLogs, level_flags, MBSLogger
from module_build_service.errors import (
from module_build_service.common.errors import (
ValidationError, Unauthorized, UnprocessableEntity, Conflict, NotFound,
Forbidden, json_error)
from module_build_service.common.config import init_config

View File

@@ -13,7 +13,7 @@ from multiprocessing.dummy import Pool as ThreadPool
import requests
from module_build_service import conf, log, models
from module_build_service.errors import ValidationError, ProgrammingError
from module_build_service.common.errors import ValidationError, ProgrammingError
logging.basicConfig(level=logging.DEBUG)

View File

@@ -9,7 +9,7 @@ import six.moves.xmlrpc_client as xmlrpclib
from module_build_service import log
from module_build_service.common.retry import retry
from module_build_service.errors import ProgrammingError
from module_build_service.common.errors import ProgrammingError
def koji_multicall_map(koji_session, koji_session_fnc, list_of_args=None, list_of_kwargs=None):

View File

@@ -1,7 +1,7 @@
# -*- coding: utf-8 -*-
# SPDX-License-Identifier: MIT
from module_build_service import conf
from module_build_service.errors import StreamAmbigous
from module_build_service.common.errors import StreamAmbigous
from module_build_service.resolver import GenericResolver

View File

@@ -8,7 +8,7 @@ import requests
import module_build_service.scm
from module_build_service import conf, log
from module_build_service.common.utils import load_mmd_file
from module_build_service.errors import ValidationError
from module_build_service.common.errors import ValidationError
def _is_eol_in_pdc(name, stream):

View File

@@ -8,7 +8,7 @@ from gi.repository.GLib import Error as ModuleMDError
from six import string_types, text_type
from module_build_service import conf, log, Modulemd
from module_build_service.errors import UnprocessableEntity
from module_build_service.common.errors import UnprocessableEntity
def to_text_type(s):

View File

@@ -16,7 +16,7 @@ from module_build_service.builder.MockModuleBuilder import (
)
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.errors import StreamAmbigous
from module_build_service.common.errors import StreamAmbigous
import module_build_service.scheduler.consumer
import module_build_service.scheduler.local
from module_build_service.web.submit import submit_module_build_from_yaml

View File

@@ -19,7 +19,7 @@ from sqlalchemy.orm import validates, load_only
from module_build_service import db, log, get_url_for, conf
import module_build_service.common.messaging
from module_build_service.common.utils import load_mmd
from module_build_service.errors import UnprocessableEntity
from module_build_service.common.errors import UnprocessableEntity
from module_build_service.scheduler import events
DEFAULT_MODULE_CONTEXT = "00000000"

View File

@@ -5,7 +5,7 @@ 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.errors import UnprocessableEntity
from module_build_service.common.errors import UnprocessableEntity
from module_build_service.common.utils import load_mmd
import sqlalchemy

View File

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

View File

@@ -23,7 +23,7 @@ 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.errors import IgnoreMessage
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.handlers import components

View File

@@ -17,7 +17,7 @@ from module_build_service.common.resolve import (
)
from module_build_service.common.retry import retry
from module_build_service.scheduler.db_session import db_session
from module_build_service.errors import UnprocessableEntity
from module_build_service.common.errors import UnprocessableEntity
from module_build_service.resolver.base import GenericResolver

View File

@@ -6,7 +6,7 @@ import json
import requests
from module_build_service import log, conf
from module_build_service.errors import GreenwaveError
from module_build_service.common.errors import GreenwaveError
class Greenwave(object):

View File

@@ -15,7 +15,7 @@ from module_build_service.scheduler.submit import (
)
from module_build_service.scheduler.db_session import db_session
from module_build_service.builder import GenericBuilder
from module_build_service.errors import UnprocessableEntity, Forbidden, ValidationError
from module_build_service.common.errors import UnprocessableEntity, Forbidden, ValidationError
from module_build_service.scheduler.default_modules import (
add_default_modules, handle_collisions_with_base_module_rpms)
from module_build_service.scheduler.greenwave import greenwave

View File

@@ -4,7 +4,7 @@
import re
from module_build_service import log
from module_build_service.errors import IgnoreMessage
from module_build_service.common.errors import IgnoreMessage
from module_build_service.scheduler import events

View File

@@ -11,7 +11,7 @@ from module_build_service import conf, log, models, Modulemd
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
from module_build_service.errors import ValidationError, UnprocessableEntity, Forbidden
from module_build_service.common.errors import ValidationError, UnprocessableEntity, Forbidden
import module_build_service.scm

View File

@@ -11,7 +11,7 @@ import datetime
from module_build_service import log, conf
from module_build_service.common.retry import retry
from module_build_service.errors import (
from module_build_service.common.errors import (
Forbidden,
ValidationError,
UnprocessableEntity,

View File

@@ -13,7 +13,9 @@ 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.common.utils import import_mmd
from module_build_service.errors import ValidationError, Forbidden, NotFound, ProgrammingError
from module_build_service.common.errors import (
ValidationError, Forbidden, NotFound, ProgrammingError
)
from module_build_service.web.backports import jsonify
from module_build_service.common.monitor import registry
from module_build_service.common.submit import fetch_mmd

View File

@@ -9,7 +9,7 @@ from flask import g
from dogpile.cache import make_region
from module_build_service.errors import Unauthorized, Forbidden
from module_build_service.common.errors import Unauthorized, Forbidden
from module_build_service import app, log, conf
try:

View File

@@ -3,8 +3,8 @@
from module_build_service import log, models, Modulemd, conf
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.errors import StreamAmbigous
from module_build_service.errors import UnprocessableEntity
from module_build_service.common.errors import StreamAmbigous
from module_build_service.common.errors import UnprocessableEntity
from module_build_service.web.mmd_resolver import MMDResolver
from module_build_service.web.utils import deps_to_dict
from module_build_service.resolver import GenericResolver

View File

@@ -13,7 +13,7 @@ import requests
from module_build_service import conf, log, models, Modulemd
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.errors import Conflict, Forbidden, ValidationError
from module_build_service.common.errors import Conflict, Forbidden, ValidationError
from module_build_service.web.mse import generate_expanded_mmds
from module_build_service.web.utils import deps_to_dict

View File

@@ -11,7 +11,7 @@ from sqlalchemy.orm import aliased
import sqlalchemy
from module_build_service import models, api_version, conf, db
from module_build_service.errors import ValidationError, NotFound
from module_build_service.common.errors import ValidationError, NotFound
from module_build_service.scm import scm_url_schemes

View File

@@ -17,7 +17,7 @@ from module_build_service.builder.utils import get_rpm_release
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.errors import Forbidden
from module_build_service.common.errors import Forbidden
from module_build_service import app, models, conf, build_logs, log
from module_build_service.scheduler.db_session import db_session
from module_build_service.scheduler import events

View File

@@ -9,7 +9,7 @@ import pytest
from module_build_service import conf, models
from module_build_service.builder import utils
from module_build_service.scheduler.db_session import db_session
from module_build_service.errors import ProgrammingError, ValidationError
from module_build_service.common.errors import ProgrammingError, ValidationError
from module_build_service.common.utils import load_mmd, import_mmd, mmd_to_str
from tests import init_data, read_staged_data, scheduler_init_data

View File

@@ -5,7 +5,7 @@ import pytest
from module_build_service 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.errors import UnprocessableEntity
from module_build_service.common.errors import UnprocessableEntity
from tests import clean_database, read_staged_data

View File

@@ -10,7 +10,7 @@ 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.errors import UnprocessableEntity
from module_build_service.common.errors import UnprocessableEntity
from module_build_service.scheduler.db_session import db_session
from module_build_service.builder.MockModuleBuilder import load_local_builds
import tests

View File

@@ -10,7 +10,7 @@ import pytest
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.errors import UnprocessableEntity
from module_build_service.common.errors import UnprocessableEntity
from module_build_service.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

@@ -9,7 +9,7 @@ from module_build_service.common.utils import load_mmd, load_mmd_file, mmd_to_st
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.errors import UnprocessableEntity
from module_build_service.common.errors import UnprocessableEntity
import module_build_service.scheduler.handlers.components
from module_build_service.scheduler.submit import (
get_build_arches, format_mmd, record_component_builds, record_module_build_arches
@@ -271,7 +271,7 @@ class TestSubmit:
mmd = original_mmd.copy("testmodule", "master")
from module_build_service.errors import ValidationError
from module_build_service.common.errors import ValidationError
with pytest.raises(
ValidationError,
match=r"Component build .+ of module build .+ already exists in database"):

View File

@@ -7,7 +7,7 @@ import tempfile
import pytest
import module_build_service.scm
from module_build_service.errors import ValidationError, UnprocessableEntity
from module_build_service.common.errors import ValidationError, UnprocessableEntity
base_dir = os.path.join(os.path.dirname(__file__), "scm_data")
repo_url = "file://" + base_dir + "/testrepo"

View File

@@ -30,7 +30,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.errors import UnprocessableEntity
from module_build_service.common.errors import UnprocessableEntity
from module_build_service.models import ModuleBuild, BUILD_STATES, ComponentBuild
from module_build_service import app, version
import module_build_service.common.config as mbs_config

View File

@@ -8,7 +8,7 @@ import mock
from mock import patch, PropertyMock, Mock
import module_build_service.web.auth
import module_build_service.errors
import module_build_service.common.errors
import module_build_service.common.config as mbs_config
from module_build_service import app
@@ -24,7 +24,7 @@ class TestAuthModule:
request = mock.MagicMock()
request.cookies.return_value = {}
with pytest.raises(module_build_service.errors.Unauthorized) as cm:
with pytest.raises(module_build_service.common.errors.Unauthorized) as cm:
with app.app_context():
module_build_service.web.auth.get_user(request)
assert str(cm.value) == "No 'authorization' header found."
@@ -56,7 +56,7 @@ class TestAuthModule:
request.headers.__setitem__.side_effect = headers.__setitem__
request.headers.__contains__.side_effect = headers.__contains__
with pytest.raises(module_build_service.errors.Unauthorized) as cm:
with pytest.raises(module_build_service.common.errors.Unauthorized) as cm:
with app.app_context():
module_build_service.web.auth.get_user(request)
assert str(cm.value) == "OIDC token invalid or expired."
@@ -88,7 +88,7 @@ class TestAuthModule:
request.headers.__setitem__.side_effect = headers.__setitem__
request.headers.__contains__.side_effect = headers.__contains__
with pytest.raises(module_build_service.errors.Unauthorized) as cm:
with pytest.raises(module_build_service.common.errors.Unauthorized) as cm:
with app.app_context():
module_build_service.web.auth.get_user(request)
assert str(cm.value) == "OpenIDC auth error: Cannot determine the user's groups"
@@ -148,7 +148,7 @@ class TestAuthModule:
@patch("module_build_service.web.auth.client_secrets", None)
def test_misconfiguring_oidc_client_secrets_should_be_failed(self):
request = mock.MagicMock()
with pytest.raises(module_build_service.errors.Forbidden) as cm:
with pytest.raises(module_build_service.common.errors.Forbidden) as cm:
with app.app_context():
module_build_service.web.auth.get_user(request)
assert str(cm.value) == "OIDC_CLIENT_SECRETS must be set in server config."
@@ -180,7 +180,7 @@ class TestAuthModule:
request.headers.__setitem__.side_effect = headers.__setitem__
request.headers.__contains__.side_effect = headers.__contains__
with pytest.raises(module_build_service.errors.Unauthorized) as cm:
with pytest.raises(module_build_service.common.errors.Unauthorized) as cm:
with app.app_context():
module_build_service.web.auth.get_user(request)
assert str(cm.value) == (
@@ -212,7 +212,7 @@ class TestAuthModule:
request.headers.__setitem__.side_effect = headers.__setitem__
request.headers.__contains__.side_effect = headers.__contains__
with pytest.raises(module_build_service.errors.Forbidden) as cm:
with pytest.raises(module_build_service.common.errors.Forbidden) as cm:
with app.app_context():
module_build_service.web.auth.get_user(request)
assert str(cm.value) == "OIDC_REQUIRED_SCOPE must be set in server config."
@@ -222,7 +222,7 @@ class TestAuthModule:
request = Mock()
request.environ.get.return_value = remote_name
with pytest.raises(module_build_service.errors.Unauthorized):
with pytest.raises(module_build_service.common.errors.Unauthorized):
module_build_service.web.auth.get_user_kerberos(request)
@patch.object(module_build_service.web.auth.conf, "allowed_users", new=["someone", "somebody"])

View File

@@ -3,7 +3,7 @@
import pytest
from module_build_service.scheduler.db_session import db_session
from module_build_service.errors import StreamAmbigous
from module_build_service.common.errors import StreamAmbigous
from module_build_service.web.mse import (
expand_mse_streams, generate_expanded_mmds, get_mmds_required_by_module_recursively
)

View File

@@ -12,7 +12,7 @@ from werkzeug.datastructures import FileStorage
from module_build_service 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.errors import ValidationError
from module_build_service.common.errors import ValidationError
from module_build_service.web.submit import (
get_prefixed_version, submit_module_build, submit_module_build_from_yaml
)