Merge pull request #2888 from coreos-inc/joseph.schorr/QS-31/healthcheck-exc
Small healthcheck fixes
This commit is contained in:
commit
dcec90649e
3 changed files with 14 additions and 2 deletions
|
@ -12,10 +12,10 @@ def check_health(app_config):
|
||||||
try:
|
try:
|
||||||
validate_database_url(app_config['DB_URI'], {}, connect_timeout=3)
|
validate_database_url(app_config['DB_URI'], {}, connect_timeout=3)
|
||||||
except Exception as ex:
|
except Exception as ex:
|
||||||
return (False, 'Could not connect to the database: %s', ex.message)
|
return (False, 'Could not connect to the database: %s' % ex.message)
|
||||||
|
|
||||||
# We will connect to the db, check that it contains some team role kinds
|
# We will connect to the db, check that it contains some team role kinds
|
||||||
try:
|
try:
|
||||||
return (bool(list(TeamRole.select().limit(1))), 'Could not connect to the database')
|
return (bool(list(TeamRole.select().limit(1))), 'Could not connect to the database')
|
||||||
except Exception as ex:
|
except Exception as ex:
|
||||||
return (False, 'Could not connect to the database: %s', ex.message)
|
return (False, 'Could not connect to the database: %s' % ex.message)
|
||||||
|
|
|
@ -81,3 +81,7 @@ class OIDCInternalAuth(object):
|
||||||
|
|
||||||
def service_metadata(self):
|
def service_metadata(self):
|
||||||
return {}
|
return {}
|
||||||
|
|
||||||
|
def ping(self):
|
||||||
|
""" Always assumed to be working. If the DB is broken, other checks will handle it. """
|
||||||
|
return (True, None)
|
||||||
|
|
|
@ -1,9 +1,11 @@
|
||||||
import pytest
|
import pytest
|
||||||
|
|
||||||
|
from contextlib import contextmanager
|
||||||
from mock import patch
|
from mock import patch
|
||||||
|
|
||||||
from data.database import model
|
from data.database import model
|
||||||
from data.users.federated import DISABLED_MESSAGE
|
from data.users.federated import DISABLED_MESSAGE
|
||||||
|
from data.users.oidc import OIDCInternalAuth
|
||||||
from test.test_ldap import mock_ldap
|
from test.test_ldap import mock_ldap
|
||||||
from test.test_keystone_auth import fake_keystone
|
from test.test_keystone_auth import fake_keystone
|
||||||
from test.test_external_jwt_authn import fake_jwt
|
from test.test_external_jwt_authn import fake_jwt
|
||||||
|
@ -36,12 +38,18 @@ def test_auth_createuser(auth_system_builder, user1, user2, config, app):
|
||||||
assert new_user is None
|
assert new_user is None
|
||||||
assert err == DISABLED_MESSAGE
|
assert err == DISABLED_MESSAGE
|
||||||
|
|
||||||
|
@contextmanager
|
||||||
|
def fake_oidc(app_config):
|
||||||
|
yield OIDCInternalAuth(app_config, 'someoidc', False)
|
||||||
|
|
||||||
@pytest.mark.parametrize('auth_system_builder,auth_kwargs', [
|
@pytest.mark.parametrize('auth_system_builder,auth_kwargs', [
|
||||||
(mock_ldap, {}),
|
(mock_ldap, {}),
|
||||||
(fake_keystone, {'version': 3}),
|
(fake_keystone, {'version': 3}),
|
||||||
(fake_keystone, {'version': 2}),
|
(fake_keystone, {'version': 2}),
|
||||||
(fake_jwt, {}),
|
(fake_jwt, {}),
|
||||||
|
(fake_oidc, {'app_config': {
|
||||||
|
'SOMEOIDC_LOGIN_CONFIG': {},
|
||||||
|
}}),
|
||||||
])
|
])
|
||||||
def test_ping(auth_system_builder, auth_kwargs, app):
|
def test_ping(auth_system_builder, auth_kwargs, app):
|
||||||
with auth_system_builder(**auth_kwargs) as auth:
|
with auth_system_builder(**auth_kwargs) as auth:
|
||||||
|
|
Reference in a new issue