Added equal operator to values.Value

Allows value setting to work when checking if setting variable is within
a list, i.e: settings.database in ['default', 'other']

Signed-off-by: Jannis Leidel <jannis@leidel.info>
This commit is contained in:
Miguel Araujo Perez 2015-03-03 15:42:33 +01:00 committed by Jannis Leidel
parent e332d5eff4
commit e09e1e0f42
2 changed files with 9 additions and 0 deletions

View file

@ -75,6 +75,9 @@ class Value(object):
def __repr__(self):
return repr(self.value)
def __eq__(self, other):
return self.value == other
def setup(self, name):
value = self.default
if self.environ:

View file

@ -76,6 +76,12 @@ class ValueTests(TestCase):
self.assertEqual(value1.setup('TEST1'), 'override1')
self.assertEqual(value2.setup('TEST2'), 'override2')
def test_value_var_equal(self):
value1 = Value('default')
value2 = Value('default')
self.assertEqual(value1, value2)
self.assertTrue(value1 in ['default'])
def test_env_var_prefix(self):
with patch.dict(os.environ, clear=True, ACME_TEST='override'):
value = Value('default', environ_prefix='ACME')