Let setup_globals check for known globals
To avoid typos in calling setup_globals(), only allow globals, which are already known to the system. Plugins should have their own globals.
This commit is contained in:
parent
68ffb13690
commit
49285baf27
@ -19,6 +19,15 @@ database = None
|
||||
public_store = None
|
||||
queue_store = None
|
||||
|
||||
# Dump mail to stdout instead of sending it:
|
||||
email_debug_mode = False
|
||||
|
||||
# Address for sending out mails
|
||||
email_sender_address = None
|
||||
|
||||
# A WorkBenchManager
|
||||
workbench_manager = None
|
||||
|
||||
# gettext
|
||||
translations = gettext.find(
|
||||
'mediagoblin',
|
||||
@ -30,4 +39,6 @@ def setup_globals(**kwargs):
|
||||
from mediagoblin import globals as mg_globals
|
||||
|
||||
for key, value in kwargs.iteritems():
|
||||
if not hasattr(mg_globals, key):
|
||||
raise AssertionError("Global %s not known" % key)
|
||||
setattr(mg_globals, key, value)
|
||||
|
@ -14,6 +14,8 @@
|
||||
# You should have received a copy of the GNU Affero General Public License
|
||||
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
from nose.tools import assert_raises
|
||||
|
||||
from mediagoblin import globals as mg_globals
|
||||
|
||||
def test_setup_globals():
|
||||
@ -27,3 +29,8 @@ def test_setup_globals():
|
||||
assert mg_globals.database == 'my favorite database!'
|
||||
assert mg_globals.public_store == 'my favorite public_store!'
|
||||
assert mg_globals.queue_store == 'my favorite queue_store!'
|
||||
|
||||
assert_raises(
|
||||
AssertionError,
|
||||
mg_globals.setup_globals,
|
||||
no_such_global_foo = "Dummy")
|
||||
|
Loading…
x
Reference in New Issue
Block a user