mopidy --list-settings fails on fresh install

This commit is contained in:
Martins Grunskis 2011-02-09 17:05:29 +02:00
parent 8d419bb255
commit f33c65ddfe
2 changed files with 17 additions and 2 deletions

View File

@ -129,6 +129,14 @@ def validate_settings(defaults, settings):
return errors
def mask_value_if_secret(key, value):
masked_value = value
if key.endswith('PASSWORD') and value:
masked_value = u'********'
return masked_value
def list_settings_optparse_callback(*args):
"""
Prints a list of all settings.
@ -141,8 +149,7 @@ def list_settings_optparse_callback(*args):
lines = []
for (key, value) in sorted(settings.current.iteritems()):
default_value = settings.default.get(key)
if key.endswith('PASSWORD') and len(value):
value = u'********'
value = mask_value_if_secret(key, value)
lines.append(u'%s:' % key)
lines.append(u' Value: %s' % repr(value))
if value != default_value and default_value is not None:

View File

@ -3,6 +3,7 @@ import unittest
from mopidy import settings as default_settings_module, SettingsError
from mopidy.utils.settings import validate_settings, SettingsProxy
from mopidy.utils.settings import mask_value_if_secret
class ValidateSettingsTest(unittest.TestCase):
def setUp(self):
@ -46,6 +47,13 @@ class ValidateSettingsTest(unittest.TestCase):
{'FOO': '', 'BAR': ''})
self.assertEquals(len(result), 2)
def test_mask_if_secret(self):
not_secret = mask_value_if_secret('SPOTIFY_USERNAME', 'foo')
self.assertEquals('foo', not_secret)
secret = mask_value_if_secret('SPOTIFY_PASSWORD', 'bar')
self.assertEquals(u'********', secret)
class SettingsProxyTest(unittest.TestCase):
def setUp(self):