Merge "Adds warning when no domain configs were uploaded"
This commit is contained in:
commit
0ce7c615b4
@ -993,9 +993,21 @@ class DomainConfigUploadFiles(object):
|
|||||||
return False
|
return False
|
||||||
return True
|
return True
|
||||||
|
|
||||||
|
success_cnt = 0
|
||||||
|
failure_cnt = 0
|
||||||
for filename, domain_name in self._domain_config_finder(conf_dir):
|
for filename, domain_name in self._domain_config_finder(conf_dir):
|
||||||
self._upload_config_to_database(filename, domain_name)
|
if self._upload_config_to_database(filename, domain_name):
|
||||||
|
success_cnt += 1
|
||||||
|
LOG.info(_LI('Successfully uploaded domain config %r'),
|
||||||
|
filename)
|
||||||
|
else:
|
||||||
|
failure_cnt += 1
|
||||||
|
|
||||||
|
if success_cnt == 0:
|
||||||
|
LOG.warning(_LW('No domain configs uploaded from %r'), conf_dir)
|
||||||
|
|
||||||
|
if failure_cnt:
|
||||||
|
return False
|
||||||
return True
|
return True
|
||||||
|
|
||||||
def run(self):
|
def run(self):
|
||||||
|
@ -12,12 +12,13 @@
|
|||||||
# License for the specific language governing permissions and limitations
|
# License for the specific language governing permissions and limitations
|
||||||
# under the License.
|
# under the License.
|
||||||
|
|
||||||
|
import logging
|
||||||
import os
|
import os
|
||||||
import uuid
|
import uuid
|
||||||
|
|
||||||
import fixtures
|
import fixtures
|
||||||
import mock
|
import mock
|
||||||
from oslo_config import fixture as config_fixture
|
import oslo_config.fixture
|
||||||
from oslo_log import log
|
from oslo_log import log
|
||||||
from oslotest import mockpatch
|
from oslotest import mockpatch
|
||||||
from six.moves import range
|
from six.moves import range
|
||||||
@ -66,7 +67,7 @@ class CliTestCase(unit.SQLDriverOverrides, unit.TestCase):
|
|||||||
class CliNoConfigTestCase(unit.BaseTestCase):
|
class CliNoConfigTestCase(unit.BaseTestCase):
|
||||||
|
|
||||||
def setUp(self):
|
def setUp(self):
|
||||||
self.config_fixture = self.useFixture(config_fixture.Config(CONF))
|
self.config_fixture = self.useFixture(oslo_config.fixture.Config(CONF))
|
||||||
self.config_fixture.register_cli_opt(cli.command_opt)
|
self.config_fixture.register_cli_opt(cli.command_opt)
|
||||||
self.useFixture(mockpatch.Patch(
|
self.useFixture(mockpatch.Patch(
|
||||||
'oslo_config.cfg.find_config_files', return_value=[]))
|
'oslo_config.cfg.find_config_files', return_value=[]))
|
||||||
@ -327,6 +328,8 @@ class CliDomainConfigAllTestCase(unit.SQLDriverOverrides, unit.TestCase):
|
|||||||
domain_config_dir=unit.TESTCONF + '/domain_configs_multi_ldap')
|
domain_config_dir=unit.TESTCONF + '/domain_configs_multi_ldap')
|
||||||
self.domain_count = 3
|
self.domain_count = 3
|
||||||
self.setup_initial_domains()
|
self.setup_initial_domains()
|
||||||
|
self.logging = self.useFixture(
|
||||||
|
fixtures.FakeLogger(level=logging.INFO))
|
||||||
|
|
||||||
def config_files(self):
|
def config_files(self):
|
||||||
self.config_fixture.register_cli_opt(cli.command_opt)
|
self.config_fixture.register_cli_opt(cli.command_opt)
|
||||||
@ -566,7 +569,7 @@ class CliDBSyncTestCase(unit.BaseTestCase):
|
|||||||
|
|
||||||
def setUp(self):
|
def setUp(self):
|
||||||
super(CliDBSyncTestCase, self).setUp()
|
super(CliDBSyncTestCase, self).setUp()
|
||||||
self.config_fixture = self.useFixture(config_fixture.Config(CONF))
|
self.config_fixture = self.useFixture(oslo_config.fixture.Config(CONF))
|
||||||
self.config_fixture.register_cli_opt(cli.command_opt)
|
self.config_fixture.register_cli_opt(cli.command_opt)
|
||||||
upgrades.offline_sync_database_to_version = mock.Mock()
|
upgrades.offline_sync_database_to_version = mock.Mock()
|
||||||
upgrades.expand_schema = mock.Mock()
|
upgrades.expand_schema = mock.Mock()
|
||||||
@ -674,3 +677,36 @@ class TestMappingPopulate(unit.SQLDriverOverrides, unit.TestCase):
|
|||||||
'entity_type': identity_mapping.EntityType.USER}
|
'entity_type': identity_mapping.EntityType.USER}
|
||||||
self.assertIsNotNone(
|
self.assertIsNotNone(
|
||||||
self.id_mapping_api.get_public_id(local_entity))
|
self.id_mapping_api.get_public_id(local_entity))
|
||||||
|
|
||||||
|
|
||||||
|
class CliDomainConfigUploadNothing(unit.BaseTestCase):
|
||||||
|
|
||||||
|
def setUp(self):
|
||||||
|
super(CliDomainConfigUploadNothing, self).setUp()
|
||||||
|
|
||||||
|
config_fixture = self.useFixture(oslo_config.fixture.Config(CONF))
|
||||||
|
config_fixture.register_cli_opt(cli.command_opt)
|
||||||
|
|
||||||
|
# NOTE(dstanek): since this is not testing any database
|
||||||
|
# functionality there is no need to go through the motions and
|
||||||
|
# setup a test database.
|
||||||
|
def fake_load_backends(self):
|
||||||
|
self.resource_manager = mock.Mock()
|
||||||
|
self.useFixture(mockpatch.PatchObject(
|
||||||
|
cli.DomainConfigUploadFiles, 'load_backends', fake_load_backends))
|
||||||
|
|
||||||
|
tempdir = self.useFixture(fixtures.TempDir())
|
||||||
|
config_fixture.config(group='identity', domain_config_dir=tempdir.path)
|
||||||
|
|
||||||
|
self.logging = self.useFixture(
|
||||||
|
fixtures.FakeLogger(level=logging.DEBUG))
|
||||||
|
|
||||||
|
def test_uploading_all_from_an_empty_directory(self):
|
||||||
|
CONF(args=['domain_config_upload', '--all'], project='keystone',
|
||||||
|
default_config_files=[])
|
||||||
|
cli.DomainConfigUpload.main()
|
||||||
|
|
||||||
|
expected_msg = ('No domain configs uploaded from %r' %
|
||||||
|
CONF.identity.domain_config_dir)
|
||||||
|
self.assertThat(self.logging.output,
|
||||||
|
matchers.Contains(expected_msg))
|
||||||
|
Loading…
Reference in New Issue
Block a user