Skip to content

Commit

Permalink
Added equal operator to values.Value
Browse files Browse the repository at this point in the history
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>
  • Loading branch information
maraujop authored and jezdez committed Mar 16, 2015
1 parent e332d5e commit e09e1e0
Show file tree
Hide file tree
Showing 2 changed files with 9 additions and 0 deletions.
3 changes: 3 additions & 0 deletions configurations/values.py
Original file line number Diff line number Diff line change
Expand Up @@ -75,6 +75,9 @@ def __str__(self):
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:
Expand Down
6 changes: 6 additions & 0 deletions tests/test_values.py
Original file line number Diff line number Diff line change
Expand Up @@ -76,6 +76,12 @@ def test_value_reuse(self):
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')
Expand Down

0 comments on commit e09e1e0

Please sign in to comment.