def open(pass_settings=None): """opens the storage: either opens a database connection or does other initialisation.""" global opened_module if pass_settings: setSettings(pass_settings) try: opened_module = fimport("submin.plugins.storage.%s" % settings.storage, "submin.plugins.storage") opened_module.open(settings) except SettingsException as e: raise StorageError(str(e))
import sys import unittest import os import tempfile import shutil # to remove temp dir from mock import Mock, MagicMock from StringIO import StringIO mock_settings = Mock() mock_settings.storage = "sql" mock_settings.sqlite_path = ":memory:" mock_settings.base_dir = "/" from submin.bootstrap import setSettings setSettings(mock_settings) from submin.path.path import Path from submin.models import storage from submin.models import options from submin.models.exceptions import UnknownKeyError from . import c_quit from . import c_config from . import c_help class SubminAdminApacheConfTests(unittest.TestCase): @classmethod def setUpClass(cls): cls.tmpdir = tempfile.mkdtemp(prefix='submin-unittest') conf_dir = os.path.join(cls.tmpdir, 'conf')
import unittest from mock import * mock_settings = Mock() mock_settings.storage = "sql" mock_settings.sqlite_path = ":memory:" mock_settings.base_dir = "/submin" from submin.bootstrap import setSettings setSettings(mock_settings) from submin.models import storage from submin.models import options class OptionTests(unittest.TestCase): def setUp(self): storage.open(mock_settings) storage.database_evolve() def tearDown(self): storage.close() def testNoOptions(self): self.assertEquals(options.options(), [(u'git_dir', u'git'), (u'database_version', u'11')]) def testSetOption(self): options.set_value("foo", "bar") self.assertEquals(options.options(), [(u'git_dir', u'git'), (u'database_version', u'11'), (u'foo', u'bar')]) def testGetOption(self): options.set_value("foo", "bar")